### IgorII input examples for reverse Source: https://www.haskell.org/communities/05-2010/html/report.html Input examples for the IgorII system describing the behavior of reverse on lists of increasing length. These non-recursive equations are used to synthesize a recursive definition. ```Haskell reverse [] | = | [] reverse [a] | = | [a] reverse [a,b] | = | [b,a] reverse [a,b,c] | = | [c,b,a] ``` -------------------------------- ### Install Hubris on Linux Source: https://www.haskell.org/communities/05-2010/html/report.html Install Hubris on Linux using Cabal and RubyGems. The two commands are run in sequence to set up the bridge between Ruby and Haskell. ```bash cabal install hubris ``` ```bash gem install hubris ``` -------------------------------- ### Get xmonad source with darcs Source: https://www.haskell.org/communities/05-2010/html/report.html Clone the xmonad source repository using Darcs. The URL is the official Darcs source for xmonad. ```shell darcs get http://code.haskell.org/xmonad ``` -------------------------------- ### IgorII synthesized recursive reverse with last and init Source: https://www.haskell.org/communities/05-2010/html/report.html Recursive definition of reverse synthesized by IgorII from the input examples. The subfunctions last and init are automatically invented by the program. ```Haskell reverse [] | = | [] reverse (x:xs) | = | (last (x:xs)):(reverse (init (x:xs)) last [x] | = | x last (x:y:ys) | = | last (y:ys) init [x] | = | [] init (x:y:ys) | = | x:(init (y:ys)) ```