小编me2*_*me2的帖子

如何解压缩haskell存在类型?

尝试存在类型.似乎是获得某种类型灵活性的好方法.

在我把它包起来之后,我遇到了一个解除存储类型的问题.我的代码如下:

{-# 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 types

16
推荐指数
2
解决办法
1654
查看次数

Haskell是一个高度并发的服务器

假设我想在Haskell中编写服务器.具有高并发性和简单处理的那种.对故障具有鲁棒性并提供高可用性的那种.Erlang将会有所帮助.

什么是一套好的工具,无论是框架还是一组基元,从哪里开始?

io concurrency haskell

12
推荐指数
2
解决办法
2656
查看次数

在Vim中,如何匹配"="但不匹配"=="?

我尝试了很多不同的搜索模式:

  • [^=]=[^=] 只有当=不在开头/结尾并且它也匹配夹心字符时才有效
  • =\@!==\@!似乎应该工作,因为\ @!什么都不匹配但需要匹配,但它不匹配(参见:help pattern-overview)
  • [^=]\@==[^=]\@= 也似乎不应该

建议?

regex vim

7
推荐指数
1
解决办法
285
查看次数

如何在Haskell中解析exiftool JSON输出的示例

我无法理解任何文档.有人可以提供一个示例,说明如何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)

json haskell exiftool

5
推荐指数
1
解决办法
2695
查看次数

如何在Haskell中正确实例化类?

试图创建一个基类,我可以从中派生出不同的类型.以下是什么问题?

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)

haskell typeclass

4
推荐指数
1
解决办法
3732
查看次数

Haskell ByteString/Data.Binary.Get问题

试图使用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 bytestring

3
推荐指数
1
解决办法
1300
查看次数

标签 统计

haskell ×5

bytestring ×1

concurrency ×1

exiftool ×1

io ×1

json ×1

regex ×1

typeclass ×1

types ×1

vim ×1