Copperbox revision 2729.
Initial work on closure conversion.
Monday, March 26, 2012
directory-diff
Copperbox revision 2728.
I've changed the report to print the previous names of moved files and directories.
I've changed the report to print the previous names of moved files and directories.
Sunday, March 25, 2012
directory-diff
Copperbox revision 2727.
I've added a two continuation, two input stream parser. This lets me (fairly) easily encode rules to check wither an old path matches a new one - modulo inserts or deletes to one of the paths. Probably I should have implemented this with a finite state automata (making it closer to lexing than parsing), but I know how to easily implement parsers.
Testing that an old directory has the same path as the new one, with a directory "Current" removed somewhere along the path is:
test = prefix >> symbolL "Current" >> suffix
Note - no doubt I will change the combinator names.
I've added a two continuation, two input stream parser. This lets me (fairly) easily encode rules to check wither an old path matches a new one - modulo inserts or deletes to one of the paths. Probably I should have implemented this with a finite state automata (making it closer to lexing than parsing), but I know how to easily implement parsers.
Testing that an old directory has the same path as the new one, with a directory "Current" removed somewhere along the path is:
Note - no doubt I will change the combinator names.
Saturday, March 24, 2012
HMinCaml
Copperbox revision 2726.
I've implemented constant folding and useless let elimination.
I've encoded these two with a direct environment (no Reader monad) and pattern guards. This seems like a big improvement - once I've implemented closure conversion, I'll change the previous passes to use direct environment passing pattern guards.
I've implemented constant folding and useless let elimination.
I've encoded these two with a direct environment (no Reader monad) and pattern guards. This seems like a big improvement - once I've implemented closure conversion, I'll change the previous passes to use direct environment passing pattern guards.
Wednesday, March 21, 2012
directory-diff
Copperbox revision 2725.
I've added some specific checks for the project I'm working on. Maybe at some point these should be generalized to encode arbitrary checkers for file system "patterns".
I've added some specific checks for the project I'm working on. Maybe at some point these should be generalized to encode arbitrary checkers for file system "patterns".
Tuesday, March 20, 2012
directory-diff
Copperbox revision 2724.
I've added timestamps to the report output for the toplevel directories. Plus I've moved Main to the top of the src folder. Seemingly GHC / Cabal doesn't recognize Main as Main if it is not at the root of the directory tree.
I've added timestamps to the report output for the toplevel directories. Plus I've moved Main to the top of the src folder. Seemingly GHC / Cabal doesn't recognize Main as Main if it is not at the root of the directory tree.
HMinCaml
Copperbox revision 2723.
I've added some optimization passes - alpha renaming, beta conversion and inline expansion. I've also renovated the HMonad so it is only run once, the monads built on top of it are run as local effects (which was a design pattern in one of Strafunski papers).
I've added some optimization passes - alpha renaming, beta conversion and inline expansion. I've also renovated the HMonad so it is only run once, the monads built on top of it are run as local effects (which was a design pattern in one of Strafunski papers).
Subscribe to:
Comments (Atom)
Blog Archive
About Me
- Stephen Tetley
- Disambiguating biog as there are a few Stephen Tetley's in the world. I'm neither a cage fighter or yachtsman. I studied Fine Art in the nineties (foundation Bradford 1992, degree Cheltenham 1992 - 95) then Computing part-time at Leeds Met graduating in 2003. I'm the Stephen Tetley on Haskell Cafe and Stackoverflow.