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

[REBOL] Parsing comment

From: jason:cunliffe:verizon at: 23-Sep-2002 0:03

Today I read a comment about REBOL which I don't understand. I am NOT seeking to start a language flamewar. Just curious and hoping someone here can explain more about parsers. I barely know how to use REBOL's parse, but I like what I know about it, and it has a strong reputation in these waters.
> On Rebol (which to my ears rhymes more with Cobol than with rebel :-), > I've not looked much at it personally, but I trust a close colleague > who has, and who finds it hard to use because the parser cannot know > the end of a function's parameter list -- that's only known at run > time, once the function is called. Sounds like dead on arrival to me, > as far as language design goes. So if we want to learn from Rebol, we > must try to learn from other ideas in it, not from the core language > design.
The context behind this is I have been engaged in a some intense debate on the Python-oriented Edu-Sig list. I love Python, but tried point out the obstacles I think it presents to very novice programmers. I mentioned REBOL, giving a contrasting example of how direct and friendly REBOL's help command is. Mainly because it includes a search function. Simple idea, but incedibly friendly effective result. My scenarios was of novice python student trying to determine the current working directory. "Where am I?"
>> ? d >> ? dir >> ? what-dir
Python by contrast is great for hackers, and should be great for students. It has all kinds of super-duper tools a for browsing docstrings, and object introspection, but it can be initially overwhelming or useless, until you know exactly what to type, you can find yourself a few screenfulls later before your get the golden answers. In Python to answer the question "where am I?" you have import a module, then invoke one of its methods. Very Easy when you know how, but obscure as hell when you don't:
>>> import os >>> os.getcwd()
'C:\\Python22' Thanks ./Jason