Timeline


and

Oct 19, 2005:

4:04 PM Changeset in ghc [3d8a0867]at-defaultsatomicsbetter-ho-cardinalitycardinalitycoerciblecoloured-corecpr-sum-typescrosscross-compiler-alienlessdata-kind-syntaxdecision-procedureencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8ghc-axiomsghc-constraint-solverghc-deferghc-lwc2ghc-new-coghc-new-flavorghc-parmake-gsocghc-spjimp-param-classknown-key-serializationlate-dmdlate-lam-liftlocal-gcmonad-compnew-demand-to-mergenewcgno-pred-tyoverlapping-tyfamsprofilingreal-src-loc-spansdocsilent-sc-argssimdsrclocsupercompilertc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simpleunboxed-tuple-argumentsunboxed-tuple-arguments2wip/Cabal-1.20wip/T4404wip/T5084wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by sof <unknown>
[project @ 2005-10-19 16:04:38 by sof] ocGetNames_PEi386(): correctly allocate .bss sections in relocatable object files. See commit for details; fixes misc GHCi crashes reported against 6.4.1. Merge to STABLE.
9:37 AM Ticket #470 (build fails on Linux/sparc (genprimopcode: parse error at)) closed by arekm

Oct 18, 2005:

9:28 PM Ticket #470 (build fails on Linux/sparc (genprimopcode: parse error at)) created by arekm
[…]
5:13 PM Ticket #469 (Corruption of expression typed at prompt) closed by nobody
5:13 PM Ticket #469 (Corruption of expression typed at prompt) created by nobody
[…]
11:36 AM Changeset in base [2a5112b]data-proxydbcsencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8imp-param-classmonad-compsupercompilertype-reasoningwindows-iocp by simonmar <unknown>
[project @ 2005-10-18 11:36:25 by simonmar] Fixes to enable base to be compiled with -fasm on Windows: - a few stdcall/ccall mismatches - use GetTempPathA instead of GetTempPath (a couple of these)
11:36 AM Changeset in directory [2a5112b]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8patch-5014 by simonmar <unknown>
[project @ 2005-10-18 11:36:25 by simonmar] Fixes to enable base to be compiled with -fasm on Windows: - a few stdcall/ccall mismatches - use GetTempPathA instead of GetTempPath (a couple of these)
11:36 AM Changeset in process [2a5112b]encodingghc-7.2ghc-7.4ghc-7.6ghc-7.8 by simonmar <unknown>
[project @ 2005-10-18 11:36:25 by simonmar] Fixes to enable base to be compiled with -fasm on Windows: - a few stdcall/ccall mismatches - use GetTempPathA instead of GetTempPath (a couple of these)
11:04 AM Changeset in ghc [c30b7a08]at-defaultsatomicsbetter-ho-cardinalitycardinalitycoerciblecoloured-corecpr-sum-typescrosscross-compiler-alienlessdata-kind-syntaxdecision-procedureencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8ghc-axiomsghc-constraint-solverghc-deferghc-lwc2ghc-new-coghc-new-flavorghc-parmake-gsocghc-spjimp-param-classknown-key-serializationlate-dmdlate-lam-liftlocal-gcmonad-compnew-demand-to-mergenewcgno-pred-tyoverlapping-tyfamsprofilingreal-src-loc-spansdocsilent-sc-argssimdsrclocsupercompilertc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simpleunboxed-tuple-argumentsunboxed-tuple-arguments2wip/Cabal-1.20wip/T4404wip/T5084wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by panne <unknown>
[project @ 2005-10-18 11:04:28 by panne] For the 100th time: Fixed the DocBook XML. >:-( Please, please, please: Everybody should do a "make validate" before checking in any XML stuff!

Oct 17, 2005:

7:04 PM Ticket #468 (internal error: schedule: awaitEvent() in threaded RTS) created by nobody
[…]
2:12 PM Ticket #467 (Win GHC 6.4.1 crashes while building FastPackedString) created by wagerlabs
[…]
11:12 AM Changeset in ghc [283fb93]ghc-7.8wip/Cabal-1.20wip/T8545-ghc-7.8wip/T8776wip/T8995-level-generalisationwip/nested-cprwip/pattern-synonymswip/recurs-compat by simonpj <unknown>
[project @ 2005-10-17 11:12:31 by simonpj] Add case-simplification test
11:12 AM Changeset in testsuite [0b4adac]at-defaultsatomicsdata-kind-syntaxencodingghc-7.2ghc-7.4ghc-7.6ghc-deferghc-new-comonad-compno-pred-tyoverlapping-tyfamspatch-4404patch-5014patch-5084tc-untouchablesth-newtype-natstype-nats-simpleunboxed-tuple-argumentsunboxed-tuple-arguments2wip/nested-cprwip/pattern-synonymswip/th-new by simonpj <unknown>
[project @ 2005-10-17 11:12:31 by simonpj] Add case-simplification test
11:11 AM Changeset in ghc [9137abf]at-defaultsatomicsbetter-ho-cardinalitycardinalitycoerciblecoloured-corecpr-sum-typescrosscross-compiler-alienlessdata-kind-syntaxdecision-procedureencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8ghc-axiomsghc-constraint-solverghc-deferghc-lwc2ghc-new-coghc-new-flavorghc-parmake-gsocghc-spjimp-param-classknown-key-serializationlate-dmdlate-lam-liftlocal-gcmonad-compnew-demand-to-mergenewcgno-pred-tyoverlapping-tyfamsprofilingreal-src-loc-spansdocsilent-sc-argssimdsrclocsupercompilertc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simpleunboxed-tuple-argumentsunboxed-tuple-arguments2wip/Cabal-1.20wip/T4404wip/T5084wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by simonpj <unknown>
[project @ 2005-10-17 11:11:15 by simonpj] Buglets in GADT record-syntax stuff, which killed the weekend builds
11:10 AM Changeset in ghc [b16992d]at-defaultsatomicsbetter-ho-cardinalitycardinalitycoerciblecoloured-corecpr-sum-typescrosscross-compiler-alienlessdata-kind-syntaxdecision-procedureencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8ghc-axiomsghc-constraint-solverghc-deferghc-lwc2ghc-new-coghc-new-flavorghc-parmake-gsocghc-spjimp-param-classknown-key-serializationlate-dmdlate-lam-liftlocal-gcmonad-compnew-demand-to-mergenewcgno-pred-tyoverlapping-tyfamsprofilingreal-src-loc-spansdocsilent-sc-argssimdsrclocsupercompilertc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simpleunboxed-tuple-argumentsunboxed-tuple-arguments2wip/Cabal-1.20wip/T4404wip/T5084wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by simonpj <unknown>
[project @ 2005-10-17 11:10:36 by simonpj] Small simplifier bug in case optimisation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The simplifier eliminates redundant case branches, and panics if there are no case alternatives. But due to a slightly delayed instantiation of a type constructor variable 'p' by a type constructor 'P', it turned out that an inner case had no alternatives at all, becuase an outer case had not pruned a branch as quickly as it should have. This commit fixes both problems: a) SimplUtils.mkCase1 now returns a call to 'error' (instead of panicing) when it gets an empty list of alternatives. Somewhat analogous to the inaccessible GADT case in Simplify.simplifyAlt b) In SimplUtils.prepareDefault, use the up-to-date scrutinee, rather than the less up-to-date case_bndr, to get the case type constructor. That leads to slightly earlier pruning of inaccessible branches. Fixes a bug reported by Ian Lynagh. Test is simplCore/should_compile/simpl013
11:09 AM Changeset in ghc [e888306]at-defaultsatomicsbetter-ho-cardinalitycardinalitycoerciblecoloured-corecpr-sum-typescrosscross-compiler-alienlessdata-kind-syntaxdecision-procedureencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8ghc-axiomsghc-constraint-solverghc-deferghc-lwc2ghc-new-coghc-new-flavorghc-parmake-gsocghc-spjimp-param-classknown-key-serializationlate-dmdlate-lam-liftlocal-gcmonad-compnew-demand-to-mergenewcgno-pred-tyoverlapping-tyfamsprofilingreal-src-loc-spansdocsilent-sc-argssimdsrclocsupercompilertc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simpleunboxed-tuple-argumentsunboxed-tuple-arguments2wip/Cabal-1.20wip/T4404wip/T5084wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by simonpj <unknown>
[project @ 2005-10-17 11:09:51 by simonpj] Comments only
10:47 AM Changeset in ghc [97850ba]at-defaultsatomicsbetter-ho-cardinalitycardinalitycoerciblecoloured-corecpr-sum-typescrosscross-compiler-alienlessdata-kind-syntaxdecision-procedureencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8ghc-axiomsghc-constraint-solverghc-deferghc-lwc2ghc-new-coghc-new-flavorghc-parmake-gsocghc-spjimp-param-classknown-key-serializationlate-dmdlate-lam-liftlocal-gcmonad-compnew-demand-to-mergenewcgno-pred-tyoverlapping-tyfamsprofilingreal-src-loc-spansdocsilent-sc-argssimdsrclocsupercompilertc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simpleunboxed-tuple-argumentsunboxed-tuple-arguments2wip/Cabal-1.20wip/T4404wip/T5084wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by simonmar <unknown>
[project @ 2005-10-17 10:47:10 by simonmar] merge rev. 1.13.2.12 from ghc-6-4-branch
10:01 AM Changeset in ghc [666d1369]at-defaultsatomicsbetter-ho-cardinalitycardinalitycoerciblecoloured-corecpr-sum-typescrosscross-compiler-alienlessdata-kind-syntaxdecision-procedureencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8ghc-axiomsghc-constraint-solverghc-deferghc-lwc2ghc-new-coghc-new-flavorghc-parmake-gsocghc-spjimp-param-classknown-key-serializationlate-dmdlate-lam-liftlocal-gcmonad-compnew-demand-to-mergenewcgno-pred-tyoverlapping-tyfamsprofilingreal-src-loc-spansdocsilent-sc-argssimdsrclocsupercompilertc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simpleunboxed-tuple-argumentsunboxed-tuple-arguments2wip/Cabal-1.20wip/T4404wip/T5084wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by simonmar <unknown>
[project @ 2005-10-17 10:01:35 by simonmar] Fix a comment
9:42 AM Changeset in ghc [7bffe7e8]at-defaultsatomicsbetter-ho-cardinalitycardinalitycoerciblecoloured-corecpr-sum-typescrosscross-compiler-alienlessdata-kind-syntaxdecision-procedureencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8ghc-axiomsghc-constraint-solverghc-deferghc-lwc2ghc-new-coghc-new-flavorghc-parmake-gsocghc-spjimp-param-classknown-key-serializationlate-dmdlate-lam-liftlocal-gcmonad-compnew-demand-to-mergenewcgno-pred-tyoverlapping-tyfamsprofilingreal-src-loc-spansdocsilent-sc-argssimdsrclocsupercompilertc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simpleunboxed-tuple-argumentsunboxed-tuple-arguments2wip/Cabal-1.20wip/T4404wip/T5084wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by simonmar <unknown>
[project @ 2005-10-17 09:42:56 by simonmar] note about watching for/preventing overwrites of critical files in the bootstrap process.
9:36 AM Changeset in ghc [97ab9c1]at-defaultsatomicsbetter-ho-cardinalitycardinalitycoerciblecoloured-corecpr-sum-typescrosscross-compiler-alienlessdata-kind-syntaxdecision-procedureencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8ghc-axiomsghc-constraint-solverghc-deferghc-lwc2ghc-new-coghc-new-flavorghc-parmake-gsocghc-spjimp-param-classknown-key-serializationlate-dmdlate-lam-liftlocal-gcmonad-compnew-demand-to-mergenewcgno-pred-tyoverlapping-tyfamsprofilingreal-src-loc-spansdocsilent-sc-argssimdsrclocsupercompilertc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simpleunboxed-tuple-argumentsunboxed-tuple-arguments2wip/Cabal-1.20wip/T4404wip/T5084wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by simonmar <unknown>
[project @ 2005-10-17 09:36:39 by simonmar] if TARGETPLATFORM differs from HOSTPLATFORM, don't attempt to build DerivedConstants,h, ghcautoconf.h and GHCConstants.h. If these aren't present, emit a message to remind the user to copy them from the target system. Hopefully this should make bootstrapping slightly less error prone.
12:19 AM Ticket #466 (GLUT: Visibility doc flipped) created by nobody
[…]

Oct 14, 2005:

3:21 PM Ticket #461 (ghc-6.4.1: ghc-6.4.1: panic) closed by simonmar
[…]
1:11 PM Changeset in ghc [676f956]at-defaultsatomicsbetter-ho-cardinalitycardinalitycoerciblecoloured-corecpr-sum-typescrosscross-compiler-alienlessdata-kind-syntaxdecision-procedureencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8ghc-axiomsghc-constraint-solverghc-deferghc-lwc2ghc-new-coghc-new-flavorghc-parmake-gsocghc-spjimp-param-classknown-key-serializationlate-dmdlate-lam-liftlocal-gcmonad-compnew-demand-to-mergenewcgno-pred-tyoverlapping-tyfamsprofilingreal-src-loc-spansdocsilent-sc-argssimdsrclocsupercompilertc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simpleunboxed-tuple-argumentsunboxed-tuple-arguments2wip/Cabal-1.20wip/T4404wip/T5084wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by simonmar <unknown>
[project @ 2005-10-14 13:11:21 by simonmar] StrHash doesn't appear to be used; remove it. I think it was an earlier version of the string hashing code in Hash.c.
12:29 PM Changeset in ghc [1c7854b]at-defaultsatomicsbetter-ho-cardinalitycardinalitycoerciblecoloured-corecpr-sum-typescrosscross-compiler-alienlessdata-kind-syntaxdecision-procedureencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8ghc-axiomsghc-constraint-solverghc-deferghc-lwc2ghc-new-coghc-new-flavorghc-parmake-gsocghc-spjimp-param-classknown-key-serializationlate-dmdlate-lam-liftlocal-gcmonad-compnew-demand-to-mergenewcgno-pred-tyoverlapping-tyfamsprofilingreal-src-loc-spansdocsilent-sc-argssimdsrclocsupercompilertc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simpleunboxed-tuple-argumentsunboxed-tuple-arguments2wip/Cabal-1.20wip/T4404wip/T5084wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by simonmar <unknown>
[project @ 2005-10-14 12:29:53 by simonmar] Some more informative diagnostics for ghc -v about what the package system is doing. This should help when diagnosing strange-looking errors from GHC: Using package config file: /home/simonmar/fp/lib/i386-unknown-linux/ghc-6.4.1/package.conf package posix-1.0 will be ignored due to missing dependencies: lang-1.0 package util-1.0 will be ignored due to missing dependencies: lang-1.0 package data-1.0 will be ignored due to missing dependencies: lang-1.0 package text-1.0 will be ignored due to missing dependencies: lang-1.0 package Cabal-1.1.4 will be ignored due to missing dependencies: util-1.0 *** Deleting temp files Deleting: ghc-6.4.1: unknown package: Cabal-1.1.4
11:48 AM Changeset in ghc [a004ae5]at-defaultsatomicsbetter-ho-cardinalitycardinalitycoerciblecoloured-corecpr-sum-typescrosscross-compiler-alienlessdata-kind-syntaxdecision-procedureencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8ghc-axiomsghc-constraint-solverghc-deferghc-lwc2ghc-new-coghc-new-flavorghc-parmake-gsocghc-spjimp-param-classknown-key-serializationlate-dmdlate-lam-liftlocal-gcmonad-compnew-demand-to-mergenewcgno-pred-tyoverlapping-tyfamsprofilingreal-src-loc-spansdocsilent-sc-argssimdsrclocsupercompilertc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simpleunboxed-tuple-argumentsunboxed-tuple-arguments2wip/Cabal-1.20wip/T4404wip/T5084wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by simonmar <unknown>
[project @ 2005-10-14 11:48:56 by simonmar] Fix a couple of problems with the "unknown package" error message
11:23 AM Changeset in ghc [70834744]ghc-7.8wip/Cabal-1.20wip/T8545-ghc-7.8wip/T8776wip/T8995-level-generalisationwip/nested-cprwip/pattern-synonymswip/recurs-compat by simonpj <unknown>
[project @ 2005-10-14 11:23:46 by simonpj] add some record-syntax stuff
11:23 AM Changeset in testsuite [66f8834]at-defaultsatomicsdata-kind-syntaxencodingghc-7.2ghc-7.4ghc-7.6ghc-deferghc-new-comonad-compno-pred-tyoverlapping-tyfamspatch-4404patch-5014patch-5084tc-untouchablesth-newtype-natstype-nats-simpleunboxed-tuple-argumentsunboxed-tuple-arguments2wip/nested-cprwip/pattern-synonymswip/th-new by simonpj <unknown>
[project @ 2005-10-14 11:23:46 by simonpj] add some record-syntax stuff
11:22 AM Changeset in ghc [36436bc]at-defaultsatomicsbetter-ho-cardinalitycardinalitycoerciblecoloured-corecpr-sum-typescrosscross-compiler-alienlessdata-kind-syntaxdecision-procedureencodingghc-7.2ghc-7.4ghc-7.6ghc-7.8ghc-axiomsghc-constraint-solverghc-deferghc-lwc2ghc-new-coghc-new-flavorghc-parmake-gsocghc-spjimp-param-classknown-key-serializationlate-dmdlate-lam-liftlocal-gcmonad-compnew-demand-to-mergenewcgno-pred-tyoverlapping-tyfamsprofilingreal-src-loc-spansdocsilent-sc-argssimdsrclocsupercompilertc-arrowstc-untouchablesth-newth-new-7.6ticky-for-all-letstype-holes-branchtype-natstype-nats-simpleunboxed-tuple-argumentsunboxed-tuple-arguments2wip/Cabal-1.20wip/T4404wip/T5084wip/T7704wip/T8545-ghc-7.8wip/T8592wip/T8776wip/T8995-level-generalisationwip/cbv-conv-thunkwip/common-contextwip/cpr-vs-jpwip/exprAritywip/nested-cprwip/pattern-synonymswip/recurs-compatwip/simdwip/th-new by simonpj <unknown>
[project @ 2005-10-14 11:22:41 by simonpj] Add record syntax for GADTs ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Atrijus Tang wanted to add record syntax for GADTs and existential types, so he and I worked on it a bit at ICFP. This commit is the result. Now you can say data T a where T1 { x :: a } :: T [a] T2 { x :: a, y :: Int } :: T [a] forall b. Show b => T3 { naughty :: b, ok :: Int } :: T Int T4 :: Eq a => a -> b -> T (a,b) Here the constructors are declared using record syntax. Still to come after this commit: - User manual documentation - More regression tests - Some missing cases in the parser (e.g. T3 won't parse) Autrijus is going to do these. Here's a quick summary of the rules. (Atrijus is going to write proper documentation shortly.) Defnition: a 'vanilla' constructor has a type of the form forall a1..an. t1 -> ... -> tm -> T a1 ... an No existentials, no context, nothing. A constructor declared with Haskell-98 syntax is vanilla by construction. A constructor declared with GADT-style syntax is vanilla iff its type looks like the above. (In the latter case, the order of the type variables does not matter.) * You can mix record syntax and non-record syntax in a single decl * All constructors that share a common field 'x' must have the same result type (T [a] in the example). * You can use field names without restriction in record construction and record pattern matching. * Record *update* only works for data types that only have 'vanilla' constructors. * Consider the field 'naughty', which uses a type variable that does not appear in the result type ('b' in the example). You can use the field 'naughty' in pattern matching and construction, but NO SELECTOR function is generated for 'naughty'. [An attempt to use 'naughty' as a selector function will elicit a helpful error message.] * Data types declared in GADT syntax cannot have a context. So this is illegal: data (Monad m) => T a where .... * Constructors in GADT syntax can have a context (t.g. T3, T4 above) and that context is stored in the constructor and made available when the constructor is pattern-matched on. WARNING: not competely implemented yet, but that's the plan. Implementation notes ~~~~~~~~~~~~~~~~~~~~ - Data constructors (even vanilla ones) no longer share the type variables of their parent type constructor. - HsDecls.ConDecl has changed quite a bit - TyCons don't record the field labels and type any more (doesn't make sense for existential fields) - GlobalIdDetails records which selectors are 'naughty', and hence don't have real code.
Note: See TracTimeline for information about the timeline view.