尝试存在类型.似乎是获得某种类型灵活性的好方法.
在我把它包起来之后,我遇到了一个解除存储类型的问题.我的代码如下:
{-# LANGUAGE ExistentialQuantification #-}
class Eq a => Blurb a
data BlurbBox = forall a . Blurb a => BlurbBox a
data Greek = Alpha | Beta deriving Eq
instance Blurb Greek
data English = Ay | Bee deriving Eq
instance Blurb English
box1 :: BlurbBox
box1 = BlurbBox Alpha
box2 :: BlurbBox
box2 = BlurbBox Ay
main = do
case box1 of
BlurbBox Alpha -> putStrLn "Alpha"
BlurbBox Beta -> putStrLn "Beta"
BlurbBox Ay -> putStrLn "Ay" …Run Code Online (Sandbox Code Playgroud) 假设我想在Haskell中编写服务器.具有高并发性和简单处理的那种.对故障具有鲁棒性并提供高可用性的那种.Erlang将会有所帮助.
什么是一套好的工具,无论是框架还是一组基元,从哪里开始?
我尝试了很多不同的搜索模式:
[^=]=[^=] 只有当=不在开头/结尾并且它也匹配夹心字符时才有效=\@!==\@!似乎应该工作,因为\ @!什么都不匹配但需要匹配,但它不匹配(参见:help pattern-overview)[^=]\@==[^=]\@= 也似乎不应该建议?
我无法理解任何文档.有人可以提供一个示例,说明如何exiftool使用Haskell模块解析以下缩短的输出Text.JSON?使用该命令生成数据exiftool -G -j <files.jpg>.
[{
"SourceFile": "DSC00690.JPG",
"ExifTool:ExifToolVersion": 7.82,
"File:FileName": "DSC00690.JPG",
"Composite:LightValue": 11.6
},
{
"SourceFile": "DSC00693.JPG",
"ExifTool:ExifToolVersion": 7.82,
"File:FileName": "DSC00693.JPG",
"EXIF:Compression": "JPEG (old-style)",
"EXIF:ThumbnailLength": 4817,
"Composite:LightValue": 13.0
},
{
"SourceFile": "DSC00694.JPG",
"ExifTool:ExifToolVersion": 7.82,
"File:FileName": "DSC00694.JPG",
"Composite:LightValue": 3.7
}]
Run Code Online (Sandbox Code Playgroud) 试图创建一个基类,我可以从中派生出不同的类型.以下是什么问题?
class (Eq a) => MyClass a
data Alpha = Alpha
instance MyClass Alpha where
Alpha == Alpha = True
Run Code Online (Sandbox Code Playgroud)
我收到错误:
test.hs:5:10: `==' is not a (visible) method of class `MyClass'
Failed, modules loaded: none.
Run Code Online (Sandbox Code Playgroud) 试图使用Data.Binary.Get和ByteString而不了解发生了什么.我的代码如下:
getSegmentParams :: Get (Int, L.ByteString)
getSegmentParams = do
seglen <- liftM fromIntegral getWord16be
params <- getByteString (seglen - 2)
return (seglen, params)
Run Code Online (Sandbox Code Playgroud)
我对返回元组的第三项,即有效负载得到以下错误:
Couldn't match expected type `L.ByteString'
against inferred type `bytestring-0.9.1.4:Data.ByteString.Internal.ByteString'
Run Code Online (Sandbox Code Playgroud)
有人请向我解释Data.Binary.Get和ByteStrings之间的互动以及我如何做我想要的事情.谢谢.
haskell ×5
bytestring ×1
concurrency ×1
exiftool ×1
io ×1
json ×1
regex ×1
typeclass ×1
types ×1
vim ×1