Common Lispの系譜を継ぐuLispをラズパイPico2マイコン上で練習中。ここまでCommon LispとuLispの重複部分でした。今回からはuLisp独特な領域、ハードウエア制御へ入ります。その1回目はGPIOとな。既に「吉例Lチカ」を過去回でやっているので復習か。でもほじくると出てくるのよ。なんだかな~。
Lispと一緒(27) ラズパイPico2でもuLisp、汎関数、funcall、apply
Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中。ここまでCommon LispとuLispの重複部分を練習。同一挙動が大多数ですが、一部差異もあり。そろそろ本題のPico2ハードの制御、uLisp独特な部分に行きたいデス。でも今回は重複部分の「とりあえずの〆」ね。汎関数とな。
Lispと一緒(26) ラズパイPico2でもuLisp、関数、変数の定義
Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中。これまでの練習中に既に何度となく使ってしまった関数の定義 defun と大域変数の定義 defvar です。しかし、改めて見てみると Common Lisp と uLisp の挙動にコマケー違いがあることに気づきました。知らないとツボる?
Lispと一緒(25) ラズパイPico2でもuLisp、map一族、健在
Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中。前回はprog一族がprognのみを残してuLisp上では不在と判明。それではということで同じく大族map一族について見てみました。map一族はuLisp上でも健在。Common Lispでの動作と相違なく、バリバリ使えますぞ。
Lispと一緒(24) ラズパイPico2でもuLisp、「副作用」あっての者共
Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中。「副作用」、ピュアなLispじゃ「はしたない」操作にも思えます。しかしマイコンのハードウエアの操作は副作用の連続?胸を張って副作用を前提とした者共を練習しておきたいと思います。でもuLisp上に実装されているの意外と少ない?
“Lispと一緒(24) ラズパイPico2でもuLisp、「副作用」あっての者共” の続きを読む
Lispと一緒(23) ラズパイPico2でもuLisp、局所変数、letとdo一族
Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中。このところCommon Lisp上とuLispで実装が違うものどもを調べてます。今回はローカル変数を利用するためのものども、let(Special Form)やdo(Macro)などの一族です。この辺は実装は違えど挙動は同じじゃ。
“Lispと一緒(23) ラズパイPico2でもuLisp、局所変数、letとdo一族” の続きを読む
Lispと一緒(22) ラズパイPico2でもuLisp、マクロでない者共その2
Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中。前回はCommon Lisp上の「マクロ」と異なるuLispでの実装が、実装に関わりなく同様な動作をすることを観察。しかし今回はCommon Lisp上とuLisp上で反応が違うんでないかい、という「元マクロ」どもを観察します。
Lispと一緒(21) ラズパイPico2でもuLisp、マクロでない者共
Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中。前回はCommon Lisp上「マクロ」として実装されている「あれやこれ」がuLisp上ではスペシャルフォームなどとして実装されていることを見ました。今回はマクロであったはずのあれやこれの実際の動作を拝見。みかけに違いはないのよ。
“Lispと一緒(21) ラズパイPico2でもuLisp、マクロでない者共” の続きを読む
Lispと一緒(20) ラズパイPico2でもuLisp、Macroはどこ?
Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中。今回はCommon LispとuLispの大きな違いの一つ、マクロについて調べてみます。Lispの中には、関数、マクロ、スペシャルフォームなどあり、その挙動が異なります。しかし、どうもuLispにはマクロはないみたい。
Lispと一緒(19) ラズパイPico2でもuLisp、list関連関数
Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中。今回は巡り巡ってリスト関係の関数に戻ってまいりました。uLispは「マイクロ」なので関数の数は少ないですが、この辺の関数どもの挙動にはCommon LispとuLispの差は見えませぬ。あったら困るか?さっさと練習して次へ。 “Lispと一緒(19) ラズパイPico2でもuLisp、list関連関数” の続きを読む
Lispと一緒(18) ラズパイPico2でもuLisp、配列、array
Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中。今回は配列、arrayを練習してみます。今回はCommon LispとuLispの差というより、処理系依存な部分がちょいと見えましたかな。まあ、注意してたらその差は見えないような使い方は十分できそうな気がするけど(個人の感想デス。)
Lispと一緒(17) ラズパイPico2でもuLisp、整数ビット演算
Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中。今回は整数のビット演算系の関数を練習してみます。Common Lispではboole関数とlogで始まる関数どもで似た処理が可能。uLispではlogで始まる関数のみ存在します。その範囲であれば「概ね」差は見えにくいです。
Lispと一緒(16) ラズパイPico2でもuLisp、文字列関連関数
Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中です。前回文字列を扱う関数を練習したので、今回は文字列やリスト、あるいは文字列を数値に変換するような関数をいくつか練習してみます。前回はCommon LispとuLispの間に差はなかったですが、今回はいろいろあります。仕方ねえ。
Lispと一緒(15) ラズパイPico2でもuLisp、文字と文字列
Common Lispの系譜を継ぐマイコン上のuLispをラズパイPico2上で練習中です。前回までで算術演算系の関数どもはひと段落。今回は、文字と文字列を扱うものどもです。Common Lispでは多数ある関数どもが uLisp ではこじんまりとした数です。必要最小限?知らんけれども。いくつかは既に練習済じゃと。 “Lispと一緒(15) ラズパイPico2でもuLisp、文字と文字列” の続きを読む