Skip to content

hayleigh-dot-dev/awesome-elm-pltd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 

Repository files navigation

Awesome Elm PLTD Awesome

Useful resources for programming language theory & development in Elm.

Elm is a statically typed, pure, functional programming language for creating Web applications. Why use Elm for PL development then? Maybe you're more familiar with Elm, or you want your language to be available anywhere JavaScript is, or maybe you don't want to learn about monads and burritos.

Whatever the reason, there are at least a few of us playing with PL development in Elm so why not have an awesome list to show off that work?

Come join the #language-implementation channel on the Elm slack for more discussion!

About This List

Over the last year or so I've noticed a number of projects and discussions pop up on the Elm slack and discourse around programming language development in Elm. Some are toy or learning projects, while others are more serious endeavours like Stabel or funkLang. The ephemeral nature of Slack chat means a lot of information gets lost over time and we traditionally haven't had a place to organise or consolodate that knowledge.

Hopefully this list can rectify that! At the moment this list is a largely uncurated collection of PL-related projects in Elm with the intention that we have a starting point for sharing, learning, and discussion. In time, this list will become more heavily curated to show off the best or most interesting examples of PL dev in Elm.

Contents


Languages

Compilers

  • elm-in-elm - Elm compiler written in Elm
  • ren - Cleaner, clearer JavaScript. A functional scripting language for the Web.
  • funkLang - funkLang is a Visual FrontEnd Framework where you can design, develop and deploy complex web applications using both visual and code workflows.
  • squarepants - Squarepants is a programming language aimed at interactive applications.

Interpreters

  • schelme - A minimal scheme-esque language written in Elm.
  • elm-eexl - Elm Expression Language: Simple context-based expression parser and evaluator.
  • microkanren - An Elm implementation of the μKanren language.
  • lisa - A Lisp dialect designed for coding workshops
  • ulmus - Ulmus is a Lisp implementation made with Elm.
  • elm-lisp - An experiment in writing parse and eval for a typed Lisp in Elm.
  • elm-scheme - A Scheme implementation in Elm.
  • leaf-lang - A multi-paradigm scripting language for Elm.
  • elm-monkey-interpreter - A Monkey interpreter written in Elm.

Markup Languages

  • elm-markup - Elm Markup is a markup language that integrates closely with Elm.
  • L1 - A toy language demo for a fault-tolerant parser.
  • CaYaTeX - CaYaTeX is an experimental markup language that compiles to LaTeX, Html, and (indirectly) PDF.
  • LiaScript - Markdown for interactive Open Educational Resources (OER), with support for animations, text2speech, automated data analyzes & visualization, interactive coding, quizzes, ASCII-art and more ... It is also extendable due to an simple Macro-System.

Packages

Parsing

  • elm/parser - A parsing library, focused on simplicity and great error messages.
  • dmy/elm-pratt-parser - Pratt / Top-Down Operator Precedence parsing for elm/parser.

Code Generation

  • the-sett/elm-pretty-printer - A pretty printing library based on 'A Prettier Printer' by Philip Wadler.
  • the-sett/salix - Salix is a data modelling language that is designed to support code generation across many different situations.
  • Janiczek/elm-sourcemap - A library for generating source maps (for use in browser step debuggers, handy for languages compiling to JavaScript).

Other


Resources

Talks & Videos


Gists & Snippets

🚨 Note: These are snippets or short bits of code that are mostly presented without comment or explanation, but might still be handy to use, copy, or learn from. If you're the author of any of these snippets, or have used them in your own work, consider writing a blog post or publishing a package so we can add those to this list instead!

Gists

About

A showcase of awesome programming language projects and resources written in Elm.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published