参考Guile的Tutoria来创建一个带脚本支持的绘图程序:
http://www.gnu.org/software/guile/docs/guile-tut/tutorial.html
1.使用MacPorts安装guile和gnuplot
sudo port install guile gnuplot
2. 以管道的方式来操作gnuplot,注意需要在start_gnuplot函数添加如下的设置:
fprintf (output, "set term x11/n");
这是因为我们一会要使用X11来查看结果。
3. 检查一下Makefile
CDEBUG = -g -Wall
CFLAGS = $(CDEBUG) `guile-config compile`
LDFLAGS = `guile-config link`
SRCS = tortoise.c
OBJS = tortoise.o
tortoise: $(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
clean:
rm tortoise *.o
4.新建一个如下的脚本 snowflake.scm
(define (koch-line length depth)
(if (zero? depth)
(tortoise-move length)
(let ((sub-length (/ length 3))
(sub-depth (1- depth)))
(for-each (lambda (angle)
(koch-line sub-length sub-depth)
(tortoise-turn angle))
'(60 -120 60 0)))))
(define (snowflake length depth sign)
(let iterate ((i 1))
(if (<= i 3)
(begin
(koch-line length depth)
(tortoise-turn (* sign -120))
(iterate (1+ i))))))
(tortoise-pendown)
(snowflake 8 3 1)
(tortoise-turn 180)
(snowflake 8 3 -1)
5. 执行X11,并执行./tortoise -s snowflake.scm
分享到:
相关推荐
还有其他尝试将Guile引入Rust生态系统,将这些尝试统一到一个实现中将是很棒的。 社区 随着Mozilla切换到Matrix,IRC频道已不复存在。 我正在寻找一种不同的沟通方式,可能是Zulip。 执照 有关guile-rs许可信息可
Guile-SMC GNU Guile状态机编译器。
guile-kernel:Jupyter Notebook的GNU Guile Scheme内核
GNU Guile的彩色REPL注意:现在guile彩色的仅支持Guile-2.0.9或更高! 从现在开始放下Guile-1.8.x ;-) 安装 只需输入“ sudo make install”即可。 (无需运行“ make”) 测试 将以下这些行复制到您的REPL进行测试...
Guile-DSV是用于处理(DSV)数据格式的GNU Guile模块。 Guile-DSV支持和格式。 此外,Guile-DSV附带了一个名为dsv的程序(源代码在这里: utils/dsv.in ),该程序允许读取和处理DSV格式(包括定界符更改和从一种...
guile-sly:GNU Guile Scheme中的功能性React式游戏编程。 (镜子)
埃留格用 GNU Guile-scheme 编写的智能 irc bot 用法:./run mybot #szdiy
C-Ast 是一个用于生成 C 代码的 GNU Guile 库。 示例目录中有一些示例,但简而言之,它可以让您将 s 表达式转换为: (for ((= i 0) (< i limit) (+= i 1)) (call printf "i = %d\n" i)) 进入C源代码: for ...
VSCode指南 VSCode的语法突出显示。特征基于扩展的Guile语法高亮要求 1.0.0或更高版本安装建造yarn installnpx vsce package发行说明看。
guile-drm 一组用于库的绑定。 建造 要求: 自动工具 狡猾> = 3.0 libdrm 建立步骤: autoreconf -fiv ./configure make make install
guix.el:GNU Guix软件包管理器的Emacs接口
贵族等级制国家机器 目前在制品。 我一直在寻找Scheme中HSM的示例,并意识到其他人也可能对此感兴趣。
gnu.io.SerialPort; gnu.io.CommPortIdentifier; gnu.io.SerialPort; gnu.io.SerialPortEvent; gnu.io.SerialPortEventListener; gnu.io.UnsupportedCommOperationException;
本资源为GNU linker for ARM文档,详细介绍了使用GNU工具链接程序的使用方法。
Gnu Radio FM radio Tx Rx
understanding GNU radio and how to deal with it
对于gnuradio的初学这来说在安装gnuradio是个很棘手的问题 自己也是摸索出来的 相互交流
使用gnuradio实现SSB调制解调
GNU汇编使用经验 GNU汇编使用经验 GNU汇编使用经验 GNU汇编使用经验
GNU链接器的手册,最新版 V2.34,gnu linker manual version 2.34