shithub: MicroHs

Download patch

ref: d08ab630e62ea0a1e3c709a57ec5cca6a36fe096
parent: 7ecf112fbeeb1e5814fbad231ba8159f22052d19
author: Lennart Augustsson <lennart@augustsson.net>
date: Thu Dec 21 15:53:00 EST 2023

Fix silly bug

--- a/TODO
+++ b/TODO
@@ -44,6 +44,3 @@
 * Stratify types/kinds/sorts
   - Do kind variables this way 'data forall (k:Kind) . T (a::k) = C'
 * Implement polykinds
-* Implement
-  - Typeable
-  - Generic
--- a/lib/Data/Dynamic.hs
+++ b/lib/Data/Dynamic.hs
@@ -4,6 +4,7 @@
   toDyn,
   fromDyn, fromDynamic,
   dynApply, dynApp,
+  dynTypeRep,
   ) where
 import Prelude
 import Data.Proxy
@@ -26,5 +27,8 @@
 dynApp f a = fromMaybe (error "Dynamic.dynApp") $ dynApply f a
 
 dynApply :: Dynamic -> Dynamic -> Maybe Dynamic
-dynApply (D ftr f) (D atr a) = fmap f $ funResultTy ftr atr
-  where f rtr = D rtr ((unsafeCoerce f) a)
+dynApply (D ftr f) (D atr a) = fmap g $ funResultTy ftr atr
+  where g rtr = D rtr ((unsafeCoerce f) a)
+
+dynTypeRep :: Dynamic -> TypeRep
+dynTypeRep (D tr _) = tr
--