{-# LANGUAGE TypeFamilies #-}
module T8227
  ( 
    absoluteToParam
  ) where

import T8227a

type family Scalar a :: *
type instance Scalar (a -> v) = a -> Scalar v

arcLengthToParam :: Scalar (V p) -> p -> Scalar (V p) -> Scalar (V p)
arcLengthToParam = undefined

absoluteToParam :: Scalar (V a) -> a -> Scalar (V a)
absoluteToParam eps seg = arcLengthToParam eps eps

{-

Scalar (V a) ~ Scalar (V p0)
Scalar (V a) ~ p0
Scalar (V a) ~ Scalar (V p0) -> Scalar (V p0)

--->
Scalar (V a)  ~ fuv0
Scalar (V p0) ~ fuv1
fuv0 ~ fuv1
fuv0 ~ p0
fuv0 ~ fuv1 -> fuv1

---> p0 := fuv0

Scalar (V a)    ~ fuv0    (CFunEqCan)
Scalar (V fuv0) ~ fuv1    (CFunEqCan)
fuv0 ~ fuv1
p0 ~ fuv0
fuv0 ~ fuv1 -> fuv1


-}


