Giter Site home page Giter Site logo

dimpl's Introduction

#DiMPL

##Discrete Mathematics Programming Language - A Domain-Specific Language for Discrete Mathematics.

Current Version: 0.1

This DSL is implemented in Haskell, which lends itself easily to mathematical programming. The language has a syntax closer to the mathematical notation used in discrete mathematics.

The library covers functions from the areas of:

  1. Mathematical Logic
  2. Set Theory
  3. Graph Theory
  4. Number Theory
  5. Linear Algebra
  6. Combinatorics

Apart from aiding mathematicians and physicists, DiMPL is useful in studying and describing objects and problems in branches of computer science, such as algorithms, programming languages, cryptography, and software development.

###Installation

Run these commands from the command line to install the DSL library:

$ cabal configure

$ cabal build

$ cabal install

$ cabal clean (optional)

The Preprocessor is simply the file "preprocessor.sh", which uses sed scripts written in the file "script", so these can be added to PATH in order to be used for all programs. Both "preprocessor.sh" and "script" can be found in the "preprocessor" directory.

###Usage

$ ghc -F -pgmF preprocess.sh file.hs

This generates "file.o", "file.hi" and the executable "file". The executable can be run by typing:

$ ./file

The library can even be used in GHCi (without the preprocessor) just like any other package.

###Help

E-mail: [email protected]

dimpl's People

Contributors

rohitjha avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

fpdevil

dimpl's Issues

Code Cleanup

The Haskell code should be improved by following suggestions by HLint.

Warning: Tab character

While building the modules during installation or compiling with GHC or even opening them with GHCi, multiple warnings "... Warning: Tab character" are displayed.

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.