Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Diff of /branches/lamont/src/compiler/basis/basis-vars.sml
ViewVC logotype

Diff of /branches/lamont/src/compiler/basis/basis-vars.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1944, Thu Jul 5 17:19:46 2012 UTC revision 1945, Fri Jul 6 14:54:21 2012 UTC
# Line 312  Line 312 
312                  [Ty.T_Tensor(Ty.ShapeVar s1), Ty.T_Tensor(Ty.ShapeVar s2)]                  [Ty.T_Tensor(Ty.ShapeVar s1), Ty.T_Tensor(Ty.ShapeVar s2)]
313                    --> Ty.T_Tensor(Ty.ShapeVar s3)))                    --> Ty.T_Tensor(Ty.ShapeVar s3)))
314    
315      (* the colon (or double-dot) product operator is treated as a special case in the
316       * typechecker.  It is not included in the basis environment, but we define its type
317       * schemehere.  There is an implicit constraint on its type to have the following scheme:
318       *
319       *     ALL[sigma1, d1, d2, sigma2] .
320       *       tensor[sigma1, d1, d2] * tensor[d1, d2, sigma2] -> tensor[sigma1, sigma2]
321       *)
322        val op_colon = polyVar (N.op_colon, all([SK, SK, SK],
323                fn [Ty.SHAPE s1, Ty.SHAPE s2, Ty.SHAPE s3] =>
324                    [Ty.T_Tensor(Ty.ShapeVar s1), Ty.T_Tensor(Ty.ShapeVar s2)]
325                      --> Ty.T_Tensor(Ty.ShapeVar s3)))
326    
327    (* load image from nrrd *)    (* load image from nrrd *)
328      val fn_image = polyVar (N.fn_image, all([NK, SK],      val fn_image = polyVar (N.fn_image, all([NK, SK],
329              fn [Ty.DIM d, Ty.SHAPE dd] => let              fn [Ty.DIM d, Ty.SHAPE dd] => let

Legend:
Removed from v.1944  
changed lines
  Added in v.1945

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