title: Why I am forced to write the (Data Constructor) name with first letter in small case?
body: <p>Why I am forced to write <code>liOfLi</code> in place of <code>LiOfLi</code>? Please guide.</p>
  
  <p>code in baby.hs</p>
  
  <blockquote>
    <p>LiOfLi = [ [1,3,4,5,6,8], [ 12, 13, 15, 16, 19, 20],  [23, 24, 25, 45, 56] ]</p>
  </blockquote>
  
  <p>ghci response:</p>
  
  <blockquote>
    <p>ghci> :l baby<br>
    [1 of 1] Compiling Main             ( baby.hs, interpreted )<br>
    Failed, modules loaded: none.</p>
    
    <p>ghci> 
    baby.hs:29:1: Not in scope: data constructor `LiOfLi'</p>
  </blockquote>
  
  <p>When changing the initial letter to smaller case</p>
  
  <p>code in baby.hs</p>
  
  <blockquote>
    <p>liOfLi = [ [1,3,4,5,6,8], [ 12, 13, 15, 16, 19, 20],  [23, 24, 25, 45, 56] ]</p>
  </blockquote>
  
  <p>ghci response:</p>
  
  <blockquote>
    <p>ghci> :l baby<br>
    [1 of 1] Compiling Main             ( baby.hs, interpreted )<br>
    Ok, modules loaded: Main.</p>
  </blockquote>
  
  <p>Following are the SO questions I referred but I failed to understand the rules/ logic and get the answer for (my) abovementioned question.</p>
  
  <p><a href="https://stackoverflow.com/questions/6237775/why-does-haskell-force-data-constructors-first-letter-to-be-upper-case">Why does Haskell force data constructor&#39;s first letter to be upper case?</a></p>
  
  <p>the variable names need to be lowercase. The official documentation related to this is at <a href="http://www.haskell.org/onlinereport/intro.html#namespaces" rel="nofollow noreferrer">haskell.org/onlinereport/intro.html#namespaces</a> –  (the SO comment by)  <a href="https://stackoverflow.com/questions/8010850/haskell-not-in-scope-data-constructor#comment9803452_8010850">Chris Kuklewicz</a></p>