ブックマーク / ameblo.jp/takeoka (13)

  • 『Pythonで書かれたLisp Hy』

    これは Lispアドベント・カレンダー2020 DEC.21.2020 です。 AI言語は、LispとPrologに決まってるやろ〜 というあたくし。 Pythonって、なんや。遅いインタープリタ、ナメてんのか… だが、Pythonって、ライブラリ呼ぶだけでイロイロできてしまう… ライブラリの呼び出し方は、ググってコピペでOK\(^^;/ でも、やっぱり Lisp 使うぜ。 ここで軟弱な Pythonで書かれたLispを使おうかなと… 「Hy」 という軟弱 Lisp Ubuntu 18.04.5 LTSでは、 $ sudo apt install python3-hy で、インストールできました。 $ hy で起動。 なんと、setq が無くて、代わりが setv。 マクロはある。 setqを defmacro するしか… 「〜」がCommon Lispの「,」にあたるようだ。 => (d

    『Pythonで書かれたLisp Hy』
    zu2
    zu2 2024/05/14
  • 『OpenEL 対応 MultiThread BASIC』

    OpenEL というものがあり… OpenELの概要 OpenELの概要 2 OpenELというのは、 JASA((社)組込みシステム技術協会) などが絶賛 推進中の規格で、 ロボット用ハードウェアの下まわりを抽象化するレイヤ。 ROSやRTミドルウェアの下位の層を抽象化して、ミドルウェアやアプリケーションの移植性を高める。 あたくしは、JASAの役員などを拝命しており、OpenELのユーザとしてぼちぼちと遊んでいる。 あたくしは、かねてより、 Multi ThreadなBASICインタープリタを作っている。 これは、裸のマイコンに入れて、対話的にI/Oを叩いたり、 マルチ・スレッドで、多数のI/Oを制御するプログラムを簡単に書けるようにするプログラミング言語である。 この MultiThread BASICに、DCモータ制御のプリミティブを追加した。 そのプリミティブは、OpenEL の

    『OpenEL 対応 MultiThread BASIC』
    zu2
    zu2 2024/05/14
  • 『Lisp 古典ギャグ』

    これは、関西Lisp アドベント・カレンダの 2017年12月2日です。 基Lisp小咄 Lisperには紅茶好きが多い(?) LisperA: 「foodp ?」(和訳: 飯に行かない? ) LisperB: 「T」(yes) 飯屋に行き、一通り飯をい終わったところにウエイトレスが来て、 ウエイトレス: 「Coffee?」(コーヒーはいかが?) Lispers: 「T」 少し後、紅茶(ティー)が運ばれてきた… どうして CAR は、左の要素を取るのか         「クルマ(Car)は左」というじゃろ。                 ただし、日とイギリス限定 (^^;                 (このネタは、竹内郁雄さんの文章で読みました) 「ラムダ文字山」http://wwwfun.kurims.kyoto-u.ac.jp/MtLambda.html  a> 火星のラム

    『Lisp 古典ギャグ』
    zu2
    zu2 2022/10/19
  • 『Tang Primer FPGA ボード & RISC-V』

    Tang Primer FPGA ボードが安い。 中華FPGAだが、悪くない。 RISC-V のソフトコアが入る。 ボードのドキュメント(英語) ボードに載っているFPGA は Anlogic社の EG4S20というチップ。純粋 中華製らしい。FPGAならバックドアの心配は少ないだろう。(開発環境は、バックドアに注意する) 秋月電子などで安定して買える。 秋月 Sipeed Tang Primer FPGA Dev. ボード 、 Switch Science 、 Shige Zone (私は、このボード1枚とJTAG 冶具は、Seeedstudio.comから 買いました) なお、FPGAの開発を行うだけならば、JTAG 冶具は不要。 Sipeed は、中華 深セン系のチップを使用したボードをたくさん出している。そして、どれも安い。 このFPGAボードも悪いところは無い。 ここでは、Ubu

    『Tang Primer FPGA ボード & RISC-V』
    zu2
    zu2 2022/10/19
  • 『Raspberry Pi 4でLisp Machineシミュレータ』

    Raspberry Pi 4でLisp Machine (一発芸) ※これは、 Lisp Advent Calendar 2021 のDEC/21/2021ですが、2022年正月に書いてます(^^; Raspberry Pi 4は、64bitだし、メモリ多いし、そこそこ速いので、Lisp Machineシミュレータを動かしたい。 なんか、割と新しいものがあっさり動いて良かった。\(^^)/ (中途半端に新しいものは、Micro codeとROMの内容が合わなかったりして、難儀していた) 試した Raspi4 model: Raspberry Pi 4 Model B Rev 1.4 OS: Raspbian GNU/Linux 10 (buster) メモリ: 8GB ここでは、x86_64bit(amd64) Linuxも使用する。 使用した amd64 Linuxは、Ubuntu 21

    『Raspberry Pi 4でLisp Machineシミュレータ』
    zu2
    zu2 2022/01/03
  • 『Lispマシン CADR シミュレータ usim』

    関西Lisp のネタのために、usim を引っ張り出してきた。 古いオリジナルのものをそのままmakeしても、動作した。(64bit Linux用に、ちょっと直した) g000001さんのusimの記事"http://g000001.cddddr.org/3700105594"にある この GitHub: ams/mit-cadr から、 download Zip で得たものも簡単に動いた。 OSは、Ubuntu 16.04LTS 64bit。 usimは、32bit で make して吉。 ubuntu x86_64 の場合、32bit コンパイル環境を入れる $ sudo apt-get install libc6-dev-i386 $ sudo apt-get install libsdl1.2debian:i386 そして、Makefile をちょっと変更。 -------- **

    『Lispマシン CADR シミュレータ usim』
    zu2
    zu2 2017/10/15
  • 『オーディオ遊び(その2)』

    オーディオに触れないようにしてきて、あれこれ聴いたことがないわたくし… 当のお家(?)では、昔(1990年ごろ)に、買った 「テクニクス」のTechnics SE-M100 デジタルストレートアンプ に、 JBL Control One という構成 詳しくは、この日記にあり。 正月休みに、退屈過ぎ、東京の下宿にはまったくオーディオが無いのも寂しくなった。 (PCと安物のアンプ付きスピーカでネットラジオを聴いているだけだった。それでもまぁいいのだけど) オーディオをなんとかしよう、と思い立つ。 そういえば、お友達の暇村さんが、楽しそうに、秋月のUSB DAC を作って、日経Linuxでも記事 を書いておられたなぁ。 暇村さんのUSB DAC 製作詳細 その流れで、OSSコンソーシアム 組込み部会 女子部で、秋月 USB-DAC製作会 もやったなぁ。(私は主催者の一員なのだが、残念ながら、日

    『オーディオ遊び(その2)』
    zu2
    zu2 2014/02/25
  • 『極小Lispマシン 作り :-P :-)』

    これは、Lisp Advent Calendar 2013 のDEC/05 です。 1981年だか82年だか、僕の居た大学のコンピュータクラブで、Lispを作るのが流行った。 5人ぐらいで、バラバラに オレオレLisp を作った。 Lispというものは、readerがもっとも難しいと思う。 昔風の eval は、すぐにできる気がする。 gcは、なかなかバグが取れない。C言語で書くと、Cのローカル変数や、Cのスタックに生きてるconsへのポインタが乗るが、そこはスキャンできなかったりするのが、主な原因だろう。 当時、あたくしは、BASICでLispを書いていた。 8bit機である。私は6809@1MHz の載ったBASIC Master Level3 を使っていた。 RAMは、8~48KBytes ぐらいの機械が普通だった。 BASIC master Level3は、30万円ぐらいして、5i

    『極小Lispマシン 作り :-P :-)』
    zu2
    zu2 2013/12/06
  • 『Raspberry Pi でOpenCV を試す』

    Raspberry Pi でOpenCV を試す Raspi をロボットの中に入れたい人が多いらしい。 じゃ、画像の入力と、画像認識の初歩をやってみないと… ↓に、すでに行っている先哲がっ! そのまま、真似をさせて頂きます。 Raspberry Pi への OpenCV インストール.by いしわたむねお氏 顔認識もやりました。 これも先哲の成果を、ほぼそのままパクリさせて頂きました。 OpenCV家の"cvHaarDetectObjects"の顔認識例 raspberrypi/OpenCVを使って顔認識しました by 竹浩氏 カメラを接続する あたくしは、手元にあった、安い Logitech の WebCam をつないでみた。 ロジクール Logicool QCAM-E2500 [USB接続 30万画素 Logicool Qcam E 2500](ヨドバシ) -- 2013/JUL/

    『Raspberry Pi でOpenCV を試す』
    zu2
    zu2 2013/06/29
  • 『8bit CPUのBASIC 処理系』

    8bit CPUの BASIC 言語の処理系 8080の Palo Alto Tiny BASIC 日で「8080 2K BASIC」としてすごく有名。 Li-Chen_Wang 氏が作者。 米DDJ誌にソースが載った。 東大の石田晴久先生が流行らせた。 日のASCII誌にも「東大版」として、アドレスをリロケートしたもののソースが載った。ソース・リストといえども、実は、アセンブル後のリスティング・ファイルだったので、ソースの横に16進のアセンブル結果が併記されていて、便利であった。(そっちを打ち込んで使った人も多かった) IOのソノシートにもなったか? 僕もソースを打ち込んで使っていた。 乗算は加算を繰り返す。計算途中のオーバフロー検出のためではないかと、いう優しい意見も聞いたことがあるが、多分、手抜き。除算も同様。 オーバフロー・フラグを持たないCPU(8080など)での、二の補数の

    『8bit CPUのBASIC 処理系』
    zu2
    zu2 2013/01/25
  • 『「GAME」という名のプログラミング言語』

    「GAME」という名称のプログラミング言語 ASCII誌で、大西博氏により。TinyBASICのステートメントを記号にしたインタープリタ言語が発表された。 6800用が大西氏のオリジナル。1978年ごろであっただろうか??? まだ、パソコンというものが無かったマイコン時代、日の大抵の若者達(当時)は、GAMEを使った。 当時、メモリが極小(1KB~4KBytes)であった。 ちなみに、TK-80は標準で 512Bytes(0.5KB!)であった。 6800から、6502, 8080,Z80, 6809などへと移植されていった。 (ちなみに、Z80版と8080版は、符号付きの大小比較ができていない。符号無しの比較(キャリーのみ見る)を行っており、かなり恥ずかしい。GAME言語のオリジナルは6800で作られ、元来、数値の大小比較は二の補数の符号付き比較しか持っていない言語) C言語のポインタ

    『「GAME」という名のプログラミング言語』
    zu2
    zu2 2013/01/25
  • 『つくるコンピュータ(本)1976年 CQ出版』

    つくるシリーズ2 つくるコンピュータ トランジスタ技術編集部編 1976年 CQ出版 標準ロジックTTLだけで、CPU(コンピュータ)を作る記事が2つ載っている。 1つ(富崎新:ATOM-8)は、データ線が1bitの引き回しで、ALUも1bit full adder。でも、IOと命令セットは8bit。「ネットワークのかたまり」という、悪口が書かれたことも。そもそもメモリも1011 (1bit×256w)なので、1bitの引き回しでいいじゃん、と、思います。 別なひとつ(八木広満:TC-1)も、1bitのALU。こちらは、マイクロプログラムを採用していて、ダイオードのマトリックスで、マイクロコードのROMを実現。 中学の終わりにこのの出版を知り、高校1年の秋にやっと入手でき、それからよく読みました。 このにも、「CPUの創り方(萌え)」にも、異口同音に 命令デコーダの実際や、具体的なス

    『つくるコンピュータ(本)1976年 CQ出版』
    zu2
    zu2 2013/01/25
  • 『今時のgcc に驚いた。kernel/VM advent cal. 2012/ DEC/07』

    今時のgcc に驚いた。kernel/VM advent cal. 2012/ DEC/07 | たけおか ぼちぼち日記 kernelVM advent calendar 2012/ DEC/07 今時のgcc に驚いた話。 (kernelともVMとも関係なくて、スマソ) -- a.c main() { foo(); } foo() { printf("FOO"); bar(); } bar() { printf("BAR"); foo(); } -- というソースを書く。 foo()とbar()は、お互いに呼びあい無限ループを描く。 % cc -S -O0 a.c で、出たオブジェクトは -- a.s -O0 (略) main: .LFB0: (略) movl $0, %eax call foo (略) ret .cfi_endproc .LFE0: (略) .LC0: .string

    『今時のgcc に驚いた。kernel/VM advent cal. 2012/ DEC/07』
    zu2
    zu2 2012/12/08
  • 1