nominolo / atto-lisp

Efficient parsing and encoding of Lisp expressions for Haskell.
Other
24 stars 16 forks source link

multiple lisp dialects? #10

Open kowey opened 12 years ago

kowey commented 12 years ago

I think it could be useful first to explicitly decide if we want atto-lisp to be specific to a dialect of Lisp (I'm using Common Lisp for now), or if we're trying to be flexibly support multiple dialects (within reason, not trying to go all out here)

If the latter, would an hierarchy like

make sense? The idea is that each Data.AttoLisp.Foo would export the same interface as Data.AttoLisp (and actually import the bits and pieces from it that more or less work the same across lisps). One thing we may have to watch out for is if the Lisp type would gracefully support the dialects people care about.

nominolo commented 12 years ago

Right, that requires narrowing down what the goals of atto-lisp are in general.

Personally, I wrote it in order to simply communicate with an Emacs process (the Emacs json package had a few issues). I'm open to taking it into new directions, though.

I'm unsure whether the distinctions between different Lisp's can be expressed at the API level. E.g., if the serialisations are different the underlying data structure somehow has to encompass them all.