A programming language, syntax are like mal and clojure. This project follow mal guides, Planning to add some more features after finishing the guides.
Note: This project is just for me to learn about parsing and stuff, Please don't expect things to be stable in here. Things can change in here without warning. Use at your own caution :O
Current progess
- Parsing
- Parse from file
- Evaluating
- Environment
- User-defined function
- Macros
- Try
- Implement basic language stuff
- Transpliers and/or Compilers
Examples
The syntax highlighting might be incorrect becuase there is no support for this language (yet)
;; Hello world
(printf "Hello World!")
;; Fizzbuzz
(def fizzbuzz (fn [i]
(let [v [ (= (% i 3) 0), (= (% i 5) 0) ] ]
(if (= v [true, true]) "FizzBuzz"
(if (= v [true, false]) "Fizz"
(if (= v [false, true]) "Buzz"
(if (= v [false, false]) (strf i))))))))
;; Looping
(def loop (fn [x max]
(if (<= x max)
(do
(printf (fizzbuzz x))
(loop (+ x 1) max)
))))
(loop 1 20)