Tip inferior
Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de
versiunea revizuită la 19 iulie 2022; verificarea necesită
1 editare .
Cel mai mic tip ( tip nul , tip gol ) este un obiect folosit în unele teorii de tip și limbaje de programare care corespunde unui tip fără valori. Notația matematică standard este upper tack ( ). În cadrul corespondenței Curry-Howard, cel mai mic tip corespunde unei formule logice false.
În sistemele de subtipare , cel mai mic tip este un subtip de toate tipurile [1] ; cu toate acestea, invers poate să nu fie adevărat - în unele cazuri, subtipul tuturor tipurilor nu va fi neapărat cel mai scăzut. Unele sisteme de tip introduc un concept dublu - cel mai înalt tip , acoperind toate valorile posibile în sistem.
În programare, cel mai mic tip ca valoarea returnată a unei funcții este adesea folosit pentru a afișa divergența funcției: atunci când funcția nu returnează niciun rezultat apelantului. Sprijinit în Haskell (din 2010), Common Lisp (simbol NIL), Scala ( Nothing; folosit și pentru covarianța tipurilor parametrizate ), Rust (tip de date experimentale, notat ca !; prezent în semnătura funcțiilor care sunt garantate să nu returneze valori, pt. de exemplu, când apel panic!()sau buclă infinită și ca tip de returnare pentru operatorii de flux de control, cum ar fi break[ return)2] , Ceylon ( Nothing)[3] , Julia ( Union{})[4] , TypeScript ( never) ) [5] [6] , JavaScript cu adnotări Closure Compiler ( !Null), PHP ( never), Python ( typing.NoReturn) [7] , Kotlin ( Nothing)[8] , Elm ( Never) [9] , D ( noreturn) [10] .
Note
- ↑ Piers Benjamin S. (1997). „Cuantificare limitată cu o limită inferioară.” CiteSeerX 10.1.1.17.9230 .
- ↑ Tipul primitiv niciodată . Documentația bibliotecii standard Rust . Preluat la 24 septembrie 2020. Arhivat din original la 23 septembrie 2020. (nedefinit)
- ↑ Capitolul 3. Sistemul de tipări - 3.2.5. Tipul inferior . Limbajul de programare Ceylon . Red Hat, Inc. Consultat la 19 februarie 2017. Arhivat din original pe 20 februarie 2017. (nedefinit)
- ↑ Fundamentals of the Julia Programming Language , < https://docs.julialang.org/en/v1/base/base/ > Arhivat 25 iulie 2021 la Wayback Machine
- ↑ The never type, Note de lansare TypeScript 2.0 , Microsoft, 2016-10-06 , < https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-0.html#the-never-type > . Preluat la 1 noiembrie 2019. Arhivat 30 octombrie 2019 la Wayback Machine
- ↑ The never type, Note de lansare TypeScript 2.0, cod sursă , Microsoft, 2016-10-06 , < https://github.com/microsoft/TypeScript-Handbook/blob/bb3564f4f06dd776d430198a137ae90584504/%90584504. md#the-never-type > . Preluat la 1 noiembrie 2019. Arhivat la 16 iulie 2021 la Wayback Machine
- ↑ typing.NoReturn, typing — Type Hint Support, Python Language Documentation, Python Software Foundation , < https://docs.python.org/3/library/typing.html#typing.NoReturn > . Preluat la 25 februarie 2020. Arhivat la 21 februarie 2020 la Wayback Machine
- ↑ Nimic , < https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-nothing.html > . Preluat la 15 mai 2020. Arhivat la 25 februarie 2020 la Wayback Machine
- ↑ Niciodată , < https://package.elm-lang.org/packages/elm/core/latest/Basics#Never > . Preluat la 25 martie 2021. Arhivat la 10 aprilie 2021 la Wayback Machine
- ↑ Tipuri - Limbaj de programare D . dlang.org . Preluat: 31 iulie 2022. (nedefinit)
Link -uri
- Pierce B. Tipuri în limbaje de programare. - Dobrosvet , 2012. - 680 p. — ISBN 978-5-7913-0082-9 .