「cblas_sscalがない」と言われたとき

先日Nimでneoというパッケージを使ったプログラムを動かそうとしたとき、コンパイルまでは通ったのだが、実際に実行しようとしたら以下のエラーが出てハマった。 $ cat src/ai2 import neo let m = randomMatrix(3, 7) echo m $ nimble build $ ./ai2 could …

Nimの開発もやってみる

今までCommon Lispを中心にこのブログを書いていたが、少し浮気してNimもやってみることにした。 なので、今後Common Lispの記事は減っていくと思う。

パッケージ内のシンボルを全表示する

たとえば簡単なmyapp2プロジェクトに含まれる関数をすべて表示させたいとき、do-all-symbolsを使う。しかし簡単にはいかない。(do-all-symbols :myapp2)などとやってもエラーとなり、期待した出力は出ない。 myapp2内のパッケージ内すなわちmyapp2/src/myapp…

Common Lispファイルでプロファイリングする(SBCL)

プログラムを作っていると、どこの部分が時間がかかっているか調べたいときがある。そういうとき使うツールがプロファイラというもので、速度が遅い関数を特定できれば、そこをチューンアップしてプログラム全体の性能を改善するための手助けになる。 ここで…

Common Lispファイルをコンパイルする(Roswell, SBCL)

Roswellでプロジェクトを作ったはいいが、コンパイルするにはどうしたらいいのだろう? 答え:ros initコマンドで作成したスクリプトは、ros buildコマンドでコンパイルできる。 前回と前々回で作成したmyapp2プロジェクトを使う。 rosファイルをコンパイル…

続:Common Lispって何?

前回のエントリーでは、Common Lispのプロジェクトを開発するための前半として、cl-projectを使ってmyapp2という名前のプロジェクトの骨組みを作り、それを呼ぶためのメインファイルmain.rosを作成する方法を説明した。 今回はその続き。このプロジェクトで…

Common Lispのプロジェクトって何?

以前のエントリーでsqlite3を取り上げる予定だと書いたが、まだそこまでのレベルに到達していない。もっと基本的なことを書く。 まず、Common Lispのプロジェクトを作成するためにはcl-projectを使うのが便利。Ruby on Railsのscaffoldと同じ。 しかし待って…

Common LispでCaveman2を起動する

他のプログラム言語でできることは、Common Lispでも大抵できる。例えばCaveman2は、Common Lisp上で動作するWebフレームワーク。 私はCommon Lispに関しては初心者だが、Caveman2を起動させるまでにはかなり苦労し、途中何度も心が折れそうになった。暗黙の…

私のCommon Lisp開発環境

ではさっそくCommon Lispのことについて。 大昔、PC-8001(!)に感動し、BASIC言語やZ80の機械語でゲームなどを作っていた。社会人になってからは趣味でプログラミングをしている。最近までPythonにハマっっていたが、現在はCommon Lispを勉強している。 Co…

はじめに

こんにちは。kitemwといいます。妻と娘が1人います。東京近郊在住です。 ここでは自分が書きたいことをつらつらと書いていきたいと思います。 趣味がプログラミングなので、たぶんプログラミングのことが多くなります。