I’ll try to collect several links with background reading. The papers here aren’t too technical, but are thought provoking or interesting. Don’t hesitate to open a pull request if you’d like to see other references listed here!
Teach foundational language principles, Communications of the ACM, 2015
Dynamic languages are static languages – a blogpost by Bob Harper.
In search of types – an essay by Stephen Kell presented trying to define what types are.
Propositions as types – a paper by Phil Wadler describing the fundamental connection between types and logic.
The point of lazy evaluation Bob Harper discusses some of the drawbacks of lazy evaluation.
More points for lazy evaluation Lennart Augustsson responds to the blogpost above, listing some of the key advantages of lazy evaluation.
Erlang by Joe Armstrong, Communications of the ACM, 2010