аппликативные функторы
Jun. 5th, 2011 03:00 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Разгрыз аппликативные функторы. Лучше поздно, чем никогда. И не просто в теории, но и на практике тоже.
Хорошая штука для своих применений, главное из которых -- эмуляция "функции с переменным количеством аргументов".
В моём конкретном примере, имея некое окружение (заданное статически пока что, в виде
выводит ожидаемое:
Мне эти функторы пригодятся для обработки значений с типом
Конкретику ищите в репке "amall", если представляете, что это.
Хорошая штука для своих применений, главное из которых -- эмуляция "функции с переменным количеством аргументов".
В моём конкретном примере, имея некое окружение (заданное статически пока что, в виде
[("a", String "str"); ("b", Int 123); ("c", Bool True)]
), кодvalue () = run & (fun f -> f <$> string "a" <*> int "b" <*> bool "c") (Printf.printf "a=%S b=%i c=%b") ;
выводит ожидаемое:
a="str" b=123 c=true
Мне эти функторы пригодятся для обработки значений с типом
sql_t = [ `Null | `String of string | `Binary of string | ... ]
.Конкретику ищите в репке "amall", если представляете, что это.