Wikifunctions:ZID yang Dipesan
- Wiki fungsi saat ini membuat beberapa ZObjek statis saat didirikan. Seiring berjalannya waktu, kita akan perlu lebih ZObjek seperti itu.
Halaman ini membahas diskusi santai mengenai berapa banyak ZID yang harus disimpan, apakah mereka harus bersebelahan, dan apa sebaiknya ZID yang pertama. Ini bisa juga dijadikan tempat menaruh telur Paskah, sebuah fitur yang telah terbukti populer di Wikidata.
Perhatikan bahwa, untuk menyederhanakan diskusi, saat ini kami tidak berpikir tentang kemungkinan di masa depan kita akan memiliki federasi instansi perangkat lunak yang menjalankan wiki fungsi, dan bagaimana itu akan bekerja. Kami hanya berpikir tentang ZID mana saja yang sebaiknya disimpan untuk wiki fungsi itu sendiri.
Apakah ZID yang dipesan sebaiknya bersebelahan?
Ya.
Ada suatu rasa kesederhanaan jika mengatakan "semua ZID dengan 4 digit ke bawah sudah dipesan".
Ada juga model hibrida untuk memesan semua ZID di bawah bilangan tertentu, serta memesan beberapa ZID yang lebih besar untuk telur Paskah atau alasan tertentu (itu yang dilakukan Wikidata).
Berapa banyak ZID yang sebaiknya dipesan?
Mari kita pesan semua ZID dengan empat digit atau kurang.
Semua objek inti akan berada di ZID dengan tiga digit dan kurang, dan kita menyimpan ZID empat digit untuk bahasa.
Ini mengikuti usulan yang dibuat oleh anggota komunitas di halaman diskusi dan di Phabricator. Secara khusus, kita juga tidak akan mengemas ruangannya.
ZID yang saat ini dipesan
Lihat Wikifunctions:Reserved ZIDs/all untuk daftar objek yang sudah ditentukan saat ini.
Jangkauan
Kami memesan ruang tertentu untuk jenis-jenis objek yang sudah ditentukan.
Z1
–Z99
: tipe inti. (Lihat § Tipe inti di bawah.)Z100
–Z199
: validator untuk tipe inti (untuk setiap tipe inti, +100 menghasilkan validatornya), contohnya Z104 adalah validator untuk Z4/TipeZ200
–Z299
: implementasi bawaan untuk validators tipe inti (contohnya Z204 adalah implementasi bawaan untuk validator Z4/Tipe)Z300
–Z399
: belum ditetapkan untuk sekarangZ400
–Z499
: disediakan untuk penggunaan lokalZ500
–Z599
: tipe galat inti (Z5xx
karenaZ5
adalah galat) (Lihat § Tipe galat inti di bawah.)Z600
–Z699
: bahasa pemrograman inti (Z6xx
karenaZ61
adalah bahasa pemrograman)Z700
–Z799
: belum ditetapkan untuk sekarangZ800
–Z899
: definisi fungsi inti dengan implementasi bawaan (Z8xx
karenaZ8
adalah fungsi) (Lihat § Fungsi inti di bawah.)Z900
–Z999
: implementasi bawaan untuk fungsi inti (jaraknya +100 dari Z8xx masing-masing)Z1000
–Z2999
: bahasa alami (contoh dari Z60)Z3000
–Z5999
: dipesan untuk penggunaan di masa yang akan datangZ6000
–Z6999
: types, functions, etc. for using content from Wikidata and other Wikimedia sourcesZ6000
–Z6099
: types for content from Wikidata and other Wikimedia sourcesZ6100
–Z6199
: validators for these typesZ6200
–Z6299
: built-in implementations of the validatorsZ6800
–Z6899
: helper functions for these types that need to be built-in (e.g., fetching, equality)Z6900
–Z6999
: built-in implementations of the helper functions
Z7000
–Z7999
: eksperimental, digunakan untuk pembangkitan bahasa alami, akan diubahZ8000
–Z8999
: Penguji untuk setiap fungsi yang telah ditetapkan (contohnya Z801 diuji oleh Z8010, Z8011, Z8012, … Z8019).Z9000
–Z9999
: dipesan untuk penggunaan di masa yang akan datang
Tipe inti
Z1
: ZObjek, akarnya.Z2
: Objek bersinambung (Tipe): semua hal di wiki ini adalah sebuahZ2
, makanya ZID sangat rendah.Z3
: Kunci (Tipe): karena bahasa Inggrisnya, key, terdiri dari tiga huruf.Z4
: Tipe (Tipe): karena bahasa Inggrisnya, type, terdiri dari empat huruf.Z5
: Galat (Tipe): karena bahasa Inggrisnya, error, terdiri dari lima huruf. (Lihat § Tipe galat inti di bawah.)Z6
: Untaian (Tipe): karena bahasa Inggrisnya, $error, terdiri dari enam huruf.Z7
: Panggilan fungsi (Tipe): karena pemanggilan fungsi adalah keajaiban utama dari sistem ini, dan 7 adalah bilangan ajaib. Ia juga dekat denganZ8
.Z8
: Fungsi (tipe generik, jadi secara teknis sebuah fungsi): karena bahasa Inggrisnya, function, terdiri dari delapan huruf. (Lihat § Fungsi inti di bawah.)Z9
: Referensi (Tipe): karena bahasa Inggrisnya, reference, terdiri dari sembilan huruf.Z10
: Daftar (tipe generik, jadi secara teknis sebuah fungsi): karena ini adalah bilangan pertama dengan dua digit.Z11
: Teks satu bahasa (Tipe): karena hanya dalam satu bahasa, dan ada satu di namanya.Z12
: Teks multibahasa (Tipe): karena merupakan perpanjangan dariZ11
.Z13
: daftar kosong (Daftar): alam membenci kekosongan, dan orang-orang membenci 13.Z14
: Implementasi (Tipe): karena bahasa Inggrisnya, implementation, terdiri dari empat belas huruf.Z15
: Belum ditetapkan.Z16
: Kode (Tipe): tidak ada alasan bagus, ia dekat ke Z14, dan Z61/Bahasa pemrograman.Z17
: Deklarasi argumen (Tipe).Z18
: Referensi argumen (Tipe).Z19
: Belum ditetapkan.Z20
: Penguji (Tipe): karena 20/20 berarti penglihatan yang sempurna, dan uji coba membuat galat terlihat.Z21
: Unit (Tipe).Z22
: Hasil evaluasi (Tipe).Z23
: Tidak ada (Tipe).Z24
: kosong (Unit).Z25
: Belum ditetapkan.Z26
: Belum ditetapkan.Z27
: Belum ditetapkan.Z28
: Belum ditetapkan.Z29
: Belum ditetapkan.Z30
: Belum ditetapkan.Z31
: Himpunan teks satu bahasa (Tipe).Z32
: Himpunan teks multibahasa (Tipe): karena merupakan perpanjangan dariZ31
.Z33
: Belum ditetapkan.Z34
: Belum ditetapkan.Z35
: Belum ditetapkan.Z36
: Belum ditetapkan.Z37
: Belum ditetapkan.Z38
: Belum ditetapkan.Z39
: Referensi kunci (Tipe): karena Z3/Kunci dan Z9/Referensi.Z40
: Boolean (Tipe): karena Boole pertama kali menerbitkan pada tahun (18)40.Z41
: benar (Boolean).Z42
: salah (Boolean).Z43
: Belum ditetapkan.Z44
: Belum ditetapkan.Z45
: Belum ditetapkan.Z46
: Belum ditetapkan.Z47
: Belum ditetapkan.Z48
: Belum ditetapkan.Z49
: Belum ditetapkan.Z50
: Tipe galat (Tipe): karena Galat adalahZ5
.Z60
: Bahasa alami (Tipe): karenaZ6
adalah Untaian.Z61
: Bahasa pemrograman (Tipe): karenaZ16
adalah Kode.Z80
: Bita (Tipe): karena terdiri dari delapan bit.Z84
: Gabungan (Tipe).Z85
: Belum ditetapkan.Z86
: Titik kode (Tipe): karena bukan benar-benar Z80/Bita, melainkan lebih mirip Z6/Untaian.Z99
: Kutipan (Tipe): karena sedikit mirip dengan tanda kutip penutup di bahasa Inggris.
Fungsi inti
Z801
Echo: T ➝ T- menghasilkan masukan tanpa perubahan
Z802
If: Boolean, T, T ➝ T- menghasilkan argumen kedua jika argumen pertama benar, jika tidak menghasilkan yang ketiga; bahasa Inggrisnya, if, terdiri dari dua huruf
Z803
Value by key: Key reference, Any ➝ Any- menghasilkan nilai berdasarkan kunci dari objek; Z3/Kunci
Z805
Reify: Any ➝ List(Pair(Key reference, Any))- mengubah objek menjadi daftar pasangan kunci dan nilai; reify terdiri dari lima huruf
Z808
Abstract: List(Pair(Key reference, Any)) ➝ Any- mengubah daftar pasangan kunci dan nilai menjadi sebuah objek; abstract terdiri dari delapan huruf.
Z810
Prepend element to list: T, List(T) ➝ List(T)- memasukkan objek ke awal daftar terurut objek (karena Z10 adalah daftar).
Z811
First element: List(T) ➝ T- mendapatkan butir pertama dalam daftar terurut objek (karena Z10 adalah daftar dan kita mendapatkan butir pertama)
Z812
List without first element: List(T) ➝ List(T)- mendapatkan daftar tanpa objek pertama (karena Z10 adalah daftar dan kita mendapatkan butir kedua, sisanya)
Z813
Empty: List(T) ➝ Boolean- menghasilkan jawaban untuk apakah daftar tidak mengandung butir apa pun (karena Z13 adalah daftar kosong)
Z820
Trigger Metadata: String, Any ➝ Any- menerima nilai yang diberikan (suatu galat atau metadata lainnya) dan mengeluarkannya dalam pembungkus respons pemanggilan fungsi dengan nama Untaian yang diberikan.
Z821
First: Pair(T1, T2) ➝ T1- mengekstraksi nilai pertama dari pasangan (karena Z22 adalah pasangan).
Z822
Second: Pair(T1, T2) ➝ T2- mengekstraksi nilai kedua dari pasangan (karena Z22 adalah pasangan).
Z844
Boolean equality: Boolean, Boolean ➝ Boolean- menghasilkan nilai benar jika kedua masukannya sama dan salah jika tidak
Z860
Language code to language: String ➝ Language- menerima kode bahasa dalam bentuk untaian dan menghasilkan objek bahasa alami
Z866
String equality: String, String ➝ Boolean- menghasilkan nilai benar jika kedua masukannya sama dan salah jika tidak
Z868
Convert: String ➝ List(Character)- mengubah untaian menjadi daftar Karakter, karena Z6/Untaian dan Z86/Karakter.
Z873
Map: Function, List ➝ List- menghasilkan daftar yang masing-masing elemennya adalah hasil pemrosesan Z8/Fungsi terhadap setiap Z1/Objek dalam Z881/Daftar yang dimasukkan
Z876
Reduce: Function, List, Object ➝ Object- menghasilkan sebuah nilai setelah menjalankan Fungsi pada setiap objek dalam Daftar, dimulai dari Objek yang diberikan
Z868
Convert: String ➝ List(Character)- mengubah untaian menjadi daftar Karakter, karena Z6/Untaian dan Z86/Karakter.
Z881
Typed list: Type ➝ Type- menerima masukan tipe dan menghasilkan tipe dari sebuah daftar yang elemen-elemennya memiliki tipe tersebut
Z882
Typed pair: Type, Type ➝ Type- menerima dua tipe dan menghasilkan tipe yang mewakili pasangan dari kedua tipe tersebut
Z883
Map: … ➝ …- …
Z884
Union: T, T ➝ T- menerima dua tipe dan menghasilkan sebuah tipe yang menerima tipe mana pun di antara keduanya
Z885
Error type to type: Error type ➝ Type- menerima tipe galat dan membuat sebuah tipe darinya
Z886
Convert: List*(Character) ➝ String- mengubah daftar Karakter menjadi sebuah untaian, karena Z86/Karakter dan Z6/Untaian.
Z887
Reduce: … ➝ …- …
Z888
Same: Character, Character ➝ Boolean- membandingkan dua karakter dan menjawab apakah mereka sama.
Z899
Unquote: Quote ➝ Any- membongkar tanda kutip dari ZObjek, karena Z99/Kutipan
Tipe galat inti
Z501
(pesan galat, masukan): sintaksis salahZ502
(subtipe, nilai): tidak terbentuk dengan baik, mengacu kepada Z52x atau Z53xZ503
(nama fungsi): belum diimplementasikanZ504
(zid): Zid tidak ditemukanZ505
(diharapkan, diberikan, argumen-argumen): jumlah argumen tidak sesuaiZ506
(diharapkan, diberikan, arguman): tipe argumen tidak sesuaiZ507
(panggilan fungsi): terjadi galat dalam evaluasiZ508
(objek): kunci-kunci saling bersaingZ509
(galat-galat): Daftar galatZ510
(tidak ada): nihilZ511
(referensi kunci, objek): kunci tidak ditemukanZ512
(objek): galat Z9Z513
(objek terurai): objek terurai tanpa Z2K2Z514
(implementasi): Implementasi bawaan tidak adaZ515
(implementasi): ID bawaan salahZ516
(kunci, nilai buruk): Galat nilai argumenZ517
(tipe yang diharapkan, tipe yang diterima, nilai yang dihasilkan, galat yang disebarkan): Ketidaksesuaian tipe hasilZ518
(tipe yang diharapkan, objek, galat yang disebarkan): Ketidaksesuaian tipe objekZ519
(objek): Tipe daftar belum ditentukanZ520
(objek): Tipe daftar salahZ521
(nilai yang melanggar): ZObjek tidak boleh angka atau Boolean atau nihilZ522
(indeks yang melanggar dalam larik, galat yang disebarkan): Elemen larik tidak terbentuk dengan benarZ523
(objek): Z1K1 tidak ditemukanZ524
(nilai Z1K1): Z1K1 tidak boleh untaian atau larikZ525
(kunci): kunci tidak validZ526
(kunci, galat yang disebarkan): nilai tidak terbentuk dengan benarZ531
(objek utuh): Z6 harus punya 2 kunciZ532
(objek utuh): Z6 tanpa Z6K1Z533
(nilai Z6K1): Z6K1 haruslah untaianZ534
(objek utuh): Z9 harus punya 2 kunciZ535
(objek utuh): Z9 tanpa Z6K1Z536
(nilai Z9K1): Z9K1 haruslah untaian berformat JSONZ537
(nilai Z9K1): Z9K1 harus terlihat seperti referensiZ538
(judul halaman): salah ruang namaZ539
(judul halaman): salah tipe kontenZ540
(kode bahasa): kode bahasa tidak validZ541
(kode bahasa): kode bahasa tidak ditemukanZ542
(tipe yang diharapkan, objek yang diterima): tipe yang diharapkan, object yang diterimaZ543
(nama tipe): tipe tidak ditemukanZ544
(zid tipe, nama tipe, nama tipe yang ada): nama tipe sudah dipakaiZ545
(zid tipe, nama tipe, zid tipe yang ada): Zid tipe sudah dipakaiZ546
(zid tipe, nama tipe): tipe bawaan tidak ditemukanZ547
(masukan): format tidak validZ548
(pesan galat, masukan): JSON tidak validZ549
(nilai referensi): ZReference tidak validZ550
(nilai referensi): ZReference tidak dikenalZ551
(kunci, tipe yang diharapkan, tipe yang diterima): tipe skema tidak sesuaiZ552
(indeks, tipe yang diharapkan, tipe yang diterima): tipe elemen larik tidak sesuaiZ553
(zobjek): tipe akar yang tidak diizinkanZ554
(ZID yang bertentangan, bahasa): label sudah dipakai ZObject lainZ555
(ZID, judul): ZID dan judul halaman tidak sesuaiZ556
(judul): judul halaman tidak validZ557
(pesan galat): pengguna tidak memiliki izinZ558
(bahasa pemrograman): bahasa pemrograman tidak validZ559
(tidak ada): pengguna tidak diizinkan untuk mengevaluasi fungsiZ560
(hasil evaluasi): hasil evaluasi tidak validZ561
(galat yang disebarkan): permintaan evaluasi tidak sahZ562
(atribut yang tidak ditemukan): permintaan evaluasi tidak lengkapZ563
(panggilan): panggilan oleh eksekutor yang tidak masuk ulangZ564
(konten): respons eksekutor tidak sahZ565
(atribut yang tidak ditemukan): permintaan eksekutor tidak lengkapZ570
(batas laju orkestrator): mencapai batas laju di orkestratorZ571
(batas laju evaluator): mencapai batas laju di evaluatorZ572
(batas rekursi, nama fungsi): mencapai batas rekursi di orkestratorZ573
(batas rekursi, nama fungsi): mencapai batas rekursi di evaluatorZ574
(batas waktu): mencapai batas waktu di orkestratorZ575
(batas waktu): mencapai batas waktu di evaluator