[moved utilities to utils/ directory and added some docs
John Meacham <john@repetae.net>**20051011024614] adddir ./utils
move ./compileloop.zsh ./utils/compileloop.zsh
move ./op_process.prl ./utils/op_process.prl
move ./op_raw.prl ./utils/op_raw.prl
move ./opt_sets.prl ./utils/opt_sets.prl
move ./regress_test.prl ./utils/regress_test.prl
move ./waitcloop.zsh ./utils/waitcloop.zsh
addfile ./docs/conventions.txt
addfile ./docs/todo.otl
hunk ./Makefile 44
-	time ./regress_test.prl test/Try-Regress.hs
-	time ./regress_test.prl test/Try-Foo.hs
-	time ./regress_test.prl test/Try-Lam.hs
-	time ./regress_test.prl test/Try-Case.hs
+	time ./utils/regress_test.prl test/Try-Regress.hs
+	time ./utils/regress_test.prl test/Try-Foo.hs
+	time ./utils/regress_test.prl test/Try-Lam.hs
+	time ./utils/regress_test.prl test/Try-Case.hs
hunk ./Makefile 76
-%.hs: %.flags  ./opt_sets.prl
-	perl ./opt_sets.prl -n $< $<  > $@
+%.hs: %.flags  ./utils/opt_sets.prl
+	perl ./utils/opt_sets.prl -n $< $<  > $@
hunk ./Makefile 79
-PrimitiveOperators.hs: op_process.prl data/operators.txt data/primitives.txt data/PrimitiveOperators-in.hs
-	perl ./op_process.prl > $@ || rm -f $@
+PrimitiveOperators.hs: utils/op_process.prl data/operators.txt data/primitives.txt data/PrimitiveOperators-in.hs
+	perl ./utils/op_process.prl > $@ || rm -f $@
hunk ./Makefile 83
-	perl ./op_raw.prl $(basename $@)  $^ > $@
+	perl ./utils/op_raw.prl $(basename $@)  $^ > $@
hunk ./Makefile 90
-	perl ./op_raw.prl $(basename $@) changes.txt > $@
+	perl ./utils/op_raw.prl $(basename $@) changes.txt > $@
hunk ./docs/conventions.txt 1
+
+internal naming:
+
+for a variety of reasons, the compiler needs to generate haskell names
+internally, the convention is that internally generated names are in a
+psuedomodule that ends in '@' so it cannot conflict with any real module.
+
+Instance@ - contains the implementation of all instance methods and the
+   defaults for a class
+
+LL@ - these are generated by lambda lifting functions to the top level
+
+W@ - this is the worker of a worker/wrapper split
+
+
+when a name is generated from an existing one, the convention is to append
+'$n' for some number that makes the name unique.
+
+
+
+code style:
+
+lines should have no trailing whitespace to avoid spurious diffs in darcs
+
+the tab character should not appear in any source file except the Makefile
+and the otl files.
+
+4 space indents should be used.
+
+unless it can fit all on one line, a newline
+should come after let, do or where so that the code is always indented in
+units of 4 spaces
+
+in general, I use under_scores for CAFs, global names or tables and camelCaps
+for functions and CapCaps for data and type constructors.
+
hunk ./docs/todo.otl 1
+front end
+	replace HsName with Name everywhere
+middle end
+	enforce strict fields
+	|  strict fields that are RawTypes should be unboxed, otherwise a seq should be inserted.
+	IO actions too strict
+	|  they evaluate their arguments on IO action creating time rather than execution time. this inhibits CPR analysis
+	CPR enumerated values
+back end
+	grin
+		stronger typing
+		|  App and Prim should have types directly in the grin so we need not look
+		|  them up in the environment. ValPrim should too.
+
+	codegen
+		primitives
+		|  a type should be assosiated with AddrOf
+