[Haskell-cafe] Re: Doing some things right
Achim Schneider
barsoap at web.de
Sat Dec 29 07:14:32 EST 2007
Andrew Coppin <andrewcoppin at btinternet.com> wrote:
> Luke Palmer wrote:
> > OO is orthogonal to functional. Erlang is pure functional, Lisp is
> > a bastard child...
> >
>
> 2. I'm curios as to how you can have a functional OO language. The
> two seem fundamentally incompatible:
>
By writing an object that takes a parameter in its constructor (eg. Int)
and has a member of type () -> Int, you have a closure, which is a let
binding. Then you most likely have expression nesting, and you're done.
You can, of course, also take a C struct and call the whole thing a
chunk or whatever, but that's beside the point. In Java, you have inner
classes, which make writing in a functional style verbose and ugly,
but quite straight-forward. Heck, you can even use reflection to only
allow non-sideeffect stuff.
Any sufficiently restricted subset of any high-level assembler is an
awkward implementation of your favourite declarative language.
--
(c) this sig last receiving data processing entity. Inspect headers for
past copyright information. All rights reserved. Unauthorised copying,
hiring, renting, public performance and/or broadcasting of this
signature prohibited.
More information about the Haskell-Cafe
mailing list