MyNixOS website logo
Description

Interval Tree Clocks.

A haskell Implementation of the interval tree clock as described in the paper Interval Tree Clocks: A Logical Clock for Dynamic Systems.

Light on dependencies!

Interval Tree Clocks serve as an alternative to vector clocks, in that clock-carriers may join or enter the system after clock initialization. Therefore it is not required to know beforehand how many actors are carrying clocks in a distributed system.

This is the first package i'm publishing, please don't hesitate to report issues you encounter. Also I did not yet come to use this in production myself.

Thoroughly tested, with both quickcheck and visual debugging in conformance to the paper.

The paper this library is based on is @Almeida, Paulo & Baquero, Carlos & Fonte, Victor. (2008). Interval Tree Clocks: A Logical Clock for Dynamic Systems. 5401. 259-274. 10.1007/978-3-540-92221-6_18.

Interval Tree Clocks

A haskell Implementation of the interval tree clock as described in the paper Interval Tree Clocks: A Logical Clock for Dynamic Systems.

Light on dependencies!

Interval Tree Clocks serve as an alternative to vector clocks, in that clock-carriers may join or enter the system after clock initialization. Therefore it is not required to know beforehand how many actors are carrying clocks in a distributed system.

This is the first package i'm publishing, please don't hesitate to report issues you encounter. Also I did not yet come to use this in production myself.

Thoroughly tested, with both quickcheck and visual debugging in conformance to the paper.

The paper this library is based on is Almeida, Paulo & Baquero, Carlos & Fonte, Victor. (2008). Interval Tree Clocks: A Logical Clock for Dynamic Systems. 5401. 259-274. 10.1007/978-3-540-92221-6_18.

Metadata

Version

0.2.0.0

License

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows