Keep size information for function arguments.
Merge pull request #44 from pjonsson/sics-hoisting

Add the first client of the conditional rewrite infrastructure.
Export FeldOpts so we can use reifyFeld
Made (?) infix. Closes #46.

Inspired by <http://www.haskell.org/haskellwiki/Case#infix_operator>
Added a make command to easily type check all tutorial files
Reenabling optimization rules for `Bind`
Merge pull request #1 from emilaxelsson/arg-sizes

Reenabling optimization rules for `Bind`
Added `scan` to Vector.Internal
Merge pull request #47 from pjonsson/arg-sizes

Keep size information for function arguments

Conflicts:
	src/Feldspar/Core/Constructs/Loop.hs
	src/Feldspar/Core/Constructs/Mutable.hs
	src/Feldspar/Core/Constructs/Par.hs
Update range propagation test case
Removed type constraint that prevented Let from being used anywhere in an expression

In particular, it was not possible to have a let expression with monadic result type.
Relaxing code motion to take advantage of the fact that expressions can now be shared anywhere
Depending on the latest syntactic that fixes a bug in code motion
Adding test cases for new forms of sharing: top-level constants and sharing in monadic code
Added missing golden files
Add error printout for missing case
Don't share above lambdas
Update test cases
Force cabal update
Switching variables in topLevelConsts test case

If we allow sharing in expressions of function type, this example will now
result in a let binding between the two top-level lambdas.