What does REBOL fix?
[1/66] from: SunandaDH:aol at: 13-Dec-2003 19:32
Can we find a snappy one-liner?
http://www.paulgraham.com/fix.html
Sunanda.
[2/66] from: tomc:darkwing:uoregon at: 13-Dec-2003 17:05
because syntax is scary
On Sat, 13 Dec 2003 [SunandaDH--aol--com] wrote:
[3/66] from: gchiu:compkarori at: 24-Dec-2003 22:51
Re: What does REBOL fix?
> Can we find a snappy one-liner?
>
> http://www.paulgraham.com/fix.html
>
> Sunanda.
>
Because Lisp is too scary
Because Arc is too late
:)
--
Graham
[4/66] from: john-harbaugh:earthlink at: 13-Dec-2003 21:56
[5/66] from: lmecir:mbox:vol:cz at: 14-Dec-2003 11:04
- everybody can teach me a dialect
- lisp is scary
- other languages aren't portable
[6/66] from: seth:chromick:earthlink at: 14-Dec-2003 6:10
Ladislav Mecir wrote:
>- everybody can teach me a dialect
>- lisp is scary
>- other languages aren't portable
>
rebol - you don't have to choose between flexible, powerful, and easy to
understand
rebol - because nothing is more fun than rebol :)
rebol - because programming doesn't have to be difficult!
[7/66] from: brunobord:tele2 at: 14-Dec-2003 13:38
[SunandaDH--aol--com] wrote:
>Can we find a snappy one-liner?
>
>http://www.paulgraham.com/fix.html
>
>Sunanda.
>
REBOL - Because other languages are not elegant enough
--
Bruno Bord
[8/66] from: nitsch-lists:netcologne at: 14-Dec-2003 16:51
Am Sonntag 14 Dezember 2003 01:32 schrieb [SunandaDH--aol--com]:
> Can we find a snappy one-liner?
>
> http://www.paulgraham.com/fix.html
>
> Sunanda.
Lisp and Rebol are like cats and dogs: Both understand you. But dogs like
teamwork, while cats ignore you climbing trees. :)
-Volker
[9/66] from: greggirwin:mindspring at: 14-Dec-2003 11:23
Hi Sunanda,
Sac> Can we find a snappy one-liner?
Forth is scary and Logo isn't taken seriously.
-- Gregg
[10/66] from: gedb01:ya:hoo at: 15-Dec-2003 10:21
--- Gregg Irwin <[greggirwin--mindspring--com]> 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
[11/66] from: joel:neely:fedex at: 15-Dec-2003 6:51
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-
[12/66] from: jason:cunliffe:verizon at: 15-Dec-2003 10:57
- Rebol fixes boredom and conformity..
- Rebol because its different and fun
- Rebol fixes itself :-)
[13/66] from: jason:cunliffe:verizon at: 15-Dec-2003 10:55
- 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
[14/66] from: gedb01:ya:hoo at: 15-Dec-2003 16:11
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 <[joel--neely--fedex--com]> wrote: >
> Hi, Ged,
> Ged Byrne wrote:
<<quoted lines omitted: 14>>
> [rebol-request--rebol--com] 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
[15/66] from: jason:cunliffe:verizon at: 15-Dec-2003 12:02
> 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
[16/66] from: greggirwin:mindspring at: 15-Dec-2003 10:48
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
[17/66] from: gedb01:ya:hoo at: 15-Dec-2003 18:25
Hi Jason
--- Jason Cunliffe <[jason--cunliffe--verizon--net]>
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
[18/66] from: maximo:meteorstudios at: 15-Dec-2003 13:29
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.
[19/66] from: jason:cunliffe:verizon at: 15-Dec-2003 14:26
> With Rebol the one language does all of this. Rebol
> handles the CGI, it describes the content and format
<<quoted lines omitted: 8>>
> 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
[20/66] from: AJMartin:orcon at: 24-Dec-2003 22:51
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/
[21/66] from: jason:cunliffe:verizon at: 16-Dec-2003 0:45
> REBOL - When one language just isn't enough.
nice :-)
[22/66] from: lmecir:mbox:vol:cz at: 16-Dec-2003 9:36
A J Martin napsal(a):
>REBOL - When one language just isn't enough.
>
I like it. :-)
[23/66] from: carl:cybercraft at: 24-Dec-2003 22:51
On 14-Dec-03, [SunandaDH--aol--com] wrote:
> Can we find a snappy one-liner?
> http://www.paulgraham.com/fix.html
REBOL: XML can't parse itself.
--
Carl Read
[24/66] from: stasil213::yahoo at: 16-Dec-2003 10:13
On 14-Dec-03, [SunandaDH--aol--com] wrote:
> Can we find a snappy one-liner?
> http://www.paulgraham.com/fix.html
Sassenrathian Dialectic:
Lisp is powerful; Logo is fun.
But C is practical.
Rebol is powerful, fun, and practical.
-- Stan Silver
[25/66] from: g:santilli:tiscalinet:it at: 16-Dec-2003 10:38
Hi Jason,
On Monday, December 15, 2003, 6:02:50 PM, you wrote:
JC> Yes but that is still also true for HTML, XSLT, Perl, Python, PHP, Java, C,
JC> etc..
How do you MOLD some PHP code and send it to another computer? ;-)
Regards,
Gabriele.
--
Gabriele Santilli <[g--santilli--tiscalinet--it]> -- REBOL Programmer
Amiga Group Italia sez. L'Aquila --- SOON: http://www.rebol.it/
[26/66] from: g:santilli:tiscalinet:it at: 16-Dec-2003 10:41
Hi Jason,
On Monday, December 15, 2003, 8:26:50 PM, you wrote:
JC> Simply I dont think it is essential or necessarily desirable to do it all in
JC> one language.
JC> What is essential is easy interoprability.
What is essential is simplicity. Any new piece you have to add
adds complexity, and complexity will in the end turn out against
you.
Regards,
Gabriele.
--
Gabriele Santilli <[g--santilli--tiscalinet--it]> -- REBOL Programmer
Amiga Group Italia sez. L'Aquila --- SOON: http://www.rebol.it/
[27/66] from: stasil213:ya:hoo at: 16-Dec-2003 11:01
On 14-Dec-03, [SunandaDH--aol--com] wrote:
> Can we find a snappy one-liner?
> http://www.paulgraham.com/fix.html
(more in the spirit of the above web page)
Lisp is powerful. Logo is fun. But C is practical.
-- Stan Silver
[28/66] from: petr:krenzelok:trz:cz at: 16-Dec-2003 11:02
Gabriele Santilli wrote:
>Hi Jason,
>
>On Monday, December 15, 2003, 6:02:50 PM, you wrote:
>
>JC> Yes but that is still also true for HTML, XSLT, Perl, Python, PHP, Java, C,
>JC> etc..
>
>How do you MOLD some PHP code and send it to another computer? ;-)
>
Well, OTOH, AFAIK :-) (what an abbreviations :-), Rebol is not fully
serialisable- is it? Try sending event block to another View ;-) ... and
surely not only that. Isn't even Python (stackless or what version it
is) going further in that regard?
-pekr-
[29/66] from: gedb01:yaho:o at: 16-Dec-2003 10:20
I like this.
How about taking it a little further:
REBOL - You want many languages running on many
machines, but a single, simple foundation.
--- Jason Cunliffe <[jason--cunliffe--verizon--net]>
wrote: >
> > REBOL - When one language just isn't enough.
>
> nice :-)
> --
> To unsubscribe from this list, just send an email to
> [rebol-request--rebol--com] 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
[30/66] from: g:santilli:tiscalinet:it at: 16-Dec-2003 11:32
Hi Petr,
On Tuesday, December 16, 2003, 11:02:46 AM, you wrote:
PK> Well, OTOH, AFAIK :-) (what an abbreviations :-), Rebol is not fully
PK> serialisable- is it?
We're not talking about generic data serialization; we're talking
about the fact that code is just data that you can manipulate and
send around. You can only get close to this with Lisp-like
languages, but then they're almost always compilers so you'd have
troubles anyway trying to manipulate code.
Regards,
Gabriele.
--
Gabriele Santilli <[g--santilli--tiscalinet--it]> -- REBOL Programmer
Amiga Group Italia sez. L'Aquila --- SOON: http://www.rebol.it/
[31/66] from: joel:neely:fedex at: 16-Dec-2003 7:50
- REBOL: The message is the medium.
- REBOL: Programming for "block" heads
- REBOL: Life's too short to write long programs
- REBOL: Fight carpal tunnel syndrome!
- REBOL: Good things come in small packages
- REBOL: Because Von Neumann was right!
- Real Expressiveness Based On diaLects
- Radical Economy Built Of Literals
- REBOL: just DO %it
- Fewer moving parts -> more parts move
- REBOL: Spread the WORD!
- REBOL: word up!
- REBOL: the last WORD in programming
- REBOL... I :it
- REBOL... :on-the-network
- foreach program your-to-do-list [:REBOL]
- REBOL: because this bumpersticker is too shor
[32/66] from: Jamey::Cribbs::oakwood::org at: 16-Dec-2003 9:28
Gabriele Santilli wrote:
>Hi Jason,
>
>On Monday, December 15, 2003, 6:02:50 PM, you wrote:
>
>JC> Yes but that is still also true for HTML, XSLT, Perl, Python, PHP, Java, C,
>JC> etc..
>
>How do you MOLD some PHP code and send it to another computer? ;-)
>
I don't know how you do it in PHP, but in Python you just "eval" it.
Jamey
Confidentiality Notice: This email message, including any attachments, is for the sole
use of the intended recipient(s) and may contain confidential and/or privileged information.
If you are not the intended recipient(s), you are hereby notified that any dissemination,
unauthorized review, use, disclosure or distribution of this email and any materials
contained in any attachments is prohibited. If you receive this message in error, or
are not the intended recipient(s), please immediately notify the sender by email and
destroy all copies of the original message, including attachments.
[33/66] from: sf:sabufrancis at: 16-Dec-2003 21:10
My hat in the ring:
REally BEautiful Language
(The "BE" because, REBOL is meant to be pronounced "REBEL")
Regards
Sabu Francis
[34/66] from: joel:neely:fedex at: 16-Dec-2003 10:01
Hi, Gabriele,
Gabriele Santilli wrote:
> Hi Jason,
>
> On Monday, December 15, 2003, 6:02:50 PM, you wrote:
>
> JC> Yes but that is still also true for HTML, XSLT, Perl, Python,
> JC> PHP, Java, C,
> JC> etc..
>
> How do you MOLD some PHP code and send it to another computer? ;-)
>
I disclaim all knowledge re PHP, but here's a trivial Perl client
to fetch and execute/evaluate source from a remote host.
use LWP::Simple;
eval get ("http://your-site-here");
The only point I was making in my earlier comment was that there
are several languages that are highly platform-neutral. It's
also true that many of them are "mobile" in the sense of being
able to migrate run-ning/-nable code across the 'Net.
I guess one has to decide whether a one-line summary for REBOL (or
any other language) is to be:
a) a claim of a unique strength of the language (in contrast to
other languages of the claimant's in-depth knowledge),
b) a bullet point naming something the language does well (whether
or not other languages do so as well),
c) a bumper-sticker slogan intended primarily for fun (as in my
recent list of submissions), or
d) a sufficiently intriguing statement to motivate others to look
at the language.
And, of course, submitting types (b), (c), or (d), and having them
perceived as if of type (a) is the basis is the basis of many
language holy wars! ;-)
-jn-
--
----------------------------------------------------------------------
Joel Neely joelDOTneelyATfedexDOTcom 901-263-4446
Enron Accountingg in a Nutshell: 1c=$0.01=($0.10)**2=(10c)**2=100c=$1
[35/66] from: maximo:meteorstudios at: 16-Dec-2003 11:48
> -----Original Message-----
> From: Cribbs, Jamey [mailto:[Jamey--Cribbs--oakwood--org]]
<<quoted lines omitted: 15>>
> >
> I don't know how you do it in PHP, but in Python you just "eval" it.
but you have no say WRT context?! In rebol, each WORD stores its context locally, so
there is a HUGE gap in possibilities. in rebol, you can build a block with the same
word in it three times, each word storing a different value.
I do admit, though, that if you sent the code to another computer, the context IS stripped.
also because of the fact that a block is universal there are MANY ways you can trick
the code to be shorter. I am implementing advanced applications in python at work (multithreaded
stuff) and just having to use many different types of series makes the whole thing tiresome.
for example, not all python series types support the same function(method) set so you
basically have to learn each one from scratch....
hence rebol is "learn once apply many" in that the coding mechanisms are applied everywhere
very uniformally. building code, browsing through data and creating your own function
generator ALL use the same constructs. THAT'S One of the main reasons I prefer rebol
over the rest.
newbies often have problems understanding rebol's logic in the begining, but then marvel
at how little they have to learn again, once they get it.
-Max
[36/66] from: gedb01:y:ahoo at: 16-Dec-2003 16:59
Hi Joel,
--- Joel Neely <[joel--neely--fedex--com]> wrote: >
> I disclaim all knowledge re PHP, but here's a
> trivial Perl client
<<quoted lines omitted: 4>>
> I guess one has to decide whether a one-line summary
> for REBOL (or any other language) is to be:
Looking at it again, the challange was "to describe
[the language] in terms of the problem it fixes." [1]
This is very different from a marketing slogan. For
example, the one-liner for lisp is
Lisp: Turing Machines are an awkward way to describe
computation.
This seems an awkward way to describe Lisp, but it
probably does reflect the motivation of John McCarthy
back in the 1960s.
Rebol's creator has expressed the problem that Rebol
is intended to fix quite clearly on the Rebol web
site:
REBOL is not a traditional computer language like C,
BASIC, or Java. Instead, REBOL was designed to solve
one of the fundamental problems in computing: the
exchange and interpretation of information between
distributed computer systems.
The ultimate goal of REBOL is to provide a new
architecture for how information is stored, exchanged,
and processed between all devices connected over the
Internet. Unlike other approaches that require tens of
megabytes of code, layers upon layers of complexity
that run on only a single platform, and specialized
programming tools, REBOL is small, portable, and easy
to manage.
The difference is clear when you look at the example
given.
The code required to pass a string to another machine
and have it execute is simple enough, but it isn't
enough for the real world.
The code as given presents a massive security risk.
So you have to construct sandboxes and all the rest of
it. Layers upon layers of complexity.
For Rebol the only change you would make to reach
production level code is to create a dialect to
express the necessary functionality.
This does not mean that Rebol is better than these
languages. These other languages have 'eval' as a
nice feature. On the other hand, the ability to send
an expression for another machine to execute is
central to Rebol's purpose.
I think I may be taking this all too seriously.
[1] http://www.paulgraham.com/fix.html
[2] http://www.rebol.com/rebol-intro.html
________________________________________________________________________
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
[37/66] from: Steven:White:ci:bloomington:mn:us at: 16-Dec-2003 11:13
> Can we find a snappy one-liner?
All User-Serviceable Parts Inside
(as opposed to the common sticker on many electronic appliances that
says "No user-serviceable parts inside")
When I first HEARD about REBOL and who was writing it, I wanted to try
it because of its alleged simplicity. When I tried to USE it I found
out that I couldn't understand it. Then after some head-beating I found
it to be at least more "accessible" than C or PERL or shell scripts.
The concept of "free" software is that if I get a program I am free to
look under the hood to see how it works, and to modify it if I want to.
In actual practice, if I get the source code for a program and find
thousands of lines of un-commented C code, there is no way I am going to
TOUCH that. If it were REBOL, I might.
If I had enough good business ideas, that would be the name of my
company, USPI Inc. (User Serviceable Parts Inside).
Steven White
City of Bloomington
1800 W Old Shakopee Rd
Bloomington MN 55431-3096
USA
952-563-4882 (voice)
952-563-4672 (fax)
[steven--white--ci--bloomington--mn--us]
[38/66] from: maximo:meteorstudios at: 16-Dec-2003 12:20
> -----Original Message-----
> From: Ged Byrne [mailto:[gedb01--yahoo--co--uk]]
<<quoted lines omitted: 18>>
> So you have to construct sandboxes and all the rest of
> it. Layers upon layers of complexity.
but security isn't always an issue. In this case, rebol outdoes everybody, IMHO.
For security, you can just encrypt the data before sending it, and even that is (rather)
easy to integrate right in a protocol.
I have implemented several distributed applications and its so easy in rebol. I'm not
saying its more powerfull, just easier.
remember that there is ios for distributed commercial apps development.
-MAx
[39/66] from: maximo:meteorstudios at: 16-Dec-2003 12:25
> -----Original Message-----
> From: Ged Byrne [mailto:[gedb01--yahoo--co--uk]]
<<quoted lines omitted: 3>>
> Looking at it again, the challange was "to describe
> [the language] in terms of the problem it fixes." [1]
in one line:
cause you want lisp to be easy, flexible, fun and you want it to communicate
-MAx
[40/66] from: jason:cunliffe:verizon at: 16-Dec-2003 12:46
> - REBOL: The message is the medium.
excellent :-)
[41/66] from: joel:neely:fedex at: 16-Dec-2003 12:05
Hi, Maxim,
Maxim Olivier-Adlhoch wrote:
> ... In this case, rebol outdoes everybody, IMHO.
> For security, you can just encrypt the data before sending it,
> and even that is (rather) easy to integrate right in a protocol.
>
That's not the only security issue. Encrypting the source as it
moves over the wire doesn't protect one from bugs (or malicious
intent) in the code itself once executed.
-jn-
--
----------------------------------------------------------------------
Joel Neely joelDOTneelyATfedexDOTcom 901-263-4446
Enron Accountingg in a Nutshell: 1c=$0.01=($0.10)**2=(10c)**2=100c=$1
[42/66] from: joel:neely:fedex at: 16-Dec-2003 12:11
Hi, Ged,
Ged Byrne wrote:
>>
>> use LWP::Simple;
<<quoted lines omitted: 4>>
> enough for the real world.
> The code as given presents a massive security risk.
I completely agree. I was only trying to show that the
classic REBOL example
do read http://your-site-here
isn't unique.
> So you have to construct sandboxes and all the rest of
> it. Layers upon layers of complexity.
>
Which is as non-trivial in REBOL as in other languages.
> ... On the other hand, the ability to send
> an expression for another machine to execute is
> central to Rebol's purpose.
>
But the ability to store/send an expression for later
evaluation (whether on the same machine or not!) is a part
of MANY current languages.
> I think I may be taking this all too seriously.
>
I think we all are! ;-)
-jn-
--
----------------------------------------------------------------------
Joel Neely joelDOTneelyATfedexDOTcom 901-263-4446
Enron Accountingg in a Nutshell: 1c=$0.01=($0.10)**2=(10c)**2=100c=$1
[43/66] from: greggirwin:mindspring at: 16-Dec-2003 13:03
Ged, Joel et al,
OK, so after reading Ged's latest post:
REBOL: Because code really is just data
Now, the EVAL discussion interests me because I've been of the opinion
that while many other languages support an EVAL function it is
different than what REBOL does. Can you achieve the same thing in some
cases; yes. In *all* cases? I don't know. Is it important that,
fundamentally, you're creating (in most cases) a string that is then
passed to the parser (recursively?) by calling EVAL. What is the real
difference if we say "DO = EVAL" and "block! = string!"?
Is it important to take one step back from DO and look at how LOAD
compares with other mechanisms?
For me, it's the end user experience of how easy it is to generate
executable data
with REBOL that's important.
Thanks, all, for more thought-provoking comments.
-- Gregg
[44/66] from: pwoodward:cncdsl at: 16-Dec-2003 16:11
Hmm -
I see this topic has generated a few messages back and forth. I haven't read all of
them, those I have piqued my interest. REBOL is an interesting issue for me. I use
it almost every day, and yet I've never used it to produce an external system; all the
things I do in REBOL are to make my day-to-day as a SysAdmin, DBA, Web Developer, Java
Coder, System Architect, etc. (I forget how many hats I get to wear) easier.
I've used it to autogenerate Java code - to produce JavaBeans, and their related SQL
persistence code.
I've used to to power an opt-out mail list engine - so that our sales/mgmt can send out
newsletters.
I've used it to parse web pages - into an indexed format for storage in a database, leveraging
Java based "web services"
I use it routinely to "save to disk" various portions of web content (movie trailers
in QuickTime usually - when a friend comes over, I don't want to have to wait for the
whole thing to stream over again, and they usually don't give you the option to save
it).
Prototyping proof of concepts. I routinely sketch out how I might do something using
REBOL; it's syntax is very similar to pseudo code, so it works.
I find REBOL to be a great "glue language" - sort of a grease for the wheels of e-commerce.
I've thought about various production systems implemented in REBOL but generally have
found that managing the code-base needed is a bit troublesome. Other languages have
either better tools or facilities for module management; In many ways it replaces Perl
or Python for me (although Python and Perl, because they are slightly more widely adopted
have some uses REBOL doesn't).
For me, REBOL is another tool in my programmers toolchest. It makes solving certain
tasks trivial, but it doesn't necessarilly make the other tools in my toolchest obsolete.
Some tasks are best suited to using SQL and a relational Database, others work better
with Java based solutions. Since I'm the only guy at my office who knows REBOL, it's
not the lingua-franca of programming. Lots of people understand JSP and Servlets - so
that's what our presentation layer is usually coded in - you can buy books about it,
and there are lots of toolkits available to enhance it in various ways. Learning more
about it, or finding someone who knows about it isn't too hard to do. With REBOL I don't
have that luxury - but that's OK, because I use it mostly to make _my_ computing life
easier.
- Porter Woodward
[45/66] from: SunandaDH:aol at: 16-Dec-2003 17:50
> Can we find a snappy one-liner?
Belatedly lobbing an answer in of my own...
Nothing....Nothing is fixed in REBOL.
Sunanda.
[46/66] from: greggirwin:mindspring at: 16-Dec-2003 17:01
Hi Sunanda,
Sac> Nothing....Nothing is fixed in REBOL.
LOL! :) Brilliant!
-- Gregg
[47/66] from: brunobord:tele2 at: 17-Dec-2003 1:59
Joel Neely wrote:
>- REBOL: Life's too short to write long programs
>
Nice pick !
Shall I steal this line from you to explain my co-workers why I am a Rebol ?
--
Bruno Bord
[48/66] from: james:mustard at: 24-Dec-2003 22:52
Gregg Irwin wrote:
>Hi Sunanda,
>
>Sac> Nothing....Nothing is fixed in REBOL.
>
>LOL! :) Brilliant!
>
>-- Gregg
>
unfortunately that can also be read:
... it was broken from the start.
and that is NOT an impression we want to convey :-(
James.
[49/66] from: carl:cybercraft at: 24-Dec-2003 22:52
On 17-Dec-03, Ged Byrne wrote:
> Looking at it again, the challange was "to describe
> [the language] in terms of the problem it fixes." [1]
<<quoted lines omitted: 13>>
> exchange and interpretation of information between
> distributed computer systems."
I was trying to get at that with...
REBOL: XML can't parse itself.
using a similar style to what's on the site. ie...
Pascal: Algol doesn't have enough data types.
--
Carl Read
[50/66] from: gedb01::yahoo at: 17-Dec-2003 10:38
Hi Carl,
--- Carl Read <[carl--cybercraft--co--nz]> wrote: >
> I was trying to get at that with...
>
> REBOL: XML can't parse itself.
>
> using a similar style to what's on the site. ie...
>
> Pascal: Algol doesn't have enough data types.
>
Oh, now I get it. Excellent!
________________________________________________________________________
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
[51/66] from: joel:neely:fedex at: 17-Dec-2003 7:03
Hi, James,
James Marsden wrote:
> Gregg Irwin wrote:
>>Hi Sunanda,
<<quoted lines omitted: 3>>
> ... it was broken from the start.
> and that is NOT an impression we want to convey :-(
Then let's run with that perspective:
REBOL - It breaks the mold!
-jn-
[52/66] from: SunandaDH:aol at: 17-Dec-2003 8:21
James:
> > Nothing....Nothing is fixed in REBOL.
> unfortunately that can also be read:
>
> ... it was broken from the start.
Okay, so how about:
REBOL -- It ain't broke and it ain't fixed.
Sunanda.
[53/66] from: jason:cunliffe:verizon at: 17-Dec-2003 8:58
> > REBOL: XML can't parse itself.
Isn't that what XSLT does ?
XSLT is like Rebol in some ways but much harder to read and not so much
fun..
- Jason
[54/66] from: jason:cunliffe:verizon at: 17-Dec-2003 9:19
> JC> What is essential is easy interoprability.
>
> What is essential is simplicity. Any new piece you have to add
> adds complexity, and complexity will in the end turn out against
> you.
Yes very good point.
But there is a trade-off point where modularity aids and manifests
simplicity.
Go past that threshold and too much modularity, too many options, become too
complex.
'Simple' includes leveraging existing know-how, familiar contructs, tools,
docs and community.
Simple includes not having to write the book first or explain it to anyone.
Simple includes mail order $130 six-speed Huffy bicycle from Walmart tha is
made in China, vs. goign to Siberia and inventing one. Though the latter may
be much more fun and spritually rewarding.. it depends. Reading /watching
the recent flutry of articles and docs about the Wright brothers amazing
prpgress in a few shortyears is full of apt examples.
For example, XML may be inelegant compared to Rebol native approach, but it
has a growing attraction has it gains mass adn momentum. Therefore, using
XML in a Rebol application might actually be 'simpler'. Is it simpler to use
Apache when you know how, than to write, document, test and debug your own
server? Is it simpler to develop multimedia intefaces in Rebol orwork work
with tools like Flash which handle text, graphic, sound and interfactivity
way better.
Oldes' make-swf is perhaps the most significant Rebol dialect which tests
the issue of interoperability vs. simplicity. It is a amazing work in
progress, but still requires one to a) understand flash, b) know some
actionscript c) know Rebol and d) know the make-swf dialect.
Rebol strikes a very elegant balance I think.
What it still lacks is a smart IDE/browser component to help one to move
faster with syntax and dialects.
Loaded dictionaries and context sensitive support.
I imagine that is a very hard thing to write. But perhaps Rebol makes it
easy..
- Jason
[55/66] from: maximo:meteorstudios at: 17-Dec-2003 14:35
> Rebol strikes a very elegant balance I think.
> What it still lacks is a smart IDE/browser component to help
<<quoted lines omitted: 4>>
> Rebol makes it
> easy..
there are two initiatives in the works I know of, but none actually are available yet...
they are very much work in progress.
-RIDE
-STEEL|FORGE
yes it is a complex problem. actually the problem is that any coding tool must allow
you to do the whole thing. if an ide goes half way in terms of the basic coding, then
you likely won't have fun using it, if it restricts you.
implenting an ide with no holes in rebol is extremely tough, because rebol IS so wide.
The fact that rebol also has so little syntax (like no parens for functions) makes it
even harder. What's more is that many constructs in rebol allow you to insert code which
will be evaluated, even if at first glance such a concepts isn't outright obvious...
The make word is a good example. you really can put any code in a MAKE block, not just
value: data pairs.
Trying to make an editor for that is extremely challenging.
remember that we have to load projects, not just create new and restricted ones. I would
not want to limit rebol to the way of thinking that C, for example, implies.
-Max
[56/66] from: james:mustard at: 24-Dec-2003 22:52
[SunandaDH--aol--com] wrote:
[57/66] from: maximo:meteorstudios at: 17-Dec-2003 16:49
all along we had the answer in our faces.. ;-)
rebol means "relative expression-based object language" ... so this translates into:
REBOL: cause you don't want to define your code, you want to express it
-MAx
dont be fooled. Simple is hardest
[58/66] from: jason:cunliffe:verizon at: 17-Dec-2003 17:07
Rebol - programming for dialecticians
[59/66] from: joel:neely:fedex at: 17-Dec-2003 16:11
Hi, James,
Were you just joking? (OBTW, REBOL isn't the only language
that supports dialects...)
James Marsden wrote:
> Dialecting in Rebol, more fun than Latin!
Damien Conway has actually written a Latin dialect for Perl!
[begin excerpt]
Lingua::Romana::Perligata -- Perl for the XXI-imum Century
Damian Conway
School of Computer Science and Software Engineering
Monash University
Clayton 3168, Australia
Abstract
This paper describes a Perl module -- Lingua::Romana::Perligata --
that makes it possible to write Perl programs in Latin. A plausible
rationale for wanting to do such a thing is provided, along with a
comprehensive overview of the syntax and semantics of Latinized
Perl. The paper also explains the special source filtering and
parsing techniques required to efficiently interpret a programming
language in which the syntax is (largely) non-positional.
...
The Sieve of Eratosthenes is one of oldest well-known algorithms.
As the better part of Roman culture was ``borrowed'' from the
Greeks, it is perhaps fitting that the first ever Perligata
program should be as well:
#! /usr/local/bin/perl -w
use Lingua::Romana::Perligata;
maximum inquementum tum biguttam egresso scribe.
meo maximo vestibulo perlegamentum da.
da duo tum maximum conscribementa meis listis.
dum listis decapitamentum damentum nexto
fac sic
nextum tum novumversum scribe egresso.
lista sic hoc recidementum nextum cis vannementa da listis.
cis.
The use Lingua::Romana::Perligata statement causes the remainder
of the program to be translated into the following Perl:
print STDOUT 'maximum:';
my $maxim = <STDIN>;
my (@list) = (2..$maxim);
while ($next = shift @list)
{
print STDOUT $next, "\n";
@list = grep {$_ % $next} @list;
}
Note in the very last Perligata statement (lista sic hoc...da
listis) that the use of inflexion distinguishes the @list that
is grep'ed (lista) from the @list that is assigned to (listis),
even though each is at the ``wrong'' end of the statement,
compared with the Perl version.
[end excerpt]
For those with a classical education (and a high tolerance for pain
;-) the full paper is available at
http://www.csse.monash.edu.au/~damian/papers/HTML/Perligata.html
It's a hilarious tour-de-force!
-jn-
--
----------------------------------------------------------------------
Joel Neely joelDOTneelyATfedexDOTcom 901-263-4446
Enron Accountingg in a Nutshell: 1c=$0.01=($0.10)**2=(10c)**2=100c=$1
[60/66] from: joel:neely:fedex at: 17-Dec-2003 16:36
REBOL
- It's just an expression
or
REBOL - express yourself!
--
----------------------------------------------------------------------
Joel Neely joelDOTneelyATfedexDOTcom 901-263-4446
Enron Accountingg in a Nutshell: 1c=$0.01=($0.10)**2=(10c)**2=100c=$1
[61/66] from: james:mustard at: 24-Dec-2003 22:52
Heehee, nice one Joel!
That Perl excerpt is truly marvellous - I must pass it off to a linguist
friend of mine - she'll love it :)
James.
Joel Neely wrote:
[62/66] from: maximo:meteorstudios at: 17-Dec-2003 20:23
a twist on my previous statement...
REBOL: others define code, rebol expresses it
and a new one:
REBOL: its quick and dirty... without the dirty
---------------------------
DRIFTNG A LITTLE BIT...
---------------------------
In this ongoing discussion, it has been confirmed that you can evaluate code "on-the-fly"
in most modern languages, or have modules or extensions which allow it.
But rebol, being an expression parser and evaluator, handles code in many ways like if
it where any kind of mathematical expression. This means evaluating code on the fly
is INTRINSIC to rebol... its not just a feature.
no one marvels when they know that their language can calculate an expression with functions
and variables:
b = (x + abs(x) + 45) / 2
here each parenthesis will eventually receive a value once its internals have computed
and will get a numerical value.
in the above, execution is impossible without defining x, right? I mean, any computer
programmer will react instantly and say: "of course!".
Many rebolers have yet to realise that rebol actually handles all data in much the same
manner, relatively speaking. Code being just another type of data to handle. Defining,
evaluating, passing, and assigning values to/from words as it encounters them.
warning:
The following code and explanations is a little more advanced, and is an excellent primer
for those of you who want to get in on the more "obscure" (advanced) functionalites of
rebol! If you don't understand the following, you should look up each word in the help
and try to understand it piece by piece. It might open up your understanding of all
that jabbering, the more experienced rebolers have been doing. ;-)
type this in the rebol console:
>> hello: do prints: func [arg][does compose [print (arg)]] "hello world"
>> hello
hello world
Each thing in the expression is evaluated one by one like a mathematical expression.
here, the word PRINTS eventually got a value while rebol was evaluating the expression
line, so we can then try:
>> bye: prints "bye bye"
>> bye
bye bye
bye and hello really are new functions, as proven here:
>> source hello
hello: func [][print "hello world"]
This shows how you can create you own custom "statements", as defined in other languages.
conclusion:
-----------
Yes, many other languages support on-the-fly eval() of code, but to get that back right
in the language without any additional effort, to be able to play with code like data,
to assign contexts to words, store them, generate new functions using these contexts
and all the manner of advanced modifiable code, IMHO rebol is the current (easy and fast
to use) king of the hill...
HTH!
-MAx
dont be fooled. Simple is hardest
[63/66] from: g:santilli:tiscalinet:it at: 18-Dec-2003 10:55
Hi Jason,
On Wednesday, December 17, 2003, 3:19:18 PM, you wrote:
JC> Simple includes not having to write the book first or explain it to anyone.
[...]
Don't confuse "simple" with "easy"! And, of course, most times one
is going to do what's easier, not what's simpler... but that
doesn't mean we shouldn't prefer "simpler" when we can have it. :)
Regards,
Gabriele.
--
Gabriele Santilli <[g--santilli--tiscalinet--it]> -- REBOL Programmer
Amiga Group Italia sez. L'Aquila --- SOON: http://www.rebol.it/
[64/66] from: jason:cunliffe:verizon at: 18-Dec-2003 10:06
> Don't confuse "simple" with "easy"! And, of course, most times one
> is going to do what's easier, not what's simpler... but that
> doesn't mean we shouldn't prefer "simpler" when we can have it. :)
Yes good catch. You are right of course..
I confess I was trolling just a little to provoke more lucid distinctions.
This has been a surprisingly interesting thread.
I subscribe to the Show-Control list. Notable for its pragmatism. Best simplest design
is sought after and discussed avidly there, but that
typically lead to deeper consideration of a project's context and
conditions, not just the specific technical question originally being asked.
In part that is becuase Show-Control applications can be dangerous and have
to take human safety and operator behavior into account. The list is good
reading - an often fascinating blend of hardware, software, tech, design and
implementation.
http://www.show-control.com/sclist.html
A great example of simple and easy I came across recently is 'VLC', one of
the excellent VideoLan streaming tools.
Actually VLC is also server. Just select "Add Interface --> HTTP Remote" or
use the command line equivalent.
That's all you have to do to turn on the web server embedded in the client
to enable remote control of video streaming
:-)
http://videolan.org
great open free cross-platform toolkits -- could be interfaced beautifully
with Rebol in many ways.
enjoy
- Jason
[65/66] from: jason:cunliffe:verizon at: 18-Dec-2003 11:03
> "REBOL: others define code, rebol expresses it"
hmm... I like it
Can you explain the difference between 'define' and 'express' please?
- Jason
[66/66] from: philippe:arsenne:club-internet at: 20-Dec-2003 11:55
Hi Gabriele
Could you send this message to the list.
I hope that you wil have the nicest chrismas.
sincerly
Philippe Arsenne
-----Message d'origine-----
De : [rebol-bounce--rebol--com] [mailto:[rebol-bounce--rebol--com]]De la part de
Gabriele Santilli
Envoyé : jeudi 18 décembre 2003 10:55
À : Jason Cunliffe
Objet : [REBOL] Re: What does REBOL fix?
Hi Jason,
On Wednesday, December 17, 2003, 3:19:18 PM, you wrote:
JC> Simple includes not having to write the book first or explain it to
anyone.
[...]
Don't confuse "simple" with "easy"! And, of course, most times one
is going to do what's easier, not what's simpler... but that
doesn't mean we shouldn't prefer "simpler" when we can have it. :)
Regards,
Gabriele.
--
Gabriele Santilli <[g--santilli--tiscalinet--it]> -- REBOL Programmer
Amiga Group Italia sez. L'Aquila --- SOON: http://www.rebol.it/
Notes
- Quoted lines have been omitted from some messages.
View the message alone to see the lines that have been omitted