Giter Site home page Giter Site logo

adp-multi Build Status Coverage Status

adp-multi is an adaptation of the Algebraic Dynamic Programming method for multiple context-free languages.

It is a library based on the original Haskell-ADP implementation and can be considered an unoptimized prototype.

You can find out more about it at its project page.

Quick start

  1. Check out the git repository
  2. Run cabal install --flags="buildTests" inside the checked out folder
  3. Run adp-test to see if there's some output (then it works)
  4. Explore the examples (start at tests/ADP/Tests/Main.hs)

The library is also published on Hackage.

How to debug and report errors

  1. Write a unit and/or property test which reproduces the error (see tests/ADP/Tests/)
  2. Try to fix the error
  3. Submit a pull request which includes the failing test (and possibly the fix)

If you get Haskell exceptions, then it is useful to enable stack traces:

  1. (If not already done) Install all used packages with --enable-library-profiling (can be enabled by default in ~/.cabal/config or ~\AppData\Roaming\cabal\config, respectively)
  2. Compile adp-multi with the GHC options -rtsopts -prof -auto-all (performance will be degraded)
  3. Run with +RTS -xc to get stack traces on exceptions

ADP for Multiple Context-Free Languages's Projects

adp-multi icon adp-multi

Prototype of ADP for MCFL (multiple context-free languages)

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.