Abacus - Unified Syntax for Pattern Matching over Algebraic Types in Common Lisp
12 views
Skip to first unread message
Chris Kohlhepp
unread,
Jul 2, 2014, 6:24:09 PM7/2/14
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to
I have just wrapped up a small library to add a Haskell inspired, unified syntax for pattern matching over algebraic types for Common Lisp. Code is on Github and article is at the link below. Thought I'd share this with the group.
Abacus is a library to integrate de-structuring pattern matching from Optima and Algebraic Data Types. Pattern matching and algebraic data types are intimately related in functional programming languages like OCaml and Haskell. As such, this is really a continuation of the blog post http://chriskohlhepp.wordpress.com/metacircular-adventures-in-functional-abstraction-challenging-clojure-in-common-lisp/, but now we are moving into an area of changes to syntax and the compilation process that will require macros. Macros were disallowed in our previous "game" just to see how far we would get with functional programming concepts. I wanted to turn this into a deployable package, hence the choice of a name. The ancient calculator Abacus seemed like a fitting name. The full source code for Abacus is available on Github at https://github.com/chriskmanx/abacus.