Haskell 图表:无需编译即可生成 SVG?
Haskell diagrams: generating SVG without compiling?
我试过了the Fibonacci demo from the diagrams gallery
但是,正如他们的许多示例所做的那样,它需要编译,然后 mainWith
函数采用各种选项,包括用于 SVG 输出的文件名。我想获得与 .svg 输出文件相同的结果,但从 GHCi 中获取,而无需先编译。
虽然 this Q&A 是关于同一个问题,但那里的解决方案使用 API 似乎不再有效的调用,例如 SizeSpec2D
和 mkSizeSpec
。
您可以 :load
the .lhs
file into GHCi and then use the :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"
我试过了the Fibonacci demo from the diagrams gallery
但是,正如他们的许多示例所做的那样,它需要编译,然后 mainWith
函数采用各种选项,包括用于 SVG 输出的文件名。我想获得与 .svg 输出文件相同的结果,但从 GHCi 中获取,而无需先编译。
虽然 this Q&A 是关于同一个问题,但那里的解决方案使用 API 似乎不再有效的调用,例如 SizeSpec2D
和 mkSizeSpec
。
您可以 :load
the .lhs
file into GHCi and then use the :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"