Coder Social home page Coder Social logo

coda's Introduction

coda

Travis Continuous Integration Status Appveyor Continuous Integration Status Circle Continuous Integration Status

This package will eventually provide a toy compiler for experimenting with resumable parsing.

The application is designed as a plugin for Visual Studio Code.

This also serves as an experiment in employing shake inside of a custom cabal Setup.hs

Table of Contents

Installation

To build:

  1. Make sure you have npm and Visual Studio Code installed and that code invokes the latter from the command line.

  2. Run cabal install or stack install to build and register the extension with Visual Studio Code.

If code is not in your path, or you want a manual install for some reason, you can use cabal build, open Visual Studio Code, type โŒ˜-Shift-P, select > Extensions: Install Extension from VSIX from the resulting selection box, and finally pick out dist/build/coda-<version>.vsix in the finder dialogue to install the package.

The instructions in Running and Debugging Your Extension can be readily tweaked to work here if you need more interactive debugging support when working on the compiler.

Autocompletion

Once you have an installed coda executable, bash command line autocompletion is available with:

$ source <(coda --bash-completion-script `which coda`)

You can add this to your .profile or .bashrc

Requirements

Currently, the build process is being tested on GHC 8.0, but I'm not actively doing anything to shut off older GHCs or newer ones.

Patches that help increase portability are welcome.

Documentation

Once there is an actual language here documentation will be forthcoming on it.

In the meantime, API documentation is available from https://ekmett.github.io/coda/

Directories

Directory Usage
bin Executable scripts used by CI
etc Configuration used by CI
ext Template files used to build the extension
ext/test The vscoe test suite for the extension
main Where to find Main.hs for executable haskell files
src coda library source code
test/data data files used by the test suite
test/shim shims to work around doctest limitations
test/main Where to find Main.hs for test suites
test/src tasty tests
var A cache that may (infrequently) be changed during the build. Can be safely deleted

Contact Information

Contributions and bug reports are welcome!

Please feel free to contact me through github or on the ##coda or #haskell IRC channels on irc.freenode.net.

-Edward Kmett

coda's People

Contributors

ekmett avatar

Watchers

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