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

[REBOL] Re: tail-func: for the gurus

From: lmecir:mbox:vol:cz at: 19-Nov-2001 12:51

> 1) your implementation uses "keywords": [ref-mode p1 p2 r w comm statement > ret either get bind to-word append mold on off refinement! word! copy
> _*loops _*myspec insert to-path _*mycall if _*loop-detected true return > until false set do not]. The need to have keywords can be eliminated. >
<<Maarten:>> I agree. But the idea is to have some kind of stack frame. I found it handy to use keywords there. Along the same road a class hierarchy can be implemented. <</Maarten>> I am not sure we understood each other. What I wanted to tell was, that your implementation wouldn't correctly handle functions with arguments/locals from the "Keywords" block. (Actually, it looks to me, that another "keyword" I didn't mention was 'local, which might really mean a serious limitation).
> 2) Why did you use the CATCH function attribute?
<<Maarten:>> A local code convention in our project. <</Maarten>> That might not be as useful as it may look at a first glance. I suggest you to look at . See the reasons why I wrote TRANSP-FUNC, especially WRT the CATCH attribute.
> 3) Refinements can be passed more transparently.
<<Maarten:>> I see. But... I use this technique also in Rugby, where this is the only way because you are in a distributed environment. Stolen from myself ;-) <</Maarten>> It might be interesting to compare the speed of these two, although there are other possible alternatives ...
> 4) Other simplifications/generalizations were possible. I have "stolen" > some ideas from my
<<Maarten:>> Cool! I hope others are reading this thread because it is very insightful to (have) demonstrate(d) the true power of Rebol: if it isn't there, you can built it in no time. Rebol really transforms into what *you* want it to be. Human-centered software engineering for the programmers.... --Maarten <</Maarten>> Well said.