Skip to content

Latest commit

 

History

History
25 lines (20 loc) · 439 Bytes

README.md

File metadata and controls

25 lines (20 loc) · 439 Bytes

x-lisp

Dynamicly typed language with GC (optional explicit free).

define-generic define-handler define-data match-data

(define-data exp?
  (exp-var (name string?))
  (exp-fn (name string?) (body exp?))
  (exp-ap (target exp?) (arg exp?)))

(match-data exp? exp
  ((exp-var name) ...)
  ((exp-fn name body) ...)
  ((exp-ap target arg) ...))
(declare add (-> nat? nat? nat?))
(define (add x y) ...)