问题标签 [arc-lisp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
macros - 将我自己的“in”版本写为 Arc 宏
在 Arc 中有一个宏叫做in
检查它的第一个参数是否等于任何其他参数。我想要一个带有参数和列表的版本(语义上与 Python 相同in
),所以我写道:
输出:
syntax - 为什么`(= (car x) 'z)` 有效?
当我对此感到困惑时,我在 Arc 教程中磕磕绊绊:
引用自Arc 教程:
像 Common Lisp 赋值一样,Arc 的 = 不仅用于变量,还可以到达内部结构。所以你可以用它来修改列表:
但是 lisp 是递归执行的,对吧?它说car
返回列表中的第一个值。所以:
这是有道理的,但是为什么不(= (car x) 'z)
等于(= a 'z)
,这将导致:
但事实并非如此。相反,它(= (car x) 'z)
似乎具有以下效果(= x (list 'z (car (cdr x))))
:
那么为什么确切地(= (car x) 'z)
以这种方式工作,我在这里错过了什么?
注意:这是我对 LISP 的第一次介绍。
path - 在 OS X 上安装 Arc
当我在https://arclanguage.github.io/尝试说明时,在我输入“racket -f as.scm”后,我得到“-bash: racket: command not found”。
我还尝试了在 Linux 上下载 Arc 的这些说明: https ://sites.google.com/site/arclanguagewiki/getting-started/install-arc 我从 download.racket-lang.org 安装了球拍,当我到达“ ./arc”在 Arc/Nu 部分,终端的输出是“env: racket: No such file or directory”。
Arc Language Wiki(链接到上面)表明官方安装说明已过时,并且几乎没有说明如何在 OS X 上安装 Arc。我尝试使用谷歌搜索“找不到命令”和“没有此类文件”的一般解决方案或目录”问题,但找不到任何让我解决问题的东西。我还尝试将我的球拍和弧线下载移动到不同的位置组合。
installation - 下载 ARC Lisp Ubuntu 16.04 Xenial
根据 Paul Graham 的说法,首先我应该
所以我去了这里:http: //download.plt-scheme.org/mzscheme/mz-372-bin-i386-linux-ubuntu-sh.html
但是,当我下载该 shell 脚本并按照说明进行操作时,出现以下错误:
系统信息:Ubuntu 16.04。64 位
racket - 运行 Arc 时,Racket 中的“找不到模块路径的集合:mzscheme”
我正在尝试让 Arc(Paul Graham 的 Lisp 方言)在运行 macOS Catalina 的 iMac 上运行,我下载了 arc 源代码并安装了 Racket。我遵循了在 OS X 上安装 Arc问题中的一些提示来解决我遇到的一些问题,但现在我在运行“racket -f as.scm”时收到此错误消息:
任何想法如何使这项工作?