56 languages to write a Lisp interpreter

label: GitHubLISPClojureprograming languageOpen Source
3789 people read comment(1) Collection report
Classification:

This morning, atmicro-blogOn seeing such a project:

Full of curiosity, I can not help but click on the link to enterIts GitHub home pageStudy up.

The name of the Make a Lisp mal project, the current harvest of 2466 star, the main contributorMartin Joel(@bus_kanaka), current ViaSat (former)LonoCloud.comEngineer Principal. In README.md's mal, this statement:

Mal is a Clojure inspired by the Lisp interpreter, the use of the 56 languages, respectively:

,,,,,,, (Postgres, PL/pgSQL,,,,,,,,,,,,,,,,,,,,,,, ADA, GNU awk, bash shell, C, C + + C# clojure coffeescript crystal D elixir, Emacs lisp, Erlang ES6 (ECMAScript 6 / ECMAScript 2015), F# factor forth go groovy, GNU guile, Haskell haxe IO, Java, JavaScript (online demo), Julia Kotlin logo with a Lua GNU make mal itself, matlab miniMAL Nim Object Pascal, Objective-C Ocaml, Perl, Perl, PHP, PL / SQL, Oracle), postscript, Python RPython r racket Ruby rust, Scala, swift, swift, TCL, VHDL vimscript visual basic.net

See here, the author can not help but produce "I and my little friends are shocked" feeling.

Each of the implementations of the mal will be split into 11 separate steps, each of which is:

For more detailsProcess guide make-a-lisp.

On the specific implementation, README.md is introduced in this way: "the most simple way is to use Docker, each of the implementation will have a language based on the pre constructed Docker image."

Examples of various languages to achieve, to enterGitHub home pageCan view all:

Ada

Make
./stepX_YYY

C

CDC
Make
./stepX_YYY

C++

CDCPP
Make
    # OR
CXX=clang++- makeThree point five
./stepX_YYY

C#

CDCS
Make
./stepX_YYY.exe mono

Haxe

Haxe CD
# Neko
MakeAll-neko
./stepX_YYY.n Neko
# Python
MakeAll-python
./stepX_YYY.py python3
# C++
MakeAll-cpp
./cpp/stepX_YYY
# JavaScript
MakeAll-js
./stepX_YYY.js node

Java 1.7

Java CD
Compile MVN
-quiet exec:java -Dexec MVN.mainClass=mal.stepX_YYY
    # OR
-quiet exec:java -Dexec MVN.mainClass=mal.stepX-Dexec _YYY.args="CMDLINE_ARGS"

JavaScript/Node

CDJS
Update NPM
StepX_YYY.js node

Objective-C

CDObjc
Make
./stepX_YYY

Swift 3

CDSwift3
Make
./stepX_YYY

Disclaimer: the author's programming skills are not good, but also in constant learning, welcome to the exchange of. Welcome to the public number mobilehub, learning together, and common progress.

Mobilehub

top
Three
step on
Zero

Reference knowledge base

Guess you're looking for
View comments
* the above user comments only represent their personal views, does not represent the views or position of the CSDN website
    personal data
    • visit:21531 times
    • Integral:Three hundred and fifty-four
    • Grade:
    • Rank:Thousands of miles away
    • original:10
    • Reproduced:0
    • Translation:1
    • Comments:30
    Latest comments