<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><div class="">I think that if you wrap C libraries you'll get stuck in the wrong mentality. Working with C libraries encourages thinking without protocols. Protocols like `ExpressibleByDictionaryLiteral` and `Sequence` are really easy to implement and make usage of conforming types really beautiful. I think that a lot of APIs will be designed with the wrong mentality, at least initially, because they're alien to Swift. And that'll create APIs for these libraries that are not at the level where they could be in a language like Swift.</div></div><div class=""><br class=""></div><div class="">I don't think we need to rush ourselves with trying to create the libraries rapidly. If you want to have a common set of libraries in which the entire community will cooperate I think Swift is the only way to go. Many people have already written big libraries and frameworks in Swift. And I myself would never remove my own Swift code in favour of C-reliant code. And I doubt it's just me. I think that people whom prefer pure Swift will stick with (their own) existing functionality and rather build on top of a C reliant codebase.</div><div class=""><br class=""></div><div class="">Besides that all I feel like there's no need to rush it. A good set of libraries needs time. If you have a million people working on something for a week it will never be as good as a hundred people for a year or two. A good API/library needs time to be thought out and will need more than a few nights of rest before I think the idea alone should be considered complete. I think this counts for C-based and pure Swift libraries.</div><div class=""><br class=""></div><div class="">And if we'd just take the time to develop something great it will have a much greater impact on the Server Side Swift world than it would otherwise.</div><div class=""><br class=""></div><div class="">Joannis</div><br class=""><div><blockquote type="cite" class=""><div class="">On 6 Nov 2016, at 10:44, Chris Bailey via swift-server-dev <<a href="mailto:swift-server-dev@swift.org" class="">swift-server-dev@swift.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><font size="2" face="sans-serif" class="">Whilst it might not feel like it, it seems
to be that we're all pulling in the same direction.</font>
<br class="">
<br class=""><font size="2" face="sans-serif" class="">Tony said:</font>
<br class=""><tt class=""><font size="2" class="">>> I think if the API design feels “alien”
to Foundation, then we either need to update the Foundation API to feel
like it fits in with Swift or design the server API to fit in with Foundation.<br class="">
<br class="">
>> I’ll keep pushing for this throughout the process. It’s really
important that we have a coherent stack of software from top to bottom.
Ending up with different model objects for URLRequest used in the same
app via two frameworks would be really unfortunate.<br class="">
</font></tt>
<br class=""><font size="2" face="sans-serif" class="">I think this completely aligns with
what everyone is saying - we want/need a coherent API stack with seamless
interop between any new APIs and the existing ones. The only thing we need
to work on is the approach to achieving that.</font>
<br class="">
<br class=""><font size="2" face="sans-serif" class="">For me, and I think that this is the
approach that Paulo is pushing for, is that we should first look at "what
do we think is the right approach", without any constraints. Once
we understand that, and any gap there is between that and the Foundation
approach, we can determine how we close that gap - whether we can do that
by evolving APIs, or whether it requires compromises for the sake of developer
experience and application code portability, etc. </font>
<br class="">
<br class=""><font size="2" face="sans-serif" class="">Chris<br class="">
</font>
<br class="">
<br class="">
<br class="">
<br class=""><font size="1" color="#5f5f5f" face="sans-serif" class="">From:
</font><font size="1" face="sans-serif" class="">Paulo Faria via swift-server-dev
<<a href="mailto:swift-server-dev@swift.org" class="">swift-server-dev@swift.org</a>></font>
<br class=""><font size="1" color="#5f5f5f" face="sans-serif" class="">To:
</font><font size="1" face="sans-serif" class="">Tony Parker <<a href="mailto:anthony.parker@apple.com" class="">anthony.parker@apple.com</a>></font>
<br class=""><font size="1" color="#5f5f5f" face="sans-serif" class="">Cc:
</font><font size="1" face="sans-serif" class="">Swift Server Dev <<a href="mailto:swift-server-dev@swift.org" class="">swift-server-dev@swift.org</a>></font>
<br class=""><font size="1" color="#5f5f5f" face="sans-serif" class="">Date:
</font><font size="1" face="sans-serif" class="">04/11/2016 23:08</font>
<br class=""><font size="1" color="#5f5f5f" face="sans-serif" class="">Subject:
</font><font size="1" face="sans-serif" class="">Re: [swift-server-dev]
HTTP Parser</font>
<br class=""><font size="1" color="#5f5f5f" face="sans-serif" class="">Sent by:
</font><font size="1" face="sans-serif" class=""><a href="mailto:swift-server-dev-bounces@swift.org" class="">swift-server-dev-bounces@swift.org</a></font>
<br class="">
<hr noshade="" class="">
<br class="">
<br class="">
<br class=""><font size="3" class="">> With respect to adopting other core Swift ideas like
value types: we turned 20 classes into value types last year. This included
a ton of work to adopt standard library protocols and improve type safety.
It is an absolutely huge surface amount of Foundation’s total API surface
area. It’s a large statement about how much we value making Foundation’s
API consistent for Swift.</font>
<br class="">
<br class=""><font size="3" class="">Yeah! I really love the effort you’re putting into making
Foundation more “Swifty”. That doesn’t go unnoticed. </font>
<br class="">
<br class="">
<br class=""><font size="3" class="">On Nov 4, 2016, at 8:49 PM, Tony Parker <</font><a href="mailto:anthony.parker@apple.com" class=""><font size="3" color="blue" class=""><u class="">anthony.parker@apple.com</u></font></a><font size="3" class="">>
wrote:</font>
<br class="">
<br class=""><font size="1" face="Helvetica" class="">However, I do not believe there is such
a fundamental conceptual mismatch here that we cannot preserve one of the
most useful aspects of developing with the iOS, macOS SDKs - consistent
types and low impedance mismatch between API at all levels of the stack.</font>
<br class="">
<br class=""><font size="3" class="">I definitely value "consistent types and low impedance
mismatch between API at all levels of the stack”. I just hope the APIs
are designed with the best of Swift in mind. Then after we get a good design,
we can see if it fits Foundation, and then make the adaptations there.
I think this approach would make Foundation follow along and become even
more “Swiftier” with time. Of course this is easier said than done, but
I believe that’s what would make the ecosystem as a whole become better
for Swift.</font><tt class=""><font size="2" class="">_______________________________________________<br class="">
swift-server-dev mailing list<br class="">
<a href="mailto:swift-server-dev@swift.org" class="">swift-server-dev@swift.org</a><br class="">
</font></tt><a href="https://lists.swift.org/mailman/listinfo/swift-server-dev" class=""><tt class=""><font size="2" class="">https://lists.swift.org/mailman/listinfo/swift-server-dev</font></tt></a><tt class=""><font size="2" class=""><br class="">
</font></tt>
<br class="">
<br class="">
_______________________________________________<br class="">swift-server-dev mailing list<br class=""><a href="mailto:swift-server-dev@swift.org" class="">swift-server-dev@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-server-dev<br class=""></div></blockquote></div><br class=""></body></html>