Haskell图:生成SVG而不编译?

时间:2018-03-26 20:39:07

标签: haskell svg haskell-diagrams

我试过the Fibonacci demo from the diagrams gallery 但是,正如他们的许多示例所做的那样,它需要编译,然后SizeSpec2D函数需要各种选项,包括SVG输出的文件名。我想获得.svg输出文件的相同结果,但是从GHCi中获得,而不必先编译。

尽管this Q&A存在同样的问题,但该解决方案使用的API调用似乎不再起作用,例如mkSizeSpec--*--*--A--B--C--D <- branch

1 个答案:

答案 0 :(得分:2)

您可以:load.lhs文件导入GHCi,然后使用:main命令运行它。

$ cd $(mktemp -d)                                                                                                                                                                                                                     

$ wget -q https://archives.haskell.org/projects.haskell.org/diagrams/gallery/FibCalls.lhs

$ stack ghci --package diagrams-lib diagrams-svg diagrams-contrib

λ> :load FibCalls.lhs
[1 of 1] Compiling Main             ( FibCalls.lhs, interpreted )
Ok, one module loaded.

λ> :main -o out.svg

λ> :quit
Leaving GHCi.

$ head -n2 out.svg 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"