Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implement 'Attempt to fill hole' code action (#431)
* [WIP] Start work on 'auto' * Get current binding * Fix currentBindingName for class methods * Proper impl of getDefiningBindings * Forgot to checkin bindsites * [WIP] Update version of refinery * Bind all tyvars if possible * WIP: Instantiate polymorphic functions * Split out fresh type variables when instantiating * Make everything compile * Separate out tactics * oneWayUnifyRule * [WIP] Add 'TacticState' * [WIP] Tweak 'unify' and 'unifyOneWayRule' * [WIP] Start work on skolem tracking * [WIP] Fix 'checkSkolemUnification' * Update judgement type * Add a Context to TacticM * Don't destruct already destructed * Remove the internal lib * Cleanup warnings * Move debug machinery into *.Debug * Rip types out of machinery * Cleanup warnings * Continue splitting Machinery * Rip out GHC and Naming * Get it all compiling * Stop re-exporting from Machinery * Split out codegen/rules * Remove gross/unused tactics * Make newSubgoal derive from an existing judgement * remove newJudgement * Disallow current function from auto * Cleanup auto * Stop using the Judgement ctor * Track pattern value * Better showAstData * Get module-scoped funcs * Split all data constructors * assumption -> assume * Don't destruct if there are zero datacons * Lambda case destruct tactics * Fix the tests * Rip out debug stuff since it fails CI * Tests for lambda case actions * Golden testing machinery * Attempt to fill hole * [WIP] Use 'refinery-0.2.0.0' * [WIP] Update refinery in all stack.yaml files * Bump version in cabal file * Bump cabal index state * Sort goals by heuristic * Naming for unit types * Heuristic for auto * Penalize holes more * Naming for unit types * Give the name "unit" to units * Fallback names for symbols and punctuation * Get "good" name for symbolic names * Update plugins/tactics/src/Ide/Plugin/Tactic/CodeGen.hs Co-authored-by: wz1000 <[email protected]> * Make the TacticState strict * Make the judgement strict * Simplify when we use position mapping * Move bindsites to ghcide Co-authored-by: Sandy Maguire <[email protected]> Co-authored-by: wz1000 <[email protected]>
- Loading branch information