1. IntelliFactory
  2. printf

Overview

HTTPS SSH

IntelliFactory.Printf

Provides a faster implementation of the standard F# Printf module.

For some applications, provides an order of magnitude performance improvement. This is achieved by carefuly caching parse results and preserving maximum genericity to avoid boxing/unboxing.

The interface follows that of the standard F# Printf module.

Known limitations in this version:

  • None of format modifiers (width, flags, precision) are currently supported although they are parsed; the implementation simply ignores their values.

  • %A is not supported, it currently has the same effect as %O

Copying

The source code is available under GNU Affero GPL, see the GNU Affero General Public License for more details. Alternative licensing schemes are available, contact IntelliFactory if interested.

Installation

The easiest way to obtain IntelliFactory.Printf binaries is by using the NuGet repository.

Use

open IntelliFactory.Printf
sprintf "%s: %i" "one" 1

Building

Build requirements:

  • Microsoft .NET Framework 4.0

  • F#

To compile for all configurations, run MSBuild.exe Build\Build.proj in the root directory of the checkout.

Bugs

The preferred way to report bug and request enhancements is through the built-in issue service.

Contact

IntelliFactory.Printf is being developed by IntelliFactory. Please feel free to contact us.

Acknowledgements

Special thanks to Vladimir Matveev (@v2_matveev), F# dev team at Microsoft, for fruitful discussions leading to some of the ideas in this code.