zoukankan      html  css  js  c++  java
  • 推荐一个LISP的开发工具转载

    也许大家对LISP这个历史悠久的语言会很陌生,但是这个诞生于上个世纪中叶的编程语言到现在还是拥有顽强的生命力。MIT的6.001课程还将它作为计算机科学的入门语言。

    最近在学习LISP过程中了解了一个很强大的IDE,它的名字叫DrScheme.它是一个图形化的开发工具,用起来也很方便。这里是它的链接:http://download.plt-scheme.org/drscheme/。这里有Windows版的也有Linux版的.

    安装好后,进入主界面,到工具栏中选择Language-->Choose Language,如下图所示。选择R5RS,the Revised5 Report on the Algorithmic Language Scheme。



    这里仿照一个简单程序,求平方根:

    分别先定义square, average函数,求平方根的算法大概如下:

    对输入x,

    (1)猜测解a=1为;

    (2)检查a*a-x是否足够小;假如足够小,就认为a是解;否则让a=(x/a+a)/2,反复循环,以接近其解;

    (define (square x)
    (* x x))
    (define (average x y)
    (/ (+ x y) 2))
    (define (good-enough guess x)
    (< (abs (- (square guess) x)) 0.001))
    (define (improve guess x)
    (average guess (/ x guess)))
    (define (try guess x)
    (if (good-enough guess x)
    guess
    (try (improve guess x) x)))
    (define (squareroot x)
    (try 1.0 x))

    (squareroot 2)

    写好程序后,运行Check Syntax,再运行Run即可。

    以下是程序的检查中的演示图,有相当有趣的图形化界面:



    此外LISP还支持大整数的运算,比如说:

    > (* 1234567890 987654321 12345678987654321 )
    15053411218366667518106431248473490

    而且也支持分数表示等等。

    就大概讲到这吧,我也是刚刚开始学LISP.希望有兴趣的朋友一起学习:)

  • 相关阅读:
    android修改debug keystore文件使之和正式keystore sha1一致
    scrollView中可以自由滚动的listview
    android gradle的全局管理
    OpenGL学习笔记(三)
    OpenGL学习笔记(二)
    OpenGL学习笔记(一)
    Java编程代码规范中值得留意的地方
    mac上编译Android的arm64位ffmpeg
    入门程序员必读的10本经典书单
    [Android文档翻译]设备兼容性
  • 原文地址:https://www.cnblogs.com/riverphoenix/p/2200570.html
Copyright © 2011-2022 走看看