Hatena::Groupcadr

TAO

TAO

Lispを基礎にSmalltalkPrologの機構を取り入れたマルチパラダイム言語

また、ELISという国産Lispマシンでは、この言語を中核に環境が構築された。

Lisp部分は多分にZetalispからの影響を受けているが、Prologとの融合等、非常に独特なところが多い。

FreeBSD等に移植されている様子だが、ソース等は一切公開されていない模様。

TAOには時期により各種あり動作するマシンで大別されている様子。 FIXME

;; Common Lisp
(defun fib (n)
  (do ((cnt n (1- cnt))
       (a1 1 (+ a1 a2))
       (a2 0 a1))
      ((< cnt 2) a1)))

;; TAO/ELIS
(defun fib (n)
  (loop (&aux cnt a1 a2)
        (:init (setq cnt n a1 1 a2 0))
        (:until (< cnt 2) a1)
        (!!1- !cnt)
        (!!+ !a1 (prog1 a2 (!a2 a1)))))

;; もしくは、もう少し普通のLisp風に
(defun fib (n)
  (loop (&aux cnt a1 a2)
        (:init (setq cnt n a1 1 a2 0))
        (:until (< cnt 2) a1)
        (psetq cnt (1- cnt) a1 (+ a1 a2) a2 a1)))

(fib 100)
;=> 354224848179261915075 

;TAOのloopは、Common Lispとは全く別のもの
;(!foo 3) は (setq foo 3)と同義
;(!!+ !foo 3) は、(setq foo (+ foo 3)) と同義

TAO/60

TAO/ELIS

マニュアル
解説/論文等

TAO/ELIS上で動作したEmacs系エディタZenで動作するKanzenについて。Kanzenは、SKKに大きく影響を与えた。

TAO/SILENT

* はてなダイアリーキーワード:TAO

  • 2010-08-15
  • 2010-08-12
  • 2010-08-11
  • 2010-08-10
  • 2010-08-09
  • 2010-08-06
  • 2010-08-05
  • 2010-08-01
  • 2010-07-31
  • 2010-07-30
  • 2010-07-25
  • 2010-07-22
  • 2010-07-19
  • 2010-07-18
  • 2010-07-16
  • 2010-07-15
  • 2010-07-13
  • 2010-07-12
  • 2010-07-10
  • 2010-05-28
  • 2007/12/02 18:10:32 MACLISP
  • 2007/12/02 02:08:59 TAO