Giter VIP home page Giter VIP logo

paradox's Introduction

Paradox Parser and Typechecker

Paradox is a front end for a language called Paradox which demonstrates type checking within a dynamically scoped language.

To build:

  • Make sure you have Haskell Platform and cabal version 1.18 installed. Paradox will NOT build on older versions of cabal.
  • Install alex and happy (cabal install alex; cabal install happy)
# cabal configure --enable-tests
# cabal build

It is possible you won't have all the cabal libraries installed. In that case, examine the output from cabal build/configure and install the packages as follows (for the monads-tf package, for example):

# cabal install monads-tf

To run all the tests:

# cabal test

To run Paradox, you can do a "cabal install," and run it from your PATH or by referencing it from the current directory. There are plenty of examples in the examples/ directory. The samples shown during my presentation are in the examples/talk-examples. Note that they are only for reference (you are better of running examples from the examples directory).

Usage: paradox [ -unparse | -ast | -check ] FILE
-unparse:       Display the UNPARSE of a program in FILE.
-ast:           Display the AST of program contained in FILE.
-check:         TYPE CHECK the program contained in FILE.

# dist/build/paradox/paradox -check examples/example1.pd

The -ast option will just display the AST along with a pretty printed AST for debugging purposes.

paradox's People

Contributors

jsinglet avatar

Watchers

 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.