matthijs/master-project/cλash.git
14 years agoRewrite Alu using the State newtype.
Matthijs Kooijman [Thu, 6 Aug 2009 17:21:17 +0000 (19:21 +0200)]
Rewrite Alu using the State newtype.

This is the way stateful functions will be working. Alu.hs now compiles,
but it does not result in valid (stateful) VHDL yet.

14 years agoFilter out empty-typed binders in selector cases.
Matthijs Kooijman [Thu, 6 Aug 2009 17:19:52 +0000 (19:19 +0200)]
Filter out empty-typed binders in selector cases.

This makes sure that the non-empty binders are skipped when calculating
the field number, which prevents overflow when indexing the field names.

14 years agoAdd hasNonEmptyType helper function.
Matthijs Kooijman [Thu, 6 Aug 2009 17:18:48 +0000 (19:18 +0200)]
Add hasNonEmptyType helper function.

14 years agoLet argsToVHDLExpr ignore empty types.
Matthijs Kooijman [Thu, 6 Aug 2009 17:09:11 +0000 (19:09 +0200)]
Let argsToVHDLExpr ignore empty types.

This makes sure that state arguments are not passed to called functions.

14 years agoGeneralize vhdl_ty to work an all TypedThings.
Matthijs Kooijman [Thu, 6 Aug 2009 17:08:22 +0000 (19:08 +0200)]
Generalize vhdl_ty to work an all TypedThings.

14 years agoAdd isJustM helper function.
Matthijs Kooijman [Thu, 6 Aug 2009 17:06:43 +0000 (19:06 +0200)]
Add isJustM helper function.

14 years agoRename eitherCoreOrExprArgs to argsToVHDLExprs.
Matthijs Kooijman [Thu, 6 Aug 2009 16:47:09 +0000 (18:47 +0200)]
Rename eitherCoreOrExprArgs to argsToVHDLExprs.

Also add a helper function to make it more readable.

14 years agoRemove the getType field name from OrdType.
Matthijs Kooijman [Thu, 6 Aug 2009 15:54:03 +0000 (17:54 +0200)]
Remove the getType field name from OrdType.

This conflicted with the getType method from TypedThing. The field label
was never used.

14 years agoPut mkAssocElems in the TranslatorSession.
Matthijs Kooijman [Thu, 6 Aug 2009 15:45:56 +0000 (17:45 +0200)]
Put mkAssocElems in the TranslatorSession.

14 years agoRemove unused mkAssocElemIndexed.
Matthijs Kooijman [Thu, 6 Aug 2009 15:43:40 +0000 (17:43 +0200)]
Remove unused mkAssocElemIndexed.

14 years agoDon't generate VHDL for substate extractor cases.
Matthijs Kooijman [Thu, 6 Aug 2009 15:40:25 +0000 (17:40 +0200)]
Don't generate VHDL for substate extractor cases.

14 years agoFix letremoveunused, it removed all used bindings.
Matthijs Kooijman [Thu, 6 Aug 2009 15:32:25 +0000 (17:32 +0200)]
Fix letremoveunused, it removed all used bindings.

14 years agoFix the trace output of normalized functions.
Matthijs Kooijman [Thu, 6 Aug 2009 15:21:49 +0000 (17:21 +0200)]
Fix the trace output of normalized functions.

Before, it would output the un-normalized version.

14 years agoFiltering out state arguments is no longer needed.
Matthijs Kooijman [Thu, 6 Aug 2009 15:13:54 +0000 (17:13 +0200)]
Filtering out state arguments is no longer needed.

Since State types generate empty VHDL types now, they will be filtered out
automatically.

14 years agoGenerate the empty type for State types.
Matthijs Kooijman [Thu, 6 Aug 2009 15:13:14 +0000 (17:13 +0200)]
Generate the empty type for State types.

14 years agoAllow explicit empty VHDL types using Maybe.
Matthijs Kooijman [Thu, 6 Aug 2009 15:08:25 +0000 (17:08 +0200)]
Allow explicit empty VHDL types using Maybe.

The VHDL type generating functions can now return "Nothing" to mean that an
empty type would be generated. There are still some spots (builtin
functions mostly) that should handle this more gracefully, but it works
for now. Only single-constructor zero-argument algebraic types generate
the empty type currently, e.g. ().

14 years agoDon't generate input ports for State arguments.
Matthijs Kooijman [Thu, 6 Aug 2009 14:21:32 +0000 (16:21 +0200)]
Don't generate input ports for State arguments.

14 years agoDon't generate VHDL for state packing.
Matthijs Kooijman [Thu, 6 Aug 2009 14:20:51 +0000 (16:20 +0200)]
Don't generate VHDL for state packing.

14 years agoAdd TypedThing class, and generalize hasStateType with it.
Matthijs Kooijman [Thu, 6 Aug 2009 14:15:20 +0000 (16:15 +0200)]
Add TypedThing class, and generalize hasStateType with it.

14 years agoAdd letremoveunused transformation.
Matthijs Kooijman [Thu, 6 Aug 2009 13:56:44 +0000 (15:56 +0200)]
Add letremoveunused transformation.

This transformation removes all unused let bindings.

14 years agoAdd changeif normalization helper function.
Matthijs Kooijman [Thu, 6 Aug 2009 13:56:23 +0000 (15:56 +0200)]
Add changeif normalization helper function.

14 years agoAdd expr_uses_binders predicate.
Matthijs Kooijman [Thu, 6 Aug 2009 13:56:04 +0000 (15:56 +0200)]
Add expr_uses_binders predicate.

14 years agoAdd {is,has}StateType predicates.
Matthijs Kooijman [Thu, 6 Aug 2009 13:55:43 +0000 (15:55 +0200)]
Add {is,has}StateType predicates.

14 years agoLet mkTupleShow support empty tuples.
Matthijs Kooijman [Thu, 6 Aug 2009 13:47:19 +0000 (15:47 +0200)]
Let mkTupleShow support empty tuples.

14 years agoRemove the unused "stateful" argument fomr makeVHDL*.
Matthijs Kooijman [Thu, 6 Aug 2009 10:06:32 +0000 (12:06 +0200)]
Remove the unused "stateful" argument fomr makeVHDL*.

State will be explicitely specified in the Haskell sources, so no reason
anymore to pass the statefulness of a function around.

14 years agoMerge branch 'master' of git://github.com/christiaanb/clash into cλash
Matthijs Kooijman [Wed, 5 Aug 2009 15:10:41 +0000 (17:10 +0200)]
Merge branch 'master' of git://github.com/christiaanb/clash into cλash

* 'master' of git://github.com/christiaanb/clash:
  Fix builtin functions (!),take and RangedWord

Conflicts:
cλash/CLasH/VHDL/Generate.hs

14 years agoRestructure the "finder" functions.
Matthijs Kooijman [Wed, 5 Aug 2009 15:04:48 +0000 (17:04 +0200)]
Restructure the "finder" functions.

Previously, there were three different functions for the top entity,
initial state and test input. Now, there is just a single one, which
guarantees that these things are properly linked together. This should no
also support generating multiple entities at the same time (though there
is no top level interface for this yet).

This change also makes the testbench generation optional. A bunch of
functions were moved from Utils to GhcTools, to prevent a dependency loop.

14 years agoAdd catMaybesM and concatM helper functions.
Matthijs Kooijman [Wed, 5 Aug 2009 15:04:06 +0000 (17:04 +0200)]
Add catMaybesM and concatM helper functions.

14 years agoUse the right id for the testbench architecture.
Matthijs Kooijman [Wed, 5 Aug 2009 15:00:47 +0000 (17:00 +0200)]
Use the right id for the testbench architecture.

14 years agoFix builtin functions (!),take and RangedWord
Christiaan Baaij [Wed, 5 Aug 2009 14:17:17 +0000 (16:17 +0200)]
Fix builtin functions (!),take and RangedWord

14 years agoFix testbench again.
Matthijs Kooijman [Wed, 5 Aug 2009 13:21:45 +0000 (15:21 +0200)]
Fix testbench again.

The testbench code has also been moved to a separate module.

14 years agoSplit of part of getNormalized into normalizeExpr.
Matthijs Kooijman [Wed, 5 Aug 2009 13:20:14 +0000 (15:20 +0200)]
Split of part of getNormalized into normalizeExpr.

14 years agoAdd unzipM helper function.
Matthijs Kooijman [Wed, 5 Aug 2009 12:51:53 +0000 (14:51 +0200)]
Add unzipM helper function.

14 years agoSlightly simplify getEntity.
Matthijs Kooijman [Wed, 5 Aug 2009 12:05:45 +0000 (14:05 +0200)]
Slightly simplify getEntity.

14 years agoMove around some helper functions.
Matthijs Kooijman [Wed, 5 Aug 2009 11:59:39 +0000 (13:59 +0200)]
Move around some helper functions.

This moves some stuff from NormalizeTools and NormalizeTypes into the
(new) BinderTools and TranslatorTypes. This also puts most of these
function in the TranslatorSession instead of the TransformMonad.

14 years agoRemove compatability aliases for the old sessions.
Matthijs Kooijman [Wed, 5 Aug 2009 10:36:38 +0000 (12:36 +0200)]
Remove compatability aliases for the old sessions.

14 years agoMake vhdl generation and normalization lazy.
Matthijs Kooijman [Wed, 5 Aug 2009 10:12:28 +0000 (12:12 +0200)]
Make vhdl generation and normalization lazy.

Previously, first all function would be (recursively) normalized, and then
VHDL would be generated. Now, functions are normalized when needed, and
recursion is done while generating VHDL (so we know exactly which
components we are instantiating).

This disables the testbench and TFVec constructor for now, I'll fix that
in the next commits.

This also moves some code around, to prevent loops between Generate and
VHDL (again...).

The VHDLSession and NormalizeSession have been removed, and replaced with
the (previously unused) TranslatorSession. There are a few backward
compatibility aliases in place, so the next commit will probably remove
these and do a bunch of trivial replaces all over the code.

14 years agoPut a comment on UniqSupply generation back.
Matthijs Kooijman [Mon, 3 Aug 2009 10:26:43 +0000 (12:26 +0200)]
Put a comment on UniqSupply generation back.

14 years agoMerge branch 'master' of git://github.com/christiaanb/clash into cλash
Matthijs Kooijman [Mon, 3 Aug 2009 10:20:29 +0000 (12:20 +0200)]
Merge branch 'master' of git://github.com/christiaanb/clash into cλash

* 'master' of git://github.com/christiaanb/clash:
  TFVec builtin should now completely work
  Clean up imports in Generate.hs
  Use createDirectoryIfMissing to create the vhdl directory, as it can create the parent directories too
  Reflect API changes of clash in clash-nolibdir
  Bring back listBind(ings) in Utils.hs by reorganising Translator.hs and GhcTools.hs
  Fix a few comments so Haddock will complete
  Further clean up Translator.hs (almost done now)
  Cleanup Translator.hs
  Fail again when we find a global function
  Partially fixed TFVec builtin function. Still needs to be verified

14 years agoTFVec builtin should now completely work
Christiaan Baaij [Mon, 3 Aug 2009 07:51:55 +0000 (09:51 +0200)]
TFVec builtin should now completely work

14 years agoClean up imports in Generate.hs
Christiaan Baaij [Sun, 2 Aug 2009 19:17:21 +0000 (21:17 +0200)]
Clean up imports in Generate.hs

14 years agoUse createDirectoryIfMissing to create the vhdl directory, as it can create the paren...
Christiaan Baaij [Sun, 2 Aug 2009 19:07:46 +0000 (21:07 +0200)]
Use createDirectoryIfMissing to create the vhdl directory, as it can create the parent directories too

14 years agoReflect API changes of clash in clash-nolibdir
Christiaan Baaij [Sun, 2 Aug 2009 18:51:29 +0000 (20:51 +0200)]
Reflect API changes of clash in clash-nolibdir

14 years agoBring back listBind(ings) in Utils.hs by reorganising Translator.hs and GhcTools.hs
Christiaan Baaij [Sat, 1 Aug 2009 18:41:19 +0000 (20:41 +0200)]
Bring back listBind(ings) in Utils.hs by reorganising Translator.hs and GhcTools.hs

14 years agoFix a few comments so Haddock will complete
Christiaan Baaij [Fri, 31 Jul 2009 19:01:02 +0000 (21:01 +0200)]
Fix a few comments so Haddock will complete

14 years agoFurther clean up Translator.hs (almost done now)
Christiaan Baaij [Fri, 31 Jul 2009 18:46:17 +0000 (20:46 +0200)]
Further clean up Translator.hs (almost done now)

14 years agoCleanup Translator.hs
Christiaan Baaij [Fri, 31 Jul 2009 15:17:04 +0000 (17:17 +0200)]
Cleanup Translator.hs

Can be reduced in size even more by parameterizing the findcore functions
to work for both strings and annotations

14 years agoFail again when we find a global function
Christiaan Baaij [Fri, 31 Jul 2009 15:15:54 +0000 (17:15 +0200)]
Fail again when we find a global function

Was only disabled to fix the builtin TFVec function

14 years agoPartially fixed TFVec builtin function. Still needs to be verified
Christiaan Baaij [Fri, 31 Jul 2009 13:21:02 +0000 (15:21 +0200)]
Partially fixed TFVec builtin function. Still needs to be verified

14 years agoMerge casevalsimpl and casewild into casesimpl.
Matthijs Kooijman [Fri, 31 Jul 2009 12:34:34 +0000 (14:34 +0200)]
Merge casevalsimpl and casewild into casesimpl.

Both transformations had a very similar structure, which are now merged.

14 years agoFix a small bug in the case wildening.
Matthijs Kooijman [Fri, 31 Jul 2009 11:04:05 +0000 (13:04 +0200)]
Fix a small bug in the case wildening.

This bug could be triggered when the scrutinee was a datatype containing a
non-representable value. This is probably not translatable, but handle it
properly anyway.

14 years agoPrevent conflicts with inlinenonrep in normalization.
Matthijs Kooijman [Fri, 31 Jul 2009 10:37:08 +0000 (12:37 +0200)]
Prevent conflicts with inlinenonrep in normalization.

This is a followup on
ebdc2024d7cf71: Let inlinefun inline everything non-representable.
which make inlinefun more general. A few other normalizations tried to
prevent loops with inline fun, but now work correctly for the (new)
inlinenonrep.

14 years agoMerge branch 'master' of git://github.com/christiaanb/clash into cλash
Matthijs Kooijman [Fri, 31 Jul 2009 09:26:59 +0000 (11:26 +0200)]
Merge branch 'master' of git://github.com/christiaanb/clash into cλash

* 'master' of git://github.com/christiaanb/clash:
  Quick hack implementation of FSVec literals, needs to be fixed
  We need the latest vhdl package
  We now make a show function for all default datatypes.
  Add automated testbench generation according to supplied test input

Conflicts:
cλash/CLasH/Translator.hs

14 years agoQuick hack implementation of FSVec literals, needs to be fixed
Christiaan Baaij [Fri, 31 Jul 2009 07:19:57 +0000 (09:19 +0200)]
Quick hack implementation of FSVec literals, needs to be fixed

14 years agoWe need the latest vhdl package
Christiaan Baaij [Wed, 29 Jul 2009 12:08:54 +0000 (14:08 +0200)]
We need the latest vhdl package

14 years agoWe now make a show function for all default datatypes.
Christiaan Baaij [Wed, 29 Jul 2009 12:01:41 +0000 (14:01 +0200)]
We now make a show function for all default datatypes.

We need to figure out how to show custom datatypes in VHDL, for that
we will need a string representation for each constructor.

14 years agoAdd automated testbench generation according to supplied test input
Christiaan Baaij [Tue, 28 Jul 2009 14:52:18 +0000 (16:52 +0200)]
Add automated testbench generation according to supplied test input

Will not compile in VHDL yet as we need to implement the VHDL show method first

14 years agoShow type of binder in listBinding.
Matthijs Kooijman [Tue, 28 Jul 2009 13:40:41 +0000 (15:40 +0200)]
Show type of binder in listBinding.

14 years agoMake listBind use listBinding.
Matthijs Kooijman [Tue, 28 Jul 2009 13:38:30 +0000 (15:38 +0200)]
Make listBind use listBinding.

14 years agoExtend CoreShow for TyCons.
Matthijs Kooijman [Tue, 28 Jul 2009 13:26:58 +0000 (15:26 +0200)]
Extend CoreShow for TyCons.

This still does not completely show TyCons, since they are quite complex,
but at least distinguishes the various constructors and some useful info.

14 years agoRemove NoGenerics pragma, as the ghc bug 3391 is now fixed
Christiaan Baaij [Thu, 23 Jul 2009 21:18:35 +0000 (23:18 +0200)]
Remove NoGenerics pragma, as the ghc bug 3391 is now fixed

14 years agoAdd a clash wrapper that fills in the libdir from GHC.Paths
Christiaan Baaij [Thu, 23 Jul 2009 19:14:19 +0000 (21:14 +0200)]
Add a clash wrapper that fills in the libdir from GHC.Paths

14 years agoAlso add NoGenerics pragma to the other types.hs files
Christiaan Baaij [Thu, 23 Jul 2009 16:03:54 +0000 (18:03 +0200)]
Also add NoGenerics pragma to the other types.hs files

14 years agoFix core show
Christiaan Baaij [Thu, 23 Jul 2009 15:59:24 +0000 (17:59 +0200)]
Fix core show

14 years agoCurrently Generics support is broken in combination with deriveAccessors
Christiaan Baaij [Thu, 23 Jul 2009 15:22:47 +0000 (17:22 +0200)]
Currently Generics support is broken in combination with deriveAccessors

14 years agoAdd licence to top directory
Christiaan Baaij [Wed, 22 Jul 2009 11:38:20 +0000 (13:38 +0200)]
Add licence to top directory

14 years agoRemoved need for GHC.Paths, some functions however require a top libdir
Christiaan Baaij [Wed, 22 Jul 2009 11:33:44 +0000 (13:33 +0200)]
Removed need for GHC.Paths, some functions however require a top libdir

14 years agoUpdate .cabal file so that a default build is expected to be in the GHC tree
Christiaan Baaij [Wed, 22 Jul 2009 07:37:59 +0000 (09:37 +0200)]
Update .cabal file so that a default build is expected to be in the GHC tree

14 years agoMake sure clash is build using stage2 ghc when build in ghc build tree
Christiaan Baaij [Wed, 22 Jul 2009 07:31:30 +0000 (09:31 +0200)]
Make sure clash is build using stage2 ghc when build in ghc build tree

14 years agoChanged name of cabal file so it will work in the GHC build tree
Christiaan Baaij [Wed, 22 Jul 2009 07:27:03 +0000 (09:27 +0200)]
Changed name of cabal file so it will work in the GHC build tree

14 years agoChanged build-depends to only those libraries required to build clash
Christiaan Baaij [Mon, 20 Jul 2009 12:01:08 +0000 (14:01 +0200)]
Changed build-depends to only those libraries required to build clash

tfvec, tfp and th-lift-ng are however required to translate any haskell
file to VHDL. They will be included in the clash package

14 years agoWe now support Annotations to indicate top-level entity and initial state
Christiaan Baaij [Thu, 16 Jul 2009 13:25:10 +0000 (15:25 +0200)]
We now support Annotations to indicate top-level entity and initial state

14 years agoNo need for Main.hs now that clash is a library
Christiaan Baaij [Wed, 15 Jul 2009 18:14:06 +0000 (20:14 +0200)]
No need for Main.hs now that clash is a library

14 years agoAdepted the modules to their new structure
Christiaan Baaij [Wed, 15 Jul 2009 18:11:44 +0000 (20:11 +0200)]
Adepted the modules to their new structure

14 years agoMoved clash to it's own library directory, and started on library structure
Christiaan Baaij [Wed, 15 Jul 2009 17:29:53 +0000 (19:29 +0200)]
Moved clash to it's own library directory, and started on library structure

14 years agoMoved to new GHC API (6.11). Also use vhdl package for the VHDL AST
Christiaan Baaij [Wed, 15 Jul 2009 15:41:13 +0000 (17:41 +0200)]
Moved to new GHC API (6.11). Also use vhdl package for the VHDL AST

14 years agoRemove the (now unused) is_wild predicate.
Matthijs Kooijman [Tue, 14 Jul 2009 13:36:39 +0000 (15:36 +0200)]
Remove the (now unused) is_wild predicate.

14 years agoDon't create selector cases for unused binders.
Matthijs Kooijman [Tue, 14 Jul 2009 13:31:56 +0000 (15:31 +0200)]
Don't create selector cases for unused binders.

Previously, no selector cases were created for wild binders, using the
hacky is_wild predicate. Now, this checks the free variables of the case
value instead.

14 years agoMerge git://github.com/darchon/clash into cλash
Matthijs Kooijman [Tue, 14 Jul 2009 11:00:13 +0000 (13:00 +0200)]
Merge git://github.com/darchon/clash into cλash

* git://github.com/darchon/clash:
  Added resize function

14 years agoAdded resize function
Christiaan Baaij [Tue, 14 Jul 2009 08:28:03 +0000 (10:28 +0200)]
Added resize function

14 years agoRemove some unused code.
Matthijs Kooijman [Mon, 13 Jul 2009 13:50:23 +0000 (15:50 +0200)]
Remove some unused code.

14 years agoUse noSrcSpan instead of a dummy SrcSpan.
Matthijs Kooijman [Mon, 13 Jul 2009 13:50:07 +0000 (15:50 +0200)]
Use noSrcSpan instead of a dummy SrcSpan.

14 years agoSimplify eitherCoreOrExprArgs.
Matthijs Kooijman [Mon, 13 Jul 2009 13:33:37 +0000 (15:33 +0200)]
Simplify eitherCoreOrExprArgs.

14 years agoPulled 'varToVHDLExpr' into the TypeSession monad
Christiaan Baaij [Mon, 13 Jul 2009 13:25:53 +0000 (15:25 +0200)]
Pulled 'varToVHDLExpr' into the TypeSession monad

14 years agoNo longer any need to explicitly load module interface in 'toCore'
Christiaan Baaij [Mon, 13 Jul 2009 10:04:22 +0000 (12:04 +0200)]
No longer any need to explicitly load module interface in 'toCore'

We have to HscEnv from the original HaskellToCore compilation step
that already includes all the module interfaces we need.

14 years agoMerge branch 'cλash' of http://git.stderr.nl/matthijs/projects/master-project
Christiaan Baaij [Mon, 13 Jul 2009 10:01:00 +0000 (12:01 +0200)]
Merge branch 'cλash' of git.stderr.nl/matthijs/projects/master-project

* 'cλash' of http://git.stderr.nl/matthijs/projects/master-project:
  Generate proper VHDL for top level bindings with no arguments.
  Use is_local_var for limiting appsimpl and letsimpl.
  Add newline at the end of file.
  Add is_local_var predicate.
  Santize comment dashes position.
  Normalize all used global binders.

14 years agoGenerate proper VHDL for top level bindings with no arguments.
Matthijs Kooijman [Mon, 13 Jul 2009 09:57:25 +0000 (11:57 +0200)]
Generate proper VHDL for top level bindings with no arguments.

Previously, a = b bindings would always generate an unconditional
assignment. Now, they use genApplication to generate VHDL, and
genApplications knows how to generate unconditional assignments when b is
a local identifier, and a component instantiation when b is a top level
binder.

14 years agoUse is_local_var for limiting appsimpl and letsimpl.
Matthijs Kooijman [Mon, 13 Jul 2009 09:55:48 +0000 (11:55 +0200)]
Use is_local_var for limiting appsimpl and letsimpl.

Previously, appsimple and letsimpl would refrain from simplifying any Var
expression, since they are already simple. Now, they only refrain from
simplifying local variables, so references to top-level bindings will
still be simplified. This enables proper normalization of top level
bindings without arguments.

14 years agoAdd newline at the end of file.
Matthijs Kooijman [Mon, 13 Jul 2009 09:54:58 +0000 (11:54 +0200)]
Add newline at the end of file.

14 years agoAdd is_local_var predicate.
Matthijs Kooijman [Mon, 13 Jul 2009 09:52:44 +0000 (11:52 +0200)]
Add is_local_var predicate.

14 years agoOnly save normalized tfp integers in the tfp-cache
Christiaan Baaij [Mon, 13 Jul 2009 09:22:43 +0000 (11:22 +0200)]
Only save normalized tfp integers in the tfp-cache

14 years agoUse HscEnv from initial HsToCore transformation when translating tfp to int
Christiaan Baaij [Mon, 13 Jul 2009 09:08:10 +0000 (11:08 +0200)]
Use HscEnv from initial HsToCore transformation when translating tfp to int

14 years agoSantize comment dashes position.
Matthijs Kooijman [Mon, 13 Jul 2009 07:59:58 +0000 (09:59 +0200)]
Santize comment dashes position.

This allows us to comment some lines in and out without having to remember
the exact position of the comment dashes (to prevent unneeded changes in
git).

14 years agoNormalize all used global binders.
Matthijs Kooijman [Mon, 13 Jul 2009 07:43:31 +0000 (09:43 +0200)]
Normalize all used global binders.

Previously, only function-typed binders were normalized (not necessarily
limited to global ones!).

14 years agoGreat speed-up in type generation
Christiaan Baaij [Sat, 11 Jul 2009 20:23:59 +0000 (22:23 +0200)]
Great speed-up in type generation

Now just normalize tfp ints that are used as keys for the type map
Before these were translated to integers.

Save a map caches tfp ints, and their correspding integer literal

14 years agoCorrectly handle negate for unsigned integers
Christiaan Baaij [Thu, 9 Jul 2009 14:22:24 +0000 (16:22 +0200)]
Correctly handle negate for unsigned integers

14 years agoPartly fixed implementation for integer literals.
Christiaan Baaij [Wed, 8 Jul 2009 14:44:01 +0000 (16:44 +0200)]
Partly fixed implementation for integer literals.

But it still needs alot of fixing

14 years agoVERY Ad-hoc support of literals.
Christiaan Baaij [Wed, 8 Jul 2009 13:21:41 +0000 (15:21 +0200)]
VERY Ad-hoc support of literals.

Current implementation will probably fail in a lot of places

14 years agoAdded support for SizedInts and cleaned up some function related to SizedWords
Christiaan Baaij [Wed, 8 Jul 2009 12:20:10 +0000 (14:20 +0200)]
Added support for SizedInts and cleaned up some function related to SizedWords

14 years agoStarted adding numeric operations
Christiaan Baaij [Tue, 7 Jul 2009 12:39:16 +0000 (14:39 +0200)]
Started adding numeric operations