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.
--