Slashdot REBOL mention
[1/34] from: rgaither::triad::rr::com at: 29-Oct-2001 9:39
Looks like the OS News bit is getting around!
http://slashdot.org/developers/01/10/28/2122229.shtml
FYI, Rod.
Rod Gaither
Oak Ridge, NC - USA
[rgaither--triad--rr--com]
[2/34] from: mat:b:codeplay at: 29-Oct-2001 15:15
Hello Rod,
RG> Looks like the OS News bit is getting around!
RG> http://slashdot.org/developers/01/10/28/2122229.shtml
All amazingly negative stuff from the usual slashdot crowd, no big
surprises there. I must say I can't be bothered to justify my choice
of scripting language to them and it doesn't look like anyone else is
either.
Don't fear for Rebol though, I got my own company slashdotted to much
the same sort of response. Got loads of web traffic out of it but
almost nothing in the way of anything useful in terms of users.
I had to hearten myself in the office with;
<LinuxGod> I see your Rebol thinggy is on Slashdot.
<Me> Yes and I see the Linux hounds have been unleashed.
<LinuxGod> Well that 7K messenger client is nothing new, it just has
the libraries built in.
<Me> Indeed, but at least it does. It's also a cool language which I
find amazingly fast to use.
<LinuxGod> The license sucks though. You have to pay to release Rebol
apps?
<Me> Yeah, I dunno what's going on with that. I don't care really.
<LinuxGod> So there's no point in it, you should just use Perl.
<Me> Get real, Rebol is a cool language - Perl is a study in how to
make a non-readable bit of code. Rebol just works.
<LinuxGod> Well everyone knows Perl. You could do a Perl instant
messenger in no time.
<Me> Well, if we both sit down and code one from scratch - I'll lay a
month's salary on the fact I will be finish first with Rebol.
<LinuxGod> Ahh well... I'm not that good at Perl....
Regards,
Mat Bettinson
Codeplay
Tel: +44 (0)20 7482 3382
140-142 Kentish Town Rd, London, NW1 9QB
http://www.codeplay.com
[3/34] from: rgaither:triad:rr at: 29-Oct-2001 11:09
Hi Mat,
>RG> Looks like the OS News bit is getting around!
>
>RG> http://slashdot.org/developers/01/10/28/2122229.shtml
>
>All amazingly negative stuff from the usual slashdot crowd, no big
>surprises there. I must say I can't be bothered to justify my choice
>of scripting language to them and it doesn't look like anyone else is
>either.
Yeah, read some of those myself.
Sure are a lot of programmers willing to make judgements on
something they know nothing about. :-(
>I had to hearten myself in the office with;
I did get a note from my boss pointing it out for me. At least
he was aware enough to pass it along. :-)
[snip] Nice dialog! :-)
Rod.
Rod Gaither
Oak Ridge, NC - USA
[rgaither--triad--rr--com]
[4/34] from: lmecir:mbox:vol:cz at: 29-Oct-2001 18:22
Hi Rod, Mat, Rebols,
> Sure are a lot of programmers willing to make judgements on
> something they know nothing about. :-(
I read Larry Wall's comments on Rebol again and the most funny stuff was his
claim, that Perl did use dialecting :-)
[5/34] from: ammonjohnson:yah:oo at: 29-Oct-2001 12:57
<Disclaimer: I am not a big Perl fan, just someone with a little
experience.>
From what I have seen of Perl, Perl DOES use dialecting, it just hasn't
been touted like dialecting in REBOL has. Perl is NOT READABLE, that seems
to be its biggest characteristic.
Why would you do a dialect? What is the point? A dialect is really
just a library, with a little different format for accessing the functions.
The reason for changing the way you access them is to make it REABABLE, that
would go directly against all perl rules. ;-) If someone wanted to they
could create dialects, in perl, that would allow you to write programs, in
Perl, in a readable fashion. ;-0
Enjoy, my 2¢!
Ammon
PS Just enjoy no pun intended.
[6/34] from: cyphre:seznam:cz at: 29-Oct-2001 20:35
Don't worry Rebolers ;). The responses from "Slashdot crowd" are mostly like
I expected.
One of czech sayings comes to my mind: "You'll never teach old dog to behave
better than he is used to behave."(sorry for my confusing direct translation
:) )
regards,
Cyphre
[7/34] from: carl:cybercraft at: 30-Oct-2001 9:04
On 30-Oct-01, Cyphre wrote:
> Don't worry Rebolers ;). The responses from "Slashdot crowd" are
> mostly like I expected.
> One of czech sayings comes to my mind: "You'll never teach old dog
> to behave better than he is used to behave."(sorry for my confusing
> direct translation :) )
There's an English version Cyphre: "You can't teach an old dog new
tricks."
--
Carl Read
[8/34] from: tim:johnsons-web at: 29-Oct-2001 10:09
I read Carl's interview there. He shows (as always) a wonderful
vision. If he/RT follows up on that vision and make it real, he will
make history.
And I am not one for hyperbole....
On Mon, Oct 29, 2001 at 12:57:05PM -0700, Ammon Johnson wrote:
> <Disclaimer: I am not a big Perl fan, just someone with a little
> experience.>
<<quoted lines omitted: 32>>
> [rebol-request--rebol--com] with "unsubscribe" in the
> subject, without the quotes.
--
Tim Johnson <[tim--johnsons-web--com]>
http://www.johnsons-web.com
[9/34] from: chris:starforge at: 29-Oct-2001 20:53
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
#Monday 29 October 2001 14:57# Message from Ammon Johnson:
> <Disclaimer: I am not a big Perl fan, just someone with a little
> experience.>
>
> From what I have seen of Perl, Perl DOES use dialecting, it just
hasn't
> been touted like dialecting in REBOL has. Perl is NOT READABLE, that
seems
> to be its biggest characteristic.
I have been forced to learn Perl, and while I agree it is not the most
likable language on the planet but there are a few points I think should
be considered:
- - A script is as readable as the author makes it. I can write obfusticated
REBOL as easily as I can Perl. I can write very readable, sensible code
in either language as well.
- - I use REBOL and Perl for two things: CGI scripting and database work. As
far as CGI is concerned they are not particularly different - once you
get the hang of the syntax it is almost possible to copy a piece of REBOL
code, paste it and then add ing a few symbols (function paramters aside,
those are stupid in Perl..) As for the database work.. as I have
explained elsewhere, I needed Oracle access but bying /command was not
an option, neither was using mySQL instead. Perl and DBI did the job as
easily.
You see, if you're going to get all fancy with the language then I agree -
REBOL would be far better than Perl. But I'd use C/C++ or even Java if I
wanted to do anything particularly complicated because I believe that each
language has its place. Where I think REBOL is suitable, I use REBOL.
Where I think Perl would do the job as well or better, I use Perl. REBOL
is not the be all and end all of languages; it has good and bad points the
same as any other. If you want to do dialects, use REBOL. If you want
cheap database and shell access, use Perl. If you want speed use C. If you
want platform independant graphical programs, use Java. Many people here
will disagree with this view and think that REBOL can be used for all of
them. If everyone agreed on everything life would be boring.
Chris
- --
New sig in the works
Explorer2260 Designer and Coder
http://www.starforge.co.uk
- --
E = MC ** 2 +- 3db
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
iD8DBQE73ggEtwxr0HXns0wRAsX2AJ9Z3CzWlpX7Ri7DvDq8QgiNNHU9bACfY6Ur
ti37UFPcdz33XfM2xneINDs=szpT
-----END PGP SIGNATURE-----
[10/34] from: ryanc:iesco-dms at: 29-Oct-2001 13:09
As far as slashdot articles go, I would say it did really
well.
Rod Gaither wrote:
> Looks like the OS News bit is getting around!
> http://slashdot.org/developers/01/10/28/2122229.shtml
<<quoted lines omitted: 6>>
> [rebol-request--rebol--com] with "unsubscribe" in the
> subject, without the quotes.
--
Ryan Cole
Programmer Analyst
www.iesco-dms.com
707-468-5400
[11/34] from: dness:home at: 29-Oct-2001 16:43
Cyphre wrote:
> Don't worry Rebolers ;). The responses from "Slashdot crowd" are mostly like
> I expected.
<<quoted lines omitted: 3>>
> regards,
> Cyphre
I like the Czech saying better than our traditional colloquial
`You can't teach an old dog new tricks'.
I might try an English rendering of the Czech with something like
`Old dogs can't learn new manners'
[12/34] from: lmecir:mbox:vol:cz at: 29-Oct-2001 23:56
Hi Ammon,
> From what I have seen of Perl, Perl DOES use dialecting, it just
hasn't
> been touted like dialecting in REBOL has. Perl is NOT READABLE, that
seems
> to be its biggest characteristic.
>
> Why would you do a dialect? What is the point? A dialect is really
> just a library, with a little different format for accessing the
functions.
> The reason for changing the way you access them is to make it REABABLE,
that
> would go directly against all perl rules. ;-) If someone wanted to they
> could create dialects, in perl, that would allow you to write programs, in
> Perl, in a readable fashion. ;-0
>
> Enjoy, my 2¢!
> Ammon
>
> PS Just enjoy no pun intended.
Could you be more elaborate on Perl dialecting (I am not a Perl expert)? As
an example of a dialect, let's take my PIF function from
http://www.rebol.cz/cffr.html Is there a possibility to do that in Perl?
Regards
Ladislav
[13/34] from: ammonjohnson:y:ahoo at: 29-Oct-2001 17:39
Hi,
Yes, oh yes! You see Perl IS A DIALECT (of C). ;-) (I just noticed two
reasons for dialecting, the other being to MINIMIZE code) If you do enough
with Perl you will find that you soon speak (code) in a dialect no one else
can speak (code) thereby it has gained its fame as UNREADABLE code. ;-) The
difference is that REBOL is touted for READABLE code, so its developers (the
purists) emphasize READABLE code. Whereas Perl is touted for "quick code"
something that never was nor ever will be meant to use again, but to throw
away, & rewright when you move to another company, or when you change
developers. So its developers tout its quickness to code (or in other words
less typing).
Enjoy!!
Ammon
[14/34] from: ammonjohnson::yahoo at: 29-Oct-2001 18:05
& I also noticed that your first version of SIF works great it is the
testing func that had trouble.
>> f: func [
[ arg
[ ][
[ return a arg ['negative] ['zero] ['possitive]
[ ]
>> f -7
== negative
>> f 0
== zero
>> f 9
== possitive
See?
Enjoy!!
Ammon
[15/34] from: lmecir:mbox:vol:cz at: 30-Oct-2001 2:58
Hi Ammon,
although unbelievable, the next version of SIF really works better.
[16/34] from: ammonjohnson:ya:hoo at: 29-Oct-2001 20:27
----- Original Message -----
From: "Ladislav Mecir" <[lmecir--mbox--vol--cz]>
To: <[rebol-list--rebol--com]>
Sent: Monday, October 29, 2001 6:58 PM
Subject: [REBOL] Re: Slashdot REBOL mention
> Hi Ammon,
>
> although unbelievable, the next version of SIF really works better.
Not unbelievable, True! I just wanted you to see the way REBOL thinks. ;-)
My point was that testing could be changed to:
testing: func [
arg
][
return sif arg ['negative] ['zero] ['positive]
]
which would minimize the code, & use a function to return a value to a
function, as REBOL is so good at doing. ;-) Just a little more elegant.
Enjoy!!
Ammon
[17/34] from: lmecir:mbox:vol:cz at: 30-Oct-2001 4:24
> > Hi Ammon,
> >
> > although unbelievable, the next version of SIF really works better.
>
> Not unbelievable, True! I just wanted you to see the way REBOL thinks.
;-)
> My point was that testing could be changed to:
> testing: func [
<<quoted lines omitted: 4>>
> which would minimize the code, & use a function to return a value to a
> function, as REBOL is so good at doing. ;-) Just a little more elegant.
It surely is more elegant. The only disadvantage is, that it won't reveal
the bug I am mentioning.
[18/34] from: joel:neely:fedex at: 30-Oct-2001 8:12
Hi, Ladislav,
Ladislav Mecir wrote:
> I read Larry Wall's comments on Rebol again and the most funny stuff
> was his claim, that Perl did use dialecting :-)
>
I can't find that claim anywhere in Larry's remarks. Could you point
me to it?
The only comments by Larry that I could find were a link someone else
posted to a three-year-old email reposted to Google...
-jn-
--
; 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" ;
[19/34] from: lmecir:mbox:vol:cz at: 30-Oct-2001 16:31
Hi Joel,
> > I read Larry Wall's comments on Rebol again and the most funny stuff
> > was his claim, that Perl did use dialecting :-)
<<quoted lines omitted: 10>>
> ; sub despam {my ($e) = @_; $e =~ tr/:#/.@/; return "\n$e"}
> print head reverse despam "moc:xedef#yleen:leoj" ;
Larry wrote
(http://groups.google.com/groups?q=larry+wall+rebol&hl=en&safe=off&rnum=1&ic
=1&selm=36406F9F.40E9CB59%40ndirect.co.uk_NOSPAM):
I don't think REBOL is any more English-like than any other dialecting
language such as, say, Tcl. (Or Perl, for that matter.)
:-))
[20/34] from: joel:neely:fedex at: 30-Oct-2001 10:56
Hi, Ladislav,
I guess we used different operator precedence... ;-)
Ladislav Mecir wrote:
> I don't think REBOL is any more English-like than any other dialecting
> language such as, say, Tcl. (Or Perl, for that matter.)
>
I parsed it as
I don't think REBOL is any more English-like than (
(any other dialecting language such as, say, Tcl)
or
(Perl)
)
instead of
I don't think REBOL is any more English-like than
any other dialecting language, such as, say (
Tcl
or
Perl
)
My perception, as a long-time user of Perl, is that one might describe
Tcl as a "dialecting language" (for some senses of the word "dialecting"),
but I would never say that about Perl.
-jn-
--
; 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" ;
[21/34] from: lmecir:mbox:vol:cz at: 30-Oct-2001 18:40
Hi Joel, a question:
are you a user of TCL?
> I guess we used different operator precedence... ;-)
> Ladislav Mecir wrote:
<<quoted lines omitted: 17>>
> My perception, as a long-time user of Perl, is that one might describe
> Tcl as a "dialecting language" (for some senses of the word
dialecting
),
[22/34] from: joel:neely:fedex at: 30-Oct-2001 12:52
Hi, Ladislav,
Ladislav Mecir wrote:
> Hi Joel, a question:
>
> are you a user of TCL?
>
No. I've looked at it a couple of times, but haven't been able
to work up the enthusiasm (or time) to really learn it.
My (admittedly cursory, and lightly-held) opinion on its "dialecting"
capability arises from these two observations:
1) The syntax of Tcl commands revolves around a simple
verb param-a param-b param-c...
statement format.
2) There's apparently a well-documented and widely-used set of
conventions for writing extensions that present externally-
written c functions/libraries as Tcl commands (and, BTW, for
embedding Tcl as a command interpreter into c programs).
Those led me to the view that it would be easy to write code (either
in Tcl or as an extension) that would have the appearance of adding
new verbs/commands to the language in a manner that would be
indistinguishable from "built-in" features. That's the sense in
which I was referring to "dialecting".
Of course, that's not unique to Tcl, but it also doesn't quite fit
the REBOL concept of a dialect either...
-jn-
--
; 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" ;
[23/34] from: lmecir:mbox:vol:cz at: 30-Oct-2001 21:30
Hi Joel,
thanks for your info. As it looks, TCL really supports some level of
dialecting and that is why it surely is closer to natural languages than
Perl in this area.
Cheers
Ladislav
[24/34] from: joel:neely:fedex at: 30-Oct-2001 15:17
Hi, Ladislav,
Ladislav Mecir wrote:
> ... As it looks, TCL really supports some level of dialecting and
> that is why it surely is closer to natural languages than
> Perl in this area.
>
I guess it depends on which meaning of "closer" we're using...
1) Surface similarities? -- I do NOT want to program in anything
that looks like human language. Consider that COBOL (the only
major surviving programming language that pinned its hopes on being
natural-language-like) looks like this:
MOVE ZERO TO TOTAL.
PERFORM ADDING-ACTION THRU ADDING-COMPLETE
VARYING COUNT FROM 1 BY 1 UNTIL COUNT > 10.
...
ADDING-ACTION.
ADD COUNT TO TOTAL.
ADDING-COMPLETE.
instead of the far more succinct (although not fake English)
total: 0 for count 1 10 1 [total: total + count]
or
$total=0; foreach my $count (1..10) {$total += $count}
or even
int total=0;
for (int count=1; count<=10; ++count) {total += count}
Natural languages are big, redundant, sloppy, ambiguous, and have no
concepts relating to things that I have to think about when trying
to compose non-trivial processes: (re)definition of concepts on the
fly; scope of nomenclature; abstraction, parameterization, and reuse
of concepts/patterns, etc.
2) Deep linguistic structure, Zipf's Law, ad hoc shortcuts, irregular
and non-orthogonal grammer? -- I have yet to see a programming
language that comes close to Perl. (It even has adverbs and a pronoun!)
-jn-
--
; 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" ;
[25/34] from: ammonjohnson:ya:hoo at: 30-Oct-2001 15:29
Define Dialect, please?!?
Thanks!!
Ammon
[26/34] from: lmecir:mbox:vol:cz at: 30-Oct-2001 22:42
Hi Joel,
> I guess it depends on which meaning of "closer" we're using...
I was referring strictly to the dialecting. In that sense (having/not having
this ability to a certain degree) the languages can be compared.
Cheers
Ladislav
[27/34] from: lmecir:mbox:vol:cz at: 31-Oct-2001 1:08
> Define Dialect, please?!?
>
> Thanks!!
> Ammon
Just a trial, OK?
Example #1 The C printf dialect. The string
s="%s"
surely has got a different meaning than usual if used as a format string for
the printf function in the C language. The format string is understood as a
formatting language sentence
in that case. Conclusion: we can find a
dialect in C (a C "sublanguage"). Similar dialects are not the C language
specialty. Their usefulness lies in the fact, that they are better suited
for a particular purpose than the main language is. More examples:
* switch in C - see the meaning of the 'case word
* cycle blocks *- 'continue has different meaning in nested cycles e.g.
* printf formatting strings
* macro directives (#include #ifdef ...)
* etc
Example #2 Rebol PARSE function. Let's have a block:
block: [copy result telephone]
If we simply DO this block, we are evaluating the COPY function that should
set 'result to refer to a copy of TELEPHONE. If we instead use block as a
parse rule, BLOCK would have totally different meaning. Namely, 'result
would be set to a copy of a part of PARSE INPUT argument that would satisfy
the TELEPHONE subrule. The difference isn't that big, but it is only
natural, that 'copy should always communicate similar meaning, isn't it?
There is a whole lot of native Rebol dialects, examples:
* blocks treated as code can communicate totally different meanings than the
same blocks treated as data
* DO versus REDUCE versus COMPOSE - different handling of the contents of
their BLOCK arguments
* IF versus DO - DO always handles BLOCK argument as CODE, the behaviour of
IF depends on the condition (treat BLOCK as data, or evaluate it?)
* block as the SPEC argument of MAKE OBJECT!
* block as the SPEC/BODY argument of the FUNC function
* the VID
* etc
The existence of dialects doesn't distinguish these languages. The real
difference is, that we can define our own REBOL dialects (using PARSE e.g.),
while we cannot define our own C dialects without changing the language
specification.
A "buzzword" that communicates this meaning is, that REBOL is a language
with meta-circular semantics. This feature makes the language much more
communicative than any other language not having this feature is.
HTH
Ladislav
[28/34] from: ammonjohnson:y:ahoo at: 30-Oct-2001 19:51
Ok, with that in mind, & what Joel says, maybe Perl doesn't do dialecting as
well as it seems like it did (Its been a little while since I touched it,
REBOL Rules!) I stand corrected. ;-)
Enjoy!!
Ammon
PS you should still be able to do those funcs you showed me though!
[29/34] from: rotenca:telvia:it at: 31-Oct-2001 16:33
> Example #2 Rebol PARSE function. Let's have a block:
> block: [copy result telephone]
<<quoted lines omitted: 5>>
> natural, that 'copy should always communicate similar meaning, isn't it?
> There is a whole lot of native Rebol dialects, examples:
I like to think that:
[copy result telephone]
has no meaning before the program give it one. There are not keywords (words
with fixed meanings).
Before DO-ing it, you must give a meaning to the words of that block, binding
them to a context.
Everything is a dialect in Rebol.
> The existence of dialects doesn't distinguish these languages. The real
> difference is, that we can define our own REBOL dialects (using PARSE e.g.),
Parse can be util to change the syntax, like in the parse dialect itself,
where set-word and get-word have a different use, but context is the key for
meaning:
x: [copy result telephone]
bind x in context [copy: :+ result: 3 telephone: 5] 'self
; now the words in x have others meanings until we re-bind them
do x
bind x in context [copy: :view result: :layout telephone: [button ""]] 'self
do x
> A "buzzword" that communicates this meaning is, that REBOL is a language
> with meta-circular semantics. This feature makes the language much more
> communicative than any other language not having this feature is.
Semantic -> bind, parse cannot directly change the meaning of a word.
Fixed, in Rebol, are only some syntax rules: the use of "[]", of "()", strings
{}, set-word, get-word, comment ; and little more. Datatypes are almost
fixed (to-word is not datatype aware) but only because RT did not give us the
mode to change the load function to change/add/remove some datatypes.
> Ladislav
---
Ciao
Romano
[30/34] from: lmecir:mbox:vol:cz at: 31-Oct-2001 19:33
Hi,
I made a mistake writing the description, my apologies (I warned you, this
is not an easy notion to define).
The correct description would be: If we DO a BLOCK, we evaluate the words it
contains according to the normal semantic rules (you can find their
description e.g. at my Rebsite). That is true regardless of the context the
words are bound to.
If we instead used block as a parse rule, BLOCK would have been evaluated
differently i.e. not according to the normal semantic rules. That is again
true regardless of the context the words are bound to.
[Romano wrote:]
> Everything is a dialect in Rebol.
This isn't a dialect definition I would suggest to use, according to that
all languages would be dialecting, because you can change the variables in
any language.
The existence of dialects doesn't distinguish (C and Rebol e.g.) languages.
The real
difference is, that we can define our own Rebol dialects (using PARSE e.g.).
PARSE can be used to totally change the way how the block is being
interpreted.
Rebol can easily handle blocks, which can be basically considered sentences
of the language. The interesting consequence of that is, that as opposed to
C, Rebol will never have any macro language, because Rebol is a macro
language for itself. (Don't you like that?) A "buzzword" that communicates
this meaning is, that REBOL is a language with meta-circular semantics.
The above feature makes the language much more communicative than any other
language not having the feature is.
Hope the text is a little bit more consistent now.
Regards
Ladislav
[31/34] from: rotenca:telvia:it at: 2-Nov-2001 13:59
Hi, Ladislav
> [Romano wrote:]
> > Everything is a dialect in Rebol.
>
> This isn't a dialect definition I would suggest to use, according to that
> all languages would be dialecting, because you can change the variables in
> any language.
What i want to say is that, in Rebol, the "ufficial" language is very poor. It
is almost all made by variables (there are not instruction (vs functions),
also the operators are functions, syntax and punctuaction marks are very
limited. In many others languages there is a big fixed part and an unlimited
variable part, in Rebol the fixed part is very small and this leaves a great
freedom in programming.
> The existence of dialects doesn't distinguish (C and Rebol e.g.) languages.
I agree.
> The real
> difference is, that we can define our own Rebol dialects (using PARSE e.g.).
> PARSE can be used to totally change the way how the block is being
> interpreted.
I think that this feature is also in other interpreted languages. Rexx, for
example, has an instruction "parse" and an istruction "interpret", so it can
make the same things than Parse/Do. In C, you can always create your parser
and interpret-compile-link the result as C language at run time (it is not so
easy and direct...).
> Rebol can easily handle blocks, which can be basically considered sentences
> of the language. The interesting consequence of that is, that as opposed to
> C, Rebol will never have any macro language, because Rebol is a macro
> language for itself. (Don't you like that?)
Yes, also if, to me, is not clear the true difference between a macro and a
non-macro language.
> A "buzzword" that communicates
> this meaning is, that REBOL is a language with meta-circular semantics.
I'm not sure. I think that semantic refers to the meaning of words, not to
syntax rules. When I listen the word "semantic",
I think to Bind and Context and to the fact che no word in Rebol has a meaning
outside a given context (no keyword).
> Hope the text is a little bit more consistent now.
My error, not your, if i did not understand well your message.
> Regards
> Ladislav
---
Ciao
Romano
[32/34] from: lmecir:mbox:vol:cz at: 2-Nov-2001 16:50
Hi Romano,
...
> What i want to say is that, in Rebol, the "ufficial" language is very
poor. It
> is almost all made by variables (there are not instruction (vs functions),
> also the operators are functions, syntax and punctuaction marks are very
> limited. In many others languages there is a big fixed part and an
unlimited
> variable part, in Rebol the fixed part is very small and this leaves a
great
> freedom in programming.
I think, that it can be paraphrased as follows: "Rebol has very simple
syntax".(no keywords, little punctuation, etc.)
...
> Yes, also if, to me, is not clear the true difference between a macro and
a
> non-macro language.
I am not going to write a definition. I point you to the description of C
macro language: #include, #define, #ifdef, etc. as opposed to the C
language.
> > A "buzzword" that communicates
> > this meaning is, that REBOL is a language with meta-circular semantics.
>
> I'm not sure. I think that semantic refers to the meaning of words, not to
> syntax rules. When I listen the word "semantic",
> I think to Bind and Context and to the fact che no word in Rebol has a
meaning
> outside a given context (no keyword).
These all are semantics. Consider the following code:
[ a: | "1"]
Syntactically it is Rebol. Even if you knew the binding of the words you
wouldn't know what is the meaning of it as a whole, because it would depend
on the way how would you interpret it. The meaning (the semantics) differs
if we use the code as an argument of DO or as an argument of PARSE, etc.
[33/34] from: joel:neely:fedex at: 2-Nov-2001 10:54
Hi, Romano,
Romano Paolo Tenca wrote:
> Hi, Ladislav
> > Rebol can easily handle blocks, which can be basically considered
<<quoted lines omitted: 4>>
> Yes, also if, to me, is not clear the true difference between a
> macro and a non-macro language.
I'd prefer to say that REBOL doesn't *need* a distinct macro
language.
In a programming language context, I believe it's fair to say that
language X is being *used as* a macro language if one is using it
to
write code that creates source code. This is particularly
relevant
to programming language implementations that (as is typical with
c)
run source code thru a compiler to produce object code when then
is
able to be run.
Languages which can
* interpret (or compile on demand) newly-constructed code, and
* explore and manipulate the run-time representation of their
code,
can serve as their own macro language, thus eliminating the need
for
learning a separate syntax and performing a separate processing
step.
Such languages include LISP and REBOL.
Of course, it's entirely possible to write code (in whatever
language
one wishes) that would construct REBOL source code. In such a
case,
one would be using that other language as a REBOL macro-language
(but without "official" sanction, of course! ;-)
As for the discussion of syntax, I'm working on an article now
that
will address some aspects (and consequences) of REBOL's choice of
lexical-only syntax.
-jn-
[34/34] from: rotenca:telvia:it at: 5-Nov-2001 17:33
Hi, Ladislav
> I think, that it can be paraphrased as follows: "Rebol has very simple
> syntax".(no keywords, little punctuation, etc.)
Not only: Rebol has little fixed semantic (keywords).
> > I'm not sure. I think that semantic refers to the meaning of words, not to
> > syntax rules. When I listen the word "semantic",
<<quoted lines omitted: 7>>
> on the way how would you interpret it. The meaning (the semantics) differs
> if we use the code as an argument of DO or as an argument of PARSE, etc.
For me, semantic + syntax = meaning. Semantic and syntax are two different
fields and togheter make the meaning of a sentence. Your vision makes no
difference between meaning and semantic. So we are using two different notion
of semantic. In few words, for me:
syntax: sequence of words
semantic: meaning of words
The meaning can change if you change semantic (bind) or if you change syntax
(parse or other), but it is not the same thing which you are changing.
---
Ciao
Romano
Notes
- Quoted lines have been omitted from some messages.
View the message alone to see the lines that have been omitted