Commit Graph

766 Commits

Author SHA1 Message Date
John Wiegley 5c10be3e3b
More cleanup, get rid of the Eq and Ord instances for NValue'
They had dubious semantics anyway; there is now only valueEqM and valueNFEq.
2019-03-16 23:35:16 -07:00
John Wiegley 1a6978fe6b
Change NValueNF so that the Pure case preserves the looped thunk 2019-03-16 23:13:13 -07:00
John Wiegley 954e201408
Add new synonym in Standard.hs: type StdIdT m = FreshIdT Int m 2019-03-16 16:24:44 -07:00
John Wiegley 492a3ae0bc
Factor out thunk id representation into its own class, MonadThunkId 2019-03-16 16:23:40 -07:00
John Wiegley fcddfab5a0
Add a documentation note for 'thunkId' 2019-03-16 14:49:48 -07:00
John Wiegley 9405074cd8
Fix hnix-tests 2019-03-16 14:41:25 -07:00
John Wiegley 676994ed82
Have forceEff pretend to return a value again 2019-03-16 13:23:38 -07:00
John Wiegley 3c2393e5af
Add sequenceNValueNF 2019-03-16 13:16:45 -07:00
John Wiegley 4387024935
Fix MonadThunk in Standard.hs 2019-03-16 12:58:33 -07:00
John Wiegley 537f1fc8c7
Finish out the instance definitions in Standard.hs 2019-03-16 12:48:07 -07:00
John Wiegley 3c2801cbc7
More minor cleanup, add a new README-design.md 2019-03-16 11:41:48 -07:00
John Wiegley 6ae5764221
All type checks, but many instance definitions are still missing 2019-03-16 01:10:47 -07:00
John Wiegley 145e69c9a4
Further work on Standard.hs 2019-03-15 22:54:29 -07:00
John Wiegley 209a9ae9a5
Create Nix/Thunk/Standard.hs 2019-03-15 17:59:38 -07:00
John Wiegley e9236aa55c
Now down to Main.hs and the tests 2019-03-15 17:20:10 -07:00
John Wiegley c9f4e40ec0
Get most of Builtins.hs type checking again 2019-03-15 14:33:03 -07:00
John Wiegley 483dded8db
Begin work in Builtins.hs 2019-03-15 13:27:11 -07:00
John Wiegley 568fe7f825
Fix XML.hs 2019-03-15 13:20:47 -07:00
John Wiegley 488d8b2d89
Fix Json.hs and Frame.hs; now on to XML.hs 2019-03-15 12:59:13 -07:00
John Wiegley 85f32da4a4
Change signature of forceEff 2019-03-15 12:49:16 -07:00
John Wiegley 14b2b9a66d
Exec.hs now type checks, but we haven't restored thunking 2019-03-15 12:38:59 -07:00
John Wiegley 5d9c858f5d
More work toward getting Exec.hs to compile 2019-03-14 23:18:16 -07:00
John Wiegley 996266bbdc
More work in Exec.hs 2019-03-14 22:00:23 -07:00
John Wiegley ace0fc10d5
Further progress 2019-03-14 15:10:41 -07:00
John Wiegley f5726cd015
Further work 2019-03-14 10:56:20 -07:00
John Wiegley ba33d8c117
Further revision in Value.hs 2019-03-14 10:40:30 -07:00
John Wiegley 6daaf18018
More work on Value.hs 2019-03-13 23:24:11 -07:00
John Wiegley 9583b7aa70
Introduce IsNThunk t m, with many thanks to Ryan Trinkle 2019-03-13 11:02:53 -07:00
John Wiegley 67bc3f2a69
Hopefully finished up with Value.hs and Normal.hs 2019-03-13 10:53:58 -07:00
John Wiegley 505591515f
More work on Value.hs 2019-03-12 23:44:42 -07:00
John Wiegley 28a1410013
Split off NCited into its own file 2019-03-12 07:21:24 -07:00
John Wiegley 3cb9834792
Begin abstracting the thunk/value data representation 2019-03-11 22:41:56 -07:00
John Wiegley 107f29d3fd
Move certain constraints from MonadThunk to the BasicThunk instance 2019-03-11 13:55:40 -07:00
John Wiegley 2e2ee3589c
Mix-in provenance information as a functoral layer, rather than directly
This changes nothing about how the code is structured just yet, but paves the
way for fully generalizing this up to the point where the thunk/value
representation is chosen. By making information like this functoral, we allow
full re-use of the NThunk/NValue machinery.
2019-03-11 08:44:22 -07:00
John Wiegley 39fd51c1a8 Split Nix.Thunk into Nix.Var, Nix.Thunk and Nix.Thunk.Basic
This is in preparation for further generalization of the thunk/value scheme
used by the execution code.
2019-03-11 08:42:46 -07:00
John Wiegley bda79c984b
Merge branch 'master' into vs-context-primops 2019-03-11 08:41:42 -07:00
John Wiegley f397b80a9c Factor out citation information to its own data structure 2019-03-10 16:07:13 -07:00
Emmanuel Denloye-Ito af9f69d517 fromJSON tests are now working. Yeah! 2019-03-10 14:14:14 -07:00
John Wiegley 5884b3ab11
Correct to source position rendering 2019-03-10 14:12:40 -07:00
John Wiegley 41d44b018c Guard against infinitely recursive function calls
Fixes #432
2019-03-10 14:11:03 -07:00
John Wiegley 7bb233cb2b
Merge branch 'master' into vs-context-primops 2019-03-10 13:54:43 -07:00
Ken Micklas 765b2f9cfc Return string instead of context in appendContext 2019-03-10 16:41:00 -04:00
Ken Micklas 9ce7d7ebe2 Add fromNixLikeContext 2019-03-10 16:40:51 -04:00
Ken Micklas 45400aae58 Allow missing keys in appendContext 2019-03-10 16:21:31 -04:00
Ken Micklas 37758c6190 Omit empty keys for NixLikeContextValues 2019-03-10 15:59:41 -04:00
Ken Micklas 37152002b0 Implement appendContext 2019-03-10 15:45:53 -04:00
Emmanuel Denloye-Ito c51d966d44 Add tests for mapAttrs and changed hackyMakeNixStringWithoutContext to principledMakeNixStringWithoutContext in Builtins.hs 2019-03-10 11:17:36 -07:00
Emmanuel Denloye-Ito 586f1de62d Less than test (#461)
References issue #438 

Co-authored-by: John Wiegley <johnw@newartisans.com>
2019-03-10 11:16:36 -07:00
John Wiegley 602b71c173 Render source line locations more attractively 2019-03-10 11:15:28 -07:00
Ken Micklas 22048ccc89 Clean up syntax in getContext 2019-03-10 14:09:29 -04:00
Ken Micklas 718c94e0bb Merge branch 'master' into vs-context-primops 2019-03-10 13:48:58 -04:00
John Wiegley 106fd7957f
Update to the latest hnix conventions 2019-03-10 10:41:31 -07:00
Madeline Haraj 28ab983408
Add syntactic holes 2019-03-10 10:23:28 -07:00
Emily Pillmore f3970d49b9
Add principled 'fetchurl' + tests
Tests are masked until store work is done
2019-03-10 10:07:03 -07:00
John Ericson 5ddb79009d Depend on hnix-store-core and use it for `printHash32` 2019-03-10 08:59:05 -07:00
John Wiegley eae6bf542f Split MonadFreshId off into its own file 2019-03-10 08:58:27 -07:00
Ken Micklas 75fb76a7c0 Revert "Add all the effects instances for FreshIdT"
This reverts commit 46db352af8.
2019-03-09 22:03:30 -05:00
Ken Micklas ec62bce3a0 Fix pointer equality case in thunkEq 2019-03-09 21:57:38 -05:00
Ken Micklas 695dd58d3c Fix failable pattern in fresh 2019-03-09 21:40:59 -05:00
Ken Micklas 2366aff91d Use valueEq when not pointer equal 2019-03-09 20:49:25 -05:00
Ken Micklas 8ddbe165e6 Only short-circuit pointer equality for correct types 2019-03-09 20:40:12 -05:00
Ken Micklas 05fccda825 Revert "Use thunk ID to short-circuit thunkEq"
This reverts commit c287ab8b59.
2019-03-09 20:35:39 -05:00
Ken Micklas 6a5718458d Fix MonadFreshId instances in wrong places 2019-03-09 20:26:56 -05:00
Ken Micklas 46db352af8 Add all the effects instances for FreshIdT 2019-03-09 20:26:56 -05:00
Ken Micklas c287ab8b59 Use thunk ID to short-circuit thunkEq 2019-03-09 20:26:19 -05:00
Ken Micklas d9293cf034 Fix Nix.Exec 2019-03-09 20:26:19 -05:00
Ken Micklas 91d5be6e49 Fix Nix.Lint 2019-03-09 20:26:19 -05:00
Ken Micklas 3b4af6f781 Move MonadAtomicRef ST instance to Nix.Thunk 2019-03-09 20:26:19 -05:00
Ken Micklas ae09c47b7d Fix Nix.Type.Infer 2019-03-09 20:26:19 -05:00
Ken Micklas 842dadf6da Use non-standalone GND for FreshIdT 2019-03-09 20:26:19 -05:00
Ken Micklas 69fa8884c1 Add MonadAtomicRef instance for ST 2019-03-09 20:26:19 -05:00
Ken Micklas a1fd246d01 Add MonadFix instance for FreshIdT 2019-03-09 20:26:19 -05:00
Ken Micklas fd63be4f96 Add MonadFreshId instance for FreshIdT 2019-03-09 20:26:19 -05:00
Ken Micklas 3671e6993e Fix FreshIdT instances 2019-03-09 20:26:19 -05:00
John Ericson 1abe4064c6 WIP more instances 2019-03-09 20:26:19 -05:00
John Ericson 3b5649c0a2 WIP fix equality 2019-03-09 20:26:19 -05:00
Vaibhav Sagar 4b8dff9aa8 Nix.Builtins: add getContext and appendContext primops 2019-03-09 19:30:56 -05:00
John Wiegley a6d753bbdd
Remove an unnecessary import 2019-03-09 16:00:30 -08:00
Ryan Trinkle a2b77f1d8a
Merge branch 'master' into ryantrinkle/splitVersion 2019-03-09 18:36:24 -05:00
Ryan Trinkle 883505f062
Merge branch 'master' into ryantrinkle/argsList 2019-03-09 18:34:19 -05:00
Ryan Trinkle ae463c83e8
Merge branch 'master' into ryantrinkle/ellipsisBinds 2019-03-09 18:02:22 -05:00
Ryan Trinkle d8a66c09ab Ellipsis shouldn't introduce anything into scope 2019-03-09 17:59:59 -05:00
John Wiegley 3b2593df47
Merge branch 'master' into ryantrinkle/splitVersion 2019-03-09 14:51:39 -08:00
John Wiegley 92c0f5a307
Merge branch 'master' into ryantrinkle/argsList 2019-03-09 14:51:21 -08:00
Ryan Trinkle b95710470c When converting to JSON, if NVSet has an "outPath" attribute, use that instead of converting the object's attributes 2019-03-09 16:06:54 -05:00
Ryan Trinkle bd867a3bef When forming derivationStrict arguments, supply `args` as a list rather than a string
Perhaps this used to be different, but as of nix-instantiate 2.1.3, `args` may not be a string
2019-03-09 16:04:41 -05:00
Ryan Trinkle 4e9ec1a964 Improve error message in case `read` fails in splitVersion 2019-03-09 15:55:31 -05:00
John Wiegley 07e6a5a381
Merge branch 'pending' 2019-03-09 11:39:19 -08:00
Doug Beardsley aa4156c5f6 Add test for currentSystem and remove hacky call 2019-03-08 23:22:43 -05:00
John Wiegley 624ec11234
Begin adding very basic source line printing 2019-03-03 14:48:49 -08:00
John Wiegley 3216a7f4ce
Create a stand-in function for pretty source location info 2019-01-08 11:00:09 -08:00
John Wiegley b6dfaa22e9
Resolve a compile-time warning 2019-01-08 10:24:40 -08:00
Ken Micklas 4f61c4f3e7 Use extractNixString for JSON string 2018-12-14 12:04:20 -05:00
Ken Micklas ad0d2d2bf8 Use WithStringContext(T) for nvalueToJSON 2018-12-13 16:59:51 -05:00
Ken Micklas 824615aabe Merge branch 'master' into xml-string-context 2018-12-10 15:48:29 -05:00
Doug Beardsley 7d2f9d874a Move json code into separate module 2018-12-09 13:57:58 -05:00
Ken Micklas b1d48c5364 Accumulate string context in builtins.toXML 2018-12-06 18:11:06 -05:00
Ken Micklas dcbde8c2d5 Add WithStringContext 2018-12-06 18:11:06 -05:00
Doug Beardsley 38147f81a9 Fix toJSON context handling and add test case 2018-12-05 14:59:42 -05:00
Doug Beardsley 5c6b1ff285 Fix replaceStrings and add test case to catch mistake 2018-12-05 11:53:59 -05:00
Doug Beardsley 5b1117f6b9 Add test case for placeholder and get it passing 2018-12-05 08:43:31 -05:00
Doug Beardsley 23250a3433 Misc cleanup 2018-12-05 06:26:59 -05:00
Doug Beardsley 1748e7ce7a Fix behavior of baseNameOf 2018-12-03 05:00:50 -05:00
Doug Beardsley 4b28407936 Fix eval-okay-context test failure 2018-12-03 00:48:15 -05:00
Félix Baylac 512a8e0f10 Change builtins.storeDir type to String
Co-authored-by: Basile Henry <bjm.henry@gmail.com>
2018-12-02 20:59:50 +00:00
Doug Beardsley ab3fc101dd Merge branch 'master' into remove-fromnix-text-instances 2018-11-29 10:36:03 -05:00
John Wiegley 83e5dc7aa3
Merge pull request #418 from haskell-nix/revert-xml-string-context
Revert "Merge pull request #413 from haskell-nix/xml-string-context"
2018-11-26 12:00:23 -08:00
Shea Levy 952e2603ea
Revert "Merge pull request #413 from haskell-nix/xml-string-context"
Let's try to find a way to avoid exporting the NixString constructors
first.

This reverts commit ed07384563, reversing
changes made to 4bfe2cc60c.
2018-11-25 08:03:30 -05:00
Domen Kožar 48fe67748b
Fix warnings 2018-11-25 10:08:17 +00:00
John Wiegley ed07384563
Merge pull request #413 from haskell-nix/xml-string-context
Accumulate string context in builtins.toXML
2018-11-24 19:15:06 -08:00
John Wiegley 4bfe2cc60c
Merge pull request #408 from domenkozar/type-string-context
Distinguish string with or without context when revealing type
2018-11-24 19:12:42 -08:00
John Wiegley a6565b62a4
Merge pull request #414 from domenkozar/issue-412
Make -v1 default for better usability on errors
2018-11-24 19:11:02 -08:00
John Wiegley f7a370b53f
Correct an informational message 2018-11-24 19:09:28 -08:00
Doug Beardsley a39a5518ea Merge remote-tracking branch 'origin/pending' into remove-fromnix-text-instances 2018-11-24 15:22:54 -05:00
Doug Beardsley 81c649b96e Fix comment 2018-11-24 15:22:02 -05:00
Domen Kožar e0af60ef67
thunk loop -> infinite recursion 2018-11-24 14:22:46 +00:00
Domen Kožar 28bfc2cbe8
Make -v1 default for better usability on errors 2018-11-24 14:13:24 +00:00
Ken Micklas 1457362184 Accumulate string context in builtins.toXML 2018-11-23 12:48:44 -05:00
Ken Micklas a43da72f9e Expose internals of NixString 2018-11-23 12:48:44 -05:00
John Wiegley e8a6fbab16
Merge branch 'master' into fix/freeVars 2018-11-22 09:49:22 -08:00
Domen Kožar 39ef69f2f9
Merge branch 'master' into type-string-context 2018-11-22 09:55:23 +00:00
Vaibhav Sagar 017ce7667a Bump Megaparsec to 7.0.4 2018-11-22 01:16:11 -05:00
John Wiegley 5ff896f571
Merge pull request #388 from haskell-nix/prettyprinter
Switch to prettyprinter library from ansi-wl-pprint
2018-11-21 15:59:49 -08:00
Doug Beardsley 31c327c406 Rename back to hacky 2018-11-21 01:55:56 -05:00
Doug Beardsley 09d9919367 Fix misleading name 2018-11-21 01:54:15 -05:00
Doug Beardsley 9e11410f6e Make note to fix toFile 2018-11-21 01:50:24 -05:00
Doug Beardsley d87122a0f2 Fix context handling in replaceStrings 2018-11-21 01:21:53 -05:00
Domen Kožar 58a83622eb
GHC 8.6 support 2018-11-20 23:44:59 +00:00
John Ericson f227911ce0 Merge remote-tracking branch 'origin/master' into prettyprinter 2018-11-20 18:23:15 -05:00
Domen Kožar 2cc20c045f
Distinguish string with or without context when revealing type 2018-11-20 12:20:16 +00:00
John Wiegley ba5b23a6e3
Bump minimum supported version to GHC 8.4.4 2018-11-19 09:46:02 -08:00
Doug Beardsley 8a97be7250 Fix behavior of match to properly return nulls 2018-11-19 09:01:34 -05:00
Doug Beardsley 752ff745a8 Remove unnecessary cases 2018-11-19 07:13:19 -05:00
Doug Beardsley a29a54b4f9 Merge remote-tracking branch 'origin/pending' into remove-fromnix-text-instances 2018-11-19 07:10:02 -05:00
Doug Beardsley 5dd3e2d7ce Remove Text FromValue, ToValue, FromNix, and ToNix
This commit makes the handling of string context much more explicit and correct
throughout entire codebase.
2018-11-19 07:04:08 -05:00
Ryan Trinkle 0a82ab26ce Merge remote-tracking branch 'origin/pending' into abstract-scopes 2018-11-18 15:04:30 -05:00
Doug Beardsley 602c673cba
Merge pull request #397 from haskell-nix/coerceToString-boolean-blindness
Create data types to avoid coerceToString boolean blindness
2018-11-17 19:00:29 -05:00
Ken Micklas 3beeaa6a79 Add and use fromStringNoContext 2018-11-17 18:40:22 -05:00
Ken Micklas ff1166aba6 replace *StringIgnoreContextMaybe with more accurate *GetStringNoContext 2018-11-17 18:40:22 -05:00
Ken Micklas 340e97e8d3 Use principledStringIngoreContextMaybe for builtins.compareVersions 2018-11-17 18:40:22 -05:00
Ken Micklas 306d710527 Use principled* functions for builtins.splitVersion 2018-11-17 18:40:22 -05:00
Ken Micklas a488e9aa5c Add principledStringIgnoreContextMaybe 2018-11-17 18:40:22 -05:00
Ken Micklas 124f7165e4 Add principledStringMempty 2018-11-17 18:40:22 -05:00
Ken Micklas a0a89248e9 Use principledMakeNixStringWithoutContext in assembleString 2018-11-17 18:40:22 -05:00
Ken Micklas c9071db5bc Use custom force for isDerivation instead of relying on valueEq 2018-11-17 18:40:22 -05:00
Ken Micklas a7bdda4912 Ignore context when comparing strings 2018-11-17 18:40:22 -05:00
Ken Micklas ff16557e34 Add principledStringIgnoreContext 2018-11-17 18:40:22 -05:00
Ken Micklas 8dc1762f8e Use curry and LambdaCase for valueEq 2018-11-17 18:40:22 -05:00
Ken Micklas a6ab1d4e27 Use principledMakeNixStringWithoutContext in Nix.Pretty 2018-11-17 18:40:22 -05:00
Ken Micklas be8390ac79 Remove unused valueText and valueTextNoContext functions 2018-11-17 18:40:22 -05:00
Doug Beardsley 4edcda00e4 Create data types to avoid coerceToString boolean blindness 2018-11-17 18:26:10 -05:00
Doug Beardsley 5fb9dae34c
Merge pull request #393 from haskell-nix/coerceToString-returns-nix-string
Make coerceToString return NixString
2018-11-17 17:05:58 -05:00
Doug Beardsley ba7fc3446d Remove hackyModifyNixContents 2018-11-17 16:23:41 -05:00
Ryan Trinkle d60130c566 Abstract Scopes 2018-11-17 16:21:03 -05:00
Doug Beardsley cda7345647 Merge remote-tracking branch 'origin/pending' into coerceToString-returns-nix-string 2018-11-17 16:15:06 -05:00
Doug Beardsley d949b9c1e1 Make coerceToString return NixString 2018-11-17 16:08:02 -05:00
Ken Micklas f617e790a4 Make null and empty string not equal
Fixes #391.
2018-11-17 16:02:27 -05:00
Ken Micklas b7ad125c46 Remove hackyStringMappend 2018-11-17 13:52:15 -05:00
Ken Micklas 4018fd0ccf Change the only use of hackyStringMConcat to principledStringMConcat 2018-11-17 13:51:47 -05:00
Doug Beardsley f01ba97edf Export principledStringMappend 2018-11-17 13:29:34 -05:00
Doug Beardsley 2d36ccbdf5 Issue #387, hackyStringMappend 2018-11-17 13:04:08 -05:00
John Ericson 04abd357bd Switch to prettyprinter 2018-11-17 12:02:26 -05:00
Ryan Trinkle e6b189e69b Eliminate MonadIO from MonadEffects instance for Lazy 2018-11-16 21:30:55 -05:00
Ryan Trinkle c655bdb9f2 Factor out MonadIntrospect 2018-11-16 21:30:55 -05:00
Ryan Trinkle 32850cd23e Factor out instantiate and exec 2018-11-16 21:30:51 -05:00
Ryan Trinkle 7f964f8d21 WIP: Eliminate pathExists in favor of doesFileExist
Needs approval from @gbwey9

TODO:
* Actually get rid of pathExists
2018-11-16 17:29:14 -05:00
Ryan Trinkle 5acd886aca Factor out MonadEnv 2018-11-16 17:17:42 -05:00
Ryan Trinkle c2be721454 Factor out HTTP requests 2018-11-16 17:17:38 -05:00
Ryan Trinkle cc7a97b545 Factor out printing text 2018-11-16 17:17:34 -05:00
Ryan Trinkle 2884c4f918 Factor out filesystem functionality into MonadFile 2018-11-16 15:16:17 -05:00
Ryan Trinkle 02e057c5c0 Factor out addPath and toFile_ into MonadStore class 2018-11-16 14:50:58 -05:00
Ryan Trinkle 6d2daf0ecd WIP: Refactor MonadVar to use ref-tf's MonadRef instead
TODO:
* Upstream GEq (STRef s)
* Eliminate shim functions
2018-11-16 14:11:37 -05:00
Ryan Trinkle 12d9924991 Make other implementations of MonadFile possible 2018-11-16 13:31:56 -05:00
Ryan Trinkle 15c33ac4c8 Whitespace 2018-11-16 13:29:31 -05:00
Ryan Trinkle 54d139d57b Expose `Nix.Pretty.valueToExpr` 2018-11-16 13:29:20 -05:00
Silvan Mosberger 292d760b12
freeVars: Fix inherit's in rec sets and let in
Previously freeVars (rec { inherit y; }) would report nothing, when
really the `y` variable is free. The same for `let inherit y; in y`
2018-11-16 17:59:03 +01:00
John Wiegley 54492e3905
Merge branch 'master' into string_context_255 2018-10-15 12:45:05 -07:00
gb 411afaca51 remove deprecation warnings so travis will succeed 2018-10-06 18:35:56 -04:00
Patrick Hilhorst 2e330b4601
s/attribut /attribute / 2018-10-02 22:13:32 +02:00
gb 4baa4f7108 change Nix.NixString module to Nix.String 2018-09-23 16:03:44 -04:00
gb be056b3dd7 builds with -Werror -Wno-deprecations 2018-09-16 16:30:24 -04:00
gb 0a5e692b1c Merge branch 'string_context_255' of https://github.com/gbwey9/hnix into string_context_255 2018-09-16 15:22:53 -04:00
gb cfa4824fb3 remove semigroup monoid and replace with nixstring methods 2018-09-16 14:02:02 -04:00
John Wiegley dddf425a22
Merge branch 'master' into string_context_255 2018-09-15 22:35:13 -07:00
gb ae6725871b removed executable permissions 2018-09-15 20:32:38 -04:00
gb dc940b8d04 fix windows line endings on these files 2018-09-15 20:16:35 -04:00
gb 6f1ed3c2e9 documented methods;added more methods with deprecation 2018-09-15 20:04:54 -04:00
Silvan Mosberger f189b69f51
More precise freeVars 2018-09-11 05:23:58 +02:00
John Wiegley bb26529c73
Merge pull request #360 from Infinisil/parser-exports
Parser exports
2018-09-10 11:57:54 -07:00
Georges Dubus 0e3ecd5ac3 Avoid corrupting the value being printed in Pretty.dethunk 2018-09-10 17:18:34 +02:00
Silvan Mosberger 08326ce34a
Parser: export symbol and whiteSpace 2018-09-10 05:10:35 +02:00
Silvan Mosberger 9a74e0cd99
Parser: Export useful partial parsers 2018-09-10 04:28:33 +02:00
Silvan Mosberger c01fa83cb6
Parser: Unify parser names 2018-09-10 04:10:53 +02:00
Silvan Mosberger 67934d030a
Parser: Make Result Functior 2018-09-10 03:30:15 +02:00
gb a57aa711df tests run 2018-09-09 11:47:04 -04:00
gb 2fadbe3090 add new nixstring version with warnings 2018-09-09 11:01:09 -04:00
John Wiegley 833851392d
Merge remote-tracking branch 'origin/master' into pending 2018-09-07 13:16:28 -07:00
John Wiegley 99626e9ab9
The use of liftM2 (<|>) was executing too much of both arguments
This is demonstrated by the following example, courtesy of Ryan Trinkle:

    let x = with x; with { a = 5; }; a; in x

Although the dynamic scopes visible at 'a' happen to be [<thunk: { a = 5; }>,
<thunk: x>], we were forcing each thunk before doing the M.lookup, and then
performing (<|>) on the M.lookup.

Fixes #347
2018-09-07 13:08:30 -07:00
Jude Taylor a604a74af9 make mapAttrs take both arguments 2018-09-04 14:17:14 -07:00
Domen Kožar 4501319e81
<<loop>> is already GHC RTS error, tweak a bit 2018-09-03 21:17:50 +01:00