proj-oot-old-150618-ootNotes12

in oot, w/o baking in a single message bus implementaioh, can we have a std optional language for wheether a piece of info is an address, a command, just a data update, metadata that will be kept with the dataupdatee (like a trade timestamps) or message-level metadata? this is also a good examplee of what i mean by putting the LANGUAGE into programming langue via conventions. relatd: diplomacy plan suggestion symbols

---

i've heard that: akka is baked into scala deeply but debugging it is too hard

---

some important stuff in Doug's 'classical' library ( https://github.com/drubino/Classical ): hashing dictionaries (doubly generic; keys can be anything in lang) (without javascript default dict implemenetation's keys that collide with yours) rationalized reflection system lazy list comprehension-ish query system

--- " I’ve always liked the idea of building complex logic systems out of a simple primitive that is just powerful enough to construct all logic - particularly in videogames. For example, in LittleBigPlanet?, you can build a Tic-Tac-Toe AI out of physical elements like pistons and magnetic switches. In Minecraft, you can build an ALU out of a primitive construction element that behaves, essentially, as a NOT gate. And, if games aren’t your thing, you can build CMOS logic out of UNIX pipes with a simple “mosfet” program. " -- https://fail0verflow.com/blog/2012/dcpu-16-review.html http://www.youtube.com/watch?v=yUbRFfXEtls http://www.youtube.com/watch?v=LGkkyKZVzug http://www.linusakesson.net/programming/pipelogic/index.php

---

" Let/Const

The ES6 ‘let’ feature is similar to ‘var’, but it aims to simplify the mental model for the variable’s scope. With ‘let’, you can scope variables to blocks of code rather than whole functions. For example:

function f() { let total = 0; let x = 5; for (let x = 1; x < 10; x++) { total += x; } console.log(x); }

f(); outputs 5

Notice how the two ‘let x’ statements do not conflict. This is because the one used in the loop is in a different scope than the one outside of the loop. If we re-wrote this using vars, all ‘x’ vars effectively combine into one, leading to rather confusing output.

function f() { var total = 0; var x = 5; for (var x = 1; x < 10; x++) { total += x; } console.log(x); }

f(); outputs 10 " -- http://blogs.msdn.com/b/typescript/archive/2015/01/16/announcing-typescript-1-4.aspx

---

a good writeup of the haskell record type problem, and pointers to various proposed solns:

the problem: http://nikita-volkov.github.io/record/

various proposed solns: