I don't really "get" the sweet-spot being targeted here. You don't get channels, goroutines, or gc, so aside from syntax and spatial memory safety you're not really inheriting much from Go. There is also no pathway to integrate with existing Go libraries.
Spatial memory safety is nice but it's the temporal safety that worries me most, in nontrivial C codebases.
I don't really "get" the sweet-spot being targeted here. You don't get channels, goroutines, or gc, so aside from syntax and spatial memory safety you're not really inheriting much from Go. There is also no pathway to integrate with existing Go libraries.
Spatial memory safety is nice but it's the temporal safety that worries me most, in nontrivial C codebases.
Looks to me like having the ability to write Go syntax and interop directly with C is the plus.
I do like Go's syntax but I can't help thinking the best language for C interop is C.
> I do like Go's syntax but I can't help thinking the best language for C interop is C.
SWIG[0] is a viable option for incorporating C code as well.
0 - https://swig.org/Doc4.4/Go.html#Go
This is a bit too barebones. At least bring goroutines dude
"To keep things simple, there are no channels, goroutines, closures, or generics."
I wonder if it could be integrated with https://github.com/tidwall/neco, which has Go-like coroutines, channels, and synchronization methods.
Related and currently on the front page: https://news.ycombinator.com/item?id=47627595
Does it work with the preprocessor?