Commit Graph

70 Commits

Author SHA1 Message Date
Eric Dobson
083295f4e3 Base type environment now checks for duplicate types.
original commit: 88ce4e281c6b96d0e0602c6210fee7c2d1babf00
2011-06-07 21:15:17 -04:00
Vincent St-Amour
7e441e8e31 Remove trailing whitespace.
original commit: 3b036388d64c33a63bad18e53341b54bac719b1a
2011-05-18 17:09:45 -04:00
Vincent St-Amour
794bfe775b Give more meaningful names to conditional contract forms.
original commit: a1fab6ec06b1b000e0419f617ec974f2827c57e4
2011-05-18 17:09:45 -04:00
Sam Tobin-Hochstadt
96aaa73075 Remove unused macro.
Convert function to macro for inlining.

original commit: e7beef3f4fd407c7ba7f8d6c46e4f9f37fced091
2011-04-20 09:41:42 -04:00
David Van Horn
091a0f64e3 Fixes more spelling errors.
original commit: 760a58b65df2b91010d2bcc2739ddab2a4489729
2011-02-04 19:44:13 -07:00
Vincent St-Amour
3d6b5893ba Add a predicate field to base types, which makes checking for
subtyping of value types easier.

However, this means that base types can't be marshaled as before,
since these predicates can't be marshaled. Instead, we now marshal
base types as identifiers that refer to their base type object.

original commit: e56663c943fe4ae355b6d626d3c84b6ec8ea7fd1
2011-01-31 16:39:13 -05:00
Sam Tobin-Hochstadt
e717d29b74 Lots more laziness, and useless require removal.
original commit: b6b840076b275d653843400f18259bf7f67c7a53
2010-09-09 16:08:03 -04:00
Eli Barzilay
48b7074752 More "~n" -> "\n" changes
original commit: 8e0f8dd39c3744472b450021f003f9cbe8cbcb62
2010-08-26 12:11:00 -04:00
Sam Tobin-Hochstadt
04481bfb64 Better printing for environments.
original commit: 510c80b70077f09d0d5d54c5ba566abaeb59316e
2010-08-18 16:37:32 -04:00
Sam Tobin-Hochstadt
e103e44bc1 Fix missing unquote
original commit: d030d0631d8cb77888ba8a53843b0fb8e4b4c0dc
2010-07-09 13:52:39 -04:00
Sam Tobin-Hochstadt
887f054a55 Refactor struct type representation.
- fields now represented by fld struct.
 - mutability on per-field basis
 - accessors are per field

This fixes lots of existing bugs, allows future #:mutable on fields.

original commit: c01b2397796cce0ade2ed7515ffe33c9eb338c4f
2010-06-29 17:33:36 -04:00
Sam Tobin-Hochstadt
38e065db7f Change type variable environments from hash tables to sets.
original commit: 12384c6c3fd14020c99018d51058240f4258074d
2010-06-21 18:29:59 -04:00
Sam Tobin-Hochstadt
1e98e1c1fd Add index-env.
- Remove Dotted and DottedBoth values from tvar-env
 - Abstract env extension and lookup for tvar/index-env
 - Abstract index inference
 - Remove pointless parameterizations

original commit: d570006db81dda68e69b7058fd3edfb68cc3d042
2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
33bbcb17bc Remove dotted-env.
original commit: a9c34dae6a83b296f79a9d432db3e9cfb5f6288c
2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
021e1146cb More environment refactoring.
- rationalize naming of files
- split files by env constructed

original commit: 50f93b9ed7abeb1d4e687078cb5fef6976d008aa
2010-06-21 18:29:55 -04:00
Sam Tobin-Hochstadt
8676d0ac03 Stratify environments to only include props when needed.
original commit: 7e9763cf14cd180db251e48fc864b23768897442
2010-06-21 18:29:54 -04:00
Sam Tobin-Hochstadt
f581c7796d Refactor environments.
- mapping stored as dict
 - use id tables for identifiers
 - use env-filter instead of filter
 - eliminate spurious use of conses

original commit: 647c4eef5940fde0395f9a19496244acab5f62b2
2010-06-21 18:29:54 -04:00
Sam Tobin-Hochstadt
3f49f996de Refactor provide handling.
- use id-tables instead of lists
 - smarter iteration
 - prepare for eliminating declarations when not needed, but don't do it yet

original commit: 4925e7e51f487e3e9dcc3646a28cd30bf334cd02
2010-06-21 15:42:52 -04:00
Sam Tobin-Hochstadt
ed35e04293 New interface for unstable/mutated-vars
- functional hash tables
 - fix clients

original commit: 0379e534e3f0024473d6af9379d0cac0d2bd1a37
2010-06-10 13:28:29 -04:00
Sam Tobin-Hochstadt
eb9f6a9916 Better type annotation support.
- Delay more errors for additional reporting.
 - Don't re-check expressions that were checked for inference.
 Closes PR 10098.

original commit: 638245e4c52f6bdaba7d62ac3d88a24462a09ace
2010-05-19 10:10:54 -05:00
Sam Tobin-Hochstadt
2addf717a0 rename to rkt
original commit: 459a675b90443b59e46bccae476a6f040fa8434d
2010-04-30 09:51:32 -04:00
Sam Tobin-Hochstadt
18e9d91e0a Split filter operations into their own file.
Take into account the type of arguments in filter generation.

original commit: 27b0c01cdd4b07201ba95281dae4b24346e9dabd
2010-04-27 19:12:06 -04:00
Matthew Flatt
94184a7671 rename all files .ss -> .rkt
original commit: 28b404307793f041bb3363135a2968e283855318
2010-04-27 16:50:15 -06:00
Sam Tobin-Hochstadt
47dce89a25 more progress towards let
original commit: f7bf6d8a220e3d07eb27f6213273dcee5a585b46
2010-04-23 18:36:15 -04:00
Sam Tobin-Hochstadt
f50ace2729 progress towards let
original commit: 788630d26a479363f8abe244f70a9b36c107ebab
2010-04-23 16:40:05 -04:00
Sam Tobin-Hochstadt
74aa20fcc0 annotated eta works
original commit: 5b5a6980d5906b8af376d7dedcd5e010517031d3
2010-04-21 14:57:05 -04:00
Sam Tobin-Hochstadt
017accf104 Everything now compiles without names
original commit: f57ef37a6657ac43848ae09ac20fedbec438db93
2010-04-19 18:42:25 -04:00
Sam Tobin-Hochstadt
b797c59d21 start removing names
original commit: df1572231ea34907db23f7c930a19bea7e4e6249
2010-04-19 17:52:10 -04:00
Sam Tobin-Hochstadt
6890aab175 Update structure types to have constructor ids.
Use constructor to generate better contracts for poly structs.

original commit: 41e469d7aefd9aab480594caaba62dd7019ec0fd
2010-04-14 15:06:14 -04:00
Sam Tobin-Hochstadt
af7254875a a new branch of the whole tree
svn: r18648

original commit: d4e0c16d55c167dbef9eefac8b4820fbada0f6b1
2010-03-27 14:49:58 +00:00
Sam Tobin-Hochstadt
b0a1fde7aa Add `with-type' for defintions, add #:result keyword.
Fix contract for top-arr.
Remove static version of printing conditional.
Fix brokenness in print-converting.

svn: r18416

original commit: 78c14e434b7f6dffc6c404d090b449b097e96cfb
2010-03-01 22:31:24 +00:00
Stevie Strickland
a92cd6cdce Add `unregister-type'
Add type regions.
Untyped lexical vars not an internal error.

svn: r18374

original commit: 8e3a67936eeb14fc08279a075966f93e35209f23
2010-02-27 01:26:16 +00:00
Sam Tobin-Hochstadt
a61aef0339 Generate proper contracts for polymorphic struct types.
Document `Nothing'.

svn: r18074

original commit: 90c8fcff1194799ed6f522e7554d49571b1f3074
2010-02-12 21:57:58 +00:00
Sam Tobin-Hochstadt
7eec279e96 Better error message when definition is missing. Fixes PR 10751.
svn: r18042

original commit: 39a8c288ec409cef59ec5a3cfec16b13a0a7c1b5
2010-02-10 20:32:53 +00:00
Sam Tobin-Hochstadt
7b4164e4cb Error on duplicate type annotations.
svn: r17549

original commit: 62653d3c41b97de732aacc932bd123a8fd9ecb21
2010-01-07 21:20:45 +00:00
Sam Tobin-Hochstadt
2669a3269a Fix abstraction of implications.
Fix contract for lookup-typed/lexical.
Default cases for printing.
Abstract out indexing functions for Nat/Integer split.

svn: r17272

original commit: d0c8a19ce84ce1ef674c1c43e69b56ee7e0a63a2
2009-12-11 23:00:37 +00:00
Sam Tobin-Hochstadt
4741518170 logic works properly now, it seems
svn: r17264

original commit: 92dbf999651f54b7efd8167427db9aa2f38512d1
2009-12-10 23:35:28 +00:00
Sam Tobin-Hochstadt
1261ce2cdb revert all of the interning changes since they didn't work
svn: r17262

original commit: 16c152e5a4ca1797f20c127d443e4689e292e55f
2009-12-10 17:15:17 +00:00
Sam Tobin-Hochstadt
445c65e12e checkpoint
svn: r17054

original commit: e3bafbe298688ec0efe47a09254492f93027fa71
2009-11-25 02:30:41 +00:00
Sam Tobin-Hochstadt
2c76766c1c Move a bunch of functions from typed-scheme/utils/utils to unstable.
Add convenience lib for unstable docs.
Add char support to format-{id,symbol}
Add unstable/sequence library.

svn: r16789

original commit: fb29a2498e964c6d7651ca6cc6a19c07ca28760b
2009-11-15 22:15:29 +00:00
Sam Tobin-Hochstadt
1d3800bfd8 Move mutated-vars and poly-c libraries to unstable collection.
- add docs
 - change requires
 - fix `letrec-syntaxes+values'
Fix contract on `author+email'

svn: r16628

original commit: 99a70b38d8c16c84174534d9ae9c3b413e566743
2009-11-09 02:29:02 +00:00
Sam Tobin-Hochstadt
0b7ccf2e4b fix 9967
svn: r15720

original commit: 6af7d327099ad47227a8df7e513b61e7341178a7
2009-08-12 21:52:21 +00:00
Eli Barzilay
40fa4f26b2 Newlines at EOFs
svn: r15380

original commit: a70bf64fd9d68487c128282ca85a8964e1592711
2009-07-04 02:28:31 +00:00
Sam Tobin-Hochstadt
1265433a2e Sort unions on re-construction to make contract happy.
Use resolve-once more.
Improve `overlap', in particular use keys.
Resolve names and apps before doing structure comparison.

svn: r14884

original commit: 19c4aa6ba450fdbcaf927fd6391987cc4deca69e
2009-05-20 18:35:59 +00:00
Sam Tobin-Hochstadt
d6a1b098ca Make env struct transparent.
svn: r14857

original commit: ef095c931a30c98adf4dc2f326780f62173be9bd
2009-05-18 22:17:32 +00:00
Sam Tobin-Hochstadt
077ec2440e Handle ValuesDots in check-below.
Fix typo in valuesdots handling in values->tc-results
Handle ValuesDots in do-ret.
Don't try to construct silly wrappers for `apply values'
Don't use rest as list extension if it's #f
Fix tc-result handling for check-subforms/check
Add stronger contracts for Scope
Always generate substitution for infer/dots.
Fix type of `time-apply'

svn: r14815

original commit: 1047f7625d2dfa53d2896fa44fde732873d86ba4
2009-05-14 18:57:02 +00:00
Sam Tobin-Hochstadt
67420e1988 Contracts for lexical-env
Fix type of quotient/remainer function

svn: r14792

original commit: f349525244ffac48741b12a147789cbbedd21852
2009-05-12 21:51:01 +00:00
Sam Tobin-Hochstadt
e4997f6176 Remove `make-arr/values'
Accessors now have appropriate latent objects
Handle function application for unions, error, mu, parameters

svn: r14724

original commit: 07341c605b9660333444665265a4fb3104efdc6e
2009-05-05 23:03:02 +00:00
Sam Tobin-Hochstadt
b32d7af9bf Fix reconstruction of Latents, which do not have keys.
svn: r14652

original commit: 6662b72162602e70ea244532c263bb016b0146d0
2009-04-29 14:35:52 +00:00
Sam Tobin-Hochstadt
e3f499b605 more contracts
more fixes

svn: r14632

original commit: af7b966c82cf3ed41ec4a3acf37e5503033ce912
2009-04-27 21:58:35 +00:00