Skip to content

Branch information

James Cheney edited this page May 13, 2016 · 16 revisions

Overview

This page lists information about active branches in this repository. Each entry is in the following form:

Branch: [name of branch]
Parent: [name of parent branch, optional]
Owner: [person responsible for branch]
Description: [of the branch]

They are grouped as follows:

  • "Experimental" status means the branch is for an active research project and it may or may not eventually be a candidate for merging with the main source tree.
  • "Test candidates" means that the branch implements a useful feature and considered mature enough to be tested by others to determine whether it is a candidate for merging into the main branch
  • "Integration candidates" means that the branch has been tested and is being integrated into the main branch

All branches not listed on this page are inactive.

Active Branches

Integration candidates

Branch: sessions
Parent: master
Owner: Sam Lindley, Garrett Morris
Description: Extending Links with session types and linearity.  
Many other branches are branches of this so it is effectively the 
master branch now.

Test candidates

Branch: shredding
Parent: master
Owner: James Cheney
Description: Implementation of the query shredding algorithm from our 
SIGMOD 2014 paper.  This branch (or more accurately Stefan's fork of it) 
is up to date with the sessions branch.
Branch: shredding-sessions
Parent: shredding
Owner: Stefan Fehrenbach
URL: https://github.com/fehrenbach/links/tree/shredding-sessions
Description: The shredding branch, brought up to date with the sessions branch.
Also includes: continuous integration, parallel builds, database tests,
experimental printing of Sugartypes AST to source code,
experimental prettier pretty printer for values
Branch: errormsg
Parent: sessions
Owner: James Cheney (work done by summer intern Xupeng Li)
Description: Fixes a problem with displaying error messages when Links is in web mode.
Branch: modules
Parent: sessions
Owner: Simon Fowler
Description: A simple module system

Experimental

Branch: realpages
Parent: sessions
Owner: Sam Lindley
Description: Generating real HTML pages on the server rather than generating 
JavaScript stubs that construct webpages dynamically on the client.
Branch: appserver
Parent: sessions
Owner: Garrett Morris
Description: Standalone Links application server implementation
Branch: sand
Parent: master
Owner: James Cheney
Description: An implementation by Alex Ulrich of the Pathfinder-based approach to 
supporting nested queries, grouping and aggregation (query flattening).  Depends
on the Pathfinder query optimizer, which is not maintained.
Branch: prettyprinter
Parent: sessions
Owner: Simon Fowler
Description: Experimentation with prettyprinting?
Branch: effect-handlers
Parent: sessions
Owner: Daniel Hillerström
Description: Implementation of algebraic effects and handlers.
Branch: effect-handlers-compilation
Parent: effect-handlers
Owner: Daniel Hillerström
Description: A compiler for server-side Links with effect handlers.
Branch: query-compilation
Parent: master
Owner: James Cheney
Description: 
implementation of a "compiler" (translator to OCaml) for Links server 
code (originally due to Steven Holmes), extended to handle (some) query 
code by Gabriel Radanne, as described in PEPM 2014 paper.
This was forked pre-Github so merging may be non-straightforward.
Branch: where
Parent: shredding-sessions
Owner: Stefan Fehrenbach
URL: https://github.com/fehrenbach/links/tree/where
Description: Where-provenance in Links, on top of the shredding-sessions branch
Branch: lineage
Parent: shredding-sessions
Owner: Stefan Fehrenbach
URL: https://github.com/fehrenbach/links/tree/lineage
Description: Lineage in Links, on top of the shredding-sessions branch