Perun2 Programming Language
perun2.orgI'm not the author but found this project interesting:
https://www.youtube.com/watch?v=ilZZHrL4Nd4 I think the syntax and numerous keywords are interesting. They have keywords for every weekday, month, unit of time (singular and plural), etc. Most programming languages are proud of how few keywords they have. This means every last damn little thing you want to say has to be said with an enum, static, constant, etc. That sounds quite similar in spirit to Rebol and descendants, which also have built-in datatypes and dedicated syntax for a wide range of things [http://www.rebol.com/r3/docs/datatypes.html]. I thought the secret sauce for Rebol was that the syntax is so flexible that you can express things like email addresses etc. as seeming “literals”. I.e. you don’t have to wrap everything in strings (and enums and). Yes, that’s the approach it takes — having an unusually large range of literal syntax. That’s different to what Perun2 seems to do, but it’s still ‘similar in spirit’ like I said. I thought the trick with Rebol is that it's "stringly-typed" like Tcl, so you can invent whatever syntax you want because it's all just strings anyway. No, Rebol is not stringly-typed at all. Quite the opposite — like I said, it relies on having a large range of built-in datatypes. Thanks for clarifying. Any tips for getting started with it myself? It seems very different from other languages. I’m only a novice myself, really. Rebol and descendants tend to have little documentation, but poking around the websites [0] [1] should be enough to get started. [0] http://www.rebol.com/docs.html [1] https://www.red-lang.org/p/documentation.html (NB. Red is a descendant of Rebol; they’re not the same, especially with more advanced features, but they’re still similar enough that the documentation transfers over easily.) I had forgotten about this language. I think the Red language is a descendant. Brings my thoughts to Visual Basic myself. That's one keyword ridden language! It's funny... The initial learning curve may be smooth in that language "because English" but then you have to remember how all the statements need to be written in exchange. iirc F# has units of measure too. That might have come in handy a few weeks ago when I found out that you can't copy long file names to an Android device (from Windows). I had to write a Python script to cut the names short and remove certain characters (can't tell precisely which, but I think "Leoš Janáček" caused a problem). It won't be suitable for everything, but it does look practical. PS under Windows 11, the commands are hidden under the "second level" pop-up. Or be a "power user" and restore the old context menu: https://answers.microsoft.com/en-us/windows/forum/all/restor... Zip, copy, unzip Doesn't work. The Android device in question (a Sony Walkman) doesn't expose a file system or a device, only some file transfer protocol. Access to it is some hack in Windows Explorer. And it's the length of the destination path that matters, not the source. MTP is such a wonderful innovation. Although being Sony perhaps they invented something even better. As a windows user this looks very very useful for a lots of once in a while things for me. First use case I can think of is renaming things which it can do https://perun2.org/docs/corecoms Very useful when you want to manipulate files regularly e.g. renaming/managing (downloaded) images by resolution. In the powershell example: "Get-ChildItem" o_O Is that .. camel kebab? All commands have a standard Verb-Noun naming scheme, with a small list of verbs, to ensure their names can be easily guessed. Along with jargon like 'item', if you have never found the command to get a file object from a path, you can already know it is called Get-Item without looking it up. Welcome to PowerShell 101, circa 2006, 18 years ago :-) Unfortunate choice of name, though - if you append "the nearest bathroom" you get what my little daughter sometimes has to do urgently. Would you say similar about Allah4, given it existed? :) "unfortunate choice of name" - yes, but no to the rest of my previous statement in that case. There’s a delete statement. I hope the where-clause is mandatory? :) SQL gives you a puzzled look and asks "But why not make it convenient to blow your entire folder?" Powershell looks better than Perdun. misspelling.. or? It's a weak attempt at humor based on the fact that "perdun" means "one who farts" in Russian. yes, misspelling. meant this: Powershill sounds better than Perdun. FFS, please change the landing page to indicate that it is Windows-only. This seems like an extreme reaction. Between the Windows UI and Powershell scripting, it seems fairly clear. With that said, the feedback (despite the tone) is valid, indicating with words that this programming language doesn't work on anything other than windows is an important feature for the landing page to present. I can see clearly too, that it is for windows by the pictures, but better to say it with words. Fair enough. Page now reads: "tool for creating filesystem automation plugins on Windows OS". That's all one could ask for. There's a bash example on the home page, so it wasn't obvious to me it's windows-only. pwsh aint windows only thou And the linux kernel runs on Windows, but I wouldn't expect this to be on the front page of linux.org. This landing page does a perfectly good job at communicating what it needs to. I think that was pretty clear from the first picture on that page. But there are some empty files for other operating systems in the source: https://github.com/wojfil/perun2/tree/master/src/os So support for other systems might be planned. The first words I saw communicated that the language was for "filesystem automation plugins" with an image of a Windows Explorer context menu below, which made it pretty clear which filesystem it was referring to. Then it took me half a second to click the download button and see (above the fold) that, as expected, only Windows was available. The landing page is fine. If you are looking for something similar but for other platforms, there is fselect[1]. Can do all that, and tries to adhere to SQL. There's a somewhat similar project that also works on linux https://www.nushell.sh/ powershell all the way this is a dsl , compared to the more general powershell cli
the file system commmands will sure be shorter or (subjectively) cleaner but at what cost? learning ans mastering pwsh, even if some commands will be longer, is a better investment SQL being extended to become a file system dsl as some data lake solutions do, make more sense Why not just use an LLM to generate the code/commands for you? Making a whole new language someone has to learn and memorize special keywords and built-ins doesn't seem too appealing by today's standards. If those commands are sporadic, non-heterogenous and they don't chain well, a language like this can help create the framework to help an llm generate your actions easier.