Questions Concepts
GitHub icon

NewLisp

NewLisp - Programming language

< >

NewLisp is an open source programming language created in 1991 by Lutz Mueller.

Source code:
git clone https://github.com/kosh04/newlisp
#195on PLDB 32Years Old 476Repos

Try now: TIO

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...


Example from hello-world:
#!/usr/bin/newlisp (print "Hello World\n") (exit)
Example 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)

Language features

Feature Supported Token Example
Line Comments
Print() Debugging print
Comments
Semantic Indentation X

View source

- Build the next great programming language · Search · Add Language · Features · Creators · Resources · About · Blog · Acknowledgements · Queries · Stats · Sponsor · Traffic · Traffic Today · Day 305 · feedback@pldb.com · Logout