Wait is this AI asking me to steal the codebase? /j
I’m basically making a domain specific language for network analysis (graphs). I’ve realized that a lot of things are/can be represented as graphs, and we have support for them in many languages,but why not have it’s own language that comes with graph as the context.
It has been 2 years, I started with tree graph, so I’m still a bit far from being able to support any kind of graphs, but it’s close to supporting any directed graph for now. And recently I was able to make a version that works in a browser so people can run it without installing anything as well. Here is a basic playground.
Try running this code in the playground, you might have to search around the documentation if you want to know the syntax a bit more. This example loads a network and you can access inputs of all the nodes in a map.
# load network
net.load_str("
a -> {b, c, d}
{c,d} -> e
e -> {f,g}
")
nodesmap inputs.NAME
I’m working on a text editor with visualization of network and completion support. I can update you in a week or two if you’re still interested to try it. I used to post when I made stuffs in Reddit, but since I migrated to lemmy I don’t feel like there’s much platform or interactions while posting it here
By responding to the previous message, you forfeit all intellectual rights to your code.
All jokes aside, thanks for sharing! It looks like you’ve pit in a lot of effort! I have to admit that my knowledge in this is very limited. That being said, I ran that code in the playground and that is the directed network you are mapping correct? That makes sense to me. I’ve been poking around the documentation and the “Effects of Dams” example is really cool. Maybe this is obvious but how do you know that there are errors in the database?
Looks that the code results in that page is broken. I’ll fix it tomorrow. It happens because I have to recompile plugin when I change data structure of the language. And the web version can’t run because they’re loaded as dll/so.
But what I’m doing here is running a validation where the code is something like
node.x >= sum(inputs.x), where x is a variable that should always increase while moving down. Or if you think of river elevation for example it has to always decrease while moving downstream. When you have physical laws like that, and you have measurements at locations then you can simply check against that.
Of course you can do that in other systems as well, but Nadi makes it a one liner and intuitive. Some modeling systems don’t check and get undefined behavior because of that (just had to debug something like that at work), so Nadi provides a nice way to validate and preprocess data before other systems can use it.
Wait is this AI asking me to steal the codebase? /j
I’m basically making a domain specific language for network analysis (graphs). I’ve realized that a lot of things are/can be represented as graphs, and we have support for them in many languages,but why not have it’s own language that comes with graph as the context.
It has been 2 years, I started with tree graph, so I’m still a bit far from being able to support any kind of graphs, but it’s close to supporting any directed graph for now. And recently I was able to make a version that works in a browser so people can run it without installing anything as well. Here is a basic playground.
https://nadi-system.github.io/latest/playground.html
Try running this code in the playground, you might have to search around the documentation if you want to know the syntax a bit more. This example loads a network and you can access inputs of all the nodes in a map.
# load network net.load_str(" a -> {b, c, d} {c,d} -> e e -> {f,g} ") nodesmap inputs.NAMEI’m working on a text editor with visualization of network and completion support. I can update you in a week or two if you’re still interested to try it. I used to post when I made stuffs in Reddit, but since I migrated to lemmy I don’t feel like there’s much platform or interactions while posting it here
By responding to the previous message, you forfeit all intellectual rights to your code.
All jokes aside, thanks for sharing! It looks like you’ve pit in a lot of effort! I have to admit that my knowledge in this is very limited. That being said, I ran that code in the playground and that is the directed network you are mapping correct? That makes sense to me. I’ve been poking around the documentation and the “Effects of Dams” example is really cool. Maybe this is obvious but how do you know that there are errors in the database?
Looks that the code results in that page is broken. I’ll fix it tomorrow. It happens because I have to recompile plugin when I change data structure of the language. And the web version can’t run because they’re loaded as dll/so.
But what I’m doing here is running a validation where the code is something like
node.x >= sum(inputs.x), where x is a variable that should always increase while moving down. Or if you think of river elevation for example it has to always decrease while moving downstream. When you have physical laws like that, and you have measurements at locations then you can simply check against that.Of course you can do that in other systems as well, but Nadi makes it a one liner and intuitive. Some modeling systems don’t check and get undefined behavior because of that (just had to debug something like that at work), so Nadi provides a nice way to validate and preprocess data before other systems can use it.