lib and main in separated modules

This commit is contained in:
taeradan committed 2016-05-21 21:50:42 +02:00
1 parent ef877b4611
commit 01362edbaa
2 files changed
+32 -29

No files matched your search

Executable
+31
View File
@@ -0,0 +1,31 @@
#!/usr/bin/env runhaskell
import RecipeCost
-- * Example (in french for now)
eau = Ingredient "Eau" 0.003
savonMarseille = Ingredient "Savon de Marseille" 3.36
bicarbonate = Ingredient "Bicarbonate de soude" 3.81
vinaigreBlanc = Ingredient "Vinaigre blanc" 0.36
lessive :: Recipe
lessive = Recipe "Lessive"
[ eau → 2.5
, savonMarseille → 0.1
, bicarbonate → 0.016
, vinaigreBlanc → 0.03
]
2.5
30
main = do
putStrLn "Calcul du coût des recettes\n"
putStrLn "* Lessive :"
print lessive
let lessiveTotalCost = recipeCost lessive
lessiveUnitCost = unitCost lessive lessiveTotalCost
lessiveUseCost = useCost lessive lessiveTotalCost
putStrLn $ " * Prix Total = " ++ show lessiveTotalCost ++ "€"
putStrLn $ " * Prix au litre = " ++ show lessiveUnitCost ++ "€"
putStrLn $ " * Prix par utilisation = " ++ show lessiveUseCost ++ "€"
+1 -29
View File
@@ -1,4 +1,4 @@
#! /usr/bin/env runhaskell module RecipeCost where
-- * Data types definition -- * Data types definition
data Ingredient = Ingredient { ingredientName :: String data Ingredient = Ingredient { ingredientName :: String
@@ -28,31 +28,3 @@ useCost (Recipe _ _ _ uses) totalCost = totalCost / uses
(→) :: Ingredient -> Double -> UsedIngredient (→) :: Ingredient -> Double -> UsedIngredient
(→) ingredient qtt = UsedIngredient ingredient qtt (→) ingredient qtt = UsedIngredient ingredient qtt
-- * Example (in french for now)
eau = Ingredient "Eau" 0.003
savonMarseille = Ingredient "Savon de Marseille" 3.36
bicarbonate = Ingredient "Bicarbonate de soude" 3.81
vinaigreBlanc = Ingredient "Vinaigre blanc" 0.36
lessive :: Recipe
lessive = Recipe "Lessive"
[ eau → 2.5
, savonMarseille → 0.1
, bicarbonate → 0.016
, vinaigreBlanc → 0.03
]
2.5
30
main = do
putStrLn "Calcul du coût des recettes\n"
putStrLn "* Lessive :"
print lessive
let lessiveTotalCost = recipeCost lessive
lessiveUnitCost = unitCost lessive lessiveTotalCost
lessiveUseCost = useCost lessive lessiveTotalCost
putStrLn $ " * Prix Total = " ++ show lessiveTotalCost ++ "€"
putStrLn $ " * Prix au litre = " ++ show lessiveUnitCost ++ "€"
putStrLn $ " * Prix par utilisation = " ++ show lessiveUseCost ++ "€"