近況 2018-10-31

今月の活動まとめ

milone-lang

  • https://github.com/vain0x/milone-lang
  • F# のサブセットのコンパイラ milone-lang を作ってる
  • 前月苦しんでいた字下げ依存構文の構文解析問題はほぼ解決した
    • 次のトークンの位置が低すぎたらパースを中止する、みたいな動き
    • 結果的に再帰下降パーサーとしては自然な実装になった
  • インタプリタを捨てて、C言語のコードを生成するようにした
    • インタプリタの実装は klac-lang でやったから退屈に感じる
    • 最終的にはアセンブリや Web Assembly や LLVM をターゲットにしたいが、モチベを維持するために機能追加を優先していく
  • 演算や条件分岐や関数などの基本機能が入った
  • シンプルな型推論が入った
    • 単一化ベースだが、まだ多相関数は禁止しているのでHMじゃない
  • ジェネリクスを入れようとして、オートボクシングと型推論の兼ね合いで悩んだ
    • ジェネリクスはやめて、単相化することにした
    • 例えばタプルは、生成後のCのコードでは型引数ごとに別々の構造体になる
  • 近い目標として、字句解析器をコンパイルしたい
    • リストを入れないと何もできない
    • クロージャもほしいけど難しいかも
  • 参考

環境再構築

  • 今年頭 (2018年1月) にパソコンを買い替えた
  • Ubuntu デスクトップという試みはうまくいっている
  • パフォーマンス問題があった
    • Chrome のタブを大量に開いたり VSCode を複数起動すると重たくなる
  • メモリを 16GB に、ハードディスクを SSD にした
  • SSD 換装は初めてだったけど簡単にできた
    • SATAケーブルとSATA電源ケーブルを買ったけど、HDDと繋ぎかえるだけだからいらなかった
    • SSD はメンディングテープで固定した
  • ついでにクリーンインストールした

競プロ参戦記

  • 8月中旬から note.mu で 競プロ参戦記 を始めた
  • AGC で惨敗して、2週間ぐらい競プロから離れていた
  • 先週の天下一は参加して、そこそこの成績だった
  • まったりやっていく

toml-hummer

  • リポジトリ
  • F# 用の TOML パーサー
  • あまり進んでない
  • 日時リテラルを扱えるようになりつつある

React

  • 機能追加はうまくいっている
  • データベース処理ごとテストしてる
    • 依存関係を切るの難しい
  • 履歴移動でコンポーネントの状態が初期化される問題はまだ放置してる
  • サーバーとクライアントで行ったり来たりする処理の見通しが悪い
    • ステートマシンみたいになってしまう
    • 再帰下降パーサーみたいに書きたい

ガルパ

  • ファントムシーフ (Expert 27) はクリアできた
  • 今後は 26 帯の精度を上げていきたい
  • 某の影響をで左手プレイを練習している

その他

関連記事