lib-compiler-itasks
Package info
-
Homepage
gitlab.com/clean-and-itasks/base/compiler -
Latest version
2.0.1, 2 years ago -
Maintainer
Camil Staps -
License
BSD-2-Clause -
Deprecated
This package has been marked as deprecated. Consider alternatives.
Description
A library with the base-compiler-itasks sources.
Readme
compiler
This is the repository of the Clean compiler.
This is a delayed mirror of the upstream version and is only used to publish the package. Periodically changes from upstream are released in a new version here.
The compiler is released in the base-compiler
and base-compiler-itasks
packages. A library with compiler sources is distributed as
lib-compiler-itasks
. base-compiler
should normally not be used directly;
instead, you should use base
.
See the documentation in base if you intend to make a merge request for this repository.
Packages
In this repository the sources of three packages are kept:
-
base-compiler
(from themain
branch), which is the standard compiler. This package should not be included directly, but throughbase
. -
base-compiler-itasks
(from theitasks
branch). This compiler is not included inbase
. -
lib-compiler-itasks
(from theitasks
branch). This is a library with which you can use modules from the Clean compiler.
The versions of these packages are kept in sync. This means:
base-compiler-itasks
may introduce features in patch versions.lib-compiler-itasks
patch versions may not be backwards compatible. Normally you will want to use this dependency with an exact version constraint, e.g.=1.0.0
.
Updating
When pulling in new commits from upstream, follow the following steps:
Set up the repositories:
git clone git@gitlab.com:clean-and-itasks/base/compiler.git
cd compiler
git remote add upstream https://gitlab.science.ru.nl/clean-compiler-and-rts/compiler.git
Update the main
branch by merging changes:
git fetch --no-tags upstream
git checkout main
git merge upstream/master
You may now have to resolve conflicts (and finish the merge with git commit
).
Update the version in nitrile.yml
and add changelog entries:
vim -p nitrile.yml CHANGELOG.md
git commit -am 'Bump version to VERSION; add changelog entries'
To update the itasks
branch, first merge the upstream itask
and then merge
the version and changelog changes:
git checkout itasks
git merge upstream/itask
git merge main
After each merge you may have to resolve conflicts (and finish the merge with
git commit
). You may also have to add extra changelog entries if the itask
branch includes more changes.
The version of lib-compiler-itasks
needs to be set to the same value as
base-compiler-itasks
(which follows base-compiler
). Do this manually:
vim nitrile.yml
git commit --amend nitrile.yml
Push all branches:
git push origin refs/remotes/upstream/itask:refs/heads/upstream-itask
git push origin refs/remotes/upstream/master:refs/heads/upstream-master
git push origin main:main
git push origin itasks:itasks
Head over to https://gitlab.com/clean-and-itasks/base/compiler/-/network/main to check that all looks good. No commit should be listed twice.
If all looks good and pipelines succeed, you can tag the new heads and push the tags:
git tag -s VERSION -m VERSION main
git push origin VERSION
git tag -s VERSION-itasks -m VERSION-itasks main
git push origin VERSION-itasks
Maintainer & license
This project is maintained by Camil Staps. The upstream is maintained by John van Groningen.
For license details, see the LICENSE file.
Changelog
Changelog
v2.0.1
- Chore: allow
base-stdenv
^2.0.
v2.0
- Enhancement: use ABC instructions
select_nc
andupdate_nc
for array updates and selects when indexes do not need to be checked (e.g. in array comprehensions). - Enhancement: add names of comprehensions to generated identifiers in patterns.
- Fix: bug in generic fusion causing incorrect functions to be generated.
v1.0
First tagged version.
Versions
-
2.0.1 latest 2 years ago
Dependencies: argenv ^1.0.0; base-stdenv ^1.0.0 || ^2.0.0.
Targets: linux-x64; linux-x86; windows-x64.
-
2.0.0 2 years ago
Dependencies: argenv ^1.0.0; base-stdenv ^1.0.0.
Targets: linux-x64; linux-x86; windows-x64.
-
1.0.0 latest 1.0 2 years ago
Dependencies: argenv ^1.0.0; base-stdenv ^1.0.0.
Targets: linux-x64; linux-x86; windows-x64.