hnix/hnix.cabal

737 lines
23 KiB
Plaintext
Raw Normal View History

2018-04-08 00:08:48 +02:00
name: hnix
2019-03-18 07:07:27 +01:00
version: 0.6.0
2018-04-08 00:08:48 +02:00
synopsis: Haskell implementation of the Nix language
description: Haskell implementation of the Nix language.
category: System, Data, Nix
homepage: https://github.com/haskell-nix/hnix#readme
bug-reports: https://github.com/haskell-nix/hnix/issues
2018-04-08 00:08:48 +02:00
author: John Wiegley
maintainer: johnw@newartisans.com
license: BSD3
license-file: LICENSE
build-type: Simple
cabal-version: >= 1.10
2018-04-08 00:08:48 +02:00
extra-source-files:
2018-05-09 19:59:08 +02:00
data/let-comments-multiline.nix
data/let-comments.nix
data/let.nix
data/nix/bootstrap.sh
data/nix/config/config.guess
data/nix/config/config.sub
data/nix/config/install-sh
data/nix/configure.ac
data/nix/COPYING
data/nix/corepkgs/buildenv.nix
data/nix/corepkgs/config.nix.in
data/nix/corepkgs/derivation.nix
data/nix/corepkgs/fetchurl.nix
data/nix/corepkgs/imported-drv-to-derivation.nix
data/nix/corepkgs/local.mk
data/nix/corepkgs/unpack-channel.nix
data/nix/local.mk
data/nix/maintainers/upload-release.pl
data/nix/Makefile
data/nix/Makefile.config.in
data/nix/mk/clean.mk
data/nix/mk/dist.mk
data/nix/mk/functions.mk
data/nix/mk/install.mk
data/nix/mk/jars.mk
data/nix/mk/lib.mk
data/nix/mk/libraries.mk
data/nix/mk/patterns.mk
data/nix/mk/programs.mk
data/nix/mk/README.md
data/nix/mk/templates.mk
data/nix/mk/tests.mk
data/nix/mk/tracing.mk
data/nix/nix.spec.in
data/nix/perl/configure.ac
data/nix/perl/lib/Nix/Config.pm.in
data/nix/perl/lib/Nix/CopyClosure.pm
data/nix/perl/lib/Nix/Manifest.pm
data/nix/perl/lib/Nix/SSH.pm
data/nix/perl/lib/Nix/Store.pm
data/nix/perl/lib/Nix/Store.xs
data/nix/perl/lib/Nix/Utils.pm
data/nix/perl/local.mk
data/nix/perl/Makefile
data/nix/perl/Makefile.config.in
data/nix/perl/MANIFEST
data/nix/README.md
data/nix/release-common.nix
data/nix/release.nix
data/nix/scripts/install-darwin-multi-user.sh
data/nix/scripts/install-multi-user.sh
data/nix/scripts/install-nix-from-closure.sh
data/nix/scripts/install-systemd-multi-user.sh
data/nix/scripts/local.mk
data/nix/scripts/nix-http-export.cgi.in
data/nix/scripts/nix-profile-daemon.sh.in
data/nix/scripts/nix-profile.sh.in
data/nix/scripts/nix-reduce-build.in
data/nix/shell.nix
data/nix/tests/add.sh
data/nix/tests/binary-cache.sh
data/nix/tests/brotli.sh
data/nix/tests/build-dry.sh
data/nix/tests/build-hook.nix
data/nix/tests/build-remote.sh
data/nix/tests/case-hack.sh
data/nix/tests/case.nar
data/nix/tests/check-refs.nix
data/nix/tests/check-refs.sh
data/nix/tests/check-reqs.nix
data/nix/tests/check-reqs.sh
data/nix/tests/check.nix
data/nix/tests/check.sh
data/nix/tests/common.sh.in
data/nix/tests/config.nix
data/nix/tests/dependencies.builder0.sh
data/nix/tests/dependencies.builder1.sh
data/nix/tests/dependencies.builder2.sh
data/nix/tests/dependencies.nix
data/nix/tests/dependencies.sh
data/nix/tests/dump-db.sh
data/nix/tests/export-graph.nix
data/nix/tests/export-graph.sh
data/nix/tests/export.sh
data/nix/tests/fetchGit.sh
data/nix/tests/fetchMercurial.sh
data/nix/tests/fetchurl.sh
data/nix/tests/filter-source.nix
data/nix/tests/filter-source.sh
data/nix/tests/fixed.builder1.sh
data/nix/tests/fixed.builder2.sh
data/nix/tests/fixed.nix
data/nix/tests/fixed.sh
data/nix/tests/gc-concurrent.builder.sh
data/nix/tests/gc-concurrent.nix
data/nix/tests/gc-concurrent.sh
data/nix/tests/gc-concurrent2.builder.sh
data/nix/tests/gc-runtime.nix
data/nix/tests/gc-runtime.sh
data/nix/tests/gc.sh
data/nix/tests/hash-check.nix
data/nix/tests/hash.sh
data/nix/tests/import-derivation.nix
data/nix/tests/import-derivation.sh
data/nix/tests/init.sh
data/nix/tests/install-darwin.sh
data/nix/tests/lang.sh
data/nix/tests/lang/data
data/nix/tests/lang/dir1/a.nix
data/nix/tests/lang/dir2/a.nix
data/nix/tests/lang/dir2/b.nix
data/nix/tests/lang/dir3/a.nix
data/nix/tests/lang/dir3/b.nix
data/nix/tests/lang/dir3/c.nix
data/nix/tests/lang/dir4/a.nix
data/nix/tests/lang/dir4/c.nix
data/nix/tests/lang/eval-fail-abort.nix
data/nix/tests/lang/eval-fail-antiquoted-path.nix
data/nix/tests/lang/eval-fail-assert.nix
data/nix/tests/lang/eval-fail-bad-antiquote-1.nix
data/nix/tests/lang/eval-fail-bad-antiquote-2.nix
data/nix/tests/lang/eval-fail-bad-antiquote-3.nix
data/nix/tests/lang/eval-fail-blackhole.nix
data/nix/tests/lang/eval-fail-deepseq.nix
data/nix/tests/lang/eval-fail-missing-arg.nix
data/nix/tests/lang/eval-fail-path-slash.nix
data/nix/tests/lang/eval-fail-remove.nix
data/nix/tests/lang/eval-fail-scope-5.nix
data/nix/tests/lang/eval-fail-seq.nix
data/nix/tests/lang/eval-fail-substring.nix
data/nix/tests/lang/eval-fail-to-path.nix
data/nix/tests/lang/eval-fail-undeclared-arg.nix
data/nix/tests/lang/eval-okay-any-all.exp
data/nix/tests/lang/eval-okay-any-all.nix
data/nix/tests/lang/eval-okay-arithmetic.exp
data/nix/tests/lang/eval-okay-arithmetic.nix
data/nix/tests/lang/eval-okay-attrnames.exp
data/nix/tests/lang/eval-okay-attrnames.nix
data/nix/tests/lang/eval-okay-attrs.exp
data/nix/tests/lang/eval-okay-attrs.nix
data/nix/tests/lang/eval-okay-attrs2.exp
data/nix/tests/lang/eval-okay-attrs2.nix
data/nix/tests/lang/eval-okay-attrs3.exp
data/nix/tests/lang/eval-okay-attrs3.nix
data/nix/tests/lang/eval-okay-attrs4.exp
data/nix/tests/lang/eval-okay-attrs4.nix
data/nix/tests/lang/eval-okay-attrs5.exp
data/nix/tests/lang/eval-okay-attrs5.nix
data/nix/tests/lang/eval-okay-autoargs.exp
data/nix/tests/lang/eval-okay-autoargs.flags
data/nix/tests/lang/eval-okay-autoargs.nix
data/nix/tests/lang/eval-okay-backslash-newline-1.exp
data/nix/tests/lang/eval-okay-backslash-newline-1.nix
data/nix/tests/lang/eval-okay-backslash-newline-2.exp
data/nix/tests/lang/eval-okay-backslash-newline-2.nix
data/nix/tests/lang/eval-okay-builtins-add.exp
data/nix/tests/lang/eval-okay-builtins-add.nix
data/nix/tests/lang/eval-okay-builtins.exp
data/nix/tests/lang/eval-okay-builtins.nix
data/nix/tests/lang/eval-okay-callable-attrs.exp
data/nix/tests/lang/eval-okay-callable-attrs.nix
data/nix/tests/lang/eval-okay-catattrs.exp
data/nix/tests/lang/eval-okay-catattrs.nix
data/nix/tests/lang/eval-okay-closure.exp.xml
data/nix/tests/lang/eval-okay-closure.nix
data/nix/tests/lang/eval-okay-comments.exp
data/nix/tests/lang/eval-okay-comments.nix
data/nix/tests/lang/eval-okay-concat.exp
data/nix/tests/lang/eval-okay-concat.nix
data/nix/tests/lang/eval-okay-concatstringssep.exp
data/nix/tests/lang/eval-okay-concatstringssep.nix
data/nix/tests/lang/eval-okay-context.exp
data/nix/tests/lang/eval-okay-context.nix
data/nix/tests/lang/eval-okay-curpos.exp
data/nix/tests/lang/eval-okay-curpos.nix
data/nix/tests/lang/eval-okay-deepseq.exp
data/nix/tests/lang/eval-okay-deepseq.nix
data/nix/tests/lang/eval-okay-delayed-with-inherit.exp
data/nix/tests/lang/eval-okay-delayed-with-inherit.nix
data/nix/tests/lang/eval-okay-delayed-with.exp
data/nix/tests/lang/eval-okay-delayed-with.nix
data/nix/tests/lang/eval-okay-dynamic-attrs-2.exp
data/nix/tests/lang/eval-okay-dynamic-attrs-2.nix
data/nix/tests/lang/eval-okay-dynamic-attrs-bare.exp
data/nix/tests/lang/eval-okay-dynamic-attrs-bare.nix
data/nix/tests/lang/eval-okay-dynamic-attrs.exp
data/nix/tests/lang/eval-okay-dynamic-attrs.nix
data/nix/tests/lang/eval-okay-elem.exp
data/nix/tests/lang/eval-okay-elem.nix
data/nix/tests/lang/eval-okay-empty-args.exp
data/nix/tests/lang/eval-okay-empty-args.nix
data/nix/tests/lang/eval-okay-eq-derivations.exp
data/nix/tests/lang/eval-okay-eq-derivations.nix
data/nix/tests/lang/eval-okay-eq.exp.disabled
data/nix/tests/lang/eval-okay-eq.nix
data/nix/tests/lang/eval-okay-filter.exp
data/nix/tests/lang/eval-okay-filter.nix
data/nix/tests/lang/eval-okay-flatten.exp
data/nix/tests/lang/eval-okay-flatten.nix
data/nix/tests/lang/eval-okay-fromjson.exp
data/nix/tests/lang/eval-okay-fromjson.nix
data/nix/tests/lang/eval-okay-functionargs.exp.xml
data/nix/tests/lang/eval-okay-functionargs.nix
data/nix/tests/lang/eval-okay-getattrpos-undefined.exp
data/nix/tests/lang/eval-okay-getattrpos-undefined.nix
data/nix/tests/lang/eval-okay-getattrpos.exp
data/nix/tests/lang/eval-okay-getattrpos.nix
data/nix/tests/lang/eval-okay-getenv.exp
data/nix/tests/lang/eval-okay-getenv.nix
data/nix/tests/lang/eval-okay-hash.exp
data/nix/tests/lang/eval-okay-hash.nix
data/nix/tests/lang/eval-okay-if.exp
data/nix/tests/lang/eval-okay-if.nix
data/nix/tests/lang/eval-okay-import.exp
data/nix/tests/lang/eval-okay-import.nix
data/nix/tests/lang/eval-okay-ind-string.exp
data/nix/tests/lang/eval-okay-ind-string.nix
data/nix/tests/lang/eval-okay-let.exp
data/nix/tests/lang/eval-okay-let.nix
data/nix/tests/lang/eval-okay-list.exp
data/nix/tests/lang/eval-okay-list.nix
data/nix/tests/lang/eval-okay-listtoattrs.exp
data/nix/tests/lang/eval-okay-listtoattrs.nix
data/nix/tests/lang/eval-okay-logic.exp
data/nix/tests/lang/eval-okay-logic.nix
data/nix/tests/lang/eval-okay-map.exp
data/nix/tests/lang/eval-okay-map.nix
data/nix/tests/lang/eval-okay-nested-with.exp
data/nix/tests/lang/eval-okay-nested-with.nix
data/nix/tests/lang/eval-okay-new-let.exp
data/nix/tests/lang/eval-okay-new-let.nix
data/nix/tests/lang/eval-okay-null-dynamic-attrs.exp
data/nix/tests/lang/eval-okay-null-dynamic-attrs.nix
data/nix/tests/lang/eval-okay-overrides.exp
data/nix/tests/lang/eval-okay-overrides.nix
data/nix/tests/lang/eval-okay-partition.exp
data/nix/tests/lang/eval-okay-partition.nix
data/nix/tests/lang/eval-okay-path.nix
data/nix/tests/lang/eval-okay-pathexists.exp
data/nix/tests/lang/eval-okay-pathexists.nix
data/nix/tests/lang/eval-okay-patterns.exp
data/nix/tests/lang/eval-okay-patterns.nix
data/nix/tests/lang/eval-okay-readDir.exp
data/nix/tests/lang/eval-okay-readDir.nix
data/nix/tests/lang/eval-okay-readfile.exp
data/nix/tests/lang/eval-okay-readfile.nix
data/nix/tests/lang/eval-okay-redefine-builtin.exp
data/nix/tests/lang/eval-okay-redefine-builtin.nix
data/nix/tests/lang/eval-okay-regex-match.exp
data/nix/tests/lang/eval-okay-regex-match.nix
data/nix/tests/lang/eval-okay-regex-split.exp
data/nix/tests/lang/eval-okay-regex-split.nix
data/nix/tests/lang/eval-okay-remove.exp
data/nix/tests/lang/eval-okay-remove.nix
data/nix/tests/lang/eval-okay-replacestrings.exp
data/nix/tests/lang/eval-okay-replacestrings.nix
data/nix/tests/lang/eval-okay-scope-1.exp
data/nix/tests/lang/eval-okay-scope-1.nix
data/nix/tests/lang/eval-okay-scope-2.exp
data/nix/tests/lang/eval-okay-scope-2.nix
data/nix/tests/lang/eval-okay-scope-3.exp
data/nix/tests/lang/eval-okay-scope-3.nix
data/nix/tests/lang/eval-okay-scope-4.exp
data/nix/tests/lang/eval-okay-scope-4.nix
data/nix/tests/lang/eval-okay-scope-6.exp
data/nix/tests/lang/eval-okay-scope-6.nix
data/nix/tests/lang/eval-okay-scope-7.exp
data/nix/tests/lang/eval-okay-scope-7.nix
data/nix/tests/lang/eval-okay-search-path.exp
data/nix/tests/lang/eval-okay-search-path.flags
data/nix/tests/lang/eval-okay-search-path.nix
data/nix/tests/lang/eval-okay-seq.exp
data/nix/tests/lang/eval-okay-seq.nix
data/nix/tests/lang/eval-okay-sort.exp
data/nix/tests/lang/eval-okay-sort.nix
data/nix/tests/lang/eval-okay-splitversion.exp
data/nix/tests/lang/eval-okay-splitversion.nix
data/nix/tests/lang/eval-okay-string.exp
data/nix/tests/lang/eval-okay-string.nix
data/nix/tests/lang/eval-okay-strings-as-attrs-names.exp
data/nix/tests/lang/eval-okay-strings-as-attrs-names.nix
data/nix/tests/lang/eval-okay-substring.exp
data/nix/tests/lang/eval-okay-substring.nix
data/nix/tests/lang/eval-okay-tail-call-1.exp-disabled
data/nix/tests/lang/eval-okay-tail-call-1.nix
data/nix/tests/lang/eval-okay-tojson.exp
data/nix/tests/lang/eval-okay-tojson.nix
data/nix/tests/lang/eval-okay-toxml.exp
data/nix/tests/lang/eval-okay-toxml.nix
data/nix/tests/lang/eval-okay-toxml2.exp
data/nix/tests/lang/eval-okay-toxml2.nix
data/nix/tests/lang/eval-okay-tryeval.exp
data/nix/tests/lang/eval-okay-tryeval.nix
data/nix/tests/lang/eval-okay-types.exp
data/nix/tests/lang/eval-okay-types.nix
data/nix/tests/lang/eval-okay-versions.exp
data/nix/tests/lang/eval-okay-versions.nix
data/nix/tests/lang/eval-okay-with.exp
data/nix/tests/lang/eval-okay-with.nix
data/nix/tests/lang/eval-okay-xml.exp.xml
data/nix/tests/lang/eval-okay-xml.nix
data/nix/tests/lang/imported.nix
data/nix/tests/lang/imported2.nix
data/nix/tests/lang/lib.nix
data/nix/tests/lang/parse-fail-dup-attrs-1.nix
data/nix/tests/lang/parse-fail-dup-attrs-2.nix
data/nix/tests/lang/parse-fail-dup-attrs-3.nix
data/nix/tests/lang/parse-fail-dup-attrs-4.nix
data/nix/tests/lang/parse-fail-dup-attrs-6.nix
data/nix/tests/lang/parse-fail-dup-attrs-7.nix
data/nix/tests/lang/parse-fail-dup-formals.nix
data/nix/tests/lang/parse-fail-patterns-1.nix
data/nix/tests/lang/parse-fail-regression-20060610.nix
data/nix/tests/lang/parse-fail-undef-var-2.nix
data/nix/tests/lang/parse-fail-undef-var.nix
data/nix/tests/lang/parse-okay-1.nix
data/nix/tests/lang/parse-okay-crlf.nix
data/nix/tests/lang/parse-okay-dup-attrs-5.nix
data/nix/tests/lang/parse-okay-regression-20041027.nix
data/nix/tests/lang/parse-okay-regression-751.nix
data/nix/tests/lang/parse-okay-subversion.nix
data/nix/tests/lang/parse-okay-url.nix
data/nix/tests/lang/readDir/bar
data/nix/tests/lang/readDir/foo/git-hates-directories
data/nix/tests/linux-sandbox.sh
data/nix/tests/local.mk
data/nix/tests/logging.sh
data/nix/tests/misc.sh
data/nix/tests/multiple-outputs.nix
data/nix/tests/multiple-outputs.sh
data/nix/tests/nar-access.nix
data/nix/tests/nar-access.sh
data/nix/tests/nix-build.sh
data/nix/tests/nix-channel.sh
data/nix/tests/nix-copy-closure.nix
data/nix/tests/nix-profile.sh
data/nix/tests/nix-shell.sh
data/nix/tests/optimise-store.sh
data/nix/tests/parallel.builder.sh
data/nix/tests/parallel.nix
data/nix/tests/parallel.sh
data/nix/tests/pass-as-file.sh
data/nix/tests/placeholders.sh
data/nix/tests/plugins.sh
data/nix/tests/plugins/local.mk
data/nix/tests/plugins/plugintest.cc
data/nix/tests/pure-eval.nix
data/nix/tests/pure-eval.sh
data/nix/tests/referrers.sh
data/nix/tests/remote-builds.nix
data/nix/tests/remote-store.sh
data/nix/tests/repair.sh
data/nix/tests/restricted.nix
data/nix/tests/restricted.sh
data/nix/tests/run.nix
data/nix/tests/run.sh
data/nix/tests/search.nix
data/nix/tests/search.sh
data/nix/tests/secure-drv-outputs.nix
data/nix/tests/secure-drv-outputs.sh
data/nix/tests/setuid.nix
data/nix/tests/shell.nix
data/nix/tests/shell.shebang.rb
data/nix/tests/shell.shebang.sh
data/nix/tests/signing.sh
data/nix/tests/simple.builder.sh
data/nix/tests/simple.nix
data/nix/tests/simple.sh
data/nix/tests/structured-attrs.nix
data/nix/tests/structured-attrs.sh
data/nix/tests/tarball.sh
data/nix/tests/timeout.nix
data/nix/tests/timeout.sh
data/nix/tests/user-envs.builder.sh
data/nix/tests/user-envs.nix
data/nix/tests/user-envs.sh
data/nix/version
2018-05-09 19:59:08 +02:00
data/nixpkgs-all-packages-pretty.nix
data/nixpkgs-all-packages.nix
data/simple-pretty.nix
data/simple.nix
LICENSE
2018-04-08 00:08:48 +02:00
README.md
tests/eval-compare/builtins.split-01.nix
tests/eval-compare/builtins.split-02.nix
tests/eval-compare/builtins.split-03.nix
tests/eval-compare/builtins.split-04.nix
tests/eval-compare/builtins.string.store.nix
tests/eval-compare/ind-string-01.nix
tests/eval-compare/ind-string-02.nix
tests/eval-compare/ind-string-03.nix
tests/eval-compare/ind-string-04.nix
tests/eval-compare/ind-string-05.nix
tests/eval-compare/ind-string-06.nix
tests/eval-compare/ind-string-07.nix
tests/eval-compare/ind-string-08.nix
tests/eval-compare/ind-string-09.nix
tests/eval-compare/ind-string-10.nix
tests/eval-compare/ind-string-11.nix
tests/eval-compare/ind-string-12.nix
tests/eval-compare/ind-string-13.nix
tests/eval-compare/ind-string-14.nix
tests/eval-compare/ind-string-15.nix
tests/eval-compare/ind-string-16.nix
tests/eval-compare/ind-string-17.nix
2015-07-23 04:03:30 +02:00
2018-04-08 00:08:48 +02:00
source-repository head
type: git
location: https://github.com/haskell-nix/hnix
2018-04-08 00:08:48 +02:00
flag optimize
description: Enable all optimization flags
manual: True
default: False
flag profiling
description: Enable profiling
manual: True
default: False
2018-04-08 00:08:48 +02:00
library
exposed-modules:
Nix
Nix.Atoms
Nix.Builtins
Nix.Cache
2019-03-12 15:21:24 +01:00
Nix.Cited
Nix.Cited.Basic
Nix.Context
Nix.Convert
Nix.Effects
2018-04-08 00:08:48 +02:00
Nix.Eval
2018-04-09 09:52:10 +02:00
Nix.Exec
2018-04-08 00:08:48 +02:00
Nix.Expr
Nix.Expr.Shorthands
Nix.Expr.Types
Nix.Expr.Types.Annotated
Nix.Frames
Nix.Fresh
2019-03-18 03:04:38 +01:00
Nix.Fresh.Basic
2018-12-09 19:57:58 +01:00
Nix.Json
2018-04-08 00:08:48 +02:00
Nix.Lint
Nix.Normal
Nix.Options
2018-04-08 00:08:48 +02:00
Nix.Parser
Nix.Pretty
Nix.Reduce
Nix.Render
Nix.Render.Frame
2018-04-08 00:08:48 +02:00
Nix.Scope
Nix.String
Nix.Strings
2018-04-08 00:08:48 +02:00
Nix.TH
Nix.Thunk
Nix.Thunk.Basic
2019-03-16 01:59:38 +01:00
Nix.Thunk.Standard
Nix.Type.Assumption
Nix.Type.Env
Nix.Type.Infer
Nix.Type.Type
2018-04-08 00:08:48 +02:00
Nix.Utils
Nix.Value
Nix.Value.Equal
Nix.Value.Monad
Nix.Var
2018-04-08 00:08:48 +02:00
Nix.XML
other-modules:
Paths_hnix
hs-source-dirs:
src
2019-03-18 23:27:12 +01:00
ghc-options: -Wall -fprint-potential-instances
2018-04-08 00:08:48 +02:00
build-depends:
aeson
, array >=0.4 && <0.6
, base >=4.9 && <5
2018-04-11 03:57:17 +02:00
, binary
2018-04-08 00:08:48 +02:00
, bytestring
, comonad
, containers
, data-fix
, deepseq >=1.4.2 && <1.5
, dependent-sum
2018-07-19 19:30:57 +02:00
, deriving-compat >=0.3 && <0.6
, directory
2018-04-08 00:08:48 +02:00
, exceptions
, filepath
, free
, hashing
, hnix-store-core
Implement builtins.fetchurl Squashed commit of the following: commit 15b10d898e0457237f07cda9e5e9525bac0e95f6 Author: John Wiegley <johnw@newartisans.com> Date: Wed May 2 16:33:30 2018 -0700 Update Exec.hs commit d4a886dccf2715f1c1790e01adc242c352e7f427 Merge: 02afb27 4caacc1 Author: John Wiegley <johnw@newartisans.com> Date: Wed May 2 16:08:55 2018 -0700 Merge branch 'master' into http commit 02afb275f2078c1184a901da3ea0262630fefeea Author: John Wiegley <johnw@newartisans.com> Date: Wed May 2 16:08:42 2018 -0700 Update Exec.hs commit 3733ce5888adb7161d2f57a16204ab953e9c4d7d Author: John Wiegley <johnw@newartisans.com> Date: Wed May 2 16:07:08 2018 -0700 Update Builtins.hs commit 4402be6d04ac34156d50f8ee29f9af300de75ce5 Merge: 2c60097 13f3ebd Author: John Wiegley <johnw@newartisans.com> Date: Wed May 2 15:06:28 2018 -0700 Merge branch 'master' into http commit 2c600976bb3a5d9267a0f313487dd0ab1a6ce1f7 Merge: 4a9d1a5 555ce95 Author: John Wiegley <johnw@newartisans.com> Date: Wed May 2 14:25:59 2018 -0700 Merge branch 'master' into http commit 4a9d1a56d463567ad155a58fc39f5b24e2636120 Merge: 4dd46f2 431006f Author: John Wiegley <johnw@newartisans.com> Date: Wed May 2 14:20:57 2018 -0700 Merge branch 'master' into http commit 4dd46f21e3f594c4f7ae5bee8412a7841e566d4c Author: Ian-Woo Kim <ianwookim@gmail.com> Date: Sun Apr 29 12:51:11 2018 -0700 generated hnix.cabal commit c87ae993fb7dbb1117f03133862799e1549c4259 Author: Ian-Woo Kim <ianwookim@gmail.com> Date: Sat Apr 28 16:55:11 2018 -0700 remove dep from hnix.cabal commit 0bb8856c8759ad3c67a0b4eb1d26b6195da82667 Author: Ian-Woo Kim <ianwookim@gmail.com> Date: Sat Apr 28 16:53:54 2018 -0700 remove http-client stuff from default.nix commit d298756a2ba4376f8cb3c54fb723a00697e0821d Author: Ian-Woo Kim <ianwookim@gmail.com> Date: Sat Apr 28 15:49:59 2018 -0700 getURL is implemented for both http and https commit a3d66c07a097aedb03f30bcc636fcb3d5717e1fe Merge: c4cb48a a73eae5 Author: Ian-Woo Kim <ianwookim@gmail.com> Date: Sat Apr 28 15:14:32 2018 -0700 Merge branch 'builtin2' into http commit c4cb48a8a756e82fb7d389ff501b2a85001dba38 Author: Ian-Woo Kim <ianwookim@gmail.com> Date: Sat Apr 28 15:13:25 2018 -0700 add getURL function commit ff23fc18ed16075353a58725d7d08f41605a6070 Author: Ian-Woo Kim <ianwookim@gmail.com> Date: Sat Apr 28 15:06:40 2018 -0700 use http-client-* instead of HTTP commit fcbe40f3bea84607a9d7849a9f3d2fc3a6cb9bef Author: Ian-Woo Kim <ianwookim@gmail.com> Date: Sat Apr 28 14:58:07 2018 -0700 add HTTP commit a73eae573a193dbb8361e03b584a6cd55e7c427a Author: Ian-Woo Kim <ianwookim@gmail.com> Date: Sat Apr 28 14:36:24 2018 -0700 implement fetchurl (as a copy of fetchTarball)
2018-05-03 06:38:13 +02:00
, http-client
, http-client-tls
, http-types
, interpolate
, lens-family-th
Much more work on type inference; report multiple possible types This is needed because of a function like this: x: y: x + y This is polymorphic, but over exactly four possibilities: int -> int int -> float float -> int float -> float The "type" is really the combination of the four, since we don't yet have a mechanism like type classes, which could have rendered this as a single type: (Num a, Num b) => (x :: a): (y :: b): x + y Going this route will require that we manage an implicit type classes hierarchy, and perform unification on constraints as well as types. In the interim, I just lifted the unification algorithm into the LogicT monad, and use back-tracking search to find all the possible types an expression could be. The main problem with using LogicT, however, is that there are many types it *couldn't* be, and in the case of a unification failure, it not yet clear what the type should have been. For example: "foo" + 2 Should the string have been a float or an integer or a path? Or should the integer have been a string? So for now we report all the possibilities, since it's not obvious which part of the expression is in error: hnix: Type error: TypeInferenceErrors [ UnificationFail (TCon "integer") (TCon "string") , UnificationFail (TCon "string") (TCon "path") , UnificationFail (TCon "string") (TCon "float") , UnificationFail (TCon "string") (TCon "integer") ] This is a case where enumerating types rather than trying to make them compact using type classes might actually be an improvement, since the errors here would have been only slightly less numerous: string != Num a => a string != path integer != string Clearly a better reporting mechanism is needed to clarify these problems. I can imagine that in an IDE, there would be a squiggly under both sides of the expression, each suggesting the type that was expected for that argument under the assumption that the other argument (the one not be inspected) was the correct one.
2018-05-02 02:35:13 +02:00
, logict
2018-11-17 05:14:23 +01:00
, megaparsec >=7.0 && <7.1
2019-03-16 06:54:29 +01:00
, monad-control
2018-04-08 00:08:48 +02:00
, monadlist
, mtl
, optparse-applicative
2018-11-17 05:14:23 +01:00
, parser-combinators
2018-11-17 05:51:18 +01:00
, prettyprinter
2018-04-08 00:08:48 +02:00
, process
, ref-tf
2018-04-08 00:08:48 +02:00
, regex-tdfa
, regex-tdfa-text
, scientific
2018-04-08 00:08:48 +02:00
, semigroups >=0.18 && <0.19
, split
2018-04-08 00:08:48 +02:00
, syb
, template-haskell
2018-04-08 00:08:48 +02:00
, text
2018-03-28 03:42:31 +02:00
, these
2018-05-03 06:32:00 +02:00
, time
2018-04-08 00:08:48 +02:00
, transformers
2019-03-16 06:54:29 +01:00
, transformers-base
2018-04-02 04:16:55 +02:00
, unix
2018-04-08 00:08:48 +02:00
, unordered-containers >=0.2.9 && <0.3
, vector
, xml
if flag(optimize)
ghc-options: -fexpose-all-unfoldings -fspecialise-aggressively -O2
if os(linux) && impl(ghc >= 8.2) && impl(ghc < 8.3)
build-depends:
compact
if !impl(ghcjs)
build-depends:
base16-bytestring
, cryptohash-md5
, cryptohash-sha1
, cryptohash-sha256
, cryptohash-sha512
, serialise
if impl(ghc < 8.1)
build-depends:
lens-family ==1.2.1
, lens-family-core ==1.2.1
else
build-depends:
lens-family >=1.2.2
, lens-family-core >=1.2.2
2019-01-08 19:22:39 +01:00
-- if impl(ghc < 8.4.0) && !flag(profiling)
-- build-depends:
-- ghc-datasize
if impl(ghcjs)
build-depends:
hashable >=1.2.4 && <1.3
else
exposed-modules:
Nix.Options.Parser
build-depends:
hashable >=1.2.5 && <1.3
, haskeline
, pretty-show
2018-04-08 00:08:48 +02:00
default-language: Haskell2010
2018-04-08 00:08:48 +02:00
executable hnix
main-is: Main.hs
other-modules:
Repl
2018-04-08 00:08:48 +02:00
Paths_hnix
hs-source-dirs:
main
ghc-options: -Wall -rtsopts
2018-04-08 00:08:48 +02:00
build-depends:
aeson
2018-04-08 00:08:48 +02:00
, base >=4.9 && <5
, bytestring
2019-03-16 01:20:10 +01:00
, comonad
, containers
, data-fix
, deepseq >=1.4.2 && <1.5
2018-04-08 00:08:48 +02:00
, exceptions
, filepath
, free
, hashing
, haskeline
2018-04-08 00:08:48 +02:00
, hnix
, mtl
, optparse-applicative
, pretty-show
2018-11-17 05:51:18 +01:00
, prettyprinter
2019-03-16 06:54:29 +01:00
, ref-tf
, repline
, template-haskell
2018-04-08 00:08:48 +02:00
, text
2018-05-03 06:32:00 +02:00
, time
, transformers
2018-04-08 00:08:48 +02:00
, unordered-containers >=0.2.9 && <0.3
if flag(optimize)
ghc-options: -fexpose-all-unfoldings -fspecialise-aggressively -O2
if os(linux) && impl(ghc >= 8.2) && impl(ghc < 8.3)
build-depends:
compact
if !impl(ghcjs)
build-depends:
base16-bytestring
, cryptohash-md5
, cryptohash-sha1
, cryptohash-sha256
, cryptohash-sha512
, serialise
if impl(ghcjs)
buildable: False
else
buildable: True
2018-04-08 00:08:48 +02:00
default-language: Haskell2010
2018-04-08 00:08:48 +02:00
test-suite hnix-tests
type: exitcode-stdio-1.0
main-is: Main.hs
other-modules:
EvalTests
NixLanguageTests
ParserTests
PrettyParseTests
2018-04-08 00:08:48 +02:00
PrettyTests
2018-06-25 12:55:05 +02:00
ReduceExprTests
2018-04-08 00:13:58 +02:00
TestCommon
2018-04-08 00:08:48 +02:00
Paths_hnix
hs-source-dirs:
tests
2018-04-29 03:21:24 +02:00
ghc-options: -Wall -threaded
2018-04-08 00:08:48 +02:00
build-depends:
Diff
, Glob
2018-04-08 00:08:48 +02:00
, base >=4.9 && <5
, bytestring
2014-08-03 14:17:43 +02:00
, containers
, data-fix
, deepseq >=1.4.2 && <1.5
, dependent-sum
2018-04-10 21:38:14 +02:00
, directory
2018-04-08 00:08:48 +02:00
, exceptions
, filepath
, generic-random
, hashing
, hedgehog
2018-04-08 00:08:48 +02:00
, hnix
, interpolate
, megaparsec >=7.0 && <7.1
2018-04-08 00:08:48 +02:00
, mtl
, optparse-applicative
, pretty-show
2018-11-17 05:51:18 +01:00
, prettyprinter
, process
, split
2018-04-08 00:08:48 +02:00
, tasty
, tasty-hedgehog
2018-04-08 00:08:48 +02:00
, tasty-hunit
, tasty-quickcheck
2018-04-08 00:08:48 +02:00
, tasty-th
, template-haskell
, text
2018-05-03 06:32:00 +02:00
, time
, transformers
, unix
2018-04-08 00:08:48 +02:00
, unordered-containers >=0.2.9 && <0.3
if flag(optimize)
ghc-options: -fexpose-all-unfoldings -fspecialise-aggressively -O2
if os(linux) && impl(ghc >= 8.2) && impl(ghc < 8.3)
build-depends:
compact
if !impl(ghcjs)
build-depends:
base16-bytestring
, cryptohash-md5
, cryptohash-sha1
, cryptohash-sha256
, cryptohash-sha512
, serialise
if impl(ghcjs)
buildable: False
else
buildable: True
2018-04-08 00:08:48 +02:00
default-language: Haskell2010
2014-08-03 14:17:43 +02:00
2018-04-08 00:08:48 +02:00
benchmark hnix-benchmarks
type: exitcode-stdio-1.0
main-is: Main.hs
other-modules:
ParserBench
Paths_hnix
hs-source-dirs:
benchmarks
2018-04-29 03:21:24 +02:00
ghc-options: -Wall
2018-04-08 00:08:48 +02:00
build-depends:
2018-11-17 05:51:18 +01:00
base >=4.9 && <5
, bytestring
, containers
, criterion
2018-04-08 00:08:48 +02:00
, data-fix
, deepseq >=1.4.2 && <1.5
2018-04-08 00:08:48 +02:00
, exceptions
, filepath
, hashing
2018-04-08 00:08:48 +02:00
, hnix
, mtl
, optparse-applicative
2018-04-08 00:08:48 +02:00
, template-haskell
, text
2018-05-03 06:32:00 +02:00
, time
2018-04-08 00:08:48 +02:00
, transformers
, unordered-containers >=0.2.9 && <0.3
if flag(optimize)
ghc-options: -fexpose-all-unfoldings -fspecialise-aggressively -O2
if os(linux) && impl(ghc >= 8.2) && impl(ghc < 8.3)
build-depends:
compact
if !impl(ghcjs)
build-depends:
base16-bytestring
, cryptohash-md5
, cryptohash-sha1
, cryptohash-sha256
, cryptohash-sha512
, serialise
if impl(ghcjs)
buildable: False
else
buildable: True
2018-04-08 00:08:48 +02:00
default-language: Haskell2010