ddc: Ticket Query
http://trac.haskell.org/ddc/query?status=assigned&status=new&status=reopened&group=status&milestone=0.1.3&row=description
en-USddchttp://trac.haskell.org/ddc/chrome/common/trac_banner.png
http://trac.haskell.org/ddc/query?status=assigned&status=new&status=reopened&group=status&milestone=0.1.3&row=description
Trac 0.11.1
http://trac.haskell.org/ddc/ticket/2
http://trac.haskell.org/ddc/ticket/2#2: Check class instances against their definitions.Tue, 12 May 2009 10:58:37 GMTbenl<p>
We don't currently check whether a type class instance is valid wrt its definition. Unsafe program sometimes make it through the core type checker and sometimes not.
</p>
<p>
<tt>T2-CheckInstance</tt> contains an area function that has a larger closure than the definition, but it is silently accepted. I've seen other programs like this be caught by the core type checker.
</p>
Resultshttp://trac.haskell.org/ddc/ticket/2#changelog
http://trac.haskell.org/ddc/ticket/173
http://trac.haskell.org/ddc/ticket/173#173: Faliure to parse type annotations within list defintionSat, 06 Mar 2010 05:36:12 GMTerikd<p>
The following parses correctly under GHC bug fails with DDC
</p>
<pre class="wiki">main = println $ show [ (1::Int) .. 10 ]
</pre>Resultshttp://trac.haskell.org/ddc/ticket/173#changelog
http://trac.haskell.org/ddc/ticket/161
http://trac.haskell.org/ddc/ticket/161#161: Implement let qualifiers for list comprehensionsSun, 21 Feb 2010 10:56:57 GMTbenl<p>
Eg for a solution to the 4th Euler problem.
</p>
<pre class="wiki">solution1
= maximum
[ x | y <- [100..999]
, z <- [y..999]
, let x = y * z
, let s = show x
, s == reverse s ]
</pre>Resultshttp://trac.haskell.org/ddc/ticket/161#changelog
http://trac.haskell.org/ddc/ticket/172
http://trac.haskell.org/ddc/ticket/172#172: Lexer generates incorrect token sequenceFri, 05 Mar 2010 10:03:08 GMTerikd<p>
For the function:
</p>
<pre class="wiki">trick2 xs = [ (x, y)
| x <- xs
, let y = x `mod` 3 ]
</pre><p>
the lexer generates a token sequence (ignoring other tokens) of "[ { ] }" where the brackets don't match up properly. Changing the code to:
</p>
<pre class="wiki">trick2 xs = [ (x, y)
| x <- xs
, let y = x `mod` 3
]
</pre><p>
generates the correct sqeuence of "[ { } ]".
</p>
Resultshttp://trac.haskell.org/ddc/ticket/172#changelog
http://trac.haskell.org/ddc/ticket/7
http://trac.haskell.org/ddc/ticket/7#7: Merge projection dictionaries from different modules.Tue, 12 May 2009 11:15:45 GMTbenl<p>
Projection dictionaries are open, so we should be able to give instance functions in multiple modules.
</p>
Resultshttp://trac.haskell.org/ddc/ticket/7#changelog
http://trac.haskell.org/ddc/ticket/155
http://trac.haskell.org/ddc/ticket/155#155: PANIC "mergeClasses: classes have differing kinds" in my Hashtable first cutMon, 01 Feb 2010 21:15:10 GMTblackh<pre class="wiki">[1 of 1] Compiling Hashtable
ddc: PANIC in Type.Squid.Class
mergeClasses: classes have differing kinds
cids = [720, 721]
ks = [*, * -> *]
Please report this bug to the maintainers at:
http://trac.haskell.org/ddc
or by emailing disciple-cafe@googlegroups.com
</pre>Resultshttp://trac.haskell.org/ddc/ticket/155#changelog
http://trac.haskell.org/ddc/ticket/16
http://trac.haskell.org/ddc/ticket/16#16: Add type bindingsTue, 12 May 2009 12:52:38 GMTbenl<p>
<tt>type Thing = ...</tt>
</p>
<p>
We need this to handle a stack of simple GHC regression tests.
</p>
Resultshttp://trac.haskell.org/ddc/ticket/16#changelog
http://trac.haskell.org/ddc/ticket/73
http://trac.haskell.org/ddc/ticket/73#73: Bad core generated for recursive function with projectionsThu, 14 May 2009 03:47:22 GMTbenl<p>
Added by Jared
</p>
<p>
This function
</p>
<pre class="wiki">example = []
where xs = example
y = xs.head
</pre><p>
Causes
</p>
<pre class="wiki"> applyTypeT: Kind error in type application.
caller = Just Core.Bind.bindXDo
in application:
(\/ (y :: *) -> ...) (Const %rTS1)
type: Const %rTS1
has kind: Just Const %rTS1
expected: *
</pre><p>
Test is <tt>T73-BadCoreProj</tt>
</p>
Resultshttp://trac.haskell.org/ddc/ticket/73#changelog
http://trac.haskell.org/ddc/ticket/190
http://trac.haskell.org/ddc/ticket/190#190: Bad parser error messageWed, 20 Oct 2010 05:57:27 GMTbenl<pre class="wiki">dude :: Int %r5
dude = 5
thing :> Int -> Int -($c1)> Int
:- $c1 = x : %r5
thing x y = x
</pre>Resultshttp://trac.haskell.org/ddc/ticket/190#changelog
http://trac.haskell.org/ddc/ticket/188
http://trac.haskell.org/ddc/ticket/188#188: Bad quantifier in type for "undefined"Tue, 07 Sep 2010 13:53:38 GMTbenl<p>
Type inference for this code
</p>
<pre class="wiki">undefined :: a
undefined = primThrow_silent @ (Exception "undefined")
</pre><p>
gives
</p>
<pre class="wiki">foreign import undefined
:: forall t0
. t0
:- LazyH (forall t0. t0 :- LazyH t0)
, LazyH t0
</pre><p>
But that first LazyH constraint is dodgy.
</p>
Resultshttp://trac.haskell.org/ddc/ticket/188#changelog
http://trac.haskell.org/ddc/ticket/81
http://trac.haskell.org/ddc/ticket/81#81: Bug in core type checkerThu, 14 May 2009 04:14:33 GMTbenl<p>
With this program
</p>
<pre class="wiki">class Copy2 a where
copy2 :: forall b. a -(!e1)> b
:- !e1 = !ReadT a
, Shape2 a b
instance Copy2 Int where
copy2 x = x
main ()
= do i :: Int %r1 :- Const %r1
i = 5
i' = copy2 i
i' := 27
()
</pre><p>
Have this in dump-core-dict
</p>
<pre class="wiki">i' = /\ (+xC9 :: Mutable %rTS21) ->
[** (Base.Int32 %rTS21) ]
do {
instance_Copy2_Int32_copy2 %r1 (i +wCB4);
};
</pre><p>
return type of copy2 is <tt>(Int32 %r1)</tt>, not <tt>(Int %rTS21)</tt>
</p>
<p>
This problem originally originally arises because the instance for copy2
didn't copy the int like it should have.
</p>
<p>
Is really 2 bugs: core type checker, and and not checking instances against class defs
</p>
Resultshttp://trac.haskell.org/ddc/ticket/81#changelog
http://trac.haskell.org/ddc/ticket/189
http://trac.haskell.org/ddc/ticket/189#189: Check for missing quantifiers in type class definitions.Sun, 19 Sep 2010 08:37:00 GMTbenl<p>
Check for missing quantifiers in type class definitions. The type variable "c" here isn't quantified, and will be defaulted to Unit by the inferencer.
</p>
<pre class="wiki">class Floating a where
fpow :: forall b
. a -> b -(!e1 $c1)> c
:- !e1 = !{ !ReadT a; !ReadT b }
, $c1 = x : a
, Shape3 a b c
</pre>Resultshttp://trac.haskell.org/ddc/ticket/189#changelog
http://trac.haskell.org/ddc/ticket/1
http://trac.haskell.org/ddc/ticket/1#1: Check for partial application of functions to unboxed args.Tue, 12 May 2009 09:06:46 GMTbenl<p>
Runtime system cannot handle partial application of functions to unboxed args. It'd be easy to check for this problem in the core language, and panic.
</p>
<p>
Test is <tt>T1-CurryUnboxed</tt>.
</p>
Resultshttp://trac.haskell.org/ddc/ticket/1#changelog
http://trac.haskell.org/ddc/ticket/163
http://trac.haskell.org/ddc/ticket/163#163: Elaboration of class constructors isn't respecting their kindsMon, 22 Feb 2010 11:47:14 GMTbenl<p>
This program should work
</p>
<pre class="wiki">class Bag (bag :: % -> * -> *) where
size :: forall a %r1 %r2
. bag %r1 a -(!e1)> Int %r2
:- !e1 = !Read %r1
instance Bag List where
size = length
main () = println $ show $ size [1, 2, 3];
</pre><p>
In the class instance, <tt>List</tt> has the correct kind, but it's being elaborated to:
</p>
<pre class="wiki">instance Bag (List %r1) where
size = length
</pre><p>
which is now an error because <tt>(List %r1)</tt> has kind <tt>* -> *</tt> and not <tt>% -> * -> *</tt>.
</p>
<p>
The elaborator shouldn't have added the %r1 because that type expression already had the correct kind.
</p>
Resultshttp://trac.haskell.org/ddc/ticket/163#changelog
http://trac.haskell.org/ddc/ticket/15
http://trac.haskell.org/ddc/ticket/15#15: Ensure we're sharing constant values of enumeration type.Tue, 12 May 2009 12:48:17 GMTbenl<p>
Make sure we're not reallocating True, False and Unit values.
</p>
Resultshttp://trac.haskell.org/ddc/ticket/15#changelog
http://trac.haskell.org/ddc/ticket/181
http://trac.haskell.org/ddc/ticket/181#181: Fix display of node effects in type error messagesMon, 24 May 2010 10:33:04 GMTbenl<p>
<a class="missing wiki" href="http://trac.haskell.org/ddc/wiki/PurifyReadWrite" rel="nofollow">PurifyReadWrite?</a>2 reports:
</p>
<pre class="wiki"> Conflicting region constraints.
constraint: Base.Const %75
which purifies
the use of: (*)
of type: (224 225)
at: ./test/15-Typing/Purity/PurifyReadWrite2/Test.ds:5:25
</pre><p>
The application (224 225) isn't getting expanded to the real effect.
</p>
Resultshttp://trac.haskell.org/ddc/ticket/181#changelog
http://trac.haskell.org/ddc/ticket/167
http://trac.haskell.org/ddc/ticket/167#167: Missing constraints in interface files.Thu, 25 Feb 2010 05:16:25 GMTbens<p>
Various constraints are missing from interface files, eg. Data.Bool.otherwise should have a !Const constraint.
</p>
Resultshttp://trac.haskell.org/ddc/ticket/167#changelog
http://trac.haskell.org/ddc/ticket/168
http://trac.haskell.org/ddc/ticket/168#168: Module exporter re-exports projections it has importedFri, 26 Feb 2010 10:17:39 GMTerikd<p>
With a simple module that defines a new projection on Data.List like this:
</p>
<pre class="wiki">module Foo
project List where
count = length
</pre><p>
the exporter (src/Module/Exporter.hs) for this exports the following proections for Foo:
</p>
<pre class="wiki">project Data.List.List %rDK125 where
{
x = project_List_x;
xs = project_List_xs;
ref_x = project_List_ref_x;
ref_xs = project_List_ref_xs;
count = project_List_count;
}
</pre><p>
where the first 4 are the projections already defined in Data.List. Only the last projection (count) should actually be exported from this module.
</p>
Resultshttp://trac.haskell.org/ddc/ticket/168#changelog
http://trac.haskell.org/ddc/ticket/160
http://trac.haskell.org/ddc/ticket/160#160: Runtime crash with recursive bindingsSun, 21 Feb 2010 09:49:02 GMTbenl<p>
The following Haskell code to solve the 2nd Euler problem causes a runtime crash.
</p>
<pre class="wiki">maxN = 10000
main ()
= do println $ show solution1
even x = x `mod` 2 == 0
solution1
= sum [ x | x <- takeWhile ((<=) maxN) fibs
, even x]
where fibs = 1 : 1 : zipWith (+) fibs (tail fibs)
</pre>Resultshttp://trac.haskell.org/ddc/ticket/160#changelog