- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我注意到这在 Haskell 中是不合法的:
foo :: [a] -> [a]
foo [] = []
bar = 3
foo (x:xs) = x : foo xs
foo :: [a] -> [a]
bar = 3
foo [] = []
foo (x:xs) = x : foo xs
最佳答案
每个函数的声明必须在一起,除了声明可以以任何顺序出现在文件中。
declarations section of the Haskell report ,在第 4.4.3.1 节函数绑定(bind)中,说
Note that all clauses defining a function must be contiguous, and the number of patterns in each clause must be the same. The set of patterns corresponding to each match must be linear---no variable is allowed to appear more than once in the entire set.
bar
的声明
bar = 3
foo
的两个声明
foo [] = []
foo (x:xs) = x : foo xs
foo
的类型签名
foo :: [a] -> [a]
let
和
where
还引入了非顶级声明。在这些声明范围内,除了函数的连续声明外,声明可以以任何顺序出现,并且仍然具有相同的含义。不同范围内的声明不一定具有相同的含义。
expressions sections of the Haskell report 中描述了范围。 ,在第 3.12 节让表达式
Let expressions have the general form
let { d1 ; ... ; dn } in e
, and introduce a nested, lexically-scoped, mutually-recursive list of declarations (let
is often calledletrec
in other languages). The scope of the declarations is the expressione
and the right hand side of the declarations. Declarations are described in Chapter 4.
let
或
where
还可以引入类型签名和固定性声明。
关于haskell - Haskell中的 'block'粒度是如何定义的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24978563/
我有 2 个事实表,每个表都有一个度量组,生产和生产订单。生产具有较低粒度的生产信息(在组件级别)生产订单具有较高级别的信息(具有抬头数量等的订单级别)。 我在 productionorderid 的
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 9年前关闭。 Improve this q
我第一次尝试了解 Akka/Actors,并且对每个 Actor 职责的粒度有点困惑。 在我的应用程序中,有可以使用 WidgetRegistrar 注册/取消注册的 Widget。要向 Regist
我们一直在使用 MVP 模式和 Winforms,并取得了相当大的成功。然而,关于 MVP 总是弹出一个问题: 对于演示者来说,什么是好的粒度? 我的意思是:对于 Winforms,细粒度通常适用于用
我通常使用 git add -p 添加更改,而且很多时候有几个代码块的大块头,由空行分隔。 但是,git 不会进一步拆分 大块头,我不得不求助于手动编辑。 如何增加 hunk 的粒度,以便每个代码块都
例如,我看到 dumps.wikimedia.org/other/pagecounts-raw/,但那里没有特定国家/地区的数据... 最佳答案 据我所知,没有。出于明显的隐私原因,发布的页面查看统计
JavaScript 的源映射似乎通常不比 token 粒度更精细。 例如,identity-map uses token granularity . 我知道我看过其他例子,但不记得在哪里。 为什么我
我有这些目录: ./Tools ./ook/Tools. 我在 setup.cfg 中的 py.test 的 norecursedirs 选项中添加了 Tools。正如预期的那样,当 py.test
我正在使用这个 Accelerometer graph来自 Apple 并尝试转换他们的 G-force 代码以计算 +/- 128。 下图显示标签中的 x、y、z 值与图表上的输出不匹配:(请注意,
此问题围绕 Android 应用程序的架构展开。 在使用 LifeCycle 组件 ViewModel 时,最好是每个 fragment 一个 ViewModel 还是订阅 fragment 的父 A
我是一名优秀的程序员,十分优秀!