ref: acb4b057fc2f2e99cd26425d4c3b02f1d134e16f
parent: e1a316fbff2160c8e7788fdac6c864118379f620
author: Lennart Augustsson <lennart@augustsson.net>
date: Sun Oct 6 09:52:11 EDT 2024
Add MonadFix (->)
--- a/TODO
+++ b/TODO
@@ -34,12 +34,12 @@
* Make deriving refer to identifiers that don't need to be in scope
* Add reductions for underapplied K2,K3,K4
* Move some Typeable instances from the class file to ST&co (makes it leaner)
+* Make a Unicode version of Data.Char
Bugs:
* Missing IO in ccall shows wrong location
* Check for escaping skolemized variables
* Type checking Data.Data
-* MonadFix (->)
* Install a targets.conf?
* let...in... doesn't parse correctly in a do
* let needs {} in a do with {}
--- a/lib/Control/Monad/Fix.hs
+++ b/lib/Control/Monad/Fix.hs
@@ -33,13 +33,13 @@
neHead ~(a :| _) = a
neTail ~(_ :| as) = as
-{-
-instance MonadFix IO where
- mfix = fixIO
+--instance MonadFix IO where
+-- mfix = fixIO
instance MonadFix ((->) r) where
mfix f = \ r -> let a = f a r in a
+{-
instance MonadFix (Either e) where
mfix f = let a = f (unRight a) in a
where unRight (Right x) = x
--
⑨