Module

Economics.Utility.VNM.Function

Package
purescript-vnm-utility
Repository
colehaus/purescript-vnm-utility

#UtilityFn Source

newtype UtilityFn a n

Constructors

Instances

#goods Source

goods :: forall n a. Ord a => UtilityFn a n -> Set a

#pairs Source

pairs :: forall n a. Ord a => UtilityFn a n -> Set (Pair a)

#unmake Source

unmake :: forall a n. Ord a => Ord n => UtilityFn a n -> NonEmpty Map (Pair a) (NonEmpty n)

#goodsToInitialFn Source

goodsToInitialFn :: forall n a. Ord a => Ord (Pair a) => Ord n => Semiring n => NonEmpty Set a -> Either Unit (UtilityFn a n)

Must pass in a set with at least two elements

#update Source

update :: forall n a. Ord a => Pair a -> (NonEmpty n -> NonEmpty n) -> UtilityFn a n -> UtilityFn a n

#prune Source

prune :: forall n a. Ord a => a -> UtilityFn a n -> UtilityFn a n

Prune utility function so all remaining ratios involve chosen good

#byGood Source

byGood :: forall n a. Ord a => Ord n => UtilityFn a n -> Map a (Set (Ratio a (NonEmpty n)))

#best Source

best :: forall n a. Ord a => Ord n => Semiring n => UtilityFn a n -> Maybe a

#better Source

better :: forall n a. Ord n => Semiring n => Ratio a (NonEmpty n) -> Maybe a

#worse Source

worse :: forall n a. Ord n => Semiring n => Ratio a (NonEmpty n) -> Maybe a