Haskell で開発されたアプリケーションのソースで、こういう形のものがある。
---[ Main.hs ]---
module Main where
import Application (runApp)
main :: IO ()
main = runApp
---[ Application.hs ]---
module Application (runApp) where
runApp :: IO ()
runApp = do
ほりゃらら
つまり、Main モジュールにはできるだけ何も書かず、別のモジュールに仕事を移譲している。
中には runApp 関数を一つ持つ Application クラスと、そのインスタンス型が一つだけ定義されている事もある。
このような実装の runApp 関数が実際に担っているロールはどれもアプリのエントリポイントだ。
しかし、これはまさに main 関数のロールではないだろうか。
main 関数が本来担う仕事を他の関数に丸投げする事にどのような意味やメリットがあるのだろうか。
関数型プログラミング言語Haskell Part31©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
380デフォルトの名無しさん
2017/12/23(土) 16:45:07.96ID:UP/Zv3hx■ このスレッドは過去ログ倉庫に格納されています
