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

[REBOL] Rolling your own ideal looper: does Repeat still have a bug? Re:(5)

From: galtbarber:mailandnews at: 30-Aug-2000 19:37

Ladislav, That is an impressive For function! your example of using
>a: [1 2] >for s a tail a 1 [print s]
as a test is very amusing bug, looks like an infinite loop on windows, just keeps printing newlines without ever ending. Just for kicks, I just tried this:
>> for s a back tail a 1 [print s]
1 2 2 so that it stops at the last real position, and that seemed to work, althout the expression is more awkward and wordy! Your other example is this:
>> for s a next a -1 [print s]
1 2 which I am not sure I get. This would never get to next a by skipping -1. Either you have a typo here, or I missed the point. If this were integers, it would look like for x = 1 30 step -1
>> for s a next a 1 [print s]
1 2 2 What is the proper behavior of
>> for s a next a -1 [print s]
??? -Galt p.s. As far as the second-class vs. first-class values goes, I am inclined to agree with you. There are some fishy issues that don't seem entirely cooked. You are right to bring them up for discussion. So far, however, in the programs that have come up naturally in my use of Rebol, I haven't been banging into these issues alot. I have seen the errorhandling stuff e.g. try, disarm seems like it's more awkward than it should be. I could run smack into more of them at any moment, though! p.p.s. I think the desire to share Rebol data and objects across the net between two instances of rebol.exe, or storing them and retrieving them later in native Rebol format, will come up strongly in the near future. Even the RebMail program might be a lot simpler if you could just save your mail objects and reload later. Having to create extra functions for converting from Rebol to some other disk structure and then back again is a pain. I think Rebol can do better. It just needs to make a few new tricks available...