{"id":16649701,"url":"https://github.com/luispedro/hex","last_synced_at":"2025-06-13T12:04:34.963Z","repository":{"id":1207072,"uuid":"1118406","full_name":"luispedro/hex","owner":"luispedro","description":"Reimplementation of TeX in Haskell: pre-alpha","archived":false,"fork":false,"pushed_at":"2014-04-24T22:20:45.000Z","size":788,"stargazers_count":31,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-09T17:05:26.779Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://luispedro.org/software/hex","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/luispedro.png","metadata":{"files":{"readme":"README.rst","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING.GPL3","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-11-28T05:16:58.000Z","updated_at":"2025-03-10T07:49:11.000Z","dependencies_parsed_at":"2022-08-16T12:35:17.643Z","dependency_job_id":null,"html_url":"https://github.com/luispedro/hex","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/luispedro/hex","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luispedro%2Fhex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luispedro%2Fhex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luispedro%2Fhex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luispedro%2Fhex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luispedro","download_url":"https://codeload.github.com/luispedro/hex/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luispedro%2Fhex/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259642249,"owners_count":22888982,"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":[],"created_at":"2024-10-12T09:11:36.996Z","updated_at":"2025-06-13T12:04:34.867Z","avatar_url":"https://github.com/luispedro.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"===================\nHeX: TeX in Haskell\n===================\n\nHeX is a reimplementation of TeX in Haskell.\n\nIt is currently pre-pre-alpha: it doesn't do much.\n\nCurrently (as of version 0.0.4), it can typeset some simple text, using TeX\nlinebreaking, and some simple math ($x^2$ and the like).\n\nThe plan is to first write a faithful reimplementation of TeX and then, *make\nit better*.\n\nWhat needs to be better?\n------------------------\n\nHere are my ideas:\n\n1. Better error messages.\n2. Better package management.\n3. Document at-once-typesetting (instead of page-per-page).\n4. Single pass implementation of cross-references.\n5. Better handling of floats.\n6. Better handling of images.\n7. Faster.\n8. Better scripting.\n9. In-built (or script written) facilities for things like references (instead\n   of relying on external programmes).\n10. Use of multi-core machines.\n11. More output formats (ePub, HTML, ...?)\n\nSome of these are traditionally built *on top* of TeX instead of modifying it.\nWhile that is a good way to do some things, it also means that the results are\nnot as good as they should be. There is no reason to not have the handling of\nfloats at the TeX level, for example.\n\nWhat needs to stay the same?\n----------------------------\n\nGood quality output.\n\nWhat can change?\n----------------\n\nThe console output. Coming from a Unix background, I find TeX unbearably\nverbose. If no errors are found, it should output *nothing*. Also, there might\nbe no functionality for interactive use when an error occurs.\n\nFiles that trigger an error in TeX will not necessarily work the same way in\nhex.\n\nDependencies\n------------\n\ncabal install \\\n            cmdargs \\\n            list-extras \\\n            vector \\\n            vector-algorithms \\\n            binary \\\n            convertible \\\n            parsec \\\n            dlist \\\n            test-framework-th \\\n            test-framework-quickcheck2 \\\n            test-framework-hunit\n\nYou also need to have some TeX binaries available (at the moment). On Ubuntu,\nyou can install them by running::\n\n    sudo apt-get install texlive-binaries texlive-base\n\n\nMeta-Information\n----------------\n\nAuthor: Luis Pedro Coelho \u003cluis@luispedro.org\u003e\n\nLicense: GPLv3 or later\n\nWebsite: http://luispedro.org/software/hex\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluispedro%2Fhex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluispedro%2Fhex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluispedro%2Fhex/lists"}