GitHunt
FR

fritzo/libhstar

Pure untyped extensional non-deterministic memoized combinator machine

libhstar

Build Status

Pure untyped extensional non-deterministic memoized combinator machine.

TODO

  • Test infrastructure
    • Collect benchmark problems
    • Specify behavior
    • Build test jig
  • Basic reduction
    • Eager linear reduction
    • Memoization
    • Eta reduction as in - [ ]
  • Nondeterminism
    • Reduction rules for JOIN
    • Sampling from joins over flat domains
  • Todd-Coxeter
    • Forward-chaining merge logic
  • Types
    • Reduction rules for basic datatypes
    • Optimizations for basic datatypes (byte operations, integers)
    • Json datatypes: booleans, numbers, strings, lists, dicts
    • Serialization via protobuf, json, etc. (use upb)
  • Fast C implementation
    • C implementation
    • Python bindings for c version
    • Define performance metrics
    • Build performance benchmarking jig

References

License

Copyright (c) 2016 Fritz Obermeyer.

Libhstar is licensed under the Apache 2.0 License.

Languages

C90.2%CMake5.3%Makefile4.5%

Contributors

Apache License 2.0
Created February 1, 2016
Updated February 26, 2022
fritzo/libhstar | GitHunt