[HN Gopher] Nova Programming Language
       ___________________________________________________________________
        
       Nova Programming Language
        
       Author : surprisetalk
       Score  : 71 points
       Date   : 2025-12-08 15:03 UTC (7 hours ago)
        
 (HTM) web link (nova-lang.net)
 (TXT) w3m dump (nova-lang.net)
        
       | escanda wrote:
       | I guess this sometime replace org-mode extensively. The idea is
       | sound. The implementation looks good.
       | 
       | For instance, I love org-mode export capabilities to standard
       | formats such as pdfs and other kinds of documents. It makes it
       | real easy to export some formulae or docs for some feature.
       | 
       | Plus org-mode agenda is just superior and awesome.
        
       | almosthere wrote:
       | Did you have 3 seconds to see that there is a Nova code editor
       | out there? (edit: this comment is about name confusion)
        
         | escanda wrote:
         | Most likely has a language server thus interoperable with most
         | editors out there. Some config might be necessary though.
        
           | casuallyblue wrote:
           | No LSP yet, but we do have a tree-sitter grammar
        
         | airstrike wrote:
         | _> Please don 't complain about tangential annoyances--e.g.
         | article or website formats, name collisions, or back-button
         | breakage. They're too common to be interesting._
         | 
         | https://news.ycombinator.com/newsguidelines.html
        
         | gkbrk wrote:
         | Who would confuse a programming language and a text editor?
        
         | jibal wrote:
         | Even if that mattered, you could express it without being rude.
        
       | ivanjermakov wrote:
       | Some code snippets here: https://nova-lang.net/introduction-to-
       | nova/sight/
       | 
       | EDIT: seems to be open source, just isn't mentioned on the
       | website https://forge.nouveau.community/nova
        
         | oersted wrote:
         | Where did you get this? Of the three implementations I see here
         | all three have available sources, Myte and Serpens don't have
         | licenses, and Pyra has an Unlicense open-source license.
         | 
         | https://nova-lang.net/implementations/
        
         | AyyEye wrote:
         | Their forgejo instance has an interpreter in go
         | https://forge.nouveau.community/nova/ni
        
       | arniemiller wrote:
       | Nice. The learn page reminded me of https://learnxinyminutes.com/
       | which I really liked as a quick way to get a tour of a language.
        
       | oersted wrote:
       | Huh...
       | 
       | In https://nova-lang.net/implementations/
       | 
       | > Pyra: Runs on Lua
       | 
       | > Serpens: Runs on Python
        
       | BoiledCabbage wrote:
       | While I'm not clear on how it scales to more broader problems,
       | it's nice to see a somewhat novel idea in programming languages
       | vs the same rehash of algol derived languages.
       | 
       | I do think I've seen something similar. A language mainly driven
       | off of pattern matching, but I don't recall where. Does anyone
       | know of prior art? Or is this completely novel?
        
         | MisterTea wrote:
         | Prolog comes to mind with its facts and rules matching.
        
         | shrubble wrote:
         | SNOBOL, SPITBOL and the Icon and Unicon languages are heavy
         | with pattern matching.
         | 
         | There's a book on "Snobol for the Humanities" but it doesn't
         | have a strong focus on UI; everything at the time it was
         | written used a simple terminal interface like a REPL with no
         | advanced terminal handling.
        
           | jibal wrote:
           | I wrote some SNOBOL IV programs back in the day and met Ralph
           | Griswold when he visited the UCLA Computer Club. Fun language
           | with very interesting ideas. Looking into Unicon is on my
           | list of things to do.
        
         | graypegg wrote:
         | June's (developer from the team page on Nova's site) personal
         | website [0] points to this other interesting looking pattern-
         | matching-based language she made called Modal [1] which seems
         | to work on a tree rather than named LIFO stacks
         | 
         | [0] https://june.codes/
         | 
         | [1] https://wiki.xxiivv.com/site/modal
        
           | forgotpwd16 wrote:
           | So that's why I found the username and language familiar. Was
           | exploring this site few days ago. Besides this page, there's
           | also one on Vera[0], what appears to be Nova's predecessor
           | (at the end there's even link pointing to a defunct wiki
           | under Nova's domain calling it _Vera wiki_ ).
           | 
           | [0]: https://wiki.xxiivv.com/site/vera.html
        
         | ModernMech wrote:
         | https://witheve.com
        
       | ajkjk wrote:
       | ahem, by law programming languages must have code samples on the
       | front page
        
         | sema4hacker wrote:
         | Yes, after wandering through a few pages trying to find an
         | example that actually did something, I gave up and moved on.
        
         | picometer wrote:
         | The code block after "Welcome" is the code sample. Very
         | literate.
        
           | macintux wrote:
           | A caption for that sample, indicating it _is_ one, would
           | help.
        
           | graypegg wrote:
           | Is it meant to do something? It doesn't follow the same
           | cause/effect syntax as the tutorial, and plopping that
           | welcome block into https://playground.nova-lang.net/ doesn't
           | seem to do anything. I assume it's the note taking part of
           | the syntax?
        
             | casuallyblue wrote:
             | Its not necessarily meant to do anything on its own. The
             | text there _is_ the same cause /effect syntax, just with
             | slightly different delimiters. If you were to include the
             | fact it needs to execute for the rule to work on after the
             | code, like: "|| - Welcome to Nova! -", then the rule would
             | execute.
        
               | graypegg wrote:
               | OH! Ok that makes more sense. `:` from the tutorial is
               | `-` or `~`, because it's the first char after the pipe.
               | 
               | I do lose track after that though, in my brain, It looks
               | like the entire second part after the second pipe
               | character should be just one long fact assigned to the
               | stack between tildes, but I think it's adding each one of
               | the bullet-prefixed lines to it.
        
               | yumaikas wrote:
               | That is one of a couple syntactical shorthands, explained
               | a small bit here: https://nova-lang.net/introduction-to-
               | nova/sight/#sometime-y...
        
               | casuallyblue wrote:
               | yeah, the "." is a syntax for putting multiple things on
               | the same stack
               | 
               | [0] https://nova-lang.net/introduction-to-
               | nova/sight/#sometimes-...
        
         | user2342 wrote:
         | It's there, but yes the home page is very confusing. I lost
         | interest very fast.
        
         | guywithahat wrote:
         | I found some example code on their github
         | https://github.com/dan-online/Nova
        
       | geenat wrote:
       | I like the idea of a "markdown for logic", with transpiliation to
       | lots of different easy backends such as javascript.
       | 
       | Not convinced the language would actually be useful, but I like
       | the ideas for portability.
        
       | satiric wrote:
       | This feels like prolog, although I don't remember much about
       | prolog apart from writing about 3 lines to get a CS degree. What
       | puts this apart from prolog? (And are there, you know, reasons
       | for using the language?)
        
         | yumaikas wrote:
         | (Nova dev here)
         | 
         | Nova's execution model is a lot friendlier to implement vs
         | Prolog, for one.
         | 
         | One big reason reach for Nova are when I have something -very-
         | state-machine shaped. It is quite good at that.
         | 
         | I'll try to come back later with more explanations
        
           | ModernMech wrote:
           | When you say "friendlier" does that also mean "less
           | powerful"? Prolog's execution engine is very capable, so does
           | Nova give up some of that power in exchange for friendliness
           | or does it somehow retain it?
        
       | 155231 wrote:
       | iker
        
       | LennyHenrysNuts wrote:
       | What's it for?
        
         | Koshkin wrote:
         | Prolog-style programming
        
       | forgotpwd16 wrote:
       | Some examples are available in the repos of Serpens/Myte[0][1]
       | (Nova in-Python interpreter/to-JS compiler).
       | 
       | [0]:
       | https://forge.nouveau.community/nouveau/serpens/src/branch/m...
       | 
       | [1]:
       | https://forge.nouveau.community/yumaikas/myte/src/branch/mai...
        
       | seg_lol wrote:
       | Is this literate Prolog for Org Mode?
        
       ___________________________________________________________________
       (page generated 2025-12-08 23:01 UTC)