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

World: r3wp

[Rebol School] Rebol School

Ladislav
12-Jul-2011
[3675]
So, you are saying, that, for you to be able to drive a car you need 
to know how the steering wheel is connected to the wheels, and that 
you lose the ability to steer a car once the steering wheel is connected 
"by wire"?
Andreas
12-Jul-2011
[3676]
Henrik, I think here's your "internals" documentation:


http://en.wikipedia.org/wiki/Parsing_expression_grammar#Definition


(Esp. skip ahead to the "Operational interpretation of parsing expressions" 
section.) It's linked to from the "Parse" documentation Ladislav 
gave above.
Henrik
12-Jul-2011
[3677]
No, I don't lose the ability. I just get a much better impression 
of it. It doesn't matter how it's connected, but if you know how, 
it's much easier to figure out the rest.
Ladislav
12-Jul-2011
[3678x2]
The above "by wire" example is a typical case when you do not know 
how the wheels are connected (will be connected in your future car). 
Do you know it for your future car?
Of course not, and it does not make sense to even try to know.
Henrik
12-Jul-2011
[3680x2]
I'm not sure what relevance that has.
If you are an airline pilot, you are probably fairly interested in 
learning how your plane works.
Ladislav
12-Jul-2011
[3682]
Car driving is what you choose as a relevant example, so why you 
are asking me?
Henrik
12-Jul-2011
[3683]
If the airplane maker says "I can't tell you that, it's secret" you 
have no way of learning how to solve a problem that is caused by 
the design of the airplane.
Ladislav
12-Jul-2011
[3684]
THat is improper, the honest way would be to admit, that pilots trained 
on older airplanes *are* qualified to drive "by wire" airplanes.
Henrik
12-Jul-2011
[3685x2]
Yet, most accidents occur, because of insufficient knowledge on the 
internals of the airplane. It doesn't matter what the design is.
Anyway, this leads nowhere. Back to work.
Maxim
12-Jul-2011
[3687]
what is missing is a 100 page book on the subject.  not a reference, 
but a guide to parsing.  In fact what I often feel is missing is 
a reference that outlines not how PARSE commands work, but the different 
typical parsing constructs themselves.


its like explaining algebra as opposed to maths.  they are both fundamentally 
similar, only that algebra has a lot of non-obvious tricks like substitution 
and reduction which can be done.   these things have to be shown 
(usually) to even be noticed, let alone understood.


in a sense, when people start out with parse, they understand the 
concept of matchin a pattern, they just don't undertand how to break 
up and analyse a PARSE pattern, there doesn't seem to be much docs 
in the way of identifiying common PARSE structures, for real world 
patterns.


where are the pattern types listed?... we don't really know them, 
in relation to PARSE, there are no types of pattern we can say apply 
this technique to that pattern.


that is what makes learning PARSE complicated, the *structure* of 
the parse rule is the hidden knowledge which newbies don't "see". 

we can't just say: here is the "recipe" to solve a "quadratic formula"... 
 


There could be a site which has hundreds/thousands of PARSE examples, 
documents, and active forums, just like there are for regexp, this 
is how rich PARSE is... but alas there is not.
Gerard
12-Jul-2011
[3688x3]
I think the same about every different aspect of REBOL for newbies. 
this is what misses from the actual doc. 


When we limit ourselves to use REBOL as another procedural orand 
 functional language, it's relatively easy to master but when we 
have to delve more deeply into other aspects which would require 
more tools - or a more precedently acquired deepness about languages 
internals (kike globals storage allocastion and representation vs 
local ones in contexts and functions for example or even the bind 
mechanism - then there is some missing parts.


And I agree, this is the same for Parse and the way constructs have 
to be thought to eventually become a master  at creating new patterns 
easily - not mimicing others without learning (this is the first 
step nevertheless - whatever we are using which is new and we never 
met before ) ... 


Carl already resolved some part of this challenge with his Cookbook 
and How-to guides but more material needs to be covered and parse 
fits this need ... 


Not to formal and not too informal is the rule and the way to go 
from my POV.  : )
I think this is why one of his last Blog's post asked for some PARSE 
idioms - but not a lot were submitted - this could be a real starter 
to help him put new docs online - when he will find some time after 
R3 is beta released ...


But the best time to have new ideas is when we modify something and 
since PARSE has been modified, then may be some nimimal doc in between 
could be released to start many of us in the right direction ...
May be just extracting some parse rules from older work already running 
well would help us - at least pointing the material to us with some 
nice comments about what has been done (but often the problem domain 
and all is needed to solve it causes some noise preventing learnerd 
to distinguish the trees from the forest ... 

This is how most of us learned as far as now, isn't it ? ;-)
Maxim
12-Jul-2011
[3691x2]
yeah, I think for now, just having a dedicated rebol-parsing site 
which tries to market itself independently of REBOL would be nice. 
  by independently, I mean that its content is valuable enough that 
it attracts new users to REBOL.


REBOL parsing is still one of still most powerfull feature and a 
lot of techies out there would use it if they new it existed.
... still one of *its* most powerfull ...
james_nak
12-Jul-2011
[3693]
This was a great discussion on an important topic. When I look at 
the participant's names and think, man, if you guys think it's hard, 
just think what it is for the regular person. :-) Last week I wrote 
a simple x-10 dialect and used the info from reboltutorial to get 
me started and I often go back to www.codeconscious.com/rebol/parse-tutorial.html 
 for Brett's "sort of" parse tutorial. But you're right, to get answers 
to "why" something doesn't work would be helpful. It may seem obvious 
to Ladislav, but my friend I know you are a genius. I remember your 
presentation at the first devcon and wondering, "What in the world 
did that guy say?"
Maxim
12-Jul-2011
[3694]
yeah, All of Brett's pages are awesome.
james_nak
12-Jul-2011
[3695]
In a way, they have been the standard for a lot of my inquiries. 
I think it's because I personally learn best by example. I know some, 
if not most of you can actually figure things out given some information. 
It seems so logical, and it is.
Maxim
12-Jul-2011
[3696]
it took me years before I decided to tackle a real PARSE problem. 
 it was painfull to learn, but once its done, I realized that PARSEing 
is actually quite easy.  much moreso than regexp at least.
Ladislav
12-Jul-2011
[3697x2]
words, wishes...


Did you contribute to the above mentioned dedicated RT-independent 
rebol-parsing compendium?
(that was meant especially for Max, as a question)
Maxim
12-Jul-2011
[3699]
no, and my comments where not wishes or critiscism, they where just 
an observation.   for newbies, this is what is mostly missing, that's 
all.


I'm pretty good at parsing nowadays, but I have 0%time to write docs.
Ladislav
12-Jul-2011
[3700x2]
Then why do you even suggest (together with Henrik, to be fair), 
that there is no "RT-independent REBOL parsing compendium"?
My understanding is, that you did not bother to read it exactly like 
Henrik, while feeling knowledgeable enough to criticize its contents...
BrianH
12-Jul-2011
[3702]
Holding out for a real book, Maxim?
Henrik
12-Jul-2011
[3703]
And Ladislav still fails to understand why this is not a good way 
to learn PARSE. (ok, back to work)
Ladislav
12-Jul-2011
[3704x4]
How come you don't even know it contains lots of parsing examples?
For Henrik, the best way to learn Parse is to read the source code 
of the PARSE function. I have got a surprise for you. None of:


general formal grammars, BNF, regular expressions, TDPL, PEGs, etc... 


are taught by showing source code of some implementation and telling 
the user to learn the respective system from it
Such an approach would be unreasonable for the majority of the people.
Moreover, BNFs, general formal grammars, etc... are actually systems 
that are meant to be usable for humans as well (at least mostly), 
in which case there is no implementation you could show to other 
people. (somebody wanting to show an x-ray picture of a human brain, 
or what???)
BrianH
12-Jul-2011
[3708]
There is no general best way to teach parsing. Most people (if you 
include non-programmers) won't be able to learn it with any method. 
For the people who can learn it, different methods are more effective 
for different people. For some people, reading the source is the 
best method. For most others it isn't. Teaching hard subjects is 
hard.
Maxim
12-Jul-2011
[3709]
yep.
Geomol
12-Jul-2011
[3710]
I agree. Late studies in learning show, some children learn by doing, 
some need to hear it explained, some can learn by reading, some need 
to do something physical while learning, etc. I guess, it's the same 
with adults.
BrianH
12-Jul-2011
[3711x2]
I worked on a project that failed because it depended on teaching 
parsing to unskilled data entry people - not my idea, and I couldn't 
explain to the people in charge why it was a bad one, because even 
teaching that was hard. It would be great if it were otherwise.
Actually, it depended on unskilled data entry people being able to 
write parse specs without being taught - even worse.
Geomol
12-Jul-2011
[3713]
I couldn't explain to the people in charge why it was a bad one


Many people in charge isn't well positioned for their job. And they're 
often very hard to fire.
Maxim
12-Jul-2011
[3714x2]
yeah, its probably deeply rooted into how skill someone is at perceptions 
of different types.  


its like trying to dance with an arythmic person... they just can't 
do it even if they love the music!
(last comment related to Geomol's comment on learning)
Steeve
12-Jul-2011
[3716]
- "You're unable to convince someone to change his mind with a logical 
argument, If that someone is wrong because of illogical ruling." 
I don't remember the exact citation
Maxim
12-Jul-2011
[3717]
shit it - shit out   ;-)
Steeve
12-Jul-2011
[3718]
Sorry I should have say "parameter" instead of "argument"
Or maybe not ;-)
Maxim
12-Jul-2011
[3719x2]
(as opposed to   shit in - shit out     hehe that wasn't a typo... 
it might have been too subtle)
are you mixing up groups?
Steeve
12-Jul-2011
[3721x2]
lol
I was reacting to that one:
I couldn't explain to the people in charge why it was a bad one
Awi
10-Aug-2011
[3723]
Is there something like reform/with ["id" "name" "address" "city"] 
","
where there result will be "id,name, address,city" in rebol?
Awi
11-Aug-2011
[3724]
I've found a solution replace/all reform ["id" "name" "address" "city"] 
" " ","