From: Duncan Coutts Date: Tue, 9 Jun 2009 10:48:26 +0000 (+0000) Subject: Typechecking for "foreign import prim" X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=2da37f4f15790377900fa6c38ff8fdcd394dfaa2;hp=2da37f4f15790377900fa6c38ff8fdcd394dfaa2 Typechecking for "foreign import prim" 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. ---