newtype

    0热度

    1回答

    如果我有一些javascript json数据,我可以foreign import那个数据超过一个用户定义的newtype,但带有一个子集的实际数据吗?例如: 在JavaScript : exports.foo = {foo: "foo", bar: "bar"} 在purescript: newtype Foo = Foo {foo :: String} foreign import fo

    2热度

    2回答

    函子类型变量我有以下类型定义: newtype Flip f a b = Flip (f b a) deriving (Eq, Show) 是否Flip数据构造有一个或三个参数? Consinder实现如下: data K a b = K a newtype Flip f a b = Flip (f b a) deriving (Eq, Show) instance

    2热度

    1回答

    我创建了一个newtype别名IP类型从Data.IP: {-# LANGUAGE GeneralizedNewtypeDeriving #-} module IPAddress (IPAddress) where import Data.IP (IP) import Database.PostgreSQL.Simple.ToField newtype IPAddress = IPA

    6热度

    1回答

    我要去了延续和我遇到两种不同的方法来构造延续类型: newtype C r a = C {runC :: (a -> r) -> r} exampleFunction :: String -> C Bool String exampleFunction s = C $ \t -> if length s > 10 then t s else False continuationFunct

    5热度

    1回答

    Rewrite rules可以帮助您优化程序。我想知道如果我在newtype中包裹我的物品,他们是否会工作。众所周知,newtype不会带来性能损失,它是一个编译时包装,它在运行时不见了。所以我想知道重写规则是否仍然会以newtype触发。例如,Data.Text(What is fusion in Haskell?)有很多规则。 GHC用户指南发出警告算法的非机灵: GHC目前使用非常简单,句法

    4热度

    2回答

    我声明如下newtypes: newtype Code = Code String deriving (Show) newtype Name = Name String deriving (Show) newtype Account = Account (Code, Name) deriving (Show) 所以: *Main Lib> :t Code Code :: String -

    2热度

    1回答

    我正在使用Inotify(通过inotify-rs包装器)在文件系统中观看大量文件(不是目录)。 以下的inotify-RS方法返回一个WatchDescriptor结构: add_watch<P>(&mut self, path: P, mask: WatchMask) -> io::Result<WatchDescriptor> where P: AsRef<Path> Wat

    1热度

    1回答

    我已经定义了一个单子变压器UlffT如下。 我正在与Halogen,但这不是Halogen -question - 我只是提供上下文。 UlffT意味着堆叠在Aff上,并在HalogenM中使用。 newtype UlffT m a = UlffT (ExceptT Error (ReaderT Env m) a) unUlffT :: forall m. UlffT m ~> ExceptT

    0热度

    1回答

    TL展开;博士:是否有可能使用任何lens家族的抽象的包装/解开任意newtype(即提供了一种用于这样的抽象的实例)? 我会通过一个基于真实故事的简单示例来激发我的问题。假设我定义以下newtype: newtype FreeMonoid a = FreeMonoid { asMap :: Map a Int } 它是用来表示形式方面: a0 <> a1 <> ... <> an-1 我

    2热度

    1回答

    我试图安装一个应用程序Termite - Util但我在与线得到这个错误14 newtype CE m a = CE {unCE :: m a} deriving (Monad) 错误说: ContextError.hs:14:45 : 没有适用于(适用(CE m)) 由数据类型声明的“派生”子句产生 可能的修正: 使用独立的“派生实例”声明 因此您可以sp ecify自己的实例上下文 当导出