Diffstat (limited to 'README.md')
1 files changed, 6 insertions, 34 deletions
@@ -5,7 +5,11 @@ interfaces. They are like command-line user interfaces, but for
Given a type, it derives instances to print and parse it as
+command-line arguments. The resulting serialization wouldn't be as
+nice as that of
+but the aim here is to handle arbitrary types.
The goal is to
@@ -16,36 +20,4 @@ architectures. Described in more detail in
[command-line program interface](https://defanor.uberspace.net/notes/command-line-program-interface.html) note.
-Not production-ready yet, merely a prototype.
-There is an example in `Example.hs`, but here are some bits:
-data Y = Foo Bool Int
- | Bar Int
- | Baz
-data X = X String (Maybe Int) (Maybe [Int]) Y Y String
-`toArgs` serializes data into arguments, and `fromArgs` deserializes
-it: `X "test" Nothing (Just [1,2,3]) (Foo True 1) Baz "end"` ↔ `x
-"test" n j 1,2,3 foo t 1 baz "end"`.
-What it currently lacks, but what should be done, roughly in that
-* Proper parsing: use optparse-applicative, Parsec, or a custom
- parser, but something with error handling and more flexible.
-* Named arguments (via records), not just positional ones.
-* Optional arguments: once the named ones will be there, `Maybe a`
- could be handled nicer.
-* Help messages.
+Far from production-ready yet, merely a prototype.