Richard

> Richard Gaskin <ambassa...@fourthworld.com> wrote:
> 
> I've not used Rebol, but have read much of its documentation at various 
> points over the years.  Carl Sassenrath is an interesting thinker, and his 
> language reflects some very unusual and intriguing concepts.
> 
> Aside from MetaCard I've seen almost no other scripting language but Rebol 
> that wholeheartedly embraced the concept of delivering applications over the 
> wire.

Sadly it seems that the World was not ready at the time for a way to painlessly 
distribute both apps and data over what would now be considered very thin 
wires. Current App Stores and Web Push Notifications offer little more than the 
Rebol/View desktop and the even more advanced (IOS) Internet Operating System 
did more than ten years ago. The have a better looking interface and they can 
collect money. Probably nothing that couldn’t have been quite easily added to 
IOS. If only Carl had found a partner whose marketing prowess was the equal of 
his technical prowess.

Over the years, Rebol has become a general purpose development tool and its 
network roots have withered. I see a comparison with LiveCode which has grown 
into a general purpose development tool from its multimedia roots.

> Way back in the day I imagined I might have enough time to flesh out some 
> Rebol-like concepts in what was then called "Revolution", but this was as far 
> as I had time to go:
> 
>   go url "http://fourthworld.net/channels/Revel.rev”

A very realistic impersonation.
> 
> Underneath that would be a lightweight syntax for describing objects similar 
> to Rebol's auto-layout capabilities.  I made just enough of it to allow 
> sparse descriptions of objects and have them created on the fly in somewhat 
> reasonable locations, but never had the time to take it as far as Rebol did.  
> And like too many other things on my hard drive, without an immediate need 
> for using it in actual work, I can't say I have any plans to get back to it. 
> :)
> 
> I'd be interested in your opinion on Rebol dialects:
> <http://www.rebol.com/rebolsteps.html#section-10>
> 
> They seem a key feature of the language, an opportunity to create 
> domain-specific languages from the core Rebol language.
> 
> In this regard it seems a similar set of goals to the proposed Open Language 
> initiative for LiveCode.  Not directly the same, but similar in the way that 
> many of Python's design goals almost perfectly parallel LiveCode's design 
> goals, even though the expression of those goals has taken very different 
> forms.
> 
> Do you have any thoughts on the strengths or weaknesses of Rebol's approach 
> vs LiveCode's for creating domain-specific dialects?

I believe Rebol (and what I see as it’s successor Red) has two significant 
advantages over LiveCode for writing domain-specific dialects., 

The first is that in Rebol values (not variables) are strictly typed. Values 
must be loaded in Rebol, once loaded a value is typed (e.g. integer). An 
integer can only be treated as a integer, there is no typecasting mechanism. As 
I understand, LiveCode has very few types, mainly everything is a string except 
for arrays and (maybe) objects. (I say maybe as my knowledge of LiveCode is 
insufficient in the area of how Objects are stored.)

The second is Rebol’s parse function which operates on loaded data and can 
match on both data and datatype. This is a huge advantage in writing domain 
specific dialects. (Parse also operates on strings and can do 99% of what can 
be done with regex, and a lot more, legibly and comprehensively).

> >> To be fair '?' poses less of a problem in this regard than '.' - in
> >> terms of limiting future options that have been discussed at length
> >> in the past ;)
> >
> > I was surprised to read this as I started using this convention when
> > one of the LiveCode team commented on somebody’s code that used the
> > same convention and said “some people in the office have started
> > using it”. Of course, I can no longer find the comment.  If you think
> > it is an unwise convention to use to avoid name clashes, I will adopt
> > another one. Any suggestions as to a good approach/
> 
> A lot of xTalkers express Boolean functions with something list "Is*", e.g.  
> "if IsList() then…".

Thanks for that suggestion. I might switch to IsList rather than List? etc. It 
would seem better to use an xTalk convention than a “foreign” one.

Kind regards

Peter


_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to