* [2023-02-27 月]
快晴

./around-Japan-color-2023-02-27.png


** 昨日の続き :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