77.1428
14 votes - Developer Tools - First release: 2017-11-07T19:32:31Z
Screenshots
Description - 4+
My Lisp is a complete Lisp environment running directly on the iPhone, iPad, and Mac. This
interpreter is true to the original John McCarthy Lisp implementation with the
fundamental 7 operators quote, atom, eq, car, cdr, cons, cond, along with lambda and
label. My Lisp also contains core and mathematical operators borrowed from other Lisp
dialects (Le Lisp, Lisp 1.5, MacLisp, Common Lisp and Scheme to name a few) to make
it easy to learn, program, and most importantly, enjoy Lisp. It also features
built-in functions for advanced mathematics, including complex numbers and numerical
analysis (roots and zeros finder, integral approximation). The complete description
of the fundamental, core, and built-in functions is available using a set of library
functions completely written in My Lisp.
My Lisp offers an interpreter and an editor, all working on the iPhone and iPad, and
most importantly, without requiring any server connection, that is, the interpreter
is executing locally on the iPhone or iPad My Lisp is installed on.
Library and example files contain the source code of classical functions and problems
solved by My Lisp and may be used as reference to learn Lisp and develop other
programs. They include classical puzzles (hanoi and n-queens), basic mathematical
functions (gcd, lcm, factorial, fibonacci, prime?), and the historical apply, mapcar
and maplist functions. The Lambda Calculus example file contains various functions
related to Lambda Calculus and Combinators, with alpha-conversion, beta-reduction,
de Bruijn notations, etc. As a special note, the example file Symbolic Derivation
contains a complete yet extensible symbolic derivation module allowing to compute
the formal derivation of virtually any symbolic function expressed as a Lisp
expression.
A user manual and a reference manual are available from within the application but
also on My Lisp web site (https://lisp.lsrodier.net) and in Apple Books. The complete
source code of the library and example files is part of My Lisp.
Last but not least, this overview couldn’t end without a sample definition of the
notorious REPL function:
(define (REPL eval_me) (REPL (println (eval (read)))))