Any active non-Rust HDK efforts? How feasible is that at this point in time?

Pretty much as the subject asks:

  1. Are there any active efforts at creating a non-Rust HDK?

  2. How feasible would attempting to create a new one be, while (I would assume) all the kinks are still being worked out against Rust? ie how stable is the raw WASM API currently?

2 Likes

Hello, and welcome to the conversation! I really appreciate you getting down to brass tacks and asking questions about implementation.

Once upon a time we were working on an alternate HDK written in AssemblyScript, to make JS/TypeScript folks feel more comfortable. But at the time it wasn’t mature — there was no JSON serialiser/deserialiser, you couldn’t do closures (pretty much the backbone of JS), and there were only a few data types. It’s matured a fair bit since then, but it’s still not JS proper, so we’re questioning what an AssemblyScript HDK’s purpose would be.

From what I’ve seen, it seems that the underlying raw API is pretty stable — changes are mostly additive these days. So you’d be looking at mostly feature additions with the rare breaking change if you wanted to create another HDK.

2 Likes

I was about to create a new thread to ask about this - glad I found this one!

Cool :slightly_smiling_face:

I am most experienced with Haskell and would be interested in building a Haskell HDK using the Asterius wasm compiler (there’s WIP to package it in Nix which would make Holochain workflows easier).

Another question I had in relation to that - how much does wasm size matter? A Haskell program compiled to wasm might be big (runtime, probably less concise generates code compared to rust).

Rust presumably produces smallish wasm output.

1 Like

Thanks for the info bro. Have you seen my new post about the .NET HDK I am working on?

There is input we require from the core team such as WASM ABI and how we interface to the Core API, etc?

Any help would be really appreciated thanks. :slight_smile:

Gonna bump this thread, I’d really love to see an AssemblyScript HDK. I’ve been wanting to mess around with Holochain for a bit but not knowing much rust has been quite a roadblock. I probably should learn rust anyways but it can be quite complicated and take a while, coming from a web dev background. Also, it seems there were some concerns about maturity, but the NEAR project has adopted it as one of their official supported languages, if that offers any more confidence.

2 Likes