Size: a a a

2020 March 06

A

Aragaer in Lisp Forever
ага
источник

AE

Alexey Egorov in Lisp Forever
Хм. Понятно.
источник

AE

Alexey Egorov in Lisp Forever
У тебя чикен, кстати?
источник

A

Aragaer in Lisp Forever
да
источник

AE

Alexey Egorov in Lisp Forever
Понятно. То-то пропт такой же.
источник

ХЛ

Хороший Лисичко in Lisp Forever
Паттерны использования «call with current continuation»
http://fprog.ru/lib/ferguson-dwight-call-cc-patterns/
источник

A

Aragaer in Lisp Forever
#;4> (define (return10 back) (back 10))
#;5> (* (call/cc return10) 2)
20
источник

A

Aragaer in Lisp Forever
#;6> (define ((return-doubled x) back) (back (* x 2)))
#;7> (+ (call/cc (return-doubled 10)) 5)
25
источник

AE

Alexey Egorov in Lisp Forever
Aragaer
#;4> (define (return10 back) (back 10))
#;5> (* (call/cc return10) 2)
20
А тут back это (lambda (a) (* a 2))
источник

A

Aragaer in Lisp Forever
нет, тут back это опять же что-то, сгенеренное схемой
источник

AE

Alexey Egorov in Lisp Forever
Aragaer
нет, тут back это опять же что-то, сгенеренное схемой
Ну.
источник

AE

Alexey Egorov in Lisp Forever
Да.
источник

A

Aragaer in Lisp Forever
там начинаются приколы когда у тебя несколько call/cc и как результат несколько точек "возврата" и более того, одну и ту же точку можно переиспользовать много раз
источник

A

Aragaer in Lisp Forever
но я сходу не могу придумать пример
источник

A

Aragaer in Lisp Forever
собссно пример с корутинами у меня примерно так и устроен - есть основная функция mainloop, оно принимает что-то на вход и определяет, какую "корутину" (функцию) вызвать. Та работает, потом доходит до call/cc и возвращается обратно в mainloop, но возвращает точку "продолжения выполнения". Мэйнлуп продолжает работать и в какой-то момент может решить продолжить выполнение какой-то из своих корутин. Тогда он вызывает не точку входа, а точку возврата.
источник

a

akater in Lisp Forever
В коллекцию примеров: MetaCyc «и смежные» базы данных написаны на Common Lisp.
https://twitter.com/vsbuffalo/status/1232516892130021376
http://presentica.com/ppt-presentation/the-ecocyc-and-metacyc-pathway-genome-databases
источник

a

akater in Lisp Forever
Alexey Egorov
В конце концов у каждого может найтись аргумент, почему тут &aux, а не let*, или наоборот аргумент против.
Я люблю &aux потому что стараюсь умещать все в 80 символов по ширине. :-)
источник

AE

Alexey Egorov in Lisp Forever
akater
Я люблю &aux потому что стараюсь умещать все в 80 символов по ширине. :-)
Да, тоже подумал об этом.
источник

a

akater in Lisp Forever
Alexey Egorov
А тут есть схемеры?
В Common Lisp не может быть undelimited continuations. Схемеры скорее всего есть в https://t.me/scheme_ru (эта ссылка есть в инфо чата)
источник

AE

Alexey Egorov in Lisp Forever
А что такое undelimeted?
источник