是否有可能在unix shell脚本中使用haskell函数?
例如:
#!/bin/bash
...
var1=value
...
# use haskell function with input from shell variable var1
# and store the result into another shell variable var2
var2=haskellFunction $var1
...
Run Code Online (Sandbox Code Playgroud)
我想在shell脚本中使用变量作为haskell函数的参数和结果
提前致谢.
吉米
haskell有没有可能只解密.pdf文件,读入内容并返回一个字符串?而且,如果有的话,你能给我一个例子,例如:
...
import necessaryPackage
...
pdfParsing = ...
...
Run Code Online (Sandbox Code Playgroud)
提前致谢.
最诚挚的问候,吉米
根据State Monad的get函数提出的一个问题:
如果我跑
runState get 1
我得到了结果
(1,1)
这对我来说没问题,因为get函数将结果值设置为状态,在这种情况下状态为1.因此,(1,1)是结果.好.
但是,如果我跑
runState(do {(a,b)< - get; return a})(False,0)
我得到了结果
(假,(假,0))
这个我不明白.
get函数将结果值设置为状态并保持状态不变.所以我期待的是这样的事情
((假,0),(假,0))
与此相同
runState(do {(a,b)< - get; return b})(False,0)
结果是
(0,(假,0))
如上所述,我不再理解这一点.
所以,如果你能解释我这个奇怪的结果,那将是非常好的.;)
提前致谢
最好的祝福,
吉米
我有一点问题,以了解haskell中的错误消息.
例如:
import qualified Data.Map as M
test = M.empty
Run Code Online (Sandbox Code Playgroud)
此代码运行应该没有收到任何错误消息.
输出如下:
*Main> test
fromList []
Run Code Online (Sandbox Code Playgroud)
但如果我尝试这样的话
import qualified Data.Map as M
test = do print M.empty
Run Code Online (Sandbox Code Playgroud)
我收到这样的错误消息
Ambiguous type variable `k0' in the constraint:
(Show k0) arising from a use of `print'
Probable fix: add a type signature that fixes these type variable(s)
In a stmt of a 'do' block: print M.empty
In the expression: do { print M.empty }
In an equation for `test': test = do { …Run Code Online (Sandbox Code Playgroud) 如果我正在使用lambda表达式,那么在生产规则中快速计算表达式的值是不行的.
例如这段代码
Exp : let var '=' Exp in Exp { \p -> $6 (($2,$4 p):p) }
| Exp1 { $1 }
Exp1 : Exp1 '+' Term { \p -> $1 p + $3 p }
| Exp1 '-' Term { \p -> $1 p - $3 p }
| Term { $1 }
Term : Term '*' Factor { \p -> $1 p * $3 p }
| Term '/' Factor { \p -> $1 p `div` $3 p …Run Code Online (Sandbox Code Playgroud) haskell ×5
parsing ×2
ghc ×1
happy ×1
import ×1
interaction ×1
lambda ×1
monads ×1
pdf ×1
pdf-parsing ×1
qualified ×1
scripting ×1
shell ×1
state-monad ×1
unix ×1