Tags: krame505/bsc
Tags
Merge pull request B-Lang-org#284 from krame505/generics Implement and use a generics mechanism based on GHC.Generics The merged commits include the following changes: * Add a Generic typeclass and associated data types/constructors for generic representations * Define Generic instances in the library for some primitive types * Automatically derive Generic instances for all types (that don't already have an instance) * Replace the previous auto-derived classes (Uninitialized, Undefined, DeepSeqCond) with Generic-based implementations * Workaround the problems with polymorphic fields by auto-generating a wrapper type * Introduce SPolyWrap as a new struct subtype, for the generated wrapper types * Add 'internal' property on the generated wrapper types, to hide them in bluetcl queries * Remove now-unneeded 'forbidsRecursiveInstance' and friends (and obsolete the error tag) * Add a CShow library implemented with Generic * Add WExperimental warning for use of Generic class in a context (reported in CtxRed)
Guard e ++ (if c thn _) optimizations when there can be implicit cond… …itions.