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

SCM Repository

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

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

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

revision 3806, Tue May 3 18:48:59 2016 UTC revision 3807, Tue May 3 20:48:51 2016 UTC
# Line 468  Line 468 
468                  [t1, t2] --> t3                  [t1, t2] --> t3
469                end))                end))
470    
471    (* outer product *)    (* the outer product operator is treated as a special case in the typechecker.  It is not
472       * included in the basis environment, but we define its type scheme here.  There is an
473       * implicit constraint on its type to have the following scheme:
474       *
475       *     ALL[sigma1, sigma2] . tensor[sigma1] * tensor[sigma2] -> tensor[sigma1, sigma2]
476       *)
477      val op_outer_tt = polyVar (N.op_outer, all([SK, SK, SK],      val op_outer_tt = polyVar (N.op_outer, all([SK, SK, SK],
478            fn [Ty.SHAPE s1, Ty.SHAPE s2, Ty.SHAPE s3] =>            fn [Ty.SHAPE s1, Ty.SHAPE s2, Ty.SHAPE s3] =>
479                [Ty.T_Tensor(Ty.ShapeVar s1), Ty.T_Tensor(Ty.ShapeVar s2)]                [Ty.T_Tensor(Ty.ShapeVar s1), Ty.T_Tensor(Ty.ShapeVar s2)]

Legend:
Removed from v.3806  
changed lines
  Added in v.3807

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