From 4b3e766ac6a6f89430b65a5bc2f55bb29f6290ab Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Wed, 31 Jul 2013 16:10:35 -0700 Subject: Remove the pipes compiler The pipes compiler produced data types that encoded efficient and safe bounded message passing protocols between two endpoints. It was also capable of producing unbounded protocols. It was useful research but was arguably done before its proper time. I am removing it for the following reasons: * In practice we used it only for producing the `oneshot` and `stream` unbounded protocols and all communication in Rust use those. * The interface between the proto! macro and the standard library has a large surface area and was difficult to maintain through language and library changes. * It is now written in an old dialect of Rust and generates code which would likely be considered non-idiomatic. * Both the compiler and the runtime are difficult to understand, and likewise the relationship between the generated code and the library is hard to understand. Debugging is difficult. * The new scheduler implements `stream` and `oneshot` by hand in a way that will be significantly easier to maintain. This shouldn't be taken as an indication that 'channel protocols' for Rust are not worth pursuing again in the future. --- src/libsyntax/syntax.rs | 2 -- 1 file changed, 2 deletions(-) (limited to 'src/libsyntax/syntax.rs') diff --git a/src/libsyntax/syntax.rs b/src/libsyntax/syntax.rs index ae2aa6ae738..f39351bf91f 100644 --- a/src/libsyntax/syntax.rs +++ b/src/libsyntax/syntax.rs @@ -78,7 +78,5 @@ pub mod ext { pub mod auto_encode; pub mod source_util; - pub mod pipes; - pub mod trace_macros; } -- cgit 1.4.1-3-g733a5