title: Defining polymorphic constants in Haskell
body: <p>I've read about polymorphic constants/nullary polymorphic functions <a href="http://learnyouahaskell.com/types-and-typeclasses" rel="noreferrer" title="Learn You a Haskell: Chapter 12 - A Fistful of Monads">in Learn You A Haskell</a>. It gave several examples of built-in ones, such as:</p>
  
  <pre><code>ghci&gt; 20 :: Float  
  20.0  
  ghci&gt; 20 :: Int  
  20  
  ghci&gt; minBound :: Int  
  -2147483648  
  ghci&gt; maxBound :: (Bool, Int, Char)  
  (True,2147483647,'\1114111')  
  </code></pre>
  
  <p>However, it does not explain how to define your own. How are they defined?</p>