抽象的なウィキペディア/更新情報/2020年11月25日

This page is a translated version of the page Abstract Wikipedia/Updates/2020-11-25 and the translation is 100% complete.
抽象的なウィキペディアの更新情報 Translate

メーリングリストによる抽象ウィキペディア IRCに関する抽象的なウィキペディア Telegramのウィキファンクションズ Wikifunctions on Mastodon Twitterのウィキファンクションズ Facebook上のウィキファンクションズ YouTubeのウィキファンクションズ ウィキファンクションズのウェブサイト Translate

ウィキファンクションズ内の全てのオブジェクトは、ウィキデータの項目、語彙素がそれぞれQ-IDとL-IDとなっているのと同様に、Z-IDによって識別されます。

Z-IDのほとんどは単純に連続して割り当てられますが、Q-IDやL-IDと同様に、意図的に選択されたZ-IDをいくつか用意する予定です。 Q-IDやL-IDとは異なり、これらの目標は、イースターエッグとなることではなく、略号となり、覚えやすくすることです。

いや、いや、心配しないでください。使用するのに必要な全てのZ-IDを覚えておくべきではありません。インターフェイスは、ほとんどのZ-IDを隠すべきです。 しかし、システムの初期バージョンでインターフェースが十分に完成していない場合や、その後のデバッグ作業、あるいはネットワーク上でメッセージを作成したり検査したりする場合に、コアのZ-IDが全くの任意の割り当てよりも少しでも思い出しやすくなっていると便利な場合があります。

ウィキファンクションの中核となるオブジェクトにふさわしいZ-IDを共に見つけませんか。 Reserved Z-IDsのページに解答をまとめています。

そのページでは、以下について論じて、一覧にしています。

  • 例えば、4桁以下の全てのZ-ID(3桁以下、あるいは2桁や1桁)といった連続したブロックの予約Z-IDとするべきです。
  • どのZ-IDを予約すべきですか
  • これらZ-IDは何を表しているのですか?
  • 事前に割当てZ-IDを取得すべきオブジェクトは何ですか?

ここで、Function Modelで割当てられたZ-IDの現状に伴ういくつかの考えを示します(ただし、上記ページはこれらの考えに必ずしも一致していないことがわかります)。

予約Z-IDの数を最小限とし、Z1からZ99までのZ-IDを予約しています。それはタイトです。それらをZ999またはZ9999に広げることにより、より多くの領域が得られます。

Z1からZ25のZ-IDは、主に関数モデルの基本的な型用でした。 これらには、オブジェクト、型、関数、実装、エラー、文字列、リストなどを含んでいます。 その後、15個ほどの初期関数にZ-IDのブロックを割当てることを考えました。そして、その20個上に、各初期組込実装を割当てます。 例えばifZ31であり、ifの組込実装がZ51です。 それ以外に、特定のエラーコード、言語、およびブール値TrueとFalseに対していくつかの予約済みZ-IDが必要です。

ここで、どのように基本的な型のものがZ-IDを割当てるかには、いくつかの考え(主に英語ラベルの長さを元にしている)があります。

  • Z1 : Object (Type) : 全てはここから始まるからです。
  • Z2 : Persistent object (Type) : ウィキ上の全てがZ2であり、これが低位Z-IDとしている理由です。
  • Z3 : Key (Type) : Keyという単語が英語で3文字だからです。
  • Z4 : Type (Type) : typeという単語が英語で4文字だからです。
  • Z5 : Error (Type) : errorという単語が英語で5文字だからです。
  • Z6 : String (Type) : stringという単語が英語で6文字だからです。
  • Z7 : Function call (Type) : 関数呼出しはシステムの主要なマジックであり、7はマジックナンバーだからです。 また、Z8と隣接しています。
  • Z8 : Function (ジェネリック型であり、技術的には関数) : functionという単語が英語で8文字だからです。
  • Z9 : Reference (Type) : referenceという単語が英語で9文字だからです。
  • Z10 : List (ジェネリック型であり、技術的には関数) : 2桁の最初の数字だからです。
  • Z11 : Monolingual text (Type) : ただ1つの言語であり、名前に1があるからです。
  • Z12 : Multilingual text (Type) : Z11の続きだからです。
  • Z14 : Implementation (Type) : implementationという単語が英語で14文字だからです。
  • Z20 : Tester (Type) : 20/20は正常な視力だからで、テストはエラーを可視化します。
  • Z99 : Quote (Type) 

割当てがまだ必要な1つの基本的な型はブール値であり、他の型もあるかもしれません。

現在提案されている15個の初期関数のリスト:

  • if: Boolean, T, T ➝ T
  • value by key: Key reference, T ➝ U
  • reify: Any ➝ List(Pair(Key reference, Any))
  • abstract: List(Pair(Key reference, Any)) ➝ Any
  • head: List(T) ➝ T
  • tail: List(T) ➝ T
  • empty: List(T) ➝ Boolean
  • cons: T, List(T) ➝ List(T)
  • unquote: Quote ➝ Any

それに加えて、ほとんどの基本的な型の検証関数も必要です。 Phabricator(T261474)に基本的な関数と型についてのタスクがあります。

これらは全て単なる提案であり、ウィキ上での議論を見ると喜ばしいです。 記憶しやすさや、本物のイースターエッグでも構わないので、そこで予約Z-IDについて更なる提案をしてください。 私たちよりもずっと良い、より面白い提案が出てくると確信しています。 だから皆さんのアイデアを教えて下さい。また来週、ニュースでお会いしましょう。