-
-
Save 573/9d814f5b547d76895bc1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% Author: Martin Heuschober | |
% License: CC-BY-4.0 | |
% see https://creativecommons.org/licenses/by/4.0/ | |
\documentclass{article} | |
\usepackage[paperwidth=55cm | |
,paperheight=45cm | |
,left=1cm | |
,right=1cm | |
,top=1cm | |
,bottom=1cm | |
]{geometry} | |
\usepackage[hidelinks]{hyperref} | |
\usepackage{tikz} | |
\usetikzlibrary{mindmap,trees} | |
\begin{document} | |
\pagestyle{empty} | |
\centering | |
\begin{tikzpicture} | |
\path[mindmap, concept color=black,text=black | |
, level 1 concept/.append style={sibling angle=36, level distance=400} | |
, level 2 concept/.append style={sibling angle=20, level distance=150} | |
, level 3 concept/.append style={sibling angle=36, level distance=70} | |
, level 4 concept/.append style={sibling angle=36} | |
, level 5 concept/.append style={sibling angle=36} | |
] | |
node[concept, text=white] {\huge Haskell} [clockwise from=0] | |
child[concept color=green!50!yellow] { node[concept] {Types} [clockwise from=50] | |
child[concept color=black!20!green!50!yellow] { node[concept] {composed} [clockwise from=70] | |
child[concept color=green!10!yellow] { node[concept] {poly\-morphic} | |
child { node[concept] {type\-clas\-ses} [clockwise from=90] | |
child[concept color=cyan!5!yellow]{ node[concept] {monad}} | |
child[concept color=cyan!15!yellow]{ node[concept] {ap\-plica\-tive}} | |
child[concept color=cyan!25!yellow]{ node[concept] {functor}} | |
} | |
} | |
child[concept color=green!20!yellow] { node[concept] {ADTs} | |
child[concept color=cyan!20!yellow]{ node[concept] {record syntax}} | |
child[concept color=cyan!30!yellow]{ node[concept] {Lenses, Prisms}} | |
child[concept color=cyan!40!yellow]{ node[concept] {GADTs}} | |
child[concept color=cyan!50!yellow]{ node[concept] {Text}} | |
child[concept color=cyan!60!yellow]{ node[concept] {Byte\-String}} | |
} | |
} | |
child[concept color=black!30!green!50!yellow]{ node[concept] {static}} | |
child[concept color=black!40!green!50!yellow]{ node[concept] {strong}} | |
child[concept color=black!50!green!50!yellow]{ node[concept] {type-signatures}} | |
child[concept color=black!60!green!50!yellow]{ node[concept] {primitive} [clockwise from=25] | |
child[concept color=black!60!green!50!yellow!30!blue]{ node[concept] {boxed}} | |
child[concept color=black!60!green!50!yellow!60!blue]{ node[concept] {unboxed}} | |
} | |
child[concept color=black!70!green!50!yellow] { node[concept] {Containers} [clockwise from=0] | |
child[concept color=black!70!green]{ node[concept] {Maybe}} | |
child[concept color=black!60!green]{ node[concept] {list like} [clockwise from=15] | |
child[concept color=black!60!green!35!white]{ node[concept] {Lists}} | |
child[concept color=black!60!green!45!white]{ node[concept] {Seq\-uence}} | |
child[concept color=black!60!green!55!white]{ node[concept] {Vectors}} | |
child[concept color=black!60!green!65!white]{ node[concept] {Arrays}} | |
} | |
child[concept color=black!50!green] { node[concept] {Maps}} | |
child[concept color=black!40!green] { node[concept] {Tries}} | |
child[concept color=black!30!green] { node[concept] {Trees} [counterclockwise from=120] | |
child[concept color=black!30!green!59!white]{ node[concept] {Binary}} | |
child[concept color=black!30!green!66!white]{ node[concept] {Rose}} | |
child[concept color=black!30!green!73!white]{ node[concept] {Finger}} | |
child[concept color=black!30!green!80!white]{ node[concept] {Red-Black}} | |
} | |
} | |
} | |
child[concept color=green] { node[concept] {Messages} | |
child[concept color=green!90!black]{ node[concept] {Lints}} | |
child[concept color=green!70!black]{ node[concept] {Warnings}} | |
child[concept color=green!50!black]{ node[concept] {Reading Messages}} | |
child[concept color=green!30!black]{ node[concept] {Errors} [clockwise from=-36] | |
child[concept color=green!80!blue] { node[concept] {Compiler}} | |
child[concept color=green!60!blue] { node[concept] {Runtime} | |
child[concept color=green!80!cyan] { node[concept] {unsafe}} | |
child[concept color=green!60!cyan] { node[concept] {totality}} | |
child[concept color=green!40!cyan] { node[concept] {Space Leaks}} | |
child[concept color=green!20!cyan] { node[concept] {Time Leaks}} | |
} | |
} | |
} | |
child[concept color=green!50!cyan] { node[concept] {Hackage}} | |
child[concept color=blue!1!cyan] { node[concept] {Libraries} [clockwise from=-68] | |
child[concept color=blue!90!cyan] { node[concept] {Prelude}} | |
child[concept color=blue!70!cyan] { node[concept] {Parsec}} | |
child[concept color=blue!50!cyan] { node[concept] {Diagrams}} | |
child[concept color=blue!30!cyan] { node[concept] {lens}} | |
child[concept color=blue!10!cyan] { node[concept] {tasty}} | |
} | |
child[concept color=white!50!blue, text=black] { node[concept] {Tooling} [clockwise from=-94] | |
child[concept color=blue!90!red] { node[concept] {HLint}} | |
child[concept color=blue!80!red] { node[concept] {testing} [counterclockwise from=-170] | |
child { node[concept] {test coverage} | |
child { node[concept] {HPC}} | |
} | |
child { node[concept] {property tests} | |
child { node[concept] {Quick\-Check}} | |
child { node[concept] {Small\-Check}} | |
} | |
child { node[concept] {Unit tests} [clockwise from=-100] | |
child { node[concept] {HUnit}} | |
} | |
child { node[concept] {criterion = benchmarks}} | |
} | |
child[concept color=blue!60!red] { node[concept] {Hoogle Hayoo}} | |
child[concept color=blue!50!red] { node[concept] {Haskell Platform}} | |
child[concept color=blue!40!red] { node[concept] {GHCi}} | |
child[concept color=blue!30!red, level distance=120, sibling angle=27] { node[concept] {cabal} [counterclockwise from=5] | |
child[concept color=purple!25!white]{ node[concept] {install}} | |
child[concept color=purple!35!white]{ node[concept] {init}} | |
child[concept color=purple!45!white]{ node[concept] {sandbox}} | |
child[concept color=purple!55!white]{ node[concept] {run}} | |
child[concept color=purple!65!white]{ node[concept] {repl}} | |
child[concept color=purple!75!white]{ node[concept] {build}} | |
child[concept color=purple!85!white]{ node[concept] {install -jN -dep}} | |
child[concept color=purple!95!white]{ node[concept] {haddock}} | |
} | |
} | |
child[concept color=blue, text=black] { node[concept] {Functional} [clockwise from=210] | |
child[concept color=blue!95!white] { node[concept] {operators} | |
child { node[concept] {infix{lr}}} | |
child { node[concept] {backtick-syntax}} | |
} | |
child[concept color=blue!75!white]{ node[concept] {referential transparency}} | |
child[concept color=blue!55!white]{ node[concept] {lambda expressions}} | |
child[concept color=blue!35!white, text=white]{ node[concept, text=black] {functions} | |
child[concept color=black!35!blue]{ node[concept] {map}} | |
child[concept color=black!45!blue]{ node[concept] {fold{lr}{1}{'}}} | |
child[concept color=black!55!blue]{ node[concept] {scan{lr}{1}{'}}} | |
child[concept color=black!65!blue]{ node[concept] {recursive}} | |
child[concept color=black!75!blue]{ node[concept] {show}} | |
} | |
} | |
child[concept color=blue!50!magenta] { node[concept] {Lazy} [counterclockwise from=124.0] | |
child[concept color=yellow!15!blue] { node[concept] {lazy in Action} | |
child[concept color=yellow!35!blue] { node[concept] {lazy sequences} | |
child[concept color=yellow!55!cyan] { node[concept] {fi\-bo\-nac\-ci}} | |
} | |
child[concept color=yellow!35!cyan] { node[concept] {IO} | |
child[concept color=yellow!25!cyan] { node[concept] {Prob\-lems}} | |
} | |
} | |
child[concept color=yellow!35!blue] { node[concept] {:sprint}} | |
child[concept color=yellow!55!blue] { node[concept] {strictness} | |
child[concept color=yellow!45!blue] { node[concept] {seq} | |
child[concept color=yellow!25!blue]{ node[concept] {deepseq}} | |
} | |
child[concept color=orange!65!blue] { node[concept] {IO} | |
child[concept color=orange!55!blue]{ node[concept] {conduit}} | |
child[concept color=orange!75!blue]{ node[concept] {pipes}} | |
} | |
} | |
} | |
child[concept color=magenta] { node[concept] {Syntax} [counterclockwise from=-32] | |
child[concept color=magenta!90!yellow] { node[concept] {\textbf{ no} while, for or other loops}} | |
child[concept color=magenta!85!yellow] { node[concept] {Parenthesis}} | |
child[concept color=magenta!80!yellow] { node[concept] {if \dots then \dots else}} | |
child[concept color=magenta!75!yellow] { node[concept] {case}} | |
child[concept color=magenta!70!yellow] { node[concept] {let}} | |
child[concept color=magenta!65!yellow] { node[concept] {where}} | |
child[concept color=magenta!60!yellow] { node[concept] {do}} | |
child[concept color=magenta!55!yellow] { node[concept] {operators} [counterclockwise from=55] | |
child[concept color=magenta!50!white]{ node[concept] {(:)}} | |
child[concept color=magenta!40!white]{ node[concept] {(\$)}} | |
child[concept color=magenta!30!white]{ node[concept] {(\%)}} | |
child[concept color=magenta!20!white]{ node[concept] {(==), (/=)}} | |
} | |
child[concept color=magenta!50!yellow] { node[concept] {($<$-)}} | |
child[concept color=magenta!45!yellow] { node[concept] {[~]}} | |
child[concept color=magenta!40!yellow] { node[concept] {data, type, newtype, deriving}} | |
child[concept color=magenta!35!yellow] { node[concept] {module}} | |
child[concept color=magenta!30!yellow] { node[concept] {(..) range}} | |
child[concept color=magenta!25!yellow] { node[concept] {(::), ($=>$), (-$>$)}} | |
child[concept color=magenta!20!yellow] { node[concept] {point-free}} | |
} | |
child[concept color=red] { node[concept] {Literature} [counterclockwise from=26] | |
child[concept color=red!50!yellow] { node[concept] {Books} | |
child[concept color=red!75!green]{ node[concept] {RWH}} | |
child[concept color=red!70!green]{ node[concept] {LYAH}} | |
child[concept color=red!65!green]{ node[concept] {Type\-class\-o\-pedia}} | |
child[concept color=red!60!green]{ node[concept] {Papers}} | |
} | |
child[concept color=red!70!yellow, sibling angle=55]{ node[concept] {Blog} | |
child[concept color=red!40!magenta] { node[concept] {\href{haskellforall.com}{Gabriel Gonzalez}}} | |
child[concept color=red!50!magenta] { node[concept] {\href{example.com}{Michael Snoyman}}} | |
child[concept color=red!60!magenta] { node[concept] {\href{http://dev.stephendiehl.com/hask/}{Stephen Diehl}}} | |
child[concept color=red!70!magenta] { node[concept] {\href{http://blog.sigfpe.com/}{Dan Piponi}}} | |
} | |
child[concept color=red!90!yellow, sibling angle=45]{ node[concept] {Podcasts} [clockwise from=120] | |
child[concept color=red!70!magenta, sibling angle=45] { node[concept] {Haskell\-cast}} | |
} | |
} | |
child[concept color=red!50!yellow] { node[concept] {GHC} [counterclockwise from=-34] | |
child[concept color=red!10!yellow] { node[concept] {Pragmas}} | |
child[concept color=red!20!yellow] { node[concept] {Runtime}} | |
child[concept color=red!30!yellow] { node[concept] {Garbage Collector}} | |
child[concept color=red!40!yellow] { node[concept] {LLVM-Backend}} | |
child[concept color=red!50!yellow] { node[concept] {Compliation}} | |
child[concept color=red!60!yellow] { node[concept] {Multicore}} | |
child[concept color=red!70!yellow] { node[concept] {Template\-Haskell}} | |
child[concept color=red!80!yellow] { node[concept] {OpenSource}} | |
}; | |
\end{tikzpicture} | |
\end{document} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment