- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我编写了一个代码,它使用惰性求值来产生无限的数据结构,但是有一个错误。
这是代码:
#!/usr/bin/guile \
-e main -s
!#
(define ints-f
(lambda (n)
(let ((n1 (delay (ints-f (+ n 1)))))
(cons n (force n1)))))
(define (main args)
(display (car (ints-f 3) ))
(newline)
)
#!/usr/bin/guile \
-e main -s
!#
(define ints-f
(lambda (n)
(let ((n1 (delay (ints-f (+ n 1)))))
(cons n n1))))
(define (main args)
(display (car (ints-f 3) ))
(newline)
)
#!/usr/bin/guile \
-e main -s
!#
(define ints-f
(lambda (n)
(let ((n1 (delay (ints-f (+ n 1)))))
(cons n n1))))
(define (main args)
(display (cdr (ints-f 3) ))
(newline)
)
最佳答案
您是否正在尝试创建流?您不妨咨询 (srfi srfi-41)
用于实现的模块。 (披露:我编写了模块代码的 Guile 特定部分;其他所有内容都是从 the reference implementation 移植的。)
(use-modules (srfi srfi-41))
(define-stream (ints-f n)
(stream-cons n (ints-f (1+ n))))
define-stream
和
stream-cons
是共同构建(
SRFI 45 -style)
delay
的宏/
force
在幕后。†
> (stream->list 10 (ints-f 100))
(100 101 102 103 104 105 106 107 108 109)
(define (ints-f n)
(lazy (eager (cons (delay n)
(lazy (ints-f (1+ n)))))))
> (define x (ints-f 100))
> (force (car (force x)))
100
> (force (car (force (cdr (force x)))))
101
关于scheme - Guile 方案中如何使用惰性求值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38778261/
我想发现 guile 生态系统。我看了看怎么安装a library我没有找到包管理器,比如 python 的 pip . guile 有这种东西吗? 最佳答案 看起来像 guildhall是最接近 p
我是 configure.ac 的新手,我正在尝试创建一个简单的程序,它只会在用户调用时使用 GNU guile 库: configure --with-guile 所以程序应该是这样的: #incl
在 Emacs Lisp 中 (boundp 'symbol) 如果 symbol 绑定(bind)到某个值,则返回 t,nil否则。 Guile Scheme 中是否有等效的程序? 最佳答案 方案避
在 Emacs Lisp 中 (boundp 'symbol) 如果 symbol 绑定(bind)到某个值,则返回 t,nil否则。 Guile Scheme 中是否有等效的程序? 最佳答案 方案避
我编写了一个代码,它使用惰性求值来产生无限的数据结构,但是有一个错误。 这是代码: #!/usr/bin/guile \ -e main -s !# (define ints-f (lambd
我不熟悉 guile 和 scheme,我现在想做的是获取一个 scheme 文件 (file.scm) 并将其加载到一个变量中,这样我就可以解析它,我无法在任何地方找到如何执行此操作。 我现在有的是
我听说大多数 lisps 支持将运行程序的图像保存到文件中。 guile 支持这个吗? 最佳答案 我认为与其他语言的互操作是 Guile 不可或缺的一部分,因此解释器图像中有很多状态对 Guile 本
最近开始学习使用自动工具,并一直在尝试用它制作一个简单的 Guile 程序。 Following this tutorial我让程序成功编译,.go 文件放在 %site-ccache-dir 中,.
我正在尝试在我的 WSL Ubuntu 20.04 安装中安装 libgraph。我安装了所有必要的软件包。但是当我尝试配置 libgraph 时,它失败了: $ ./configure checki
我想在 Guile 中创建两个进程,并将其中一个的输出(stdout)作为输入(stdin)发送到另一个。 使用以下示例,如何做到这一点? echo "foo bar" | wc 输出: 1
我正在使用 Guile与 Geiser 一起使用在 Emacs 下学习如何在 Scheme 中编程。我发现每次我打错字或输入错误的代码时,Guile 都会进入调试器,这实际上是一个障碍。在 Emacs
我在 OS X 上的 Guile 1.8.8 解释器中练习Scheme。我注意到一些有趣的事情。 这是expt函数,它基本上是求幂expt(b,n) = b^n: (define (square x
我通常使用 MIT/GNU Scheme,但在 github ( guile-2d) 中发现了一些 Guile 代码。 (define main-menu (make-scene "Main
上下文: 我目前正在编写 generate-ninja-build.scm git commit cb7530e3ff10 中的脚本我的 GPLv3+ 项目 bismon (由 H2020 研究项目资
我为 Guile 开发了一个扩展模块,用 C 语言编写。这个扩展模块嵌入了一个 Python 解释器。 由于这个扩展模块调用了 Python 解释器,我需要验证它是否正确管理了 Python 对象占用
我正在尝试构建 Guile 2.2。 我已经将 libunistring 安装到 /path/to/libunistring。 当我运行时 ./configure --with-libunistrin
; Having this definition that creates identifier `self' (define-syntax alambda (lambda (stx) (
是否有类似 (declare (indent defun)) 的东西,以便用户定义宏的缩进像 defines 一样工作? 例如,如果我编写以下宏, (define-syntax my-when (
我试图让 guile-gnome 与安装在我机器上的 Guile 一起工作。我已经根据 the instructions here 下载并构建了 guile-gnome ,但无论我给它什么前缀,我似乎
我正在尝试写 let over lambda defmacro/g!在诡计中。我有这个: (use-modules (srfi srfi-1)) (define (flatten x) (le
我是一名优秀的程序员,十分优秀!