How to install free softwares in Linux

last update: 29 Sep 2004

home |index |previous |next |contents

SCM



"SCM"は言語Schemeの処理系のひとつです。 かなりコンパクトでライブラリにもほとんど依存せず、 どんな環境でも動作するので重宝します。

7.1 ソフトの入手
以下から SLIB:"slib2d4.zip"と SCM:"scm5d6.zip"をダウンロードします。

http://swissnet.ai.mit.edu/~jaffer/SCM.html

ここでSLIBはschemeで書かれたライブラリモジュール群です。 ですからSLIBha環境(OS)に依存しません。
7.2 インストール

    7.2.1 SLIBのインストール

    SLIBのアーカイブ"slib2d4.zip"をディレクトリ"/usr/local/lib/"以下に展開します。
    cd /usr/local/lib
    unzip slib2d4.zip
    

    SLIBの展開


    7.2.2 SCMのインストール

    次に SCMのアーカイブ"scm5d6.zip"をディレクトリ"/usr/local/lib/"以下に展開し、 生成されたディレクトリに移動します。
    cd /usr/local/src
    unzip scm5d6.zip
    cd scm
    

    SCMの展開


    次に、"make scmlit"、"make all"、"make install"を実行します。
    make scmlit
    make all
    make install
    

    SCMのコンパイル


    以上でインストールが完了しました。 インタプリタ"scm"は"/usr/local/bin"以下にインストールされています。
7.3 実行例

    7.3.1 対話モードでの実行例

      % scm
      SCM version 5d6, Copyright (C) 1990-1999 Free Software Foundation.
      SCM comes with ABSOLUTELY NO WARRANTY; for details type `(terms)'.
      This is free software, and you are welcome to redistribute it
      under certain conditions; type `(terms)' for details.
      > "Hello World"
      "Hello World"
      > (let ((x 1))
      (+ x 1))
      2
      > (exit)
      ;EXIT

    7.3.2 バッチファイルによる実行

    #!/usr/local/bin/scm
    
    (define double (lambda (x) (* 2 x)))
    
    (let ((x (string->number (car (reverse *argv*)))))
      (if (integer? x) (print (double x))
          (print "ERROR!  Usage:double.scm integer")
      ))
    
    (exit)
    

    double.scm: scmのプログラム例


      % ./double.scm 3
      6
      % ./double.scm f
      "ERROR! Usage:double.scm integer"


home |index |previous |next |contents


since 04/Oct/2004