Род (теория типов)

Род в теории типов (англ. kind[1]) — тип конструктора типов, или более формально, тип ти́пового оператора высшего порядка. Система родо́в естественным образом представляется как родительское (вышестоящее) просто типизированное лямбда-исчисление, снабжённое примитивным типом, обозначаемым «*» (читается «тип»), формирующим род мономорфных типов данных.

Более наглядно, род представляет собой тип типов, или метатип — аналогично тому как множество значений формирует тип, — множество типов формирует род[2]. При этом вхождение типов в более общие типы (в качестве подтипов) отличается от принадлежности типов роду — деление разнообразных типов на рода происходит на более абстрактном уровне. Например, типы «натуральное», «целое» и «вещественное» являются подтипами более общего типа «число»; все четыре типа представляют непосредственные значения, и поэтому принадлежат к роду «*». Другие рода формируются из разнообразных операций над типами — подобно тому как в арифметике различают числа и операции над числами.

Синтаксически естественно было бы считать все полиморфные типы конструкторами типов; и, соответственно, все мономорфные — нульарными конструкторами типов. Однако, все нульарные конструкторы, то есть все мономорфные типы, в действительности принадлежат к единому роду, а именно к «*».

Из-за того, что ти́повые операторы высших порядков нетипичны для большинства языков программирования, в практике программирования рода́ используются для того, чтобы отличать типы данных от типов конструкторов, используемых для реализации параметрического полиморфизма. Рода́ явным или неявным образом появляются в языках с полными системами типов, таких как Haskell и Scala[3].

Примеры

Выведение родов в Haskell

Haskell предоставляет полиморфные типы, но не разрешает полиморфные рода́[5]. Например, в этом определении полиморфного алгебраического типа

data Tree z  = Leaf | Fork (Tree z) (Tree z)

z может принадлежать к любому роду, включая «», «» и др. По умолчанию Хаскел всегда выводит род «», если не явно не указан иной (см.ниже). Поэтому система проверки согласования типов отвергнет следующую попытку использовать тип Tree:

type FunnyTree = Tree []     -- ошибка

потому что тип [] принадлежит к роду «», а это не соответствует ожидаемому роду для z, который всегда «».

Однако, ти́повые операторы высших порядков разрешены. Например,

data App unt z = Z (unt z)

принадлежит к роду «», то есть unt должен быть унарным конструктором, но здесь он в качестве аргумента получает тип и возвращает другой тип.

См. также

Примечания

  1. В русскоязычной литературе нет устоявшегося перевода термина «kind». Встречаются такие варианты перевода как «вид», «сорт», «типаж»
  2. Пирс, 2012, Глава 29. Операторы над типами и виды.
  3. Generic of a Higher Kind. Дата обращения: 30 сентября 2017. Архивировано 10 июня 2012 года.
  4. Пирс, 2012, Глава 32. Расширенный пример: чисто функциональные объекты.
  5. Документация по языку Haskell использует одну и ту же стрелку и для функциональных типов, и для родов

Литература

Read other articles:

Personifikasi nasional Sklavinia, Germania, Galia, dan Roma yang membawa persembahan untuk Kaisar Otto III. Wend (bahasa Inggris Kuno: Winedas, Nordik Kuno: Vindr, Jerman: Wenden, Windencode: de is deprecated , bahasa Denmark: vendere, bahasa Swedia: vender, bahasa Polandia: Wendowie) adalah istilah yang mengacu kepada orang-orang Slavia Barat yang tinggal di kawasan permukiman suku bangsa Jermanik. Wend bukanlah suku bangsa yang homogen, tetapi terdiri dari berbagai suku atau...

 

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Januari 2023. Bandar Udara AketiIATA: noneICAO: FZKNInformasiMelayaniAketi, Democratic Republic of the CongoKetinggian dpl375 mdplPetaFZKNBandar udara di Republik Demokratik KongoLandasan pacu Arah Panjang Permukaan m kaki 950 3.117 Sumber: Great Circle Ma...

 

本條目存在以下問題,請協助改善本條目或在討論頁針對議題發表看法。 此條目需要补充更多来源。 (2018年3月17日)请协助補充多方面可靠来源以改善这篇条目,无法查证的内容可能會因為异议提出而被移除。致使用者:请搜索一下条目的标题(来源搜索:羅生門 (電影) — 网页、新闻、书籍、学术、图像),以检查网络上是否存在该主题的更多可靠来源(判定指引)。 �...

صورة للجيش الفرنسي في الحرب العالمية الثانية. يتحدث هذا المقال عن الجيش الفرنسي في الحرب العالمية الأولى. خلال الحرب العالمية الأولى، كانت فرنسا إحدى قوات الحلفاء في مواجهة قوى المركز. على الرغم من أن القتال حدث في كافة أنحاء العالم، وقع الجزء الأكبر من النزاع في بلجيكا ول�...

 

1961 film by George Marshall Cry for Happy1961 Theatrical PosterDirected byGeorge MarshallScreenplay byIrving BrecherBased onCry for Happy1958 novelby George Campbell[1]Produced byWilliam GoetzStarringGlenn FordDonald O'ConnorCinematographyBurnett GuffeyEdited byChester W. SchaefferMusic byGeorge DuningProductioncompanyWilliam Goetz ProductionsDistributed byColumbia PicturesRelease date January 1961 (1961-01)[2] Running time110 minutesCountryUnited StatesLanguageEngl...

 

Creative ControlTheatrical release posterIndex cardSutradaraBenjamin DickinsonProtagonis Benjamin Dickinson Nora Zehetner Dan Gill Alexia Rasmussen Gavin McInnes Reggie Watts Performing arts productionMark De Pace, Zachary Mortensen, Melody C. Roscher, Craig ShilowichMusikDražen BošnjakDistributor Amazon Studios Magnolia Pictures Penampilan perdana 14 Maret 2015 (2015-03-14) (SXSW) 11 Maret 2016 (2016-03-11) (United States) 9 November 2016 (2016-11-09) (France) D...

Halaman ini berisi artikel tentang seorang khalifah Abbasiyah. Untuk kegunaan lain, lihat Al-Ma'mun (disambiguasi). Artikel ini sudah memiliki referensi, tetapi tidak disertai kutipan yang cukup. Anda dapat membantu mengembangkan artikel ini dengan menambahkan lebih banyak kutipan pada teks artikel. (April 2010) (Pelajari cara dan kapan saatnya untuk menghapus pesan templat ini) al-Ma'munالمأمون Khalifah Amirul Mukminin Dinar emas al-Ma'mun, dicetak di Mesir pada tahun 830/1Khalifah K...

 

Partai Pekerja Tradisionalis SingkatanTWPKetuaMatthew HeimbachDibentuk2013Dibubarkan2018[1][2]Kantor pusatPaoli, Indiana[3]IdeologiNeo-NazismeNasionalisme kulit putihSupremasi kulit putihAnti-komunisme Anti-kapitalismePosisi ketigaEtnopluralismePosisi politikKanan jauhAfiliasi regionalFront Nasionalis (Amerika Serikat)BenderaPolitik Amerika SerikatPemilihan umum Traditionalist Worker Party (TWP) adalah sebuah kelompok neo-Nazi sayap kanan jauh yang aktif di Amerik...

 

† Человек прямоходящий Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:Синапсиды�...

Nakajima Aircraft CompanyPenerusFuji Heavy IndustriesDidirikan1918PendiriChikuhei NakajimaDitutup1945KantorpusatTokyo, Jepang Nakajima Aircraft Company (中島飛行機株式会社code: ja is deprecated , Nakajima Hikōki Kabushiki Kaisha) dulu adalah produsen pesawat terbang dan mesin pesawat terbang terkemuka di Jepang selama Perang Dunia II. Perusahaan ini masih eksis hingga hari ini sebagai sebuah produsen mobil dan pesawat terbang dengan nama Subaru. Sejarah Produsen pesawat terbang pert...

 

Cluster of Greek islands For the Peloponnesian island complex, see Messenian Oinousses. Municipality in GreeceOinousses ΟινούσσεςMunicipalityOinousses main settlementOinoussesLocation within the region Coordinates: 38°31′N 26°13′E / 38.517°N 26.217°E / 38.517; 26.217CountryGreeceAdministrative regionNorth AegeanRegional unitChiosArea • Municipality17.427 km2 (6.729 sq mi)Population (2021)[1] • Municip...

 

Former Overhill Cherokee town in Monroe County, Tennessee 35°35′43″N 84°12′08″W / 35.59517°N 84.20227°W / 35.59517; -84.20227 Tuskegee (Toskegee) and Fort Loudoun, as they appeared on Henry Timberlake's Draught of the Cherokee Country Tuskegee (also spelled Toskegee, Taskigi, and similar variations) was an Overhill Cherokee town located along the lower Little Tennessee River in what is now Monroe County, Tennessee, United States. The town developed in the l...

Carl Ernst Otto Kuntze 1843 - 1907 Carl Ernst Otto Kuntze (23 June 1843–27 January 1907) adalah botanis Jerman. Standar singkatan penulis Kuntze digunakan untuk mengindikasikan orang ini ketika mengutip sebuah nama botani.[1] Artikel biografi Barnhart, John Hendley (1913). Otto Kuntze. Bulletin of the Charleston Museum. 9. hlm. 65–68.  Urban, Ignaz (1902). Symbolae Antillanae (dalam bahasa Latin) (3): 70. . Hemsley, W. B. (1907). Dr. Otto Kuntze. Kew Bulletin of Mis...

 

Railway station in Mannheim, Baden-Württemberg, Germany Mannheim Hauptbahnhof Through stationGeneral informationLocationWilly-Brandt-Platz 1768161 MannheimMannheim, Baden-WürttembergGermanyCoordinates49°28′47″N 8°28′11″E / 49.47972°N 8.46972°E / 49.47972; 8.46972Owned byDeutsche BahnOperated by DB Netz DB Station&Service Line(s) Western line to Frankfurt Mannheim-Stuttgart high-speed rail line Rhine Valley Railway Mannheim–Saarbrücken railway Riedb...

 

São Toméan Football FederationCAFFounded1975HeadquartersRua João de Deus São ToméFIFA affiliation1986CAF affiliation1986PresidentDomingos MonteiroWebsitehttp://federacaosantomensefutebol.st/ The São Toméan Football Federation (Portuguese: Federação Santomense de Futebol — FSF) is the governing body of football in São Tomé and Príncipe. It was founded on July 11, 1975, affiliated to FIFA and to CAF in 1986. It organises the national football league and the national team. Its head...

This article relies largely or entirely on a single source. Relevant discussion may be found on the talk page. Please help improve this article by introducing citations to additional sources.Find sources: 2004 Italian Open – Men's doubles – news · newspapers · books · scholar · JSTOR (September 2021)Men's doubles2004 Italian OpenFinalChampions Mahesh Bhupathi Max MirnyiRunners-up Wayne Arthurs Paul HanleyScore2–6, 6–3, 6–4Events Singles men wom...

 

City in Hesse, Germany For other uses, see Darmstadt (disambiguation). You can help expand this article with text translated from the corresponding article in German. (July 2022) Click [show] for important translation instructions. Machine translation, like DeepL or Google Translate, is a useful starting point for translations, but translators must revise errors as necessary and confirm that the translation is accurate, rather than simply copy-pasting machine-translated text into the Eng...

 

La zona della Mezzaluna Fertile, all'incirca nel 7500 a.C., con i principali siti archeologici del periodo neolitico preceramico. Nell'area della Mesopotamia propriamente detta non vi erano ancora insediamenti umani. Questa voce è parte della serieEtà della pietra ↑ prima dell'Homo (Pliocene) Paleolitico Homo Paleolitico inferiore Homo habilis Homo erectus Olduvaiano Acheuleano Controllo del fuoco Industria litica Clactoniano Tayaziano Paleolitico medio Homo neanderthalensis Musteriano Pa...

Country in Central Africa This article is about the larger country. For the smaller country, see Republic of the Congo. For entities with similar names, see Republic of the Congo (disambiguation). DRC redirects here. For other uses, see DRC (disambiguation). Democratic Republic of the CongoRépublique démocratique du Congo (French) Flag Emblem Motto: Justice – Paix – Travail(Justice – Peace – Work)Anthem: Debout Congo...

 

Las BrujasFicha técnicaDirección Robert ZemeckisProducción Alfonso CuarónGuillermo del ToroJack RapkeRobert ZemeckisGuion Kenya BarrisRobert ZemeckisGuillermo del ToroBasada en Las brujas de Roald DahlMúsica Alan SilvestriFotografía Don BurgessVestuario Joanna JohnstonProtagonistas 12 personasAnne HathawayOctavia SpencerStanley TucciChris RockJahzir BrunoCodie-Lei EastickKristin ChenowethCharles EdwardsMorgana RobinsonJosette SimonEugenia CarusoSimon Manyonda Ver todos los créditos (IM...