X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.scl.runtime%2Fscl%2FPrelude.scl;h=4c20c99b52dfe03528542ab582934a9fe7185ec3;hp=b29b04a2fe42025c1538637f10080c921e4bf12f;hb=ada96685970d938b68b28085e51610187401b8a9;hpb=969bd23cab98a79ca9101af33334000879fb60c5 diff --git a/bundles/org.simantics.scl.runtime/scl/Prelude.scl b/bundles/org.simantics.scl.runtime/scl/Prelude.scl index b29b04a2f..4c20c99b5 100644 --- a/bundles/org.simantics.scl.runtime/scl/Prelude.scl +++ b/bundles/org.simantics.scl.runtime/scl/Prelude.scl @@ -1266,7 +1266,7 @@ instance MonadZero Maybe where mzero = Nothing instance MonadOr Maybe where - morelse (Just a) _ = Just a + morelse a@(Just _) _ = a morelse _ b = b "`execJust v f` executes the function `f` with parameter value `x`, if `v=Just x`. If `v=Nothing`, the function does nothing." @@ -2294,6 +2294,9 @@ importJava "org.simantics.databoard.binding.mutable.Variant" where @JavaName getComponent variantComponent :: Variant -> ChildReference -> Variant +variant :: Serializable a => a -> Variant +variant v = variantOfWithBinding binding v + variantValue :: Serializable a => Variant -> a variantValue v = variantValue_ v binding