Skip to content

Experiments: numeric model 'analytic-engine' #228

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 20 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
44fb51d
Experiments; numeric model 'analytic-engine'
archaephyrryx Oct 28, 2024
a1bf137
Add proptest tests (and dependency) to analytic-engine
archaephyrryx Oct 29, 2024
29dc3cb
Add elaboration module for analytic-engine
archaephyrryx Oct 30, 2024
74577fe
Finish inference engine, elaborator, add printer
archaephyrryx Oct 31, 2024
b2b019a
Add parser crate with REPL for analytic-engine
archaephyrryx Nov 4, 2024
1a6676a
Fix bugs in show_typed_unary_op
archaephyrryx Nov 4, 2024
c0413b6
Add precedence and fragment-based printing
archaephyrryx Nov 4, 2024
5c72979
Add intervening space between unary op and arg
archaephyrryx Nov 4, 2024
f24e10d
Add spaces around raw binop in printing
archaephyrryx Nov 4, 2024
bab0e82
Add eval model for concrete machine-int functions
archaephyrryx Nov 6, 2024
e028f06
Refine eval model
archaephyrryx Nov 6, 2024
ce4913d
Expand set of predefined machine-int mixed-type operations
archaephyrryx Nov 6, 2024
8f173af
Retool op-definition macros, implement 480 common fns
archaephyrryx Nov 7, 2024
17d941b
Remove unused imports of std::ops from eval
archaephyrryx Nov 7, 2024
68a6f3d
Prototype code-generation simulacrum
archaephyrryx Nov 7, 2024
6f94c57
Define first-class unary and cast backend fns
archaephyrryx Nov 8, 2024
b448cdf
Add Display for Ops, streamline Expr Debug impl
archaephyrryx Nov 8, 2024
4be38f1
Refactor NumRep to eliminate Auto from casts
archaephyrryx Nov 8, 2024
95ec25d
Fix expr grammar in parser based on NumRep refactor
archaephyrryx Nov 8, 2024
ba8c48c
Simplify operations in elaborator using MachineRep
archaephyrryx Nov 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
746 changes: 708 additions & 38 deletions Cargo.lock

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[workspace]
members = [".", "generated/", "doodle-formats/"]
members = [".", "generated/", "doodle-formats/", "experiments/analytic-engine/", "experiments/analytic-parser"]

[package]
name = "doodle"
Expand Down
13 changes: 13 additions & 0 deletions experiments/analytic-engine/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[package]
name = "analytic-engine"
version = "0.1.0"
edition = "2021"

[lib]
name = "analytic_engine"
bench = false

[dependencies]
num-bigint = "0.4"
num-traits = "0.2"
proptest = "1.5.0"
Loading