mirror of
https://github.com/chrisdone/duet.git
synced 2024-08-15 23:30:31 +03:00
Patch for newer GHCs
This commit is contained in:
parent
f58e0f537c
commit
959d40db68
@ -47,9 +47,14 @@ newtype Supply s a = Supply (SupplyT s Identity a)
|
||||
deriving (Functor, Applicative, Monad, MonadSupply s, MonadFix)
|
||||
|
||||
instance Monad m => MonadSupply s (SupplyT s m) where
|
||||
supply = SupplyT $ do (x:xs) <- get
|
||||
put xs
|
||||
return x
|
||||
supply =
|
||||
SupplyT $ do
|
||||
result <- get
|
||||
case result of
|
||||
(x:xs) -> do
|
||||
put xs
|
||||
return x
|
||||
_ -> error "Exhausted supply in Control.Monad.Supply.hs"
|
||||
peek = SupplyT $ gets head
|
||||
exhausted = SupplyT $ gets null
|
||||
|
||||
|
@ -901,7 +901,7 @@ inferExpressionType ce as (ApplicationExpression l e f) = do
|
||||
let scheme = (Forall [] (Qualified (ps++qs) t))
|
||||
return (ps ++ qs, t, ApplicationExpression (TypeSignature l scheme) e' f')
|
||||
inferExpressionType ce as (InfixExpression l x (i,op) y) = do
|
||||
(ps, ts, ApplicationExpression l' (ApplicationExpression _ (op') x') y') <-
|
||||
(ps, ts, ~(ApplicationExpression l' (ApplicationExpression _ (op') x') y')) <-
|
||||
inferExpressionType
|
||||
ce
|
||||
as
|
||||
|
Loading…
Reference in New Issue
Block a user