A minimal String type for Julia that allows for efficient string representation and transfer
8 Stars
Updated Last
2 Years Ago
Started In
June 2016


CI codecov deps version pkgeval

A string type for minimizing data-transfer costs in Julia


The package is registered in the General registry and so can be installed with Pkg.add.

julia> using Pkg; Pkg.add("WeakRefStrings")

Project Status

The package is tested against Julia 0.6 and nightly on Linux, OS X, and Windows.

Contributing and Questions

Contributions are very welcome, as are feature requests and suggestions. Please open an issue if you encounter any problems or would just like to ask a question.


Usage of WeakRefStrings is discouraged for general users. Currently, a WeakRefString purposely does not implement many Base Julia String interface methods due to many recent changes to Julia's builtin String interface, as well as the complexity to do so correctly. As such, WeakRefStrings are used primarily in the data ecosystem as an IO optimization and nothing more. Upon indexing a WeakRefStringArray, a proper Julia String type is materialized for safe, correct string processing. In the future, it may be possible to implement safe operations on WeakRefString itself, but for now, they must be converted to a String for any real work.

Additional documentation is available at the REPL for ?WeakRefStringArray and ?WeakRefString.