|
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
||||||
Различные IDE для диалектов лиспа20.04.2014, 21:26. Показов 42608. Ответов 125
Метки нет (Все метки)
Я работаю с лиспом (развлекаюсь, конечно, а не работаю) в vim + slimv. Буду нести эту связку в массы. Сразу оговариваюсь, что я не эксперт по slimv-у, поэтому что-то могу делать неоптимально и могу не знать многих фич. Однако и так он устанавливает достаточно удобный диалог с лиспом для того, чтобы не разменивать Редактор на всякую ерунду.
Slimv - это плагин, который имитирует функциональность Slime. В частности, он устанавливает диалог с работающим лисповым процессом. Написан на vimlang и python (та часть, которая отвечает за общение процессов через сокеты). Да, я буду писать линуксоцентрично. Вроде бы slimv работает и на Windows, но пользователи оной ОС пусть сами разбираются, как его ставить. Также я буду писать CL-центрично, хотя slimv поддерживает и другие диалекты. Я буду предполагать общее знакомство читателя с vim-ом, но нубовопросы по виму задавать можно и нужно. Начать с установки. Требования: vim с python и python. Установка плагина тривиальна. Если есть pathogen, просто распаковать свежий slimv в ~/.vim/bundle. Если нет pathogen-а, сначала установить его по инструкции и см. п. 1. Ещё у меня есть файл ~/.vim/ftplugin/lisp.vim следующего содержания:
Затем пара мапов: в режиме вставки C-\ даёт лямбду (баловство) и более важное: в нормальном режиме пробел переключает между окнами. Удобно прыгать из файла в репл и обратно. Дальше == перемапливается на функцию, индентирующую с-выражение верхнего уровня, содержащее курсор. Это полезнее, чем дефолт (индентовать строку). Функцию откуда-то скопипастил вместе с названием. Ну и в качестве браузера, в котором открывается HyperSpec, я себе назначил dillo.
2
|
||||||
| 20.04.2014, 21:26 | |
|
Ответы с готовыми решениями:
125
Возможности и ограничения диалектов Лиспа Существуют ли IDE для лиспа под Ubuntu? Библиотека для лиспа |
|
23 / 23 / 3
Регистрация: 21.06.2014
Сообщений: 36
|
|
| 24.06.2014, 23:18 | |
|
Так же на андроид присутствуют gambit и специальное дополнение для SL4A под названием jscheme вроде бы. Название последнего точно не помню..
0
|
|
|
defun
603 / 617 / 44
Регистрация: 30.04.2011
Сообщений: 702
|
|
| 25.06.2014, 07:39 | |
|
1
|
|
|
75 / 24 / 0
Регистрация: 23.06.2014
Сообщений: 33
|
||
| 30.06.2014, 23:45 | ||
|
1. Запуск Емакса, переход в рабочий каталог (M-x cd полный путь к каталогу), открытие нового файла (C-x C-f ввести имя файла). 2. Запуск SLIME (M-x slime). 3. Переключаюсь на буфер с файлом (C-x b имя буфера), в данном случае имя буфера отобразится в мини-буфере и имя самого буфера набирать не нужно, можно просто нажать Enter. Набираю код первой функции и тут же компилирую ее (С-с С-с), т.е ее текст посылается в запущенный лисп и компилируется, вместо компиляции можно выбрать выполнение этого определения функции (Eval , C-M-x). Так же полезно изучить другие комбинации для исполнения, к примеру, выделив сразу несколько функций можно и объявлений переменных можно все их сразу послать в лисп (Eval Region, C-c C-r), выполнить последнее выражение (Eval C-x C-e) удобно использовать для выполнения объявлений новых переменных, констант и т.д. (defvar, defconstant). 4. Проверяю, как работает моя функция – нажимаю C-c C-y (Call defun), фрейм делится на два окна и имя функции подставляется в REPL, жму Enter, вижу результат. 5. Переключаюсь на окно с файлом (C-x o) и продолжаю редактировать – печатаю вторую функцию. Далее, точно так же, как и первую, компилирую ее (С-с С-с), но в REPL у меня появляется предупреждение о том, что функция FROMAT не определена. Да, действительно, опечатался и набрал это вместо FORMAT. 6. Делаю исправления, повторно компилирую (C-c C-c), передаю на выполнение (С-с С-y) и убеждаюсь, что все работает нормально. 7. Еще одна функция. Все повторяется по уже знакомому сценарию – переключение на окно с файлом (С-х о), редактирование, компиляция, проверка работы. 8. Опять переключаюсь на окно с файлом, сохраняю его (С-x C-s). Выхожу из Емакса (C-x C-c), при выходе обычно задается вопрос, отвечаю yes.
1
|
||
|
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
|
|
| 01.07.2014, 00:56 | |
|
Нет, ну на уровне обучения это все красиво. А вот работать на постоянной основе в emacs сможет во истину гик. Самое печальное, что это чревато синдромом снобизма. (сказал субъект, который думает что переборол этот синдром)
1
|
|
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,781
|
|
| 01.07.2014, 07:57 | |
|
0
|
|
|
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
|
|
| 01.07.2014, 10:58 | |
|
однозначно (с)
0
|
|
|
75 / 24 / 0
Регистрация: 23.06.2014
Сообщений: 33
|
||
| 07.07.2014, 22:29 | ||
![]() А так в основном фаровским редактором.
0
|
||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|||||
| 08.07.2014, 05:37 | |||||
|
Про Emacs уже говорили? Тему не читал.
Добавлено через 14 минут
0
|
|||||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,781
|
|
| 08.07.2014, 06:58 | |
|
0
|
|
|
4710 / 4405 / 380
Регистрация: 12.05.2012
Сообщений: 3,102
|
|
| 26.09.2014, 09:37 | |
|
3
|
|
|
431 / 385 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
|
|
| 30.09.2014, 19:48 | |
|
Есть еще MIT/GNU Scheme, с ним идет редактор в комплекте (Emacs). Для такого чайника (и в лиспах, и в имаксах) это удобно. Я вообще предпочитаю языки, с которыми среда в комплекте идет. Так удобнее - уже все настроено. Хотел сегодня поставить MIT/GNU Scheme, но заигрался с языком Ela (по синтаксису - вылитый Haskell, но при этом интерпретируемый и динамически типизированный), с ним тоже среда своя идет. Теперь уж на завтра оставлю MIT/GNU Scheme. Если, конечно, меня кто-нибудь не отговорит. А то вдруг у него, например, есть какие-то известные всем (кроме меня) косяки. Буду дальше выбирать. Синдром Буриданова осла?
0
|
|
|
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
||
| 30.09.2014, 23:20 [ТС] | ||
|
0
|
||
| 01.10.2014, 09:24 | |
|
Не по теме: [TROLLMODE]
0
|
|
|
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
||
| 01.10.2014, 16:54 [ТС] | ||
|
Я в первую очередь не понял, можно ли считать отношения Emacs-а с MIT Scheme более тесными, чем, например, Emacs-а с CL (поставил Slime, M-x slime и вперёд).
0
|
||
|
431 / 385 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
|
|
| 01.10.2014, 17:35 | |
|
В комплекте с MIT/GNU Scheme идет Edwin - клон Emacs, написанный на MIT/GNU Scheme. Но главное, конечно - это то, что этот редактор изначально настроен на схему и даже запускает ее.
0
|
|
|
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
|
| 01.10.2014, 17:46 [ТС] | |
|
А. То есть для CL нужно сначала в Emacs-е сделать M-x slime, а тут само запускается. Понятно.
0
|
|
|
92 / 59 / 8
Регистрация: 09.11.2011
Сообщений: 443
|
|||||||||||||||||||||
| 07.10.2014, 15:18 | |||||||||||||||||||||
|
Установка редактора Sublime Text 3 для SBCL + настройка REPL (для пингвинов и новичков в лиспе)
Установка среды и редактора
(ql:quickload "libraryname") Установка Package Control Запустите редактор. Вызовите консоль View > Show Console (или нажав [ Ctrl + ` ] ) На странице https://sublime.wbond.net/installation скопируете текст из окна (выбрав версию редактора) в строку консоли. Этот код установит пакетный менеджер. Установка REPL
Настроим горячие клавиши Меню Preferences > Key Bindings — User . В открывшемся окне введите и сохраните текст: Кликните здесь для просмотра всего текста
[ { "keys": ["super+ctrl+h"], "command": "repl_open", "args": { "type": "subprocess", "encoding": "utf8", "cmd": ["sbcl", "-i"], "cwd": "$file_path", "external_id": "lisp", "syntax": "Packages/Lisp/Lisp.tmLanguage" } } ] Все REPL будет открываться сочетанием [ SUPER + Ctrl + H ] Сборка Откройте окно Tools > Build System > New Build System и введите текст, Кликните здесь для просмотра всего текста
{
"shell_cmd": "/usr/local/bin/sbcl --disable-debugger --load $file", "working_dir": "$file_path" } сохраните его как SBCL.sublime-build Теперь предварительно выбрав Tools > Build System > SBCL , можно собирать ваш проект сочетанием [ Ctrl + B ]
1
|
|||||||||||||||||||||
|
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
|
| 07.10.2014, 15:38 [ТС] | |
|
Здорово!
Хотелось бы ещё несколько моментов уточнить. Как отправить лиспу определение функции, не загружая заново файл? Как вычислить значение заданного выражения в файле? Как открыть CLHS для данного символа?
0
|
|
|
92 / 59 / 8
Регистрация: 09.11.2011
Сообщений: 443
|
||||||||||||
| 07.10.2014, 15:49 | ||||||||||||
|
Но вот есть
Или так
Вообще я пока просто не понимаю зачем это нужно (то что вы спрашиваете), тк пока сам не сталкивался, я полный новичек в лиспе, и только выбирал себе IDE. Хотя это не ИДЕ, а текст-редактор
0
|
||||||||||||
|
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
||
| 07.10.2014, 16:32 [ТС] | ||
|
0
|
||
| 07.10.2014, 16:32 | |
|
Библиотека для доступа к win32 из лиспа Подскажите программное обеспечение для лиспа obj\Debug\IDE.o||In function `Z11OpenProjectv':| C:\tsserver\Projects\cpp\codeblocks\MyComp\IDE\IDE\IDE.cpp|2 36|undefined reference to `GetOpenFileNam
каким образом пожна подключить на мать с 2 IDE выходами и 2 SATA 3 жестких диска IDE и 2 CD-ROM IDE? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
|
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|