Skip to content
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

Experiments: numeric model 'analytic-engine' #228

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
276d1f8
Experiments; numeric model 'analytic-engine'
archaephyrryx Oct 28, 2024
075ffb1
Add proptest tests (and dependency) to analytic-engine
archaephyrryx Oct 29, 2024
a593690
Add elaboration module for analytic-engine
archaephyrryx Oct 30, 2024
7bac2a0
Finish inference engine, elaborator, add printer
archaephyrryx Oct 31, 2024
f3afd74
Add parser crate with REPL for analytic-engine
archaephyrryx Nov 4, 2024
611e8d0
Fix bugs in show_typed_unary_op
archaephyrryx Nov 4, 2024
2d0a22a
Add precedence and fragment-based printing
archaephyrryx Nov 4, 2024
88b1df6
Add intervening space between unary op and arg
archaephyrryx Nov 4, 2024
065c7a0
Add spaces around raw binop in printing
archaephyrryx Nov 4, 2024
6c7253b
Add eval model for concrete machine-int functions
archaephyrryx Nov 6, 2024
c2af9fe
Refine eval model
archaephyrryx Nov 6, 2024
f6bd699
Expand set of predefined machine-int mixed-type operations
archaephyrryx Nov 6, 2024
e4131b6
Retool op-definition macros, implement 480 common fns
archaephyrryx Nov 7, 2024
3914e63
Remove unused imports of std::ops from eval
archaephyrryx Nov 7, 2024
3613edc
Prototype code-generation simulacrum
archaephyrryx Nov 7, 2024
d14087f
Define first-class unary and cast backend fns
archaephyrryx Nov 8, 2024
e621b32
Add Display for Ops, streamline Expr Debug impl
archaephyrryx Nov 8, 2024
017e691
Refactor NumRep to eliminate Auto from casts
archaephyrryx Nov 8, 2024
3333a8c
Fix expr grammar in parser based on NumRep refactor
archaephyrryx Nov 8, 2024
3da5f3a
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
821 changes: 781 additions & 40 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