7 ms·
Retina: A regex-based recreational programming language
- jsilence 7y agoFor more audiovisual fun you could also try IBNIZ.
- JadeNB 7y agohttps://esolangs.org/wiki/IBNIZ https://esolangs.org/wiki/IBNIZ
- dsun180 7y agoPlease add a screenshot of code to the readme and also fill your online editor with a block of example code.
- capableweb 7y agoThere seems to be a couple of examples but the UX for discovering them is a bit poor. Author could do a better job surfacing them up front instead. In the meantime, here is where you can find them: - Online editor has a "Hello World" button that loads a very basic example - https://github.com/m-ender/retina/tree/master/Examples https://github.com/m-ender/retina/tree/master/Examples has a bunch of more example, linked from the landing page - https://github.com/m-ender/retina/wiki/The-Language https://github.com/m-ender/retina/wiki/The-Language shows the entire language (AFAIK), but it's a reference.
- mbue 7y agoHi, author here! Thanks for the feedback. I'm not in charge of Try It Online, so I can't do anything about filling it with code by default, but as someone else noted, there is a Hello World button, which fills in a (very trivial) snippet. There also a bunch of examples with tutorial-like explanation in the Examples folder. I'll think about adding one example to the main README though, just to really put people off of looking further into the language. ;) While I'm here, in case anyone does actually use the language and find it to be useful, I also wrote a VS Code extension that lets you use it as a powerful search-and-replace alternative: https://github.com/m-ender/vscode-retinate https://github.com/m-ender/vscode-retinate
- aloisdg 7y agoI know you from codegolf. I love reading your solutions especially in Retina. Keep golfing!
- lifthrasiir 7y agoIf you find Retina interesting, you may be also interested in a plothera of esoteric programming languages with the general string-rewriting paradigm [1], which is---as Thue [2] or /// [3] demonstrates---enough for Turing completeness. [1] https://esolangs.org/wiki/Category:String-rewriting_paradigm https://esolangs.org/wiki/Category:String-rewriting_paradigm [2] https://esolangs.org/wiki/Thue https://esolangs.org/wiki/Thue [3] https://esolangs.org/wiki//// https://esolangs.org/wiki////
- JadeNB 7y agoI can't find any page by Colagioia about Thue, so I can't say if he was the originator of this trend, but it's a shame not to see any mention of the origin of the name Thue on the esolang page. He was quite a mathematician; he originated the systematic study of string-rewriting systems (https://en.wikipedia.org/wiki/Semi-Thue_system https://en.wikipedia.org/wiki/Semi-Thue_system and https://en.wikipedia.org/wiki/Thue–Morse_sequence https://en.wikipedia.org/wiki/Thue–Morse_sequence), which is why this name is appropriate, but made lots of other contributions, too—as a number theorist, I know him from https://en.wikipedia.org/wiki/Roth%27s_theorem https://en.wikipedia.org/wiki/Roth%27s_theorem (which Wikipedia calls Roth's theorem, but which I think most number theorists call the Thue–Siegel–Roth theorem).
- black_thoughts 7y agoOut of all the quines I've seen, that's my favourite. https://github.com/m-ender/retina/blob/master/Examples/quine.ret https://github.com/m-ender/retina/blob/master/Examples/quine... So elegant.
- wvlia5 7y agoExamples: https://github.com/m-ender/retina/tree/master/Examples https://github.com/m-ender/retina/tree/master/Examples More didactic than a language reference
- evgeniysharapov 7y agosomewhat reminds me of 'sed', but with less history and less power.
- schoen 7y agoIt looks to me like it's very similar to a subset of sed, but with a more powerful regex library. But many programs in this language probably have near line-for-line translations into sed if they don't use newer regex features. A lot of people (including me) have basically only learned the s command in sed and don't usually think about all of the more sophisticated sed features.
- mbue 7y agoYeah, it really is surprisingly similar to sed. "Surprisingly", because when I first designed the language I knew nothing about sed, and I still know very little (but I've seen people convert programs between both languages in a fairly straightforward manner).
- kitotik 7y agoI’m enamored with the term ‘recreational programming language’. Not sure I’d ever use one, but it’s a useful categorization nonetheless!
- mbue 7y agoFWIW, they're usually called esoteric programming languages/esolangs, but I'm not a fan of that term. That's why I've been using "recretional" instead. :)
- durpkingOP 7y agoso this is a programming language for when we aren't working? please elaborate
- ThreeFx 7y agoExactly. The author is active on the Code Golf Stack Exchange and wrote this programming language with code golding in mind, which is viewed as relaxing by some.
- mbue 7y agoYeah, that was the idea. Just a language for fun and specifically for code golf (solving programming problems in as small a program as possible). In the case of Retina, it turned out the language is actually pretty useful for throwaway scripts for string manipulation, so I actually am using the language while working occasionally, but that was definitely not a design goal. :D
- zelienople 7y agoExample Retina code: K`0¶1 {\G0` )`(\d+)\n(\d+) $2$n$.($1_$2*_) ...you got somethin' severely wrong with you, boy.
- mbue 7y agoAppreciate the compliment. :)