All Projects → contrast-zone → exper

contrast-zone / exper

Licence: MIT license
experimental rule-based programming formalism (under construction)

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to exper

Torsten
library of C++ functions that support applications of Stan in Pharmacometrics
Stars: ✭ 38 (+171.43%)
Mutual labels:  inference-engine
Cometary
Roslyn extensions, with a touch of meta-programming.
Stars: ✭ 31 (+121.43%)
Mutual labels:  meta-programming
Scientific-Programming-in-Julia
Repository for B0M36SPJ
Stars: ✭ 32 (+128.57%)
Mutual labels:  meta-programming
Openvino
OpenVINO™ Toolkit repository
Stars: ✭ 2,858 (+20314.29%)
Mutual labels:  inference-engine
Unchained
A fully type safe, compile time only units library.
Stars: ✭ 70 (+400%)
Mutual labels:  meta-programming
r2inference
RidgeRun Inference Framework
Stars: ✭ 22 (+57.14%)
Mutual labels:  inference-engine
BMW-IntelOpenVINO-Detection-Inference-API
This is a repository for a No-Code object detection inference API using the OpenVINO. It's supported on both Windows and Linux Operating systems.
Stars: ✭ 66 (+371.43%)
Mutual labels:  inference-engine
IDVerification
"Very simple but works well" Computer Vision based ID verification solution provided by LibraX.
Stars: ✭ 44 (+214.29%)
Mutual labels:  inference-engine
pomagma
An inference engine for extensional untyped λ-calculus
Stars: ✭ 15 (+7.14%)
Mutual labels:  inference-engine
sai
Staged Abstract Interpreters
Stars: ✭ 58 (+314.29%)
Mutual labels:  meta-programming
HoloClean-Legacy-deprecated
A Machine Learning System for Data Enrichment.
Stars: ✭ 75 (+435.71%)
Mutual labels:  inference-engine
planer
Powerful Light Artificial NEuRon inference framework for CNN
Stars: ✭ 52 (+271.43%)
Mutual labels:  inference-engine
so stupid search
It's my honor to drive you fucking fire faster, to have more time with your Family and Sunshine.This tool is for those who often want to search for a string Deeply into a directory in Recursive mode, but not with the great tools: grep, ack, ripgrep .........every thing should be Small, Thin, Fast, Lazy....without Think and Remember too much ...一…
Stars: ✭ 135 (+864.29%)
Mutual labels:  meta-programming
gaze-estimation-with-laser-sparking
Deep learning based gaze estimation demo with a fun feature :-)
Stars: ✭ 32 (+128.57%)
Mutual labels:  inference-engine
pmatch
Pattern matching DSL for R
Stars: ✭ 21 (+50%)
Mutual labels:  meta-programming
daisykit
Daisykit is an easy AI toolkit for software engineers to integrate pretrained AI models and pipelines into their projects. - with NCNN, OpenCV, Python wrappers
Stars: ✭ 22 (+57.14%)
Mutual labels:  inference-engine
tensorrt-ssd-easy
No description or website provided.
Stars: ✭ 32 (+128.57%)
Mutual labels:  inference-engine
opencv-python-inference-engine
Wrapper package for OpenCV with Inference Engine python bindings.
Stars: ✭ 32 (+128.57%)
Mutual labels:  inference-engine
lisp-inference
An Inference Engine based on Propositional Calculus written in Common Lisp
Stars: ✭ 36 (+157.14%)
Mutual labels:  inference-engine
racket-template
A Racket Meta-Program Generator
Stars: ✭ 17 (+21.43%)
Mutual labels:  meta-programming
// under construction //

canon

about the project

As an embodiment of general problem solving strategy related to term rewriting, Canon aims to be a host for a variety of kinds of formal languages, exhibiting rule-based programming system. For each area of interest, one is able to define a custom domain specific language in a language oriented programming paradigm. Having clearly defined communication input and output forms, Canon performs transition from input to output by additionally defining possibly expressive, functional, and semantic complete set of chaining production rules. This sort of arrangement also sheds light on Canon from an angle of systems theory, thus broadening a possible range of use cases.

expected appearance

To get a glimpse of how (once it is finished) interfacing with canon would look like, we bring the following ruleset:

/*
    dog/cat decision example
    
     input: `*subject* barks/meows`
    output: `*subject* is a dog/cat`
*/

(
    RULE
    (
        BACK
        (RULE (BACK       ) (FORE <<name> barks> <<name> meows>))
        (RULE (BACK <name>) (FORE <...>                        ))
        ...
    )
    (
        CHAIN
        (
            MATCH
            (ID <X> <name>)
            (RULE (FORE <<X> barks>) (BACK <<X> is a dog>))
        )
        (
            MATCH
            (ID <X> <name>)
            (RULE (FORE <<X> meows>) (BACK <<X> is a cat>))
        )
    )
    (
        FORE
        ...
        (RULE (FORE                               <...>) (BACK <name>))
        (RULE (FORE <<name> is a dog> <<name> is a cat>) (BACK       ))
    )
)

Feeding an input Nora meows to the above ruleset should yield the output Nora is a cat, while feeding Milo barks should yield Milo is a dog.

What is really happening is that we try to parse an input string using rules from BACK section of the topmost rule in a forward direction. Then we try to parse the same input string using rules from CHAIN and FORE sections of the topmost rule in a backward direction. If everything goes well, our output then represents the first deepest parsing excerpt consisted only of rules in FORE section of the topmost rule.

current status

A lot of research is invested in creation of canon, and it is still under construction. During its creation journey, it has been an agile experimenting project, advancing its theoretical background with each iteration (curious readers may want to skim over historical documents explaining logos, esperas, exp-log, and exp-flow iterations). The most recent iteration canon draft document is in preparation phase.

Canon will base its functionality on a novel v-parse-cfg algorithm. The canon creation is divided into three successive iterations dealing with term rewriting rules, each being a superset of the previous one. Additional, fourth iteration deals with semantic rhombus interpretation. Here is the current project roadmap with finished marks:

  1. v-parse-crux algorithm (elementary terms interpretation)
  2. v-parse-plus algorithm (composite terms interpretation)
  3. v-parse-star algorithm (term matching interpretation)
  4. forward-chain-backward connection (semantic rhombus interpretation)

If one is interested in details about the preparation for project development, there are some partial resources to check out:

// under construction //
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].