Commit Graph

11081 Commits

Author SHA1 Message Date
Eric Holk 7b03832c95 Updating tests to use pipes. 2012-07-06 10:42:41 -07:00
Eric Holk fa4134611d Fixing an infinite type, updating code to match new Early parser, remembering to add protocol parser. 2012-07-06 10:42:40 -07:00
Eric Holk 6806aa0e66 pingpong protocol parses, although I should probably rewrite this to use Paul's Early parser stuff. 2012-07-06 10:42:40 -07:00
Eric Holk 84434bc084 Recursively expand items, and keep expansion stack, per Paul's code review comments. 2012-07-06 10:42:40 -07:00
Eric Holk d09bcc0131 Adding token tree nonterminals to earley parser. 2012-07-06 10:42:40 -07:00
Eric Holk f0ef4ef81b You can have any protocol you want, provided it's pingpong.
This integrates the pipe compiler into the proto syntax extension.
2012-07-06 10:42:40 -07:00
Eric Holk 05cdda3a2c Plumbing and parsing for item-position macros. 2012-07-06 10:42:40 -07:00
Eric Holk a787f40013 Select on pipes.
Updating syntax and test cases.
2012-07-06 10:42:39 -07:00
Eric Holk 89bdd481e5 Port future to pipes. Graph500 is about 21% faster now.
Making all tests pass.
2012-07-06 10:42:39 -07:00
Eric Holk e5c9cb2b3d Pipes sleep and wake properly. 2012-07-06 10:42:39 -07:00
Eric Holk a4838c93aa Enabling pipes for all stages, and updating closure syntax. 2012-07-06 10:42:39 -07:00
Eric Holk 67b0760592 Moved pipes runtime support to libcore, and add a test that will help verify that busy waiting is no longer happening.
Fixing the result of a bad merge.
2012-07-06 10:42:39 -07:00
Eric Holk 5c3889a02f Contracts work well enough to do the message ring benchmark, and it's really fast.
Fixing old-style vector, and xfail-prettying th contracts test because the pretty printer is unhappy.
2012-07-06 10:42:38 -07:00
Eric Holk 5d35435fac send only takes one data argument. 2012-07-06 10:42:38 -07:00
Eric Holk 0ad7ae523c Macro and iface tricks to simulate self move. 2012-07-06 10:42:38 -07:00
Eric Holk c2d3cdc3df Progress towards pipes. 2012-07-06 10:42:38 -07:00
Eric Holk 61be3cc19e An example using pipes with most of the synchronization code in place.
Fixed a bug in the atomic intrinsics where they wouldn't correctly return their old value.

Pipes currently busy wait. The next step is to teach the scheduler how to deal with them.
2012-07-06 10:42:38 -07:00
Eric Holk 4dbd10a702 First example of a program using pipes. 2012-07-06 10:42:37 -07:00
Eric Holk 117b9a0b75 Basic functionality for new ports and chans
First test using the new comm system. About twice the throughput of the old system.
2012-07-06 10:42:37 -07:00
Erick Tryzelaar f197d00979 cargo: Fix building dependencies 2012-07-06 09:35:43 -07:00
Brian Anderson 1eae49748d Ignore a should_fail test on windows 2012-07-05 23:26:41 -07:00
Brian Anderson 9b2d988df0 Fix test that was using rust_task_allow_kill incorrectly 2012-07-05 21:33:47 -07:00
Ben Striegel d162fa26ba A new `times` method on numeric types
This method is intended to elegantly subsume two common iteration functions.
The first is `iter::range`, which is used identically to the method introduced
in this commit, but currently works only on uints. The second is a common case
of `{int, i8, uint, etc.}::range`, in the case where the inductive variable is
ignored. Compare the usage of the three:
```
for iter::range(100u) {
    // do whatever
}

for int::range(0, 100) |_i| {
    // do whatever
}

for 100.times {
    // do whatever
}
```
I feel that the latter reads much more nicely than the first two approaches,
and unlike the first two the new method allows the user to ignore the specific
type of the number (ineed, if we're throwing away the inductive variable, who
cares what type it is?). A minor benefit is that this new method will be
somewhat familiar to users of Ruby, from which we borrow the name "times".
2012-07-05 19:44:20 -07:00
Paul Stansifer a8112f3b34 Allow soft failure of the macro parser. 2012-07-05 18:09:31 -07:00
Paul Stansifer 7f9b1fbe35 Add new syntax for interpolation and repetition, and allow the transcription of separators. 2012-07-05 18:09:31 -07:00
Paul Stansifer 62db5706e6 Start letting the parser catch interpolated ASTs. 2012-07-05 18:09:31 -07:00
Paul Stansifer f940653720 Update the new macro demo. 2012-07-05 18:09:31 -07:00
Paul Stansifer 0c6fe6470e Macro By Example transcription of token trees with interpolations and dotdotdots. 2012-07-05 18:09:31 -07:00
Paul Stansifer f4fb975e4e Store some span information for stride mismatches errors in MBE TT macros. 2012-07-05 18:09:31 -07:00
Paul Stansifer 534270551e Move earley_parser.rs to a more appropriate place 2012-07-05 18:09:31 -07:00
Paul Stansifer 39590d81f0 Some rearranging in perparation for MBE-style TT transcription. 2012-07-05 18:09:31 -07:00
Paul Stansifer 74c2266a06 Document matchers a little better. 2012-07-05 18:09:31 -07:00
Ben Blum 2ee779c839 Add test case in task.rs for #2782 2012-07-05 21:01:18 -04:00
Ben Blum 7b3add0632 make disallow_kill an int for nested unkillables (closes #2782) 2012-07-05 19:56:09 -04:00
Tim Chevalier 7f56d74072 Minor rewording in RELEASES.txt 2012-07-05 16:38:10 -07:00
Lindsey Kuper 47f61c5429 Clean up error message punctuation/capitalization 2012-07-05 16:18:58 -07:00
Tim Chevalier a0dbf58245 Remove duplicate, un-used copy of astencode 2012-07-05 16:11:51 -07:00
Tim Chevalier 663b3fc89c Uncomment destructor in parser now that dtors work
Although this one is just a hack to make a class non-copyable.
(Do we want syntax for that instead?)
2012-07-05 16:11:51 -07:00
Tim Chevalier 889be71cb4 Comments only: change TODOs to FIXMEs and annotate them 2012-07-05 16:10:29 -07:00
Tim Chevalier 50d2e7e07e Mostly change TODOs to FIXMEs and annotate them
But, one change in io to implement a TODO suggestion (using a
const u8)
2012-07-05 15:06:33 -07:00
Michael Sullivan b0d4f09201 Consider slices to be a structural type. Closes #2748. 2012-07-05 14:48:23 -07:00
Brian Anderson 7babcf55d7 std: Actually buildbase64 2012-07-05 14:40:51 -07:00
Brian Anderson 8f92de3ce5 core: Actually build to_bytes 2012-07-05 14:40:45 -07:00
Brian Anderson 73f1f686e9 std: Export base64 2012-07-05 14:39:08 -07:00
Brian Anderson c199090130 core: Export to_bytes 2012-07-05 14:38:59 -07:00
Lindsey Kuper 1c2d926b8e Minor release notes cleanup 2012-07-05 12:38:07 -07:00
Lindsey Kuper 1e34202e74 Minor tutorial tweaks 2012-07-05 11:32:49 -07:00
Lindsey Kuper 33334f3c43 Change 'iface' to 'trait' internally; parse `trait` as `iface` synonym 2012-07-05 11:01:43 -07:00
Eric Holk d93f3c5d83 Arc requires send trait (issue #2788) 2012-07-05 10:25:38 -07:00
Eric Holk 5bfb5cad3a Remove create_lock in favor of lock_and_signal() (issue #2780) 2012-07-05 10:11:25 -07:00