feat: Collect holes in Lean file and put them into a GoalState
#99
No reviewers
Labels
No Label
category
bug
category
doc
category
feature
category
optimization
category
organization
part/Delation
part/Elab
part/Environment
part/FFI
part/Frontend
part/Goal
part/REPL
part/Serial
priority
high
priority
irrelevant
priority
low
priority
medium
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Blocks
#97 Parse and enter environment at arbitrary points of the input
aniva/Pantograph
Reference: aniva/Pantograph#99
Loading…
Reference in New Issue
No description provided.
Delete Branch "frontend/collect-holes"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
FrontendM
functions intoFrontend/
.frontend.process
(refactored fromcompile.unit
) command, which runs the frontend on a file.We need to think about what the interface should look like. IMO the user should input a theorem name or line number, and the repl generates a goal state for the theorem/example/etc. on that line number. This requires traversing the entire file every time.
The current best solution is to write all the tests into one file, compile it, and load it as the environment.
I don't think there's a very nice meet in the middle solution given Lean's convoluted type system and possible theorem inter-dependencies.
The simplest solution is to extract data from only the first compilation unit that has holes. This avoids the problematic inter-dependency issue.
We should probably assign the root variable when there's just one goal to avoid surprises for our users.
https://github.com/lenianiva/PyPantograph/pull/13
Seems fine. Testing has passed.
Fixed #103
Currently there's a variable duplication issue in coupled goals; It seems like every binder gets duplicated in the
w
goal.