Commit Graph

588 Commits

Author SHA1 Message Date
Stevie Strickland
c6b92782e2 Rename cstruct to struct/ctc, to avoid confusion with cstruct from the ffi.
svn: r13661
2009-02-16 14:50:59 +00:00
Stevie Strickland
340035bef7 Adding cstruct, which is like the struct signature form but with contracts.
svn: r13647
2009-02-16 02:51:12 +00:00
Stevie Strickland
e453483b09 Okay, after some deep thought, I think I finally have a mental model for
exactly what unit/c is doing here that's appropriate for fixing this
section of code.  ASCII art diagrams for the win!

This also shows how a unit/c contract addition differs from the use
of unit/new-import-export to switch sigs, which means that I'll likely
not be able to unify as much of the guts of the two as I'd like.  Schade.

svn: r13605
2009-02-15 09:59:51 +00:00
Stevie Strickland
af1e57d33e Fix scoping of name.
svn: r13601
2009-02-15 06:36:00 +00:00
Stevie Strickland
62d82ca9be Clean up some bindings, moving them from defines to letrec-syntax.
svn: r13599
2009-02-15 05:20:30 +00:00
Stevie Strickland
cbcad0528c There is now a new form, define-unit/contract, that basically mixes
define-unit with the application of a unit contract.  So you can think
of it as a define/contract for units that keeps the static info needed
for link inference.

svn: r13584
2009-02-14 21:32:02 +00:00
Stevie Strickland
ebe06e9572 Allowing _all_ types of tagged-sig-specs in unit/c, though whether that
makes sense or not, we'll see.  Easy enough to set up, and it also sets
up the plan for a new form I'd like to add, which is why I've factored out
the syntax classes into their own file.

svn: r13570
2009-02-14 07:40:50 +00:00
Stevie Strickland
dba74f8f15 Make a table of the original imports these came from for easy lookup. This
way we can actually bind only the identifiers which were in the original
signature over the contract.

svn: r13567
2009-02-14 02:33:15 +00:00
Stevie Strickland
387c8b210f * Fix unit/c so that less unnecessary code is generated.
* Fix contracts for signatures and units so that references to
   other signature members work appropriately.
 * Add text about signature and unit contracts to the Guide.

svn: r13562
2009-02-13 22:50:49 +00:00
Stevie Strickland
8656e7e918 Fix up the contracts so that they properly refer to locally defined variables.
svn: r13527
2009-02-12 03:51:40 +00:00
Stevie Strickland
fbb5de4fa7 Adding the initial cut at unit/c.
svn: r13524
2009-02-11 22:46:48 +00:00
Matthew Flatt
20f2e32f99 adjust handling of version numbers with dylib suffix
svn: r13476
2009-02-06 23:46:29 +00:00
Eli Barzilay
cc6ff9d5d7 use the cstruct type directly, not via ctype-basetype
svn: r13345
2009-02-01 03:31:41 +00:00
Stevie Strickland
f6493e1c32 Abstraction of the boxes used for unit imports/exports to allow for adding
contracts in an already created unit.

svn: r13331
2009-01-31 01:39:23 +00:00
Stevie Strickland
2f323578de Disallow unit/new-import-export if contracts are involved. This is not
planned to be permanent, but until I've figured out how to implement the
fix, just say no.

svn: r13311
2009-01-29 07:19:23 +00:00
Stevie Strickland
e1d5ced45e Only apply a single contract wrapping to a value contracted through unit
exporting/importing.  Also add some more unit contract tests.

svn: r13203
2009-01-18 10:38:52 +00:00
Stevie Strickland
654a70ff90 Adding with-contract from sstrickl/with-contract, with a slight nudge to
the recent unit contract work to use the same syntax parameter as this
work.

svn: r13185
2009-01-16 22:59:48 +00:00
Stevie Strickland
39d9cfbb0a Now that we're in with-contract land, use the same syntax parameter for units
as well as with-contract and define/contract.

svn: r13181
2009-01-16 20:41:51 +00:00
Stevie Strickland
0fcf609e2b Syncing again
svn: r13178
2009-01-16 19:11:18 +00:00
Stevie Strickland
cc9925dd6b Add unit contracts from branches/sstrickl/unit-contracts.
svn: r13177
2009-01-16 19:03:11 +00:00
Stevie Strickland
9df50b125a Missed a case. Oops.
svn: r13142
2009-01-15 05:37:23 +00:00
Stevie Strickland
bd802748e0 Okay, let's try using the "internal" names instead of the "external", which
might make some errors more obvious.

svn: r13141
2009-01-15 05:32:46 +00:00
Stevie Strickland
6e86da95e6 Actually make this used specifically for blame, not the unit name.
We might end up collapsing this and what's introduced in with-contract.

svn: r13140
2009-01-15 05:17:27 +00:00
Stevie Strickland
dbe366c6a0 Add error checking for contracted form, also added documentation in reference
svn: r13135
2009-01-15 00:42:49 +00:00
Stevie Strickland
c7ee5b600c Change this more to how it should be.
svn: r13124
2009-01-14 21:35:07 +00:00
Stevie Strickland
5ac3135cd6 Syncing up here as well.
svn: r13118
2009-01-14 18:27:06 +00:00
Stevie Strickland
4ca79e31ff Syncing up to trunk.
svn: r13115
2009-01-14 16:45:50 +00:00
Stevie Strickland
12fc114993 Let's just make some differently painted identifiers so that some
error messages won't reveal the non-similarly-named ids behind the
curtain.

(I have my hammer, and damn if I won't use it.)

svn: r13107
2009-01-14 03:14:26 +00:00
Eli Barzilay
d1a0086471 newlines at EOFs
svn: r13105
2009-01-14 03:10:47 +00:00
Stevie Strickland
b5efb99548 Going to try switching this back, but need to sync from trunk to get Matthew's
changes to see if it works.

svn: r13098
2009-01-14 01:12:52 +00:00
Stevie Strickland
37b2272ecf Move away from using the error-syntax to grab the unit name wherever we want
it -- just use a syntax parameter.

svn: r13096
2009-01-13 23:08:47 +00:00
Stevie Strickland
0db2eb851a Allow multiple identifier/contract pairs in the same contracted form.
svn: r13054
2009-01-09 22:22:24 +00:00
Stevie Strickland
af69c0bbec Tag the contracts so we know what are truly contracts and which are just
placeholder #fs.

svn: r13048
2009-01-09 19:50:28 +00:00
Stevie Strickland
bae2c7b5e1 Basically write begin-with-definitions here by hand, which _does_ work.
So that should pretty much give us unit contracts, modulo whether we can
separate out the projections so that contracts aren't checked twice
inappropriately.

svn: r13047
2009-01-09 19:08:03 +00:00
Stevie Strickland
8d1b82bcd2 There's no need for the special-casing define-values with one binding, so
simplify this.

svn: r13044
2009-01-09 00:59:04 +00:00
Stevie Strickland
a932bfc84a Small fixes
svn: r13043
2009-01-09 00:33:43 +00:00
Stevie Strickland
e402d7ea36 We do _not_ want (void) last, we want it first here.
svn: r13040
2009-01-08 20:52:18 +00:00
Stevie Strickland
bf0d872afd Changed to be more like what Sam and I envisioned.
svn: r13039
2009-01-08 20:50:33 +00:00
Stevie Strickland
22ee00b10f Oh, no! Aliens, bio-duplication, nude conspiracies.. oh my God,
Lyndon LaRouche was right!

svn: r13037
2009-01-08 14:55:23 +00:00
Stevie Strickland
d5f0b90981 My fellow Americans. As a young boy, I dreamed of being a baseball,
but tonight I say, we must move forward, not backward, upward, not
forward, and always twirling, twirling, twirling towards freedom.

svn: r13036
2009-01-08 14:53:46 +00:00
Matthew Flatt
0663588ee1 change _string/utf-16 and _string/ucs-4 so that #f = NULL (for consistency with other pointer types), and drop the /null variants
svn: r13031
2009-01-07 17:49:14 +00:00
Robby Findler
cda64e40da opened up the trace library a little more to make it more useable for Redex
svn: r13027
2009-01-07 15:44:07 +00:00
Matthew Flatt
61685c72f9 revised Mac OS X sleeping; optional atomic mode for FFI callbacks
svn: r13016
2009-01-06 13:07:45 +00:00
Eli Barzilay
8a2753efb8 2008 -> 2009
svn: r13001
2009-01-04 15:34:50 +00:00
Matthew Flatt
d596401804 scheme/foreign: allow #f as NULL function pointer, allow callback as cpointer
svn: r12992
2009-01-03 18:51:15 +00:00
Stevie Strickland
6d966c80af Syncing
svn: r12982
2009-01-03 03:09:06 +00:00
Stevie Strickland
a80ac8d72f Syncing up.
svn: r12981
2009-01-03 02:51:36 +00:00
Matthew Flatt
1c38bd2d3f fix unit signature 'open' by adjusting 'rename', 'only', and 'execpt'
svn: r12964
2009-01-01 21:15:56 +00:00
Stevie Strickland
9e4d8d08b9 Syncing
svn: r12929
2008-12-23 03:20:02 +00:00
Stevie Strickland
4f002a60d5 Sync again
svn: r12928
2008-12-23 03:05:16 +00:00