Commit Graph

149 Commits

Author SHA1 Message Date
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