robotsnowfall / pseudoglot

Pseudoglot is a work-in-progress library for procedurally generating languages.

Version Matrix
layout title section


Build Status Coverage Maven Central


Pseudoglot is a work-in-progress library for procedurally generating constructed, fictional languages.


Getting Started

Pseudoglot is currently available for Scala 2.11.

To get started with SBT, simply add the following to your build.sbt file:

libraryDependencies += "io.robotsnowfall" %% "pseudoglot" % "0.1.0"

This will pull in all of Pseudoglot's modules. If you only require some functionality, you can pick-and-choose from amongst these modules (used in place of "pseudoglot"):

  • pseudoglot-core: Most core type classes and functionality (required).
  • pseudoglot-laws: Laws for testing type class instances.


Among the goals of Pseudoglot is to provide approachable and useful documentation. Documentation is available in the form of tutorials on the Pseudoglot website, as well as through Scaladoc (also reachable through the website).


To build Pseudoglot you should have sbt installed. Run sbt, and then use any of the following commands:

  • compile: compile the code
  • console: launch a REPL
  • test: run the tests
  • unidoc: generate the documentation
  • scalastyle: run the style-checker on the code
  • validate: run tests, style-checker, and doc generation

License and Credits

All code is available under the MIT license, available at and also in the LICENSE file.

Many of the ideas for Pseudoglot originally came from reading Mark Rosenfelder's The Language Construction Kit and David J. Peterson's The Art of Language Invention.