Source/Packages

Learning.Transformation

packages/learning/src/Learning/Transformation.alpha

104 lines22 declarations5.0 KiBSHA-256 72e22bc0eb49

def · lines 41–87

composeLearningTransformation

Full file
Every learning mode uses the same composition boundary. The result names the first incompatible contract dimension instead of silently selecting a path.
41def composeLearningTransformation =
42  (lambda unrestricted transformation : (family LearningTransformation) .
43    (lambda unrestricted compatibility : (family LearningCompatibility) .
44      (eliminate LearningCompatibility
45        (lambda unrestricted current : (family LearningCompatibility) .
46          (family StdResult (family LearningIncompatibility) (family LearningTransformation)))
47        compatibility
48        (branch LearningCompatibilityOf representation effects resources timing .
49          (eliminate StdBool
50            (lambda unrestricted current : (family StdBool) .
51              (family StdResult (family LearningIncompatibility) (family LearningTransformation)))
52            representation
53            (branch StdTrue .
54              (eliminate StdBool
55                (lambda unrestricted current : (family StdBool) .
56                  (family StdResult (family LearningIncompatibility) (family LearningTransformation)))
57                effects
58                (branch StdTrue .
59                  (eliminate StdBool
60                    (lambda unrestricted current : (family StdBool) .
61                      (family StdResult (family LearningIncompatibility) (family LearningTransformation)))
62                    resources
63                    (branch StdTrue .
64                      (eliminate StdBool
65                        (lambda unrestricted current : (family StdBool) .
66                          (family StdResult (family LearningIncompatibility) (family LearningTransformation)))
67                        timing
68                        (branch StdTrue .
69                          (constructor StdResult StdSuccess
70                            (family LearningIncompatibility) (family LearningTransformation)
71                            transformation))
72                        (branch StdFalse .
73                          (learningCompositionFailure
74                            (constructor LearningIncompatibility LearningTimingMismatch)
75                            transformation))))
76                    (branch StdFalse .
77                      (learningCompositionFailure
78                        (constructor LearningIncompatibility LearningResourceMismatch)
79                        transformation))))
80                (branch StdFalse .
81                  (learningCompositionFailure
82                    (constructor LearningIncompatibility LearningEffectMismatch)
83                    transformation))))
84            (branch StdFalse .
85              (learningCompositionFailure
86                (constructor LearningIncompatibility LearningRepresentationMismatch)
87                transformation)))))))

The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.