Paul Stansifer
7129883b51
Allow interpolations of all the nt_*s.
2012-08-02 11:58:16 -07:00
Brian Anderson
b355936b4d
Convert ret to return
2012-08-01 19:16:06 -07:00
Graydon Hoare
7f60c56c3e
Clean out transitional lint.
2012-08-01 13:35:40 -07:00
Eric Holk
e7a69fbe4e
Working on documentation of pipes.
2012-08-01 12:30:07 -07:00
Patrick Walton
b414db041b
rustc: Parse by-reference pattern bindings with the "ref" keyword
2012-07-31 19:26:25 -07:00
Brian Anderson
7b2026bf21
Introduce 'return', 'match' and 'module' as synonyms
2012-07-31 17:22:30 -07:00
Brian Anderson
7d18369804
syntax: Rename 'module' extension to 'module_path'
2012-07-31 17:22:30 -07:00
Lindsey Kuper
439afaa329
Change remaining "iface" occurrences to "trait"; deprecate "iface"
2012-07-31 11:52:16 -07:00
Paul Stansifer
a9cc5066ee
Change syntax extension syntax: #m[...]
-> m!{...}
.
2012-07-30 18:38:15 -07:00
Paul Stansifer
a28812cfd6
Improve some documentation.
2012-07-30 18:04:19 -07:00
Paul Stansifer
be3b733c49
Let's give that binder a name that's not incredibly confusing.
2012-07-30 18:04:19 -07:00
Paul Stansifer
e040ab8423
Impl-ize interner.
2012-07-30 18:04:19 -07:00
Paul Stansifer
a7125971c6
Rename #mod
-> #module
to not collide with the keyword.
2012-07-30 18:04:18 -07:00
Tim Chevalier
082d8314da
Rewrite bitv to use classes and optimize its representation
...
Rewrote bitv as a class that uses a 32-bit int as its representation
for bit vectors of 32 bits or less, and a vector (the old representation)
otherwise. I didn't benchmark very much, but a bit of informal benchmarking
suggested this is a win.
Closes #2341
2012-07-29 18:39:15 -07:00
Patrick Walton
93c2f5e0e4
rustc: Use coherence for operator overloading.
...
The only use of the old-style impls is now placement new.
2012-07-27 19:35:24 -07:00
Graydon Hoare
e11e90f31c
Make macro-system type and constructor names more uniform; more comments.
2012-07-27 19:14:46 -07:00
Graydon Hoare
eabd233dcd
Start killing off obsolete/unused quoters, and fix long lines.
2012-07-27 18:06:24 -07:00
Graydon Hoare
1d9f01cb42
Comments in the new macro system, reflecting conversation with pauls.
2012-07-27 17:42:42 -07:00
Paul Stansifer
97422f0f0f
Merge branch 'incoming' of github.com:mozilla/rust
2012-07-26 16:16:28 -07:00
Eric Holk
fec749df16
Comments Only: Remove outdated FIXMEs. Fixes #2886 .
2012-07-26 10:20:05 -07:00
Paul Stansifer
7f5fbd4f9d
Allow old-style syntax extensions to be called with new syntax.
2012-07-26 09:52:21 -07:00
Eric Holk
6748f78cb1
Polymorphic protocols work well enough to do MapReduce.
...
I did some horrible things with type variable naming here. It should do the right thing in most cases, but we'll need to go through and make it correct someday.
2012-07-25 12:12:26 -07:00
Eric Holk
14adb98b64
Bounded protocols work well enough to compile core, but map reduce has too many type parameters, so we have to get fancier.
2012-07-25 12:12:25 -07:00
Eric Holk
1dde5e7fc2
Thread spans through the pipe compiler. They aren't perfect, but they make debugging far easier than core.rc:0:0.
...
Changed the is_bounded check, so we fail compiling core right now due to not supporting type parameters.
2012-07-25 12:12:25 -07:00
Eric Holk
7f5f1f90a0
Compiled a bounded version of pingpong.
...
There are some failures in the other pipe tests, but these seem to just be a matter of generalizing the library code.
Updating pipes library so all tests pass again
2012-07-25 12:12:25 -07:00
Eric Holk
b97fe98354
Generate buffer type for bounded protocols
2012-07-25 12:12:25 -07:00
Eric Holk
c28af26258
Refactor the bounded pingpong example to avoid needing to generate unsafe code.
...
Took some steps towards bounded codegen.
2012-07-25 12:12:25 -07:00
Eric Holk
d74fb9875b
Refactoring pipes to allow implementing bounded protocols.
2012-07-25 12:12:25 -07:00
Paul Stansifer
9103e43909
Bugfix: enable transcription to deal with zero-repetition cases.
2012-07-24 11:44:58 -07:00
Paul Stansifer
e20c5e7596
Improve an error message a little.
2012-07-24 11:44:58 -07:00
Paul Stansifer
f785cccf0f
Bugfix: make the parser handle the case where zero repetitions occur, by handling parse results on the basis of what names the matcher expects to bind, not on what names are actually bound.
2012-07-24 11:44:58 -07:00
Patrick Walton
3ac5b4a86f
syntax: Parse multiple trait refs in a single implementation
2012-07-18 16:05:17 -07:00
Eric Holk
7b8171ef2d
Added liveness analysis for protocols, and removed warnings about empty states.
2012-07-17 17:46:31 -07:00
Eric Holk
ee855caa5d
Don't ICE when protocol steps to invalid mesasge.
2012-07-17 17:46:31 -07:00
Patrick Walton
b71a8827e3
rustc: Fix coherence errors in the build
2012-07-17 16:49:54 -07:00
Patrick Walton
db020ab63c
rustc: Implement and enforce instance coherence
2012-07-17 15:46:43 -07:00
Eric Holk
c8739cb0bc
Error checking for protocols. We'll need spans though.
2012-07-17 10:35:59 -07:00
Eric Holk
d39f6fc676
Add support for terminal states (issue #2862 )
2012-07-16 14:50:47 -07:00
Niko Matsakis
41a21f053c
remove typestate from code, tests, and docs
2012-07-14 17:37:20 -07:00
Michael Sullivan
7b2f4755f3
Get rid of ast::ty_vstore, which was only used for fixed length.
2012-07-14 12:45:52 -07:00
Michael Sullivan
92743dc2a6
Move the world over to using the new style string literals and types. Closes #2907 .
2012-07-14 01:03:43 -07:00
Michael Sullivan
628d3e9d38
Change (hopefully) all of the code that generates strs asts to produce ~strs.
2012-07-13 17:03:54 -07:00
Michael Sullivan
985b52be6d
Support prefix notation for vstore strings. Closes #2906 .
2012-07-13 17:03:49 -07:00
Tim Chevalier
78ec6fe30c
Obliterate the callee_id hack
...
Exprs that could be applications of overloaded operators
(expr_unary, expr_binary, expr_index) relied on the previous node ID
being "reserved" to carry extra typechecking info. This was
incredibly error-prone. Fixed it; now all exprs have two node IDs
(which will be wasted in some cases; future work could make this
an option instead if the extra int field ends up being a performance
problem).
Closes #2804
2012-07-12 19:02:07 -07:00
Eric Holk
1a276dba52
Switch map-reduce control protocol to use pipes. This exposed a bug in the pipe compiler, which is now fixed.
...
Use hashmaps in MapReduce
Tweak word-count difficulty
2012-07-12 18:16:00 -07:00
Tim Chevalier
ea5f19206c
Comments only: TODOs to FIXMEs; annotate
2012-07-12 18:09:31 -07:00
Michael Sullivan
2ea9c8df0f
Accept prefix notation for writing the types of str/~ and friends.
2012-07-12 16:52:26 -07:00
Michael Sullivan
1c62f5ff74
Get rid of all of the remaining /~s in the code base.
2012-07-12 15:13:18 -07:00
Michael Sullivan
9d2e5f3a65
Merge branch 'rt-changes' into incoming
2012-07-12 15:03:54 -07:00
Michael Sullivan
8ad4e92c2b
Handle autoserializing of str/~.
2012-07-12 00:21:12 -07:00