* [2023-02-27 月] 快晴 ** 昨日の続き :lisp: lispteatimeで1人質問しまくったので、 罪滅ぼしがてらに本来changelogに書き留めているものだけど、 ここに書いてみる。 *** ライブラリによってインストール先が違うのはなぜか? roswellでros installするとgithubから引っ張ってきて、 ~/.roswell/local-project/<user name>/<lib name> こんな感じでinstallされる。 quicklispでquickloadすると ~/.roswell/lisp/dists/quicklisp/software以下に 入ってくる。 ultralispもquicklispに似ているが、最後のところが、 ultralisp/softwareとまた違っている。 とにかくインストールするツールの違いで格納場所が違うという ような説明をされていたように思う。 <<<<<<< HEAD あと強調されていたのは.roswell以下の方が 他に比べると優先されると話されていた。 ======= >>>>>>> 510a84413b85211a0495fa216807a88a6749a014 そしてquicklispの方はバージョン毎に別々に管理されていて、 古いバージョンに移しても大丈夫なような仕組みとしてそうなっている といったような話をされていた。 つまり自分としてはあちこちインストール場所をバラバラに するんじゃなくてまとめた方がいいんじゃないか?と 思った訳だが、上記の理由があり、quicklispとroswell側で 管理の考え方がまた違っているからそうなっているようだった。 <<<<<<< HEAD *** 関数と変数の違い... ** janet-langのインストール :lisp:... ======= *** 関数と変数の違い ちょうどclojure関係の文書を前日読んでいて、 defがsetqあるいはsetfみたいなもので、 fnがlambda defnがdefun というような違いという事を目を通していた時に、 すごく変数と関数の使い方が似ているなと感じる部分も あって、そういう質問をさせてもらったが、 関数は実行時のデータが評価されて、 変数は定義時のデータが評価されるという違いがあると かつて自分がそういった類の過ちを犯してた事を 思わず思い出した。 以上、こんな感じか。 ** janet-langのインストール :lisp: ちょっと昨日のネタに少しjanetの話題提供を した訳だけど、そのくせ、自分は使った事もなかったので、 早速インストールして使ってみた。 以前、9月13日のネタでlua製のfennelという 言語についてちょっとだけ紹介したが、 あれと似てて、janetはc言語で書かれていて、 luaの立ち位置的な組み込みとかで使われるのを 想定した小さいlisp系の言語で、 ちょっと使ってみた感じではfennelと同じく clojure的な文法だなと感じた。 なんでみんなclojureに寄せた感じにするんだろう。 とりあえず、変わった関数もちらほら有った。 多分、clojure,fennel,janet,lfe,hyこの辺りは まとめて学習出来そう気がしないでもない。 carpとかcoalton,claspこの辺りはちょっと まだよくわかってない。 lispって人気ないようで、構造がシンプルだから 結局いろんな形のlispが発生していて、 人気がないんだかあるんだかよくわからない感じに なっているよな笑 >>>>>>> 510a84413b85211a0495fa216807a88a6749a014