Ada arose from a DoD?-sponsored contest to meet a detailed requirements document. The requirements document is notable in that it excludes some features as well as demanding others: http://www.dwheeler.com/steelman/steelman.htm
"If you think JavaScript? is one of the most Scheme-like languages out there, then you’re missing out on the fact that Forth is really minimal, Dart has great scoping, Lua does tail call elimination, Haskell and Ruby have continuations, C# has dynamic typing, Io is homoiconic, Go has closures, Scala has macros, and Clojure seriously dislikes mutation." -- http://journal.stuffwithstuff.com/2013/07/18/javascript-isnt-scheme/
Look at Python PEPs and similar for other languages
read Hoare: Hints for Programming Language Design, Wegner: Programming Languages - The First 25 Years, Wirth: On the Design of Programming Languages, Nauer: Report on the Algorithmic Language ALGOL 60
"(Incidentally, monads and delimited continuations have equivalent expressive power: you can represent "computations that use continuation effects" as a monad, and if you replace your side-effecting primitives with appropriate continuation-invoking routines you can turn code that causes side effects into code that returns a monadic representation of those side effects. But that is a story for another day.) "
google search for what makes type systems typing systems hard to use difficult complicated complex easy to learn use, simplifying haskell's type system
SAIL, “Stanford Artificial Intelligence Language,” an amazing design which among other insights convinced me once and for all that one cannot seriously deal with data structures without the benefit of an automatic serialization mechanism -- http://bertrandmeyer.com/2011/11/07/john-mccarthy/
i havent yet looked thru the PEAK mailing list archives between 2007/06 and 2009/07
"Just yesterday at work I had a good real-life use case for generic functions which deserved a blog post...Unfortunately, nobody in the Python world uses them (with the exception of P. J. Eby)..The aim of this blog post is to explain why a mixin solution is inferior to a generic functions solution." http://www.artima.com/weblogs/viewpost.jsp?thread=237764
http://www.cse.lehigh.edu/~gtan/paper/robusta.pdf (how the JVM can remain safe, eg like its verifier does, even while calling native code eg like with the JNI): Robusta: Taming the Native Beast of the JVM. J. Siefers, G. Tan, and G. Morrisett. In the 17th ACM Conference on Computer and Communication Security (CCS '10), Oct. 2010. [paper]
https://en.wikipedia.org/wiki/Programming_language#Further_reading Abelson, Harold; Sussman, Gerald Jay (1996). Structure and Interpretation of Computer Programs (2nd ed.). MIT Press. Raphael Finkel: Advanced Programming Language Design, Addison Wesley 1995. Daniel P. Friedman, Mitchell Wand, Christopher T. Haynes: Essentials of Programming Languages, The MIT Press 2001. Maurizio Gabbrielli and Simone Martini: "Programming Languages: Principles and Paradigms", Springer, 2010. David Gelernter, Suresh Jagannathan: Programming Linguistics, The MIT Press 1990. Ellis Horowitz (ed.): Programming Languages, a Grand Tour (3rd ed.), 1987. Ellis Horowitz: Fundamentals of Programming Languages, 1989. Shriram Krishnamurthi: Programming Languages: Application and Interpretation, online publication. (superceded, see below) Bruce J. MacLennan?