Hacker News new | ask | show | jobs
by unstruktured 715 days ago
Oh that's a solved problem since 1969. It's called "unix". Everything is a file which can be processed as a byte stream. Composition is a breeze- can't be any more general than that!

(I kid, mostly :)).

2 comments

- UNIX: everything is a file.

- LISP: everything is a lambda.

- Tandem: everything is a database.

- QNX: everything is a message.

- IBM System/38: everything is a capability.

That's the worse-is-better grand unified abstraction.

The Right Thing, as any Lisp programmer can tell you, is lambda.

An actual Lisp programmer will tell you that the right thing depends on the situation. The right thing can be a lambda, a string, a symbol, a structure, a class object, a hash table, a vector, a list, a call to a foreign function, a syntactic abstraction, a bitmask, a load-time value, a pattern matcher, ...