Size: a a a

Сообщество Scheme

2021 February 27

a

anton in Сообщество Scheme
bouncepaw ⛅
в доках особо не сказано ничего про эти именованные безымянные функции
у меня складывается ощущение, что это сделано для дебага
источник

a

anton in Сообщество Scheme
XLISP 3.3, September 6, 2002 Copyright (c) 1984-2002, by David Betz
[1] ((lambda () (+ "one" "two")))

Error: incorrect type - "one"
happened in: #<Code #x0x7f64bfbb4f68>
Entering break loop ('(reset)' to quit)
Debug 1> [1] (reset)

[1] ((named-lambda b () (+ "one" "two")))

Error: incorrect type - "one"
happened in: #<Code B>
Entering break loop ('(reset)' to quit)
Debug 1> [1] (reset)

[1]
источник

a

anton in Сообщество Scheme
потому что это имя, b, больше нигде не видно, ни в самой лямбде, ни глобально после объявления
источник

b⛅

bouncepaw ⛅ in Сообщество Scheme
а, скучно тогда
источник

a

anton in Сообщество Scheme
а что такое fix, можно ссылочку, а то гуглятся какие-то духи
источник

a

anton in Сообщество Scheme
A ß
один раз даже была нужда в таком, но я писал на эликсире, так что пришлось использовать fix
^
источник

A ß in Сообщество Scheme
комбинатор неподвижной точки
источник

b⛅

bouncepaw ⛅ in Сообщество Scheme
anton
а что такое fix, можно ссылочку, а то гуглятся какие-то духи
источник

a

anton in Сообщество Scheme
а, спасибо, я такое слышал, кстати, xlisp легко съел схемовский пример с этим комбинатором, в отличие от коммон лиспа, которому нужно было какие-то funcall добавлять и в итоге у меня всё равно не получилось ничего
источник

a

anton in Сообщество Scheme
этот вот
(((lambda (f)
   ((lambda (proc)
      (f (lambda (arg) ((proc proc) arg))))
    (lambda (proc)
      (f (lambda (arg) ((proc proc) arg))))))
 (lambda (self)
   (lambda (ls)
     (if (null? ls) 0 (+ 1 (self (cdr ls)))))))
'(a b c d e))
источник

A ß in Сообщество Scheme
да, потому что лисп-1 и лисп-2
источник

a

anton in Сообщество Scheme
и КЛ всегда будет номер 2
источник

b⛅

bouncepaw ⛅ in Сообщество Scheme
anton
и КЛ всегда будет номер 2
ну, вообще, КЛ лисп номер 1, ведь это лисп по дефолту
источник

b⛅

bouncepaw ⛅ in Сообщество Scheme
(ты же это имел в виду, а не лисп-2?)
источник

A ß in Сообщество Scheme
речь про количество неймспейсов
источник

b⛅

bouncepaw ⛅ in Сообщество Scheme
A ß
речь про количество неймспейсов
я знаю, что такое лисп-{1,2}. Вопрос в том, что значит сообщение «и КЛ всегда будет номер 2», я походу его неверно распарсил
источник

a

anton in Сообщество Scheme
bouncepaw ⛅
я знаю, что такое лисп-{1,2}. Вопрос в том, что значит сообщение «и КЛ всегда будет номер 2», я походу его неверно распарсил
ну это такой наброс-каламбур, не хочу никого обижать, люблю все языки
источник

A ß in Сообщество Scheme
anton
потому что это имя, b, больше нигде не видно, ни в самой лямбде, ни глобально после объявления
подажжи, в смысле в лямбде не видно?
источник

a

anton in Сообщество Scheme
да,
[1] (named-lambda a () a)

#<Procedure A>
[2] ((named-lambda a () a))

error: unbound variable - a
happened in: #<Code A>
Entering break loop ('(reset)' to quit)
Debug 1> [2]
источник

a

anton in Сообщество Scheme
A ß
подажжи, в смысле в лямбде не видно?
^
источник