Commit Graph

4331 Commits

Author SHA1 Message Date
Eric Dobson
163836d96d Make initial version of structural type recursion, and use it.
original commit: 9efa4af051ee32209d9f45d24c7c682f83efb963
2014-05-26 08:13:16 -07:00
Eric Dobson
cb79a40342 Merge var-promote and var-demote.
original commit: cadc2dcb8f7960eb581d1b8d45dfec0fac08311d
2014-05-26 08:13:16 -07:00
Eric Dobson
49a39e008c Add tests for promote/demote.
Also fix promotion/demotion in hashtables and kw arguments.

original commit: ee4e07f5eb51bcb55640a715132ad91b46e0a74c
2014-05-26 08:13:16 -07:00
Eric Dobson
a04388d643 Make promote-demote no longer a unit.
original commit: 5e4eecc8c66f275f8f54ecc0d6f4d8510d5c7b90
2014-05-26 08:13:16 -07:00
Jordan Johnson
e7ad790163 Re-exported types from openssl.
original commit: cd9e46edc29faa5aa0faae0532b38273f12b25bb
2014-05-25 22:51:43 -04:00
Jordan Johnson
4499e617ec Lifted types & main openssl lib to separate files.
Noticed that typed wrappers for some other libs (e.g., db) would use
the types but not necessarily the functions, so it seems logical to
separate the types.

Also, after I built Racket on my Mac, it failed to find
openssl/main.rkt named as it was — signaled an error that indicated it
was looking in <my git repo>/pkgs/htdp-pkgs/htdp-lib/typed/openssl.rkt
— so I lifted openssl/main.rkt out to openssl.rkt

original commit: 44460d383d09a7a085610b32ef17a60b4fd2041d
2014-05-25 22:51:43 -04:00
Jordan Johnson
98f5df33c9 Added openssl, openssl/sha1, and openssl/md5.
Also, listed new libs in TR scribble docs.

original commit: a651845605bdea40a4290edd72f104437afd837c
2014-05-25 22:51:43 -04:00
Eric Dobson
5470604b70 Make unfold use typecase instead of subst.
original commit: 42acb08399729acc20f6900b330bab9396f796d8
2014-05-21 09:39:56 -07:00
Eric Dobson
951d8ed2d7 Remove unused variable in constraint struct.
original commit: 895ab035d25aef445980461490357f34e3932d43
2014-05-20 20:57:43 -07:00
Eric Dobson
e716654c23 Simplify constraint->type.
original commit: 993748909f7003ac25c3bb35eb2ceca9554086d9
2014-05-20 20:57:42 -07:00
Eric Dobson
e488b2d27f Remove unused code in subst-gen, and remove internal error.
original commit: 6cc10cdb181e88a8fd1bc2958314c44e086fe8e3
2014-05-20 20:57:42 -07:00
Eric Dobson
6df2e0b54d Make subst-gen not duplicate call to values.
original commit: 7e7350691fde793b5ec751f271388b176107c3eb
2014-05-20 20:57:42 -07:00
Eric Dobson
615ce5603c Unset contracts enabled by default for TR.
original commit: 5ab3eb81fdc695f30353e0f49dd7fb59a411f809
2014-05-20 20:57:26 -07:00
Eric Dobson
3beb5c228e Re-enable Values and cgen/seq, and fix contracts on substitute.
After longer testing confirmed that this was just to strict contracts on
substitute.

original commit: f42a7b9fc9bc31873a2d94f7ad47f8d6d3a8cf78
2014-05-20 20:52:43 -07:00
Eric Dobson
71d963c693 Rollback using cgen/seq for values because the generated substitutions have issues.
original commit: 90341fa8fbb45cb574c174af02d69968833fb314
2014-05-20 00:06:11 -07:00
Eric Dobson
e139c1bf37 Split out shared code for generating dbound prefixes.
original commit: d83b2b8ec28c418e69fc9e9004ef5f638eca1bbf
2014-05-19 21:34:53 -07:00
Eric Dobson
e058157fdb Merge case for applying polydotted functions.
original commit: 90733159317bcea32b81585a7f29ff6967cb366c
2014-05-19 21:34:53 -07:00
Eric Dobson
21d2944b9c Make list inference code be shared with sequence code.
original commit: f7f4a2d448d733f7ce7d2967cd68ad9353e838f7
2014-05-19 21:34:52 -07:00
Eric Dobson
1135a9bebd Fix dotted <: starred case.
original commit: 771b602303f49476b6caf2f586167eac30f14a3b
2014-05-19 21:34:52 -07:00
Eric Dobson
1d6fa7e4b1 Fix uniform arg checking, and minor cleanup.
original commit: 8a07889d08b111c5dfc2db4480bdcd07e978c924
2014-05-19 21:34:52 -07:00
Eric Dobson
da1f9e7ef8 Make dotted functions of the same bound correctly be inferred.
original commit: 7a82255c44384b0e00bf009d9e9bada2f49d35d8
2014-05-19 21:34:52 -07:00
Eric Dobson
7a97450faf Make value inference just delegate to sequence logic.
original commit: 5251963af693be073813c0d4937977466de4815a
2014-05-19 21:34:51 -07:00
Eric Dobson
804ef05ad5 Cleanup some cases of cgen/seq.
original commit: 2dba2363f6024497b38b8062cb0760c831a9b877
2014-05-19 21:34:51 -07:00
Eric Dobson
43ea5ddaf9 Make cgen/seq take its args in the correct order.
original commit: 7e0872d282220dbb0a2629bf9f33e6733b1562ca
2014-05-19 21:34:51 -07:00
Eric Dobson
c52bbb4f62 Split out loop and rename it cgen/seq.
original commit: 5b029716158dd8fccb5bc43d780221fe361d656b
2014-05-19 21:34:50 -07:00
Eric Dobson
30f8b22021 Switch input from arities to sequences.
original commit: 03ad77afd4b3d2370dce572ff563bff4cfdaaf63
2014-05-19 21:34:50 -07:00
Eric Dobson
71f20a7863 Move common checks out of loop in cgen/arr.
original commit: c81c62d8e7969c3dba18e4b63d894413b743c2d7
2014-05-19 20:37:44 -07:00
Eric Dobson
4fe898f88d Add loop function in cgen/arr in preparation for refactoring.
original commit: d12d3ae780e3198406570ed134479dd3842a6c4f
2014-05-19 20:37:43 -07:00
Sam Tobin-Hochstadt
09756b72db Fix printing to match the desired format.
original commit: 32ab2c49e0158ff515f8177cd8e207ea277ddcaa
2014-05-19 16:52:13 -04:00
Sam Tobin-Hochstadt
6ba3048785 Add a benchmark for inference.
original commit: 6ba31e024009dca2f344929d0c40c00e0d6e05cb
2014-05-19 15:52:19 -04:00
Asumu Takikawa
f316396851 Improve TR error messages for class instantiation
original commit: 27524e6579f90a0ffabdc2c173d8d6fef4346202
2014-05-18 23:08:24 -04:00
Asumu Takikawa
dc30b8be30 Add one-sided contract for ClassTop types
Closes PR 14486

original commit: 8b245240ea41630905b5a66eb76485a15c113b7a
2014-05-18 23:08:05 -04:00
Eric Dobson
094678c666 Unbreak TR contracted build.
original commit: 06d29a7102d32853cf2e5310c41e4c5931fab688
2014-05-18 11:23:56 -07:00
Eric Dobson
4bc06a7a2a Add some more results to infer-tests.
original commit: d057419abea6ccfd1ad3185276cccc3405c57d45
2014-05-17 22:13:50 -07:00
Eric Dobson
db297fc328 Correct subst/dots on list-dots and values-dots.
original commit: 1aa6c490726e575198dff088b3084bd1a6df3fed
2014-05-17 22:13:50 -07:00
Eric Dobson
b915674d2b Make infer-tests give better errors.
original commit: c2fa9d2f7373d72efa3dcd124cfb4d4a790a13aa
2014-05-17 22:13:50 -07:00
Eric Dobson
1209eb25c3 Support keywords with %.
original commit: 420bb0e2037a4bf53581bb8474de2c56852d8571
2014-05-17 22:13:50 -07:00
Eric Dobson
bb14c479c4 Infer in dotted lists when we can infer on the bound.
original commit: 3ccc14432b066ffe0ad7ca0f254e2c1be261b53d
2014-05-17 22:13:50 -07:00
Eric Dobson
b054cf0cdb Make inference work with lists under dotted lists.
original commit: 7f400e7bdea2e4845fd3801226f8c9a943faf982
2014-05-17 22:13:49 -07:00
Eric Dobson
a0336746b1 Handle inference of list dots under regular lists.
original commit: 7af943e41de8c838381f377e9e96ec0b078d9cd6
2014-05-17 22:13:49 -07:00
Eric Dobson
996ec1c66d Make polydotted case more standard.
original commit: b87e6a4496affdd3ae51f866e5342b6d5131a205
2014-05-17 22:13:49 -07:00
Eric Dobson
0b626757bb Correctly extend tvars in the right place during inference.
Removes wrong extension of tvars in apply as well.

original commit: 1d43b583fb04140f55c290fee98db28467d96c98
2014-05-17 22:13:49 -07:00
Eric Dobson
d3ea8b43e2 Add missing %s and corresponding unit tests.
original commit: eaa41a2a8ae3862ce82d40ee9d8bf41af938239d
2014-05-17 22:13:49 -07:00
Eric Dobson
89692576a7 Remove special case of subtype in tc-apply.
original commit: 7d88b7a6cbbe98de7ab8e2f16a7aeb95f13b9a0d
2014-05-17 22:13:49 -07:00
Eric Dobson
7744b379b2 Allow inference when the result has free variables.
original commit: 7e45bc7166ff4d0b06af15ea29b23b19a7668cba
2014-05-17 22:13:49 -07:00
Asumu Takikawa
e118bb5900 Fix rest arg contract generation for case-> types
The generated contracts are still not ideal when more than
one case has a rest argument, since a later case in the
case-> contract may pass but case-> won't try all of them.

original commit: fce98517e6ba4954dfa8920e31e7e3eef50155ca
2014-05-16 14:59:43 -04:00
Asumu Takikawa
fbaaecf2cc Rackety in TR tests
original commit: 02d046daf1529bc75e13d5b80b3d6a7f8d46a28c
2014-05-16 14:55:35 -04:00
Asumu Takikawa
21200f0772 Add typed-untyped interaction test harness
original commit: 5905fbd92a96b934875d1f11892d334fface3cc6
2014-05-16 14:55:35 -04:00
Eric Dobson
b1b70f03fd Correctly use a pattern variable in tc-app-apply.
Closes PR 14508.

original commit: 7da7eacbda9110ab7e0bc1a7b0fa294dc0f60da2
2014-05-14 22:39:20 -07:00
Asumu Takikawa
3d8722075b Fix GUI types and add missing types
Closes PR 14503
Closes PR 14507

original commit: 5fff7ce07e785bd1d220eec3fea1174c018e6013
2014-05-14 15:22:58 -04:00