guile

    2热度

    1回答

    创建开罗面我有这样的代码 guile> (cairo-pdf-surface-create "foo.pdf" 100.0 100.0) ; and get this error standard input:29:1: In procedure cairo-pdf-surface-create in expression (cairo-pdf-surface-create "foo.pdf"

    6热度

    3回答

    我最近发现,CGI脚本可以用几乎可以打印到标准输出的任何语言编写。我写了一个小诡计CGI脚本,它在我的本地apache的安装工作,但不是我的共享主机: #!/usr/local/bin/guile -s !# (display "Content-Type: text/html") (newline) (newline) (display "hi") (newline) 这是输出,当

    10热度

    1回答

    当使用guile在方案程序中重新定义+运营商时,我收到了意外的结果。我应该指出,这是在尝试了解语言的过程中发生的;这里没有尝试写一个有用的程序。 下面的代码: (define (f a b) 4) (define (show) (display (+ 2 2)) (display ",") (display (f 2 2)) (newline)) (show) ; guile

    5热度

    2回答

    我听说大多数lisp支持将正在运行的程序映像保存到文件中。 Guile支持这个吗?

    4热度

    1回答

    我玩弄诡计试图熟悉纯粹的函数式编程概念。在我可以对任何语言进行任何有用的操作之前,我需要了解一些基本的数据结构以及如何有效地操作它们......特别是可枚举的数据结构。 我可以遍历像这样的列表(我不知道如果我正确与否缩进此): (map (lambda (v) (display (string-append v "\n")) '(1 2 3)) => 1 2 3

    3热度

    2回答

    我想在另一个guile进程中导出或复制计划环境。我想象的算法会做这样的序列化: (map (lambda (var val) (display (quasiquote (define ,var ,val)) (newline)) (get-current-environment)) 然后我读/评估在另一端。 但是,虽然有返回当前环境的函数,但它们的内部格式不能只是

    6热度

    2回答

    我使用LilyPond创建练习分数和练习曲。我已经想出了如何在Moveable Do solfege符号中允许注释条目,并且有一个支持在注释下方显示solfege符号作为歌词的模板(见下文)。目前,我必须从生成音乐的符号和标记手动提取歌词。我已经能够用一些python和vim代码(这里没有显示)部分实现自动化,但它仍然有些不尽人意。 在我看来,最好的解决方案是使用LilyPond的内置Scheme

    8热度

    2回答

    我学习狡诈方案的那一刻,并在文档中我突然跑进以下结构: ((lambda args (display args)) 42) => (42) 这扔我一个循环;直到这一点我已经假定形式参数总是封闭在一个列表: ((lambda (args) (display args)) 42) => 42 不知何时使用这种变型,以及如何从不同的点标记为可变的参数个数。具体来说,就是以下两个变体之间的区别

    1热度

    2回答

    我试图编写一个宏来检查一个列表,看看是否有一个过程调用,但我不太清楚如何去做。我头上的第一件事就是使用这个程序?函数来检查,但它不起作用。什么即时试图做的一个例子是: (procedure? (car '(+ 1 2))) 现在,该名单的车返回+,但功能还是返回false。 有没有办法检查列表的车是否是程序?

    5热度

    1回答

    我正在通过SICP工作,并想尝试一些诡计中的例子。我正在尝试流示例,并希望实施cons-stream,我从this StackOverflow question获得。但是当我输入到这个诡计,我得到: guile> (define-syntax cons-stream (syntax-rules() [(cons-stream x y) (cons x (delay y))]))