如何使用Clozure Common Lisp创建应用程序在Microsoft Windows上

如何解决如何使用Clozure Common Lisp创建应用程序在Microsoft Windows上

|| 我是Common Lisp的新手(使用Microsoft Windows下的Clozure Common Lisp),他以前熟悉c和python。因此,这里的问题也许很愚蠢,但请耐心给我一些帮助。   1)运行常见的Lisp脚本的常用方法是什么? 现在,我在Windows下编写了一个bat文件来调用ccl exe(wx86cl.exe),并在每次要“运行”脚本时评估evaluate0ѭ。这是常见的Lisp“运行”脚本的标准方法吗? 还有其他建议吗?   2)
(require \'cxml)
(asdf:operate \'asdf:load-op :cxml)
有什么区别? 它们似乎与我的脚本相同,应该使用哪个脚本?   3)忽略它,一个不清楚的问题      4)当我想加载某些库(例如require \'cxml)时,每次“运行”我的脚本时,总是花费时间(3s甚至5s)来加载cxml,也有很多日志记录到标准文件中我在下面显示的输出,似乎在检查内部内容。这是否意味着我每次要运行简单测试时都必须花费3-5s来加载cxml?似乎效率低下,输出噪音很大。有什么建议吗? 我的剧本
(require \'cxml) (some-code-using-cxml)
和输出
; Loading system definition from D:/_play_/lispbox-0.7/quicklisp/dists/quicklisp/software/cxml-20101107-git/cxml.asd into #<Package \"ASDF0\">
;;; Checking for wide character support... yes,using code points.
; Registering #<SYSTEM \"cxml-xml\">
......
some my script output
---编辑添加更多----   5)我必须说我几乎忘记了转储图像以加快lisp库加载速度的方法。那么,我们开发一个(也许非常简单的)lisp脚本的正常过程是什么? 根据我现在得到的答案,我想也许 a)编辑您的脚本 b)通过REPL环境进行测试,SLIME是一个非常好的选择,并且<==> b之间应该有很多循环 c)转储图像以分发它?(对此我不确定)   6)此外,我们发布/分发最终程序的常用方式/形式是什么? 对于Lisp库,我们只发布源代码,然后让其他人可以“加载/请求”它们。 对于Lisp程序,当确认所有功能均正常运行时,我们将转储映像以进行分发。 我对吗? 我们在真实产品中使用什么形式?我们是否总是将所有东西最终都转储到映像中以加快加载速度?     

解决方法

1)是的,运行整个程序的通常方法是使用启动器脚本。但是,如今的Windows比bat解释器具有更好得多的脚本支持。 Windows Scripting Host和PowerShell是标准配置。 1a)在开发过程中,通常只需在REPL(Read-Eval-Print-Loop,即lisp命令行)中键入内容,或使用诸如SLIME之类的东西(用于emacs或xemacs)作为开发环境。如果您不知道它们是什么,请查找它们。您可能希望使用Cygwin来安装xemacs,这将使您能够使用各种linux-ish工具。 2)IIRC是标准的一部分。从技术上讲,ASDF不是,它是一个使库更方便工作的库。如果您真的开始编写大型Lisp程序,则ASDF具有许多最终需要的功能。 3)问题不清楚,通过。 4)参见1a)-在正在运行的实例中进行测试和修改,从而避免了多次加载库的需要(就像在Python中一样-找到了python repl,对吗?)。此外,在程序完成后,您可能会转储已预加载所有库的映像。 编辑:其他答案: 5)是的 6)转储映像后,您仍然需要分发lisp二进制文件以加载内存映像。为了使它对用户透明,您还必须具有一个加载程序脚本(或二进制文件)以对图像运行lisp二进制文件。     ,您不必从头开始安装Lisp,并且每次想进行简单测试时都无需重新加载所有内容。为了提高开发效率,请在运行的Lisp环境的侦听器(REPL)中交互式评估代码。     ,为了进行分发,我使用Zachary Beane的Buildapp工具。非常容易安装和使用。     ,关于分配- 我编写了一个例程(该例程现在在家中不可用),它将把当前映像写为标准可执行文件并退出。它适用于CLISP和SBCL。 如果您愿意的话,我可以翻一下。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-