Type a search term to find related articles by LIMS subject matter experts gathered from the most trusted and dynamic collaboration tools in the laboratory informatics industry.
This article is rated Start-class on Wikipedia's content assessment scale. It is of interest to the following WikiProjects: | |||||||||||
|
A bunch of stuff was removed with the comment "don't make the intro CS-centric, please." However, the only cited references is Pierce's "Types and Programming Languages." I'm okay with separating CS specific view points from a more general logical notion of the bottom type - but we need references. Also, in the process of removing the CS view point from the lede a lot of good stuff was removed including references to the top type and unit types. I'm reinstating some of that stuff, but will shuffle it around a bit. —Preceding unsigned comment added by 70.187.129.176 (talk) 21:31, 24 October 2008 (UTC)
Whoever doesn't understand the need for this edit should WAKE UP! Michael Hardy (talk) 21:48, 5 April 2009 (UTC)
Article says:
This seems to be wrong in several ways: First, bottom is defined to be a subtype of every type, not merely a subtype of every reference type. Second, nothing about the definition of bottom says that it is the unique subtype of all types. Third, bottom is a type which has no values, so the null pointer cannot be a value of type bottom. (It can be a value of a unit type.)
Can anyone explain why the reference believes otherwise? --FOo (talk) 06:04, 30 January 2010 (UTC)
I removed this text:
In a Turing-complete language, it is not generally possible to assert that a function will halt and return rather than looping forever. For instance, a function whose type states that it will return an integer may in fact not return. In order to theoretically account for this possibility, the bottom type is considered a subtype of integer (and, indeed, all types): a function declared as returning integer does not violate the type system if it instead loops forever.
For many given functions, the halting problem is easily solved, but that's irrelevant. The bottom type would describe a function that does not return, which is not only easier to verify, but very useful to specify. Anyway, how did integers enter the discussion? Potatoswatter (talk) 07:04, 28 August 2010 (UTC)
Even bottom types always have exactly one value, namely whatever state a bottom typed entity is in. — Preceding unsigned comment added by 82.139.81.0 (talk) 17:50, 17 November 2012 (UTC)
Rust has removed the bottom type. See this issue: https://github.com/rust-lang/rust/issues/14973 and this pull request: https://github.com/rust-lang/rust/pull/17603 and also this related issue, for fallout: https://github.com/rust-lang/rust/issues/20172
It's been replaced by the notion of "diverging functions" which never return. This includes functions which panic and functions which loop forever or issue a process abort.
See also The Rust Reference:
We call such functions "diverging" because they never return a value to the caller. Every control path in a diverging function must end with a panic!() or a call to another diverging function on every control path. The ! annotation does not denote a type.
Bagofries (talk) 23:24, 10 April 2015 (UTC)
See - https://wiki.haskell.org/Bottom. I don't have enough expertise on this to disambiguate between the two. Furiousviki (talk) 09:24, 12 April 2024 (UTC)