about: | Kartik Agaram -- http://akkartik.name/about -- arc@akkartik.com Check out the community-maintained fork of Arc: http://arclanguage.github.io I've also built a small, thoroughly-tested and _slow_ Arc-like language with an emphasis on readability: http://akkartik.name/post/wart. Code sample: def (fact n)
if (n = 0)
1
(n * (fact n-1))
; Alternatively
def (fact n)
(n * (fact n-1))
def (fact 0)
1
The implementation uniformly uses generic functions to separate concerns. All language primitives (let, len, +, ..) can be extended using :case.Key features: first-class macros (fexprs) also open to extension, pervasive python-style keyword args, it can deduce parens from indentation (but lisp-with-parens will always work), and support infix operations without compromising macros. -- |