├── .clang-format ├── .gitattributes ├── .gitignore ├── .ocamlformat ├── LICENSE.md ├── README.md ├── bin ├── dune └── main.ml ├── dune-project ├── lib ├── AstCreate.ml ├── README.md ├── anf.ml ├── astTypes.ml ├── codegenC.ml ├── collectMethods.ml ├── driver.ml ├── dune ├── error.ml ├── freeVariables.ml ├── freeVariablesAndDCE.ml ├── infer.ml ├── inferUtils.ml ├── inline.ml ├── letBoundVariables.ml ├── lexer.mll ├── namesToInts.ml ├── parser.mly ├── parserDriver.ml ├── refcount.ml ├── resolveImports.ml └── resolveShadows.ml ├── qdbp.opam ├── runtime ├── lib │ ├── bigint_math.c │ ├── hashmap.c │ ├── memory.c │ ├── object_utils.c │ ├── prototype.c │ ├── refcount.c │ ├── smallint_math.c │ ├── string.c │ └── tag.c ├── runtime.h └── test │ ├── hashmap.c │ ├── rnd.h │ ├── test.c │ └── test.h ├── samples ├── abort.qdbp ├── add_fn.qdbp ├── bench.qdbp ├── bool_and_operator.qdbp ├── bst.qdbp ├── bst2.qdbp ├── chained_prints.qdbp ├── class.qdbp ├── cmdline.qdbp ├── defer.qdbp ├── derive.qdbp ├── error_propogating.qdbp ├── error_returning.qdbp ├── extension.qdbp ├── for_loop.qdbp ├── formula_dsl.qdbp ├── generic_print_fn.qdbp ├── graphics.qdbp ├── guitar.mp3 ├── if.qdbp ├── ifthenelse_bool_object.qdbp ├── ifthenelse_fn.qdbp ├── import.qdbp ├── infinite_list.qdbp ├── infinite_while_loop.qdbp ├── list.qdbp ├── math.qdbp ├── newline.qdbp ├── option.qdbp ├── peano.qdbp ├── phantom_field.qdbp ├── snare.mp3 ├── sound_dsl.qdbp ├── stack.qdbp ├── strcat.qdbp ├── switch.qdbp ├── test2.qdbp └── tutorial.qdbp ├── test ├── should_fail │ ├── badstack.qdbp │ ├── badstack2.qdbp │ ├── badstack3.qdbp │ ├── badstack4.qdbp │ ├── badtree1.qdbp │ ├── badtree2.qdbp │ ├── badvariant1.qdbp │ └── nofield.qdbp └── test_inference.py └── vim └── qdbp.vim /.clang-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/.clang-format -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.qdbp linguist-language=ocaml 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/.gitignore -------------------------------------------------------------------------------- /.ocamlformat: -------------------------------------------------------------------------------- 1 | margin = 80 -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/README.md -------------------------------------------------------------------------------- /bin/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/bin/dune -------------------------------------------------------------------------------- /bin/main.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/bin/main.ml -------------------------------------------------------------------------------- /dune-project: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/dune-project -------------------------------------------------------------------------------- /lib/AstCreate.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/lib/AstCreate.ml -------------------------------------------------------------------------------- /lib/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/lib/README.md -------------------------------------------------------------------------------- /lib/anf.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/lib/anf.ml -------------------------------------------------------------------------------- /lib/astTypes.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/lib/astTypes.ml -------------------------------------------------------------------------------- /lib/codegenC.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/lib/codegenC.ml -------------------------------------------------------------------------------- /lib/collectMethods.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/lib/collectMethods.ml -------------------------------------------------------------------------------- /lib/driver.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/lib/driver.ml -------------------------------------------------------------------------------- /lib/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/lib/dune -------------------------------------------------------------------------------- /lib/error.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/lib/error.ml -------------------------------------------------------------------------------- /lib/freeVariables.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/lib/freeVariables.ml -------------------------------------------------------------------------------- /lib/freeVariablesAndDCE.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/lib/freeVariablesAndDCE.ml -------------------------------------------------------------------------------- /lib/infer.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/lib/infer.ml -------------------------------------------------------------------------------- /lib/inferUtils.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/lib/inferUtils.ml -------------------------------------------------------------------------------- /lib/inline.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/lib/inline.ml -------------------------------------------------------------------------------- /lib/letBoundVariables.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/lib/letBoundVariables.ml -------------------------------------------------------------------------------- /lib/lexer.mll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/lib/lexer.mll -------------------------------------------------------------------------------- /lib/namesToInts.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/lib/namesToInts.ml -------------------------------------------------------------------------------- /lib/parser.mly: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/lib/parser.mly -------------------------------------------------------------------------------- /lib/parserDriver.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/lib/parserDriver.ml -------------------------------------------------------------------------------- /lib/refcount.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/lib/refcount.ml -------------------------------------------------------------------------------- /lib/resolveImports.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/lib/resolveImports.ml -------------------------------------------------------------------------------- /lib/resolveShadows.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/lib/resolveShadows.ml -------------------------------------------------------------------------------- /qdbp.opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/qdbp.opam -------------------------------------------------------------------------------- /runtime/lib/bigint_math.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/runtime/lib/bigint_math.c -------------------------------------------------------------------------------- /runtime/lib/hashmap.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/runtime/lib/hashmap.c -------------------------------------------------------------------------------- /runtime/lib/memory.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/runtime/lib/memory.c -------------------------------------------------------------------------------- /runtime/lib/object_utils.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/runtime/lib/object_utils.c -------------------------------------------------------------------------------- /runtime/lib/prototype.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/runtime/lib/prototype.c -------------------------------------------------------------------------------- /runtime/lib/refcount.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/runtime/lib/refcount.c -------------------------------------------------------------------------------- /runtime/lib/smallint_math.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/runtime/lib/smallint_math.c -------------------------------------------------------------------------------- /runtime/lib/string.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/runtime/lib/string.c -------------------------------------------------------------------------------- /runtime/lib/tag.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/runtime/lib/tag.c -------------------------------------------------------------------------------- /runtime/runtime.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/runtime/runtime.h -------------------------------------------------------------------------------- /runtime/test/hashmap.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/runtime/test/hashmap.c -------------------------------------------------------------------------------- /runtime/test/rnd.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/runtime/test/rnd.h -------------------------------------------------------------------------------- /runtime/test/test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/runtime/test/test.c -------------------------------------------------------------------------------- /runtime/test/test.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/runtime/test/test.h -------------------------------------------------------------------------------- /samples/abort.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/abort.qdbp -------------------------------------------------------------------------------- /samples/add_fn.qdbp: -------------------------------------------------------------------------------- 1 | add: {a b | a + b.} 2 | add! 1 b: 2. -------------------------------------------------------------------------------- /samples/bench.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/bench.qdbp -------------------------------------------------------------------------------- /samples/bool_and_operator.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/bool_and_operator.qdbp -------------------------------------------------------------------------------- /samples/bst.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/bst.qdbp -------------------------------------------------------------------------------- /samples/bst2.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/bst2.qdbp -------------------------------------------------------------------------------- /samples/chained_prints.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/chained_prints.qdbp -------------------------------------------------------------------------------- /samples/class.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/class.qdbp -------------------------------------------------------------------------------- /samples/cmdline.qdbp: -------------------------------------------------------------------------------- 1 | "echo hello world" Exec. 2 | -------------------------------------------------------------------------------- /samples/defer.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/defer.qdbp -------------------------------------------------------------------------------- /samples/derive.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/derive.qdbp -------------------------------------------------------------------------------- /samples/error_propogating.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/error_propogating.qdbp -------------------------------------------------------------------------------- /samples/error_returning.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/error_returning.qdbp -------------------------------------------------------------------------------- /samples/extension.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/extension.qdbp -------------------------------------------------------------------------------- /samples/for_loop.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/for_loop.qdbp -------------------------------------------------------------------------------- /samples/formula_dsl.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/formula_dsl.qdbp -------------------------------------------------------------------------------- /samples/generic_print_fn.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/generic_print_fn.qdbp -------------------------------------------------------------------------------- /samples/graphics.qdbp: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /samples/guitar.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/guitar.mp3 -------------------------------------------------------------------------------- /samples/if.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/if.qdbp -------------------------------------------------------------------------------- /samples/ifthenelse_bool_object.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/ifthenelse_bool_object.qdbp -------------------------------------------------------------------------------- /samples/ifthenelse_fn.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/ifthenelse_fn.qdbp -------------------------------------------------------------------------------- /samples/import.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/import.qdbp -------------------------------------------------------------------------------- /samples/infinite_list.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/infinite_list.qdbp -------------------------------------------------------------------------------- /samples/infinite_while_loop.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/infinite_while_loop.qdbp -------------------------------------------------------------------------------- /samples/list.qdbp: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /samples/math.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/math.qdbp -------------------------------------------------------------------------------- /samples/newline.qdbp: -------------------------------------------------------------------------------- 1 | " 2 | " -------------------------------------------------------------------------------- /samples/option.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/option.qdbp -------------------------------------------------------------------------------- /samples/peano.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/peano.qdbp -------------------------------------------------------------------------------- /samples/phantom_field.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/phantom_field.qdbp -------------------------------------------------------------------------------- /samples/snare.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/snare.mp3 -------------------------------------------------------------------------------- /samples/sound_dsl.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/sound_dsl.qdbp -------------------------------------------------------------------------------- /samples/stack.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/stack.qdbp -------------------------------------------------------------------------------- /samples/strcat.qdbp: -------------------------------------------------------------------------------- 1 | "hello" + " world". Print. 2 | -------------------------------------------------------------------------------- /samples/switch.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/switch.qdbp -------------------------------------------------------------------------------- /samples/test2.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/test2.qdbp -------------------------------------------------------------------------------- /samples/tutorial.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/samples/tutorial.qdbp -------------------------------------------------------------------------------- /test/should_fail/badstack.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/test/should_fail/badstack.qdbp -------------------------------------------------------------------------------- /test/should_fail/badstack2.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/test/should_fail/badstack2.qdbp -------------------------------------------------------------------------------- /test/should_fail/badstack3.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/test/should_fail/badstack3.qdbp -------------------------------------------------------------------------------- /test/should_fail/badstack4.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/test/should_fail/badstack4.qdbp -------------------------------------------------------------------------------- /test/should_fail/badtree1.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/test/should_fail/badtree1.qdbp -------------------------------------------------------------------------------- /test/should_fail/badtree2.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/test/should_fail/badtree2.qdbp -------------------------------------------------------------------------------- /test/should_fail/badvariant1.qdbp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/test/should_fail/badvariant1.qdbp -------------------------------------------------------------------------------- /test/should_fail/nofield.qdbp: -------------------------------------------------------------------------------- 1 | {} Foo. 2 | -------------------------------------------------------------------------------- /test/test_inference.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/test/test_inference.py -------------------------------------------------------------------------------- /vim/qdbp.vim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dghosef/qdbp/HEAD/vim/qdbp.vim --------------------------------------------------------------------------------