Hacker News new | ask | show | jobs
by saizai 2210 days ago
Not really. Programming is very linear in all forms I know¹.

1. There's a start point. UNLWS has none.

2. There's a mandatory canonical traversal order of the text (the compiled instruction pointer, at base). UNLWS has none.

3. Structurally — i.e. even ignoring execution — it's mainly a tree, not a graph (parent class > child class > instance > function, e.g.). There are some parts that are directed graphs, like mix-ins and some RDBs. True multigraph structure is fairly rare. UNLWS is pervasively a fully connected multigraph with some directed edges (like irrealis).

Programming is, however, similar to UNLWS in that both are isomorphic to predicate calculus (e.g. functions, like UNLWS glyphs, are n-ary predicates). I think that's what you're probably catching on.

It is an important feature… but I think you're missing the more essential nature of non-linearity.

(It took me several years to grasp enough to start making UNLWS, so don't feel too chastised. It's a very difficult concept. :p)

I believe that complex circuits (as in wiring) and flowcharts do have the non-linear nature, though. Perhaps it'd help to think of those?

¹ I don't know functional programming or constraint satisfaction systems. It's possible those are different.

1 comments

The actor model is non-linear. Reading the code gives you almost no clue on the order of execution.
That seems to me to be more like multithreaded linear than non-linear per se.

There are multiple linear components, and it's not obvious how they emergently interact — but they don't quite have the interconnectedness and non-directedness properties.

(I think that it's impossible for anything that's time-embedded to really be non-linear, short of time travel, since time is so fundamentally a directed linear vector.)

It's certainly a related concept, and these are aspects of non-linearity, but to my view it lacks some essential Buddha-nature of the full thing.