LINUX.ORG.RU

Open Dylan 2019.1

 , , ,


2

3

31 марта 2019 года, спустя 5 лет после предыдущего релиза, вышла новая версия компилятора языка Dylan — Open Dylan 2019.1.

Dylan — это динамический язык программирования, реализующий идеи Common Lisp и CLOS в более привычном синтаксисе без скобочек.

Основное в этой версии:

  • стабилизация LLVM-бэкэнда для архитектур i386 и x86_64 на Linux, FreeBSD и macOS;
  • к компилятору добавлена опция -jobs для ускорения сборки за счет использования нескольких процессов;
  • исправление ошибок, выявленных со времени выхода предыдущей версии.

>>> Подробности



Проверено: Shaman007 ()
Последнее исправление: Shaman007 (всего исправлений: 2)

Ответ на: комментарий от poe

А для 3+ и подавно!) Я кстати знаю по несколько программ на разных «необычных» языках, а на лиспе не одной низнаю, какие есть?

Deleted
()
Ответ на: комментарий от Deleted

Скобочки это самая малая из проблем. Да и вообще, Скобочки это не проблема.

turtle_bazon ★★★★★
()
Ответ на: комментарий от turtle_bazon

Де ошибка? Ну я не особо знаю какие проблемы у лиспа, но mirai lisp не гуглится даже, только какой то ботнет.

Deleted
()
Ответ на: комментарий от Deleted

точка с запятой это лишь один символ!

Но в сях зато имеет какой эффект!

turtle_bazon ★★★★★
()
Ответ на: комментарий от Deleted

Ну то есть в яваскрипте я определяю новую функцию, например, делаю это в любимом редакторе, засылаю его в браузер и новая функция у меня уже в браузере? Без пересобираний, обновлений страницы? Ну и манипуляция внутренним состоянием тоже из репла любимого редактора возможна?засылаю

turtle_bazon ★★★★★
()
Ответ на: комментарий от turtle_bazon

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

Deleted
()
Ответ на: комментарий от turtle_bazon

Закрывающие генерируешь скриптом? Ну да, если программа большая то там пару мегабайт их нужно.

Deleted
()
Ответ на: комментарий от Deleted

Тогда я не понимаю как ты там в скобочках запутался.

turtle_bazon ★★★★★
()

Синтаксис выглядит отвратительно. Даже, если яп чем-то и выделяется, всё равно не взлетит.

beaver
()
Ответ на: комментарий от beaver

Это о Dylan?

Тут просто всё больше о Lisp и OCaml беседуют. Потому как Dylan должен был взлететь в начале 90-х и уже не взлетел.

А синтаксис — ну как синтаксис. Если не считать, что имена типов в треугольных скобках. В плюсах треугольные скобочки — признак шаблона (и, часто, знак — внимание — магия!) а тут… Ну даже если плюсовые аналогии и не включатся (так-то синтаксис больше умеренно паскалеподобный с ожидаемыми элементами ML) эти самые < > и :: вызывают ощущение какой-то избыточности. Ну и просто на < и > похоже сильно часто жать надо будет. Интересно, зачем оно так?

В общем почитаю доку, заодно разберусь, это ближе к ML, или к Lisp. Так-то пример с заглавной больше на первое похож.

be_nt_all ★★
()
Последнее исправление: be_nt_all (всего исправлений: 1)
Ответ на: комментарий от Deleted

Я не программист, я чисто потроллить зашёл.

Что, в общем-то, было довольно очевидно с самого начала.

anonymous
()
Ответ на: комментарий от Deleted

и на каждое действие нужно следить за ссаными скобками

Редактор надо нормальный использовать, который сам следит, а не notepad.exe.

Hertz ★★★★★
()
Ответ на: комментарий от anonymous

Parinfer - то, что доктор прописал. У меня всегда была одна проблема с paredit-ом: не могу запомнить все комбинации кнопок для нужных операций.

rupert ★★★★★
()

с Win64 [url-https://opendylan.org/download/index.html#installation-on-windows]проблемы:

Warning

The 32 bit version of Open Dylan IDE does not work on 64 bit Windows prior to Windows 8. There is no workaround at this time, unfortunately. We hope to resolve this in an upcoming release. It does work on 32-bit Windows versions and 64-bit Windows 8 and later.

However, the command line tools should work as the problem is with interaction between threads, GC and WoW64.

типичные С++ проблемы. порт под Win64 не сделан.

есть подозрение, что причина такая же, как в Corman Lisp: фикс про SEH в Win64

вообще, есть ощущение что если бы взяли какой-нибудь D вместо С++ проблемы не было бы по определению.

anonymous
()
Ответ на: комментарий от be_nt_all

там смысл в общем-то на примерах приложений среднего размера и выше проявляется.

например, из учебника про приложение для аэропорта проектирование архитектуры само приложение

ну ещё можно примеры в установленном потыкать. про Deuce (емакс такой), GUI в стиле McCLIM, COM интерфейсы и прочее.

в общем-то, Dylan — это любопытная попытка сделать модульный лисп. где функциональность ядра лиспа распределена по нескольким DLL-кам. и можно кодогенерировать лисп в си и в эти вот DLL-ки, и можно делать методы в рантайме в REPL, поставить на паузу рестарты и Edit-and-continue, или сделать sealed метод, который точно не будет расширяться (типа как final методы в Java). то есть, вместо того чтобы делать методы дефолтно невиртуальными, а избранные продуманно — виртуальными, как в С++, либо дефолтно все расширяемы как в Java ибо виртуальны, а для избранных final — тут наоборот, sealed это такой final для окончательной версии, плюс объектная модель CLOS с мультиметодами, а не Simula с Fragile Base Class problem.

смысл имеет взять примеры хелловордов на CLOS, например тот же GUI в стиле CLIM, Deuce и прочее. собрать, запустить и посмотреть ld/dependency walker про зависимости бинарников от .dll/.so. подумать, можно ли сделать специальную версию .dll-ки с неполноценным REPL и компилятором, а только для рантайма, для production. потом собрать все dll-ки статически в один бинарник и посмотреть на хелловорд на CLIM в несколько мегабайт.

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

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

Summary In this chapter, we presented a complete first draft of the airport application, based on the techniques presented in previous chapters. Although the example is complete and meets its stated design goals, we can still make a number of improvements. For example, we could take advantage of Dylan’s multiple inheritance to eliminate certain repetitive slots. We could provide a container-implementor module interface, and open the classes and generic functions so that users could add their own classes of containers and extend the scope of the application. We could take advantage of Dylan’s exception handling to better deal with unusual situations that might occur during the simulation. In the chapters that follow, we show the Dylan language features that enable such improvements.

и подумать как это (и сам процесс разработки) выглядело бы в других «системах программирования»(с)Непейвода

если не считать, что имена типов в треугольных скобках. В плюсах треугольные скобочки — признак шаблона (и, часто, знак — внимание — магия!) а тут…

а тут знак — осторожно, классы и CLOS-ная магия :)) в Dylan, как и в Сommon Lisp НЕ все типы, включая элементарные являются классами: примеры типов которые не классы.

но близко к тому, и чуть ближе чем в CLOS.

в ISLISP и в ILOS — ещё ближе к идеалу (если таковым считать метаклассы смоллтока и например функциональный смоллток newspeak), first class objects (откуда собственно эта история насчёт Functional Objects. ещё был язычёк goo со скобками, там этой динамики ещё больше, а алгольного синтаксиса меньше).

anonymous
()
Ответ на: комментарий от Deleted

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

lol, а-ха-ха

Virtuos86 ★★★★★
()
Ответ на: комментарий от anonymous

Надо начать уже твои посты (а это не первый такой пост, насколько я могу судить), щедро пересыпанные ссылками, сохранять куда-то. А то жалко, ведь потом их на ЛОРе фиг найдёшь, с учётом твоей анонимности.

сюда написал очередной длиннопост про STELLA, Gwydion Dylan, prefix dylan с лисповым синтаксисом, и подход к программированию «пишем на лиспе — поставляем в C/C++/Java/...»

ну и LitProg подход. что любопытно, в идеях проекта Gwydion (не Dylan, а вообще: то, что стало проектом SHEETS) высказаны здравые идеи.

про гиперкод. даже есть какая-то реализация на Java.

реализация на STELLA/CL/CLOS/CLIM либо на Dylan/DUIM какой-то среды «литературного», грамотного программирования, с нормальным синтаксисом типа Emacs org-mode, только с более широким типом данных, этих самых «функциональных объектов», «графических объектов» (см. статью Paul Graham) — вычисляющихся в Emacs org-mode подобной среде через «блоки данных» в стиле CLOS + «блоки кода» их обрабатывающие — на мой взгляд, была бы даже полезнее этой реализации на Java.

гиперкод, литературное грамотное программирование и лисп просто созданы друг для друга.

anonymous
()
Ответ на: комментарий от anonymous

Скажите, а вы часом, не Левенчук, который про системное мышление написывает под ником ailev в жж? Уж многие ваши мысли очень совпадают с его постами старыми.

kremator666
()
Ответ на: комментарий от kremator666

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

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.