World: r3wp
[Rebol School] Rebol School
older newer | first last |
denismx 4-Apr-2006 [75x2] | No JaimeVargas. I teach programming to beginners (18 year old and +) in Science. I teach C++. A long time ago, I was a programmer: Cobol, RGP, assembler on the IBM 370. |
Oh, and Fortran also. | |
Anton 4-Apr-2006 [77] | Denis, I am not sure there is a shortcut to learning the philosophy or way of any language. A person simply has to read and write in that language a lot before the way is realised. Having said that, Carl Sassenrath wrote a long time ago a ten-point summary of rebol, which, being so short, had to be more philosophical, I think. Now to remember where that might be... |
denismx 4-Apr-2006 [78] | But, my skills are getting rusty. |
[unknown: 9] 4-Apr-2006 [79] | For example: Find | Select | Pick | First | Second | Third | Forth | Fifth | and Sixth are all really the same command: If you picture a master command with lots of settings (refinements) and even some conditional code (if refinement set, do x). |
JaimeVargas 4-Apr-2006 [80] | Ok. So moslty imperative programming languages. To get the gist of rebol I think you need to study a bit of the functional approach. |
Anton 4-Apr-2006 [81] | But, ok, you are looking for good resources. Fair enough. |
denismx 4-Apr-2006 [82x2] | Anton, when you teach languages, you HAVE TO find the best way to do it. And there ARE bad ways... |
well, I know and have written small programs in Prolog too. | |
[unknown: 9] 4-Apr-2006 [84] | All languages are a giant state machine, as matter of fact all computing is. The basic op is NAND. ;-) True, in a Turning sort of way. But I think Rebol is more so that C for example, where variables are forgotten, and functions tend not to have memory. |
denismx 4-Apr-2006 [85] | (Turing) |
[unknown: 9] 4-Apr-2006 [86] | Sorry, Word nailed me with autospell. |
JaimeVargas 4-Apr-2006 [87] | I will recommend you read the PLT book, or the CTM Book. This introduce a lot of the concepts present in rebol, and you can get a sense on how to programm with series (lists), how to use func are as natural as integers, and how to drive your programs around the data structures, and not around the memory management. |
Anton 4-Apr-2006 [88] | Well, I was just saying that because I think rebol has turned out quite wordy, and evolving fast, so it's more like a natural language. The core natives, actions and ops are evolving more slowly than the mezzanine functions, though. |
JaimeVargas 4-Apr-2006 [89x2] | Important concepts in rebol: |
There is not variables, there are just values, and symbols associated with the values. | |
Anton 4-Apr-2006 [91] | So one aspect you can teach is the difference between op!s action!s and native!s vs function!s. |
denismx 4-Apr-2006 [92x2] | Ok Jaime. Not sure what PLT and CTM stand for though... Core Training Manual? |
Yes, strange concept: variables != symbols | |
JaimeVargas 4-Apr-2006 [94] | The values are typed, but you don't need to declare its type. The type is recognized at parsing time by the literal representation of the value, ie: 1 is integer!, #"a" is a char!, "hello" is a string!, 1x1 is pair!, 1.1.1.2 is tuple! (not a struct!), etc. |
eFishAnt 4-Apr-2006 [95] | very Logo like, Dennis |
denismx 4-Apr-2006 [96] | Hum, Logo like Rebol... yes, maybe. I see the similarity. But why is Logo so much easier to learn? I will think about that. |
JaimeVargas 4-Apr-2006 [97x2] | PLT Book == http://www.htdp.org/ |
CTM Book == http://www.info.ucl.ac.be/~pvr/ | |
denismx 4-Apr-2006 [99] | the one on htdp doesn't seem to be about Rebol...? |
Anton 4-Apr-2006 [100] | Carl Sassenrath said that the heart of rebol is in denotational semantics. So I went and started reading http://www.cis.ksu.edu/~schmidt/text/densem.html and it is true, you can see and understand the roots of rebol better afterwards. |
denismx 4-Apr-2006 [101] | DrScheme? |
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. |
older newer | first last |