Интерпретатор Lisp/схемы без Emacs?

Наряду с методом, описанным Олегом NSProcessInfo, вы можете получить доступ к переменным среды, используя стандартную функцию C getenv, например:

Swift 2.x:

func getEnvironmentVar(name: String) -> String? {
    let rawValue = getenv(name)
    guard rawValue != nil else { return nil }
    return String(UTF8String: rawValue)
}

Swift 3.0:

func getEnvironmentVar(_ name: String) -> String? {
    guard let rawValue = getenv(name) else { return nil }
    return String(utf8String: rawValue)
}

Также возможно установить переменные среды с помощью функции setenv:

func setEnvironmentVar(name: String, value: String, overwrite: Bool) {
    setenv(name, value, overwrite ? 1 : 0)
}

Причина, по которой я упоминаю способность устанавливать переменные, состоит в том, что это единственный способ установить переменные при работе на игровой площадке Xcode.

Недавно я хотел увидеть обратную линию для странной ошибки CGContext, которую я получал при работе с «живым» представлением на игровой площадке. По умолчанию backtrace не отображается в консоли, поэтому мне пришлось установить переменную среды CG_CONTEXT_SHOW_BACKTRACE, чтобы увидеть, что было:

setenv("CG_CONTEXT_SHOW_BACKTRACE", "1", 1)

. После этого было плавное плавание. Ну, кроме ошибки CGContext, которую я получал, но это тема для другого дня.

Надеюсь, что это поможет!

P.S. Для выполнения указанных функций требуется импортировать модуль Darwin. Foundation автоматически импортирует Darwin, но я думал, что должен упомянуть об этом.

14
задан Svante 4 March 2009 в 19:36
поделиться

11 ответов

Ссылка Wiki CLISP контроля это т.е. использовалась Paul Graham

Прямой ссылка

6
ответ дан 1 December 2019 в 06:40
поделиться

Похоже, что Стальной язык Common LISP банка (SBCL) также угождает тому, что Вы хотите:

http://www.sbcl.org/manual/#Shebang-Scripts

SBCL является и главным уровнем и открытым исходным кодом.

7
ответ дан 1 December 2019 в 06:40
поделиться

Вы могли также попробовать DrScheme, который, пока не точно автономный интерпретатор, не emacs :)

Это - в основном простой IDE, который имеет область для ввода в коде, который может быть выполнен как файл и затем другая область, которая является рабочим интерпретатором, с которым можно взаимодействовать.

(Кроме того, найдите Беркли UC подкастами CS61A и слушайте их, а также читающий SICP)

13
ответ дан 1 December 2019 в 06:40
поделиться

Я часто пишу сценарии оболочки шепелявости, которые запускаются с этой строки:

#!/usr/bin/clisp

Затем Вы не должны даже вводить "lispinterpret" на командной строке. Просто отметьте исполняемый файл сценария и выполните его непосредственно.

5
ответ дан 1 December 2019 в 06:40
поделиться

Если Вы ищете План работать с SICP, смотреть на Схему

MIT/GNU http://groups.csail.mit.edu/mac/projects/scheme/

http://www.gnu.org/software/mit-scheme/index.html

3
ответ дан 1 December 2019 в 06:40
поделиться

Наиболее широко используемый IDE для языка Common LISP, особенно в подмножестве бесплатного программного обеспечения сообщества, на самом деле СЛИЗЬ , который работает на Emacs. Можно использовать любой компилятор CL, Вы предпочитаете и вызываете исходные файлы Lisp путем, Вы описываете, но если Вы сделаете это, то Вы не будете использовать в своих интересах многие из, Шепелявит динамические функции, которые так невероятно полезны при разработке приложения.

я предлагаю, чтобы Вы смотрели на этот демонстрационное видео СЛИЗИ для наблюдения то, что я имею в виду, даже при том, что это могло бы немного устареть в этой точке.

, Если проблема состоит в том, что Вам (думают Вы) не нравится Emacs, я серьезно предлагаю, чтобы Вы попытались изучить это. Серьезно. Нет, действительно, я имею в виду это. Однако существуют альтернативы, такие как IDE, обеспеченные коммерческими реализациями Lisp такой как Allegro и Lispworks (доступные бесплатные демонстрационные версии), или плагин Eclipse, названный Острый выступ .

2
ответ дан 1 December 2019 в 06:40
поделиться

Никакой "интерпретатор" не требует emacs.

кроме того, emacs может выполнить elisp бездисплейным способом.

1
ответ дан 1 December 2019 в 06:40
поделиться

@Nathan: у меня есть upmodded ссылки языка Common LISP, потому что Вы спросили о Lisp (особенно со ссылкой на Lisp Emacs). Однако язык Common LISP очень отличается от Схемы. Программа, записанная для, вряд ли будет работать на другом.

, Поскольку Вы упомянули, SICP для изучения Схемы, не Lisp (или по крайней мере, не язык Common LISP и не Emacs Lisp). Существует некоторое перекрытие в принципах, однако Вы не можете просто вырезать и вставить код от SICP и ожидать, что это будет работать на любом языке Common LISP или системе Lisp Emacs. :-)

1
ответ дан 1 December 2019 в 06:40
поделиться

Вы пробовали CL Allegro от http://www.franz.com/ ?

1
ответ дан 1 December 2019 в 06:40
поделиться

Кажется, что оболочка схемы подходит для Вашей цели. Смотрите на http://www.scsh.net/index.html

1
ответ дан 1 December 2019 в 06:40
поделиться

Другой хороший диалект шепелявости cmucl. Они раньше любили хвастать тем, чтобы быть "самой быстрой" шепелявостью.

0
ответ дан 1 December 2019 в 06:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: