Results 61 issues of Joe Groff

This is based off of https://github.com/DougGregor/swift-evolution/tree/structured-concurrency because the `async let` proposal depends on and has links to the main structured concurrency proposal.

We should check if some LLVM workarounds in the compiler and lib-clay can be removed now that the compiler uses LLVM 3.2. A couple I grepped from the commit log:...

``` % ./build/compiler/clay -g -e '' pseudo instructions should be removed before code emission UNREACHABLE executed at /Users/joe/Documents/Code/others/llvm-3.1.src/lib/Target/X86/X86CodeEmitter.cpp:736! Stack dump: 0. Running pass 'X86 Machine Code Emitter' on function '@"core.errors.backtrace.showBacktrace()...

It would be sort of convenient to be able to define variant or newtype member types in-line in a variant or newtype definition, for instance: ``` variant List[T] (record Nil...

Design and implement a type class feature to formalize the definition and implementation of protocols in a more formally sound and potentially more performant way than the current predication-based system....

language-feature

Lambdas might be a source of compiler performance problems. The parsing.combinators library makes heavy use of them and compiles impractically slowly, and the `test` module used lambdas internally and also...

What do you guys think of renaming the current `bitcast` primitive, which returns a reference of a new type to the same memory, to `refcast`, and having `bitcast` actually bitwise-copy...

It could be useful to allow environment captures to be made explicit in lambda syntax, if we can come up with a syntax that isn't too C++0x-ish. Having an arrow...

language-feature

As suggested by @galchinsky, it would be useful to be able to collect top level definitions with common attributes into a block, to eliminate repetition: ``` forceinline { foo() {}...

I implemented `threads.condvars` for Windows using the `ConditionVariable` APIs introduced in Vista. Windows XP doesn't have native condition variables, so a backward-compatible implementation should be available too. See http://www.cse.wustl.edu/~schmidt/win32-cv-1.html for...

win32