有没有办法在Haskell中将"+3"转换为(+3)以便稍后在操作数中使用它?我正在尝试构建某种"基于序列的计算器",它使用foldl进行评估.此foldl采用操作(?)列表[(+ 3),(*4),(/ 5)],程序需要将字符串列表转换为此.该怎么办?
使用mit-scheme尝试一些Lisp。
(define (inv curstate x y)
((cond (= y 1) curstate)
(cond (even? y)
(inv (square curstate) x (/ y 2)))
(else
(inv (* x curstate) x (- y 1)))))
Run Code Online (Sandbox Code Playgroud)
解释器错误:
格式错误的子句:curstate
另一个版本使用线性递归方法,因此存在类似的错误。该怎么办?