gibbon: A compiler for operating on serialized trees.

[ bsd3, compiler, program ] [ Propose Tags ]

Gibbon is an experimental compiler that transforms high-level functional programs to operate on serialized data.

Typically, programs that process tree-like data represent trees using pointer-based data structures in memory (one heap object per-leaf and per-node) because such a layout is convenient to manipulate in a high-level programming language. This is also generally distinct from the representation of the data in serialized form on disk, which means that a program must perform some sort or marshaling when working with serialized data. Gibbon unifies the in-memory and serialized formats, transforming recursive functions to operate directly on serialized data.

Additionally, while the pointer-based structure is efficient for random access and shape-changing modifications, it can be inefficient for traversals that process most or all of a tree in bulk. The Gibbon project aims to explore optimizations of recursive tree transforms by changing how trees are stored in memory.


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.1, 0.1.1
Change log
Dependencies base (>=4 && <5) [details]
License BSD-3-Clause
Copyright (C) 2016-Present Ryan Newton
Author Ryan Newton
Category Compiler
Home page
Bug tracker
Source repo head: git clone
Uploaded by ckoparkar at 2021-09-06T16:30:53Z
Distributions NixOS:0.1.1
Executables gibbon
Downloads 145 total (4 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2021-09-06 [all 1 reports]