[REBOL] Re: Forum Name
fwiw, RebolForum embodies both a) the sense of academic gathering together e.g. discussion forum b) the sense of excitement and adrenaline e.g. the Roman Forum - Original Message - From: Defiant Mail [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, January 05, 2004 7:16 AM Subject: [REBOL] Re: Forum Name Good Morning, so far we have 2 votes for reboltalk.com and 2 votes for rebolchat.com. The domain will be purchased late tonight, anyone care to tip the scale? If not we can flip a coin. ;) -Maryjane -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject. -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.
[REBOL] Re: Windows registry keys
The number is Profile Guid, unique for each user in the world. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/sys info_1691.asp - Original Message - From: Anton [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, August 15, 2002 10:37 AM Subject: [REBOL] Windows registry keys I am looking into the windows registry I wonder if other people have exactly the same long path element as in below: HKEY_USERS\S-1-5-21-1614895754-688789844-1060284298-1000\Software\Rebol Are the numbers exactly the same? I am interested in making a silent install for rebol. Anton. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes.
[REBOL] Google supports date-range searching (requires Julian dates)
For REBOLs who like to Google. You'll be pleased to know that the Google API supports searching by date. http://www.researchbuzz.com/articles/2002/googledate0422.html http://www.faganfinder.com/engines/google.shtml -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes.
[REBOL] Re: REBOL] Agentcities - was OWL
http://www.agentcities.org/rec/2/actf-rec-2a.pdf Am I right in assuming that you're suggesting that we collaborate on creating REBOL city and implementing the programs PingAgent and other services in REBOL - Original Message - From: Terry Brownell [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, March 22, 2002 10:06 AM Subject: [REBOL] REBOL] Agentcities - was OWL Check out what agentcities is up to... http://www.agentcities.org/ Agentcities is a global, collaborative effort to construct an open network of on-line systems hosting diverse agent based services. A well-heeled international project. TB - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, March 22, 2002 1:53 AM Subject: [REBOL] Re: designing dialects - was OWL Charles: Agreement there, too. However, I'm wondering if Sunanda's initial remark was with regards to implementing it within REBOL, so you can load OWL material with REBOL instead of an intermediary. Am I wrong? No -- you are right. My first thoughts on seeing OWL were: 1. Rebol, seems a reasonably close match, so (at the very least) a reference implementation could be made in Rebol/dialects. That in itself could get Rebol under the noses of key decision makers; 2. If OWL is going to be important, then RT should be in there helping to assist its development -- it is clear that Rebol/IOS and OWL/Semantic Net are broadly working to the same goals.But, as far as I know, RT is not a member of the W3C consortium; 3. If OWL takes off, Rebol will need to talk to it -- just as it does with XML and loads of protocols. It'd make sense to be one of the first languages off the block with full OWL certification rather than playing catch-up; 4. And the OWL spec is basically language design--and a language for the Internet at that --so I thought those who hadn't been following it to date might want to take a peek. Sunanda. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes.
[REBOL] Re: Morpheus - the bitter thruth?
post it! - Original Message - From: Gabriele Santilli [EMAIL PROTECTED] To: Terry Brownell [EMAIL PROTECTED] Sent: Thursday, March 07, 2002 10:04 AM Subject: [REBOL] Re: Morpheus - the bitter thruth? Hi Terry, On Wednesday, March 06, 2002, 6:44:45 PM, you wrote: What about a collaboration between us to make our Morpheus and show the world what Rebol is ?? TB I second the motion. Should I repost the specs for the Information World? ;-) Regards, Gabriele. -- Gabriele Santilli [EMAIL PROTECTED] -- REBOL Programmer Amigan -- AGI L'Aquila -- REB: http://web.tiscali.it/rebol/index.r -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes.
[REBOL] Re: Morpheus - the bitter thruth?
uh, what do you suppose he meant by that? - Original Message - From: Carl Sassenrath [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, March 05, 2002 4:01 PM Subject: [REBOL] Re: Morpheus - the bitter thruth? Ah, P2P... interesting... very interesting. -Carl At 3/3/02 01:56 PM -0800, you wrote: Sounds like the ideal time for Napster to crawl back into the game with maybe a new client under a new name. Just a thought. Paul Tretter Sounds like the ideal time for Rebol to get INTO the P2P game, with reblets and all :) TB -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes.
[REBOL] Re: Morphing (was: About CONTINUATIONS)
Okey dokey then, that's the second recommendation on this list for Lisp in Small Pieces. This weekend I'll go the public library and request that on Interlibrary Loan - Original Message - From: Chris Double [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, February 28, 2002 1:48 AM Subject: [REBOL] Re: Morphing (was: About CONTINUATIONS) Where would a developer begin, if one had an interest in implementing Scheme in REBOL? Lisp in Small Pieces is the name of the book you want. It's an excellent book on writing various Lisps with source code in Scheme. Converting this to Rebol shouldn't be too difficult. Chris. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes.
[REBOL] Re: Morphing (was: About CONTINUATIONS)
yeah. vector (and dotted pair) seems similar to block define seems similar to func - Original Message - From: pat665 [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, February 28, 2002 3:46 AM Subject: [REBOL] Re: Morphing (was: About CONTINUATIONS) Hi I found this site on scheme. http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme.html . You can download it entirely. I did know anything about this language before. I discovered it has many many things that reminds me Rebol. Patrick - Original Message - From: Chris Double [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, February 28, 2002 10:48 AM Subject: [REBOL] Re: Morphing (was: About CONTINUATIONS) Where would a developer begin, if one had an interest in implementing Scheme in REBOL? Lisp in Small Pieces is the name of the book you want. It's an excellent book on writing various Lisps with source code in Scheme. Converting this to Rebol shouldn't be too difficult. Chris. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes. __ ifrance.com, l'email gratuit le plus complet de l'Internet ! vos emails depuis un navigateur, en POP3, sur Minitel, sur le WAP... http://www.ifrance.com/_reloc/email.emailif -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes.
[REBOL] Re: Morphing (was: About CONTINUATIONS)
Thanks! - Original Message - From: Joel Neely [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, February 26, 2002 5:00 AM Subject: [REBOL] Re: Morphing (was: About CONTINUATIONS) Hi, Chaz, I don't know if it's still in print, but a *very* good introduction to LISP, requiring only standard programming skills, is in _Functional_Programming_Application_and_Implementation_ by Peter Henderson, Prentice-Hall, 1980 ISBN: 0-13-331579-7 It introduces functional programming, contrasts it with imperative programming, designs and implements LispKit LISP, and adds some interesting features (e.g. lazy evaluation, nondeterminism...) I'd recommend that one first, followed by SICP, of course. _Structure_and_Interpretation_of_Computer_Programs_ Abelson, Sussman, Sussman MIT Press, 1985 ISBN: 0-262-01077-1 or McGraw-Hill ISBN: 0-07-000-422-6 which should be on every programmer's bookshelf (well-thumbed with lots of bookmarks sticking out of it... ;-) -jn- chaz wrote: Where would a developer begin, if one had an interest in implementing Scheme in REBOL? - Original Message - From: Gabriele Santilli [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, February 25, 2002 9:14 AM Subject: [REBOL] Re: About CONTINUATIONS At 10.10 25/02/02, Maarten wrote: If REBOL (and the likes) offer anything, it is the ability to morph it into whatever you like. So if it is not there, try to add it yourself and make it available. It is something RT does not stress enough: if you need it and it is not there, morph it into what you want. I agree wholeheartedly! This point should REALLY be stressed. Regards, Gabriele. -- Gabriele Santilli [EMAIL PROTECTED] -- REBOL Programmer Amigan -- AGI L'Aquila -- REB: http://web.tiscali.it/rebol/index.r -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes. -- ; sub REBOL {}; sub head ($) {@_[0]} REBOL [] # despam: func [e] [replace replace/all e : . # @] ; sub despam {my ($e) = @_; $e =~ tr/:#/.@/; return \n$e} print head reverse despam moc:xedef#yleen:leoj ; -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes.
[REBOL] Re: Morphing (was: About CONTINUATIONS)
WOW. Thanks for the links. Surely there will be a beginning can be found in one of these! - Original Message - From: Gerard Cote [EMAIL PROTECTED] To: [EMAIL PROTECTED] Cc: Gérard Côté (Globetrotter) [EMAIL PROTECTED] Sent: Tuesday, February 26, 2002 1:10 PM Subject: [REBOL] Re: Morphing (was: About CONTINUATIONS) Hello Chaz, Just to add another 2 cents worth of language search about implementing Scheme or Lisp with REBOL, I submit you the following Web pointers to some available documentation about this language's dialects - These are extracted from a (Long google search : 1. ECL - a Embedded Common-Lisp implementation ... are docummented in the Developer's Guide. ... Finally, the implementation of the LOOP macro made by ... documentation strings back to the lisp source files, from which ... http://ecls.sourceforge.net/ - 8k 2. Topic: lang/lisp/ Many Common Lisp implementations; An Alfred handy guide to Understanding LISP ... http://www-2.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/lang/lisp/0. html - 11k - 25 Feb 2002 - 3. A design document describing the internals of CMUCL (CMU Common Lisp), in PDF. http://cvs2.cons.org/ftp-area/cmucl/doc/CMUCL-design.pdf 4. Maybe the best modern book about implementation of various Lisp Dialects (according to some expert reviewers on AMAZON) : Lisp in Small Pieces 1996, 514 pages, by Christian Queinnec, Kathleen Callaway (Translator) Publisher : Cambridge University Press. Web page from the author : http://videoc.lip6.fr/queinnec/WWW/Queinnec.html and Source programs from his book : http://videoc.lip6.fr/queinnec/WWW/LiSP.html Prices from AMAZON : List Price: $90.00 Our Price: $90.00 http://www.amazon.com/exec/obidos/ASIN/0521562473/qid%3D945541473/sr%3D1-2/1 03-0118530-5571073 Suggestion : Just go on their site to read the reviews and decide by yourself if it is appropriate for you... 5. A web site listing many if nmot all current and older Lisp books, many of them discussing about the implementation of Lisp. The last title is even entirely downloadable as are the sources. http://www.elwoodcorp.com/alu/table/bibliography.htm 6. Hacking on a scheme implementation ... The Oaklisp Language Manual Description of an object oriented lisp. The Oaklisp Implementation Guide An overview of the implementation of Oaklisp. Separate ... www.lysator.liu.se/~nisse/scheme/ - 7k Greetings, Gerard Cote -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes.
[REBOL] Morphing (was: About CONTINUATIONS)
Where would a developer begin, if one had an interest in implementing Scheme in REBOL? - Original Message - From: Gabriele Santilli [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, February 25, 2002 9:14 AM Subject: [REBOL] Re: About CONTINUATIONS At 10.10 25/02/02, Maarten wrote: If REBOL (and the likes) offer anything, it is the ability to morph it into whatever you like. So if it is not there, try to add it yourself and make it available. It is something RT does not stress enough: if you need it and it is not there, morph it into what you want. I agree wholeheartedly! This point should REALLY be stressed. Regards, Gabriele. -- Gabriele Santilli [EMAIL PROTECTED] -- REBOL Programmer Amigan -- AGI L'Aquila -- REB: http://web.tiscali.it/rebol/index.r -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes.
[REBOL] Re: About CONTINUATIONS
Maarten also said: You can make a continuation based mechanism in REBOL, especially with all the reflexive features you have available. This is of course not an interpreter internal (what the discussion above is), but a mini interpreter implemented on top of a very good interpreter model such as Scheme of REBOL offers. Interesting. The thought of implementing other languages, building on top of REBOL (much the way Microsoft is building its new .Net family of languages on top of its new Common Language Runtime). We could call them .REB imagine, then, this very realistic (-_o) conversation, between two people shipwrecked on a island, a young nubile lass, and a dashing REBOL developer. Although they have replaced their computer's power supply with solar panels, they are too far away from any wireless internet connection. Like so many young nubile lasses, she is a functional programmer. She is despairing because she cannot download a Scheme interpreter. She cries out. YNL: Oh! such disappointment! Here I am, a young nubile lass with a zip disk of Scheme source code, and not an interpreter in sight! DRD: No fear, miss, says the dashing REBOL developer, pulling out a floppy disk behold! YNL: What is it? Where did you get it? DRD: It's a full implementation of Scheme.REB! I helped develop it! YNL: My hero! - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, February 25, 2002 9:50 AM Subject: [REBOL] Re: About CONTINUATIONS Maybe opening up the abandoned REBOL 1.x tree would allow those interested to fully explore the benefits and pitfalls of the continuation model? Perhaps it might be easier to develop a REBOL compiler from the knowledge and sources available for Scheme / Lisp / ML compilers via this route / source tree? I just wish it wasn't so difficult to explore these issues in REBOL. cheers, Mark Dickson -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes.
[REBOL] Re: About CONTINUATIONS
From: [EMAIL PROTECTED] What point are you making in relation to REBOL? I apologize for being so obscure, please let me try again. There may indeed be something of value with regards to REBOL and continuations, but speaking as an observer, only, I've seen little evidence of interest in continuations, in this community. http://www.ai.mit.edu/~gregs/ll1-discuss-archive-html/msg00679.html This posting is apparently by Joe Marshall the man who put continuations in REBOL 1.0 in the first place. If anyone should be an strong advocate for having continuation is REBOL he would be that person, but in fact poster merely states that continuations provide some advantages in coding the language, but in general they are unnecessary, and that he himself doesn't care whether or not a language contains them. ...The fact of the matter is that first-class continuations *aren't* used very often in `standard' code, and that CATCH/THROW, structured error handling, and a thread package will cover virtually all practical of first-class continuations. For this reason I don't much care if a language has first-class continuations or not. Sure, it is a bonus, and I *always* put them in to languages that I implement (REBOL 1.0 has first-class continuations), and they make writing the error handler and debugger far, far easier, but the end user doesn't care... -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes.
[REBOL] Re: About CONTINUATIONS
On 17-Jun-2000 Brian Hawley had this to say about Continuations http://www.rebol.org/userlist/archive/205/393.html Continuations: Scheme has them (base of its execution model); REBOL dropped these too when it switched to a stack engine. Continuations don't make much sense with a stack engine - they only work well when the execution model is continuation-based. If you can't refactor your code to use callbacks or some such, you probably don't understand it well enough to be programming with continuations. Take a look at Icon - its goal-directed evaluation beats continuations any day of the week - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, February 19, 2002 10:39 AM Subject: [REBOL] About CONTINUATIONS from the REBOL 1.x user guide . Continuation The catch function allows you to return to a specified point in a script using a method called continuation. A continuation is a saved point in the flow of execution that can be called and returned to at a later time. Think of it as a bookmark that saves your location and current context. Continuations are first class. They can be stored in variables, passed as arguments, and returned from functions. As such, they provide a powerful mechanism for advanced scripting in REBOL #8212; especially for handling operations such as exceptions. To use catch you provide a symbol and a block: catch symbol body The symbol is used as the name for a new function which holds the continuation point. This function becomes available within the context of the body block, where it can be called to return to the point just after the catch. Think of it as a throw function if you are familiar with that concept from other languages. It takes one argument: a value which will be returned as the result of the catch. print catch 'throw loop 100 [ if (random 10) 5 [throw hit] ] miss ] The symbol throw is used here as the name of the continuation function. When it is applied, its argument is used as the return from its associated catch. In the above example, its behavior is identical to a return function. Non-local Return The function named by catch is local to the block passed to catch. However, there may be times when you want to return from functions called outside the block. To do so, define a word outside the context of the block to hold the continuation function. rand-it: func [num] loop num [ if (random num) (num / 2) [resume hit] ] miss ] print catch 'throw resume: :throw rand-it 100 ] Here the word resume is given the function value of throw and is used outside the block as a non-local return to the catch. True Continuation With the indefinite extent concept discussed later, continuations can be preserved even beyond the return point of the catch. If after the example above, you were to write the line: resume test you would return to the same point as before #8212; just after the catch #8212; and the test string would be passed to the print function. Note that the entire context of the catch is preserved. Here is another example: times: func [num] [num * catch 'here [resume-times: :here 1]] result: times 1 print result if result 100 [resume-times (result * 3)] In this example, the catch marks the return point within the function times. When the resume-times function is applied, it passes a new value back to the multiplication. Notice that even the return point from times is preserved! The assignment to result and print result are all done again, because they follow the initial call to times. end of snip .. I started using REBOL just on the cusp of the version 2.x changeover, Brian Hawley Daan Oosterveld did have old windows versions of REBOL 1.x but Iam not sure if they still do or if they're even still on this list. LADISLAV, I've studied Continuations A LOT recently, albeit the Scheme CALL-WITH-CURRENT-CONTINUATION ( abreviated Call/cc ) type and although it appears the REBOL 1.x type of conitinuations are not as powerful as Scheme I THINK IT'S A SHAME REBOL lost these capabilities along with proper tail recursion. If anybody wants to learn more about this then go to http://www.scheme.com where Kent Dybvig has LOADS of information and literature about continuations, proper tail recursion etc. as well as an excellent freely available Scheme implmentation to experiment these with called PetiteChez Scheme. MZScheme also has these capabilities and is GPL free software, MZScheme is the under the hood Scheme in the DR-Scheme programming environment. Stackless-Python also has continuations and proper tail recursion and is a patch to implement these capabilities into regular Python. If anybody needs anymore info or explanations or URL's etc. just let me know I've got tonnes of literature on this here. cheers, Mark Dickson -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes. -- To unsubscribe from this list, please send
[REBOL] Re: Tuples - Was Pair! thread
For example, tuples can also be used to represent colors -- for which there are a variety of useful orderings: lighter-than? darker-than? more-saturated-than? and so forth. The primitive operators ', '=, and ' have very clear and unambigous meanings when applied to scalar values. Neither pairs nor tuples are scalar. That being said, I'd love to be able to sort colors. Imagine picking one of the recognized color solids, taking slices through it and sorting based on the slice that a color is a part of. Since there are several color solids, and many ways to slice them, perhaps the REBOLish solution would be to use the system object to explicitly specify which solid and through which axis one is slicing. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes.
[REBOL] Re: Tuples - Was Pair! thread
After reading another of your lame oh dear, I'm sorry if I offended anyone, how did that happen, excuse me for your misunderstanding me yet again, I realized how very sharply your posts stand out from everyone else's. Made me appreciate, once again, how very high the signal-to-noise is on this list. Thanks, Robbo, I guess. - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, February 07, 2002 12:41 AM Subject: [REBOL] Re: Tuples - Was Pair! thread HOLGER / JEFF / EVERYBODY After re-reading the tone of my earlier message I apologise if it came across as offensive and flamebait and please accept my apologies for this. However I still think the reasoning or justification Holger gave was flawed hence the tuple example I gave. Sorry for any offence caused and I'll try to ensure my future mailings are focused more on the issues at hand rahter than being misconstrued as flamebait. Is Pair! a lame datatype? cheers sorry, Mark In a message dated Wed, 6 Feb 2002 2:59:43 PM Eastern Standard Time, Jeff Kreis [EMAIL PROTECTED] writes: Hello, robb0l: seems reasonable to me, but then again so do Joels arguments / logic, saying pair! are only meant to be used strictly in a Rebol/View pixel co-ordinate context seems like a cop out to me, either that or insufficient thought goes into REBOL language design implementation, which is it Holger? Hmm.. nice piece of flamebait. -jeff -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes.
[REBOL] Re: what's cooking?
Send an email to mailto:[EMAIL PROTECTED] requesting an evaluation of REBOL/IOS Express, the secure and agile communications platform for X Internet applications. - Original Message - From: Rishi Oswal [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, February 04, 2002 9:55 PM Subject: [REBOL] what's cooking? Hi all. What is going on in rebol world?? Last I heard, we were supposed to see morpheous by the end of last year and i would have thought ios would be released by now. Have things changed? Is rebol still working on morpheous stuff?? I recall someone telling me that morpheus will probably shut down soon. Also is the rebol ios stuff only for corporations or will it be available for indivduals to purchase at a reasonable price? Will the rebol version of morpheous make rebol desktop obsolete? I'd like to know where rebol is headed. Anyone know?? hmm...and one reminder to rebol..i am still waiting for rebol/view on qnx rtp. Hurry up cause i have been holding my breath too long ;-) thanks, rishi __ Do You Yahoo!? Send FREE Valentine eCards with Yahoo! Greetings! http://greetings.yahoo.com -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes.
[REBOL] Re: a funny language - ETA
Thanks for the implementation! There is much to study in it! - Original Message - From: Frank Sievertsen [EMAIL PROTECTED] To: Chris [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Sent: Monday, February 04, 2002 4:13 AM Subject: [REBOL] Re: a funny language - ETA An other 8-commands language ist brainfuck. http://www.muppetlabs.com/~breadbox/bf/ Only the characters [],.+- are used. Example-Implementation: do http://proton.cl-ki.uni-osnabrueck.de/REBOL/brainfuck.r brainfuck/program == {[ [-] .,]} brainfuck/run HELLO^@ == {hello} brainfuck/program: {,[,][.]} == ,[,][.] brainfuck/run Hello^@ == olleH And it can make rebol-functions out of the brainfuc-programs: a: brainfuck/rebol-func a Hello^@ == olleH I tried to use this implementation for genetic algorithms. I was able to learn some simple programs like reverse uppercase etc. Have fun Frank On the other hand, DNA works with just four letters. ETA looks bloated in comparison, Yeah, I was just thinking that eta looks a great language for self-modifying genetic algorithms... Absolutely insane language to try and use for real though, makes even obfuscated perl look readable! :) Chris -- .--{ http://www.starforge.co.uk }-. .--. =[ Explorer2260, Designer and Coder \=\ P: TexMaker, ROACH, site \ =[___You_will_obey_your_corporate_masters___]==[ Stack: EETmTmTRRSS-- ] -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes.
[REBOL] a funny language - ETA
the lyrics to the song 99 bottles of beer on the wall - implemented in REBOL: http://www.reboltech.com/library/html/beersong.html implemented in ETA: http://www.miketaylor.org.uk/tech/eta/pit/bottles.eta The ETA Programming Language http://www.miketaylor.org.uk/tech/eta/doc/manual.html The ETA implemented in perl: http://www.miketaylor.org.uk/tech/eta/src/smalleta Would a parsing guru or someone bilingual in perl show us a REBOL implementation? -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes.
[REBOL] Re: Merry Christmas
Merry Christmas to you! Here's a classic from the script archive at www.REBOL.com REBOL [ Title: Twelve Days of Christmas Date: 14-Dec-1999 File: %twelvedays.r Category: [text 3] ] Twelve_Days: make object! [ Sing: function [] [Gift Christmas_Days] [ Gift: function [Day [integer!]] [Gifts Gift] [ Gifts: [ a partridge in a pear tree two turtle doves three french hens four calling birds five golden rings six geese a-laying seven swans a-swimming eight maids a-milking nine ladies dancing ten lords a-leaping eleven pipers piping twelve drummers drumming ] Gift: make string! 100 until [ append Gift rejoin [ Gifts/:Day either 1 Day [,] [.] either 2 = Day [ and] [{}] newline ] Day: Day - 1 Day 1 ] Gift ] Christmas_Days: [ first second third fourth fifth sixth seventh eighth ninth tenth eleventh twelfth ] repeat Day length? Christmas_Days [ print rejoin [ On the Christmas_Days/:Day day of Christmas, newline my true love gave to me: newline Gift Day ] ] print Merry Christmas and a Happy New Year! ] ] Twelve_Days/Sing chaz - Original Message - From: Dr. Louis A. Turk [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Sunday, December 23, 2001 5:38 PM Subject: [REBOL] Merry Christmas Dear fellow rebolutionaries, I would just like to say that I really appreciate all the help that I have received on this mail list during this past year. While I am still just an amateur, I have made a lot of progress thanks to all your kind help. And as a result my computer is becoming increasing productive in my work. I am accomplishing things with rebol that I never dreamed I would be able to do. Mostly my posts have been asking, and not giving much in return. Yet your answers have always been most gracious. Often you have even made a working function for me, as an example. This is the best email list I have ever been on. Many, many thanks to you all. May God bless you all with a very merry Christmas! Louis -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes.
[REBOL] Re: A REBOL challenge - The Information World
A site like http://www.cornerhost.com/cvs/ might be a better forum for the jousting than on this list. - Original Message - From: pat665 [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, December 03, 2001 1:52 PM Subject: [REBOL] Re: A REBOL challenge - The Information World Go Gabrielle, Go ! I am totally supportive to your challenge, however I don't see that newbie like me can be a part of it. Nevertheless I will enjoy seeing you all gurus and Rebol jedi in a fair and loyal joust. Patrick - Original Message - From: Gabriele Santilli [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, December 03, 2001 5:45 PM Subject: [REBOL] A REBOL challenge - The Information World Hello all! A REBOL challenge [Permission is explicitly granted to publish this document on the REBOL Zine, on REBOLForces or on any other REBOL-related publication/site/whatever.] With this message, I'm going to launch a challenge. The goal is to create a peer-to-peer communication system as described below; implementations will be judged by the members of the REBOL mailing list, with regards to: * Code elegance and simplicity * Efficiency * Usability If my free time will permit, I'll partecipate to the challenge too; a time limit will be set in agreement with the participants. The resulting code is required to be freely distributable at least inside the REBOL mailing list; freely distributable software will be preferred over restricted software because to be useful the system has to be available to all the users of the Internet. [I'm quite sure Maarten will participate with a Rugby based implementation; I'd like to have someone doing a REBOL/IOS based implementation too...] If you are interested, please read the following document carefully; comments or requests for clarifications will be gratefully accepted. [Since this version can be considered a sort of draft, I would be vert grateful to those of you that will really be brave enough to read it all and offer me some comments.] The Information World I want to create a sort of virtual world. I will call it the Information World (IW). This world is made of informations, from static data to live entities able to interact with the rest of the IW. The IW is based on three simple entities that the implementation has to represent. These are Places, Objects and Agents. Places A Place is a location in the IW. It can contain objects and agents, and it can be connected to other places. (The connection does not necessarily need to be a TCP/IP connection or something like that; you can think of it as a road going from one place to another. Also notice that if place A is connected to place B, automatically place B is connected to place A.) Agents can move from one place to another only using a connection (normal agents cannot create a new connection). The implementation of a place has to provide a way for agents to know what other objects and agents are present in the place. I.e. the agents will have to be able to query the place where they are to know what's there besides of them. Objects Objects are things, such as repositories, containers, documents, and so on. An object can contain other objects; for example, a book shelf object might contain book objects. By themselves, objects cannot move from one place to another or interact with other objects or agents. Only agents are able to iteract with other agents or objects. The implementation should make it easy for objects to be moved from a place to another (by agents); also, agents must be able to query an object to know what actions it can perform on it (for example, a book shelf might provide a search action to allow an agent to search for a book, and so on). The implementation has to provide an easy way for users to create new objects. Also, objects can be cloned. Agents Agents are the most interesting entity of the IW. They are the key for the communication, since they are the only entity that can move from a place to another and interact with other entities. They can also carry objects, but there should be a limit on the size of the objects an agent can carry on a given connection. Implementations have to deal with security issues raised by the presence of agents. In particular, two categories of agents have to exist: Residents and Tourists. The only resident agents available should be: * The Road Builder, which creates connections with other places. It is the only entity that can create connections; of course it can destroy a connection too. * The Sentinel. A sentinel can be placed on every connection to verify the identity of coming tourists and place restrictions on them or even disallow their entrance. Each sentinel should be in communication with the one on the other side (if
[REBOL] Re: Elegant way to reference a function?
This sounds like a context thing. - Original Message - From: Patrick Philipot [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, December 03, 2001 1:44 PM Subject: [REBOL] Elegant way to reference a function? Hi all, What is the elegant way to reference a function? Let me explain a little bit my context : I am working on a program that selects items using criterion (may be the plural criteria is required here, but I'm french you know). Theses items are photos, for example, or texts such as FAQ. For photos, the person who is on the photo is a criterion. To select photos, it is just a matter of a click on a checkbox. With this, it is easy to see photos with marc and chouchou (marc is my son, chouchou is my cat). It is possible to make exclusion, for a FAQ program, it will be possible to search for FAQ with 'bind and 'use but not with 'view. Back to the question : I don't want the main program to know about photos, or FAQ or anything else. However it's not the same to show a photo or to display a FAQ. So I need a generic function, used during the test, that will be replaced with minimum effort (I'm actually from the south of france ;-) with the required function. To be more practical, if I have a button like this on a window. button show me [display] I want the function display to be : - a simple test function when debuging or - a function that shows a photo or - a function that displays a FAQ text I have thought of aliases, but there are a bit problematic to me (because I don't know to get rid of them). I think may be it is as simple as : display: :my-show-photo-function Any idea, or suggestions ? Patrick -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes.
[REBOL] Re: A REBOL challenge - The Information World
Since a Tourist can carry baggage, wouldn't he be a special case of a Mail Agent who can only carry his own objects? - Original Message - From: Gabriele Santilli [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, December 03, 2001 8:45 AM Subject: [REBOL] A REBOL challenge - The Information World Hello all! A REBOL challenge [Permission is explicitly granted to publish this document on the REBOL Zine, on REBOLForces or on any other REBOL-related publication/site/whatever.] With this message, I'm going to launch a challenge. The goal is to create a peer-to-peer communication system as described below; implementations will be judged by the members of the REBOL mailing list, with regards to: * Code elegance and simplicity * Efficiency * Usability If my free time will permit, I'll partecipate to the challenge too; a time limit will be set in agreement with the participants. The resulting code is required to be freely distributable at least inside the REBOL mailing list; freely distributable software will be preferred over restricted software because to be useful the system has to be available to all the users of the Internet. [I'm quite sure Maarten will participate with a Rugby based implementation; I'd like to have someone doing a REBOL/IOS based implementation too...] If you are interested, please read the following document carefully; comments or requests for clarifications will be gratefully accepted. [Since this version can be considered a sort of draft, I would be vert grateful to those of you that will really be brave enough to read it all and offer me some comments.] The Information World I want to create a sort of virtual world. I will call it the Information World (IW). This world is made of informations, from static data to live entities able to interact with the rest of the IW. The IW is based on three simple entities that the implementation has to represent. These are Places, Objects and Agents. Places A Place is a location in the IW. It can contain objects and agents, and it can be connected to other places. (The connection does not necessarily need to be a TCP/IP connection or something like that; you can think of it as a road going from one place to another. Also notice that if place A is connected to place B, automatically place B is connected to place A.) Agents can move from one place to another only using a connection (normal agents cannot create a new connection). The implementation of a place has to provide a way for agents to know what other objects and agents are present in the place. I.e. the agents will have to be able to query the place where they are to know what's there besides of them. Objects Objects are things, such as repositories, containers, documents, and so on. An object can contain other objects; for example, a book shelf object might contain book objects. By themselves, objects cannot move from one place to another or interact with other objects or agents. Only agents are able to iteract with other agents or objects. The implementation should make it easy for objects to be moved from a place to another (by agents); also, agents must be able to query an object to know what actions it can perform on it (for example, a book shelf might provide a search action to allow an agent to search for a book, and so on). The implementation has to provide an easy way for users to create new objects. Also, objects can be cloned. Agents Agents are the most interesting entity of the IW. They are the key for the communication, since they are the only entity that can move from a place to another and interact with other entities. They can also carry objects, but there should be a limit on the size of the objects an agent can carry on a given connection. Implementations have to deal with security issues raised by the presence of agents. In particular, two categories of agents have to exist: Residents and Tourists. The only resident agents available should be: * The Road Builder, which creates connections with other places. It is the only entity that can create connections; of course it can destroy a connection too. * The Sentinel. A sentinel can be placed on every connection to verify the identity of coming tourists and place restrictions on them or even disallow their entrance. Each sentinel should be in communication with the one on the other side (if present) to be able to identify coming tourists. (Identifying might just mean assigning a trust level or something like that.) * The Mail Agent, which is responsible of sending (big) objects to other places. The mail agents can be asked by an agent to send an object to another mail agent on another place; it should also be possible for mail to be delivered to a specific agent in a place (passing thru the mail agent of that place). The implementation should provide an efficent way
[REBOL] p2p search engine (not rebol)
http://www.hyperbee.com/index.html So what is HyperBee? HyperBee is an attempt to crawl the web faster and cheaper than ever thought possible. As the web continues to grow, current search engines will have a more difficult time keeping their indexes up-to-date. Most search engines today index less than 40% of the entire web! HyperBee is a peer-to-peer network that looks to solve the problems that challenge today's search engines. The idea is simple. It's screensaver that runs while you're away from your computer, helping us crawl the web faster than any other search engine can, because we crawl it with your help along with the help of many others! So, what's the best way to do a screensaver in REBOL? -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with unsubscribe in the subject, without the quotes.
[REBOL] Re: All what we want from REBOL: The race has started...
You want all of that? I'd be happy with just this http://www.groove.net chaz At 04:37 PM 4/2/01 +0100, you wrote: http://www.cryonetworks.com/uk/cryonetworks.htm Regards Sharriff Aina -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Mistakes I Have Made!
OSCAR seemingly creates acronyms recursively. I don't feel polarized by it. Positively or negatively. chaz "Always take your work seriously, but never take yourself seriously." At 06:43 AM 2/23/01 EST, you wrote: Mistakes I Have Made! Everybody, Regards recent antagonisms on this list regarding some posts I made, having had a few days to calmly reflect I would like to apologize to the my felleow REBOL friends here on this list and the RT folks, Jeff in particular. OSCAR: Opposing Sentiments Create Antagonised REBOL's I made a few mistakes, I don't think I was being a pushy "religious" person and I don't apologise for the views I expressed, but I apologize here to Jeff, Holger Cecil for becoming embroiled in a mini flame war. I don't want such things in REBOL, quite the opposite in fact, that is why I made my previous apology about religious flame wars. I'm sure like everyone else you've looked aghast or laughed at the sillyness of such things in the past, and how counter-productive they are, yet someone condemns your views or criticises your integrity and down comes the red-mist! It's the first time I've personally ever been involved in such an incident but I will try to learn from it, and count to ten next time. I also want to apologise for the "Pravda" comment, looking back I can easily see how that might be taken out of context. I was not trying to portray REBOL Technologies as an "EVIL EMPIRE" and myself as Luke Skywalker. That is just silly! Everyone knows that Microsoft is the Evil Empire (Or is it now AOL?). Rather the comment about Pravda was trying to question whether divergent or dissident views are acceptable on this list or should we keep quiet if we don't agree with the official RT view on a subject. Sure I believe that in some ways RT policy and strategies, hinder rather than help REBOL make the progress I believe it is capable of. Now if you want to get religious and medieval then I suppose that view on this list might be considered "Heresy". The question is what to do with Heretics? Burn them? Exile them? Castigate them and mock them? And that is another mistake I made. The last thing I wanted to do was Polarize people or my opinions. Iam not a open source free software zealot. At work and at home I use Windoze AOL, because it is convenient for me. I have used Linux thought it was cool and a good operating system but it is too "Unix" for my liking. I really like the new MAC OS-X look and feel but stuck with an Intel X86 architecture because it gives me more choice. Anyway I'm rambling, so let me get back to what I was trying to say. Yes I do prefer open source software because that gives me greater freedoms to use and learn from it what I can. It also means that a technology is not totally reliant on a company. I'm sure the Amigans on this list, at least, will appreciate the significance of that. But, and this is very important, I believe in symbiosis, co-operation, co-existence and tolerance. I do not support the schism between free software and commercial software. There are things that free software and collaberative projects do well and things they do badly. There are also things that commercial developers and companies do well and also do not do so well or focus less upon, for many reasons, financial competitive factors included. They do not and should not preclude each other, that is a dangerous idea. That Iam right and you are wrong, and vice versa. I want REBOL to be an inclusive tribe with a strong community, we do have a great community, and it can be even better, so again I apologize if I've alienated anyone or felt like I've polarized anyone. One of the reasons behind the OSCAR project and a lot of the points that I made in my posts was that I would like to further strengthen the REBOL sense of community, by providing a forum where the community can collaberate and work to providing our own solutions to areas that for whatever reason. RT can't or haven't addressed. As I said yesterday, the PERL community have pushed that language in all sorts of directions that Larry Wall and the core team could never have imagined at the start. RT are a business, they have to be financially viable to continue to exist. I really do want them to succeed and prosper. They rightfully are focusing their REBOL efforts at the enteprise markets where the most money is to be made. A strong REBOL Technologies Inc. is very important. It gives REBOL credibility in the Fortune 500 and Enterprise arena, which believe me is very important to the success of any technology. They provide a clear and obvious focal point for development and support of REBOL something that languages like PERL and Python in many ways suffer from. However we the REBOL community have a part to play to, we can provide our own solutions, many of you already are. REBOL.org was the natural focus for such activities but for whatever reason that
[REBOL] Re: Design by contract
This is cool! Seems like this information plus the stuff in the thread in "[REBOL] Writing a protocol -- a mini intro" would lead to a function that only will run when words meeting its preconditions appear in the port it is monitoring. chaz At 02:13 PM 2/7/01 +, you wrote: Here's a Design By Contract script that I hacked together yesterday. For those who don't know, Design By Contract is a software pattern used to enforce preconditions and postconditions of a function. For example, in Rebol there's no way currently to define your own types. A function that does vector multiplication can look like this: vector-mul: func [v1 [block!] v2 [block!]] [...] The problem here is that a block can contain anything. DBC offers a solution to this: vector-mul: cfunc [v1 [block!] v2 [block!]] [ preconditions ][ function body ][ postconditions ] Here's what it could look like: vector-mul: cfunc [a [block!] b [block!]] [ (length? a) = (length? b) fold func [x y] [(number? x) and y] true a fold func [x y] [(number? x) and y] true b ][ function body ][ (length? cres) = (length? a) ] fold checks if all the elements of the block are numbers. cres is the result of evaluating the function body. If either the pre- or postcondition fails, an error will be thrown. vector-mul [1 2 none 4] [3 4 5 6] ** User Error: Precondition violated! ** Near: vector-mul [1 2 none 4] [3 4 5 6] Fold above is defined like: fold: func [ combine [any-function!] init [any-type!] series [series!] /local res ][ res: init foreach element series [res: combine element res] res ] Preconditions and postconditions can be turned off such that cfunc will return a normal func. So if speed is critical, the tests can be done while debugging. Anyway, here's the code. Hopefully someone of you have got a better version or have ideas of how to make it better. There are a few problems with this one, e.g. cres is in the global context Usage: contract/enforce my-func: cfunc as above REBOL [ Title: "Design by contract" Date: 6-feb-2001 Example: [ my-squareroot: cfunc [ x [number!] ][ x = 0 ][ square-root x ][ (cres * cres) = x ] ] ] contract: make object! [ pre-check: post-check: false enforce: does [pre-check: post-check: true] set 'cfunc func [ arguments [block!] pre-conditions [block!] body [block!] post-conditions [block!] /local new-body new-args ][ if pre-check [ insert body compose/deep [if not all [(pre-conditions)] [throw make error! "Precondition violated!"]] ] if post-check [ body: compose/deep [cres: do [(body)]] append body compose/deep [ if not all [(post-conditions)] [throw make error! "Postcondition violated!"] return cres ] ] if all [any [pre-check post-check] not find/only arguments [catch]] [insert/only arguments [catch]] func arguments body ] ] -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Want FreesiteUK's scripts?
I'm interested in obtaining those scripts of yours. chaz At 12:34 PM 2/4/01 -0800, you wrote: Hi, Just wondering, I am nearly finished converting my site from Rebol to PHP, and will therefore have no need for the scripts that my site currently uses. If anyone is interested in obtaining the scripts that run FreesiteUK, then let me know, I will send you them as soon as the new version is installed and running. Everything is controlled from a web based management system. The system consists of an opt-in newsletter system, the newsletter is generated automatically and all you have to do is press submit. There is a linktrade system that rewards other sites that link to you by mentioning the most popular on all pages and in the newsletter. There is an submit a site facility, a feedback form, a search facility (with the ability to recommend other search engines depending on the section) that is very fast and precise. There is a newsletter advert rotation rotation system and a web advert rotation system. To summarise, it is a web directory which has lots of features and took me many months to write. A demo of the management system can be found by downloading the following file, the demo requires a windows based PC. http://www.freesiteuk.com/fsuk.exe I have thought about uploading it one of those script archives, but the whole system consists of around 30 or 40 scripts. == All the best, -- Malcolm Campbell [EMAIL PROTECTED] FreesiteUK - http://www.freesiteuk.com The UK based searchable web directory of free internet services. _ Want a free web site or email address, then visit FreesiteUK: http://www.freesiteuk.com -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Scope? Any advice would be appreciated.
Late and way off the tangent, here I am! At 11:22 PM 1/27/01 -0500, you wrote: I stumbled across something tonight that appears to me to be a rather another nasty paradigm shift that I have to make (or perhaps its a bug). I have reduced the problem and wrote this function to illustrate it (I named it lcDoesnt because it doesn'd do what I expect): lcDoesnt: func [ /local b ] [ b: [ 0 0 0 ] print "The following line should ALWAYS be: 0 0 0 " print b b/3: b/3 + 1 print "The follwing line should ALWAYS be: 0 0 1 " print b print "..." ] My expectations are the following: (1) the local variable "b" will be explicity set to [ 0 0 0 ] I would expect the local variable "b" to be set to a location in memory. You've initialized the contents of that location with 0 0 0 (2) the third element of "b" will be incremented by one, thus resulting in [ 0 0 1 ] I would expect the same. (3) because "b" is declared local, it should not be accessable outside of the function It's not local scope, it's a local context, but it won't be visible in the global context, no. (4) "b" will be destroyed when the function exits I don't expect that, because the current state of the block that is giving value to lcDoesnt is stored in system/words. b will be "destroyed" when the set-word lcDoesnt: is placed before a different word or a different block lcDoesnt: "b is gone" This pattern should repeat indefinitely as "b" is being explicity set within the function. However, this is *not* the case. Only item #3 holds. The problem is that "b" is somehow static, and so static, that even when the function explicitly *assigns* its value, that the explicit assignment is ignored in subsequent calls to the function (but not the first). The set-word lcDoesnt takes the value of the function block it is adjacent to. The function block has been modified, so lcDoesnt acts accordingly. Source lcDoesnt shows the modifications of the block. lcDoesnt: func [ /local b ][ [b: [ 0 0 0 ] [ print "The following line should ALWAYS be: 0 0 0 " [ print b [ [ b/3: b/3 + 1 [ [print "The follwing line should ALWAYS be: 0 0 1 " [ print b [ print "..." [] lcDoesnt The following line should ALWAYS be: 0 0 0 0 0 0 The follwing line should ALWAYS be: 0 0 1 0 0 1 ... source lcDoesnt lcDoesnt: func [/local b][ b: [0 0 1] print "The following line should ALWAYS be: 0 0 0 " print b b/3: b/3 + 1 print "The follwing line should ALWAYS be: 0 0 1 " print b print "..." ] lcDoesnt The following line should ALWAYS be: 0 0 0 0 0 1 The follwing line should ALWAYS be: 0 0 1 0 0 2 ... source lcDoesnt lcDoesnt: func [/local b][ b: [0 0 2] print "The following line should ALWAYS be: 0 0 0 " print b b/3: b/3 + 1 print "The follwing line should ALWAYS be: 0 0 1 " print b print "..." ] Any advice would be appreciated. In my computer, there isn't "Code RAM" and "Data RAM", it's just all RAM, and all of it is there for me to modify at my will. Thanks, Victor Mascari -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Changing the original 'parse string
Sounds like we've got all the pieces to make a Turing machine. text: read http://www.ams.org/new-in-math/cover/turing.html rule: [some [ a: "tape" b: (change/part a "block" b) | a: "square" b: (change/part a "word" b) | a: "head" b: (change/part a "parse cursor" b) | a: "read/write head" b: (change/part a "parse cursor" b) | a: "left-most bit of the first argument" b: (change/part a "beginning of the first word" b) | skip ] ] parse text rule save %turing.html text chaz At 07:12 AM 12/31/00 +1300, you wrote: Brett wrote: With both bits of functionality one can do really really bizarre functions in parse. Like parse-ing the input string multiple times, or checking for the existence of a pattern further along the string and returning to an earlier point, and so on. Andrew Martin ICQ: 26227169 http://members.nbci.com/AndrewMartin/ -- -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Rebol vs Ruby
I'm trying to figure out how to implement what I think that code does. Unfortuately I get an error. It looks like it's trying to parse a series of blocks. The blocks are in the form of units of time measured in seconds, singular form of the unit, and the plural form of the unit. table.each {|unit, sing, plur| plur = sing+'s' if !plur; If the plural is absent, we assume that it is formed by adding s to the singular form. For instance the plural of "year" is "years", but perhaps, as in some contrived situation like this, the plurals cannot be formed this way. table: [ [31557816 "year" ] [2629818"month" "rewarding months"] [86400 "day" ] [3600 "hour""enjoyable hours"] [60 "minute" ] [1 "second" ] ] time: 2629818 + 2629818 + 2629818 + 3600 + 3600 + 15 ; I expect the output "3 rewarding months 2 enjoyable hours ; 15 seconds" result: "" rule: [ set unit integer! set sing string! set plur [none! | string!] ] foreach line table [ ; parse returns false if there is no plural entry if not [parse line rule] [plur: rejoin [sing "s"]] ; Unfortunately the error occurs here size: time / unit ; We want to take the integer part of size and compare it to 1 to ; determine if we need to use the singular or plural form. if [to-integer size 0][result: rejoin [result size " " either [size = 1][sing][plur]] " "] time: time // unit ] print result chaz At 01:25 PM 12/19/00 -0800, you wrote: Hi Galt, Ruby predates REBOL by a year or two (I've been on the Ruby mailing list much longer than REBOL's). IMHO you really cannot compare Ruby to REBOL. From a syntactic point of view Ruby (to me) is extremely cumbersome and cryptic. It is intended as a purely object oriented scripting language and reminds me of a mixture of Java and PHP. Here is a code sample submitted by Steve to the Ruby mailing list: #! /usr/bin/env ruby # Given the number of seconds, convert to English description table = [ [ 31557816, 'year'], [ 2629818, 'month' ], [86400, 'day' ], [ 3600, 'hour'], [ 60, 'min' ], [1, 'sec' ] ] result = "" time = ARGV[0].to_i table.each {|unit, sing, plur| plur = sing+'s' if !plur; size = time / unit if size 0 result += "#{size} #{(size == 1) ? sing : plur} " end time %= unit } puts result -- [EMAIL PROTECTED] wrote: I have been away from the list for a while, so forgive me if this has already been hashed to death. I just a few days ago ran across references to Ruby, a newish programming language invented by a man in Japan (Matsumoto something...) and it seems to have many features similar to Rebol. http://www.ruby-lang.org/en/ Anyway, as I was reading about it I started making a rough comparison to rebol. Weird how similar the names are. Anyway, let's see... They both have good web support, are interpreted, support advanced data structures, have automatic garbage collection, have context/closures, error-handling. Platform Rebol ++ great, easy install, works on lots of platforms Ruby - oriented towards unix, can work on windows with effort., only works in places like unix, and windows and dos and a few other platforms which can cobble together unix-like behavior with various add-on support modules. Multithreading Rebol - I know the apache server has some threading, but not basic reb. Ruby + good support for threads and semaphores Grpahics Rebol + graphics available now, no charge, and platform indep., easy to use Ruby - still don't have it built in, only some links to tk and other unix libs Open Source Rebol - no open source Ruby + strong open source community OOP Rebol ? rebol objects don't have real inheritance, you can do useful stuff, but they often just act as nice containers. Ruby + everything is an object, this is real oop, albeit single-inheritance. (personally, I don't care that much about oop, but if you do, you will like Ruby's oop) Performance Rebol ? Performance boosted at the loss of continuations and other niceties. Ruby ?- Probably has perf. not quite as good, but still pretty good, and they haven't jettisoned continuations, which is cool. Packages - modules for large sw dev. Rebol ? I haven't been following, but Rebol's are improving all the time Ruby + they seem to have good support for modules/libs/namespaces Size Rebol ++ Nice and small and easy to install Ruby ? Not sure how big, but probably not small like Rebol. Syntax Rebol + I like Reb
[REBOL] Re: Re(2): 'parse trick and 'unset
At 03:34 AM 12/17/00 +1100, you wrote: Change 'id, so that the full code is: line1: "Julie1234" line2: "Jules1234ffg5678" digits: charset "0123456789" id: ["" 3 4 digits ""] rule: [a: some [id | [skip b:]] (print copy/part a b)] parse line1 rule parse line2 rule Why? Because in 'line2 we instantly found 2 id's and got to the end in two steps. That's because id began with [thru "" ...], which means "jump through all input until after the first "". This happens twice and we're finished already. Remove the 'thru, and 'id is defined more precisely. Your new code makes it possible to capture what is being parsed! Thanks. block: copy [] line2: "Jules1234ffg5678" digits: charset "0123456789" id: ["" 3 4 digits ""] rule: [a: some [c: id d: (append block copy/part c d)| [skip b:]] (print copy/part a b)] parse line2 rule print block -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: REBOL in PHP
Haven't seen you on the list for a while! Glad to have you back! chaz At 10:52 AM 12/5/00 -0500, you wrote: Quick tip: In my book REBOL FOR DUMMIES (order it at http://rebolpress.com), I show how PHP code embeds in REBOL scripts. Ah, but what if you want to call a REBOL script from within PHP code? If your server is Apache and runs PHP4, it's very simple: ?PHP virtual ("cgi-bin/banner.r"); ? Why would you want to? I am a firm believer in hybrid programming--combining the strengths of two or more scripting languages for a greater whole than either of the parts can provide. In specific, while REBOL blows PHP away in most aspects, PHP provides exceptionally powerful MySQL (and other SQL) support. So the intermixing of scripting languages often gives a quick and elegant solution. Opinions welcome. And you can always demand a recountg. --Ralph Roberts -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: web site authentication
Congratulations! chaz At 05:41 PM 12/2/00 +1300, you wrote: On Fri, 1 Dec 2000 18:18:21 -0800 "Larry Palmiter" [EMAIL PROTECTED] wrote: The standard full URL for http and ftp is (using http as an example) http://user-name:password@domain:port-number/path Hi Larry, I tried that out on the site I wanted to access, and it did not work. However, by putting this in the headers sent to the site Authorization: join {Basic } enbase rejoin [ username ":" password ] I've managed to get authenticated. -- Graham Chiu -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Little parsing problem just got bigger
Except for the fact that that code contains $'s, []'s, ()'s, and {}'s, I'd say put all of ikoncode into a block and parse the whole block. Something like substituteblock: copy [] parse ikoncode [ any [thru "^$post =~ s/" original to "/" thru "/" copy substitute to "/"] ( comment{replacement code} ) ] At 04:30 PM 11/20/00 -, you wrote: Thanks to all those that helped solve/explain the parsing problem I needed help with. I managed to get that all working fine. However (there's always a however isn't there?)... The problem runs a little deeper than I thought. I'm writing a small add on to a bbs written in Perl to produce a 'Slash style' front page. The Perl bbs software allows the poster to add custom tags e.g. [color = xxx] [quote] [code] as well as interpreting www as an html link and adding a link etc. I thought there were only a few tags I had to worry about but on looking at the Perl code I find there are nearly 50 cases to worry about. I've included the perl code below (appologies for posting so much non Rebol code - but it helps explain the problem). Basically what I need to do is mimic the Perl code below in Rebol. That way I can read the post with Rebol and display the post correctly. So I guess what I need is a general purpose function to replicate the Perl regular expression search and replace function. sub ikoncode { my $post = shift; $post =~ s/\p/brbr/isg; $post =~ s|\[\[|\{\{|g; $post =~ s|\]\]|\}\}|g; $post =~ s|\n\[|\[|g; $post =~ s|\]\n|\]|g; $post =~ s|br| br|g; $post =~ s|\[hr\]\n|\hr width=40\% align=left|g; $post =~ s|\[hr\]|\hr width=40\% align=left|g; $post =~ s/\[quote\](.*)\[quote\](.*)\[\/quote](.*)\[\/quote\]/blockquotehrfont size=\"1\" face=\"verdana, helvetica\"$1\/fontblockquotehrfont size=\"1\" face=\"verdana, helvetica\"$2\/fonthr\/blockquotefont size=\"1\" face=\"verdana, helvetica\"$3\/fonthr\/blockquote/isg; $post =~ s/\[quote\]\s*(.*?)\s*\[\/quote\]/font face=arial size=1blockquotehr noshade size=1$1hr noshade size=1\/blockquote\/font/isg; $post =~ s/\[url\](\S+?)\[\/url\]/a href=\"$1\"\ target=\"_blank\"$1\/a/isg; $post =~ s/\[url=http:\/\/(\S+?)\]/a href=\"http:\/\/$1\"\ target=\"_blank\"/isg; $post =~ s/\[url=(\S+?)\]/a href=\"http:\/\/$1\"\ target=\"_blank\"/isg; $post =~ s/\[\/url\]/\/a/isg; $post =~ s/\ http:\/\/(\S+?)\ / a href=\"http:\/\/$1\"\ target=\"_blank\"http\:\/\/$1\/a /isg; $post =~ s/brhttp:\/\/(\S+?)\ /bra href=\"http:\/\/$1\"\ target=\"_blank\"http\:\/\/$1\/a /isg; $post =~ s/^http:\/\/(\S+?)\ /a href=\"http:\/\/$1\"\ target=\"_blank\"http\:\/\/$1\/a /isg; $post =~ s/\ www.(\S+?)\ / a href=\"http:\/\/www.$1\"\ target=\"_blank\"http\:\/\/www.$1\/a /isg; $post =~ s/brwww.(\S+?)\ /bra href=\"http:\/\/www.$1\"\ target=\"_blank\"http\:\/\/www.$1\/a /isg; $post =~ s/^www.(\S+?)\ /a href=\"http:\/\/www.$1\"\ target=\"_blank\"http\:\/\/www.$1\/a /isg; $post =~ s/\[b\]/b/isg; $post =~ s/\[\/b\]/\/b/isg; $post =~ s/\[i\]/i/isg; $post =~ s/\[\/i\]/\/i/isg; $post =~ s/\[size=\s*(.*?)\s*\]\s*(.*?)\s*\[\/size\]/font size=\"$1\"$2\/font/isg; $post =~ s/\[font=\s*(.*?)\s*\]\s*(.*?)\s*\[\/font\]/font face=\"$1\"$2\/font/isg; $post =~ s/\[u\]/u/isg; $post =~ s/\[br\]/br/isg; $post =~ s/\[\/u\]/\/u/isg; $post =~ s/\[img\](.+?)\[\/img\]/img src=\"$1\"/isg; $post =~ s/\[color=(\S+?)\]/font color=\"$1\"/isg; $post =~ s/\[\/color\]/\/font/isg; $post =~ s/\\http:\/\/(\S+)/a href=\"http:\/\/$1\"\ target=\"_blank\"http:\/\/$1\/a/isg; $post =~ s/\[list\]/ul/isg; $post =~ s/\[\*\]/li/isg; $post =~ s/\[\/list\]/\/ul/isg; $post =~ s/\[code\](.+?)\[\/code\]/blockquotefont size=\"1\" face=\"Courier New\"code:\/fonthrfont face=\"Courier New\"pre$1\/pre\/fonthr\/blockquote/isg; $post =~ s/\\(\S+?)\@(\S+)/a href=\"mailto:$1\@$2\"\$1\@$2\/a/ig; $post =~ s/\[email=(\S+?)\]/a href=\"mailto:$1\"/isg; $post =~ s/\[\/email\]/\/a/isg; $post =~ s|\{\{|\[|g; $post =~ s|\}\}|\]|g; return $post; } # end routine -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: Help required for a little parsing problem
parse post [ any [ to "[url]" url_start: thru "[url]" copy href to "[/url]" thru "[/url]" url_end: (change/part url_start compose [("a href = ^"") (href) ("^" target = ^"_blank^"") (href) ("/a")] url_end) ] ] Go through the post. Move to the beginning of the '[url] tag and save that position into the word 'url_start copy the value of the url into 'href move to the end of the '[/url] tag and save that position in 'url_end Replace everything between 'url_start and 'url_end with a new string composed of three strings and two instances of the value of the word 'href ('compose concatenates and evaluates) Please email me off-list with the Perl equivalent. chaz P.S. Thanks to Gabriele for his Expression Evaluator. At 04:41 PM 11/18/00 -, you wrote: Hi I'm writing an add-on for a bulletin board and need a bit of help in writing some elegant code to do the following: a variable has the content of a post -eg: post: "This is a post - Perl is good [url]http://www.perl.com[/url], Rebol is better [url]http://www.rebol.com[/url]" when this is posted to the board the text between the [url] and [/url] ends up as a link. So what I need to do is change the above text to: "This is a post - Perl is good a href = ^"http://www.perl.com^" target = ^"_blank^"http://www.perl.com/a, Rebol is better a href=^"http://www.rebol.com^" target=^"_blank^"http://www.rebol.com/a" Whilst I could probably write a (long) solution I'm sure there must be an elegant couple of line Rebol solution - one problem is that there may be any number of links in the post. Any suggestions? Thanks in advance Nigel -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] $uggestion to REBOL guru$
Is it fair for the REBOL community to wait until you're sick or between projects for us to see more of your scripts? Your "day jobs " are cutting into your REBOL time. Would money help? May I suggest that you hold your future scripts hostage. Announce scripts you would like to release, set a price for release, we'd pay in, and only when your price was met, you would release the script into the public domain. It's open-source, you get some help paying the rent, and we get to support good code. http://www.firstmonday.dk/issues/issue4_6/kelsey/ -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Re: you'll think I'm crazy, but...
Not a crazy thing at all. A person (Marcus Petersson [EMAIL PROTECTED]) on another mailing list that I subscribed to (KOSH - Kommunity Operation System and Hardware) has created an implementation of the KOSH Simple Virtual Machine (SVM) in REBOL. Its "assembly language" is a REBOL dialect. This is from his readme Installation Put the files wherever you want. Start Rebol. Type "do %svm.r" including relative path to load svm.r. Usage - There are (ATM) four user functions. Although nothing stops you from accessing other functions or variables, you shouldn't need to. Since everything is packed within one large object, you will have to precede every command by "svm/". - svm/regs: Prints a nice table showing the contents of all registers. - svm/clear-regs: Reset all registers to zero. - svm/parse-i: The main function. Trims the code and parses it. It is used by parse-file, but you can use it directly. The input should be a string containing at least one correct instruction. If parse-i finds a bad instruction, it stops and reports the name. Not very helpful I guess, but it will do for now. Otherwise it runs until the end and says ok. The syntax of the instructions (Rebol is case-insensitive by default): "name operands (opt data)" Operands are on the form $0 up to $f. Data is on the form #0123cdef for hex, or 19123695 for integer. For example: inc $0 ori $4,#0066 xori$5, 100 notand $9,$6 addi$1,$0,20 shifti $e,$e,#0002 mod $4,$b,$0 - svm/parse-file: Wants a filename as argument. This file is read and passed as a string to parse-i. Example: "svm/parse-file %svm1" svm/clone-file: Wants two filenames (infile outfile) and an integer (times) as argument. The infile is read and copied times times to a buffer, which is then written to the outfile. A large file of code can be useful to test the speed. Todo There are 7 instructions that aren't handled: tls and tlsi: Because implementing binary data types in Rebol is complicated. tls, loadi, load, storei, store: Needs some form of simulated memory. It would be cool to read instructions (in binary form) from the memory as well. This also require a pc and an instruction fetcher and decoder. branch: Also require memory and pc. The memory concept is interesting. The parse function would, instead of running the instructions directly for asm, translate them from asm to binary format. Another function, possibly the memory handler, would load the code into the memory. Then a decode function would fetch and decode the binaries from the adress which is pc's value. One function could run the code continously, yet another could step through it. Supposedly you could read and write binary code to disk too. After all the above works, perhaps we could simulate cacheing, virtual memory, interrupts and timers. Then we could build a bus, and hook some simulated hardware to it. Maybe we could let a Rebol/View window change colors according to the data in the "graphics card". :-) Bugs Plenty. If you follow the usage guide, I hope you won't trip over too many. Here's his response to my suggestion that he post it here. ~~~~ on Sat, 28 Oct 2000, chaz wrote: This is great! Makes one wonder what would happen if you added a little introduction to the aims of kosh, and crossposted this to [EMAIL PROTECTED] Uhmm no. This certainly isn't anything that would interest people in general. Not to metion I would get bashed, first for crossposting, then for writing lousy Rebol code. :-( If you're interested, you can contact him directly or subscribe to the KOSH list. To subscribe to the mailing list, send a mail to [EMAIL PROTECTED] with: subscribe kosh as the only line in the body. You will then receive an authorisation mail - reply without changing it. You're subscribed when you receive the list welcome mail. chaz At 12:33 PM 10/29/00 +, you wrote: I was wondering if it would be possible to create a sparc assemby dialect for rebol. It would be useful for prototyping assembly code for my assembly class (without need a sparc machine or assembler). Rishi -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes. -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
[REBOL] Question: Move the REBOL List? Re:
When do we start? At 06:23 PM 10/10/00 -0700, you wrote: Dear REBOL list readers: It's great to have so much activity happening with REBOL these days. Unfortunately, our servers are overloading. We're starting to have gigabyte days. While it is good to have all this activity, it is making life difficult for a few folks around here. What would you think if we were to move this main list to a site like egroups.com? That would also give you web access to archives, file lists, and other features. Your thoughts? -Carl
[REBOL] learning to parse Re:(4)
nounphrase: [ "Andrew" ] predphrase: [ "Rules!" ] string: "Andrew Rules!" parse string [nounphrase predphrase] chaz REBOL[] print enbase/64 #{26EB2D027A2D85EAFE44404E2FE1DA7247AB59A9ED4E805E} ask [] At 02:55 AM 10/7/00 -0800, you wrote: determiner: [ "Attractive" | "Intelligent" | "Visionary" | "Dangerous" - You're missing something here... "The" | "Complacent" | none ] I hope that helps! Andrew Martin ICQ: 26227169 http://members.nbci.com/AndrewMartin/ --
[REBOL] 'Help extension v1.0 Re:
This is wonderful! Now it's a part of my user.r! help system OBJECT: system WORDS: build -- (Type: date) components -- (Type: block) license-- (Type: string) product-- (Type: word) stats -- (Type: native) version-- (Type: tuple) SUB-OBJECTS: console error locale network options ports schemes script standard user view words FUNCTIONS: (none) help system/product PRODUCT is a word of value: View help system/build BUILD is a date of value: 3-Oct-2000/8:17:56-7:00 help system/version VERSION is a tuple of value: 0.10.38.3.1 help system/words OBJECT: words ** Script Error: != has no value. ** Where: switch/default mold type? get in At 06:44 PM 10/8/00 +0200, you wrote: Hi! I've done a little, but usefull IMHO, patch for the 'help command. Have you ever try to see the description of a function defined in an object using the standart help ? When using objects a lot, you couldn't use the auto-doc feature of 'help, because, it wasn't able to go inside an object! Until now...;) So, i write this patch to 'help to allow object introspection. 'Help on an object will return its words, sub-objects and functions. Now, you can do things like : a: make object! [ c: func ["print a message"][ print "I'm c in a!" ] b: make object! [ d: func ["read a web page" link [url!]][ print read link ] e: 5 ] ] help a help a/c help a/b help a/b/d help a/b/e You can even browse the system object with : help system :) Try it on your own objects ! The RIP archive is in the attached file. Just save it on your rebol dir and type : do %help-arc.rip on the command line. It will decompress the archive and create 2 files : help.r : the patch! (add do %help.r in your user.r!) diff-help.html : a 2-colored source code of the patched 'help showing where code was added (if someone want to improve the code, it would be easier...;)) Enjoy it! DocKimbel. Attachment Converted: "D:\PROGRAM FILES\EUDORA\NewAttach\help-arc.rip"
[REBOL] learning to parse
Rebol [] nounphrase: [ "Americans" | "Australians" | "Dutch" | "Germans" | "REBOLs" ] predphrase: [ "understand" | "rule" | "script" | "travel" | ] string: "REBOLs rule" parse string [nounphrase predphrase] chaz REBOL[] print enbase/64 #{26EB2D027A2D85EAFE44404E2FE1DA7247AB} ask []
[REBOL] learning to parse Re:
Rebol [] nominal: [ "Americans" | "Australians" | "Dutch" | "Germans" | "REBOLs" ] determiner: [ "Attractive" | "Intelligent" | "Visionary" ] nounphrase: [determiner nominal] predphrase: [ "understand" | "rule" | "script" | "travel" | ] string: "Intelligent REBOLs understand" parse string [nounphrase predphrase] chaz REBOL[] print enbase/64 #{26EB2D027A2D85EAFE44404E2FE1DA7247AB} ask []
[REBOL] Digest? Re:
you can unsubsribe :) and use the REBOL/Core archive http://www.REBOL.org/userlist/html/index.html chaz REBOL[] print enbase/64 #{26EB2D027A2D85EAFE44404E2FE1DA7247AB} ask [] At 11:07 PM 9/30/00 -0400, you wrote: I just subbed to this list yesterday and its got a little more traffic than I'd like. Is there a digest version? "There is nothing which can better deserve our patronage than the promotion of science and literature. Knowledge is in every country the surest basis of public happiness." - George Washington -- Jagged Alliance 2 FAQ: http://pegasus.cc.ucf.edu/~bcr19374/ja2faq.html JADG Mailing List: http://www.onelist.com/group/jadg/
[REBOL] Beer time... Re:
You deserve it! At 06:05 PM 9/30/00 -0700, you wrote: View is nearly complete with this release. There is still some work to do on edit text, and a general cleanup sweep needs to happen soon. However, I'm quite happy with where it is today. Packs a lot of punch for 360K. The next big focus for View is to get the Express features into it: encryption, authentication, certification, notification, and synchronization. A lot of 'tions, but you'll see an Express icon pop up in the next release useful stuff. As you can see from the webcam that there's a beer bust and band happening across the street from REBOL. It's Ukiah's Read Tail Ale so, now that 0.10.35 is done, I need a brew. Cheers, -Carl
[REBOL] Working with binary data Re:(2)
Great thread! Binary is cool! chaz REBOL[] print enbase/64 #{26EB2D027A2D85EAFE44404E2FE1DA7247AB} ask [] At 06:00 PM 9/26/00 -0800, you wrote: Hi Jeff: Try playing with the following code: ;=== variable: #{ 5249464624004341666D74201800010001005C774C01 B2530002332D0400 } print reform["first four bytes:" copy/part variable 4] variable: skip variable 4 print reform["next four bytes:" copy/part variable 4] print to-integer copy/part variable 4 ;=== And of course, you can assign copy/part variable 4 to another word and convert it into an integer: second-integer: to-integer copy/part variable 4 == 603979776 I hope this helps... Tim [EMAIL PROTECTED] wrote: If I read in a binary file I get this for example: variable: #{ 5249464624004341666D74201800010001005C774C01 B2530002332D0400 } How do I navigate this to get to specific values and extract them and store them in variables? The best I could do is use data: first variable BUT, I would like to be able to extract more than one at a time. Thanks, Jeff
[REBOL] Fun with Win32
Run rebmsgbox.exe Then run rebmsgbox.r Then run rebmsgbox.exe again. rebmsgbox.exe REBOL [ Title: "REBOL Message Box" Author: "chaz" Date: 28-Aug-2000 File: %rebmsgbox.r Email: [EMAIL PROTECTED] Purpose: { Creates a Win32 message box with a message of your choice. } Note: { This script demonstrates one simple technique for editing a Win32 binary using REBOL. } ] reb_exe: read/binary %rebmsgbox.exe clear at reb_exe 2061 reb_text: enbase/base "REBOL rules!" 16 reb_string: join debase/base reb_text 16 #{00} append reb_exe reb_string write/binary %rebmsgbox.exe reb_exe
[REBOL] Is there a rebol email client app yet? Re:
http://www.egroups.com/group/Rebmail At 10:07 PM 8/19/00 +1000, you wrote: I thought there was a Rebol email client app project underway. I was wondering if anyone knows if it has produced something. Brett. -- my-rebol-stuff == http://www.zipworld.com.au/~bhandley/rebol
[REBOL] interesting article - Why compilers are doomed
By Jean-Claude Wippler, creator of MetaKit, "an efficient embedded database library with a small footprint" http://www.equi4.com/jcw/wiki.cgi/56.html
[REBOL] REBOL the Official Guide Re:(3)
After reading about it for days on this list (and getting increasingly envious), today I finally received my copy of Rebol: The Official Guide, the limited edition Carl Sassenrath-signed tip sheet. The CD was in the back, as expected, and works very well. Thanks Ralph and all the folks at Alexander Press who were responsible for getting this book into my hands (it's a hefty thing!) Thanks to all the folks at RebolPress for putting it all together! Thanks Elan and John for distilling the facts into concrete examples and explanations! Thanks Carl and all the folks at REBOL Technologies for manifesting your inner REBOLs! chaz "Rule One of surviving is: Figure out what your brain will do and use that to get around what your brain won't do. This is pleasanter than hitting your head against the wall in sheer frustration and much more useful than swearing" - Peaches Dann At 06:13 PM 8/4/00 -0500, you wrote: I got my book today and wow is it packed. Totally awesome! Much better than I expected. By the way Carl thanks us all for our participation in this great list. Get the Book - you will be glad you did. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Friday, August 04, 2000 4:26 PM To: [EMAIL PROTECTED] Subject: [REBOL] REBOL the Official Guide Re: Hi, I want to make your words mine. I think Rebol just a great product and an excelent language to start programming. Carl and his team have done a real great job! I ordered my copy of REBOL Official Guide just yesterday at Amazon books by less than US$ 28 and I'm anxious to put my hands on it! Unfortunatelly in my country, Brazil, I have not found yet other people that program with REBOL to exchange some experience. I also would like to make an invitation to the people in this group that speaks Portuguese :-) to join me and help me build a Portuguese web site dedicated to REBOL. Greetings Carlos Lorenz - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Quinta-feira, 3 de Agosto de 2000 18:03 Subject: [REBOL] REBOL the Official Guide I just want to urge everyone who is serious about learning REBOL to buy the book "REBOL - The Official Guide". I dont work for REBOL or anyway profit from this book. However, I know many people on these lists have had great benefits from RT products whether beta or not. Carl and his staff have worked very hard to create a great product and I have heard great things about the book. I myself have already ordered and await anxiously for arrival. I also want to thank all of you for your help and contribution to the lists. Amazon, is asking for reviews so if you have recieved the book Im sure you will post great things about the book. Have fun everyone! Paul
[REBOL] grab your old user.r and rebol.r and go go go!
grab your old user.r and rebol.r and go go go!
[REBOL] Andrew, you beast! - GC too tidy? Re:(7)
This is the best comparison of Rebol to another language! Will it get turned into a webpage, so it can be put on the www.rebol.org links page? JB, you may not be familiar with REBOL history, but the 1.x versions of REBOL were based on Scheme semantics. REBOL was much slower back then, and had a larger executable, both the result of using the Scheme model. I've got a copy of 1.0.3 for Windows if you're curious. I have been using Scheme for about 8 years now and have done my own Scheme compiler/interpreter, so I know what you mean when you sing its praises. REBOL and Scheme are more similar than you realize, though. For the most part you can simply translate from Scheme to REBOL with no loss of functionality, and more speed too. For example: First-class closures: - Scheme: (set f (lambda (x) x + 1)) or (define (f x) x + 1) - REBOL: f: func [x] [x + 1] Symbol/Object distinction: - Both: 'symbol object Lexical scoping (other than in functions): - Scheme: (let ((x 1) (y 2)) x + y) - REBOL: use [x y] [x: 1 y: 2 x + y] The "main" REBOL dialect implements lexical scoping as its default behavior, just in a different way than Scheme does. Scheme (interpreted) has dynamic binding, so all variables are mapped to values in a lexical context, but symbols are bound to variables at runtime, at every reference. With REBOL the symbols are bound to variables once, before the code is executed. Direct binding makes REBOL more similar to compiled Scheme, even when it is interpreted. Fluid variables: Scheme needs this as a hack to get around the limitations of lexical scoping. REBOL doesn't need them because direct binding is much more powerful. Macros: With Scheme, code only looks like data, so it needs a macro mechanism. With REBOL, code IS data, so there is no distinction needed between macros and other functions. The REBOL functions for code-building are more powerful too. Language and execution model: - Scheme: Lisp-like lexically scoped language (conceptually) built on a continuation engine - pretends to be stack-based for implementation efficiency, at least if you avoid call/cc. - REBOL: Unique, two-level language (dialects on data language) built on a Forth-like stack engine for efficiency that Scheme only gets after heavy optimization (sometimes not even then). Tail-recursion: Scheme has it (side effect of the continuation engine, hacked when stacks are used); REBOL dropped it when it switched to 2.x for efficiency reasons (whoops!). I guess you have to use REBOL's extensive iterative functions instead. Continuations: Scheme has them (base of its execution model); REBOL dropped these too when it switched to a stack engine. Continuations don't make much sense with a stack engine - they only work well when the execution model is continuation-based. If you can't refactor your code to use callbacks or some such, you probably don't understand it well enough to be programming with continuations. Take a look at Icon - its goal-directed evaluation beats continuations any day of the week. Numerics: REBOL is comparable to most Schemes, but that is only because most Schemes don't implement the entire capabilities of the Scheme standard. Most people don't do much numerics in an interpreted language anyway, but I miss bignums :( List manipulation and data structures: REBOL does all of what Scheme does, and usually does it faster. The map functions are missing, but easily replaced, like replacing this: (set y (map (lamda (x) x + 1) '(1 2 3))) with this: y: copy [1 2 3] forall y [change y (first y) + 1] y: head y or if you really want map, you can make it easily yourself. Other changes (mostly to factor out some recursion) are just as easy to do. Most data manipulations are easier in REBOL. String manipulation and parsing: Throw your Scheme code away - you'll never regret it. The incredible REBOL parse dialect gets better every day - you'll wonder how you got by without it in primitive languages like Scheme :) As for unified, formal approaches, well Scheme wins there. REBOL is easily as unified as Scheme, but Scheme has been formalized to death - no contest. Hey Gabriele, do you want to help turn our context argument into a formal paper, tutorial or something? Any one else up for papers? By the way, there is nothing about REBOL's GC problem that is inherent in its execution model. It can be fixed, and it can be avoided easily until it is fixed. As GC bugs go, I've seen much worse than that. I'd still like it fixed, though :( Over all, I've found REBOL to be better at almost everything Scheme is supposed to be good at, with few exceptions. Scheme has been a great tool for years, but REBOL is much better. Unsolicited $0.02, jb I think I've put in at least $0.04, no less unsolicited :) Brian Hawley
[REBOL] Andrew, you beast! - GC too tidy? Re:(4)
At 07:34 AM 6/16/00 +0200, you wrote: [EMAIL PROTECTED] wrote: Just a thought most of the "philosophical" questions / discussions here about i.e. object lifecycle, scope, bindings, etc. would be simply, formally, and workably solved if Rebol had a true lexical scoping model. As it is, it's sort of the worst of both worlds: it's semi-fluid scope with explicit manipulation coupled with a sort of hybrid object / object lifecycle model that is never really formally elaborated. Without knowing the internal nitty gritty of the implementation, it's hard to say if this is endemic to Rebol or not, but looking at i.e. the potential solutions to similar problems in early Lisps vs. Scheme, I'd say there's a whole lot of good reasons for solving the problem now. Just a note - isn't it too late, if two book on REBOL are already finished? Elan, Ralph? :-) -pekr- Not too late, if solution is implemented correctly. Since the strength of Rebol is dialecting, then we should maintain backward compatibility through dialects. Rebol/Core 2.x scripts would not break if there was a "2.0 dialect" included with Rebol/Core 3.x. RT needs more staff and money, so Core team can focus on philosophical issues, and special task forces can focus on integrating Core with other technologies (Graphics = /View, OS and Databases = /Command, WebServer = /Apache). By overcoming implementation challenges, the task forces gain knowledge that they can bring back to /Core that will empower RT to overcome new challenges when integrating into other technologies (imagine multiprocessing = /Beowulf, Home Automation = /Base, streaming media and telephony = /Yell) But the real money may be in business-to-business. Imagine your company has developed an incredible software product whose functionality can be extended through use of a C API. Users would much rather have an easier means than going through a write-compile-test cycle to extend the product's functionality. If Rebol was integrated into the product, then user productivity would skyrocket. Case in point, Remedy Corporation has a workflow product called Action Request System (ARS). The 2 means of accessing its power are through a GUI and the ARS C API. At the State University of New York at Buffalo, users created ARSPerl, a perl module that encapsulates the function of the Remedy ARS C API. To my way of thinking, they turned to Perl because RT wasn't there to save them. What other opportunities might RT missing?
[REBOL] REBOL and the unix shell Re:(4)
Here's a prototype that Ted Husted was working on at one time. I wonder what happened. http://husted.com/rebol-dev/home.html At 01:52 PM 6/14/00 -0500, you wrote: Hey, combine these articles with the script library, online documentation, news headlines, links, discussion board, a REBOL store (hey, who doesn't want a t-shirt, anyway?) and an open-source project area and you have a very cool resource. 8-) My real hope is that if I get a bunch of these articles together, other people would be interested in contributing some domain specific articles of their own to the collection. REBOL is used for a universe of tasks, and various people out there know the complete ins and outs of doing a particular task with REBOL. IMHO, their specialized REBOL knowledge should be recorded and shared with the rest of the community.
[REBOL] rebol for dummies Re:(2)
Will binaries for all 37 platforms be available on the CD? At 01:17 PM 6/10/00 -0400, you wrote: Well, it looks like REBOL is finally going to hit the big time. There is going to be a "Dummies" book out in September. 8-) There is? Well, since the cat is out of the house so to speak, yes there is going to be one.g I just finished it literally today and emailed the final parts to my editor. --Ralph Roberts
[REBOL] More stupid Questions Re:
What platform are you running on, and what version do you get when you type about in the console? REBOL [ ... ] Text: read %File.asc a: now Text: join Text a print Text write %NewFile.asc Text At 06:56 AM 6/10/00 +0200, you wrote: If I have this script REBOL [ ... ] Text: read File.asc a: now Text: join Text a print Text write NewFile.asc Text the Date is NOT added at the end of the file. Instead of File.asc get an extra [NewLine] and the Date is joined in the next line. Example:This is the time now: 12.12.1212 Question: How can I join Text to an ascii file _in the same line_ ??? This is I want to get: This is the time now: 12.12.1212 TIA FreeJack
[REBOL] Getting an URL from a form Re:(3)
Maybe this will help http://www.rebol.cz/~rebol/cgi/ At 09:44 AM 6/8/00 +0200, you wrote: Hi, uhm, I'll try to explain what I want to do. The site I'm looking at is a company that sell DVD movies. They have a function to search for movies. I want to be able to make that search, not by going to their homepage and typing in the form below, but just to enter an URL (or send an URL from a Rebol script actually), and then parse the returned page to get the info I want. The problem is that I don't know the syntax of the URL being sent (if it's possible to use an URL). IE. one of their links show something like: http://www.dvdshop.com/dvdsearch.asp?category=Horror if I press that link I get a list of all the horror movies. However, when it comes to the search form, I'm unable to figure out what the URL should look like. I've tried for example: http://www.dvdshop.com/dvdsearch.asp?title=Scream However, this isn't working, and I'd like to know what the info being sent to their script look like, so I can reproduce it in my Rebol script. As I see it, there's only thing I can do. Learn what all those ? = etc. mean in a form posted URL and use trial and error... Or if I can capture the info sent from the form somehow to read and be able to reproduce it from a script. //Regards Stefan Falk -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: den 7 juni 2000 20:03 To: [EMAIL PROTECTED] Subject: [REBOL] Getting an URL from a form Re: Hey Stefan, I dont quite understand what your trying to do, but I will try to give you some information you may be able to use anyways. As you should already know HTTP servers take information from forms and pass it to a CGI program using POST or GET. The GET request can pass data via URL encoding such as "www.foobar.com/test.cgi?test=on". With POST, your data is sent additionally, not as part of a URL. This prevents your data from being viewed or entered as a URL, and as I understand was inpart the reason they came up with POST. Hope I helped, --Ryan [EMAIL PROTECTED] wrote: Hi list, this might not be Rebol related directly, but since I intend to use the info for a rebol script I guess it's ok. Anyways, here we go. There's a page with a search form, and I'd like to know what the POSTed URL look like. The source goes something like this: FORM ACTION="search.asp" method=post target="rightframe" NAME=frmSearch TD width=15 height=1/TD TDINPUT TYPE="text" SIZE=11 NAME=word/TD TR TD/TDTDINPUT TYPE="radio" NAME="search" VALUE="actor" CHECKED IMG SRC="Actor.gif"/TD /TR TD/TDTDINPUT TYPE="radio" NAME="search" VALUE="title" IMG SRC="title.gif"INPUT TYPE=image SRC="search.gif" BORDER=0 ALT="Search"/TD /FORM Of course, I tried to (naive as I am), to post an url that has the form data like this: http://blaaah.com/search.asp?title=blaaah but this isn't the right one. Is there any way I can instead of performing the search just see the url? Any info appreciated //Regards Stefan
[REBOL] My 2 cent contribution Re:
we could call it iloveyou.r that's evil. At 11:14 AM 5/28/00 -0500, you wrote: Run it all on the Rebol server.r script from the personal computer. (it has been done allready but its in pieces all over the place)Make sure you put one of those thingamabobs (Reb link) on it. Rebolists should be encouragd to put this link on their web page as well as a replacement for the guest books. Now What? we have our first true means for networking in a one to many messaging enviornment. Who can do it? It's open because anyone can add their own gui's and upgrades to it through a script list. Now users can customize with out having to program.(thats want public users like about apps anyway when they are non trivial)
[REBOL] Rebol Tutorial on TUCOWS
http://htmlstuff.tucows.com/programmer/reboltut/rbastut1.html
[REBOL] Shareware Industry Awards 2000, People's Choice Award
Who do you love, baby? http://www.siafvoting.com/sic2000/index.cfm Best Overall Utility : Best Application : Best Graphics Program or Utility : Best Sound Program or Utility : Best Vertical Market Program or Utility : Best Business Application or Utility : Best Educational Program or Game : Best Hobby or Personal Interest Program : Best Internet Enhancement or Utility : Best Web Enhancement or Utility : Best Game - Non-Action/Arcade : Best Program or Utility for PDAs : Best Action / Arcade Game:
[REBOL] Calling external functions Re:(3)
rebol's 'do is like c's '#include Although you can put many functions into one .r file, you can put one function in each .r file. Go to the script archive at http://www.rebol.org for examples of this. Although I haven't done so, or thought of a good reason to do so, I could write .h file for each separate function. Maybe they would be big functions. At 04:13 PM 5/18/00 +0200, you wrote: At 15:51 2000-05-18 +0200, you wrote: you must 'do' the file. if you do it the whole file is evaluated try to give each function in a single file Hello! Are you saying that I have to have only one function in each file?!? There must be some way to 'include' a whole script and then calling each function separately? Best regards, Peter Carlsson Peter CarlssonTel: +46 31 735 45 26 Saab Ericsson Space ABFax: +46 31 735 40 00 S-405 15 Göteborg Email: [EMAIL PROTECTED] SWEDENURL: http://www.space.se
[REBOL] external operating system calls Re:
At 04:25 PM 5/1/00 -0500, you wrote: How can you run command line operating system calls in Unix or Windows from a Rebol script? thanks, Steve Can't do it with Rebol/Core. You'd need Rebol/Command, which is available to Beta testers. Propose a project that meets Carl's 5 requirements (below), email it to Dan, and wait for Dan's reply. At 12:49 PM 4/19/00 -0700, you wrote: Dear REBOL friends, ...snip... So, what about REBOL/Command? That's what you want to know, right? There is both good news and bad news. The good news is that, yes, we do have /Command out to a small group of beta testers and the feedback has been positive. The bad news is that it runs on only a few platforms at this time, and we want to put more features into it before we release it to a larger group. Currently, the beta release of /Command has ODBC, external library (DLL) calls, and shell command access. But, I thought you wouldn't want to hear from us until we also had encryption, asynchronous messaging, network service management, full XML support, modules (namespaces), on-demand component loading, tasking/threading, etc. So, we didn't make a big deal out of the beta 1 release. Of course, I forgot about that yesterday and blurted out that it was in beta, and now you want to try it. I can't blame you. I would too! So, what now? We don't want to do an open beta test of /Command because it will become too crazy, and we'll be overloaded. ...snip... So, here's my suggestion. I have to talk to Dan about it, but, if you really want to test /Command beta 1, and you can: 1. test it with an actual database (using ODBC), 2. test the external library and shell calls, 3. not just report bugs, but suggest about how they might be fixed, 4. keep it strictly confidential and to yourself, 5. and, you do not care that it only runs on a few platforms right now, then we could send you a copy... after Dan approves it. But remember, /Command will be released as a commercial product and, because of the features it supports, it is not intended to be platform independent (like /Core is). If you agree to this, then send [EMAIL PROTECTED] an email telling him what kind of project you are doing, and he will get back to you. Do not worry if Dan says no. As we add more features to /Command, we'll need more beta testers. Right now we don't have the staff to keep up with the demand and feedback. (Although, we do plan on expanding our staff in a couple months, so if you're looking for a new job...) So that's the plan. Keep on rebolling, Carl Sassenrath REBOL/Founder
[REBOL] REBOL and e-commerce Re:
I like your writing style! Have you considered writing a REBOL book? Of course, it would be uncivil of me to just brag about the neat ap I wrote without telling you HOW it works. It's pretty trival; the real headache is getting the HTML commands to format right--nothing to do with the REBOL code, HTML is just a pain on good days. ... Meanwhile, enjoy. REBOL truly is Perl without the complication. --Ralph Roberts
[REBOL] Rebol/Command Sherman Re:(3)
Joe Marshall was working on a compiler based on Rebol 1.0 (the current version is 2.2.0.3.1) I don't know what became of it. http://www.greenspun.com/bboard/q-and-a-fetch-msg.tcl?msg_id=000VTm At 09:28 AM 4/26/00 +0100, you wrote: [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] wrote: # 2 Does anyone know of or have a REBOL compiler, I know of one called Sherman, but am unable to locate it. There's Sherman. And that's about all, I believe. What's that? I don't know much about compiler technology, but REBOL seems quite impossible to compile.. :) -- /Johan Rönnblom, Team Amiga In a recent survey, it was found that only 16% of people are normal.
[REBOL] [REBOL] System object documentation Re:
use Bo's browse-system.r script from http://www.rebol.org/utility/index.html either download it, or type these two commands in a Rebol window browse: read http://www.rebol.org/utility/browse-system.r do browse At 02:36 PM 4/9/00 -0800, you wrote: I can't seem to find documentation on the system object. Dictionary says: "For advanced discussion on system, see the Users Guide" But I find little or nothing on the subject. I also note that even Rebol/View locks up (on Windows NT) when I attempt print mold system or probe system. Where can I find complete documentation? thanks tim
[REBOL] [REBOL]Formatting variables in strings Re:(3)
Also print ["the numbers are:" test "and" test + 1] print ["the numbers are:" test "and" add test 1] At 11:19 AM 4/3/00 -0800, you wrote: Thanks: That did it! tj At 10:12 AM 4/3/00 -0800, you wrote: print reform ["the numbers are:" test "and" (test + 1)]
[REBOL] [REBOL]Advice in using global values Re:
This time to the right list! At 02:49 PM 4/2/00 -0800, you wrote: How do I make a value global? That is, so that it can be "seen" by any code in a file, include user-define functions? I would also welcome advice as to the pro and cons of using globals, as well as when best to use them, and what under what circumstances where such usage would be a bad idea. thank in advance. tim I was wondering about that too. Maybe if I reply to this we can get Allen, Andrew, Gabriele, pekr, Robert, or Volker to give a definitive answer... Just another newbie here, also trying to improve my style... So forgive me if I'm covering the same ground you've been over... Mostly I'm just thinking out loud about this topic, areas where I assume there is a more accurate explanation I've marked with a (?) symbol... If you define words after the Rebol[] block at the head of your script, myscript.r Rebol[] my_global_1: [1 2 3 4] my_global_2: "abcd" and then do %myscript.r my_global_1 and my_global_2 will be added to system/words (?), and available to all scripts that run afterwards in that Rebol window. They will occupy space in memory until you close the Rebol window, regardless if they are used frequently or used rarely. As a programmer you have to keep track of them and their side effects. You don't want to have to deal with more of them than you need to. Throughout your entire program, you can have lots and lots of variables, but the number of variables at any given moment should be low; the variables you don't yet need shouldn't be loaded, and the variables you're finished with should be freed from memory. As Rebol reads through a script, when it encounters begin-block symbol ( "[" ) it sets aside a special place (?) for any variables that are subsequently defined. When Rebol encounters the corresponding end-block symbol ( "]" ) all the variables in that special place are freed(?). So, to keep the number of variables low, you want to insure that variables are defined as late as possible, and freed as early as possible. The way to do this is to divide your script into blocks ( "func" blocks ), and do not introduce variables until you reach the block you need them. Get the user's guide available from do http://www.rebol.com/users-guide.r on the page expfunctions.html, there is a very short section on func blocks, also read about scope. ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ That raises another question. How do you make variables seen by other Rebol windows? Let's imagine that you're doing some very intense calculation (e.g. creating a fractal image, calculating pi, removing noise from a sound file, etc.) and you start your Rebol script on a machine that you know has some kind of limitation (e.g. your account has a time limit, or the hard drive has very little remaining space, or the operating system has low system resources, etc.). You want to stop for now and continue later in a better environment. One way to do this might be to save all your variables to a file, email it to the other machine (or machines, if you have more than one), and then reload the variables later in that better environment, and then run your script again. What are some other alternative ways of running scripts across multiple machines? An eventual goal might be a "Beowulf"-style massively parallel multiple processing system held together by Rebol. At 01:19 PM 4/2/00 -0700, you wrote: Hi t, A file! type is a filename with a leading % character. Example: %myfile.r %/c/mydir/. A file! may be any type of file, including a directory. A port! datatype is a low-level i/o abstraction that REBOL uses to serialize different types of i/o channels, such as files (here we are not talking about the filename, but access to the file's contents), and socket i/o. The access to ports is typically controlled by protocols that define how information is read and written to a port, and also commonly implement some convenient navigation functions for the port's datastream, such as first, next, insert, pick, etc. These functions work in a sensible way on a port! datatype. They enable you to treat ports as though they were series values (i.e. blocks, paths, hashes ...) to a degree, hence the term serialize is used to describe this type of access to i/o channels. There are some limitations, since not all ports lend themselves to being treated as a series effectively with respect to all series! functions. I haven't been following this thread, so I don't know why you are using ports. Generally speaking, it is often more convenient to use higher level functions when dealing with files, then accessing them as ports. read, write, read/lines, write/append write/lines, write/append/lines, save, load, come to mind. All of these functions take a filename (type file!), and do not require that you manage the file on the port level, for instance with respect to positioning, etc. Hope this helps. ;- Elan [: - )]