From 604bb2813343a61e5fc3816e3dd6d85c8e54e320 Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Tue, 9 Feb 2021 19:37:29 -0300 Subject: Also mark x-bindgen as archived --- ...ersistent-trees-and-parser-combinators-building-a-database.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to '_articles') diff --git a/_articles/2020-11-12-durable-persistent-trees-and-parser-combinators-building-a-database.md b/_articles/2020-11-12-durable-persistent-trees-and-parser-combinators-building-a-database.md index 8d13534..f81a3fb 100644 --- a/_articles/2020-11-12-durable-persistent-trees-and-parser-combinators-building-a-database.md +++ b/_articles/2020-11-12-durable-persistent-trees-and-parser-combinators-building-a-database.md @@ -199,16 +199,20 @@ adapt it to emit the metadata. The alternative that rust-ffi implements relies on internals of the Rust compiler, which isn't actually worst, just less common and less accepted. -I've started a fork of cbindgen: [x-bindgen][x-bindgen-repo]. Right now it is +I've started a fork of cbindgen: ~~x-bindgen~~[^x-bindgen]. Right now it is just a copy of cbindgen verbatim, and I plan to remove all C and C++ emitting code from it, and add a IR emitting code instead. +[^x-bindgen]: *EDIT*: now archived, the experimentation was fun. I've started to move more towards C, so this effort became deprecated. + When starting working on x-bindgen, I realized I didn't know what to look for in a header file, as I haven't written any C code in many years. So as I was writing [libedn][libedn-repo], I didn't know how to build a good C API to expose. So I tried porting the code to C, and right now I'm working on building a *good* C API for a JSON parser using parser combinators: -~~ParsecC~~ *EDIT*: now archived, the experimentation was fun. +~~ParsecC~~ [^parsecc]. + +[^parsecc]: *EDIT*: now also archived. After "finishing" ParsecC I'll have a good notion of what a good C API is, and I'll have a better direction towards how to expose code from libedn to other @@ -220,7 +224,6 @@ and property-based testing for libedn. [cbindgen-crate]: https://github.com/eqrion/cbindgen [syn-crate]: https://github.com/dtolnay/syn [rust-ffi]: https://blog.eqrion.net/future-directions-for-cbindgen/ -[x-bindgen-repo]: https://git.euandreh.xyz/x-bindgen/ [libedn-repo]: https://git.euandreh.xyz/libedn/ ## Conclusion -- cgit v1.2.3