shingarov / MachineArithmetic

A mathematical foundation for Smalltalk-25
MIT License
17 stars 6 forks source link

[MathNotation] Implement Sectioning #299

Closed shingarov closed 3 months ago

shingarov commented 3 months ago

^ { □ }

Yeah, that's pretty annoying. Hopefully 799f663 is an improvement in that respect. It's quite horrible but as I say in that commit message, "the real solution would involve having a language with first-class composition".

syntax highlighting just stop working (for the method). Any kind of refactoring (renaming a variable, say) just writes back the full block

That would be "future improvements" to tooling. One could open a Feature Request to have "syntax highlighting of code with sectioned sends". This PR per se does not introduce a regression, because no-one on the planet ever had "syntax highlighting of code with sectioned sends" in the first place.

With refactoring it's the same but worse. If by "refactoring" we mean what our competitors do in 2024, e.g. how MS VisualStudio can call LiquidHaskell to ensure the refactoring preserves semantics, then we simply don't have refactoring. If we mean 1997-ish John-Brant-style refactoring, I think I last used it in around 2000 or 2001, back then it seemed cool and potentially useful. To my taste, I'd simply remove those ~100KLOC from Useful8 just like many Calypso plugins are removed, when they crash tools, break text rendering etc without giving nothing in return. Oh, thanks for reminding me: I completely forgot to push a bunch more crud-removals to Useful8.

janvrany commented 3 months ago

If we mean 1997-ish John-Brant-style refactoring, I think I last used it in around 2000 or 2001,

The fact that you do not use it does not mean it is not useful nor nobody else uses it. Just like the fact I do not use vim does not mean not mean it is not useful to that nobody else uses it.

The fact that tools are broken is not an excuse to break them even more.

That being said, if you think it's okay, then merge it.