Brian Anderson
b5f5676a2f
tutorial: Use consistent casing in headers
2012-07-06 18:27:42 -07:00
Brian Anderson
28fec95c59
tutorial: Add some work on borrowed pointers
2012-07-06 18:25:39 -07:00
Brian Anderson
af199f2edb
tutorial: Expand the section on datatypes
2012-07-06 18:09:59 -07:00
Brian Anderson
ad05996223
tutorial: Fix a test-breaking typo
2012-07-06 18:09:22 -07:00
Brian Anderson
4bb13c69d6
Add 'class' and 'new' to codemirror-rust.js
2012-07-06 17:18:11 -07:00
Brian Anderson
57698fec6c
tutorial: Remove some trivia
2012-07-06 17:07:29 -07:00
Graydon Hoare
6b8ebc12db
First step on #2826 , accept ^ for ty_ptr.
2012-07-06 16:03:51 -07:00
Michael Sullivan
23c73360ca
Fix the indenter script to know about the annoying ~ in the front of log strings.
2012-07-06 15:55:56 -07:00
Michael Sullivan
038f925586
Be less eager about implicit borrowing when doing method resolution. Closes #2796 .
2012-07-06 15:55:18 -07:00
Graydon Hoare
ceac155211
For #2229 , recognize 'again' in place of 'cont', final change pending snapshot.
2012-07-06 15:46:39 -07:00
Eric Holk
e20f63d095
Bank protocol example from blog post
2012-07-06 15:25:06 -07:00
Eric Holk
b925648ac7
Added a k-nucleotide version that uses pipes. 31% speedup.
2012-07-06 15:16:16 -07:00
Brian Anderson
fce064db6b
tutorial: Reduce header level for do/for loop sections
2012-07-06 15:10:30 -07:00
Michael Sullivan
9e6b43fb33
Rip out a bunch more append code from trans.
2012-07-06 15:04:57 -07:00
Michael Sullivan
702f0cd734
Rename dvec::from_elt to dvec::from_elem. Closes #2792 .
2012-07-06 14:52:57 -07:00
Brian Anderson
ea4cd49e9f
tutorial: Minor tweak
2012-07-06 14:52:21 -07:00
Brian Anderson
82001412f2
tutorial: Add a section on the memory model
2012-07-06 14:38:05 -07:00
Eric Holk
0e1a6cf3d9
Remove tvec::trans_add
2012-07-06 14:13:52 -07:00
Niko Matsakis
11d868e925
paper over #2586 by not failing when the key is not found
2012-07-06 14:10:40 -07:00
Michael Sullivan
ee0177b908
Move string append to libraries. Closes #2710 .
2012-07-06 13:37:56 -07:00
Brian Anderson
8c64a98d65
tutorial: Minor tweaks to intro
2012-07-06 12:20:03 -07:00
Brian Anderson
08a99d6ae1
tutorial: Add a language overview to the introduction
2012-07-06 12:14:36 -07:00
Eric Holk
604f7c66ff
Removing locked queue port/chan prototype.
2012-07-06 11:05:28 -07:00
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