hm-inference #6

Merged
sb10q merged 136 commits from hm-inference into master 2021-08-19 11:46:50 +08:00

Merge the HM inference branch. The old code generation code is deleted, the new code generation module would use the information from type inference. This is still a WIP but the new code can already compile functions that only contain use primitive types.

Merge the HM inference branch. The old code generation code is deleted, the new code generation module would use the information from type inference. This is still a WIP but the new code can already compile functions that only contain use primitive types.
pca006132 added 135 commits 2021-08-19 11:35:45 +08:00
eb4b2bb7f6 refactored using constrain
to allow easier modification later with subtyping
09c9218852 use custom unification table implementation
as the ena implementation did not expose the underlying vector store, we
cannot map over it to get a table without Rc<RefCell<T>> so that we can
send it around...
f2c5a9b352 added location -> call mapping
This allows code generation module to get function instantiation
parameter directly.
52dc112410 unification table: modified conversion impl
from UnificationTable<Rc<RefCell<T>> <==> UnificationTable<T>
to UnificationTable<Rc<T>> <==> UnificationTable<T>
a3acf09bda typedef: make it send
Rc in calls is not send, so we use Arc instead.
8452579c67 use parking_lot RwLock
The std::sync::RwLock is platform dependent, and is unfair on Linux
(may starve writer)
18db2ddd53 change the type TypeEnum::TObj {object_id} to DefinitionId as with top_level
change TopLevelDef::Class {object_id} to DefinitionId

Rebasing (55/130) Rebasing (56/130) Rebasing (57/130) Rebasing (58/130) Rebasing (59/130) Rebasing (60/130) Rebasing (61/130) Rebasing (62/130) Rebasing (63/130) Rebasing (64/130) Rebasing (65/130) Rebasing (66/130) Rebasing (67/130) Rebasing (68/130) Rebasing (69/130) Rebasing (70/130) Rebasing (71/130) Rebasing (72/130) Rebasing (73/130) Rebasing (74/130) Rebasing (75/130) Rebasing (76/130) Rebasing (77/130) Rebasing (78/130) Rebasing (79/130) Rebasing (80/130) Rebasing (81/130) Rebasing (82/130) Rebasing (83/130) Rebasing (84/130) Rebasing (85/130) Rebasing (86/130) Rebasing (87/130) Rebasing (88/130) Rebasing (89/130) Rebasing (90/130) Rebasing (91/130) Rebasing (92/130) Rebasing (93/130) Rebasing (94/130) Rebasing (95/130) Rebasing (96/130) error: could not apply 42a636b... add Arc<Mutex> and change from Box to Arc, need format and cleanup
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 42a636b... add Arc<Mutex> and change from Box to Arc, need format and cleanup

Auto-merging nac3core/src/top_level.rs
CONFLICT (content): Merge conflict in nac3core/src/top_level.rs

Rebasing (55/130) Rebasing (56/130) Rebasing (57/130) Rebasing (58/130) Rebasing (59/130) Rebasing (60/130) Rebasing (61/130) Rebasing (62/130) Rebasing (63/130) Rebasing (64/130) Rebasing (65/130) Rebasing (66/130) Rebasing (67/130) Rebasing (68/130) Rebasing (69/130) Rebasing (70/130) Rebasing (71/130) Rebasing (72/130) Rebasing (73/130) Rebasing (74/130) Rebasing (75/130) Rebasing (76/130) Rebasing (77/130) Rebasing (78/130) Rebasing (79/130) Rebasing (80/130) Rebasing (81/130) Rebasing (82/130) Rebasing (83/130) Rebasing (84/130) Rebasing (85/130) Rebasing (86/130) Rebasing (87/130) Rebasing (88/130) Rebasing (89/130) Rebasing (90/130) Rebasing (91/130) Rebasing (92/130) Rebasing (93/130) Rebasing (94/130) Rebasing (95/130) Rebasing (96/130) error: could not apply 42a636b... add Arc<Mutex<dyn SymbolResolver>> and change from Box<SymbolResolve> to Arc<SymbolResolver>, need format and cleanup Resolve all conflicts manually, mark them as resolved with "git add/rm <conflicted_files>", then run "git rebase --continue". You can instead skip this commit: run "git rebase --skip". To abort and get back to the state before "git rebase", run "git rebase --abort". Could not apply 42a636b... add Arc<Mutex<dyn SymbolResolver>> and change from Box<SymbolResolve> to Arc<SymbolResolver>, need format and cleanup Auto-merging nac3core/src/top_level.rs CONFLICT (content): Merge conflict in nac3core/src/top_level.rs
pca006132 added 1 commit 2021-08-19 11:45:50 +08:00
sb10q merged commit f205a8282a into master 2021-08-19 11:46:50 +08:00
Sign in to join this conversation.
No reviewers
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: M-Labs/nac3#6
There is no content yet.