kirkjkrauss

kirkjkrauss

Matching wildcards – UTF-8-ready – in Go, Swift, and C/C++

In August, I came up with an algorithmic method for matching wildcards in Rust and had no trouble making it UTF-8-ready. I realized the technique would work for other programming languages and set out to make it happen. But what would it take to make sure a UTF-8-ready implementation for C/C++ would be as safe from memory management errors and leaks as with newer languages? A combination of tests and tools has made that possible.

The overall result is a story about portability. Nowadays most talk of portability centers on cross-platform portability: the sort that matters to software of the accounting or word processing variety. This story is about cross-language portabiility: the sort that matters to techniques, data structures, and algorithms.

The story has lots of details and a happy ending. You can find the tested, drop-in-and use implementations for Go, for Swift, and for C/C++ on GitHub.

Where Next?

Popular Backend topics Top

New
First poster: bot
This is a full alternative implementaion of the Rust language ontop of GCC which the goal to become fully upstream with the GNU toolchain...
New
First poster: bot
Today’s the day: We’re very proud to announce Trussed®, an open source framework for modern cryptographic applications, which powers the ...
New
finner
I thought it might be of interest to document some of the Java versioning tools that are available. Here is a very short list to start w...
New
First poster: bot
bash-lsp/bash-language-server. A language server for Bash. Contribute to bash-lsp/bash-language-server development by creating an accoun...
New
New
First poster: bot
YOCaml is a static site generator, mostly written in OCaml. The project was started to offer some rather naive examples of how to use the...
New
kirkjkrauss
In August, I came up with an algorithmic method for matching wildcards in Rust and had no trouble making it UTF-8-ready. I realized the ...
New
sophielane
Keploy is an open-source framework for recording real application behavior and automatically generating integration and API tests. It hel...
New
awslew
I’m cun he, maker of InlinerAPI. If you maintain receipts, reset messages or invitations, I’d appreciate a current-work comparison: Check...
New

Other popular topics Top

PragmaticBookshelf
Instantly view the changes you make to an app with stateful hot reload, and define a declarative UI in the same language as the app logic...
New
AstonJ
poll poll Be sure to check out @Dusty’s article posted here: An Introduction to Alternative Keyboard Layouts It’s one of the best write-...
New
Exadra37
I am asking for any distro that only has the bare-bones to be able to get a shell in the server and then just install the packages as we ...
New
PragmaticBookshelf
Use WebRTC to build web applications that stream media and data in real time directly from one user to another, all in the browser. ...
New
Maartz
Hi folks, I don’t know if I saw this here but, here’s a new programming language, called Roc Reminds me a bit of Elm and thus Haskell. ...
New
PragmaticBookshelf
Build efficient applications that exploit the unique benefits of a pure functional language, learning from an engineer who uses Haskell t...
New
Help
I am trying to crate a game for the Nintendo switch, I wanted to use Java as I am comfortable with that programming language. Can you use...
New
First poster: bot
zig/http.zig at 7cf2cbb33ef34c1d211135f56d30fe23b6cacd42 · ziglang/zig. General-purpose programming language and toolchain for maintaini...
New
PragmaticBookshelf
This book forgoes the abstract and instead provides concrete examples to help you better leverage the unique properties of Elixir, Erlang...
New
PragmaticBookshelf
Write elegant Ruby code—not just correct, but idiomatic. Go beyond the vocabulary and syntax and learn to express yourself with eloquence...
New