maybe

    2热度

    1回答

    我是Haskell的新手,试图教自己绳索,所以如果这是一个基本问题,请原谅我。 如果我打开了解释器(ghci的),为什么会出现不同类型如下: Just 54 类型是 Just 54 :: Num a => Maybe a Just 54 :: Maybe Int 类型是 Just 54 :: Maybe Int Just "Stack" 的类型是 Maybe [Char] 我不理解为什么上面的第一

    4热度

    1回答

    我想读取用户输入的信息并将其解析为类型Person,该类型使用Gender类型。要做到这一点,我用这个代码: data Person = Person String Int Gender String data Gender = Male | Female | NotSpecified deriving Read instance Show Gender where show Ma

    1热度

    1回答

    内部的ExceptT String IO() 我有一个产生ReaderT像这样一个功能的DO块: type UDCEnv = (AWS.Env, Bool) uploadVersionFilesToCaches :: S3.BucketName -> FilePath -> [GitRepoNameAndVersion]

    1热度

    1回答

    我想在Haskell中锁定一个专用的文件,并在已锁定的情况下抛出IOError。 import Data.Maybe (fromMaybe) import System.FileLock (FileLock, SharedExclusive (Exclusive), tryLockFile) -- ... do -- ... maybeFileLock <- tryLo

    11热度

    3回答

    我在玩Maybe和Monad类型(Chaining,根据返回值应用条件函数,还返回链接函数失败等错误消息)。所以它对我来说似乎就像我们可以通过使用任一monad实现同样的和更多的事情。所以我的问题是这些之间的实际或概念差异?

    1热度

    1回答

    阅读Yesod书籍后,我想到了使用类型安全URL而不是原始字符串的想法。我只是尝试一些简单的获取请求,而不是使用完整的yesod库,但似乎很容易定义自定义URL数据类型派生节目,或使用其他一些现有的最小URL库。 我发现这对Hoogle: https://hackage.haskell.org/package/url-2.1.3/docs/Network-URL.html 好像它会做我想要的那种验

    0热度

    1回答

    我是新来的Haskell,我坚持了一个例子。我想用或许型实验,但我的代码不会编译: divide100By :: Int a -> Maybe a divide100By x = case (Int x) of Nothing -> Nothing Just x -> 100/x main = putStrLn ("Result: " ++ show (divide100

    2热度

    1回答

    我试图实现使用Network.Linklater包一个基本slackbot: https://github.com/hlian/linklater 此包定义了以下功能: slashSimple :: (Command -> IO Text) -> Application slashSimple f = slash (\command _ respond -> f command >>=

    1热度

    1回答

    我只是Haskell的初学者,我尝试在Haskell中做cryptopals加密挑战。 我写了下面的代码: import Data.Char nibbleToInt :: Char -> Int nibbleToInt c | ('0' <= c && c <= '9') = (ord c) - 48 | ('a' <= c && c <= 'f') = (ord c)

    3热度

    1回答

    想要在访问对象的属性之前创建包含某个对象并执行空/未定义检查的T>类<。 当然,应该输入结果(可能是< null>或Maybe < TRes>)。 下面是一个例子: class Maybe <T> { constructor(public value: T) {} static of <P> (obj: P): Maybe <P> { return new Maybe