Re: [Camllist] LambdaTerm (f x) (x f) translated to Ocaml?

yoann padioleau
 Marius Nita
 Oliver Bandel
 Thomas Fischbacher
[
Home
]
[ Index:
by date

by threads
]
[ Message by date: previous  next ] [ Message in thread: previous  next ] [ Thread: previous  next ]
[ Message by date: previous  next ] [ Message in thread: previous  next ] [ Thread: previous  next ]
Date:   (:) 
From:  Oliver Bandel <oliver@f...> 
Subject:  Re: [Camllist] LambdaTerm (f x) (x f) translated to Ocaml? 
On Tue, Mar 28, 2006 at 02:44:55AM +0200, yoann padioleau wrote: > > > Hello, > > > > I'm not firm in lambda calculus, what is the lambdaterm > > in the subject translated to OCaml? > > > > Is this possible? > > the ocaml interpreter dont want this definition > > let g f x = (f x) (x f) Oh, looks easy.... ( at least the definition on the left side ;) ) > > and shout: > this expression has type ('a > 'b) > 'c > 'd but is here used with type 'a OK, I tried this: ===================================================================== first:~/Desktop oliver$ ocaml Objective Caml version 3.09.0 # let g f x = (f x) (x f) ;; This expression has type ('a > 'b) > 'c > 'd but is here used with type 'a # ^D first:~/Desktop oliver$ ocaml rectypes Objective Caml version 3.09.0 # let g f x = (f x) (x f) ;; val g : (('a > 'c as 'b) > 'c > 'd as 'a) > 'b > 'd = <fun> # ===================================================================== Well, looks complicated to me. Any hints to this? Ciao, Oliver