Но зачем? Ведь LISP потерпел сокрушительное фиаско как технология.
Часто спрашивают, почему человечество топчется на месте, почему дерзкие прогнозы футурологов не сбываются. Ответ прост: люди – идиоты. Они сделали кучу глупостей: придумывали костюмы для собак, должность рекламного менеджера и штуки вроде LISP, не получив взамен ничего, кроме кислого послевкусия. Человечеству дали возможность бороздить космос, но оно хочет заниматься ерундой – пить пиво, смотреть сериалы или делать пандорические захваты на анафорических лямбдах.
Вот как раз менеджеры по рекламе наоборот очень нужны, намного нужнее большинства других профессий. Не ставь их в один ряд с костюмами для собак и лишпами.
К слову про раби. У него есть удобная IDE под emacs? Такая как slime. Меня интересует, главным образом, интерактивная разработка и доступ к документации.
(save-lisp-and-die "a.out" :toplevel #'main :executable t :compression 9)
Нормальные шейкеры есть только в коммерческих реализациях. В sbcl это вряд ли будет в ближайшее время. Тем более, что при нынешних ценах на оперативу это всё --- экономия на спичках.
как бы то ни было, авторы приведенных мной языков сумели найти какой-то выход, что бы информация о падении была внятной. И это при том, что тот же хаскель компилируется в нативный код и весит результирующий бинарник мало. А в sbcl не придумали ничего для этого. Посему отлаживать что-то большое довольно неудобно.
All Android examples are packet into /sdcard/gforth/site-forth. There is
gl-sample.fs: A simple OpenGL demo
omx-example.fs: Playing videos. Download my Jingle Bells as test stream into /storage/extSdCard/Filme, then you can start it with jb, or any other MPEG 2 transport stream file with ”<filename>” play-ts, or a MKV file (H.264, MP3 or AAC) with ”<filename>” play-mkv.
gl-slideshow.fs: Plays a slideshow. Put photos into a directory, and a file listing all filenames (including path). Load that file with ”<slidelist>” slide-show.
android-recorder.fs: Records a video, when you start camera-test. The recorded video will end up in /storage/extSdCard/Filme/test.mp4.
С хаскелем тоже не всё гладко. Выпадет тебе какое-нибудь несовпадение типов и даже место, где проблема возникла укажут. Вот только вызвано оное несовпадение тем, что типы выводятся не так, как ты думал из-за кода, расположенного в совсем-совсем другом месте.
(setf (fdefinition myfunction)... + то, что было написано ранее
цитирую: The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.
The “source code” for a work means the preferred form of the work for making modifications to it
О! На основании этого определения я имею право требовать не только компилируемый код для бинарников текущей версии, но и полное дерево VCS? Ведь программисты вносят модификации в систему контроля версий, а не непосредственно в файл с текстом программы.
The “source code” for a work means the preferred form of the work for making modifications to it
Ведь программисты вносят модификации в систему контроля версий
это вообще «по барабану»
Так форма работы для внесения изменений или «по барабану» куда вносят, главное, чтобы «компилируемый код» был? Так я могу и исходник без комментариев выдать или даже автоматически обфусцированный — это тоже «компилируемый код для бинарников текущей версии».
Free software acts as a virus. Free systems have the potency to wipe out any other protocol or design, including any superior ones (unless they are also free). A example is the various Unix systems and protocols has done huge irreversible damage to society.
Надо приноровиться просто. В SLIME если сборка происходит через asdf, то нужно открыть файл, в к-ром компиляция сломалась (я лично для этого написал спец. патч для asdf, сейчас как раз портирую его под sbcl). Затем компилируешь уже этот файл (с-с с-k). Тогда ошибки показываются в виде простыни с гиперссылками. Гиперссылка с большой вероятностью ведёт в точку кода, где произошла ошибка.
Если ошибка времени выполнения, то в дебаггере есть кнопка v для перехода к исходнику.
В целом для лиспа сложнее это сделать, т.к. расширяемый ридер и расширяемый компилятор. Согласен, что неуказание места ошибки - это недостаток, но в последнее вермя стало намного лучше.