[REBOL] Re: What does REBOL fix?
> 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?
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
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?
> 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?
"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?
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?
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?
> 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
[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
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?
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?
- 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?
- 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 !
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?
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?
--- 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
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
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
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.