LINUX.ORG.RU

История изменений

Исправление tp_for_my_bunghole, (текущая версия) :

Можно по пунктам сравнить, что есть в том же VSCode для Python с тем, что есть в SLIME для CL.

Для Python используют Jedi, статический анализатор который ничего не знает об эффектах в runtime, импорты в Django.

SLIME работает с работающим образом всей программы который доступен через REPL(командная строка). В любом месте кода можно вставить прерывание error и исследовать полностью состояние программы в тот момент.
Примерно как делает GDB в «C», но лучше и быстрее.
Для этого в Common Lisp есть TYPE-OF, во всех других языках обычно только switch для проверки типов, нельзя просто взять и запросить тип. В Python и Guile Scheme есть type/type-of.

Emacs Lisp полностью интроспективен в любой момент. Если скачать исходный код и указать в конфиге путь то можно из кода elisp прыгать прямо на нативное определение в «C» для базовых форм. Любую elisp функцию можно проинструментировать нажатием клавиш и при её вызове во время работы в Emacs будет показан курсор в ней для пошагового исполнения. Можно исправить что-то в функции и моментально скомпилировать одну эту функцию, снова проверять как работает программа(Emacs) в целом.

Ничего подобного нет ни в одном другом языке. Потому что показать это можно только в процессе работы, в виде повторных демонстраций. Программер от других языков не поймёт это без демок, а менеджер не поймёт любые демки если он не программер. Если представить вместо Emacs разрабатываемую игру и показать этот процесс разработки то возникнет впечатление уникальной технологии.

Исправление tp_for_my_bunghole, :

Можно по пунктам сравнить, что есть в том же VSCode для Python с тем, что есть в SLIME для CL.

Для Python используют Jedi, статический анализатор который ничего не знает об эффектах в runtime, импорты в Django.

SLIME работает с работающим образом всей программы который доступен через REPL(командная строка). В любом месте кода можно вставить прерывание error и исследовать полностью состояние программы в тот момент.
Примерно как делает GDB в «C», но лучше и быстрее.
Для этого в Common Lisp есть TYPE-OF, во всех других языках обычно только switch для проверки типов, нельзя просто взять и запросить тип. В Python и Guile Scheme есть type/type-of.

Emacs Lisp полностью интроспективен в любой момент. Если скачать исходный код и указать в конфиге путь то можно из кода elisp прыгать прямо на нативное определение в «C» для базовых форм. Любую elisp функцию можно проинструментировать нажатием клавиш и при её вызове во время работы в Emacs будет показан курсор в ней для пошагового исполнения. Можно исправить что-то в функции и моментально скомпилировать одну эту функцию, снова проверять как работает программа(Emacs) в целом.

Ничего подобного нет ни в одном другом языке. Потому что показать это можно только в процессе работы, в виде повторных демонстраций. Программер от других языков не поймёт это без демок, а менеджер не поймёт любые демки если он не программер.

Исправление tp_for_my_bunghole, :

Можно по пунктам сравнить, что есть в том же VSCode для Python с тем, что есть в SLIME для CL.

Для Python используют Jedi, статический анализатор который ничего не знает об эффектах в runtime, импорты в Django.

SLIME работает с работающим образом всей программы который доступен через REPL(командная строка). В любом месте кода можно вставить прерывание error и исследовать полностью состояние программы в тот момент.
Примерно как делает GDB в «C», но лучше и быстрее.
Для этого в Common Lisp есть TYPE-OF, во всех других языках обычно только switch для проверки типов, нельзя просто взять и запросить тип. В Python и Guile Scheme есть type/type-of.

Emacs Lisp полностью интроспективен в любой момент. Если скачать исходный код и указать в конфиге путь то можно из кода elisp прыгать прямо на нативное определение в «C» для базовых форм. Любую elisp функцию можно проинструментировать нажатием клавиш и при её вызове во время работы в Emacs будет показан курсор в ней для пошагового исполнения. Можно исправить что-то в функции и моментально скомпилировать одну эту функцию, снова проверять как работает программа(Emacs) в целом.

Ничего подобного нет ни в одном другом языке. Потому что показать это можно только в процессе работы, в виде повторных демонстрации. Программер от других язык не поймёт без демок, а менеджер не поймёт любые демки если он не программер.

Исправление tp_for_my_bunghole, :

Можно по пунктам сравнить, что есть в том же VSCode для Python с тем, что есть в SLIME для CL.

Для Python используют Jedi, статический анализатор который ничего не знает об эффектах в runtime, импорты в Django.

SLIME работает с работающим образом всей программы который доступен через REPL(командная строка). В любом месте кода можно вставить прерывание error и исследовать полностью состояние программы в тот момент.
Примерно как делает GDB в «C», но лучше и быстрее.
Для этого в Common Lisp есть TYPE-OF, во всех других языках обычно только switch для проверки типов, нельзя просто взять и запросить тип. В Python и Guile Scheme есть type/type-of.

Emacs Lisp полностью интроспективен в любой момент. Если скачать исходный код и указать в конфиге путь то можно из кода elisp прыгать прямо на нативное определение в «C» для базовых форм. Любую elisp функцию можно проинструментировать нажатием клавиш и при её вызове во время работы в Emacs будет показан курсор в ней для пошагового исполнения. Можно исправить что-то в функции и моментально скомпилировать одну эту функцию, снова проверять как работает программа(Emacs) в целом.

Исправление tp_for_my_bunghole, :

Можно по пунктам сравнить, что есть в том же VSCode для Python с тем, что есть в SLIME для CL.

Для Python используют Jedi, статический анализатор который ничего не знает об эффектах в runtime, импорты в Django.

SLIME работает с работающим образом всей программы который доступен через REPL(командная строка). В любом месте кода можно вставить прерывание error и исследовать полностью состояние программы в тот момент.
Примерно как делает GDB в «C», но лучше и быстрее.
Для этого в Common Lisp есть TYPE-OF, во всех других языках обычно только switch для проверки типов, нельзя просто взять и запросить тип. В Python и Guile Scheme есть type/type-of.

Emacs Lisp полностью интроспективен в любой момент. Если скачать исходный код и указать в конфиге путь то можно из кода elisp прыгать прямо на нативное определение в «C» для базовых форм. Любую elisp функцию можно проинструментировать нажатием клавиш и при её вызове во время работы в Emacs будет показан курсор в ней для пошагового исполнения. Можно исправить что-то в функции и моментально скомпилировать, снова проверять как работает программа(Emacs) в целом.

Исходная версия tp_for_my_bunghole, :

Можно по пунктам сравнить, что есть в том же VSCode для Python с тем, что есть в SLIME для CL.

Для Python используют Jedi, статический анализатор который ничего не знает об эффектах в runtime, импорты в Django.

SLIME работает с работающим образом всей программы который доступен через REPL(командная строка). В любом месте кода можно вставить прерывание error и исследовать полностью состояние программы в тот момент.
Примерно как делает GDB в «C», но лучше и быстрее.
Для этого в Common Lisp есть TYPE-OF, во всех других языках обычно только switch для проверки типов, нельзя просто взять и запросить тип. В Python и Guile Scheme есть type/type-of.