MyNixOS website logo
Description

Library and binary to generate sequence/flow diagrams from plain text source.

Generates sequence diagrams from textual descriptions with help of Graphviz graph drawing tool.

Flow2dot

flow2dot is a tool to generate nice sequence (flow) diagrams from textual descriptions, written in Haskell.

Tool itself generates a diagram description, which could be fed into GraphViz to get a nice-looking picture.

To try it out, run:

  runhaskell flow2dot.hs sample.flow | dot -T png -o sample.png

and view "sample.png" with your favorite picture viewer. Make sure version of dot is at least 2.12.

If you want to tweak the output - read Dot manual and use it for scaling, colors, pagination etc.

Sample output

sample.png

Acknowledgements

Thanks to Cale, quicksilver and roconnor from #haskell for suggestions on how to modularize this. Thanks to Dema from [email protected] for win32 testing. Gwern0 helped to adapt this to GHC 6.8.2. Radoslav Dorcik sent in parser improvements. Mike Shigorin and Denis Smirnov packaged for Alt Linux and provided feedback on compatibility with different GHC versions. Vasyl Vaskul reported bugs.

Known issues

  • Dot < 2.12 will most likely segfault on files generated by flow2dot.
Metadata

Version

0.9.2

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows