Search results
From HaskellWiki
You searched for GHC/Type
There is no page titled "GHC/Type".
For more information about searching HaskellWiki, see Help.
Showing below up to 20 results starting with #1.
View (previous 20) (next 20) (20 | 50 | 100 | 250 | 500)
Page title matches
- Unboxed type (2,034 bytes)
1: '''Unboxed types''' are [[type]]s that represent raw values. Unboxed types have ...
3: ...ed together under kind <tt>#</tt>. As a result, [[type variable]]s must have kinds which are <tt>#</tt>-...
9: ...h has now overwritten the closure" [3. below]. [[GHC]] (and other implementations?) allow direct acces...
11: In GHC, by convention(?), unboxed values have a hash mar...
17: import GHC.Exts - Phantom type (5,355 bytes)
1: A '''phantom type''' is a parametrised type whose parameters do not all appear on the right-h...
7: Here <tt>Const</tt> is a phantom type, because the <tt>b</tt> parameter doesn't appear ...
9: ...nstraint_statically|encoding bounds checks in the type system.]]
11: ..., they are often used in combination with [[empty type]]s.
13: ...pe. Actually, the compiler will accept a "phantom type synonym", but it's a very bad idea, as explained ... - Type witness (1,812 bytes)
1: ...d as [[generalised algebraic datatype]]s (GADTs), type witness can be used to perform dynamic casts.
3: ...on whether <tt>a</tt> and <tt>b</tt> are the same type. This can be done with GADTs if we have "witnesse...
9: A simple witness type might be defined over the Int, Bool and Char type...
23: ...e list constructor, that can be done by composing type constructors:
43: ...mpose</tt>, it is possible for witnesses to allow type constructors of more complex [[kind]]s. - Type arithmetic (8,716 bytes)
1: '''Type arithmetic''' (or type-level computation) are calculations on
2: the type-level, often implemented in Haskell using functio...
5: A simple example of type-level computation are operations on [[Peano numbe...
18: ...ase tree. Type-level computation may also include type
24: ...e is an implementation in the {{HackagePackage|id=type-level}} package, but unfortunately the arithmetic... - Existential type (11,211 bytes)
2: ...tension of Haskell available in [[GHC]]. See the GHC documentation:
3: ...haskell.org/ghc/docs/latest/html/users_guide/data-type-extensions.html
9: ...sk>newtype</hask>, <hask>data</hask>, etc., every type variable that appears on the right-hand side must...
13: ...ent purposes. But what they ''do'' is to 'hide' a type variable on the right-hand side.
15: Normally, any type variable appearing on the right must also appear ... - Type (6,628 bytes)
7: One introduces, or declares, a type in Haskell via the <code>data</code> statement. I...
9: data [context =>] type tv1 ... tvi = con1 c1t1 c1t2... c1tn |
16: supply an optional context, give the type name and a variable number of
17: ...ch of which has a list of [[type variable]]s or [[type constant]]s. At the end, there is an optional <co...
20: ... to the data constructors to be [[eager]], what [[Type class|class]]es are - Dependent type (5,589 bytes)
12: === Type theory ===
14: ... [http://www.cs.kent.ac.uk/people/staff/sjt/TTFP/ Type Theory and Functional Programming]. Section 6.3 d...
17: ...y-Howard isomorphism and the concept of dependent type: [http://www.cs.chalmers.se/~aarne/course-langtec...
24: It seems to me that the dependent type construct
38: ...edu/viewdoc/download?doi=10.1.1.115.9718&rep=rep1&type=pdf Epigram Tutorial] by Conor McBride - Research papers/Type systems (25,905 bytes)
29: ==Pure type systems==
34: ;[http://www.cs.uu.nl/~johanj/MSc/jwroorda/ Pure Type Systems for Functional Programming]
66: ...ware - Modular Extensible Monadic Entry-pointless Type Checker in Haskell]
86: ==Lexically scoped type variables==
88: ...Esimonpj/papers/scoped%2Dtyvars/ Lexically scoped type variables] - GHC/Type system (5,056 bytes)
1: [[Category:GHC|Type system]]
2: ...rge; font-weight: bold'>Type system extensions in GHC</span>
4: .../www.haskell.org/ghc/docs/latest/html/users_guide/ghc-language-features.html user manual], but this pag...
6: == Type signatures and ambiguity ==
8: ...alas not always. Perhaps this is a deficiency in GHC, but here's one way it can happen: - Type SK (9,906 bytes)
1: Subject: [Haskell] The GHC typechecker is Turing-complete<br/>
5: ...e program developed in this message was tested on GHC 6.4.2.
7: My purpose today is to show that the GHC typechecker with multi-parameter
157: ...ne convenient functions to allow me to invoke the type evaluators
176: > type P = Other P0 - OOP vs type classes (30,515 bytes)
4: I had generally not used type classes in my application programs, but when
8: ...ut I was bitten many times by the restrictions of type classes. After this experience, I think that I no...
9: for type classes and I want to share it with other Haskell...
18: ... to C++ classes often find the Haskell concept of type classes difficult to grasp. Why is it so differe...
28: ... with several representations: use algebraic data type (ADT) === - Type functions (139 bytes)
1: ...type functions in the form of [[GHC/Type families|type families]].
4: [[Category:Type-level programming]] - Non-trivial type synonyms (1,405 bytes)
1: ==Make the type system work for you==
6: type Miles = Int
26: ...sk>newtype</hask> definition just generates a new type whose implementation is the same as the old one.
28: ...really does nothing except coerce between the new type and the old one.
44: ...be able to get some of the way by using [[phantom type]]s or creative use of [[functional dependencies]]... - Reified type (659 bytes)
3: A reified type is a value that represents a [[type]]. Using reified types instead of real types mea...
5: ... that is often a good value to use to represent a type, assuming you don't need to break it apart.
7: Example: [[Traits type class]] - Traits type class (2,847 bytes)
1: ...onally you want to associate information with a [[type]], not just a value. An example is the standard ...
9: ...mation which you want to extract doesn't have the type in its signature. One example is floating point ...
20: ...e the [[Type parameter]] a does not appear in its type signature anywhere.
22: The solution is to pass a [[Reified type]] as a phantom argument:
35: ...e <hask>undefined</hask> value cast to a specific type: - Abstract data type (5,426 bytes)
2: An abstract data [[type]] is a type with associated operations, but whose representat...
5: data type definition is sufficient. In addition, parametriz...
6: can be viewed as a kind of abstract type, because they leave some parts of
7: the data type undefined, or abstract.
11: Here's an example of a '''parameterized data type'''. - Concrete data type (864 bytes)
1: ...d single solution domain concept. A concrete data type is rarely reusable beyond its original use, but c...
3: ...ree" data type is a corresponding [[Abstract data type]].
6: ...meters), or by specializing a [[Parametrized data type]] to a specific situation. For example, <hask>May... - Algebraic data type (1,423 bytes)
1: This is a [[type]] where we specify the shape of each of the eleme...
41: *[[Abstract data type]]
42: *[[Concrete data type]] - GHC/Type families (39,166 bytes)
1: ...ses are used to define overloaded ''functions''. Type families are useful for generic programming, for ...
3: ...e associated types can more clearly express how a type is used and lead to better error messages.
5: ... the policy for let generalisation, driven by the type family extension. In brief: a few programs will ...
7: == What are type families? ==
9: ...than having them fixed statically (as with simple type systems) or treated as opaque unknowns (as with p... - GHC/Indexed type synonyms (135 bytes)
1: [[Category:GHC|Indexed type synonyms]]
2: ...is page is intended for information about indexed type synonyms. Manuel, please fill it up! :)
Page text matches
- Kind (671 bytes)
1: ...nds''' classify [[type]]s. Kinds are to types and type-constructors what types are to values.
3: Ordinary types have kind <TT>*</TT>. Type constructors have kind <TT>P -> Q</TT>, where <TT...
12: ...another inhabited kind, <TT>#</TT>, for [[unboxed type]]s.
16: * [[GHC/Kinds]]
17: * [http://hackage.haskell.org/trac/ghc/wiki/IntermediateTypes#KindsareTypes Kinds ?, ??,... - Unboxed type (2,034 bytes)
1: '''Unboxed types''' are [[type]]s that represent raw values. Unboxed types have ...
3: ...ed together under kind <tt>#</tt>. As a result, [[type variable]]s must have kinds which are <tt>#</tt>-...
9: ...h has now overwritten the closure" [3. below]. [[GHC]] (and other implementations?) allow direct acces...
11: In GHC, by convention(?), unboxed values have a hash mar...
17: import GHC.Exts - Monad (13,627 bytes)
5: Each monad, or computation type, provides means, subject to '''''Monad Laws''''',...
177: * [http://haskell.org/ghc/docs/latest/html/libraries/base/Data-Maybe.html O...
179: * [http://haskell.org/ghc/docs/latest/html/libraries/mtl/Control-Monad-Read...
180: * [http://haskell.org/ghc/docs/latest/html/libraries/mtl/Control-Monad-Writ...
182: * [http://haskell.org/ghc/docs/latest/html/libraries/base/Control-Monad-ST.... - GHC (3,693 bytes)
3: * [http://www.haskell.org/ghc/ The GHC Home Page]
7: ... over to the [http://hackage.haskell.org/trac/ghc GHC Developer Wiki].
9: ...ents relate to the ''latest released'' version of GHC.
11: [http://www.haskell.org/ghc/download.html downloads page].
13: [http://www.haskell.org/ghc/download.html#snapshots development snapshots]. - Applications and libraries/Editors (2,236 bytes)
5: ... tested it on Windows and Linux. It only supports GHC.
7: ...d compiler interface to provide syntax colouring, type checking and more. - Applications and libraries/Operating system (9,637 bytes)
15: ...ting system where the expressiveness of Haskell's type system guides the design of operating system feat...
53: ...nerated from the corresponding Haskell function's type
113: ...d also for tasks usually done [http://haskell.org/ghc/docs/latest/html/libraries/base/System-Console-Ge...
148: ...an its name. This library also can yield the MIME type of a file by looking at its contents. - Applications and libraries/Games (9,223 bytes)
161: ...ntal source of flexibility lies in the strict and type-safe separation of code and content. - Applications and libraries/Cryptography (2,194 bytes)
7: : A generic interface (type classes) for cryptographic algorithms, modes of o... - Analysis and design (2,492 bytes)
28: ...M's data types (e.g. maps, sets, sequences), data type invariants, pre- and post-conditions, and such wi... - Applications and libraries/Mathematics (18,070 bytes)
30: ...ctor spaces and affine spaces. It also defines a type of infinite towers of generalized derivatives (li...
40: ... :., which acts like a cons both at the value and type levels, with () taking the place of nil. So x:.y:...
53: ... physical units like second, meter and so on in a type-safe manner.
59: :This is not simply a library providing a new type of <hask>Num</hask> class, but stand-alone calcul...
62: ...and the validity of operations is verified by the type checker at compile time. The boxing and unboxing ... - Applications and libraries/Compiler tools (13,399 bytes)
18: ;[[GHC/As_a_library|GHC API]]
19: ...ibrary that exports much functionality from the [[GHC|Glasgow Haskell Compiler]].
36: === Type checkers ===
42: :Hatchet is a type checking and inference tool for Haskell 98, writt...
45: ...nted LaTeX can be generated from a description of type rules. ([http://www.cs.uu.nl/wiki/bin/view/Ehc/Ru... - Applications and libraries/GUI libraries (11,292 bytes)
20: ....edu/viewdoc/download?doi=10.1.1.25.8446&rep=rep1&type=pdf FranTk – A declarative GUI language for Has...
89: ...inctive features are the use of Haskell types and type classes for structuring the interface, an abstrac...
178: ....edu/viewdoc/download?doi=10.1.1.19.3342&rep=rep1&type=pdf respective paper].
185: ....edu/viewdoc/download?doi=10.1.1.55.2958&rep=rep1&type=pdf Embracing Windows paper] (PDF). - Applications and libraries/Database interfaces (3,666 bytes)
16: ...and other operations on relational databases in a type safe and declarative way. All the queries and ope...
32: ...separate Haskell Wiki page on it]]. It is another type safe and declarative approach to database managam... - Arrays (27,670 bytes)
1: Haskell'98 supports just one array constructor type, namely [http://haskell.org/onlinereport/array.ht...
13: Nowadays the main Haskell compilers, GHC and Hugs, ship with
14: the same set of [http://www.haskell.org/ghc/docs/latest/html/libraries/index.html Hierarchica...
40: ... Immutable arrays (module [http://www.haskell.org/ghc/docs/latest/html/libraries/array/Data-Array-IArra...
44: in the module [http://www.haskell.org/ghc/docs/latest/html/libraries/array/Data-Array-IArra... - Why Haskell matters (33,689 bytes)
29: ...ery clear definition indeed. But we'll explicitly type out the parameters for now.
39: ...would allow you to traverse the tree for any data type by simply providing the relevant comparison funct...
40: ...wo other types and then passing an object of this type is hardly an elegant way of doing it), so it's mo...
65: ...t will all be type-checked to ensure there are no type-mismatches.
66: ...a duck, then it will be considered a duck through type inference, but unlike Python the compiler will al... - Introduction (26,400 bytes)
20: compiler/type-system is really really good at preventing you fr...
131: ...son operations are defined for it, so elements of type <code>a</code> can be compared with one another).
222: ...uages, such as Ada or Pascal. However, Haskell's type system is much less restrictive than, say, Pascal...
332: functions. It also has an innovative type system which supports a
377: static type checking for minimizing runtime errors in applica... - Yhc/FAQ (2,847 bytes)
26: ...iles for doing this soon, however until that time GHC is a dependancy.
30: ...somewhere that scons can see it. E.g. if you have GHC, copy its libgmp.a and libgmp.la into /usr/lib, a...
44: ...uards are supported. Rank-2 types, multiparameter type classes and most other extensions are not. - Yhc/Building (2,936 bytes)
9: ...of building Yhc requires [http://haskell.org/ghc/ ghc-6.4] or later and [http://darcs.net/ darcs].
23: To build yhc simply type 'scons' into a console Window. This should automa...
38: To test Yhc has been build correctly type 'scons test'.
52: * type=release/debug/normal (default=normal) - enables d... - Performance/GHC (25,088 bytes)
2: [[Category:Performance|GHC]] [[Category:GHC]]
3: ...ans, so just use your judgement! Of course, if a GHC compiled program runs slower than the same progra...
54: ... to reduce allocations by [http://www.haskell.org/ghc/docs/latest/html/users_guide/prof-time-options.ht...
56: ...re memory by tweaking the [http://www.haskell.org/ghc/docs/latest/html/users_guide/runtime-control.html...
58: ...hen you should proceed to [http://www.haskell.org/ghc/docs/latest/html/users_guide/prof-time-options.ht... - Performance/Overloading (2,174 bytes)
5: ...ormance if left to linger in an inner loop. Each type class constraint on an overloaded function corres...
9: ... is good software-engineering practice, anyway. (GHC Tip: using <tt>-fwarn-missing-signatures</tt> can...
13: ... key functions in your program. (Supported by: [[GHC]], [[Jhc]]).
15: ...SPECIALIZE on the same function. (Supported by: [[GHC]], [[Jhc]]).
18: ...allow the compiler to specialise them to just the type(s) used in the module.
View (previous 20) (next 20) (20 | 50 | 100 | 250 | 500)
