From: Christiaan Baaij Date: Thu, 20 Aug 2009 07:15:43 +0000 (+0200) Subject: Merge branch 'cλash' of http://git.stderr.nl/matthijs/projects/master-project X-Git-Url: https://git.stderr.nl/gitweb?a=commitdiff_plain;h=a09063e81d573bfa513d30ae97dba95485dc67e9;p=matthijs%2Fmaster-project%2Fc%CE%BBash.git Merge branch 'cλash' of git.stderr.nl/matthijs/projects/master-project * 'cλash' of http://git.stderr.nl/matthijs/projects/master-project: Add a not in isUserDefined. Let vhld_ty handle free tyvars gracefully. Add ty_has_free_tyvars predicate. Split substitute into substitute and substitute_clone. Rewrite substitute to clone the substitution range. Don't error on type abstraction when cloning binders. When inlining top level functions, guarantee uniqueness. Make all binders unique before normalizing. Add genUniques function to regenerate all uniques. Add mapAccumLM helper function. Don't try to inline non-normalizeable top level functions. Add andM and orM utility functions. Add isNormalizeable predicate. Make isRepr work on TypedThings instead of CoreExpr. Also inline functions named "fromInteger". Don't extra non-representable values in simplres. Use isUserDefined for (not) inlining top level functions. Add isUserDefined predicate. Inline all top level functions that look simple. --- a09063e81d573bfa513d30ae97dba95485dc67e9