Commit Graph

560 Commits

Author SHA1 Message Date
Andrzej Rybczak
a70cf0cbf1
Release effectful-core-2.5.0.0 and effectful-2.5.0.0 (#264) 2024-10-23 16:58:55 +02:00
Andrzej Rybczak
b0a2f15fad
Add new functions from GHC 9.12 to Effectful.Exception (#260) 2024-10-22 18:29:12 +02:00
Andrzej Rybczak
eda264f99e Bring back withFrozenCallStack to emptyEff 2024-10-22 16:06:06 +02:00
Andrzej Rybczak
86e633b70c Explicitly define setByteArray# and setOffAddr# in Prim Ref instance
Fixes https://github.com/haskell-effectful/effectful/issues/263.
2024-10-22 15:59:07 +02:00
Andrzej Rybczak
4de03c8471
Simplify internals of Error a bit (#262) 2024-10-22 15:35:40 +02:00
Andrzej Rybczak
5f7a9257f6
Base Effectful.Exception on Control.Exception (#257)
* Base Effectful.Exception on Control.Exception

* Add catchIf/handleIf/tryIf

* Review fixes

* Simplify the top section

* Adjustment

* More adjustments
2024-10-17 18:14:33 +02:00
Andrzej Rybczak
5bda8499cc
Fix NonDet/OnEmptyRollback (#256) 2024-10-10 13:44:27 +02:00
Andrzej Rybczak
df06ee3834 Add plusEff, make emptyEff and sumEff generate better call stacks 2024-10-09 23:09:27 +02:00
Andrzej Rybczak
8d74762377
Release effectful-2.4.0.0, effectful-th-1.0.0.3, effectful-plugin-1.1.0.4 (#253) 2024-10-08 20:04:10 +02:00
Andrzej Rybczak
30d1a6e46d Less duplication in raiseWith 2024-10-06 23:34:34 +02:00
Andrzej Rybczak
a25ffde8a5 Less hashes 2024-10-06 23:17:17 +02:00
Andrzej Rybczak
9fc0605e5f Slightly more efficient Prim Ref instance 2024-10-06 23:01:32 +02:00
Andrzej Rybczak
46962c5d14 Make plugin compile with GHC 9.12 2024-10-06 19:48:33 +02:00
Andrzej Rybczak
93f9db1bc9 Better variable names for ProviderS 2024-10-06 16:17:56 +02:00
Andrzej Rybczak
70e106f9ac Use catchIO in the example 2024-10-06 15:56:17 +02:00
Andrzej Rybczak
e2b1ffadf8 Use explicit deriving strategies 2024-10-06 15:54:55 +02:00
Andrzej Rybczak
96ebf667a3 Rename xs to subEs in occurrences of the Subset class 2024-10-06 15:28:20 +02:00
Andrzej Rybczak
c2d373b767 Make envRefs store Refs instead of juggling Ints 2024-10-06 14:59:55 +02:00
Andrzej Rybczak
703e637807 Don't re-export Env stuff from Effectful.Internal.Monad 2024-10-06 13:30:42 +02:00
Andrzej Rybczak
7580e9c643 Fix recently broken withLiftMapIO and add regression tests
Broken in e778e23702.
2024-10-06 13:07:42 +02:00
Andrzej Rybczak
e179e479e9 Make changelog entries about new modules look consistent 2024-10-06 12:15:13 +02:00
Andrzej Rybczak
2af665f7fe Add Bugfixes section to changelogs 2024-10-06 11:51:11 +02:00
Andrzej Rybczak
f94db31018 Add a forgotten changelog entry to effectful-th
See e7adeef18f.
2024-10-05 16:13:28 +02:00
Andrzej Rybczak
40fea7bf85 More straightforward unEff 2024-10-05 15:32:32 +02:00
Andrzej Rybczak
f9338509d0 Add a forgotten changelog entry to effectful-plugin
See 5979e8f2da.
2024-10-05 15:29:05 +02:00
Andrzej Rybczak
20cae24839 Shorten call stacks in a few specific cases 2024-10-05 15:22:23 +02:00
Andrzej Rybczak
86fda740db Remove reference to a scary looking and somewhat unrelated video 2024-10-05 15:18:24 +02:00
Andrzej Rybczak
0e6d596919 Make use of ImportQualifiedPost everywhere 2024-10-05 15:08:44 +02:00
Andrzej Rybczak
fa24ccaa68
Add the Effectful.Exception module with appropriate re-exports (#252) 2024-10-05 14:58:23 +02:00
Andrzej Rybczak
89b5791b5c Improve documentation of interpose 2024-09-30 00:11:37 +02:00
Andrzej Rybczak
749c72eb8e Small tweaks to call stacks 2024-09-29 23:32:41 +02:00
Andrzej Rybczak
e778e23702 Ensure that a LocalEnv is only used in a thread it belongs to 2024-09-29 00:02:41 +02:00
Andrzej Rybczak
255b153035 Add a few INLINE pragmas to small unlifting functions 2024-09-16 21:54:14 +02:00
Andrzej Rybczak
0809257719
Add SeqForkUnlift strategy (#224) 2024-09-16 21:50:17 +02:00
Andrzej Rybczak
7ce9972974 Use ErrorEmpty instead of () 2024-09-15 16:28:27 +02:00
Andrzej Rybczak
97ba2e0b5d Emphasize when state modifications are rolled back with OnEmptyRollback 2024-09-15 16:27:57 +02:00
Andrzej Rybczak
c5092ac248 Propagate HasCallstack through Provider and ProviderList 2024-09-14 18:08:32 +02:00
Andrzej Rybczak
40fc5c49fa Small improvement to the internal call stack of unlifts 2024-09-14 15:21:38 +02:00
Andrzej Rybczak
7b5c5b3f95 Fix typo, previous commit was about OnEmptyRollback 2024-09-12 18:18:38 +02:00
Andrzej Rybczak
1da88766ea Properly roll back changes made to the environment with OnEmptyKeep 2024-09-12 17:57:24 +02:00
Andrzej Rybczak
d97c9dbd51 Distinguish between creation and call site and include both if appropriate 2024-09-12 17:32:08 +02:00
Andrzej Rybczak
f2bdfc344f More HasCallStack stuff 2024-09-11 18:52:03 +02:00
Andrzej Rybczak
1f1f351d73
Distinguish between undefined effect data and its relinker (#247)
Moreover, now trying to access undefinedRelinker will properly give you the call
stack of where the relinker was called (i.e. in which call to cloneEnv), not
where it was put into Storage (unfortunately I couldn't make it work for
undefinedEffect).
2024-09-11 16:37:18 +02:00
Andrzej Rybczak
5979e8f2da
Add HasCallStack constraints for easier debugging (#244)
* Add HasCallStack constraints for easier debugging

Bechmarks are pretty much unaffected because most of these functions are small
and GHC inlines them.

* Fix plugin
2024-09-11 00:19:29 +02:00
Andrzej Rybczak
1fcb071d1c
Use strict-mutable-base (#235) 2024-09-05 19:08:23 +02:00
Andrzej Rybczak
2b12ee0c7a Tidy changelog 2024-09-05 18:57:00 +02:00
Andrzej Rybczak
06cfe1d8a5
Fix copyRefs in Effect.Dispatch.Dynamic (#240)
Fixes https://github.com/haskell-effectful/effectful/issues/239.
2024-09-04 20:27:00 +02:00
Andrzej Rybczak
adea8b4f0d
Consider array reallocations when doing monadic state updates (#238)
Fixes https://github.com/haskell-effectful/effectful/issues/237.
2024-09-04 18:06:42 +02:00
Andrzej Rybczak
e51ab362d9
Add Effectful.Prim.IORef (#236) 2024-09-04 07:36:59 +02:00
Andrzej Rybczak
2a8f0b3a05 Remove redundant import 2024-08-26 20:41:28 +02:00