Python syntax in Lisp and Scheme
Mario S. Mommer
m_mommer at yahoo.com
Sat Oct 4 15:13:43 EDT 2003
More information about the Python-list mailing list
Sat Oct 4 15:13:43 EDT 2003
- Previous message (by thread): Python syntax in Lisp and Scheme
- Next message (by thread): Python syntax in Lisp and Scheme
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
jcb at iteris.com (MetalOne) writes: > I have tried on 3 occassions to become a LISP programmer, based upon > the constant touting of LISP as a more powerful language and that > ultimately S-exprs are a better syntax. Each time, I have been > stopped because the S-expr syntax makes we want to vomit. :-) Although people are right when they say that S-exprs are simpler, and once you get used to them they are actually easier to read, I think the visual impact they have on those not used to it is often underestimated. And to be honest, trying to deal with all these parenthesis in an editor which doesn't help you is not an encouraging experience, to say the least. You need at least a paren-matching editor, and it is a real big plus if it also can reindent your code properly. Then, very much like in python, the indent level tells you exactly what is happening, and you pretty much don't see the parens anymore. Try it! In emacs, or Xemacs, open a file ending in .lisp and copy/paste this into it: ;; Split a string at whitespace. (defun splitatspc (str) (labels ((whitespace-p (c) (find c '(#\Space #\Tab #\Newline)))) (let* ((posnew -1) (posold 0) (buf (cons nil nil)) (ptr buf)) (loop while (and posnew (< posnew (length str))) do (setf posold (+ 1 posnew)) (setf posnew (position-if #'whitespace-p str :start posold)) (let ((item (subseq str posold posnew))) (when (< 0 (length item)) (setf (cdr ptr) (list item)) (setf ptr (cdr ptr))))) (cdr buf)))) Now place the cursor on the paren just in front of the defun in the first line, and hit ESC followed by <ctrl-Q>. > If a set of macros could be written to improve LISP syntax, then I > think that might be an amazing thing. An interesting question to me > is why hasn't this already been done. Because they are so damned regular. After some time you do not even think about the syntax anymore.
- Previous message (by thread): Python syntax in Lisp and Scheme
- Next message (by thread): Python syntax in Lisp and Scheme
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list