diff options
author | Austin Seipp <austin@well-typed.com> | 2014-01-09 01:02:56 -0600 |
---|---|---|
committer | Austin Seipp <austin@well-typed.com> | 2014-01-09 01:02:56 -0600 |
commit | d4f0fcf368765ae4aa7ebe914bc2f254026694c8 (patch) | |
tree | 11501172eb1e1cbda93b28bf5782a1c754a5bf10 /compiler/prelude | |
parent | a93f85718cdfd36239095365f7b5efc7f2ecc4de (diff) | |
download | haskell-d4f0fcf368765ae4aa7ebe914bc2f254026694c8.tar.gz |
Document Proxy# (#8658)
Signed-off-by: Austin Seipp <austin@well-typed.com>
Diffstat (limited to 'compiler/prelude')
-rw-r--r-- | compiler/prelude/primops.txt.pp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/compiler/prelude/primops.txt.pp b/compiler/prelude/primops.txt.pp index b3cf2f424d..36eec67b7d 100644 --- a/compiler/prelude/primops.txt.pp +++ b/compiler/prelude/primops.txt.pp @@ -2228,6 +2228,18 @@ section "Etc" {Miscellaneous built-ins} ------------------------------------------------------------------------ +primtype Proxy# a + { The type constructor {\tt Proxy#} is used to bear witness to some + type variable. It's used when you want to pass around proxy values + for doing things like modelling type applications. A {\tt Proxy#} + is not only unboxed, it also has a polymorphic kind, and has no + runtime representation, being totally free. } + +pseudoop "proxy#" + Proxy# a + { Witness for an unboxed {\tt Proxy#} value, which has no runtime + representation. } + pseudoop "seq" a -> b -> b { Evaluates its first argument to head normal form, and then returns its second |