8 comments

  • thenulldevice3 days ago
    You do a good job on explaining the what of the language, but I cannot quickly find the why of the language. What is the language's purpose? Why should or could I use it?
    • mrbluecoat3 days ago
      Agreed. Feels like "a scripting language for C developers who hate JavaScript"
      • nottorp3 days ago
        That can be a decent "why" though...
  • account-56 days ago
    I feel like I keep harping on about Nushell but as scripting languages go it&#x27;s right up there for me. Built with rust too and comes with a ton of stuff built in.<p>What&#x27;s the niche this fills? I came across roc-lang recently which seemed interesting too, again built with rust, and opinionated on certain things common in older languages.<p>It doesn&#x27;t have to, and obviously it&#x27;s your project, but what is this offering over other languages. Why would I reach for it?
    • egranata_aria6 days ago
      I hadn&#x27;t really looked at Nushell, but it (process control) is definitely something I plan to improve in Aria (<a href="https:&#x2F;&#x2F;github.com&#x2F;egranata&#x2F;aria&#x2F;issues&#x2F;21">https:&#x2F;&#x2F;github.com&#x2F;egranata&#x2F;aria&#x2F;issues&#x2F;21</a>). Right now I have a simple system() wrapper, but not much in terms of advanced subprocess control. Maybe worth investing some time in cleaning up?<p>I have tried to fill the niche of &quot;scratch my itches, please&quot;, which means Aria is intended to feel smooth, pleasant and simple to write in. There are still things I want to improve before calling it a 1.0, but the general theme is, a general purpose scripting language with just enough structure and as little ceremony as possible.<p>It may be that I struck the wrong balance somewhere (and I know of a few places, e.g. operator overloading - I plan to rewire the syntax), and that would be great to get eyes on and get feedback!
    • norman7843 days ago
      Just a side note, roc-lang is being rewritten in Zig[0]<p>[0] <a href="https:&#x2F;&#x2F;gist.github.com&#x2F;rtfeldman&#x2F;77fb430ee57b42f5f2ca973a3992532f" rel="nofollow">https:&#x2F;&#x2F;gist.github.com&#x2F;rtfeldman&#x2F;77fb430ee57b42f5f2ca973a39...</a>
  • ofalkaed6 days ago
    What would this offer me over more established scripting languages? Main thing I want to know when I see a new offering. On a quick look I find the almost but not quite C syntax more difficult to read, like the lack of parenthesis on the if statement&#x27;s test and this is my biggest issue with <i>C like</i> languages, they change things just enough that I have to think about it and I don&#x27;t see what the change offers beyond those used to C syntax having to stop and think.
    • egranata_aria6 days ago
      Good news is I can offer you parentheses, but they are indeed optional on conditionals&#x2F;loops. I am fairly sure there are other C-style syntaxes that leave those out. See <a href="https:&#x2F;&#x2F;stackoverflow.com&#x2F;questions&#x2F;2061593&#x2F;why-do-c-languages-require-parens-around-a-simple-condition-in-an-if-statement" rel="nofollow">https:&#x2F;&#x2F;stackoverflow.com&#x2F;questions&#x2F;2061593&#x2F;why-do-c-languag...</a> - you can&#x27;t have the same ambiguity if you have mandatory braces around the body. Would there be a reason to require them?<p>With that said, this will work just fine and you wouldn&#x27;t have to think about it too hard, if at all:<p><pre><code> func main() { if (1 == 2) { println(&quot;oh no!&quot;); } else { println(&quot;phew!&quot;); } } </code></pre> On the more general point, why this vs. anything else? That&#x27;s a great question. I have tried to hit a balance that I think is pleasant to write code in (e.g. I like not having __init__.aria files around to define modules :-), and I like having proper enums, and so on...). I like to think someone would pick up Aria because it is a fun little language to try out and experiment with, not because it would change the world.<p>Mileage may of course vary and you may think that balance is actually nowhere to be seen. That&#x27;s great, hit me with it.
  • plainOldText3 days ago
    Judging from the small example in the readme, the language looks pleasing to the eye.<p>What’s under the hood though? What are some of the technical choices, performance characteristics and longer term goals?
    • derdi3 days ago
      The current implementation looks like a compiler to a stack-based bytecode with a straightforward textbook interpreter. For example, here is the interpretation of the Add bytecode: <a href="https:&#x2F;&#x2F;github.com&#x2F;egranata&#x2F;aria&#x2F;blob&#x2F;master&#x2F;vm-lib&#x2F;src&#x2F;vm.rs#L500-L521">https:&#x2F;&#x2F;github.com&#x2F;egranata&#x2F;aria&#x2F;blob&#x2F;master&#x2F;vm-lib&#x2F;src&#x2F;vm.r...</a><p>So to a very rough first approximation, performance characteristics should be in CPython&#x27;s ballpark.
  • pshirshov3 days ago
    Does it support higher-kinded types and typeclasses? Does it support call-site expansion?
  • drumnerd3 days ago
    Why the name conflict with aria the technology?
  • PontingClarke3 days ago
    [dead]
  • efitz3 days ago
    [flagged]
    • voidUpdate3 days ago
      I think it&#x27;s cool that someone is creating a language specifically for creating a piece of music for just one voice!<p>What do you mean, not <i>that</i> aria[1]?<p>[1]<a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Aria" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Aria</a>
      • cestith3 days ago
        I think it’s cool that someone is writing a language to find information about the Russian heavy metal band.<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Aria_(band)" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Aria_(band)</a>