meander

All things about https://github.com/noprompt/meander Need help and no one responded? Feel free to ping @U5K8NTHEZ
dominicm 2020-05-26T10:52:33.282Z

One think I think meander really differentiates on is being "obvious". By that I mean that it's fairly clear what most of the basic transforms are doing, without learning a complicated pattern matching language. That's not quite as true when you get to advanced features like memory vars.

noprompt 2020-05-26T17:19:40.284300Z

I’m interested to know what it is about memory variables that make them less clear (apart from determinism related situations surrounding non inductive data).

noprompt 2020-05-26T17:55:39.293500Z

@dennisa mostly I designed/am designing it for symbolic manipulation/computation, and model checking (future). Many things fit into those spaces but some more easily than others. It’s great in situations where data is well defined/structured such as interpreters (which are virtually everywhere ie. dispatch).

dominicm 2020-05-26T18:44:15.294800Z

Just that they're all mutable and such.

noprompt 2020-05-26T20:10:43.296500Z

Reductions tend to have that quality. Memory variables are basically a named reduction of a specific kind.

dominicm 2020-05-26T20:31:46.296900Z

Yeah, I don't think we could do better. But they're definitely less clear than plain bindings.

noprompt 2020-05-26T20:35:52.297100Z

Totally agree on plain bindings.

noprompt 2020-05-26T20:38:58.297300Z

I haven’t fully explored the utility and properties of the “fold variable” concept yet because I haven’t gotten off the ground yet, but I anticipate that it will have similar clarity drawbacks. Still, I think in most of those cases where I have the option, I prefer the mild clarity trade off over some more rules.

dominicm 2020-05-26T20:56:27.297500Z

Yeah. It's the best you can do to express this kind of thing in this model