Arc Forumnew | comments | leaders | submitlogin
user:akkartik
created:3075 days ago
karma:1526
avg:1.75
about:(PUBLIC SERVICE ANNOUNCEMENT

If you're new here, don't get suckered by the outdated install instructions on this site. Use the community-maintained instructions at http://arclanguage.github.io. Then come back here to ask us questions!)

Kartik Agaram -- http://akkartik.name/about -- arc@akkartik.com

My arc repo with keyword args and generic functions: http://github.com/akkartik/arc

I've also built a small, thoroughly-tested 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