├── .github └── workflows │ └── build.yml ├── .gitignore ├── .ocamlformat ├── .ocamlformat-ignore ├── BASICS.md ├── CLAUDE.md ├── LICENSE ├── README.md ├── bin ├── dune └── sgen.ml ├── default.nix ├── docs ├── cut_and_control_flow.md ├── error_recovery.md ├── error_recovery_demo.md ├── error_recovery_implementation.md ├── incremental_parsing.md ├── incremental_parsing_implementation.md ├── interaction_nets_and_combinators.md ├── interaction_sequence_language.md ├── language_comparisons.md ├── lexing_and_parsing_in_stellogen.md ├── natural_scripting_syntax.md ├── phasing_and_type_checking.md ├── records_and_fields.md ├── synchronization_in_circuits.md ├── system_locking_and_internal_dsls.md ├── termination_detection.md ├── tile_based_computation.md └── unification_and_term_rewriting.md ├── dune-project ├── examples ├── binary4.sg ├── circuits.sg ├── hello.sg ├── lambda │ ├── lambda.sg │ └── linear_lambda.sg ├── macro_demo.sg ├── milkyway │ └── prelude.sg ├── naive_nat.sg ├── prolog │ ├── arithmetic.sg │ └── family.sg ├── proofnets │ ├── fomll.sg │ ├── mall.sg │ └── mll.sg ├── stack.sg ├── states │ ├── nfa.sg │ ├── npda.sg │ └── turing.sg ├── sumtypes.sg └── syntax.sg ├── exercises ├── 00-unification.sg ├── 01-paths.sg ├── 02-registers.sg ├── 03-boolean.sg ├── README.md └── solutions │ ├── 00-unification.sg │ ├── 01-paths.sg │ ├── 02-registers.sg │ └── 03-boolean.sg ├── flake.nix ├── nvim ├── README.md ├── ftdetect │ └── stellogen.vim └── syntax │ └── stellogen.vim ├── src ├── dune ├── expr.ml ├── expr_err.ml ├── lexer.ml ├── lsc_ast.ml ├── lsc_eval.ml ├── lsc_pretty.ml ├── parse_error.ml ├── parser.mly ├── parser_context.ml ├── sgen_ast.ml ├── sgen_eval.ml ├── sgen_parsing.ml ├── unification.ml └── web_interface.ml ├── stellogen.opam ├── test ├── README.md ├── dune ├── errors.t ├── errors │ ├── invalid_declaration.sg │ ├── invalid_string_char.sg │ ├── mismatched_bracket.sg │ ├── mismatched_paren.sg │ ├── multiple_errors.sg │ ├── unclosed_paren.sg │ ├── unknown_escape.sg │ └── unterminated_string.sg ├── examples.t ├── syntax.t └── syntax │ ├── linear.sg │ ├── prolog.sg │ └── records.sg └── web ├── README.md ├── build-examples.js ├── build.sh ├── dune ├── index.html └── playground.ml /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/.gitignore -------------------------------------------------------------------------------- /.ocamlformat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/.ocamlformat -------------------------------------------------------------------------------- /.ocamlformat-ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/.ocamlformat-ignore -------------------------------------------------------------------------------- /BASICS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/BASICS.md -------------------------------------------------------------------------------- /CLAUDE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/CLAUDE.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/README.md -------------------------------------------------------------------------------- /bin/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/bin/dune -------------------------------------------------------------------------------- /bin/sgen.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/bin/sgen.ml -------------------------------------------------------------------------------- /default.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/default.nix -------------------------------------------------------------------------------- /docs/cut_and_control_flow.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/docs/cut_and_control_flow.md -------------------------------------------------------------------------------- /docs/error_recovery.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/docs/error_recovery.md -------------------------------------------------------------------------------- /docs/error_recovery_demo.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/docs/error_recovery_demo.md -------------------------------------------------------------------------------- /docs/error_recovery_implementation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/docs/error_recovery_implementation.md -------------------------------------------------------------------------------- /docs/incremental_parsing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/docs/incremental_parsing.md -------------------------------------------------------------------------------- /docs/incremental_parsing_implementation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/docs/incremental_parsing_implementation.md -------------------------------------------------------------------------------- /docs/interaction_nets_and_combinators.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/docs/interaction_nets_and_combinators.md -------------------------------------------------------------------------------- /docs/interaction_sequence_language.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/docs/interaction_sequence_language.md -------------------------------------------------------------------------------- /docs/language_comparisons.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/docs/language_comparisons.md -------------------------------------------------------------------------------- /docs/lexing_and_parsing_in_stellogen.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/docs/lexing_and_parsing_in_stellogen.md -------------------------------------------------------------------------------- /docs/natural_scripting_syntax.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/docs/natural_scripting_syntax.md -------------------------------------------------------------------------------- /docs/phasing_and_type_checking.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/docs/phasing_and_type_checking.md -------------------------------------------------------------------------------- /docs/records_and_fields.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/docs/records_and_fields.md -------------------------------------------------------------------------------- /docs/synchronization_in_circuits.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/docs/synchronization_in_circuits.md -------------------------------------------------------------------------------- /docs/system_locking_and_internal_dsls.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/docs/system_locking_and_internal_dsls.md -------------------------------------------------------------------------------- /docs/termination_detection.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/docs/termination_detection.md -------------------------------------------------------------------------------- /docs/tile_based_computation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/docs/tile_based_computation.md -------------------------------------------------------------------------------- /docs/unification_and_term_rewriting.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/docs/unification_and_term_rewriting.md -------------------------------------------------------------------------------- /dune-project: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/dune-project -------------------------------------------------------------------------------- /examples/binary4.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/examples/binary4.sg -------------------------------------------------------------------------------- /examples/circuits.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/examples/circuits.sg -------------------------------------------------------------------------------- /examples/hello.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/examples/hello.sg -------------------------------------------------------------------------------- /examples/lambda/lambda.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/examples/lambda/lambda.sg -------------------------------------------------------------------------------- /examples/lambda/linear_lambda.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/examples/lambda/linear_lambda.sg -------------------------------------------------------------------------------- /examples/macro_demo.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/examples/macro_demo.sg -------------------------------------------------------------------------------- /examples/milkyway/prelude.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/examples/milkyway/prelude.sg -------------------------------------------------------------------------------- /examples/naive_nat.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/examples/naive_nat.sg -------------------------------------------------------------------------------- /examples/prolog/arithmetic.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/examples/prolog/arithmetic.sg -------------------------------------------------------------------------------- /examples/prolog/family.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/examples/prolog/family.sg -------------------------------------------------------------------------------- /examples/proofnets/fomll.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/examples/proofnets/fomll.sg -------------------------------------------------------------------------------- /examples/proofnets/mall.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/examples/proofnets/mall.sg -------------------------------------------------------------------------------- /examples/proofnets/mll.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/examples/proofnets/mll.sg -------------------------------------------------------------------------------- /examples/stack.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/examples/stack.sg -------------------------------------------------------------------------------- /examples/states/nfa.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/examples/states/nfa.sg -------------------------------------------------------------------------------- /examples/states/npda.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/examples/states/npda.sg -------------------------------------------------------------------------------- /examples/states/turing.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/examples/states/turing.sg -------------------------------------------------------------------------------- /examples/sumtypes.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/examples/sumtypes.sg -------------------------------------------------------------------------------- /examples/syntax.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/examples/syntax.sg -------------------------------------------------------------------------------- /exercises/00-unification.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/exercises/00-unification.sg -------------------------------------------------------------------------------- /exercises/01-paths.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/exercises/01-paths.sg -------------------------------------------------------------------------------- /exercises/02-registers.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/exercises/02-registers.sg -------------------------------------------------------------------------------- /exercises/03-boolean.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/exercises/03-boolean.sg -------------------------------------------------------------------------------- /exercises/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/exercises/README.md -------------------------------------------------------------------------------- /exercises/solutions/00-unification.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/exercises/solutions/00-unification.sg -------------------------------------------------------------------------------- /exercises/solutions/01-paths.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/exercises/solutions/01-paths.sg -------------------------------------------------------------------------------- /exercises/solutions/02-registers.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/exercises/solutions/02-registers.sg -------------------------------------------------------------------------------- /exercises/solutions/03-boolean.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/exercises/solutions/03-boolean.sg -------------------------------------------------------------------------------- /flake.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/flake.nix -------------------------------------------------------------------------------- /nvim/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/nvim/README.md -------------------------------------------------------------------------------- /nvim/ftdetect/stellogen.vim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/nvim/ftdetect/stellogen.vim -------------------------------------------------------------------------------- /nvim/syntax/stellogen.vim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/nvim/syntax/stellogen.vim -------------------------------------------------------------------------------- /src/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/src/dune -------------------------------------------------------------------------------- /src/expr.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/src/expr.ml -------------------------------------------------------------------------------- /src/expr_err.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/src/expr_err.ml -------------------------------------------------------------------------------- /src/lexer.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/src/lexer.ml -------------------------------------------------------------------------------- /src/lsc_ast.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/src/lsc_ast.ml -------------------------------------------------------------------------------- /src/lsc_eval.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/src/lsc_eval.ml -------------------------------------------------------------------------------- /src/lsc_pretty.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/src/lsc_pretty.ml -------------------------------------------------------------------------------- /src/parse_error.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/src/parse_error.ml -------------------------------------------------------------------------------- /src/parser.mly: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/src/parser.mly -------------------------------------------------------------------------------- /src/parser_context.ml: -------------------------------------------------------------------------------- 1 | let current_filename = ref "" 2 | -------------------------------------------------------------------------------- /src/sgen_ast.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/src/sgen_ast.ml -------------------------------------------------------------------------------- /src/sgen_eval.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/src/sgen_eval.ml -------------------------------------------------------------------------------- /src/sgen_parsing.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/src/sgen_parsing.ml -------------------------------------------------------------------------------- /src/unification.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/src/unification.ml -------------------------------------------------------------------------------- /src/web_interface.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/src/web_interface.ml -------------------------------------------------------------------------------- /stellogen.opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/stellogen.opam -------------------------------------------------------------------------------- /test/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/test/README.md -------------------------------------------------------------------------------- /test/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/test/dune -------------------------------------------------------------------------------- /test/errors.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/test/errors.t -------------------------------------------------------------------------------- /test/errors/invalid_declaration.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/test/errors/invalid_declaration.sg -------------------------------------------------------------------------------- /test/errors/invalid_string_char.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/test/errors/invalid_string_char.sg -------------------------------------------------------------------------------- /test/errors/mismatched_bracket.sg: -------------------------------------------------------------------------------- 1 | ' Test mismatched brackets 2 | (def test [foo bar}) -------------------------------------------------------------------------------- /test/errors/mismatched_paren.sg: -------------------------------------------------------------------------------- 1 | ' Test mismatched parentheses 2 | (def test (foo bar] -------------------------------------------------------------------------------- /test/errors/multiple_errors.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/test/errors/multiple_errors.sg -------------------------------------------------------------------------------- /test/errors/unclosed_paren.sg: -------------------------------------------------------------------------------- 1 | ' Test unclosed parenthesis 2 | (def test (foo bar) -------------------------------------------------------------------------------- /test/errors/unknown_escape.sg: -------------------------------------------------------------------------------- 1 | ' Test unknown escape sequence 2 | (def test "hello\xworld") -------------------------------------------------------------------------------- /test/errors/unterminated_string.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/test/errors/unterminated_string.sg -------------------------------------------------------------------------------- /test/examples.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/test/examples.t -------------------------------------------------------------------------------- /test/syntax.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/test/syntax.t -------------------------------------------------------------------------------- /test/syntax/linear.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/test/syntax/linear.sg -------------------------------------------------------------------------------- /test/syntax/prolog.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/test/syntax/prolog.sg -------------------------------------------------------------------------------- /test/syntax/records.sg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/test/syntax/records.sg -------------------------------------------------------------------------------- /web/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/web/README.md -------------------------------------------------------------------------------- /web/build-examples.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/web/build-examples.js -------------------------------------------------------------------------------- /web/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/web/build.sh -------------------------------------------------------------------------------- /web/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/web/dune -------------------------------------------------------------------------------- /web/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/web/index.html -------------------------------------------------------------------------------- /web/playground.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/engboris/stellogen/HEAD/web/playground.ml --------------------------------------------------------------------------------