首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >只是和点点在winghci

只是和点点在winghci
EN

Stack Overflow用户
提问于 2014-02-15 20:00:50
回答 2查看 102关注 0票数 3

为什么这样做..。

代码语言:javascript
运行
复制
Just.(+3) $ 6.7
Just $ truncate 8.9

...but不是这个吗?

代码语言:javascript
运行
复制
Just.truncate $ 8.9

我尝试将截断解析为一个简单的双-> Int:

代码语言:javascript
运行
复制
let f :: Double -> Int; f = (\ x -> truncate x);

...but,这似乎不是问题所在.

代码语言:javascript
运行
复制
Just.f $ 5.6

<interactive>:41:1:
Failed to load interface for `Just'
Use -v to see a list of the files searched for.

非常感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-15 20:07:19

当您打算编写函数时,编写f . g要比编写f.g好。它有一点可读性,你可以避免像这样的一系列问题。

当您在Haskell中有一些表单Foo.barFoo.Bar时,它被解析为限定名。这就是为什么Just.f不能工作的原因:Just不是一个模块,所以不能加载Just的“接口”。

为什么Just.(+3)按预期工作:(+3)是一个正确的部分,而不是标识符,所以这个点不能是限定名的一部分。解释它的唯一方法是假设.是运算符(.)的infix应用程序,所以它必须是Just . (+3)

票数 10
EN

Stack Overflow用户

发布于 2014-02-15 20:04:26

大写标识符和另一个标识符之间的点被解析为限定名(例如。Data.Map.insert),因此错误告诉您它找不到一个名为Just的模块。您可以简单地在圆点周围添加空格来修复这个问题。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21802875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档