Date:
2020-01-09 19:05 |
Priority:
3 |
State:
Closed |
|
Submitted by:
Bug Submitter (webuser)
|
Assigned to:
John Reppy (jhr)
|
Machine Architecture: x86 |
Operating System: Linux |
Component: Compiler |
Resolution: Fixed |
Severity: Minor |
OS Version: Debian 10 |
SML/NJ Version: 110.96 |
|
Keywords:
|
URL:
|
|
Transcript (of reproduction): $ /opt/smlnj-110.96/bin/sml -32
Standard ML of New Jersey (32-bit) v110.96 [built: Wed Jan 08 13:23:06 2020]
- Control.lazysml := true ;
[autoloading]
...
[autoloading done]
val it = () : unit
- open Lazy ;
[autoloading]
[autoloading done]
opening Lazy
datatype 'a susp = $ of 'a
- datatype lazy 'a stream = Cons of 'a * 'a stream ;
datatype 'a stream! = Cons of 'a * 'a stream! susp
type 'a stream = 'a stream! susp
- val rec lazy ones = Cons(1, ones) ;
Error: Compiler bug: CoreAccess: getVar
-
$ /opt/smlnj-110.96/bin/sml -64
Standard ML of New Jersey (64-bit) v110.96 [built: Wed Jan 08 13:23:55 2020]
- Control.lazysml := true ;
[autoloading]
...
[autoloading done]
val it = () : unit
- open Lazy ;
[autoloading]
[autoloading done]
opening Lazy
datatype 'a susp = $ of 'a
- datatype lazy 'a stream = Cons of 'a * 'a stream ;
datatype 'a stream! = Cons of 'a * 'a stream! susp
type 'a stream = 'a stream! susp
- val rec lazy ones = Cons(1, ones) ;
Error: Compiler bug: CoreAccess: getVar
$ /opt/smlnj-110.85/bin/sml
Standard ML of New Jersey v110.85 [built: Mon Feb 25 15:10:48 2019]
- Control.lazysml := true ;
[autoloading]
...
[autoloading done]
val it = () : unit
- open Lazy ;
[autoloading]
[autoloading done]
opening Lazy
datatype 'a susp = $ of 'a
- datatype lazy 'a stream = Cons of 'a * 'a stream ;
datatype 'a stream! = Cons of 'a * 'a stream! susp
type 'a stream = 'a stream! susp
- val rec lazy ones = Cons(1, ones) ;
val ones = $$ : int stream! susp
-
|
Source (for reproduction): Control.lazysml := true ;
open Lazy ;
datatype lazy 'a stream = Cons of 'a * 'a stream ;
val rec lazy ones = Cons(1, ones) ;
|
|
Summary:
Lazy data types result in Compiler Bug error |
Detailed description |
Use of lazy datatypes in SMLNJ 110.96 results in a Compiler Bug error. This
happens with both the 32-bit and 64-bit versions. This doesn't appear to be a
problem with 110.85.
Submitted via web form by Norman Danner <ndanner@wesleyan.edu>
|
|