Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

名前空間名の再考 #405

Open
Tracked by #396
marihachi opened this issue Oct 12, 2023 · 19 comments
Open
Tracked by #396

名前空間名の再考 #405

marihachi opened this issue Oct 12, 2023 · 19 comments

Comments

@marihachi
Copy link
Contributor

marihachi commented Oct 12, 2023

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

など

@salano-ym
Copy link
Member

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

@FineArchs
Copy link
Member

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

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

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

@FineArchs
Copy link
Member

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

@marihachi marihachi added this to the AiScript Next milestone Oct 15, 2023
@marihachi
Copy link
Contributor Author

これどうなりますかね

@FineArchs
Copy link
Member

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

@marihachi
Copy link
Contributor Author

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

@FineArchs
Copy link
Member

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

良さそうですね

@marihachi
Copy link
Contributor Author

marihachi commented Nov 14, 2023

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

@FineArchs
Copy link
Member

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

@salano-ym
Copy link
Member

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

@FineArchs
Copy link
Member

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

@syuilo
Copy link
Collaborator

syuilo commented Nov 14, 2023

Core:とUtilの違い

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

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

@salano-ym
Copy link
Member

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

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

@FineArchs
Copy link
Member

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

@FineArchs
Copy link
Member

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

@salano-ym
Copy link
Member

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

@marihachi
Copy link
Contributor Author

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

@marihachi
Copy link
Contributor Author

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

@FineArchs
Copy link
Member

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants