Skip to content

mandober/debrief.pl

Repository files navigation

PL Debrief

Notes about concrete programming languages: concrete syntax, grammar, edge cases, etc. A quick reference of common language constructs and idioms. Languages: Rust, JS, bash, Haskell, Scheme, Racket, Python, Ruby, C, C++, C#, Java, PHP, Powershell, VB, Cobol, Sass, Prolog, HOL, LC. Including some meta topics: comparisons, approaches to common PL concepts and constructs (iterators, generators, futures, concurrency, data types, data structures, handling of errors, etc.), classification, paradigms.

Topics

  • Classifications, types, factors, paradigms,
  • Type systems
  • Concepts and constructs
  • Means of abstraction
  • Components
  • Expressiveness (vs Provability)

Pl abstractions:

  • procedure, routine, function
  • macros
  • class
  • module
  • package
  • component
  • microservices

PL concepts:

  • type system
  • generics
  • iterators
  • concurrency
  • async: async/wait, futures, promises, generators
  • error handling: ADT, exceptions, (in-band) signaling, NULL, nullability

PL components (generalizations):

  • control flow
  • code org
  • types
  • data structures

Releases

No releases published

Packages

No packages published