Mal is a Clojure inspired Lisp interpreter.
-Mal is implemented in 53 languages:
+Mal is implemented in 59 languages:
* Ada
* GNU awk
* C
* C++
* C#
+* ChucK
+* GNU CLISP
* Clojure
* CoffeeScript
* Crystal
* JavaScript ([Online Demo](http://kanaka.github.io/mal))
* Julia
* Kotlin
+* Logo
* Lua
* GNU Make
* mal itself
* Objective C
* OCaml
* Perl
+* Perl 6
* PHP
-* PL/pgSQL
+* PL/pgSQL (Postgres)
+* PL/SQL (Oracle)
* Postscript
+* PowerShell
* Python
* RPython
* R
mono ./stepX_YYY.exe
```
+### ChucK
+
+*The ChucK implementation was created by [Vasilij Schneidermann](https://github.com/wasamasa)*
+
+The ChucK implementation has been tested with ChucK 1.3.5.2 on Arch
+Linux.
+
+```
+cd chuck
+./run
+```
+
+### GNU CLISP
+
+*The GNU CLISP implementation was created by [Iqbal Ansari](https://github.com/iqbalansari)*
+
+The implementation has been tested with GNU CLISP v2.49 on Ubuntu 16.04, 14.04 and 12.04
+
+```
+cd clisp
+make
+./run
+```
### Clojure
*The Crystal implementation of mal was created by [Linda_pp](https://github.com/rhysd)*
-The Crystal implementation of mal has been tested with Crystal 0.10.0.
+The Crystal implementation of mal has been tested with Crystal 0.18.4.
```
cd crystal
java -jar stepX_YYY.jar
```
+### Logo
+
+*The Logo implementation was created by [Dov Murik](https://github.com/dubek)*
+
+The Logo implementation of mal has been tested with UCBLogo 6.0.
+
+```
+cd logo
+logo stepX_YYY.lg
+```
+
### Lua
Running the Lua implementation of mal requires lua 5.1 or later,
perl stepX_YYY.pl
```
+### Perl 6
+
+*The Perl 6 implementation was created by [Hinrik Örn Sigurðsson](https://github.com/hinrik)*
+
+The Perl 6 implementation was tested on Rakudo Perl 6 2016.04.
+
+```
+cd perl6
+perl6 stepX_YYY.pl
+```
### PHP 5.3
php stepX_YYY.php
```
+### PL/pgSQL (Postgres SQL Procedural Language)
+
+The PL/pgSQL implementation of mal requires a running Postgres server
+(the "kanaka/mal-test-plpgsql" docker image automatically starts
+a Postgres server). The implementation connects to the Postgres server
+and create a database named "mal" to store tables and stored
+procedures. The wrapper script uses the psql command to connect to the
+server and defaults to the user "postgres" but this can be overridden
+with the PSQL_USER environment variable. A password can be specified
+using the PGPASSWORD environment variable. The implementation has been
+tested with Postgres 9.4.
+
+```
+cd plpgsql
+./wrap.sh stepX_YYY.sql
+ # OR
+PSQL_USER=myuser PGPASSWORD=mypass ./wrap.sh stepX_YYY.sql
+```
+
+### PL/SQL (Oracle SQL Procedural Language)
+
+The PL/pgSQL implementation of mal requires a running Oracle DB
+server (the "kanaka/mal-test-plsql" docker image automatically
+starts an Oracle Express server). The implementation connects to the
+Oracle server to create types, tables and stored procedures. The
+default SQL*Plus logon value (username/password@connect_identifier) is
+"system/oracle" but this can be overridden with the ORACLE_LOGON
+environment variable. The implementation has been tested with Oracle
+Express Edition 11g Release 2. Note that any SQL*Plus connection
+warnings (user password expiration, etc) will interfere with the
+ability of the wrapper script to communicate with the DB.
+
+```
+cd plsql
+./wrap.sh stepX_YYY.sql
+ # OR
+ORACLE_LOGON=myuser/mypass@ORCL ./wrap.sh stepX_YYY.sql
+```
+
### Postscript Level 2/3
The Postscript implementation of mal requires ghostscript to run. It
gs -q -dNODISPLAY -I./ stepX_YYY.ps
```
-### PL/pgSQL (Postgres SQL Procedural Language)
+### PowerShell
-The PL/pgSQL implementation of mal requires a running Postgres
-server (the "kanaka/mal-test-plpgsql" docker image automatically
-starts a Postgres server). The implementation connects to the Postgres
-server and create a database named "mal" to store tables and stored
-procedures. It has been tested with Postgres 9.4.
+The PowerShell implementation of mal requires the PowerShell script
+language. It has been tested with PowerShell 6.0.0 Alpha 9 on Linux.
```
-cd plpgsql
-./wrap.sh stepX_YYY.sql
+cd powershell
+powershell ./stepX_YYY.ps1
```
### Python (2.X or 3.X)
### Swift 3
The Swift 3 implementation of mal requires the Swift 3.0 compiler. It
-has been tested with the development version of the Swift 3 from
-2016-02-08.
+has been tested with Swift 3 Preview 3.
```
cd swift3