NewLisp is an actively used programming language created in 1991. newLISP is an open source scripting language in the Lisp family of programming languages developed by Lutz Mueller and released under the GNU General Public License.. Read more on Wikipedia...
- NewLisp ranks in the top 10% of languages
- the NewLisp website
- the NewLisp wikipedia page
- NewLisp first appeared in 1991
- file extensions for NewLisp include nl, lisp and lsp
- the NewLisp team is on twitter
- See also: lisp, common-lisp, scheme, pascal, c, tcl, s-expressions, xml, utf-8, tcp, udp, linux, solaris, sqlite, smtp, ftp, opengl
- Have a question about NewLisp not answered here? Email me and let me know how I can help.
Example code from Linguist:
#!/usr/bin/env newlisp (constant 'NUM 8) (define (intersects? q1 q2) (or (= (q1 0) (q2 0)) (= (q1 1) (q2 1)) (= (abs (- (q1 0) (q2 0))) (abs (- (q1 1) (q2 1)))))) (define (variant? alist) (set 'logic nil) (cond ((= (length alist) 1) true) ((> (length alist) 1) (while (> (length alist) 1) (set 'q (pop alist -1)) (dolist (el alist) (push (intersects? (list q (inc (length alist))) (list el (+ 1 $idx))) logic -1))) (not (apply or logic))))) (define (fork-by-line alist) (let (res '()) (dolist (i (sequence 1 NUM)) (set 'tmp alist) (push i tmp -1) (setf res (push tmp res -1))) res)) (define (find-variants num) (let (res '()) (cond ((< num 1) (begin (println "num < 1") (exit))) ((= num 1) (dolist (i (sequence 1 NUM)) (push (list i) res -1))) ((> num 1) (dolist (v (find-variants (dec num))) (set 'passed (filter variant? (fork-by-line v))) (if (not (empty? passed)) (extend res passed))))) res)) (set 'solutions (find-variants NUM)) (println (length solutions)) ;;(exit)
Last updated January 25th, 2020