diff options
Diffstat (limited to 'content/digarden/pages/История типизации.org')
-rw-r--r-- | content/digarden/pages/История типизации.org | 37 |
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 |