タグ

ブックマーク / blog-dry.com (3)

  • CPUエミュレータをRustで自作する - Don't Repeat Yourself

    この記事は Rust Advent Calendar 2020 ならびに CyberAgent Developers Advent Calendar 25日目の記事です。 今年のはじめの頃になりますが、『CPUの創り方』というに載っている TD4 という CPU を実装してみました。TD4 は「とりあえず動作するだけの4bit CPU」の略です。このに載っている CPU エミュレータを実際に実装してみました。ただし、書には GUI が載っていましたが、それは省略しました。 CPUの創りかた 作者:渡波 郁発売日: 2003/10/01メディア: 単行(ソフトカバー) 「最近話題の RISC-V などの CPU エミュレータを作ってみたいものの、いきなり作るにはハードルが高い。何か簡単なもので素振りをして CPU の動作の仕組みをまずは知りたい」という方にはかなりオススメできる教材だ

    CPUエミュレータをRustで自作する - Don't Repeat Yourself
    igrep
    igrep 2020/12/26
  • Rustでもモナドは実装できるのか?(再) - Don't Repeat Yourself

    この記事は言語実装Advent Calendar 2020 25日目の記事です。(2022-11-06: 記事の内容を追記していますが、この記事の結論としては「似たようなものは作れるが、完全体にはならない」です) 前提知識 高階カインド型 モナド 従来のエミュレーション方法 Generic Associated Types を用いたエミュレーション(new!) 型クラスを定義する Functor を用意する Pointed を用意する Applicative を用意する Monad を用意する いくつか型を実装していく 現状実装できないもの do 記法 Generic Associated Types(GATs)とは何か 追記(2022-11-06) リポジトリ 参考文献 モナドに関する話題が言語実装アドベントカレンダーの範疇に入るのかわかっていませんが*1、プログラミング言語がお好きな方

    Rustでもモナドは実装できるのか?(再) - Don't Repeat Yourself
    igrep
    igrep 2020/12/26
    GADTsとは名前は似てるけど全然違う “GATs というのは先ほども軽く触れたとおり、関連型に何かしらの型パラメータ(A や T みたいなもの)をもたせることができる機能”
  • async/await 時代の新しい HTTP サーバーフレームワーク tide を試す - Don't Repeat Yourself

    Rust Advent Calendar 2019 25日目の記事です。 tide は現在開発途中の、 Rust の async/await に対応した HTTP サーバーを構築するフレームワークです。not ready for production yet なので番にこれを使用するのは難しいかもしれませんが、いろいろな例を見てみた感じとても使いやすそうで、注目に値するフレームワークの一つです。 記事を少し読んでみたのですが、どうやら 2018 年に RustNetwork Service Working Group が開発に着手したフレームワークのようですね。現在のステータスを追いかけていないので詳しくはわかりませんが、Rust チームの方々が何かしら関わっているフレームワークということで、少し安心感がもてるかなと私は思っています。async/await が今年無事安定化されたの

    async/await 時代の新しい HTTP サーバーフレームワーク tide を試す - Don't Repeat Yourself
    igrep
    igrep 2019/12/25
  • 1