lambda ultimate programming languages weblog lambda ultimate user login navigation build tackling awkward squad reactive programming simple essence algebraic subtype principal type inference subtyping easy applications blockchain programming language theory dependent type systems macros histogram know past understand present tomas petricek applied category theory emerging science compositionality tensor considered harmful seven sketches compositionality invitation applied category theory thing wish know start designing languages browse archive active forum topic new forum topic recent comment lambda ultimate home feedback faq get start discussion site operation discussion recent post new topic departments courses research papers design docs quotation genealogical diagrams archives username password create new account request new password recent post build mar hicks build logic issue care austerity drive lack investment people handy fiction peddle state government programmer obsolete skill retire remove cobol programmer year recent crisis reality plenty new cobol programmer job fact majority people cobol programmer facebook group thirty year old number people train program maintain cobol system globally grow people work cobol graduate 1990 2000 spend century career maintain program cobol system sense cobol scapegoate important aspect high tech silicon valley government understand old system value constantly build new technological system short term profit expense exist infrastructure progress fact regressive path society recently work history technology increasingly sophisticated move tell story impressive technology try unravel social political economic force affect development deployment use wide range technology technological system luckily trend begin manifest study history programming language replace need careful deeply informed study internal intellectual force affect development programming language study add sorely need aspect story tell ehud lamm critiques history comment blog read tackle awkward squad reactive programming sam van den vonder thierry renaux bjarno oeyen joeri de koster wolfgang de meuter reactive programming programming paradigm program internally represent dependency graph automatically part program input change practice reactive programming part application reactive program usually embed application write ordinary imperative language javascript scala paper investigate embedding distill awkward squad reactive programming concern essential real world software development fit reactive programming relate long last computation effect coordination imperative reactive code solve issue design new programming model call actor reactor model program split number actor reactor actor reactor enforce strict separation imperative reactive code compose number composition operator use datum stream demonstrate model implementation language call stella raould ltu forum comment blog read simple essence algebraic subtype principal type inference subtype easy simple essence algebraic subtype principal type inference subtyping easy lionel parreaux icfp mlsub extend traditional hindley milner type inference subtype preserve compact principal type exciting new development specification term biunification difficult understand rely new concept bisubstitution polar type make use advanced notion abstract algebra paper fact essential understand mechanism play mlsub propose alternative algorithm call simple sub implement efficiently line code include parse simplification pretty printing look familiar easy understand introductory blog post online demo stephen dolan algebraic subtyping discussion unexpectedly provide solution problem combine type inference subtyping somewhat heavy unusual machinery lionel parreaux show system implement straightforward pleasing way hope make real language manuel simoni type theory comment blog read applications blockchain programming language theory let talk blockchain goal use forum topic highlight usefulness programming language theory practice familiar exist research effort share addition feel free generate idea blockchain improve language developer productivity tasty example blockchain help formalize thinking mutual knowledge common knowledge potentially think share intergalactic computing power vast distribute computing fabric design contract way maximize usage mutual knowledge minimize common knowledge situation prove collateral party transaction eliminate lot office burden benefit area computer science research language researcher like mark miller dream agoric decades long quest secure smart contracts aware verification smart contract important research area notorious theft purse logic bug ethereum smart contract z bo fun implementation semantics comment blog read dependent type systems macros team northeastern university release turnstile framework implement propositionally type language racket cf naasking story type systems macros system nice allow type system express manner similar way theoretical pl researcher paper hook racket clean compiler backend stephen chang team new coauthor michael ballantyne usamilo turner william bowman release rewrite popl article dependent type systems macros article introduction represent major research leap predecessor specifically solve major challenge necessary implement dependent type accompanying dsl extension turnstile support retain original ability turnstile example considerable obstacle separation macro expansion phase program runtime phase dependently type language evaluate expression type checking check dependent type macros require new macrology design pattern abstraction interleave expansion type checking evaluation following summarize key innovation demand radically different api implement language type straightforward expressive represent range construct base type bind form like π type datatype definition form index inductive type family include api define type level computation dub normalization macro expansion programmer write reduction rule syntax resemble familiar paper notation generate macro definition perform reduction macro expansion allow easily implement modular type level evaluation new type api add generic type operation interface enable modular implementation feature error message pattern matching resugare particularly important implement tool like tactic system inspect intermediate type check step construct partial term core type checking infrastructure require overhaul specifically class type environment order accommodate feature like dependent bind structure telescope de bruijn mcbride relatedly inference rule syntax extend operation telescope premise reference telescope operate fold instead map code available charles stewart meta programming comment blog read histogram know past understand present tomas petricek histogram know past understand present tomas petricek university kent programs create variety interaction programmer write code run interactively check work use copy paste apply refactoring choose item auto complete list programming research forget represent program result text consequently think interaction scope essay shift focus program interesting question programming represent program list interaction trigger auto complete choose option declare value introduce variable evaluate piece code explore number consequence way think program create function write concrete code sample input apply refactoring lose sample input use later debug second treat execute code interactively interaction store result later use information precise suggestion auto complete move away textual representation display program text view inspire spreadsheet fourth let programmer create program directly interact live preview interaction record program history discuss key idea example simple programming environment datum exploration focus essay principle provide fine tune user experience environment explicit especially reveal happen scene aim see program list interaction powerful change perspective help build well programming system novel feature programming easy accessible datum exploration environment interactive essay give glimpse future spdegabrielle ltu forum comment blog read applied category theory emerge science compositionality enjoyable introductory talk yow lambda jam ken scambler applied category theory slide programming quantum physics chemistry neuroscience system biology natural language parsing causality network theory game theory dynamical system database theory common functional programmer know useful category theory work abstruse distant known apply category theory real world exciting field study take year turn share big field industry want big thing little thing go hell key compositionality central idea category theory previously seven sketch compositionality invitation applied category theory brian mckenna manuel simoni category theory paradigms spotlight comment blog read tensor considered harmful tensor consider harmful alexander rush despite ubiquity deep learning tensor break force bad habit expose private dimension broadcasting base absolute position keep type information documentation post present proof concept alternative approach name tensor name dimension change eliminate need indexing dim argument style unpack documentation base coding prototype pytorch library accompany blog post available namedtensor thank edward yang point consider harmful position paper z bo critiques implementation teaching learning comment blog read seven sketches compositionality invitation applied category theory seven sketches compositionality invitation applied category theory brendan fong david spivak category theory central hub pure mathematic unmatched ability organize layer abstraction find commonality structure sort facilitate communication different mathematical community branch science informatic industry believe potential major cohesive force world build rigorous bridge disparate world theoretical practical motto mit mens et manus latin mind hand believe category theory pure math general stay realm mind long ripe bring hand approachable useful introduction category theory avoid scylla charybdis incomprehensible page academic text barely scratch surface popular text andris birkmanis category theory teaching learning comment blog read thing wish know start designing languages transcript thing wish know start designing languages talk give peter alvaro info peter alavaro main research interest tame distribute system start talk provocative thesis future radical new language domain specific language talk evolution idea deal distribute system little interest designer programming language designer fill huge difficulty debug context distribute system pl handling datum somewhat implicit functional programming say dangerous distribute programming talk flow datum properly need talk time thing influence grad student jeff ullman claim encapsulation declarativity tension fagin theorem existential fragment second order logic characterise np idea distribute system consider protocol specify bit like sql datalog query triviality query language characterise idea place distributive system relation parameter describe evolution system time thing counter negation lead bertram ludäscher language statelog way thing lead kind low level overexpressive modelling try avoid protocol require negation express turn drop negation characterise protocol deliver message deterministically summarise say good reason design programming language assume mean radically novel language shape understanding problem regret user language datalist point shape later thought research charles stewart parallel distribute comment blog read page page logs hack planet javalobby daily python url daily wtf php wikis wikiwiki erlang common lisp haskell squeak tcl program transformation december su mo tu th fr sa look vm functional language ast typing problem bleg attribute grammar fail typer ml boost type theory scheme look dependent research proof system language implement haskell like s expression base language design ide look dependent research proof system language implement typer ml boost type theory scheme haskell like s expression base language design ide ast typing problem bleg attribute grammar fail look vm functional language comparison real object imaginary object hour min ago prevail narrative programming language progress day hour ago com som etc day hour ago oop oses language design goal day hour ago team work complex process abstraction day hour ago moonad formality day hour ago previous discussion day hour ago nanopass day hour ago thing high day hour ago politic day hour ago