Change array types to carry a (Range Length) from Feldspar.Range instead of
using an internal Length type.
Change array types to carry a (Range Length) from Feldspar.Range instead of
using an internal Length type.
Fix merge conflicts.

Conflicts:
	lib/Feldspar/Compiler/Imperative/FromCore/Interpretation.hs
	lib/Feldspar/Compiler/Imperative/Frontend.hs
Merge pull request #4 from pjonsson/master

Change array representation to carry a (Range Length) instead of an internal data type Length.
Adapt to newtype in feldspar-language
Replace uses of defaultSize with ranges where we do have sufficient range information.
Merge pull request #7 from pjonsson/master

Replace uses of defaultSize with ranges where we do have sufficient range information.
Replace a copy&paste comment with a real comment.
Add a comment.
Prevent premature initializations by not floating dangerous declarations.
Merge pull request #8 from pjonsson/floating-issue1

Avoid unsafe floating of initialized variables.
Improved ranges for loops
Making `Feldspar.Compiler` export a much smaller set of identifiers and moved the old module to `Feldspar.Compiler.Internal`
Preserve declarations in loops
Compile Then without an extra variable
Compile Bind without aliasing

Note, this might increase copying, but it is correct.

Closes #12.
Float declarations that can safely be floated.

The previous patch that prevented floating declarations was a sledgehammer
fix that made the code hard to read. We can easily do a bit better without
much effort, so do that.
Merge pull request #13 from pjonsson/master

Float some more declarations.
Compile ModRef
Delete redundant implementation