diff options
author | Jirka Marsik <jiri.marsik89@gmail.com> | 2014-10-28 17:21:55 +0100 |
---|---|---|
committer | Jirka Marsik <jiri.marsik89@gmail.com> | 2014-10-28 17:21:55 +0100 |
commit | 3ee1f6ee79b31c77b5704cae755ebe122a5e2e53 (patch) | |
tree | 4dffc67d00d7f6b6093ce5d4d1b0ea088c694061 /pkgs/development/interpreters | |
parent | ceba23605c35de2a1eb41ac1a951036389f3238a (diff) | |
download | nixlib-3ee1f6ee79b31c77b5704cae755ebe122a5e2e53.tar nixlib-3ee1f6ee79b31c77b5704cae755ebe122a5e2e53.tar.gz nixlib-3ee1f6ee79b31c77b5704cae755ebe122a5e2e53.tar.bz2 nixlib-3ee1f6ee79b31c77b5704cae755ebe122a5e2e53.tar.lz nixlib-3ee1f6ee79b31c77b5704cae755ebe122a5e2e53.tar.xz nixlib-3ee1f6ee79b31c77b5704cae755ebe122a5e2e53.tar.zst nixlib-3ee1f6ee79b31c77b5704cae755ebe122a5e2e53.zip |
Added eff-20140928
Diffstat (limited to 'pkgs/development/interpreters')
-rw-r--r-- | pkgs/development/interpreters/eff/default.nix | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/pkgs/development/interpreters/eff/default.nix b/pkgs/development/interpreters/eff/default.nix new file mode 100644 index 000000000000..4f2e100c684a --- /dev/null +++ b/pkgs/development/interpreters/eff/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchgit, ocaml, findlib, menhir, which }: + +let inherit (stdenv.lib) getVersion versionAtLeast; in + +assert versionAtLeast (getVersion ocaml) "3.12"; + +stdenv.mkDerivation { + + name = "eff-20140928"; + + src = fetchgit { + url = "https://github.com/matijapretnar/eff.git"; + rev = "90f884a790fddddb51d4d1d3b7c2edf1e8aabb64"; + sha256 = "28e389b35e6959072c245c2e79fe305885b1b2d44ff540a02a097e09e9f9698f"; + }; + + buildInputs = [ ocaml findlib menhir which ]; + + doCheck = true; + checkTarget = "test"; + + meta = with stdenv.lib; { + homepage = "http://www.eff-lang.org"; + description = "A functional programming language based on algebraic effects and their handlers"; + longDescription = '' + Eff is a functional language with handlers of not only exceptions, + but also of other computational effects such as state or I/O. With + handlers, you can simply implement transactions, redirections, + backtracking, multi-threading, and much more... + ''; + license = licenses.bsd2; + platforms = ocaml.meta.platforms; + maintainers = [ maintainers.jirkamarsik ]; + }; +} |