小编car*_*nen的帖子

像SymPy一样的Haskell库?

我需要操作像1 + sqrt(3)这样的表达式,并进行加法,减法和除法等基本算法.我希望结果是某种规范形式,以便它可以用作地图中的键.由于舍入问题,将1 + sqrt(3)转换为浮点是不可行的.

我在Python中使用SymPy来完成这项任务.Haskell有一个等效的本机库吗?

haskell symbolic-math computer-algebra-systems

30
推荐指数
2
解决办法
5857
查看次数

Common Lisp中的属性列表是指一些全局状态?

下面的代码z作为局部变量,但它的行为就好像它是一个全局变量:

(defun foo (m)
  (let ((z '(stuff nil)))
    (push m (getf z 'stuff))
    (print z)))

(foo 1)
(foo 2)
(foo 3)
Run Code Online (Sandbox Code Playgroud)

我希望输出是

(STUFF (1)) 
(STUFF (2)) 
(STUFF (3)) 
T
Run Code Online (Sandbox Code Playgroud)

但是当我用SBCL运行它时,我明白了

(STUFF (1)) 
(STUFF (2 1)) 
(STUFF (3 2 1)) 
T
Run Code Online (Sandbox Code Playgroud)

为什么会这样?这种行为是属性列表特有的吗?

lisp sbcl common-lisp

5
推荐指数
1
解决办法
332
查看次数