小编Sar*_*nan的帖子

(x*) 中的星号在 Haskell 中有什么作用?

我是 Haskell 的新手,有人可以向我解释这段代码是如何工作的吗?

f = g (\x -> x)
g k [] = k 100
g k (x:xs) = g ((x*) . k) xs
Run Code Online (Sandbox Code Playgroud)

当我调用f [1..5]它时返回 12000。我不明白为什么。有什么作用(x*)

haskell operators

6
推荐指数
1
解决办法
144
查看次数

纯脚本中的 SProxy?

PureScript中Sproxy有什么用?

在追求中,它被写成

data SProxy (sym :: Symbol)
--| A value-level proxy for a type-level symbol.
Run Code Online (Sandbox Code Playgroud)

purescipt 中的 Symbol 是什么意思?

functional-programming purescript

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

ReaderT 的 Ask 未正确推导 Monad 类型

我正在尝试用纯脚本中的 ReaderT 编写代码。但我的编译器没有正确推断类型

type Doc' = ReaderT Level (Writer (Array String)) String

line' :: String -> Doc' 
line' input = do 
       space <-  ask  -- error line
       lift $ tell $ [(power " " space) <> input <> "\n"] 
Run Code Online (Sandbox Code Playgroud)

抛出的错误是

Could not match type
        
    Unit
        
  with type

    String

  while trying to match type t0 t1
     with type ReaderT @Type Int (WriterT (Array String) Identity) String
  while checking that expression (bind ask) (\space ->
                                             (apply lift) ((...) [ ...
                                                                 ]
                                                          ) …
Run Code Online (Sandbox Code Playgroud)

haskell functional-programming purescript

2
推荐指数
1
解决办法
100
查看次数