Size: a a a

Сообщество Scheme

2019 June 05

O

O in Сообщество Scheme
Aydar Zarifullin
Кто-то где-то канал рекламирует?
В ru Emacs группе @emacs_ru
источник

O

O in Сообщество Scheme
Ну и перекресная тема применения Guix @gnu_guix_ru
источник
2019 June 06

PG

Pïg Grëënëst in Сообщество Scheme
Ну ка быстро ник на схеме переписал
источник

f

for(int c; (c = getchar()) != EOF;) in Сообщество Scheme
У меня био на Лиспе
источник

V(

Vλadimir (Hawthorne the Toolmaker) in Сообщество Scheme
/thread
источник

PG

Pïg Grëënëst in Сообщество Scheme
На борще
источник

AZ

Aydar Zarifullin in Сообщество Scheme
Pïg Grëënëst
Ну ка быстро ник на схеме переписал
(let ([c (read-char)]) (unless (eof-object? c)))
источник

AZ

Aydar Zarifullin in Сообщество Scheme
При условии что это будет завернуто в функцию с рекурсией
источник

PG

Pïg Grëënëst in Сообщество Scheme
А так сработает?
(let l (cs)
 (let ((c (read-char)))
   (unless (eof-object? c)
     (l (cons c cs)))))
источник

PG

Pïg Grëënëst in Сообщество Scheme
(let l ((cs '()))
 (let ((c (read-char)))
   (if (eof-object? c)
       (reverse cs)
       (l (cons c cs)))))
источник

AZ

Aydar Zarifullin in Сообщество Scheme
Pïg Grëënëst
(let l ((cs '()))
 (let ((c (read-char)))
   (if (eof-object? c)
       (reverse cs)
       (l (cons c cs)))))
Что-то я не понял начальное значение l. Похоже на невалидный код
источник

PG

Pïg Grëënëst in Сообщество Scheme
В борще и елиспе в таком случае начальное значение будет nil
источник

AZ

Aydar Zarifullin in Сообщество Scheme
Pïg Grëënëst
В борще и елиспе в таком случае начальное значение будет nil
Я конечно могу ошибаться но у тебя первый let вроде неверно написан
источник

PG

Pïg Grëënëst in Сообщество Scheme
Плохой язык
источник

PG

Pïg Grëënëst in Сообщество Scheme
Пофиксил
источник

AZ

Aydar Zarifullin in Сообщество Scheme
Pïg Grëënëst
Пофиксил
Вроде ты опять не там скобку поставил. Перед l надо
источник

PG

Pïg Grëënëst in Сообщество Scheme
Не, это как раз правильно
источник

PG

Pïg Grëënëst in Сообщество Scheme
Я уже запускал код, он работает
источник

PG

Pïg Grëënëst in Сообщество Scheme
источник

PG

Pïg Grëënëst in Сообщество Scheme
Обычный let это сахар над лямбдой,
(let ((x v)...) e...) = ((lambda (x...) e...) v...)
а let с именем это сахар над лямбдой с комбинатором неподвижной точки
let f ((x v)...) e...) = ((fix (lambda (f x...) e...)) v...))
источник