{"id":15010969,"url":"https://github.com/arademaker/hs-conllu","last_synced_at":"2025-12-11T23:21:27.249Z","repository":{"id":41192355,"uuid":"117171037","full_name":"arademaker/hs-conllu","owner":"arademaker","description":"CoNLL-U/UD library","archived":false,"fork":false,"pushed_at":"2022-06-30T00:47:14.000Z","size":144,"stargazers_count":3,"open_issues_count":10,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-02T13:44:46.589Z","etag":null,"topics":["conll-u","haskell","universal-dependencies"],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arademaker.png","metadata":{"files":{"readme":"README","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-01-12T00:34:41.000Z","updated_at":"2022-08-23T14:10:47.000Z","dependencies_parsed_at":"2022-09-13T04:35:52.284Z","dependency_job_id":null,"html_url":"https://github.com/arademaker/hs-conllu","commit_stats":null,"previous_names":["odanoburu/hs-conllu"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arademaker%2Fhs-conllu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arademaker%2Fhs-conllu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arademaker%2Fhs-conllu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arademaker%2Fhs-conllu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arademaker","download_url":"https://codeload.github.com/arademaker/hs-conllu/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248088530,"owners_count":21045729,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["conll-u","haskell","universal-dependencies"],"created_at":"2024-09-24T19:37:57.711Z","updated_at":"2025-12-11T23:21:22.215Z","avatar_url":"https://github.com/arademaker.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# -*- mode: org -*-\n#+TITLE: hs-conllu\n\n[[https://travis-ci.org/odanoburu/hs-conllu][file:https://travis-ci.org/odanoburu/hs-conllu.svg?branch=master]]\n[[http://hackage.haskell.org/package/hs-conllu][file:https://img.shields.io/hackage/v/hs-conllu.svg?style=flt]]\n\nthis package provides a validating[fn:1] parser of the [[http://universaldependencies.org/format.html][CoNLL-U format]], along\nwith a data model for its constituents. reading, pretty-printing, and\ndiffing functions are also provided.\n\nfurther processing utilities are being developed and will be placed in\na separate package.\n\n* installation\n=hs-conllu= is available on [[http://hackage.haskell.org/package/hs-conllu][Hackage]], but if you prefer to install from\nsource:\n  #+BEGIN_SRC sh\n  cd /path/of/choice/\n  git clone $REPO_URL\n  #+END_SRC\n  - using =cabal=:\n    #+BEGIN_SRC sh\n    cabal install\n    #+END_SRC\n  - using =stack=:\n    #+BEGIN_SRC sh\n    stack setup\n    stack build\n    stack install --system-ghc\n    #+END_SRC\n\n  the library is tested with multiple GHC versions, on Linux and on\n  OSX (thanks Travis!).\n\n  if you have problems with the dependency versions, you may try to\n  alter them in the cabal file for the version you have. the version\n  bounds were generated automatically by cabal, and are probably\n  conservative -- the library probably will probably still work if you\n  have the same major version. (if it does, make a PR!)\n\n  if you don't want to have this kind of problem anymore, try [[https://docs.haskellstack.org/en/stable/README/][stack]]\n  (see why [[https://www.fpcomplete.com/blog/2015/06/why-is-stack-not-cabal][here]]).\n\n* usage\n  if you would like to request features, please open an issue.\n\n** hs-conllu, the executable\n   this executable can be called using stack by\n   : stack exec hs-conllu [subcommand] [args]\n   it currently has two subcommands:\n   - validate :: read and pretty-print the file given as argument.\n   - diff :: diff the two CoNLL-U files provided as arguments, and\n             print them. this assumes changes have only been made to\n             word fields, not to sentence ordering, etc. if you'd like\n             finer grained diffing, you will have to use the library.\n\n** Reading CoNLL-U files\n   the reading functions are in the =IO= module.\n   #+BEGIN_SRC sh\n   $ ghci\n   \u003e import Conllu.IO\n   \u003e d \u003c- readConllu \"path/to/conllu\"\n   #+END_SRC\n   will read the file at the specified path, or all the =*.conllu=\n   files in that path.\n\n   if your CoNLL-U files don't stricly follow the specification or I\n   got the parser wrong, please open an issue! aditionally, you may\n   solve your problem if you take a look at the =Parser= module.\n\n** Customizable parsers\n   if you just want to tweak how a few fields of the CoNLL-U format\n   are parsed, you may write a parser for that field and then\n   customize the standard parser with it. see the Haddock\n   documentation for the =Parse= module.\n\n   I didn't make the parser as customizable as it could be, so if that\n   bothers you, please create an issue or file a PR!\n\n** Pretty-Printing\n   the printing functions are in the =Print= module. see the Haddock\n   documentation!\n\n** Diffing\n   see the =Diff= module Haddock documentation.\n\n* contributing\n  I'm a new haskeller, so any help will probably be useful -- even if\n  its just a few pointers and comments on how I can improve the\n  library or my code.\n\n  if you want to contribute code, let me know, and go right on. you\n  may want to look at the =TODO.org= file.\n\n* Footnotes\n\n[fn:1] it currently only validates the CoNLL-U syntax, not its\nsemantics (i.e., it will report an error if it finds a letter on the\nID field, but won't complain if you specified an inexisting word as\nHEAD of another word).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farademaker%2Fhs-conllu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farademaker%2Fhs-conllu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farademaker%2Fhs-conllu/lists"}