april
A subset of APL (A Programming Language) compiling to Common Lisp.

Usage examples follow.

Evaluate APL expression:

(april "+/3 4⍴⍳12") ;; => #(10 26 42)

Count from 0:

(april (set (:state :count-from 0)) "⍳9") ;; => #(0 1 2 3 4 5 6 7 8)

Common Lisp I/O:

(april (set (:state :in ((a 1) (b 2)) :out (a c))) "c←a+b×11") ;; => 1 23

Symbols with dashes need to be converted into camelCase in APL:

(april (set (:state :in ((my-var 2) (other-var 5)))) "myVar×otherVar+5") ;; => 20

Uses array-operations underneath.

As of 2018-03-21, was only tested on SBCL and not available in Quicklisp.

Homepage: GitHub

License: Apache-2.0

Topics: linear algebra, matrix, programming language