Маленькі відкриття дня

Feb 16, 2014 05:20

Цікава поведінка Guile (реалізація Схеми від GNU) на виразах ( . val): він просто повертає val, тоді як інші інтерпретатори видають синтаксичну помилку.

Ще виявив для себе існування таких форм лямбд: (lambda args (display (length args))). Раніше якось не задумувався, як завести лямбду із змінною кількісьтю аргументів без фіксованих початкових (як ( Read more... )

програмістське, процес, lisp, secdscheme

Leave a comment

Comments 5

zabolekar October 16 2014, 22:49:01 UTC
А чи знаєте ви picolisp і що буде, якщо там написати, наприклад, (1 2 3 . )?

Reply

dmytrish October 16 2014, 22:54:50 UTC
Не знаю. picolisp подумає, що в кінці порожній список і це (1 2 3)?

Reply

zabolekar October 16 2014, 23:22:22 UTC
Краще. Він зробить закільцьований список:

: (cdr (1 2 3 .))
-> (2 3 1 .)
: (cddr (1 2 3 .))
-> (3 1 2 .)
: (cdddr (1 2 3 .))
-> (1 2 3 .)

Reply

dmytrish October 16 2014, 23:54:35 UTC
Сумнівна цінність, але цікаво.

Reply


Leave a comment

Up