let

    2热度

    1回答

    我在学习haskell,目前正在尝试从字符串中解析整数和浮点数。 然而,试图在“342”我readNum功能或任何“数字”不具有一个或多个非数字字符GHCI报告给我的时候: *例外:解析杂项文件:125:18-46:无可辩驳的模式失败模式(I,(一 :如)) data Token = IntTok Int | FloatTok Float | EOF readNum :: Strin

    0热度

    1回答

    我创建了应该有ARRAY类型的词法变量的函数: (defun give-rank-vec (dir-1 dir-2 file-1 file-2) (let* ((cm-size (array-dimension (Swc (make-ff-array dir-1 file-1) (make-ff-array dir-2 file-2))

    6热度

    2回答

    在作为函数式编程语言的方案中,没有赋值语句。 但在let声明 (let ((x 2)) (+ x 3)) 您分配2到x,那么为什么不这样违反,有函数式编程没有赋值语句的原则?

    23热度

    2回答

    之间的区别困惑谁能解释一下这个区别吗?我不认为我理解我咨询过的教科书/网站的概念。

    2热度

    1回答

    我创建了创建一个名为dispatcher与3同伙功能get-dispatcher,set-dispatcher和call-dispatcher与调度员的工作(他们得到一个调度功能,添加一个或拨打一个宏)。这一切都很好!但是,现在我想自动创建相关的函数名称,因此我将所有这些宏的内部元素放入一个定义了这个简单构造函数的let中。请注意,在下面的代码中,只有get-函数的名称由该自动化构造而成。 set

    0热度

    1回答

    我有以下程序: mnr = [0,1,2,3,4,5,6] :: [Int] name = "Max Mustermann" :: String kzn = "e53X" :: String t1 = ("p1",(take 2.tail)mnr, (take 3.words.(let no n= name;in no))"No"); {-result: t1 == ("p1",[1,2

    1热度

    1回答

    如果我有参数的数目不详的,我想相互结合与“让”,如: let [a "hello" b 55 ] 如果我绑定让里面的函数/宏或类似的,我想循环虽然该名单,我将如何做到这一点? 请注意,在让有4个元素,但我只想通过“键”循环。使用的一个例子可能是检查绑定到某个密钥的值是否为b这样的数字,即55 编辑:举例: 请注意,以下内容非常破碎,但它仅仅是为了解释问题: (defn func [& argu

    2热度

    1回答

    以下代码对两个字段为array-fld和blist-fld的“记录”进行编码。我已经为这些字段定义了更新函数,然后声明了一个属性应该是true(但是z3报告为unknown)。这是Z3 4.0版本,运行如z3 -smt2 -in: (declare-datatypes() ((mystruct (mk-mystruct (array-fld (Array

    0热度

    1回答

    比方说,我有一个宏,宏里面我有这让: let[ elements# //stuff// #newlist (for [e# elements#] (if (number? e#) (**add e# to #newlist**))) ] 因为我有一个很艰难的时间找到对的非常简单的Clojure的东西正确的信息,我在这里问:我需要做什么来完成上述任务?我认为它应该有可能做到

    3热度

    1回答

    我有一些代码使用类型来消除实例的歧义(真正的代码是使用GHC.TypeLits类型标记的singletons,但我认为这不是密切相关的),我想使用let绑定来避免文本级别的重复;不幸的是,这会使结果单调。 以下是问题的一个例子: class Foo a where foo :: a instance Foo Int where foo = 0 instance Foo