Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

MIT article on rebol and other languages

 [1/13] from: rishioswal::yahoo::com at: 17-Feb-2002 23:17


Hi. I didn't see it mentioned. But here is a nice article on "Lightweight Languages." There is a paragraph on rebol with some insights from Joe Marshall (main implementor of first version of rebol..or so the article says..) It classifies languages like python and perl as "worse is better" languages and rebol as "a classic case of the right thing." Enjoy, Rishi http://www.ddj.com/documents/s=2287/ddj0202a/0202a.htm

 [2/13] from: joel:neely:fedex at: 18-Feb-2002 6:04


Hi, Rishi, Rishi Oswal wrote:
> Hi. I didn't see it mentioned. But here is a nice > article on "Lightweight Languages." There is a
<<quoted lines omitted: 4>>
> is better" languages and rebol as "a classic case of > the right thing."
In the context of Rich Gabriel's writing, that's not really the compliment some would think, and it's also not clear to me how accurate it currently is (he was talking about version 1.0, which is outside my experience). Note that Perl developer Dan Sugalski's wisecrack about not understanding continuations was taken as evidence that Worse Is Better communities are ignorant of computing science. (The concept of continuation occurs nowhere that I've found in REBOL documentation nor practice.) Also, there was the comment in the article: Marshall also added that many of the features in the first version of REBOL were omitted in the second, including his tail-recursion implementation. That was an interesting footnote, given that tail recursion is a bit of a sacred cow to "The Right Thing" mentality. A language that does "The Right Thing" is described by these: ---<begin excerpt>--- * Simplicity -- the design must be simple, both in implementation and interface. It is more important for the interface to be simple than the implementation. * Correctness -- the design must be correct in all observable aspects. Incorrectness is simply not allowed. * Consistency -- the design must not be inconsistent. A design is allowed to be slightly less simple and less complete to avoid inconsistency. Consistency is as important as correctness. * Completeness -- the design must cover as many important situations as is practical. All reasonably expected cases must be covered. Simplicity is not allowed to overly reduce completeness. ----<end excerpt>---- A language based on "Worse Is Better" is described by these: ---<begin excerpt>--- * Simplicity -- the design must be simple, both in implementation and interface. It is more important for the implementation to be simple than the interface. Simplicity is the most important consideration in a design. * Correctness -- the design must be correct in all observable aspects. It is slightly better to be simple than correct. * Consistency -- the design must not be overly inconsistent. Consistency can be sacrificed for simplicity in some cases, but it is better to drop those parts of the design that deal with less common circumstances than to introduce either implementational complexity or inconsistency. * Completeness -- the design must cover as many important situations as is practical. All reasonably expected cases should be covered. Completeness can be sacrificed in favor of any other quality. In fact, completeness must sacrificed whenever implementation simplicity is jeopardized. Consistency can be sacrificed to achieve completeness if simplicity is retained; especially worthless is consistency of interface. ----<end excerpt>---- In conversational usage, I hear "worse is better" used as the equivalent of "pragmatic, theoretically impure/indifferent, but popular", and "the right thing" as equivalent to "idealistic, theoretically pure/consistent, but marginal". Draw your own conclusions. -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" ;

 [3/13] from: tbrownell:shaw:ca at: 18-Feb-2002 3:21


Interesting article. But I can't help thinking that that there's something fundamentally wrong with all languages. Instinct would tell me that dialects are on the right track. Somewhere out there must be the killer dialect. Here's a question. What is the end of all this? Or... if your hardware/software could do anything, what would it be? Personally I would like to see... - Software that writes itself. - If not write itself, a pseudo code dialect, or something that a child could program. - An OS that knows what I'm going to do before I do it, and does it for me flawlessy (eg: when i first sit down, i usually check my email... why doesn't the stupid thing know that??? or when given an option for the billionth time, for which i always choose "Cancel", to just cancel already.) - An AI Organizer for everything. Got so much info goin on that I end up making backups of my backups. Here's an interesting white paper on a technology timeline http://www.btexact.com/white_papers/downloads/WP106.pdf I find most of it humorous. It picked AI doctors to arrive last year, but makes one think... where are we going with all this? But what intrigues me more is the lack of cooperation to accomplish ANYTHING. There is 1000 times more talk on which is the better language, then doing something truly constructive with any of em. <begin rant> I've made numerous attempts on this list to get organized and form some think tanks or whatever, with nay a single response?? What gives? My only guess is that the Rebol community, or at least the part that actually reads these posts, is really rather small. The "law of big numbers" would have kicked in had their been a big number of readers, and someone, anyone, would have responded... surely. Another example is the www.Rebols.com website. Really, an experiment in potential Reblet type commercialization... numerous posts here... and not a single sale??? I mean, theres a developer reblet there that turns any script into the world's easiest macro creation utility ever! I've taken Rebol and created a 'bot' that can read, comprehend, and answer questions on whatever it's just read (In discussions with biography.com on that one) ... developed the world's most advanced chatterbot, the world's most HAL 9000ish system on the planet to date (check out a demo conversation at http://24.77.230.151/lfred/demos/lfred.mp3) and yet no one seems to care? And IOS seems to be (although im not in the loop to really answer) suffering from the same problem as Rebol itself... you build a better mouse trap, and the world DOESN'T beat a path to your door. So I guess my question would be.. why not? But then the responses would stumble and fall back into the discussion realm with things like the "Rebol should be open source" garbage. Which really, like everything else, is just talk. Lots of talk, and no killer apps. <end rant> Yours truly, the 3 a.m. philosopher... T Brownell

 [4/13] from: greggirwin:mindspring at: 18-Feb-2002 12:05


Hi Terry, << But I can't help thinking that that there's something fundamentally wrong with all languages. Instinct would tell me that dialects are on the right track. Somewhere out there must be the killer dialect. >> I think there can't be just one killer dialect. There will be hundreds, or thousands, of dialects, and that is the key. << But what intrigues me more is the lack of cooperation to accomplish ANYTHING. There is 1000 times more talk on which is the better language, then doing something truly constructive with any of em. >> Human nature maybe? << I've made numerous attempts on this list to get organized and form some think tanks or whatever, with nay a single response?? What gives? My only guess is that the Rebol community, or at least the part that actually reads these posts, is really rather small. The "law of big numbers" would have kicked in had their been a big number of readers, and someone, anyone, would have responded... surely. >> I believe there are a number of projects under development by the ML members here but, alas, many just fade away because of attrition or cirucmstance (rebmail and Glass come to mind). Ammon Johnson is working on an IDE for REBOL, Carl Read and I are hoping to find time to work on a bot-wars game kinda' thingy, Rugby, Garbriele's DBMS, Make-doc-pro, a standard library, Andrew's eText, Ladislav's higher-fun stuff, and many others. Most projects are the labor-of-love of a single person who then contributes them to the community. I don't disagree with you, though, I just don't have any answers. :) << Another example is the www.Rebols.com website. Really, an experiment in potential Reblet type commercialization... numerous posts here... and not a single sale??? I mean, theres a developer reblet there that turns any script into the world's easiest macro creation utility ever! >> Part of this may be the concerns, and confusion, over the licensing schemes and royalties that RT requires (as far as contributions go). As far as sales, I can only give you my perspective. As a developer, I tend to buy things I have a need for or am interested in. I'm not a software junkie. I just don't need a utility to sync my clock. I've tried a few batch/macro utilities and none of them ever found their way into my daily life so I'm hesitant to plunk down the money, up front, for something I think will just end up collecting dust on my disk. I might risk a few bucks, but it costs quite a bit more than that. The Agent utility is the most intriguing to me but won't provide value to anything I'm doing right now, so it would just be a "for fun" thing and I guess the cost is more than the perceived "fun value" for me. << I've taken Rebol and created a 'bot' that can read, comprehend, and answer questions on whatever it's just read (In discussions with biography.com on that one) ... developed the world's most advanced chatterbot, the world's most HAL 9000ish system on the planet to date (check out a demo conversation at http://24.77.230.151/lfred/demos/lfred.mp3) and yet no one seems to care? >> I'll have to check that out, but I'm sure a lot of folks here can sympathize (including me). There are more cool REBOL tools out there than you can shake a stick at, many of which languish I'm afraid. << So I guess my question would be.. why not? But then the responses would stumble and fall back into the discussion realm with things like the "Rebol should be open source" garbage. >> Open source is a great idea, and I think most folks here would like nothing better than to make a living using a tool we love (REBOL). The trick is how to do both. Until an open source project/product has built up considerable visibility and momentum, how do you make money on it? How do you convince people that your "commercial" script provides value above and beyond freely available alternatives sight-unseen? I have pages of ideas and numerous projects in progress myself, so I'm right there with you. I think we all want REBOL to become a viable tool with which we can support ourselves, but that may take some time...and a lot of luck. --Gregg

 [5/13] from: jason:cunliffe:verizon at: 18-Feb-2002 15:41


> Somewhere out there must be the killer dialect. >> > > I think there can't be just one killer dialect. There will be hundreds, or > thousands, of dialects, and that is the key.
Indeed. Can't separate Langauge from Dialect really.. http://www.arts.uwa.edu.au/LingWWW/LIN101-102/NOTES-102/socio1.html
> << But what intrigues me more is the lack of cooperation to accomplish > ANYTHING. There is 1000 times more talk on which is the better language, > then doing something truly constructive with any of em. >> > > Human nature maybe?
Rebol is very small community. Time andd energy is limited, and in the case of many new skill need to be acquired first by people like me. Takes time to learn new tools, new lingo, new paradigm, new people.. The first level of cooperation is sharing the willingness to cooperate. This mailing list is evidently the good heart of that.
> << I've made numerous attempts on this list to get organized and form some > think tanks or whatever, with nay a single response??
That's news to me.. pephaps you can put up a web page and/or post a short list with presentation of 'the best of' Often great ideas get lost downstream in the midst of people solving immediate syntax problems. It takes time and mind to follow rich lengthy threads. I tned to post long messages which don;t get picked up .. I suspect often becuase I have not yet mastered skill of many short concise posts. Also when I read long psots wull of graet ideas it takes time to abosrb and reply.. and thus they are easily swept downtream amid daily problem solving. This why wikis are catching on. A big problem is what level to quote vs. link A link to the coolest site in the world still depends on poeple goign there adn looking at it. and then there is teh quation of which part they looked at. frames and flsh can further compound the issue Quoting is very helpful but then can be too dominant/lenghty in a post, or inappropraite [interactivity needs to be experienced]. This is where journal istic skills are so valuable and why weblogs have conquered the webverse recently. Weblogs balance introduction/commentary and references [inline links] very well. They are readable accessible and linkable. Mailaing lists are disconnected in this respected. archives help but even on DSL can be !~@#$! pain to navigate. What we really need is some way to convert mailing list threads into special weblogs. I suspect Vanilla could do provide a grat foundation. any ideas??
> << Another example is the www.Rebols.com website. Really, an
experiment
> in > potential Reblet type commercialization... numerous posts here... and not
a
> single sale??? I mean, theres a developer reblet there that turns any
script
> into the world's easiest macro creation utility ever! >>
Which | what | how would anyone know??? Please exlain clearly with links and examples.
> << I've taken Rebol and created a 'bot' that can read, comprehend, and > answer questions on whatever it's just read (In discussions with > biography.com on that one) ... developed the world's most advanced > chatterbot, the world's most HAL 9000ish system on the planet to date
(check
> out a demo conversation at http://24.77.230.151/lfred/demos/lfred.mp3) and > yet no one seems to care? >>
[again] consciousness:::comnes first => the problem of "nobody seems to care" is far more likely nobody knows, has time or needs overview and introduction befire you can suspect them of not caring.
> I have pages of ideas and numerous projects in progress myself, so I'm
right
> there with you. I think we all want REBOL to become a viable tool with
which
> we can support ourselves, but that may take some time...and a lot of luck.
amen regards ./Jason

 [6/13] from: lmecir:mbox:vol:cz at: 19-Feb-2002 9:43


Hi Joel, <<Joel>> ... (The concept of continuation occurs nowhere that I've found in REBOL documentation nor practice.) ... <</Joel>> The continuations are like the tail recursion, they were present in 1.x version, but they aren't there now. As opposed to the tail recursion, nobody seems to be missing them... Cheers Ladislav

 [7/13] from: carl:cybercraft at: 19-Feb-2002 21:37


On 19-Feb-02, Gregg Irwin wrote:
> Hi Terry, > << But I can't help thinking that that there's something
<<quoted lines omitted: 25>>
> community. I don't disagree with you, though, I just don't have any > answers. :)
Apart from the above "thingy", I was also involved in the "Reb World" idea, which was intended to be a kind of distributed game world. (Roughly speaking.) Out of that came Ryan Cole's 3D engine written in View, a script I wrote for displaying a web-page glossary of the terms we were creating for Reb World and a game-server (I think it was) by someone else, though Reb World itself never happened. (Though it'd just require one or two to start working on it again to perhaps get it up and running - assuming its mailing list still works.) Why it didn't happen is hard to say, though here's a few of my thoughts on the matter: 1) The originator of the idea had quite a simple concept of text-adventure style games being linked across the Net web-site style, yet many who joined the list were thinking real-time 3D from the beginning. So it was decided to attempt to take a range of gaming styles into account, from text-adventure right up to real-time 3D, which of course required a much grander design than the original idea would've needed. To begin with, I think we just aimed too high. This may have been a case of leaning towards "The Right Thing" way of doing it than "Worse is Better". 2) There wasn't a strong leader, meaning it may have been a bit too democratic to get off the ground. The three scripts mentioned above were really individuals doing their own thing. No one had said this and that needed to be done, though as the interest in the idea died out before even a first draft of a design for Reb World appeared, what needed to be done couldn't yet be decided on anyway. 3) And that lack of a design was also one of its problems I think. Ideally a first draft from someone should've existed before the mailing list was set up, then we could've fleshed it out and started working on it, instead of just talking about what the design should be and trying to throw everything and the kitchen sink into it.
>From all that, I'd say that if anyone's wanting to work on a
colaborative project, it should start out focused on someone's already existing design - or, after a brain-storming session on the idea, those who want to should come up with their own individual designs and the group should choose one of them as the basis for the project.
> << I've taken Rebol and created a 'bot' that can read, comprehend, > and answer questions on whatever it's just read (In discussions with
<<quoted lines omitted: 3>>
> http://24.77.230.151/lfred/demos/lfred.mp3) and yet no one seems to > care? >>
Well, I listened to it when you posted the URL a week or so ago, and passed the URL onto someone else who's interested in the idea of talking to computers. His comment was... "Well, they were right about it being the most natural-sounding computer generated speech I've heard. You can still tell it is a machine, but it is very close. For that matter, the guy asking the questions doesn't sound entirely human :)" If I'd replied to the list, all I could really say was "that sounded very good" or some such, and too many of those kinds of posts tend to clutter up a list. Also, while I do have a few views on talking to computers, they're mostly negative and along the lines that I don't think it's a very practical way to interface with a computer except in special circumstances - and I think it's a bit late to point this out to you. (; So, people do care even if what you're doing isn't what interests them. I cared so I passed your URL on. What would I'm sure get more of a response though would be if you provided a REBOL client that allowed us to talk online to your chatterbot. Perhaps a REBOL-specific one which we could put questions about REBOL to? And, perhaps, one that'd also ask questions of us, as well? Perhaps the questions that others had asked but it couldn't answer? You could have it so that no question is answered until the person asking the question answers one first... Just a thought... PS. I hadn't read your {Demo of Rebol powered "Knowledge Bot"} before writing the above, but I'll leave it as is anyway. (: -- Carl Read

 [8/13] from: petr:krenzelok:trz:cz at: 19-Feb-2002 11:58


Hi Ladislav, IIRC it was said tail recursion will return to Rebol in the future? -pekr-

 [9/13] from: joel:neely:fedex at: 19-Feb-2002 6:28


Hi, Ladislav, Ladislav Mecir wrote:
> The continuations are like the tail recursion, they were > present in 1.x version, but they aren't there now. >
Do you (or anyone else) have any information on how tail recursion was handled in 1.x? I'd be really interested in anything available...
> As opposed to the tail recursion, nobody > seems to be missing them... >
With all due respect to present company, perhaps it's due to the fact that continuations are not that well known. TRY covers some of the common uses, but there are still interesting applications (I think of things like Rugby...) Again, just for my own edification, I'd really appreciate anything anyone has on how that was done/appeared in 1.x. -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" ;

 [10/13] from: jmalv:hotm:ail at: 19-Feb-2002 16:03


http://ll1.mit.edu/marshall.html

 [11/13] from: joel:neely:fedex at: 19-Feb-2002 12:18


Thanks!!! I had visited the conf. site a few weeks ago, but never found a link to Marshall's paper (I don't know whether I was looking too early or just simply missed it...) At any rate, I found it very interesting/helpful. I think his PROS and CONS (especially CONS 7) clarifies the reporter's labeling of this talk under the heading of "The Right Thing"... -jn- j m wrote:

 [12/13] from: ryanc:iesco-dms at: 19-Feb-2002 12:20


This article discusses the lack of tail recursion in smalltalk, and gives a somewhat decent explanation of tail recursion: http://wiki.cs.uiuc.edu/VisualWorks/Tail+Recursion (I liked (the last (article the best))) but.this [ones: good.too] --Ryan

 [13/13] from: joel:neely:fedex at: 22-Feb-2002 13:57


Hi, folks, Since we're sharing articles... This one offers one writer's perceptions on what it takes for a programming language to succeed. http://www.paulgraham.com/popular.html It seemed relevant to several recent threads. -jn-

Notes
  • Quoted lines have been omitted from some messages.
    View the message alone to see the lines that have been omitted