notes 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. 20110629: after new level representation and optimised positivity check
  2. (used interface file for monad example)
  3. 20110701: actually type checking the monad example
  4. 20110706: (15:00) better precision in ArgsCmp constraints (avoiding rechecking
  5. the first arguments)
  6. 20110822: (13:30) switched compareArgs to compareElim (without getting rid of
  7. projection arguments). 1 second faster on monad and 1.5 seconds
  8. faster on monadpostulate, not sure why.
  9. 20110823: Got rid of projection arguments. Cut the monad examples in half, but
  10. no effect on prim which is kind of odd since ... oh we're using a
  11. datatype in prim. Changing that to a record and rerunning.
  12. 20110823: (08:00) Sigma record in prim and added all projections instead of
  13. just the first three.
  14. 20110825: Allow instantiation of blocked terms, and short-cut instantiation of
  15. metas.
  16. 20110830: New computer.
  17. 20110830: (18:00) Added patternmatch test case. Needs abnormal amounts of
  18. memory. No idea why.
  19. 20110901: Removed a clause from the patternmatch case. The reason it requires
  20. so much memory is coverage checking. It's expected with the current
  21. algorithm. It could potentially be improved by separating coverage
  22. checking from unreachability checking, but this isn't really a
  23. problem in practise. GHC checks both completeness and overlap
  24. instantly, so it is possible.
  25. 20110901: (12:30) Set.mapMonotonic instead of Set.map when lowering sets of
  26. free variables under a binder.
  27. 20110901: (13:30) New projection benchmarks (record, data and nested) to test
  28. eliminator detection for projection-like functions.
  29. 20110902: Implemented projection detection.
  30. 20110906: New state monad implementation (IORef s -> m a)
  31. 20110907: (01:00) Pushing types into constructor applications.
  32. (03:00) Treating (\x -> x) as (\(x : _) -> x). Note increase in
  33. number of metas.
  34. (03:26) Pushing types into lambdas, helps a little, but not as much
  35. as we would like: For cwf we had 2794 metas before the (\x -> x)
  36. change, 3242 after, and 3038 after this fix.
  37. (04:48) Taking better care of types in lambdas. Metas for cwf now
  38. down to 2834, so almost what we had before.
  39. (05:33) Removed all 'abstract's from the cwf benchmark. Very little
  40. difference! 3.1s -> 3.7s and 43MB -> 61MB.
  41. 20110908: Fixed issues 311, 450 and 451.
  42. 20110909: Minor improvement of FreeVars.singleton and added
  43. Data.List.Any.Properties as a benchmark.
  44. 20110910: Can't remember.
  45. 20110915: (07.38) New constraint handling machinery.
  46. (08.47) No more quadratic nubbing in localNames
  47. (09.14) Don't reduce sorts when reducing types
  48. (13.11) Got rid of most MonadTCMs
  49. 20110919: Positivity checker needs to look at pattern matching.
  50. 20110922: Just minor stuff.
  51. 20110924: (09.49) New mutual syntax.
  52. (10.04) Avoid generating sort metas when checking isType_ of a Fun or a Pi
  53. ( ) Same for isType_ of Set or Set a
  54. 20120406: Qualified mixfix operators
  55. 20120702: Pre-sharing
  56. 20120705: Sharing is working but under-utilized
  57. 20121005: (18.37) With sharing
  58. (20.31) Without sharing
  59. 20140323: Added Benchmark facility for billing CPU time to accounts.