3 import Data.Map.Strict qualified as Map
4 import Data.Text.Short qualified as ShortText
6 import Graph.DOT qualified as DOT
7 import Worksheets.Utils.Prelude
12 { recipeFunctions :: [Function]
14 data Function = Function
15 { functionInputs :: Map Name Type
16 , functionSteps :: [ShortText]
17 , functionOutputs :: Map Name Type
20 functionDOT :: Name -> Function -> DOT
21 functionDOT functionName Function{..} =
22 DOT.dotLine $ functionName & DOT.builderQuotedShortText