World: r3wp
[I'm new] Ask any question, and a helpful person will try to answer.
older newer | first last |
BrianH 29-Nov-2010 [3981] | It's that terminology bug all over again. Good point, and good article. |
Steeve 29-Nov-2010 [3982] | Well, about binding in Rebol, it's not that hard to understand. The context of any word is a hidden property. Meaning it can be changed at any time. |
Ladislav 29-Nov-2010 [3983x2] | It is very hard to find the best terminology to describe the properties (like "evaluation"), exactly because they differ from the common cases in other languages. |
yes to "The context of any word is a hidden property.", but "it can be changed at any time" is a bit complicated by the fact, that it is "immutable", meaning, that you create a new word with a different context, when you want it, instead of changing the original | |
Steeve 29-Nov-2010 [3985x5] | if its an internal (silent) reconstruction we don't bother. the behavior acts like a change. a: [obj] bind a context [obj: 1] do a == 1 From my point a view the serie A has bit been modified. |
*From my point a view the serie A has not been modified. | |
And the same word OBJ got a new context | |
Ladislav, I see your point, except it's not a problem from my point of view. ;-) | |
Probably we shoold invent new vocables. instead of "direct" binding like Brian said. I would say "space" binding. in the block: b: [ a a a a ] Each word 'A' may have different contexts. Beause they occupy diffenrt locations in "space" That"s all. :-) | |
BrianH 29-Nov-2010 [3990] | Funny :) |
Steeve 29-Nov-2010 [3991] | to go further. If we admit that words may change of context during time. Then, Rebol process "spacetime" binding |
BrianH 29-Nov-2010 [3992] | Strangely enough, they don't really change binding, they are replaced with new words of the same spelling and new binding. Words are immutable, like integers. That is what Ladislav was talking about. The functionality is great, but terminology that implies that words can change binding is not really true. |
Steeve 29-Nov-2010 [3993x3] | Yeah I see your point but I still can pretend. |
It's not a spacetime law violation | |
After new binding, Even if you say that the "cell" contains (hidden)pointers to different locations in memory. The cell himself remains at the same location in the block and has the same "public" name. So that I can say : the same "cell" in the same block with the same name has a different context. | |
BrianH 29-Nov-2010 [3996x3] | Yup. |
But the interesting thing is that the immutability of words makes BIND behave differently when passed a word (which it can't modify) versus a block (which it can). So when you bind a block, you aren't modifying the words in the block, you are modifying the block itself. This is an important distinction that we shouldn't gloss over because that tends to confuse newbies later. | |
that tends to confuse -> *glossing over the distinction* tends to confuse | |
Ladislav 29-Nov-2010 [3999] | Yes, the main problem is, that the "From my point a view the serie A has not been modified." will shoot you in the foot, as demonstrated in the bindology article |
Steeve 29-Nov-2010 [4000] | yes finally, maybe I raved too much :-) |
BrianH 29-Nov-2010 [4001] | We all reach our limits there too :) |
Ladislav 29-Nov-2010 [4002] | Therefore, the introduction of "modifies" comments is needed (and useful!) |
Steeve 29-Nov-2010 [4003x2] | Instead of spacetime modification, it's spacetime travel |
hefty... | |
BrianH 29-Nov-2010 [4005] | I used to use the term "applicative binding order" for REBOL's binding model, but later on Carl started calling it "definitional binding", which is a bit less descriptive but sounds better. |
Steeve 29-Nov-2010 [4006] | sounds better than spacetime travel ? |
BrianH 29-Nov-2010 [4007] | Sounds better than "applicative binding order". Time will tell if the increased explanation needed will be outweighed by having a cooler term. |
Ladislav 29-Nov-2010 [4008] | I am a fan of the "definitional binding", since it is short enough (just two words, i.e. the same length as alternatives, like "dynamic binding" or "lexical scoping"), as well as different enough from the alternatives |
BrianH 29-Nov-2010 [4009] | It is cooler, yes :) |
Steeve 29-Nov-2010 [4010x2] | but what does that mean exactly ? Definitional ? |
I mean, in that context :-) | |
Ladislav 29-Nov-2010 [4012] | I perceive it as referring to the fact, that e.g. the binding of the function locals is done when the function is defined. |
Steeve 29-Nov-2010 [4013] | It sounds weird in French |
Ladislav 29-Nov-2010 [4014] | (but that may be just my own interpretation) |
BrianH 29-Nov-2010 [4015] | When you know what it is referring to it sounds weird in English too. It means that bindings are set at function, object or module definition time (ignoring explicit binding). |
Steeve 29-Nov-2010 [4016] | It should underline that the programmer choose the moment when the binding is processed |
BrianH 29-Nov-2010 [4017] | Perhaps "redefinitonal binding" would be more accurate, but it doesn't sound as cool. |
Steeve 29-Nov-2010 [4018] | Undefinitional binding - meaning it's not bound until you define it |
Ladislav 29-Nov-2010 [4019] | ...but that is not true, in fact |
Steeve 29-Nov-2010 [4020] | yeah there is a default binding during the loading,; I forgot... |
Ladislav 29-Nov-2010 [4021] | yes, that is the problem, as well, as the problem of a function inside a function, etc. |
BrianH 29-Nov-2010 [4022] | The important process to make people understand is how lexical binding is faked by rebinding code over and over again as more nested contexts are defined. |
Steeve 29-Nov-2010 [4023] | infinite binding ? |
BrianH 29-Nov-2010 [4024] | It is really quite similar to what a compiler for a language with lexical scoping does internally, but we do it at runtime instead. |
Steeve 29-Nov-2010 [4025x2] | boundless binding :-) |
Nested binding, it's my last proposal I go to bed Bye Folks | |
Ladislav 29-Nov-2010 [4027] | Me too, good night |
mhinson 22-Dec-2010 [4028x2] | Hi, is anyone familiar with Frank Sievertsen Telnet protocol scheme please? I am trying to use it at a really basic level at first, just issueing the commands manually, but I think I am missing a trick or two. this is what I am doing port: open telnet://192.168.2.2/ t: copy port print t This shows me that I connected ok & got a password prompt, however I cant seem to work out how to send a string to the session & read the response. Any suggestions much appreciated. Thanks. Hi, is anyone familiar with Frank Sievertsen Telnet protocol scheme please? I am trying to use it at a really basic level at first, just issueing the commands manually, but I think I am missing a trick or two. this is what I am doing port: open telnet://192.168.2.2/ t: copy port print t This shows me that I connected ok & got a password prompt, however I cant seem to work out how to send a string to the session & read the response. Any suggestions much appreciated. Thanks. |
oops | |
Gregg 22-Dec-2010 [4030] | I haven't looked at that in a looooooong time. I hope someone else can chime in and help. |
older newer | first last |