右上↗

プログラミングに関するメモをのこしていきます

2022-01-01から1年間の記事一覧

Zig Snippets: string to enum

Zig で []const u8 から enum に変換する たぶん builtin にも存在しない気がする?のですが、逆 (enum → string) は @tagName で可能なので、 @typeInfo や inline for をくみあわせて以下のように書くことができます。 const std = @import("std"); const …

Zig Patterns: Diagnostics

最近流行りの zig について、どうやら self-hosting compiler がデフォルトになったという話を聞いて興味を持ち、ちょっと実装を読んだりしながら遊んでみています。 いろいろと特徴的な言語なのですが、今回は error の話です。 前提: Zig の error handlin…

maturin でさくっと Rust 製 Python 拡張を書く

機械学習やデータ処理をやっていると、一部だけ Python では遅すぎるので C, C++, Rust のような高速な言語で処理を書きたくなることがまれによくあります。 C++ なら pybind11、Rust なら PyO3 が非常に有名で、これらをつかえばかなり簡単に Python <-> C+…