[REBOL] Re: What does REBOL fix?

2003-12-15 Thread Jason Cunliffe

> REBOL - When one language just isn't enough.

nice :-)
-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.



[REBOL] Re: What does REBOL fix?

2003-12-15 Thread A J Martin

REBOL - When one language just isn't enough.

Andrew J Martin
Speaking in tongues and performing miracles.
ICQ: 26227169
http://www.rebol.it/Valley/
http://valley.orcon.net.nz/
http://Valley.150m.com/
-><-

-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.



[REBOL] REBOL/View 1.3 - invalid word datatype

2003-12-15 Thread rebOldes

Hello Carl,

As you are preparing new build of Rebol, I would like to ask you, If
it would be possible to change somehow handling of "invalid datatypes"

As I'm working on a probably the largest known dialect using Rebol -
the Rebol/Flash dialect ( http://oldes.multimedia.cz/swf/ ), I
still feel very limited because of impossibility to use some words.

For example I would like to have in my dialect code words like this
one:

>> objects/1._x
** Syntax Error: Invalid decimal -- 1._x
** Near: (line 1) objects/1._x

As you can see, it's recognized as an invalid decimal.
So here comes the question. Would it be possible to change this
behavior to something which we could use? There were already some
discussions on mailing list about this issue months ago, but I still don't know your
opinion.

I think the best way would be to handle these 'invalid' words as a
special word which would not be able to hold some values but I would
be able to parse this word as a normal string.

If it will be a problem maybe it would help to use some
refinement in the 'load function not to throw these "invalid datatype"
errors and convert these "invalid datatypes".

If you would make this change, I would be able to make for example
functions as are known in other languages for example:

myFunc(a, 2, a + b)

because loading such a dialect would not throw error like:
>> load [myFunc(a, 2, a + b)]
** Syntax Error: Invalid word -- a,
** Near: (line 1) load [myFunc(a, 2, a + b)]


Thank you for your response,
David Oliva alias Oldes

-- 
Best regards,
 rebOldes -[ http://oldes.multimedia.cz/ ]

-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.



[REBOL] Re: What does REBOL fix?

2003-12-15 Thread Jason Cunliffe

> With Rebol the one language does all of this.  Rebol
> handles the CGI, it describes the content and format
> of the user interface.  It describes how the interface
> should react to user requests.  The messages passed
> between client and server are themselves dialects of
> Rebol.
>
> This is because Rebol was designed to be able to run
> across multiple machines.
>
> Whereas the traditional implementation is a variety of
> languages, protocols and platforms working together
> the result with Rebol is effectively a single,
> distributed application.

Well yes and no.
Python and others do all that. Ok You probably need to load a module, but in
reality that's how all programs do it. Yes sure Rebol bundles core internet
protocols without need to load anything. But any serious Rebol application
is going to load other scripts anyway, for example rugby, XML, ML etc.

How many webservers do you know are written in rebol and in active in real
world use ?
For example is rebol.com using a rebol-based web server ?
Simply I dont think it is essential or necessarily desirable to do it all in
one language.
What is essential is easy interoprability.

Most of the good internet languages, once a well written module exists come
down to a couple of lines only

import xyz
init xyz
doit etc..

Rebon is sweet and short. For verbosity I'd say Python is perhaps half-way
between Java and Rebol. But being ineractive much faster than  Java and more
fun to play with like Rebol.
Here's a simple FTP session example from the docs
http://www.python.org/doc/current/lib/module-ftplib.html

- Jason

-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.



[REBOL] Re: What does REBOL fix?

2003-12-15 Thread Maxim Olivier-Adlhoch

"data is more than just bits and bytes"

"Elegance through simplicity"

"Learn once, apply throughout"

"it slices, it dices, now I'm learning it to do my coffee at 7h00 AM"

"cause statements and variables are obsolete"


-MAx
---
"You can either be part of the problem or part of the solution, but in the end, being 
part of the problem is much more fun."
 

> -Original Message-
> From: Gregg Irwin [mailto:[EMAIL PROTECTED]
> Sent: Monday, December 15, 2003 12:48 PM
> To: Ged Byrne
> Subject: [REBOL] Re: What does REBOL fix?
> 
> 
> 
> Hi Ged et al
> 
> After reading your post, I'd like to submit a couple more ideas:
> 
> "The world needed more than just another 'programming' language"
> 
> "It's all about communication"
> 
> -- Gregg 
> 
> -- 
> 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: What does REBOL fix?

2003-12-15 Thread Ged Byrne

Hi Jason 
 --- Jason Cunliffe <[EMAIL PROTECTED]>
wrote: > 
> Yes but that is still also true for  HTML, XSLT,
> Perl, Python, PHP, Java, C,
> etc..
> 
> - Jason
It is true for a combination of these languages.

For example, you may have PHP on the server emitting
XML that then gets transformed to HTML which then gets
rendered on the users browser.  Embedded within the
HTML is Javascript for handling the users events.  For
a standard web app Communications between the server
and client are encoded using a combination of URL,
QueryString, headers and HTML.

Not one of the languages can handle the whole thing.

The closes you could get would be to have a Java
server and a Java applet or application communiacting
via socket.  To do this your still having to use
additional libraries.  You would still have to create
or implement a protocol by parsing the data from the
sockets stream and reacting to its content.

This is because the langauges were designed to run on
and use the facilities of a single machine.  The
physical boundaries are reflected in the language, and
have to be coded around.

With Rebol the one language does all of this.  Rebol
handles the CGI, it describes the content and format
of the user interface.  It describes how the interface
should react to user requests.  The messages passed
between client and server are themselves dialects of
Rebol.

This is because Rebol was designed to be able to run
across multiple machines.  

Whereas the traditional implementation is a variety of
languages, protocols and platforms working together
the result with Rebol is effectively a single,
distributed application.




BT Yahoo! Broadband - Save £80 when you order online today. Hurry! Offer ends 21st 
December 2003. The way the internet was meant to be. 
http://uk.rd.yahoo.com/evt=21064/*http://btyahoo.yahoo.co.uk
-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.



[REBOL] Re: What does REBOL fix?

2003-12-15 Thread Gregg Irwin

Hi Ged et al

After reading your post, I'd like to submit a couple more ideas:

"The world needed more than just another 'programming' language"

"It's all about communication"

-- Gregg 

-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.



[REBOL] Re: What does REBOL fix?

2003-12-15 Thread Jason Cunliffe

> What I was referring to was the distributed nature of
> Rebol, the facts that it is designed for writing
> applications that run on several computers.

Yes but that is still also true for  HTML, XSLT, Perl, Python, PHP, Java, C,
etc..

- Jason

-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.



[REBOL] [REBOL.org] Recent changes

2003-12-15 Thread rebol
[REBOL] [REBOL.org] Recent changes

This is an automatic email from REBOL.org, the REBOL Script Library to notify you of 
recent changes to the Library.

===changes===
substr.r
--change: new script
--title: Simple substring function - with the addition of error message to prevent  
'none' shown


===additional information===
new and updated scripts: 
http://www.rebol.org/cgi-bin/cgiwrap/rebol/search.r?special-filter=recent

===end===
--The Library People
--15-Dec-2003

-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.



[REBOL] Re: read directory

2003-12-15 Thread Tom Conlin



can't create a file & dir with the same name in the same place on solaris


On Mon, 15 Dec 2003, Anton Rolls wrote:

>
> I am starting to wonder now.
> Has anybody seen this?
>
> Anton.
>
> > Hi Anton,
> >
> > AR> you can't have a dir and a file with same name.
> >
> > Under Windows that may be true, but is it true for all platforms?
> >
> > --Gregg
>
> --
> 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: What does REBOL fix?

2003-12-15 Thread Ged Byrne

I'm wasn't referring to the availability of Rebol on
different platforms.

What I was referring to was the distributed nature of
Rebol, the facts that it is designed for writing
applications that run on several computers.

"REBOL was designed to solve one of the fundamental
problems in computing: the exchange and interpretation
of information between distributed computer systems."
http://www.rebol.com/rebol-intro.html

 --- Joel Neely <[EMAIL PROTECTED]> wrote: > 
> Hi, Ged,
> 
> Ged Byrne wrote:
> > 
> > Because every other language is trapped on just
> one computer.
> > 
> 
> Let's be fair.  There are MANY languages that are
> highly portable
> in today's world: Perl, Python, Ruby, Java, and a
> whole slew of
> open-source efforts.
> 
> And we're still waiting for the MacOS/X version of
> /View...
> 
> -jn-
> 
> 
> -- 
> To unsubscribe from this list, just send an email to
> [EMAIL PROTECTED] with unsubscribe as the
> subject.
>  


BT Yahoo! Broadband - Save £80 when you order online today. Hurry! Offer ends 21st 
December 2003. The way the internet was meant to be. 
http://uk.rd.yahoo.com/evt=21064/*http://btyahoo.yahoo.co.uk
-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.



[REBOL] Re: What does REBOL fix?

2003-12-15 Thread Jason Cunliffe

- Rebol fixes boredom and conformity..

- Rebol because its different and fun

- Rebol fixes itself :-)


-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.



[REBOL] Re: What does REBOL fix?

2003-12-15 Thread Jason Cunliffe

- Because Life is a dream and everythind and all Data is a stream

- ODTAA: one damn thing after another. Rebol serializes Data by default.

- Rebol - the Killer Serial App
-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.



[REBOL] Re: Guru's please help improve ROT13 algorithm !

2003-12-15 Thread Arie van Wingerden
Hi guys,

thanks a lot for all the comments and the debate that followed. I think that things 
have been put into a better perspective now :-)

Met vriendelijke groet / with kind regards,
Arie van Wingerden
http://home.zonnet.nl/rebolution

  - Original Message - 
  From: Joel Neely 
  To: [EMAIL PROTECTED] 
  Sent: Sunday, December 14, 2003 10:24 PM
  Subject: [REBOL] Re: Guru's please help improve ROT13 algorithm !



  I submitted a cleaner one (than what's on the ROT13 page) along with
  some remarks, and copied the list here, and then saw Sunanda's reply:

  [EMAIL PROTECTED] wrote:
  > 
  > http://www.rebol.org/cgi-bin/cgiwrap/rebol/view-script.r?script=rot-13.r
  > 

  WRT that version, I'll add my $0.02...

  rot-13: func [
   {Converts a string to or from Rot-13}
   data [any-string!]
   /local scrambled rot-chars rot-char
  ][
   rot-chars: 
  {anabobcpcdqderefsfgtghuhivijwjkxklylmzmANABOBCPCDQDEREFSFGTGHUHIVIJWJKXKLYLMZM}
   scrambled: copy ""
   foreach char data [
   if none? (rot-char: select/case rot-chars char) [rot-char: char]
   insert tail scrambled :rot-char
   ]
   return scrambled
  ]

  My suggestions follow:

  1) I prefer to avoid typo-prone strings when I can.
  2) Both the above and my submission to the ROT13 site would benefit
  from comments explaining the construction of the translation
  string as related to SELECT/CASE.  It is a nice REBOL-ism that
  we only need 39 characters per case as opposed to 52!
  3) I'd rather initialize the result as an empty string with the full
  (known) length preallocated to avoid excessive memory management
  overhead for longer arguments.
  4) The use of the get-word (:ROT-CHAR) is surprising (but marginally
  defensible by speed?)
  5) The if-none-then-use-default pattern is a great opportunity to use
  another REBOL-ism, ANY.

  I did a little benchmarking with four versions:

  "  code" - is the version from my earlier post,

  "if/get" - replaces the FOREACH body with

   if none? cc: select/case xlate ch [cc: ch]
   insert tail result :cc

   similar to the version in the script library

  "if" - simply replaces the get-word (:CC) with the word itself

   if none? cc: select/case xlate ch [cc: ch]
   insert tail result cc

  "either" - evaluates the replacement character as an expression
   as the last argument of the INSERT

   insert tail result
   either none? cc: select/case xlate ch [ch] [cc]

  The results of a quick timing test (50,000 evaluations of each
  function on a 243-character string) are

   >> rot13/time-it 5 datum
 code: 108.356
   if/get: 132.24
   if: 133.502
   either: 137.117

  The use of the get-word saves about 1% to the run-time of the function
  (if/get vs is).  The time for EITHER vs IF was a bit of a surprise to
  me, because it added another 3-4% to the run time.

  Comparing the object/method version vs a stand-alone function, we can
  pull a REBOL-persistence-of-series trick:

  rot13: func [s [string!] /local result xlate] [
   if empty? xlate: "" [
   for ch #"a" #"m" 1 [append xlate reduce [ch  ch + 13  ch]]
   for ch #"A" #"M" 1 [append xlate reduce [ch  ch + 13  ch]]
   ]
   result: make string! length? s
   foreach ch s [
   insert tail result any [select/case xlate ch ch]
   ]
   result
  ]

  (not that I'd ever write somehing like that, for several reasons ;-)
  or embed the translation strings in place of the local XLATE, and get
  the following timings:

   >> fn-vs-obj 5 datum
  method: 108.255
stateful: 107.405
   stateless: 107.514

  where "stateful" is the above ROT13 function, and "stateless" uses the
  literal instead of persistence.

  Any critiques or suggestions for improvement to my object-based version
  are welcome!

  -jn-


  -- 
  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: What does REBOL fix?

2003-12-15 Thread Joel Neely

Hi, Ged,

Ged Byrne wrote:
> 
> Because every other language is trapped on just one computer.
> 

Let's be fair.  There are MANY languages that are highly portable
in today's world: Perl, Python, Ruby, Java, and a whole slew of
open-source efforts.

And we're still waiting for the MacOS/X version of /View...

-jn-


-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.



[REBOL] Re: What does REBOL fix?

2003-12-15 Thread Ged Byrne

 --- Gregg Irwin <[EMAIL PROTECTED]> wrote: > 
> Hi Sunanda,
> 
> Sac> Can we find a snappy one-liner?
> 
Because every other language is trapped on just one computer.


BT Yahoo! Broadband - Save £80 when you order online today. Hurry! Offer ends 21st 
December 2003. The way the internet was meant to be. 
http://uk.rd.yahoo.com/evt=21064/*http://btyahoo.yahoo.co.uk
-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.



[REBOL] Re: rot13

2003-12-15 Thread Ladislav Mecir

Hi Julian,

thank you for taking time to discuss the things. Some opinions are well 
informed:

>First, to be fair, some things I like about rebol:
>
> - very obvious influence from both lisp and forth, both of which are
>   interesting, complementary languages.  (this covers a lot of aspects
>   of the language and its distribution)
>  
>
Yes, it is observable, that Rebol has inherited some advantages of both 
languages.

> - prototype-based OO, like self.
>  
>
This may be a matter of personal preferences. I like it too, but some 
users prefer a class-based approach. It may be "mimicked" to some extent.

> - the syntax elements are relatively orthogonal.
>  
>
Agreement here.

> - the way that evaluation is structured so as to make it unnecessary to
>   have a fancy macro system is neat, although I don't fully know the
>   ins and outs of it so I'm not sure exactly how it stacks up against
>   CL, or scheme.
>  
>
This is the true innovation. It brings the feature its author calls 
"dialecting". Without it Rebol wouldn't be as malleable and appealing as 
it is.

>Meanwhile, the following are some utterly subjective reasons, off the
>top of my head, why I still do not use rebol:
>(and, it should be noted, some of these may spring out of ignorance, or
>just that I'm feeling tired today.)
>
> - no open source compiler for the language, it seems, and the language
>   appears to be controlled by a single company.  (a negative to me, no
>   matter how good-willed the employees of that company)
>  
>
This can be called and "utterly subjective" reason. It ceases to be true 
these days, because there are open source projects cloning language 
features.

> - a lot of things seem magic (as with perl), and the line between the
>   language, its libraries, and its necessary runtime support is very
>   unclear (also a fault, to some extent, of both forth and lisp).
>  
>
I take is as an overall description of the things detailed below.

>   A specific example of the above that bugs me is that operators and
>   functions behave differently (and you don't seem to be able to define
>   infix functions).
>
Yes, the behaviour of operators differs from the behaviour of the 
(prefix) functions. Although there isn't a way to define your own infix 
operators yet, this can be easily fixed in the future.

I would say, that infix operators are there to allow programmers to use 
the "ordinary" formulas. For more andvanced uses you can always switch 
to prefix notation and do whatever you like.

>  Another one is that, while all these magic
>   datatypes are certainly handy, how do I define my own, with their own
>   behavior, or override existing behavior?  (perhaps this is a fault of
>   the documentation, which I've just skimmed over again to make sure
>   I'm not missing out.)
>  
>
You are not missing out, the mechanism for defining your own datatypes 
isn't there. You can only define new kinds of objects. There are three 
aspects of user datatypes:
1) in other languages datatypes "protect" their internal attributes. 
Rebol by design doesn't protect internal attributes of datatypes - e.g. 
native functions are mutable in Rebol, which may not always be 
considered an advantage. This is advocated as an "orthogonality". (you 
can inspect/change virtually any "complicated" value)
2) Rebol actions (native functions operating on values of different 
datatypes) should be extended for every new user datatype. This looks 
like a hard task for a user and that may be the reason, why the language 
designer didn't want to allow it.
3) the type-checking mechanism has to change to allow new datatypes.

> - I don't like the way it looks and feels, personally...  it's as if
>   John McCarthy invented COBOL in some parallel universe.  I find it
>   can be a bit hard to read while trying to remember exactly the order
>   in which the elements of a complicated statement are evaluated.  (not
>   that those rules are complicated)
>  
>
This is a subjective statement, hard to comment on.

> - it doesn't seem to do anything that my existing languages don't do.
>  
>
 From the "computational completeness" POV clearly true.

OTOH, there isn't another language with the built-in dialecting ability. 
The dialecting ability is a feature, that is more general and useful, 
than the ability to define new user datatypes or operators. (it is an 
ability to define completely new "sublanguages")

>   While there is always the danger of the blub paradox here, I guess
>   what I'm saying is -- no type inference, no extension of the base
>   types at runtime, not obviously easily embedded into an application
>   written in another language, no clearly defined FFI, et cetera.  This
>   isn't to say those things are necessary, but it means that I don't
>   see a compelling reason for me to use rebol.  (this is where you come
>   in ;-) ... not that I'm actually looking for reasons to use it.)
>  
>
Fairly stated :-), see my comment above.

>>I make a living writing c

[REBOL] Re: read directory

2003-12-15 Thread Ladislav Mecir

Anton Rolls napsal(a):

>I am starting to wonder now.
>Has anybody seen this?
>
>Anton.
>  
>

I am curious too

>>AR> you can't have a dir and a file with same name.
>>
>>

I wrote some time ago, that I was convinced the above statement would be 
true for all known OSes.

>>Under Windows that may be true, but is it true for all platforms?
>>
>>--Gregg
>>
>>

-Ladislav

-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.



[REBOL] Re: rot13

2003-12-15 Thread Gregg Irwin

Hi Julian,

Thanks so much for chiming in here!

JS>   - no open source compiler for the language...

R# is an open source effort that has been started in that regard.

JS>  - a lot of things seem magic...

That's one of the things I like about it. :) I gravitate towards
"human friendly" of languages, so the fact that things work magically
is OK with me. While it would be great to be able to define infix
operators and our own datatypes, I'd want to know what I would have to
give up to get it. Those topics do come up here from time to time, and
I think someone has even proposed a partial solution for custom
datatypes.

JS>  - it doesn't seem to do anything that my existing languages don't do.

There are a number of things I think REBOL does better than other
languages, if they do them at all:

- Built-in portable GUI system

- Built-in pseudo-BNF dialect for easily constructing embedded
  languages

- Easy deployment and no need to build/compile anything to use it
  (small deployment size too!)
  
- Love those datatypes. :)

- Data is code and code is data, in a very usable way

Of course, a lot of what drives us to use a particular language is
subjective; based on our preferences, perspectives, and current body of
knowledge. I think Ruby is a nice language, but I'm not "drawn" to it.
I have OCaml here, but it just doesn't "grab" me.

Use what you like and have fun!

-- Gregg 

-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.