Commit Graph

334 Commits

Author SHA1 Message Date
Jon Rafkind
0871117538 [honu] add [] as a list form 2011-08-09 16:25:28 -06:00
Jon Rafkind
ab0a21db99 [honu] add quote and quasiquote 2011-08-09 16:25:27 -06:00
Jon Rafkind
4538335b1c [honu] return a void expression if there is no current expression waiting to be processed 2011-08-09 16:25:27 -06:00
Jon Rafkind
3bcf99b8f6 [honu] parse brace-enclosed code as an expression 2011-08-09 11:57:52 -06:00
Jon Rafkind
b823df23a7 [honu] handle empty files 2011-08-09 11:57:52 -06:00
Jon Rafkind
182cded2a3 [honu] return the last expression if two atomic expressions occur in sequence. add a simple for loop macro 2011-08-09 11:57:52 -06:00
Jon Rafkind
4324a1a33d [honu] add colored lexer so drracket can color honu syntax appropriately 2011-08-03 14:37:26 -06:00
Jon Rafkind
adecdd5603 [honu] return a parse error if the lexer couldnt find any other matching regex 2011-08-03 14:37:26 -06:00
Jon Rafkind
7f3e434cb5 [honu] allow nested block comments 2011-07-29 18:42:55 -06:00
Jon Rafkind
cd5d0ee9a3 [honu] fix escapes in string literals 2011-07-29 16:59:48 -06:00
Jon Rafkind
7532515110 [honu] use regular expressions to lex comments 2011-07-29 16:59:48 -06:00
Jon Rafkind
cd62f1983f show line/column information for parsing errors 2011-07-29 16:59:48 -06:00
Jon Rafkind
1e4c9b4ec3 use new reader for #lang honu 2011-07-26 17:41:07 -06:00
Jon Rafkind
ae6a69b8eb make syntax objects 2011-07-26 17:41:07 -06:00
Jon Rafkind
a39cd8773a refactor 2011-07-26 17:41:07 -06:00
Jon Rafkind
df9b8db14a parse sub-trees 2011-07-26 17:41:06 -06:00
Jon Rafkind
1f9b9b4c51 parse tokens into a tree 2011-07-26 17:41:06 -06:00
Jon Rafkind
1978002312 handle end of line comments 2011-07-26 12:31:45 -04:00
Jon Rafkind
f941e56f71 lex identifiers and delimiters 2011-07-26 12:31:45 -04:00
Jon Rafkind
4e8e18463b add lexer for honu 2011-07-26 12:31:44 -04:00
Jon Rafkind
23e907aa5c add printf. recognize strings as atoms 2011-07-22 14:43:45 -04:00
Jon Rafkind
d4ea3b5d79 parse multiple call arguments 2011-07-22 14:43:45 -04:00
Jon Rafkind
1b914ead61 add optional val before functions and arguments 2011-07-20 19:22:30 -06:00
Jon Rafkind
292512221e function == lambda. add new syntax for defining functions 2011-07-20 19:22:30 -06:00
Jon Rafkind
a7768a13a3 use #%module-begin for honu modules so top level expressions get printed
macros return whether they terminate parsing
2011-07-19 11:00:32 -06:00
Jon Rafkind
3a1dde7f14 parse arguments. provide basic math operations 2011-07-18 11:28:34 -06:00
Jon Rafkind
3736571ad0 fix sequences 2011-07-14 16:54:26 -06:00
Jon Rafkind
a29d64b44a enable #lang honu 2011-07-14 16:54:26 -06:00
Jon Rafkind
57a759c383 fix parsing for operators 2011-07-14 16:54:26 -06:00
Jon Rafkind
3e96a1e66e parse operators 2011-07-13 16:09:22 -06:00
Jon Rafkind
acb3bce1e7 add function as a macro 2011-07-13 16:09:21 -06:00
Jon Rafkind
2737351c4a start new honu implementation 2011-07-12 10:37:23 -06:00
Eli Barzilay
3157955d40 ".ss" -> ".rkt" scan done. 2011-07-02 10:37:53 -04:00
Vincent St-Amour
fcf766c905 Prune dead code from Honu.
Approved by Jon Rafkind.
2011-05-24 10:57:31 -04:00
Robby Findler
507b1cd8fd moved the docs-complete library into rackunit
to avoid having a separate, new manual for the
  one library
2011-05-05 16:10:42 -05:00
Jon Rafkind
d859642195 remove honu from docs check 2011-04-26 10:36:53 -06:00
Robby Findler
e7d0029aea added lots of new tests that our documentation is complete 2011-04-25 13:24:43 -05:00
David Van Horn
c9519fd113 Fixed various spelling errors. 2011-02-03 17:42:33 -05:00
Jon Rafkind
b8ad3ad1cb use racket. add list-match utility 2010-10-27 12:07:36 -06:00
Jon Rafkind
b406e74a8e remove old parser implementation. disable honu expansion and disable
debugging output
2010-10-22 14:33:22 -06:00
Jon Rafkind
e1ca24b80d add parse file 2010-10-22 10:48:12 -06:00
Jon Rafkind
a1e26dd01b try to fix infix macros 2010-10-22 10:48:12 -06:00
Jon Rafkind
1b356476a4 change printf to debug. add infix macro parser 2010-10-22 10:48:11 -06:00
Jon Rafkind
c45aba592d allow comma in templates 2010-10-22 10:48:11 -06:00
Jon Rafkind
86e7b98d65 fix condition. patterns can take literals 2010-10-22 10:48:11 -06:00
Jon Rafkind
29ed62021c convert syntax back to honu form 2010-10-22 10:48:11 -06:00
Jon Rafkind
eeaf6b4981 fix with-syntax 2010-10-22 10:48:10 -06:00
Jon Rafkind
02e87cdc0c add with-syntax 2010-10-22 10:48:10 -06:00
Jon Rafkind
03562eb8e3 fix if. add check_expect. add some comparison operators 2010-10-22 10:48:10 -06:00
Jon Rafkind
3d26928a3c parse blocks 2010-10-22 10:48:09 -06:00
Jon Rafkind
00094ba4e3 make print a macro 2010-10-22 10:48:09 -06:00
Jon Rafkind
3d6de914b4 add print - display + newline 2010-10-22 10:48:09 -06:00
Jon Rafkind
9c30bda973 use honu/core. make a convenient macro for providing stuff 2010-10-22 10:48:08 -06:00
Jon Rafkind
00989ef01b add honu function 2010-10-22 10:48:08 -06:00
Jon Rafkind
32227e391d move rest of honu files. point core at local private files 2010-10-22 10:48:08 -06:00
Jon Rafkind
b185147a45 separate honu into core and user-level modules 2010-10-22 10:48:07 -06:00
Jon Rafkind
ebb177f28d parse assignment. add simple struct form that can be accessed by field identifiers 2010-10-22 10:48:07 -06:00
Jon Rafkind
9a984fcc2b parse assignment 2010-10-22 10:48:06 -06:00
Jon Rafkind
222a3f509b allow multiple patterns in a macro. parse call before macro invocation. expressions can end with any number of semicolons 2010-10-22 10:48:06 -06:00
Jon Rafkind
44fc323cff emit macro-debugger steps. dont try to use phased macro invocation 2010-10-22 10:48:05 -06:00
Jon Rafkind
af678f40ec start to trampoline macro expansion 2010-10-22 10:48:05 -06:00
Jon Rafkind
2c6cf77b53 add another introducer. compute syntax position more accurately. parse statements 2010-10-22 10:48:05 -06:00
Jon Rafkind
befa88f1ac use literal sets 2010-10-22 10:48:05 -06:00
Jon Rafkind
99545f8a08 repeater for entire expressions 2010-10-22 10:48:04 -06:00
Jon Rafkind
81544ea644 use a different syntax for expressions 2010-10-22 10:48:03 -06:00
Jon Rafkind
9894670dbe define patterns (really syntax-classes). use different parsers depending on the context. implement provide and require 2010-10-22 10:48:00 -06:00
Jon Rafkind
0ec71da614 attach original syntax properties during expansion. add debug syntax
classes.
2010-10-22 10:48:00 -06:00
Jon Rafkind
d90235efbc dont parse raw scheme syntax. fix comma replacer 2010-10-22 10:47:59 -06:00
Jon Rafkind
59db2491d0 honu-syntax supports commas 2010-10-22 10:47:59 -06:00
Jon Rafkind
1b088f7c37 expand syntax properly. force use of syntax-parse classes 2010-10-22 10:47:59 -06:00
Jon Rafkind
d5357f6dca expose syntax-parse classes 2010-10-22 10:47:58 -06:00
Jon Rafkind
721c815d89 allow macros to reparse their input 2010-10-22 10:47:58 -06:00
Jon Rafkind
066166ce65 start to get transformers to work. weave in scheme syntax 2010-10-22 10:47:58 -06:00
Jon Rafkind
3d52f5ff12 parse macro functions 2010-10-22 10:47:58 -06:00
Jon Rafkind
31cafd7974 move syntax-rules macro to a syntax-parse pattern 2010-10-22 10:47:57 -06:00
Jon Rafkind
d5533606e6 attach honu-syntax to output from syntax-rules macros 2010-10-22 10:47:57 -06:00
Jon Rafkind
177141a852 test 2010-10-22 10:47:57 -06:00
Jon Rafkind
837f1e24e5 test 2010-10-22 10:47:56 -06:00
Jon Rafkind
64255032bb start to modify scheme's `syntax' binding 2010-10-22 10:47:56 -06:00
jon
2f5593a104 implement honu-syntax 2010-10-22 10:47:56 -06:00
jon
99e6eb5e9d fix parser so that it parses left to right 2010-10-22 10:47:56 -06:00
jon
72f83d19a9 parse transformers 2010-10-22 10:47:55 -06:00
jon
e052c33998 add hook for parsing transformers 2010-10-22 10:47:55 -06:00
Ryan Culpepper
a436df02f4 fixed another reference to syntax/parse/experimental/splicing 2010-08-31 16:21:44 -06:00
Ryan Culpepper
712a8f60e9 updated syntax/parse/exp./splicing, updated honu use
fixed stress.rkt
2010-08-31 16:21:44 -06:00
Matthew Flatt
28b4043077 rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
Jon Rafkind
a1d5573613 move bindings to different modules
svn: r17934
2010-02-01 22:57:42 +00:00
Jon Rafkind
f980cf9462 use new syntax-parse primitive to enable macro invocation during expression parsing
svn: r17891
2010-01-30 01:42:14 +00:00
Jon Rafkind
794efa5ebb s/trigraph/ternary
svn: r17833
2010-01-26 00:25:45 +00:00
Jon Rafkind
9ee9280485 support commas in function calls
svn: r17832
2010-01-26 00:10:01 +00:00
Jon Rafkind
6f26a0ffeb add trigraph expression
svn: r17831
2010-01-25 23:21:26 +00:00
Jon Rafkind
9dccfcbe28 factor out common expressions for better performance. thanks to ryan
svn: r17821
2010-01-25 18:51:34 +00:00
Jon Rafkind
bee5af120b add more operators
svn: r17773
2010-01-22 22:14:28 +00:00
Jon Rafkind
3e4221b410 cleanup
svn: r17771
2010-01-22 21:11:26 +00:00
Jon Rafkind
91e3bc001f use a macro for generating infix precedence table
svn: r17770
2010-01-22 19:55:02 +00:00
Jon Rafkind
21aab7e99c generalize infix operator definition
svn: r17762
2010-01-21 00:53:13 +00:00
Jon Rafkind
94f0edd8d2 parse + expressions
svn: r17761
2010-01-21 00:19:23 +00:00
Jon Rafkind
8f4853a3ae replace ; with semicolon
svn: r17760
2010-01-21 00:06:21 +00:00
Jon Rafkind
b3d41faa68 parse function calls and definitions
svn: r17669
2010-01-15 21:44:56 +00:00
Jon Rafkind
9c2ea4c1cf use syntax/parse for parsing honu forms
svn: r17620
2010-01-12 21:51:34 +00:00
Jon Rafkind
df1c10a9a6 update provides
svn: r17317
2009-12-15 22:55:05 +00:00
Jon Rafkind
4f3f35a188 wrap module with the typed-scheme module-begin
svn: r17316
2009-12-15 22:49:01 +00:00
Jon Rafkind
881b34dd80 bring over honu parsers
svn: r17314
2009-12-15 22:09:17 +00:00
Jon Rafkind
1388a28583 experiment with typed scheme
svn: r17312
2009-12-15 18:48:18 +00:00
Jon Rafkind
b9aa30a372 hack to disable type checking for now
svn: r17300
2009-12-15 00:02:22 +00:00
Jon Rafkind
81b30db001 check the context we are expanding into
svn: r17170
2009-12-03 00:44:11 +00:00
Jon Rafkind
3d10bff57c experiment with different unparsed forms
svn: r17169
2009-12-03 00:01:52 +00:00
Jon Rafkind
6639a29829 non-greedy matching
svn: r17149
2009-12-01 20:39:46 +00:00
Jon Rafkind
f01aa1161a hopefully better algorithm
svn: r17118
2009-11-30 22:37:33 +00:00
Jon Rafkind
ef194eb948 special case for delimiters
svn: r17114
2009-11-30 19:08:55 +00:00
Jon Rafkind
a8d40530f4 checkpoint new macro stuff
svn: r17050
2009-11-24 20:58:13 +00:00
Jon Rafkind
f3ae0f1875 remove old provide. disable honu repl
svn: r16532
2009-11-03 22:13:13 +00:00
Jon Rafkind
02d19e6588 remove bogus code
svn: r16531
2009-11-03 21:11:42 +00:00
Jon Rafkind
388a2c99d4 reorganize honu. provide ellipses properly
svn: r16530
2009-11-03 21:07:29 +00:00
Jon Rafkind
c3857c32e3 test
svn: r16458
2009-10-29 19:43:50 +00:00
Jon Rafkind
b6d2fdc274 change error message
svn: r16333
2009-10-15 23:38:07 +00:00
Jon Rafkind
5daa334ab7 implement syntax-rules in honu using syntax/parse for now
svn: r16332
2009-10-15 23:37:20 +00:00
Jon Rafkind
b55944bb93 upgrade to #lang scheme
svn: r15345
2009-06-30 21:05:16 +00:00
Jon Rafkind
3d356123cf upgrade to #lang scheme
svn: r15344
2009-06-30 20:57:23 +00:00
Jon Rafkind
616630f862 add test
svn: r15343
2009-06-30 20:55:06 +00:00
Jon Rafkind
7b3d069f47 updates from mzscheme->scheme
svn: r13751
2009-02-19 22:26:10 +00:00
Jon Rafkind
f0cac461e7 some refactorings and comments
svn: r13381
2009-02-03 17:39:43 +00:00
Jon Rafkind
6ebd445726 add != to honu. start making some tests
svn: r13372
2009-02-03 01:47:33 +00:00
Matthew Flatt
a0f91d905e revised internal-definitions context and a basic 'define-package' form
svn: r12579
2008-11-24 19:52:41 +00:00
Eli Barzilay
7d6bc32ed9 * Extended syntax/module-reader to deal with many more situations
using keywords, and allowing arbitrary code in the reader module
* Added tests for the new functionality
* Used the new stuff for the r5rs, r6rs, and honu readers

svn: r11495
2008-08-31 06:25:41 +00:00
Matthew Flatt
20fcb6314c honu-module -> honu; misc doc and slideshow tweaks
svn: r10230
2008-06-12 13:02:41 +00:00
Carl Eastlund
871a696fb9 Removed out-of-date honu module.
svn: r2185
2006-02-09 18:14:51 +00:00
Carl Eastlund
3b3f379d22 Honu: (merging from branch)
- Updated testing framework to use SchemeUnit
- Added generalized environment implementation

svn: r1986
2006-01-26 19:51:30 +00:00
Carl Eastlund
98e601e72b Honu: merging fix to Honu interactions window into trunk.
svn: r1969
2006-01-25 20:58:25 +00:00
Carl Eastlund
f1b37e9793 Honu
tool.ss
- Added comments and contracts to all functions/methods
- Moved all definitions inside Honu language class
- Simplified some functions
- Removed Honu "configuration" option
format.ss
- Started new module for text formatting of Honu values

svn: r1964
2006-01-25 18:33:24 +00:00
Carl Eastlund
114a4dab65 Honu: updating from branch
ast.ss
- Massive name changes for clarity
- Added structure contracts
private/tools/general.ss
- Moved from utils.ss
contract.ss
- Removed define and contract utilities (now using PLaneT tools)

svn: r1946
2006-01-24 19:54:15 +00:00
Carl Eastlund
24b9e2f5c7 Reverted changes which broke setup-plt.
svn: r1871
2006-01-19 15:05:51 +00:00
Carl Eastlund
830f29891c Honu: continued implementation of contract helpers.
svn: r1860
2006-01-18 23:30:02 +00:00
Carl Eastlund
07c86de139 Honu: BROKEN (will fix in upcoming checkin)
- added current partial changes to todo list
- renamed most ast structs (haven't propagated)
- added contracts to some ast structs (haven't finished)
- removed define,provide,contract helpers from utils.ss
- started contracts.ss for those and others
- began writing define-structs,provide,contract
  for defining hierarchies of structs at once

svn: r1859
2006-01-18 22:54:17 +00:00
Carl Eastlund
3bdd7c603d Updated Honu goals
svn: r1855
2006-01-17 23:52:17 +00:00
Carl Eastlund
8efd89de41 Honu:
- Updated todo list
- Promoted "name" field of member ASTs to member (rather than field/method/etc.)
- Added false? function
- Added extend-fenv for formal parameters
- Removed class env (folded in with lexical env)
- Added abstraction for member names of a type
- Added abstractions for enforcing distinct types and names
- Updated mixin typing rule

svn: r1854
2006-01-17 23:07:15 +00:00
Carl Eastlund
d93594fe2a Honu: Added todo list to cce-notes.txt
svn: r1840
2006-01-16 18:25:03 +00:00
Carl Eastlund
48a8dac067 Honu:
tenv.ss
- Moved provides to end of file
typecheck-utils.ss
- Added check-valid-types!
typechecker.ss
- Used check-valid-types!
- Added helpers for mixin name checking

svn: r1837
2006-01-15 22:05:40 +00:00
Eli Barzilay
029beb046a fix and set svn:eol-style
svn: r1836
2006-01-15 19:08:07 +00:00
Carl Eastlund
e90709d65c Changed names of some typechecking functions.
svn: r1835
2006-01-15 18:57:34 +00:00
Carl Eastlund
10d276dd7b Honu:
util.ss
- Added curry function
- Reorganized provide list
typecheck-utils.ss
- Added module of general typechecker helpers
typechecker.ss
- Made use of typecheck-utils.ss

svn: r1834
2006-01-15 18:53:00 +00:00
Carl Eastlund
fde1701b71 Honu: split up typecheck-defns into separate functions.
svn: r1832
2006-01-15 17:24:00 +00:00
Carl Eastlund
6494462e1a Honu:
- Adjusted line wrapping in typechecker.ss
- Changed srfi1 import to use prefix rather than exclude "any"

svn: r1322
2005-11-15 17:07:02 +00:00
Carl Eastlund
61986e146f Honu:
- added documentation of mixin definition form.

svn: r1246
2005-11-07 19:56:31 +00:00
Robby Findler
40517379bd improved not-a-language language
svn: r1241
2005-11-06 20:55:39 +00:00
Carl Eastlund
a57403031e Honu:
- 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
2005-10-05 20:57:48 +00:00
Carl Eastlund
f3d24c7d46 Honu:
- 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
2005-10-04 22:01:03 +00:00
Carl Eastlund
cc6b1954e5 Honu:
- 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
2005-09-29 22:21:48 +00:00
Carl Eastlund
365754f55c Honu:
- 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
2005-09-29 16:14:54 +00:00
Carl Eastlund
fc45eb8125 Honu:
- 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
2005-09-29 00:18:44 +00:00
Carl Eastlund
728f65e9af Honu:
- 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
2005-09-28 19:56:44 +00:00
Carl Eastlund
6b184c70de Honu:
- 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
2005-09-24 07:50:32 +00:00
Carl Eastlund
d023288e05 Honu, top.ss:
- 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
2005-09-23 01:47:34 +00:00
Carl Eastlund
fd91f3afdc Honu, top.ss:
- Removed unused contract.
- Added abstraction for setting current-compile-context.
- Changed names of some input variables.
- Added names of introduced definitions to output of run-program.
- Begain writing test-program (for running test cases).

svn: r905
2005-09-22 21:43:20 +00:00
Carl Eastlund
097e65a084 Honu:
- added top.ss, containing mzscheme-accessible compilation commands.
- line-wrapped tool.ss to max width 100.

svn: r896
2005-09-21 15:47:48 +00:00
Stevie Strickland
ef55cd3242 PR 7535
svn: r639
2005-08-23 18:50:37 +00:00
Stevie Strickland
47a3f0176b PR 7541
svn: r636
2005-08-23 07:17:48 +00:00
Stevie Strickland
9ed4869adb Fixing up bad grammar rule for cond clauses with else.
svn: r608
2005-08-16 22:01:27 +00:00
Stevie Strickland
db07756a73 merging 355:360 from branches/sstrickl
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
2005-07-06 03:07:18 +00:00
Stevie Strickland
c7fb7b5ec5 Separated out the cruft for syntax into a separate value until it gets into
the tool, where we combine it, and then drop it appropriately.

svn: r348
2005-07-05 18:38:24 +00:00
Stevie Strickland
a12f1d1bc8 Fixing up precedences such that the order of operations make a little more
sense when dealing with order of application/selectors/casting.

svn: r346
2005-07-05 07:24:26 +00:00
Stevie Strickland
359415ca42 Using the don't care syntax in List.honu triggered a bug, so now that's
fixed.  Also added foreach to the List type in the appropriate places.

svn: r345
2005-07-05 07:14:54 +00:00
Stevie Strickland
265e9d0d57 Forgot to remove the TODO note I left for myself. Now it's gone.
svn: r344
2005-07-05 02:43:03 +00:00
Stevie Strickland
a440c19b44 Missed removing cenv from one of the typecheck-expression calls.
svn: r343
2005-07-05 02:41:26 +00:00
Stevie Strickland
73b1b12558 Now mixins also show up as being bound appropriately. I also removed the
old honu:type function that has no use now that I'm doing things the
"right" way.

svn: r342
2005-07-05 01:54:21 +00:00
Stevie Strickland
2feaff9d19 Moving all the calculation for what needs to be dragged along kicking
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
2005-07-05 01:25:46 +00:00
Stevie Strickland
e4dbf7ffd8 Reminder text in the TODO list for what I should do later.
svn: r338
2005-07-04 22:45:51 +00:00
Stevie Strickland
d3654cfdec Forgot to give map its list argument.
svn: r337
2005-07-04 22:40:31 +00:00
Stevie Strickland
03aba477f7 Added useless statements so that Check Syntax will see all uses of interfaces,
even those that get erased in the transition to MzScheme classes.

svn: r336
2005-07-04 22:31:33 +00:00
Stevie Strickland
bbded8247a Fixing it such that Check Syntax works again.
svn: r333
2005-07-04 21:27:42 +00:00
Stevie Strickland
623effa2f8 Fixing up the lexer used for syntax coloring to return the appropriate value for grouping operators.
svn: r332
2005-07-04 21:10:43 +00:00
Stevie Strickland
cc8ee7ac3a merging 326:329 from branches/sstrickl
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
2005-07-04 20:13:47 +00:00
Stevie Strickland
39cb4f027f merging 322:325 from sstrickl/branches
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
2005-07-04 18:40:02 +00:00
Stevie Strickland
5681703341 Forgot to fix things so that void-typed (in the Honu sense) values don't
get printed out.

svn: r320
2005-07-04 04:56:51 +00:00
Stevie Strickland
62d631998b merging 314:317 from branches/sstrickl
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
2005-07-04 04:33:41 +00:00
Stevie Strickland
50a7859893 merged 308:311 from branches/sstrickl
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
2005-07-04 02:47:32 +00:00
Stevie Strickland
b0e056190a We should be checking the new statement's annotation, if we want type-valid? to
only be defined on types that the programmer can write down.n

svn: r307
2005-07-04 00:15:56 +00:00
Stevie Strickland
11a7add8bb Forgot to quote "values", and missed a use of "list".
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
2005-07-03 00:58:52 +00:00
Stevie Strickland
439c1ecd24 Several bugs found, the biggest being using <:_P to compare members
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
2005-07-03 00:28:59 +00:00
Stevie Strickland
7dbb99d3c6 merged 292:296 from branches/sstrickl
svn: r297
2005-07-02 04:03:02 +00:00
Eli Barzilay
9b5a718b38 honu.gif -> honu.png with transparency
svn: r213
2005-06-17 23:15:08 +00:00
Stevie Strickland
cb12af77ed merged 46:47 from branches/sstrickl
svn: r48
2005-06-02 02:24:27 +00:00
Richard Cobbe
11046b5b14 added rest() method
svn: r28
2005-05-31 19:13:29 +00:00
Eli Barzilay
017d151d59 Adding collects, with all the right properties (except eoln-style).
svn: r3
2005-05-27 18:56:37 +00:00