From 897fb17dd6a045a7056e6d6babbbb24748f698f6 Mon Sep 17 00:00:00 2001 From: tomsmeding Date: Sat, 9 Dec 2017 10:48:58 +0100 Subject: Initial --- stdlib.hs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 stdlib.hs (limited to 'stdlib.hs') diff --git a/stdlib.hs b/stdlib.hs new file mode 100644 index 0000000..6f7334f --- /dev/null +++ b/stdlib.hs @@ -0,0 +1,16 @@ +module Stdlib(stdlib) where + +import AST +import Parser + + +stdlib :: Program +stdlib = fromRight $ parseProgram + "(define not (x) (= x 0))\n\ + \(define id (x) x)\n\ + \(define nil (x) (= x '()))\n\ + \(define . (f g) (lambda (x) (f (g x))))\n" + +fromRight :: Show a => Either a b -> b +fromRight (Right b) = b +fromRight (Left a) = error $ "fromRight on Left: " ++ show a -- cgit v1.2.3-54-g00ecf