Added small clarification to README
Getty Ritter
10 years ago
| 1 | 1 | S-Cargot is a library for parsing and emitting S-expressions, designed |
| 2 | 2 | to be flexible, customizable, and extensible. Different uses of |
| 3 | 3 | S-expressions often understand subtly different variations on what an |
| 4 |
S-expression is. The goal of S-Cargot is to create |
|
| 4 | S-expression is. The goal of S-Cargot is to create several reusable | |
| 5 | 5 | components that can be repurposed to nearly any S-expression variant. |
| 6 | 6 | |
| 7 | 7 | Additionally, S-Cargot uses these to include out-of-the-box parsing and |
| 9 | 9 | Common Lisp (**in progresss**), Scheme (**in progress**), the |
| 10 | 10 | [Rivest internet-draft](http://people.csail.mit.edu/rivest/Sexp.txt) |
| 11 | 11 | (**in progress**), and Clojure (**in progress**). |
| 12 | ||
| 13 | S-Cargot does _not_ aim to be the fastest or most efficient | |
| 14 | s-expression library. If you need speed, then it would probably be | |
| 15 | best to roll your own [AttoParsec]() parser. | |
| 16 | Wherever there's a choice, S-Cargot errs on the side of | |
| 17 | maximum flexibility, which means that it should be easy to | |
| 18 | plug together components to understand various existing flavors of | |
| 19 | s-expressions or to extend it in various ways to accomodate new | |
| 20 | flavors. | |
| 12 | 21 | |
| 13 | 22 | The central way of interacting with the S-Cargot library is by creating |
| 14 | 23 | and modifying a _spec_, which is a value that represents a given |
| 33 | 42 | |
| 34 | 43 | There are three built-in representations of S-expression lists: two of them |
| 35 | 44 | are isomorphic, as one or the other might be better for processing |
| 36 | S-expression data, and the third represents only a subset of possible | |
| 37 | S-expressions. | |
| 45 | S-expression data in a particular circumstance, and the third represents | |
| 46 | only a subset of possible S-expressions. | |
| 38 | 47 | |
| 39 | 48 | ~~~~.haskell |
| 40 | 49 | -- cons-based representation |