Browse thread
[ANN] OCaml-Java project: 1.0 release
[
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: | Florian Weimer <fw@d...> |
| Subject: | Re: [Caml-list] [ANN] OCaml-Java project: 1.0 release |
* Till Varoquaux: > Anyways; here goes for trampolines (straight from wikipedia): > > "Used in some LISP implementations, a trampoline is a loop that > iteratively invokes thunk-returning functions. A single trampoline is > sufficient to express all control transfers of a program; a program so > expressed is trampolined or in "trampolined style"; converting a > program to trampolined style is trampolining. Trampolined functions > can be used to implement tail recursive function calls in > stack-oriented languages." I'm not sure if this is this a universally understood term. In GHC land, this is called a "mini-interpreter". The mini-interpreter doesn't have to be *that* expensive if you can avoid consing, but this seems to require whole-program analysis (or, at the very least, rather powerful inter-procedural escape analysis). I think I've heard this term mostly in the context of currying (specifically, in the implementation of downward closures in languages such as Ada).