Contributing

This is the main development project. We try to adhere to a rather elaborate branching policy borrowed from Vincent Driesen. It can be best understood by means of this picture:

NB: we have not fully adopted this approach yet! In essence, we completely lack the three branches on the right hand side of the picture named here release, hotfixes, and master. Instead, we have two development branches named master and sac2c-follow. They mainly differ in their build-system. In the near future, we hope to completely move away from the branch that currently is called master.

We already do have several feature branches. As the name suggests, they are created as a temporary measure to keep a certain extension or change separate. Typically, they encompass individual projects such as a master or PhD thesis contribution. It is considered good practise to give such feature branch a name that does indicate the main contributor or responsible person as well as the envisioned feature. A concrete example of good practise is the branch thomasmacht_distmem_branch. These feature branches should try to frequently merge in, i.e. re-base, the development branch, currently sac2c-follow. Once the project is finished, these branches should be merged back into the development branch (sac2c-follow).

Minor improvements or bugfixes should happen in the development branch sac2c-follow. We intend to add the missing three branches of the right hand side of the above image as soon as we get rid off the second development branch named master.

Name Person in charge Description
origin/cmake-follow n/ap Replace current build system with CMake. This is a candidate for the new development branch
origin/disable-rtspec Hans Attempt to entirely disable rtspec within sac2c.
origin/fix-sac2tex Max Modernising sac2tex: make it handle some of the comments and make a printout nicer.
origin/json-follow Artem Replace xml/xslt-based AST description with json-based. (+ haskell interface for tytra)
origin/master n/ap Master.
origin/mtdynamicadaptation_stuart Stuart Dynamic adaptation work by Stuart Gordon.
origin/parse-assert Clemens (?) Fangyong work on custom assertions.
origin/parser-local-var Artem Fix a bug in a parser where type and local variable of the same name can coexist.
origin/sac2c-follow n/ap Introduce the concept of SBIs.
origin/sac2c-scc Bodo Run SaC code on Intel SCC devices.
origin/sac2c-tytra Artem Some of the work related to tytra project.
origin/sac2cpogo Bob (?) Bob's work on polyhedral support in sac2c.
origin/sac2cpogo2 Bob Bob's latest work on polyhedral support in sac2c.
origin/simd-inference Artem Artem's work on automatic layout inference.
origin/thomasmacht_distmem_branch Clemens (?) Support for distributed memory.
origin/void-with-loops Bodo Support with-loops of the form with {…}: void.

Details on the stdlib will be put up on GitHub! Have a look at https://github.com/SacBase.

Part of this repo will go to GitHub. Those parts of sac, that contain either confidential or very much internal programs will be kept on amaterasu.

Please be Aware

After the 9th DevCamp (Nov 2016) all the content of this repo has been ported into our new web-page, a dokuwiki-site. No further commits to this repo should be made!

All modifications can now be made directly in the wiki by all users. Please liaise with your local supervisors or the main contributors if you intend to make major changes :-)

HELP: someone should describe what is supposed to go where :-)