5 ms·
The Nova Programming Language
- escanda 11mo agoI 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 11mo ago[flagged]
- escanda 11mo agoMost likely has a language server thus interoperable with most editors out there. Some config might be necessary though.
- casuallyblue 11mo agoNo LSP yet, but we do have a tree-sitter grammar
- deleted 11mo ago[deleted]
- airstrike 11mo ago> 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 https://news.ycombinator.com/newsguidelines.html
- gkbrk 11mo agoWho would confuse a programming language and a text editor?
- throwaway613745 11mo ago[dead]
- jibal 11mo agoEven if that mattered, you could express it without being rude.
- ivanjermakov 11mo agoSome code snippets here: https://nova-lang.net/introduction-to-nova/sight/ 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 https://forge.nouveau.community/nova
- oersted 11mo agoWhere 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/ https://nova-lang.net/implementations/
- AyyEye 11mo agoTheir forgejo instance has an interpreter in go https://forge.nouveau.community/nova/ni https://forge.nouveau.community/nova/ni
- arniemiller 11mo agoNice. The learn page reminded me of https://learnxinyminutes.com/ https://learnxinyminutes.com/ which I really liked as a quick way to get a tour of a language.
- oersted 11mo agoHuh... In https://nova-lang.net/implementations/ https://nova-lang.net/implementations/ > Pyra: Runs on Lua > Serpens: Runs on Python
- ajkjk 11mo agoahem, by law programming languages must have code samples on the front page
- deleted 11mo ago[deleted]
- sema4hacker 11mo agoYes, after wandering through a few pages trying to find an example that actually did something, I gave up and moved on.
- saghm 11mo agoThis was especially confusing to me when I clicked on the "try" button and was dropped into a page with an empty text box. Most playgrounds I've seen before at least have a "hello world" there. There's a run button, but it's not particularly useful with an empty file!
- butvacuum 11mo agoIf this was released in April, I'd assume it was a joke: no va, no go... Not Go.
- picometer 11mo agoThe code block after "Welcome" is the code sample. Very literate.
- macintux 11mo agoA caption for that sample, indicating it is one, would help.
- graypegg 11mo agoIs 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/ https://playground.nova-lang.net/ doesn't seem to do anything. I assume it's the note taking part of the syntax?
- BoiledCabbage 11mo agoWhile 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 11mo agoProlog comes to mind with its facts and rules matching.
- tehologist 11mo agoI was thinking that this looks a lot like prolog or even make with rewrite terms
- WorldMaker 11mo agoEven more so it reminds of Dialog [0], a Prolog specialized for interactive fiction and sort of the Z-Machine object system. There's also some cross-over with how (parts of) Inform 7 works under the hood. [0] https://linusakesson.net/dialog/docs/index.html https://linusakesson.net/dialog/docs/index.html
- shrubble 11mo agoSNOBOL, 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 11mo agoI 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.
- 11mo ago
- geenat 11mo agoI 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 11mo agoThis 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 11mo ago(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 11mo agoWhen 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?
- yumaikas 11mo agoDepends on what you mean by power, I suppose. Nova is Turing complete, so there's that. One big difference between Nova and -most- logic languages is that "forgetting" things is a normal part of operation. Nova is also forward chaining, rather than backtracking. The end result ends up with Nova programs being something closer to an interpreter in a lot of cases, and writing inputs for said interpreter. So, Nova doesn't do as much on your behalf as Prolog does, deliberately trying to be easier to reason about, and to have more predictable performance characteristics.
- smaudet 11mo agoI think the focus on the state machine may be the problem. I don't know much about prolog, or why it doesn't really enjoy more status in the programming world, but I suspect that while it is good at repesenting states, it is not very useful for writing programs... Case in point, the pong programs. Looking at the impl, vs a <50 line js impl, this looks more like an assembly language for state, not necessarily something that makes state more visible or readily apparent... Having a nice dialect for a (is this formally provable?) state machine is nice, but I'm not convinced founding the language from state machines is the correct approach vs merely using a fluent library e.g. https://stately.ai/docs/xstate https://stately.ai/docs/xstate Not saying that I'm correct, but would be interesting to hear more of the philosophy of why Nova, vs just a simplisitic implementation of some card game rules...
- 155231 11mo ago[flagged]
- LennyHenrysNuts 11mo agoWhat's it for?
- Koshkin 11mo agoProlog-style programming
- forgotpwd16 11mo agoSome 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/main/examples https://forge.nouveau.community/nouveau/serpens/src/branch/m... [1]: https://forge.nouveau.community/yumaikas/myte/src/branch/main/examples https://forge.nouveau.community/yumaikas/myte/src/branch/mai...
- seg_lol 11mo agoIs this literate Prolog for Org Mode?
- keychera 11mo agoHow does this compare to Rules engine/rete algorithm? I've been developing a game on top of a rules engine and I can't help but feel very familiar reading the 4 Nova core ideas
- bobanrocky 11mo ago[flagged]
- junon 11mo agoI'll give this a try but at first glance through the guides it appears to be missing a way to ergonomically output specific states. I haven't run it yet but I'm guessing it logs everything that happens which will get verbose unless asked for. A while back there was a rewrite language that was posted (white on black theme site) that was similar but more geared towards coding problems and less on lit programming. I don't remember the name but it was equally as interesting. If anyone recalls what it was it'd be greatly appreciated. Anyway if the creator is lurking here, examples demonstrating more practical, real world problems (even if still somewhat small) would go a long way.
- incanus77 11mo ago> A while back there was a rewrite language that was posted (white on black theme site) that was similar but more geared towards coding problems and less on lit programming. I don't remember the name but it was equally as interesting. If anyone recalls what it was it'd be greatly appreciated. https://wiki.xxiivv.com/site/pocket_rewriting.html https://wiki.xxiivv.com/site/pocket_rewriting.html
- geldedus 11mo ago[flagged]