Andrzej Rybczak
e885aa0a77
Update CI ( #277 )
2024-11-22 17:03:29 +01:00
Andrzej Rybczak
b2a416e0de
Add passthrough ( #274 )
2024-11-21 20:51:32 +01:00
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
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
40fea7bf85
More straightforward unEff
2024-10-05 15:32:32 +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
bcafb9b310
Improve Show instance of Effectful.Error.Static.ErrorWrapper ( #232 )
...
For example, if a third-party library spawns worker threads and if a job throws,
it simply catches SomeException, logs it and retries the job later, as of today
internal exceptions representing errors of the `Error` effect wouldn't show any
info about the error, just the backtrace.
This fixes it at the cost of small API breakage.
2024-08-26 19:48:00 +02:00
Andrzej Rybczak
9bf15a28c0
Generalize localLend/localBorrow to take a list of effects ( #234 )
2024-08-26 13:42:57 +02:00
Andrzej Rybczak
0ef04f2fc8
Improve Labeled and add labeled versions of base effects ( #228 )
...
* Improve Labeled and add labeled versions of base effects
* Remove .VDQ modules for now
* tests
* doctest
* more doctest
* ci
* run doctest with 9.10
* run polysemy with 9.10
2024-08-22 20:59:21 +02:00