Commit Graph

2232 Commits

Author SHA1 Message Date
Anton Latukha
cf5bab9cc3
drop capslock, use {ChangeLog, ReadMe, License}.md (#831)
I know a couple of good people annoyed by capslocking.
And moreover, studies show it is harder to grasp the capslocked text.
Capslocking does not work anyway and not worth it, somewhere since we got Web & URLs.
2021-01-21 14:32:49 +02:00
Anton-Latukha
4f5f7850d5 ChangeLog: upd to current 2021-01-21 14:14:30 +02:00
Anton Latukha
60abb7a4de
Merge #830: Clean-up 2021-01-21 11:27:15 +02:00
Anton-Latukha
e9958d8e91
clean-up 2021-01-21 11:18:22 +02:00
Anton-Latukha
e82e9c4553
prune -Wno-missing-signatures 2021-01-21 11:16:44 +02:00
Anton-Latukha
21a48fe25c
prune language UndecidableInstances
This are files that can drop it.
2021-01-21 11:14:37 +02:00
Anton-Latukha
eb709ccb4a CI: Nix-dev-env-macOS: demoting to weekly build&check
The Haskell project development should not be blocked by the Nixpkgs macOS build
failures.
Already introduced more basic Hackage Cabal macOS check.
2021-01-15 17:55:23 +02:00
Anton-Latukha
dd2cb2bd80 CI: add Cabal-macOS built test
This is basic requirement for developing on macOS.
2021-01-15 17:55:23 +02:00
Anton Latukha
34820ee30a
rename '<CYCLE>' to more direct understandable '<expr>' (#824)
In Nix the `<CYCLE>` only used in one case:
`data/nix/src/libexpr/eval.cc`
```cpp
static void printValue(std::ostream & str, std::set<const Value *> & active, const Value & v)
{
    checkInterrupt();

    if (active.find(&v) != active.end()) {
        str << "<CYCLE>";
        return;
    }
    ...
}
```

it never appears otherwise and so is not checked in expression tests, so it is a cosmetic output.

Semantically `<CYCLE>` was remotely right only in `opaque` `src/Nix/Normal.hs`
which tries to detect cycles, and only partially right, even if just due to non-termination detection problem (halting problem).

In other cases, where `<CYCLE>` was used - they are no cycles, which people see: https://github.com/haskell-nix/hnix/issues/663#issue-646681651, and felt confused.

In REPL case - they are simply thunks, or as in XML - just mark expressions.

& they are all expressions after all.

Even most of the infinite nonterminating expressions can be WHNF & studied as expression layer by layer.

And since we can say "expr", that also saves users & devs from communicating what in the lazy FP programming "thunk" slang means.

And currently by itself explains the #777 situation.
2021-01-14 20:43:54 +02:00
Anton Latukha
5af3f1d133 [auto] upd README TOC 2021-01-14 14:33:44 +00:00
Anton-Latukha
bea4f4079d README: move info from "Getting Started" Wiki article
Info submitted by John Wiegley & Doug Beardsley.
2021-01-14 16:33:21 +02:00
Anton-Latukha
20ddd8a09e README: Contributing: link to "Design of the HNix code base" Wiki 2021-01-14 16:33:21 +02:00
Anton Latukha
e8e883ffeb
moved README-design.md to projects Wiki (#820)
Also updated the text. It talked about differences in `NValue` & `NValueNF`, and John made a proper move removing explicit `NValueNF` a while ago, it just tool me some time to become sure I understand it properly and attend to it.

Close: #723, `NValue`, `NValueF` and `NValueNF` were addressed. And Wiki article now full with info and promoted from the draft to article.

Full text and more is now here: https://github.com/haskell-nix/hnix/wiki/Design-of-the-HNix-code-base
2021-01-14 16:01:22 +02:00
Anton Latukha
c6cf3a33c0 [auto] upd README TOC 2021-01-14 13:13:47 +00:00
Anton-Latukha
9410ca1d0d README: upd & org 2021-01-14 15:13:15 +02:00
Anton-Latukha
7bbdee7415 README: upd & org 2021-01-14 15:13:15 +02:00
Anton Latukha
06b21ccfc4 [auto] upd README TOC 2021-01-13 22:03:36 +00:00
Anton-Latukha
fa3c4460d4 README: upd info 2021-01-14 00:03:06 +02:00
Anton-Latukha
63f164bd9c README: organize sections 2021-01-14 00:03:06 +02:00
Anton Latukha
44ef7bacc2 [auto] upd README TOC 2021-01-13 20:24:31 +00:00
Anton Latukha
328b04cebe
Merge #817: default.nix: upd rev; readme: add Current status section
"Project status" currently formed by the composition on the theme from https://github.com/haskell-nix/hnix/issues/767#issuecomment-739190263 & https://github.com/haskell-nix/hnix/issues/767#issuecomment-739949611
2021-01-13 22:24:08 +02:00
Anton-Latukha
c642d95b21
README: add Current status section 2021-01-13 21:48:43 +02:00
Anton-Latukha
3aa0ebf821
default.nix: upd rev
In the old one the `hnix-store-remote` is marked broken, this is already fixed.
So switching to new revision.
2021-01-13 21:48:43 +02:00
Anton Latukha
a4c5ecfee4
default.nix: rm Remote override (#816)
Resolved: https://hydra.nixos.org/build/134683562
2021-01-10 23:30:52 +02:00
Anton Latukha
7e6cd97bf3
cabal: rm cryptohash-sha512 override (#814)
https://github.com/haskell-hvr/cryptohash-sha512/pull/5#issuecomment-757068529

Nixpkgs is Ok with all this, it does not import these overrides and have own separate mechanics for the overrides. Since cryptohash-sha512 package is essentially in the unmaintained state - I think it is not worth cleaning the Nixpkgs description because soon (on soon arriving 9.0) - it may be needed again in Nixpgs store, and to that time I hope we make a transition.

This cleaning has a nice side-effect that after release HNix would not need to recompile the cryptohash and Store packages every build.
2021-01-09 22:03:06 +02:00
Guillaume Maudoux
51a3ff9e00 Add a hacky but working liftTyped instance 2021-01-08 10:29:59 +01:00
Guillaume Maudoux
1b517a4264
Simplify Context extension (#809)
* Simplify Context extension

* nit: s/`fmap`/<$>/
2021-01-08 10:28:43 +01:00
Anton Latukha
a3b95b2862
CI: GitHub: Nix: dontCheck (#807)
The Cabal testing is really enough.

Maybe form a network test switch and disable those tests when the variable is
set. So we configure that in the CI and in Nixpkgs.
2021-01-07 22:27:56 +02:00
Anton Latukha
dab5a93a2e
Merge #802 NixString: rm hacky funs, convert principled funs into regular ones
This nearly finishes the work people did on the NixString & StringContext handling.

HNix had hacky* implementations used for a long time, and now type and implementation systems arrived into great shape that all of the functions become principled.

* Closes: #383 #384 #385.

* Removed hacky functions/.

* Reduced prefixes from functions.

* NixString now is a Monoid, project code now leverages that.

* Clean-up & restructure in the Nix.String module.
2021-01-07 17:41:32 +02:00
Anton-Latukha
80b283d126
benchmarks/ParserBench: clean-up 2021-01-07 06:19:13 +02:00
Anton-Latukha
709753135e
Nix/String: clean-up 2021-01-07 06:10:11 +02:00
Anton-Latukha
d086f7e9b5
Nix/String: rm hacky functions 2021-01-07 06:05:11 +02:00
Anton-Latukha
f81cd7829d
Nix/String: organization
Structuring, sorting things arround.
2021-01-07 06:02:32 +02:00
Anton-Latukha
ba09cdd2d5
(stringMConcat->mconcat) 2021-01-07 05:20:21 +02:00
Anton-Latukha
529095deaf
reduce (principled->) from NixString functions, use NixString monoid 2021-01-07 04:34:11 +02:00
Anton-Latukha
41be26cf44
Nix/String: principle the remaining hacky implementations 2021-01-07 03:51:25 +02:00
Anton-Latukha
147ba1eec4
(hacky->principled)GetStringNoContext 2021-01-07 03:42:00 +02:00
Anton-Latukha
67fe11c9c8
(hacky->principled)StringIgnoreContext 2021-01-07 03:37:38 +02:00
Anton-Latukha
3ba7e8029d
(hacky->principled)MakeNixStringWithoutContext 2021-01-07 03:37:35 +02:00
Anton-Latukha
208106dcf3
Nix/String: form "Deprecated API" to gather hacky* functions 2021-01-07 03:34:04 +02:00
Ishaq Sloan
fb3786edcb
tests/EvalTests: add expresstion eval test for builtins.split (#474)
Partially addresses: #435
2021-01-06 18:54:31 +02:00
Anton Latukha
96dd59726a
Merge #801 CI: Cabal: improvement for the cache, add Haddock & SDist check 2021-01-06 04:44:36 +02:00
Anton-Latukha
0b81cb6918
CI: GitHub: Cabal: add Haddock add distribution check 2021-01-06 04:42:27 +02:00
Anton-Latukha
099bf20aa3
CI: GitHub: Cabal: add Haddock check 2021-01-06 04:42:27 +02:00
Anton-Latukha
3b313a7e19
CI: GitHub: Cabal: improvement of the GitHub caching
A riff on the theme of
https://markkarpov.com/post/github-actions-for-haskell-ci.html
2021-01-06 04:41:57 +02:00
Anton Latukha
fbbfee2c98
Merge #800 default.nix: post-release upd and clean-up 2021-01-06 03:06:29 +02:00
Anton-Latukha
7a9c88e190
default.nix: use (pkgs.haskell.lib -> hlib), (pkgs.lib -> lib) 2021-01-06 02:56:55 +02:00
Anton-Latukha
e06bdd544c
default.nix: rm cryptohash-sha512 override
Use of cross-project overlay complicated this and so the package override was
required.

Nixpkgs makes it simple, Core derivation and Nix infra takes care of it.
2021-01-06 02:15:41 +02:00
Anton-Latukha
fc6c50e1f6
default.nix: disable the overlay 2021-01-06 02:14:52 +02:00
Anton-Latukha
10e4f4a9b7
default.nix: use Store 0.4 form Nixpkgs 2021-01-06 02:14:25 +02:00