Forked from
Glasgow Haskell Compiler / GHC
Source project has a limited visibility.
-
Duncan Coutts authored
The main restriction is that all args and results must be unboxed types. In particular we allow unboxed tuple results (which is a primary motivation for the whole feature). The normal rules apply about "void rep" result types like State#. We only allow "prim" calling convention for import, not export. The other forms of import, "dynamic", "wrapper" and data label are banned as a conseqence of checking that the imported name is a valid C string. We currently require prim imports to be marked unsafe, though this is essentially arbitrary as the safety information is unused.
Duncan Coutts authoredThe main restriction is that all args and results must be unboxed types. In particular we allow unboxed tuple results (which is a primary motivation for the whole feature). The normal rules apply about "void rep" result types like State#. We only allow "prim" calling convention for import, not export. The other forms of import, "dynamic", "wrapper" and data label are banned as a conseqence of checking that the imported name is a valid C string. We currently require prim imports to be marked unsafe, though this is essentially arbitrary as the safety information is unused.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.