Clojure, лямбды, черви, термы
Oct. 11th, 2012 07:58 pm(#(% %) #(% %)) - StackOverflow на кложуре
((fn [x] (x x)) (fn [x] (x x))) - StackOverflow на кложуре (более явная запись предущего)
на хаскеле даже на \x -> x x сразу ругается тайпчекер
(λx.xx)(λx.xx) - это оно же?
((fn [x] (x x)) (fn [x] (x x))) - StackOverflow на кложуре (более явная запись предущего)
на хаскеле даже на \x -> x x сразу ругается тайпчекер
(λx.xx)(λx.xx) - это оно же?
no subject
Date: 2012-10-11 05:21 pm (UTC)no subject
Date: 2012-10-11 05:41 pm (UTC)no subject
Date: 2012-10-11 05:48 pm (UTC)Во всяких F#/C# ленивость такая же - все энергичное, а итераторы ленивые.
no subject
Date: 2012-10-11 05:46 pm (UTC)no subject
Date: 2012-10-11 06:50 pm (UTC)Но можно и похитрее типы взять для лямбда-исчисления.
$ ocaml Objective Caml version 3.12.1+rc1 # ((fun x -> (x x)) (fun x -> (x x)));; Error: This expression has type 'a -> 'b but an expression was expected of type 'a # #rectypes;; <----- magic here # ((fun x -> (x x)) (fun x -> (x x)));; ^CInterrupted. # let f () = ((fun x -> (x x)) (fun x -> (x x)));; val f : unit -> 'a = <fun> # fun x -> x x;; - : ('a -> 'b as 'a) -> 'b = <fun> #no subject
Date: 2012-10-12 11:49 am (UTC)