#7633: Checkable "minimal complete definitions"
-------------------------------------------------+-------------------------
Reporter: shachaf | Owner:
Type: feature request | twanvl
Priority: normal | Status:
Component: Compiler | closed
Resolution: fixed | Milestone: 7.8.1
Operating System: Unknown/Multiple | Version: 7.6.1
Type of failure: None/Unknown | Keywords:
Test Case: warnings/minimal/WarnMinimal | Architecture:
Blocking: | Unknown/Multiple
| Difficulty:
| Unknown
| Blocked By:
| Related Tickets: #6028
-------------------------------------------------+-------------------------
Comment (by haasn):
Would it be possible to attach a BooleanFormula to HsDecls, too?
Specifically, to the ClassDecl constructor of a TyClDecl.
I could use this in order to figure out and show minimal complete
definitions for class declarations in Haddock.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/7633#comment:50>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
#8835: 7.6.3 vs 7.8-RC performance regression
------------------------------+--------------------------------------------
Reporter: cbm80 | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.8.1-rc2
Keywords: | Operating System: Linux
Architecture: x86_64 | Type of failure: Runtime performance bug
(amd64) | Test Case:
Difficulty: Unknown | Blocking:
Blocked By: |
Related Tickets: |
------------------------------+--------------------------------------------
'''NOTE: code for this is on github [https://github.com/cbm80/Minimal]'''
I have a program that uses xml-conduit to parse nzb files, a file format
commonly found on Usenet.
Running the program
`./mini demo1.nzb +RTS -sstderr`
compiled with GHC 7.6.3 yields:
{{{
37,827,736 bytes allocated in the heap
703,392 bytes copied during GC
172,040 bytes maximum residency (2 sample(s))
35,024 bytes maximum slop
2 MB total memory in use (0 MB lost due to fragmentation)
Tot time (elapsed) Avg pause Max pause
Gen 0 71 colls, 0 par 0.00s 0.00s 0.0000s
0.0001s
Gen 1 2 colls, 0 par 0.00s 0.00s 0.0003s
0.0005s
TASKS: 3 (1 bound, 2 peak workers (2 total), using -N1)
SPARKS: 0 (0 converted, 0 overflowed, 0 dud, 0 GC'd, 0 fizzled)
INIT time 0.00s ( 0.00s elapsed)
MUT time 0.01s ( 0.01s elapsed)
GC time 0.00s ( 0.00s elapsed)
EXIT time 0.00s ( 0.00s elapsed)
Total time 0.02s ( 0.02s elapsed)
Alloc rate 2,603,976,578 bytes per MUT second
Productivity 84.1% of total user, 86.9% of total elapsed
}}}
The same program, same libraries but compiled with `GHC 7.8.0.20140228`
gives:
{{{
11,217,541,448 bytes allocated in the heap
31,184,656 bytes copied during GC
6,540,288 bytes maximum residency (178 sample(s))
597,248 bytes maximum slop
19 MB total memory in use (5 MB lost due to fragmentation)
Tot time (elapsed) Avg pause Max
pause
Gen 0 20623 colls, 0 par 0.50s 0.41s 0.0000s
0.0008s
Gen 1 178 colls, 0 par 0.04s 0.05s 0.0003s
0.0009s'''
TASKS: 4 (1 bound, 3 peak workers (3 total), using -N1)
SPARKS: 0 (0 converted, 0 overflowed, 0 dud, 0 GC'd, 0 fizzled)
INIT time 0.00s ( 0.00s elapsed)
MUT time 3.41s ( 3.50s elapsed)
GC time 0.55s ( 0.45s elapsed)
EXIT time 0.00s ( 0.00s elapsed)
Total time 3.96s ( 3.96s elapsed)
Alloc rate 3,293,236,224 bytes per MUT second
Productivity 86.1% of total user, 86.1% of total elapsed
}}}
While total memory usage always stays around 2 to 3 mb when compiled with
GHC 7.6.3, even if using bigger nzb files (try demo2.nzb), the 7.8-RC
compiled program eats huge amounts of memory and becomes very slow. Using
+RTS -S shows even more worrying GC differences.
Unfortunately I can't tell whether the culprit is in one of the libraries
or in the compiler.
GHC 7.8-RC used was `ghc-7.8.0.20140228-x86_64-unknown-linux-deb7.tar.xz`
from [http://www.haskell.org/ghc/dist/7.8.1-rc2]
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8835>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
#4385: Type-level natural numbers
--------------------------------------------+------------------------------
Reporter: diatchki | Owner: diatchki
Type: feature request | Status: new
Priority: normal | Milestone: 7.6.2
Component: Compiler (Type checker) | Version:
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: None/Unknown | Unknown/Multiple
Test Case: | Difficulty: Unknown
Blocking: | Blocked By:
| Related Tickets:
--------------------------------------------+------------------------------
Comment (by Lemming):
Replying to [comment:67 hvr]:
> Replying to [comment:66 Lemming]:
> > Type-level natural numbers are advertised everywhere for GHC-7.8, but
I cannot find documentation in
> > http://www.haskell.org/ghc/docs/7.8.1-rc2/html/users_guide/
>
> does
http://www.haskell.org/ghc/docs/7.8.1-rc2/html/users_guide/promotion.html
#promoted-literals count?
Indeed, that's a nice start. What about type-level natural number
operations and predicates? What about conversion from type-level numbers
to data-level numbers? I found:
https://ghc.haskell.org/trac/ghc/wiki/TypeNats/Basicshttps://ghc.haskell.org/trac/ghc/wiki/TypeNats/Operations
Do these articles reflect the current state of implementation?
I also found the announcement:
http://www.well-typed.com/blog/85
where many feature names are linked to the GHC documentation, but "type-
level natural numbers" is not. I also like to see the keyword "type-level
natural number" somewhere in GHC docs, since this is how this feature is
advertised.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/4385#comment:68>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler