fritzo / libhstar

Pure untyped extensional non-deterministic memoized combinator machine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Pure untyped extensional non-deterministic memoized combinator machine

License:Apache License 2.0


Languages

Language:C 90.2%Language:CMake 5.3%Language:Makefile 4.5%