Czy istnieje standard dla miejsca dla deklaracji typu w Haskell?Standardowe rozmieszczenie deklaracji typu
Na przykład załóżmy, że mam dwie funkcje:
abs' x = if x >= 0 then x else -x
pow x 0 = 1
pow x e = x * (pow x (e-1))
i ich deklaracje typu są:
abs' :: Int -> Int
pow :: Int -> Int -> Int
Czy to bardziej właściwe/czytelne umieszczenie deklaracji w górnej części pliku, takie jak:
abs' :: Int -> Int
pow :: Int -> Int -> Int
abs' x = if x >= 0 then x else -x
pow x 0 = 1
pow x e = x * (pow x (e-1))
Lub umieścić każdą nad odpowiednią funkcję, jak w:
abs' :: Int -> Int
abs' x = if x >= 0 then x else -x
pow :: Int -> Int -> Int
pow x 0 = 1
pow x e = x * (pow x (e-1))
Tak czy inaczej, wydaje mi się, że jestem całkowicie sprawny, więc zastanawiałem się, czy istnieje jakiś standard w tym zakresie. Ponadto, zakładając, że są one w module
, czy ich dostępność ze świata zewnętrznego wpływa na umieszczanie ich deklaracji typu?