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
RuboCop 1.0. If at first you don’t succeed, call it version 1.0. RuboCop’s development started exactly 7 and half years ago. I made the ...
New
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
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
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
First poster: bot
A set of utility functions for iterators, functions, and dictionaries. See the PyToolz documentation at https://toolz.readthedocs.io ...
New
mudasobwa
Tarearbol provides a handy helper to work with many similar processes under the supervision of Tarearbol.DynamicManager. To build a supe...
New
First poster: bot
Preface Preface is an opinionated library designed to facilitate the handling of recurring functional programming idioms in OCaml. Many ...
New
kagermanov27
Daath AI Parser is an open-source application that uses OpenAI to parse visible text of HTML elements. Interactive Example on Replit Li...
New
fi_mihej
I’ve released “InterProcessPyObjects” Python package. It provides high-performance and seamless sharing and modification of Python object...
New
sophielane
Keploy is an open-source framework for recording real application behavior and automatically generating integration and API tests. It hel...
New

Other popular topics Top

PragmaticBookshelf
Andy and Dave wrote this influential, classic book to help their clients create better software and rediscover the joy of coding. Almost ...
New
PragmaticBookshelf
Ruby, Io, Prolog, Scala, Erlang, Clojure, Haskell. With Seven Languages in Seven Weeks, by Bruce A. Tate, you’ll go beyond the syntax—and...
New
dasdom
No chair. I have a standing desk. This post was split into a dedicated thread from our thread about chairs :slight_smile:
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
New
husaindevelop
Inside our android webview app, we are trying to paste the copied content from another app eg (notes) using navigator.clipboard.readtext ...
New
AstonJ
This is a very quick guide, you just need to: Download LM Studio: https://lmstudio.ai/ Click on search Type DeepSeek, then select the o...
New
PragmaticBookshelf
Fight complexity and reclaim the original spirit of agility by learning to simplify how you develop software. The result: a more humane a...
New
mindriot
Ok, well here are some thoughts and opinions on some of the ergonomic keyboards I have, I guess like mini review of each that I use enoug...
New
PragmaticBookshelf
As digital systems increasingly run the world, mastery of the recurring patterns of software development risk is the key to fast and effe...
New