Home My Page Projects Code Snippets Project Openings SML/NJ Bugs
Summary Activity Tracker Lists

[#171] Types structure from SML/NJ compiler is visible in REPL

Date:
2016-10-24 01:00
Priority:
3
State:
Open
Submitted by:
Bug Submitter (webuser)
Assigned to:
David MacQueen (dbm)
Machine Architecture:
None
Operating System:
Generic Unix
Component:
Compiler
Resolution:
None
Severity:
Minor
OS Version:
SML/NJ Version:
110.80
Keywords:
URL:
Transcript (of reproduction):
<jhr@valhalla> sml Standard ML of New Jersey v110.80 [built: Fri Aug 19 07:49:58 2016] - open Types; [autoloading] [library $smlnj/compiler/current.cm is stable] [library $smlnj/compiler/x86.cm is stable] [library $smlnj/viscomp/elabdata.cm is stable] [library $smlnj/viscomp/basics.cm is stable] [library $SMLNJ-LIB/Util/smlnj-lib.cm is stable] [autoloading done] opening Types type label = Symbol.symbol type polysign = bool list datatype eqprop = ABS | DATA | IND | NO | OBJ | UNDEF | YES datatype litKind = CHAR | INT | REAL | STRING | WORD datatype openTvKind = FLEX of (label * ty) list | META datatype ovldSource = OLIT of litKind * IntInf.int * SourceMap.region | OVAR of Symbol.symbol * SourceMap.region datatype tvKind = INSTANTIATED of ty | LBOUND of {depth:int, eq:bool, index:int} | OPEN of {depth:int, eq:bool, kind:openTvKind} | OVLD of {options:ty list, sources:ovldSource list} | UBOUND of {depth:int, eq:bool, name:Symbol.symbol} datatype tycpath = TP_APP of tycpath * tycpath list | TP_FCT of tycpath list * tycpath list | TP_SEL of tycpath * int | TP_TYC of tycon | TP_VAR of exn datatype tyckind = ABSTRACT of tycon | DATATYPE of {family:dtypeFamily, freetycs:tycon list, index:int, root:Stamps.stamp option, stamps:Stamps.stamp vector} | FLEXTYC of tycpath | FORMAL | PRIMITIVE of int | TEMP datatype tycon = DEFtyc of {path:?.InvPath.path, stamp:Stamps.stamp, strict:bool list, tyfun:tyfun} | ERRORtyc | FREEtyc of int | GENtyc of gtrec | PATHtyc of {arity:int, entPath:?.EntPath.entPath, path:?.InvPath.path} | RECORDtyc of label list | RECtyc of int datatype ty = CONty of tycon * ty list | IBOUND of int | MARKty of ty * SourceMap.region | POLYty of {sign:polysign, tyfun:tyfun} | UNDEFty | VARty of tyvar | WILDCARDty datatype tyfun = TYFUN of {arity:int, body:ty} type dconDesc = {domain:Types.ty option, name:Symbol.symbol, rep:Access.conrep} type dtmember = {arity:int, dcons:Types.dconDesc list, eq:Types.eqprop ref, lazyp:bool, sign:Access.consig, tycname:Symbol.symbol} type dtypeFamily = {members:Types.dtmember vector, mkey:Stamps.stamp, properties:PropList.holder} type stubinfo = {lib:bool, owner:PersStamps.persstamp} type gtrec = {arity:int, eq:Types.eqprop ref, kind:Types.tyckind, path:?.InvPath.path, stamp:Stamps.stamp, stub:stubinfo option} type tyvar = Types.tvKind ref val infinity : int val mkTyvar : tvKind -> tyvar val copyTyvar : tyvar -> tyvar datatype datacon = DATACON of {const:bool, lazyp:bool, name:Symbol.symbol, rep:Access.conrep, sign:Access.consig, typ:ty} -
Source (for reproduction):
from REPL open Types;
Summary:
Types structure from SML/NJ compiler is visible in REPL

Detailed description
For some reason, the Types structure is visible
in the REPL environment.
Submitted via web form by John Reppy <jhr@cs.uchicago.edu>

Comments:

No Comments Have Been Posted

Attached Files:

Changes

Field Old Value Date By
assigned_tonone2016-10-24 13:06jhr
detailsFor some reason, the Types structure is visible in the REPL environment. Furthermore, running CM on a Library that also defines and exports a Types structure does not override the compiler's Types structure, which makes interactive testing difficult. Submitted via web form by John Reppy <jhr@cs.uchicago.edu> 2016-10-24 13:06jhr
SeverityCosmetic2016-10-24 13:06jhr
Transcript (of reproduction)<jhr@valhalla> sml Standard ML of New Jersey v110.80 [built: Fri Aug 19 07:49:58 2016] - open Types; [autoloading] [library $smlnj/compiler/current.cm is stable] [library $smlnj/compiler/x86.cm is stable] [library $smlnj/viscomp/elabdata.cm is stable] [library $smlnj/viscomp/basics.cm is stable] [library $SMLNJ-LIB/Util/smlnj-lib.cm is stable] [autoloading done] opening Types type label = Symbol.symbol type polysign = bool list datatype eqprop = ABS | DATA | IND | NO | OBJ | UNDEF | YES datatype litKind = CHAR | INT | REAL | STRING | WORD datatype openTvKind = FLEX of (label * ty) list | META datatype ovldSource = OLIT of litKind * IntInf.int * SourceMap.region | OVAR of Symbol.symbol * SourceMap.region datatype tvKind = INSTANTIATED of ty | LBOUND of {depth:int, eq:bool, index:int} | OPEN of {depth:int, eq:bool, kind:openTvKind} | OVLD of {options:ty list, sources:ovldSource list} | UBOUND of {depth:int, eq:bool, name:Symbol.symbol} datatype tycpath = TP_APP of tycpath * tycpath list | TP_FCT of tycpath list * tycpath list | TP_SEL of tycpath * int | TP_TYC of tycon | TP_VAR of exn datatype tyckind = ABSTRACT of tycon | DATATYPE of {family:dtypeFamily, freetycs:tycon list, index:int, root:Stamps.stamp option, stamps:Stamps.stamp vector} | FLEXTYC of tycpath | FORMAL | PRIMITIVE of int | TEMP datatype tycon = DEFtyc of {path:?.InvPath.path, stamp:Stamps.stamp, strict:bool list, tyfun:tyfun} | ERRORtyc | FREEtyc of int | GENtyc of gtrec | PATHtyc of {arity:int, entPath:?.EntPath.entPath, path:?.InvPath.path} | RECORDtyc of label list | RECtyc of int datatype ty = CONty of tycon * ty list | IBOUND of int | MARKty of ty * SourceMap.region | POLYty of {sign:polysign, tyfun:tyfun} | UNDEFty | VARty of tyvar | WILDCARDty datatype tyfun = TYFUN of {arity:int, body:ty} type dconDesc = {domain:Types.ty option, name:Symbol.symbol, rep:Access.conrep} type dtmember = {arity:int, dcons:Types.dconDesc list, eq:Types.eqprop ref, lazyp:bool, sign:Access.consig, tycname:Symbol.symbol} type dtypeFamily = {members:Types.dtmember vector, mkey:Stamps.stamp, properties:PropList.holder} type stubinfo = {lib:bool, owner:PersStamps.persstamp} type gtrec = {arity:int, eq:Types.eqprop ref, kind:Types.tyckind, path:?.InvPath.path, stamp:Stamps.stamp, stub:stubinfo option} type tyvar = Types.tvKind ref val infinity : int val mkTyvar : tvKind -> tyvar val copyTyvar : tyvar -> tyvar datatype datacon = DATACON of {const:bool, lazyp:bool, name:Symbol.symbol, rep:Access.conrep, sign:Access.consig, typ:ty} - 2016-10-24 13:06jhr
Source (for reproduction)from REPL open Types;2016-10-24 13:06jhr