Re[5]: Функциональное программирование для всех
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.04.08 18:25
Оценка: :)
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>Я с удовольствием послушаю, как вы реализуете на функторах функцию iterate:

LCR>
LCR>let compose f g x = f(g x) ;;
LCR>let rec iterate n f =
LCR>    if n = 0 then (function x -> x)
LCR>    else compose f (iterate (n-1) f) ;;

LCR>(* использовать можно так *)
LCR>let rec power i n =
LCR>    let i_times = ( * ) i in  (* "i_times n" равно функции "умножить на i" n раз *)
LCR>        iterate n i_times 1 ;;

LCR>power 2 8 ;; (* выдаст 256 *)

LCR>

LCR>(ocaml)
LCR>Больше чем уверен, что вы вернёте разве что функтор-интерпретатор, который будет инкапсулировать АСТ.

Вообще идея приводить человеку вообще не понимающему что такое ФП примеры на ОКамле или его аналоге — это все равно, что глумиться над старушкой заставляя читать ее учебник по высшей математике.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.