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?
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.
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.
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.
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?
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.
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.
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
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.
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?)
> 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.
ahem, by law programming languages must have code samples on the front page
Yes, after wandering through a few pages trying to find an example that actually did something, I gave up and moved on.
It's there, but yes the home page is very confusing. I lost interest very fast.
The code block after "Welcome" is the code sample. Very literate.
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?
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.
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.
That is one of a couple syntactical shorthands, explained a small bit here: https://nova-lang.net/introduction-to-nova/sight/#sometime-y...
yeah, the "." is a syntax for putting multiple things on the same stack
[0] https://nova-lang.net/introduction-to-nova/sight/#sometimes-...
A caption for that sample, indicating it is one, would help.
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
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/
Their forgejo instance has an interpreter in go https://forge.nouveau.community/nova/ni
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.
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?
Prolog comes to mind with its facts and rules matching.
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.
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.
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
https://witheve.com
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.
Huh...
In https://nova-lang.net/implementations/
> Pyra: Runs on Lua
> Serpens: Runs on Python
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.
What's it for?
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?)
(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
iker
Did you have 3 seconds to see that there is a Nova code editor out there? (edit: this comment is about name confusion)
> 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
Who would confuse a programming language and a text editor?
Even if that mattered, you could express it without being rude.
Most likely has a language server thus interoperable with most editors out there. Some config might be necessary though.
No LSP yet, but we do have a tree-sitter grammar