Tue, 4 Jul 2000 00:40:18 -0700 (PDT), Ronald J. Legere <[EMAIL PROTECTED]> pisze:
> I think this is driven by the recent addition of closure like
> 'agents' (http://www.eiffel.com/doc/manuals/language/agent/).
They are poor substitutes of closures. It's only a partial application
of a named feature (method), supplying actual values of any subsequence
of target+arguments at the construction time, and the rest at the
call time. To delay the computation of an arbitrary expression,
it must be lifted to a named method.
Making monads using them would be horrible.
The basic interface of using a closure is an imperative call plus
(in the case of functions, as opposed to procedures) another feature
that returns the result of the last call (!). Only for convenience
both calls are wrapped in another function.
> Just proves that all languages will eventually evolve to become
> haskell:) <* VERY BIG GRIN! *>
OCaml has an alternative syntax, implemented in a separate preprocessor
<http://caml.inria.fr/camlp4/manual/camlp4023.html>. It uses
do e1; e2; e3; return e4
for imperative sequencing, has one-definition where clauses, writes
type application in the right order and curried, requires parentheses
around tuples, has curried data constructors, True and False are
uppercase, drops elseless if, drops or and & (only || and && are
accepted)... Not everything went towards Haskell: it also writes
lists in Prolog/Clean-like bracketed way and uses \+ instead of (+).
--
__("< Marcin Kowalczyk * [EMAIL PROTECTED] http://qrczak.ids.net.pl/
\__/ GCS/M d- s+:-- a23 C+++$ UL++>++++$ P+++ L++>++++$ E-
^^ W++ N+++ o? K? w(---) O? M- V? PS-- PE++ Y? PGP+ t
QRCZAK 5? X- R tv-- b+>++ DI D- G+ e>++++ h! r--%>++ y-