aiscript icon indicating copy to clipboard operation
aiscript copied to clipboard

名前空間名の再考

Open marihachi opened this issue 1 year ago • 19 comments

  • Core:とUtil:の違いがわかりにくい

など

marihachi avatar Oct 12 '23 11:10 marihachi

Core:v Core:v
Core:ai Core:ai
Core:type Core:type
Util:uuid Util:uuid
Core:range Arr:range
Core:add Math:add
Core:eq Bool:eq
Core:to_str Str:to_str
Core:sleep

salano-ym avatar Oct 12 '23 12:10 salano-ym

Obj:系の存在もあって◯◯:には「◯◯に対して何かを行う」イメージがあるので、

|Core:range|Arr:range?| |Core:eq系|Bool:eq?| |Core:to_str|Str:to_str?|

この辺りの「結果が」◯◯型になるような分類はちょっとピンとこないかも?

FineArchs avatar Oct 12 '23 13:10 FineArchs

名前空間ということで将来的にusingが実装されるかもしれないので、用途別に分けるのがよい?

FineArchs avatar Oct 12 '23 13:10 FineArchs

これどうなりますかね

marihachi avatar Oct 20 '23 11:10 marihachi

正直より良い案が出ないので名前空間の変更については凍結でいいかもしれないです… ただ、今後のためにUtil:って何?何でUtil:uuidだけUtil:?っていうのはハッキリさせたいです

FineArchs avatar Oct 20 '23 11:10 FineArchs

Util:uuidUuid:generateの方が良さそう?

marihachi avatar Oct 20 '23 11:10 marihachi

Util:uuidUuid:generateの方が良さそう?

良さそうですね

FineArchs avatar Oct 20 '23 11:10 FineArchs

これやりますか? 他に変更点は大丈夫そうですかね

marihachi avatar Nov 14 '23 09:11 marihachi

Util:の定義ですが、「uuidやjsonのような外部の共通規格のうち、定数・関数が一つで済むため独立した名前空間を与えるまでもないもの」用の名前空間ということにするのはどうでしょうか?

FineArchs avatar Nov 14 '23 10:11 FineArchs

将来性を考えると(少なくともコア機能以外は)分けられるなら分けておいた方が良いかと思います

salano-ym avatar Nov 14 '23 10:11 salano-ym

基本的にはそうなんですが、例えばuuidなどは将来的にもgenerate以外の用途は生まれないと思うんですよね。 そういうものにも固有の名前空間を与えていると名前空間の数が必要以上に多くなってしまうと思うので、私としてはまとめても問題ないものはまとめたいです。

FineArchs avatar Nov 14 '23 10:11 FineArchs

Core:とUtilの違い

Coreは言語の動作に必須と思われるもの、Utilはあれば便利だけど無くても問題ないもの

という分け方を想定してた

syuilo avatar Nov 14 '23 10:11 syuilo

名前空間が増えると困ることはありますか?

個人的には分けるならrandMath:じゃなくてRand:に独立してほしいです

salano-ym avatar Nov 14 '23 11:11 salano-ym

将来関数が増えてドキュメントが名前空間ごとに分けられるようになった場合、関数が一つしかないページがたくさんあるような状況は見通しが悪そうだ、という感じです

FineArchs avatar Nov 14 '23 11:11 FineArchs

逆に一つのページに項目が多すぎるのも問題なので、Math:のように既に多くのメンバーがある名前空間からRand:などを独立させるのは賛成です。

FineArchs avatar Nov 14 '23 11:11 FineArchs

名前空間の見出しページがあれば問題ないかと思います randは項目数ではなくてmathとrandomを区別する言語が多いと感じたので

salano-ym avatar Nov 14 '23 11:11 salano-ym

名前空間にするまでもない機能は名前空間に入れないというのも1つだと思います。 そういう機能は今のところ存在しないので、検討する必要があるとは思いますが

marihachi avatar Nov 14 '23 12:11 marihachi

ただそれだと変数名と干渉することが増えるかも std名前空間みたいなのを作って、そこに全部入れて未分類をstdの直下に置くのはどうですかね

marihachi avatar Nov 14 '23 12:11 marihachi

つまり今までのMath:PIstd:Math:PIになったりするような感じですかね? 流石に書くのが面倒になりそうな気がしますが…

FineArchs avatar Nov 14 '23 14:11 FineArchs