Two mutually exclusive things I want:
* Everything is a live stream of filtering/reducing functions over Lisplike tokens (because reactive and symbolic and literate)
* Everything is also an object (because safe)
You'd think that a function could *be* an object. You just keep 'sending' it (applying it to) a sequence of values, those are the messages.
But how does it receive the 'end stream' message? What value is that?
A similar problem to
.apply-filter [ .* 2 ] [ 1 2 3 ]
@natecull an object is a materialized view of a live stream
Yep. That's where I want to get to, using as few core abstractions as possible. On the possibly foolhardy assumption that 1) you can get to global simplicity by using a smaller set of core abstractions, and 2) that simplicity makes things better. Either of which assumptions may be wrong.
ie we currently have OOP systems which don't even surface their stream of method calls *as* a user-code-facing object, which seems about as helpful as trying to build an Internet with all the packets being completely hidden from software inspection.
@zens
And especially when my idea of 'safety' also includes 'putting as many things as possible under the control of the end-user, because societies running on centralised private computing systems are an apocalyptic doomsday scenario for democracy'