Giter Club home page Giter Club logo

l-lang-parser-rs's Introduction

L-lang Parser

A parser for a toy strict untyped λ-calculus language called L-lang.

Get Started

L Language

You may view the syntax of L-lang in l.pest.

There's an example L-lang program called examples/evenb.l.

Export to Coq code

$ l-lang-parser-rs export run.l
Definition my_evenb: tm :=
  (rec (abs "my_evenb"
    (abs "n"
      (mat (var "n") [
        ("S", ["x"],
          (mat (var "x") [
            ("S", ["x"],
              (app (var "my_evenb") (var "x")));
            ("O", [],
              (const "false"))
          ]));
        ("O", [],
          (const "true"))
      ])
    )
  )).

Definition main: tm :=
  (app my_evenb (app (const "S") (app (const "S") (app (const "S") (app (const "S") (const "O")))))).

Run program

$ l-lang-parser-rs export run.l
     = Some (const "true")
     : option tm

License

This project is licensed under the Apache License 2.0.

l-lang-parser-rs's People

Contributors

photonquantum avatar

Stargazers

CWKSC avatar  avatar Tony Beta Lambda avatar λ Neko avatar Raptazure avatar Leo Langer avatar Xiang Shi avatar

Watchers

James Cloos avatar  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.