digraph {
edge [arrowhead=none]
node [penwidth=2.5, fontname="Inconsolata"]
// "Real World Haskell" [label="Real World Haskell 🔶"]
// "lex-yacc" [label="Lex & YACC"]
// "flex-bison" [label="Flex & Bison"]
// "parsing-techniques" [label="Parsing Techniques"]
fallible [label="fallible ❌", color="#555555"]
AutoQEMU [label="AutoQEMU 🔶", color="#89e051"]
remembering [label="remembering ❌", color="#555555"]
urubu [label="urubu ❌", color="#555555"]
stdix [label="stdix", color="#555555"]
vi [color="#555555"]
le [color="#555555"]
levitate [color="#555555"]
fetch [color="#555555"] // http client
glaze [color="#555555"] // http server
nav [color="#555555"]
geminiclient [color="#555555"]
geminiserver [color="#555555"]
fz [color="#555555"]
gistatic [label="gistatic ❌", color="#89e051"]
// zeptoparsec [label="zeptoparsec 🔶", color="#555555"]
"git-permalink" [label="git-permalink 🔶", color="#89e051"]
td [label="td 🔶", color="#89e051"]
booklet [label="booklet", color="#89e051"]
"js-bigdecimal" [label="js-bigdecimal", color="#f1e05a"]
"qc.js" [color="#f1e05a"]
"clj-schema-to-json-schema" [label="clj-schema-to-json-schema", color="#db5855"]
"json-schema-mock" [label="json-schema-mock", color="#f1e05a"]
// libjson [label="libjson 🔸", color="#555555"]
// libmockjsonschema [label="libmockjsonschema 🔸", color="#555555"]
// stick [label="stick", color="#555555"]
// Clojure: mediator ecosystem (the alternative would be the language used in
// the implementation of Mediator itself, probably C/Zig or Rust)
mediatorhut [label="🤑 mediator.ht", color="#db5855"]
amberhut [label="🤑 amber.ht", color="#3fb68b"]
DiscussionsSite [label="🤑 DiscussionsSite", color="#3fb68b"]
// Standardify [label="Standardify 🤑", color="#0298c3"]
// Standardify [label="Standardify 🤑", color="white"]
Standardify [label="🤑 Standardify ❌", color="#3fb68b"]
// Scheme (Guile): the language of LilyPond itself
Songbooks [label="🤑 Songbooks", color="#1e4aec"]
polyparsing [label="<polyglot parsing>", color="#555555"]
// polytemplating [label="<polyglot templating>", color="#555555"]
// parsing [label="<parsing>", color="#555555"]
"spell-checker" [label="spell-checker"]
paku [color="#596706"]
// makecheck [color="#5e5086"]
listatic [color="#555555"]
// "std-tools" [color="#555555"]
Mediator [color="#555555"]
Amber [color="#555555"]
// Papo [color="#555555"]
BYOPDS [label="BYOPDS", color="#e34c26"]
// eq [color="#555555"]
xt [label="xt", color="#555555"]
md [label="md", color="#555555"]
// libtraverse [color="#555555"]
// libxtx [color="#555555"]
// "libXXX*" [color="#555555"]
libedn [color="#555555"]
// libpds [color="#555555"]
yoctoauth [color="#555555"]
// z2h [color="#ec915c"]
gluilo [label="gluilo", color="#555555"]
// konformigado [color="#555555"]
"package-repository" [color="#89e051"]
Servers [color="#89e051"]
caju [color="#555555"]
// mkg [color="#555555"]
// http [color="#555555"]
/* labels end, edges begin */
// BYOPDS -> libpds
AutoQEMU -> "package-repository"
"package-repository" -> AutoQEMU
// z2h -> "package-repository"
paku -> "package-repository"
// remembering -> fallible
// gluilo -> z2h
gluilo -> urubu
// zeptoparsec -> "Real World Haskell"
// parsing -> "Real World Haskell"
// parsing -> "lex-yacc"
// parsing -> "flex-bison"
// parsing -> "parsing-techniques"
// polyparsing -> zeptoparsec
// polyparsing -> z2h
polyparsing -> gluilo
// polytemplating -> konformigado
// polytemplating -> libstick
// libmockjsonschema -> polyparsing
// "json-schema-mock -> libmockjsonschema
// libmockjsonschema -> libjson
le -> polyparsing
libedn -> polyparsing
// libjson -> polyparsing
// yoctoauth -> polyparsing
// libpds -> polyparsing
// stick -> polyparsing
// gistatic -> polyparsing
listatic -> polyparsing
yoctoauth -> polyparsing
Amber -> polyparsing
// Papo -> polyparsing
// libxtx -> polyparsing
// konformigado -> polyparsing
// konformigado -> libjson
// gistatic -> polytemplating
// listatic -> polytemplating
// eq -> konformigado
// eq -> libedn
xt -> polyparsing
md -> polyparsing
// xq -> libxtx
// xq -> konformigado
// "libXXX*" -> libxtx
// libxtx -> "libXXX*"
// This seems backwards
// libtraverse -> libxtx
// eq -> libtraverse
// xq -> libtraverse
// xq -> libedn
// makecheck -> konformigado
// makecheck -> libxtx
// paku -> konformigado
Mediator -> polyparsing
// Mediator -> konformigado
// Mediator -> libedn
// Mediator -> eq
// "std-tools" -> fallible
amberhut -> Amber
amberhut -> yoctoauth
Pires -> Mediator
Rubo -> Mediator
mediatorhut -> Mediator
mediatorhut -> yoctoauth
Songbooks -> yoctoauth
DiscussionsSite -> yoctoauth
DiscussionsSite -> listatic
Standardify -> yoctoauth
Standardify -> AutoQEMU
// Standardify -> stdix
stdix -> vi
levitate -> le
levitate -> vi
// "std-tools" -> Standardify
/* Misc */
website [label="website"]
website -> "spell-checker"
Servers -> Toph
Toph -> Email
// Toph -> Git
Toph -> Guix
Toph -> NGINX
// Toph -> Prosody
// Toph -> Matrix
// positioning hack
edge [style="invis"]
"package-repository" -> website
BYOPDS -> Servers
// libpds -> Servers
// libstick -> website
// Guix -> caju
// caju -> Ferret
// zeptoparsec -> "git-permalink"
// "Real World Haskell" -> "git-permalink"
urubu -> "git-permalink"
"git-permalink" -> td
td -> remembering
remembering -> gistatic
gistatic -> fallible
vi -> "json-schema-mock"
"json-schema-mock" -> "clj-schema-to-json-schema"
"clj-schema-to-json-schema" -> booklet
booklet -> "js-bigdecimal"
"js-bigdecimal" -> "qc.js"
"qc.js" -> fetch
fetch -> glaze
glaze -> nav
nav -> geminiclient
geminiclient -> geminiserver
geminiserver -> fz
NGINX -> caju
// caju -> mkg
// mkg -> http
"spell-checker" -> BYOPDS
// "flex-bison" -> website
// https://github.com/ozh/github-colors/blob/master/colors.json
Perl [color="#0298c3"]
"POSIX sh" [color="#89e051"]
Scheme [color="#1e4aec"]
Clojure [color="#db5855"]
Haskell [color="#5e5086"]
Zig [color="#ec915c"]
Go [color="#00ADD8"]
Rust [color="#dea584"]
C [color="#555555"]
JavaScript [color="#f1e05a"]
// TypeScript [color="#2b7489"]
"<used good languages>" [color="white"]
"<known good languages>" [color="white"]
"<wanted languages>" [color="white"]
"<meh languages>" [color="white"]
"<other languages>" [color="white"]
// "<queued languages>" [color="white"]
Lua [color="#000080"]
"C++" [color="#f34b7d"]
Nim [color="#ffc200"]
Racket [color="#3c5caa"]
Elixir [color="#6e4a7e"]
Erlang [color="#B83998"]
"Common Lisp" [color="#3fb68b"]
SmallTalk [color="#596706"]
StandardML [color="#dc566d"]
Prolog [color="#74283c"]
Forth [color="#341708"]
Red [color="#f50000"]
Factor [color="#636746"]
J [color="#9EEDFF"]
K [color=""]
APL [color="#5A8164"]
Tcl [color="#e4cc98"]
PostScript [color="#da291c"]
Pony [color="#CCCCCC"]
Eiffel [color="#4d6977"]
Ada [color="#02f88c"]
Fortran [color="#4d41b1"]
"C#" [color="#178600"]
"F#" [color="#b845f"]
Vala [color="#fbe5cd"]
Langs -> "<used good languages>"
Langs -> "<known good languages>"
Langs -> "<wanted languages>"
Langs -> "<meh languages>"
// Langs -> "<queued languages>"
Langs -> "<other languages>"
"<used good languages>" -> "POSIX sh"
// Perl -> "POSIX sh"
"POSIX sh" -> C
C -> "Common Lisp"
"<known good languages>" -> Clojure
Clojure -> JavaScript
"<wanted languages>" -> SmallTalk
SmallTalk -> StandardML
StandardML -> Forth
Forth -> Prolog
Prolog -> Ada
Ada -> Eiffel
Eiffel -> Fortran
Fortran -> PostScript
PostScript -> APL
"<meh languages>" -> Tcl
Tcl -> "F#"
"F#" -> "C#"
"C#" -> "C++"
"C++" -> Vala
"<other languages>" -> Haskell
Haskell -> Zig
Zig -> Go
Go -> Rust
Rust -> Perl
Perl -> Scheme
Scheme -> Lua
Lua -> Nim
Nim -> Racket
Racket -> Elixir
Elixir -> Erlang
Erlang -> Red
Red -> Factor
Factor -> J
J -> K
K -> Pony
}