newLISP - at last

Started by didi, May 04, 2007, 10:35:25 PM

Previous topic - Next topic

Jeff

#15
It's generally accepted that using macros to optimize a program is bad practice anyway.  Macros should be used to implement functionality that is either not otherwise available for the lisp implementation or that otherwise would require duplication of logic.
Jeff

=====

Old programmers don\'t die. They just parse on...



http://artfulcode.net\">Artful code

didi

#16
OK ! - Macros are a universal tool to emphasize the language  :-)



. . . .



Jeff mentioned this article : http://www.defmacro.org/ramblings/lisp.html">http://www.defmacro.org/ramblings/lisp.html Are there some similarities between  'Ant' as an interface to Java  and the gui-server-interface ?



. . . .



I just wanted to write about some dark aspects of CL i've read today,  then i found that it was already discussed here in the newLISP-Fan-Forum :



http://www.alh.net/newlisp/phpbb/viewtopic.php?p=380&highlight=gabriel#380">http://www.alh.net/newlisp/phpbb/viewto ... abriel#380">http://www.alh.net/newlisp/phpbb/viewtopic.php?p=380&highlight=gabriel#380

The topic was 'A Critique of Common Lisp" : http://www.dreamsongs.com/Files/clcrit.pdf">http://www.dreamsongs.com/Files/clcrit.pdf



Gabriel compared COMMON LISP to a overweight beast , in this sense newLISP seems to me like a "lithe and lissom weasel" and  for me newLISP's slogan could be  newLISP the practical lisp !



PS :

I do not feel the need to justify myself , why i use newLISP. The joy of programming with newLISP  is enough .

rickyboy

#17
Thanks didi for breaking the weekend ice!  (I thought we were going to go the weekend without a post.  He, he, he.)



Amen, to what Lutz said in that post, answering Joe Marshall.



To me, one of the worst, if not the worst, problems with CL is some of the very visible people who use it (mostly on c.l.l.) who become irrational and childish when fellow programmers do not subscribe to their party line (witness Stefan Scholl as one example).  I call the malady they have "Common Lisp Derangement Syndrome."  :-)  It's people like this who hurt the cause of Lisp's use in general in software shops.  Some in those shops see the power, but can't get passed the aloof a-holes who are do-nothings that just suck up all the oxygen in the room.  Nobody wants to work with people like that.  As long as software people perceive that taking on Lisp also means taking on the a-hole baggage (because you have to hire Lisp programmers after all), Lisp will never take off.



Compare, in general, c.l.l. with this very discussion group.  The difference is akin to that of night and day -- people here are very friendly and helpful (as well as being generally knowledgeable).



Now note that I said not all on c.l.l. and friends have CLDS.  Take Bill Clementson, for example.  He is very knowledgeable, a very good and prolific writer, friendly, open-minded to using and exploring different languages, and has a high standard of scholarship.
(λx. x x) (λx. x x)

cormullion

#18
Some weeks ago I had the idea that Lisp users are more than usually self-reflective and  "meta-critical" because their chosen language encourages them to do that anyway...



I then had another coffee, and had the better idea that Lisp was quite complicated and so the clever people that use it are sometimes wont to get  impatient with the less clever.



Then I stopped thinking about people I didn't know and started working with people I do know... :-)





... still haven't installed that Java stuff. Hopefully next week... :-)

didi

#19
QuoteJeff wrote:

When visually parsing a lisp list, evaluate from the inside out. After learning to do this, lisp's syntax will become so much easier to visualize than imperative programming, because with lisp you are, basically, writing the actual internal structure of the program, rather than a more declarative syntax that would get parsed and turned into something resembling the lisp structure.



When writing a lisp program, write from the bottom-up. It's all about abstraction. First, you write the most primitive elements your program will need. Then, you write other functions that will use those functions in order to abstract the more low-level stuff. In the end, you write a much smaller set of functions/macros that will be the api to the program. These have convenient syntax and build on the lower level elements of the program.





Sounds a bit like Forth methodology: design top-down; develop bottom-up. I never gave Forth a fair chance though. However, I'm finding newlisp more intuitive and way simpler to learn. Thanks!


This is a quote of the 'REPL behavior' thread, but i think it fits better in this thread.



What initially attracted me was the small size and the speed of Forth , especially when you work on small embedded systems - but you build your own world ,  it's very hard to understand a program for those who didn't write the program - and it's difficult to understand your own program after a while.



My impression is , that newLISP is made for 'real live'  for practitioners.

You have  nearly the same freedom as in Forth ,  you can do functional programming like in Haskell , you can do nearly everything what you can do with Common Lisp,  BUT with newLISP you stay with both feet  in this world - you have all possibilities for modern applications - and it's not too difficult to understand.



For me newLISP is  quite the right  mixture of small size, big power, modernity and understandability  :-)



PS: it's cool feeling , when your realize that you wrote some pages of code  without using  "for-loops"



PPS : regarding to the quote , thats the reason why you use less variables, too.