Hacker News new | past | comments | ask | show | jobs | submit login
Hexagony: A two-dimensional, hexagonal programming language (github.com/m-ender)
229 points by zdw on April 15, 2023 | hide | past | favorite | 48 comments



“Hexagons are the bestagons”

https://youtu.be/thOifuHs6eY


Better than all the restagons.


I feel this is cheap because we can combine any word with an "agons" suffix to get a rhyme.

Low substance commentagons

---Dang!

You're shadowbanagons

Pretty soon completely gones


I think you missed the actual rhyme: "rest" and "best".


the sun settles onto westagons.


No, it only works for words that sound vaguely like "hex". You need the short e sound and preferably a consonant cluster with an s in it.


While that extended pattern is nice, rhyme doesn't require three syllables. Don't forget that "cat" rhymes with "hat" just fine.


It's not the syllable count that matters, it's that anytime you have words with common endings, or words with unnecessarily added endings (like we're doing here), the root words need to rhyme as well as the endings.

Example: -er words. You can rhyme "teacher" with "reacher", but not with "plumber", even though all three have the same endings, technically.

Why that is, I do not know.


It has to do with which syllable is stressed. The last stressed syllable in the word (or in the line of poetry), and everything after it, has to be the same. So the "-eacher" in "teacher" and "reacher" are identical, and it's a good rhyme. To rhyme with "hex", the word has to end in "-ex." You can fudge the consonants after the stressed vowel just a bit, and get something that's not quite a rhyme, but good enough for, say, a HN comment. But you can't fudge the stressed vowel at all.


> But you can't fudge the stressed vowel at all.

Sure you can; e.g. you can get away with matching "teacher" with "catcher".

  My good old sixth grade teacher
  Though not always eye to eye
  Introduced me to the Catcher
  You know, In The Rye


What I was describing (where the last stressed vowel matches but the rest doesn't all match) is called assonance. This isn't even assonance, much less a rhyme. If you have a source describing this kind of not-a-rhyme from any period of English versification, I'd be interested to see it.


But in your examples, the last stressed vowel and the unstressed one, both match: reacher, teacher. Therefore I don't follow your comment.

There is a kind of assonance (or whatever) in English where the stressed one can differ. The juxtaposition of such words or endings can sound good. For instance "pitter-patter". This can be exploited to create a near rhyme, like my teacher and catcher verse.

Moreover, if it is the unstressed one that doesn't match, that is no longer the case. We cannot rhyme "teacher" with "teapot" as line endings.

The Wikipedia page:

https://en.wikipedia.org/wiki/Perfect_and_imperfect_rhymes

states the same conditions you have given for perfect rhyme: stressed vowel and following unstressed, if any, are a match. Then it goes into the exceptions.


> the root words need to rhyme

Maybe in some $15,000 per year kindergarten in Beverly Hills; there is no such rule elsewhere.


I am torn between "hell no, not in this life" and "that is freaking awesome".


Read through the code golf website and hexagony comes up pretty frequently. I'm with you, it looks cool to see what others do, but I cant imagine jumping in and trying to make one myself.

First one I found: https://codegolf.stackexchange.com/questions/57617/is-this-n...


In that case, a nice compromise for you would be to solve RegHex puzzles:

http://rampion.github.io/RegHex/


Esoteric languages often elicit such contradictory responses.


It's pretty easy to get started. You do an easy problem with a big board. You think "maybe I can reuse some sections and cut down on the whitespace" and spend eternity optimizing it down to a neatly packed little hexagon (or quit trying). There's something really satisfying about reusing paths of code in ways you didn't initially think of.


I felt the same way and then I just settled on “oh neat! I’m glad this exists for people who aren’t me”


I'm going to bring this up next time people want to talk about Hexagonal Architecture: https://en.wikipedia.org/wiki/Hexagonal_architecture_(softwa...


But unlike Hexagonal Architecture this one actually has a proper reason for being called hexagonal. Of all hexagonalisms, Hexagonal Architecture feels like the hardest to forgive.

They could've called it Avocado architecture - give the diagrams some color, even increase global demand for green whiteboard markers by 0.1% but nope... Would've sold just as well and would've made even more sense...


“It’s a portmanteau of hexagon and agony because… well, try programming in it”


I keep thinking one day we will discover a new compute substrate and one of these esoteric languages will come right in.

Imagine a hexagonal crystalline structure with special physical properties that allow electrons to move a certain way. You never know.


The differential geometry general relativity uses was developed for funsies by euler in the 1700's, so there is precedent.


Quasicrystals are non-periodic hexagonal crystals that follow the same rules as mathematical penrose tiles. Here's a paper on some interesting theoretical phase transitions that are similar to the type of electron control you mention. https://journals.aps.org/prresearch/abstract/10.1103/PhysRev...


This is cool! There is also Orca: https://100r.co/site/orca.html


Why does it say "pointy-topped hexagonal grid" when all the pictures are flat-topped?


When you arrange point-topped hexagons into an approximately hexagonal shape, the combined "hexagon" is flat-topped. Take a look at the demo site:

https://hexagony.net/


2D languages are fun! I created a flappy bird inspired programming language/puzzle game. It’s called Stacky Bird and never got popular but my kids liked it for a couple of days. https://game.stackybird.com/


I like how the instruction pointer bounces off mirror operators in angles.



Yes, it's a fungeoid (https://esolangs.org/wiki/Fungeoid), using a hexagonal grid. Ignoring dimensionality, non-square fungeoids are not novel e.g. hyperfunge (https://esolangs.org/wiki/Hyperfunge) uses pentagonal cells (it also uses a hypergrid, so each cell is surrounded by 20, 4 at each corner).


I propose that all future AI development be done in Hexagony, so that no one can boast that they understand how it works. :D


AI seems closer to malbolge (https://esolangs.org/wiki/Malbolge). It's not just that it's weird, it's also permanently shifting under you in ways you don't understand.


If 7 bit memory cells were suddenly cheap, we could build a hexagonal computer with 7 bit “bytes” where each byte has another 6 around it. Repeat with each ring with another set of the last group.

We would have a hierarchy of hexagonal cells. Maybe this could make for a numbering system. Since this could also represent real number in base 7


Just use 8-bit memory cells and use the extra bit for parity/ECC. ;)


Made me think of Hexagrama a "sacred geometry inspired sequencer": https://www.aristidesgarcia.de/hexagrama



Thanks for the link. I am starting to get into simple but deep strategy board games. Is there a good place to find the best simple but deep strategy games?


OK, if I had to program in this language I might finally be driven to use an IDE.

At least until some bright spark produced a decent emacs mode for it.


I thought a programming language in excel would be cool. Each cell would be a block of code, graphic, or sound.


This is terrible - in a good way


Has anyone made a zachlike using this language yet?

Edit: maybe code.golf is what I’m looking for…


Could it solve NYT’s Spelling Bee efficiently?


How would you print yellow world?



The fact that I know exactly what that's supposed to do, yet I find it completely unintelligible, is the best worst thing!


This is cool




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: