Skip to content

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.

Further Information