uniform-fileio: Uniform file handling operations

[ data-text-uniform, gpl, library ] [ Propose Tags ]

Uniform operations for handling files and file path names independent from the representation.

Additionally, functions to read and write files for specific typed content (marked by extension).

Please see the README on GitHub at https://github.com/andrewufrank/uniform-fileiio/readme

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.1.0, 0.1.2, 0.1.3,
Change log ChangeLog.md
Dependencies base (>=4.7 && <5), bytestring, deepseq, directory, exceptions, filepath, monads-tf, path, path-io, pipes, pureMD5, safe, text, uniform-algebras (>=0.1.5), uniform-error (>=0.1.5), uniform-strings (>=0.1.5), uniform-time (>=0.1.5), unix, zlib [details]
License GPL-2.0-only
Copyright 2021 Andrew U. Frank
Author Andrew Frank
Maintainer Andrew U. Frank <uniform@gerastree.at>
Category Data Text Uniform
Bug tracker https://github.com/andrewufrank/uniform-fileio/issues
Uploaded by andrewufrank at 2023-03-06T14:07:30Z
Distributions NixOS:
Reverse Dependencies 2 direct, 9 indirect [details]
Downloads 325 total (5 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2023-03-06 [all 1 reports]

Readme for uniform-fileio-

[back to package description]

Uniform methods to access data in files.


  • same functions with identical semantics independent of representation

  • all functions are total (or become so using Maybe or Either)

  • performance is NOT a goal - once the program logic is confirmed and tested, performance improvements can be achieved based on observations. The goal for "uniform" is reducing the complexity for the designer of a program - performance improvement come when the logic is correct.


  • a file path can be given as Filepath (which is a string) or as a Path, which different types for directories and files and for absolute and relative path, to reduce confusing.

  • functions to work on file path independent of representation

  • functions to access file with either type of path representation

  • operations are total; failures of file operations are signaled by ErrorT or Either returns.


  • TypedFile.hs tries to extend a type concept from the representation in memory to a representation on file (indicated by the file extension). It proposes a set of functions to read structured files into structured data - selected by the extensions.