Lispのページ (Page of Lisp) By M. YASUMURA.

updated June 29, 2010.

Lispプログラミング、Lisp言語、関連システム

  • これは便利! 逆引きCommon Lisp
  • SBCL( Steel Bank Common Lisp) 公式ページ 同日本語解説。オープンソースのCommon Lisp。 Mac OS Xでも動作可能。但し、終了のコマンドは(quit) になる。 また、エラー(でバッグモード)では、top でトップレベルに戻り、 B でバックトレース、hでヘルプが表示される。なお、sbclで、printと readを続けると、printよりも先にread要求が来るというバグ(仕様?)がある。 この場合には、prin1, terpri, read とすると、readより先にプリントされる。
  • JLUG(日本Lispユーザ会)
  • 日本のLisp処理系(JLUGまとめ)。
  • GNU Common Lisp(CLisp)
  • LispWorksについて. 同公式ページ
  • Common Lisp HyperSpec
  • MacOSX上のフリーのCommon Lisp(Common Lisp Wiki)。 GNU CLISPまたは OpenMCLが正解のようです。 どちらかにするかは好みの問題。
  • association of Lisp Users
  • Digitool Macintosh上のCommon Lisp.
  • Allegro CL お試し版 for Winodws, Linux, FreeBSD, Mac OS X.
  • Emacs Lisp入門
  • XLisp-stat(Lisp版統計パッケージ)
  • CLM(Common Lisp Music) Project.
  • 関連した話題

    1. 「寿司食いねぇ」:
      清水次郎長の子分 森の石松が、たまたま舟に乗り合わせて、石松の名前と噂を 懸命に思い出そうとしている旅人に「あんた江戸っ子だってね。食いねぇ、 食いねぇ、寿司食いねぇ」と勧めた、というのは、浪花師二代目広沢虎三の創作 「石松三十石舟」より。 YouTubeは、こちら
    2. ビートルズ(ポール・マッカートニー)のLet it beは こちら(YouTube).
    3. [Fortranの唄]:
      おおブレネリ あなたの言語はなに
      私の言語はフォートランよ
      数値計算が得意なのよ
      ヤッホ フォートランランラン
      ヤッホ フォートランランラン
      ヤッホ フォートランランラン ヤッホホ
      [Lispの唄]:
      静かな湖畔の森の陰から
      もう起きちゃいかがと カッコが啼く
      カッコ カッコ カッコ カッコ カッコ
    4. カッコウは、オオヨシキリ、ホオジロ、モズなどの巣に托卵する。 これから、ハッカー(正式にはクラッカー)を最初に追跡した クリフォード・ストールは「カッコウはコンピュータに卵を産む」 (原題は The Cuckoo's Egg: Tracking a Spy Through the maze of Computer Espionage)の本を書いた。
    5. ハムレット の中の有名なセリフ "To be or not to be, that is the question." は、これまで「生きるか死ぬかそれが問題だ」という訳が知られていたが、 小田島雄志訳では、 「このままでいいのか、いけないのか。それが問題だ。」としている。 (薄氷堂雑録より)
    6. 3n+1 問題は、海外では、Collatzの予想としてさる文献によれば、 この問題は1970年ころ考えられ始められたらしい。 米田先生は、この頃にはすでに研究を始められていた。 また、1999年には、この問題に関して 国際会議も開かれたようである。
      なお、 4色問題 フェルマーの最終定理 など未解決だった数学の難問も、20世紀の後半には証明されたが、この 3n+1問題は、いまだ証明されていない。
    7. 古典落語の 「頭山」がアニメになって、アカデミー賞短篇アニメ賞を授賞。 わずか10分のアニメだが、自分の頭にできた池に身投げするシーンをどう描くか が最大の課題。ぜひ、アニメを見ましょう。 YouTube
    8. フィボナッチとは: 12から13世紀にかけて実在した数学者。ピサ市に 住む Leonardo Filio Bonacij (レオナルド・フィリオ・ボナッチ)すなわち、 ボナッチの息子であるレオナルドがなまって、Fibonacci(フィボナッチ)と 呼ばれるようになった。
    9. フィボナッチ数について: フィボナッチ数を極める
    10. Fly me to the moon について: 1950年代にフランク・シナトラが歌って大ヒットした曲。 作詞作曲はBart Howard(1954年)。 元々のタイトルは In Other Words だった YouTube
              Fly me to the moon
        And let me play among the stars
        Let me see what spring is like
              On Jupiter and Mars
          In other words hold my hand
         In other words darling kiss me 
      
              Fill my life with song
           And let me sing forevermore
              You are all I hope for
             All I worship and adore
          In other words please be true
            In other words I love you 
        
      repeat 2nd verse, then repeat 1st verse
      
    11. 孫悟空とは。花果山の仙石から生まれた不死の猿。 一瞬にして10万8千里を飛ぶ筋斗雲。自分の毛を抜いて 子猿に変える「身外身の術」、耳から出して伸縮自在な「如意棒」をもつ。 釈迦如来が悟空の頭に填めたのが「緊箍(きんこ)」。 猪八戒、沙悟浄と共に三蔵法師のお供でインドまで行く。
    12. Tarai関数とTak関数の違い(by Ikuo Takeuchi).
      (defun tarai (x y z); オリジナルの定義 by 竹内郁雄
        (cond ((> x y)
               (tarai
                (tarai (1- x) y z)
                (tarai (1- y) z x)
                (tarai (1- z) x y) ))
              (t y) ))
      (defun tak (x y z); John Macarthyによる変形版
        (cond ((not (< y x)) z)
              (t
                (tak
                  (tak (1- x) y z)
                  (tak (1- y) z x)
                  (tak (1- z) x y)))))
      
      なお、Tarai関数では、実はApplicative orderの処理(一般のLispなど)とNormal orderの処理(純粋関数型言語とでは、評価順序が違うため、計算時間も大幅に 変わってくる。→ Haskellでは、断トツに速い
    13. 小笠原流礼法について
    14. Grace Hopperとは Grace Hopperが見つけたバグ
    15. 文字列(テキスト)入力への注意:
      Common Lispで、文字(テキスト)列を普通に入力すると、入力されたもの は実はシンボルになるので、文字列として扱いたい場合には、次のようにして 変換する必要がある。
      (setq name (string (read)))
    16. Lispへのこだわり〜Lispへの賛辞は多い. (和田英一)
    17. Lispには「再帰の心」が浸みわたっている. (Doug Hofstadter)
    18. なににもましてLispでプログラムを書くのは大いに楽しい. (Jerry Sussman)
    19. The ELI project saved several man-years by using Lisp. (John Ellis)
    20. Lispが着実に進歩し, 流布してきたのは, コンピュータの研究者や利用者の 中に狂信的ともいえる愛好者を持つことができたから. (中西正和)
    21. The most intelligent way to misuse a computer. (E.W.Dijkstra)
    22. Common Lispでの遅延評価の実装。 出典
      (defun make-promise (f)
             (let ((ready-p nil)
                   (result nil))
               #'(lambda ()
                   (if ready-p result
                     (let ((r (funcall f)))
                       (if ready-p result
                         (setq ready-p t
                               result r)))))))
      
           (defun promise-p (f)
             (functionp f))
      
           (defmacro delay (expr)
             `(make-promise #'(lambda () ,expr)))
      
           (defun force (f)
             (if (promise-p f) (funcall f)
               f))
        
    23. Common Lisp での現在日時の取得方法
      ; 次の関数timesで日本国内での、先頭から順に
      ; 曜日、年、月、日、時、分、秒 がリストとして得られる。
      (defun times ()
        (cddr (reverse (multiple-value-list
                         (decode-universal-time (get-universal-time) -9)))))
      ; 曜日は、0: 月 1: 火 2: 水 3: 木 4: 金 5: 土 6: 日となる。
      
      
    24. MacOSX上のEmacsでkclを起動するための.emacsの修正方法
      (setq inferior-lisp-program "gcl")
      
      の行を以下の通りに変更。
      ;(setq inferior-lisp-program "gcl")
      
      ;;;common lisp関連
      (cond
       ((featurep 'carbon-emacs-package)
        (modify-coding-system-alist 'process "kcl" 'euc-jp)
        (setq inferior-lisp-program "kcl"))
       (t 
        ;;carbon環境でない場合
        (modify-coding-system-alist 'process "gcl" 'euc-jp)
        (setq inferior-lisp-program "gcl")))
      
      (define-key lisp-mode-map "\C-x\C-s" 'save-buffer-euc)
      
      (setq auto-mode-alist (cons '("\\.cnd$" . lisp-mode)
                              (cons '("\\.snt$" . lisp-mode)
                               (cons '("\\.dic$" . lisp-mode)
      			  (cons '("\\.grm$" . lisp-mode) auto-mode-alist)))))
      
      
      ;; for BACKSPACE MAC TIGER with kterm on X
      (global-set-key [8] 'backward-delete-char)
      
      ;; GNU COMMON LISP clispプログラムのファイルの拡張子を .lsp にするなら以
      ;; 下も追加
      (setq auto-mode-alist (cons '("??.lsp$" . lisp-mode) 
                                  auto-mode-alist))
      
    25. バイオリズム計算法
    26. 姓名判断計算法。および、 漢字画数データベース

    戻り先

    安村のページ ニッチなページ