GithubHelp home page GithubHelp logo

raehik / pladlang Goto Github PK

View Code? Open in Web Editor NEW
1.0 4.0 0.0 105 KB

A toolchain for a collection of simple lambda calculus languages. (Originally for the 2020 UKC CO663 module.)

License: MIT License

Haskell 99.85% Shell 0.15%

pladlang's Introduction

Pladlang: Tools for a simple exemplar programming language

This is a set of tools for Pladlang, a generalisation of some simple lambda calculus-like languages introduced in the 2020 UKC module CO663 Programming Languages: Application and Design (-> PLAD). It started off as a formal type derivation builder to let me cheat on part of an assessment, and grew much later as I learned more Haskell.

Main usage: Takes an equation written in a simple language inspired by the lambda calculus and build a formal type derivation for it in LaTeX macros via the mathpartir package.

Usage

Pladlang is built with Stack, so with it installed:

stack ghci

Then run wild. Examples are stored in Pladlang.Examples and prepended with ex or assess. (TODO)

To compile the LaTeX output, you'll need LaTeX with a bunch of packages including mathpartir. (TODO)

Acknowledgements

Summaries of the languages implemented in Pladlang were originally provided as course material for the 2020 CO663 module at UKC.

Language EF is adapted from: Harper, Robert. Practical foundations for programming languages. Cambridge University Press, 2016.

License

Provided under the MIT license. Please see LICENSE for the full license text.

pladlang's People

Contributors

raehik avatar

Stargazers

Kamil Adam avatar

Watchers

James Cloos avatar  avatar Kamil Adam avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.