Code Monkey home page Code Monkey logo

ui-for-pl's Introduction

User Interfaces for Programming Languages: The Compendium

This compendium covers research and practice in the field of user interfaces for programming languages. It has not yet been published online (see below).

Build Instructions

The compendium is built using the Sphinx document generation system.

The required libraries are listed in requirements.txt and can be installed using pip as follows:

$ pip install -r requirements.txt

Then you can build the HTML output by typing make at the shell. The result is the html directory. The make clean command will delete the build artifacts.

Contributing

The first round of contributions will be made by students in EECS 598 at Michigan during Fall 2019. After that, the compendium will be published online and contributions from the rest of the community will be welcome.

Contributions are made through GitHub's pull request mechanism. To quickly propose edits to a single file, you can find it on Github (e.g. by clicking on the Edit on Github link at the top of the corresponding page) and click the pencil icon. For more sophisticated changes, fork the repository and make a pull request.

Compendium content is written in reStructuredText, with the extensions supported by Sphinx. This format is similar to Markdown, but offers some more advanced features.

The compendium is structured as one file per topic area in the src directory, with index.rst as the top-level organizational hub.

We use BibTeX for citations, via the sphinxcontrib-bibtex extension. See src/notation.rst for examples of how to include bibliography entries in your article. This extension is somewhat limited, so we need to use the following workarounds:

  1. Each .bib file can have no more than 9 entries, so just make new files, e.g. notation.bib, notation2.bib and so on, as needed.
  2. Sphinx will generate warnings if you have not explicitly cited a bibliography entry in the text. To get around this, you can include a hidden area at the bottom of each file to cite items that you have not otherwise cited. See the bottom of notation.rst for an example.
  3. There are certain lexical limitations on the cite keys, e.g. they cannot have capital letters. I recommend using cite keys of the form lastnameYY where YY is the two digit year, e.g. hughes95.

You can find BibTeX entries using Google Scholar or DBLP. Please remove extraneous details, e.g. conference locations and dates, and publisher names and locations. For common publication venues, it is okay to use abbreviations, e.g. OOPSLA, rather than full conference names.

Contributors

The compendium is maintained by Cyrus Omar ([email protected]).

The Sphinx setup was adapted from EECS 490 course notes prepared by Amir Kamil ([email protected]).

License

All contributions are governed by the Creative Commons Attribution-ShareAlike 4.0 International license.

ui-for-pl's People

Contributors

cyrus- avatar dm0n3y 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.