big vague question: OO in FP.

This is a discussion on big vague question: OO in FP. within the Functional forums in Programming Languages category; hi, Cf. Felleisen's "functional objects" in Scheme and things like OO in Object-Gopher using monads, it seems like there are a few different ways one could go about implementing OO concepts/principles (the definition of which are probably debatable at times, but whatever) in pure FP. So I wonder if there are guidelines / experiences / rules of thumb about how those different approaches don't/behave - any thoughts? (e.g. does using a monad vs. not using a monad but rather than mutating doing copy-on-write or whatever and just freely generating lots of garbage, does that result in some significant performance difference? ...

Go Back   Application Development Forum > Programming Languages > Functional

Object Mix

Register FAQ Calendar Search Today's Posts Mark Forums Read
  #1  
Old 08-20-2008, 01:34 PM
raould
Guest
 
Default big vague question: OO in FP.

hi,

Cf. Felleisen's "functional objects" in Scheme and things like OO in
Object-Gopher using monads, it seems like there are a few different
ways one could go about implementing OO concepts/principles (the
definition of which are probably debatable at times, but whatever) in
pure FP. So I wonder if there are guidelines / experiences / rules of
thumb about how those different approaches don't/behave - any
thoughts?

(e.g. does using a monad vs. not using a monad but rather than
mutating doing copy-on-write or whatever and just freely generating
lots of garbage, does that result in some significant performance
difference? but then the flip side might be that the non-monadic
approach is easier to work with in the code itself because you don't
have to carry the monad around every-bloody-where?)

appreciated.
Reply With Quote
  #2  
Old 08-20-2008, 01:58 PM
raould
Guest
 
Default Re: big vague question: OO in FP.

uh, and, i see there are several different implementations of OO in
various FPs, perhaps sort of like there are unfortunately various
versions of classes in javascript. any opinions on which
implementations are the most 'common' for Scheme or MLs? presumably it
would be obviously CLOS for Lisp. i'm guessing it would be something
out of the PLT group for Scheme. and i guess it would be O'Caml for
MLs. and i guess it would be something with monads for Haskell.

but i then wonder how well those relate to the theory espoused in
things like Felleisen's talk, or the OO-Gopher monadic approach. like,
just because Java does OO doesn't mean it is the best way to do OO, so
just because O'Caml has a default approach to OO doesn't mean it is
the best way to do OO.

which brings one back to trying to define what OO should be, actually.
which goes to the quotes Felleisen quotes i.e. reducing and then
eliminating the use of assignment.

</ramble>
Reply With Quote
  #3  
Old 08-23-2008, 07:07 PM
ssecorp
Guest
 
Default Re: big vague question: OO in FP.

You might want to check this out:

http://www.cs.chalmers.se/~nordland/ohaskell/
Reply With Quote
  #4  
Old 08-25-2008, 09:07 PM
raould
Guest
 
Default Re: big vague question: OO in FP.

> http://www.cs.chalmers.se/~nordland/ohaskell/

thanks, i'll (re-)read that :-) looks like a monadic-oo, like the
gopher thing.
Reply With Quote
Reply


Thread Tools
Display Modes


All times are GMT -5. The time now is 09:58 PM.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
vB Ad Management by =RedTyger=

In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.