pogotc / phil
PHp Interpreted Lisp
dev-master
2015-06-09 11:03 UTC
Requires (Dev)
- phpspec/phpspec: 2.2.*
- phpunit/phpunit: 4.6.*
This package is not auto-updated.
Last update: 2025-01-04 19:00:41 UTC
README
PHp Interpreted Lisp.
Phil is a LISP dialect loosely based on the syntax used by Clojure.
Usage
Phil can either be invoked by running bin/phil
or using ./phil.phar
(coming soon). Running this will open the REPL
where you can run simple commands. The binary also accepts a file path to run code contained in a script file.
Example Code
As with all LISP dialects the pattern is (functionname args)
, so to run a simple Hello World app you run:
(println "Hello, World")
or to add a list of numbers together:
(+ 1 2 3 4) ; returns 10
Functions can be declared using the defn
keyword found in Clojure:
(defn sayHello (name) (println (+ "Hello, " name)))
(sayHello "Bob") ; returns "Hello, Bob"
Recursive functions and conditionals are also supported allow for code such as:
(defn length (xs)
(if
(= 0 (count xs))
0
(+ 1 (length (rest xs)))
)
)
(length '(1 2 3 4 5)) ; returns 5