Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.80/202: Рейтинг темы: голосов - 202, средняя оценка - 4.80
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038

Различные IDE для диалектов лиспа

20.04.2014, 21:26. Показов 43817. Ответов 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 следующего содержания:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
set lw-=if
set lw+=set-macro-character
set lw+=set-dispatch-macro-character
set lw+=block
set lw+=defsetf
 
inoremap <buffer> <C-\> lambda 
nnoremap <buffer> <Space> <C-w>w
 
nmap <buffer><silent> == :call Scheme_indent_top_sexp()<cr>
 
let g:slimv_browser_cmd = "dillo"
 
" Indent a toplevel sexp.
fun! Scheme_indent_top_sexp()
    let pos = getpos('.')
    silent! exec "normal! 99[(=%"
    call setpos('.', pos)
endfun
Что вам отсюда может быть нужно? Сначала корректируется параметр lispwords - он перечисляет список слов, которые требуют "лисповый" стиль индентации. Из числа lispwords исключаем if, чтобы его индентация соответствовала требованиям http://dept-info.labri.u-borde... ation.html. Затем добавляем несколько лиспослов, которые виму почему-то неизвестны.

Затем пара мапов: в режиме вставки C-\ даёт лямбду (баловство) и более важное: в нормальном режиме пробел переключает между окнами. Удобно прыгать из файла в репл и обратно.

Дальше == перемапливается на функцию, индентирующую с-выражение верхнего уровня, содержащее курсор. Это полезнее, чем дефолт (индентовать строку). Функцию откуда-то скопипастил вместе с названием.

Ну и в качестве браузера, в котором открывается HyperSpec, я себе назначил dillo.
2
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.04.2014, 21:26
Ответы с готовыми решениями:

Возможности и ограничения диалектов Лиспа
Предлагаю обсудить возможности и ограничения диалектов Лиспа.

Существуют ли IDE для лиспа под Ubuntu?
Добрый день! Посоветуйте, пожалуйста, какую-нибудь IDE для лиспа под ubuntu, если такая имеется. Добавлено через 2 часа 13 минут Или...

Библиотека для лиспа
Здравствуйте. Если можно, подскажите ресурс с библиотекой lib-k.lsp

125
 Аватар для vlisp
1071 / 992 / 153
Регистрация: 10.08.2015
Сообщений: 5,443
05.07.2017, 10:30
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Catstail Посмотреть сообщение
ядро и библиотека - 1.13.53
почему же в библиотеке написано что она версии 41 2015 года?
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38223 / 21155 / 4314
Регистрация: 12.02.2012
Сообщений: 34,768
Записей в блоге: 14
05.07.2017, 18:51
А, да. Библиотека не менялась с 2015 г. А ядро менялось. Исправил.
1
199 / 102 / 4
Регистрация: 16.08.2015
Сообщений: 209
09.10.2017, 10:33
Обновил видео по своей IDE для SBCL

Добавлено через 9 часов 23 минуты
Спасибо за карму, конечно, но наутро понял, что видео отстой, начал улучшать и обнаружил более серьёзные проблемы с настройкой среды. Некогда этим заниматься сейчас. Поэтому видео снёс и ссылку на него тоже прошу удалить. Как-нибудь в другой раз.
2
 Аватар для _sg
4710 / 4405 / 380
Регистрация: 12.05.2012
Сообщений: 3,102
05.11.2017, 14:05
ρEmacs is a preconfigured distribution of GNU Emacs editor for Microsoft Windows. Being primarily designed for Lisp-based development, it is also bundled with several other popular programming languages. If you don't need them and just want to get some benefits of the features listed below, you may install only ρEmacs and nothing else.

The components of ρEmacs distribution

GNU Emacs - the editor.
Basic enhancements (optional) - `Arjen' dark theme, Source Code Pro fonts, ido, ibuffer, uniquify, tabbar, save-place, winsaw, linum, column-marker, highlight-symbol and show-paren modes enabled by default (when relevant).
Advanced enhancements (optional) - sr-speedbar, bookmark+, yasnippet, purpose and helm packages preinstalled into elpa directory (additional configuration may be required).
Spacemacs (optional) - Emacs configuration from Star Trek.
MSYS2 - a minimalist port of Bourne Shell for Windows with the builtin `pacman' package manager.
Clojure - Clojure language implementation for JVM.
Common Lisp - a set of Common Lisp implementations:
Clozure CL
SBCL
CLISP
ABCL
ECL
Racket - a scheme dialect (former MzScheme).
Python versions:
Python 2.7 (currently only in IDLE-based REPL)
Python 3.6
Groovy - Groovy 2 programming language + Grails 3 framework.
Java
JDK - Java Development Kit from Oracle
Apache ANT
Apache Maven
Gradle
C++
MinGW 32-bit (as a part of MSYS2)
MinGW 64-bit (as a part of MSYS2)

https://rho-emacs.sourceforge.io
2
199 / 102 / 4
Регистрация: 16.08.2015
Сообщений: 209
27.12.2017, 22:32
Пытаюсь улучшить степпер для SBCL и думаю, что у меня это получится. Но неплохо бы поделиться с кем-нибудь этим трудом, т.е. чтобы кто-то ещё поработал над этим:

https://www.youtube.com/watch?v=UlXn-ujS500
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
16.09.2020, 22:20
Цитата Сообщение от _sg Посмотреть сообщение
ρEmacs is a preconfigured distribution of GNU Emacs editor for Microsoft Windows.
Где-то день назад обновился. А как часто выходит апгрейд?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.09.2020, 22:20

Библиотека для доступа к win32 из лиспа
Добрый день! Такая библиотека ищется (не зависящая от реализации Common Lisp. Пока нашёл только вот это: ...

Подскажите программное обеспечение для лиспа
С лиспом вообще не знакома , но есть написанная программа ХХХ.lsp , диалог , программа типа доктор . Подскажите чем ее можно открыть...

obj\Debug\IDE.o||In function `Z11OpenProjectv':| C:\tsserver\Projects\cpp\codeblocks\MyComp\IDE\IDE\IDE.cpp|2 36|undefined reference to `GetOpenFileNam
obj\Debug\IDE.o||In function `Z11OpenProjectv':| C:\tsserver\Projects\cpp\codeblocks\MyComp\IDE\IDE\IDE.cpp|236|undefined reference to...

Для функций Лиспа найти такие же по действию и принимаемым аргументам в Erlang
Люди нужна помощь. Меня моя девушка помочь с лабой, а я, если честно, в функциональных языках не силен. Задание такое нужно для функций...

каким образом пожна подключить на мать с 2 IDE выходами и 2 SATA 3 жестких диска IDE и 2 CD-ROM IDE?
Доброго вам времени суток Можете подсказать каким образом пожна подключить на мать с 2 IDE выходами и 2 SATA 3 жестких диска IDE и 2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
126
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru