[REBOL] Re: Forum Name

2004-01-06 Thread Chaz

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

2002-08-16 Thread chaz

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)

2002-05-01 Thread chaz

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

2002-03-23 Thread chaz

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?

2002-03-08 Thread chaz

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?

2002-03-06 Thread chaz

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)

2002-02-28 Thread chaz

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)

2002-02-28 Thread chaz

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)

2002-02-26 Thread chaz

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)

2002-02-26 Thread chaz

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)

2002-02-25 Thread chaz

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

2002-02-25 Thread chaz

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

2002-02-22 Thread chaz

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

2002-02-20 Thread chaz

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

2002-02-07 Thread chaz

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

2002-02-07 Thread chaz

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?

2002-02-05 Thread chaz

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

2002-02-04 Thread chaz

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

2002-02-02 Thread chaz

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

2001-12-24 Thread chaz

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

2001-12-04 Thread chaz

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?

2001-12-03 Thread chaz

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

2001-12-03 Thread chaz

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)

2001-11-14 Thread chaz

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...

2001-04-02 Thread chaz

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!

2001-02-24 Thread chaz

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

2001-02-08 Thread chaz

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?

2001-02-06 Thread chaz

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.

2001-01-30 Thread chaz

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

2000-12-31 Thread chaz

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

2000-12-20 Thread chaz

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

2000-12-17 Thread chaz

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

2000-12-05 Thread chaz

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

2000-12-01 Thread chaz

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

2000-11-21 Thread chaz

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

2000-11-19 Thread chaz

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$

2000-11-10 Thread chaz

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...

2000-10-29 Thread chaz

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:

2000-10-12 Thread chaz

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)

2000-10-08 Thread chaz

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:

2000-10-08 Thread chaz

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

2000-10-07 Thread chaz

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:

2000-10-07 Thread chaz

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:

2000-10-01 Thread chaz

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:

2000-10-01 Thread chaz

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)

2000-09-26 Thread chaz

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

2000-08-28 Thread chaz

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:

2000-08-20 Thread chaz

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

2000-08-19 Thread chaz

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)

2000-08-08 Thread chaz

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!

2000-06-24 Thread chaz

grab your old user.r and rebol.r and go go go!




[REBOL] Andrew, you beast! - GC too tidy? Re:(7)

2000-06-20 Thread chaz

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)

2000-06-16 Thread chaz

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)

2000-06-15 Thread chaz

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)

2000-06-11 Thread chaz

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:

2000-06-10 Thread chaz

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)

2000-06-08 Thread chaz

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:

2000-05-28 Thread chaz

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

2000-05-19 Thread chaz

http://htmlstuff.tucows.com/programmer/reboltut/rbastut1.html




[REBOL] Shareware Industry Awards 2000, People's Choice Award

2000-05-19 Thread chaz

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)

2000-05-18 Thread chaz

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:

2000-05-05 Thread chaz

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:

2000-04-27 Thread chaz

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)

2000-04-26 Thread chaz

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:

2000-04-10 Thread chaz

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)

2000-04-04 Thread chaz

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:

2000-04-04 Thread chaz

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  [: - )]