2020-03-03

Haskellでラムダ計算

昨日のブログで述べた、Haskellでラムダ計算と遺伝的アルゴリズムをやるやつをGitHubにあげました。

https://github.com/matil019/lambda-calculus

今までほとんどGitHubにうpすることはなかったから割と緊張した。ライセンスに関しては、今まで流れでcabal init -n -l BSD3 --source-dir src --is-exe というコマンドを使っていたのでBSD3ライセンスを使っていたのだが、よくよく調べ直してMITに変更した。ちなみに、自由ソフトウェア財団によると MITライセンスはExpatライセンスとX11ライセンスの二種類を混同して指す言葉で使うべき名前じゃないらしい。念の為、自分で両者の本文を見比べてみたが、改行の有無、最初と最後の注釈の有無以外に違いはなかった。こりゃ混同してもしょうがない。なお、GitHubではMITと表示されている。

GitHubで公開するにあたり、せっかくなので古いバージョンのGHCでビルドできるかどうか試してみた。.cabalファイルに書くのはbaseパッケージのバージョンなので、このページの対応表をチェック。Ubuntuのapt公式レポジトリで入れられるghcのバージョンは8.0.2とクッッッソ古いので、そのバージョン以降に対してコンパイルできるかどうかチェックした。

その結果、以下の軽い問題が発生した。

それ以外は特に問題が発生しなかった。正直言って、予想よりずっと簡単で拍子抜けした。もっとも、コンパイルできるかどうかだけをチェックしたので、実際に実行してみたらなんかエラーが出るかもしれない。

ブログシステム

ブログはMarkdownで書いている。そのため、これをそのままWebサーバに置いて Pale Moonで見ようとするとダウンロードダイアログが出てしまう。促されるままFirefoxで開くとプレーンテキストで表示されてしまう。

一応、ブラウザに拡張機能を導入することでフォーマットして表示することができるが、閲覧者に拡張機能のインストールを要求するのはダメだろう。ということでMarkdownをHTMLにレンダリングしていい感じにしてくれるものを探したが、うまく見つからなかった。

そもそも自宅サーバに置くのではなくどっかのブログサービスに登録するのがまっとうだと思うが。

vimでMarkdownを書いてローカルに保存しておき、Webサーバにデプロイする際に HTMLにレンダリングするという流れを取りたかったのでオンプレミス狙いで調べた。

しょうがないので、pacman -Suy discountmarkdownコマンドを入れて MarkdownをHTMLに変換するシェルスクリプトを速攻で組みました。あまりにも質素すぎるのでなんとかしたいところ。まだ試していないから分からないが、一番 Movable Typeが有望か?

お問い合わせはこちらまで: @matil019 リプにブログのリンクを含めていただけるとスムーズに会話できます。
記事一覧