File tree Expand file tree Collapse file tree 5 files changed +216
-174
lines changed Expand file tree Collapse file tree 5 files changed +216
-174
lines changed Original file line number Diff line number Diff line change 11
22
3- import  *  as  Primitive_lazy  from  "./Primitive_lazy .js" ; 
3+ import  *  as  Primitive_exceptions  from  "./Primitive_exceptions .js" ; 
44
5- let  make  =  Primitive_lazy . from_fun ; 
5+ function  is_val ( l )  { 
6+   return  l . LAZY_DONE ; 
7+ } 
68
7- let  get  =  Primitive_lazy . force ; 
9+ let  Undefined  =  /*  @__PURE__  */ Primitive_exceptions . create ( "Stdlib_Lazy.Undefined" ) ; 
810
9- let  isEvaluated  =  Primitive_lazy . is_val ; 
11+ function  forward_with_closure ( blk ,  closure )  { 
12+   let  result  =  closure ( ) ; 
13+   blk . VAL  =  result ; 
14+   blk . LAZY_DONE  =  true ; 
15+   return  result ; 
16+ } 
1017
11- let  Undefined  =  Primitive_lazy . Undefined ; 
18+ function  raise_undefined ( )  { 
19+   throw  { 
20+     RE_EXN_ID : Undefined , 
21+     Error : new  Error ( ) 
22+   } ; 
23+ } 
1224
13- let  force  =  Primitive_lazy . force ; 
25+ function  force ( lzv )  { 
26+   if  ( lzv . LAZY_DONE )  { 
27+     return  lzv . VAL ; 
28+   }  else  { 
29+     let  closure  =  lzv . VAL ; 
30+     lzv . VAL  =  raise_undefined ; 
31+     try  { 
32+       return  forward_with_closure ( lzv ,  closure ) ; 
33+     }  catch  ( e )  { 
34+       lzv . VAL  =  ( )  =>  { 
35+         throw  e ; 
36+       } ; 
37+       throw  e ; 
38+     } 
39+   } 
40+ } 
1441
15- let  force_val  =  Primitive_lazy . force_val ; 
42+ function  force_val ( lzv )  { 
43+   if  ( lzv . LAZY_DONE )  { 
44+     return  lzv . VAL ; 
45+   }  else  { 
46+     let  closure  =  lzv . VAL ; 
47+     lzv . VAL  =  raise_undefined ; 
48+     return  forward_with_closure ( lzv ,  closure ) ; 
49+   } 
50+ } 
51+ 
52+ function  from_fun ( closure )  { 
53+   return  { 
54+     LAZY_DONE : false , 
55+     VAL : closure 
56+   } ; 
57+ } 
58+ 
59+ function  from_val ( value )  { 
60+   return  { 
61+     LAZY_DONE : true , 
62+     VAL : value 
63+   } ; 
64+ } 
1665
17- let  from_fun  =  Primitive_lazy . from_fun ; 
66+ let  make  =  from_fun ; 
1867
19- let  from_val  =  Primitive_lazy . from_val ; 
68+ let  get  =  force ; 
2069
21- let  is_val  =  Primitive_lazy . is_val ; 
70+ let  isEvaluated  =  is_val ; 
2271
2372export  { 
2473  make , 
Original file line number Diff line number Diff line change 11'use strict' ; 
22
3- let  Primitive_lazy  =  require ( "./Primitive_lazy .js" ) ; 
3+ let  Primitive_exceptions  =  require ( "./Primitive_exceptions .js" ) ; 
44
5- let  make  =  Primitive_lazy . from_fun ; 
5+ function  is_val ( l )  { 
6+   return  l . LAZY_DONE ; 
7+ } 
68
7- let  get  =  Primitive_lazy . force ; 
9+ let  Undefined  =  /*  @__PURE__  */ Primitive_exceptions . create ( "Stdlib_Lazy.Undefined" ) ; 
810
9- let  isEvaluated  =  Primitive_lazy . is_val ; 
11+ function  forward_with_closure ( blk ,  closure )  { 
12+   let  result  =  closure ( ) ; 
13+   blk . VAL  =  result ; 
14+   blk . LAZY_DONE  =  true ; 
15+   return  result ; 
16+ } 
1017
11- let  Undefined  =  Primitive_lazy . Undefined ; 
18+ function  raise_undefined ( )  { 
19+   throw  { 
20+     RE_EXN_ID : Undefined , 
21+     Error : new  Error ( ) 
22+   } ; 
23+ } 
1224
13- let  force  =  Primitive_lazy . force ; 
25+ function  force ( lzv )  { 
26+   if  ( lzv . LAZY_DONE )  { 
27+     return  lzv . VAL ; 
28+   }  else  { 
29+     let  closure  =  lzv . VAL ; 
30+     lzv . VAL  =  raise_undefined ; 
31+     try  { 
32+       return  forward_with_closure ( lzv ,  closure ) ; 
33+     }  catch  ( e )  { 
34+       lzv . VAL  =  ( )  =>  { 
35+         throw  e ; 
36+       } ; 
37+       throw  e ; 
38+     } 
39+   } 
40+ } 
1441
15- let  force_val  =  Primitive_lazy . force_val ; 
42+ function  force_val ( lzv )  { 
43+   if  ( lzv . LAZY_DONE )  { 
44+     return  lzv . VAL ; 
45+   }  else  { 
46+     let  closure  =  lzv . VAL ; 
47+     lzv . VAL  =  raise_undefined ; 
48+     return  forward_with_closure ( lzv ,  closure ) ; 
49+   } 
50+ } 
1651
17- let  from_fun  =  Primitive_lazy . from_fun ; 
52+ function  from_fun ( closure )  { 
53+   return  { 
54+     LAZY_DONE : false , 
55+     VAL : closure 
56+   } ; 
57+ } 
1858
19- let  from_val  =  Primitive_lazy . from_val ; 
59+ function  from_val ( value )  { 
60+   return  { 
61+     LAZY_DONE : true , 
62+     VAL : value 
63+   } ; 
64+ } 
2065
21- let  is_val  =  Primitive_lazy . is_val ; 
66+ let  make  =  from_fun ; 
67+ 
68+ let  get  =  force ; 
69+ 
70+ let  isEvaluated  =  is_val ; 
2271
2372exports . make  =  make ; 
2473exports . get  =  get ; 
  Load Diff This file was deleted. 
  Load Diff This file was deleted. 
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments