language-toolkit: A set of tools for analyzing languages via logic and automata
This provides the Language Toolkit (LTK) library and associated executables. There are four main components:
factorize, which takes as input a set of finite-state automata and writes out for each one a set of constraints that approximates (or, if possible, defines) it.plebby, an interactive theorem-prover in which one can define languages via logical constraints or import finite-state automata and get information about the languages so defined.classify, a command-line classification program useful for batch jobs.And the
LTKlibrary, which includes the functions used byfactorizeandplebbyas well as several other useful tools.
This project began as a simple tool for working with finite-state automata, and has grown considerably more useful in working specifically with sub-regular languages as it has matured.
Modules
[Index] [Quick Jump]
- LTK
- LTK.Algebra
- LTK.Containers
- LTK.Decide
- LTK.Decide.Acom
- LTK.Decide.B
- LTK.Decide.CB
- LTK.Decide.Definite
- LTK.Decide.DotDepth
- LTK.Decide.FO2
- LTK.Decide.Finite
- LTK.Decide.GD
- LTK.Decide.GLPT
- LTK.Decide.GLT
- LTK.Decide.JoinVariety
- LTK.Decide.LAcom
- LTK.Decide.LPT
- LTK.Decide.LT
- LTK.Decide.LTT
- LTK.Decide.Multitier
- LTK.Decide.PT
- LTK.Decide.SF
- LTK.Decide.SL
- LTK.Decide.SP
- LTK.Decide.SPL
- LTK.Decide.TLAcom
- LTK.Decide.TLPT
- LTK.Decide.TLT
- LTK.Decide.TLTT
- LTK.Decide.TSL
- LTK.Decide.Trivial
- LTK.Decide.Variety
- LTK.DecideM
- LTK.DecideS
- LTK.Extract
- LTK.FSA
- LTK.Factors
- Learn
- LTK.Parameters
- LTK.Porters
- LTK.Porters.ATT
- LTK.Porters.Corpus
- LTK.Porters.Dot
- LTK.Porters.EggBox
- LTK.Porters.Jeff
- LTK.Porters.Pleb
- LTK.Porters.SyntacticOrder
- LTK.Porters.SyntacticSemilattice
- LTK.Tiers
- LTK.Traversals
Downloads
- language-toolkit-1.3.0.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 1.0.0.0, 1.0.1.0, 1.1.0.0, 1.2.0.0, 1.2.0.1, 1.3.0.0 |
|---|---|
| Change log | CHANGELOG.md |
| Dependencies | array (>=0.1 && <0.6), base (>=4.6 && <5), containers (>=0.5.11 && <0.9), deepseq (>=1.2 && <1.6), directory (>=1.2.3 && <1.4), exceptions (>=0.1 && <0.11), filepath (>=1.0 && <1.6), finite-semigroups (>=0.1 && <0.2), haskeline (>=0.6.3 && <0.9), language-toolkit, parallel (>=2.0 && <3.3), process (>=1.1 && <1.7), transformers (>=0.2 && <0.7) [details] |
| Tested with | ghc ==9.8.1, ghc ==9.12.2 |
| License | MIT |
| Copyright | (c) 2014-2025 Dakotah Lambert |
| Author | Dakotah Lambert, James Rogers |
| Maintainer | Dakotah Lambert <dakotahlambert@acm.org> |
| Category | Formal Languages |
| Home page | https://github.com/vvulpes0/Language-Toolkit-2 |
| Bug tracker | https://github.com/vvulpes0/Language-Toolkit-2/issues |
| Source repo | head: git clone https://github.com/vvulpes0/Language-Toolkit-2.git -b develop |
| Uploaded | by dakotah_lambert at 2025-08-14T08:21:37Z |
| Distributions | NixOS:1.2.0.1 |
| Executables | classify, plebby, make-non-strict-constraints, factorize, dotify |
| Downloads | 356 total (6 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating | |
| Status | Docs available [build log] Last success reported on 2025-08-14 [all 1 reports] |