Hello from a newLISP newbie who's found the holy grail

Started by camperman, June 11, 2006, 01:00:09 AM

Previous topic - Next topic

camperman

Hi all,



I've been getting thoroughly depressed since discovering Lisp through Paul Graham's essays two years ago and then bumping my head against every single issue that Steve Yegge mentions in his essay here  http://tinyurl.com/g95n9">//http://tinyurl.com/g95n9. It has been mortifying to read through say, Norvig and see the sheer power of CL in action and then waste hours and hours getting simple libraries to work with any of the implementations I tried.



newLISP Just Worked. Out of the box. First time. Linux, Windows, MacOS, it's embeddable, it's clean.  It's Lisp for the real world in 2006 and I just wanted to say thanks for er, putting the fun back into Lisp. You guys should make that your motto - oh wait, you already have :)

cormullion

#1
That's a great first post, so welcome from another (perpetual?) newbie!



Just to satisfy my curiosity - where/how did you find newLISP?

camperman

#2
Thanks! I have a couple of cross-platform game projects in the pipeline: one needs to be scripted in Lisp and the other will probably (now) be written in newLISP calling the SDL and OpenGL shared libraries.



I just googled for "lisp small linux win32 macosx scripting" and the newLISP home page came up first. Bingo. I don't know why I didn't notice it before - I've been looking around for about six months for something suitable.

Lutz

#3
Welcome to the group camperman!



you probably discovered already Pjot's website, where you can find a lot of openGL and SDL code. I case you have not, here are some links:



OpnGL: http://www.turtle.dds.nl/gl4newlisp/index.html">http://www.turtle.dds.nl/gl4newlisp/index.html



SDL: http://www.turtle.dds.nl/newlisp/SDL.lsp">http://www.turtle.dds.nl/newlisp/SDL.lsp



Lutz

camperman

#4
Thank you Lutz - and thanks very much for the links. I'm a bit confused though. Apparently all I have to do is:



(load "GL.lsp")



and then call the function like:



(GL:glBegin ...)



Is that all? No fighting with ASDF? No random segfaults? No different behaviour between Linux and Win32? No compile errors? No insults from #lisp?



newLISP certainly has a long way to go before it matches the CL experience - hehehe. </sarcasm>

pjot

#5
Howdy camperman!



Welcome to newLISP, the best programming language on earth. :-)



Indeed a (load "GL.lsp") is all. Please let me know if you run into trouble, I am happy to help out.



The GLU context could be rewritten in newLISP completely, by the way. I already rewrote the GluLookat function, but the whole GLU API should be translated. In this way, newLISP will only depend on 1 shared object/DLL. Also some float/double mixups can be avoided. So if you have some sparetime, and need some exercise... ;-)



Anyway, if you plan to use the GL stuff, do not hesitate to let me know any issue you may encounter.



Peter

William James

#6
That the newLISP executable is so small in size is one thing that impresses me.  On my computer, Brian Kernighan's awk is 167,936 bytes; newLISP isn't much larger at 175,616 bytes, but it has an enormous list of features that awk lacks.



Common Lisp seems too complex---and its users seem too arrogant.  Example: recently on comp.lang.lisp when a newbie said that the code provided for him by a guru crashed on his computer, the guru posted some new code that would have deleted every file on the newbie's hard-drive if he had run it.  Another guru, instead of being shocked, merely stated that the first guru had perhaps gone a bit too far.

camperman

#7
Quote from: "pjot"Howdy camperman!



Welcome to newLISP, the best programming language on earth. :-)



Indeed a (load "GL.lsp") is all. Please let me know if you run into trouble, I am happy to help out.


Thanks Peter. No problems so far running the demos on your page.


QuoteThe GLU context could be rewritten in newLISP completely, by the way. I already rewrote the GluLookat function, but the whole GLU API should be translated. In this way, newLISP will only depend on 1 shared object/DLL. Also some float/double mixups can be avoided. So if you have some sparetime, and need some exercise... ;-)


I'll be happy to help once I know enough - I'm not there yet though. Still trying to get newlisp.vim to look pretty...

m i c h a e l

#8
Quote from: "William"Common Lisp seems too complex---and its users seem too arrogant. Example: recently on comp.lang.lisp when a newbie said that the code provided for him by a guru crashed on his computer, the guru posted some new code that would have deleted every file on the newbie's hard-drive if he had run it. Another guru, instead of being shocked, merely stated that the first guru had perhaps gone a bit too far.


I saw the same exchange by following a link there from reddit titled:


Quote from: "foobarbaz, on reddit"Why is Lisp unpopular? Maybe it's a "community" like this. (Read first 10 posts to see what's happening.)


Maybe there is a connection between the complexity of a language and the arrogance of its users. Consider the differences between the (typical) users of these two groups of languages:



Group (a)

   C++

   Ada

   Common Lisp

   Haskell (monads)

   Eiffel

   Perl

   

Group (b)

   Smalltalk

   BASIC

   Ruby

   Scheme

   Lua

   newLISP

   

One way to look at it would be to ask yourself which group you would choose if you were forced to live with them, for an extended time, in a small space. Coming soon, the new reality show: "Hacker Home"!



m i c h a e l

camperman

#9
QuoteI saw the same exchange by following a link there from reddit titled:


Quote from: "foobarbaz, on reddit"Why is Lisp unpopular? Maybe it's a

"community" like this. (Read first 10 posts to see what's happening.)




Good grief. Newbie asks beginner question and gets trojan in response! Mind you, that just about sums up c.l.l for me. I won't miss it.


Quote
Group (b)

   Smalltalk

   BASIC

   Ruby

   Scheme

   Lua

   newLISP

   

You can add Python to Group (b) - laid-back, friendly and helpful community.

m i c h a e l

#10
Quote from: "camperman"You can add Python to Group (b) - laid-back, friendly and helpful community.


Agreed. I was a wallflower within the Python community before becoming a Ruby wallflower. Both Python and Ruby have very enjoyable music, and those who play those languages are helpful and friendly. But now that I've heard newLISP's tune, I've decided to get off the wall and start dancing!



Wait! I feel another motto coming on: "Have you heard? There's a newLISP in town." Better add that to 101 mottos ;-)



m i c h a e l

aron

#11
Aaa, I can't choose between those groups need one of my own. Of course I want to add some of those funny stuff I haven't tested jet to.



Group C:

C++

Ada

Common Lisp

Scheme

newLISP



Maybe it's me or my university which is a little weird, who knows.
newLISP browser: (print (replace \"<[^>]*>\" (get-url (read-line)) \"\" 0))

m i c h a e l

#12
Quote from: "aron"Aaa, I can't choose between those groups need one of my own.


The two lists were only intended as examples of complex and simple languages that have a noticeable effect on their users. You're certainly welcome to contribute your list of favorite languages, though :-)



m i c h a e l