如何在另一个上面(在头上)放置一个符号?例如,我想在一行中生成这样的东西.
a
#
Run Code Online (Sandbox Code Playgroud)
即,a以上#.
$#^a$除了a在顶部而不是在右上角之外,效果应该几乎相同#.
举一个丑陋的例子:
data Bighead = Big
little = 1
f1 = little :: Int
f2 = Big :: BigHead
Run Code Online (Sandbox Code Playgroud)
在我看来:
f1并且f2都指向一些数据.唯一不同的(little和Big)很少有一段代码来做评估.但是Big没有.
它们都有一个可重写的主体,很少可以从一组数据转换为结果,而Big只是不做最后一步---它总是保存这些数据形式(但递归地可以评估它们).
但是在语法形式上,它们几乎相同:可以应用,可以进行评估.
一个重要的事情可能是函数无法改变其应用的参数,但数据可以做到.
这是Haskell以不同方式处理数据和函数名称的唯一原因吗?
征集分析:-)
编辑:更多的垫
data A = B Int
Run Code Online (Sandbox Code Playgroud)
类型B:
B :: Int -> A
b :: Int -> A
b = B
Run Code Online (Sandbox Code Playgroud) Prolog中列表处理的典型代码示例是append:
append([], Ys, Ys).
append([X | Xs], Ys, [X | Zs]) :- append(Xs, Ys, Zs).
Run Code Online (Sandbox Code Playgroud)
我的问题是这个程序是否是尾递归的.我想不是我在函数式语言方面的经验.但是,我觉得判断Prolog程序更加困难.我们似乎必须考虑统一.
任何人都可以向我解释数据/类型构造函数和函数之间的区别是什么?Haskell混合它们并给我们一个通用接口(所有看起来像函数,特别是,我们可以部分应用它们),而ML家族语言区分它们.
我想知道是否有可能定义一个递归函数而不在其体内调用函数本身,但不知何故使用call/cc代替?谢谢.
很长一段时间我对这些术语感到困惑,认为最好问一下它们究竟是什么意思:
A.语法.B.语法价值.C.语法对象.Ds-expression E.datum(在syntax-> datum中)
I am curious about how tabling works to improve efficiency of Prolog programs. How is it implemented? Both explanation and references are welcome.
我想将一个数字和TOC并排放在一张幻灯片中
TOC图
我试图将它们分别包含在一个小型设备中,然后将它们放在一个数字环境中.但结果看起来不太好,因为TOC被格式化为段落,而不是逐项列表.那么,有没有人有更好的解决方案?提前致谢.
PS
我使用beamer创建幻灯片.
我最近对报价,具体化和反思感到困惑.有人可以对他们的关系和差异(如果有的话)提供一个很好的解释吗?
如何避免模块之间的名称冲突?从文档来看,目前 Rascal 中的模块之间似乎没有原则性的名称管理。导入模块时,public导入模块中声明的所有名称都进入范围。有没有办法合格进口?或者会有吗?