Caveman2でCL-Markupを使う準備

目的 何か作ってみようかとCommon LispのWebフレームワークCaveman2を使い始めてみました。デフォルトのテンプレートエンジンとしてDjulaがサポートされていますが、閉じタグ書くなんて面倒くさい…と思い、CLで記述できるCL-Markupの利用を考えています。こ…

リードマクロ入門、の10分の1歩ぐらい後か前

Common Lispで遅延評価を作って遊ぶ(1) - eshamster’s diaryシリーズ付録 今回の目的 遅延評価で遊ぶシリーズでリードマクロの話に入ろうとしたのですが、リードマクロ自体について学んだことを書くだけで長くなりそうなので記事を分けました。この辺りが…

Common Lispで(簡易)RSS解析

前書き ちょっとCommon LispでRSSでも解析してみようかとRoswellスクリプト(紹介記事, GitHub)を書きました。 コード ※2015/09/13追記:roswellでインストールできる複数環境(ccl, clisp, sbcl)で試した見たのですが、cclでしか動かないようです。SBCLは…

F#でMAL(Make a Lisp)を実装し始めた

MAL with F 少し前に1週間ほど休めたので前々から興味のあったMAL(Make a Lisp)(LISPインタプリタ)を前々から興味のあったF#で実装しはじめました。連休中になんとかStep4までは完了させた(テストでOptionalになっているものは無視)ので、途中で思ったこ…

Common Lispで遅延評価を作って遊ぶ(3-2) - 素数列で遊ぶ (数列で遊ぶ - その2)

今回の目的 ここまでに作ったcl-lazyライブラリを使って、こまけーことはいいんだよ、の精神で色々な(数)列を作って遊んでみたいと思います、第二回。数といえば自然数、自然数といえば素数、ということで素数列を作ってみます。 前回と同じく、冗長なので…

Common Lispで遅延評価を作って遊ぶ(3-1) - (数)列で遊ぶ、その1

今回の目的 ここまでに作ったcl-lazyライブラリを使って、こまけーことはいいんだよ、の精神で色々な(数)列を作って遊んでみたいと思います。気ままに遊んでいたら思いの外に長くなったので適当に2回に分けようと思います。 なお、以下では冗長なのでREPL…

Common Lispで遅延評価を作って遊ぶ(2) - 数列生成マクロ

目的:より直感的に数列を作成する 前回遅延評価ライブラリを作って無限長数列を作成することができました。フィボナッチ数列の定義を再掲すると以下のようになっていました(Warning等の出力は省略)。 CL-USER> (defun fib (a b) (lcons (+ a b) (fib b (+…

Common Lispで遅延評価を作って遊ぶ(1)

目標:無限長数列 遅延評価というものを始めて耳にしたのはHaskellの入門書*1ですが、印象的だったのはやはり"[1..]"、ご存知無限リストですね。CやC#の世界で平和に暮らしていた人間にとっては中々衝撃的でした。 ということで、Common Lispで遅延評価(Laz…

このブログについて

動機など プログラムを書いていて調べたことなどのメモを残そう、というのがブログを始めようと思った主な動機です。今まではプライベートなWikiにだけ書いていたのですが、まあ隠してもしょうがないかと思い始めました。細々と続けられればと思います。 最…