• Lisp学习笔记(一)——环境搭建


     本篇介绍Lisp开发环境的搭建。

      目录:

      1.介绍

      2.准备工作

      3.搭建环境

      4.Hello Lisp

      5.参考资料

    1.介绍

      LISP是一种通用高级计算机程序语言,长期以来垄断人工智能领域的应用。LISP作为因应人工智能而设计的语言,是第一个函数式程序设计语言,有别于C、Fortran等命令式程序设计语言和Java、C#等面向对象语言。Common Lisp和Scheme是Lisp家族的两大主要方言,通用性比较好,ELisp和AutoLisp只能在特定的环境下使用,所以不推荐。下面以Common Lisp为例。

    2.准备工作

      推荐emacs+slime+sbcl搭建lisp开发环境。

      1.Emacs编辑器。

      下载emacs:http://www.gnu.org/software/emacs/

      2.Slime,优秀的emacs和lisp的交互插件。

      下载slime:https://common-lisp.net/project/slime/

      3.Steel Bank Common Lisp(sbcl)是一个高性能的Common Lisp编译器。

      下载sbcl:http://www.sbcl.org/

    3.搭建环境

    3.1.Windows

      1.安装emacs和sbcl,解压slime到某一目录下。

      2.修改emacs配置文件。默认emacs配置文件在C:Users[用户名]AppDataRoaming下的.emacs。(如果此目录下没有此文件,而且windows不允许新建没有文件名的文件。所以我们需要打开emacs编辑器,在菜单栏Options下随便勾选或者取消勾选一个选项,然后点击Save Options后,.emacs文件出现在默认目录中。)

    (load-file "E:/emacs-24.5-bin-i686-mingw32/.emacs")    //填写真正的emacs配置文件的路径。也可以不写这段语句,直接写3中的配置语句。

      3.修改E:/emacs-24.5-bin-i686-mingw32/.emacs配置文件

    (add-to-list 'load-path "E:/slime-master")            //填写slime所在路径           
    (add-to-list 'load-path "C:/Steel Bank Common Lisp/1.3.0/")    //填写sbcl的安装路径(sbcl.exe路径)
    (setq inferior-lisp-program "sbcl")                 //设置lisp程序为sbcl
    (require 'slime)                            //加载slime插件
    (slime-setup)                                                  
    (require 'slime-autoloads)                     //告诉Emacs当 M-x slime或 M-x slime-connect命令第一次执行之后,Slime的其它部分会被自动加载
    (slime-setup '(slime-fancy))                    //加载slime扩展包

    3.2.MacOSX  

      1.通过Homebrew安装。

    brew install emacs emacs-slime sbcl

      2.修改~/.emacs文件,如3.1中的第三节。

    4.Hello Lisp

      打开emacs程序,输入M+X slime(M=Alt)即可进入lisp编辑界面。

      CL-USER> (+ 2 3)
      5
      CL-USER> 5;
      5
      CL-USER> "hello world"
      "hello world"

      CL-USER> (if (oddp 5 )
            'odd-number
            'even-number)
      ODD-NUMBER
      CL-USER>

    5.参考资料

      http://www.zhihu.com/question/19734980/answer/33765804

      http://my.oschina.net/klauszl/blog/263669

    知识共享许可协议
    本作品由江俊杰(Steven Jiang)创作,采用知识共享署名 4.0 国际许可协议进行许可。
  • 相关阅读:
    Java Web Jsp EL ${ user.name }
    Java Web 网络留言板5 (javaBean技术)
    Java Web Web应用,打包和web.xml文件
    Java Web JSTL (实例)
    基于wpf的相关设计问题ViewModel
    c++ primer学习笔记(1)
    记上海俱乐部活动
    c++ primer学习笔记(3)字符串操作
    wpf&& silverlight的Behavior
    基于wpf的相关设计问题Command的使用
  • 原文地址:https://www.cnblogs.com/stevenjiang/p/4958033.html
Copyright © 2020-2023  润新知