Nebula
melusine-nebula · sealed rewrites of live Haskell
Nebula reads a module together with the compiler's typed evidence, saturates an e-graph over it, and rewrites incidental mass to its minimal lawful form — refusing to seal any output it cannot prove equivalent. The ten modules below are real: taken live from the pale-meridian workspace, shown exactly as the engine sealed them.
@@ -191,31 +191,19 @@
deriving stock (Eq, Show)
mkMinimumBiomechanicalJointCount :: Int -> Maybe MinimumBiomechanicalJointCount
-mkMinimumBiomechanicalJointCount jointCount
- | jointCount >= 0 =
- Just (MinimumBiomechanicalJointCount jointCount)
- | otherwise =
- Nothing
+mkMinimumBiomechanicalJointCount = guardedBranchShared1 MinimumBiomechanicalJointCount
defaultMinimumBiomechanicalJointCount :: MinimumBiomechanicalJointCount
defaultMinimumBiomechanicalJointCount = MinimumBiomechanicalJointCount 2
mkBiomechanicalRoundLimit :: Int -> Maybe BiomechanicalRoundLimit
-mkBiomechanicalRoundLimit roundLimit
- | roundLimit >= 0 =
- Just (BiomechanicalRoundLimit roundLimit)
- | otherwise =
- Nothing
+mkBiomechanicalRoundLimit = guardedBranchShared1 BiomechanicalRoundLimit
defaultBiomechanicalRoundLimit :: BiomechanicalRoundLimit
defaultBiomechanicalRoundLimit = BiomechanicalRoundLimit 64
mkBiomechanicalTolerance :: Double -> Maybe BiomechanicalTolerance
-mkBiomechanicalTolerance tolerance
- | tolerance >= 0.0 =
- Just (BiomechanicalTolerance tolerance)
- | otherwise =
- Nothing
+mkBiomechanicalTolerance = guardedBranchShared BiomechanicalTolerance
defaultBiomechanicalTolerance :: BiomechanicalTolerance
defaultBiomechanicalTolerance = BiomechanicalTolerance 1.0e-9
@@ -307,11 +295,7 @@
Nothing
mkBiomechanicalElasticStrainEnergy :: Double -> Maybe BiomechanicalElasticStrainEnergy
-mkBiomechanicalElasticStrainEnergy boneWeight
- | boneWeight >= 0.0 =
- Just (BiomechanicalElasticStrainEnergy boneWeight)
- | otherwise =
- Nothing
+mkBiomechanicalElasticStrainEnergy = guardedBranchShared BiomechanicalElasticStrainEnergy
mkBiomechanicalStructuralCoherenceEnergy :: Double -> Maybe BiomechanicalStructuralCoherenceEnergy
mkBiomechanicalStructuralCoherenceEnergy structuralWeight
@@ -356,11 +340,7 @@
}
mkBiomechanicalResidualScoreComponent :: Double -> Maybe BiomechanicalResidualScoreComponent
-mkBiomechanicalResidualScoreComponent weight
- | weight >= 0.0 =
- Just (BiomechanicalResidualScoreComponent weight)
- | otherwise =
- Nothing
+mkBiomechanicalResidualScoreComponent = guardedBranchShared BiomechanicalResidualScoreComponent
mkBiomechanicalAnchorFidelityScoreComponent :: Double -> Maybe BiomechanicalAnchorFidelityScoreComponent
mkBiomechanicalAnchorFidelityScoreComponent weight
@@ -439,3 +419,11 @@
defaultBiomechanicalRankPolicy :: BiomechanicalRankPolicy
defaultBiomechanicalRankPolicy =
TotalBiomechanicalRankPolicy
+
+guardedBranchShared step tolerance
+ | tolerance >= 0.0 = Just (step tolerance)
+ | otherwise = Nothing
+
+guardedBranchShared1 step jointCount
+ | jointCount >= 0 = Just (step jointCount)
+ | otherwise = Nothing



