Browse thread
Desktop GUI toolkits - current state of the art?
[
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: | Jeremy Yallop <yallop@g...> |
| Subject: | Re: [Caml-list] Desktop GUI toolkits - current state of the art? |
On 24 November 2010 21:37, Alain Frisch <alain.frisch@lexifi.com> wrote: > Being able to write things like: > > lazy let rec button1 = > button ~click:(fun () -> button2 # disable) "Button1" > and button2 = > button ~click:(fun () -> button1 # disable) "Button2" > in > ... > > > As the lazy keyword suggests, we rely on lazy evaluation to evaluate such > recursive definitions. The code above is equivalent to: > > let rec button1 = > lazy (button ~click:(fun () -> (Lazy.force button2) # disable) "Button1") > and button2 = > lazy (button ~click:(fun () -> (Lazy.force button1) # disable) "Button2" > in > ... This sounds very much like the presentation of value recursion in Don Syme's ML 2005 paper: http://research.microsoft.com/apps/pubs/default.aspx?id=79951 Out of interest, is your extension based on Don's work?