gebv / pikchr

wrapper around the `pikchr.c` for use in Golang and vscode extenstion for on-the-fly preview
MIT License
5 stars 0 forks source link

Consider using ccgo for a pure-Go implementation #15

Open zellyn opened 3 years ago

zellyn commented 3 years ago

I think gebv/pikchr would be far more likely to be included in projects like Goldmark (and hence Hugo, my particular desire) if there were a pure-Go implementation.

It's a little crazy, but @cznic has been successfully translating the much more complicated sqlite into pure Go, using a C-to-Go compiler, ccgo.

I started investigating the possibility here, and @cznic actually got it to compile without much trouble at all!

I thought I'd open an issue here with the status so far, because as much as I'd like to send you a perfectly done PR, I'm short on time these days, and likely to get pulled into fulltime childcare periodically. I thought I'd at least give you the idea, and status.

It would probably also be worth investigating whether it uses much of modernc.org/libc, or whether we could just implement a handful of functions that it does use, and remove that dependency.

Anyway, all the best!

Zellyn

gebv commented 3 years ago

Hi. Using it without GCO sounds interesting. I'll take a look at the project gitlab.com/cznic/ccgo. But most of my time is spent on other projects.

zellyn commented 2 years ago

Update: I have ported pikchr to Go. https://github.com/gopikchr/gopikchr

gebv commented 2 years ago

@zellyn wow, sounds awesome.

rigtorp commented 1 year ago

I have another approach to make a cgo free binding for pikchr using WASM: https://github.com/rigtorp/go-pikchr