lib and main in separated modules

master
Yves Dubromelle 9 years ago
parent ef877b4611
commit 01362edbaa

@ -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,4 +1,4 @@
#! /usr/bin/env runhaskell
module RecipeCost where
-- * Data types definition
data Ingredient = Ingredient { ingredientName :: String
@ -28,31 +28,3 @@ useCost (Recipe _ _ _ uses) totalCost = totalCost / uses
() :: Ingredient -> Double -> UsedIngredient
() 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 ++ ""
Loading…
Cancel
Save