Size: a a a

2021 March 06

UT

Unknown T. in Lisp Forever
akater
Ну какгбы найти помощь в коммонлисповской литературе про это — это как в литературе по Си++ искать, как писать без примесей ООП или императивного стиля.

Если хочется писать без примесей, нужно читать про Хаскелль или что-то там такое.  Если хочется без примесей, но с метапрограммированием — Clojure или Scheme.  А в Коммоне попросту инструментов мало, чтоб чисто так писать, и литературы про чистое ФП на нем нет.  Так что смысл непонятнен.  По-моему самое близкое это Paul Graham — On Lisp.  Но это книга про макросы в основном.
Окей, спасибо за рекомендации, буду смотреть
источник

UT

Unknown T. in Lisp Forever
Да. Haskell тоже в планах :)
источник

λ

λ <Bogdanella/>... in Lisp Forever
Unknown T.
Да. Haskell тоже в планах :)
оставь надежду, всяк  сюда входящий
источник

AK

Andrey Kutejko in Lisp Forever
Unknown T.
Я хочу именно чисто функционально, без примесей ооп или императивного стиля. В этом в общем-то и смысл изучения
тогда лучше взять schema или clojure.
источник

RR

Rigidus Rigidus in Lisp Forever
Denis Ermolenko
И да CL адски мощная штука . Особенно когда начнешь копать макросы,   reader-macro и черную магию которую даст изменение *readtable* )))
хочется подробностей
источник

P

Pavel in Lisp Forever
Я вот собираюсь дать коротенький курс по фп и схеме студентам, и думаю, какие бы интересные задачки им дать
источник

P

Pavel in Lisp Forever
Не хочу их мучать всякой академической унылой классикой
источник

DE

Denis Ermolenko in Lisp Forever
Rigidus Rigidus
хочется подробностей
https://wlbr.de/blog/2014/03/06/lisp-reader-macros.html Про то как напрямую в json нотации писать. Ну вообще менять как-то *readtable* лучше в особых случаях для особых мест кода, а после вернуть его дефолтное состояние
источник

DE

Denis Ermolenko in Lisp Forever
Вообще говоря кратко, *readtable* отвечает за логику парсера ридера
источник

RR

Rigidus Rigidus in Lisp Forever
это то я знаю, я про сценарии в которых это полезно
источник

DE

Denis Ermolenko in Lisp Forever
Rigidus Rigidus
это то я знаю, я про сценарии в которых это полезно
Ну например, организовать удобную запись для создания hash-table, где это надо
источник

RR

Rigidus Rigidus in Lisp Forever
Denis Ermolenko
Ну например, организовать удобную запись для создания hash-table, где это надо
но это же не требует менять *readtable* именно на-лету
источник

V(

Vλadimir (Hawthorne ... in Lisp Forever
Pavel
Я вот собираюсь дать коротенький курс по фп и схеме студентам, и думаю, какие бы интересные задачки им дать
парсер .bibtex файла, поиск взаимных цитирований на CrossRef и аутпут например в graphviz диаграмму
источник

V(

Vλadimir (Hawthorne ... in Lisp Forever
и утилитарно и можно показать много чего вкруг фп
источник

AK

Andrey Kutejko in Lisp Forever
Denis Ermolenko
Ну например, организовать удобную запись для создания hash-table, где это надо
насколько удобнее чем функция plist-hash-table из alexandria?
источник

DE

Denis Ermolenko in Lisp Forever
Rigidus Rigidus
но это же не требует менять *readtable* именно на-лету
мне кажется, что сходу придумать тут сложно, где надо прям на ходу менять . Где-то пример подобного видел
источник

DE

Denis Ermolenko in Lisp Forever
Andrey Kutejko
насколько удобнее чем функция plist-hash-table из alexandria?
мне кажется тут дело в компактности  получаемого кода
источник

DE

Denis Ermolenko in Lisp Forever
тип макросы, reader-macro и тому подобное ж по-сути нужны для уменьшения boilerplate и создания удобных инструментов для работы
источник

AK

Andrey Kutejko in Lisp Forever
(defun h (&rest args)
 (alexandria:plist-hash-table args))

(h "x" 1 "y" 2 :z 3)


недостаточно компактно?
источник

DE

Denis Ermolenko in Lisp Forever
Andrey Kutejko
(defun h (&rest args)
 (alexandria:plist-hash-table args))

(h "x" 1 "y" 2 :z 3)


недостаточно компактно?
тоже отличный вариант
источник