Hatena::Groupcadr

わだばLisperになる このページをアンテナに追加 RSSフィード

2004 | 12 |
2005 | 01 | 02 | 07 | 10 | 11 |
2006 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 11 |

2008-01-03

お題: Hello, World! 等々

| 15:03 | お題: Hello, World! 等々 - わだばLisperになる を含むブックマーク はてなブックマーク - お題: Hello, World! 等々 - わだばLisperになる

最初は、Lisp1.5で問題を解くってのはかなり難しいのではと思っていましたが、そこそこ行けるんじゃないかと思えて来ました。

現在6/120なのでコンプリ率は約5%。Lisp 1.5のコーナーできたら良いなー。

(2)お題: Hello, world!(Lisp1.5)

文字の出力で空白の出力方法が分からなかったので後回しにしていたHello, World!

マニュアルに基本的な出力方法が記載されていたので、それを試してみた。

それにしても謎が多いLisp 1.5。

(40)お題: 与えられた数字のケタ数(Lisp1.5)

他の方は、文字列に変換して文字列の長さから桁を割出していましたが、

Lisp1.5では若干無理があるので、素直に勘定することに。

Lisp 1.5をさわってみて若干分かったことなど、なんの役にも立たないメモ

  • cond
    1. (cond (述部 実行部?))の実行部が暗黙のprognでない。また省略もできない。そのため、空の場合、明示的にNIL、F、()を置く。実行部には複数の式を書いてもエラーにはならないが、一番上だけ実行されて、あとは無視される。progで囲んだり、prog2で囲む必要あり。(しかし、マニュアルには載ってるけどprog2がみつからない…)lambdaで囲んでも丸ごと無視されるので、progで安定の模様。
    2. デフォルト節の述部は、(quote T)か、Tか*TRUE*で受ける。
  • M式

大文字で書かれたシンボルはquoteされていることを表わしているらしい。つまりM式のTは、S式で(quote t)のことで、律義に(quote t)と書いている人も結構いる。MACLISPで、'Tと書いたりする人がいるのは、この伝統を受け継いでいるのかもしれない。ちなみに、自分も'Tと書いていたら、点がないのはなんか寂しい気がして毎度付けてしまう変な癖が…。