π Module
λͺ¨λμ΄λ μ°λ¦¬κ° μμ±ν νμΌ λ¨μμ API (ν¨μ λ° νμ λ€) λμΉμ λλ€.
Haskell
μμλ κ°κ°μ νμΌμ΄ νλμ λͺ¨λμ
λλ€.
λͺ¨λμ μλ¬Έλλ¬Έμλ‘ μμνλ μ΄λ¦μ κ°μ§λ©°(Html.hs), λͺ¨λμ μ μνλ μͺ½μμ
μΈλΆλ‘ 곡κ°νκΈ°λ₯Ό μνλ API λ€μ μ§μ ν μ μμ΅λλ€.
-- Html.hs
module Html
( Html
, Title
, Structure
, html_
, p_
, h1_
, append_
, render
)
where
-- ... κ°κ°μ API λ€μ λν ꡬνλΆ
π Internal Module
μμ module μ export ν λ°©μμ private ν κΈ°λ₯λ€μ μ κ·Όνμ§ λͺ»νλ€λ νΉμ§μ κ°μ§κ³ μμ΅λλ€.
Haskell
μμλ μ΄λ¬ν κ²½μ° module μ λͺ¨λ μ κ·Ό κ°λ₯ν μ’ λ μ μ°ν export λ°©μμ μνλ€λ©΄
Internal Module
μ΄λΌλ λμμΈ ν¨ν΄μ μ¬μ©ν κ²μ κΆμ₯νκ³ μμ΅λλ€.
Internal module
μ μΈμ΄ μ°¨μμμ μ§μνλ κΈ°λ₯μ μλκ³ , κ·Έλ₯ λͺ¨λμ λ΄λΆ/μΈλΆ μ©μΌλ‘ λΆλ¦¬ν΄μ
stable / experimental ν κΈ°λ₯λ€μ λͺ μμ μΌλ‘ λΆλ¦¬νμ¬ export νλ λ°©μμ λλ€.
μμ μμ μμ Html.hs
λ₯Ό λ€μκ³Ό κ°μ΄ λΆλ¦¬ν΄λ΄
μλ€.
-- Html/Internal.hs
{- κΈ°μ‘΄μ Html.hs μ μλ λͺ¨λ μ½λ κ°μ Έμ€κΈ° -}
-- Html.hs
module Html
(Html, Title, Structure, html_, p_, h1_, append_, render)
where
import Html.Internal
μ΄λ₯Ό ν΅ν΄ Html.Internal
μμλ λͺ¨λ API μ μ κ·Ό κ°λ₯νμ§λ§
μ¬μ©μ μ μν΄μΌ νλ€λ κ²μ λͺ μμ μΌλ‘ μ μ μμ΅λλ€.
'π archive' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Haskell Tutorial] Recursion (0) | 2022.12.31 |
---|---|
[Haskell Tutorial] High Order Function (0) | 2022.12.31 |
[Haskell Tutorial] Type (0) | 2022.11.28 |
[Haskell Tutorial] Function & Chaining (0) | 2022.11.28 |
[Haskell Tutorial] Hello World! (0) | 2022.11.28 |
π¬ λκΈ