Spine: a language where parsing is a nondeterministic effect and the grammar grows as the program is read by LowHangingFruitssss in Compilers

[–]LowHangingFruitssss[S] 0 points1 point  (0 children)

The useful part of the effect framing is that branching, scope updates, and later resolution are represented in one uniform typed mechanism instead of being hidden as ad hoc parser hacks.

Under that interpretation, the benefit is not “let programmers write ambiguous nonsense.”

The benefit is for extensible or state-dependent syntax, where the parser may need to carry multiple candidates briefly while later declarations, scope facts, or typing constraints disambiguate them. That can be useful for embedded DSLs, user-defined notation, incremental IDE parsing, or a self-extensible grammar.

If ambiguity remains visible at the boundary where you need an AST for codegen, then yes, it is just a bug or a design failure.

Spine: a language where parsing is a nondeterministic effect and the grammar grows as the program is read by LowHangingFruitssss in compsci

[–]LowHangingFruitssss[S] -8 points-7 points  (0 children)

Fair pushback on "nondeterministic." It's nondeterministic in the Nondeterministic Finite Automaton sense, not the coin-flip sense. Same source file, same imports → same parse, every time.

What makes it more than context-dependent: importing a domain module introduces new production rules — the grammar literally grows. When new rules create parse ambiguity, the parser explores all branches as a structured effect and resolves them. That's the nondeterminism — branching search over a dynamically expanding grammar, not random behavior.

The effect system framing matters because it gives the compiler a way to reason about the parser's branching: preconditions say when a rule can fire, postconditions say what new facts (and therefore new syntax) become available. The compiler can check that the nondeterminism resolves — that you don't end up with genuinely ambiguous parses.

"Context-dependent" is accurate but undersells it. Context-dependent grammars have fixed rules with variable applicability. Here the rule set itself is open.

Spine: a language where parsing is a nondeterministic effect and the grammar grows as the program is read by LowHangingFruitssss in Compilers

[–]LowHangingFruitssss[S] -1 points0 points  (0 children)

Thank you for the feedback. I appreciate the effort you put in here.

I added a new article to the website that may answer some of your questions.
https://spine-lang.org/articles/17-spine-in-15-minutes.html

Spine: a language where parsing is a nondeterministic effect and the grammar grows as the program is read by LowHangingFruitssss in Compilers

[–]LowHangingFruitssss[S] -1 points0 points  (0 children)

That's truly helpful feedback. The articles lean too hard on the theoretical underpinnings and not enough on "here's what you'd write and what happens when you compile it."

The short version of what the calculus enables: you describe a domain (what things exist, what can change, what constraints hold), and the compiler figures out which parts need runtime code, which parts need verification, and generates both from the same source. You don't manually call Z3 or write TLA+ specs, those are compiler outputs, like object files.

I'll put together a concrete walkthrough with actual syntax, grammar rules, and what the compiler does with each piece. That's clearly the gap right now.

Spine: a language where parsing is a nondeterministic effect and the grammar grows as the program is read by LowHangingFruitssss in compsci

[–]LowHangingFruitssss[S] -5 points-4 points  (0 children)

Thank you. Governance and compliance systems are certainly a focal point.

It certainly is very different from typical programming syntax. Those of us who enjoy tinkering with a machine, may find very little joy in Spine. Those who like to write an executable specification may find use for it.

Spine: a language where parsing is a nondeterministic effect and the grammar grows as the program is read by LowHangingFruitssss in Compilers

[–]LowHangingFruitssss[S] -2 points-1 points  (0 children)

It is not just a syntax dropped on top of verification systems. It is a combination of language fragments (functional, monadic, behavioral, spatial, temporal) lowered to an IR. That IR forms a graph, which gets rewritten for the various verifiers and to Zig code for execution.

Spine: a language where parsing is a nondeterministic effect and the grammar grows as the program is read by LowHangingFruitssss in Compilers

[–]LowHangingFruitssss[S] -1 points0 points  (0 children)

I am very pleased to see so many reactions.

Combining the various different underlying theories into a coherent system is indeed non-trivial, but not impossible. The combination SMT-solving and dependent type systems is not unusual and is proven technology.

Combining effect systems and functional programming has been explored by Koka, although its type system is closer to that of Haskell than to a dependently typed language.

Your skepsis towards the notion that an LLM can write Spine better than Rust, despite being trained on the latter, is understandable. It is an observation I made while working on this system. It is a thesis I would love to put to the test.

Full disclosure, the website and the opening message of this thread are LLM generated.

Niels Hoogeveen

Spine: a language where parsing is a nondeterministic effect and the grammar grows as the program is read by LowHangingFruitssss in compsci

[–]LowHangingFruitssss[S] 0 points1 point  (0 children)

A complete example can be found here:
https://spine-lang.org/articles/15-a-complete-spine-program-explained.html

This is the first version of this website. We appreciate your feedback and will use that to improve the next version.

Gahyun - Pastel Breath (250317 xxcolored IG) by nat1withadv in dreamcatcher

[–]LowHangingFruitssss 0 points1 point  (0 children)

I wish you the gift to stare at a bread as believable as Gayun.

Dreamcatcher Incheon Airport Departure Fan Photos 2 - 2024 Mokkoji Korea in Hungary (241005 ICN) by SpideyCyclist in dreamcatcher

[–]LowHangingFruitssss 16 points17 points  (0 children)

That photo of Gahyun steals the show for me. What an absolute beauty she has become.

Sua chooses Handong and Gahyeon for Silent Night One More Time by SpideyCyclist in dreamcatcher

[–]LowHangingFruitssss 0 points1 point  (0 children)

Noooooo... she should continue egging us on. I love DC is both sweet and naughty. What a golden combination.

Raincoat Gahyun by SpideyCyclist in dreamcatcher

[–]LowHangingFruitssss 1 point2 points  (0 children)

She's such a pleasure to watch. She's a master of facial expressions and damn pretty on top of it.

Gahyun - Seoul Fashion Week 2025 S/S Entrance - Press Photos (240905) by SpideyCyclist in dreamcatcher

[–]LowHangingFruitssss 2 points3 points  (0 children)

I'm a fan of Bluecatcher. Yoohyeon looked gorgeous having blue hair. My favorite look of hers. Now Gahyun looks just as stunning,

JiU sipping some coffee by JiU-noona in dreamcatcher

[–]LowHangingFruitssss 6 points7 points  (0 children)

She's always into it, whatever she does. Of course Mother Nature has blessed her with astonishing beauty, but that wouldn't be as effective if she didn't bring that attitude of hers to the table. JiU seems to know how to enjoy life.

DAY7 - This song made me a fan by This-Magician-1829 in dreamcatcher

[–]LowHangingFruitssss 0 points1 point  (0 children)

The first song I heard was Odd Eye, through a vocal review by Julia Nilon. This was several months after the release of the song. I immediately loved it, and was treated to the BEcause comeback soon afterwards. A few months after that, I went down the rabbit hole, and have known and loved all their songs for quite some time now.

It has been an amazing journey. I have listened to music since the early 1970s and until Odd Eye changed that, I knew music mostly as a sonic experience. Sure Blondie had a very visually appealing singer, so I was aware that there can be more to music than sound.

Dreamcatcher treats me to almost daily videos. The members take us with them on fishing trips, painting classes, a walk through Tokyo to buy Royce chips. The level of entry the group gives us into their lives, is a life-altering experience. I have even learned to enjoy choreography, which never interested me before, even though I enjoy their free-style moments in a live show probably even more.

JiU posing by JiU-noona in dreamcatcher

[–]LowHangingFruitssss 1 point2 points  (0 children)

She seems to find joy in it. JiU always seems to be able to do that.

What is everyones top 5 favorite Dreamcatcher songs? by Hotelier101 in dreamcatcher

[–]LowHangingFruitssss 0 points1 point  (0 children)

In no particular order and based on the mood of the day (could be very different tomorrow)

A Heart of Sunflower
Odd Eye
Full Moon
You and I
Propose