free(malloc(sizeof(MRM)));

虚無・アクセラレーション

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

Hindley-Milner型推論をCで実装した話

CS

SecHack365 2019 Advent Calendar 14日目の記事です(大遅刻). what is this きっかけ 実装したもの 型と型推論について 型? 型付け規則はこわくない 型環境 型付け規則を読む 整数 変数 ラムダ抽象 関数適用 let式 let rec式 型推論? Hindley-Milner Type…

C言語でポリモーフィズム

C言語にはオブジェクト指向に関する機能はないですが,ポリモーフィズムを実現する方法をいくつか紹介します. まずC言語でオブジェクトの継承を表現します. 以下のサンプルにおいて,Personオブジェクトは「名前」という情報を持っています. StudentとTea…

プログラミング言語を作っているよというお話.

自作言語をかれこれ8ヶ月ぐらい作ってるんですが,ちょっとドキュメント(笑)的なものは書いとくかと思ったので投稿します. 随時更新していきます. リポジトリはここ! 特徴 インタプリタ repl 静的型付け フルスクラッチ サンプルコード ハロワ 変数定義 i…

Cでスタックを実装したよ

どうも. 暇すぎてCでスタックを実装するか〜となって実装したので,そのときのメモです. ネットに転がってるサンプルコードなどを見てると,int型のデータしか格納できないものが多かったので,それはつまらんということで「なんでも入る」スタックを作り…