There is an interesting interview with designer of REBOL:
http://obligement.free.fr/articles_traduction/itwsassenrath_en.php
[Found on: http://www.rebol.com/ ]
aaaaaaa My favorite language nr: 2 !
;-)
Btw: are you on Altme fanda?
either read http://www.rebol.nl [ print "even more nice links" ] [ print "I love newlisp" ]
Quote from: "newdep"
aaaaaaa My favorite language nr: 2 !
Can you compare the two for me? What is special about Rebol compared with newLISP? And the other way round...?
I can't handle another language yet... :-)
Pfiuewww.. what a question ;-)
If you would like to know what Rebol realy does, you have to try it out and
read the info on www.rebol.com. Rebol is a Scheme like language and very
close targeted to human linguistics. Its very flexible in ways of being
a 'type dependent language'. It has dialects, because of its type dependent feature. Its a Relative Expression Based Object Language.
All in all both newLisp and Rebol are very small, flexible, fast, Elegant and
both intepreted languages and most important much Fun to develop in. (They keep you thinking)
But you cant realy compare them, because they are different languages.
Where newlisp is the language I prefer now best.
(just because its flowing quicker out of my fingers when typing code ;-)
Norman.
Here a very small 'just' and example in coding style ->
NEWLISP ->
;; set your square depth
;; above or at depth 9, have a coffee..!
(setq depth 5)
(seed (nth 6 (now)) )
(define (dirty?) (dolist (y b) (if (index true? (map = x y)) (throw 'true)) ))
(push (setq x (randomize (sequence 1 depth))) b)
(println "rn--- Running!rn")
(setq T (time
(while (> depth (length b))
(setq x (randomize (sequence 1 depth) true))
(if (not (catch (dirty?))) (println (push x b))))
)
)
(println (last b))
(println "rn--- " T " milliseconds timed!rn")
(exit)
REBOL ->
;
; a latin square in rebol, based on the newlisp latin.lsp version
; by nodep (c) 2005
;
random/seed now
clean?][
catch [ foreach bb b [for i 1 9 1 [ if = pick bb i pick x i [throw false] true ]]]]
print "---- running ----"
T1: now/time/precise
insert/only b: copy [] random/seed [ 1 2 3 4 5 6 7 8 9 ]
print first b
while [ < length? b 9 ][
if clean? set 'x random [ 1 2 3 4 5 6 7 8 9 ] [ print x insert/only b x ]]
print rejoin [ "Timed: " now/time/precise - T1 ]
wait 0:0:5
quit
A good answer! Thanks.
I quickly looked at the Rebol web site - lots to look at, but a bit confusing too - not the language itself, but all the extras/versions/ etc. Impressive amount of stuff there.
I need more hours in the day... :-)
Quote from: "newdep"
Btw: are you on Altme fanda?
No, I am not. I am just playing with REBOL ;-)
Cormullion, look in the REBOL/Core Users Guide, you will get the feeling:
http://www.rebol.com/docs/core23/rebolcore.html
especially Chapter 3 - Quick Tour
http://www.rebol.com/docs/core23/rebolcore-3.html
For me it's a LISP-like language with lots of power built-in :)
Fanda
I'm not a programmer at all (it's obvious), but I've done more useful things with rebol than I have with newlisp. I like newlisp better, but some things have never quite clicked for me. One day they will. Anyway, I wanted to comment on rebol. If it wasn't proprietary, I'd probably still use it.
I'm not buying the "open source built on a proprietary core" jazz, either. Seems like stacking bricks on a basketball. I was surprised to find that in some cases the licencing really does matter to me.
Now, if we could have something small like newlisp/view, that would be great. How did Carl and team do that? Isn't rebol/view still under 500k? newlisp/java weighs in at a dainty 30 megs or so. Does that sound right?
There's always gtk-server...
The Rebol C code is very tight as I understand. And indeed Rebol/view
is very smart made, as a dialect and very flexible, its a full competitor
of i.e. Java or other gfx library's. And in Rebol3 even faster!
But dont be fooled here by the size of rebol, executing rebol/view is
not smaler (still 10 to 15 Mb) than Java is in memory.
Even though building with Rebol/view GFX applications does not mean
they are always meant to be small, but they are smarter for sure.
So the GS server from Lutz, which provides very nice pre-defined functions
is a very good alternative to a GUI. Dont expect the context and object
handling here like rebol does, but GS integrating well into newlisp and I cant
think of any other good GUI alternative that is Multi OS and developed insideout.
Regards, Norman.
I recently discovered newlisp in a posting on the Rebol email list. Both languages share some useful features (small file size, "batteries included" modules, cross platform GUI, etc.). If anyone's interested in Rebol, my tutorials may help to introduce it:
http://musiclessonz.com/rebol_tutorial.html
http://musiclessonz.com/rebol.html
The second link has a list of features and benefits explaning the useful characteristics of Rebol, and may be more appropriately concise for readers of this forum.
I love that NewLisp is open source and actively developed. I'm finding the transition to newlisp from Rebol very comfortable and natural, and I'm looking forward to exploring more!
Hi! Excellent job on the tutorial... Shouldn't be too hard to translate it to newLISP... :) I'll be pinching some of your ideas too...
My free time now is much more restricted then when I wrote that tutorial, but translating to Newlisp does sound like a fun project :) Do you think there's a need for such a tutorial? Any help translating the example code would be appreciated, and would definitely help speed along my own learning process...