Hacker News new | past | comments | ask | show | jobs | submit login

Good question.

Why not CSV? S-Expressions are tree-structured, and that makes it easier to handle things like whether or not someone has a spouse (or multiple spouses) or a partner, or whether they have a title.

To parse S-Expressions, you just use (read) in Racket (or any Scheme for that matter). CSV isn't hard to parse, but it's not a 6-character expression.

Why not JSON? JSON is tree-structured, so it accounts for the issues above. But, most languages that slurp JSON don't have pattern-matching facilities as powerful as Racket.

If you look at the patterns I wrote to chew up entries and spit out labels, you'll see what I'm talking about.

Finally, the outputted S-Expressions are very human-readable.

/article author




Thank you. I am trying to learn Lisp(Emacs Lisp and Clojure) and was curious on your format choice. Great article btw.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: