Welcome to Explang documentation
Explang is a simple and customizable dynamically typed language for the Java platform.
The main use case for Explang currently is providing simple customizable user-facing extension language for JVM based software. Read more in Explang Goals and Features
Explang features pluggable syntax frontends (parsers).
Algebraic Syntax
### Compute Factorial (recursive)
function fact(n)
"Compute factorial";
if n fact(n - 1) * n else 1; end;
end;
print(i"5! = $(fact(5))\n");
Read more in Using Explang with Algebraic Syntax, Examples With Algebraic Syntax.
Lisp Syntax
;;; Factorial (recursive)
(defun fact(n)
"Compute factorial"
(if n
(* (fact (- n 1)) n)
1))
(println "5! = " (fact 5))
Read more in Explang Core Quick Start, Using Explang with Lisp Syntax, Examples With Lisp Syntax.