一种基于clisp的Common Lisp集成开发环境可行简易搭建方案

发布时间 2023-08-21 21:27:18作者: suspended-monitor

绪论

背景

Common Lisp是一种优美的、小巧的语言,然而新手在入门Common Lisp时往往会遇到集成开发环境搭建的门槛,为Common Lisp的入门造成了障碍。

尽管技术人员的推荐中,存在一种常见的集成开发环境配置方案是Emacs+Slime+SBCL三件套的方案,但该方案存在一些问题:

  1. Emacs和Common Lisp实现(SBCL)对于新手来说都是陌生的,可能需要同时学习两种陌生的工具,这是十分不利的
  2. 作为Common Lisp的一种主流实现,SBCL自带的REPL难以直接使用,几乎只能通过"Emacs提供用户界面、Slime提供通信连接"或者类似方案来获得用户界面

本文的意义与主要内容

因此,对于Common Lisp的环境搭建问题,亟待降低难度,从而降低Common Lisp的入门门槛。笔者同样使用Emacs+Slime+SBCL的方案,但由于先前对Emacs的使用有所适应,才得以接受该方案,但同样对于环境的搭建难度深有体会。本文提出一种简易的Common Lisp IDE搭建方案,该方案允许使用任何带命令行终端的文本编辑器,意在解决环境搭建问题。

文本编辑器与IDE介绍

文本编辑器,如Atom、VSCode,常常可以用于搭建一门编程语言的集成开发环境。

以脚本语言的IDE为例,通常可以观察到主要涉及到工作的区域有两个

  1. 文本编辑区域:在该区域加载并查看和/或编辑文本文件
  2. 终端:终端可以有两种状态
    • 系统终端:以命令的形式执行整个脚本文件
    • REPL:在该区域以命令的方式逐行试运行该语言程序;

由此,只要具备了

  • 带命令行的文本编辑器
  • 某语言的REPL

两者,即可组成最简易的集成开发环境。

简易集成开发环境搭建

Clisp介绍、安装及使用

根据《Land of Lisp》的推荐,可以使用Clisp,因为它自带一个容易使用的REPL

安装及运行clisp,以Ubuntu系统为例

sudo apt-get install clisp # 安装
clisp # 运行

文本编辑器

根据前文介绍,任何带命令行终端的文本编辑器均可用。作为用户可能的一种常见选择,这里选择使用VSCode。

  • 新建空白脚本文件
  • 打开VSCode,选择项目所在根目录文件夹
  • 使用Ctrl+` 打开VSCode自带的命令行终端,输入
    clisp
    
    即可进入REPL

至此,简易IDE搭建完毕。剩下的需要考虑的只是安装其它辅助拓展,例如文本高亮。

文本高亮

在VSCode商店搜索"lisp",即可获取拓展"lisp",用于提供Lisp的文本高亮。