Skip to content
Snippets Groups Projects
Forked from Glasgow Haskell Compiler / GHC
Source project has a limited visibility.
  • Duncan Coutts's avatar
    2da37f4f
    Typechecking for "foreign import prim" · 2da37f4f
    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.
    2da37f4f
    History
    Typechecking for "foreign import prim"
    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.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.