r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[Dialects] Questions about how to create dialects

Fork
27-Jun-2010
[640x2]
Despite it being the very foundation of something they all know -- 
Firefox.
In my opinion, Rebol is a more significant and interesting technical 
artifact than Mozilla.  Bear in mind I have a lot of context, so 
I'm not saying it's the greatest technology ever, I'm just going 
to say that on many axes it is essentially the best in its class 
that we know of.
BrianH
27-Jun-2010
[642]
Actually, they called it Firebird, and we saw what happened: They 
had to change the name again to Firefox :)
Fork
27-Jun-2010
[643]
:)  I skipped a step.
BrianH
27-Jun-2010
[644]
One interesting related trick: The EXPORT keyword in R3 modules is 
done with a similar preprocessor in the MAKE-MODULE function. Just 
a few lines, and it works like magic :)
Fork
27-Jun-2010
[645]
Bringing it back to dialects, I am serious with the Rebmu thing. 
 I'm fully aware it *looks* like a joke but it is not.
Rebolek
27-Jun-2010
[646]
Wasn't the first name Phoenix?
Fork
27-Jun-2010
[647x2]
I'm not compressing random digits here, I'm trying to make a domain 
demo of a domain that people are (for reasons better or worse) rather 
interested in.
And it pains me to read some of these code golf solutions, I know 
that as with the connect-the-dots I can beat perl and still write 
coherent code.
BrianH
27-Jun-2010
[649]
That's why I like the idea of unrebmu as an implementation strategy 
- it makes for a more impressive demo :)
Fork
27-Jun-2010
[650x6]
You guys can do better, you know the language better.  I only just 
learned "Any" and "All".  I know the gist of Rebol but I've clocked 
not too many hours with it, this Rebmu thing is the most time I've 
ever spent with it to be honest.
I probably spent less than a week on that Rubol thing, which I think 
isn't a bad idea either: http://hostilefork.com/rubol/
I spent not only time, but money paying some guy to 3D render this 
darn logo: http://www.rebol.net/wiki/REBOL_logo
As well as experimenting with making the thing out of clay: http://hostilefork.com/shared/rebol/clayrebol_idea.jpg
As per Jerry Maguire... "Help me, help you!"  :)
Moving to chat.
Reichart
30-Jun-2010
[656x2]
You do need some award for the Clay one.  And the WHOLE photo is 
simply cool unto itself...
You do need some award for the Clay one.  And the WHOLE photo is 
simply cool unto itself...
gcaplan
13-Jan-2011
[658]
I've a notion to build a business rules parser in Rebol. But as a 
self-taught hacker with no background in computer science, I'd welcome 
any advice on flattening the learning curve. The docs cover the low 
level parsing details well enough, but I'm looking for enlightenment 
on the higher level issues involved in designing a little domain 
level language. Given that Carl is pushing Dialects as the Big Idea 
in Rebol, it's surprisingly difficult to find much on the topic in 
the Rebol community. Or am I missing something? I'd welcome any Rebol 
specific or generic resources to help me get up to speed on the whole 
DSL thing...
Henrik
13-Jan-2011
[659]
I agree mostly. I would like to see some generic parse rules built 
into REBOL for general use.
Ladislav
13-Jan-2011
[660]
geoff, did you read 


http://en.wikibooks.org/wiki/REBOL_Programming/Language_Features/Parse/Parse_expressions

, or some other topics in the book?
gcaplan
13-Jan-2011
[661]
As I say, the book is fine on the low-level details - it's the higher 
level issues of designing an effective and usable dialect that I'm 
hoping to explore
Ladislav
13-Jan-2011
[662]
For me, it is usually more difficult to design a meaningful dialect, 
than to parse it.
gcaplan
13-Jan-2011
[663]
That's my point, I think. As I'm starting from scratch, I'm looking 
for principles, examples - anything that would help me get up to 
speed...
Ladislav
13-Jan-2011
[664]
Examples are the available dialects.
gcaplan
13-Jan-2011
[665]
The thing that's interesting about business rules is the need to 
mix declaratory configuration with some functional-style code. So 
you end up with chains of reasoning involving a mix of data and code. 
Which is why I though Rebol might be a good way to go.
GrahamC
13-Jan-2011
[666]
I suggest you think about what you want to do .. write it out as 
sentences and then refine them
gcaplan
13-Jan-2011
[667x2]
I guess I should take a look, at the existing dialects, but they're 
a bit intimidating for a newbie. What would you suggest as Best of 
Breed examples? Something not too huge, for preference.
Graham - simple and practical - just the kind of thing I'm looking 
for
GrahamC
13-Jan-2011
[669x3]
Did you look at Carl's examples?
Also I think the forth dialect examples would also be quite good
VID as an example is probably too intimidating
gcaplan
13-Jan-2011
[672x2]
Where are Carl's examples - you mean the stuff in the overview? It's 
pretty minimal. If there's something I've missed I'd appreciate a 
link
Also, where is the forth dialect - not coming up on Google...
GrahamC
13-Jan-2011
[674x2]
forth is a language ...  which also specialises in creating domain 
specific languages
It is used in robotics, control systems ( originally astronomy, telescopes 
)
gcaplan
13-Jan-2011
[676]
Ah - I see what you mean. Thought that you meant that someone has 
implemented a Forth like dialect in Rebo.
Steeve
13-Jan-2011
[677]
A Dialect is not  related with specific coding  practices. You can 
use parsing or not.
It's just an interface. You should read the theory to begin with.
Maxim
13-Jan-2011
[678]
funny that most dialect start small then grow quickly, so there probably 
aren't a lot of smalish dialects around.
GrahamC
13-Jan-2011
[679x2]
I think ASM dialects have been written ...
Gregg has a LOGO dialect I think ...
Maxim
13-Jan-2011
[681]
there is an exensive BASIC interpreter dialect, but that's also quite 
large as a learning curve.
gcaplan
13-Jan-2011
[682]
I like Graham's idea of writing out the sentences - something to 
tangible to start from. I'm familiar with the idea from relational 
data design.
GrahamC
13-Jan-2011
[683x2]
Also, there's one on reboforces.com on a screen control dialect
there's a SQL dialect too
Maxim
13-Jan-2011
[685]
the way I approach dialects ususally is very similar to describing 
"ideas" using real language.
Steeve
13-Jan-2011
[686]
A dialect is an interface to hide code complexity. It's only that.
Maxim
13-Jan-2011
[687]
one key thing to explore is to use the full arsenal of datatypes 
at your disposal.  some of the more obscure datatypes are VERY usefull 
in dialects.    types like  tag!  issue!   are rarely used in rebol, 
but are very usefull as variations on strings in order to classify 
them as different types of stings.
gcaplan
13-Jan-2011
[688x2]
Screen control sounds good - not too big or wooly - I'll take a look. 
SQL would be directly relevant to my project, so I'll definitely 
dig that one out. Do you mean SQL-PROTOCOL or is there something 
more recent?
Maxim - thanks for the tip on the datattypes - the kind of in-the-trenches 
technique that a newbie like me would overlook.