about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2011-10-20Remove typeck::proto_to_ty_protoBrian Anderson-10/+2
2011-10-20Register snapshotsBrian Anderson-0/+5
2011-10-20Get windows working under the bare function regimeBrian Anderson-1/+18
Had to ignore some task failure tests due to the current implementation of spawn which guarantees that there's always something in the spawned task that needs to be unwound. Fixed some win-specific build problems.
2011-10-20Don't allow fn@ itemsBrian Anderson-3/+0
fn@ is intended to be caputring but isn't implemented.
2011-10-20Merge ast::proto_shared and ast::proto_closureBrian Anderson-44/+62
Now they are both just proto_shared and proto_shared takes an argument indicating that it is sugared as 'lambda'
2011-10-20Rename ast::proto_fn to ast::proto_sharedBrian Anderson-31/+32
2011-10-20Make fn denote a bare function. Convert fn to fn@ as neededBrian Anderson-248/+263
2011-10-20Parse obj methods as proto_bareBrian Anderson-11/+9
I don't know if this is the right thing to do, but it works and it lets 'fn' always mean proto_bare
2011-10-20Tweak typecheck to enforce covariance on higher-order function argumentsBrian Anderson-1/+18
2011-10-20Remove type coercion from fn to blockBrian Anderson-48/+4
fn is a proper subtype of block now
2011-10-20Give subtype relationships to function typesBrian Anderson-2/+64
2011-10-20Bare functions can coerce to blocksBrian Anderson-0/+11
2011-10-20Bare functions can coerce to shared closuresBrian Anderson-6/+22
2011-10-20Revert "Remove the environment argument from bare functions"Brian Anderson-35/+7
This reverts commit 1b0f1f0b79fb29d28bcabb7a8468f4a5a95c0712.
2011-10-20Split parsing of fn proto between types, items and anonsBrian Anderson-6/+30
The meaning of various fn incantations is going to get temporarily confusing
2011-10-20Drop the 2 from the spawn*2 functionsBrian Anderson-107/+107
Issue #1022
2011-10-20Rename std::task::spawn_inner to unsafe_spawn_innerBrian Anderson-15/+5
Delete the rest of the old, unused spawn functions. Issue #1022
2011-10-20Stop exporting unsafe spawn functionsBrian Anderson-3/+0
Issue #1022
2011-10-20Convert the test runners to typesafe spawnBrian Anderson-144/+153
Issue #1022
2011-10-20Convert std::aio to new spawn functionsBrian Anderson-11/+14
Issue #1022
2011-10-20XFAIL task-perf-word-count-genericBrian Anderson-0/+2
This can't be done with bare functions. Issue #1022
2011-10-20Convert tests to use bare-fn spawnBrian Anderson-214/+214
Issue #1022
2011-10-20Add safe versions of spawn using bare functionsBrian Anderson-0/+44
Currently they just wrap the unsafe versions. Will need to be rewritten eventually. Issue #1022
2011-10-20Convert DPRINT to LOG in rust_cc.cpp and add more loggingBrian Anderson-16/+18
2011-10-20Un-xfail-fast some testsBrian Anderson-4/+0
check-fast is more reliable now.
2011-10-20Change run-pass/lots-a-fail.rs from xfail-fast to xfail-win32Brian Anderson-1/+1
All failing tasks leak on windows now
2011-10-20Fix the problem with check-fast randomly failingBrian Anderson-5/+18
Trans has been assuming that tag node id's are unique across crates and they are not so, depending on which way the wind is blowing, it would choose to use a crate-local tag variant instead of the correct one from std. No test case since I can't come up with a reliable one that compiles in a reasonable amount of time.
2011-10-20Register new snapshotsMarijn Haverbeke-0/+5
2011-10-20Remove the last vestiges of main.llMarijn Haverbeke-56/+0
Closes #992
2011-10-20Don't rely on main.ll anymoreMarijn Haverbeke-47/+63
I'll remove the actual file after I register a snapshot. Issue #992
2011-10-20Output linker errors, when linking failsMarijn Haverbeke-3/+4
2011-10-20Get rid of taskpointer-passing throughout the compilerMarijn Haverbeke-80/+52
Only intrinsics still take a dummy taskptr. We'll have to do some makefile stunts to snapshot a version without taskptrs-in-intrinsics. Issue #466
2011-10-20Do not pass taskpointers to "rust" native functionsMarijn Haverbeke-93/+67
Issue #466
2011-10-20Remove taskptr argument from upcallsMarijn Haverbeke-63/+54
Issue #466
2011-10-20Remove spawn_wrap and main_wrap kludgesMarijn Haverbeke-41/+10
This isn't needed now that our functions are cdecl (and was apparently only still working by accident). Issue #992
2011-10-20Use snap runtime, and the old main.o, for stage1Marijn Haverbeke-0/+43
This is intended to be reverted again after I register the next snapshot.
2011-10-19Fail nicer when the parser doesn't find an expected string literalBrian Anderson-2/+7
Closes #1028
2011-10-18Fix parse error in constrained-type-missing-check.rsMatt Brubeck-2/+2
2011-10-18Register snapshotsBrian Anderson-0/+5
2011-10-18Introduce fn@ as a synonym for fnBrian Anderson-0/+3
2011-10-18Immutable and mutable? are covariant on their inner typesBrian Anderson-3/+36
Whereas [mutable T] is invariant with respect to T, [T] and [mutable? T] are covariant with respect to T.
2011-10-18Add a math module to the standard libMarijn Haverbeke-21/+72
I need some rudimentary stdlib stuff for the tutorial. Closes #1042
2011-10-18Don't try to build an LLVM switch on floatsMarijn Haverbeke-1/+2
Closes #1046
2011-10-18Add a print and println to std::ioMarijn Haverbeke-0/+3
2011-10-17Enforce variance rules for mutable typesBrian Anderson-40/+140
2011-10-17Add a variance transform for calculation of recursive varianceBrian Anderson-14/+53
2011-10-17Introduce covariance, contravariance and invariance to the type unifierBrian Anderson-22/+47
This will be used to resolve some problems with mutable? covariance and also to implement function subtyping
2011-10-17Don't unify from mutable? to immutableBrian Anderson-3/+2
Immutable is supposed to be a subtype of mutable-huh.
2011-10-17Split record_var_binding into methods for expected and actualBrian Anderson-4/+26
This allows unify to maintain the same subtype relationship between expected and actual throughout unify, which we are going to need for mutable? and for function types.
2011-10-17Correct two more analyses of mutable? as mutableBrian Anderson-2/+2
I can't come up with test cases but this seems correct.