LINUX.ORG.RU

caml light versus scheme


0

0

Брат-анонимус где-то сказал, что надо читать sicp. Ну раз надо, 
значит начал читать. 

Правда под рукой не оказалось схемы, а качать и сетапить очередную
 кучу бинарей либо, не дай бог, еще и компилить исходников было 
неохота. Вот я и решил заменить их кэмэллайтом благо пока вроде бы 
получается. 

Кстати тест на lazy на кэмэле гораздо проще, чем в сикп. Можно написать просто

let lazy_test = print_string "HOOY";;

Строчка напечатается прямо при определении функции.

Но вот только есть одно непонятное, почему нельзя определить функцию

let rec lolz = lolz;;

Ругается оно. Это защита от дурака там стоит или я как-то не так определяю?
anonymous

а почему-бы не взять например sisc или kawa - это схема, на яве - один jar, ничего сетапить не надо кроме жабы

ott ★★★★★
()

> Но вот только есть одно непонятное, почему нельзя определить функцию

> let rec lolz = lolz;;

Ты определяешь не функцию, а обычное значение, определение функции без параметров:

let rec lolz () = lolz () ;;


В большинстве случаев нельзя определить рекурсивные не функциональные значения, но можно так:

let rec l = 1 :: l ;;

satanic-mechanic
()

>> Правда под рукой не оказалось схемы, а качать и сетапить очередную кучу бинарей либо, не дай бог, еще и компилить исходников было неохота

И где ты там нашел кучу бинарей? Один tar.gz или deb - это уже куча?

cathode
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.