- test-cases.ss
- Used new test framework to test example files
- Used new test framework to test non-void-statement error message
- private/tools/test.ss
- Implemented new SchemeUnit-like test-case macros
svn: r987
- doc.txt, documented the sqrt() function
- typecheck-expression.ss, line-wrapped to <100 columns
- type-utils.ss, changed printout for void type from "<>" to "void"
svn: r980
- top.ss
- removed top: prefix from exports
- renamed parse-file to ast-from-file to prevent name clash
- removed test case list and run-tests
- test-cases.ss
- added test case list and run-tests
- test-tools.ss
- renamed from test.ss
svn: r945
- top.ss
- commented out compile-failure tests for now
- cce-notes.txt
- added my preliminary notes about the Honu codebase
- examples/*-test.ss
- added *-test.ss files for all *.honu files
svn: r943
- top.ss
- Added top:eval-after-program
to evaluate a new syntax in the context of Honu definitions
- Added previous contents of test.ss - testing is a top-level behavior
- test.ss
- Removed top-level testing calls
- Added bindings useful from testcase code
- New purpose is to be auto-required from *-test.ss when *.honu is tested
- examples/point-test.ss
- Removed now-redundant definitions
- examples/BoundedStack-test.ss
- Wrote tests for BoundedStack, both of defined names and actual code results
- examples/BoundedStack.honu
- Removed test results that are now in ...-test.ss
svn: r930
- test.ss
- Special case, short error messages if test files not found
- parsers/parse.ss
- Removed make-struct-type-decls and make-struct-exports
(at Stevie's instruction: functionality duplicated elsewhere)
- tenv.ss, ast.ss, compile.ss
- linewrapped code and comments to 100 columns or less
svn: r928
- test.ss
- added list of examples files to test
- added test-file function to run file and related test cases
- added run-tests to run automated honu tests
- examples/
- added test case file for point.honu
- top.ss
- imported util.ss
- added run-programs
- moved test-program to test.ss
- util.ss
- removed unnecessary "ast.ss" import
- added "contract.ss" import
- changed names to prevent import name-clash
- added definitions of define/p (provide) and define/c (provide/contract),
plus define-struct versions
- added map-values for mapping functions which return arbitrary numbers of values
- tenv.ss
- added sqrt() function to Honu environment
svn: r909
- Changed names:
- no longer add honu: prefix to imports
- now include top: prefix on exports
- *-introduced-identifiers now *-names (produce symbols, not identifiers)
- Added tenv:entry-mangled-name
- Implemented run-test-class-from-name to print whether a class is/isn't test code
svn: r906
Added basic uniqueness checks for type/class members, fun args, etc. Also
added checks to make sure that all exports for the same type agree in what
they're exporting.
svn: r361
and screaming into its own file, and now we stick that stuff into its
own little space at the front of what translate returns so that it's
seen by Check Syntax, but we can drop it like a hot potato when it
comes time to run the compiled code.
svn: r340
This fixes up the fact that is-a? should work different for Honu
classes than MzScheme ones (since Honu classes do not automatically
implement the interfaces their superclass did). I also did some
parameterization in the translate module (outside the already
existing current-compile-context).
svn: r330
This makes tenv and lenv, which were arguments to almost everything,
into parameters. The only time they need to be set is after parsing
and before calling anything else, so there's one use in compile/defns
and one use in compile/interaction.
While I was at it, I took a lot of the infrequently-changing
arguments to typecheck-expression and made some typechecker-local
parameters also.
svn: r326
This adds the ability to configure whether to print out just the class
name or class + fields for objects. This also adds the feature of
printing out the type of expressions evaluated at the REPL as well as
their value.
svn: r318
Now null values are printed out as "null" instead of
"#<struct:object:null%>". Simple addition, but useful.
This also adds a very unintelligent pretty printing for classes
by adding a new public member for every Honu generated class that
gets called by format-honu (in tool.ss).
This pretty printing reveals the values for static members.
Eventually I'll want to add an option to print just classes or
classes + fields, like in ProfessorJ, but this was the heavy
lifting of getting classes + fields printing out in the first place.
svn: r312
May have to eventually make my own prefixed version of values to use,
similar to what I did with send (though honu:send does a (Honu) null object
check).
svn: r301
of a supertype and subtype, where the subtype was not yet added to
the tenv. Had to hack to get around that one.
Also little problems like the fact that list can be captured by the
user program, so we can't use that -- used list* (with a null at the
end) and null (for empty lists) instead.
Since the power was down and I couldn't get the earlier stuff committed,
I have even more changes. Bug-fixes, mostly, though now top-level
functions that are defined consecutively are mutually recursive as they
should be.
svn: r300