id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,os,architecture,failure,difficulty,testcase,blockedby,blocking,related
3858,the resolution of abbreviated commands in ghci is surprising.,Saizan,simonmar,"{{{
GHCi, version 6.12.1: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
Prelude> :i True
data Bool = ... | True  -- Defined in GHC.Bool
Prelude> :def ifoo \_ -> putStrLn ""ifoo"" >> return """"
Prelude> :i True
ifoo
}}}

It seems that abbreviations are resolved to the command, that matches the prefix, which is defined last. I've found this behaviour very confusing in practice.

I'd expect rebinding :i to some command that's not :info to require an explicit declaration.",bug,closed,high,7.6.1,GHCi,6.12.1,fixed,,phercek@…,Unknown/Multiple,Unknown/Multiple,None/Unknown,Unknown,,,,
