循環プログラミングに驚いた(repmin problem)

GHC拡張RecursiveDoが何か知りたく、https://ocharles.org.uk/blog/posts/2014-12-09-recursive-do.html この記事を読んだ。 RecursiveDoに到達する以前に単に遅延評価に衝撃を受けたのでシェアさせていただきます。 repmin problem というもの。 何らかのtraversableなもの、例えば次のような木構造を、 Tree 4 [Tree 6 [], Tree 2 []] 木構造内の一番小さい値をつかって更新したい、 Tree 2 [Tree »

翻訳: The Architecture of Open Source Applications (Volume 2): The Glasgow Haskell Compiler

この記事はThe Architecture of Open Source Applications (Volume 2): The Glasgow Haskell Compilerの翻訳です。 The Glasgow Haskell Compiler Simon MarlowとSimon Peyton-Jones Glasgow Haskell Compiler(GHC)は次のいくつかの目標と共に、1990年代の初めに英国政府によって学術研究プロジェクトの一環として設立されました。 堅牢で移植性があり、 »

GHCでCall Stackを表示する

テストのassertationやエラーログなどで使う。 GHC.Stackを使うとstackを取得できる。 {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ImplicitParams #-} import Data.Text (Text) import GHC.Stack main = do putStrLn "before error" printStack - line »