CVS: sml-dist CHANGE-LOG,NONE,1.1.2.1

David MacQueen <[email protected]> Sun, 30 Jul 2006 14:04:37 -0700
Newsgroups gmane.comp.lang.sml.smlnj.commits
Message-ID <[email protected]>
Update of /cvsroot/smlnj/sml-dist
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv16541

Added Files:
      Tag: primop-branch-2
	CHANGE-LOG 
Log Message:
adding CHANGE-LOG

--- NEW FILE: CHANGE-LOG ---
Change Log for primop-branch-2
------------------------------

Unless otherwise specified, file paths are relative to sml-dist/src/compiler.

[dbm: 7/30/06]

New files:

sml-dist/primop-list
  Catalog of all "environmental" primops included in the InLine structure
  defined in Semant/statenv/prim.sml.

Semant/statenv/primoptypemap.sml
FLINT/trans/primopmap.sml
  These files create new tables (accessed using PrimOpTypeMap.primopTypeMap,
  and PrimOpMap.primopMap) mapping the (environmental) primop names to
  their intrinsic types and primop definitions, respectively.

ElabData/basics/primop.{sig,sml}
  Defines the new representation of primop info used in the front end. Primops
  are now identified by their names alone, and their types and primop defns
  are given by the maps mentioned above. The primop property of simple variables
  has the type PrimOpId.primId, while structure primop info is of type
  PrimOpId.strPrimInfo, which is a strPrimElem list. This provides more accurate
  type differentiation between variable and structure primop properties.


Obsolete files:

ElabData/basics/ii.sml
Semant/basics/inlinfo.{sig,sml}
  Both superceded by ElabData/basics/primop.sml.

Semant/types/typecheck.sml

Changed files:

Semant/statenv/prim.sml
  This now depends on PrimOpTypeMap (Semant/statenv/primoptypemap.sml), but not
  on PrimOp (FLINT/kernel/primop.{sig,sml}).  This removes one of the dependencies
  of the front end on FLINT. The primop definitions are now contained in
  the PrimOpMap structure (PrimOpMap.primopMap).

ElabData/basics/varcon.{sig,sml}
  The info field is now renamed "prim", and its type is PrimOpId.primId.

Elaborator/types/typecheck.sml
  The type checker module is no longer a functor (Typecheck replaces TypecheckFn).
  The code for typing VARexp's captures the generic type variables of instantiation
  of its environmental polytype, and through them the "occurrence" type of the
  variable. But it doesn't try to relate the occurrence type to the primop intrinsic
  type in the case that the variable is a primop, leaving this to the translate
  phase.

Elaborator/modules/sigmatch.sml
  Primop properties of value elements are preserved as before, but the comparison
  of prematched type to postmatch signature type is simplified, and uses a 
  one-way type match rather than unification. The functions absEqvTy and eqvTnspTy
  have been replaced by a function matchTypes, defined in terms of a new utility
  function TypesUtil.matchInstTypes.

FLINT/trans/translate.sml
  Now determines parameters of instantiation of primop intrinsic types by simple
  matching against the variable occurrence type.


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV