Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] View of /sml/branches/primop-branch-2/src/compiler/ElabData/basics/primopid.sig
ViewVC logotype

View of /sml/branches/primop-branch-2/src/compiler/ElabData/basics/primopid.sig

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1959 - (download) (as text) (annotate)
Fri Jul 7 20:36:18 2006 UTC (15 years, 3 months ago) by georgekuan
File size: 1027 byte(s)
elabdata builds now -- everything updated to new primopid representation scheme
(* primopid.sig
 *
 * (C) 2001 Lucent Technologies, Bell Labs
 *)

signature PRIMOPID =
sig

  datatype primId = Prim of string | NonPrim

  datatype strPrimElem
    = PrimE of primId
    | StrE of strPrimInfo

  withtype strPrimInfo = strPrimElem list

  val isPrimop : primId -> bool

  val isPrimCallcc : primId -> bool
  val isPrimCast : primId -> bool

  val selStrPrimId : strPrimElem * int -> strPrimElem
  val selValPrimFromStrPrim : strPrimElem * int -> primId
(*
    val match : inl_info ->
		{ inl_prim: PrimOp.primop * Types.ty -> 'a,
		  inl_str: inl_info list -> 'a,
		  inl_no: unit -> 'a } ->
		'a

    val prInfo : inl_info -> string

    val isPrimop : primId -> bool
    val selStrInfo : inl_info * int -> inl_info

    val isPrimCallcc : inl_info -> bool
    val isPrimCast : inl_info -> bool

    val mkPrimInfo : PrimOp.primop * Types.ty -> inl_info
    val mkStrInfo : inl_info list -> inl_info
    val nullInfo : inl_info

    val primopTy : inl_info -> Types.ty option
 *)
end (* signature INL_INFO *)

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0