Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[REBOL] Re: Private/Public attributes

From: jan:skibinski:sympatico:ca at: 16-Nov-2002 22:44

Hi Joel,
> First, Jan, thanks for the thought-provoking posts! Much to ponder > in your notes!
There is much more about it + included example with discussion in my Haskell Companion - ref: Wayback Machine.
> (OBTW, off-topic, is there some reason you chose -+ instead of -> > in your type analysis routines? Just curious...)
As I already explained, this is a poor man imitation of -> due to Rebol's resistance to accept it. Gabriele suggested using the Issue #-->.
> This sounds like an interesting direction for more work, but I > must say I'm sympathetic toward Joel Spolsky's (no relation ;-) > > Law of Leak Abstractions > > http://www.joelonsoftware.com/articles/LeakyAbstractions.html > > which seems to be true for most languages and systems of which I'm > aware (including REBOL, apropos the public/private discussion). >
No doubt about it. The weakest link problems! But the existential quantification stuff has nothing to do with real life failures that Spolsky concentrates on. EQ computing model fits extremelly well to the Haskell computing model: everything is safe as long as you stick to purely functional part of it (an provided that you are careful to bail out on overflows). Anything IO related is potentially dirty. Reading from disk, creating random numbers*, checking the clock - none of this can be passed to pure functions. But IO functions, including the Main, can call pure functions as often as they want to. Regards, Jan (*) Yes, yes - a call to a random number generator is not considered referentially transparent, because pure functions suppose to return the same results anytime you call them with the same arguments.