add David's Keccak implementation
Only print `Loading` when the module is going to be loaded

  Looks like we were re-loading everything afterall!  This closes #10
Merge branch 'master' into devel
add travis.yml
install the Cabal library before starting the Travis build
disable email notifications for travis
fix expected output for tests after fix in #10
Setup.hs: unbreak 'runhaskell Setup configure' building mode

Otherwise default hook won't generate src/GitRev.hs file.

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Only print `Loading` when the module is going to be loaded

  Looks like we were re-loading everything afterall!  This closes #10
Add more destructor functions for TypeCheck.AST.Type
New module Cryptol.TypeCheck.TypeOf has functions to compute Type of an Expr
Add "fin" constraint on index size for (@), (!) and (!!), like (@@) has.

Prior to this changeset, any of the following three expressions

[1,2,3] @ (zero : [inf])
[1,2,3] ! (zero : [inf])
[1,2,3] !! [zero : [inf]]

would produce the following error:

  Location:  [Eval] fromVWord
  Message:   not a word
             [False, False, False, False, False, ...]
Pretty printer for Cryptol.Parser.AST.Expr parenthesizes infix operators.

(The printer for Cryptol.TypeCheck.AST.Expr already does this.)

Previously:
Cryptol> :t (+)
+ : {a} (Arith a) => a -> a -> a

Now:
Cryptol> :t (+)
(+) : {a} (Arith a) => a -> a -> a
Cryptol REPL prints a hint if the user omits "=" on a ":set" command.

Old behavior:
Cryptol> :set base 16
base 16 = 10

New behavior:
Cryptol> :set base 16
Unknown user option: `base 16`
Did you mean: `:set base = 16`?
Add an FNV-1a example (non-cryptographic hash).
:sat and :prove print counterexamples in the user-configured number base
REPL handles printing of :sat/prove results; parenthesize predicates as appropriate
Update regression tests for :prove and :sat output

As of ee8685e4f283968b236b9328b43b5d72eb49cee6, :sat and :prove now
parse and then pretty print the given predicate with appropriate
parenthesization.
Pretty-print hex literals in parser AST using lowercase "abcdef".

This makes the Cryptol.Parser.AST pretty printer consistent with the
one for values in Cryptol.Eval.Value.
Fix compiler warnings