[project @ 1999-12-10 15:59:41 by sewardj]
Major improvements in interface processing, and minor supporting improvements to CT-storage management. * Make the iface parser return the complete interface as a single tree, which is processed later. Added abs syntax tags I_INTERFACE .. I_VALUE to support this. * Add tagged ("z") 2,3,4,5 tuples. Because they are tagged, they can't be confused with lists, etc. Selectors zfst, zsnd ... zsel45, zsel55 check tags first. Iface processing uses z-tuples wherever it can. * Add unap as a safe "inverse" of ap; it checks tags. So unap(TAG1, ap(TAG2,cell)) == cell but only if TAG1==TAG2, else assertion failure. * In interface.c, clean up the startGHC*/endGHC* functions. processInterfaces() is the top-level driver; it makes 4 passes over the supplied iface trees. * Throw away iface symbols not mentioned in export lists. * Use iface export lists to construct both the export and eval environments for a module. * Don't use Texts to refer to things. Instead use ConId and VarId. Added ConId and VarId as synonyms for Cell in storage.h. * Add findSimpleInstance in storage.c.
Showing
- ghc/interpreter/codegen.c 8 additions, 11 deletionsghc/interpreter/codegen.c
- ghc/interpreter/compiler.c 5 additions, 16 deletionsghc/interpreter/compiler.c
- ghc/interpreter/connect.h 24 additions, 29 deletionsghc/interpreter/connect.h
- ghc/interpreter/derive.c 5 additions, 4 deletionsghc/interpreter/derive.c
- ghc/interpreter/hugs.c 34 additions, 14 deletionsghc/interpreter/hugs.c
- ghc/interpreter/input.c 15 additions, 13 deletionsghc/interpreter/input.c
- ghc/interpreter/interface.c 846 additions, 549 deletionsghc/interpreter/interface.c
- ghc/interpreter/lift.c 11 additions, 10 deletionsghc/interpreter/lift.c
- ghc/interpreter/link.c 213 additions, 195 deletionsghc/interpreter/link.c
- ghc/interpreter/machdep.c 4 additions, 3 deletionsghc/interpreter/machdep.c
- ghc/interpreter/parser.y 83 additions, 84 deletionsghc/interpreter/parser.y
- ghc/interpreter/static.c 10 additions, 7 deletionsghc/interpreter/static.c
- ghc/interpreter/storage.c 164 additions, 13 deletionsghc/interpreter/storage.c
- ghc/interpreter/storage.h 153 additions, 34 deletionsghc/interpreter/storage.h
- ghc/interpreter/subst.c 5 additions, 3 deletionsghc/interpreter/subst.c
- ghc/interpreter/translate.c 10 additions, 12 deletionsghc/interpreter/translate.c
- ghc/interpreter/type.c 55 additions, 47 deletionsghc/interpreter/type.c
Loading
Please register or sign in to comment