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

First poster: bot
IHP is a modern batteries-included haskell web framework, built on top of Haskell and Nix. We believe that functional programing is the ...
New
First poster: bot
Pijul - The Mathematically Sound Version Control System Written in Rust. In this article, we’ll discuss Pijul - an alpha stage version c...
New
First poster: bot
Why is it called pie? Because if you pronounce API like “a pie”, then all this consuming and serving of APIs becomes a lot more palatabl...
/go
New
mudasobwa
Tarearbol provides a handy helper to work with many similar processes under the supervision of Tarearbol.DynamicManager. To build a supe...
New
mudasobwa
Tarearbol library that eases the dealing with tasks got a massive update. use Tarearbol.Pool to create worker pools with no boilerplat...
New
First poster: bot
Preface Preface is an opinionated library designed to facilitate the handling of recurring functional programming idioms in OCaml. Many ...
New
New
fi_mihej
I’ve released “InterProcessPyObjects” Python package. It provides high-performance and seamless sharing and modification of Python object...
New
dhoelzgen
I am currently giving Cursor another try to code Elixir apps. Although I am quite happy with how it evolved, I kept getting annoyed by th...
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

Other popular topics Top

PragmaticBookshelf
Stop developing web apps with yesterday’s tools. Today, developers are increasingly adopting Clojure as a web-development platform. See f...
New
New
PragmaticBookshelf
Free and open source software is the default choice for the technologies that run our world, and it’s built and maintained by people like...
New
DevotionGeo
I know that -t flag is used along with -i flag for getting an interactive shell. But I cannot digest what the man page for docker run com...
New
PragmaticBookshelf
Tailwind CSS is an exciting new CSS framework that allows you to design your site by composing simple utility classes to create complex e...
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
New
PragmaticBookshelf
Build modern server-driven web applications using htmx. Whatever programming language you use, you’ll write less (and cleaner) code. ...
New
PragmaticBookshelf
A masterclass in the fundamentals and principles of functional programming. Minh Quang Tran The Art of Functional Programming is a ma...
New
AstonJ
Curious what kind of results others are getting, I think actually prefer the 7B model to the 32B model, not only is it faster but the qua...
New