IDEAS

Q[DQ\2023


time travelling languages

languages where control flow is not linear or sequential

languages where values remember their previous values, or the operations that
  happened to them or that they participated in (in other words, computation
  histories are first class objects)

lossy self-compressing languages that compile to approximations (maybe with the
  benefit of interpolation or extrapolation, or maybe the benefit is simply size
  or speed)

optimizing compilers that use optimizations that are usually true but not quite
  true or not always true (but unlock really aggressive optimization)

quantumy languages where side effects happen because of entanglement between
  components

physically-based languages (as in “based on physics”) (see LittleBigPlanet)
  where your code is in a physics simulator (for example, if pointers are
  wiggled around too much, their values change a bit)

languages where there’s a high probability that cat’ing /dev/random to a file
  (and mapping it to ASCII by clearing the top bit) is a valid program

languages with interactive compilation

languages where every operation is reversible

languages with Monte Carlo computations

random languages where no operation is totally deterministic

languages with pessimizing compilers (but that still guarantee forward progress)
  (perhaps trying to guarantee program execution be bounded by a fixed amount of
  memory, or the compilers don’t emit any code that is entirely useless)

“garbage-in, garbage-out” languages

languages that track time complexity

machine-learning everything (where the programmer specifies input-output
  pairs for functions and the compiler trains a model and emits that)

functions with colors as a feature

optimizing for everyday computing

  compilers that emit multiple implementations or versions of a function
    (and you get to pick afterward, or the compiler picks based on tests)

  shell languages that saves the intermediate results at each pipe (since we
    have lots of memory, and disk space is limitless!)

golfing compilers that don’t optimize for speed but for space, or that enforce
  some limit on the number of syntactic elements in a function (for example,
  the programmer gets one loop or if-statement)

languages where a while-loop really is “while” (that is, it’s reëvaluated
  in-between every statement)

languages that uses all the same keywords and syntactic elements as usual
  programming languages but where those mean something completely different
  (but are still reasonable in a layman’s interpretation)

languages where parallelism is indicated by writing code side-by-side in columns
  (or perhaps something like VLIW in software)