Photo by Lukas Tennie from unsplashはじめにこのエントリでは、僕が趣味で作っている PicoML という自作プログラミング言語の話を書こうと思う。 作ってから半年くらい経っているのだけれど、如何せん自作言語という無用の長物であり、登壇などでコイツの話をすることもないため、ある種の供養みたいなものだと思ってもらって構わない。 PicoML の概要まずは実装した言語の紹介から。ざっくり以下の特徴を備えた言語である。 ML ベースの文法による関数型言語単純 let 多相型推論による型チェックCLI として、Node.js 上での即時評価器(REPL)と WebAssembly をターゲットにしたコンパイラの双方を提供REPL やコンパイラの実装は TypeScript で行っている。自分の勉強が主目的であったため、REPL やコンパイラの CLI を動作させるの
#include <stdio.h> int main(){ int a = 1; int b = ++a + ++a + ++a; printf("%d\n",b); } 結果は処理系に依存し、gccなら10に、clangなら9になります。これが未定義動作なのか処理系定義なのか、それとも他の何かは仕様警察に任せるとして、gccやclangはこれをどう解釈したのか、その気持ちを探ってみようと思います。 なお、以下は中間コードその他から僕が勝手にコンパイラの気持ちを推し量ったものであり、正確性については保証しません。 インクリメント演算子 ++というインクリメント演算子は、変数に1を加算するものです。++aやa++のように、前に付ける場合と後ろにつける場合で、代入に対する振る舞いが変わります。 前につける場合、インクリメントは代入の前に行われます。例えば、
本書について #Pyroで実践するベイズ機械学習は、Uber AI Labsが中心となって開発を進めている確率的プログラミング言語Pyroを用いてベイズ機械学習を行う方法を解説した入門書です。ベイズ機械学習の基礎からPyroでそれをどのように実装するのかまでを解説していきます。 本ドキュメントは2021/08/08 現在、制作中です。 本ドキュメントはオープンなプロジェクトであり、そのため協力者を広く求めています。本書のソースコードは GitHub上で公開されています。 本書への追記や修正などありましたら、上記GitHubにてIssueの発行、またはPull requestをお願いいたします。 本ドキュメントは Creative Commons Attribution-ShareAlike 4.0 International License のもとで公開されています。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く