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

[REBOL] context of a function Re:(10)

From: al:bri:xtra at: 27-Aug-2000 9:42

Galt wrote:
> I hate to disagree with people that are smarter than me, but I seriously
think you are underestimating what it takes to really understand rebol, especially for those less brilliant. I don't think I'm that smart, Galt. Even though I did take a online IQ test recently and it assigned me a score of 150 for IQ (I think the test is broken).
> I generally find that most of my knowledge of other computer systems to
gain insight into rebol is quite helpful and revealing. Even having the context to say, this is like scheme or logo in rebol, but that is like some other language, etc. is all helpful. This doesn't help much for Rebol. Unless you've examined as many languages as Carl has.
> So, yes, it is true that rebol is different in important ways from other
languages and therefore you will have to gain a new understanding. But this notion that you would be better off starting from a point of total ignorance and then everything would be easy is patently absurd. I was hindered by my knowledge of other languages. Coming from a point of view of innocence, knowing only human languages, is better I feel.
> When I have trouble with Rebol, if I was a less knowledgeable user I would
probably just give up. Being able to make some guesses about possible causes or solutions is much better.
> So, the best way really, is for Rebol to tell us how it works inside.
When you know how rebol lists really work, and string literals and contexts and words, then you understand rebol. Ignorance or innocence isn't much help. I disagree. The model that Rebol is based on is close to natural human language. Knowing that and knowing nothing of computer languages is the best way to learn Rebol. Rebol works literally as it is. Discussing in depth, contexts and how they work are almost meaningless, particularly when some parts of Rebol are still buggy and need to fixed. I thinking of the GC bug, hopefully that's fixed in the experimental builds.
> Obviously, one should try never to allow preconceptions and prejudice to
inhibit understanding, and that is true of everything, not just Rebol. Change can be hard, but after the change, you wonder, what was the trouble?
> I am not a stupid person, even if I am not a genius. I only got this far
with Rebol because I am doggedly persistent, not because I have the pleasantly uncluttered mind of an infant. You're basically trying hard to learn the detail, without knowing rebol.
> I really like and respect you Andrew, and I appreciate all the work you
have done for Rebol and the members of the list. I just didn't want to let this go by yet again...
> Now, this doesn't mean that I am anti-Rebol or want to be critical or
whatever. We all love Rebol and want to use it as much as possible! I still don't know how forgetting everything I know is going to help me figure out just what the heck read-io really does and why timeouts don't seem to work as advertised for downloading big files... There's no need to learn 'read-io. We're encouraged not to as it's only a temporary cure. As for timeouts, this is again a problem with the Rebol implementation, not the perfect Rebol.
> I will tell you, one of the joys of using Rebol is that it's so much nicer
than other languages in many areas. If you didn't know something about them you probably would wonder what the fuss was all about when you hear people rave about Rebol!
> -Galt > > p.s. I bet Carl dreamed up Rebol, not by forgetting everything he ever
knew, but by knowing so much about the current systems and their problems, and deeply pondering causes and possible solutions, and using insight gained through deep experience and hard work. Yes. He basically states that in the intro to The Official Guide. But do you and I have time to do this? Remember this?
> I am confused. Consider this small script: > > REBOL [] > > block: ["a" "b" "c"] > code: [print member] > foreach member block [do code] > > Upon execution, I get : > > ** Script Error: member has no value. > ** Where: print member > >> > > I guess I have to use 'bind or 'use somewhere, but I'm not sure which and
how. What's wrong with this method? REBOL/View 1-Jun-2000 Copyright 2000 REBOL Technologies. All rights reserved. Type DEMO to run demo if it is disabled
>> block: ["a" "b" "c"]
== ["a" "b" "c"]
>> code: [print member]
== [print member]
>> foreach member block code
a b c
It seems to do directly what you intend and is simpler too. =============================== For this line: foreach member block [do code] the writer has used their experience in other languages to their disadvantage. The writer has imagined that the "[]" around "do code" are like "{}" around C/C++ code. By forgetting this knowledge, then:
>> block: ["a" "b" "c"]
== ["a" "b" "c"]
>> code: [print member]
== [print member]
>> foreach member block code
becomes obvious and simple. That's basically all that Rebol is, words and blocks (with the occasional parenthesis). :-) Andrew Martin ICQ: 26227169