You need a modern GHC (>= 9) and cabal.
$ cabal build all
$ cabal test
$ cabal repl
λ :m + HsKu.Load Data.Maybe
λ langs <- loadLanguages
λ (lang, haiku) = fromJust $ parseHaiku langs "Decken auf dem Gras, eine Nacht lang ohne Haus - reich nur durch den Mond."
λ name lang
"Deutsch"
λ haiku
("Decken auf dem Gras,","eine Nacht lang ohne Haus -","reich nur durch den Mond.")
$ cabal run hsku-webservice
Haiku parsing with JSON results:
$ curl http://localhost:8080/haiku?input=42
{"result":null}
$ curl --get \
--data-urlencode "input=Decken auf dem Gras, eine Nacht lang ohne Haus - reich nur durch den Mond" \
http://localhost:8080/haiku
{"result":["Decken auf dem Gras,","eine Nacht lang ohne Haus -","reich nur durch den Mond"]}
$ cabal run hsku-cli
42
{"result":null}
$ cabal run hsku-cli
Decken auf dem Gras, eine Nacht lang ohne Haus - reich nur durch den Mond.
{"result":["Decken auf dem Gras,","eine Nacht lang ohne Haus -","reich nur durch den Mond."]}
(c) 2024 Mirko Westermeier
Licensed under the MIT license (see LICENSE) for details.