[REBOL] Re: Is Rebol OO?
From: g:santilli:tiscalinet:it at: 12-Jan-2004 10:07
Hi Jason,
On Sunday, January 11, 2004, 10:56:22 PM, you wrote:
JC> I was not trolling. And I am certainly not against dialects. Simply stating
JC> the situation as I see it - rebol dialects really have not been tested and
JC> used my large numbers of people in complex apps, so we donlt know yet the
JC> deeper implications of using them.
How many scripts do you know that do NOT use any dialect?
JC> One issue of dialects has come up here, is that while they can lead to sweet
JC> short code, dialects are only as good as their documentation. Since one is
That applies to any language, or library/API, or class, or
whatever... I don't see it as a special disadvantage of dialects.
JC> Python is perhaps the most balanced language where write-ability JC> read-ability.
Python's named function arguments have much to do with this.
Personally I don't see any real advantage in "named function
arguments". That is, why don't you see people doing something
like:
nam-arg-func: func [spec code] [
use [spec' code'] [
code': code
spec': context spec
func [block] [
block: make spec' block
do bind/copy code' in block 'self
]
]
]
>> f: nam-arg-func [a: 1 b: 2] [a + b]
>> f []
== 3
>> f [a: 3]
== 5
>> f [a: 3 b: 5]
== 8
You can also have "default local" vars with a little variation,
nam-arg-func: func [spec code] [
use [spec' code'] [
code': code
spec': context spec
func [block] [
make make spec' block code'
]
]
]
It's almost a one liner...
JC> With rebol dialects, success is a tradeoff between readability,
JC> write-ability, documentation, name-space and learning curve. They're a great
JC> idea, but not been around long enough to know how to use them best, grasp
JC> the trade-offs.
The concept of domain specific languages is not that new. Giving
the power to use them to anyone is new, however. And of course if
you're not a language designer you're probably going to feel a
little lost. ;-) But anyone can become a language designer. :)
JC> I look forwards to seeing copies of O'Reilly latest: "Rebol Dialects in a
JC> Nutshell".
JC> Then we'll know they really arrived!
If you mean, how to implement a dialect, that's already easy
enough. If you mean, how to design it, well, won't ever be an
easy task
, as any other design problem.
Regards,
Gabriele.
--
Gabriele Santilli <[g--santilli--tiscalinet--it]> -- REBOL Programmer
Amiga Group Italia sez. L'Aquila --- SOON: http://www.rebol.it/