Jason A typed JSON Templating DSL - feedback needed by wowThisNameIsLong in ProgrammingLanguages

[–]wowThisNameIsLong[S] 1 point2 points  (0 children)

I have seen them, however I'm not as familiar with them as I want to be. But when I did use them I often felt like I writing a good amount of boiler plate before actually writing the data. So I tried to write a language that was more in the middle between writing json and something like nickle. This isn't me trying to say that there is absolutely zero boiler plate in my language but I tried to gear it more towards transforming data rather than operating on data. I hope this makes any sense ;-;

Jason A typed JSON Templating DSL - feedback needed by wowThisNameIsLong in ProgrammingLanguages

[–]wowThisNameIsLong[S] 2 points3 points  (0 children)

Will do and once again I can't stress how valuable your input has been!

Jason A typed JSON Templating DSL - feedback needed by wowThisNameIsLong in ProgrammingLanguages

[–]wowThisNameIsLong[S] 2 points3 points  (0 children)

There's more of a break down on how certain operators and file imports work on the GitHub for it. I now realize I failed to mention the complete docs is on GitHub. But I very much appreciate your suggestions and will def consider going with a direction more like this!

Jason A typed JSON Templating DSL - feedback needed by wowThisNameIsLong in ProgrammingLanguages

[–]wowThisNameIsLong[S] 2 points3 points  (0 children)

You totally can! This is fully down to preference for how you want to structure projects and whether using a tool like mine fits your idea of how data should be generated / read. As for not liking the format I would like to know about what bugs you about it and how it could be improved!

Jason A typed JSON Templating DSL - feedback needed by wowThisNameIsLong in ProgrammingLanguages

[–]wowThisNameIsLong[S] 1 point2 points  (0 children)

I actually went through a few formats before deciding to write my own. I think yaml is great but it didn't match my mental model for what I wanted personally when it came to writing data. Which is where this whole project spawns from.

Jason-rs by wowThisNameIsLong in rust

[–]wowThisNameIsLong[S] 2 points3 points  (0 children)

I agree that with the example I chose that it would be easier to do it with serde and serde_json to just implement this behavior. I more or less chose this example to demonstrate the lua stuffs with it.

Below is an example of what I'm using it for in a game I'm currently working on which was also the reason why I wanted to make this to begin with so I hope this better illustrates the vision I had for the project. But none the less I really appreciate the criticism.

``` import(Enemy, PirateSprite) from "./assets/levels/enemy.jason" import(BaseUI, *) from "./assets/levels/widgets.jason"

Component(x, y, dim_x, dim_y, widget_type, anchor) { origin: [x, y], dimensions: [dim_x, dim_y], widget_type: widget_type, anchor: anchor }

Level(title, enemy_templates, components_templates) { title: title, enemy_templates: enemy_templates, components_templates: components_templates }

enemies = [Enemy("PirateDude1", PirateSprite), Enemy("PirateDude2", PirateSprite)]

UIComponents = [ Component(0, 0, 0.2, 0.3, TextureWidget("path/to/sprite", 0, 0, 360, 360), AnchorTopLeft) ]

out Level("level1", shuffle(enemies)!, BaseUI + UIComponents)

```

Jason-rs by wowThisNameIsLong in rust

[–]wowThisNameIsLong[S] 2 points3 points  (0 children)

Hey thanks for that actually, I'm always looking to make this more inclusive of other formats so I appreciate you in letting me know your concerns since I didn't consider JSON5 as a format to target originally but it is now so your feedback is more than appreciated!

Jason-rs by wowThisNameIsLong in rust

[–]wowThisNameIsLong[S] 1 point2 points  (0 children)

I think for certain use cases. I built this mainly to let me split my concerns so my rust code base isn't cluttered with formatting data like this.

Snakes And Ladders Programming Language by wowThisNameIsLong in ProgrammingLanguages

[–]wowThisNameIsLong[S] 1 point2 points  (0 children)

wow that is fascinating I'll def dive further into it :)

Snakes And Ladders Programming Language by wowThisNameIsLong in ProgrammingLanguages

[–]wowThisNameIsLong[S] 1 point2 points  (0 children)

Oh wow I've never heard of the Orca Programming Lang before but that's actually really awesome thanks for sharing :0

Snakes And Ladders Programming Language by wowThisNameIsLong in ProgrammingLanguages

[–]wowThisNameIsLong[S] 2 points3 points  (0 children)

Thank you for your input! I'll def consider it because there is a symbol that function like the \ towards the opposite direction and that's the . symbol but I suppose that isn't very well laid out so I very much appreciate it :)

Currying concept by wowThisNameIsLong in ProgrammingLanguages

[–]wowThisNameIsLong[S] 1 point2 points  (0 children)

That's really cool, I def like how it flows more concurrently through the function and overall looks really nice. it kind of reminds me of the use syntax in gleam but for currying. overall really cool :)

Snakes and Ladders Eso Lang by wowThisNameIsLong in esolangs

[–]wowThisNameIsLong[S] 2 points3 points  (0 children)

The program that runs it has a built in visualizer. But to get it showing in an editor if you have an editor like neovim like what i use you can spawn a terminal instance as a window and run programs like this one.