A-gent-0.11.0.12: README.md
Λ-gent
======
[](https://hackage.haskell.org/package/A-gent)
`Λ-gent`, pronounced «_**a gent**_», where the **capital lambda** (`Λ`) is a
replacement of the letter `A` in **agent** due to their similarities and [lambda
calculus][lambda-calculus-wiki] being the backbone of [Haskell][haskell] and
`nix` {[language][nix-lang] | [package manager][nix-pkg-man] |
[command][nix-cmd]} / [NixOS][nix-nixOS].
With the substitution, we are now left with the word [gent][oxford-gent], the
abbreviation of [gentleman][oxford-gentleman], which will help us define our
[LLM][llm-wiki] **agent** as:
> _«Polite, well **educated**, has excellent manners and **always** behaves
> well»_
[haskell]: https://www.haskell.org/
[nix-lang]: https://wiki.nixos.org/wiki/Nix_(language)
[nix-pkg-man]: https://wiki.nixos.org/wiki/Nix_(package_manager)
[nix-cmd]: https://wiki.nixos.org/wiki/Nix_(command)
[nix-nixOS]: https://wiki.nixos.org/wiki/NixOS
[lambda-calculus-wiki]: https://en.wikipedia.org/wiki/Lambda_calculus
[oxford-gent]: https://www.oxfordlearnersdictionaries.com/definition/english/gent
[oxford-gentleman]: https://www.oxfordlearnersdictionaries.com/definition/english/gentleman
[llm-wiki]: https://en.wikipedia.org/wiki/Large_language_model
Project structure
=================
```sh
├── doc
│ └── TODO.md
├── src
│ ├── Agent
│ │ ├── Control
│ │ │ ├── Concurrent.hs
│ │ │ ├── IFC.hs
│ │ │ └── MAC.hs
│ │ ├── Data
│ │ │ ├── ANSI
│ │ │ │ └── EscapeCode.hs
│ │ │ └── JSON.hs
│ │ ├── IO
│ │ │ ├── Effects.hs
│ │ │ └── Restricted.hs
│ │ └── LLM.hs
│ └── Internal
│ ├── GaloisInc
│ │ └── Text
│ │ ├── JSON
│ │ │ ├── Generic.hs
│ │ │ ├── String.hs
│ │ │ └── Types.hs
│ │ ├── JSON.hs
│ │ ├── LICENSE
│ │ └── NOTES.md
│ ├── GlasgowUniversity
│ │ ├── Data
│ │ │ └── Generics
│ │ │ └── Aliases.hs
│ │ ├── LICENSE
│ │ └── NOTES.md
│ ├── LLM.hs
│ ├── RIO.hs
│ └── Utils.hs
├── uat
│ └── TODO.md
├── A-gent.cabal
├── CHANGELOG.md
├── LICENSE.md
├── LICENSE_AGPL-3.0-only.txt
├── LICENSE_SSPL-1.0.txt
├── README.md
├── Setup.hs
└── todo.org
```
License
=======
Source code in this repository is ONLY covered by a [**Server Side Public
License, v1 (SSPL-1.0)**][spdx-sspl-1].
However, as `SSPL-1.0` is not approved by the [Free Software Foundation
(FSF)][fsf] nor the [Open Source Initiative (OSI)][osi] as an open source
license (yet), the package will therefore be dual-licensed under the [**GNU
Affero General Public License v3.0 only (AGPL-3.0-only)**][spdx-agpl-3o] as well
so the [Hackage][hackage-osl] operators don't have any conflict with their
ability to operate the service.
Local versions of each of the licenses can be seen at:
* [**Server Side Public License, v1 (SSPL-1.0)**][local-sspl-1]
* [**GNU Affero General Public License v3.0 only
(AGPL-3.0-only)**][local-agpl-3o]
[spdx-sspl-1]: https://spdx.org/licenses/SSPL-1.0
[spdx-agpl-3o]: https://spdx.org/licenses/AGPL-3.0-only
[hackage-osl]: https://hackage.haskell.org/upload
[fsf]: https://www.fsf.org/
[osi]: https://opensource.org/
[local-sspl-1]: ./LICENSE_SSPL-1.0.txt
[local-agpl-3o]: ./LICENSE_AGPL-3.0-only.txt