@mechadense.bsky.social
78 followers 170 following 240 posts
Posts Media Videos Starter Packs
mechadense.bsky.social
I had only barely skimmed over the intro. Analogy may not go beyond cell based async parallel evaluated purely functional live coding.
Will read in more detail one I find some more time.
mechadense.bsky.social
Coming to mind:
Where would one put algepraic effects in the
Currry Howard Lambeck correspondence/isomorphism?
It might not be possible.
Ok, not that this mapping is easy for monads and applicative beyond simple stuff like monoids. Darn. Deep rabbithole.
mechadense.bsky.social
Maybe algebraic effects could be a viable alternative to monads & applicatives in your case. Maybe these would be easier to implement in your setting?
(+) They removes the often arbitrary lifting hierarchy.
(-) They feel less discovered and more invented though.
Not so sure on these points yet.
mechadense.bsky.social
As for monads for better understanding their structural essence (not their varied use cases) what helped me the most was sketching them out as annotated lambda diagrams.
apm.bplaced.net/w/index.php?...
Maybe this could help in implementing them in other settings such as yours @joshuahhh.com too?
File:MonadsInAnnotatedLambdaDiagrams.jpeg - apm
apm.bplaced.net
mechadense.bsky.social
Stumbled over the topic of reactive programming glitches twice just recently. One case in Jonathan Edwards
@jonathoda.bsky.social
retrospective on his closed subtext project.
www.subtext-lang.org/retrospectiv...
(now fresh start with fresh title baseline)
www.subtext-lang.org/baseline.html
Subtext Retrospective
www.subtext-lang.org
mechadense.bsky.social
As soon as it comes to usage of monads or applicatives for effectful computations. Reactive programming glitches become of concern.
en.wikipedia.org/wiki/Reactiv...
=> Only execute preassembeld imperative seqience once rective system fully settled down on new changes?
Reactive programming - Wikipedia
en.wikipedia.org
mechadense.bsky.social
Since NbE supposedly makes things more explicit & tracked.
www.pls-lab.org/en/Normaliza...
en.wikipedia.org/wiki/Normali...
Though in my particular model I'd only map lists like e.g. [(a,b,…)] to spreadsheets. "Cell" is more about distibuted parallel cellular automata like evaluation.
Also …
Normalization by Evaluation (NbE)
www.pls-lab.org
mechadense.bsky.social
If anyting only loosely related: I was recently thinking about live coding using a DAG of slightly generalized lambda expessions (which could be seen as cells for one kind of code projection). I have a strong hunch that the NbE (Normalization by Evaluation) approach could help a lot with evaluation…
mechadense.bsky.social
Subtext ~> Baseline
Jonathan Edwards programming language exploration journey in pursuit of escaping the current local maxima we've found ourselves fallen into. Yes-code, but pleasant please.
mechadense.bsky.social
@jonathoda.bsky.social — I've also seen you use "Version Control for Structural Editing" and I think that "… for Projectional Editing" would fit here too and be/feel more general. Particularly I am thinking about advertising applicability to (semi)visual code projections too.
mechadense.bsky.social
… I take "operational" here does not refer to the language actally version managed but the edit calculus atop only.
mechadense.bsky.social
Regarding the name: I guess it is
★ "differencing" as it operates on an explicit edit calculus that sort of represents the first derivative of the cosebase structure.
★ "operational" as it is operating imperatively on it (disregaring eventual dumb undo list details ~ crude second derivative)
mechadense.bsky.social
New project name "Baseline"
building on top of the new theory for finegrained semantic version management you came up with "Operational Differencing"
www.subtext-lang.org/baseline.html
Baseline
www.subtext-lang.org
mechadense.bsky.social
The async eval glitch thing for spreadsheet like live coding is interesting. I think this applies to pure code too. But there in the end it converges back to correctness when all async evaluation threads finish. I guess the glitch issues were mostly from imperative parts as you stated effect systems
problem.as
mechadense.bsky.social
… Recursive deconstruction with case_of_ pattern-matching on sum types seems dual to corecurive construction with sum type type constructors. Feels right to put that symmetry in a language.
mechadense.bsky.social
"… conditionals were represented in the materialized execution as sum types, which is pleasing because they are two different ways of representing choices, in code and data." Quite a long while ago I relaized something probably related …
mechadense.bsky.social
I really like your "schematic tables" work. Particularly as it seems to be a pretty good match to my idea of annotated lambda diagrams (based on John Tromps unannotated lambda diagrams) as a novel code projection. Eventually will want to try that somewhen.
vimeo.com/140738254
No ifs, ands, or buts
Schematic tables are a new representation for conditionals. Roughly a cross between decision tables and data flow graphs, they represent computation and decision-making…
vimeo.com
mechadense.bsky.social
The double *ing is IMO not ideal either. "Feel of Computing" would be better.
mechadense.bsky.social
My first gut association from the new name I got is like: This sounds like a group focussing on the ethical concerns around datacenter operations.
mechadense.bsky.social
Ideaspace of machineorchestration is still too long and abstract though. Not suggesting it.
mechadense.bsky.social
If I had to change it I'd go for someting like: "IdeaSpace of MachineOrchestration". But honestly I think the old name was good/fine.

Picking from this set of synonyms I ad hoc came up with:
coding => dirigating orchestrating conducting steering control …
future => visions ideas space ideaspace …
mechadense.bsky.social
Why? I can see "future" being perceived too presumptuous by others (I don't) and see coding perceived as too nerdy offputting (valid concern). But "feeling" is IMO too narrow and "computing" as perceived today mostly points to everyting after human computer interaction. => Not a fan of the new name.
mechadense.bsky.social
In a live coding language a single call context would further split up into different call-data cases and one could step trace by zooming in/out.
mechadense.bsky.social
In gaphical code projections (box-n-wire / annotated lambda diagrams) with in context substitution preview (possibly zooming UI) this would be even more impressive. Zoom in to depencies. Zoom out to current dependent. Click "inverse tabs" to change to alternate calling contexts.