====== Contributing ====== ===== Contributing to sac2c ===== 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: {{:internal:git-model.png?nolink400 }} 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. ==== Branches of sac2c repository ==== ^ 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''.| ===== Contributing to stdlib ===== Details on the stdlib will be put up on GitHub! Have a look at https://github.com/SacBase. ===== Contributing to sac ===== 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. ===== Contributing to www ===== === Please be Aware === After the [[workshops:devcamp9|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 [[internal:dokuwiki|directly in the wiki]] by all users. Please liaise with your local supervisors or the main contributors if you intend to make major changes :-) ===== Contributing to docs ===== ''HELP: someone should describe what is supposed to go where :-)''