ligature fonts to “conceal” common multicharacter operators into single glyphs
a clojure package to fancify-symbols from (fn to (λ, comp to ∘, etc.
But I’m not certain that I want to go further… maybe in a more verbose language.
I guess the main downside is that while you can develop good shortcuts for reading the shape of your code in your editor, your ability to read the shape of code in someone else’s editor might atrophy!
Love the idea, but I’d prefer to abstract one level higher. Overhead when reading code comes from recurring structural patterns that have to be mentally re-parsed, not individual tokens. I’d love to have definable sugar over stuff like
var new []int
for i, x := range old {
new = append(new, fn(x))
}
Being able to spot those common patterns in my code and refer to them as reterr x := fnCall("wat") or new := map(old, fn) would be awesome. I get that it’s much more difficult, but I like the idea of writing in something with more control but reading in something higher level. Can always “dive in” to the actual impl much like you’d do with a function call.
It does! Just kind of…backwards. Macro contraction? I’d love the actual file and what I write to be the full lang, but to have a way to apply some kind of semantic compression for skimming
I once read somebody, though I can’t remember who or where, who said, paraphrased: Variable and function names tell you more about what code does than keywords and language constructs do. There should be a syntax highlighting that highlights names, and deemphasises keywords; semantic highlighting, almost. Ever since I’ve read that I’ve wanted to try it out.
Alok writes that sie mainly wanted to make syntax more uniform and familiar – but it seems to me that hir theme emphasises names, too, by making the keywords symbol-sized. Like marrying mathematics’s compact syntax to programming’s meaningful names. I like it!
I don’t know who said that quote, but the idea behind it was one of my main motivations for doing conceal like this along with uniform syntax. I wanted uniform syntax in the first place because I wanted to deemphasize the keywords and just see their “shape”.
For when you want to take your python/rust/haskell and make it look like APL
APL.swift is a Swift1 package that adds the APL operators.
I’ve seen something similar 6 years ago:
https://github.com/ehamberg/vim-cute-python
What did he mean by this?
It’s purely cosmetic. the code is left unchanged.
It’s not very readable for someone who isn’t used to those symbols.
I meant that this probably makes code harder to read for anyone standing behind you.
I’ve ventured somewhat down this path:
fancify-symbolsfrom(fnto(λ,compto∘, etc.But I’m not certain that I want to go further… maybe in a more verbose language.
I guess the main downside is that while you can develop good shortcuts for reading the shape of your code in your editor, your ability to read the shape of code in someone else’s editor might atrophy!
Love the idea, but I’d prefer to abstract one level higher. Overhead when reading code comes from recurring structural patterns that have to be mentally re-parsed, not individual tokens. I’d love to have definable sugar over stuff like
or
Being able to spot those common patterns in my code and refer to them as
reterr x := fnCall("wat")ornew := map(old, fn)would be awesome. I get that it’s much more difficult, but I like the idea of writing in something with more control but reading in something higher level. Can always “dive in” to the actual impl much like you’d do with a function call.That sounds something like macro expansion.
rustcwith--pretty=expandedwill expand, though it may be too much detail.It does! Just kind of…backwards. Macro contraction? I’d love the actual file and what I write to be the full lang, but to have a way to apply some kind of semantic compression for skimming
I once read somebody, though I can’t remember who or where, who said, paraphrased: Variable and function names tell you more about what code does than keywords and language constructs do. There should be a syntax highlighting that highlights names, and deemphasises keywords; semantic highlighting, almost. Ever since I’ve read that I’ve wanted to try it out.
Alok writes that sie mainly wanted to make syntax more uniform and familiar – but it seems to me that hir theme emphasises names, too, by making the keywords symbol-sized. Like marrying mathematics’s compact syntax to programming’s meaningful names. I like it!
I don’t know who said that quote, but the idea behind it was one of my main motivations for doing conceal like this along with uniform syntax. I wanted uniform syntax in the first place because I wanted to deemphasize the keywords and just see their “shape”.
Also interesting is using a font with ligatures specific to programming such as FiraCode
The author has followed up with subscripting and superscripting in conceal and an introduction to writing them from scratch.
Could work as an alternative to -XUnicodeSyntax in Haskell.