-
Notifications
You must be signed in to change notification settings - Fork 438
HOP: Tiny HVM Pre-processor Thing and My First Functional Program #218
Hey folks, just wanted to share HOP, which is my first functional program!
I've been quite interested in functional programming for a few months at least, and really interested in HVM since I saw it a while ago, and now I'm finally experimenting with it. :)
Since I discovered lambda calculus I was amazed at how expressive substituion could be. And HVM is way more practical to write, which is fun. You can start with "nothing", no standard library or anything, and write up what you need in a single sitting and get a program working.
I'm really curious if I can get into wiritng some medium-sized programs and see if the functional paradigm helps solve some pain points I have after writing a lot of Rust programs. ( Even though I absolutely love Rust! )
I'm not at all sure that I'll actually get the chance/motivation/success to do it, but I'm working on an idea for a game engine leveraging HVM, too, so there's a remote chance you'll see more from me here. 😉
All reactions
Replies: 3 comments 3 replies
I'm not at all sure that I'll actually get the chance/motivation/success to do it, but I'm working on an idea for a game engine leveraging HVM, too, so there's a remote chance you'll see more from me here. wink
3D Game engine could already be considered a more complex project.
Do you plan to document your efforts? E.g. through a series of blog posts, tweets, maybe even videos, etc.? That could benefit HVM community a lot.
All reactions
3D Game engine could already be considered a more complex project.
Yep. I think I'm going to start off with some experiments with 2D. Maybe re-creating a minimal portion of a game I've contributed to in Rust with a custom ECS: Fish Folk: Jumpy.
Then I've entertained the idea of messing with 3D using SDF ray-marching for rendering, but that's a whole other topic.
Do you plan to document your efforts? E.g. through a series of blog posts, tweets, maybe even videos, etc.? That could benefit HVM community a lot.
I didn't think of that, that's a good idea. I could write a series of blog posts. I might as well start with my first HVM program. :)
All reactions
I setup a blog and wrote the two first posts about HVM and my plans for a game engine experiment:
- https://zicklag.github.io/blog/hvm-what-is-functional-programming/
- https://zicklag.github.io/blog/hge-high-order-game-engine/
I'll write another post about my experiences with HOP so far tomorrow.
Thanks for mentioning writing about my experiences @dumblob. I've wanted to get better at doing that and this is a great opportunity.
All reactions
I just read both your blog posts and it was a nice and quick reading. Thanks!
Will be looking forward to how your "thin layer" lang over HVM "assembly" will turn out (especially due to the lack of type checking which has caused numerous very surprising issues in using HVM and Kind).
All reactions
-
❤️ 1
Just published the next few posts, which turned out much bigger than I thought as I ended up doing more of an HVM tutorial than planned:
- https://zicklag.github.io/blog/hop-hvm-mini-language-part-1/
- https://zicklag.github.io/blog/hop-hvm-mini-language-part-2/
- https://zicklag.github.io/blog/hop-hvm-mini-language-conclusion/
I'm throwing these out as fast as I can to catch up with my developments so far, so there could very well be errors, typos, etc. Feel free to suggest improvements!
All reactions
zick doesn’t use Reddit, so I shared the series on his behalf here: https://www.reddit.com/r/rust/comments/11tifqw/first_15_steps_with_hvm_a_massively_parallel/
All reactions
-
❤️ 1