Leonardo de Moura
74fb8e627a
feat(library/init/lean/compiler/ir/checker): improve IR checker
2019-05-08 05:47:25 -07:00
Leonardo de Moura
a24a8361f5
feat(library/init/lean/compiler/ir/boxing): add some missing cases
2019-05-07 18:23:08 -07:00
Leonardo de Moura
800569af5f
chore(library/init/lean/compiler/ir/basic): cleanup
2019-05-07 16:13:22 -07:00
Leonardo de Moura
b717177a1a
chore(library/init/data/array/basic): make sure Array.*foldl and List.*foldl have similar signatures
2019-05-07 15:23:03 -07:00
Leonardo de Moura
5d3c6dbac2
feat(library/init/lean/compiler/ir/basic): add IRType.isScalar
2019-05-07 15:06:55 -07:00
Leonardo de Moura
37c60da70d
refactor(library/init/lean/compiler/ir): cleanup Context
2019-05-07 14:41:08 -07:00
Leonardo de Moura
2363fdf544
refactor(library/init/lean/compiler/ir): remove redundant field from FnBody.jdecl
...
The result type of a join point is always equal to the function return
type. Moreover, the extra bookkeeping introduces extra work, and doesn't
really help.
2019-05-07 12:26:11 -07:00
Leonardo de Moura
1295bf52bc
feat(library/init/lean/compiler/ir): add Decl.checker for debugging purposes
...
We have also added a new `Context` object, and modified our IR
invariant. Now, we assume there is no variable or join point shadowing.
2019-05-06 18:35:06 -07:00
Leonardo de Moura
604d5fecbb
feat(library/init/lean/compiler/ir/basic): add Context
2019-05-06 10:57:45 -07:00
Leonardo de Moura
439ce06a19
refactor(library/init/lean/compiler/ir): move "free variable" code to separate file
2019-05-05 08:04:33 -07:00
Leonardo de Moura
7a5e64e52e
chore(library/init/lean/compiler): move IR related files to subdirectory
2019-05-05 07:55:36 -07:00