Windows下编译最新版ChezScheme
pacman -S gcc base-devel pacman -S git
pacman -S gcc base-devel pacman -S git
6,下载Chez Scheme源码,然后进行编译前配置,最后编译。如果源码已经下载跳过。
git clone https://github.com/cisco/ChezScheme.gitcd ChezScheme cd wininstall make workareas make
7,最后等make完成,我们在ChezScheme目录 a6nt\bin\a6nt 下可以看到scheme.exe,双击它即可运行。
8,将a6nt目类下的 bin目录和boot目录都复制到一个新建的build目录下,然后创建一个 run.bat 文件,文件内容如下:
@ECHO offECHO Chez Scheme for Windows. make by bluedoctor. 2019.11.18 bin\a6nt\scheme.exe
build目录的文件结构如下:
E:\ChezScheme\build\ChezScheme>dir /s 驱动器 E 中的卷是 LENOVO 卷的序列号是 E2D7-2E41 E:\ChezScheme\build\ChezScheme 的目录2019/11/18 23:23 <DIR> .2019/11/18 23:23 <DIR> ..2019/11/18 23:23 <DIR> bin2019/11/18 23:19 <DIR> boot2019/11/19 10:38 94 run.bat 1 个文件 94 字节 E:\ChezScheme\build\ChezScheme\bin 的目录2019/11/18 23:23 <DIR> .2019/11/18 23:23 <DIR> ..2019/11/18 23:19 <DIR> a6nt 0 个文件 0 字节 E:\ChezScheme\build\ChezScheme\bin\a6nt 的目录2019/11/18 23:19 <DIR> .2019/11/18 23:19 <DIR> ..2019/11/18 20:25 764,928 csv953.dll2019/11/18 20:25 7,102 csv953.exp2019/11/18 20:25 1,581,688 csv953.ilk2019/11/18 20:25 12,368 csv953.lib2019/11/18 20:25 2,084,864 csv953.pdb2019/11/18 20:25 112,640 scheme.exe2019/11/18 20:25 430,080 scheme.pdb 7 个文件 4,993,670 字节 E:\ChezScheme\build\ChezScheme\boot 的目录2019/11/18 23:19 <DIR> .2019/11/18 23:19 <DIR> ..2019/11/18 23:19 <DIR> a6nt 0 个文件 0 字节 E:\ChezScheme\build\ChezScheme\boot\a6nt 的目录2019/11/18 23:19 <DIR> .2019/11/18 23:19 <DIR> ..2019/11/18 20:25 2,751,464 csv953md.lib2019/11/18 20:25 2,564,910 csv953mt.lib2019/11/18 17:14 36,556 equates.h2019/11/18 20:24 27,609 mainmd.obj2019/11/18 20:25 25,538 mainmt.obj2019/11/18 17:14 1,624,450 petite.boot2019/11/18 17:14 982,321 scheme.boot2019/11/18 17:14 8,675 scheme.h2019/11/18 20:24 92,444 scheme.res 9 个文件 8,113,967 字节 所列文件总数: 17 个文件 13,107,731 字节 14 个目录 514,061,447,168 可用字节
9,最后运行run.bat文件,就可以看到期待已久的Chez Scheme了:
Chez Scheme for Windows. make by bluedoctor. 2019.11.18Chez Scheme Version 9.5.3Copyright 1984-2019 Cisco Systems, Inc.> (+ 1 2 3 4 5 6 7 8 9 10)55> (/ 1 3)1/3>
10,上面是在Chez Scheme运行的简单Scheme程序,第一行代码运行的是一个累加多个自然数的程序,如果用C#,需要一个List<int>变量来存储列表数据,然后循环处理,代码量要多好几行。第二行Scheme代码,它的结果直接以分数表示了,很高级。
有关Scheme更多的程序介绍,请看本文推荐的学习链接。如果你不想这么麻烦的自己来编译,也可以考虑直接使用给予.NET DLR的IronScheme,具体请看我原来的文章:《.NET DLR 上的IronScheme 语言互操作&&IronScheme控制台输入中文的问题》。
如果你不想编译或者安装任何一个Scheme程序,但又想看看Scheme是什么样子,推荐访问下面的网址,它提供了一个Web版本的Scheme编译运行环境:https://www.cnblogs.com/bluedoctor/p/11887867.html