GithubHelp home page GithubHelp logo

zewo / zewo Goto Github PK

View Code? Open in Web Editor NEW
1.9K 64.0 87.0 5.53 MB

Lightweight library for web server applications in Swift on macOS and Linux powered by coroutines.

Home Page: http://zewo.io

License: MIT License

Swift 100.00%
swift coroutines synchronous-apis server-side-swift zewo swiftenv concurrency xcode heroku swiftpm

zewo's Introduction

Zewo

Swift License Slack Codebeat

Why Zewo?SupportCommunityContributing

Zewo

Zewo is a lightweight library for web applications in Swift.

What sets Zewo apart?

Zewo is not a web framework. Zewo is a lightweight library for web applications in Swift. Most server-side Swift projects use Grand Central Dispatch (GCD) as the concurrency library of choice. The drawback of using GCD is that its APIs are asynchronous. With async code comes callback hell and we all know it, it's no fun.

Node.js is the best example of how callbacks can be frustrating. Express.js creator TJ Holowaychuk wrote a blog post about Callback vs Coroutines in 2013 and one year later left the Node.js community in favor of Go. There were many reasons for that but one of the main reasons was the concurrency model. Sure we have futures and promises and functional reactive programming. They all mitigate the problem, but the async nature of the code will always be there.

At Zewo we use coroutines. Coroutines allow concurrency while maintaining synchronous APIs. We all learn how to program with synchronous code. We're used to reason about our code synchronously. Being able to use synchronous APIs makes the code much more readable and understandable. Coroutines are also faster than threads, because they live in user-space, unlike threads which are managed by the kernel.

Our implementation of coroutines (which is based on libdill) is single-threaded. This means that you don't have to worry about locks or race conditions. So your code is safer by default. To use all the CPU power available all you have to do is to replicate the work according to the number of logical CPUs available. As an example, this could mean running as many processes of your server as cores in your machine. Rob Pike, one of the creators of Go had a talk called Concurrency is not Parallelism that explains this concept very well. Go also has the philosophy:

Don't communicate by sharing memory. Share memory by communicating.

Like Go, instead of sharing memory and handling state we promote the use of CSP-style concurrency using channels. This pattern brings the abstractions used on the development of distributed systems closer to the way we're used to think about communication. It also aligns well with Swift's mindset of immutability and value types. All of these things contributes to a distinct experince on the server-side Swift.

With Zewo you get:

  • Go-style concurrency
  • Synchronous APIs
  • Incredible performance
  • Safer applications
  • Scalable systems
  • Cleaner code
  • Proper error handling
  • No callback hell
  • No race conditions

Support

If you have any trouble create a Github issue and we'll do everything we can to help you. When stating your issue be sure to add enough details and reproduction steps so we can help you faster. If you prefer you can join our Slack and go to the #help channel too.

Community

We have an amazing community of open and welcoming developers. Join us on Slack to get to know us!

License

All Zewo modules are released under the MIT license. See LICENSE for details.

zewo's People

Contributors

alex-alex avatar antonmes avatar barbosa avatar benchr267 avatar bosr avatar bre7 avatar briancroom avatar courteouselk avatar danappelxx avatar davidask avatar dreymonde avatar fengluo avatar goloveychuk avatar jgiola avatar paulofaria avatar rabc avatar ratranqu avatar rcedwards avatar robertjpayne avatar scottbyrns avatar shingt avatar sundeepgupta avatar terhechte avatar togira avatar unnamedd avatar vi4m avatar vovasty avatar vsouza avatar xdamman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zewo's Issues

Forked process still running after return

I don't have any closer details right now, but it has happened on several occasion that the main process crashed and returned, but one of the forked processes kept running in the background.

This makes it hard to restart the server, because the port stays in use.

Error when run "Epoch Command Line Application", Safari GET http://localhost:8080

fatal error: Array index out of range in processedDataFromSource(:bytesProcessed:)

(lldb) bt
* thread #1: tid = 0x645362b, 0x000000010017f0e8 Epoch Command Line Application`function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Dead, Arg[3] = Dead> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> () + 40, queue = 'com.apple.main-thread', stop reason = EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
    frame #0: 0x000000010017f0e8 Epoch Command Line Application`function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Dead, Arg[3] = Dead> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt) -> () + 40
    frame #1: 0x0000000100037e9e Epoch Command Line Application`Swift.Array._checkIndex <A> (Swift.Array<A>)(Swift.Int) -> () + 126
    frame #2: 0x0000000100037dbc Epoch Command Line Application`Swift.Array.subscript.getter : (Swift.Range<Swift.Int>) -> Swift.ArraySlice<A> + 60
  * frame #3: 0x000000010025b3dc Epoch Command Line Application`Epoch_Command_Line_Application.processedDataFromSource (data=256 values, bytesProcessed=351) -> Swift.Array<Swift.Int8> + 124 at TCPClientSocket.swift:162
    frame #4: 0x000000010025ba1a Epoch Command Line Application`Epoch_Command_Line_Application.TCPClientSocket.receiveLowWaterMark (lowWaterMark=1, highWaterMark=256, deadline=-1, self=(socket = 0x0000000102001e00, closed = false), $error=ErrorType @ 0x0000000100d3f540)(Swift.Int, highWaterMark : Swift.Int, deadline : Swift.Int64) throws -> Swift.Array<Swift.Int8> + 1418 at TCPClientSocket.swift:108
    frame #5: 0x000000010025def4 Epoch Command Line Application`Epoch_Command_Line_Application.TCPClientSocket.receive (lowWaterMark=1, highWaterMark=256, received=(Epoch Command Line Application`partial apply forwarder for Epoch_Command_Line_Application.TCPStream.(receive (Epoch_Command_Line_Application.TCPStream) -> ((Epoch_Command_Line_Application.Result<Swift.Array<Swift.Int8>>) -> ()) -> ()).(closure #1) at TCPStream.swift), self=(socket = 0x0000000102001e00, closed = false), $error=ErrorType @ 0x0000000100d3f540)(lowWaterMark : Swift.Int, highWaterMark : Swift.Int, received : (Swift.Array<Swift.Int8>) -> ()) throws -> () + 116 at TCPClientSocket.swift:188
    frame #6: 0x0000000100247e23 Epoch Command Line Application`Epoch_Command_Line_Application.TCPStream.receive (completion=(Epoch Command Line Application`partial apply forwarder for Epoch_Command_Line_Application.HTTPParser.(parseRequest (Epoch_Command_Line_Application.HTTPParser) -> (Epoch_Command_Line_Application.StreamType, completion : (Epoch_Command_Line_Application.Result<Epoch_Command_Line_Application.HTTPRequest>) -> ()) -> ()).(closure #2) at HTTPParser.swift), self=0x0000000100900f20)((Epoch_Command_Line_Application.Result<Swift.Array<Swift.Int8>>) -> ()) -> () + 195 at TCPStream.swift:36
    frame #7: 0x0000000100248507 Epoch Command Line Application`protocol witness for Epoch_Command_Line_Application.StreamType.receive <A where A: Epoch_Command_Line_Application.StreamType> (A)((Epoch_Command_Line_Application.Result<Swift.Array<Swift.Int8>>) -> ()) -> () in conformance Epoch_Command_Line_Application.TCPStream : Epoch_Command_Line_Application.StreamType in Epoch_Command_Line_Application + 55 at TCPStream.swift:32
    frame #8: 0x000000010025f1e9 Epoch Command Line Application`Epoch_Command_Line_Application.HTTPParser.parseRequest (client=StreamType @ 0x0000000100d3f608, completion=(Epoch Command Line Application`partial apply forwarder for reabstraction thunk helper from @callee_owned (@in Epoch_Command_Line_Application.Result<Epoch_Command_Line_Application.HTTPRequest>) -> (@unowned ()) to @callee_owned (@owned Epoch_Command_Line_Application.Result<Epoch_Command_Line_Application.HTTPRequest>) -> (@unowned ()) at HTTPParser.swift))(Epoch_Command_Line_Application.StreamType, completion : (Epoch_Command_Line_Application.Result<Epoch_Command_Line_Application.HTTPRequest>) -> ()) -> () + 297 at HTTPParser.swift:42
    frame #9: 0x000000010025f3f4 Epoch Command Line Application`protocol witness for Epoch_Command_Line_Application.RequestParserType.parseRequest <A where A: Epoch_Command_Line_Application.RequestParserType> (A)(Epoch_Command_Line_Application.StreamType, completion : (Epoch_Command_Line_Application.Result<A.Request>) -> ()) -> () in conformance Epoch_Command_Line_Application.HTTPParser : Epoch_Command_Line_Application.RequestParserType in Epoch_Command_Line_Application + 116 at HTTPParser.swift:26
    frame #10: 0x000000010023544c Epoch Command Line Application`Epoch_Command_Line_Application.RequestResponseServer.(client=Epoch_Command_Line_Application.HTTPSerializer @ 0x0000000100d3f7c8, self=Epoch_Command_Line_Application.RequestResponseServer<Epoch_Command_Line_Application.HTTPParser, Epoch_Command_Line_Application.HTTPServerResponder, Epoch_Command_Line_Application.HTTPSerializer> @ 0x0000000100d3f7c0, failure=(Epoch Command Line Application`partial apply forwarder for static Epoch_Command_Line_Application.HTTPServer.(defaultFailureHandler in _EE9D680126FCC20B1A5BC8B98197EC35) <A where A: Epoch_Command_Line_Application.HTTPResponder, A.Request == Epoch_Command_Line_Application.HTTPRequest, A.Response == Epoch_Command_Line_Application.HTTPResponse> (Epoch_Command_Line_Application.HTTPServer<A>.Type)(Swift.ErrorType) -> () at HTTPServer.swift)) -> (failure : (Swift.ErrorType) -> ()) -> ()).(closure #1).(closure #1) + 796 at RequestResponseServer.swift:54
    frame #11: 0x0000000100233f9c Epoch Command Line Application`partial apply forwarder for Epoch_Command_Line_Application.RequestResponseServer.(start <A, B, C where A: Epoch_Command_Line_Application.RequestParserType, B: Epoch_Command_Line_Application.ResponderType, C: Epoch_Command_Line_Application.ResponseSerializerType, A.Request == B.Request, B.Response == C.Response> (Epoch_Command_Line_Application.RequestResponseServer<A, B, C>) -> (failure : (Swift.ErrorType) -> ()) -> ()).(closure #1).(closure #1) + 284 at RequestResponseServer.swift:0
    frame #12: 0x000000010023d1a1 Epoch Command Line Application`Epoch_Command_Line_Application.Result.success <A> (f=(Epoch Command Line Application`partial apply forwarder for Epoch_Command_Line_Application.RequestResponseServer.(start <A, B, C where A: Epoch_Command_Line_Application.RequestParserType, B: Epoch_Command_Line_Application.ResponderType, C: Epoch_Command_Line_Application.ResponseSerializerType, A.Request == B.Request, B.Response == C.Response> (Epoch_Command_Line_Application.RequestResponseServer<A, B, C>) -> (failure : (Swift.ErrorType) -> ()) -> ()).(closure #1).(closure #1) at RequestResponseServer.swift), self=Failure)((A) -> ()) -> () + 545 at Result.swift:39
    frame #13: 0x000000010023507f Epoch Command Line Application`Epoch_Command_Line_Application.RequestResponseServer.(acceptResult=Success, self=Epoch_Command_Line_Application.RequestResponseServer<Epoch_Command_Line_Application.HTTPParser, Epoch_Command_Line_Application.HTTPServerResponder, Epoch_Command_Line_Application.HTTPSerializer> @ 0x0000000100d3fac0, failure=(Epoch Command Line Application`partial apply forwarder for static Epoch_Command_Line_Application.HTTPServer.(defaultFailureHandler in _EE9D680126FCC20B1A5BC8B98197EC35) <A where A: Epoch_Command_Line_Application.HTTPResponder, A.Request == Epoch_Command_Line_Application.HTTPRequest, A.Response == Epoch_Command_Line_Application.HTTPResponse> (Epoch_Command_Line_Application.HTTPServer<A>.Type)(Swift.ErrorType) -> () at HTTPServer.swift)) -> (failure : (Swift.ErrorType) -> ()) -> ()).(closure #1) + 383 at RequestResponseServer.swift:55
    frame #14: 0x000000010023330c Epoch Command Line Application`partial apply forwarder for Epoch_Command_Line_Application.RequestResponseServer.(start <A, B, C where A: Epoch_Command_Line_Application.RequestParserType, B: Epoch_Command_Line_Application.ResponderType, C: Epoch_Command_Line_Application.ResponseSerializerType, A.Request == B.Request, B.Response == C.Response> (Epoch_Command_Line_Application.RequestResponseServer<A, B, C>) -> (failure : (Swift.ErrorType) -> ()) -> ()).(closure #1) + 284 at RequestResponseServer.swift:0
    frame #15: 0x000000010024f8aa Epoch Command Line Application`Epoch_Command_Line_Application.TCPServer.(socket=(socket = 0x0000000100900a00, closed = false), completion=(Epoch Command Line Application`partial apply forwarder for Epoch_Command_Line_Application.RequestResponseServer.(start <A, B, C where A: Epoch_Command_Line_Application.RequestParserType, B: Epoch_Command_Line_Application.ResponderType, C: Epoch_Command_Line_Application.ResponseSerializerType, A.Request == B.Request, B.Response == C.Response> (Epoch_Command_Line_Application.RequestResponseServer<A, B, C>) -> (failure : (Swift.ErrorType) -> ()) -> ()).(closure #1) at RequestResponseServer.swift), self=Epoch_Command_Line_Application.TCPServer @ 0x0000000100d3fd48) -> ((Epoch_Command_Line_Application.Result<Epoch_Command_Line_Application.StreamType>) -> ()) -> ()).(closure #1) + 362 at TCPServer.swift:42
    frame #16: 0x0000000100247791 Epoch Command Line Application`reabstraction thunk helper from @callee_owned () -> (@unowned ()) to @callee_owned (@in ()) -> (@out ()) + 17 at Select.swift:0
    frame #17: 0x00000001002591c1 Epoch Command Line Application`partial apply forwarder for reabstraction thunk helper from @callee_owned () -> (@unowned ()) to @callee_owned (@in ()) -> (@out ()) with unmangled suffix "5" + 81 at Co.swift:0
    frame #18: 0x00000001002599f0 Epoch Command Line Application`reabstraction thunk helper from @callee_owned (@in ()) -> (@out ()) to @callee_owned () -> (@unowned ()) + 32 at Co.swift:0
    frame #19: 0x0000000100259a27 Epoch Command Line Application`reabstraction thunk helper from @callee_owned () -> (@unowned ()) to @callee_unowned @convention(block) () -> (@unowned ()) + 39 at Co.swift:0
    frame #20: 0x000000010021a8b1 Epoch Command Line Application`co(routine=<parent is NULL>) + 145 at libmill_swift.c:34

Swift build error: rename error

Hopefully I'm just doing something wrong, but when I pull this repo and build in Linux using "swift build" the cloning of packages seems to work, but after the SSL Package is cloned, I see this error:

swift-build: rename error: File exists (17): /src/Packages/CLibvenice -> /src/Packages/CLibvenice-0.1.0

I also followed the steps to install the three C libs as well.

Any ideas what I'm missing?

Wes

Create list of packages for packages.zewo.io

  • List all packages from zewo and created by community
  • Implement a feature to help user to create his Package.swift and download
  • From Zewo, use GitHub API to show latest tag version

Redefinition of module 'Incandescence'

Keep getting this error after following the Carthage instructions and trying to build the project, embedding the frameworks that Carthage produces.

/Users/davidask/Work/Projects/Project/Source/Carthage/Checkouts/Luminescence/Dependencies/module.modulemap:1:8: error: redefinition of module 'Incandescence'
module Incandescence [system] {
       ^
/Users/davidask/Work/Projects/Project/Source/Carthage/Checkouts/Epoch/Carthage/Checkouts/Luminescence/Dependencies/module.modulemap:1:8: note: previously defined here
module Incandescence [system] {
       ^
<unknown>:0: error: could not build Objective-C module 'Incandescence'

Any info on this? Perhaps i've misunderstood the installation instructions.

Error on install

Hi!
On swift build command I got a errors

Compiling Swift Module 'Venice' (16 sources)
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Sendable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Receivable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleReceivable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleSendable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Sendable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Receivable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleReceivable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleSendable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Sendable.swift:30:49: error: 'T' is not a member type of 'R'
public func <-<R: Sendable>(sender: R, value: R.T) {
                                              ~ ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Receivable.swift:31:56: error: 'T' is not a member type of 'S'
public prefix func <-<S: Receivable>(receiver: S) -> S.T? {
                                                     ~ ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleReceivable.swift:31:71: error: 'T' is not a member type of 'R'
public prefix func <-<R: FallibleReceivable>(receiver: R) throws -> R.T? {
                                                                    ~ ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleSendable.swift:33:72: error: 'T' is not a member type of 'W'
public func <-<W: FallibleSendable>(sender: W, result: ChannelResult<W.T>) {
                                                                     ~ ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleSendable.swift:37:57: error: 'T' is not a member type of 'W'
public func <-<W: FallibleSendable>(sender: W, value: W.T) {
                                                      ~ ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/TImer/Timer.swift:38:41: error: cannot invoke initializer for type 'Void' with no arguments
                self.internalChannel <- Void()
                                        ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Sendable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Receivable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleReceivable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleSendable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Sendable.swift:30:49: error: 'T' is not a member type of 'R'
public func <-<R: Sendable>(sender: R, value: R.T) {
                                              ~ ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Receivable.swift:31:56: error: 'T' is not a member type of 'S'
public prefix func <-<S: Receivable>(receiver: S) -> S.T? {
                                                     ~ ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleReceivable.swift:31:71: error: 'T' is not a member type of 'R'
public prefix func <-<R: FallibleReceivable>(receiver: R) throws -> R.T? {
                                                                    ~ ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleSendable.swift:33:72: error: 'T' is not a member type of 'W'
public func <-<W: FallibleSendable>(sender: W, result: ChannelResult<W.T>) {
                                                                     ~ ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleSendable.swift:37:57: error: 'T' is not a member type of 'W'
public func <-<W: FallibleSendable>(sender: W, value: W.T) {
                                                      ~ ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Ticker/Ticker.swift:38:41: error: argument type 'Int64' does not conform to expected type 'ErrorType'
                self.internalChannel <- now
                                        ^~~
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Sendable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Receivable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleReceivable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleSendable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Sendable.swift:27:22: error: use of undeclared type 'T'
    func send(value: T)
                     ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleSendable.swift:28:22: error: use of undeclared type 'T'
    func send(value: T)
                     ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Sendable.swift:30:49: error: 'T' is not a member type of 'R'
public func <-<R: Sendable>(sender: R, value: R.T) {
                                              ~ ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Receivable.swift:31:56: error: 'T' is not a member type of 'S'
public prefix func <-<S: Receivable>(receiver: S) -> S.T? {
                                                     ~ ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleReceivable.swift:31:71: error: 'T' is not a member type of 'R'
public prefix func <-<R: FallibleReceivable>(receiver: R) throws -> R.T? {
                                                                    ~ ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleSendable.swift:33:72: error: 'T' is not a member type of 'W'
public func <-<W: FallibleSendable>(sender: W, result: ChannelResult<W.T>) {
                                                                     ~ ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleSendable.swift:37:57: error: 'T' is not a member type of 'W'
public func <-<W: FallibleSendable>(sender: W, value: W.T) {
                                                      ~ ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Select/Select.swift:328:21: error: argument type 'Bool' does not conform to expected type 'ErrorType'
            done <- true
                    ^~~~
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Sendable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Receivable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleReceivable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleSendable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Sendable.swift:27:22: error: use of undeclared type 'T'
    func send(value: T)
                     ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Sendable.swift:30:49: error: 'T' is not a member type of 'R'
public func <-<R: Sendable>(sender: R, value: R.T) {
                                              ~ ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Sendable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Receivable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleReceivable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleSendable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Receivable.swift:27:23: error: use of undeclared type 'T'
    func receive() -> T?
                      ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Receivable.swift:31:56: error: 'T' is not a member type of 'S'
public prefix func <-<S: Receivable>(receiver: S) -> S.T? {
                                                     ~ ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Receivable.swift:35:57: error: 'T' is not a member type of 'S'
public prefix func !<-<S: Receivable>(receiver: S) -> S.T! {
                                                      ~ ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Sendable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Receivable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleReceivable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleSendable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Sendable.swift:27:22: error: use of undeclared type 'T'
    func send(value: T)
                     ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Sendable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Receivable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleReceivable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/FallibleChannel/FallibleSendable.swift:26:5: error: expected declaration
    associatedtype T
    ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Sendable.swift:27:22: error: use of undeclared type 'T'
    func send(value: T)
                     ^
/mnt/swift/ZewoTest/Packages/Venice-0.2.2/Source/Venice/Channel/Receivable.swift:27:23: error: use of undeclared type 'T'
    func receive() -> T?
                      ^
<unknown>:0: error: build had 1 command failures
error: exit(1): ["/usr/bin/swift-build-tool", "-f", "/mnt/swift/ZewoTest/.build/debug/Venice.o/llbuild.yaml"]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.