vital.vim
vital.vim copied to clipboard
RFC: Reorganize module namespaces
Slack の vim-jp/#vital-dev
にて、各モジュールがどのパッケージに入っているべきかの見直しの話題が出ました。
https://docs.google.com/spreadsheets/d/1ncrq_k64viFgR5bwpMf8IuYcDaiXjLx-2kNCoqQBvxs/edit
パッケージの現状を上記のスプレッドシートに軽くまとめ、見直しとして、以下のような意見があります。
-
Prelude.is_windows()
系の関数をどこかに移したい -
System
と言う名前割と曖昧なので用途をはっきりさせたい- 実行環境的なニュアンスがある
- その観点で言うと
System.Cache
だけ異端
-
Data
は Haskell から来ている - 方針決めて新しいモジュールセットを作りたい
-
Process
とSystem.Process
があるのがわかりづらい- Process系全部廃止したい
- DateTime がひょこんと root にいるのもちょっと気になる
- どこに入れるべきか悩んだ結果そうなった
- パッケージごとに何に関するモジュールを入れとけばいいかってのだけ決めとけばいいのではないか
- ルールから逸脱するのだけはダメという感じ
- README とかに書いておきたい
- たたき台 https://docs.google.com/spreadsheets/d/1ncrq_k64viFgR5bwpMf8IuYcDaiXjLx-2kNCoqQBvxs/edit
- Data はデータ構造を突っ込む場所って観点だと思ったよりそんなに違和感あるモジュールはなかった
- データ構造と、
Data.String
みたいに既存データを扱うやつが混在している
- データ構造と、
- System -> OS にしたい
-
is_windows
系の移住先としてはOS
使いたい - そもそも System って単語が幅が広過ぎる
-
Slack ではログが流れるため、ある程度の議論が終わったらこちらに dump してください。
関連 issue #376 #423
vim-jp/#vital-dev に join してない人のために slackarchive のリンクも貼っておきます https://vim-jp.slackarchive.io/vital-dev/page-1/ts-1513574481000104