Arc Forumnew | comments | leaders | submitlogin
user:akkartik
created:4747 days ago
karma:2134
avg:2.05
about:Kartik Agaram -- http://akkartik.name/about -- arc@akkartik.com

Lately I've put Lisp hacking on pause as I build out a better substrate: https://github.com/akkartik/mu

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.

--

submissions
comments