aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2020-10-21 22:04:46 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2020-10-21 22:04:46 -0400
commiteb9e685ccd918d6ace0cea77707d8f568fba9013 (patch)
tree47a58c6f3c0b79bf1d22701374c9993c3d82d76b /doc
parentb12d99665cbacce04f79abb883bc33abed2629bd (diff)
Add Java->Java 8 and APL->BQN arrows to functional language diagram
Diffstat (limited to 'doc')
-rw-r--r--doc/functional.md20
1 files changed, 19 insertions, 1 deletions
diff --git a/doc/functional.md b/doc/functional.md
index 738cbae7..fc6541ba 100644
--- a/doc/functional.md
+++ b/doc/functional.md
@@ -14,7 +14,6 @@ pl ← <˘∘‿2⥊⟨
"Pascal", 45‿12
"C", 36‿10
"Java", 48‿17
- "Java 8", 37‿16
"C#", 40‿20
"Python", 28‿13
"Javascript", 23‿17
@@ -29,6 +28,10 @@ pl ← <˘∘‿2⥊⟨
"Idris", 26‿30
"Coq", 26‿32
+arr ← ⟨
+ ⟨"Java 8", "Java", ¯11‿¯1, ¯3⟩
+ ⟨"", "APL", "BQN", 7⟩
+⟩
cat ← ⟨
⟨"First-class", 0, ¯2, "bluegreen", 240, 252, 220, 190, 0⟩
⟨"Function-level", 1, ¯2, "red", 220, 320, 130, 180, ¯34⟩
@@ -54,11 +57,26 @@ Circ ← {
(txt Attr"class"‿c) Enc tp Enc n
}
+To ← {
+ PlPos ← ((⊑¨pl)⊑∘⊐<)⊑(1⊑¨pl)˙
+ n‿f‿t‿c ← 𝕩
+ f ↩ PlPos f ⋄ t ↩ (@≤⊑)◶⟨f⊸+, PlPos⟩ t
+ w ← 1‿¯1×⌽ u ← v ÷ l ← +´⌾(ט) v ← -˜´ p ← 10×f‿t
+ q ← ∾⟜⌽1=↕4 ⋄ m←l-50
+ a ← +˝w‿u× -⟜»˘ ((c×2¨˝⊸»)×⎉1·×⟜¬¯1⊸⊏÷m˙)⊸+ +`˘ ⍉>∾⟜(⌽1‿¯1⊸ר)⟨¯5‿¯1,1.5‿m,¯4‿¯1,7.5‿14⟩
+ d ← ⟨"d", ∾("M"∾q⊏"lq")∾⟜Fmt¨⟨(⊑p)+0‿4-˜(c×w)+26×u⟩∾((c×w)+÷⟜2)⊸∾¨⌾(q⊸/)a⟩
+ lab ← (0<≠)◶⟨⟩‿{⟨
+ ("text"At"font-size=8|dy=-0.2em") Enc ("textPath"At"href=#arr|startOffset=80%") Enc 𝕩
+ ⟩} n
+ path ← "path" At "stroke=currentColor|fill=none|opacity=0.9|stroke-width="∾FmtNum 0.9+0.4׬≠lab
+ ⟨path At⟜"id=arr"⍟(≠lab)⊸Elt d⟩ ∾ lab
+}
0‿0‿512‿512 SVG gr Enc ∾⟨
⥊<("text"Attr"font-size"‿"24"∾Pos 256‿38) Enc """Functional programming"""
('0'+↕∘≠)⊸(Circ¨) cat
Enc˜⟜("text" Attr ·Pos 10⊸×)´¨ pl
+ ∾To¨ arr
-->