summaryrefslogtreecommitdiff
path: root/content/digarden/pages/История типизации.org
diff options
context:
space:
mode:
Diffstat (limited to 'content/digarden/pages/История типизации.org')
-rw-r--r--content/digarden/pages/История типизации.org37
1 files changed, 37 insertions, 0 deletions
diff --git a/content/digarden/pages/История типизации.org b/content/digarden/pages/История типизации.org
new file mode 100644
index 0000000..a32ec39
--- /dev/null
+++ b/content/digarden/pages/История типизации.org
@@ -0,0 +1,37 @@
+* - 1913ish :: Bertrand Russel introduces a hierarchy of types to avoid barber trouble;
+e.g., ~Typeᵢ : Typeᵢ₊₁~.
+* - 1920s :: A Polish guy & British guy think that's dumb and collapse the hierarchy.
+* - 1940s :: Alonzo Church says arrows are cool.
+* - 1958 ::
+* With his awesome hairdo, John McCarthy gifts the world an elegant
+piece of art: Lisp (•̀ᴗ•́)و
+* - Lisp is currently the 2ⁿᵈ oldest high-level language still
+in use after Fortran.
+* - Maxwell's equations [[https://queue.acm.org/detail.cfm?id=1039523][get]] [[http://www.michaelnielsen.org/ddi/lisp-as-the-maxwells-equations-of-software/][jealous]].
+* Lisp introduces a bunch of zany ideas to CS:
+** - Introduced if-then-else “McCarthy's Conditional”; 1ˢᵗ class functions & recursion
+** - macros ≈ compiler plugins
+** - symbols ≈ raw names which needn't have values
+** - variables ≈ pointers
+** - code ≈ data; statements ≈ expressions
+** - ~read, eval, load, compile, print~ are all functions!
+* - 1959 :: My man JM thinks manual memory is lame —invents garbage collection!
+* - Later, 2001, he writes [[https://web.archive.org/web/20130814213421/http://www-formal.stanford.edu/jmc/robotandbaby/robotandbaby.html][The Robot & The Baby]].
+* - 1960s :: Simula says OOPs!
+* - 1970s :: Smalltalk popularises the phrase “oop”. ( B has a child named C. )
+* - 1970s :: Simple λ-calculus is a fashion model for sets and functions.
+* - 1970s :: Milner and friends demand
+/variables are for types too, not just terms!/
+* - 1970s :: Per Martin-Löf tells us it's okay to depend on one another; ~Π, Σ~ types.
+* - 1982 :: A Lisp [[https://en.wikipedia.org/wiki/Ummah][ummah]] is formed: [[http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node1.html][“Common Lisp the Language”]] ♥‿♥
+* - In order to be hip & modern, it's got [[https://extravagaria.com/Files/LASC-Overview.pdf][class]] with [[https://en.wikipedia.org/wiki/Common_Lisp_Object_System][CLOS]].
+* - Other shenanigans: Scheme 1975, Elisp 1985, Racket 1995, Clojure 2007
+* - 1984 :: A script of sorcerous schemes lords lisp over mere mortals
+* - 1990s :: A committee makes a sexy [[https://en.wiktionary.org/wiki/a_camel_is_a_horse_designed_by_a_committee][camel]] named Haskell; Professor X's school make their own camel.
+* - Their kids get on steroids and fight to this day; Agda ↯↯↯ Coq.
+* - 2000s ::
+** X's camel .<becomes .~(self .<aware>.)>.
+—the other camel [does| the same].
+** - In 2015, the cam ls married Lisp and [[https://luxlang.gitbooks.io/the-lux-programming-language/content/][Lux]] was born.
+** - In 2016, Haskell & Lisp get involved with Prolog; [[https://shen-language.github.io/][Shen]] is born.
+** 2019: Coq is [[https://github.com/MetaCoq/metacoq][self-aware]]; Agda is [[https://github.com/alhassy/gentle-intro-to-reflection][playing]] [[https://alhassy.github.io/next-700-module-systems-proposal/prototype/PackageFormer.html][catch-up]]. \ No newline at end of file