logo
首页技术栈工具库讨论
hermit-syb

hermit-syb

A HERMIT plugin for GHC which optimizes SYB generic traversals to achieve equivalent performance to hand-written traversals. Details can be found in the paper: http://michaeldadams.org/papers/syb-opt/ Note: This compiler plugin requires GHC 7.8 (or HEAD) and specially compiled copies of base, ghc-prim, and syb. Up-to-date instructions can be found at: https://github.com/ku-fpg/hermit/wiki/GHC-HEAD. We are working to lift these requirements. As an example, we apply the optimization to Foo.hs, which contains the following code: Note that importing HERMIT.Optimization.SYB.Prelude is required in any module targeted for optimization. To compile Foo.hs with the optimization: This invokes GHC with a specific set of flags. These flags may be used instead of the hermit program itself, or placed in a cabal file. The first argument to HERMIT is the target file. Next is the -opt flag, which specifies the plugin name. Then follows one or more target module names, each beginning with a plus sign. After each target module is a list of targeted functions. The distinguished interactive target will run the optimization on any other targets and then enter the HERMIT interactive shell. The distinguished interactive-only target will open the HERMIT shell before optimization. HERMIT commands specific to this optimization are available for interactive use.
由 
bruceshi2021-01-13 收录
--
推荐
不推荐
更多信息
GitHub iconxich/hermit-syb0
HACKAGE
carbal install hermit-syb
查看
标签
根据用户添加的标签生成
暂无标签