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

World: r3wp

[Rebol School] Rebol School

eFishAnt
4-Apr-2006
[102]
The part of Logo that works is turtle graphics in Draw.   Students 
get quick results.  So they experiement and learn.  See Gregg's Logo 
talk...where REBOL needs more "turtles"
[unknown: 9]
4-Apr-2006
[103]
It would be cool to build a sort of proto-tree.  So you can see where 
in the tree a word is related.

I created a graphic language that effectively had two commands:

Draw: at an xy point and
Circle: which had center coordinates, radius, angle and divisor.

The angle and devisor allowed you to pull an interesting trick.  


So to make a square, you simply called it with a divisor of 4.  this 
would build a string (block) with 4 pairs.  If you wanted a diamond, 
set the angle to 45.
 
You then passed the string to draw.


This may seem like a weird way to do this, but it was perfect for 
a real time rending system that was interactive.  We use this in 
a draw program like Flash.
JaimeVargas
4-Apr-2006
[104x3]
Now another concept is that you can make those symbols designate 
 any value at any time. So 1 + 1 == 2 or a: 1 a + 1 == 2
So symbols can take place for values, in standard funcs.
BTW, The interpreter transform the infix form into a prefix form: 
1 + 1 is really + 1 1
eFishAnt
4-Apr-2006
[107]
Anton, Josh and I are planning to visit KSU very soon, what a cooincidence...to 
teach them how to teach using Predictive CognitionTM.
Anton
4-Apr-2006
[108]
Forward thinking
, you mean ?
[unknown: 9]
4-Apr-2006
[109]
I missed the KSU....is that Kansas, or Kennesaw??
eFishAnt
4-Apr-2006
[110]
Kansas State University.
JaimeVargas
4-Apr-2006
[111]
Another concepts is that a symbos (kinow in rebol as a word) can 
have found different forms.
denismx
4-Apr-2006
[112x2]
downloaded the text on denotational semantics, Anton. Interesting.
keep on Jaime. Reading...
JaimeVargas
4-Apr-2006
[114]
MY-WORD  is a symbol and get evualted to the value inmediately.
Pekr
4-Apr-2006
[115]
interesting talk - why this group is not web-public? :-)
Anton
4-Apr-2006
[116]
Yeah, it's great. I didn't know much about densem before.
JaimeVargas
4-Apr-2006
[117x2]
MY-WORD: (notice the colon) is the what is used to bind a word (kind 
of a C assignment)
:MY-WORD (notice the colon again) is the another way to access the 
value imagine it to be get the value, it is useful to get values 
that will cause evaulation like functions.
denismx
4-Apr-2006
[119]
Difference between symbol and variable: A symbol can be of any type 
and does not get declared. Period. Is that correct?
JaimeVargas
4-Apr-2006
[120]
Correct.
denismx
4-Apr-2006
[121x2]
:word word:  Like pointers.
Are they pointers?
JaimeVargas
4-Apr-2006
[123]
Rebol  is strongly typed dynamic language. While C is strongly typed 
static language (types are declared).
[unknown: 9]
4-Apr-2006
[124]
Note: I mentioned the Draw Circle thing, it may have seemed out of 
contect…but I was thinking about the fact that about two dozen commands 
were generated from just these two in terms of proto.
JaimeVargas
4-Apr-2006
[125x2]
There are not pointers in Rebol they are not necessary.
So all no pointer math here.
Anton
4-Apr-2006
[127]
I think Jaime is trying to speak more in the terminology you understand 
from other languages, but by "symbol" he really should say "word!".
JaimeVargas
4-Apr-2006
[128]
The interpreter does the memory management for you.
denismx
4-Apr-2006
[129x2]
Reichart, you are working on defining the paradigm of the language. 
I think that is the right direction to follow to generate a faster 
learning map of Rebol.
No pointer math, like in Java. But maybe they are pointers anyway, 
of similar.
Anton
4-Apr-2006
[131]
Words usually automatically "decay" (in rebol terminology they "reduce") 
to their associated value (if they have one).
denismx
4-Apr-2006
[132]
Ok, Anton, word is the word :-)
JaimeVargas
4-Apr-2006
[133]
On last form is 'MY-WORD (Notice the single quote) it is a way to 
way to 'quote' a symbol this is useful when doing DATA as CODE. Another 
major concept in rebol.
Anton
4-Apr-2006
[134]
If that value is a "hot" one (like a function!) then the get-word 
syntax  (:word)  will prevent the evaluation whilst still allowing 
you to get the value.
denismx
4-Apr-2006
[135]
And the idea of a graph giving the family tree of the language is 
terrific.
JaimeVargas
4-Apr-2006
[136]
That is in rebol the data remains data until it is interpreted. It 
is not transform into some bytecode or something else it is just 
data.
eFishAnt
4-Apr-2006
[137]
you can always probe system
denismx
4-Apr-2006
[138]
Yes Jaime, what you are explaining is indeed a fundamental concept 
in Rebol. And one that has to be mastered early.
JaimeVargas
4-Apr-2006
[139x2]
denismx regarding the books I mention even though they are not about 
rebol. They introduce a lot fo the concepts of Rebol.
Rebol is a decendant of Lisp the first functional programming language. 
So understanding this it will help you get the gist of rebol.
denismx
4-Apr-2006
[141x2]
I see. Hum... but that would add up another language to the too many 
I have in my head now :-)
I'm starting to mix them up sometimes. Not good in class! :-))
Anton
4-Apr-2006
[143]
Yes, if we have a word set to a value like this:
	word: 123
then there is a series of possible "reductions" possible:
	'word  ->  word  ->  123

Likewise for a function:
	word: func [][print "hello"]
The reductions:

 'word  ->  :word (gives unevaluated function)  ->  word (evaluates 
 the function to print "hello")
eFishAnt
4-Apr-2006
[144]
>> source send   ;you can get the source code of a function by using 
the source command.  Documentation is built-in.
[unknown: 9]
4-Apr-2006
[145]
One very small but interesting thing about Rebol that makes it different 
than almost 20 languages I can think of………..that is that it helps 
to learn Rebol like you would a spoken language in sentences, not 
words.
JaimeVargas
4-Apr-2006
[146]
An alternative is to learn denotational semantics, or lambda calculi, 
but this is only useful to CS major trying to proof properties of 
a language, it doesn't help build the intuitions of the language. 
But I will not discourage to go that route if you please.
denismx
4-Apr-2006
[147]
I start writing code in C while talking, and suddenly I'm writin 
Pascal... !!!
[unknown: 9]
4-Apr-2006
[148]
Yup!
Pekr
4-Apr-2006
[149]
:-)
Anton
4-Apr-2006
[150]
Oh man, have you ever done any web development ?
[unknown: 9]
4-Apr-2006
[151]
LOL