Guild icon
swift-developers-japan
コミュニティ / waiwai-swiftc
Avatar
@hiragram Connpass公開してくだせえ
Avatar
あれ、もうする?
Avatar
あ、しないのか
Avatar
登壇者ある程度募ってからでは
Avatar
とりあえず場所と日付を告知したい。
Avatar
会場案内のテキストとか用意してもらってるから、それはまだちょっとさき
12:18 PM
そうそう
Avatar
僕とおもちだけだと開催が危ぶまれるぞ
Avatar
↑とりあえず チャンネルのとこにかいた
Avatar
日付は12月4日で場所はメルカリ社です
12:19 PM
会場提供ありがとうございます
Avatar
残念。12月1日なら東京にいるのに。
😢 4
Avatar
12/4は別イベントの運営で行けません🙏
Avatar
@d_date @lovee @omochimetaru じゃあおいら行きます!!
Avatar
平和で楽しい議論をわいわいやりたい方はどんどん声を上げていただければ
Avatar
よろしくおねがいしますー
👋 3
Avatar
iOSのDiscord Offline会とかまじか。 会場のメルカリのキャパわからんから、どのくらいの規模になるんだろう
3:17 PM
まだ調整中ですが30から40くらいの人数になるかと思います
3:17 PM
わいわいやりましょう
🙌 4
Avatar
地方勢なので参加できませんが、実況や感想など楽しみにしております。 Discordのビデオ通話で、映像配信があったりするのでしょうか。
Avatar
yutailang0119 11/17/2017 1:59 AM
connpassまだかな
Avatar
@Puramu 映像配信は検討中です @yutailang0119 登壇者の数見てからもうちょっと形式についてまとめてからconnpass立てる予定です(下書きで非公開の状態になっています)
👍 2
Avatar
# iOS Discord Offline ## とは 日頃SwiftやiOSについて深く熱い議論が交わされているDiscordのios-discord-japanサーバーのミートアップです。より多くの人にDis cord上で発信してもらうために、普段アクティブに活動しているメンバーが実際に意見を交わす様子をパネルディスカッション形式で見られるイベントです。 Discord上でのやり取りがあまりに速く進むので、ついていけない、怖いといった印象をお持ちの方がいるかもしれませんが、そんなことないよ、平和で楽しいよ、と いうことがお伝えできればと思います。 ios-discord-ja...
🙌 2
1:03 PM
よろしゅう!
Avatar
これって僕は参加者のほうクリックしないほうがいいのか?
Avatar
しなくていいと思うw
Avatar
もうしちゃった・・・
Avatar
いいけどw
Avatar
枠が29になってしまった。
Avatar
キャンセルもできるし、別にしてもしなくてもいいよー
Avatar
キャンセルすると「キャンセルした人」に表示されるようになって余計混乱を招きそう
Avatar
じゃあそのままで
Avatar
あい
1:48 PM
映像配信はしない事にしました。 初回で運営も手探りのためシンプルにします。 期待していた地方勢の方が居たら申し訳ないです。
👌 3
Avatar
@omochimetaru 配信は大変だと思うけど録画はどうでしょう?音声拾うのが大変かな?
Avatar
録画よりDiscordのScreen sharingとかの方が良さそうな気がする。 https://support.discordapp.com/hc/en-us/articles/115000982752-Screen-sharing-Video-Calls
In addition to being a pretty sweet voice & text chat app, Discord can offer you and up to 9 of your closest compadres an equally awesome video and screen sharing experience.  Woah. Totally. Wi...
12:45 AM
けど、どちらにしても結構大変だよね。
12:46 AM
Liveのみならダメで元々とも思える。
Avatar
運営側のリソース的に映像収録まで常に気にしていられるかどうかわからないので、今回大盛り上がりして次回があったらそこで映像も検討という感じにさせていただきたいっす 🙏
👍 5
Avatar
今日だ
🐦 4
Avatar
たのしみにしています
3:38 AM
@tarunon 体調いきてますか
Avatar
出社してますよ、大丈夫です
Avatar
よかったよかった
Avatar
気がついたらテーマが設定されてた
Avatar
omochimetaru 12/4/2017 5:36 AM
テーマ?なんのこと? (edited)
Avatar
テーマ 第一部: モダンなプログラミング言語としてのSwift Swiftの言語仕様やコンパイラなどについて語ります。 キーワード Swift 4.1 SwiftとObjective-C Swiftと他の言語 マルチプラットフォーム Conditional conformance Memory ownership 第二部: iOSアプリの開発言語としてのSwift iOSアプリを開発するにあたって、よりSwiftyな手法やAppleのフレームワークとの上手な付き合い方などについて語ります。 キーワード UIKitとIUO より安全にUIKitを扱う方法
Avatar
今気づくな
Avatar
omochimetaru 12/4/2017 5:36 AM
おせえよw
5:36 AM
連絡してたじゃんw
Avatar
脳みそが停止してたと思う
Avatar
omochimetaru 12/4/2017 5:37 AM
そっちは異常な早朝だった可能性ある
Avatar
二度寝前に行動して記憶が欠落してるパターンか
Avatar
前半はモダンなプログラミング言語としてのSwiftについて、後半はiOSアプリ開発言語としてのSwiftとして
5:38 AM
ディープな話をしてもらうぞ
🙆 1
Avatar
飲食物って、懇親会までは無いですか?(懇親会の21時までのはらぺこりん対策をするか否かで気になっています 🤔 )
Avatar
オッ @jollyjoester さんいかがでしょうか
7:29 AM
ちなみに、タイムスケジュール上では21時懇親会スタートとなっていますが、実際の進行の様子によっては20時半くらいまで前倒しになる可能性ありです
👀 1
Avatar
jollyjoester 12/4/2017 7:29 AM
いまのところ懇親会からご飯の予定(20:30-20:50くらいに準備)ですが、可能なら早めてもらうようにしますか
🙏 2
Avatar
あ、いずれか知りたかっただけなので、早めていただくとかの調整は僕は求めて無いです 🐶
7:31 AM
開場とともに、飲み物・軽食をつまめる勉強会もあるので、今日のはどういう形式なのかなと 🤔
Avatar
omochimetaru 12/4/2017 7:32 AM
(勉強会経験が浅くて なるほどそういうのもあるんだなあ ひらり任せた)
Avatar
jollyjoester 12/4/2017 7:32 AM
今日は懇親会からの予定です^^/
実際の進行の様子によっては20時半くらいまで前倒しになる可能性ありです
ここに反応してやべ、早めるかってなりましたw
Avatar
あ、なるほど、確かに。 了解です、ありがとうございます 🙆
Avatar
omochimetaru 12/4/2017 9:54 AM
フロアめちゃめちゃ広い!!
Avatar
ひゃー
9:54 AM
1人4つくらい椅子ある
🙀 1
Avatar
おしりが 4 つ必要
😁 1
Avatar
クアッド尻
Avatar
おしりは初期状態で2つなのか1つなのか問題
Avatar
1 物理 2 論理
Avatar
入場始まってるので、きてね〜
Avatar
すみません、10分弱遅れます!!🙇
Avatar
yutailang0119 12/4/2017 10:23 AM
六本木には着
Avatar
はじまるぞ!
Avatar
すごいあっとほーむな感じ
Avatar
ここで実況してください~マルチポストも歓迎です!
Avatar
discord の集まりだけど #ios_discord ハッシュタグとはこれいかに
Avatar
Bot疑惑が晴れましたね
Avatar
ワイワイ
10:35 AM
ハードル下げたい
Avatar
一説によると僕と @omochimetaru は同一人物で自作自演とか言うのを聞いた事がある
Avatar
リモート参加👀
Avatar
同一人物説w
Avatar
野生のSwifterが現れる?!
Avatar
( ´・?・`)
10:38 AM
なめくじさん
Avatar
生息域
Avatar
あの方がなめくじさん🤔
Avatar
@tarunon の存在確認を初めてした
Avatar
事象ではなく個人ですよ!
😀 1
Avatar
あの方がおもちめたるさん🤔
Avatar
おなかが不安定なおもちめたるさん
Avatar
ROM専な @takasek さん
Avatar
「ほぼFiNC」というところで働いてらっしゃる
Avatar
Yoshikuni Kato 12/4/2017 10:40 AM
来ました(初投稿)
Avatar
会場にいないけど、なにやってるかわかる
Avatar
最近はSwift 4.1のリリースに関する事が話題
10:41 AM
swift.orgからダウンロード出来る
Avatar
yutailang0119 12/4/2017 10:42 AM
誰もApple TVを取れない
Avatar
(macがミラーリングしているつもりになっているとは🤔)
Avatar
事故
Avatar
Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns.
Avatar
https://apple.github.io/swift-evolution/ Swift 4.1に入るやつ・入りそうなやつはここで一覧できます
👀 1
10:43 AM
swift-evolution/0143-conditional-conformances.md at master · apple/swift-evolution https://github.com/apple/swift-evolution/blob/master/proposals/0143-conditional-conformances.md
swift-evolution - This maintains proposals for changes and user-visible enhancements to the Swift Programming Language.
Avatar
struct Box<T> { let value: T } extension Box: Equatable where T: Equatable { static func == (lhs: Box, rhs: Box) -> Bool { return lhs.value == rhs.value } }
10:45 AM
Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns.
Avatar
↓昔の状態 func ==<X>(a: [X], b: [X]) where X: Equatable { ... } (edited)
Avatar
//:configuration = Debug OTHER_SWIFT_FLAGS = -enable-experimental-conditional-conformances //:configuration = Release OTHER_SWIFT_FLAGS = -enable-experimental-conditional-conformances //:completeSettings = some OTHER_SWIFT_FLAGS
Avatar
takasek さんがんばって
Avatar
unknown.png
Avatar
ambiguous
Avatar
(何が起こってるのか会場にいてもわからないw)
Avatar
🙅 ambitious
Avatar
ambitious
Avatar
グダグダw
Avatar
yutailang0119 12/4/2017 10:47 AM
1人佇む @takasek
Avatar
(今なんの話をしているのかわかってない...。1回で理解できなかった...。)
Avatar
@tarunon 黙らないで
Avatar
もくもく
Avatar
こうしようねという話
👀 1
Avatar
これプロジェクト?Playground?
Avatar
画面きびしいなあ
Avatar
cond conf = Conditional Conformance
Avatar
「Xcodeで飛ぶのは難しい」
Avatar
「Xcodeで飛ぶのは難しい」
Avatar
昔の環境に戻してコンパイルエラーなの見えるとおおってなりそう
Avatar
みんな定義に飛べない
Avatar
cond confが使えると、Boxに適用されているEquatableが中のvalueにも適用される?
Avatar
逆ですねそれは
Avatar
@ktanaka117 多分逆で、中身がEquatableならBoxもEquatableになれる だと思います
Avatar
なるほど、多謝🙏
Avatar
swift-evolution - This maintains proposals for changes and user-visible enhancements to the Swift Programming Language.
Avatar
Person書き始めたところから理解が追いつかなくなってきた
Avatar
(Javaの話わからん...!)
Avatar
さすが濃いメンツ!
Avatar
yutailang0119 12/4/2017 10:58 AM
Personは全てのプロパティがEquatableだから、Personの==は書かなくてよい?
Avatar
@yutailang0119 そこまではなんとなくわかった
10:59 AM
あれ、というかこれって第一部ですらないの?w
Avatar
Yoshikuni Kato 12/4/2017 10:59 AM
Objective-C required us to wax philosophic about the nature of equality and identity. To the relief of any developer less inclined towards handwavy treatises, this is not as much the case for Swift.
10:59 AM
いつもHashableつくるとき、ここの方法でやってるんですが、これって問題あるんでしょうか・・・?
👀 1
Avatar
a
68.04 KB
Avatar
yutailang0119 12/4/2017 11:00 AM
@omochimetaru < ↑これを読めばわかる
Avatar
なんでこんなん読めるんwww
Avatar
swiftc -emit-sil a.swift > a.txt
11:03 AM
swift-evolution - This maintains proposals for changes and user-visible enhancements to the Swift Programming Language.
Avatar
15分越しぐらいに実行できた
👍 1
Avatar
// Will not currently compile protocol Sequence { associatedtype SubSequence: Sequence where Iterator.Element == SubSequence.Iterator.Element, SubSequence.SubSequence == SubSequence // Returns a subsequence containing all but the first 'n' items // in the original sequence. func dropFirst(_ n: Int) -> Self.SubSequence // ... }
Avatar
This pull request implements the standard library part of SE-0157: Recursive Protocol Constraints, which includes: Make the SubSequence associated type have the same capabilities as its enclosing ...
Avatar
This pull request implements the standard library part of SE-0157: Recursive Protocol Constraints, which includes: Make the SubSequence associated type have the same capabilities as its enclosing ...
Avatar
enum-convertible - Protocols for enum abstraction.
Avatar
gysb - Generate your swifty boilerplate
11:08 AM
↑これね
Avatar
swift-evolution - This maintains proposals for changes and user-visible enhancements to the Swift Programming Language.
11:10 AM
// Test for a simulator destination #if (arch(i386) || arch(x86_64)) && (!os(macOS)) print("Simulator") #else print("Device") #endif // More restrictive test for iOS simulator // Adjust the os test for watchOS, tvOS #if (arch(i386) || arch(x86_64)) && os(iOS) // iOS simulator code #endif
Avatar
#if targetEnvironment(simulator)
👀 1
11:12 AM
Swift近況は https://swiftweekly.github.io のメルマガ購読するとコスパ良く追えてオススメです( ´・‿・`)
A community-driven weekly newsletter about Swift.org
👀 4
🙏 1
Avatar
@Kishikawa Katsumi さんに前に上がってほしいなw
☝ 7
Avatar
お、席がちょうど1つ空いてる👀
👀 1
11:16 AM
go
11:16 AM
Avatar
20時までが1部だった予定 (edited)
Avatar
第一部強制終了w
Avatar
第1部強制終了
Avatar
いい司会
Avatar
いや、予想してたんだけど時間が全く足りないぞ
Avatar
10分で2部やるぞー
11:17 AM
and drink
Avatar
第二部はiOSアプリを開発する言語としてのSwift
11:18 AM
UIKitとSwiftの相性よくないところはあるよね
Avatar
先に休憩ですよ!
Avatar
岸川さんが後半に前に出てきたの予定調和ぽい( ´・‿・`) (edited)
Avatar
tarunon/Instantiate: Type-safe and constructor injectable InterfaceBuilder protocols. https://github.com/tarunon/Instantiate ゴング置いときます
Instantiate - Type-safe and constructor injectable InterfaceBuilder protocols.
👍 1
Avatar
えっなにそれは
Avatar
(これ聞きたい)
Avatar
めっちゃたのしそうだ…!
Avatar
めっちゃ食べ損ねた
11:29 AM
ごちそうさまでした🙇🙇🙇🙏🙏🙏
🙏 1
Avatar
protocolinit を書くと self を上書きできる
Avatar
dependencyのスペルはあってた
😜 1
Avatar
ライブコーディング 👀
Avatar
protocol で init を書くと self を上書きできる
protocol extensionの中で実装するとselfを上書きできる
☝ 1
11:32 AM
やってやってーキャッキャ/
Avatar
coder aDecoder: NSCoder を実装すれば🤓
11:35 AM
static func make() -> Self を実装すれば良いのでは
Avatar
わかる!
Avatar
岸川さんエンジンかかってきた
Avatar
init(withNibName: ) にnilをつっこむと、その<クラス名>.nibから生成できる
Avatar
いいぞやれやれー
Avatar
Yoshikuni Kato 12/4/2017 11:38 AM
prototype cellですね
Avatar
cellはxib派とcase by case派
Avatar
VCとxibの組み合わせで使われることって多いんですか?
Avatar
最近もろxib派でやってたわw
👀 1
Avatar
cellはもとよりxib派だった 👀
Avatar
確かにオフラインの方が和気あいあいで暖かい感じ( ´・‿・`)終始なごやか( ´・‿・`) (edited)
😇 1
Avatar
おもちめたる氏の連続する「なんかオシャレなの」
😎 1
Avatar
segueやっぱ使わないよね
Avatar
segueはオワコン説
Avatar
たしかにContainerはSegueでつないでるわ
Avatar
Yoshikuni Kato 12/4/2017 11:40 AM
segue使うか使わないかこの前会社の人と議論してちょっと気まずくなりました・・・(私は使わない派)
Avatar
Swiftの話は飛んでいった
Avatar
AutoLayoutはコードで書く派だ
Avatar
case by case で柔軟にやろう!
Avatar
ワークアラウンド職人
Avatar
でもUITableViewControllerつかう?
Avatar
岸川さん警察👮
Avatar
適切に選べる
Avatar
UITableViewControllerはまあまあ使ってる 🐶
Avatar
UIViewControllerにUITableView貼り付けてやること多いかなぁ
🙋 2
Avatar
Yoshikuni Kato 12/4/2017 11:43 AM
たまにTableViewControllerの方が便利なことある
Avatar
UITableViewController, UICollectionViewControllerは使った事ない
Avatar
そうか、TableViewController in ContainerView で使うのがよいのか
Avatar
yutailang0119 12/4/2017 11:44 AM
static cell使いたい設定画面とか
👆 3
Avatar
UITableViewController、Container Viewで使えば大体良いよねで落ち着きつつあって同感
Avatar
Yoshikuni Kato 12/4/2017 11:46 AM
stackview + scrollview, 割と使ってるかも・・・
Avatar
Disclosure Indicator(右端にある>みたいなやつ)ほしいときとかもTableViewのほうが楽そう
Avatar
岸川さんが良い感じに保守派でバランス良い( ´・‿・`)
Avatar
え、Discordのオンライン率、高すぎ...!
Avatar
Swift関係ないぞ
Avatar
「ios-developers-japan」サーバーだから何の問題も無いぞ
👽 2
Avatar
第二部: iOSアプリの開発言語としてのSwift
Avatar
😆 4
😩 1
😂 2
Avatar
Yoshikuni Kato 12/4/2017 11:49 AM
Avatar
大事: ケースバイケースなんですけど
Avatar
頑張って作る理由とか意図とかちゃんと考えてっていう話
Avatar
これはえぐい
Avatar
確かにAppleが作ってるUIをデザイナーが真似しちゃう事あるある
Avatar
Yoshikuni Kato 12/4/2017 11:51 AM
でもこういうデザイン出てくることよくあるなぁ・・・w
Avatar
我々はきちんと説明しないといけないんですよ
Avatar
このアプリのこの感じ実装してとかよくある
Avatar
でもここまで見て参考にしてくれるデザイナーだったらかなりいi
Avatar
yutailang0119 12/4/2017 11:51 AM
笑っちゃう岸川さん
Avatar
なぜか角丸になってるの身に覚えがありすぎる (edited)
Avatar
ついに正式リリースとなった「iOS11」多数の機能追加を含む大幅なアップデートとなりました。しかし一部で「ダサすぎる」と話題になっています。いったいどういうことなのでしょうか。 原因は「タイポグラフィー」 このことはデザイナーのライアン・ラオ氏がベータテスター中に発見したものです。それは英語版によるものですが、ここでは日本語版についてみてみましょう。タイポグラフィーとは、文字を美しく読みやすくする技術のこと。美しいとはどういうことか、みていただけると思います。 まずは、「メモ」アプリと「メール」アプリをみてみましょう。タイトルの始まりのマージンに統一性がありません。「メモ」ではかなり狭く設定されているのに対し、メールは広く設定されています。 さらにメールボックスの文字をみてみましょう。タイトル文字間の調整カーニングがされていません。簡単にカーニングしてみたものが右になります。どちらが「美しい」でしょうか。 その他のアプリでもデザインの問題が 例えば「天気」アプリですが、こうして中心線を引いてみると、「23°」という位置がずれて見えませんか? ラオ氏は「iOS10」との比較画像で指摘しています。 同じく「iOS10」との比較で、「Apple ID」の一貫性のなさも指摘しています。 どうした?アップル!? アップルはその美しいカリグラフィーやタイポグラフィーを導入したことで、パソコンのデザインという新たな価値を生み出しました。Windowsと比べてみると、通常使っているフォントから美しさがあります。 それが「iOS11」になっていきなりどうしたのでしょうか。次期のアップデートで改善されるのか。Apple信者はそう信じたいところでしょう。 参考URL:hackernoon
Avatar
yutailang0119 12/4/2017 11:53 AM
メッセージ送る人がいないからわからない
😢 4
Avatar
なんかそもそもこの 「新着メッセージ」 のマージンが心を不安にさせる() (edited)
😫 2
Avatar
yutailang0119 12/4/2017 11:55 AM
岸川さん、最初から登壇が決まっていたかのような順応
Avatar
ワークアラウンド
Avatar
今公式のメールアプリ触ってて気づいたけど、メールボックス一覧からメールボックス開いて右手の親指で編集ボタン押さえて左手の親指で戻るボタン押すっていうのを2回くりかえすとメールアプリが落ちます
👀 5
💩 1
Avatar
work around がお仕事
Avatar
Yoshikuni Kato 12/4/2017 11:56 AM
新しいSwiftyなUIKitが今後登場することはないんでしょうか・・・?
👍 4
Avatar
yutailang0119 12/4/2017 11:56 AM
よく言われる UXKitはよ
Avatar
公式に登場することを願いつつ、独自にそれっぽいやつ作るのは良くないなあ、と感じます( ´・‿・`)
👍 3
Avatar
rintaroさんも前に上がってしまえばいいのでは?
👆 3
👍 2
Avatar
まだ2席空いてるらしい
👍 1
Avatar
クラスクラスター = initした時にそのクラスでないクラスを生成することができる作り?
Avatar
tauronさんが書いてくださってて感謝しかない
👍 1
✌ 1
Avatar
Swiftの場合「initした時はそのクラスを返却しなければ行けない」という制約がある? (edited)
Avatar
Dogもいる
12:04 PM
tarunonさん空気読みつつコードに落とし込む能力すごすぎる
😁 1
✌ 1
Avatar
(これどこで使うんだろう🤔)
12:05 PM
この記事は、俺コン Vol.1 / Day. 2 - connpassでの発表を、文章としてリライトしたものです。 スライド版: [ ![ima...
Avatar
(Discordっぽさとは🤔)
Avatar
ありがたい
Avatar
面白くなってきた
Avatar
protocol Factoryable { init(factory: () -> Self) } extension Factoryable { init(factory: () -> Self) { self = factory() } } class MyAnimal: Factoryable { convenience init(name: String) { if name.contains("Cat") { self.init { MyCat() } } else { self.init { MyDog() } } } } class MyCat: MyAnimal { var meou: String { return "meou" } } class MyDog: MyAnimal { } let x = MyCat(name: "Dog") x.meou // Crash!!
Avatar
yutailang0119 12/4/2017 12:07 PM
俺コン Vol.1 / Day. 2 - connpass https://orecon.connpass.com/event/64285/ での発表資料です。

参考資料

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice) | Dustin Boswell, Trevor Foucher, 須藤 功平, 角 征典 |本 | 通販 | Amazon https://www.amazon.co.jp/dp/4873115655 Amazon | 新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES) | Martin Fowler, 児玉 公信, 友野 晶夫, 平澤 章, 梅澤 真史 通販 https://www.amazon.co.jp/dp/427405019X
Avatar
World // Crashed!! (edited)
😇 1
Avatar
にゃーん
Avatar
ほーーー
Avatar
Shinji.Kobayashi 12/4/2017 12:11 PM
やばい挙動ですね
Avatar
これなった
Avatar
d_dateさんの投稿が拾われている
👀 1
Avatar
おなじよね
Avatar
@d_date CLEM終わったんw
Avatar
たまたまバイナリが重なっている??
12:16 PM
どんどんヤバい生き物になっていっているw
12:16 PM
誰かいい加減殺してあげて!!
Avatar
ついにXcode毎吹き飛んだ
Avatar
カタカナ出てきたら通訳してくれる @takasek 優しい
😊 1
Avatar
Phantom Typeの説明が「型パラメータで状態を持つ」ってのめっちゃわかりやすい説明だった
Avatar
import Foundation protocol Factoryable { init(factory: () -> Self) } extension Factoryable { init(factory: () -> Self) { self = factory() } } class MyAnimal: Factoryable { convenience init(name: String) { if name.contains("Cat") { self.init { MyCat() } } else { self.init { MyDog() } } } } class MyCat: MyAnimal { var meou: String { return "meou" } } class MyDog: MyAnimal { func bark(arg: String) -> String { return arg } } let x = MyCat(name: "Dog") let y = x.meou // Crash!!
😱 1
Avatar
Xcodeを絶対殺すヤバいコード
😄 2
Avatar
どうも
Avatar
「このチャンネルで話してるこの話ってどういうこと!?」 と思った方は #beginner-help-archived へ!
🙋 5
12:20 PM
めちゃくちゃ面白かった!あざます!!!
Avatar
2か月か1ヶ月に1回やりたいね! (と誰かが言っていた (edited)
Avatar
六本木キラキラしててキツいものがあったので、オンラインはありがたい
🌞 3
😎 2
Avatar
関東組以外は参加大変だし、OnlineでVCでやれるといいね〜 (と誰かが言っていた (edited)
👍 2
Avatar
@hiragram#0393 このあと登壇してたw
Avatar
@here 昨日のをまとめたのでよかったら見てね。 っ https://dev.classmethod.jp/event/event-report-ios-discord-offline-1/
はじめに おばんです、田中です。 今日はDiscord上に存在するios-discord-japanというコミュニティのミートアップに参加してきたので、レポートをお届けします。 ios-discord-japan の普段 […]
👏 18
💯 3
🎅 1
Avatar
@ktanaka117 ありがとうございます! ここで断片的にしか追えてなかったので、どんなことをどんな雰囲気で話されていたのかとてもよくわかって、うれしいです!
😊 1
Avatar
@everyone おはようございま〜す 昨日イベントに参加していただいた方、会場には来れなかったけどチャットを見ていて下さった方、ありがとうございました! やる前は盛り上がるかどうか結構不安だったんですが、懇親会ではいろいろいい声をいただけて嬉しかったです。 特に昨日会場に参加された方に、イベントのフィードバックのためのアンケートにご協力頂きたいです。 https://docs.google.com/forms/d/e/1FAIpQLSeZTzNyx-jlrDPw5th77ZpNGeB2v69omv-3x8cKraIal4HHjw/viewform またやってほしい、次も参加したい、という声が多かったら、映像配信なども含めて改めていろいろやっていけたらなと思っています。よろしくお願いします
頂いた意見は今後の参考にさせていただきます。ユーザー名以外の記入していただいた情報は、ブログ等で紹介させて頂く場合がございます(NGの場合はその旨も記入して下さい)。
🙆 8
Avatar
📦 のまとめブログ読んでるけど、Factoryable の動作闇すぎて興味深い
👻 2
Avatar
めっちゃおもしろかったですよ。メモリレイアウトが感じられて
Avatar
話題の初出は2017/05/19
Avatar
5月は多分まだここに入ってなかったかも 🤔
4:57 AM
というか5月ってことはSwift 3からずっとこの動きでアップルがまだこれ直してないってこと?
Avatar
rintaro - 2017/05/19 https://gist.github.com/rintaro/b16f05411cfe540754285dcc0da60174 Gist factory_init.swift これも Dog(type: "cat") 呼べちゃうっていう問題がきつい この辺で話題になった
4:58 AM
1. 治すのが恐らく大変 2. それによって不幸になる人がどれくらい居るかというと…
5:00 AM
LinuxFoundationだけじゃなくって本体側でも使ってるのかな
5:00 AM
これはテストか
Avatar
omochimetaru 12/5/2017 5:01 AM
// RUN: %target-typecheck-verify-swift -swift-version 4
5:01 AM
swift5になったときにswift4互換挙動としてこれが動くことを担保するために先に書いてあるテストだね
Avatar
ファイル名が dynamic_self_swift4 🤔
Avatar
omochimetaru 12/5/2017 5:02 AM
swift5でなんとかしたいという気配が感じられるファイル名
5:02 AM
// Semi-bogus factory init pattern
Avatar
クラスクラスタで崩壊するのはまあ謂わばエッジケースだし
5:02 AM
悪意を持ってやらないと壊れないからなぁ
5:03 AM
こっちのほうが詳しくあった
Avatar
以前 static func init の話もしてたけど、それは少なくともまだ戻り値の型がちゃんと正しい型でしたな、こいつ Dog なのにデバッグ情報としての型は Cat (edited)
Avatar
convenience initが呼べる条件が、全てのinitが実装されていること、だったかな
5:06 AM
その条件にprotocol extensionで実装されたinitが加味されていないのが問題の中枢
👀 1
5:07 AM
init(factory: () -> Self)のwitness-tableには、Cat,Dogはなくて、Animalだけがある、だから、convenience initはCat/Dogからは呼べない、が正しいと思うんですよね
5:08 AM
この問題僕が随分前に報告したprotocol extension + overridingの問題も関係してくるな
Avatar
そもそもprotocol extensionで self = factory() が書けるのが問題な気が…通常のclassの convenience init でも self = ... はエラーになるはず
Avatar
それはSlava氏曰く出来るはずだ、という話を @rintaro が昨日
5:09 AM
protocol extension + overridingはこれ https://bugs.swift.org/browse/SR-103
5:09 AM
3桁台だ。2桁ゲットできなかったのが悔やまれる
Avatar
omochimetaru 12/5/2017 5:11 AM
そもそもprotocol extensionで self = factory() が書けるのが問題な気が…通常のclassの convenience init でも self = ... はエラーになるはず
そうなんだよね、現状仕様だとclassではself = xx 形式のinitは書けないんだけどprotocol extensionはstructに配慮した仕様になっててそれに巻き込まれてclassでも可能になる
Avatar
convenience initでself=で書けても良いような気はするけどそれはダメなんだっけ
Avatar
omochimetaru 12/5/2017 5:12 AM
今はできないよ、self.initの呼び出しでないといけない
Avatar
protocol SomeProtocol: nonclass くる?
Avatar
omochimetaru 12/5/2017 5:12 AM
でも、だからそれをできる側に整理していこうぜ、ってアイデアがあるという話だったね
Avatar
いや、可能性の問題としてそれを許容すると崩壊するか否か
5:12 AM
nonclass指定はほしいこと結構ありますね
Avatar
omochimetaru 12/5/2017 5:14 AM
それを許容すると一般にinitが返すインスタンスがそれ自身ではなくそれのサブクラスである可能性を認めることになるから、 単純にやると いろんな super.init が地雷原になりそう convenience init みたいに factory init みたいな別概念で区別してオーバライド規定を整理する感じだとうまくいくのかな・・・
Avatar
factory init作って、self代入を許すがサブクラスからは呼べないし、superでコールも出来ない
5:15 AM
こういう仕様ならイケる気がする
Avatar
omochimetaru 12/5/2017 5:16 AM
static functionと何が違うんだ感あるけどまあ
Avatar
initで書きたいんや、という話?w
Avatar
omochimetaru 12/5/2017 5:16 AM
そうなってきそう。
5:17 AM
init? や init() throws があるから他の言語だとstatic funcになるようなやつもinitにできるしね〜
Avatar
class Animal { factory init(name: String) { ... } } class Cat: Animal { init() { super.init(name: "Cat") } } // Compile Error Cat.init(name: "Cat") // Compile Error
5:17 AM
これなら崩壊しないとおも
5:17 AM
init?とinit throwsでなんか困った記憶あるんだよな~~
5:17 AM
なんだったかな
Avatar
omochimetaru 12/5/2017 5:18 AM
↑そうだね、そういうのがよさそう
Avatar
init(throws x: String) throws { // この中でOptionalなsuper.init(convenienceでself.init)を呼んでnilならErrorを出したい } これめちゃくちゃ困ってるんですが、classだけで完結できる方法ありますかね?
5:28 AM
あ、ここオフラインだ
5:28 AM
#swift
Avatar
かっくん 12/5/2017 8:17 AM
そういえば今日配信されてたビルドで struct Box<T> { let value: T } extension Box: Equatable where T: Equatable { static func == (lhs: Box, rhs: Box) -> Bool { return lhs.value == rhs.value } } これが普通に動いてる気がする
Avatar
omochimetaru 12/5/2017 8:20 AM
今日のビルドヤバそうなんですよね 慌てて出したからベータ化されてて有効になっちゃってるとか?
8:20 AM
#xcode チャンネルに書きました。
Avatar
ベータどころかアルファに近そう
Avatar
かっくん 12/5/2017 8:22 AM
ややこしくてすいません。。Swift 4.1 devの話でしたっ
Avatar
@here https://docs.google.com/forms/d/e/1FAIpQLSeZTzNyx-jlrDPw5th77ZpNGeB2v69omv-3x8cKraIal4HHjw/viewform ぶっちゃけ2回目もやりたいのでフィードバックいっぱい下さい!
頂いた意見は今後の参考にさせていただきます。ユーザー名以外の記入していただいた情報は、ブログ等で紹介させて頂く場合がございます(NGの場合はその旨も記入して下さい)。
✅ 4
Avatar
参加者ではないのでフィードバックすることはできませんが、今回は参加できませんでしたので次回開催があれば参加したいです!
🐶 1
🙌 3
Avatar
突然失礼します。UserDefaultsをテキストベースでexport/importできるライブラリとかご存知ないですか (edited)
Avatar
#swift-zatsu が適切かなあ
Avatar
helpでもよさそう
Avatar
ライブラリの話する場所、なかったかも
7:08 AM
ほしいかな
Avatar
チャンネル違いすません!
Avatar
Kishikawa Katsumi 12/7/2017 7:09 AM
dictionaryRepresentationしてからファイルにしたらいいんじゃないかな。
Avatar
テキストにして何したいかが重要そう
Avatar
目的はバックアップ/復元なのですが、型情報の扱いに困っていまして
7:19 AM
dictionaryRepresentation これでやりたいことできそうです。
😀 2
㊗ 3
Avatar
iOS Discord 新年会(ぼそっ
🎍 8
🎉 5
Avatar
今日はここを使うぞ
Avatar
TachibanaKaoru 3/30/2018 10:27 AM
wiwi!
Avatar
わいわい
Avatar
SSIDとパスワードってどこにありますか??
Avatar
わいわい
Avatar
今渋谷でバスに乗った
Avatar
わいわい
Avatar
ライブ配信あります
Avatar
わいわい
Avatar
Naruki Chigira 3/30/2018 10:33 AM
わいわい
Avatar
わいわい
Avatar
配信チェック完了
👍 4
Avatar
配信あるんですね
10:35 AM
わいわい
Avatar
人権情報欲しい😇
Avatar
(Disclaimer: This is a post on my personal blog, not officially endorsed by Apple. It does not discuss any commitments to future plans, or…
Avatar
人権は与えました
😍 1
Avatar
配信助かります🙏
👍 1
Avatar
Youtubeなのでアーカイブもされます、最初のグダグダも残っちゃうけど開始時間は書いておきます。
11:05 AM
Optionalのサブタイピングは整合性が…取れないんだ…!
😭 2
11:08 AM
Optional崩壊についてはこちらのコメント欄をご参照ください
Avatar
Optionalのネストは大変だなー
11:10 AM
Kotlinだとnullableのネストがないから Any < Any? となって、Any?がtop typeとして綺麗に成立しているのかな
Avatar
ですね
Avatar
untagged union (annotationも)みたいなものであれば、サブタイピング扱いにしても崩壊はしない
11:11 AM
なのでObjective-Cのnullableはサブタイプで正解です
Avatar
@autoclosure の関数は @autoclosureじゃない関数のサブタイプになれるって書いてあるコメントをみつけた // An @autoclosure function type can be a subtype of a // non-@autoclosure function type. (edited)
Avatar
めっちゃ良い発表でした 🙌
Avatar
protocol Foo { associatedtype Bar func foo<T: HasB>(t: T) where T.B == Bar } protocol HasB { associatedtype B } struct C<E>: Foo { typealias Bar = [E] } この状態でCにfooを補完させると func foo<T>(t: T) where T : HasB, [E] == T.B { } というコンパイルの通らないコードが補完される
Avatar
Introduce a new Type node, BoundNameAliasType, which describes a reference to a typealias that requires substitutions to produce the underlying type. This new type node is used both for references ...
Fix a number of small issues with BoundNameAliasType to bring it up to parity with NameAliasType, so the former will be able to replace the latter. This includes: Making BoundNameAliasTypes profil...
11:21 AM
^これがomochimetaruさんが話してた件のPR
11:26 AM
なるほど・・・・・・
11:26 AM
CurPtr = BufferEnd 確かにこれいきなり出てきたらギョッとする
Avatar
休憩終わり
11:54 AM
Generic Animal Data Type
Avatar
iOSのDiscordで定期的にあがる話題として「protocol型の値がそのprotocol自身にconformしていないのはなぜ?」というものがあります。 例えば以下のようなコードです。 ```swift protocol An...
Avatar
generalized-existentialsの話ここかな swift/GenericsManifesto.md at master · apple/swift https://github.com/apple/swift/blob/master/docs/GenericsManifesto.md#generalized-existentials
swift - The Swift Programming Language
Avatar
ディスカッションぽくなってきて最高
Avatar
たのしいw
12:18 PM
4.1でも挙動変わってなさそう
12:23 PM
結局SR-6304はなぜ起きてるのかさっぱりわからんので解説して欲しい
12:23 PM
r06とか簡単な例で
Avatar
熱気がすごい(物理)
Avatar
あついw
Avatar
Kishikawa Katsumi 3/30/2018 12:48 PM
型システム入門の読書会が必要だな。
👍 8
👀 3
Avatar
Pを集合として表現していいなら、存在型の表記は { ∃X where X: P, X } より { ∃X ∈ P, X } のほうがいいかもなって思った
Avatar
ikesyoさんと飲みに行くので参加者募集です
Avatar
omochimetaru 3/30/2018 1:16 PM
あれ?うきたかさんときたさんはどこ
Avatar
★★★☆☆3.55 ■24Hコスパ良し☆北京ダックなど本格中華が300種。100円小皿がアツい。宴会¥1880〜 ■予算(夜):¥2,000~¥2,999
Avatar
omochimetaru 3/30/2018 1:21 PM
(ああ、片付けなどがあったのか。
Avatar
最初窮屈だと思いますが、突入しました。
Avatar
さーせん、別の花見予定があり離脱しました…!次回も参加します!!!
🙌 8
Avatar
発表ありがとうございました!
Avatar
Kishikawa Katsumi 3/30/2018 3:54 PM
@ukitaka おもしろかったです。勉強になりました。
Avatar
あざす、型システム入門読書会ぜひやってください 💪
4:59 PM
資料あげました!conpassの方にも資料載せたいけどなぜかエラーになってしまうので明日またトライしてみます
5:05 PM
(あ、できた)
Avatar
オブジェクトの生存期間を保証する関数みたいな話題が雑談であったと思うんですが、関数名何でしたっけ
Avatar
これだ!ありがとうございます
Avatar
どうせだったら bodyT を受けてくれたらいいのに・・・。
Avatar
便利すぎる
3:41 AM
便利すぎるというか、逆にこれは使わずに書いてて動いちゃってるのが怖いですね
Avatar
おお! < バリエーション
Avatar
使ってなくて怖いと思うコードの実例ってどんなのです?
Avatar
ある型がdeinitのタイミングでするタスクが有る、それがクロージャの実行結果に作用するケース、例えばRxSwiftのDisposeBagなんかはそれを踏みそうだと思います
3:51 AM
ちょうどメモリリークの検査を考えていて、クロージャの終了までは存在を保証したいというケースだったのでこれを使いました。
Avatar
なるほど。deinit に副作用がある場合は重要ですね。
Avatar
RxSwift, deinitの副作用結構沢山あって、(NSObjectのdeallocもハックしている)から、ちょっと気をつけないといけない気がする (edited)
👀 2
Avatar
ちなみに、あのとき話してた self.disposeBag = nil // その他処理... } みたいなときに、 deinit の発行が その他処理の「後」になることがあり得るか?という話に関しては、無いかなーと思っていますが、検証はしていません。 (edited)
Avatar
以前deinitが先、nillingで直ちに発生なのは実験して確かめました。でも暗黙的ですよね、あまり頼りたくない気持ちがある
7:20 AM
値型についてはendScopeで明示的に殺せるようになるかも。
7:21 AM
明示的なnil代入については、そもそもARCの採用(trace GCの不採用)が deterministic な解放処理のニーズも理由の一つだから
7:22 AM
さすがにそれが後になっちゃあいかんと思うけど、明示的な文書はみたことなし。
Avatar
omochimetaru 5/7/2018 3:14 AM
今日だ
Avatar
会場が静かでウケる。
Avatar
わいわい
Avatar
わいわいしてない
Avatar
わいわいしたかった(現地時刻午前3時)
Avatar
わいわい
Avatar
わいわい
Avatar
わいわい
Avatar
わいわい
Avatar
わいわい
Avatar
わいわい!
10:29 AM
🙌
🙌 6
Avatar
音乗ってない(^o^)
Avatar
小さいではなく?
10:31 AM
音声入りました。
10:32 AM
イベントチャンネルにもつなぎました
Avatar
@tarunon ボイスチャット何かやってるの?
Avatar
オンラインから質問どうぞ (edited)
Avatar
なるほど
Avatar
YouTubeのアドレスってTwitterとかに流しちゃっていいやつです?
Avatar
いいですよ
👏 1
Avatar
@swift-4.1.3 @swift-4.2.4 protocol P {} protocol Foo { var foo: Int { get } } extension Int: P {} extension Array: Foo where Element: P { var foo: Int { return count } } let a = [1,2,3] print(a is Foo) (edited)
Avatar
stderr:main.swift:12:9: warning: 'is' test is always true print(a is Foo) ^ warning: Swift runtime does not yet support dynamically querying conditional conformance ('Swift.Array<Swift.Int>': 'main.Foo') Could not cast value of type 'Swift.Array<Swift.Int>' (0x7f6f03a20240) to 'main.Foo' (0x7f6f03a20280). #0 0x0000000003f24d64 PrintStackTraceSignalHandler(void*) (/usr/bin/swift+0x3f24d64) #1 0x0000000003f250a6 SignalHandler(int) (/usr/bin/swift+0x3f250a6) #2 0x00007f6f07f2c390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390) #3 0x00007f6f0666b428 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x35428) #4 0x00007f6f0666d02a abort (/lib/x86_64-linux-gnu/libc.so.6+0x3702a) #5 0x00007f6f038fbf13 (/usr/lib/swift/linux/libswiftCore.so+0x39df13) #6 0x00007f6f038f84d9 (/usr/lib/swift/linux/libswiftCore.so+0x39a4d9) #7 0x00007f6f038f852b (/usr/lib/swift/linux/libswiftCore.so+0x39a52b) #8 0x00007f6f038f9a78 _dynamicCastToExistential(swift::OpaqueValue*, swift::OpaqueValue*, swift::TargetMetadata<swift::InProcess> const*, swift::TargetExistentialTypeMetadata<swift::InProcess> const*, swift::DynamicCastFlags) (/usr/lib/swift/linux/libswiftCore.so+0x39ba78) #9 0x00007f6f0835b2ad #10 0x00007f6f0835b10e #11 0x0000000000fed1ce llvm::MCJIT::runFunction(llvm::Function*, llvm::ArrayRef<llvm::GenericValue>) (/usr/bin/swift+0xfed1ce) #12 0x0000000000ff1692 llvm::ExecutionEngine::runFunctionAsMain(llvm::Function*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, char const* const*) (/usr/bin/swift+0xff1692) #13 0x00000000004d9076 swift::RunImmediately(swift::CompilerInstance&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, swift::IRGenOptions&, swift::SILOptions const& (edited)
Avatar
truestderr:main.swift:12:9: warning: 'is' test is always true print(a is Foo) ^
Avatar
わいわい!
10:38 AM
@here わいわい!
10:39 AM
^ WebのPlaygroundもバージョン切り替えできるようにしました。 (edited)
10:41 AM
@swiftbot --version=4.0,4.0.2,4.0.3,4.1,4.1.1,2018-05-02-a protocol P {} protocol Foo { var foo: Int { get } } extension Int: P {} extension Array: Foo where Element: P { var foo: Int { return count } } let a = [1,2,3] print(a is Foo)
🛠 2
Avatar
swiftbot BOT 5/7/2018 10:41 AM
Author icon
kishikawakatsumi
protocol P {} protocol Foo { var foo: Int { get } } extension Int: P {} extension Array: Foo where Element: P { var foo: Int { return count } } let a = [1,2,3] print(a is Foo)
Version:
swift-4.0-RELEASE
Output:
Error:
/usercode/main.swift:7:1: error: extension of type 'Array' with constraints cannot have an inheritance clause extension Array: Foo where Element: P { ^ ~~~
Version:
swift-4.0.2-RELEASE
Output:
Error:
/usercode/main.swift:7:1: error: extension of type 'Array' with constraints cannot have an inheritance clause extension Array: Foo where Element: P { ^ ~~~
Version:
swift-4.0.3-RELEASE
Output:
Error:
/usercode/main.swift:7:1: error: extension of type 'Array' with constraints cannot have an inheritance clause extension Array: Foo where Element: P { ^ ~~~
Version:
swift-4.1-RELEASE
Output:
Error:
/usercode/main.swift:12:9: warning: 'is' test is always true print(a is Foo) ^ warning: Swift runtime does not yet support dynamically querying conditional conformance ('Swift.Array<Swift.Int>': 'main.Foo') Could not cast value of type 'Swift.Array<Swift.Int>' (0x7fc841935240) to 'main.Foo' (0x7fc841935280). /usr/bin/swift[0x3f24d54] /usr/bin/swift[0x3f25096] /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7fc845641390] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x7fc843d80428] /lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7fc843d8202a] /usr/lib/swift/linux/libswiftCore.so(+0x39df13)[0x7fc841810f13] /usr/lib/swift/linux/libswiftCore.so(+0x39a4d9)[0x7fc84180d4d9] /usr/lib/swift/linux/libswiftCore.so(+0x39a52b)[0x7fc84180d52b] /usr/lib/swift/linux/libswiftCore.so(+0x39ba78)[0x7fc84180ea78] [0x7fc845a702ad] [0x7fc845a7010e] /usr/bin/swift[0xfed1ce] /usr/bin/swift[0xff1692] /usr/bin/swift[0x4d9076] /usr/bin/swift[0x4c35d3] /usr/bin/swift[0x4beecc] /usr/bin/swift[0x4778c4] ...
Version:
swift-4.1.1-RELEASE
Output:
Error:
/usercode/main.swift:12:9: warning: 'is' test is always true print(a is Foo) ^ warning: Swift runtime does not yet support dynamically querying conditional conformance ('Swift.Array<Swift.Int>': 'main.Foo') Could not cast value of type 'Swift.Array<Swift.Int>' (0x7f2e73ecc240) to 'main.Foo' (0x7f2e73ecc280). /usr/bin/swift[0x3f24d64] /usr/bin/swift[0x3f250a6] /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7f2e77bd8390] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x7f2e76317428] /lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7f2e7631902a] /usr/lib/swift/linux/libswiftCore.so(+0x39df13)[0x7f2e73da7f13] /usr/lib/swift/linux/libswiftCore.so(+0x39a4d9)[0x7f2e73da44d9] /usr/lib/swift/linux/libswiftCore.so(+0x39a52b)[0x7f2e73da452b] /usr/lib/swift/linux/libswiftCore.so(+0x39ba78)[0x7f2e73da5a78] [0x7f2e780072ad] [0x7f2e7800710e] /usr/bin/swift[0xfed1ce] /usr/bin/swift[0xff1692] /usr/bin/swift[0x4d9076] /usr/bin/swift[0x4c35d3] /usr/bin/swift[0x4beecc] /usr/bin/swift[0x4778c4] ...
Version:
swift-4.2-DEVELOPMENT-SNAPSHOT-2018-05-02-a
Output:
true
Error:
/usercode/main.swift:12:9: warning: 'is' test is always true print(a is Foo) ^
10:41 AM
10:41 AM
10:41 AM
Author icon
kishikawakatsumi
protocol P {} protocol Foo { var foo: Int { get } } extension Int: P {} extension Array: Foo where Element: P { var foo: Int { return count } } let a = [1,2,3] print(a is Foo)
Version:
swift-4.2-DEVELOPMENT-SNAPSHOT-2018-05-02-a
Output:
true
Error:
/usercode/main.swift:12:9: warning: 'is' test is always true print(a is Foo) ^
10:42 AM
↑CondConfのバグ
Avatar
YouTubeありがてぇ
Avatar
where Key == Value やばそう
Avatar
Kishikawa Katsumi 5/7/2018 10:45 AM
@swiftbot --version=latest protocol A { static func foo() } extension Dictionary: A where Key == Value { static func foo() { print(type(of: self)) } } extension Array where Element: A { static func foo() { Element.foo() } } [String: String].foo() // Dictionary<String, String> [[String: String]].foo() // Dictionary<Dictionary<String, String>, Dictionary<String, String>>
🛠 1
Avatar
swiftbot BOT 5/7/2018 10:45 AM
Author icon
kishikawakatsumi
protocol A { static func foo() } extension Dictionary: A where Key == Value { static func foo() { print(type(of: self)) } } extension Array where Element: A { static func foo() { Element.foo() } } [String: String].foo() // Dictionary<String, String> [[String: String]].foo() // Dictionary<Dictionary<String, String>, Dictionary<String, String>>
Version:
swift-4.2-DEVELOPMENT-SNAPSHOT-2018-05-02-a
Output:
Dictionary<String, String>.Type Dictionary<String, String>.Type
Error:
Avatar
Kishikawa Katsumi 5/7/2018 10:45 AM
^ 直ってる?
Avatar
omochimetaru 5/7/2018 10:46 AM
治ってそう
Avatar
Youtuberでーす!!
📹 1
Avatar
いまSFOにいなかったっけ。
Avatar
現地時刻午前3時49分
Avatar
Avatar
知らなかった。べんり<Hashable
10:49 AM
知らなかったは嘘か、忘れてた。
Avatar
taketoさんのやつこれでしたっけ @swift-4.2.4 protocol A {} protocol B: A {} protocol C: A {} protocol D: B, C {} struct X<T>: A{} extension X: D where T == Int { // Type 'X<T>' does not conform to protocol 'B' }
👉 1
Avatar
stderr:main.swift:11:1: error: conditional conformance of type 'X<T>' to protocol 'D' does not imply conformance to inherited protocol 'B' extension X: D where T == Int { // Type 'X<T>' does not conform to protocol 'B' ^ main.swift:11:1: error: conditional conformance of type 'X<T>' to protocol 'D' does not imply conformance to inherited protocol 'C' extension X: D where T == Int { // Type 'X<T>' does not conform to protocol 'B' ^ main.swift:11:1: note: did you mean to explicitly state the conformance like 'extension X: C where ...'? extension X: D where T == Int { // Type 'X<T>' does not conform to protocol 'B' ^
Avatar
Swift 4.1 is now officially released! It contains updates to the core language, including more support for generics, new build options, as well as minor enhancements to Swift Package Manager and Foundation. There was also significant progress m...
Avatar
結構快適に視聴できてて助かる
Avatar
結局 import PlaygroundSupport するのはPlaygroundBookでしかできない? 🤔 Linked Frameworks からaddするのかと思ったらそれもできないし
Avatar
Kishikawa Katsumi 5/7/2018 11:33 AM
iOS-Runtime-Headers - iOS Objective-C headers as derived from runtime introspection
Avatar
まちがったw
😾 2
Avatar
まちがったんかい
Avatar
youtubeの音声が若干ハウってて色々試してたんよw
Avatar
maji
Avatar
あ、治った
Avatar
@objc protocol Foo { optional func aaa() }
Avatar
swift/DeclNodes.def at e57467a56345ea47f5c5d6895dcbb5785aad17ca · apple/swift https://github.com/apple/swift/blob/e57467a56345ea47f5c5d6895dcbb5785aad17ca/include/swift/AST/DeclNodes.def 頻出パターン
swift - The Swift Programming Language
Avatar
attributeとかもこのパターンで定義されてるっぽい https://github.com/apple/swift/blob/master/include/swift/AST/Attr.def
swift - The Swift Programming Language
Avatar
概要 moaible-swift-memo.hateblo.jp コマンド生成 - モードによる分岐終了まで フラグ一覧 参考: swift-clang/Options.td at ba3b1c672105db284b1e425d4ab7cdc8411f29a3 · apple/swift-clang · GitHub Swift関連で追加してる...
Avatar
遠くからでも来やすいように👀 @ukitaka
12:35 PM
配信ありがとうございました!!!
Avatar
音声うまくいってなかったかも、すみません(´・ω・`)
Avatar
Kishikawa Katsumi 5/7/2018 12:35 PM
@d_date 寝ないでKeynoteですか?
Avatar
いや、概ね大丈夫だったよ @Kishikawa Katsumi 今日はまだ7日の朝で、バッジのピックアップがあるだけです。
12:36 PM
本編は8日から
Avatar
Kishikawa Katsumi 5/7/2018 12:36 PM
あ、そうなんですね。ということは日本だとあしたの深夜?
Avatar
28時間後だから、あしたの深夜かな?
Avatar
次回のわいわいswiftc #3は6/22の予定
Avatar
Kishikawa Katsumi 6/12/2018 3:24 AM
https://twitter.com/soutaro/status/1006245582321606656 カジュアルな「型システム入門」話をしてもらうのどうですかね?松本さんは専門家なのでバックグラウンドは保証します。今Rubyに型アノテーション付けるSteep作ってる人。元同僚。
こんな感じの、一回試しにやってみたいので、30分とか話させてくれる会があったら教えてほしいと思っています。 https://t.co/8IRFjR1ERM
Avatar
omochimetaru 6/12/2018 3:26 AM
聞きたい!
Avatar
おおお、聞きたい・・・。録画があるとてもうれしいです。
Avatar
Kishikawa Katsumi 6/12/2018 3:32 AM
来週のやつに誘ってみます。
Avatar
めっちゃ聞きたい
Avatar
ありがとうございます!楽しみです
Avatar
omochimetaru 6/17/2018 2:19 PM
@kitasuke 金曜日のやつ、何点か小ネタを話そうと思います 時間見積もれてないけど15〜30分ぐらいかな
Avatar
ありがとうございます!お願いします!
Avatar
omochimetaru 6/20/2018 4:25 PM
LT3つのつもりだったんだけど、2つめのスライド、話題がswiftcに入る時点ですでにP17になっている😲
Avatar
時間が足りなかったら飲みながら話せば良いんですよ
Avatar
omochimetaru 6/21/2018 2:40 AM
タイムテーブル自体はよく見るとめちゃくちゃ余裕あるな
Avatar
雑に更新しました!
Avatar
omochimetaru 6/21/2018 3:03 AM
ども〜
Avatar
omochimetaru 6/21/2018 4:22 AM
@kitasuke もう前日だけど、松本さんの発表者紹介を書きませんか?
Avatar
そうですね
4:25 AM
@Kishikawa Katsumi 松本さんが他の勉強会等で使っている自己紹介はご存知ですか?もしあるならそれを許可もらって使うのが良いですかね
Avatar
Kishikawa Katsumi 6/21/2018 4:25 AM
@kitasuke 聞いてみますね。サッと送ってくれる気がします。
Avatar
ありがとうございます!
4:28 AM
@omochimetaru おもちさんも発表者紹介のせますか?
Avatar
omochimetaru 6/21/2018 4:39 AM
そうですね。「最近の趣味はゲームとswiftコンパイラいじり」でお願いします タイトルは swiftcのデバッグ方法 IRGenからみたType Metadata swiftcのマングリングとSubstitution の3つで。
👍 1
Avatar
Kishikawa Katsumi 6/21/2018 5:48 AM
@kitasuke https://rubykaigi.org/2018/presentations/soutaro.html#jun01 RubiKaigiのやつです。SideCIは名前がSiderに変わっているので、それだけ変えてください。
Avatar
ありがとうございます!
6:23 AM
# わいわいswiftc わいわいswiftcは、Swift Compilerとその周辺技術に関する勉強会です。初心者・上級者を問わず、情報交換とディスカッションの場として機能することを目的としています。 swiftcとはSwift Compile...
👏 1
10:29 AM
配信はじめました
10:29 AM
eventの音声チャンネルでリアルタイム音声も配信してます
Avatar
わいわい
😛 1
Avatar
YouTube勢です。
swift 5
Avatar
Siderは、GitHubに対応したコードレビュー自動化サービスです。静的解析ツールを使ってプルリクエストをチェックし、自動的にプログラムの問題を検出、日本語で指摘します。Ruby, PHP, JavaScript, CSS, Java, Python...
Avatar
配信ありがたい
Avatar
会場の方々の声は配信されてないのかな?
Avatar
マイクを通さないと音声が配信できないです申し訳ない😿
Avatar
なるほどー。
Avatar
ミキサーとか準備して会場音声拾えるようにしたいな
10:56 AM
会場から大量のマサカリがw
10:58 AM
・Swiftのasは as?もあるよ。 ・if letと組み合わせて使えるよ。 ・ObjCはランタイムになんでもできるよ。実行時に型を作ることもできる。 ・Swiftのasはテスト以外もできるよ。structからclass(StringからNSString)、TからT?への変換が代表的だよ。
🙏 3
10:59 AM
拾いきれない🤕
Avatar
えっ。 let a: [String] = [] let b: [Int] = a as! [Int] (edited)
11:02 AM
これは実行時には大丈夫なのか。(実行時にはワンチャスキャストできるのか)
Avatar
実行時大丈夫であるべき警告がおかしい 😄 実行時クラッシュするべき警告は正しい 😠 どちらでもいい/わからない/考え中 🤔 (edited)
😄 2
😠 4
Avatar
あーなるほどね。
Avatar
理論上最強...rustかな...
11:14 AM
ト印w
Avatar
LaTeXでは \vdash で入力するので研究者はブイダッシュといったり、あるいは imply と読んでいるひともいたような。
😮 1
Avatar
面白い。配信ありがとうございますー😃
🙌 1
Avatar

はじめに

ScalaはJavaと違って共変・反変が定義できるため、型パラメータの取り扱いが一段と複雑になっている(なおJavaでは配列のみ共変の振る舞い)。 Scaladocを読んでは[+A]、[-B]、[A1 >: A]、[B1...
Avatar
面白いです!ほんとにわいわいしてるw
Avatar
@escaping/@noescape はオーバーロードできる?
11:21 AM
@swiftbot func a(_ f: @escaping () -> ()) { } func a(_ f: () -> ()) { }
🛠 1
Avatar
Author icon
tarunon
func a(_ f: @escaping () -> ()) { } func a(_ f: () -> ()) { }
Version:
swift-4.1.1-RELEASE
Output:
Error:
/usercode/main.swift:2:6: error: invalid redeclaration of 'a' func a(_ f: () -> ()) { } ^ /usercode/main.swift:1:6: note: 'a' previously declared here func a(_ f: @escaping () -> ()) { } ^
Avatar
グオオ
Avatar
@escapingの挙動よくわからん 🤔
11:25 AM
サブタイプと言えるのかな
Avatar
swiftはoptional protocolって作れないでしたっけ
Avatar
@objc をつけると作れる
Avatar
ProtocolのOptionaメソッド?
Avatar
(前回のwaiwaiで知ったw
Avatar
あーそうでした。
Avatar
"kind of constraint" と subtypingってどう違うんですっけ…
Avatar
default implを空でextensionに実装しちゃう手段もある
Avatar
おぉなるほど。
Avatar
Swiftではextensionが推奨で
11:26 AM
Optional methodはObjective-Cとの互換のため以外には使わない方が良いですね
11:26 AM
なんか??みたいな変な型になる
Avatar
optional var window: UIWindow? < こんにちは
Avatar
swift - The Swift Programming Language
Avatar
ついに会場に静止がw
Avatar
protocol A {} class B: A{} class C: A{} vs enum A { case b(B) case c(C) }
Avatar
Scalaは継承で定義するという選択をしてますね
Avatar
Scalaはシールドクラスがありますね(綴りに自信がないのでカタカナを使う)
Avatar
Scala だと seald class で網羅性検査ができるっていう解決法になっていて性質としては ADT なんですよね
Avatar
Kotlinもsealedできる
Avatar
KotlinはScalaの子供だから…
Avatar
なるほど
Avatar
(全く同じこと書こうとしていたけど怒られが発生しそうなので黙っていた)
Avatar
Union Typesというとタグ無しのほうの話かと思ったけどタグありの話が展開されている
Avatar
なんか、昔kotlinのドキュメントにそういう感じのこと書いてあったけどある日突然消えた気がする…
Avatar
C は Union だとタグ無しですもんねぇ
Avatar
おっ。。。Optionalかな。。。
11:50 AM
Kotlinのは型というよりアノテーションぽい
11:52 AM
難しい話をしたはずの登壇者が一番疲れてる…
Avatar
難しい話をした人がつかれるのはそれはそうでは
Avatar
会場からのマサカリの数が
😇 1
Avatar
Kishikawa Katsumi 6/22/2018 11:53 AM
別に斧は飛んでなかったと思いますよ。
Avatar
swiftのnullableの型理論の側面からの話を聞きたい
Avatar
マサカリにマイナスイメージはあんまりもってないです。語弊がありました 🙇
Avatar
Kishikawa Katsumi 6/22/2018 11:54 AM
細かいツッコミ失礼しました🙇
Avatar
ダックタイピングというのは「偶然辻褄があっている状態」のことですからね
Avatar
「ただのダック」🦆
Avatar
そういえば @koher さんが前に、enumがnominalなのは嫌だって言ってたんですが、untagged unionが欲しいという話だったんだなあと合点がいきました https://twitter.com/koher/status/888960280490721280 (edited)
@takasek non-nominal的なものがほしいのを、nominalな汎用な型で代替してる点ですね。 #swtws
Avatar
@swiftbot class A { func hoge(a: Sub) -> Sub { return Sub() } } class B: A { override func hoge(a: Super) -> SubSub { return SubSub() } } class Super {} class Sub: Super {} class SubSub: Sub {} (edited)
🛠 1
Avatar
(edited)
Author icon
Biacco42
class A { func hoge(a: Sub) -> Sub { return Sub() } } class B: A { override func hoge(a: Super) -> SubSub { return SubSub() } } class Super {} class Sub: Super {} class SubSub: Sub {}
Version:
swift-4.1.1-RELEASE
Output:
Error:
Avatar
このproposalが通れば具体型でSelfが使えるようになる https://github.com/apple/swift-evolution/blob/master/proposals/0068-universal-self.md
swift-evolution - This maintains proposals for changes and user-visible enhancements to the Swift Programming Language.
Avatar
なんで返り値 AnyString のときダメなんです??
Avatar
引数Selfは壊れるけど、中でSelfはしばしば使いたくなりますね
Avatar
Self で static 呼びたくて呼べなくて震えてる
Avatar
protocol Myself {} extension Myself { var `Self`: Self.Type { return type(of: self) } static var `Self`: Self.Type { return self } } class Foo: Myself { func bar() { Self.hoge() } static func baz() { Self.hoge() } static func hoge() { print("called") } } 今でもこういうことはできると聞きました
👀 3
Avatar
おもちくんの発表時間は残ってなさそうですね👻
Avatar
4倍速で話すか
Avatar
誰も理解できなくなるw
Avatar
めちゃめちゃ勉強になりました!
swift 2
12:22 PM
実行時にコンパイルが走るけどコンパイル時型検査がなくて実行時に型チェックするPHPが変な言語だということがよくわかりました。
🤔 1
Avatar
動的言語と静的言語は向き不向き流行り廃りがあるので、ここにいる人たちは静的言語が向いている分野で戦っているのでちょっと動的言語に対して風当たりは強くなっちゃいますね。。。
👌 1
12:24 PM
私も含めて。
Avatar
PHPはもともとインタプリタとして開発されて、その後(主にパフォーマンスの理由で)バイトコードにコンパイルする実装が出てきたという認識で、静的型検査はその頃眼中になかったんじゃないですかね
Avatar
Advanced Debugging with Xcode and LLDB;https://developer.apple.com/videos/play/wwdc2018/412/
Discover advanced techniques, and tips and tricks for enhancing your Xcode debugging workflows. Learn how to take advantage of LLDB and...
🙏 2
Avatar
ガチLTだ
12:49 PM
よめねえw (edited)
Avatar
Substitutionすごい
Avatar
そろそろ配信終わります。お疲れ様でした。
Avatar
1/10倍速で聞きたい
Avatar
良かった😃 🙌
Avatar
Youtube配信は後ほど自動でアーカイブされます
Avatar
おつです
Avatar
別のことをしていてすっかり遅刻してしまいましたが、いちおうScalaを業務で書いているマンとしてちょっとenum vs protocol をやっていきたいと思います。 protocol A {} class B: A{} class C: A{} vs enum A { case b(B) case c(C) }
👀 1
4:11 PM
この2つですが、もしかして会場では答えでている可能性あって、そうしたら申し訳ないんですが、まさに上の方で議論されているようにSwiftにはsealdがないので、protocolを利用した上の例では、予想しないような実装(クラス・構造体)が作られる恐れがあり、またパターンマッチで網羅性を検査することができません。
4:12 PM
じゃあ、下のenumがいいのか、という議論になるかというとそうではなくて、(勘違いだったら申し訳ないんですが)Swiftのenumの各タグ(?、たとえば上記の例でいうaとかb)はたしか型パラメーターが取れないです。
👉 1
4:13 PM
だから、たとえば型レベルリスト(HList)のようなデータ構造を作りたいときは、パターンマッチの網羅性を犠牲にしてでも前者のprotocolをつかって次のようにやるしかない、といった感じになるんじゃないでしょうか。 public protocol HList { } public struct HNil: HList { init() { } } public struct HCons<H, T: HList>: HList { public let head: H public let tail: T public init(_ h: H, _ t: T) { self.head = h self.tail = t } }
4:13 PM
この例ではタグ(?)としてHNilHConsがありますが、HConsが型パラを取るので、こうしています。
Avatar
@omochimetaru 前に作ってたswiftでなんちゃってsealedはこの問題解決できますか
Avatar
ほほー。そんなテクがあるのか……?
Avatar
うろ覚えですが、protocolの中にinnerなenumを返す箇所を定義してそれをoverrideでselfをラップして返すことで網羅性を担保しつつ…みたいな雰囲気だった記憶
Avatar
なるほどー。(ちょっと考えてみよう)
Avatar
overrideじゃなくて実装で、ですね。innertypeはprotocolには定義できないから別個だ
Avatar
omochimetaru 6/22/2018 4:22 PM
とりあえず、なんちゃってsealedでは対応できない。 あれはありえるサブクラスを全部定義したenumを別途用意するテクニックだけど
4:22 PM
この場合だとHNil, HList<Int, HNil>, HList<Int, HList<Int, HNil>>... ってありえる型が無限通りあるから。
Avatar
caseが無限個になっちゃうわけか
Avatar
omochimetaru 6/22/2018 4:23 PM
うん。でもそもそもこのケースって、Scalaであっても、
4:23 PM
サブクラスに関して網羅はできないのでは・・・?
4:24 PM
それともSwiftにおいてenumでやるかprotocol準拠でやるかという判断において、enumだとだめなケースについて例示している?
4:25 PM
List<A> (要素の型が全部同じ)ならできるけど、
4:26 PM
HListだと要素の型と要素数がハードコードされててenumにできないっていうのは面白い指摘ですね
Avatar
はい。enumだと各タグ(?)は型パラメーターが取れないから、enumではできそうにない、という例として使いました。 (edited)
Avatar
ワンチャンあるかも
4:28 PM
ネストした個数で要素数を表現できれば、いけそうな気がしてきました
Avatar
omochimetaru 6/22/2018 4:28 PM
あー・・・
Avatar
末尾は型パラVoidで
Avatar
omochimetaru 6/22/2018 4:29 PM
そうか、ちょいまってて
Avatar
おっ。
Avatar
indirectを捨てたList<T>の再発明で動く予感はしています
Avatar
omochimetaru 6/22/2018 4:30 PM
enum HList0 { case `nil` } enum HList1<T1> { case `nil` case list0(HList0) } enum HList2<T1, T2> { case `nil` case list1(HList1<T2>) } enum HList3<T1, T2, T3> { case `nil` case list2(HList2<T3, T3>) }
Avatar
@omochimetaru
Scalaであっても、サブクラスに関して網羅はできないのでは
sealed で各クラスが final だと(デフォルトで final ?)サブクラスを後で足せないのでは?
Avatar
@omochimetaru それ再帰的に定義できない?
Avatar
omochimetaru 6/22/2018 4:31 PM
@koher HListの場合の話です。サブクラスの数が無限にある。
Avatar
型パラはTとNextで末尾ならNext=Void
Avatar
HConsHNil の二つがあればいいんじゃない?
Avatar
omochimetaru 6/22/2018 4:31 PM
いや、それはそうなんですが、
4:32 PM
HConsが型パラをまた再帰的に取るから
4:32 PM
HConsの型パラを埋めきったコンクリートな型を
4:32 PM
網羅的に列挙できないと思って。
4:32 PM
HConsであることだけでは型として完成しないから意味がないような気がします。
4:33 PM
@tarunon あれ、それだけかな?
Avatar
私の直感は其れと囁いてるけど、私の理解が間違ってるかも
Avatar
https://qiita.com/yyu/items/e8f1b4a17dac4f9108a5 public protocol HList { } public struct HNil: HList { init() { } } public struct HCons<H, T: HList>: HList { public let head: H public let tail: T public init(_ h: H, _ t: T) { self.head = h self.tail = t } }
Avatar
omochimetaru 6/22/2018 4:34 PM
@tarunon Tが Cons or Nil であることはどう制約する?
Avatar
そこの制約がいるのか、そして未知の型から列挙にできなくなる、と
Avatar
おっと、流用元がばれてしまったw
Avatar
この間流れてたからタイムリーな気はするw
Avatar
omochimetaru 6/22/2018 4:38 PM
なんかなんちゃって化ができるような気もするな・・・
Avatar
後一枚足りない
Avatar
@omochimetaru sealed があれば↓で限定できてない? // Kotlin sealed class HList { class HNil: HList() class HCons<H, T: HList>(val head: H, val tail: T): HList() }
Avatar
omochimetaru 6/22/2018 4:39 PM
@koher それ、実際にswitch caseなりでダウンキャストができないのでは?ってことです。
Avatar
この場合のHListって、TがHConsの場合にその中のHを限定する必要は無いんですか?、
Avatar
実際にswitch caseなりでダウンキャストができないのでは?
うーん、 Kotlin だとパターンマッチがないからできない気がするけど、パターンマッチがあれば型を明記しなくても headtail にマッチングできないかな?
Avatar
omochimetaru 6/22/2018 4:42 PM
[Int, String, Int] みたいなリストから、一個ずつ型安全に取り出せるのがHListの旨味ですよね? (edited)
Avatar
@tarunon
TがHConsの場合にその中のHを限定する必要は無いんですか?
あると思います。
Avatar
[Int, String, Int] みたいなリストを、一個ずつ型安全に取り出せるのがHListの旨味ですよね?
そうです!
Avatar
じゃあ必ずしも同じである必要はないし、むしろ逆
Avatar
たとえば HCons<Int, HCons<String, HCons<Bool, HNil>>> とは、先頭の値の型が Int であり、かつ2番目の値の型が String であり、そして3番目の値の型が Bool であることを示している。
Avatar
omochimetaru 6/22/2018 4:43 PM
だから、 > 型を明記しなくても Hの型を明記しない形で取り出しても、そもそも旨味がなくなってしまう。
Avatar
任意のHList型からswitchのパターンマッチは、まあそもそもの型の定義的に無限通りになるから無理なので (edited)
4:46 PM
switchでうれしい場面が見えなくなってきてしまった
Avatar
パターンマッチが網羅される、とはどういうことか?についてちょっと整理しましょう。わかりやすい部分として、普通のリストを考えますが switch list { case let .Cons(v): ??? case let .Nil: ??? } みたいな ☝ な例は、どんなリストに対しても「どのパターンに行けばいいか決定できない」というケースがないので網羅しています。
4:48 PM
ところが、 switch list { case let .Cons(v): ??? case let .Cons(.Cons(v)): ??? }
4:48 PM
これは網羅できてないですね。
4:49 PM
これと全く同じことが、HLIstでもできてほしいんです。
Avatar
omochimetaru 6/22/2018 4:49 PM
protocol HListProtocol { associatedtype HeadType associatedtype ConsType: HListProtocol func asEnum() -> EHList<HeadType, ConsType> } indirect enum EHList<H, L: HListProtocol> { case `nil` case cons(H, EHList<L.HeadType, L.ConsType>) }
4:49 PM
↑できたかも? (edited)
Avatar
switch hlist { // たとえばhlistの型は HCons<Int, HCons<String, HCons<Bool, HNil>>> だとする。これはコンパイラなら知ってるぞ case let .HCons(v): ??? // 当然 :point_up: の先頭の型は Int だから、vはIntだぞ case let .HNil: ??? }
4:51 PM
ほほー。
Avatar
omochimetaru 6/22/2018 4:51 PM
あ、だめっぽい、nilのほうが終端しない・・・
Avatar
ところで、HListならまあ、どうにかJavaでもできそうなんですけど、
4:52 PM
じゃあ、2つのHListの値があったとき、それらをアペンドする関数をかけるか?というのは実はSwiftとかじゃないとキビしいと思います。
4:53 PM
(ちょっと話がながくなりすぎたかなw)
Avatar
omochimetaru 6/22/2018 4:54 PM
Javaだとappendが厳しいというのはどういうことですか?
Avatar
直感だとJavaでもSwiftでも変わらなさそうな?
Avatar
omochimetaru 6/22/2018 4:55 PM
Swiftのstructでの実装の場合であっても、nilとconsの網羅したフローを書きそこねる可能性はあるので同じ気がします。
Avatar
HCons<Int, HCons<String, HCons<Bool, HNil>>>HCons<Int, HCons<String, HCons<Bool, HNil>>>があったら、アペンドするとHCons<Int, HCons<String, HCons<Bool, HCons<Int, HCons<String, HCons<Bool, HNil>>>>>>という型が帰ってくる関数です。
4:56 PM
(僕もSwiftで実装してみよ)(実はみきり発射) (edited)
Avatar
omochimetaru 6/22/2018 4:57 PM
ああ、それがgeneric functionのシグネチャとして表記できるか、ということですね。
Avatar
そうです!
Avatar
omochimetaru 6/22/2018 4:58 PM
型パラメータ操作の再帰的処理が必要でできない気がする・・・
Avatar
今 Java で書いててそこで詰まったけど、 Swift でもできなさそうな?
Avatar
あっ。 (edited)
5:02 PM
あー。わすれてた、extensionが型パラメーター取れないんだった!
Avatar
お、 Parameterized Extension は最近話題の裏技が。
5:03 PM
extension Optional { func flatten<T>() -> T? where Wrapped == T? { return flatMap { $0 } } }
5:04 PM
↑で↓相当のことができます。 extension<T> Optional where Wrapped == T? { func flatten() -> T? { return flatMap { $0 } } }
Avatar
うーん、無理でした……。
5:14 PM
(Scalaだとこういうのでできたりするんですが……) https://qiita.com/yyu/items/4941417ec555ea5ab590#%E5%AE%9F%E8%A3%85
色々な型の値をまとめて扱う際にはタプルを用いるが、Scalaのタプルは22個までしか値を入れることができない。もし23個の値を持つタプルが必要な場合は自力でそういうデータ型を作るしかない。しか...
5:15 PM
extensionで型パラ取らせてくれー🙏
Avatar
omochimetaru 6/22/2018 5:15 PM
↑上記の裏技でもだめですか?
Avatar
そうですね……。protocolでassosicatedtypeしているので、関数の中というよりは、extensionの中ですぐ必要な感じです。
5:17 PM
public protocol HAppend { associatedtype A: HList associatedtype B: HList associatedtype C: HList static func append(_ hl1: A, _ hl2: B) -> C } extension<D: HList> HAppend { typealias A = HNil typealias B = D typealias C = D static func append(_ hl1: Nil, _ hl2: D) -> D = hl2 } (edited)
5:17 PM
こんなイメージ(?)。
Avatar
omochimetaru 6/22/2018 5:18 PM
ふむふむ・・・
Avatar
(この記事では型レベル自然数Natを作って、それつかってHLIstにアクセスしているけど、同様にこういうのもつくれない……)
Avatar
yutailang0119 7/12/2018 6:51 AM
# わいわいswiftc わいわいswiftcは、Swift Compilerとその周辺技術に関する勉強会です。初心者・上級者を問わず、情報交換とディスカッションの場として機能することを目的としています。 swiftcとはSwift Compile...
Avatar
こひーさん出てこれるかな
Avatar
omochimetaru 7/12/2018 6:51 AM
参加できるように調整しますって言ってた。
Avatar
ナイスすぎる〜〜〜
Avatar
コンパイラの話あんまわかんないですけどね😅
🤔 1
Avatar
うわ、行ってみたい。京都なら(かつ、金曜日なら)行けるか……も? (edited)
🙂 3
Avatar
やったー
Avatar
@koher もしわいわいswiftcに参加できて、もし興味があれば、わいわいswiftcでSwift・コンパイラ関連のお話をしていただけませんか?わいわいswiftcでは、スピーカーが一方的に話すというより参加者が勝手にディスカッション始めるので、何かトピックを提供するだけでも助かります!
Avatar
@kitasuke 僕、コンパイラの中身は全然わかってないので、みなさんが興味を持てる話ができるかわかりませんが、ちょっと興味のあるテーマがあるので考えてみます。
Avatar
いつもだと型の話も人気ですね
4:18 PM
前回はまさに入門の入門やっていただいたんですが良かった
Avatar
ありがとうございます!!
Avatar
@kitasuke ちゃんと返事できてませんでしたが、やります。
👏 4
Avatar
ありがとうございます!楽しみにしてます!!
🙂 1
5:06 AM
前回、松本さんが話してた TypeScript の variance が怪しい話
5:06 AM
interface Event { timestamp: number; } interface MouseEvent extends Event { x: number; y: number } function listenEvent(eventType: EventType, handler: (n: Event) => void) { /* ... */ } // Unsound, but useful and common listenEvent(EventType.Mouse, (e: MouseEvent) => console.log(e.x + "," + e.y));
Avatar
@kitasuke 発表テーマとか事前にお伝えしておいた方がいいですか?
Avatar
はい、決まっていればその内容をイベントページに更新します!簡単な自己紹介もあれば嬉しいです!
Avatar
"Generalized existentialが内部的にすでに存在しているか調べてみた" でお願いします。
👀 1
👍 1
4:07 AM
自己紹介は、
4:08 AM
Qonceptのエンジニア。Swiftについて思ったことをつらつらとQiitaに書いてたら、なぜかtry! Swiftで発表することになった。最近は機械学習関係の業務も多く、Swiftで機械学習できないか模索中。
4:08 AM
でお願いします。
Avatar
ありがとうございます!!
🙂 1
Avatar
わいわいswiftc 初参加ですー、よろしくお願いします!
☺ 1
Avatar
Youtube からひっそり参加しようと思っています。よろしくお願いしますmm (connpass 参加してないのですが大丈夫ですよね。。。? (edited)
Avatar
初参加です、よろしくお願いします
Avatar
omochimetaru 8/3/2018 10:03 AM
😃😃
Avatar
わいわい
Avatar
ぼくも初参加ですー!よろしくお願いしま〜す 🙂
Avatar
当日はYoutubeで配信、Discordの通話を用意します。遠方の方も気兼ねなくオンライン参加して下さい! Discordへの参加はこちらから ↓
この URL とかってすでにありますか?
Avatar
今セッティング中ですので少しお待ちくださいー
🙏 2
Avatar
わいわい
Avatar
🦊 ようつべ組ノ
Avatar
初参加です。よろしくお願いします。
Avatar
どぞー
🙏 2
10:30 AM
音入ってますか?
Avatar
出てます!
10:31 AM
ただちょっと小さい?
Avatar
yutailang0119 8/3/2018 10:31 AM
こちらは京都です
Avatar
了解ですー > 何もできない (edited)
10:32 AM
YAMAHA の会議用スピーカー、どこにでもあるなw (edited)
Avatar
こちらおもちさんの声結構聞こえてますよ
Avatar
こっちがわで音量あげれば聞こえるっちゃ聞こえますが、ちょっと他の音が怖い
Avatar
なるほど > 他の音
10:33 AM
一番近い人に話してもらって大丈夫なら大丈夫では?
Avatar
yutailang0119 8/3/2018 10:33 AM
遠い人?
Avatar
ここで Slack の通知音とかなったら鼓膜死にそう(誇張)というニュアンスでした
Avatar
あ、自分側のってことですか
Avatar
yes
Avatar
yutailang0119 8/3/2018 10:33 AM
通知送りたい
Avatar
効果音切ってください
Avatar
はい…
Avatar
Eventに音声チャットあげたので
Avatar
omochimetaru 8/3/2018 10:34 AM
Discord自体は「配信モード」に設定するといろいろと静かになりますよ。設定からできる。 (edited)
Avatar
リアタイで聞きたい方はこっちにきてください
10:35 AM
音声はこっちの方がよく撮れると思います
Avatar
しまった、今マイクあるとやばいところだった
Avatar
Kishikawa Katsumi 8/3/2018 10:35 AM
会社で聞いています。
10:35 AM
声はよく聞こえてますよ。
Avatar
わいわい
Avatar
omochimetaru 8/3/2018 10:36 AM
にぎやかになってきた
Avatar
Kishikawa Katsumi 8/3/2018 10:36 AM
サイトウさんの声がよく聞こえています。
Avatar
@Kuniwak マイクミュートは?
✅ 1
Avatar
サイトウさん誰だっけ…
🤔 1
Avatar
だれ???
Avatar
聞こえますね
10:37 AM
あ、聞こえてるのは Disco がわです
10:37 AM
YouTube は mute してます
Avatar
聞こえてますか?
Avatar
おkです
Avatar
貧弱な音声がarchiveされるw
Avatar
きこえてるよー
Avatar
ヨッシャ
Avatar
聞こえます〜!
Avatar
Kishikawa Katsumi 8/3/2018 10:39 AM
Discodeの音はクリアですよ。
Avatar
こっちの音声はだれか拾うんですか?
Avatar
確かに
10:39 AM
ああ、なるほど
Avatar
omochimetaru 8/3/2018 10:39 AM
たるのんのノートパソコンからスピーカーで
Avatar
コンパイルが終わって部屋を離れられたら、喋りますw
Avatar
自分は岸川さんの声少し小さいですがきこえます (edited)
Avatar
onajiku
Avatar
おもめたw
Avatar
Kishikawa Katsumi 8/3/2018 10:40 AM
イヤホンのマイクがあったらいいのかしら
Avatar
いえ、kishikawa さんの音声は聞こえてました
Avatar
きこえる???
Avatar
ちょっと omochi さんの声小さいですかね
10:41 AM
あ、聞こえますね
Avatar
とおった
Avatar
聞こえます
Avatar
たるのんさんの声以外は聞こえるけどちっちゃい、って感じです
Avatar
ちょっと離席します
Avatar
Kishikawa Katsumi 8/3/2018 10:43 AM
まあ私もこれから自転車で帰るので、30分ほどしたらいい塩梅になってることを期待して。
Avatar
お待たせしました
Avatar
音声クリアだ
😁 1
Avatar
聞こえないw
Avatar
遠い〜
Avatar
音ちいさい....
10:53 AM
youtube の音と併用したらいいかもしれないww
Avatar
こちらも内蔵マイクが音拾ってくれない
10:54 AM
なんか MDM とかで縛られてる気がしてきた…
Avatar
それな
Avatar
iPhone に繋ぎ変えました
Avatar
omochimetaru 8/3/2018 10:59 AM
整ってきた
Avatar
@Kuniwak きこえた
🙏 1
10:59 AM
京都にきこえているかはわかりません... (edited)
Avatar
SIL じゃなくて LLVM IR から読む感じなんですね
Avatar
omochimetaru 8/3/2018 11:07 AM
SILだとGeneric parameterがあるままなのでこのテーマだと問題が先送りされて答えがわからないのですよね
Avatar
なるほど、なるほど
11:09 AM
ちょうど知りたかった場所でありがたい 🙏
Avatar
Opaqueって「おぺいく」なんだ
Avatar
omochimetaru 8/3/2018 11:10 AM
そこw
Avatar
同じこと思いました (edited)
Avatar
おぱきゅーってよんでた
Avatar
同じだw
😎 1
Avatar
おぺきゅー派でした
Avatar
なるほど、サイズの大きさで heap か stack かが変わるんですね
Avatar
Exhistentialあるある
Avatar
typeはheap/stackのどちらで保持しているかという情報も保持しているという事ですか?
Avatar
多分これのことですよね
11:13 AM
Metadata の話です
Avatar
omochimetaru 8/3/2018 11:13 AM
typeからサイズがわかるのでそこから間接的に判断する
11:13 AM
typeにたいしてサイズを問い合わせられる
🙇 1
Avatar
複数持つのはそういう理由か〜 > witnessTables (edited)
Avatar
omochimetaru 8/3/2018 11:14 AM
多分これのことですよね
yes
Avatar
いやー、これ欲しいですね。欲しすぎですね (edited)
Avatar
omochimetaru 8/3/2018 11:15 AM
Int.selfなんかをunsafeBitCastしてポインタ操作するとそのドキュメントに従ってハックできる
Avatar
ほしいわかる
11:15 AM
これあると、できることがふえるんじゃ…
Avatar
あと、type erasure 地獄から抜け出せる
11:15 AM
ホワイトボードw
11:16 AM
風評被害w
11:16 AM
おおおお
11:16 AM
助かります 🙏
Avatar
P or Q と紛らわしいからですね。
Avatar
あー、なるほど。見た目の問題なんですね
Avatar
swift-evolution - This maintains proposals for changes and user-visible enhancements to the Swift Programming Language.
Avatar
omochimetaru 8/3/2018 11:19 AM
swift-evolution - This maintains proposals for changes and user-visible enhancements to the Swift Programming Language.
Avatar
"Any of P or Q" と見えてしまう。
Avatar
https://github.com/apple/swift-evolution/blob/master/proposals/0095-any-as-existential.md#future-directions
Whenever a generalized existential proposal is prepared, the syntax established by this proposal can be extended as appropriate to cover additional functionality (such as where clauses).
swift-evolution - This maintains proposals for changes and user-visible enhancements to the Swift Programming Language.
Avatar
なるほど、ありがとうございます ☝
11:23 AM
LLVM IR は狐さん本が良かったですね (edited)
Avatar
読んだことないので怖々している (edited)
11:25 AM
マングリングは前回か前々回の話題で出ましたね
Avatar
swift demangle初めて知った
Avatar
$ swiftc -emit-ir source.swift | swift demangle 的な。
😀 3
Avatar
omochimetaru 8/3/2018 11:26 AM
マングリングは僕が前回LTしたよ。
⭐ 2
Avatar
さっきみたcontainerだ
11:27 AM
param attribute なるほど
Avatar
はーちょっと違うのか
Avatar
ほー
Avatar
omochimetaru 8/3/2018 11:30 AM
C言語で行われる Tail Allocated っていうパターンですね
Avatar
MemoryLayoutのサイズなるほど
Avatar
dereferenceable(<n>) This indicates that the parameter or return pointer is dereferenceable. This attribute may only be applied to pointer typed parameters. A pointer that is dereferenceable can be loaded from speculatively without a risk of trapping. The number of bytes known to be dereferenceable must be provided in parentheses. It is legal for the number of bytes to be less than the size of the pointee type. The nonnull attribute does not imply dereferenceability (consider a pointer to one element past the end of an array), however dereferenceable(<n>) does imply nonnull in addrspace(0) (which is the default address space).
Avatar
open existential 相当の操作かな
Avatar
今更なんですがこのスライドってどこかに共有されていたりしますか?
Avatar
あとで共有してもらえるかと
11:37 AM
あーー
11:37 AM
配信だとVideo遅れるんですよね
11:37 AM
次回から事前共有してもらおう
Avatar
自分の環境が悪いのかもなのですが、画像、文字が読みづらく... 気合いで察します (edited)
Avatar
多分画質低いと読めないですね…
11:38 AM
↑いまはここですね
Avatar
おー、ありがとうございます ><
Avatar
画質を720pにすると読めそう
Avatar
おお! よめました!ありがとうございます!
Avatar
swiftself This indicates that the parameter is the self/context parameter. This is not a valid attribute for return values and can only be applied to one parameter.
11:45 AM
“swiftcc” - This calling convention is used for Swift language. On X86-64 RCX and R8 are available for additional integer returns, and XMM2 and XMM3 are available for additional FP/vector returns.
On iOS platforms, we use AAPCS-VFP calling convention.
11:52 AM
sret This indicates that the pointer parameter specifies the address of a structure that is the return value of the function in the source program. This pointer must be guaranteed by the caller to be valid: loads and stores to the structure may be assumed by the callee not to trap and to be properly aligned. This is not a valid attribute for return values.
11:52 AM
戻り値なのは sret attribute で明示されてますね
Avatar
あらゆる可能性を秘めたコンパイラ基盤として注目されているLLVM。本書はコンパイラを実際に作りながらLLVMのフロントエンドからバックエンドまでを幅広く解説した世界初(!?)のLLVM解説本です。
Avatar
type の部分が変わるから?
11:59 AM
あー、なるほど
12:01 PM
きつねさん持ってるぞ〜
Avatar
ググり方わからないんですよねw
12:05 PM
あとぐぐると知識のスタックがすごい勢いで積まれて行くので、時間ないときは申し訳ない気持ちで質問爆撃します
12:05 PM
聞こえないw
12:06 PM
これとかです?
12:06 PM
あんまり自信ないですが
Avatar
それっぽいですね。 associatedtype ありの方も見てみます。
Avatar
omochimetaru 8/3/2018 12:09 PM
@"$S4main3CatVAA6AnimalAAWP" = hidden constant [3 x i8*] [i8* bitcast (%swift.protocol_conformance_descriptor* @"$S4main3CatVAA6AnimalAAMc" to i8*), i8* bitcast (%swift.metadata_response (i64)* @"$SSiMa" to i8*), i8* bitcast (void (%TSi*, %T4main3CatV*, %swift.type*, i8**)* @"$S4main3CatVAA6AnimalA2aDP3foo5ValueQzyFTW" to i8*) ], align 8
Avatar
Swift における関数ポインタ書き換える swizzling をひっそりと目指してたんですが、これ constant によってメモリの書き込み禁止フラグとか立てられちゃうときついっすね…
12:11 PM
A variable may be defined as a global constant, which indicates that the contents of the variable will never be modified (enabling better optimization, allowing the global data to be placed in the read-only section of an executable, etc). Note that variables that need runtime initialization cannot be marked constant as there is a store to the variable.
Avatar
omochimetaru 8/3/2018 12:12 PM
あーなるほど > constant
Avatar
あー、書き込み禁止領域におかれてしまうのか
Avatar
関数ポインタ書き換えSwizzling、昔TrySwiftでやってた
Avatar
omochimetaru 8/3/2018 12:12 PM
consant伝搬もあるので原理的に無理かもしれない
12:12 PM
利用側でconstantが埋め込まれちゃう
Avatar
あいや、あれはVtable Swizzllingか
Avatar
それ Obj-C 側じゃないです?NSObject でしか使えないのはありましたが
Avatar
classの型をObjCから観測してvtableをぶっこぬいてました
12:13 PM
型さえ見えればいけるぜ!って感じだった
12:13 PM
型のポインタを、ObjCに渡してた
Avatar
最適化されて静的dispatchになるのを避けないとダメそう
Avatar
はい、同じことを思いました
12:15 PM
それと、おそらく extension とかでついたやつはこっちにおかれちゃいそうなので、class だったらなんでもって感じでもない気もしました
Avatar
finalとかprivateつかなければ静的dispatchにはならない、当時はSwift2台だからextensionもオーバーライド可能で全部vtableに乗ってたはず
Avatar
あー、なるほど、そういう背景があるんですね
Avatar
なるほど
Avatar
おーハウリング
12:16 PM
聞こえます
12:18 PM
あれ、全然聞こえなくなってしまった
12:18 PM
あ、聞こえました
12:18 PM
聞こえます
12:20 PM
swift-corelibs-foundation - The Foundation Project, providing core utilities, internationalization, and OS independence
Avatar
yutailang0119 8/3/2018 12:21 PM
phausler has 35 repositories available. Follow their code on GitHub.
Avatar
URLProtocol unimplemented になってますが、Swift でも使えたような・・・
Avatar
所用のため途中離脱します。 @koher さんの発表、わかりやすかったです & 楽しかったです ありがとうございました!
🙂 1
👋 1
Avatar
昨日 typedef について大阪 C++ 勉強会でちょっと話題が出ていて,そういえば typedef がどうしてダメで型エイリアスだと良いのかみたいな話あまりまとまってない気がしたのでメモ. typedef はこんな感...
12:51 PM
わかりやすいですねー
Avatar
Hi, The newer Windows SDK requires the use of C++14 (the SDK headers use auto return types without trailing type information). Joe mentioned that there was some interest in switching the rest of swift to C++14 as well. I figured that I would just start a thread here t...
12:53 PM
revert されたところまでしか書いてない。
Avatar
yutailang0119 8/3/2018 1:00 PM
👋
Avatar
👋
4:43 PM
Value Witness Table のC++での定義↑
Avatar
lazy + willSet,didSetを実現すると、 「初回read」「初回write(read前)」に関して、呼び出されないという仕様になるんだなぁと腑に落ちました。varの右辺に書いてあるのと、initで代入しているシチュエーションが丁度マッチしそうです
Avatar
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - apple/swift-evolution
11:13 AM
↑これか
Avatar
Christopher Rogers 9/12/2018 11:20 AM
https://bugs.swift.org/plugins/servlet/mobile#issue/SR-7083 今年の try! Swift workshop でこれを直そうとしたんですが同じ結論に至りました。ただ、Joe Groff 氏に説明するのが怖くて放置してますw subclass でオーバーライドした場合、 subclass から superclass の実装が lazy に見えるべきか、それを隠蔽すべきかがちょっと面白い問題です。現状維持で隠蔽すべきかな
Avatar
そうか継承も考えないと・・・
Avatar
オーバーライド!上手く隠蔽すると何故かdidSetの生えないプロパティが作れる…アッ
11:22 AM
UIViewController.viewって、実質lazyですよねこれ。
11:22 AM
何か昔壊れてた記憶がある…
11:23 AM
ここらへんですかね
👉 1
Avatar
今って生やしてwillSetとか見るとどうなるんだろ
11:27 AM
oldValue
Avatar
https://forums.swift.org/t/draft-refining-identifier-and-operator-symbology-take-2 operator を再整理しようぜっていう議論はあります。
As Stage 2 of Swift 4 evolution starts now, I'd like to share a revised proposal in draft form. It proposes a source-breaking change for rationalizing which characters are permitted in identifiers and which in operators. It's justified for this phase of Swift 4 because:...
Avatar
Twitterが起動できなくなるバグです。ツイ禁をする際にご活用ください。 https://t.co/bvbrsOqAtk
Retweets
372
Likes
549
Avatar
BMPに含まれるU+0000..U+D7FFとU+E000..U+FFFFは、そのまま符号単位1つで表す。
BMP以外のU+10000..U+10FFFFは、表のようにビットを配分して、符号単位2つで表す。
11:38 AM
UTF-16 (UCS/Unicode Transformation Format 16) とは、UnicodeおよびISO/IEC 10646の、符号化形式および符号化スキーム(文字符号化方式を参照)のひとつである。UTFは、UnicodeではUnicode Transformation Formatの略、ISO/IEC 10646ではUC...
11:38 AM
雀牌は1Fxxxだからサロゲートペアっぽい
Avatar
わいわいoperator、思ったより盛り上がった
Avatar
さっきのサロゲートペアのコメント、🀄がサロゲートじゃない前提で類推してたので今回の場合には当てはまらなかったすまん。
11:48 AM
こういうことが言いたかった。
Avatar
lazyみながら読んでたWriteImplKindにsetterとは別でmodifierの定義あったわ enum class WriteImplKind { /// It's immutable. Immutable, /// There's storage. Stored, /// There are observers on top of the storage. /// TODO: maybe add a StoredWithDidSet here and to ReadWriteImplKind? StoredWithObservers, /// There are observers on top of the superclass's write implementation. InheritedWithObservers, /// There's a setter. Set, /// There's a mutable addressor. MutableAddress, /// There's a modify coroutine. Modify, };
Avatar
field のオフセットを Swift のコードから見えるようにする提案 https://forums.swift.org/t/offsetof-like-functionality-for-stored-property-key-paths/11309 (edited)
Swift currently lacks a way to ask the compiler for the offset of a stored property in a struct, an important thing for describing the layout of data buffers to graphics and accelerated math libraries. Key paths have to carry offset information when they refer to stored prope...
12:04 PM
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
Avatar
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
🙂 1
Avatar
今のはAnySequenceのパフォーマンス上がる可能性あるのでは?→わからん。
🙂 1
Avatar
リモートがきびしいです。。。
Avatar
あ〜
Avatar
マイクが遠い
Avatar
音声はいけるけど何をうつしてるのかがわからない
Avatar
あぁw
Avatar
手元のきつねさんの最初の方を探したけどそれっぽいページが見つからなかったので違う資料かな?
Avatar
これは自作の同人誌で、技術書展で販売予定とのこと (edited)
🙏 1
Avatar
懇親会こちらです!!! https://tabelog.com/tokyo/A1303/A130302/13047805/
★★★☆☆3.22 ■「門~もん~」和食と日本酒。夏の宴会予約受付中!日本酒10種2.5h飲み放題付コース! ■予算(夜):¥4,000~¥4,999
Avatar
monCheck out the information about Seafood restaurants in Ebisu at Tabelog! It's full of real information like reviews, ratings, and photos posted by users! It also has enough detailed information like maps and menus.
Avatar
先発隊みせつきました
Avatar
やっと黒板消えたと思ったら消えた黒板で議論してたペンも危険ペンだったので消し直して漸く出ます
Avatar
はよ
1:12 PM
これのみものたのんでいいのかな
1:12 PM
@giginet
1:19 PM
のみものたのんだ。
Avatar
omochimetaru 9/20/2018 2:27 PM
次回の資料できた!
Avatar
早いw
Avatar
omochimetaru 9/21/2018 4:14 AM
iOSDCの準備で結構調べたことが残ってて
4:14 AM
次回でおよそ出し切れそう
Avatar
# わいわいswiftc わいわいswiftcは、Swift Compilerとその周辺技術に関する勉強会です。初心者・上級者を問わず、情報交換とディスカッションの場として機能することを目的としています。 swiftcとはSwift Compile...
10:13 AM
19:30 に受付が閉まりますので
10:13 AM
それ以降に来られる方は twitter かこちらでメンションくださいませ
Avatar
@ezura 二人遅れていきます
Avatar
了解です!
Avatar
Kishikawa Katsumi 10/29/2018 10:43 AM
配信できてないので、がんばって実況しましょう。
😀 1
Avatar
なんやて!
10:45 AM
もうすぐつきます
10:45 AM
スタンドもある
Avatar
Kishikawa Katsumi 10/29/2018 10:45 AM
ランタイムライブラリ SwiftはlibswiftCore
10:45 AM
libswiftCoreはランタイムライブラリと標準ライブラリを一つにしたもの
10:46 AM
標準ライブラリはSwift、ランタイムライブラリはC++
10:47 AM
otoolコマンドでリンクしているlibswiftCore を調べられる
10:48 AM
参照カウントを操作したりオブジェクトをAllocationする関数などがランタイムライブラリに定義されている。
10:49 AM
デバッグ用にブレークポイントを設定するためだけにwillThrow関数などが定義されているのが面白い
👍 1
Avatar
Contribute to omochi/SwiftStdlib development by creating an account on GitHub.
Avatar
うっかり来てみたら C++ の話だった
Avatar
一応音拾えてるかしら?
🙆 1
Avatar
Contribute to omochi/SwiftStdlib development by creating an account on GitHub.
Avatar
Swift 2の頃に NSObject を継承したクラスなら extension で override できた例が確かにありそう 🙂 https://stackoverflow.com/questions/38213286/overriding-methods-in-swift-extensions
I tend to only put the necessities (stored properties, initializers) into my class definitions and move everything else into their own extension, kind of like an extension per logical block that I ...
Avatar
Kishikawa Katsumi 10/29/2018 3:50 PM
エラーメッセージが変わったのはこのPR https://github.com/apple/swift/pull/11800 でほぼ1年前で意外と最近。 ただ、特に手がかりにはならなさそうですね 😢
Small improvements to diagnostics wording to avoid the word yet. rdar://problem/16997751
Avatar
この rdar://problem/16997751 って見れないんでしたっけ
Avatar
レーダーは見れない
3:57 PM
アップルの中のバグトラッカー
Avatar
Kishikawa Katsumi 10/29/2018 3:58 PM
つまりアップルの従業員なら見られるはずだが。。。
Avatar
forum とかで聞くとサクッっと教えてくれる時もありますよ。
3:59 PM
とはいえ、これに関してはそれ以上の情報はないです。
4:00 PM
"yet" を使いたくないというだけ。
😅 2
Avatar
いろいろ調べてforumで聞いてみることにします
Avatar
Kishikawa Katsumi 10/29/2018 4:07 PM
エラーメッセージの出し方おもしろいなと思ってちょっと調べて見たら公式ドキュメントに詳しく書いてあった。 https://clang.llvm.org/docs/InternalsManual.html#the-format-string
Avatar
Diagnosticsもなかなかリッチな仕組みになってますね、可変長テンプレートとか使うし
4:11 PM
そういう個別のモジュールでも掘り下げるといろいろトピックがありそう
Avatar
Kishikawa Katsumi 10/29/2018 4:11 PM
それは
4:11 PM
同意ですね。
4:11 PM
https://llvm.org/devmtg/2012-11/Beaumont-Gay-Diagnostics.pdf 調べてる最中に、Diagnosticsのテーマのスライドも見つけたし。
Avatar
おお、LLVM会議だ
Avatar
「言語処理系勉強会」で、これまでの総集編+ラスボスな構成で話してきました https://twitter.com/omochimetaru/status/1063672756837863424?s=21
😍 4
👍 2
Avatar
Contribute to giginet/SwiftDemangler development by creating an account on GitHub.
12:56 AM
建設予定地
Avatar
わいわいswiftc 番外編ワークショップ - 福岡. Contribute to omochi/waiwai-swift-demangler development by creating an account on GitHub.
12:57 AM
資料がそのままテンプレートっぽいのでフォークした (edited)
Avatar
yutailang0119 12/16/2018 12:57 AM
とりあえずforkした
Avatar
配信マチマチ
Avatar
yutailang0119 12/16/2018 1:02 AM
今tarunon着です
Avatar
やるか
1:15 AM
WifiのパスワードがYoutubeに映ってるけどいいのかな @tarunon
Avatar
@tarunon 無音より良い
2:07 AM
あ、画面は関係ないか
Avatar
@tarunon コードはみてないっす
3:00 AM
func test1() throws { let parser = Parser(string: "$S13ExampleNumber6isEven6numberSbSi_tKF") let node = try parser.parse() XCTAssert(node.isEqualString( Node.symbol(start: .start(pos: 0, string: "$S"), entity: .entity(context: .module(Identifier(pos: 0, string: "ExampleNumber")), body: .function(name: Identifier(pos: 0, string: "isEven"), labelList: [ Identifier(pos: 0, string: "number") ])) ) ) ) }
3:01 AM
ここまでできた・・・
3:01 AM
誰もここ見てなくね?
Avatar
yutailang0119 12/16/2018 3:13 AM
みんなParser書くのに必死
Avatar
list-type ::= type
3:44 AM
ここで無限ループするやつをやってしまった
3:46 AM
これtypeのところ逆ポーランド計算機作ったらいけそうな気がする・・・
3:48 AM
そうだよねこれBNFがこのままだとだめな形のやつ
3:54 AM
あ、できた
3:55 AM
▿ SwiftDemangler.Node.symbol ▿ symbol: (2 elements) ▿ start: SwiftDemangler.Node.start ▿ start: (2 elements) - pos: 0 - string: "$S" ▿ entity: SwiftDemangler.Node.entity ▿ entity: (2 elements) ▿ context: SwiftDemangler.Node.module ▿ module: SwiftDemangler.Identifier - pos: 2 - string: "ExampleNumber" ▿ body: SwiftDemangler.Node.function ▿ function: (4 elements) ▿ name: SwiftDemangler.Identifier - pos: 17 - string: "isEven" ▿ labelList: 1 element ▿ SwiftDemangler.Identifier - pos: 24 - string: "number" ▿ retType: SwiftDemangler.Type.single ▿ single: (1 element) - name: "Swift.Bool" ▿ argType: SwiftDemangler.Type.list ▿ list: 1 element ▿ SwiftDemangler.Type.single ▿ single: (1 element) - name: "Swift.Int"
Avatar
アーカイブの時に消しておきます
10:24 AM
音声死んでる
10:25 AM
音声死んだので作り直します
10:26 AM
作り直しました
Avatar
LLVM Tutorialを勉強するリポジトリ. Contribute to sonsongithub/llvm-tutorial development by creating an account on GitHub.
👌 1
11:49 AM
@inamiy
😳 1
Avatar
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
Avatar
Kishikawa Katsumi 12/17/2018 3:37 PM
Parserの話、 効率とかを置いておくと、Swiftの場合は for character in source { switch character { case "{": tokens.append(.leftBrace(...)) case "(": tokens.append(.leftParen(...)) case "'": tokens.append(.singleQuote(...)) ... case " ". "\t", "\n": tokens.append(.whitespace(...)) ... default: tokens.append(.character(...)) } } ^ みたいにして先読みもバックトラックもせずに一気にループで一回 String[Token] にして、その後 [Token] をもう一度頭からループして今度は先読みしたり戻ったりをしながら意味のある構造に区切っていくのがシンプルじゃないかな。 [Token] だったら String を行ったり来たりするよりもよほど簡単。
Avatar
例えば典型的な処理だと "\r\n" は 1つの 改行トークン (もともと \r\nだったことも補助的に記憶したい ) にしたいわけですが、そういう場合は?
3:44 PM
仮に常にcharacter1つに対応するTokenをappendするという意味であれば、let chars: [Character] = source.map { $0 } を作っているのとあまり意味的に変わらないと思います。
Avatar
Kishikawa Katsumi 12/17/2018 3:49 PM
ソースコードをParseするなら、スペースとクオート、各種カッコ、改行、スラッシュ、とそれ以外くらいにまず分けるのが最初の [Token] を作る処理で、どうせもう一度読むので [Character] より多少マシ、くらい。そういう意味だと [Character] でもいいけどどうせ一回 String を全部読むなら多少は情報を追加しといたほうがいいかな、という感じですね。
3:50 PM
「スペースとクオート、各種カッコ、改行、スラッシュ、とそれ以外」くらいに分かれてると、 classとか funcの予約語やIdentifierに分けるのは簡単だし、Stringの端から端まで読み飛ばすのも楽だし、というのが楽になるくらい。
Avatar
なるほど。一度整理しておけるので、多少マシというのはありそうです。
Avatar
Kishikawa Katsumi 12/17/2018 3:55 PM
フォーマッタを作るんじゃなければWhitespaceの違いの情報はなくしてもいいかもしれないし、 フォーマッタを作るなら enum Token { case whitespace(raw: String, line: Int, column: Int) ... } のようにするかも?
Avatar
僕の例では、そもそもwhitespaceは全部スキップしちゃいました。
4:31 AM
^ みたいにして先読みもバックトラックもせずに一気にループで一回 String を [Token] にして、その後 [Token] をもう一度頭からループして今度は先読みしたり戻ったりをしながら意味のある構造に区切っていくのがシンプルじゃないかな。
確かにそれはありですね
Avatar
Goのソースコード見たけど、あまりやってることは変わらんかった https://github.com/golang/go/blob/master/src/go/scanner/scanner.go#L688
The Go programming language. Contribute to golang/go development by creating an account on GitHub.
Avatar
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
Avatar
ほんとだ。今ならソースコード読んで理解できる!
10:00 AM
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
Avatar
それな
10:37 AM
ResultはXcode10.2bに入ってましたっけ、まだかな
Avatar
配信コード消えちゃってますね
Avatar
enum E { case c(Bool) } let e = E.c(true) switch e { case .c(let b) where b == true: print(1) case .c(let b) where b == false: print(2) case .c(true): print(3) case .c(false): print(4) }
👀 1
11:27 AM
コンパイラーは3か4になると思ってるけど1が出る
11:32 AM
Cherry-pick #21999 to a convergence branch to help with building an Apple-internal project. rdar://problem/47365349
Avatar
無限集合+比較を扱った話 https://www.fewbutripe.com/2018/12/05/seemingly-impossible.html これもexhaustive checkができそうな期待 (edited)
We will construct Swift programs that should be impossible to implement, yet somehow are not!
👍 1
Avatar
わいわいswiftc 20190301 https://t.co/DLGFYvrpIO @YouTubeより 今日の配信です #わいわいswiftc
Avatar
GitHub Gist: instantly share code, notes, and snippets.
👀 1
Avatar
Kishikawa Katsumi 3/1/2019 11:29 AM
誰か電気貸してもらえません? USB-Cのアダプタとコンセント。
Avatar
すみません、到着が 20:00 ぐらいになりそうです。。。 発表自体には間に合うはず。。。
Avatar
omochimetaru 4/19/2019 9:59 AM
がんばれ〜
Avatar
:dogeza:
Avatar
22時から懇親会会場を抑えています。 https://tabelog.com/tokyo/A1308/A130803/13216645/dtlmap/
地鶏個室居酒屋 鳥乃井 半蔵門・麹町店 (半蔵門/居酒屋)のクーポン・地図です。【クーポン情報】【団体割!】8名様以上で1名様無料!団体様にお得な特典が登場★/《飲み放題の種類大幅UP!》プレミア...
😊 1
🍻 1
Avatar
↑※PCのみ
Avatar
遅刻して申し訳ございませんでした
🙆 1
Avatar
Eliding commas from multiline expression lists Swift requires a semicolon ";" to separate statements unless those statements are separated by newlines, in which case the semicolon can be elided. Currently, Swift requires a comma "," to separate expressions even when those st...
Avatar
The review of SE-0250: Swift Code Style Guidelines and Formatter begins now and runs through April 10, 2019. The proposal is written by @allevato and @dabrahams. Please note that there has been significant discussion already on the pitch thread. The Core Team will incorpor...
Avatar
配信聞こえなくなったらメンション下さい
12:03 PM
がっつり聞こえてたb
Avatar
前回のわいわいswiftcで @Kishikawa Katsumi さんが見つけた 、raw stringsを使ったstring interpolation exprのシンタックスについてbugsにレポートしておきました https://bugs.swift.org/browse/SR-10620
😆 1
Avatar
omochimetaru 5/7/2019 2:27 AM
これ面白かったね。
Avatar
実装見たら確かにって感じだった
10:36 AM
聞こえなかったら教えてください
Avatar
スライド溶けてるので会場電気消して貰えると良さそう🙏
👌 1
Avatar
あ、いま、割と見やすいです。配信。
Avatar
[Q] Xcode10.2の4.2はABI Stabilityある?(ある認識)
10:45 AM
つまりコンパイラバージョンが5.0でさえあれば良い認識
10:52 AM
議論も聞こえてるよ〜
Avatar
音がうがいしてるみたい
Avatar
stdlibは恩恵受けるのでは。もうstdlibをバンドルしなくてもいいのはかなり大きいと思う。
11:15 AM
スライド、白背景と黒背景だと、白背景の方がカメラの感度良くって配信側が見やすい可能性がありそうですね
❤ 2
11:19 AM
やっぱりスライド背景色でカメラの感光がかわるw
Avatar
ちょっと照明調整したけどどうすかね
Avatar
結構まだ潰れてますね
11:20 AM
スライド背景色変えれるならそっちの方が効果ありそう
Avatar
Kishikawa Katsumi 5/24/2019 11:21 AM
Decksetだからテーマを変えるとかで変わるんじゃないかな
Avatar
見やすくなりました。
Avatar
たしかにみやすい
Avatar
最高
Avatar
@swift-5.1.5 print(type(of: AnyCollection<String>(["hello"]).startIndex)) print(type(of: AnyCollection<Character>("hello").startIndex)) print(type(of: ["hello"].startIndex)) print(type(of: "hello".startIndex))
Avatar
AnyIndex AnyIndex Int Index
Avatar
f1の型は関数の型になるけど返り値はORTとして表示される?この辺もExistentialと同じですよね
Avatar
ORTではコンパイラは真の型を知ってるんだけど、利用側に、それをあるプロトコルで定義されたものとしか利用させない(コンパイルエラーにする)ってこと?
Avatar
そうです
Avatar
きれいですよね。
Avatar
引数のGenericsに対して返り値のORTと考えると (edited)
11:42 AM
対称が出来ることが解る(フライング) (edited)
Avatar
フライングすぎw
11:43 AM
まあ、いつもDiscord見てる人にはだいぶ前からフライングされているわけでw
Avatar
ネタバレ防止
🙂 1
11:44 AM
Existentialは引数返り値どっちで使っても問題なかったが、Genericsは今まで引数でしかまともに使えませんでした
Avatar
ORTそのものの概念レベルでディスカッション起きてるので、この章はあって良かったっぽいですね
12:17 PM
(ありがとうね)
Avatar
Kishikawa Katsumi 5/24/2019 12:38 PM
隠す機能なんてあるんだ
12:38 PM
Discord
Avatar
callee側では真の型を使った素朴なコードが生成されるから(返り値がポインタ渡しになるだけ)最適化によって生成コードが変わるのはcaller側になる
12:40 PM
すごく綺麗な実装っぽい
Avatar
var _p: XXX! // ① struct S { var p: some P { get { ... } set { ... } } } _p = S().p S().p = _p as! XXX // ② こういうことやりたい場合、①か②で「S.pのORT型」を明示的に表現しなきゃいけないけど、どうやって書けばいいんだろう (edited)
12:46 PM
struct S { func a() -> some P func b() -> some P } 今言ったの、このふたつが共存できないって話??
12:49 PM
A. func f() -> some P1 func f() -> some P2 が駄目ということ
Avatar
そもそもどっちなのかを呼び出し側で解決する方法がないのでは、と思ったけど、呼び出し側で、P1のExistentialに入れるような呼び出しだとかけるのかな。
12:53 PM
let p: P1 = f()
Avatar
それだとORTの旨味がなくなっちゃいますね… ほかにも型明示したい状況はわりかしありそう。型推論のヒントにしたいときとか、分岐入れるときとか struct S { func f() -> some P } let ss: [S] = ... let arr: [XXX] if cond { arr = ss.map { $0.f() } } else { arr = ... } (edited)
Avatar
旨味を保つなら func g<X: P1>(_ x: X) { } g(f())
Avatar
# わいわいswiftc わいわいswiftcは、Swift Compilerとその周辺技術に関する勉強会です。初心者・上級者を問わず、情報交換とディスカッションの場として機能することを目的としています。 swiftcとはSwift Compile...
Avatar
配信ありがとうございました!
Avatar
ありがとうございました!お疲れ様でした!
Avatar
今日の配信はNDA対策のためpdfのみOBSから配信します。音響環境いつもと違うので気になったら教えて下さい
Avatar
youtubeの画質が480pまでしかなくて、文字サイズが大きい時しかpdf読めないが、仕方ないか
Avatar
むむー
12:09 PM
やはりOBSだと勝手が変わりますね…
😢 1
Avatar
find . -type f | xargs grep -n " <c " の結果 ./docs/TypeChecker.rst:126: called. Conversion constraints are written ``X <c Y``, read as ./docs/TypeChecker.rst:261: conversion constraint ``T(b) <c T0`` captures the requirement that ./docs/TypeChecker.rst:284: respectively. The constraint ``T(b) <c T0`` requires the key ./docs/TypeChecker.rst:324: constraints ``T(y) <c T0`` and ``T(z) <c T0`` capture the need for ./docs/TypeChecker.rst:503: A -> B <c C -> D ./docs/TypeChecker.rst:594:placed on it that relate it to concrete types, e.g., ``T0 <c Int`` or ./docs/TypeChecker.rst:595:``Float <c T0``. In these cases, we can use the concrete types as a ./docs/TypeChecker.rst:741:these constraints is broken down into "``T2 <c Int``" and "``X <c ./docs/TypeChecker.rst:763:applied. Similarly, the "``(T2, X) <c T0`` constraint has a ./docs/TypeChecker.rst:772:example, the ``T2 <c Int`` constraint will be anchored at the function ./docs/TypeChecker.rst:776:element. Similarly, the ``X <c String`` constraint will have the same ./docs/TypeChecker.rst:789:simplifying the constraint ``X <c String``, so it uses the locator ./docs/TypeChecker.rst:842:Here, the failing constraint is ``Float <c Int``, with the same ./lib/Sema/CSSimplify.cpp:6596: // T <c U ===> T? <c U! ./lib/Sema/CSSimplify.cpp:6715: // T < U or T is bridged to V where V < U ===> Array<T> <c Array<U> ./lib/Sema/CSSimplify.cpp:6730: // Dictionary<K1, V1> <c Dictionary<K2, V2> ./lib/Sema/CSSimplify.cpp:6764: // T1 < T2 || T1 bridges to T2 ===> Set<T1> <c Set<T2> ./lib/Sema/CSSimplify.cpp:6778: // T1 <c T2 && T2 : Hashable ===> T1 <c AnyHashable ./lib/Sema/CSSimplify.cpp:6809: // T' < U and T a toll-free-bridged to T' ===> T' <c U ./lib/Sema/CSSimplify.cpp:6824: // T < U' and U a toll-free-bridged to U' ===> T <c U
5:32 AM
find . -type f | xargs grep -n " <C " は <C where C : ...> みたいなのが引っかかりまくる ./test/SIL/Parser/witness_with_inherited_gp.sil:59:// IndexingIterator<_mmArrayBuffer<T>>: specialize <C = _mmArrayBuffer<T>, ./docs/Generics.rst:574:and the constraints expressed in the angle brackets (e.g., <C : ./docs/TypeChecker.rst:130: A construction constraint, written ``X <C Y`` requires that the ./docs/TypeChecker.rst:268: a construction constraint ``T(b) <C A``, which requires that ``A`` rstが古くて消えてないだけってのは正しそう
Avatar
すみません、わいわいswiftcワークショップ第2回ですが、配信予定と書いてありましたがミスでした。特に配信予定はありませんが資料は公開しています https://github.com/giginet/MinSwift-workshop
♻️ minimum Swift compiler written in Swift. Contribute to giginet/MinSwift-workshop development by creating an account on GitHub.
Avatar
誰かiPhoneスタンド持ってない?
Avatar
https://github.com/giginet/MinSwift-workshop/pull/4 は Catalina × Xcode10.3だと This copy of libswiftCore.dylib requires an OS version prior to 10.14.4. Abort trap: 6 の対策って文脈で合ってます? (edited)
Avatar
おもちさんに聞いたらそうではない Mojave × Xcode 10.3 Catalina × Xcode 11 どっちかしか通らない pr#4はまた別件
Avatar
omochimetaru 8/2/2019 10:24 AM
#swift let t: Int = 3 let a: Int? = { (x) in x }(t) 右辺のクロージャの型推論結果は?
10:24 AM
↑クイズ
Avatar
WebAssembly System Interface. Contribute to WebAssembly/WASI development by creating an account on GitHub.
Avatar
あ、今日だったか・・・完全に忘れていた
Avatar
アーカイブもあるので追いかけてくださいな
👌 1
Avatar
Q03は、IDの小さい方に置換するっていうのに気づくまでで、まずつまった。
10:54 AM
でも前回のおもちさんの資料に、便宜上若い番号に寄せることにする、っていうのがあったから、それがそのまま引き継がれてるのかな。
Avatar
これequivを使うのを思いつかなかったので同じものを実装する羽目になってしまった
Avatar
そう。。。自分にtransferされているやつを全部やらなきゃいけないことに気づくのが次につまったところ。。。
10:57 AM
.id で比較してました。
Avatar
ナカーマ
Avatar
自分もequiv気づかなくて実装してた
Avatar
Q4ら辺は完全に当てずっぽうしたなー (edited)
Avatar
どういうことやねんw
10:59 AM
僕もやけどw
Avatar
テストケース通る数が純増したら俺の勝ち!
Avatar
同じく。Q04はヒント見て、同じもの書いただけ。。。
Avatar
昔,ドキュメントがないライブラリのコンパイルが通るようにがんばってたことを思い出す
Avatar
ここらへんは変数定義してるからなんか使うんだろうなあみたいな気持ちで解いてたな
Avatar
謎の変数を生成して無理くり通してるwロジック自体はあってた
Avatar
Q05どうやったか覚えてないけど、なんか合ってたw
Avatar
去年のiOSDCで言ってた気がする > ジェネリクスで全部実装しちゃうやつ (edited)
Avatar
なんのことか一瞬わからなかった
11:12 AM
mock作る時に使ってる裏ワザですね
11:14 AM
答え合わせなのにsonsonさんがヘナヘナになってる...w
Avatar
Q06は全然違うこと書いてたけど、最後の方の問題のところでブレークポイント貼っても全く流れてこなくて、考え直したやつだ。
Avatar
規則、たしかに資料よく見ると書いてあるんだけどむずいんだよね https://github.com/omochi/SwiftTypeInferenceHandsOn/blob/master/Docs/sema1.md#app-fn解決の変更
Swiftc合宿 2019/09/28. Contribute to omochi/SwiftTypeInferenceHandsOn development by creating an account on GitHub.
11:22 AM
Q02もそうだけどambiguousのことなど全く考えていないコードをぼくは書いてる。。。(.solvedじゃなければreturnしてた)
Avatar
Q09 最後まで考えてたとこだった気がする
Avatar
bindにしなかった場合、型アノテーションが少ないコードをtypeCheckしたときにtypeVarが残ってしまって解けなくなるテストケースがありますね (edited)
11:27 AM
{ (x) -> Int in 4 }(3)
11:27 AM
この式が返す型がIntから変換可能ななにかの型という制約を持ったtypeVarのままで解決できなくなる (edited)
Avatar
なるほど。言われてみればそうかと思うけど難しいですね。。。
11:30 AM
Q10は何やっていいかさっぱりわからずにめっちゃ詰まってたけど、最終的にswiftcのCSStep.cppのコードを見て解いた
11:31 AM
何をやってるのかはよくわからないままにw
Avatar
コード全部読んで埋めたなぁ
11:31 AM
大変だった
Avatar
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
Avatar
わからんってなったら基本 swiftc のコード読んでた
11:39 AM
ここ attempt しか書いてないのにテスト通ってしまっていたw
Avatar
Q11、何やってる処理なのかもよくわかってないままDisjunctionStepを見てそのまま書いてたw
Avatar
それです
Avatar
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
Avatar
coerce
11:47 AM
強制する,無理やりそうする・・・・
Avatar
coerceも難しかった
Avatar
同じく。何やってるかよくわからないままCSApply.cppのコードをまねた。
Avatar
確か僕は間違っていたがテストケースのガバで通ってたはず
Avatar
ぼくのコード、 valueToOptional なんだから OptionalType だろうと思って、乱暴に as! でキャストしてる
11:51 AM
このあたり、わからんってなってつまったあと、次の日の夜とかに日を変えて解いてるので、合宿だとたぶん詰まったまま解けてない気がする。
Avatar
合宿期間中にクリア勢は本当にすごい
Avatar
InjectIntoOptionalExprどうやって見つけたのか覚えてないな…
Avatar
まずはヒントに書いてあったので use InjectIntoOptionalExpr and coerce
Avatar
ヒントに書いてありますね
Avatar
ああヒントか。
Avatar
ヒントと、CSApply.cppのコードをまねた
11:57 AM
そうそう。前の方のQが間違っていると流れてこないんですよね。
Avatar
後半わからんすぎてほとんど本家のコード読んでた・・・
Avatar
なるほど。3 と Int? だとしたら、3 を Int にcoerceして、それを Int? に包む感じなのかな。
12:04 PM
Q13はなんで解けたのかわからない。
Avatar
これも通るまで総当たりした
Avatar
解いたの昨日なのに覚えてないw
Avatar
解けたときは達成感あったなー
Avatar
visit(_ node: CallExpr) のことだというのはなんとなくでわかった
12:07 PM
たしかにぼくのコードは let expr = してる。
Avatar
Xcodeむずかしい
12:09 PM
gitむずかしい
12:11 PM
そういやExprをいろいろつくって当てはめていたなw
Avatar
ぼくは、たぶん、そこまで深く考えずに expr を返さなきゃと思って let expr = したんだろうな。
Avatar
何の議論やねん
Avatar
どの行も消さずに解けるを信じていて、こう書いたなw
Avatar
そうですよね。消さないルールだったから。
Avatar
tanuronが荒ぶっておられるwwwww
😆 1
Avatar
これは難しいですよ
12:15 PM
自分を疑わないと先に進めない
Avatar
ぼく、Q14こんな風にしてる if let resultTy = node.returnType { if let lastBody = node.body.popLast() as? Expr { let expr = try solution.coerce(expr: lastBody, to: resultTy) node.body.append(expr) } }
12:17 PM
as? が成り立たなかったら、bodyの最後が消えてるな。。。
Avatar
押し通った感 node.body = try [solution.coerce(expr: node.body.last as! Expr, to: (node.type as! FunctionType).result)]
Avatar
そうか、絶対成功するのか。これは。
Avatar
ちかかった
12:20 PM
if let retTy = node.returnType, let last = node.body.removeLast() as? Expr { node.body.append(try solution.coerce(expr: last, to: retTy)) }
12:20 PM
なんでこれ解けたか覚えてない
Avatar
これ確か、assertの文章から、どの変数に何型をアサインするかを推測していたと思う
Avatar
ぼくも returnType を使ってる。同じ間違いしてる。
Avatar
解説聞けば聞くほど当日なんで解けたのか分からなくなってきた
Avatar
クソわかる
12:33 PM
しかも正解してるんだよなぁ
12:33 PM
なぜなのか
Avatar
みなさんもう懇親会行かれた感じですか?
Avatar
いつもの中華屋にいます 中国茶房8 六本木本店 〒106-0031 東京都港区西麻布3丁目2−13 コートアネックス六本木 2F 03-5414-5708 https://goo.gl/maps/KW5Eos4MHywJ7Kz19
Avatar
ありがとうございます
Avatar
Kishikawa Katsumi 10/20/2019 8:29 AM
中国語の小部屋というのは(改めてWikipediaをちゃんと読んだ)要するに、パターンマッチを極めたらそれは完全に理解していると言えるか、ってことか。 まあでも人間がやる場合はどこかで知識に変わる気がするけど。
Avatar
主観的な体験としてはわかってる感は自覚できるところがありますね
Avatar
swiftckaigiで発表したuenokuと申します。先日はお世話になりました。 swiftckaigiでllvmのAttributeについて発表したのですがGSoCでやった内容についてブログを書いてみたので良かったら読んでみてください(swift関係ないので申し訳ないですが) http://uenoku.hatenablog.com/entry/2019/12/06/215715 (edited)
この記事は qiita.com の6日目のために書かれました。22時くらいに投稿するのはギリギリセーフ?(すいません) 概要 4,5ヶ月前AttributorというパスがLLVMに追加されました(唐突)。自分はGSoCでこれの開発の手伝...
😄 7
Avatar
omochimetaru 12/8/2019 8:46 AM
ウエノクさんこんにちは、読みます! ちなみに次回は金曜日にやるので良かったら来てください
Avatar
卒論で少し忙しいのでまた次の機会(2月とか?)にお邪魔できればなと思います🙏
Avatar
omochimetaru 12/8/2019 8:58 AM
はい。卒論がんばって (edited)
😂 1
Avatar
f([Cat()])したらどうなるのかな
Avatar
同じ結果です
Avatar
なるほどー
Avatar
Kishikawa Katsumi 12/13/2019 11:11 AM
f([Cat()]) ^ あとでこのArrayリテラルをSetでうけるやつを試す
Avatar
SetはNonDefaultLiteralに抵触しそう (edited)
Avatar
(すいません、ターミナルの文字の拡大ってできますか)
11:18 AM
たしかに
Avatar
@swift-5.1.5 class Cat {} func f(_ a: AnyObject) { } f(Cat.self)
Avatar
exit status: 1 with stderr:<stdin>:5:3: error: argument type 'Cat.Type' does not conform to expected type 'AnyObject' f(Cat.self) ^
Avatar
ArrayリテラルをSetでうけるやつ // 0 0 0 0 0 0 1 0 0 0 0 0: SK_NonDefaultLiteralが1 func f(a: Set<Int>) { print("a") } // func f(a: [Int]) { print("b") } f(a: [0]) // b (edited)
Avatar
naruhodo // 0 0 0 0 0 0 1 0 0 0 0 0: SK_NonDefaultLiteralが1 func f(a: Set<Int>) { print("a") } // そもそも出ない @available(*, unavailable) func f(a: [Int]) { print("b") } f(a: [0]) // a (edited)
Avatar
Kishikawa Katsumi 12/13/2019 12:02 PM
Swift provides a special method called __conversion that allows you to implicitly convert your type to another type. I would like to be able to define a method that allows you to go the other way: ...
Avatar
福岡のわいわいワークショップ担当なのですが https://iosdiscord.connpass.com/event/151576/
当日はYoutubeで配信、Discordの通話を用意します。遠方の方も気兼ねなくオンライン参加して下さい!
これもしやるんだったら誰かお願いしてええですか
# わいわいswiftc わいわいswiftcは、Swift Compilerとその周辺技術に関する勉強会です。初心者・上級者を問わず、情報交換とディスカッションの場として機能することを目的としています。 swiftcとはSwift Compile...
5:11 AM
ぼく当日いつものごとくヒィヒィ言ってて死にものぐるいになりそうなので。。。。 (edited)
Avatar
omochimetaru 1/10/2020 5:12 AM
いつものtarunonが来ないんだよね〜誰か氏〜
Avatar
自分がやることになると思いますー (edited)
🙂 2
Avatar
↑ごめんなさい!今週金曜のメルカリ開催の方の話でした! (博多の方ではないです〜 🙇‍♂️ ) (edited)
Avatar
↑ いなさそうなので、録画という形でも大丈夫でしょうか? 録画できるカメラはあります! (edited)
Avatar
良いと思います、前回も録画でした
😆 1
Avatar
はいー!ありがとうございます!
11:43 AM
動画は後日tarunonさんに渡す感じで大丈夫でしょうか?
🙆‍♀️ 1
👌 1
Avatar
今日のわいわいswiftc #17 で森タワー(ヒルズ)に入るパスワードみたいなのってもう配信されてましたっけ?
Avatar
まだです〜
8:08 AM
開場19時なので、18時くらいに送信しようかと思ってました 🙏 (edited)
Avatar
おっ、了解です 👍
Avatar
中華料理屋で言ってたEdge vs Googleのはなし、本当かどうかもしかしたらもう決着してるかもしれないけど。 https://gigazine.net/news/20181219-microsoft-edge-html-chromium/
Microsoftがウェブブラウザの「Microsoft Edge」で、独自開発のブラウザエンジンである「EdgeHTML」から、オープンソースの「Chromium」互換のプラットフォームに移行することを正式に発表しました。その理由につ...
5:31 PM
あと今回の発表でもあったコルーチン、これがどうして非同期処理とごちゃごちゃになってしまった(?)のか、そもそもコルーチンとはなんだったのか、というのをプログラム言語の歴史を遡りつ解説した遠藤さんの記事がある書籍を読むと、いろいろと理解がはかどるかもしれません(?) https://www.lambdanote.com/products/nmonthly-vol-1-no-1-2019-ebook (edited)
計算機好きのための技術解説情報誌 エヌゲッカンラムダノート(不定期刊行) 80ページ A5判 紙書籍は1色刷 2019年3月14日 第1巻第1号/通巻1号 発行 目次 #1 TCPの再送制御機構(西田佳史) #2 「 コルーチン」...
5:38 PM
実は 👆の記事の草稿がhttps://mametter.hatenablog.com/entry/2019/03/27/211140 👈 で公開されていたりします。RubyのRGenGCでブチあがっていた(過去のはなしか?)笹田さんなどのレビューであったり、そもそもラムダノート社の社長(?)である鹿野さんはSchemeマニアだったりと濃いメンバーが執筆・レビュー・編集しているので、ちょっと興味がある人は買ってみるといいかもです。(実は個人的にLaTeX関連で鹿野さんとはいろいろ付き合いがあるというのもありますが)
『Ruby でつくる Ruby』などでお世話になっているラムダノートが、新しい雑誌「n月刊ラムダノート」を創刊しました。 www.lambdanote.com コンピュータ関係の技術情報の記事だけが載るそうです。創刊号は、『TC...
Avatar
@tarunon san https://github.com/waiwai-swiftc/events/issues/2#issuecomment-578575503 こちらに昨日の動画を載せました、アップロードお願いしても大丈夫でしょうか。Part1 2を分けてアップロードしても大丈夫です 概要欄に資料の情報の掲載をお願いしたいです
3:01 AM
と思ったけど、これ自分のYoutubeアカウントで上げても大丈夫?ですか
Avatar
大丈夫ですよ
😀 1
Avatar
はーい、ではそうします
👍 1
Avatar
福岡ワークショップのアップロード、まじで回線がアレなのでこれが失敗したらお願いしたいです
Avatar
質問なんですけど、御社のゲストwifi借りちゃってとか出来ないです?
Avatar
弊社最近めっちゃおそい
Avatar
えw
2:26 PM
じゃあ仕方ないか。我が家の最強回線で対応しましょう👌
Avatar
感謝感激です、とりあえず明日までにアップロードの状況報告します
2:27 PM
弊社でやるとまずダウンロードで死ぬ
Avatar
Kishikawa Katsumi 1/29/2020 2:30 PM
家の回線が
2:30 PM
速いのうらやましい。
Avatar
昨年の夏に全室論理1Gbpsになりました (edited)
Avatar
Kishikawa Katsumi 1/29/2020 2:31 PM
それはNuroってやつですか?
Avatar
多分そうなんじゃないかと思うんですが、マンション側の管轄で回線代も家賃組み込みなので
2:32 PM
あー
2:32 PM
適当なコマンドでisp調べれないかな
Avatar
Kishikawa Katsumi 1/29/2020 2:32 PM
マンション側の設備なのもいいですね。 (edited)
Avatar
あと25%、頑張れアップロード
Avatar
…?
2:34 PM
なんで弊マンションのGlobalIPのwhoisでuuumが出てくるんだ…?
Avatar
え uuumってあのuuumですか? (edited)
Avatar
とりあえずwhoisは兎も角、Gyao光であることがわかりました
2:35 PM
いや違う
2:35 PM
これっぽい
2:36 PM
マンション設備、一長一短で、自己管理ではないから当然ポート開けたりするのマジで面倒くさいので、そういうのがしたい人はそもそも住めない
2:37 PM
一応申請フローはあるんで何とかなるんですが面倒
Avatar
Kishikawa Katsumi 1/29/2020 2:38 PM
なるほど法人用のサービスっぽい。個人向けはやっぱりNuroになるんかな。
2:40 PM
ポート開放ができない問題はなんかみたことあります。 でも仮想サーバーとか使ったらこちら側だけでどうにかできるとかあるんじゃなかったでしたっけ。
Avatar
ウチもマンションですが、VPSにVPNサーバを建ててポートフォワードしてます。こちら側だけで勝手にできる
Avatar
お、抜け道あるんすね
Avatar
奇跡的にアップロードできたけどDiscordなんかもりあがっているので言えなくなってきた
☺️ 2
Avatar
Avatar
はい、どうにかします。とりあえずなんとかすればなんとかなることがわかりました
2:48 PM
おうちがいちばん
Avatar
iMovieで適当な尺に分割して
2:48 PM
多分全編は必要なくて、説明のセッションだけあればいいかな
2:48 PM
それであげれば良いだと思います。経験上2,3時間ぐらいなら問題ないはず (edited)
Avatar
説明のセッションが55分で、多分動画のサイズがでかい気がします
2:49 PM
iPadでとったらやっぱこうなるのか
Avatar
一応警告の詳細見て、時間の上限について何か書いてませんか?
Avatar
Kishikawa Katsumi 1/29/2020 2:49 PM
もっとはよエラーにしてくれって感じですね。
😂 1
Avatar
55分が処理できないのはさすがに、何かしらの制限とかあるかもしれない
2:50 PM
あんまりこれで失敗し続けるのも時間もったいないので、(Youtuberやる予定あるなら別ですが) 私が巻き取ってもokです
Avatar
アップロード画面でSD動画への変換が99%でしばらく止まっていたので、他タブで管理画面開いたらなんか失敗してました
2:53 PM
「詳細はこちら」の詳細がリンクになってない、泣きたい とりあえず動画サイズの問題そうなので、ffmpegかなんかに適当に投げてがんばります
🙆‍♀️ 1
2:56 PM
https://support.google.com/youtube/answer/71673 たぶんこれだった、悲しい
Increase your video length limit By default, you can upload videos that are up to 15 minutes long. Verified accounts can upload videos longer than 15 minutes.
Avatar
配信手続きしてるとこのフロー済んでるはずなので、なので踏まなかったのか
2:58 PM
データ完全に消えてます?認証済んでからリトライできないかしら
Avatar
選択肢が 削除 or 削除みたいな感じなので諦めてアップロードガチャをまた引きます
Avatar
GitHubリポジトリのWebhookをここに通知させたいので、 @omochimetaru 設定お願いできますか? https://github.com/waiwai-swiftc/events/issues/4
日時 4/17 (Fri.) 場所 Swift Discord Go Live (参加方法準備中) connpass 準備中 コンテンツ @sidepelican Generics最適化 @sonsongithub LLVMでのJIT実装 @omochi #1 がcovid19の影響で中止になったので代わりにオンライン開催をします
Avatar
↓これと被ってますね。参加者400人規模の言語横断イベントなので外せたら外した方がいいかも。僕は普段わいわいに参加してないので難しそうなら無視して下さい。 https://opt.connpass.com/event/169724/
  • clusterイベントページ: https://cluster.mu/events/88475257-4b92-4e07-b23c-a3381adcdfc8 * 主に人数把握のために、基本的にこちらから登録をお願いします。イベント自体はcluster上で開催されます。 * * * # 機材について 今回、clusterを利用するため、以下の環境が必要となります(お手数ですが、Linux環境の方は、WindowsかmacOSを別途ご用意いただければと思います)。 * OS: Windows 10 or macOS * ハードウ...
Avatar
お、ありがとうございます。
6:18 AM
前回もおなじイベントと被ってしまったw
Avatar
リスケします
🙂 1
Avatar
これわいわい勢もいるんじゃ
Avatar
イベントのウォッチ力が足りない……
6:21 AM
これclusterでやるのに400人か
6:21 AM
みんな環境持ってるんだろうか
Avatar
omochimetaru 3/26/2020 8:28 AM
@giginet フックはできた。
👍 2
Avatar
4/20(Mon.) 19:30から確定しました。イベントページも公開しています。 https://connpass.com/event/171835
Avatar
4/20に開催します!!!
Avatar
Kishikawa Katsumi 3/30/2020 7:43 AM
申し込んだ。移動がないのは楽でいいな。中華が食べられないのは残念だが。
😄 1
Avatar
UberEATSでエロ中頼めた気がする
😂 1
Avatar
omochimetaru 3/30/2020 8:02 AM
その発想は無かった
Avatar
これもうちょっと早い時間だといいなあ
8:45 PM
せっかくオンラインなのにJST 7pm = 3am PDT = 6am EDT
8:47 PM
この時間帯はAPAC/EMEAなんだよなあ
Avatar
Kishikawa Katsumi 3/30/2020 8:51 PM
確かに。ランチ後とかに始めるとJSTとPDT間ではちょうどいいのかなあ。
Avatar
Audience 次第ですが...
8:52 PM
APAC/LATAM/EMEA全部をカバーする時間帯は存在しないので...
Avatar
準備できた
Avatar
Avatar
はい
Avatar
これGo Live始めるのにXcodeをプレイ中にしないとダメ?
Avatar
わかんねえ、やってみよう
Avatar
割といい感じだった
Avatar
権限付与が簡単でカスタム出来るの良い感じでしたね
Avatar
omochimetaru 4/14/2020 1:14 PM
Server booster表示できた。
Avatar
# わいわいswiftc #19 オンライン 昨今の社会的情勢を鑑みて、初のオンライン開催を致します。 現時点では、swift-developers-japanのDiscordサーバー上でオンライン配信を行う予定です。 https://medium.com/swift-column/discord-ios-20d586e373c0 詳細な参加方法については、決定次第お伝え致します。 # わいわいswiftc わいわいswiftcは、Swift Compilerとその周辺技術に関する勉強会です。初心者・上級者を問わず、情報交換とディスカッ...
1:14 PM
man書いた
1:14 PM
みなさんご協力ありがとうございました
Avatar
配信ウィンドウを途中で切り替えるのは難しそうだからやっぱりデスクトップごと配信する形かなぁ
Avatar
omochimetaru 4/14/2020 1:15 PM
確かにみんながつなぎ直さないといけないからな
Avatar
あとは事前にDiscord参加してくれ〜ってメッセージ発射しておきます
Avatar
ありがとうございます
Avatar
omochimetaru 4/14/2020 1:15 PM
説明、画像つきだ偉い
✌️ 1
Avatar
メッセージは金曜ぐらいに出せば良いか
1:17 PM
これスピーカーの顔見えないのは仕方ないか
1:17 PM
ワイプできれば良いんだけど
Avatar
窓ごと配信するならQuickTimeを端っこに出せばよいのでは
1:18 PM
⌘⌥Nでフロントカメラ映せますよ
Avatar
omochimetaru 4/14/2020 1:27 PM
画面ごと?
1:28 PM
Window配信だと重なってても別の窓は見えなかった
Avatar
今日全編録画するんですが、ちょっとNWの状態悪いので、どなたかリザーバーお願いできると嬉しいです。
9:32 AM
録画方法は、QuickTimeの全画面録画で問題ない認識です
Avatar
Kishikawa Katsumi 4/20/2020 9:34 AM
マンションがめっちゃ遅いんでしたっけ。 じゃあ私も録画しときますね。
🙏 1
Avatar
そしてカメラをONにできるようになってるかな?
Avatar
Kishikawa Katsumi 4/20/2020 9:34 AM
私ですか?
Avatar
ここのサーバーです
9:35 AM
他のサーバーだとカメラ有効なの確認しています
Avatar
Kishikawa Katsumi 4/20/2020 9:35 AM
あ、そういう制限があるんですね。
9:35 AM
サーバーブーストっていうのはその話か。やっと理解した。前にも聞いた気がするけど忘れていた。
9:36 AM
メンバーがお金を出し合って制限を解除していくんですね!
Avatar
今回のカメラ有効化は、ブースト関係なくABテストですね
9:36 AM
今回のブーストでの恩恵は通話音質の改善です!
Avatar
Kishikawa Katsumi 4/20/2020 9:37 AM
あ、関係ないんですね。。。
Avatar
19:15ぐらいから最初にぼくが画面配信します
Avatar
画面録画出来ること確認したので晩飯作ってきます
Avatar
Kishikawa Katsumi 4/20/2020 10:16 AM
Record Entire Screenですよね。
10:17 AM
サブマシンでずっと録りっぱなしにするのが良さそうだな
Avatar
次回のわいわいswiftcオンラインの開始時間はどうしますか? 1️⃣ 18:00~ 2️⃣ 18:30~ 3️⃣ 19:00~ 4️⃣ 19:30~
1️⃣ 1
2️⃣ 3
3️⃣ 4
4️⃣ 16
Avatar
とりあえず雑に収録開始しました
Avatar
Kishikawa Katsumi 4/20/2020 10:20 AM
画面録画ってこれは音はどうやって入るんですか?
10:21 AM
QuickTimeの画面録画で音入ります?
Avatar
多分スピーカー音声は入ってる気がする
10:21 AM
QuickTime
Avatar
Kishikawa Katsumi 4/20/2020 10:21 AM
なるほど。念のため私の設定が合ってるか確認しますね。
Avatar
必要なもの Mac (今回はMavericksを使用) Quick Time Player Soundflower 手順 Soundflowerを起動 Quick Timer Playerを起動 音声入力元をSoun...
Avatar
遅れてすみませぬ
Avatar
@Biacco42 タイトルありますか?
10:34 AM
発表の
Avatar
@giginet 5 分ではわからない HM 型推論
👍 1
10:35 AM
でお願いします
Avatar
(枠30分だよ?)
Avatar
まぁ 30 分なら 5 分でわからないが真でも問題ない
Avatar
真なので問題ない了解 (edited)
Avatar
21:30頃からになるかと思います。よろしくおねがいします
Avatar
世の中に5分でわかることなんぞあるのだろうか・・・・・
Avatar
了解です @giginet
Avatar
こんにちわ
Avatar
ここ
Avatar
ぽこぽこ聞こえてきておもしろい
Avatar
thief-catさん緑に光ってるので反射してますね
Avatar
スピーカー使ってる人は,マイクオフ推奨
Avatar
登壇者は権限使ってミュートできます (edited)
Avatar
Kishikawa Katsumi 4/20/2020 10:42 AM
1つのストリームしか入れないというの理解した。
10:42 AM
サブマシンで撮ってるけどほったらかしにはできない。。。
Avatar
Kishikawa Katsumi 4/20/2020 10:44 AM
部屋を真っ暗にして撮ってる横で聞きながら別のマシン(これ)でテキストを打っている
Avatar
型パラ,50個wwwww
10:52 AM
2000個
Avatar
SwiftUIで複雑なView組んでも50個はいかないか
Avatar
Kishikawa Katsumi 4/20/2020 10:53 AM
SwiftUI
Avatar
Viewのネストと等価だと考えると、100層ぐらいは行く可能性がありそう
Avatar
Kishikawa Katsumi 4/20/2020 10:53 AM
なら届くかも
10:53 AM
まあでもSwiftUIのジェネリクスは特殊化する意味はないですよね。
Avatar
無いと思います
Avatar
Kishikawa Katsumi 4/20/2020 10:54 AM
あれは組み合わせで1つの特殊なGenericsだ。
Avatar
なるほどたしかに
Avatar
キーボードのタイプ音が収録に入らないようにiPhoneから入力してる。
Avatar
?????
10:56 AM
難しい・・・・・
10:56 AM
頭の中で解決できないw
Avatar
func outer<A>() { func inner() { } // A is artchetype inner() }
10:57 AM
any P
Avatar
Any<T: P>
Avatar
<T: P> T
10:58 AM
any P<T: P> T
Avatar
Icemanさんの会話相手の声がまったく聞こえないんだけど僕だけでしょうか?
Avatar
some Pっぽい
Avatar
@koher 私ですけど
Avatar
おもちさんを手動ミュートにしてる可能性ある
Avatar
個別にミュートしてる可能性
Avatar
僕聞こえてるよー
Avatar
聞こえてる
Avatar
ぼくは聞こえてる
Avatar
酷い・・・・・
Avatar
聞こえてます
Avatar
仕事中にやらかしたか〜?w
Avatar
聞こえてました
Avatar
おもち〜
Avatar
手動ミュートw
Avatar
うわ・・・・
Avatar
wwwwww
Avatar
仲良く
Avatar
人間関係が・・・・
Avatar
職場内で解決してくれ!
Avatar
(そういう問題では) ないです
Avatar
omochiだけミュートマークが赤くてなんだろうと思ったらw
Avatar
赤ミュートは手動だった気がする
Avatar
斜め線だけ赤くなるミュートがありますね
Avatar
wwwwwwww
11:01 AM
読めねーよw
Avatar
ちょっと消えるので登壇者交換したらメンションとばして下さい
Avatar
といれ
Avatar
なんじゃこれ
Avatar
One source of memory and performance overhead in Swift code is the instantiation and fetching of type metadata. Even though generic specialization eliminates the need for type metadata in most fully-specialized code, we still need the metadata in many frequently-occurring situ...
Avatar
@swift-main struct A<T> { var value: T } print(MemoryLayout<Int>.size) print(MemoryLayout<String>.size) print(MemoryLayout<A<Int>>.size) print(MemoryLayout<A<String>>.size) (edited)
Avatar
swiftNightly BOT 4/20/2020 11:16 AM
8 16 8 16 (edited)
Avatar
A<Int> = { var value: Int } A<String> = { var value: String }
Avatar
だいぶマシ
11:20 AM
ついていけないw
Avatar
いまきた。
🙌 2
Avatar
annotationの引数にwhere conditions取るの面白い
Avatar
わかりやすい
11:25 AM
え,どっちなの
Avatar
8888888
Avatar
8888
Avatar
88888888
Avatar
88888888
Avatar
wwww
Avatar
↓さっき話してた @_specialize 大量虐殺 commit です。 https://github.com/koher/swift-image/pull/32/commits/e96103ade5f478cb470fe7cb80061e5f772f0797
👀 2
Avatar
wwwww
Avatar
めちゃ気持ちいいやつだ
Avatar
メンションとばして!
11:32 AM
まだ別室にいるので終わったら教えて欲しいです
Avatar
@tarunon いま質疑応答でダバダバしてる
Avatar
@tarunon 質疑応答
Avatar
@tarunon 次が始まります
Avatar
完了したら画面切り替えだけやりに行きます
Avatar
@tarunon 次行きます
Avatar
関係ないこと喋りすぎた…… 🙇‍♂️
Avatar
Try to "Just In Time" compile using LLVM. Contribute to sonsongithub/llvm_jit_compile development by creating an account on GitHub.
Avatar
@yyu ボム作るの面白かったので挑戦してみてほしいです
Avatar
まじか!?
11:33 AM
やってみるか。
Avatar
録画おk
Avatar
Kishikawa Katsumi 4/20/2020 11:34 AM
swiftbotに投げられたらエラいことになるな😱
Avatar
戻りマン
Avatar
エコーとスライドが相まって怪しい宗教感あってよい
Avatar
アニメーションが全然並列じゃないw
Avatar
Avatar
wwwwwww
Avatar
部下が良かれと思って付けたアニメーションの可能性
Avatar
Kishikawa Katsumi 4/20/2020 11:47 AM
シフト ↑↓でいけるらしい(アニメーションOFF)
Avatar
キッズ音声が
Avatar
おまじない
Avatar
IRBuilderの使い方は去年やったLLVM workshopの資料も参考になります https://github.com/giginet/MinSwift-workshop/blob/master/handouts/practice7.md
♻️ minimum Swift compiler written in Swift. Contribute to giginet/MinSwift-workshop development by creating an account on GitHub.
11:59 AM
あと、sonsonさんが触れていたkalaidscopeをやってみるのが良い
Avatar
SIMDとかをつかうプログラム、みんなどうやってCIやってるのか気になってる…… 👀
Avatar
Kishikawa Katsumi 4/20/2020 12:07 PM
外に見えてるものだったらnmとかで取れるんじゃないかな。
Avatar
MacならMachOからテーブルを抜く方法もありますね
Avatar
Kishikawa Katsumi 4/20/2020 12:08 PM
なるほど。いずれにしてもビルド済みのものが相手なら行けますね。
Avatar
ですね
Avatar
Var はVarってクラスだからこうなるんだけど、パッと見大文字始まりだと違和感あるな
Avatar
一瞬 var に見える
Avatar
それ
Avatar
DSLで変数束縛のまわりかな……。
Avatar
@giginet ちょっとトイレ行ってます発表までには
👍 1
Avatar
Variableって型あるんですか?
Avatar
定義してない?
Avatar
まにあった
Avatar
17は全くワカラン……
Avatar
888888
Avatar
88888888
Avatar
88888888
Avatar
8888888888
Avatar
88888888
Avatar
8888888
Avatar
休憩です!
Avatar
開催予定など. Contribute to waiwai-swiftc/events development by creating an account on GitHub.
Avatar
え,うちのキッズの声入ってた?
12:33 PM
Air Pods Pro・・・・あかんな
Avatar
ネタ置き場. Contribute to waiwai-swiftc/waiwai-swiftc-ideas development by creating an account on GitHub.
Avatar
func main() -&gt; Int { let hoge: Int? = 1 let fuga = hoge .map { $0 * 2 } .map { $0 + 3 } .map { $0 * 4 } return fuga ?? 99 } $ swiftc -emit-sil -O c1.swift // main() sil hidden @$s2c14mainSiy...
Avatar
めっちゃあるやんwww
Avatar
開催予定など. Contribute to waiwai-swiftc/events development by creating an account on GitHub.
Avatar
78wwwwwwwwwwww
Avatar
78枚を5分、1枚4秒ですね
Avatar
もう押してる
Avatar
型システム祭りをリアルタイムで見てたけど「あ、5分でこれ間に合わねえな」っておもいました (edited)
Avatar
30分でも無理・・・・?
Avatar
なるほどね
Avatar
20秒1枚なんですが、既に間に合ってない
Avatar
既に5分経ちそうw
Avatar
これをML式というのか・・・・・知らなかった
Avatar
わかりやすい
Avatar
全少量化ってなんですか
12:46 PM
了解
12:47 PM
「任意の」やつですね
Avatar
型レベルのラムダ抽象。
Avatar
大丈夫(大丈夫とは言っていない)
Avatar
おもちワークショップで見た奴だ
Avatar
これは合宿で聞いたやつやな
Avatar
(たいていの実用的な言語では)letで再帰できるけど、いま説明している型システムの範疇で再帰したやつに型がつくかというと……。
Avatar
おもめたワークショップだ
Avatar
omochimetaru 4/20/2020 1:11 PM
ラムダ式 λxy.x + y
1:11 PM
λx.x + y
1:11 PM
λy.λx.x+y
Avatar
ついていけなくなった・・・・
Avatar
盛り上がって参りましたが、大分オーバーしそうな気配があるので、あと10分ほどで一旦切りたいです @Biacco42
Avatar
このままいくと徹夜になる・・・・・
Avatar
流すのも間に合わない予感
Avatar
一瞬すぎるwwwwwwwwwwwww
Avatar
あ、ここで終わりなのか
Avatar
天翔龍閃
Avatar
シンプルに型変数はインスタンス毎に型が定義されるから、ごちゃ混ぜにもならなければそれぞれのインスタンス毎に型の導出が可能なんじゃい、という話だと思った
Avatar
わかりやすかったので次回も聴きたい
Avatar
もう頭が働いていない
Avatar
オフだと会場の時間制限という物理制約があるけど、オンだと無限にわいわい出来ちゃう
Avatar
わいわいswiftcエンドレス
Avatar
雑すぎたので次回はちゃんとタイムキープします 🙇‍♂️
Avatar
ありがちな展開
Avatar
資料作りながら聴いてたのでわけのわからんことをぼやいてしまった, もうしわけないです!
Avatar
今日,僕の発表でHalide IRのところとかで突っ込んでくれた方ってどのアカウントの方ですか・・・・?
1:35 PM
声とアカウントが一致しない
Avatar
Deleted User 4/20/2020 1:35 PM
あっ僕です
1:36 PM
(型の話も含めて、色々勘違いして発言してしまったところもありますが、、)
Avatar
ありがとうございましたー
Avatar
A language for humans and computers
Avatar
やっぱり,FixStarsno
1:38 PM
の人やんwwwww
1:39 PM
@Deleted User ふぉろーしますた
Avatar
Deleted User 4/20/2020 1:40 PM
そうですw ありがとうございます
Avatar
@Biacco42 盛り上がって参りましたが、録画の尺などもあるので一旦締めたいです。続きは懇親会で
Avatar
盛り上がったwwww
Avatar
88888888
Avatar
88888888
Avatar
8888888
Avatar
8888888
Avatar
88888888
Avatar
Naruki Chigira 4/20/2020 1:43 PM
88888888
Avatar
888888888
Avatar
録画終わります
Avatar
8888888888
Avatar
88888888888
Avatar
888888
Avatar
👏
Avatar
日時 MM/DD (N曜日) 場所 connpass わいわいswiftc #00 - connpass コンテンツ @freddi-kit ~
Avatar
各自ご歓談ください
Avatar
Kishikawa Katsumi 4/20/2020 1:44 PM
Discordで十分いろいろできるなー
Avatar
録画データは休憩時間の尺をカットしてYoutubeにあげます
👍 4
Avatar
イヤホンでやってるから疲れる・・・・
Avatar
音声含めちゃんと取れてますね、私の生活音がちょいちょい入ってますがそこはご容赦ください
Avatar
omochimetaru 4/20/2020 1:46 PM
α-変換
この規則によれば、式 λx. (λx. x) x が λy. (λx. x) y に変換されることがわかる。
1:47 PM
例えば、 λx. x と λy. y は同じ関数を表している。
1:49 PM
((λx.M) E) → (M[x := E]) β-reduction Replacing the bound variables with the argument expression in the body of the abstraction.
1:49 PM
Lambda calculus (also written as λ-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation that can be used to simulate any Turin...
Avatar
@Iceman @sonson @Biacco42 本日は発表ありがとうございました。のちほどconnpassに資料を上げておいていただけると https://iosdiscord.connpass.com/event/171835/
# わいわいswiftc #19 オンライン 昨今の社会的情勢を鑑みて、初のオンライン開催を致します。 現時点では、swift-developers-japanのDiscordサーバー上でオンライン配信を行う予定です。 https://medium.com/swift-column/discord-ios-20d586e373c0 詳細な参加方法については、決定次第お伝え致します。 # わいわいswiftc わいわいswiftcは、Swift Compilerとその周辺技術に関する勉強会です。初心者・上級者を問わず、情報交換とディスカッ...
🙌 1
Avatar
@giginet 了解です ✋
Avatar
Summary Diagnose label mismatch based on argument mapping which is used by type check in after repair stage Diagnose all out of order labels Diagnose label mismatch and out of order same time Spli...
Avatar
omochimetaru 4/20/2020 2:01 PM
This PR improve {{none}} fix-it verifier. Currently, it means that no fix-it is expected. I improve it to mean that no more fix-it is expected when use it with normal fix-it verifier at same time. ...
2:07 PM
The second review of SE-0279 — Multiple Trailing Closures begins now and runs through April 24, 2020. This is the second review, with a modified proposal. The core team has considered the feedback from the first review and believes that: the underlying motivation for the p...
Avatar
Kishikawa Katsumi 4/20/2020 2:08 PM
Atomicあったね。
Avatar
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - apple/swift-evolution
Avatar
Atomic気になる
Avatar
Kishikawa Katsumi 4/20/2020 2:08 PM
これは興味深いって言われてるしこのまま通るんじゃない。便利だし
Avatar
RxSwiftとかNSLockで頑張ってるし社プロジェクトでも渋い感じになってる
Avatar
omochimetaru 4/20/2020 2:10 PM
throws!
Avatar
Atomic、ownershipとの関わりが気になる
Avatar
omochimetaru 4/20/2020 2:11 PM
This document discusses the design and tradeoffs for interoperability between Swift and C++. This document was written with valuable contributions from Doug Gregor, John McCall, Chris Lattner, Dave...
2:12 PM
The Swift Programming Language. Contribute to gribozavr/swift development by creating an account on GitHub.
Avatar
落ちます。本日はありがとうございましたー
👍 3
Avatar
Kishikawa Katsumi 4/20/2020 2:16 PM
👋
👋 2
Avatar
おつかれさまです〜
Avatar
Deleted User 4/20/2020 2:16 PM
ありがとうございました〜
Avatar
今日は長々すいませんでした。ありがとうございました〜
Avatar
Kishikawa Katsumi 4/20/2020 2:17 PM
抜け方わからなかった。電話のアイコンか。
Avatar
connpass ページの方に資料追加しました
Avatar
protocol HTraverse { associatedtype Source: HList func traverse(_ f: () -> Void) -> HNil } extension HCons: HTraverse where T: HTraverse { typealias Source = HCons<H, T> // おい!ここを@inlinableにさせてくれ!! func traverse(_ f: () -> Void) -> HNil { f() return self.tail.traverse(f) } } extension HNil: HTraverse { typealias Source = HNil public func traverse(_ f: () -> Void) -> HNil { f() return HNil() } } 👆 こういう感じでHListHNil まで型レベルで再帰していくことによって、たとえば HCons<String, HCons<Bool, HCons<Bool, HCons<Int, HCons<Optional<Int>, HCons<String, HCons<Bool, HCons<Bool, HCons<Int, HCons<Optional<Int>, HNil>>>>>>>>>> このように10回HCons がネストした型だと10回の違った(1つずつ展開された)呼び出され型がするため、その分の特殊化(?)でバイナリサイズが爆弾になることを期待してたんですが、コメントにあるとおり、狙った場所に @inlineable を書くとコンパイルがとおらない…… 😢
8:17 PM
Ideone is something more than a pastebin; it's an online compiler and debugging tool which allows to compile and run code online in more than 40 programming languages.
Avatar
参加してくれた方ありがとうございました。 # 20 (#5) もよろしくお願いします
Avatar
Discord上での勉強会の体験はどうだったんだろ、良かったのかな
Avatar
Kishikawa Katsumi 4/21/2020 7:50 AM
いい感じでした。マイクの場所を気にせずに話せるのがいい。
Avatar
遠方から参加しやすい、YouTubeよりスライドが見やすいという点では良かったです。オフラインと比べるとわからないですが・・・。
Avatar
オフに戻った時にも、Youtube配信ではなく配信をDiscord+一台犠牲にして録画、というので行こうかなと考えていたり。
Avatar
遠方から参加しやすいという点については、現場(オフライン会場)ベースでの会話においてけぼりにされることがないというのが大きい気がしてます。みんな同じ条件なので。 (edited)
Avatar
今回は録画がアナログになっちゃったんですが、音声込みで取れるなら良さそう。
7:52 AM
:naruhodo:
Avatar
入退室の効果音オンオフできるといいね
👉 1
Avatar
omochimetaru 4/21/2020 8:05 AM
Avatar
Kishikawa Katsumi 4/21/2020 8:05 AM
お、そこで変更できるのか。
Avatar
omochimetaru 4/21/2020 8:06 AM
チャンネル側で設定できたら良かったけど、個人設定しかないかも?
Avatar
Kishikawa Katsumi 4/21/2020 8:08 AM
設定周りは知ってる人とデフォルトのままで設定自体ほとんど見ない人で差がありますね。
Avatar
@freddi-kit 5/22(Fri.)を目安にやっていこうと思ってるが日程大丈夫でしょうか?
Avatar
次回は5/22にやります!!! https://iosdiscord.connpass.com/event/174409
# わいわいswiftc #20 オンライン 昨今の社会的情勢を鑑みて、当面はオンライン開催を致します。 swift-developers-japanのDiscordサーバー上でオンライン配信を行う予定です。 https://medium.com/swift-column/discord-ios-20d586e373c0 詳細な参加方法については、下記をご覧ください。 # わいわいswiftc わいわいswiftcは、Swift Compilerとその周辺技術に関する勉強会です。初心者・上級者を問わず、情報交換とディスカッションの場とし...
Avatar
mapのoptimizationの話か、DCEで使われているある関数の実装を見るやつやるかなあ。今週までにネタ決めます
Avatar
正確に言えば、SwiftコンパイラのmayHaveSideEffects関数の実装の話かmapのoptimizationのはなしします
Avatar
omochimetaru 4/23/2020 7:45 AM
う〜ん、なんでもポコポコ鳴るのは邪魔な感じがするな・・・ issueへの書き込みとここへの書き込みはスコープも違うし。
7:50 AM
@giginet webhookが飛ぶのをissueイベントだけにしてみました ↑で流れてるようなissueコメントはここには必要ないと思うので。
🙏 2
Avatar
5月22日に #わいわいswiftc #20 で「CSFixとラベルマッチ」という発表をオンラインでやります。 Swift5.2に搭載された型推論器の機能強化と、実はかなり複雑な関数呼び出しの文法について話します。 https://t.co/fdkN6IRsfH
Avatar
念願の #わいわいswiftc で話します。https://t.co/p8J3uYpRdS n回目の正直... ことしの1月にやったワークショップ https://t.co/nVVZ5Cd8rH の軽い復習と、このワークショップでやったDCEに足りなかった「mayHaveSideEffects」についてその内部実装からお話をします。
11:15 AM
そういえば僕去年は登壇するする詐欺でしたね・・・
Avatar
あれ?1回も発表枠出てないんだっけ?
Avatar
やったのはワークショップとSwiftckaigiですw 本編はなかった (edited)
Avatar
そうか、どっちも定例会ではないのかw
Avatar
いつも距離的or時間的問題があったのでw (edited)
Avatar
距離は確かに・・・ オンラインだとそこが解決するのは良いな。
👍 1
Avatar
オフラインになっても来年は何回か有給とっていこうかな
Avatar
うきたか君がよく出張に合わせて来てたけど
11:20 AM
フレディは東京出張は全然無いんか?
11:20 AM
事前にわかってれば開催日をそこに合わせたら良いから。
❤️ 1
Avatar
去年の後半含めて最近はないですねー
11:21 AM
ありがとうございますwでも予定合わないときはいつもどおりYoutubeでみますね (edited)
Avatar
そうか〜
Avatar
https://qiita.com/freddi_/items/aa604dd68697f823a41d そういえばなんですが、今年の1月にあった福岡ワークショップの内容の課題記事全部一般公開しました コレ読んで解法を想像していると、SIL Optimizerまわりのコードが読みやすくなると思うので読んでみてください。 課題レポジトリは諸事情により消してます mm (edited)
コレ何 https://iosdiscord.connpass.com/event/151576/ の資料です はじめに このドキュメントは、わいわいswiftc ワークショップ Vol.3 福岡の事前準備のドキュメントで...
👀 1
Avatar
そういえば、おもちさんってMarkdownからSlide生成するのは何のツールつかってますか?
Avatar
Deckset
Avatar
ありがとうございますw早い
10:35 AM
登壇資料760行超えたけどしゃべりきるかなあ
Avatar
俺のは845行ある
10:35 AM
やったぜ(何が)
Avatar
markdownだからコード引用とか空行が多いけど。 (edited)
Avatar
あーそうですね。僕も今回引用多めです
Avatar
tarunon_rec が爆誕している
Avatar
録画用アカウントだよ
Avatar
なるほど
7:18 AM
たしかに、そのアイコンだとヘッドホン部分が鼻に見える・・・
Avatar
omochimetaru 5/22/2020 7:19 AM
Avatar
FFにいそう
7:19 AM
(FFやったことないけど
Avatar
こんばんは
Avatar
OBSせっていちう
Avatar
仕事燃えてるのでギリギリにいきます
🔥 3
Avatar
接続テスト済んでます
Avatar
そろそろスライド流しておくか
Avatar
飯食ってるので10分以内に向かいます
Avatar
19:30から開始です
🙆‍♂️ 1
Avatar
yutailang0119 5/22/2020 10:27 AM
わこつです
😆 1
Avatar
@いたる スピーカーがミュートになってますよ?
Avatar
yutailang0119 5/22/2020 10:31 AM
左下のヘッドホンを押すんだ
Avatar
かいけつしたっぽい
Avatar
気づきました。静かだなって思ってた。
Avatar
yutailang0119 5/22/2020 10:32 AM
ご飯食べてる
Avatar
ノイズ入ってたの対応しました。ノイズで録画されちゃったのすみません
Avatar
Kishikawa Katsumi 5/22/2020 10:46 AM
@Runar_SF Hmm it should show. Try disabling Hardware Acceleration under User Settings > Appearance tho
10:47 AM
これでマウスカーソル出るかもしれん
Avatar
On some games like Civilization, it's useful to see the mouse cursor, so it would be cool to have an option to see it or not, maybe in the same settings window as the quality selection.
10:47 AM
機能としては存在してなさそうです
10:48 AM
おいww
Avatar
yutailang0119 5/22/2020 10:48 AM
kusa 1
Avatar
https://applech2.com/archives/46298875.html こういうの使うのはありかもしらん (edited)
Macのマウスカーソルに様々な軌跡を付けられるユーティリティアプリ「Screen Sailor」がリリースされています。詳細は以下から。
Avatar
‎ScreenPointerはマウスをポインターとして際立たせる常駐型アプリです。 ・ポインティングの機能は左右の同種修飾キーの同時押し,または修飾キーの長押しによってオンオフ切り替えできます。 ・無料版ではSpotlightのみ使用可能です。 ・App内課金にてPro Editionを購入すると合計16種類のポインタ形式を使用可能になります。 ・ポインタの種類を矢印キーで変更できます。※1 ・一部のポインタはマウスのクリックによって特殊なアクションを起こせます。※1 ・ポインタのサイズを縦スクロール操作で変更可能です。※1 ・ポインタの透明度を...
Avatar
Avatar
終了
Avatar
@ありぜ kyomeさんのやつじゃん
Avatar
yes
Avatar
だから標準のdynamic_cast使ってなかったのか
10:57 AM
なるほど
Avatar
いきなり話しかけられて喋るタイミングを逃してしまったので次から口頭で発言します(muteにしてた)
Avatar
生活音があるのでテキストわいわいするのも仕方ないの巻
Avatar
まあいいじゃないか
Avatar
てか本筋遮らずにわいわい出来るからテキストはそれはそれで便利
Avatar
遮らずに
それはそう
Avatar
議論の余地のないものとかはテキストで良いぞ。配信もテキスト写してます
Avatar
個人の感想を遮って発言するのは忍びない 😅
11:05 AM
_addr suffixに何の情報もなくて辛い命名だ
Avatar
h#ps://it1.jp/?p=1231
Avatar
伏字…
Avatar
Swiftを書いたり読んだりしています。京大の数学科で代数的整数論のIreland Rosenの本を読んでました。Webメディア立ち上げ @laborify 。ニーチェが好きです。
Tweets
1287
Followers
568
Avatar
読むかもしれない(読むとは言ってない)
kusa 2
11:18 AM
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
Avatar
この展開されるenumの話、1桁台のわいわいでおもちさんが解説してた気がする
Avatar
ちゃんと解説してないんだよな。。
Avatar
コメント見る限り n 以外今の所無さそう //===----------------------------------------------------------------------===// // // This file defines the database of builtin functions. // // BUILTIN(Id, Name, Attrs) // - Id is an identifier suitable for use in C++ // - Name is a string literal for the name to which the builtin should be // bound in Swift // - Attrs specifies information about attributes of the function: // n -> readnone // //===----------------------------------------------------------------------===//
Avatar
ほんまや。
Avatar
getMemoryBehavior
Avatar
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
11:36 AM
c++ class FullApplySite : public ApplySite { explicit FullApplySite(void *p) : ApplySite(p) {} public: FullApplySite() : ApplySite() {} explicit FullApplySite(SILInstruction *inst) : ApplySite(inst) { assert(classof(inst) && "not an apply instruction?"); } FullApplySite(ApplyInst *inst) : ApplySite(inst) {} FullApplySite(BeginApplyInst *inst) : ApplySite(inst) {} FullApplySite(TryApplyInst *inst) : ApplySite(inst) {} static FullApplySite isa(SILNode *node) { auto *i = dyn_cast<SILInstruction>(node); if (!i) return FullApplySite(); auto kind = FullApplySiteKind::fromNodeKind(i->getKind()); if (!kind) return FullApplySite(); switch (kind.getValue()) { case FullApplySiteKind::ApplyInst: return FullApplySite(cast<ApplyInst>(node)); case FullApplySiteKind::BeginApplyInst: return FullApplySite(cast<BeginApplyInst>(node)); case FullApplySiteKind::TryApplyInst: return FullApplySite(cast<TryApplyInst>(node)); } llvm_unreachable("covered switch"); }
11:41 AM
NON_VALUE_INST(StoreInst, store, SILInstruction, MayWrite, DoesNotRelease) NON_VALUE_INST(AssignInst, assign, SILInstruction, MayWrite, DoesNotRelease)
Avatar
Kishikawa Katsumi 5/22/2020 11:43 AM
LLVMのコード、if にカッコ書いた方がいいんじゃないか
Avatar
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
Avatar
11:46 AM
if にカッコ書いた方がいいんじゃないか
これな〜 ドキドキするんだよな〜
Avatar
括弧書いた方が良いは本当にその通りだと思うんですが、不思議と全然世界はその方向に行かないですね。 こんな事件もあったというのに https://www.imperialviolet.org/2014/02/22/applebug.html
11:46 AM
88888
Avatar
888888
Avatar
コンビニ草
11:47 AM
52分~
Avatar
888888
Avatar
特殊な…
Avatar
yutailang0119 5/22/2020 11:58 AM
がんばって〜
12:02 PM
@xedin (edited)
Avatar
Playgroundでもいいのかな
Avatar
所用のため抜けますmmありがとうございました!
Avatar
@swift-5.1.5 @swift-5.2.5 func f(aa: Int, bb: Int) {} func f(cc: Int, dd: Int) {} func main() { f(aa: 1, 2) }
kusa 7
Avatar
exit status: 1 with stderr:<stdin>:5:5: error: argument labels '(aa:, _:)' do not match any available overloads f(aa: 1, 2) ^~~~~~~~~~~ <stdin>:5:5: note: overloads for 'f' exist with these partially matching parameter lists: (aa: Int, bb: Int), (cc: Int, dd: Int) f(aa: 1, 2) ^
Avatar
exit status: 1 with stderr:<stdin>:5:6: error: missing argument label 'bb:' in call f(aa: 1, 2) ^ bb:
Avatar
同じくぬけます🙏 後で配信みます、ありがとうございました
Avatar
any でてる
12:10 PM
マイクが死んでる
Avatar
麻雀みたいになってきた
🀄 1
Avatar
点の付け方覚えないと
Avatar
コンパイラが教えてくれるから覚えなくてもw
12:20 PM
オーバーロードのコンパイルエラーが親切になったのはFunctionBuilderの絡みかなぁ
12:21 PM
いい話だ
Avatar
1の方が安そう
Avatar
2のほうが易そう
Avatar
編集距離がどっちが近いかという意図でした
12:24 PM
yes
Avatar
間違ってても補完しようとしてくれるね。けなげ。
Avatar
これは良く見るな
Avatar
かなりラベルが一致してることのウェイトが重い感じがする
12:29 PM
飯食ってんだよ
atsumoti 2
12:31 PM
可変長引数に関数を渡してその後ろにラベル付き関数を定義してtrailing closureを破壊する遊びを思い付いた
Avatar
Kishikawa Katsumi 5/22/2020 12:33 PM
func f(bb: Int...) { print("Any?") }
12:33 PM
f()
12:33 PM
func f(aa: Int, bb: Int) {}
Avatar
Xcode 11.4.xか11.5かの違い?
Avatar
確かにこれは希にハマることありそう
Avatar
Hi all, I've got a quick pitch here on lifting the restriction that each function can only have a single variadic param, inspired by a conversation started by @anandabits on twitter. It turns out this restriction is now easy to lift, so without further ado: Allow Multiple Va...
Avatar
両方ともラベルないケースに面倒そう
Avatar
yutailang0119 5/22/2020 12:46 PM
こんなパターンどうやって見つけてくるの
Avatar
同じラベル付けられるのも意外と試したことなかった気がする
Avatar
現実的にはデフォルト引数は一番後ろの引数から埋めていくべき、みたいなのはまあ理解できなくはない
Avatar
合法だと思ってなかった
12:48 PM
なるほど
Avatar
これはひどいw
12:50 PM
悪意を感じるコードだわ
Avatar
悪意しかなくてうける
Avatar
明確に壊すことを意図してる
12:52 PM
RxSwiftで使われてるテク
12:53 PM
これはInt.selfを渡す方が間違ってるかもしれないだからメッセージとして適切に見える
Avatar
これは合法感がある
Avatar
これは昔通らなかったので、trailing closure禁止テクとして
12:55 PM
最後の引数に _ v: Void=() を付けるテクがありました。
Avatar
これはダメそう
Avatar
yutailang0119 5/22/2020 12:56 PM
そのテク見たことある (edited)
Avatar
これ複数trailing closureフライング実装して無茶苦茶なことになっとるな
Avatar
Kishikawa Katsumi 5/22/2020 12:57 PM
func f(aa: Int, bb: () -> Void = {}, cc: Int = 0, dd: () -> Void) {}
12:57 PM
f(aa: 1) {}
12:57 PM
おかしくなかった (edited)
Avatar
これが出来るようになるとXCTAssertカスタム関数にfileとlineを渡せるようになって幸せですね^^ (edited)
Avatar
func f(aa: Int, bb: () -> Void = {}, cc: () -> Void = {}, dd: Int = 0) {} f(aa: 1, cc: {}, dd: 3) {} これダメですね (edited)
Avatar
元々の実装からrevertした方がいいのでは…
1:01 PM
腐ってるし
Avatar
This patch improve trailing closure matching with parameters. Currently, trailing closure can match with function parameter followed by one defaulted parameter. But it can not do if: function type...
Avatar
Nimbleとか
Avatar
omochimetaru 5/22/2020 1:03 PM
タイトルがほぼ全てです。 func foo(_ closure: () -> Void, defaultArg: Int = 0) { closure() } foo { print("foo") } このコードはSwift 5.2では動作しますが、Swift 5.1以前ではコンパイルエラーになります。 Nimbleに挙がったissueでそのことに気付きました。 Discordのswift-developers-japanで話してみたところ、apple/swiftのこのコミットが該当の変更であることを分かりました。 さらに芋づるで分かったことがあっ...
1:04 PM
この間の激アツ後方互換破壊提案はこの辺りのフラストレーションもありそうだ (edited)
Avatar
closureの可変長ヤバいな……
1:06 PM
悪意に満ちている……
Avatar
これ_ cc: ()->Void...にしたらどうなるんや
Avatar
yutailang0119 5/22/2020 1:08 PM
わるい大人たちが、やりたい放題
Avatar
やば
1:14 PM
これで末尾可変長closure試して欲しい
Avatar
yutailang0119 5/22/2020 1:14 PM
壊れている上に壊れたものを作ることになる
Avatar
f { } {} {} {} (ry うごくの?
Avatar
そもそものtrailing closureが💩なのに更に追加したからもうだめ
Avatar
if { } else: {}
1:16 PM
こういうのかけるのかな
Avatar
書けるはず
Avatar
読みにくいよ・・・・
Avatar
@swift-main func f(_ a: (Void) -> Void...) { } f {} {} {} {} {} {}
Avatar
swiftNightly BOT 5/22/2020 1:17 PM
exit status: 1 with stderr:<stdin>:3:5: error: consecutive statements on a line must be separated by ';' f {} {} {} {} {} {} ^ ; <stdin>:3:6: error: top-level statement cannot begin with a closure expression f {} {} {} {} {} {} ^ <stdin>:3:11: error: consecutive statements on a line must be separated by ';' f {} {} {} {} {} {} ^ ; <stdin>:3:12: error: top-level statement cannot begin with a closure expression f {} {} {} {} {} {} ^ <stdin>:3:17: error: consecutive statements on a line must be separated by ';' f {} {} {} {} {} {} ^ ; <stdin>:3:18: error: top-level statement cannot begin with a closure expression f {} {} {} {} {} {} ^ <stdin>:1:13: warning: when calling this function in Swift 4 or later, you must pass a '()' tuple; did you mean for the input type to be '()'? func f(_ a: (Void) -> Void...) { } ^~~~~~ () <stdin>:3:9: error: argument passed to call that takes no arguments f {} {} {} {} {} {} ^~ <stdin>:3:15: error: argument passed to call that takes no arguments f {} {} {} {} {} {} ^~ <stdin>:3:18: error: closure expression is unused f {} {} {} {} {} {} ^ <stdin>:3:18: note: did you mean to use a 'do' statement? f {} {} {} {} {} {} ^ do
Avatar
もうオールドタイプには読めない
Avatar
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - apple/swift-evolution
Avatar
オモメタは本質的には反対派に見える
1:19 PM
そうなのか
1:20 PM
でも,読みにくい
1:20 PM
メリットが少なすぎないか・・・・
Avatar
trailing closureがラベル消えるのが一番問題で
1:20 PM
それさえなくなればokだと思う
Avatar
なるほど。だから↑落ちたのか
Avatar
@swift-nightly func f( a: (Void) -> Void...) { } f {} : {}` (edited)
Avatar
最初に,ないの厳しいな……
Avatar
さんせーい
Avatar
yutailang0119 5/22/2020 1:21 PM
ラベル書きたい
Avatar
omochimetaru 5/22/2020 1:21 PM
It’s difficult for sure. Unfortunately, the price of not being that strict is that we’ll be dealing with API inconsistency for the next decade or longer, which IMNSHO, is way worse.
Avatar
ラベル消えるのはswiftの価値を一個消してるんだよな
Avatar
宗教
Avatar
@swift-main
Avatar
swiftNightly BOT 5/22/2020 1:21 PM
Usage: @swiftNightly [SWIFT_OPTIONS] `​`​`​ [Swift Code] `​`​`​
Avatar
ラベル消えるのだめだよね>tanuron
1:21 PM
賛成
Avatar
@swift-main func f( a: (Void) -> Void...) { } f {} : {}
Avatar
swiftNightly BOT 5/22/2020 1:21 PM
exit status: 1 with stderr:<stdin>:3:5: error: consecutive statements on a line must be separated by ';' f {} : {} ^ ; <stdin>:3:6: error: expected expression f {} : {} ^ <stdin>:3:8: error: top-level statement cannot begin with a closure expression f {} : {} ^ <stdin>:1:12: warning: when calling this function in Swift 4 or later, you must pass a '()' tuple; did you mean for the input type to be '()'? func f( a: (Void) -> Void...) { } ^~~~~~ () <stdin>:3:8: error: closure expression is unused f {} : {} ^ <stdin>:3:8: note: did you mean to use a 'do' statement? f {} : {} ^ do
Avatar
完全にダメです。
Avatar
ダメっぽい
Avatar
array.first { ... } とか「は〜ほんま」って感じ (edited)
Avatar
omochimetaru 5/22/2020 1:22 PM
The core team has asked that discussion be spawned in a separate thread regarding support for use of an optional label for the first trailing closure. Therefore, later today, I'll be sharing a draft proposal here which addresses that topic. While it has been brought to mind b...
Avatar
@swift-main func f( a: (Void) -> Void...) { } f {} _: {}
Avatar
swiftNightly BOT 5/22/2020 1:22 PM
exit status: 1 with stderr:<stdin>:1:12: warning: when calling this function in Swift 4 or later, you must pass a '()' tuple; did you mean for the input type to be '()'? func f( a: (Void) -> Void...) { } ^~~~~~ () <stdin>:2:3: error: extra arguments at positions #2, #2 in call f {} _: {} ^ <stdin>:1:6: note: 'f(a:)' declared here func f( a: (Void) -> Void...) { } ^
Avatar
最初からそういう仕様だったらmultipleもすんなりいったと思う
Avatar
yutailang0119 5/22/2020 1:25 PM
#1がない
Avatar
おなじく
Avatar
0スタート?
Avatar
yutailang0119 5/22/2020 1:25 PM
型を入れ替えたら、#2がないってなる
Avatar
↓も似た感じ。 @swift-5.2.5 func f(xx aa: String, xx bb: Int) {} f(xx: 1)
Avatar
exit status: 1 with stderr:<stdin>:2:3: error: missing argument for parameter 'xx' in call f(xx: 1) ^ xx: <#String#>, <stdin>:1:6: note: 'f(xx:xx:)' declared here func f(xx aa: String, xx bb: Int) {} ^
Avatar
@swift-5.2.5 func f(_ aa: String, _ bb: Int, cc: Int = 0) {} f(1)
Avatar
exit status: 1 with stderr:<stdin>:2:4: error: missing argument for parameter #2 in call f(1) ^ , <#Int#> <stdin>:1:6: note: 'f(_:_:cc:)' declared here func f(_ aa: String, _ bb: Int, cc: Int = 0) {} ^ <stdin>:2:3: error: cannot convert value of type 'Int' to expected argument type 'String' f(1) ^
Avatar
yutailang0119 5/22/2020 1:31 PM
普通によく起きうるエラーなのにね
Avatar
@swift-5.1.5 @swift-5.2.5 @swift-5.3.3 func f(aa: String = "", bb: Int) {} f(aa: 1)
Avatar
exit status: 1 with stderr:<stdin>:2:3: error: missing argument for parameter 'aa' in call f(aa: 1) ^ aa: <#String#>, <stdin>:1:6: note: 'f(aa:bb:)' declared here func f(aa: String = "", bb: Int) {} ^
Avatar
exit status: 1 with stderr:<stdin>:2:8: error: missing argument for parameter 'bb' in call f(aa: 1) ^ , bb: <#Int#> <stdin>:1:6: note: 'f(aa:bb:)' declared here func f(aa: String = "", bb: Int) {} ^
Avatar
exit status: 1 with stderr:<stdin>:2:3: error: missing argument for parameter 'aa' in call f(aa: 1) ^ aa: <#String#>, <stdin>:1:6: note: 'f(aa:bb:)' declared here func f(aa: String = "", bb: Int) {} ^
Avatar
おもしろい
Avatar
yutailang0119 5/22/2020 1:36 PM
考慮漏れ、人間味がある
Avatar
omochimetaru 5/22/2020 1:38 PM
Summary I found some bugs around codes which handles out of order arguments in matchCallArguments. I fixed them and refactored. I added test cases. @xedin Please review this. Bugs Bug. 1 func f(alp...
Avatar
Avatar
yutailang0119 5/22/2020 1:38 PM
絶対壊れるウケる
Avatar
壊すだけ壊して治さない(報告はする)のが容易に想像できる
1:39 PM
88888
Avatar
8888888
Avatar
omochimetaru 5/22/2020 1:39 PM
治そうね
😉 1
Avatar
@swift-5.2.5 func f(a: Int, b: Int, c: Int, d: Int) {} func f(a: Int, b: String, x: String, y: String) {} f(a: 0, b: 0, x: 0, y: 0)
Avatar
exit status: 1 with stderr:<stdin>:4:12: error: cannot convert value of type 'Int' to expected argument type 'String' f(a: 0, b: 0, x: 0, y: 0) ^ <stdin>:4:18: error: cannot convert value of type 'Int' to expected argument type 'String' f(a: 0, b: 0, x: 0, y: 0) ^ <stdin>:4:24: error: cannot convert value of type 'Int' to expected argument type 'String' f(a: 0, b: 0, x: 0, y: 0) ^
Avatar
壊すだけ壊すのは私の話やで、おもちさんではない
Avatar
omochimetaru 5/22/2020 1:40 PM
@swift-5.2.5 -frontend -typecheck -debug-constraints func f(a: Int, b: Int, c: Int, d: Int) {} func f(a: Int, b: String, x: String, y: String) {} f(a: 0, b: 0, x: 0, y: 0) (edited)
Avatar
exit status: 1 with stderr:---Constraint solving for the expression at [<stdin>:4:1 - line:4:25]--- (disabled disjunction term $T0 bound to decl main.(file).f(a:b:c:d:)@<stdin>:1:6 : (Int, Int, Int, Int) -> () at <stdin>:1:6 [[locator@0x849fea0 [OverloadedDeclRef@<stdin>:4:1]]];) (introducing single enabled disjunction term $T0 bound to decl main.(file).f(a:b:x:y:)@<stdin>:2:6 : (Int, String, String, String) -> () at <stdin>:2:6 [[locator@0x849fea0 [OverloadedDeclRef@<stdin>:4:1]]];) (overload set choice binding $T0 := (Int, String, String, String) -> ()) (common result type for $T0 is ()) ---Initial constraints for the given expression--- (call_expr type='()' location=<stdin>:4:1 range=[<stdin>:4:1 - line:4:25] arg_labels=a:b:x:y: (overloaded_decl_ref_expr type='$T0' location=<stdin>:4:1 range=[<stdin>:4:1 - line:4:1] name=f number_of_decls=2 function_ref=single decls=[ main.(file).f(a:b:c:d:)@<stdin>:1:6, main.(file).f(a:b:x:y:)@<stdin>:2:6]) (tuple_expr type='(a: $T1, b: $T2, x: $T3, y: $T4)' location=<stdin>:4:2 range=[<stdin>:4:2 - line:4:25] names=a,b,x,y (integer_literal_expr type='$T1' location=<stdin>:4:6 range=[<stdin>:4:6 - line:4:6] value=0 builtin_initializer=**NULL** initializer=**NULL**) (integer_literal_expr type='$T2' location=<stdin>:4:12 range=[<stdin>:4:12 - line:4:12] value=0 builtin_initializer=**NULL** initializer=**NULL**) (integer_literal_expr type='$T3' location=<stdin>:4:18 range=[<stdin>:4:18 - line:4:18] value=0 builtin_initializer=**NULL** initializer=**NULL**) (integer_literal_expr type='$T4' location=<stdin>:4:24 range=[<stdin>:4:24 - line:4:24] value=0 builtin_initializer=**NULL** initializer=**NULL**))) Score: 0 0 0 0 0 0 0 0 0 0 0 0 Type Variables: $T0 [lvalue allowed] [noescape allowed] as (Int, String, String, String) -> () @ locator@0x849fea0 [OverloadedDeclRef@<stdin>:4:1] $T1 [noescape allowed] literal=3 bindings={(subtypes of) (default from ExpressibleByIntegerLiteral) Int} @ locator@0 (edited)
Avatar
omochimetaru 5/22/2020 1:42 PM
@swift-5.2.5 -frontend -typecheck -debug-constraints func f(a: Int, b: String, x: String, y: String) {} func f(a: Int, b: Int, c: Int, d: Int) {} f(a: 0, b: 0, x: 0, y: 0)
Avatar
exit status: 1 with stderr:---Constraint solving for the expression at [<stdin>:4:1 - line:4:25]--- (disabled disjunction term $T0 bound to decl main.(file).f(a:b:c:d:)@<stdin>:2:6 : (Int, Int, Int, Int) -> () at <stdin>:2:6 [[locator@0x9279ea0 [OverloadedDeclRef@<stdin>:4:1]]];) (introducing single enabled disjunction term $T0 bound to decl main.(file).f(a:b:x:y:)@<stdin>:1:6 : (Int, String, String, String) -> () at <stdin>:1:6 [[locator@0x9279ea0 [OverloadedDeclRef@<stdin>:4:1]]];) (overload set choice binding $T0 := (Int, String, String, String) -> ()) (common result type for $T0 is ()) ---Initial constraints for the given expression--- (call_expr type='()' location=<stdin>:4:1 range=[<stdin>:4:1 - line:4:25] arg_labels=a:b:x:y: (overloaded_decl_ref_expr type='$T0' location=<stdin>:4:1 range=[<stdin>:4:1 - line:4:1] name=f number_of_decls=2 function_ref=single decls=[ main.(file).f(a:b:x:y:)@<stdin>:1:6, main.(file).f(a:b:c:d:)@<stdin>:2:6]) (tuple_expr type='(a: $T1, b: $T2, x: $T3, y: $T4)' location=<stdin>:4:2 range=[<stdin>:4:2 - line:4:25] names=a,b,x,y (integer_literal_expr type='$T1' location=<stdin>:4:6 range=[<stdin>:4:6 - line:4:6] value=0 builtin_initializer=**NULL** initializer=**NULL**) (integer_literal_expr type='$T2' location=<stdin>:4:12 range=[<stdin>:4:12 - line:4:12] value=0 builtin_initializer=**NULL** initializer=**NULL**) (integer_literal_expr type='$T3' location=<stdin>:4:18 range=[<stdin>:4:18 - line:4:18] value=0 builtin_initializer=**NULL** initializer=**NULL**) (integer_literal_expr type='$T4' location=<stdin>:4:24 range=[<stdin>:4:24 - line:4:24] value=0 builtin_initializer=**NULL** initializer=**NULL**))) Score: 0 0 0 0 0 0 0 0 0 0 0 0 Type Variables: $T0 [lvalue allowed] [noescape allowed] as (Int, String, String, String) -> () @ locator@0x9279ea0 [OverloadedDeclRef@<stdin>:4:1] $T1 [noescape allowed] literal=3 bindings={(subtypes of) (default from ExpressibleByIntegerLiteral) Int} @ locator@0
Avatar
23時までにお開きにしましょう
Avatar
今回は生活破壊されてないので穏やか
Avatar
わいわいライフハック
1:52 PM
unconditional_checked_cast_value
Avatar
888888
Avatar
次回は?
Avatar
乙ー
Avatar
来月くらいOK
Avatar
おつかれ
Avatar
録画配信は可能ならまたやりますね
Avatar
yutailang0119 5/22/2020 1:55 PM
おつおつ
Avatar
こないだの続きがある
Avatar
func main() -&gt; Int { let hoge: Int? = 1 let fuga = hoge .map { $0 * 2 } .map { $0 + 3 } .map { $0 * 4 } return fuga ?? 99 } $ swiftc -emit-sil -O c1.swift // main() sil hidden @$s2c14mainSiy...
Avatar
omochimetaru 5/22/2020 1:57 PM
ASTノードの定義とかswitch-caseの生成で使われてるプリプロセッサの超テクニック 初見殺しなので解説があると良い。
Avatar
ワークショップならできるかも
Avatar
東京は宿泊費が高いから、たぶん
Avatar
開催予定など. Contribute to waiwai-swiftc/events development by creating an account on GitHub.
Avatar
Avatar
おつかれさまでした
Avatar
おつかれさまです。初参加でしたがたのしかったです
Avatar
omochimetaru 5/22/2020 2:01 PM
@いたる 良かった!
😆 2
Avatar
おつかれさまでした
Avatar
@tarunon san @Deleted User san 切れてないですよ (edited)
🙇 1
2:04 PM
初発表楽しかったです!
2:04 PM
感謝
Avatar
おつかれさまでした!
Avatar

日時

06/DD (N曜日)

場所

Discord

connpass

わいわいswiftc #21 - connpass

コンテンツ

  • @sonsongithub LLVMの可変長引数の話(仮)
  • @kateinoigakukun GsoCのプロポーザル(仮)
Avatar
次のわいわいのconnpass作りたいのですがconnpass管理者はどなたですか
Avatar
omochimetaru 5/22/2020 2:11 PM
2:11 PM
どうやるんだろう
2:12 PM
管理者の追加方法がわからない・・・
✅ 1
Avatar
わいわいswiftc #21 を公開しました! https://t.co/KtNniHED7J #わいわいswiftc
Avatar
@omochimetaru san https://iosdiscord.connpass.com/event/174409/ omochiさんの20回の資料ってSlideShareかどこかに上がってます?connpassに載せようかなと
# わいわいswiftc #20 オンライン 昨今の社会的情勢を鑑みて、当面はオンライン開催を致します。 swift-developers-japanのDiscordサーバー上でオンライン配信を行う予定です。 https://medium.com/swift-column/discord-ios-20d586e373c0 詳細な参加方法については、下記をご覧ください。 # わいわいswiftc わいわいswiftcは、Swift Compilerとその周辺技術に関する勉強会です。初心者・上級者を問わず、情報交換とディスカッションの場とし...
Avatar
omochimetaru 5/29/2020 4:39 AM
まだ上げてない!すいません 今日やる
Avatar
ありがとうございます!
Avatar
omochimetaru 5/29/2020 5:59 AM
復数末尾クロージャのマッチング処理読んでみたんだけど、正常系だけ付け足したって感じで
6:00 AM
僕の話の中で指摘した怪しい部分との兼ね合いでさらに怪しい感じになっている
😂 1
Avatar
omochimetaru 5/29/2020 6:25 AM
興味持った人はぜひ一緒にコンパイラ鍛えてくれ〜
Avatar
興味あるのですがmaster branchでビルドできない・・・
Avatar
omochimetaru 5/29/2020 6:58 AM
いまさっきビルドできたよ
6:59 AM
commit 98522b0b7100a5e3657fd340214429c198039f0a (HEAD -> master, origin/master, origin/HEAD) Merge: b148e241867 439c1481bea Author: Hamish Knight <hamish_knight@apple.com> Date: Thu May 28 18:41:25 2020 -0700 Merge pull request #32067 from hamishknight/a-delayed-filing
Avatar
まじすか、(前議論に上っていたcmathあたり)
Avatar
omochimetaru 5/29/2020 6:59 AM
cmath問題は
6:59 AM
homebrewで入ってるものを全部消して
6:59 AM
cmakeとninjaだけ入れ直せばいけます。
Avatar
homebrewで入ってるものを全部消して
これチキってるので、今晩腹をくくります
7:00 AM
pkg-configだけ削除するか libedit.pcを消す でいける説もあるよ。
👍 1
Avatar
omochimetaru 5/29/2020 1:39 PM
@freddi 今日は資料無理です上げたら連絡します
❤️ 1
Avatar
急がなくておkです〜
Avatar
けさなくていいはず
4:58 PM
あるいは commandline toolsのsdkをリネーム
Avatar
大興奮
7:23 AM
ありがとうござます
Avatar
わいわいswift #21 30分前になりました。参加者の方はDiscordに入ってもらっても構いません(というか特に制限はないと思います) よろしくおねがいします。 #わいわいswiftc
👀 1
Avatar
今日私会社のmtgと被ってるので配信だけやります。(終わり次第参加) 配信開始とライブ切り替わるタイミングでメンション飛ばして下さい。 (edited)
Avatar
はいー
Avatar
スライド出たので配信開始します
Avatar
ご飯作りながら参加しようと思ったけど、よく考えるとご飯作りながらみれる勉強会ではなかった
Avatar
こんばんは
Avatar
👏 おめでたい
👏 2
Avatar
Christopher Rogers 6/18/2020 10:41 AM
LINEでデバッグビルド時にWMO使ってましたね、バッチモードが導入されるまでは>都市伝説
Avatar
SVAAPだから、これはsのpのコンフォーマンスって一瞬で出てくるの笑ってしまった
Avatar
Appleにいって切り出してきてください
Avatar
I'm working on the GSoC project LTO support for Swift with @compnerd. Here is my implementation plan for this project. I'll post a weekly progress report every Monday as @augusto2112 does on GSOC Linux debugger support progress report. Until now, I've worked on the follow...
Avatar
今日はお先に失礼します。お疲れ様でした 👋
👋 3
Avatar
(そろそろ、一旦区切りますか)
Avatar
なお、ぼくも21:30くらいで抜けます。
🆗 1
Avatar
本日はありがとうございました。これで抜けます。
👋 1
Avatar
ぼくもこのタイミングで抜けまーす 👋 おつかれさまでした
👋 1
Avatar
開催予定など. Contribute to waiwai-swiftc/events development by creating an account on GitHub.
Avatar
【お知らせ】 次は多分ノリだと1ヶ月後になると思います。もし登壇したい方がいたら、ぜひissueでお声がけください
Avatar
Kishikawa Katsumi 6/18/2020 12:29 PM
Resilientってめちゃめちゃ発音しにくい。この単語が頻発する議論は無理だな
Avatar
個人的には intrinsic もm難しい
Avatar
Kishikawa Katsumi 6/18/2020 12:30 PM
イントリンスィック
12:30 PM
難しいっすね。
Avatar
wwwwww
Avatar
func foo<X>(_ aa: X, _ bb: Int) -> X { aa } foo((1, 2)) [1] これは第二引数が不足している [2] これは丸括弧が余計(tuple splat fixすべき) (edited)
1️⃣ 6
2️⃣ 6
12:50 PM
func foo<X, Y>(_ aa: X, _ bb: Y) -> X { aa } foo((1, 2)) [1] これは第二引数が不足している [2] これは丸括弧が余計(tuple splat fixすべき) (edited)
1️⃣ 6
2️⃣ 6
Avatar
omochimetaru 6/18/2020 1:00 PM
func foo<X>(_ aa: X, _ bb: Int, _ cc: Int) -> X { aa } foo((1, 2, 3))
1:01 PM
[1] これは第二引数と第三引数が不足している [2] これは丸括弧が余計
1️⃣ 2
2️⃣ 8
Avatar
編集距離を考えるのが良さそうですね
Avatar
88888
Avatar
配信的にはオンラインだと画質めっちゃ良くなる
1:14 PM
オフでも画面共有して貰えると配信画質上げれるけどね
Avatar
今日はありがとうございました。ぼちぼち抜けます。
👋 1
Avatar
抜けます!ありがとうございました〜
👋 1
Avatar
僕も落ちます。おつかれさま&ありがとうございました!
👋 1
Avatar
僕も抜けます。ありがとうございました!
👋 1
Avatar
おつかれさまでした!ありがとうございました
👋 1
Avatar
Christopher Rogers 6/18/2020 1:40 PM
お疲れ様です。ありがとうございました
👋 1
Avatar
(未だに締め方がわかんない) 皆さんご参加ありがとうございました。次回もよろしくおねがいします〜 次回も登壇者募集しています! (edited)
1:41 PM
Making Blink ⇔ V8 reference cycles collectable (2015 Aug)
1:41 PM
これかな・・・?
Avatar
Oilpanの話と繋がってるのかな?
Avatar
omochimetaru 6/18/2020 1:43 PM
先日Chromeで始まったOilpanというプロジェクトについて解説します。一言で言うと、「現在参照カウントで実装されているDOMのメモリ管理をGCに書き換える壮大な実験」です。
1:45 PM
Oilpanの前の状態は、参照カウントだから、そっちのほうが参考になりそうだけど
1:45 PM
よくわかってないです。
Avatar
サラッと読んだだけだと全く分からなかったですw
1:47 PM
参考にしてみます
Avatar
そろそろ進めないと準備期間足りなくなりそう https://github.com/waiwai-swiftc/events/issues/7
日時 MM/DD (N曜日) 場所 connpass わいわいswiftc #00 - connpass コンテンツ @account title ~
Avatar
omochimetaru 7/14/2020 9:39 AM
ワイはLoLを初めてすべての進捗がなくなった
spacecat 1
Avatar
1人に負んぶに抱っこでは健全ではないのでそれはそれで
👍 1
Avatar
Kishikawa Katsumi 7/14/2020 10:09 AM
ゲームにハマると時間どんどん過ぎるよね。
😁 1
Avatar
Kishikawa Katsumi 7/14/2020 11:29 AM
ワシもSEKIROをこの1か月毎日やっておる
wakaru 1
Avatar
あー...、完全に忘れていましたすいません。ファシリテーターは僕ですね (edited)
12:48 PM
マリオカートに必死でした
12:51 PM
(やっぱり毎月やるのがマストなんでしょうか) (edited)
Avatar
8月頭ぐらいにしますか。僕も手伝えます
Avatar
ありがとうございます
10:08 AM
@sonson さん この前の登壇予定だった内容は8月頭にできますか (edited)
Avatar
おうふ
1:09 PM
iOSDCで話そうと思ってたから,どうしようw
Avatar
あ、でしたらiOSDCのほうが良いと思いますw
7:43 PM
ワイ、4連休の間に自由研究してなにかやるかあ (edited)
Avatar
皆さん、こんばんはー giginetさんとふらっと話してたのですが、わいわいをiosdc の後くらいにやりたいと思っていますー 9月終わり〜10月はじめくらいかなと考えていますが、登壇したい方はいますでしょうか?
Avatar
GSoCがなんとか終わったのでそれの成果発表をしようかな
👏 5
Avatar
omochimetaru 9/7/2020 6:10 AM
なんとか終わったのか
Avatar
(まだレビュー中のPRはたくさんある…) (edited)
Avatar
わいもswift-driverがんばろかな
8:10 AM
登壇駆動勉強で行くか
Avatar
お、その辺知りたいです
Avatar
需要があるのでおじさん頑張るか
Avatar
@Yuta Saito とりあえずiosdcの後のご予定聞きたいのですが、どこが無理とか今わかります?(そもそも登壇できそう? (edited)
Avatar
10/5~7のLLVM Dev Meetingにかぶらなければ大丈夫です〜
Avatar
me too
Avatar
では、9/25あたりでセッティングしますかー IOSDC周辺イベの予定もなさそうだし (edited)
5:03 PM
かていくんどうです?
Avatar
大丈夫です 🙆‍♂️
Avatar
では9/25でやりましょー cc: @giginet san
👍 1
9:26 AM
@Yuta Saito kun https://github.com/waiwai-swiftc/events/issues/7 続きのやりとりはこっちでやりましょう。タイトル決まったら教えて下さい
日時 9/25 (金曜日) 場所 Discord connpass わいわいswiftc #00 - connpass コンテンツ @kateinoigakukun GSoCの成果報告 (仮) @freddi-kit swift-driver
🙆‍♂️ 1
9:26 AM
@tarunon ききわすれてた、9月25日は 録画できますか? 金曜です (edited)
Avatar
あ、やりますよ〜
👍 1
Avatar
ありがとうございますー
9:28 AM
そういやオフライン開催はまだ厳しそう?ですかねー (edited)
Avatar
わいわい公開します〜
👀 2
4:46 AM
https://iosdiscord.connpass.com/event/188624/ 公開しました (edited)
# わいわいswiftc #22 オンライン 昨今の社会的情勢を鑑みて、当面はオンライン開催を致します。 swift-developers-japanのDiscordサーバー上でオンライン配信を行う予定です。 https://medium.com/swift-column/discord-ios-20d586e373c0 詳細な参加方法については、下記をご覧ください。 # わいわいswiftc わいわいswiftcは、Swift Compilerとその周辺技術に関する勉強会です。初心者・上級者を問わず、情報交換とディスカッションの場とし...
4:46 AM
ひさびさのわいわいです!放置しててすいませんmm
4:47 AM
omochiさんはやい
4:48 AM
登壇者募集してたけど、時間がないわけではないのとこういう勉強会無いと勉強しないので僕をぶっこんだ
Avatar
[Reminder] 今日です〜 (edited)
1:50 AM
ひさしぶりのわいわいや
🙌 5
10:29 AM
今日の資料です
Avatar
そろそろ話したいけど何もネタがない
Avatar
ネタ置き場. Contribute to waiwai-swiftc/waiwai-swiftc-ideas development by creating an account on GitHub.
Avatar
Kishikawa Katsumi 9/25/2020 10:35 AM
https://craig.chat/home/ これを追加したら音録音できないかな
Avatar
https://forums.swift.org/t/function-builders-implementation-progress/32981 Douglas GregorがFBの改善の報告をしている その過程で作られたone-way constraintによっていろいろ改善し、 今後の改良も期待できる FB内部でletが使える $0, $1 の不一致な左右式 let f: (Int,...
Avatar
わいわい
10:42 AM
GSoCおつかれさまでした
10:46 AM
本日の配信です! #わいわいswiftc https://t.co/8rEMmDAmBe
10:47 AM
聞こえてますが、なんかヘッドホンの右によっている気がする
Avatar
左右に出すようにしました
Avatar
あざますmm正常に聞こえます
Avatar
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
Avatar
Google Summer of Code (Googleサマーオブコード 略称GSoC) は2005年の5月から8月に初めて開催され、その後毎年行われている恒例のイベントで、Googleがフリーソフトウェアやオープンソースのプロジェクトを指定し、その夏の間に課題をクリアした数百人の学生に賞金を支払う制度である。参加資格は18歳以上の学生で、これを補完する無制限部門 Google Highly Open Participation Contest(英語)は18歳未満を対象に含める。 イベントの名称は1967年の Summer of Love(196...
Avatar
Swift compiler driver reimplementation in Swift. Contribute to apple/swift-driver development by creating an account on GitHub.
Avatar
今swift.org みたらWindows 10が増えてる
Avatar
(さっきwin10にSwift入れてswift --versionだけ実行して満足しました)
Avatar
$ ln -s .build/debug/swift-driver swift $ ln -s .build/debug/swift-driver swiftc
Avatar
TOOLCHAINS=org.swift.50202009231a
Avatar
SWIFT_DRIVER_SWIFT_FRONTEND_EXEC
12:47 PM
SWIFT_DRIVER_SWIFT_FRONTEND_EXEC
Avatar
error: failed to launch REPL process: process exited with status -1 (attach failed (Not allowed to attach to process. Look in the console messages (Console.app), near the debugserver entries when the attached failed. The subsystem that denied the attach permission will likely have logged an informative message about why it was denied.))
Avatar
Swift compiler driver reimplementation in Swift. Contribute to apple/swift-driver development by creating an account on GitHub.
Avatar
Swift compiler driver reimplementation in Swift. Contribute to apple/swift-driver development by creating an account on GitHub.
Avatar
omochimetaru 9/25/2020 1:26 PM
This patch adds rudimentary support for C++ template functions in swift. There&#39;s still a lot lacking but, that mostly has to do with the clang type converter which can be updated with incre...
1:26 PM
template <class T> T add(T a, T b) { return a + b; } public func testAdd(x: Int32) -> Int32 { return add(x, x) }
1:27 PM
template <class T> T passThrough(T value) { return value; } public func testPassThroughAny(x: Any) -> Any { return passThrough(x) }
Avatar
Automatically generates Rust FFI bindings to C (and some C++) libraries. - rust-lang/rust-bindgen
1:33 PM
Templates without specialization. You should be able to access individual fields of the class or struct.
1:34 PM
Template functions, methods of template classes and structs. We don't know which monomorphizations exist, and can't create new ones because we aren't a C++ compiler.
Avatar
omochimetaru 9/25/2020 1:35 PM
An asynchronous handler behaves externally like a synchronous function, but internally it is handled like an asynchronous function, meaning that it can execute operations with suspension points suc...
1:38 PM
An asynchronous handler behaves externally like a synchronous function, but internally it is handled like an asynchronous function, meaning that it can execute operations with suspension points such as calling other async functions. The body of the function is executed just as if it and its caller were async functions, except that the caller is resumed when the callee reaches its first suspension point rather than only when the callee exits.
Avatar
疲れたので先に落ちますー。
👍 1
1:39 PM
次回は幹事やるぞ
Avatar
おつにゃんでした
1:39 PM
幹事任せます!
Avatar
omochimetaru 9/25/2020 1:41 PM
Infer @asyncHandler on a protocol methods that follow the delegate convention of reporting that something happened via a &quot;did&quot; method, so long as they also meet the constraints fo...
1:41 PM
c++ if (argIdx == 0) { for (auto word : camel_case::getWords(selectorPiece)) { if (word == "did" || word == "Did") return true; } continue; }
Avatar
わいも疲れたのでそろそろ落ちます〜 解散とかはご自由におねがいします [広告] #23 の登壇者募集しています https://github.com/waiwai-swiftc/events/issues/8
日時 MM/DD (N曜日) 場所 connpass わいわいswiftc #00 - connpass コンテンツ @account title ~
Avatar
omochimetaru 9/25/2020 1:49 PM
When a given Objective-C method has a completion handler parameter with an appropriate signature, import that Objective-C method as async. For example, consider the following CloudKit API:
  • (void)...
1:50 PM
c++ static bool isCompletionHandlerParamName(StringRef paramName) { return paramName == "completionHandler" || paramName == "completion" || paramName == "withCompletionHandler"; }
😆 2
1:50 PM
↑アツい
1:52 PM
parser.add_argument('--enable-experimental-concurrency', action='store_true', help='Enable experimental concurrency model.')
Avatar
experimentalだし何でもあり
Avatar
ぼくもそろそろ落ちま〜す
Avatar
func dataTask(with url: URL, completionHandler: @escaping (Data?, URLResponse?, Error?) -> Void) -> URLSessionDataTask
2:02 PM
URLSession.shared.dataTask(with: url) { (result: Result<(response: URLResponse, data: Data), Error>)
Avatar
そろそろ落ちます
Avatar
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - apple/swift-evolution
Avatar
extension URLSession { public func dataTaskPublisher(for url: URL) -> URLSession.DataTaskPublisher public func dataTaskPublisher(for request: URLRequest) -> URLSession.DataTaskPublisher public struct DataTaskPublisher : Publisher { public typealias Output = (data: Data, response: URLResponse) public typealias Failure = URLError } }
2:03 PM
Combine拡張の定義 ↑
Avatar
落ちます おつかれさまでしたー
👋 4
Avatar
そろそろ落ちますー
Avatar
Kishikawa Katsumi 9/25/2020 2:10 PM
なんかiOSDCみたいに自動でDiscord => YouTube配信できるようなの作りたくなってきたな
2:11 PM
できるのかはしらん
Avatar
あるとめっちゃ助かりますね〜〜
2:11 PM
そこまで出来るならオフでも使いたい
Avatar
omochimetaru 9/25/2020 2:12 PM
Introduce the &quot;actor class&quot; syntax. Ensure that it is only used for root classes or classes that inherit from other actor classes. Within actors, implement a basic set of isolatio...
2:12 PM
Introduce the "actor class" syntax.
(edited)
Avatar
↓今話してた Future 使って並列化するコードはこんな感じになるかと。 let a = Future { await foo() } let b = Future { await bar() } let sum = await a.get() + b.get()
👀 1
Avatar
これってFutureが事実上のbeginAsyncなんですよね〜
Avatar
get で値を取り出せるのが違うところでしょうか。
Avatar
ですね
Avatar
actor もマージされてるの、プロポーザル出る前からめちゃくちゃ動いてますね・・・。
Avatar
アグレッシブだ
Avatar
動くようになってからプロポーザル出るのかな
Avatar
omochimetaru 9/25/2020 2:16 PM
All mutable instance properties and synchronous instance methods are only accessible via "self" or "super" within the context of the actor.
Avatar
The Swift Programming Language. Contribute to DougGregor/swift development by creating an account on GitHub.
Avatar
omochimetaru 9/25/2020 2:16 PM
なんか特殊な仕組みがあるっぽい
Avatar
なんか近々プロポーザル出るみたいな話なかったっけ? @omochimetaru がツイート引用してた?
Avatar
omochimetaru 9/25/2020 2:17 PM
ありましたね
2:17 PM
ツイートじゃなくてフォーラムの書き込み John McCall
2:17 PM
a few weeks
Avatar
フォーラムか。それをツイートしてたのを見たのか。
Avatar
omochimetaru 9/25/2020 2:17 PM
いやDiscordに張った
Avatar
あれ? Twitter 関係なかった😅
Avatar
omochimetaru 9/25/2020 2:18 PM
// Accesses on other actors can only reference immutable data or // call asychronous methods _ = otherActor.immutable // okay _ = otherActor.synchronous() // expected-error{{actor-isolated instance method 'synchronous()' can only be referenced on 'self'}} _ = await otherActor.asynchronous() _ = otherActor.text[0] // expected-error{{actor-isolated property 'text' can only be referenced on 'self'}}
2:18 PM
このへんがポイントなのかな
Avatar
プロポーザルで全体像が見えるのを正座待機 (edited)
Avatar
omochimetaru 9/25/2020 2:19 PM
async/await proposalではactorはそこまで深く解説されてなかったよね
Avatar
全く新しい要素ですよね
Avatar
async/awaitactor 関係ないかと。
2:19 PM
↑の Part 1 が async/await
Avatar
全くではないか
Avatar
Part 2 からが actor
Avatar
omochimetaru 9/25/2020 2:20 PM
結構書いてあるのか
Avatar
うん、むしろ async/await は前座的な感じ。
2:21 PM
async/await は↓に切り出されてる。 https://gist.github.com/lattner/429b9070918248274f25b714dcfc7619
Avatar
なるほどそういうことか。Async/Await for Swiftのプロポーザルしか読んだことなかったです
2:22 PM
親にもっと大きい文書があったのか
Avatar
omochimetaru 9/25/2020 2:23 PM
それは覚えてたけどpart2はちゃんと読んでなかったなあ
2:23 PM
読んでみよ
Avatar
Gist にしか投稿されてないから裏文書でわかりづらい。 (edited)
2:24 PM
a few weeks で本物マニフェストが出てくるのかな・・・
Avatar
昨日の並行処理関係の話をまとめようと思ってるんですけど、 beginAsyncbody って @escaping じゃなくていいんですっけ? func beginAsync(_ body: () async throws -> Void) rethrows -> Void https://gist.github.com/lattner/429b9070918248274f25b714dcfc7619 (edited)
Avatar
omochimetaru 9/26/2020 7:32 AM
escapingだと思いますね
Avatar
だよね。
Avatar
omochimetaru 9/26/2020 7:33 AM
asyncのときは自明にそうなのかな?
Avatar
うーん、そうなのかも?
Avatar
asyncは自明で良いと思いますよ
7:33 AM
Optionalと同じ
Avatar
まあそうか。
7:34 AM
特に言及されてなさそうだけど、 @escaping は非 async なクロージャにしかついてないし、そういう構文っぽい。
7:36 AM
beginAsyncthrowsrethrows 要らないってずっと言ってたけど、 @asyncHandler では throws 禁止されてていい感じ。
Avatar
↓で @asyncHandler が挿入されないのは inout 相当だから? - (void)refrigerator:(id)fridge didGetFilledWithIntegers:(NSInteger *)items count:(NSInteger)count;
Avatar
はや
Avatar
昨日のまとめだからね。さらに深く何かを調査したとかではなく。 < はや (edited)
1:22 PM
a few weeks で新マニフェスト(?)が出たらじっくり読みたい。
Avatar
qiitaは完全に終わったのかな...
6:55 PM
なんどかやらかしてた印象はあるサービスだったけど。
Avatar
まだなんとも言えないですが、 Qiita で書いてた有名人が何名か( uhyo さんとか mizchi さんとか) Zenn に来てるのが Qiita 的には痛いでしょうね・・・。定着したら危なそうな気はします。
Avatar
ZennがSIWA対応したら移行しようかなと思ってます
Avatar
とりあえずZennの運営が安定してほしいなとは思います https://catnose99.com/zenn-needs-help/
Zennにお金をかけてくれる会社を探しています
Avatar
ファっ、まさかの個人開発…熱量はすごい尊敬しますが不安要素としては確かに大きいですね 🤔 どこかいい会社さん買収するといいですね
Avatar
yutailang0119 9/27/2020 3:58 AM
(御社の社長さん反応してたよ)
Avatar
え?マジで!?
Avatar
yutailang0119 9/27/2020 4:06 AM
https://twitter.com/catnose99/status/1309382877272879110 にいくつか声があがっていて、その中に (edited)
Zennにお金をつぎ込んでくれる企業を募集してます! 🐣 Zenn needs help https://t.co/xElrRyklL1
Retweets
357
Likes
626
👀 1
🙂 1
Avatar
そろそろワークショップやりたいですね
7:15 AM
オンラインだと厳しいかも感あるけど
Avatar
Kishikawa Katsumi 9/28/2020 7:45 AM
LSP使ってツールを作るとかどうかしら。
Avatar
興味アリアリです、ハッカソンみたいな
👍🏻 1
Avatar
某フェストの影響がここまで来た
2:18 AM
とおもったらスターか (edited)
2:18 AM
スターも通知来るんですね
Avatar
Kishikawa Katsumi 10/16/2020 8:54 AM
async/await ってまだコンパイルできるだけで、async の実装、JSでいうとPromiseを返すような関数を書く、ってできないですよね?
8:55 AM
async/await をちょっと書いてみたんですけど、あれ、定義だけじゃない async なメソッドってどうやって書くんだろう?っていう。
Avatar
suspendAsync 相当のものがないと作れないと思います。
9:03 AM
suspendAsyncPromise を作るのに相当するので。
9:04 AM
beginAsync については @asyncHandler になるようですが、 suspendAsync がどうなるかはこの前調べた時点ではまだ不明だったと思います。
Avatar
Kishikawa Katsumi 10/16/2020 9:07 AM
そうですよねえ。そういうのが一番最後に呼び出されるところに必要になりますよね。残念。。。
😢 1
Avatar
Kishikawa Katsumi 10/16/2020 12:50 PM
とりあえずSwiftFiddleで async/await を試せるようにオプションをつけて実行するようにしました。 https://swiftfiddle.com/ibz6zkexrbcmdd3zs2xz3oamkm ホントはネットワークリクエストとかそれっぽいサンプルを書きたかったけど書けないのでしょうがない。
SwiftFiddle is an online playground for creating, sharing and embedding Swift fiddles (little Swift programs that run directly in your browser).
👍 2
Avatar
@swift-main -Xfrontend -enable-experimental-concurrency import Dispatch func suspendAsync<T>( _ body: (_ continuation: @escaping (T) -> ()) -> () ) async -> T { let semaphore = DispatchSemaphore(value: 0) var result: T! body { value in result = value semaphore.signal() } semaphore.wait() return result } extension DispatchQueue { func asyncAfter(deadline: DispatchTime) async { await suspendAsync { continuation in asyncAfter(deadline: deadline) { continuation(()) } } } } @asyncHandler func main() { print("A") await DispatchQueue.global().asyncAfter(deadline: .now() + 1) print("B") await DispatchQueue.global().asyncAfter(deadline: .now() + 1) print("C") } main()
Avatar
swiftNightly BOT 10/16/2020 2:04 PM
A B C
Avatar
@Kishikawa Katsumi ↑なんちゃって suspendAsync を作ってみました。
Avatar
Kishikawa Katsumi 10/16/2020 2:06 PM
いいと思うんですけど、これは完全に同期呼び出しになるから知らない人は勘違いさせてしまいそうなんですよねえ。
Avatar
はい、ただの同期なので、一応動く async/await を使ったコードを書いてみるくらいの役にしか立ちません。
Avatar
Kishikawa Katsumi 10/17/2020 5:04 PM
@koher 作ってもらったsuspendAsyncでそれっぽいコードを書いてみました。 書いて動かすと勉強になりますね。await 忘れでコンパイルエラーになったり。 Swift はawaitを忘れないのがいい。 https://swiftfiddle.com/2xileymjojgavlhirgoe227eae
SwiftFiddle is an online playground for creating, sharing and embedding Swift fiddles (little Swift programs that run directly in your browser).
5:05 PM
asyncだけどawaitしたくないっていう特殊ケースは書けないんでしたっけ?
Avatar
Future で包むというのがプロポーザルに書かれてたと思います。
Avatar
Kishikawa Katsumi 10/17/2020 5:06 PM
なるほど、外側からFutureで包むのか。 (edited)
Avatar
並列に実行してから後で待ちたいとかですよね?↓みたいな。 let a = Future { await foo() } let b = Future { await bar() } let sum = await a.get() + b.get()
Avatar
Kishikawa Katsumi 10/17/2020 5:07 PM
あー、思い出してきました。確か話しましたよね。
Avatar
単純に待たずに抜ける場合は @asyncHandler になるかと。
5:07 PM
await 忘れないのいいですよね。
Avatar
Kishikawa Katsumi 10/17/2020 5:08 PM
asyncHandlerをつけた関数でラップする、で合ってますか?
Avatar
ラップするでも合ってるかもですが、↓みたいなユースケースをイメージしてました。 @IBAction @asyncHandler func onButtonPressed(_ sender: UIButton) { await sendValue(value, to: url) }
5:10 PM
元のプロポーザルではこれが beginAsync だったので、 @IBAction func onButtonPressed(_ sender: UIButton) { beginAsync { await sendValue(value, to: url) } } になるはずだったかと思います。
5:11 PM
JS 方式だと async 忘れで待たずに抜けちゃいますし、 Kotlin の suspend は Swift の async と同じなんですが、 await 相当のものがないのでどこで await してるかぱっと見でわかんないんですよね。
Avatar
Kishikawa Katsumi 10/17/2020 5:14 PM
これはsendValueを待ちますよね。 待ちたくない場合、はsendValue(value, to: url)を呼ぶ@asyncHandlerの関数を作ってそれを呼ぶ、のかなと。
Avatar
@asyncHandler は caller 側は待たずに抜けるんじゃないでしょうか。
Avatar
Kishikawa Katsumi 10/17/2020 5:18 PM
@asyncHandlerを呼ぶ側、ですよね?
Avatar
はい、そうです。
Avatar
Kishikawa Katsumi 10/17/2020 5:18 PM
そうだと思います。見解は一致していますが、 ただ、さっき試した限りだと待ってるように見えますねえ。
Avatar
@IBAction はメインスレッドをブロックしたくないので caller 側を待たせたくないので。
5:19 PM
あ、それは suspendAsync がなんちゃってで同期だからじゃないでしょうか?
Avatar
Kishikawa Katsumi 10/17/2020 5:19 PM
ああ、そういうことですね。理解しました。
5:19 PM
かなりわかった気がする。
Avatar
ちょっとちゃんと頭の中で実行できてないですが、多分そこが引っかかってる気がします。
Avatar
そういえば10月も後半なのでそろそろconnpass立てますか?
Avatar
コンパス下書きは作ってたはず、まだ登壇者募集中やけど
2:57 AM
まだだった
2:57 AM
つくた
2:58 AM
connpassはイベントやIT勉強会の開催、さらに参加者の集客に便利です。コミュニティやグループの運営やイベントの検索、事前決済もできます。
2:59 AM
登壇したい人この指とまれ
Avatar
いつ頃予定ですか?(権限なくて↑の connpass 下書き見れず) 余裕のあるスケジュールなら( 11 月下旬以降くらい?)↓で話してた、競プロやってわかった効率的だと思ってたけど実は遅かったコードについて調べて発表できるかも・・・。 https://discord.com/channels/291054398077927425/306995750418513920/767575423517065217
Avatar
日時 MM/DD (N曜日) 場所 connpass わいわいswiftc #00 - connpass コンテンツ @account title ~
3:08 AM
競プロやってわかった効率的だと思ってたけど実は遅かったコード
面白そう 👀
Avatar
kininaru
Avatar
11 月頭だとちょっと時間ないかも。次々回とかでも大丈夫です。
Avatar
今回のハンドリングは @giginet さんなのでそちらと相談かな
3:13 AM
そういえばconnpassの参考書籍少々古いので二冊くらい役に立ったのをぶっこんだ
Avatar
最近Ruiさん https://twitter.com/rui314 がリンカの高速化の話をよくしていて面白そうなので、この間作ったwasmリンカを題材にして高速化をみんなで考えてみたい。
👀 2
3:20 AM
A toy linker for WebAssembly object files. Contribute to kateinoigakukun/chibi-link development by creating an account on GitHub.
Avatar
LLVM meetupの報告会もできそう。けど結局数個しか見てない・・・w
Avatar
僕も興味ある数個しか見てないですw
Avatar
undef と poisonの話がおもしろかったけど、逆にそれしかちゃんと英語聞き取れてねえ
7:54 AM
_人人人人人人人人人人人人人_ > ききとれたのkeynoteだけ  <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄ (edited)
Avatar
すみません。次回の企画しますね
🙏 2
Avatar
なにか手伝えることあれば言ってください 🙏
Avatar
そろそろ企画始めちゃいますか
4:52 AM
この時間だと11月末のほうがよさそう (edited)
Avatar
omochimetaru 11/9/2020 4:52 AM
非同期処理関連のpitchが怒涛の4連打されてるからこれに触れないわけにはいかないね・・・
Avatar
たしかに
4:54 AM
それに関しては今度のhakataswiftでも多分触れるのでよかったら(唐突な宣伝)
4:55 AM
登壇者僕ではないですが
4:55 AM
@giginet san 11月末ですすめましょう〜
Avatar
放置しててスミマセン。やるぞ!
4:56 AM
登壇者はおもちさん?
Avatar
やるぞ!(きあいだめ
Avatar
omochimetaru 11/9/2020 4:56 AM
でかすぎるんだよな
Avatar
声かけてみますー
Avatar
デカすぎる分かる
Avatar
omochimetaru 11/9/2020 4:57 AM
async/await, actor, structured concurrency, (async objc interop) まずこの4つの仕様を抑えるとして
4:57 AM
コンパイラ実装としても、コルーチンへの降下の方法と
Avatar
これ思い出した
Avatar
omochimetaru 11/9/2020 4:58 AM
Taskランタイムライブラリという大物が・・・
4:58 AM
Actorの実行キュー周りのコード生成もあるよな。
5:02 AM
多分3つのテーマが全部コード生成時に関わってるんだけど、作業途中っぽいPRもあるしどうしたもんか
5:03 AM
実装追うのはもうちょっと後にしてピッチ出てる仕様だけさらうのでもまずは十分な気もするな。
Avatar
今から11末だと準備の期間短いかもしれないから、12頭も視野に入れて頼んでみますー。 12/4ぐらいがいいのかな
Avatar
@koher さんにはTwitterで声かけさせて頂きました。
5:10 AM
ほか誰かいますかね
Avatar
omochimetaru 11/9/2020 5:11 AM
非同期周り、誰か記事とかにまとめる人居ないんかな
5:12 AM
誰も居ないなら僕がサラっと話そうかなあ。
Avatar
日本語で書いてる人は居なさそう
Avatar
omochimetaru 11/9/2020 5:13 AM
あ、あと、
5:14 AM
() の conformance が入った件
Avatar
あー、
Avatar
omochimetaru 11/9/2020 5:14 AM
これは実践的にも影響がでかいしコンパイラ実装的にも深い
Avatar
実行時の話なら話せますよ
Avatar
omochimetaru 11/9/2020 5:15 AM
Avatar
並行処理周り、プロポーザルAcceptされたら記事にまとめようかな。
Avatar
omochimetaru 11/9/2020 5:19 AM
そのタイミングだと12月頭よりは後ろになりそうですね。
Avatar
かていくんまた話します?(3回連続になるが)
Avatar
ほかに話したい人が居なければ〜
👍 1
Avatar
swift-driver のソースを読みすすめるやーつ。次々回やろうかな?(25回あたり) (edited)
5:30 AM
需要ありそうなら 👍 ください、3つ超えたらやる
👍 4
5:31 AM
続編決定 GG
Avatar
そういえばNSSpainでは何話したんですか。その内容もいけそう
Avatar
ああ、まだ先ですが Swiftckaigi と この前のわいわいワークショップと同じです
Avatar
とりあえず僕は競プロと最適化について話します。
👍 2
Avatar
なのでわいわいメンバーにとってはSpainの内容は新しいことはないかも (edited)
Avatar
結局 @Yuta Saito@freddi さんどっちが話しますか
Avatar
ああ、次回やろうと思ったのですがちょっと月末にハンドリングしないといけないことを思い出したので、僕は次々回がいいかもしれない(メッセージもこっそり修正しました (edited)
5:40 AM
すいません
👍 2
Avatar
わかりました。では今回も家庭さんにお願いします。毎回ありがとう〜
Avatar
かていくん誕生日のときは欲しい物リストを公開しとくんやで (edited)
Avatar
何か9月ぐらいだった気がする
Avatar
すぎてた
Avatar
せっかくネタが多いのに開催スパンがながくてもうしわけない 🙏
Avatar
このネタが有るときにゆったりやる感じの運営も悪くない説
5:43 AM
ゆったりやりませう
Avatar
すぎてた
GitHub Sponsorsという素敵プレゼントを既にいただいております 🙏 🙏 🙏
Avatar
koherさんwaiwai-swiftc orgsにいなかったので招待しました
👍 1
Avatar
ワイYoutuberとkateiくんにsubscribeしているのおもろい (edited)
🤑 1
Avatar
イベント作成完了 https://connpass.com/event/192973/edit/ 1時間ぐらいしたら公開してしまいます!
connpassはイベントやIT勉強会の開催、さらに参加者の集客に便利です。コミュニティやグループの運営やイベントの検索、事前決済もできます。
Avatar
LGTMでっす!
7:01 AM
24回は年末がベストかな
Avatar
そろそろ外部(?)からも登壇者増えてほしい感があるけど、あまりコンパイラやっている人いないのかなー
7:46 AM
試験的に公募枠作ってみたいのもある
Avatar
あんまり関係ないですけど、最近Swiftコンパイラにコントリビュートする会のDiscordサーバーが建ってました https://discord.gg/YhzApPpg
Avatar
omochimetaru 11/9/2020 7:47 AM
参加者だけど発表してないみなさんがチャレンジするとよいのでは
👉 2
Avatar
たしかに
Avatar
1回機を逃してこっち、登壇準備の時間は取れなくなってしまったな、、
Avatar
コントリビュートする会、入ってみた
8:00 AM
このコントリビュートする会で 福岡のSIL Optimizer Workshop やったらなんかウケそうだな
Avatar
Codafiさんも入っててびっくり (edited)
Avatar
そいえばもう公開します?connpass
Avatar
しましょう!今これからします
👍 1
6:56 AM
わいわいswiftc #23 を公開しました! https://t.co/Zj0ei6Zf9U #わいわいswiftc
Avatar
Discordの50人制限があるから発表者も参加登録しておいた方がいいですか?
Avatar
はい。お願いしますー。埋まることはなさそうですが
7:33 AM
40人ぐらいの設定で良さそうだな
Avatar
すみません、木曜まで自宅に帰れなくて、帰らないとconnpassにログインできない(連携してるTwitterにSafariでログインしておらず、Macがないとパスワードがわからない)ので、木曜まで登録できなさそうです💦
Avatar
大丈夫ですー!埋まることないと思いますので
7:56 AM
何かヤバそうだったなんとかします。お気遣いありがとうございますー
🙏🏻 1
Avatar
そういえば録画録音問題ってどうにかなったんでしたっけ?
8:48 AM
毎回たるのんさんにセットアップしてもらうのも大変だろうし何か良い仕組みがあるといいんですけど。
Avatar
こうかいありがとうふぉざいます!!!!
9:18 AM
めっちゃTypoった
9:19 AM
一応たるのんさん無理だったら僕がやるかもしれないというかんじ だけどなんか自動化したいね
Avatar
なるほど。DiscordのVoice Chatの音声をOBSの入力にできれば良いんですよね?
Avatar
これ難易度高いんですよね〜 (edited)
9:21 AM
Loopbackというシェアウェアを使ってたのだけど
9:22 AM
Big Surだと死んでいてわちゃったのが前回
Avatar
VCはストリーミングAPI的なやつ無いんでしたっけ?
9:23 AM
これでできるのかな? https://discord.com/developers/docs/topics/voice-connections (edited)
Integrate your service with Discord — whether it's a bot or a game or whatever your wildest imagination can come up with.
Avatar
登壇者の画面を切り替えるのを追いかけるのがしんどそう
Avatar
そもそもGo Liveの方にはAPIがなさそう
Avatar
MacOS 11 (Big Sur) is expected to be released very soon
まだ対応してないやん
9:24 AM
詰み詰み
9:25 AM
一応旧Macある&当日は今のところ行けるので
9:25 AM
今回もやりますよ〜
Avatar
Big Surちゃん…
9:28 AM
これも動かないのかな https://github.com/ExistentialAudio/BlackHole
BlackHole is a modern macOS virtual audio driver that allows applications to pass audio to other applications with zero additional latency. - ExistentialAudio/BlackHole
Avatar
なんか対応したバージョンあるけど黄信号か…
9:29 AM
うごきそう
Avatar
Avatar
Loopbackもなんか動きそうなので今度試してみます
Avatar
今回めっちゃ人集まるスピード早いな
Avatar
次々回のハンドリング僕かー
  • swift-driver part2
はやるとして、誰か登壇者いないかな
(edited)
5:56 AM
|д゚)チラッ @giginet
5:56 AM
|д゚)チラッチラッ
5:58 AM
https://techlife.cookpad.com/ ログ定義Markdownをパースし、中間表現に変換します。これを実現するMarkdownコンパイラ daifuku を実装しました。Rubyで記述しています。
5:58 AM
きになる
5:58 AM
|д゚)チララッ
Avatar
オッ
6:13 AM
わいわいswiftc自体の登壇はしたいですね。 このログ基盤についてはわいわいswiftcとはあまり関連が薄い内容なので、ここでは発表しなさそう。
6:13 AM
実は12月中旬ぐらいにクックパッドでオンライン勉強会やるんですが、そこでこの内容の補足を話すことが決まっています
6:14 AM
というわけで、この話やるときにfreddiさんも是非見に来てくれたら
6:14 AM
近々告知出るはず
6:16 AM
うーん、次回気合で参戦表明しておくか
Avatar
というわけで、この話やるときにfreddiさんも是非見に来てくれたら
お、やったー。次は時間間違えないようにしたい・・・
Avatar
登壇に関して無理せずでできそうだったらでOKですよ〜
Avatar
何か話したいと思いつつも締め切りないとできないんですよね SwiftPMの動向か、swift-format辺りの話は深掘りしてみたい
Avatar
僕もわいわいswiftcは毎回締め切り駆動だなあ
9:30 AM
毎回登壇資料準備しながら、初めの方は資料作成終わりそうな気配がなくて毎回ヒヤヒヤしてる
Avatar

日時

MM/DD (N曜日)

場所

connpass

わいわいswiftc #00 - connpass

コンテンツ

  • @freddi-kit swift-driverを読み解く
  • 募集中
Avatar
次は年末かなあ、というのを頭に入れつつissueつくりました。 いつものメンバーだけではなく、いつも聞いてくださる方々にもチャレンジお願いします!なんでもWelcomeです
Avatar
NSSpain でわいわいswiftcしてきたので共有 https://twitter.com/___freddi___/status/1329694268286373894
Next is my talk. Because the topic is a little difficult, I prepared pdf here: https://t.co/5fhedl6I0j Please use it for pre-learning and tracking! @NSSpain #NSSpain2020
👍 2
👏 1
Avatar
気づいたら明日だった
❗ 3
2:55 AM
わいわい
Avatar
(すいません、どっかで言ってたと思ってたのですが言ってなかった。本日予定があって参加できないです) (edited)
😲 1
Avatar
せっかくWindowsで配信してたから、Wordのアートワークでダサダサロゴ作ろうとしたけどWord買ってなかった
Avatar
お前らのレベルで使えるけどなみたいなの言われてもなw
Avatar
一体同僚の何メタルなんだ
Avatar
「メガベンのTLレベルの人間が2,3人でサーバー書く時に使いやすい」が、一般に使いやすいと言えるか、という話
Avatar
Swiftで出ると、そもそも標準入力の扱いがダルいなw
10:42 AM
NSTask使うの?
10:42 AM
readlineか
Avatar
テストケース落としてきて自動でXCTestのテストケース作って欲しい
Avatar
Swiftで書けるのめっちゃいいですね。僕の時代はC++で出ていた・・・・・・
10:48 AM
これ問題どの順番で解いても良いんですか?
Avatar
koherさんチャット見れてないんじゃない? (edited)
Avatar
ここは裏スレなので
Avatar
環境トップ
10:54 AM
この実行時間はビルド含まないのか
10:55 AM
緑の時点でハイレベルだ
Avatar
参加者の使用言語の割合とか見れないんですかね?
Avatar
オッ
Avatar
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
🙂 17
Avatar
登録しました
Avatar
ABC
Avatar
登録しました
Avatar
のAB超早解きで茶色くらいかと思います
Avatar
Contribute to omochi/NetworkFlowStudy development by creating an account on GitHub.
Avatar
ABCだと A,B -> アルゴリズム知らなくても解ける C,D -> 知ってると速く解けることが多い E,F -> 知らないと解けないことが多い って感じかなと思います
Avatar
↑この前書いたやつ
Avatar
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
(これすでに解いてありました
Avatar
やべーswiftがかけなくなってる
Avatar
ごはん食べるので離脱
Avatar
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
11:32 AM
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
コンテストのテストケースは以下URLで公開されています。更新は不定期で、あまり古いコンテストのものはないですが…。 https://www.dropbox.com/sh/nx3tnilzqz7df8a/AAAYlTq2tiEHl5hsESw6-yfLa?dl=0
Shared with Dropbox
Avatar
1000000000000
12:04 PM
let input = "1000000000000" let inputs = input.split(separator: "\n").map { Int($0)! } for i in inputs { var answers: Set<Int> = [] for n in 1...(Int(ceil(sqrt(Double(i))))) { if i % n == 0 { answers.insert(n) } } let i2 = i let b = answers for n in b { if i2 % n == 0 { answers.insert(i2 / n) } } let sorted = answers.sorted() for n in sorted { print(n) } }
Avatar
let input = readLine()! //let input = "720" let inputs = input.split(separator: "\n") for input in inputs { var answers: Set<Int> = [] let i = Int(input)! for n in 1...(Int(ceil(sqrt(Double(i))))) { if i % n == 0 { answers.insert(n) answers.insert(i / n) } } let sorted = answers.sorted() for n in sorted { print(n) } } (edited)
Avatar
ソートしなくていい配列も使わないコード書いたけどソートした方が速かった🥲
Avatar
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
quotientAndRemainder 無駄がない
Avatar
これ便利だからよく使います
Avatar
printのオーバーヘッドがでかい
12:10 PM
要素数は大したことないのでソートは誤差だった
Avatar
一方ワイ、.map { [$0, n/$0] }.flatMap { $0 } (edited)
Avatar
Kishikawa Katsumi 12/4/2020 12:13 PM
quotientAndRemainderなんてあるのかー
Avatar
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
12:15 PM
これ中身全く速くなってなくておもしろい
12:16 PM
どんな超技術でまとめて書けるんだと思ってしまった
Avatar
ほんまやw
12:16 PM
ひどいw
Avatar
除算2回するの遅いからこれ使うと早くなるのかーって思ってしまった
Avatar
cpuレベルの命令でいい感じにやってくれてると思ってた😅
12:17 PM
C++のmath.hのやつはどうなってるんだろう
Avatar
試した結果全く同じだったのであってなった
12:19 PM
print複数回はms単位でデバフかかるので、改行挟んだstringにして一回だけprintするとお得(多分)
Avatar
知っているUnixのコマンドで一番シンプルなものは何ですか? 例えばechoという、stdoutに文字列を出力しtrueを返す -
Avatar
Kishikawa Katsumi 12/4/2020 12:20 PM
printってそんなに遅い?
Avatar
この記事思い出した
12:20 PM
tarunonの話で
Avatar
システムコールでバッファをやりとりする回数多いと遅いんじゃないですかね
Avatar
Kishikawa Katsumi 12/4/2020 12:21 PM
なるほど。
Avatar
GitHub Gist: instantly share code, notes, and snippets.
12:25 PM
Cのそれっぽいのみつけたけどだいぶ複雑なことしてそう(商と剰余を同時に計算するやつ) (edited)
Avatar
B - Multiple of 9、やっぱりString→Intが結構食ってますね
12:30 PM
UTF8にして48を引く方法でありえん速くなって草
Avatar
3倍くらいになってる
Avatar
そんなに遅いのか〜
Avatar
13ms
Avatar
class Child {} class Parent { let child: Child } #1 retain parent.child ... // Childを使った処理 #2 retain parent ... // Parentを使った処理(Childは使わない) #3 release parent #4 release parent.child こうなってるとき、#4 のreleaseを#2 の上に持っていきたいんだけど、
12:35 PM
Avatar
これkateiくんの話する時間無さそうだ 🙏
Avatar
ですね〜
Avatar
dc - コマンド (プログラム) の説明。dc - 任意精度の計算機。
Avatar
ゴルフ場で遊んでた時あったけどSwiftはなかった http://golf.shinh.org/
Avatar
omochimetaru 12/4/2020 1:06 PM
This is a rewrite of integer parsing for performance and code size. It address several major issues with the existing implementation (SR-7556), but also uses a new approach described below to achie...
Avatar
https://atcoder.jp/contests/abc163/submissions/12125005 @inlinable あるなしで実行時間にどのくらい影響あるものなんですかね? (edited)
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
各問題のフッターのところにルールが書かれてて、そこに言語と実行オプションが書かれてます。 https://atcoder.jp/contests/arc109/rules
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
omochimetaru 12/4/2020 1:24 PM
Contribute to omochi/SwiftPack development by creating an account on GitHub.
1:24 PM
↑ライブラリ埋め込むやつ
Avatar
シート1 https://docs.google.com/spreadsheets/d/1X5Yk5PiGx-Otm1JaHpQQzQhEIPj8trofLTkphKX43s0/edit#gid=0 Judge Server Information,↓右クリックして「セルの編集履歴」を参照することができます,←複数です,←複数の場合はファイル 変更履歴 変更履歴の表...
1:32 PM
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
おつかれさまでした
1:37 PM
おつかれさまでした
Avatar
おつかれさまでした
Avatar
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
おつかれさまでした
👏 6
Avatar
今日紹介した初心者用問題集(10問)を貼っておきます🙂 サクサク解けて気持ちいいです。 https://atcoder.jp/contests/abs/tasks
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
最後に話してたObj-C、まさかのわいわい中にObj-Cで解いてる猛者が! https://twitter.com/log5/status/1334842093529825280
#わいわいswiftc にこっそり参加するも、途中から話についていけずに謎の遊びをしていました 提出 #18559763 - AtCoder Beginner Contest 163 https://t.co/mTgcHKcub1
Avatar
昨日はおつかれさまでした!
1:23 AM
まだ初心者用10問も難しくて解けてないのでがんばります
🙂 2
Avatar
これ @Yuta Saito kun の登壇は次回に持ち越し?
🙏 1
Avatar
yes
Avatar
あざms
5:58 AM
ちょっとkoherさんの資料に僕の作った画像が出てきたのでうれしみ
🙏 1
Avatar
次ハンドリングしますね
👍 1
Avatar
@Yuta Saito 次話す?
2:03 PM
1月中旬か末にしようかとおもいます
Avatar
資料はあるのでいけます!
2:07 PM
ハンドリングあざす 🙏
Avatar
ういっす!
2:01 AM
@Yuta Saito 1/22 金曜日で仮置してます! https://github.com/waiwai-swiftc/events/issues/10
日時 1/22 (金曜日) 場所 connpass わいわいswiftc #00 - connpass コンテンツ @freddi-kit swift-driverを読み解く @kateinoigakukun SE-0283 Implement Equatable, Comparable, and Hashable conformance for Tuplesについて
👍 2
Avatar
kateiくんもよさそうだし、来週connpass公開します (edited)
Avatar
ありがたいです 🙏
Avatar
いえいえ〜
2:25 AM
話したい方順次募集中(n回目)
Avatar
connpassはイベントやIT勉強会の開催、さらに参加者の集客に便利です。コミュニティやグループの運営やイベントの検索、事前決済もできます。
Avatar
今日のお昼公開
3:16 AM
もうお昼かw
3:17 AM
# わいわいswiftc #24 オンライン 昨今の社会的情勢を鑑みて、当面はオンライン開催を致します。 swift-developers-japanのDiscordサーバー上でオンライン配信を行う予定です。 https://medium.com/swift-column/discord-ios-20d586e373c0 詳細な参加方法については、下記をご覧ください。 # わいわいswiftc わいわいswiftcは、Swift Compilerとその周辺技術に関する勉強会です。初心者・上級者を問わず、情報交換とディスカッションの場として機能することを目的としています。 s...
🙏 2
Avatar
次の次の回くらいにConcurrencyの回やりたい
voted 5
Avatar
omochimetaru 1/9/2021 1:59 AM
あとでスライドのStructured concurrencyの部分をpitch2版に更新しよう。
1:59 AM
しずさんに次の次で話してもらうようにお願いしました。 (edited)
Avatar
あざますー
Avatar
前回ぽろっと(たしか) @giginet さんが「(過去問ではなく)みんなで一緒にコンテスト参加できたら楽しそう」みたいなことを言っていたと思うんですが、スピンオフ的に今度そういう会を開いてみませんか? 来週 22 日にわいわい、 23 日に Swift Zoomin' があって、翌週 30 日に AtCoder Beginner Contest 190 https://atcoder.jp/contests/abc190 が予定されてるので、告知とコンテスト開催のタイミングを考えるとちょうど良さそうです。『わいわいswiftc × Swift Zoomin' スピンオフ SwiftでAtCoderのコンテストに挑戦!』みたいな。もちろん本番中はコミュニケーションとれないので、終わってからみんなで結果を見ながらわいわいするイメージです。
👀 2
Avatar
Avatar
koher
前回ぽろっと(たしか) @giginet さんが「(過去問ではなく)みんなで一緒にコンテスト参加できたら楽しそう」みたいなことを言っていたと思うんですが、スピンオフ的に今度そういう会を開いてみませんか? 来週 22 日にわいわい、 23 日に Swift Zoomin' があって、翌週 30 日に AtCoder Beginner Contest 190 https://atcoder.jp/contests/abc190 が予定されてるので、告知とコンテスト開催のタイミングを考えるとちょうど良さそうです。『わいわいswiftc × Swift Zoomin' スピンオフ SwiftでAtCoderのコンテストに挑戦!』みたいな。もちろん本番中はコミュニケーションとれないので、終わってからみんなで結果を見ながらわいわいするイメージです。
ありがとうございます!お返事遅れました。興味はあるんですが、僕は30日の週末、別のイベントの用事があってちょうどタイミング悪いですね・・・・・・ 次回以降あれば参加したいと思います。Swift Zoomin'も見に行きますね
Avatar
Avatar
giginet
ありがとうございます!お返事遅れました。興味はあるんですが、僕は30日の週末、別のイベントの用事があってちょうどタイミング悪いですね・・・・・・ 次回以降あれば参加したいと思います。Swift Zoomin'も見に行きますね
AtCoder はあまり先まで予定が出ないのでなかなか告知タイミングとコンテストがそろうのが難しいですが、今はたまたま 3 週間先まで出てて 2/6 (土)に AtCoder Beginner Contest 191 があるみたいなのでそれでも良さそうです。参加者の準備期間も 2 週間とれますし。
👍 1
Avatar
@omochimetaru @freddi @tarunon @Yuta Saito (誰に聞くのが適切かわからないですがconnpassのオーガナイザに入っていた人宛に)↑の件 https://discord.com/channels/291054398077927425/380329942505750529/799915538193055754 どうでしょう? (edited)
Avatar
わいわいの終わり側か始まる前に告知してもいいのでは、と思ってました (edited)
3:00 PM
特に仕切るでもないので自由にやって良いのでは
Avatar
わいわいのスピンオフという形にするのか独立したものというのがよさそうかはどうかはどう思いますか?わいわい勢でやろうという人が多ければスピンオフとして成り立ちそうですが、そうでなければただの独立イベントの告知という形と変わらないかなと。
Avatar
わいわい自体はだいたい参加者2-30人くらいだから、まあ4-5人いけば成立するんではと言う感じはしますね
Avatar
ありがとうございます。他の人の意見も聞いて考えてみます。
Avatar
イベントの告知みたいなのは、まあ結構好き勝手にやってるんじゃないかという感じはしていて(記憶違いならごめんなさい) お隣イベントも結構やってるんじゃない?と思ったけどそうでもないんかな
Avatar
2/6の回は参加してみたいですね
🙂 1
Avatar
わいわいはオンライン開催のお手伝い感覚でやってたので自分が運営だとはあまり自覚していなかったw
5:12 AM
2/6、joinできますー (edited)
5:13 AM
(そして明日わいわいということを忘れていたので夜から資料作らねば、やばい)
Avatar
ありがとうございます!わいわいswiftcからは独立した形で、告知だけさせてもらえればと思います🙇‍♂️ connpassページ作っておきます。
Avatar
わいわいの参加者も引き込みたいなら こっちでも connpass つくりますよー
1:22 AM
できる限りお手伝いはさせていただきます!運営の自覚を持つぞ
Avatar
@freddi こんな感じで作ったんですがどうでしょう? @freddi さんと @giginet さんに管理権限付与してるので Preview だけど多分見れるかと。 https://connpass.com/event/202305/preview/ (edited)
connpassはイベントやIT勉強会の開催、さらに参加者の集客に便利です。コミュニティやグループの運営やイベントの検索、事前決済もできます。
👍 1
Avatar
パット見覗いたけどよさそう、お昼に詳しく見ます
🙂 1
Avatar
みましたー僕的には良さそうです
2:18 AM
今日公開する感じですか?
Avatar
ありがとうございます。わいわいまでには公開しようと思います。
2:26 AM
昼間に公開して Twitter でも告知してもよいかも。
Avatar
これMacのほうがいいとかあるのかな
2:38 AM
あ、でもAtCoderがコンパイラ積んでるしいいのか
2:40 AM
そもそもWindowsでもできるようになったことを忘れていた
Avatar
AtCoder自体はブラウザさえあれば何でも提出できます。ただ、ローカルで実行できる環境があった方が良いとは思います。一応↓のようにブラウザ上で標準入力渡して実行できるテスト環境もあるのでそれを使うこともできます。 https://atcoder.jp/contests/abc188/custom_test
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
Avatar
# Swift競プロ部 Swift で AtCoder Beginner Contest 191 (以下、 ABC 191 )に挑戦し、コンテスト終了後にわいわい感想を話し合います。会場は Discord の swift-developers-japan サーバーの音声チャンネル 🔊kyoprobu です。 ⛔ ABC 191 は個人戦です。コンテスト中に他人とコミュニケーションを取ることはできません。本イベントはコンテスト終了後に開催します。 # Swift と競プロ 競技プログラミングにおける Swift 使用人口は多くありません。だからこそ、 Swift 競プロerで集まっ...
Avatar
SwiftでAtCoderのコンテストに挑戦し、コンテスト後にわいわい語り合う会 #Swift競プロ部 (初心者歓迎)を開催します。Swift競プロerはまだまだ少ないので親交を深めましょう。 少し先なので今から競プロ始めても間に合います。準備には↓の参考文献が役立つと思います。 https://t.co/Fa3vIKJkT7
Avatar
申し込みました!今日冒頭に時間を作るので宣伝しちゃってください!
Avatar
ありがとうございます!!!この日程なら出ようと思います!
5:28 AM
告知お手伝いします
Avatar
ありがとうございます!
Avatar
競プロのconnpass、参考書籍のところ、いくつかおすすめ追加したい感じがある
9:37 AM
もう覚えてないのでおすすめできるか微妙だけど
Avatar
@freddi ちょっと冒頭間に合わなさそうなので、発表と発表の合間とかに告知させて下さい🙇🏻‍♂️ (edited)
Avatar
OKですよー
Avatar
わいわい
😀 2
Avatar
888888888
Avatar
@koher ちょっと宣伝しておきました、かていくんの登壇が終わったときにまた詳しく宣伝してくだされば嬉しいです
Avatar
print((a: 1, b: 2) == (b: 1, a: 2)) // true (edited)
Avatar
Kishikawa Katsumi 1/22/2021 10:40 AM
SwiftFiddle is an online playground for creating, sharing and embedding Swift fiddles (little Swift programs that run directly in your browser).
Avatar
Recently, @Alejandro launched the Tuples Conform to Equatable pitch, along with a proposed implementation. This thread, here, is for purposes of discussing the long-term tradeoffs that may result from the near-term adoption of built-in, special-case automatic protocol conformance. Background In short, the original pitch was to create a specia...
Avatar
Kishikawa Katsumi 1/22/2021 11:51 AM
https://swiftfiddle.com/lvzjivsqznfmravjuvzdmecvia ^ SNAPSHOT-2020-10-27-aをデプロイして試せるようにしたよ✨
SwiftFiddle is an online playground for creating, sharing and embedding Swift fiddles (little Swift programs that run directly in your browser).
Avatar
かていくんの資料上がってますか?
Avatar
12:08 PM
今回別の人にお願いできると有難い
12:08 PM
ありがとう〜
12:09 PM
あ、次回の開催の話か。何か勘違いしてた。可能な限りやります 🙏
Avatar
うん、うんえいのはなし
Avatar
ごめん、司会進行かと思った
Avatar
# Swift競プロ部 Swift で AtCoder Beginner Contest 191 (以下、 ABC 191 )に挑戦し、コンテスト終了後にわいわい語り合います。会場は Discord の swift-developers-japan サーバーの音声チャンネル 🔊kyoprobu です。 ⛔ ABC 191 は個人戦です。コンテスト中に他人とコミュニケーションを取ることはできません。本イベントはコンテスト終了後に開催します。 # Swift と競プロ 競技プログラミングにおける Swift 使用人口は多くありません。だからこそ、 Swift 競プロerで集まってわい...
Avatar
参加しました
👍 1
Avatar
僕が作ったこれ使ってくれ〜〜〜
12:29 PM
Open Xcode project by context. Contribute to giginet/xcode-opener development by creating an account on GitHub.
12:31 PM
これShell Scriptなんで良いですよ
12:32 PM
動きます
12:32 PM
fish以外なら動く
12:32 PM
がんばります
12:33 PM
ホームディレクトリに置いてalias貼ってるだけだな。Shell Scriptだとdistributionの面倒さがあるね・・・・・・
12:33 PM
zplugとかお使いの方はそれで入る
12:38 PM
オプションとしてlibrarySearchPathとか渡す必要がある?
Avatar
-driver-print-graphviz
1:49 PM
Avatar
Hi all, In the llbuild2 announcement, @ddunbar mentioned the goal of supporting "explicit modules" in the build system. I wanted to describe what explicit modules are, why they are important, and the developer work we're doing to bring the benefits of explicit module builds to SwiftPM. Modules in Swift Swift programs are composed of a number o...
Avatar
omochimetaru 1/22/2021 2:02 PM
The Package Manager for the Swift Programming Language - apple/swift-package-manager
2:06 PM
if buildParameters.useExplicitModuleBuild {
Avatar
おちます〜 登壇聞いていただきありがとうございました
👏 1
Avatar
Kishikawa Katsumi 1/22/2021 2:14 PM
SwiftFiddle is an online playground for creating, sharing and embedding Swift fiddles (little Swift programs that run directly in your browser).
😮 1
Avatar
SwiftFiddle is an online playground for creating, sharing and embedding Swift fiddles (little Swift programs that run directly in your browser).
Avatar
Contribute to kateinoigakukun/swift-concurrency-playground development by creating an account on GitHub.
Avatar
SwiftFiddle is an online playground for creating, sharing and embedding Swift fiddles (little Swift programs that run directly in your browser).
Avatar
Kishikawa Katsumi 1/22/2021 2:40 PM
SwiftFiddle is an online playground for creating, sharing and embedding Swift fiddles (little Swift programs that run directly in your browser).
Avatar
SwiftFiddle is an online playground for creating, sharing and embedding Swift fiddles (little Swift programs that run directly in your browser).
Avatar
SwiftFiddle is an online playground for creating, sharing and embedding Swift fiddles (little Swift programs that run directly in your browser).
Avatar
Avatar
Kishikawa Katsumi
素晴らしい! This tool is really awesome!
Avatar
Kishikawa Katsumi 1/22/2021 7:25 PM
Yeah, thank you 😊
Avatar
久しぶりに、(初めて)waiwai-swiftc アメリカから参加できまして、とてもよかったです。申し訳なく、途中で寝てしまいましたが、あとでyoutubeがあるみたいなので、最後までみてみたいと思います。有難うございました。👏 (edited)
😄 8
3:35 AM

日時

MM/DD (N曜日)

場所

connpass

わいわいswiftc #00 - connpass

コンテンツ

  • @stzn async/await まわり
Avatar
@shiz https://github.com/waiwai-swiftc/events/issues/11 こちらのぎっはぶで次回のスケジュールとか調整しますー 2月末くらいとかどうでしょうか (edited)
日時 MM/DD (N曜日) 場所 connpass わいわいswiftc #00 - connpass コンテンツ @stzn async/await まわり
3:36 AM
それか2月半ば
3:37 AM
@giginet san 次回ファシリテートします?それとも今回は難しそうでだった僕でやれますー
Avatar
あ、いや大丈夫ですー!かわりにやります
3:38 AM
今週中に調整します
Avatar
おkです!じゃshiz さんと連絡オネシャスー
Avatar
スピーカーshizさんのほかいないかな
Avatar
ありがてえ
Avatar
2人に毎回お願いしちゃってるので次次回はぼくがハンドリングします
👍 1
Avatar
スピーカー一人でもいいんじゃないかなーという気がしている
3:39 AM
前々回かていくんpostpone、前回3,40分程度延長だったので
Avatar
たしかにー
Avatar
終わってからの延長戦もめっちゃやってたし、時間余ったらご歓談くださいでも成り立つと思うよ
Avatar
:agree:
Avatar
話題は無限にありそう
Avatar
後は一つの話題を限界まで深ぼった方が面白そうだなみたいなのはある。
Avatar
次次回くらい僕の登壇入れてもいいですか?昔読もうと思って諦めてたコンパイラのパートのコード読みたい (edited)
Avatar
ご連絡ありがとうございます!今のところ2月2週目以降でしたら基本的にどこでも大丈夫ですー(githubに書いたほうが良いでしょうか?) (edited)
👍 1
Avatar
ありがとうございます!今回はshizさんの予定に合わせて早めに設定してしまいましょうか
5:26 AM
2/19(Fri.)とかがいいかなあ
🙆‍♂️ 1
Avatar
@shiz よろしくお願いします。こちらイベントページを非公開で作成しました。 日程と内容を確認して頂いて、問題が無ければ明日公開したいと思います https://iosdiscord.connpass.com/event/202587/preview/
connpassはイベントやIT勉強会の開催、さらに参加者の集客に便利です。コミュニティやグループの運営やイベントの検索、事前決済もできます。
Avatar
@giginet ありがとうございます。日程、内容確認しました。こちらでお願いします
👍 1
Avatar
公開しました!!!お願いします!!! https://iosdiscord.connpass.com/event/202587/
# わいわいswiftc #25 オンライン 昨今の社会的情勢を鑑みて、当面はオンライン開催を致します。 swift-developers-japanのDiscordサーバー上でオンライン配信を行う予定です。 https://medium.com/swift-column/discord-ios-20d586e373c0 詳細な参加方法については、下記をご覧ください。 # わいわいswiftc わいわいswiftcは、Swift Compilerとその周辺技術に関する勉強会です。初心者・上級者を問わず、情報交換とディスカッションの場として機能することを目的としています。 s...
👍 3
Avatar
メモリ破壊やROP(Return Oriented Programming)を防ぐための技術。アドレスの使われていないビットを使って認証情報を埋め込み、ロードするときに検証するらしい。

気になるポイント

  • 実行時のオーバーヘッドがどのくらいあるのか
  • 認証の仕組みがどうなっているのか
  • 将来的にページテーブルの層が増えたときに仮想アドレスの使えるビット数が足りなくならないか

参考になりそうなリンク

https://github.com/apple/swift/pull/30112 https://events.static.linuxfound.org/sites/events/files/slides/slides_23.pdf
Avatar
今日参加できなくなったので、ハンドリングとかお手伝いができないです 🙏 申し訳ありません
7:57 AM
終わり際に覗きに来るかも
Avatar
omochimetaru 2/19/2021 9:50 AM
そろそろ40分後 (edited)
kusa 1
Avatar
お、僕が今回幹事なのでやります (edited)
10:00 AM
あと15分ぐらいしたら開くよ〜
Avatar
今日はよろしくお願いします。 こちら資料です。 今日話す内容 https://speakerdeck.com/shiz/swift-new-concurrency-talk プロポーサル追えている内容全部入り https://speakerdeck.com/shiz/swift-new-concurrency 最後色々整理しようと思ったのですが、思った以上に忙しくなってしまいあまりまとまらず。。。 途中途中時間見ながら進めていきます🙇‍♂️
Talk about Swift New Concurrency
about proposals related to Swift new Concurrency
Avatar
@shiz 通話もう集まってるので良かったらいらっしゃい
👍 1
Avatar
Kishikawa Katsumi 2/19/2021 10:26 AM
Curious on how Swift actor code will look? I usually peek at the tests, where you come for the code but stay for the smoothie recipes. https://t.co/Mz6cPoFu99
Avatar
We&#39;ve decided to go with calling actor classes actor instead of actor class. We still want to be able to parse in actor class and recommend the correct fix-its to make it just actor. This i...
Avatar
私の会社では、主に ZOOM や Discord を使ってオンライン会議だったり、オンライン飲み会だったり、オンライン勉強会なんかをやっているのですが、 先日私の画面を共有しながら発表を行おうとしたらうまくいかずにしばらくハマってしま...
10:36 AM
仕込んでおいた勉強会用スライドをフルスクリーン表示にして、ZOOMやDiscordでその画面を共有しようとしたら、相手にはデスクトップの壁紙しか見えていないという状況になった
Avatar
Avatar
全体像は継続が抜け落ちてるように見えるw
Avatar
この図のあとにでてきたからね
Avatar
Speakerdeckのスライド見たらあと100ページ残ってた 🤣
Avatar
そもそも例外だすとき(ランタイム)に型情報どれくらいとれるんだろうか?(初歩的)
11:14 AM
Unionはそして型検査の停止性とかを怪しくするという直感あります。 (edited)
Avatar
わいわいしすぎてshizさんが困惑してる😂
🙃 1
11:16 AM
時間超過激しくなるなら差し支えなければ前後編に分けていただいて良いと思うので、安心してプレゼンしていただければ🙏
Avatar
Avatar
yyu
そもそも例外だすとき(ランタイム)に型情報どれくらいとれるんだろうか?(初歩的)
ここでいう型情報っていうのはエラーオブジェクトの型ですか?
Avatar
Avatar
Yuta Saito
ここでいう型情報っていうのはエラーオブジェクトの型ですか?
そのとおりです!
Avatar
Swiftの例外はErrorプロトコルのExistential Boxに必ず詰められるので、元の型情報が完全に取れるはず!
👍 1
Avatar
なるほど。その型情報でランタイムに分岐するようなことはできるのか。
Avatar
@swift-main struct MyError1: Error {} struct MyError2: Error {} func throwError() throws { throw MyError1() } do { try throwError() } catch let error { switch error { case is MyError1: print("MyError1") case is MyError2: print("MyError2") default: print("other type") } } (edited)
🙏 1
Avatar
swiftNightly BOT 2/19/2021 11:21 AM
MyError1 (edited)
Avatar
なるほどなあ。
11:26 AM
それはおもしろい。
11:27 AM
非同期をモナドで抽象化するなら、同期のようなものを非同期側に昇格させるのは容易(pure)、みたいなことは言えるというようなアプローチで同期もasync letできてしまうほうが自然か(?) (edited)
Avatar
promisifyだなぁ
Avatar
コルーチン的なものかとおもったけど、継続を引っ張ってこれる機能か 👀
Avatar
promisfyじゃなかったw若干面倒くさいw
11:39 AM
コンパイラでチェックできないからねぇ
Avatar
@pure はいずこ…
Avatar
ConcurrentValue and @concurrent closures Authors: Chris Lattner, Doug Gregor February 3, 2021 Draft #4 Major Contributors: Dave Abrahams, Paul Cantrell, Matthew Johnson, John McCall, Jordan Rose Introduction The Swift Concurrency Roadmap was recently announced, and a key goal of that roadmap is...
1:11 PM
Support for Imported C / Objective-C APIs Interoperability with C and Objective-C is an important part of Swift. C code will always be implicitly unsafe for concurrency, because Swift cannot enforce correct behavior of C APIs. However, we still define some basic interactions with the concurrency model by providing implicit ConcurrentValue conformances for many C types: C enum types always conform to the ConcurrentValue protocol. C struct types conform to the ConcurrentValue protocol if all of their stored properties conform to ConcurrentValue. C function pointers conform to the ConcurrentValue protocol. This is safe because they cannot capture values.
Avatar
The Swift project has achieved a critical milestone of maturity of the core fundamentals, providing stability for users to invest in using Swift in earnest. On Apple's platforms such as macOS and iOS, the arrival of ABI and module stability has enabled the creation of stable binary frameworks. Further, the Swift Package Manager, which has inte...
Avatar
88888
Avatar
おつかれさまでした、ありがとうございました!
Avatar
ありがとうございましたー😃
Avatar
次回はまたshizさんの予定に合わせて調整します!ありがとうございました!
Avatar
はい、また日程ご相談させてくださいmm
👍 1
Avatar

日時

3/DD (N曜日)
  • [ ] 登壇予定者全員が参加できるか、登壇準備ができるか確認する
  • [ ] 参加者が被りそうな勉強会とぶつかっていないか、イベントカレンダーで確認する https://connpass.com/calendar/
  • [ ] 曜日に制限はないが、平日の夜が良い。金曜日であると望ましい

場所

connpass

わいわいswiftc #00 - connpass

コンテンツ

  • @stzn 第25回 のConcurrencyの続き
~
Avatar
次ハンドリングワイがやるわね @Yuta Saito
👍 1
Avatar
Avatar
freddi
次ハンドリングワイがやるわね @Yuta Saito
次というのは #27で 👌
Avatar
26のつもりだったー
1:49 PM
それとも26つづけてやる?
Avatar
今回はぎぎにゃんさんがやってくれたので、次はやろうかな〜と
Avatar
おkす!じゃったらおまかせしようかな
1:53 PM
おねがいしますmm
👌 1
Avatar
次は3月第2週あたりでshizさんの予定が合う日がいいかな?
Avatar
ありがたい!
Avatar
3月の2週なら今のところ何曜日でも大丈夫です。 12(金)とかどうでしょうか?あとは第3週も基本全部大丈夫です。 @Yuta Saito
Avatar
Avatar
shiz
3月の2週なら今のところ何曜日でも大丈夫です。 12(金)とかどうでしょうか?あとは第3週も基本全部大丈夫です。 @Yuta Saito
12(金)なら他のイベントとも被ってないので良さそうです! 🙆
👍 2
Avatar
Avatar
Yuta Saito
12(金)なら他のイベントとも被ってないので良さそうです! 🙆
ありがとうございます。では、みなさまのご都合がよろしければ12(金)でお願いしたいです!
🙆 1
Avatar
イベントページつくりました〜 https://iosdiscord.connpass.com/event/205435/preview/
connpassはイベントやIT勉強会の開催、さらに参加者の集客に便利です。コミュニティやグループの運営やイベントの検索、事前決済もできます。
4:47 AM
問題なければ公開したいと思いますー cc: @shiz
Avatar
お、僕は見られないですねw
Avatar
Avatar
shiz
お、僕は見られないですねw
おっと…すみませんw おそらくこれで見られるようになったはず
Avatar
Avatar
Yuta Saito
おっと…すみませんw おそらくこれで見られるようになったはず
ありがとうございます!僕は内容問題ないと思います👍🏻
🙏 1
Avatar
わいわいswiftc #26 オンライン を公開しました! https://t.co/peJ1NhlAO6 #わいわいswiftc
👍 2
Avatar
そろそろ〜
Avatar
今日のスライドです。すいませんちょっとバタバタしていてもう少ししたら入りますmm https://speakerdeck.com/shiz/swift-concurrency-talk-2 (edited)
Swift Concurrency Talk 2
🙌 1
Avatar
鮮度高そう
Avatar
めっちゃおくれてしまった
Avatar
connpassのinvite link死んでるかも…
Avatar
むむ
11:12 AM
discordのinvite linkですか?
Avatar
そうそう
11:12 AM
twitterで入れない〜って人を観測した。(新しいリンク送付済み
🙏 1
11:12 AM
これダメならdiscordの障害もあるかもしらん
Avatar
Currently all of the custom-attribute types have to opt in to being an attribute in some specific way (e.g. the @propertyWrapper attribute), and that determines how they're interpreted. A single type can't opt in to being an attribute in multiple ways, so there's no technical ambiguity. Maybe we'll have to do that here when we generalize it be...
Avatar
12:13 PM
Hello again, Swift Evolution! @filip-sakel and I have been working on the next revision of SE-0293 based on feedback from the second review. The latest proposal draft is available here. Here is a list of changes to the design in this revision: The distinction between property wrappers that are API and property wrappers that are implementatio...
Avatar
ボリュームヤバくてウケる
Avatar
Since it’s more of an implementation detail, perhaps it should not be separate protocols? An attribute might be more appropriate. For example: struct MyNSPerson : @unchecked ConcurrentValue { private var name: NSMutableString var age: Int }
Avatar
omochimetaru 3/12/2021 1:19 PM
Yes, making ConcurrentValue and UnsafeConcurrentValue both be attributes is initially attractive. The problem with this is that we'd need to reinvent something like conditional conformances to allow us to state that "arrays are CVs when their elements are". Directly leveraging the protocol design in Swift for this is convenient and avoids intr...
Avatar
kitasukeさん久し振りだ
😎 1
Avatar
888888
Avatar
majikansha👏 (edited)
Avatar
👏
1:46 PM

日時

3/26 (N曜日)
  • [x] 登壇予定者全員が参加できるか、登壇準備ができるか確認する
  • [x] 参加者が被りそうな勉強会とぶつかっていないか、イベントカレンダーで確認する https://connpass.com/calendar/
  • [x] 曜日に制限はないが、平日の夜が良い。金曜日であると望ましい

場所

connpass

わいわいswiftc #00 - connpass

コンテンツ

  • @stzn 第26回 のConcurrency Proposal の続き (第3弾)
Avatar
補足:Task localのところで出てきたasync letの例(「これなんだ?」とみんなでなったやつ)は、こう書いてありました。 which–if we desugar the syntax a little bit to what is actually happening in the async let initializer–is more correctly represented as: async let dinner = { cookDinner() } https://github.com/ktoso/swift-evolution/blob/wip-tasklocals/proposals/nnnn-task-locals.md#binding-values-for-the-duration-of-a-child-task (edited)
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - ktoso/swift-evolution
Avatar
Task groupのnext()はchild taskの処理が完了した順に返ってくるっぽいですね👀 using the group's next method to collect those results as they become ready: // Wait for all of the chopping to complete, collecting the veggies into // the result array in whatever order they're ready. while let choppedVeggie = try await group.next() { choppedVeggies.append(choppedVeggie) } https://github.com/apple/swift-evolution/blob/main/proposals/0304-structured-concurrency.md#task-groups-and-child-tasks (edited)
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - apple/swift-evolution
🙏 2
Avatar
@shiz 次回のconnpassページ作ったのでshizさんが問題なさそうなら公開したいと思いますー https://iosdiscord.connpass.com/event/207424/preview/
connpassはイベントやIT勉強会の開催、さらに参加者の集客に便利です。コミュニティやグループの運営やイベントの検索、事前決済もできます。
Avatar
Avatar
Yuta Saito
@shiz 次回のconnpassページ作ったのでshizさんが問題なさそうなら公開したいと思いますー https://iosdiscord.connpass.com/event/207424/preview/
ありがとうございます!問題ないと思います👍🏻 (すごい細かいですがwイベントの説明のところが「わいわいswiftc #26」になったままですかね?)
Avatar
Discordのリンクを発行し直した方が良いかも
Avatar
Avatar
shiz
ありがとうございます!問題ないと思います👍🏻 (すごい細かいですがwイベントの説明のところが「わいわいswiftc #26」になったままですかね?)
🙏
1:12 AM
あー、そういえばそうですね。monoさんに更新お願いするのが良いかな?
Avatar
招待で勝手に発行できるからそれで良いんじゃないかな
Avatar
done
1:19 AM
わいわいswiftc #27 オンライン を公開しました! https://t.co/wwDRCNA4Ff #わいわいswiftc
🙏 2
Avatar
Kishikawa Katsumi 3/26/2021 10:57 AM
この記事は,マルチスレッドのプログラムでしばしば見る,そして発見が困難であるバグ「データ競合」と,それを見つけるのによく使われる「happens-before 関係」について解説します。 筆者は特に x86-64 アーキテクチャにおけるバグ検出に興味がありますので,一般的な話というよりは x86-64 に寄せた話になります。 想定読者 データ競合バグの発生原理やアトミック変数を使ったバグの防止方法を知りたいと思っているプログラマ データ競合バグを検出する手法,特に happens-before 関係を勉強したいプログラム解析手法の研究者 x86-64 & C++ を例に説明しますが,その他のア…
Avatar
happens-beforeはこちらに登場するのですね。排他制御を表現している? https://github.com/apple/swift-evolution/blob/9b5e0cbd552b4c8b570aedcb94c0cb72b9f591b0/proposals/0304-structured-concurrency.md#executors
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - apple/swift-evolution
Avatar
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - kavon/swift-evolution
11:58 AM
Hi everyone, I'd like to share a proposal that allows some properties to have effects specifiers (throws and async) added to them. Any thoughts or feedback would be greatly appreciated. Please see here for the complete and most up-to-date version of this proposal. As an appetizer, below you will find the first few sections of the proposal: I...
Avatar
半年前からやってる、イテレータの非同期版ことasync streamの提案が承認された 🎉 adds async stream rfc by nellshamrell · Pull Request #2996 · rust-lang/rfcs https://t.co/WR4QYCKZ1C
Avatar
@swift-5.3.3 struct S { func f( _ f1: () throws -> (), _ f2: () throws -> () ) rethrows -> () { } } S().f({ }, { })
Avatar
no output
Avatar
Hey all, Here's a pitch for a feature that @Philippe_Hausler, @Joe_Groff, @Tony_Parker and I have been thinking about to make rethrows also work for protocol conformances. It's motivated by some of the concurrency work, but is separable and useful on its own. Philippe has been prototyping it in the compiler so we have a fairly good sense that t...
Avatar
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
12:46 PM
AsyncLazySequenceの実装 ↑
Avatar
Introduction When writing asynchronous code using AsyncSequence adopters it is often needed to be able to convert back and forth from the async world to the synchronous world. In many other similar APIs there are mechanisms to accommodate for this. Namely of which those conversions work best if they are trailing syntax upon those types to aide i...
12:47 PM
Similar to the construction of LazySequence adopters, Sequence itself can easily produce values that can be represented asynchronously. This can be achieved by a similar extension on Sequence as lazy (in this case async) and a concrete generic type that adapts a given Sequence into a suitable asynchronous sequence
Avatar
So what does it mean for us? Rest in peace EventLoopFutures? I realise that it's just a roadmap and a series of pitches, and things might (will) change a lot, but it's certainly the future, and it's unlikely that Swift-NIO would want to ignore it 🙂 Probably, it will take not one but two major versions to adopt it. Or maybe even zero, and we jus...
Avatar
omochimetaru 3/26/2021 1:10 PM
Thanks for bringing this up, this is an important topic and it’s worth understanding. Let’s start at a very high level with the top-line answer to “What does this mean for us?” The answer from the NIO core team as of the 31st of October 2020 is we don’t know yet. This proposal is very young, there is little running code, we haven’t been able to...
Avatar
あ、次回の予定を決めるのを忘れてました
1:52 PM
4月末くらいかな?
👍 2
Avatar
Structured Concurrencyはまた色々変わりそうです(終わった数時間後に出てきた)w https://github.com/apple/swift-evolution/pull/1311 https://github.com/apple/swift/pull/36602/files (edited)
Avatar
あと、async/awaitとAsyncSequenceはSwift5.5のCHANGELOGに入っているので5.5でReleaseっぽいですね(今のところ)👀 https://github.com/apple/swift/blob/main/CHANGELOG.md
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
👀 3
Avatar
4月末かー、ハンドリングしますね
🙏 1
2:40 AM
どなたか登壇したい方いますか?
Avatar

日時

MM/DD (N曜日)
  • [ ] 登壇予定者全員が参加できるか、登壇準備ができるか確認する
  • [ ] 参加者が被りそうな勉強会とぶつかっていないか、イベントカレンダーで確認する https://connpass.com/calendar/
  • [ ] 曜日に制限はないが、平日の夜が良い。金曜日であると望ましい

場所

connpass

わいわいswiftc #00 - connpass

コンテンツ

  • @account title
~
Avatar
映像・音声通話ツールの「Discord」に、新たに「ステージチャンネル(Stage Channels)」という機能が追加されました。この機能を使えば、おしゃべりなどを軸としたイベントをより簡単に運営することができます。
7:44 AM
Clubhouseみたいなやつか。わいわいに使えないか
Avatar
omochimetaru 4/1/2021 7:46 AM
わいわいみたいに誰でもいきなり発言するスタイルだと逆にマッチしないような気も?
7:47 AM
(参加者)発言したいから壇上に上がりたいです→(運営)どうぞ という手順が生じるようになるんでしょ?(よくわかっていない
Avatar
Kishikawa Katsumi 4/1/2021 8:06 AM
Remoに似てる
8:06 AM
セミナー形式のカンファレンスイベントをやるぶんには便利だと思う。
Avatar
omochimetaru 4/1/2021 8:06 AM
明確に「壇上で喋ってる人たち」という概念がある場合ですよね
Avatar
手を上げて発言許可のフローだと、わいわいだといよいよ本当に終わらなくなりそう
Avatar
omochimetaru 4/1/2021 8:35 AM
逆に終わらなくなるって事?
Avatar
議論のスループットが落ちるので。そもそも許可制になったからと言って発言を抑えるみたいな事もしないだろうし。
8:38 AM
手がずっと上がってる状態になる
Avatar
omochimetaru 4/1/2021 8:38 AM
なるほどw
Avatar
よく喋る人だけ壇上にいれば良いのではと思ったが、それなら今までとあまり変わらないか
8:38 AM
まあスピーカーがわかりやすくなるというメリットはありそう
8:38 AM
視覚的に
Avatar
わいわい開催中の発言回数でいうと
Avatar
omochimetaru 4/1/2021 8:39 AM
喋る人という区分けをしちゃうのに違和感があるんだよな。
Avatar
それはそうだね
8:39 AM
というかわいわいだと
Avatar
omochimetaru 4/1/2021 8:39 AM
ガチ勢だけの回だから喋らない人は居ないはずなんだ、ポリシーとしては
Avatar
反射的に議論に差し込みたいシーンが無限にあって
8:40 AM
発言許可待ってたらベストタイミングが流れてしまう
Avatar
Kishikawa Katsumi 4/1/2021 9:04 AM
もっと人数が多い場合なんでしょうね。今だと多いときで30人くらい?だからわいわい形式のほうがいいんだと思う。
Avatar
AST -> SIL のところのコードよんでみたさが出てきたけど発表は多分来月開催には間に合わないなー (edited)
3:00 AM
あと昔omochiさんがissueで貼った最適化のところ
Avatar
#swift@tarunon@Iceman がわいわいやってるこの辺の型推論バトルとか話して欲しい https://discord.com/channels/291054398077927425/291054454793306112/831140946560417844
Avatar
何が原因なのかまで潜って調べるのはキツいけど
3:19 AM
ResultBuilderの造りとハックなら解説できる
3:19 AM
起きる問題についてはケースを並べてぶん投げるスタイルになっちゃうけど
Avatar
オッ?あんまり内部的な理解はしてなくて外側から試行錯誤しているだけではある
Avatar
それでもいいのなら
Avatar
よさそう〜!
Avatar
ええんかw
Avatar
その場で議論して上手い答えが出たら嬉しいね、というか。
Avatar
GWに資料準備する感じかね
Avatar
そうですね、時期的にはそのあたりですかね
Avatar
RBの機能紹介→型推論の作り方紹介→ハックの紹介→じゃあ実際に使ってどうなんの→ジェネリックでしぬ!!→.潜航タイム
🙏 1
3:22 AM
こんな感じですかね
Avatar
よさそうに見える
3:27 AM
ジェネリックでしぬ!も、呼び出し元から推論できず死ぬパターンと返り値から推論できず死ぬパターンがあって
3:27 AM
色んなところで死ぬので面白い
Avatar
お、次回のハンドリングワイなので調整します
🙏 1
3:38 AM
かていくんとたるのんさんとあいすまんさん、ネタ提供マジ感謝ですー (edited)
Avatar
つぎのわいわいは 2021/05/28(金) です
🙋‍♀️ 2
2:18 PM
connpass はもうちょいで公開します
Avatar
ハンドリングありがとうございます
swift 1
Avatar
公開忘れてた… 明日やるぞ
12:10 PM
明日も忘れてそうだったら誰か「オラっサボるな働け」とメンションお願いします (edited)
✅ 1
Avatar
次の次のわいわいぜったいこれやる https://twitter.com/maxdesiatov/status/1386385200561721344
"With libswift it is possible to add SIL optimization passes written in Swift. It allows to gradually migrate the SIL optimizer from C++ to Swift." 👏🎉🚀 https://t.co/9l1TI3NvYR
Avatar
omochimetaru 4/25/2021 7:29 PM
これ面白いねえ
7:29 PM
C++の型をSwiftの型とtoll-free bridgeしてる
👀 3
Avatar
https://iosdiscord.connpass.com/event/211402 そういや次回は公開してます
# わいわいswiftc #28 オンライン 昨今の社会的情勢を鑑みて、当面はオンライン開催を致します。 swift-developers-japanのDiscordサーバー上でオンライン配信を行う予定です。 Discordサーバーへはこちらのリンクから参加いただけます。 https://discord.gg/7RKD8dxBsm 本サーバーについて詳しく知りたい方は、下記をご覧ください。 https://medium.com/swift-column/discord-ios-20d586e373c0 # わいわいswiftc わいわいswiftcは、Swift Comp...
Avatar
5/28の配信できない可能性高いので代わりに配信業やってくれる人探してます
Avatar
( ゚д゚) ガタッ   /   ヾ __L| / ̄ ̄ ̄/_   \/   /
10:29 AM
めっちゃずれてる辛い とりあえずやれます宣言
Avatar
ありがとう〜
Avatar
途中で飽きたマリカ配信のインフラが生きる日が来るとは
Avatar
自前のWindows機で配信準備進めてるのですが、なんかネットが怪しいな (edited)
2:57 AM
まあいけるやろ
2:58 AM
もしむりぽだったら録画であとから公開にします (edited)
Avatar
他できそうな人居ます?
Avatar
ああ、わかった。ゲーム用のVPNが悪さしてた・・・(かも) 6時位に再び手が空くのでその時にもう一度テストしてみます (edited)
Avatar
freddi(配信用) 5/28/2021 9:53 AM
url deleted test haisin (edited)
9:53 AM
サムネ消したい
Avatar
サムネはセットしなければ表示されないはず
Avatar
freddi(配信用) 5/28/2021 9:57 AM
お、けせました
9:57 AM
感謝です
9:58 AM
url deleted (edited)
9:58 AM
スケジュール配信なるものを初めて使ってみる
Avatar
waiwaiはゆるく始まるからスケジュール配信しないほうがいい
Avatar
freddi(配信用) 5/28/2021 9:59 AM
お、了解です。確かスケジュール前からの開始も行けるはず
9:59 AM
いやむりか
9:59 AM
じゃああとでつくりなおします!
Avatar
帰宅間に合った
Avatar
freddi(配信用) 5/28/2021 10:02 AM
おお、おつかれさまです
Avatar
Avatar
freddi
ああ、わかった。ゲーム用のVPNが悪さしてた・・・(かも) 6時位に再び手が空くのでその時にもう一度テストしてみます (edited)
freddi(配信用) 5/28/2021 10:04 AM
結局これげーむようのVPNが悪いだけなようでした、おさがわせしやした
Avatar
今日の配信場所です。まだ配信開始してませんが
Avatar
yutailang0119 5/28/2021 10:28 AM
Youtubeで見てる
10:29 AM
聞こえてる〜
10:29 AM
音をiPadから出したいから、Youtube
10:31 AM
流石にdiscに書く
10:36 AM
func a() -> some View ってやるときに @VIewBuilder つける (edited)
Avatar
@swift-5.4.3 func f(_: Never) -> Int {}
Avatar
no output
Avatar
@swift-5.4.3 func f(a: Never) -> Int {} (edited)
Avatar
no output
Avatar
@swift-5.4.3 @swift-5.3.3 struct Container<T> { func map<T, U>(_ transformer: (T) -> U) -> Container<U> { return .init() } } let n = Container<Never>() let u: Container<Int> = n.map { _ in } (edited)
Avatar
exit status: 1 with stderr:<stdin>:6:25: error: cannot find 'c' in scope let u: Container<Int> = c.map { _ in } ^
Avatar
exit status: 1 with stderr:<stdin>:6:31: error: cannot convert value of type '()' to closure result type 'Int' let u: Container<Int> = n.map { _ in } ^~~~~~~~ <stdin>:6:33: error: unable to infer type of a closure parameter '_' in the current context let u: Container<Int> = n.map { _ in } ^
Avatar
Contribute to sidepelican/waiwaiswiftc development by creating an account on GitHub.
Avatar
if letに対応するものでは?
Avatar
Introduce two new function builder entry points: buildFinalResult, to build the final result of the function builder transformation in the synthesized return buildOptional, as an alternative name ...
10:52 AM
buildOptional, as an alternative name for buildIf that matches up with the proposal
😮 1
Avatar
移動中だからROM
Avatar
Formalizing Swift generics as a term rewriting system Previously I wrote about how the full generality of the Swift generic system is undecidable. The basic idea is that "finitely-presented monoids" can be written as a Swift protocol where the "word problem" on the monoid reduces to proving an equivalence between two types. Since the word proble...
Avatar
Abstracts actions to be performed in RxSwift. Contribute to RxSwiftCommunity/Action development by creating an account on GitHub.
Avatar
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
11:51 AM
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
11:56 AM
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - apple/swift-evolution
Avatar
ライブで見てるが食べたら行きます
Avatar
そろそろNext登壇に移りますー
Avatar
Hello Swift community, The review of SE-0295 "Codable synthesis for enums with associated values"" begins now and runs through Dec 11, 2020. Reviews are an important part of the Swift evolution process. All review feedback should be either on this forum thread or, if you would like to keep your feedback private, directly to the review manager....
12:02 PM
enum Command: Codable { case load(String) case store(key: String, Int) } would encoded to { "load": { "_0": "MyKey" } } and { "store": { "key": "MyKey", "_1": 42 } }
Avatar
Introduce if/switch/for expression in swift. Contribute to tarunon/Builder development by creating an account on GitHub.
Avatar
888888
12:47 PM
これLiveで見てると30秒ぐらいズレるなw
Avatar
@giginet 早送り再生すると目いっぱいまで追いつくよ
12:54 PM
Either< Int, Either< String, Int > > (edited)
Avatar
yutailang0119 5/28/2021 12:56 PM
途中だけど、お先に
👋 5
Avatar
お先に落ちます!おつかれさまでした
👋 3
Avatar
Create own FunctionBuilder from Protocol. Contribute to tarunon/Buildable development by creating an account on GitHub.
Avatar
これも貼っときます。 https://github.com/koher/dictionary-builder
Helps to make dictionary instances using Function Builder - koher/dictionary-builder
1:13 PM
let dictionary: [String: Int] = .init { [ "a": 2, "b": 3, ] if isFoo { ["c": 5] } }
Avatar
omochimetaru 5/28/2021 1:13 PM
enum Command: Codable { case load(key: String) case store(key: String, value: Int) } would be encoded to { "load": { "key": "MyKey" } } and { "store": { "key": "MyKey", "value": 42 } }
Avatar
延長線気味+トークも終わったので、配信切りますー
Avatar
ありがとうございました〜
Avatar
こちらこそ!
Avatar
omochimetaru 5/28/2021 1:20 PM
https://github.com/apple/swift/pull/37058 ↑これのC++ Bridge話したいけど、 有線回線が6月末に来るので7月の会ぐらい
With libswift it is possible to add SIL optimization passes written in Swift. It allows to gradually migrate the SIL optimizer from C++ to Swift. libswift is a Swift package, parallel to the lib di...
Avatar
1:20 PM
了解です、次回セッティングします
Avatar
This is another attempt to getting tuples to conform to these protocols. I made some very different choices when implementing this one to prevent the usage of assembly to create these conformance d...
Avatar
@omochimetaru san https://discord.com/channels/291054398077927425/380329942505750529/847826647201742908 これ7月中旬前提ですすめておきますねー
Avatar

日時

7/DD (N曜日)
  • [ ] 登壇予定者全員が参加できるか、登壇準備ができるか確認する
  • [ ] 参加者が被りそうな勉強会とぶつかっていないか、イベントカレンダーで確認する https://connpass.com/calendar/
  • [ ] 曜日に制限はないが、平日の夜が良い。金曜日であると望ましい

場所

Discord

connpass

わいわいswiftc #00 - connpass

コンテンツ

~
Avatar
Avatar
freddi
@omochimetaru san https://discord.com/channels/291054398077927425/380329942505750529/847826647201742908 これ7月中旬前提ですすめておきますねー
omochimetaru 6/1/2021 3:51 AM
了解!
Avatar
そういえばomochiさん このPRについてどういったこと話します?C++ Bridge オンリーですかね https://discord.com/channels/291054398077927425/380329942505750529/847826647201742908 実際にこいつでOptimizer作ってみたみたいなことは僕話せそうなので、もしそこまで話さないなら後半戦としてそれについて僕が話そうかなあって思いました (edited)
Avatar
omochimetaru 6/4/2021 1:45 AM
optimizerの詳細は踏み込まないつもりなので、ありだと思います
🙇‍♂️ 1
Avatar
お、ではその前半後半の構成で行きますねー
Avatar
omochimetaru 6/17/2021 6:11 PM
With libswift it is possible to add SIL optimization passes written in Swift. It allows to gradually migrate the SIL optimizer from C++ to Swift. For details see libswift/README.md and the PR, which introduced the initial version. libswift is now enabled in the CI, which means it's now possible to contribute to libswift. If you have any quest...
Avatar
めでたい
Avatar
omochimetaru 6/18/2021 3:15 AM
これパフォーマンスどうなんだろうね。
3:15 AM
optimizerって計算バウンドなので少しでも高速化したいけど、ブリッジしたSwiftでいけんのか
Avatar
なんかメモリ(ARC)周りで工夫してるっていう記述があったはず
3:26 AM
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
3:26 AM
Memory is managed on the C++ side. On the Swift side, SIL objects are treated as "immortal" objects, which avoids (most of) ARC overhead. ARC runtime functions are still being called, but no atomic reference counting operations are done. In future we could add a compiler feature to mark classes as immortal to avoid the runtime calls at all.
Avatar
omochimetaru 6/18/2021 3:26 AM
うん、カウンタ操作はスキップされる
3:27 AM
In future we could add a compiler feature to mark classes as immortal to avoid the runtime calls at all.
これは興味深いね。
3:27 AM
ただC++側での値型が使えないからなあ
3:28 AM
全部ヒープに乗せてポインタで取り回す事になると思う。
Avatar
これ試したいな
Avatar
omochimetaru 6/18/2021 3:28 AM
引数渡しだけはスタックアドレスを渡せるけどね
Avatar
とりあえずはC++ interopは使わずにC APIを露出させてブリッジしてるのか
Avatar
omochimetaru 6/18/2021 3:32 AM
Swiftからはカウンタが無効化されたクラスポインタに見えてる (edited)
Avatar
https://discord.com/channels/291054398077927425/380329942505750529/849081149681958922 @omochimetaru san ネット回線のご調子はいかかがです?そろそろ↑の計画始めようかと思いますが大丈夫ですか
Avatar
omochimetaru 7/8/2021 3:12 AM
大丈夫!週末に準備しようと思っとる
🙏 1
Avatar
よっしゃ!じゃ僕も準備するかー 日程は https://connpass.com/calendar/ を見た結果他のiOS/Swift勉強会にかぶっていない 7/23金にしようと思っています
connpassに登録されているIT勉強会のカレンダーです
3:17 AM
ご予定の方空いてますか?
Avatar
omochimetaru 7/8/2021 3:18 AM
おーけー
Avatar
ありがとうございます、ではConnpassを今日中に作成しておきますね。登壇タイトルもあれば教えて下さい。なければ仮題つけます
Avatar
7/23そういえば祝日だった
3:51 AM
7/16 or 7/30 に変更しようかな、どちらがいいです?
Avatar
omochimetaru 7/8/2021 3:52 AM
元々16のつもりだったけど、仕事忙しいから30が助かる
Avatar
30で!
Avatar
omochimetaru 7/8/2021 3:53 AM
タイトル「今から使えるSwiftとC++の新しいinterop手法」 (edited)
Avatar
りょかいです
3:53 AM
わいは「Swiftでoptimizerを書こう」
3:53 AM
でいくか
Avatar
omochimetaru 7/8/2021 3:53 AM
ちょっと変えた
Avatar
30配信無理なんでお願いしますね
Avatar
まかせてくだせえ
Avatar
omochimetaru 7/8/2021 3:54 AM
Avatar
最近勉強会の配信を2回やったので知見がついてきたぞ
Avatar
@omochimetaru san https://iosdiscord.connpass.com/event/218858/preview/ こんぱすつくりました、これで良ければもう公開します〜
connpassはイベントやIT勉強会の開催、さらに参加者の集客に便利です。コミュニティやグループの運営やイベントの検索、事前決済もできます。
Avatar
omochimetaru 7/9/2021 4:55 AM
みました オッケーです (edited)
Avatar
arigatougozaimasu!
5:00 AM
公開DONE
Avatar
omochimetaru 7/9/2021 5:00 AM
ありがと〜
Avatar
こちらこそご登壇ありがとうございます〜 (edited)
Avatar
omochimetaru 7/30/2021 7:31 AM
てすと
Avatar
omochimetaru 7/30/2021 9:46 AM
1930ギリギリに来ます。
👍 1
Avatar
freddi(Recording) 7/30/2021 9:47 AM
recordingアカウントのメアドとパスワード忘れたので再入場 😢 (edited)
Avatar
freddi(Recording) 7/30/2021 9:57 AM
https://t.co/pCbOO94ltj #わいわいswiftc 今日の配信部屋です
10:22 AM
資料とソース
Avatar
今日はrom専なのでyoutubeでみてます
👌 1
Avatar
YouTubeで見てます
👌 1
Avatar
Kishikawa Katsumi 7/30/2021 11:08 AM
type member must not be named 'Type', since it would conflict with the 'foo.Type' expression 専用のエラーメッセージあるわ
Avatar
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
Avatar
(ちょいと席外してます
Avatar
見始めた
Avatar
わいわい
11:53 AM
もどってきた
Avatar
- (edited)
Avatar
「あんまり型がいないな」
Avatar
freddi無理しないで
12:23 PM
👏
Avatar
Kishikawa Katsumi 7/30/2021 12:23 PM
見た感じ結構C++むきだしっぽかったけどあれはSwiftだからContributeしやすい、って目的にかなってるんだろうか。
Avatar
しばらくは、Swiftで書けると思って書き始めても、足りないAPIがあって結局C++ブリッジを書くことになりそう…
Avatar
siri草
Avatar
new build sysytemのエラーメッセージよく見るけど全く信用してない
12:51 PM
現時点で何も使えなくてウケる
12:51 PM
さっき家庭君が言ってたとおりになってるなw
Avatar
Avatar
Yuta Saito
しばらくは、Swiftで書けると思って書き始めても、足りないAPIがあって結局C++ブリッジを書くことになりそう…
予言してしまった
fujiki_kusa 1
Avatar
1時間もかからず予言あたっててうける
Avatar
最近のCにはboolなかったっけと思ったけど、一応C99からはあるみたい(最近とは……)
1:05 PM
libswiftに切り出されてるからビルドが爆速で良い……
Avatar
非常にわかりやすかった 👏
🙇‍♂️ 1
Avatar
ありがとうございました
Avatar
👏
Avatar
✌️✌️
Avatar
ありがとうございました!
1:31 PM
[運営からのお知らせ] 登壇ネタ募集中です
Avatar
次来月くらいやろうかな、どなたかネタありますか
Avatar
そういや、WWDC21で発表されたARCまわりの最適化のやつでネタがあるので来月やるか (edited)
👀 2
Avatar
面白そうなネタ足しておきました
Avatar
omochimetaru 8/6/2021 1:45 PM
それも気になるな あと非同期の仕様が固まったらランタイム読みたいと思っている
10:46 AM
Double.description の実装がめっちゃ凝ってた
Avatar
↓で、どういう条件で Double.description は丸めた文字列作ってるんだろう?という話から。 $ swift Welcome to Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28). Type :help for assistance. 1> 0.1 $R0: Double = 0.10000000000000001 2> print(0.1) 0.1 3> print(0.1 + 0.2) 0.30000000000000004
Avatar
以前、YamsでFloat80サポートと共にFloatingPointの文字列化をSwiftDtoaに置き換えようとしてやめたことを思い出した。 https://github.com/jpsim/Yams/pull/151
Use SwiftDtoa.(h|cpp) for formatting FloatingPoint into String Support Float80 as ScalarConstructible and ScalarRepresentable On Linux, Supporting Float80 requires Swift 4.2+, since swift_decompos...
Avatar
これは10進数で見栄えを良くするために内部の2進数表現より遠い値に寄せる実装だから、シリアライズのライブラリだと微妙そう
11:21 AM
あれ?SwiftDtoaのほうが桁が多く出る?
11:23 AM
  • SR-106: New floating-point description implementation This replaces the current implementation of description and
debugDescription for the standard floating-point types with a new form...
11:23 AM
* Always Accurate. Converting the decimal form back to binary (using an accurate algorithm such as Clinger's) will always yield exactly the original binary value. For the IEEE 754 formats, the round-trip will produce exactly the same bit pattern in memory. This is an essential requirement for JSON serialization, debugging, and logging.
11:24 AM
むしろAccurateなのか。誤解してそう。
Avatar
あー、でも 0.1 に丸められても 0.1 というリテラルから元の値が復元されるなら問題ないのかな?
Avatar
ちゃんとFloat80のテストを通そうとすると、標準の手段だとダメだったからSwiftDtoaを使おうとしたと記憶。
Avatar
Avatar
norio_nomura
ちゃんとFloat80のテストを通そうとすると、標準の手段だとダメだったからSwiftDtoaを使おうとしたと記憶。
むしろ精度のためなんですね。
Avatar
Avatar
koher
あー、でも 0.1 に丸められても 0.1 というリテラルから元の値が復元されるなら問題ないのかな?
たしかに・・・?
11:30 AM
$ swift Welcome to Apple Swift version 5.4.2 (swiftlang-1205.0.28.2 clang-1205.0.19.57). Type :help for assistance. 1> 0.1 $R0: Double = 0.10000000000000001 2> print(0.1) 0.1 3> 0.10000000000000001 $R1: Double = 0.10000000000000001 4> print(0.10000000000000001) 0.1
11:33 AM
難しいな。 0.10000000000000001 を2進表現した時の値は 十進でいえば 0.10000000000000001 のほうが 0.1 より近いんじゃあないんか。 (edited)
Avatar
フックトリックでみんな幸せになれそうだし、次回仕組み解説するか https://github.com/waiwai-swiftc/waiwai-swiftc-ideas/issues/8
Swiftにはランタイム関数を差し替える機能がある。 これにより、新しいコンパイラでビルドした実行ファイルを、 古いマシン環境で実行した場合でも、 そのマシンに同根されている古いランタイムの挙動を新しいものに変える事で、 実行ファイルの後方互換性をABIレベルで実現している。 この差し替え関数は__swift51_hooksというセクションに登録されていて、 実行時にロードされる。 このあた...
🙏🏻 1
Avatar
omochimetaru 8/27/2021 9:31 AM
おお
9:31 AM
恩恵がめっちゃでかいタイミングだしイイネ
9:32 AM
これまでは、一般人には関係なかった
Avatar
アプリサイズがちょっと小さくなって嬉しいねくらいだったのが一気に大活躍
Avatar
omochimetaru 8/27/2021 9:33 AM
アツい
Avatar
お、次回セッティングします!
🙏 1
7:05 PM

日時

MM/DD (N曜日)
  • [ ] 登壇予定者全員が参加できるか、登壇準備ができるか確認する
  • [ ] 参加者が被りそうな勉強会とぶつかっていないか、イベントカレンダーで確認する https://connpass.com/calendar/
  • [ ] 曜日に制限はないが、平日の夜が良い。金曜日であると望ましい

場所

connpass

わいわいswiftc #00 - connpass

コンテンツ

  • @account title
~
Avatar
Avatar
Yuta Saito
フックトリックでみんな幸せになれそうだし、次回仕組み解説するか https://github.com/waiwai-swiftc/waiwai-swiftc-ideas/issues/8
登壇するとしたらいつがいいー?9or10月で
Avatar
9月でー
Avatar
Avatar
Yuta Saito
9月でー
ほい!余裕もって9/24にしますかね
5:26 AM
9/17iosdcなので
Avatar
ではそれでお願いします
5:26 AM
🙏
Avatar
Avatar
Yuta Saito
ではそれでお願いします
https://iosdiscord.connpass.com/event/223396/preview/ もうpreview作っておきました。タイトルは仮で「async/awaitのback deploymentとフックトリックについて(仮」にしています。OKであれば公開しますー
connpassはイベントやIT勉強会の開催、さらに参加者の集客に便利です。コミュニティやグループの運営やイベントの検索、事前決済もできます。
5:35 AM
concurrencyの のほうがいいか
Avatar
いい感じに変えておきます
Avatar
done
Avatar
優勝
5:39 AM
15時に公開します
Avatar
hoi
Avatar
done
Avatar
そういえば、わいわい参加しずらい(抵抗がある)という声があったので、connpassの参加者枠の名前を「ガチ勢」から「わいわい勢」にするというちょっとした施策をしてみました (edited)
👍🏻 4
10:47 AM
あと記念すべき30回目!
Avatar
例によって月末金曜日は配信できないので代打お願いします
Avatar
ワイやります
Avatar
配信/アーカイブがそれぞれの撮影者のチャンネルに分散してるので、わいわいswiftc用のチャンネル作ってまとめたい欲 (edited)
Avatar
動画の移管はできないんですよね
5:02 AM
一応ブランドチャンネルはあってひらりちゃんが昔に作ってくれた
Avatar
あーやはり移管機能ないのかあ...
5:12 AM
次の生放送からブランドチャンネル使いたいな、使ってもいいですか?
Avatar
どうぞ
5:13 AM
招待できるかな、やってみます
Avatar
ありがてえです
5:13 AM
招待、放送1週間前までにやってくださればOKですよー (edited)
Avatar
gmail
Avatar
bohemianyuki@gmail.com
Avatar
招待しました
Avatar
done ありがとうございましたー!
Avatar
本田さんがSwiftに興味持ってくださっているので、このswift-developer-discordやわいわいswiftcを国内最高峰のswiftエンジニアがいる場として紹介してみるのはどうか、ってちょっと @koher san と話して思いました https://twitter.com/kskgroup2017/status/1435460111498055685
プログラミング言語Swiftを学びたいと思いつつ、まだ決心がついていません。Swiftを教えて夢中にさせられる自信があるというプロの方と繋がりたいです。またはそういうエンジニアを知ってるという方がいれば教えてください🙏
Retweets
226
Likes
1618
👍 2
Avatar
Swiftの普及にはポジティブに働くかもしれないですが、わいわいは技術が好きな人が技術について話す場だと思うので、そういう風に紹介されるのは抵抗がある人がいるかもしれないなと思い。
👍 1
Avatar
わいわいswiftcはすごい人たちの集まりなので、紹介して逆にチープな感じになったらもったいない気もします…。 見せ方にもよると思いますが!
1:48 PM
これもどれだけ本気かわからないですよね…。 私は雑なノリでリプしちゃいましたがw (edited)
👍 1
Avatar
プロの方と繋がりたい
これがどういう意図含んでるかわからんですけど、このdiscordコミュを紹介するのはいいんじゃないかなと思います。出入り自由なコミュですし。 若干の懸念で、本田さん目当てに変なのが沸く可能性がありそうというぐらい?
Avatar
そもそもこれから勉強します!(第一言語swiftです!)みたいな人にわいわいswiftcを紹介はディープすぎるw
1:54 PM
Discord紹介して過去の質問検索できるし答えてくれる人が居るから活用してネぐらいで良いと思います。変なの出たらDiscordならBANできるから治安維持も完全publicよりは楽
Avatar
なるほど。僕が思ったのは「わいわいswiftc」に参加して学ぶということではなく、玉石混交のたくさんのリプライの中から知識がない状態で判断するのは難しいだろうなと思ったので、Swiftについて国内で一番詳しいエンジニアたちはここにいますよという紹介くらいはありかなと。
👍 2
Avatar
良いと思います
Avatar
こういう形でツイートしておきました。 https://twitter.com/koher/status/1435608302046437377
@kskgroup2017 僕の知る限り、Swiftに関して ・国内で一番詳しいエンジニアが集う場: "わいわいswiftc" https://t.co/82QKogoXhW ・国内最大&活発なオンラインコミュニティ: "swift-developers-japan" https://t.co/aOvpWqLI6r ・国内最大のカンファレンス: @iosdcjp です。ご参考になれば。
👍 2
Avatar
おお、ありがとうございます。
🙂 1
Avatar
Mac アプリを作りたかったようです https://twitter.com/kskgroup2017/status/1435706583736938497?s=19
FlutterやPythonもオススメなんですね!あとJavaScript も。 今回はMacで自分が欲しいアプリを作りたいと思ってSwift がいいかなと思ってたけど、将来性のことも考えると選択肢がかなりありますね🤔
Likes
798
12:51 AM
プログラミング言語の大文字小文字をちゃんと書いているところに好感が持てますw
👍 2
Avatar
Discord の macOS native の方にシェアしたら盛り上がってます。
Avatar
おおw
Avatar
キャンセル増えたなって思ったらiosdcのafterイベントと被ってしまった・・・w
2:49 PM
申し訳ない・・・
Avatar
一昨日connpass開いて被っていた(申し込んでいた)ことに気がつき「しまった」と思いました。申し訳ない...mm会社のカレンダーしか見てなかった.. (edited)
Avatar
いえいえwww大丈夫ですよ〜
🙏🏻 1
6:31 AM
そしてkeisukehonda氏, Flutterを学ぶことになりそうですね
Avatar
なるほど。それは残念。
Avatar
Flutterでいこうと思います。 https://t.co/dS7iBwG4qO
Likes
356
sonna 1
😢 2
Avatar
Flutter Swift がほしいですよね・・・。それなら僕も Flutter 使いそう。
Avatar
omochimetaru 9/15/2021 6:46 AM
あららw
Avatar
FlutterってMacアプリ作れるんでしたっけ?
Avatar
Kishikawa Katsumi 9/15/2021 12:23 PM
Flutter Desktopってのがそうだと思う
👀 1
Avatar
作れますよ。 Windowsのアプリが今作れるようになってるかなる段階だった記憶
Avatar
今日ですそういや
Avatar
そうだ今日だ
Avatar
今回参加者多い気がする
Avatar
月末金曜日、今回だけたまたま参加できそう
Avatar
おお
2:36 AM
なるべくいつめんメンバーは抜かしたくないので次からすこし考慮に入れておくかーっておもってます (edited)
Avatar
末金曜日、僕だけじゃなくて普通にそも会社で納会の人結構多いんじゃ?と思ったり。今でもオンラインでやるし、平時なら尚更
Avatar
のうかいなるほど
2:37 AM
中旬ぐらいがよさそうですね
👍 1
Avatar
今日なのか。完全に忘れてた。
Avatar
freddi(Recording) 9/24/2021 9:33 AM
運営慣れ(の思い込み)しすぎて前日の連絡とかしなくなってしまったのはまずい;;
9:34 AM
次からちゃんと連絡します 🙏
9:34 AM
てか10月忙しくなるので年末まで運営誰かに任せたいかも
Avatar
こんばんわ(聞き専ですがよろしくおねがいしあす
🐱 2
Avatar
Avatar
11:41 AM
↑assertが2回書いてある!
Avatar
謎の分岐の痕跡が見えますね
Avatar
以前Dougさんが変換候補リスト的なものを出した時はURLSession.dataTaskがなかったんですよね... https://github.com/DougGregor/swift-concurrency-objc/pull/1 https://forums.swift.org/t/concurrency-interoperability-with-objective-c/41616/7 (edited)
Avatar
concurrencyをバックデプロイしてもiOS 13+がターゲットになるのは、なんでなんでしょう。
Avatar
Avatar
r_plus
concurrencyをバックデプロイしてもiOS 13+がターゲットになるのは、なんでなんでしょう。
一瞬家庭くんが答えてましたが、SwiftのABIStabilityがiOS12の途中で入ったけれど、バックデプロイはABIStabilityを前提に考えられているためにiOS12の初期のバージョンには入れられないから、という感じでしたね
🙏 2
Avatar
#define COMPATIBILITY_OVERRIDE_SECTION_NAME_swiftRuntime "__swift54_hooks" #define COMPATIBILITY_OVERRIDE_SECTION_NAME_swift_Concurrency "__s_async_hook"
Avatar
盛り上がり次第ですが21:45くらいをめどに配信を終えます
Avatar
@ katei kun connpassに資料登録しておきました、ではおやすみなさい
🙏 1
Avatar
omochimetaru 9/25/2021 9:25 AM
@Yuta Saito ランタイム関数の差分って、リリースタグが切ってあるのだから、それのdiffを見れば判断できると思った $ git diff swift-5.3-RELEASE swift-5.4-RELEASE -- include/swift/Runtime/RuntimeFunctions.def
9:26 AM
あ、ファイル間違えた
9:27 AM
OverrideSectionに含まれないランタイム関数も結構あるんだな
9:30 AM
[omochi@omochi-iMacPro swift (main=)]$ git diff swift-5.3-RELEASE swift-5.4-RELEASE -- stdlib/public/CompatibilityOverride/CompatibilityOverrideRuntime.def [omochi@omochi-iMacPro swift (main=)]$ git diff swift-5.2-RELEASE swift-5.3-RELEASE -- stdlib/public/CompatibilityOverride/CompatibilityOverrideRuntime.def [omochi@omochi-iMacPro swift (main=)]$ git diff swift-5.1-RELEASE swift-5.2-RELEASE -- stdlib/public/CompatibilityOverride/CompatibilityOverrideRuntime.def [omochi@omochi-iMacPro swift (main=)]$ git diff swift-5.0-RELEASE swift-5.1-RELEASE -- stdlib/public/CompatibilityOverride/CompatibilityOverrideRuntime.def [omochi@omochi-iMacPro swift (main=)]$ git diff swift-4.2-RELEASE swift-5.0-RELEASE -- stdlib/public/CompatibilityOverride/CompatibilityOverrideRuntime.def [omochi@omochi-iMacPro swift (main=)]$ git diff swift-4.2-RELEASE [DRELEASE swift-5.0-RELEASE -- stdlib/public/CompatibilityOverride/CompatibilityOverrideRuntime.def [omochi@omochi-iMacPro swift (main=)]$ git diff swift-4.1-RELEASE swift-4.2-RELEASE -- stdlib/public/CompatibilityOverride/CompatibilityOverrideRuntime.def [omochi@omochi-iMacPro swift (main=)]$ git diff swift-4.0-RELEASE swift-4.2-RELEASE -- stdlib/public/CompatibilityOverride/CompatibilityOverrideRuntime.def [omochi@omochi-iMacPro swift (main=)]$ git diff swift-3.0-RELEASE swift-4.2-RELEASE -- stdlib/public/CompatibilityOverride/CompatibilityOverrideRuntime.def [omochi@omochi-iMacPro swift (main=)]$ git diff swift-3.0-RELEASE swift-5.0-RELEASE -- stdlib/public/CompatibilityOverride/CompatibilityOverrideRuntime.def
9:30 AM
全くdiffが出ない・・・
Avatar
ファイル名変わってた
9:30 AM
5.4以前は stdlib/public/CompatibilityOverride/CompatibilityOverride.def っぽい
Avatar
omochimetaru 9/25/2021 9:31 AM
おー
9:32 AM
↑ディレクトリ名も違う
9:32 AM
swift/stdlib/public/runtime/CompatibilityOverride.def
9:34 AM
こうだ!
9:35 AM
本質的な変更なし
Avatar
omochimetaru 9/25/2021 9:37 AM
5.3..5.4はgetTypeByMangledNameの型とconventionがちょっと変わってる -OVERRIDE_METADATALOOKUP(getTypeByMangledName, TypeInfo, , SWIFT_CC(swift), swift::, +OVERRIDE_METADATALOOKUP(getTypeByMangledName, TypeLookupErrorOr<TypeInfo>, , SWIFT_CC(swift), swift::, (MetadataRequest request, StringRef typeName, const void * const *arguments,
Avatar
おー
Avatar
omochimetaru 9/25/2021 9:38 AM
5.4..5.5はどうやって調べるん?ファイル名が変わってしまうと
Avatar
git show swift-5.4-RELEASE:stdlib/public/runtime/CompatibilityOverride.def でタグ時点のファイルを抽出してdiff取りました
Avatar
omochimetaru 9/25/2021 9:38 AM
なるほど。
9:40 AM
[omochi@omochi-iMacPro swift (main=)]$ git diff swift-5.4-RELEASE:stdlib/public/runtime/CompatibilityOverride.def swift-5.5-RELEASE:stdlib/public/CompatibilityOverride/CompatibilityOverrideRuntime.def diff --git a/stdlib/public/runtime/CompatibilityOverride.def b/stdlib/public/CompatibilityOverride/CompatibilityOverrideRuntime.def index 1489ee07e1e..3c265c1e335 100644 --- a/stdlib/public/runtime/CompatibilityOverride.def +++ b/stdlib/public/CompatibilityOverride/CompatibilityOverrideRuntime.def @@ -1,4 +1,4 @@ -//===--- CompatibilityOverrides.def - Compatibility Overrides Database -*- C++ -*-===// +//===--- CompatibilityOverridesRuntime.def - Overrides Database -*- C++ -*-===// // // This source file is part of the Swift.org open source project // @@ -15,12 +15,14 @@ // //===----------------------------------------------------------------------===// -/// #define OVERRIDE(name, ret, attrs, namespace, typedArgs, namedArgs) +/// #define OVERRIDE(name, ret, attrs, ccAttrs, namespace, typedArgs, namedArgs) /// Provides information about an overridable function. /// - name is the name of the function, without any leading swift_ or /// namespace. /// - ret is the return type of the function. /// - attrs is the attributes, if any, applied to the function definition. +/// - ccAttrs is the calling convention attributes, if any, applied to the +/// function definition and corresponding typedefs /// - namespace is the namespace, if any, the function is in, including a /// trailing :: /// - typedArgs is the argument list, including types, surrounded by @@ -34,8 +36,10 @@ /// and OVERRIDE_KEYPATH to get only those entries. // NOTE: this file is used to build the definition of OverrideSection in -// CompatibilityOverride.cpp, which is part of the ABI. Do not move or remove entries -// in this file after ABI stability. Additional entries can be added to the end. +// CompatibilityOverride.cpp, which is part of the ABI. Moving or removing +// entries in this file will break the ABI. Additional entries can be added to +// the end. ABI breaks or version-specific changes can be accommodated by +// changing the name of the override section in that file. #ifdef OVERRIDE # define OVERRIDE_METADATALOOKUP OVERRIDE
9:41 AM
gitでこういう書き方ができた。
Avatar
かしこい
Avatar
omochimetaru 9/25/2021 9:41 AM
5.4..5.5ではccattrsが追加されたのか
Avatar
ファイルの場所が変わったことで差分が出せずに事故った可能性がワンチャン…?流石にないか
Avatar
omochimetaru 9/25/2021 9:43 AM
ccattrsの追加がどう働いてるかよくわからんな
Avatar
関数の定義側は変わってないですよね
Avatar
omochimetaru 9/25/2021 9:44 AM
ああわかった
9:44 AM
これコメントを直しただけなんだ
Avatar
ああ
9:44 AM
ほんとだ
Avatar
omochimetaru 9/25/2021 9:44 AM
5.4のときにccattrsが追加されて、定義側でそれを渡すようになったが
9:44 AM
5.4のときにこのファイルのコメントで引用してるOVERRIDEの説明を更新し忘れただけ
9:44 AM
だから5.4..5.5は全く変わってない
9:46 AM
いや、ccattrsもっとまえからあるな
Avatar
git diff swift-5.1-RELEASE swift-5.2-RELEASE -- stdlib/public/runtime/CompatibilityOverride.def git diff swift-5.1-RELEASE swift-5.2-RELEASE -- stdlib/public/runtime/CompatibilityOverride.def git diff swift-5.2-RELEASE swift-5.3-RELEASE -- stdlib/public/runtime/CompatibilityOverride.def このへんもdiffゼロだけどセクション名更新されてますね
Avatar
omochimetaru 9/25/2021 9:46 AM
-OVERRIDE_METADATALOOKUP(getTypeByMangledNode, TypeInfo, , SWIFT_CC(swift), swift::, +OVERRIDE_METADATALOOKUP(getTypeByMangledNode, TypeLookupErrorOr<TypeInfo>, , SWIFT_CC(swift), swift::, 5.4のこれは本当に返り値が変わっただけか
9:47 AM
ほんとだ。
9:47 AM
5.0-5.1は差分ががっつりあるな
9:48 AM
OVERRIDE_METADATALOOKUP(getTypeByMangledNode, TypeLookupErrorOr<TypeInfo>, , SWIFT_CC(swift), swift::, (MetadataRequest request, Demangler &demangler, Demangle::NodePointer node, const void * const *arguments, SubstGenericParameterFn substGenericParam, SubstDependentWitnessTableFn substWitnessTable), (request, demangler, node, arguments, substGenericParam, substWitnessTable)) OVERRIDE_METADATALOOKUP(getTypeByMangledName, TypeLookupErrorOr<TypeInfo>, , SWIFT_CC(swift), swift::, (MetadataRequest request, StringRef typeName, const void * const *arguments, SubstGenericParameterFn substGenericParam, SubstDependentWitnessTableFn substWitnessTable), (request, typeName, arguments, substGenericParam, substWitnessTable))
9:49 AM
getTypeByMangledName、2つあるのって、オーバーロードできるの・・・?
9:49 AM
あ、MangledNodeだ。
9:49 AM
NodeとNameが違った (edited)
9:50 AM
5.0..5.1: 引数の変化あり 5.1..5.3: 変化なし 5.3..5.4: 返り値の変化あり 5.4..5.5: 変化なし
9:51 AM
変化がなかった5.2と5.3のときも、hooksの変更はあり。 同じく変化がない5.5でhooks名の変化がないのは変だけど実害無しか? (edited)
Avatar
ぽいですねぇ
Avatar
omochimetaru 9/25/2021 9:52 AM
一応質問書き込んでみます。
🙏 1
Avatar
Hello. I am interested in compatibility of Swift Standard Library. I noticed that runtime of swift 5.5 has loading override section name which is swift54_hooks. Shouldn't this be swift55_hooks ? This means that when swift 5.6 is released in the future, we will not be able to specify different hooks for 5.4 and 5.5 runtimes when we mod...
Avatar
いちおう:次回のネタも募集しています。年末までに1回はやりたいですね
2:17 AM
Avatar
イベント係の交代もやらなきゃね
Avatar
ですねー 僕は今年ちょいと忙しくなるので。。。。(といいつつ発表ネタを自分から投入してしまった (edited)
Avatar
一旦私預かりでもいいですよ。持ち回りにした方が健康だとは思うのでN回やったら次指名するとかやっても良いと思う
Avatar
おお、お願いしたいです 🙏 ありがとうございます
2:21 AM
まえ2回で持ちまわしてたので2回でやりますか (edited)
Avatar
リストへのリンクつけといた
iine 2
Avatar
omochimetaru 10/6/2021 7:49 AM
えっw
7:49 AM
いや、5.5はもう出たから、これからは5.6の作業なのはいいのか。
7:50 AM
このPRにフォーラムの質問の書き込み投げててみるか。
Avatar
omochimetaru 10/6/2021 7:54 AM
7:54 AM
じゃあやっぱ忘れただけか
Avatar
ぽいですね
Avatar
わいわいswiftcでDocCはちょっと話したい
5:16 AM
そろそろ準備する頃合い。 @freddi も話したいと言っていたけど、どうでしょ
Avatar
最近参加できてないから登壇駆動でなんか勉強するかな
👀 1
Avatar
なんか忙しくなりそうと思ったらならなそうなのでやるかあ
10:50 AM
11月でもいいですか 中旬
Avatar
無理な日にスタンプ押してもらって、一番参加者が多くなりそうな日に開催してみましょうか
10:51 AM
15の週で
10:54 AM
わいわい見たいよという人は、予定がある日参加不可能な日にスタンプを押してください、最も不参加の人が少ない日に開催しようと思います。 締め切りは10/23 00:00:00で。 🌙 11/15 🔥 11/16 ☔ 11/17 🌲 11/18 💰 11/19 (edited)
🌙 2
🔥 1
☔ 3
🌲 3
💰 3
tarunon pinned a message to this channel. 10/14/2021 10:54 AM
Avatar
@omochimetaru 参加不可能な日に押して、だけど、あってる? (edited)
Avatar
あれ?
10:56 AM
誤読した
Avatar

日時

11/XX (N曜日) https://discord.com/channels/291054398077927425/380329942505750529/898161850267615262 調整中 ~10/22
  • [ ] 登壇予定者全員が参加できるか、登壇準備ができるか確認する
  • [ ] 参加者が被りそうな勉強会とぶつかっていないか、イベントカレンダーで確認する https://connpass.com/calendar/
  • [ ] 曜日に制限はないが、平日の夜が良い。金曜日であると望ましい

場所

Discord

connpass

わいわいswiftc #00 - connpass

コンテンツ

  • @account title
~
Avatar
Avatar
tarunon
わいわい見たいよという人は、予定がある日参加不可能な日にスタンプを押してください、最も不参加の人が少ない日に開催しようと思います。 締め切りは10/23 00:00:00で。 🌙 11/15 🔥 11/16 ☔ 11/17 🌲 11/18 💰 11/19 (edited)
今の投票の感じだと11/16(火)に開催する感じになりそうですね。無理な日がある方は金曜日までに投票して下さい。 (edited)
Avatar
ネタが埋まってなかったら最近のSwift PMの話を持ち込もうかな。需要あるかな
Avatar
おっ
Avatar
需要はあります (edited)
Avatar
いいですね
Avatar
あるぞあるぞ
Avatar
そろそろまとめが欲しかった
Avatar
個人的にRegistryとPluginは整理して用途を確認したい
11:19 AM
じゃあやるか
👍 2
Avatar
SE-0321 と 0325 の事?
11:53 AM
RegistryはなんかXcodeのメニューで、すでにそれを使えるっぽいGUIをどこかで見かけたんだよな
11:54 AM
Registryとは別に Package Feeds なるものも提案があって、なんかやってんなと思っている
Avatar
Package Collection?の話かな swift-collectionとか検索したら引っ張ってこれるやつ
Avatar
あーCollectionもあった
Avatar
てんこ盛りだ
Avatar
Registry, Collection, Feed だ。 (edited)
12:05 PM
その3つが一気にフォーラムに投下されたときがあって
12:06 PM
とりあえずRegistryだけ先行して進んでる感じなんだったかな。
Avatar
なるほど、Feedってどんな機能か全然追えてないや
Avatar
@freddi @giginet @d_date 今一度開催日程候補の確認をお願いします https://discord.com/channels/291054398077927425/380329942505750529/898161850267615262 当日の発表順とわいわい次第では次回に回させて貰う場合がありますが、ご了承下さい
iosdc_arigatou 1
Avatar
おー
1:11 PM
3人も発表できる?
Avatar
埋まってるなら次回でもいいよ
Avatar
僕もどちらでも
Avatar
予定かくにんしました 問題ないです (edited)
9:47 PM
一回で3つやろうとしても多分終わらないのと、ネタはできるだけ次回にも取っておきたいので2回にした方がいいかと思います
9:48 PM
11月回終了後はスパン短めで12月初めに次の回やるのでもいいかと
9:49 PM
(ああ、できなかったら次回っていう感じで一応タイムテーブルに載せる手段もアリなのか ちゃんと読んでなかった (edited)
Avatar
spmは1ヶ月経ったら状況が進展しそうなのと単体でネタが盛りだくさんなのとで次(12月)にしましょうか すみませんがよろしくお願いします @d_date
👍 2
Avatar
了解です!
🙏 2
Avatar
よし、頑張って準備するぞ〜
Avatar
開催日ですが、投票の結果11/16(火)とします。
Avatar
こんな動きするのか…
5:58 AM
https://github.com/waiwai-swiftc/events/issues/18 @giginet @freddi 発表タイトル決まったら教えてください。connpassはドラフトにしてあるので決まり次第公開します。
日時 11/16(火) https://discord.com/channels/291054398077927425/380329942505750529/898161850267615262 ~10/22 調整終了 登壇予定者全員が参加できるか、登壇準備ができるか確認する 参加者が被りそうな勉強会とぶつかっていないか、イベントカレンダーで確認する https://connpass.com...
Avatar
わろた
Avatar
convert issue罠過ぎた
Avatar
ありがとうございます😊
6:38 AM
タイトルは「意外と知られてないXcode13の新しい参照カウンタ最適化オプションの挙動」でお願いします
6:44 AM
なげえな(タイトル (edited)
Avatar
わいわいDocCで (雑に決めました)
Avatar
僕の分はconnpassの下書きに書きました! @freddi 追記お願いしますー https://connpass.com/event/228881/edit/
connpassはイベントやIT勉強会の開催、さらに参加者の集客に便利です。コミュニティやグループの運営やイベントの検索、事前決済もできます。
7:10 AM
順番、勝手に僕の方最初にしたけどそれでよいだろうか(DocCの方が軽い話だから先に取り上げた方が良いのではと言う気持ち)
Avatar
wasureteta kakimasu!
7:10 AM
ok desuyo!
Avatar
書きましたー
Avatar
わいわいswiftc #31 オンライン を公開しました! https://t.co/7OYdMTlLEh #わいわいswiftc
👏 2
Avatar
前回のやつクローズ忘れてた
Avatar
https://techtrends.jp/ こちらのメディアの方から、わいわいswiftcの取り組みについて聞きたいと言うことで僕宛に取材依頼が来ました。 先方の方は一旦僕にお話を伺いたいと言うことなので引き受けようと思います。
TechTrendsでは、デジタルトランスフォメーションを支える技術の最新動向や、建設テック、MaaSやスマートシティなどの事例を中心にご紹介します。
10:28 AM
なんかあまり読者層とあってない感じはあるが 😅
Avatar
なんだそりゃw
10:28 AM
特定の勉強会について取材とか、初めて聞いた。
Avatar
記事のパラ見したけど絶対違うってw
Avatar
チラッと見たけどこういう記事になるんじゃないかな https://techtrends.jp/interview/nocodecamp/
昨今、ITツールの中でも「ノーコードツール」に注目が集まっている。ノーコードツールとは、コードを書かずともアプリケーショ
10:29 AM
まあ正直読者層あってなさそうだよって懸念は伝えようかと思う
Avatar
それはあれじゃん?わいわいswiftcじゃなくてギギニャンを取材したいんだよ、きっと
Avatar
僕は取材OKなんだけど、主宰みたいな顔して出るのも恐縮なので一応報告です 創設メンバーぐらいの扱いにしてもらいます
10:31 AM
まあ、記事になってると今後取り組みを紹介したいときにこれ読んでって言えば済むから楽なのではぐらいの感じ
tasikani 1
Avatar
はええ
Avatar
資料作り終わったけど今回100ページ超えなかった奇跡、そしていつもどおりに100ページ超えないゆえに不安 (edited)
1:45 PM
と思ったら前回は66ページだった(てかほかも60~99くらいで超えてなかったので幻覚だったかもしれない (edited)
Avatar
そういえば今日ですね。ためしにdiscordのevent機能を使ってみましょうか
3:30 AM
おー
3:32 AM
Interestedしたら通知が来るタイプっぽいですね。外部サイトに飛ばすこともできる
Avatar
よさそう
Avatar
誰でも使えるように権限を配ります
3:33 AM
強制通知とかもなさそうなので
Avatar
こんな機能あったんだ
Avatar
きくの忘れてた、たるのんさんに今回配信おまかせしていいです? (edited)
Avatar
おっけー
Avatar
ありがとうございます!!!!
Avatar
なんの権限に紐づいてるのかわからんけど、自分がイベント開始とかキャンセル選択できてしまうのは正しいのかわからない🤔
Avatar
スライドとかあげて準備しておこう
9:49 AM
イベント良さそう
Avatar
👀 1
10:29 AM
これでてきて便利ですね
👍 1
Avatar
今日隠れテーマがWWDC21だな
10:38 AM
でかい
Avatar
A Swift package for encoding and decoding Swift Symbol Graph files. - GitHub - apple/swift-docc-symbolkit: A Swift package for encoding and decoding Swift Symbol Graph files.
Avatar
配信はもっと面倒くさいゾ
👉 1
Avatar
You can gather type definitions from Swift source code. - GitHub - omochi/SwiftTypeReader: You can gather type definitions from Swift source code.
Avatar
Word (docx)
Avatar
Avatar
freddi
Word (docx)
同じこと思った
Avatar
おからみたい
Avatar
残りカスw
Avatar
あとでやることがすごい数になってる気がする
Avatar
Contribute to waiwai-swiftc/waiwai-docc development by creating an account on GitHub.
Avatar
Kishikawa Katsumi 11/16/2021 11:00 AM
ディレクトリ構造が手元にあるとわかりやすいと思うから自分で作ったのをアップロードしてみる
Avatar
@nanashiki san マイクはいりっぱなしかも
Avatar
これHTTPとして配信する機能まで備えてるからnio-sslのフェッチ&ビルドまで始まって長いな
Avatar
estimate timeも自分で算出して書くのか
Avatar
すみません。オフにしました🙏
Avatar
いえいえ、生活音っぽいのが聞こえたので 🙏
Avatar
電車内でした🙇‍♂️
11:13 AM
なんか複雑そうな分岐が
Avatar
https://github.com/apple/swift-docc/commit/8a61eef586f9a5f8ba636dafeb2c515b1c1d65db doccのobjcサポートが着々と進んでいるんだろうか。
👀 1
Avatar
yutailang0119 11/16/2021 11:28 AM
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - swift-evolution/0294-package-executable-targets.md at main · apple/swift-evolution
Avatar
A Swift package for parsing, building, editing, and analyzing Markdown documents. - swift-markdown/FormatCommand.swift at main · apple/swift-markdown
11:28 AM
フォーマッターがある?
Avatar
moduleとしてDLするか選ばせてくれ…Xcodeの肥大化がとまらない (edited)
Avatar
The Swift Package Manager doesn’t currently provide a way for a package manifest to declare that a target provides the main module for an executable. Instead, SwiftPM infers this by looking for a compilable source file with a base name of main at the top level of the target directory.
11:32 AM
あ〜 「 main.swift がある」に依存してビルドが制御されてるのがキモいという問題が解決するのか
Avatar
なるほどね
Avatar
@Section(title: "") にするとクラッシュした 💣
Avatar
yutailang0119 11/16/2021 11:45 AM
Package Feeds Proposal: SE-NNNN Authors: Boris Bügling, Yim Lee, Tom Doron Review Manager: TBD Status: Pitch Introduction This is a proposal for adding support for Package Feeds to SwiftPM. A package feed is a curated list of packages and associated metadata which makes it easier to discover an existing package for a particular use case. Sw...
Avatar
それ
11:46 AM
package-registryと-collectionと-feedの3つセットになってる
Avatar
The Package Manager for the Swift Programming Language - swift-package-manager/TargetSourcesBuilder.swift at 56dfe45f31f719e6b0f88daf4702fd9554a59162 · apple/swift-package-manager
Avatar
Documentation/MyPackage.docc
Avatar
The Package Manager for the Swift Programming Language - swift-package-manager/InitPackage.swift at 4fd4df4275627ebc91a0f288c38658738cd9fa0f · apple/swift-package-manager
11:57 AM
↑足すならここか
Avatar
.docc-build
Avatar
Firebase hostingならdeployするだけで動きますよ。
👀 2
Avatar
8888888888
Avatar
十数回ぶりに登壇したらメチャクチャ準備が大変でした
👏 2
Avatar
チケットなしで侵入したらご迷惑をかけてしまったw
Avatar
おかまいなく
12:07 PM
↑最強のコミュニティTierになっている
Avatar
もともと50人上限でイベント開催してるので、問題ないです
Avatar
謎のオプション
Avatar
関数の途中でもアグレッシブに変数を飛ばしていくのかな
Avatar
gitのdiffっぽい見た目にしてあげると良さそうだ
Avatar
For now simply run the pass before SemanticARCOpts. This will probably be called as a utility from within SemanticARCOpts so it can be iteratively applied after other ARC-related transformations. T...
12:33 PM
addMandatoryCopyPropagation
12:33 PM
addDiagnoseLifetimeIssues
12:33 PM
addCopyPropagation
Avatar
It is currently disabled so this commit is NFC. MandatoryCopyPropagation canonicalizes all all OSSA lifetimes with either CopyValue or DestroyValue operations. While regular CopyPropagation only ca...
Avatar
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
Avatar
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
12:45 PM
/// Converts: /// %extract = struct_extract %src : $TypeWithSingleOwnershipValue /// %copy = copy_value %extract : $OwnershipValue /// To: /// %copy = copy_value %src : $TypeWithSingleOwnershipValue /// (%extracted,...) = destructure %copy : $OwnershipValue (edited)
12:45 PM
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
12:45 PM
/// For types with a single reference member, converts /// src -> struct_extract -> copy /// into /// src -> copy -> destructure
12:46 PM
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
12:46 PM
// Delete a dead forwarded value before sinking to avoid this pattern: // %outerVal = destructure_struct %def // destroy %outerVal <= delete this destroy now // destroy %def <= so we don't delete this one later
Avatar
Kishikawa Katsumi 11/16/2021 12:46 PM
With Xcode 13, a new experimental build setting called "Optimize Object Lifetimes" is available for the Swift compiler. This enables powerful lifetime shortening ARC optimizations. With this build setting turned on, you may see objects being deallocated immediately after last use much more consistently, bringing observed object lifetimes closer to their guaranteed minimum.
Avatar
/// Because this algorithm rewrites copies and destroys without attempting to /// balance the retain count, it is only sound when SIL is in ownership-SSA /// form.
Avatar
Kishikawa Katsumi 11/16/2021 12:49 PM
^ このオプションでやりたいのはこういうことで、 結果的にオブジェクトの生存期間が現状は長くなることがある、しかしこのオプションを有効にすることで本来Swiftとしては生存期間をここまでは保証している、というのに近づく可能性があるのでそのような現状の生存期間に依存したバグを取り除ける。
Avatar
With this build setting turned on, you may see objects being deallocated immediately after last use much more consistently, bringing observed object lifetimes closer to their guaranteed minimum.
Avatar
withExtendedLifetimeのasync版がほしい
Avatar
Avatar
Iceman
withExtendedLifetimeのasync版がほしい
スコープの最後の方にwithExtendedLifetimeで掴んでおけばよさそう
Avatar
// main sil [ossa] @main : $@convention(c) (Int32, UnsafeMutablePointer<Optional<UnsafeMutablePointer<Int8>>>) -> Int32 { bb0(%0 : $Int32, %1 : $UnsafeMutablePointer<Optional<UnsafeMutablePointer<Int8>>>): %2 = metatype $@thick Cat.Type // user: %4 // function_ref Cat.__allocating_init() %3 = function_ref @$s4test3CatCACycfC : $@convention(method) (@thick Cat.Type) -> @owned Cat // user: %4 %4 = apply %3(%2) : $@convention(method) (@thick Cat.Type) -> @owned Cat // users: %22, %8, %5 debug_value %4 : $Cat, let, name "mike" // id: %5 %6 = alloc_box ${ var @sil_unowned Cat }, let, name "tama" // users: %21, %7 %7 = project_box %6 : ${ var @sil_unowned Cat }, 0 // users: %15, %12 %8 = begin_borrow %4 : $Cat // users: %14, %9 %9 = copy_value %8 : $Cat // users: %13, %10 %10 = ref_to_unowned %9 : $Cat to $@sil_unowned Cat // user: %11 %11 = copy_value %10 : $@sil_unowned Cat // user: %12 store %11 to [init] %7 : $*@sil_unowned Cat // id: %12 destroy_value %9 : $Cat // id: %13 end_borrow %8 : $Cat // id: %14 %15 = load_borrow %7 : $*@sil_unowned Cat // users: %17, %16 %16 = strong_copy_unowned_value %15 : $@sil_unowned Cat // users: %20, %19, %18 end_borrow %15 : $@sil_unowned Cat // id: %17 %18 = class_method %16 : $Cat, #Cat.meow : (Cat) -> () -> (), $@convention(method) (@guaranteed Cat) -> () // user: %19 %19 = apply %18(%16) : $@convention(method) (@guaranteed Cat) -> () destroy_value %16 : $Cat // id: %20 destroy_value %6 : ${ var @sil_unowned Cat } // id: %21 destroy_value %4 : $Cat // id: %22 %23 = integer_literal $Builtin.Int32, 0 // user: %24 %24 = struct $Int32 (%23 : $Builtin.Int32) // user: %25 return %24 : $Int32 // id: %25 } // end sil function 'main'
Avatar
Avatar
Yuta Saito
スコープの最後の方にwithExtendedLifetimeで掴んでおけばよさそう
やりようはあるので実害はないですね、ちょっと違和感ありますが
Avatar
こんにちは!Merpay Advent Calendar 2020 の7日目は、メルペイ エキスパートチームインターン の kateinoigakukun がお送りします。この記事ではSwiftコンパイラ内部で使われている、最適化パスの正確
Avatar
Asserts that the strong reference count of the heap object referenced by %0 is still positive, then increments the reference count and returns a new strong reference to %0. The intention is that this instruction is used as a "safe ownership conversion" from unowned to strong.
Avatar
This is a refreshed proposal for the SIL ownership model that attempts to take what is currently in tree and rephrase the concepts into higher level concepts that are not based on the needs of the internal implementation details of the SIL ownership verifier. Below is an inline version and an online HTML version of the document is available here...
Avatar
888888
Avatar
おつ
Avatar
CAS operation
Avatar
@reactorcontrol Uncontended atomics are basically as cheap as a normal load/store on the A14 and M1. It's nice for ARC, but not limited to it
Avatar
A light-weight server-side service framework written in the Swift programming language. - GitHub - amzn/smoke-framework: A light-weight server-side service framework written in the Swift programmin...
Avatar
おつにゃん 👋
Avatar
closure.release() and JSOneshotClosure are no longer needed FinalizationRegistry calls swjs_free_host_function to remove the corresponding Swift closure from the global dictionary. deallocating a J...
Avatar
おつにゃんです
Avatar
FinalizationRegistry オブジェクトにより、オブジェクトがガベージコレクションで回収されるときにコールバックを要求することができます。
Avatar
わいもそろそろ寝ます 💤
1:37 PM
おつにゃんです
Avatar
皆様ありがとうございました~
Avatar
yutailang0119 11/16/2021 1:38 PM
できるだけ使用しない
1:38 PM
おもしろすぎる
Avatar
イベント、終わったら明示的に閉じないといけないのか
Avatar
12月にもやりましょう
9:24 AM
@d_date ということでお願いします。
Avatar
はーい、がんばります
Avatar
次どなたがファシリテーターやります?
9:41 AM
配信は交代交代でやりますが、次予定空いてたらいけます
Avatar
配信は日程次第ですが開催までの段取りはやります
t_thanks 1
Avatar
「エンジニア30歳定年説」というフレーズを聞いたことがある人も多いのではないだろうか。エンジニア職においては、技術のアッ
t_waiwai 1
5:39 AM
まえギギにゃんさんが言ってたのw
Avatar
お、貼ろうと思ってきた
5:44 AM
前回取材してくださいました
5:47 AM
一応会の成り立ちや取り組みについてはまとまってるので、わいわいswiftcの説明するときは便利な記事になったかと思います
Avatar
iOS界隈では、LINE、マネーフォワード、メルカリなど名だたるIT企業がiOS開発部署を福岡に置いているので、福岡在住の人からの関心が高いんですよ。従来のリアル開催では参加が難しかった人も、オンライン開催なら運営メンバーとして携わってもらえるようになりました」
いい話だ
Avatar
freddiさんのことを思い浮かびながら発言しました
Avatar
テヘペロ
5:51 AM
ありがとうございますw
Avatar
Kishikawa Katsumi 11/24/2021 6:06 AM
プログラマの定年、いつの間にか30歳になってた😲
😮 1
Avatar
良く言われてるやつは35ですよねw
Avatar
Kishikawa Katsumi 11/24/2021 6:08 AM
あ、そうですよね。でもサッと検索してみると30歳っていうのもチラホラ見た。
Avatar
さっと読んだけど30歳定年については文中では一切触れてなかった気がする
Avatar
ふれてるよ
Avatar
タイトルからはぎぎにゃんが引退したい説があるなと思って本文を見たがそんなこともなく‥
Avatar
「『エンジニア30歳定年説』という言葉があります。私自身もだんだん、『言わんとしてることは少し分かる』と捉えるようになってきました。
(edited)
6:32 AM
だから、手を動かすこと以外でバリューを出す必要があります。ゆえに、言語処理系など誰もやっていないような高度なことに取り組むとか、OSS活動のように影響力のあることをやるとか、マネジメント、後輩の育成などでキャリアアップしていく必要があるんです。
Avatar
コンクルージョンに書いてあったw
Avatar
「マネジメントや後輩の育成」は職種が変わってるのでこれをやらないといけないならある意味引退してるなあ
Avatar
Kishikawa Katsumi 11/24/2021 6:45 AM
まあプログラマの年齢による説は10年前にそういうものはないと結論の出ている話ですよ。
Avatar
業界の変動は激しいから随時結論の確認は必要に思います
6:50 AM
まあでも多様化してるし拡大してるし難易度は下がってるかな?
Avatar
ぎぎにゃんは真面目にキャリアの事考えてて偉いなぁ
❤️ 1
Avatar
Kishikawa Katsumi 11/24/2021 6:53 AM
業界の変動は激しいから随時結論の確認は必要に思います
なるほど。確かにそれはそうですね。 コードを書く仕事の需要は今のところますます需要は増えてるし、その状況は5年くらい先までは変わらないだろうということと、コード書く仕事は今の技術水準だと年齢による衰えを経験や資本でカバーすることが可能だから大丈夫、かな。
Avatar
Avatar
Kishikawa Katsumi
業界の変動は激しいから随時結論の確認は必要に思います
なるほど。確かにそれはそうですね。 コードを書く仕事の需要は今のところますます需要は増えてるし、その状況は5年くらい先までは変わらないだろうということと、コード書く仕事は今の技術水準だと年齢による衰えを経験や資本でカバーすることが可能だから大丈夫、かな。
そうですね。まだまだソフトウェア化できてない事がたくさんあるし。
Avatar
Kishikawa Katsumi 11/24/2021 7:51 AM
定年説が10年前に結論の出た話、というのはちょっと言葉が足りなくて、言いたかったのは もともとの定年説はいわゆるソフトウェアを工業製品を作る手法に当てはめて設計工程と実装工程を分離できるという前提からきたものなので、それはもううまくいかないし、ソフトウェアにおいて実装と設計は不可分で現在のところそれはアウトソーシングできないということが10年前の時点で結論が出ている、ということですね。 (edited)
Avatar
設計工程と実装工程を分離できるという前提からきた
なるほど
Avatar
コーディングを「製造」と呼ぶ世界を思い出しました。
👀 1
Avatar
Kishikawa Katsumi 11/24/2021 9:31 AM
そうですね。そういう世界のキャリアパスだとコードを書く仕事は単純作業とされているので長くやっていても評価されない、というところから来たものだと理解しています。
Avatar
ちゃんと読めてないけど、waiwai向きな話してそう。 https://qiita.com/TokyoYoshida/items/c0a02bfa0197b703518f
Swift 5.5によって導入されたConcurrencyのうちの、async/awaitがどのように動いているのか調べてみました。 きっかけ 私はもともとasync/awaitなどはJavascriptで使っていたので、Swi...
Avatar
Avatar
koher
ちゃんと読めてないけど、waiwai向きな話してそう。 https://qiita.com/TokyoYoshida/items/c0a02bfa0197b703518f
良いですね。まさにワイワイで以前僕が話したような内容です。 同じ動画も参照している。 https://speakerdeck.com/omochi/swiftfalsemodifyakusesatokorutin?slide=40
Avatar
tokyoyoshida 12/6/2021 8:36 AM
同じような発表があったんですね。これを読んでいればもう少しスムーズに調べられました。。
Avatar
omochimetaru 12/6/2021 8:40 AM
こんにちは。こういった処理系について興味があるならぜひわいわいswiftcにご参加くださいませ。
Avatar
tokyoyoshida 12/6/2021 8:57 AM
ありがとうございます。今度参加してみます!
😁 1
🙌 3
Avatar
次回は1月か2月かな
Avatar
Avatar
freddi
次回は1月か2月かな
omochimetaru 12/6/2021 2:45 PM
アイコンやべえな
Avatar
あー
2:46 PM
開催の段取りできてなかったや
2:46 PM
すみません
2:50 PM
次回は、SPM噺です。 @d_date 資料作るのに時間いると思うのだけど、どれくらいでいけますか?
Avatar
1月下旬ならおそらく!
👍 1
Avatar
では1月最終週で、投票して決めましょうか
2:19 AM
わいわい見たいよという人は、予定がある日参加不可能な日にスタンプを押してください、最も不参加の人が少ない日に開催しようと思います。 締め切りは2022/01/01 00:00:00で。 🌙 01/24 🔥 01/25 ☔ 01/26 🌲 01/27 💰 01/28
🔥 1
☔ 3
🌲 3
💰 2
tarunon pinned a message to this channel. 12/7/2021 2:24 AM
Avatar
Avatar
omochimetaru
アイコンやべえな
ノリで変えたら元のアイコン紛失につきこのままです
😮 1
Avatar
あるんちゃうか
Avatar
ああ、たしかにTwitterのあいこんだったw
7:16 AM
てか懐かしいIDで草
Avatar
https://discord.com/channels/291054398077927425/380329942505750529/917601190496309288 リマインドです。年明けたら日程確定しますので🙏
🙏 1
1:27 AM
現時点でスピーカーがダメな水木はナシ確定
Avatar
Avatar
tarunon
わいわい見たいよという人は、予定がある日参加不可能な日にスタンプを押してください、最も不参加の人が少ない日に開催しようと思います。 締め切りは2022/01/01 00:00:00で。 🌙 01/24 🔥 01/25 ☔ 01/26 🌲 01/27 💰 01/28
新年あけましておめでとうございます。 次回のわいわいswiftcですが、1/24(月)に開催とします。 @d_date よろしくお願いします。
🎍 6
Avatar
あけましておめでとうございます 今年もワイワイしましょう
4:37 AM
家の配信環境を改善したので次ちょっと試したいです(LANケーブル変えた (edited)
Avatar
じゃあお願いします。githubの方もやっとかなくては
🙏 1
Avatar
omochimetaru 1/5/2022 12:35 AM
LLVM Coroutines を使った Swift async / await の話。 Coroutine lowering による非同期関数の分解から、非同期コンテキストがどのように確保され、継続を呼び出したり、await をまたいでローカル変数を管理しているか、など。 WWDC21 セッションをさらに深堀りした内容。 https://t.co/fgBz5MIJiz
12:35 AM
LLVM Dev MTG あったんや
Avatar
リンク先の動画、この前紹介していただいたtokyoyoshida さんの記事読んでから見たらすごいわかりやすかったです😄
👀 1
Avatar

日時

01/24 (木曜日)
  • [x] 登壇予定者全員が参加できるか、登壇準備ができるか確認する
  • [x] 参加者が被りそうな勉強会とぶつかっていないか、イベントカレンダーで確認する https://connpass.com/calendar/

場所

connpass

わいわいswiftc #32 - connpass

コンテンツ

  • @account title
~
Avatar
connpassの下書き作りました。 @d_date 発表タイトルあれば埋めて公開するので教えてくださいな
Avatar
まだ決めてないので今の感じで大丈夫です
🙆 1
Avatar
公開忘れてた!しました!
2:59 AM
# わいわいswiftc #32 オンライン 昨今の社会的情勢を鑑みて、当面はオンライン開催を致します。 swift-developers-japanのDiscordサーバー上でオンライン配信を行う予定です。 Discordサーバーへはこちらのリンクから参加いただけます。 https://discord.gg/swift-developers-japan 本サーバーについて詳しく知りたい方は、下記をご覧ください。 https://medium.com/swift-column/discord-ios-20d586e373c0 # わいわいswiftc わいわいswiftc...
🙌 1
Avatar
仕事がパツってきたので次回の段取りは何方かにお願いしたい (edited)
Avatar
# わいわいswiftc #32 オンライン 昨今の社会的情勢を鑑みて、当面はオンライン開催を致します。 swift-developers-japanのDiscordサーバー上でオンライン配信を行う予定です。 Discordサーバーへはこちらのリンクから参加いただけます。 https://discord.gg/swift-developers-japan 本サーバーについて詳しく知りたい方は、下記をご覧ください。 https://medium.com/swift-column/discord-ios-20d586e373c0 # わいわいswiftc わいわいswiftc...
Avatar
omochimetaru 1/24/2022 9:03 AM
1930
Avatar
1915くらいから配信開始します
9:41 AM
嘘、配信準備です (edited)
Avatar
freddi(Recording) 1/24/2022 10:21 AM
https://t.co/IJWd6KAsWV #わいわいswiftc のYoutube配信部屋です
10:22 AM
当人寝不足ですごい眠いのでもし配信放置してたら誰か代わりに切ってください、一応頑張ります
Avatar
代わりに切れるんですか?
Avatar
わいわいようつべのの権限持ってたら切れるはず (edited)
Avatar
そうか、なるほど。
Avatar
20時だと思ってた、すぐ行きます
🙇‍♂️ 1
Avatar
@d_date そちらの声は聞こえましtあ
Avatar
yutailang0119 1/24/2022 10:38 AM
What Renovate type, platform and version are you using? Renovate for GitHub Describe the bug If tags rule of the target repository has a prefix, Renovate will insert it as a version. In this case, ...
Avatar
全然関係ないけどnpm周りだとAuthorのテロルが話題になっていてUpToNextMajor+Renovateはちょっと不安な世界になってきた (edited)
Avatar
Kishikawa Katsumi 1/24/2022 10:39 AM
それでもどんどん細かくアップデートする方がいいと思う。
10:40 AM
マージがノーテストで即デプロイされるような環境を除いて
Avatar
WindowsのWSLでVaporやってた時ちょっと辛かったけどこれめっちゃ便利になる
10:41 AM
ブレークポイントは前から頑張ればできた気がする (edited)
Avatar
え、これめちゃくちゃうれしいな
Avatar
XcodeでやりたくなさすぎてWSLとVSCodeでVaporやってた
Avatar
xcscheme ちょうどまさにこのまえやらかした
Avatar
npm run buildみたいな感じかな
Avatar
Kishikawa Katsumi 1/24/2022 10:52 AM
わかるけどめっちゃ強力になるからそれをどう制限するのかな。
Avatar
IO 系のバイナリをリンクさせないとかなのかな…? (edited)
Avatar
The Package Manager for the Swift Programming Language - swift-package-manager/Sandbox.swift at main · apple/swift-package-manager
11:01 AM
The Package Manager for the Swift Programming Language - swift-package-manager/DefaultPluginScriptRunner.swift at 63d19f39ff472601736aa2646c31cc2b1e0c2426 · apple/swift-package-manager
Avatar
https://www.swift.org/documentation/api-design-guidelines/
Begin names of factory methods with “make”, e.g. x.makeIterator().
kusa 1
Avatar
アンケートとってみよう 1️⃣ create 2️⃣ make あなたはどっち派 (edited)
1️⃣ 3
2️⃣ 8
Avatar
3️⃣ plan
3️⃣ 1
Avatar
XCFrameworkと違ってdistributionを考えて設計されてそう
Avatar
パイプベースのIPC
11:47 AM
distributed actorじゃなかった…
😔 1
Avatar
asyncがついてない
Avatar
The Package Manager for the Swift Programming Language - swift-package-manager/Plugin.swift at 7723030f13132437fa0db7123ad78cf735acac42 · abertelrud/swift-package-manager
Avatar
めっちゃ仕様がクソデカになっている
11:50 AM
IDEウケた
Avatar
休憩
12:13 PM
ちなみに配信環境を改善したのですがようつべ組は問題なく見れてました?
Avatar
ようつべ組ってここにおるん?
Avatar
移動組がちらほら
naruhodo 1
12:16 PM
(ぎぎにゃんさんいつのまにいなかった
Avatar
Kishikawa Katsumi 1/24/2022 12:20 PM
顔出さへんかったな
🔥 1
Avatar
書き込んでるしヨシ yoshi (edited)
12:28 PM
Core被る問題w よくある
Avatar
あったなあこれ
Avatar
IBLinterもうほーいさんに直してもらった https://github.com/IBDecodable/IBLinter/pull/171
✨ 1
Avatar
Target names must be globally unique. GraphViz added a Core target in SwiftDocOrg/GraphViz#15, which collides with XcodeGen&#39;s Core target (meaning you can cause a build failure with swift p...
Avatar
Fully-Qualified Lookups Proposal: SE-NNNN Authors: Kyle Sluder Review Manager: TBD Status: Pitch Introduction We propose a syntax for unambiguously referencing any symbol, regardless of local shadowing. Motivation Swift currently lacks a way to reference symbols in the global namespace that have been shadowed by closer declarations. The ...
Avatar
Kishikawa Katsumi 1/24/2022 12:39 PM
絶対必要だと思うけどモジュールの名前空間だけでいいっていう話になったんだよな
t_naruhodo 1
Avatar
yutailang0119 1/24/2022 12:40 PM
元々SwiftPMにあったのがTSCに結構行ったよね
Avatar
HTTP client library built on SwiftNIO. Contribute to swift-server/async-http-client development by creating an account on GitHub.
Avatar
Common infrastructural helpers on top of NIO for llbuild2 and swiftpm-on-llbuild2 projects. This is NOT a general purpose package and is unlikely to ever become stable. - GitHub - apple/swift-tools...
Avatar
10:15まで配信です
Avatar
Contribute to apple/swiftpm-on-llbuild2 development by creating an account on GitHub.
12:48 PM
A fresh take on a low-level build system API. Contribute to apple/swift-llbuild2 development by creating an account on GitHub.
12:50 PM
Content-addressable storage, also referred to as content-addressed storage or abbreviated CAS, is a way to store information so it can be retrieved based on its content, not its location. It has been used for high-speed storage and retrieval of fixed content, such as documents stored for compliance with government regulations. Content-addressa...
Avatar
treastrain / Tanaka.R 1/24/2022 12:50 PM
間から失礼します
llbuild2 makes heavy use of CAS (Content Addressable Storage) technologies.
https://github.com/apple/swift-llbuild2/blob/main/Docs/index.md#cas-usage
A fresh take on a low-level build system API. Contribute to apple/swift-llbuild2 development by creating an account on GitHub.
Avatar
次回なんですが、だてさんの発表ともう一本募集していいかも @freddi
Avatar
Avatar
tarunon
次回なんですが、だてさんの発表ともう一本募集していいかも @freddi
freddi(Recording) 1/24/2022 12:58 PM
ああ、見逃しちゃった。2/7に設定してしまったのですが登壇募集間に合いますかね
Avatar
Avatar
freddi(Recording)
ああ、見逃しちゃった。2/7に設定してしまったのですが登壇募集間に合いますかね
期間短いし1個でいきましょう!
1:01 PM
@d_date 離席してる間に解散になってしまってて直接言えなんだ、登壇ありがとうございました。
Avatar
freddi(Recording) 1/24/2022 1:01 PM
おkす、コンパスはもうできたのでこの後後悔します
Avatar
ありがとうございました。せっかく後半の機会をもらったので、おざなりにしてたAdditional Package APIももうちょっと調べてみます
parrot_slow 3
Avatar

日時

02/07 (月曜日)
  • [x] 登壇予定者全員が参加できるか、登壇準備ができるか確認する
  • [x] 参加者が被りそうな勉強会とぶつかっていないか、イベントカレンダーで確認する https://connpass.com/calendar/

場所

connpass

わいわいswiftc #33 - connpass

コンテンツ

  • @d-date わいわいSPM
Avatar
freddi(Recording) 1/24/2022 1:05 PM
@ ひーあー 次回connpass公開してます
1:05 PM
# わいわいswiftc #33 オンライン 昨今の社会的情勢を鑑みて、当面はオンライン開催を致します。 swift-developers-japanのDiscordサーバー上でオンライン配信を行う予定です。 Discordサーバーへはこちらのリンクから参加いただけます。 https://discord.gg/swift-developers-japan 本サーバーについて詳しく知りたい方は、下記をご覧ください。 https://medium.com/swift-column/discord-ios-20d586e373c0 # わいわいswiftc わいわいswiftc...
Avatar
AppleのSwiftチームがLLVM LTOに手を出してSwiftバイナリサイズの改善をやってて、結構進捗がありそうなので次次回くらいに話したいです
👀 6
😲 2
1:29 PM
結構真面目にfreestanding環境でSwift動かしたいっぽい
Avatar
Avatar
Yuta Saito
AppleのSwiftチームがLLVM LTOに手を出してSwiftバイナリサイズの改善をやってて、結構進捗がありそうなので次次回くらいに話したいです
お、3月回でやってみます?
Avatar
そのあたりで 🙏
Avatar
おkす
Avatar

日時

MM/DD (N曜日)
  • [ ] 登壇予定者全員が参加できるか、登壇準備ができるか確認する
  • [ ] 参加者が被りそうな勉強会とぶつかっていないか、イベントカレンダーで確認する https://connpass.com/calendar/

場所

connpass

わいわいswiftc #00 - connpass

コンテンツ

  • @kateinoigakukun title
~
🙏 1
5:30 AM
tukuta
Avatar
そういえばやるの忘れてた
Avatar
誰も使わなさそうだったら逆につぎからやりませんw
5:31 AM
と思ったら速攻でついたのでつぎから思い出したら作っておきます
Avatar
前回紹介した内容、Command Plugins含めて無事5.6に入ってました。
Swift Packages now support build tool plugins, as defined in SE-0303 and SE-0325. This allows packages to define plugins that can specify tools that should run during a build operation, for example to generate source code. This is supported in both swift package and in Xcode’s support for packages. (79876749) The swift package command now supports command plugins, as defined in SE-0332. This allows Packages to define commands that can be invoked using the swift package command line to perform custom actions on the package. (82895553)
👍 3
5:26 AM
know issueもあるけども
An error emitted by a build tool package plugin doesn’t prevent later build operations that rely on the output from the plugin. This can cause build errors related to missing files that the plugin would have produced. (83715966) Incorrect warnings and errors are sometimes shown in Xcode’s editor while editing the source code of a package plugin. (87610558) Workaround: Turn off Live Issues in Xcode’s preferences while working on the plugin source code.
Avatar
お、いつもより30分早い?
3:39 AM
connpass側はいつもどおりの時間だった
Avatar
あ、すんません19;30です
4:16 AM
syuusei done
t_thanks 1
Avatar
19:15から配信準備します
Avatar
$ swift package show-dependencies --format dot | dot -Tsvg -o graph.svg
Avatar
ジョニー・アップルシードさんのパスワードはalpineなのか
11:29 AM
Avatar
omochimetaru 2/7/2022 11:29 AM
ほんとだ
Avatar
The Swift Package Index is the place to find Swift packages! - GitHub - SwiftPackageIndex/SwiftPackageIndex-Server: The Swift Package Index is the place to find Swift packages!
11:32 AM
Today we’re excited to announce that we’ll be adding support for Swift packages to GitHub Package Registry. Swift packages make it easy to share your libraries and source code across your projects and with the Swift community.
11:32 AM
これ
Avatar
これ,実際にビルドしてるんですよ
Avatar
omochimetaru 2/7/2022 11:34 AM
えら
Avatar
See what the platform and Swift version compatibility build system for the Swift Package Index is processing. The package index constantly looks for changes in packages and, when found, builds every …
Avatar
サーバーサイドSwiftでSwift Package Registry作ろう
✨ 2
Avatar
yutailang0119 2/7/2022 11:46 AM
👏
Avatar
Inherit Moduleはstatic libraryだと使えない
11:49 AM
そうそう
11:50 AM
static library + resource bundle (with xib)でresource bundleのMODULE_NAMEをstatic libraryの名前と衝突させるとinherit module from が使える
11:51 AM
xcodeprojで上書きできる
Avatar
omochimetaru 2/7/2022 11:52 AM
${product_name}_${module_name}.${class_name}
Avatar
SwiftPMが生成するbundleファイルの名前
11:53 AM
ダメじゃんw
11:53 AM
じゃあInherit ModuleをIBLinterで禁止しよう
Avatar
配信21:30で消します
Avatar
www
Avatar
バイバイIB 👋
11:55 AM
書き換えはやってない
11:58 AM
Bundle.module使うのやめるだけですよ
Avatar
Bundle.moduleはPreviewの時に死んじゃうのが結局治せなかった 😭
Avatar
SwiftPMで作られたBundleにxibは埋め込んじゃダメなんすねぇ
12:00 PM
known vs non t_kusa
t_kusa 1
12:02 PM
そうそう
12:02 PM
で,それがxcodeprojで制御できる
Avatar
VSCodeの置換でinherit module from消すの済ませちゃいましたね・・・
Avatar
omochimetaru 2/7/2022 12:04 PM
Avatar
で,PRODUCT_MODULE_NAMEはXcodeが追加するんじゃないかなぁ
12:05 PM
Copyしたりゴニョゴニョ処理が挟まる余地がある
12:05 PM
というか,SwiftPMの吐くInfo.plistそのままじゃiTunes Connectにアップロードできない気がする (edited)
12:09 PM
スクリプト書いてエイッと置換するほうがトータルで楽そう…
Avatar
NSClassFromString(_:) で文字列からclass取るやつですよね?
Avatar
Avatar
mt.hodaka
NSClassFromString(_:) で文字列からclass取るやつですよね?
omochimetaru 2/7/2022 12:10 PM
そうです、内部的には。
Avatar
888888
Avatar
8888888
Avatar
Avatar
omochimetaru
そうです、内部的には。
NSClassFromString(:)を使うところを回避したかったんですけど、そう簡単にはできなかったんで、 let bundleModuleName = Bundle.module.object(forInfoDictionaryKey: "CFBundleName") as! String let moduleName = a.components(separatedBy: "").last! _ = NSClassFromString(moduleName + "." + "クラス名") ってやっちゃってますね・・・ (edited)
Avatar
Avatar
Yuta Saito
AppleのSwiftチームがLLVM LTOに手を出してSwiftバイナリサイズの改善をやってて、結構進捗がありそうなので次次回くらいに話したいです
これ
Avatar
Avatar
mt.hodaka
NSClassFromString(:)を使うところを回避したかったんですけど、そう簡単にはできなかったんで、 let bundleModuleName = Bundle.module.object(forInfoDictionaryKey: "CFBundleName") as! String let moduleName = a.components(separatedBy: "").last! _ = NSClassFromString(moduleName + "." + "クラス名") ってやっちゃってますね・・・ (edited)
omochimetaru 2/7/2022 12:15 PM
斜体になっちゃってるけど a.components(separatedBy: "_") ですかね?
12:16 PM
確かに固定で productname_modulename が入ってそうだからそれでもいけますね
12:16 PM
僕が困っているのはXIBのcustom classロードの仕組みの部分なので、
12:16 PM
そこのロジックには干渉できないですけど。
Avatar
Avatar
omochimetaru
斜体になっちゃってるけど a.components(separatedBy: "_") ですかね?
あ、斜体(Discord慣れて無くて・・・)そうですそうです さっきの話きいてもやっぱりinherit module from消すのが楽そうですね。それで特に困ったことは無かったです
🙏 1
Avatar
omochimetaru 2/7/2022 12:21 PM
このようにバッククォート3つ このようにバッククォート1つ @mt.hodaka こうやるといいですよ
Avatar
Avatar
omochimetaru
このようにバッククォート3つ このようにバッククォート1つ @mt.hodaka こうやるといいですよ
ありがとうございます・・・いや、もっと基本的なことで、送信せずに改行するのは 何+Enter なんだ・・・とw
Avatar
Avatar
mt.hodaka
ありがとうございます・・・いや、もっと基本的なことで、送信せずに改行するのは 何+Enter なんだ・・・とw
omochimetaru 2/7/2022 12:25 PM
DiscordはShift + Enterで改行です〜 たしかにそれもわからない
👍 1
Avatar
ミュート放置の人を退出させようとして、間違えてDiscordから1人キックしてしまった・・・
12:28 PM
連絡済み
12:30 PM
@tochi86 - とち🐹 san 本当にすいません:::
Avatar
Avatar
freddi
@tochi86 - とち🐹 san 本当にすいません:::
tochi86 - とち🐹 2/7/2022 12:31 PM
問題なしです!👍
Avatar
Kishikawa Katsumi 2/8/2022 1:06 AM
アーカイブはYoutubeに残らないんでしたっけ?
Avatar
Kishikawa Katsumi 2/8/2022 2:17 AM
ありがとう😊
👍🏻 1
Avatar
- (edited)
1:31 AM
@Iceman 他のSwift/ios勉強会とかぶってないか確かめるのはこれでいつも確認してますのでどうぞー https://connpass.com/calendar/
connpassに登録されているIT勉強会のカレンダーです
Avatar
昨日一日しんでました。ありがとうございます。
Avatar
oyo 体調不良ですか?おだいじにです
Avatar
(ただの筋肉痛)
Avatar
ああなるほどw
Avatar
@Yuta Saito 次回、3月7日(月)か3月14日(月)にしようと思いますがどちらか大丈夫ですか?
Avatar
14だとありがたいです 🙏
Avatar
Avatar
Yuta Saito
14だとありがたいです 🙏
OKです!では14日にしましょう
Avatar
えんしゅうりつの日だ
Avatar
イベントページ公開しました https://iosdiscord.connpass.com/event/239673/
# わいわいswiftc #34 オンライン 昨今の社会的情勢を鑑みて、当面はオンライン開催を致します。 swift-developers-japanのDiscordサーバー上でオンライン配信を行う予定です。 Discordサーバーへはこちらのリンクから参加いただけます。 https://discord.gg/swift-developers-japan 本サーバーについて詳しく知りたい方は、下記をご覧ください。 https://medium.com/swift-column/discord-ios-20d586e373c0 # わいわいswiftc わいわいswiftc...
Avatar
azamasu 配信はいつもどおりワイやります
t_thanks 3
Avatar
あぶねえ今日かわすれるところだった
Avatar
Avatar
freddi
あぶねえ今日かわすれるところだった
Discordのイベント機能に登録しておくと忘れない…かもです
👍 1
Avatar
前回私が設定し忘れてたヤツw githubのissueテンプレに入れとくかしら
👍 1
3:38 AM
ぼくもわすれてた
Avatar
Avatar
tarunon
前回私が設定し忘れてたヤツw githubのissueテンプレに入れとくかしら
https://github.com/waiwai-swiftc/events/pull/24 やっておいたのでReviewおねがいしゃす cc @giginet (edited)
👍 1
Avatar
Discordのイベント機能どうやってたてるんですか?
Avatar
権限無いと建てれなくて、左のチャンネル一覧の一番上にある Event 一覧から作れます
3:49 AM
Avatar
あ〜なるほど
Avatar
これ
3:49 AM
まあ苦じゃないんで作りたかったら僕にいつでも言ってください
Avatar
こんなところにあったんですね (edited)
Avatar
Discord san しれーっと便利な機能をわからんところにおいてくイメージ(偏見
Avatar
権限は広めに配ってたような気がします
Avatar
僕ノーロールマンですが建てれそうですね
Avatar
お、ならばだいじょうぶそうですね
Avatar
今日の配信係
9:56 AM
どっちやります? @freddi
Avatar
やる言うてたのでやります
👍 1
9:59 AM
キャベツ食いおわったら配信開始します
Avatar
次当たり私の番にしよう、結構大変だもんね
Avatar
あざます!次はお願いしますー いうてpc放置して何人も部屋に入れないようにするだけなので大丈夫です
Avatar
はじまります〜 👋
🔥 3
Avatar
画面共有だとスライド見やすいのはアドだね
Avatar
Kishikawa Katsumi 3/14/2022 10:38 AM
最適化の考え方がRubyとSwiftでけっこう違うっていうのは興味深いな。
Avatar
@monochrome san 生活音が聞こえるので誠に勝手ながらミュートにいたしました (edited)
11:24 AM
ご発言等があればご連絡いただけると幸いです、すいませんがご協力お願いします (edited)
Avatar
サーバーミュートは権限無いと解除できないから
11:24 AM
クライアントミュートして頂いてから戻すに必要があります
Avatar
サーバーミュートじゃなくて普通のミュートにしてるはず (edited)
Avatar
それはfreddiくんのところしかミュートになってないよ
Avatar
ありゃ
11:25 AM
サーバーミューとしました
11:25 AM
そーいうことか
Avatar
Virtual calls are done via a @llvm.type.checked.load instrinsic call with a type identifier Type identifier of a vfunc is the base method's mangling Type descriptors and class metadata get !typ...
Avatar
そんな脆弱性があるのかw
Avatar
ゲームでセーブデータに謎の文字列埋め込んでチート起動するのってそれ系じゃないですかね?
Avatar
ですね
Avatar
なるほど確かに
Avatar
任意コード実行と呼ばれる裏ワザ
12:08 PM
最近のゲームじゃ出来なくなってるのは
Avatar
この辺りの発展もあると思います (edited)
Avatar
ワザップまだかな
Avatar
ポケモンのダイパかなんかがゲーム内電卓で任意コード実行ができるという記事を見たなあ
Avatar
途中からきたのだけどどの最適化が効果が高いって話はあった?
Avatar
しらべてみたら最近のほうじゃなかった
Avatar
ダイパ10年前やぞ
t_kusa 2
Avatar
BDSPかとおもいました
Avatar
ダイパリメイクでもバグ再現されてるぞ
Avatar
リメイクはどっちかというとiOSでボタン同時押ししてアプリクラッシュしましたみたいな感じだから (edited)
Avatar
そこまでして再現してくれたのかありがとう
Avatar
なぞのばしょ再現してたのは感動しました() (edited)
Avatar
動かないw
12:12 PM
RxSwiftはObjCまみれやね
Avatar
Swift純正ライブラリ意外とないよね
12:13 PM
CLIはあるか
Avatar
黒魔法がobjcじゃないと使えないから
12:13 PM
ヤッてるライブラリはみんなobjc入ってる
Avatar
ヤッてるからライブラリに頼ってるところはあるね
sorehasou 1
Avatar
結構小さくなるけど
Avatar
削れるのはstatic linkされるものだけだよね?
12:15 PM
質問が正しいのかも自信がないけども
Avatar
dylibは削っちゃダメだからね
12:16 PM
外から参照される前提だ
Avatar
だよね
Avatar
でもま世の中全部staticlibよなと言う前提は割とあって
Avatar
iOSがその前提を覆してる説?
Avatar
今どきdllは脆弱性の元だしで好かれてないと思う
12:17 PM
や。iOSはUIKitしかり1stしか本当の意味でのdylibは存在してない
Avatar
そうなの?
Avatar
dylibである必要の無いものがdylibとしてアプリに同梱されてる節はある (edited)
Avatar
あーそういうことねw
12:18 PM
バージョンのコンパチとるのにdylibじゃなくていいのかな
12:19 PM
やっぱstaticしか勝たん
12:19 PM
意外と.oも食ってるよ
Avatar
孫依存のバージョンの話よね?そこもdynamicである必要は無いと思う
Avatar
Assetはもっと軽量
Avatar
Avatar
tarunon
孫依存のバージョンの話よね?そこもdynamicである必要は無いと思う
そうそう。そこもないのか
Avatar
某アプリw
12:20 PM
今だとiOSアプリだけど
Avatar
最近のアプリはサーバーからリソース取るからでかいAssetあんまりないと思う
Avatar
先の未来だとwasmとかもやりたいだろうから
12:21 PM
wasmだといよいよコード削除は大事な話になってきますね
Avatar
Swift for Arduino?のコメントにTedが反応してたよね
Avatar
Appleシリコンが社外秘の時代なのか
12:23 PM
世知辛そう
Avatar
結局final, staticを使えって話かw
12:25 PM
interface的にprotocolを使うのやめた方がいいよね
Avatar
まあなんか内向きの実装と外向きのIFは、キッチリ丁寧に分けてprotocol露出させるのはやめようねみたいなのは
12:26 PM
一定あると思いますね
Avatar
今ならモジュール分けしてpublicで十分だと思う
12:26 PM
あーそれで@testableが有効になるのか
12:27 PM
やっぱtest以外で使うべきじゃないのか
Avatar
testable出荷は犯罪w (edited)
Avatar
本番環境でテスト!
Avatar
8888
Avatar
面白かった8888888
Avatar
ありがとうございました!
Avatar
struct使えclass作るならfinalつけろ
👉 2
Avatar
ありがとうございました!
Avatar
Hi all, I just flipped a feature flag enabling a new generic signature minimization algorithm for protocol signatures. Since I've only posted a little bit about my work in this area here so I thought I'd give an more complete update. A year and a half ago I wrote how Swift type checking is undecidable, then last year I sketched out a new way o...
Avatar
冒頭数分多分意図しないカメラONがあったのでカット編集します(Youtubeの動画 (edited)
👍 2
Avatar
ここまで複雑な(?)ことを書いてないかもしれないけど、たしかに(ちょっと過去だけど)Swiftの型推論はちょっと微妙というか、自分の頭の中ではこれ型通るでしょ!ってところでキャストしないといけないシーンあった気はする。
Avatar
編集済み上げました。動画の処理とやらは終わってないので高画質になるのはまだ先です (edited)
8:36 AM

日時

MM/DD (N曜日)
  • [ ] 登壇予定者全員が参加できるか、登壇準備ができるか確認する
  • [ ] 参加者が被りそうな勉強会とぶつかっていないか、イベントカレンダーで確認する https://connpass.com/calendar/
  • [ ] Discordのイベント機能でスケジュールしておく (チャンネル一覧の一番上にある Event から Create Event を選択)

場所

  • オンライン
  • Discordwaiwai-swiftc チャンネル

connpass

わいわいswiftc #00 - connpass

コンテンツ

  • @iceman5499 コード生成云々
~
Avatar
イベントページ公開しました https://iosdiscord.connpass.com/event/243040/ 次回は4月25日(月)です
# わいわいswiftc #35 オンライン 昨今の社会的情勢を鑑みて、当面はオンライン開催を致します。 swift-developers-japanのDiscordサーバー上でオンライン配信を行う予定です。 Discordサーバーへはこちらのリンクから参加いただけます。 https://discord.gg/swift-developers-japan 本サーバーについて詳しく知りたい方は、下記をご覧ください。 https://medium.com/swift-column/discord-ios-20d586e373c0 # わいわいswiftc わいわいswiftc...
👍 1
🙏 1
6:59 AM
Discordのイベント作るの忘れてた
Avatar
ちょくちょくやってるところあるし年末くらいにリアル開催そろそろ計画してみるか (edited)
5:16 AM
と思ってみるテスト
Avatar
(C++で某フリゲー開発されている知り合いだ)
Avatar
今年ガチ目にリアル開催の企画すると言ったら乗る人メンションかリアクションください
5:55 AM
5~6人くらいいたらかんがえます (edited)
Avatar
年内ってことね
Avatar
ですです
Avatar
暮れ当たりに正常化してたらやりたいねぇ
Avatar
ある程度企業がおk出し始めたり、企業がイベントリアル開催しはじめたらやっちゃってもいいかなあっておもってたりします (edited)
Avatar
会場提供してくれる会社がok出すか次第だとは思うw
tashikani 1
5:58 AM
そもそも会場自分たちで確保も択としてあるかもだけど
Avatar
後者、たしかにありですね
Avatar
会場なあ
Avatar
弊社はちょっと狭いから提供難しいね
t_me_too 1
Avatar
これまでは主にメかクだったけど、色々が色々でこれまで通りにはいかなさそう
Avatar
omochimetaru 4/4/2022 6:13 AM
フレディって所属はLINE東京だっけ?
Avatar
所属は東京だが住んでるのは福岡だよね
6:14 AM
クはみなとみらいにいっちゃったし、メはもうなんか100%リモートでって感じと聞いている
Avatar
会社でルールOKになれば多分行けると思います@とうきょう (edited)
t_kami 1
6:51 AM
問題はOKになるのがいつか(冒頭の話題に戻る。いちおうマンボウが基準にはなりそう) (edited)
Avatar
遅れての反応なんですが、うちの会社でもってるWeWork利用のためのクレジットで任意の拠点の会議室が使用できるぽいので、たとえば渋谷のWeWorkをクの名義で借りて使うとかはできそうです
4:40 AM
うちは良くも悪くももう既に物理イベント開催も許容されてるので、今後情勢が悪化しなければ任意のタイミングで開催できると思います
parrot_fast 5
Avatar
omochimetaru 4/7/2022 4:41 AM
任意の拠点の会議室が使用できる
えっ、いいですねそれ
Avatar
完全に自社のスペースをつかってたときより自由が効かないとかはあり得そうですが、いざ物理開催するとなったら選択肢に入れて大丈夫そうです!
🤩 2
Avatar
リマインダー 来週
Avatar
りまいんだ あすやで
🆗 2
Avatar
すいません、そういえば今日来れないので最後の告知だれかおねがいします
  • 登壇者募集
  • 次のイベント担当募集(僕にアサインしてもいいです)
  • チャンネル登録高評価
(edited)
🙋‍♀️ 1
Avatar
いそいでめしくってる
Avatar
スッっとはじまってて草
10:33 AM
ゆめがひろがりんぐ
Avatar
このSwiftSyntax、バージョン番号が嘘だらけなのでちゃんと全部メジャーバージョンアップにしてほしい
Avatar
yutailang0119 4/25/2022 10:40 AM
ちょっと遅れたけど参加〜
Avatar
わいわい
Avatar
yutailang0119 4/25/2022 10:42 AM
この前これ教えてもらった(この後出てくるかも) https://github.com/keith/StaticInternalSwiftSyntaxParser (edited)
A static library for using SwiftSyntax / lib_InternalSwiftSyntaxParser - GitHub - keith/StaticInternalSwiftSyntaxParser: A static library for using SwiftSyntax / lib_InternalSwiftSyntaxParser
Avatar
現実にはコード生成を書く人がXcode人柱になるから耐える、になりそう
Avatar
こんばんは
Avatar
Docker使おう(雑)
10:48 AM
ビルド済みの配信はSwiftSyntax限らず速いとこ公式からソリューションが出てきてほしい (edited)
Avatar
現状githubのreleasesのとこにちまちま設置する感じなの大変
Avatar
これGithubActionでシュッとやろうとすると、ハッシュ値が〜てなってうまくいかない体験があった
10:52 AM
この間の5.6?のアップデートでハッシュ値はなんとかなるんだっけか
Avatar
yutailang0119 4/25/2022 10:52 AM
私もお世話になっています
Avatar
.members.members w (edited)
Avatar
出遅れたけど、最近のswift-syntaxのリリースでは_InternalSwiftSyntaxParser.xcframework が配られてる https://github.com/apple/swift-syntax/releases/tag/0.50600.1 (edited)
Avatar
おおお
Avatar
SwiftSyntaxは本当にIDEを作る人には優しいAPIだけど、型が多すぎて定義ジャンプできずIDEを使う人には優しくない
Avatar
いいやつ
11:01 AM
You can gather type definitions from Swift source code. - GitHub - omochi/SwiftTypeReader: You can gather type definitions from Swift source code.
11:07 AM
概要 protocolの読み取りに対応します。 これにより、protocolをベースに実質的な関数型やクラス型を読み取ってコード生成し、TypeScriptに関数型を提供することが狙いです。 型としての関数型やタプルには既存実装と同様に対応していません。 associatedtype に対しても型名を読み取るだけです。実用上必要なタイミングがあれば型制約の部分の読み取りも実装します。 レビュ...
11:08 AM
👏
Avatar
yutailang0119 4/25/2022 11:08 AM
88888888
Avatar
yutailang0119 4/25/2022 11:09 AM
needleとかが使うようにしたいって話で見たんよね
11:10 AM
Are you sure that the builds can legally be licensed under the Apache license? https://github.com/uber/needle/blob/master/Makefile#L49 copies parts of the proprietary XCode binary so I have my doub...
Avatar
needleしらんかった
Avatar
yutailang0119 4/25/2022 11:16 AM
brew版がリリースされてないので、needleのアップデートができない!
Avatar
LinuxとDarwinで動作が違うことないのかな?
👀 1
Avatar
A tool to enforce Swift style and conventions. Contribute to realm/SwiftLint development by creating an account on GitHub.
11:21 AM
.1 ブランチを使うと指定してくれてありそう
Avatar
20:35まで休憩!
Avatar
The Package Manager for the Swift Programming Language - swift-package-manager/BuildParameters.swift at main · apple/swift-package-manager
11:33 AM
The Package Manager for the Swift Programming Language - swift-package-manager/DefaultPluginScriptRunner.swift at main · apple/swift-package-manager
11:42 AM
Generate typescript code for typing JSON from Swift Codable. - GitHub - omochi/CodableToTypeScript: Generate typescript code for typing JSON from Swift Codable.
Avatar
サーバー側の型定義をクライアントに持ってくるのと、そもそもAPIの型定義をガッと書いてそれをサーバーとクライアントで生成するの、どっちが楽なんだろう
11:45 AM
Swiftより表現力が低いのはそれはそう
11:45 AM
つまりSwift製のAPIの型定義を書けるものがあれば嬉しいのでは
Avatar
裏でStencil使ってるのかと思ったら結構ゴリゴリやってたw
Avatar
結局通信の内容はJSONかな
11:52 AM
シリアライズを切り出せると、SwiftのCodableの嬉しみが大きくなりそうかな?とか思った。例えばProtobufにしたりとか。
11:52 AM
実際にはほとんどのケースでJSONでいい気はするが
11:53 AM
完全にSwift版OpenAPIだw
11:55 AM
OpenAPIは言うてこれのサブセットになるだろうから、これらのコードをOpenAPIの定義から生成できたら、サードパーティのAPIクライアントもシュッと作れるようになるんじゃないか (edited)
Avatar
おー
Avatar
mameさんが作ってたオセロに似てる
12:18 PM
絶対に勝てない6x6リバーシを作りました。あなたは黒番、AIが白番です。 絶対に勝てない6x6リバーシを作りました! ぜひ挑戦してみてくださいhttps://t.co/Ul5n3q9jMp— Yusuke Endoh (@mametter) December 30, 2021 これは何? 6x6の盤面のリバーシは後手必勝 *1 であることが知られています。 このAIは白番(後手)で完璧にプレイします。つまり黒番のあなたは絶対に勝てません。無力感を楽しんでください。 技術的な話 このAIはWebAssemblyになっているので、全部あなたのブラウザの上で動いてます。真のサーバーレスです。 AIの…
12:26 PM
Result<T, E> -> T | Eってことか
12:28 PM
やんちゃしとる
Avatar
Working Swift code with WebAssembly on Cloud Functions for Firebase - GitHub - sidepelican/CFSwiftWasmExample: Working Swift code with WebAssembly on Cloud Functions for Firebase
Avatar
lambdaならSwift書ける!!!
12:30 PM
Cloud Function上で動かしたときのオーバーヘッドが気になる
Avatar
Admin SDK : Node.js ,Java ,Python ,Go ,C#
12:39 PM
嬉しい(?)
12:40 PM
👏
👏 1
Avatar
Swift framework to interact with JavaScript through WebAssembly. - JavaScriptKit/JavaScriptEventLoop.swift at 34bf9e1d38efa139df51ef60aaf490115766ed66 · swiftwasm/JavaScriptKit
Avatar
Swift framework to interact with JavaScript through WebAssembly. - JavaScriptKit/JavaScriptEventLoop.swift at main · swiftwasm/JavaScriptKit
12:43 PM
勉強になりました
12:52 PM
✌️おつかれさまでした✌️
Avatar
ありがとうございました!
Avatar
I am trying to build Swift 5.2 on Raspbian Buster and get keep getting the following error. /home/buildSwiftOnARM/swift/include/swift/AST/ImportCache.h:103:7: error: requested alignment is less tha...
Avatar
次回は @omochimetaru でswift6のany, someのお話、進行は @Iceman です。よろしくお願いします。
🙌 1
👍 1
Avatar
tarunon rec いがいディスコネクションしました
Avatar
mameさんのリバーシやったら完膚なきまでにボコボコにされてワロタ
😇 1
6:35 AM

日時

MM/DD (N曜日)
  • [ ] 登壇予定者全員が参加できるか、登壇準備ができるか確認する
  • [ ] 参加者が被りそうな勉強会とぶつかっていないか、イベントカレンダーで確認する https://connpass.com/calendar/
  • [ ] Discordのイベント機能でスケジュールしておく (チャンネル一覧の一番上にある Event から Create Event を選択)

場所

connpass

わいわいswiftc #00 - connpass

コンテンツ

  • @ omochimetaru swift6のany, someのお話
~
Avatar
イベント公開しました。次回開催日は5/30(月)です https://discord.gg/TQTZBezh?event=970566675290271754 (edited)
🙌 3
Avatar
omochimetaru 5/19/2022 6:49 AM
export TOOLCHAINS=org.swift.57202205181a
6:49 AM
この技って公式のどこに書いてあるんだろう?
Avatar
man xcrun
Avatar
omochimetaru 5/19/2022 6:50 AM
xcrunの側の話なのか〜
Avatar
https://www.swift.org/getting-started/ の On macOS でも見ました
Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns.
Avatar
Avatar
kebo
https://www.swift.org/getting-started/ の On macOS でも見ました
omochimetaru 5/20/2022 3:36 AM
おお
Avatar
りまいんだ らいしゅうやで
Avatar
omochimetaru 5/23/2022 5:45 AM
資料の進捗80%
😲 1
Avatar
いまいんだ きょうやで
12:57 AM
@tarunon san 配信どっちがします?
Avatar
どちらでもok
Avatar
ンチャ今週はやります
🙇‍♂️ 1
Avatar
ありがと!
Avatar
omochimetaru 5/30/2022 3:32 AM
準備済み
10:22 AM
今日のやつ
10:24 AM
6分前にして誰もいない
👀 2
Avatar
GitHub Gist: instantly share code, notes, and snippets.
10:41 AM
@Douglas_Gregor wrote the Generics Manifesto almost three years ago, which provided the roadmap for the core of Swift's protocols and generics features. Since then, we've implemented almost all of the basic model that it envisioned. Although there are further features we could add, we think we have a solid baseline; meanwhile, we've gained pract...
10:45 AM
奇妙に再帰したテンプレートパターン
Avatar
こんにちは
Avatar
こんにちは
Avatar
こんばんは
Avatar
カリー化的な?
10:52 AM
www
Avatar
yutailang0119 5/30/2022 10:52 AM
うちのGoogleも反応するからやめて
t_kusa 1
😂 2
Avatar
protocol witness tableは動的に作られ得るけど、protocol conformance descriptorは常に静的な情報っていう区分があります。 (edited)
Avatar
モジュールまたぐ時の真の型っていつ決まるんでしたっけ?
Avatar
Existential Container 👀
Avatar
あ、なんでもないw
11:16 AM
Covariantとかcontravariantとかパッと言われてもわからないという感想を書きたかった
Avatar
そうですよね草
Avatar
あ、そうなの?みんなわかってんのかと思ったわw
Avatar
Javaだと書かされる
Avatar
そのうちわからされるよ
Avatar
対応する日本語はわかるんだけどw
11:18 AM
Cat is Animal だったら、Optional<Cat> is Optional<Animal>
Avatar
Optionalはウソ(話をややこしくする)
t_yami 1
t_kusa 1
11:18 AM
🙊
Avatar
catを受け取る関数は、animalを受け取らない
11:19 AM
animalを受け取るを受け取る関数は、catを受け取れる
11:19 AM
わかる
11:20 AM
なってるね
11:20 AM
向きそのまま→covariance
11:20 AM
向き逆になる→contravariance
Avatar
わかりやすかった
Avatar
なるほど!
Avatar
setterとgetterがあるプロパティは、どっちにもならなくなるね
11:21 AM
Box<T>のTから、Box自体のサブタイピング関係は定義できない
Avatar
日本語できょうへんって打ったら日付がたくさんでてきて変換しにくいw
Avatar
Arrayがcovarianceになってるのは、値型故ですね
11:22 AM
ここまでにしておこう
Avatar
値型の話はきかなかったことにしておこう
Avatar
consuming position
Avatar
contravarianceのcontravarianceはcovariance?
Avatar
通る?
Avatar
func foo(cat: Cat) -> Void { ... } func consumeFoo(_ f: (Animal) -> Void) { ... } consumeFoo(foo) (edited)
Avatar
なるほど
Avatar
func foo(f: (Cat) -> Void) { ... } func consumeFoo(_ f: ((Animal) -> Void) -> Void) { ... } consumeFoo(foo) (edited)
Avatar
ややこしいw
11:31 AM
そうだね
Avatar
わからなくなってしまった 😵💫
Avatar
Observable<T>.subscribe(observer: (T) -> Void)
11:33 AM
Observable<Int> is Observable<Int?>
Avatar
それはcovariantだからわかった
11:33 AM
。。。
11:34 AM
あーそういうことか
11:34 AM
関数がでてきた途端にひっくり返すのか
Avatar
引数になる度に裏返すで良いよ
Avatar
引数にいるとひっくり変える
11:35 AM
高校数学で行列勉強しててよかったわ
iosdc_iihanasi 2
11:36 AM
話出てくるたびにふーん…ってスルーしてたからちゃんと聞けてよかった
Avatar
Swiftc合宿 2019/09/28. Contribute to omochi/SwiftTypeInferenceHandsOn development by creating an account on GitHub.
11:37 AM
leftとright逆に渡してなんだって思った記憶がある
11:37 AM
確かにここハマってた
11:38 AM
@objcがcovariantみたいな話は聞いたことある気がする
Avatar
@objcが出てくると途端に頭の使い方かえなきゃいけなくて大変
Avatar
Avatar
giginet
確かにここハマってた
同じくここハマった
Avatar
Result<Value, Failure>のために。。
Avatar
ただのErrorだと情報量足りなさすぎて嫌い
Avatar
ついてた
Avatar
public protocol Error : Sendable {}
Avatar
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
11:43 AM
だから安全
Avatar
Sendableをあちこちにつけまくる時代
Avatar
一応の補足。プロポーザルに書いてあった。Error: Sendable A function or closure that throws can effectively return a value of any type that conforms to the Error protocol. If the function is called from a different concurrency domain, the thrown value can be passed across it. To close this safety hole, we alter the definition of the Error protocol to require that all error types conform to Sendable: https://github.com/apple/swift-evolution/blob/main/proposals/0302-concurrent-value-and-concurrent-closures.md#thrown-errors
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - swift-evolution/0302-concurrent-value-and-concurrent-closures.md at main · apple/swift-evolution
Avatar
進行は阻害したくないけど、お気持ちを述べたいJapaneseムーブするにはチャットが便利
🆗 1
Avatar
外野から補足もやりやすいからね
Avatar
ORT、上手く使えたことがない
Avatar
もう4年前だったこれ https://github.com/tarunon/try-erasure
Swift Type-Erasure implementation and benchmark. Contribute to tarunon/try-erasure development by creating an account on GitHub.
Avatar
なつかし
11:57 AM
ORT、discordで激論したやつ
Avatar
一応連絡: 21:30 に一度切ります
🆗 1
Avatar
おもち資料あと60%ぐらいあるぞw (edited)
t_yami 1
Avatar
「これたぶん今日おらんなあ」っておもいました
11:59 AM
エヴァンゲリオンでいうと序の屋島くらい
Avatar
まだ復習終わってない
Avatar
普段のProtocolのこともよく理解できてなかったことがわかった
Avatar
なるほど
12:01 PM
話が繋がった
Avatar
ORTが出た当時の議論。参考に。ORT回の動画 (#11) https://www.youtube.com/watch?v=4SFa-CitRrk (edited)
Avatar
あと15ふん(ゆっくりでおkです
Avatar
genericsのまとめと並べて見たい
Avatar
夕食でROMっててだいぶ乗り遅れたけど、 Covariant, Contravariant のシンプルな例 // このように Animal を継承した Cat, Dog があるときに class Animal { ... } class Cat: Animal { ... } class Dog: Animal { ... } // Covariant final class List<T> { // 戻り値の位置で T を利用 → Covariant get(at index: Int) -> T } let cats: List<Cat> = ... let animals: List<Animal> = cats // ✅ OK: なぜなら // ↓取り出された Cat インスタンスは Animal なので問題ない let animal: Animal = animals.get(at: 0) // Contravariant final class List<T> { // 引数の位置で T を利用 → Contravariant set(_ value: T, at index: Int) } let cats: List<Cat> = ... let animals: List<Animal> = cats // ⛔ NG: なぜなら // ↓ animals === cats に Dog インスタンスを set できて破綻 animals.set(Dog(), at: 0)
👍 2
Avatar
つかれたw
Avatar
ひっくり返る例 // Contravariant × Contravariant → Covariant final class List<T> { // 引数に渡すクロージャの引数の位置で T を利用 // Contravariant × Contravariant → Covariant func map<U>(transform: (T) -> U) -> List<U> } let cats: List<Cat> = ... let animals: List<Animal> = cats // ✅ OK: なぜなら↓ // ↓ map に渡されたクロージャが // 引数で受け取った Animal の任意のメンバにアクセスしても、 // 実際に渡されるのは Cat なので問題ない let noses: List<Nose> = animals.map(\.nose)
👀 1
Avatar
次回までにちゃんと復習しておくように!
12:20 PM
とても勉強になりました
Avatar
yutailang0119 5/30/2022 12:20 PM
疲れた
Avatar
たぶんmangleでも敷居高い人はおるでw
Avatar
全て完璧についてきていれば
Avatar
そんなやつはいない
Avatar
過去35回の集大成
Avatar
毎回出てると目でdemangleできるようになる
Avatar
↓多分出てなかった話で、 Contravariant だと親→子の代入ができる // Contravariant let animals: List<Animal> = ... let cats: List<Cat> = animals // ✅ OK // ↓ animals に Cat が set されても問題ない cats.set(Cat(...), at: 0) // Covariant let animals: List<Animal> = ... let cats: List<Cat> = animals // ⛔ NG // ↓任意の Animal が返って来得るので破綻 let cat: Cat = cats.get(at: 0)
Avatar
👏
Avatar
また現地でホテルから深夜に参加するやつだw
Avatar
yutailang0119 5/30/2022 12:22 PM
WWDCで確定情報に変わったりしない?
Avatar
freddi(Recording) 5/30/2022 12:23 PM
1️⃣ 木曜 2️⃣ 金曜
1️⃣ 13
2️⃣ 12
Avatar
@koher san https://twitter.com/___freddi___/status/1514927316060995588 これって共編とかですか?
@Kyomesuke Computed PropertyをVoidを受け取る関数と考えると共変が成り立つということかなあって思いました 詳しい人の意見も聞きたい https://t.co/820iwY4KRs戻り値の型と共変性
12:32 PM
結論からいうと、mutating setな関数は、例え引数に型引数を持っていても、contravariantにならない
12:34 PM
let n: Int = 42 let intType: Int.Type = n.dynamicType
Avatar
freddi(Recording) 5/30/2022 12:34 PM
そろそろ配信切ります
Avatar
n.dynamicType -> type(of: n) (edited)
Avatar
もう全然覚えてないなぁw
Avatar
おつかれさまでした
Avatar
おつ
Avatar
木曜日までに復習しないと
12:35 PM
お疲れ様でした
Avatar
freddi(Recording) 5/30/2022 12:36 PM
# わいわいswiftc #36.5 オンライン 昨今の社会的情勢を鑑みて、当面はオンライン開催を致します。 swift-developers-japanのDiscordサーバー上でオンライン配信を行う予定です。 Discordサーバーへはこちらのリンクから参加いただけます。 https://discord.gg/swift-developers-japan 本サーバーについて詳しく知りたい方は、下記をご覧ください。 https://medium.com/swift-column/discord-ios-20d586e373c0 # わいわいswiftc わいわいswif...
Avatar
yutailang0119 5/30/2022 12:36 PM
さんのーがーはい
Avatar
@swift-main protocol P {} func makeP() -> some P { fatalError() }
Avatar
Avatar
omochimetaru
@swift-main protocol P {} func makeP() -> some P { fatalError() }
swiftNightly BOT 5/30/2022 12:46 PM
exit status: 1 with stderr:<stdin>:3:5: error: return type of global function 'makeP()' requires that 'Never' conform to 'P' fatalError() ^ <stdin>:2:17: note: opaque return type declared here func makeP() -> some P { ^~~~~~
Avatar
@swift-main protocol P {} func makeP() -> some P { return fatalError() }
Avatar
Avatar
omochimetaru
@swift-main protocol P {} func makeP() -> some P { return fatalError() }
swiftNightly BOT 5/30/2022 12:47 PM
exit status: 1 with stderr:<stdin>:3:12: error: return type of global function 'makeP()' requires that 'Never' conform to 'P' return fatalError() ^ <stdin>:2:17: note: opaque return type declared here func makeP() -> some P { ^~~~~~
Avatar
@swift-5.6.3 protocol P {} extension Never: P {} func makeP() -> some P { return fatalError() }
Avatar
Avatar
koher
@swift-5.6.3 protocol P {} extension Never: P {} func makeP() -> some P { return fatalError() }
stderr:<stdin>:4:5: warning: will never be executed return fatalError() ^ <stdin>:4:12: note: a call to a never-returning function return fatalError() ^
Avatar
(そうか、昨日の Variance の説明のとき、画面共有しないと動画に残らない問題があったのか。そこまで頭が回ってなかった・・・)
Avatar
Avatar
koher
(そうか、昨日の Variance の説明のとき、画面共有しないと動画に残らない問題があったのか。そこまで頭が回ってなかった・・・)
僕が画面を動かせばいい話ですがネコチヤンたちの面倒を見ないといけなかったのでそこまでにアクティブに対応できませんでしたスイマセン
🙇‍♂️ 1
Avatar
録画担当でやるの負荷大きいから、なるべく配信握ってる人がハンドルするのが良いですね
6:27 AM
あと配信変わると録画担当が切り替えないと映らないから、そこだけ注意だ
sorena 1
Avatar
ディスコそこら編らくにハンドルしてくれるAI開発してほしい
Avatar
そのあたりはZoom楽ですよね。 あと、昨日はディスコでディスコのウィンドウ共有できたっけな?というところにも疑問があり。Zoomは自己共有できないけどディスコはできるんでしたっけ?
Avatar
できます
6:39 AM
画面全体映したらそのまま映ると思うけど、それとは違う…? (edited)
Avatar
画面全体は色々事故りそうだからウィンドウに限定したいなと。
Avatar
omochimetaru 5/31/2022 6:39 AM
普通に対象ウィンドウの中にDiscordありますね
Avatar
おお、素晴らしい。
Avatar
Kishikawa Katsumi 5/31/2022 6:57 AM
Zoomでやると楽になるなら私のZoomのライセンスでできますよ。ライセンスは任意の人に付けられる。 URL配るのが面倒になるかな?
Avatar
omochimetaru 5/31/2022 6:57 AM
個人的にはZoomは使いづらいから使いたくないなあ
Avatar
私が配信するときはテキストチャットも写してるのだけど、1アプリの方が嬉しいかな
6:58 AM
レイアウトはオレオレで調整してますが
Avatar
今日やで
👍 1
Avatar
omochimetaru 6/2/2022 6:51 AM
資料ちょっと書き足した
👍 1
Avatar
20分からブンブンハローユーチューブします
10:10 AM
資料とソース
Avatar
freddi(Recording) 6/2/2022 10:24 AM
わいわいswiftc #36.5 https://youtu.be/d2cwU_rbkQ0 今日の配信です
t_waiwai 4
Avatar
テキストチャンネル眺めながら始まらないなあとか思ってた
10:33 AM
通話とテキストでチャンネル間違えた
Avatar
freddi(Recording) 6/2/2022 10:33 AM
19:45 からやります
10:33 AM
ぴょまいらじかんやぞ~~~~~~~~~
Avatar
まにあった
Avatar
こんにちは
Avatar
おはにゃん
Avatar
もしかしてProtocolのPと、struct P: P {}って区別できるようになるのかな
Avatar
Anyは空のprotocolなるほど
Avatar
そうそう
10:50 AM
それはそうw
Avatar
struct Hoge: HogeProtocol を嫌って同名にするパターンありそう
👍 3
Avatar
あぁanyってついてたらprotocolだとおもえばいいのか。いいな
10:55 AM
any P & Q & Rって書けるんだっけか
10:56 AM
any (P & Q & R).Type
10:56 AM
any がないとCompile Errorになったりはしないのか
10:57 AM
Swift 6からか。
10:57 AM
Swift 3 -> 4の @objcを思い出すな
Avatar
ふむふむ
Avatar
これまでassoc typeがあったらExistentialにできなかったという前提ね
10:58 AM
きた!contravariant!進研ゼミでやった!
t_kusa 2
Avatar
前回のdateさんの質問がとても良かった
t_desune 1
t_nyan 1
Avatar
any BPっていう実際の型が暗黙的に生成されてるってこと?
11:03 AM
なるほど
11:04 AM
ほー複雑だけどなんとなく理解
11:04 AM
contra x contra = co
11:06 AM
へーこれどうやって解決してるんだろ
11:06 AM
型推論の時点で確定するの?
11:06 AM
そっか
Avatar
めちゃくちゃ気持ちいい言語仕様になってる
Avatar
おっけーこれはよさそう
Avatar
書きたくなっちゃうね
Avatar
PはProtocolにしたいけど、assoctypeはもう型をきめちゃいたいときに有効
11:08 AM
昔書きたくて書けないなーってことが何度かある
11:10 AM
なんかすっきりかけそう protocol Request { associatedtype Response func request() } protocol StringRequest: Request where Self.Response == String { func decode() }
Avatar
type erasureいらないのたすかる
Avatar
typeerasureだとクソ複雑で無理だったコードとか、ワンチャン循環する構造もexistentialに落とせそう
11:11 AM
Persecのコードはめちゃくちゃ簡単になるはず
Avatar
combineでeraseToAnyPublisher()を呼ぶ必要がなくなる可能性はありますか?
Avatar
あーそれありそう
Avatar
self conformingがあれば要らなくなると思います
11:11 AM
あーただ
11:12 AM
型あわせゲームのためにやってることがあるので
11:12 AM
全てのケースで不要にはならない
Avatar
型合わせゲームが簡単になりそうな印象はある
tarunon started a thread. 6/2/2022 11:15 AM
Avatar
ふーん、assoc type制約多くて嫌いだったけど、なんか好きになれそう
Avatar
困るバリアンスの時のエラー説明するの大変そう(感想)
Avatar
超大作だ
11:30 AM
知らないとたしかに困りそうw
11:31 AM
some P? と (some P)? は違うのか
11:32 AM
あー前者はだめなのね
11:32 AM
たしかに
Avatar
P?はOptionalに包まれてるのでsome P?はエラー
Avatar
これがanyでもできるなら、AnySequence AnyPublisherをある程度代替できる
12:00 PM
こっちを丸括弧にした方が良いんじゃないかw
12:00 PM
genericsと混同しちゃう
12:01 PM
GenericProtocol氏んだ
Avatar
そういうのはありそうだね
Avatar
これすごいなw
12:06 PM
※引数のsome Pは普通のジェネリクス (edited)
Avatar
anyがsomeになるの!?
Avatar
つまりexistentialをgenericsに渡してる
Avatar
P が P に準拠してないから呼べないーって言ってたやつが解決すると言うことですよね
Avatar
そですね
12:07 PM
フィールドの制約以外が解決できる
12:08 PM
workaroundが要らなくなった
Avatar
便利だ
Avatar
これは返り値もいけるのか?
12:09 PM
@scenee 【朗報】多分AnyPublisherは要らなくなります
Avatar
おお!
Avatar
あ〜〜制約ー
Avatar
とりあえず脳死でsomeにしとけばいいみたいなことはないのか
Avatar
初歩的な質問なのですが、"open"とはどういう意味で使われていますか?
Avatar
までもこれはPublisher関係ないな
12:10 PM
open existentialという話があって
12:11 PM
この記事ではSwiftのProtocol ExtensionがExistentialをopenする事を説明します。 Existentialと型変数の違い SwiftのExistentialは、プロトコルに対して自動定義される型で...
先日「ジェネリクス勉強会」なるものが開催されていたようで地方エンジニア勢の自分にとってには羨ましい限りだったのですが、ニコニコ動画で一部の発表をみたりTwitterのハッシュタグを眺めていると「存在型」が紹介されていたみたいで、自分の...
Avatar
(カンペ)一応終了時間は21:30 めやすですがまあ10時くらいまで延長も見据えてるので自由にやって下しあ
Avatar
ORT大活躍やな
Avatar
これ返り値も動くなら、その部分は新しくできることが増えている
Avatar
Existential理解してるしてないで断絶が発生しそうw
Avatar
解らなくてもある程度何とかなるような気がする
Avatar
むしろ分からなくてもなんとなくで使える形になったような気がする
Avatar
今までのexistentialがgenericsに渡せなかったり、なぜかexistentialが作れなかった世界よりは遥かに優しくなった
Avatar
今まではOpenの裏技を知ってる人しか書けないコードがあったので
Avatar
なるほど。6はなんでダメなのかと思ったけど、 print(type(of: t)) みたいなのされたらだめなのか。
Avatar
渡せない例を書いたときに断絶が影響しそう
Avatar
それ
Avatar
@swift-5.6.3 protocol P {} extension P { func f() -> Self { self } }
Avatar
Avatar
Iceman
@swift-5.6.3 protocol P {} extension P { func f() -> Self { self } }
no output
Avatar
@swift-5.6.3 protocol P {} extension P { func f() -> some P { self } }
Avatar
Avatar
tarunon
@swift-5.6.3 protocol P {} extension P { func f() -> some P { self } }
no output
Avatar
いけたーww
12:20 PM
someの出現と共に出来るようになってたのか
12:20 PM
これ真のopen existentialですね
Avatar
でもeraseToAnyPublisherをほんとになくせるのでは。これで。 (edited)
Avatar
無くなりそうですねぇ
Avatar
それはうれしい
Avatar
嬉しいですね〜!
Avatar
そもそもCombine今後どうなるの?っていうのはあるけど…
Avatar
WWDCでSwiftUI が SwiftConcurrency に対応して世代交代よ
Avatar
AsyncSequenceになってもろて…
Avatar
頑張れswift-async-argorithms https://github.com/apple/swift-async-algorithms
Async Algorithms for Swift. Contribute to apple/swift-async-algorithms development by creating an account on GitHub.
Avatar
自分もこれに期待してます。
12:28 PM
やっと、any / someがわかってきたような気がする。
Avatar
ややこしいw
Avatar
こんな例外ケースよく気がつくなぁ
Avatar
サジェストしてほしいw
Avatar
このエラーメッセージはw
12:38 PM
なるほど
Avatar
これXcodeで変数に置いて型見たらどう書いてあるんだろう
Avatar
互換性を破壊できるは草
Avatar
swift6 ga
Avatar
1年で互換が破壊される言語
Avatar
怖くなってきた
Avatar
大陸プレート歪みみたいにたまってる
Avatar
そっか5はもっと長いか
Avatar
Kishikawa Katsumi 6/2/2022 12:42 PM
これは知らないところで破壊が起こるやつ?
12:43 PM
それならいいね
Avatar
そういえばcompactMapValuesはSwift 5だった
Avatar
Kishikawa Katsumi 6/2/2022 12:43 PM
そうじゃなければカバレッジ100%のテストがいる
Avatar
asに新たな闇が
Avatar
www
Avatar
ええ!
Avatar
ええ…
Avatar
Kishikawa Katsumi 6/2/2022 12:48 PM
これは頭にParserが入ってないと難しくないか😅
Avatar
サジェストされてほしい
Avatar
open抑制を as でやってるのがやっぱり無理があるのでは
Avatar
これは...
Avatar
PR上で何も分からなくなって終わるやつだ
Avatar
as無理ではw
Avatar
Kishikawa Katsumi 6/2/2022 12:49 PM
オーバーロードの候補が出て、選ぶと呼び出すコードが変わる、みたいな。
Avatar
as any P つけるのわからなくて2回サジェストされそう
Avatar
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - swift-evolution/0352-implicit-open-existentials.md at main · apple/swift-evolution
Avatar
まあそもそもanyとsomeのオーバーロードは危なすぎてそっち側をなおした方が良い
Avatar
any Pをsome Pに変換するのを抑制するために、p: any Pの p を p as any P って書くっていうのが、やはり直感的ではない気がします (edited)
Avatar
as any Pだから妙なんであって
Avatar
ダイヤモンドってこれ? <>
👌 1
Avatar
as Anyなら納得感あると思うけど
Avatar
とはいえ知らないと結構カジュアルにanyとsomeでオーバーロードやりそう
Avatar
Kishikawa Katsumi 6/2/2022 12:54 PM
自分の足を撃ち抜くってやつか
Avatar
何というかas any Pの話は、ちゃんとオーバーロードの優先順位を整理したらよかったのではと思った
12:55 PM
any Pの変数に対して any P > some P > T の優先順位なら
12:55 PM
何の問題も無かったはず
Avatar
some P と T は区別つかなさそう
Avatar
some Pの方が強いという定義にしてしまう
12:56 PM
だからTに渡すときはas Anyと書く
Avatar
existentialへのラップのためのasとオーバーロード解決のためのasが混同しませんか?
12:59 PM
それは今も同じか・・
Avatar
この場合、オーバーロード解決のためのasは存在して無くて
12:59 PM
ただのキャストの結果のオーバーロード解決だよ (edited)
Avatar
ああ、その場合にTにany Pを渡すのは諦めるということですね
Avatar
今の仕様はオーバーロード解決のためのasという新たなルールを追加してる
1:00 PM
そうですね
Avatar
これを使ったSwiftUIの新しい機能が出ます!(適当)
Avatar
アプリ側ではプロトコルベースのSwiftUI DIは書きやすくなりそうだけど、それが良いことかどうかはわからない
Avatar
func f<T>() -> any Sequence<T> (edited)
Avatar
すばらしい発表だった
Avatar
👏
Avatar
👏
Avatar
👏
Avatar
omochimetaru 6/2/2022 1:05 PM
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - swift-evolution/0353-constrained-existential-types.md at main · apple/swift-evolution
Avatar
extension Publisher { func benri<T>(...) -> any Publisher<T, Failure> }
🙌 1
Avatar
Avatar
Iceman
func f<T>() -> any Sequence<T> (edited)
omochimetaru 6/2/2022 1:09 PM
1:10 PM
Hello, Swift community. The review of SE-0358: Primary Associated Types in the Standard Library begins now and runs through May 30th, 2022. Reviews are an important part of the Swift evolution process. All review feedback should be either on this forum thread or, if you would like to keep your feedback private, directly to me as the the review...
Avatar
逆にSwift5系のアプリが入ってる端末がOSアプデしたらアプリが動かなくなる?
Avatar
あー、そうなるのか。
Avatar
__swift_instantiateConcreteTypeFromMangledName の中で呼ばれている swift_getTypeByMangledNameInContext が some type を組み合わせて返すような状況で何が起こっているか調べる ↓の発表で若干見せているけど踏み込んでいない https://speakerdeck.com/omochi/swift6falseprotocol
Avatar
What’s new Protocol
Avatar
freddi(Recording) 6/2/2022 1:29 PM
The Server-Side Swift Conference. Organised by @MartinLasek @steffendsommer and @0xTim
Followers
2354
Tweets
223
1:31 PM
@tarunon san recording のほうに権限付与お願いしますmm
🙋‍♀️ 2
1:35 PM
ありがとうございます!
Avatar
event opsつけときました
☺️ 1
Avatar
freddi(Recording) 6/2/2022 1:36 PM
【告知】リアル開催のセッティング興味ある人いたらお声がけください (edited)
Avatar
同僚の @ainame さんが、swift-experimental-stringのコードリーディングやってくれそう!
Avatar
オッ
Avatar
omochimetaru 6/16/2022 3:05 PM
Avatar
よく分からないけどやることになったらしい
😂 2
Avatar
発表を勧めました
3:09 PM
ainameさんUKにお住まいなので、トーク時間を例えば20時半ぐらいからとかの方がやりやすいかも知れない?
Avatar
いっそBST 22時ぐらいどうですか😂
3:24 PM
冗談です
Avatar
日本時間の早朝になってしまうw
Avatar
調整しやす
Avatar
@ainame san 何曜日から何曜日までの何時くらいが活動可能かそちらの時間で登壇可能ですか?
t_oltsu 1
4:38 AM
(こっちで提示しようかと思ったけど割と時差がシビアだった
Avatar
omochimetaru 6/21/2022 6:21 AM
@omochimetaru 覚えてるうちにわいわいで話したい
Avatar
おっしゃ
9:47 AM
@Yuta Saito いつがいい?(できれば 7/3- 7/15 はワイが県外にいるので避ける感じでお願いシャス)
9:49 AM
7/3-7/15 僕以外で配信できる人がいたら別に大丈夫
Avatar
私が出来そう
t_kami 1
Avatar
Avatar
freddi
@Yuta Saito いつがいい?(できれば 7/3- 7/15 はワイが県外にいるので避ける感じでお願いシャス)
しばらくちょっと忙しいので7/18の週が良いかなぁ
Avatar
OKす
10:33 AM
まあ8月でも
Avatar
僕の記憶が無くならない内ならいつでも
Avatar
おkす、じゃあ問題なけりゃ8月第1週の月曜で行きましょう @Yuta Saito cc 運営 @tarunon @giginet @Iceman
👌 2
Avatar
iceman次の運営担当指名して (edited)
Avatar
前回の最後に@freddi にお願いしましたが都合悪いということですか?(ログ読んだ感じ都合悪い日回避できてそう?)
Avatar
都合悪い日回避できそうなのでわしおっけー
t_kansha 1
🙏 1
Avatar

日時

MM/DD (N曜日)
  • [ ] 登壇予定者全員が参加できるか、登壇準備ができるか確認する
  • [ ] 参加者が被りそうな勉強会とぶつかっていないか、イベントカレンダーで確認する https://connpass.com/calendar/
  • [ ] Discordのイベント機能でスケジュールしておく (チャンネル一覧の一番上にある Event から Create Event を選択)

場所

connpass

わいわいswiftc #00 - connpass

コンテンツ

  • @kateinoigakukun
~
Avatar
omochimetaru 6/22/2022 7:31 AM
@freddi @ainame さんのやつは?
Avatar
とりあえず https://discord.com/channels/291054398077927425/380329942505750529/988301470220820483 の返答待ちで、調整次第ではこちらを先に36にするつもりでした〜
Avatar
omochimetaru 6/22/2022 8:03 AM
あ、本当だ、なるほど
Avatar
@freddi 8/1-5に休み取れたのでその週のJST 19時以降なら行けそうな気がします (edited)
9:04 AM
(しかしapple/swift-experimental-string-processingのコードリーディング会、需要があるのかよく分からない)
Avatar
Kishikawa Katsumi 6/22/2022 9:05 AM
かなりおもしろそう。 私はPEGが入ってたのが興味深いと思いましたね。
9:07 AM
SwiftでParserを実装するのはこうやるのか、みたいなところも勉強になると思うし。
t_naruhodo 1
9:08 AM
評価エンジンにはこういうデータ構造で渡すのか、とか。
Avatar
omochimetaru 6/22/2022 9:12 AM
コードリーディング会っていうのがどういうものなのか見たことなくてイメージつかないけど、 テキスト処理系は小さなコンパイラみたいなもんなんで、 勉強会のテーマとしてはマッチしてると思います。 僕も syntax highlighter の実装の話をしたことがあるし。 https://speakerdeck.com/omochi/visual-studio-codehu-huan-nasyntax-highlighterfalseshi-zhuang
t_waiwai 1
Avatar
実は昔読んだ最適化パスもある意味コードリーディング会
Avatar
Avatar
ainame
@freddi 8/1-5に休み取れたのでその週のJST 19時以降なら行けそうな気がします (edited)
okです @Yuta Saito の登壇の日程と合わせてもいいかもですね
Avatar
@ainame @Yuta Saito 時差の都合も踏まえて JST 8/2 (火) 19:30~ にお二人の登壇回をしても大丈夫ですか?(かていくん月曜から変更するけど大丈夫? 前半 ainame さん 後半 katei kun (edited)
Avatar
8/2だいじょうぶです👌
Avatar
Avatar
freddi
@ainame @Yuta Saito 時差の都合も踏まえて JST 8/2 (火) 19:30~ にお二人の登壇回をしても大丈夫ですか?(かていくん月曜から変更するけど大丈夫? 前半 ainame さん 後半 katei kun (edited)
@ainame san こちら大丈夫そうですか?
Avatar
Avatar
freddi
@ainame san こちら大丈夫そうですか?
お、すみません大丈夫です 🙇‍♂️
Avatar
ありがとうございます!ではコンパス明後日までに作ります(明日まで忙しいのでmm
Avatar
期待
Avatar
@ainame san @Yuta Saito san cc @giginet san @Iceman san @tarunon san https://iosdiscord.connpass.com/event/252856/preview/ レビューよろです。登壇者おkだったら公開しやす(運営の方々は開催時間の変更も踏まえてちらっと見てくださると
connpassはイベントやIT勉強会の開催、さらに参加者の集客に便利です。コミュニティやグループの運営やイベントの検索、事前決済もできます。
👌 3
5:49 AM
@ainame san connpass のアカウント教えて下さい。僕が管理者に登録後に見れるようになります
Avatar
良さそうに見えますー 🙆‍♂️
💯 1
Avatar
Avatar
freddi
@ainame san @Yuta Saito san cc @giginet san @Iceman san @tarunon san https://iosdiscord.connpass.com/event/252856/preview/ レビューよろです。登壇者おkだったら公開しやす(運営の方々は開催時間の変更も踏まえてちらっと見てくださると
LGTM
👍 2
Avatar
LGTM
👍 1
6:26 AM
我々は酒飲みながら聞いてるのに、朝10時(GMT)から登壇するainameさんありがとう 🙏
Avatar
Avatar
freddi
@ainame san @Yuta Saito san cc @giginet san @Iceman san @tarunon san https://iosdiscord.connpass.com/event/252856/preview/ レビューよろです。登壇者おkだったら公開しやす(運営の方々は開催時間の変更も踏まえてちらっと見てくださると
connpassはイベントやIT勉強会の開催、さらに参加者の集客に便利です。コミュニティやグループの運営やイベントの検索、事前決済もできます。
Avatar
Avatar
ainame
追加しやした みれるとおもいまうs
1:27 AM
最初 ainame で出てこなかった気がしたけどたぶんtypoか
Avatar
見られました。1時間半も時間あるのか〜。
Avatar
勝手にみんなわいわいしてたら時間経つので、話すのは15分ぐらいでじゅうぶんですよw
9:09 AM
好きなだけ話してください
9:10 AM
調べたりなかった部分はじゃあその場で見てみるか、みたいなスタイルでやってる
Avatar
はいw 早く終わったら次の番に早く行くのもありですがインタラクティブな勉強会で質問が途中でとんでくるので大体オーバーします
Avatar
@ainame とりあえず公開しても大丈夫ですか?
Avatar
おすおす
Avatar
ありがとうございます!明日の昼公開しまう🅂
Avatar
# わいわいswiftc #37 オンライン 昨今の社会的情勢を鑑みて、当面はオンライン開催を致します。 swift-developers-japanのDiscordサーバー上でオンライン配信を行う予定です。 Discordサーバーへはこちらのリンクから参加いただけます。 https://discord.gg/swift-developers-japan 本サーバーについて詳しく知りたい方は、下記をご覧ください。 https://medium.com/swift-column/discord-ios-20d586e373c0 # わいわいswiftc わいわいswiftc...
2:20 AM
今回は30分開始が早いのでご注意ください
Avatar
あれ、ほんまや気づかんかった > 30分早い
2:39 AM
@freddi 説明文とconnpassのスケジュールの時刻が一致してないです!
Avatar
あやば
2:40 AM
しゅうせいしやした
👍 1
Avatar
[お知らせ] 8/2 開催会ですが、都合により ainame さんの登壇のみになります。katei くんの登壇は10月頃に行う予定なのでお楽しみに〜
🙏 2
👍 1
Avatar
リマインド:来週です
🔥 2
Avatar
リマインダ:明日やで (edited)
🤗 1
🙌 1
10:09 AM
リマ:ついでに開催時間いつもより早いで(19時)
Avatar
配信僕だっけか
10:10 AM
この間PC初期化したから配信係なら環境セットアップしなきゃいけない
Avatar
たぶんなんかお願いした記憶があります
Avatar
オッケー、準備しときます
Avatar
ちょっとPC不安定でまた初期化してるんで、配信他にできる人いたらお願いしたいかも
Avatar
(取りあえずPCは復旧しました)
Avatar
ワシやれますよ、一応今回もやったほうが良さげかな
Avatar
取りあえず配信可能な状態になった、悪いのはディスプレイ繋いでるケーブルって事もなんとなく分かったんで、今日は大丈夫
Avatar
はーい
Avatar
そういや配信人材ってtarunonさんとわいだけかな (edited)
Avatar
そうだと思う、ひらりがいた頃は彼も出来たが
Avatar
あーたしかに
4:54 AM
ひらりさんいつの間にか鯖からいなくなってる
Avatar
まあそれは個人の自由なのでは
tashikani 1
Avatar
[お知らせ] 配信人材も募集中です。配信技術が身につきます
Avatar
obs起動してloopback繋ぐだけやけどねw
Avatar
wwwwwww
4:56 AM
Windowsだと loopback いらないので楽
4:57 AM
事故ると他のゲームの音声とかはいるけど
Avatar
さっきobsセットアップしたら、youtube連携がシームレスになってて感動したよ
Avatar
え、まじすか。もうキーをコピペしなくていいのか
Avatar
ログインするだけになってた
Avatar
すげー
4:57 AM
Oauth的なサムシングかな
Avatar
連携はoauth2だね
naruhodo 1
Avatar
わいわいしてきた
9:52 AM
配信準備は出来てます
Avatar
tarunon_rec 8/2/2022 9:52 AM
画面共有ちょっと試してもらえますか
Avatar
ミスった、PCだと配信垢になってしまう
9:54 AM
よさそう!
Avatar
わいわい
Avatar
わいわい
9:55 AM
Discordってアプリケーション単位でしか画面共有できないんですかね?
Avatar
画面単位もありますよ
Avatar
omochimetaru 8/2/2022 9:55 AM
デスクトップまるごとモードもありますよ
Avatar
元同僚(😭
Avatar
その場合は別途許可しないといけない
Avatar
お了解
9:55 AM
Xcodeとブラウザ切り替えが発生しそうな気がしてました
9:56 AM
できたかな
Avatar
tarunon_rec 8/2/2022 9:56 AM
ボイスチャットチャンネル使うか、Textチャンネル使うか統一したい
9:56 AM
配信に流すので
9:56 AM
Textチャンネルでいいか
Avatar
Avatar
tarunon_rec
ボイスチャットチャンネル使うか、Textチャンネル使うか統一したい
omochimetaru 8/2/2022 9:57 AM
普通にテキストチャンネルのほうが後日とかも書き込みやすい
👍 1
Avatar
じゃあそろそろ配信開始しておきます
Avatar
omochimetaru 8/2/2022 9:58 AM
Swiftの正規表現の実装見てたらソースコードに絵文字が使われていた
Likes
491
Retweets
110
9:58 AM
↑予習してるときにツイートしたら伸びたやつ
Avatar
今日はOBS経由でYoutube側のコメントも配信に載せてみてます(あるかどうかはさておき)
Avatar
omochimetaru 8/2/2022 10:03 AM
τ_0_0
Avatar
あれ、19時開始か。19時半だと思って動いていた
👀 1
10:05 AM
一旦ご飯食べながら参加
Avatar
いい話
Avatar
🐟 とは関係ない
Avatar
この前あいなめ釣った
10:09 AM
イギリスいきたい
👀 1
Avatar
yutailang0119 8/2/2022 10:09 AM
イギリス行ってみたい
👀 1
Avatar
フィッシュチップス食べたい
Avatar
本場のフィッシュ&チップス!
Avatar
実は僕も行かず仕舞いだった・・・・・・
10:10 AM
正規表現合宿ブリストル編
Avatar
この準備、事前にお知らせしてたらworkshopっぽく出来たかも。次回似たようなことやるときの参考にしたい
👀 1
👍 1
Avatar
omochimetaru 8/2/2022 10:11 AM
10:11 AM
1分で落とせそう
Avatar
※回線速度には個人差が
Avatar
Xcode14betaに入ってる5.7じゃダメなのか
Avatar
omochimetaru 8/2/2022 10:13 AM
この前いけた気がするんだけどなー
10:13 AM
いまやったらビルドできなかった
Avatar
試行錯誤の過程も公開してくれてるのいいね
Avatar
Kishikawa Katsumi 8/2/2022 10:14 AM
Macでのビルドはいろいろ難しい
Avatar
omochimetaru 8/2/2022 10:15 AM
5.7 / 07-23 でもビルドこけた
10:16 AM
10:19 AM
mac targetでも _RegexBuilder はいけた
Avatar
"-Xfrontend", "-disable-availability-checking"
Avatar
Kishikawa Katsumi 8/2/2022 10:27 AM
@_spi(PatternConverter) public func renderAsBuilderDSL( ast: Any, ...
Avatar
@_spi(PatternConverter) import _StringProcessing
Avatar
Kishikawa Katsumi 8/2/2022 10:27 AM
@testable @_spi(PatternConverter) import _StringProcessing ...
Avatar
困るケースあるから一般人も使いたい
10:34 AM
メタプロ作り太郎いるの便利だ
10:39 AM
BigPicture.md良いな
10:43 AM
これVenturaですか?
Avatar
omochimetaru 8/2/2022 10:43 AM
public struct RegexSemanticLevel: Hashable { internal enum Representation { case graphemeCluster case unicodeScalar }
Avatar
MontereyでもPlaygroundで正規表現リテラル使えるのか
10:44 AM
Xcode14なら普通にいけるのかな
10:45 AM
どうも!
10:45 AM
ボチボチ音声復帰します
10:47 AM
エッジケースが厳しすぎる・・・・・・
10:50 AM
最長マッチとかどうするんだろう
Avatar
とてもふべんです!
t_kusa 1
Avatar
メチャクチャ大変そう・・・・・・
10:54 AM
すごい
Avatar
そういえば iosdc でアラビア語のはなししてましたね
Avatar
In computer science, a perfect hash function h for a set S is a hash function that maps distinct elements in S to a set of m integers, with no collisions. In mathematical terms, it is an injective function. Perfect hash functions may be used to implement a lookup table with constant worst-case access time. A perfect hash function can, as any has...
11:03 AM
単射でマップできる&ハッシュ値の値域がn=キーの個数として[0, n)なハッシュ関数、とのこと (edited)
11:08 AM
_RegexParser.parse アンスコ付いててダサいなぁ
Avatar
人類、何億回正規表現パーサーを再実装するのか
Avatar
一応21時まで時間あるんでゆっくりどうぞ
11:27 AM
まあ終了時間はあってないようなものなので (edited)
Avatar
.some(.some(.some(.none)))みたいなこと?
Avatar
Regex<(SubString????????)>
Avatar
Optional<Optional<SubString>>>
11:42 AM
こいつ、メモリ上に直接・・・・・・!
Avatar
ジェネリックメタタイプは普通に実行時に作れる
11:45 AM
はい
Avatar
ごつい
Avatar
ICに乗るとかそういう話かな
11:59 AM
そうですね
11:59 AM
VMの実装だとありがち
11:59 AM
スレッディングコードとかそういうキーワード
11:59 AM
スレッデッドコードだ
12:05 PM
がんばります 🙏
12:05 PM
噂には
👀 1
Avatar
そもそもお昼テレビ見て無さそう
t_sorena 1
12:06 PM
テレビがない説も
Avatar
テレビ最近ない家庭多いもんなあ
Avatar
"本当の正規表現"は決定性だけど、一般的な正規表現は非決定性
Avatar
omochimetaru 8/2/2022 12:08 PM
なるほど
Avatar
Kishikawa Katsumi 8/2/2022 12:10 PM
大学学部、情報系学科の専門課目「コンパイラ」の教科書。本書はコンパイラの基礎的な理論も紹介していますが、理論そのものよりもそれらがコンパイラ開発にどう活かされるかに重点を置いて解説しています。具体例を示すためにC言語とPentiumプロセッサを主たる対象としています。コンパイラを構成するさまざまな処理に対して、紙面の許す限り処理プログラムを掲載しています。 (株)昭晃堂から発行していた書目をオーム社より再発行するもの。
Avatar
https://github.com/freddi-kit/Braph あった、湯浅さんの本読みながらやったやつ
Hand Made Compiler in Swift. Contribute to freddi-kit/Braph development by creating an account on GitHub.
12:18 PM
ぬけます、お疲れさまでした〜
Avatar
Regex literalとbuilderの違いとしてcaptureした結果をdynamic member lookupでとるやつがbuilderだと使えない(代わりにReferenceので参照する必要がある)ってのあった気がします
👀 2
12:19 PM
自分もお昼ご飯まだ食べられてないので抜けます👋
👏 7
Avatar
Kishikawa Katsumi 8/2/2022 12:21 PM
In Perl’s regex flavor, and compatible flavors, you can use a special construct to create conditional if-then-else regular expressions.
Avatar
抜けます。ありがとうございます!お疲れ様でした!
Avatar
Kishikawa Katsumi 8/2/2022 12:25 PM
/<(?P<tag>[A-Z][A-Z0-9]*)\b[^>]*>.*?<\/(?P=tag)>/
12:25 PM
/<([A-Z][A-Z0-9]*)\b[^>]*>.*?<\/\1>/
12:26 PM
"<" Capture { Regex { ("A"..."Z") ZeroOrMore { CharacterClass( ("A"..."Z"), ("0"..."9") ) } } } Anchor.wordBoundary ZeroOrMore(.anyOf(">").inverted) ">" ZeroOrMore(.reluctant, .any) "</" /* TOOD: backreferences */ ">" }
12:27 PM
/(?(?=regex)then|else)/
12:27 PM
^ コンパイルエラー
12:27 PM
/<([A-Z][A-Z0-9]*)\b[^>]*>.*?<\/\2>/
12:28 PM
^ コンパイルエラー Cannot parse regular expression: no capture numbered 2 (edited)
12:28 PM
/<(?P<tag>[A-Z][A-Z0-9]*)\b[^>]*>.*?<\/(?P=tab)>/ ^ コンパイルエラー Cannot parse regular expression: no capture named 'tab' (edited)
12:31 PM
-enable-bare-slash-regex
Avatar
@swift-main let re = /Hello, (\w+)?/
Avatar
Avatar
Iceman
@swift-main let re = /Hello, (\w+)?/
swiftNightly BOT 8/2/2022 12:31 PM
exit status: 1 with stderr:<stdin>:1:19: error: expected pattern let re = /Hello, (\w+)?/ ^ <stdin>:1:23: error: consecutive statements on a line must be separated by ';' let re = /Hello, (\w+)?/ ^ ; <stdin>:1:23: error: expected expression let re = /Hello, (\w+)?/ ^ <stdin>:1:10: error: '/' is not a prefix unary operator let re = /Hello, (\w+)?/ ^ <stdin>:1:11: error: cannot find 'Hello' in scope let re = /Hello, (\w+)?/ ^~~~~
Avatar
@swift-main -enable-bare-slash-regex let re = /Hello, (\w+)?/ print(type(of: re).self) (edited)
Avatar
Avatar
Iceman
@swift-main -enable-bare-slash-regex let re = /Hello, (\w+)?/ print(type(of: re).self) (edited)
swiftNightly BOT 8/2/2022 12:32 PM
Regex<(Substring, Optional<Substring>)> (edited)
Avatar
omochimetaru 8/2/2022 12:34 PM
@swift-main -enable-bare-slash-regex let re = /Hello, (a(\w+)?)?/ print(type(of: re))
Avatar
Avatar
omochimetaru
@swift-main -enable-bare-slash-regex let re = /Hello, (a(\w+)?)?/ print(type(of: re))
swiftNightly BOT 8/2/2022 12:34 PM
Regex<(Substring, Optional<Substring>, Optional<Substring>)>
Avatar
omochimetaru 8/2/2022 12:36 PM
@swift-main import RegexBuilder let re = Regex { "Hello, " Optionally { Capture { "a" Optionally { Capture { OneOrMore(.word) } } } } } print(type(of: re))
Avatar
Kishikawa Katsumi 8/2/2022 12:37 PM
import Foundation import RegexBuilder import _StringProcessing (edited)
Avatar
omochimetaru 8/2/2022 12:37 PM
@swift-main import Foundation import RegexBuilder import _StringProcessing let re = Regex { "Hello, " Optionally { Capture { "a" Optionally { Capture { OneOrMore(.word) } } } } } print(type(of: re))
Avatar
Avatar
omochimetaru
@swift-main import RegexBuilder let re = Regex { "Hello, " Optionally { Capture { "a" Optionally { Capture { OneOrMore(.word) } } } } } print(type(of: re))
swiftNightly BOT 8/2/2022 12:37 PM
execution timeout with no output
Avatar
omochimetaru 8/2/2022 12:37 PM
どうした?
Avatar
Avatar
omochimetaru
@swift-main import Foundation import RegexBuilder import _StringProcessing let re = Regex { "Hello, " Optionally { Capture { "a" Optionally { Capture { OneOrMore(.word) } } } } } print(type(of: re))
swiftNightly BOT 8/2/2022 12:37 PM
execution timeout with no output
Avatar
omochimetaru 8/2/2022 12:38 PM
オイ
kusa 1
Avatar
@swift-main import RegexBuilder var aaa = Regex { "Hello, " Optionally { Optionally { Capture { OneOrMore(.word) } } } } print(type(of: aaa))
Avatar
Avatar
Iceman
@swift-main import RegexBuilder var aaa = Regex { "Hello, " Optionally { Optionally { Capture { OneOrMore(.word) } } } } print(type(of: aaa))
swiftNightly BOT 8/2/2022 12:38 PM
Regex<(Substring, Optional<Optional<Substring>>)>
Avatar
omochimetaru 8/2/2022 12:39 PM
秘孔をついた・・・
12:39 PM
Avatar
おつかれさまでしたー
Avatar
壊しちゃった…
Avatar
@Yuta Saito そういや10月次やるんですが、最初の週の火曜とかどうです?
Avatar
10/4大丈夫ですー 🙏
Avatar

日時

10/04 (火曜日)
  • [x] 登壇予定者全員が参加できるか、登壇準備ができるか確認する
  • [x] 参加者が被りそうな勉強会とぶつかっていないか、イベントカレンダーで確認する https://connpass.com/calendar/
  • [ ] Discordのイベント機能でスケジュールしておく (チャンネル一覧の一番上にある Event から Create Event を選択)

場所

connpass

わいわいswiftc #00 - connpass

コンテンツ

  • @kateinoigakukun
Avatar
@Yuta Saito ↑ そろそろコンパス作りますね
12:04 PM
日程大丈夫そうす?
Avatar
たすかりますー。日程大丈夫です
Avatar
ありがとうございます!
Avatar
やば、完全に忘れてた。明日コンパス作ります
🙏 2
Avatar
https://iosdiscord.connpass.com/event/260804/preview/ 関係者レビューオネシャス
connpassはイベントやIT勉強会の開催、さらに参加者の集客に便利です。コミュニティやグループの運営やイベントの検索、事前決済もできます。
5:47 AM
特に@Yuta Saito タイトル以下確認オネシャス
Avatar
日付開始時刻ヨシ
Avatar
ヨシ
Avatar
タイトルヨシ
Avatar
あざす
11:43 AM
明日出します
11:43 AM
このチャンネル通知しないとあかんなあ
Avatar
# わいわいswiftc #38 オンライン 昨今の社会的情勢を鑑みて、当面はオンライン開催を致します。 swift-developers-japanのDiscordサーバー上でオンライン配信を行う予定です。 Discordサーバーへはこちらのリンクから参加いただけます。 https://discord.gg/swift-developers-japan 本サーバーについて詳しく知りたい方は、下記をご覧ください。 https://medium.com/swift-column/discord-ios-20d586e373c0 # わいわいswiftc わいわいswiftc...
👍 3
Avatar
次は配信ワシがやるか
Avatar
リマインダ来週の月曜やで (edited)
Avatar
KeyPath完全理解者を増やしてこれ直してもらおう https://discord.com/channels/291054398077927425/375206337937801216/1024990626254696449
Avatar
Avatar
freddi
リマインダ来週の月曜やで (edited)
火曜日ですよね?
12:15 PM
火曜です…!
yoshi 1
Avatar
あぶない、完全に今日だと思ってた
Avatar
イベントなかったので作った https://discord.gg/5KepyDed?event=1026371731801251871
👍 2
Avatar
freddi(Recording) 10/4/2022 10:33 AM
わいわいswiftc #38 https://t.co/qxeRRj7jVV @YouTubeより #わいわいswiftc 配信リンクです
Avatar
わいわい
Avatar
freddi(Recording) 10/4/2022 10:40 AM
参加者の皆さんへ、ここで自由にわいわいコメントしながら話して下さい。途中でボイチャで入り込むのもOKです
Avatar
I just noticed that flowkey, a popular piano lesson app, has officially released a SwiftWasm-based web app! They said, "We were able to use 100% of our mobile app's business logic for the most essential part of our app" 🥳 https://t.co/jR3DFSDHAI #swiftwasm
Avatar
freddi(Recording) 10/4/2022 10:43 AM
Avatar
Kishikawa Katsumi 10/4/2022 10:46 AM
レンズとかはキーパスなんじゃないの。ライブラリじゃなくて言語機能でもってる言語があるのかは知らないけど。
Avatar
foo[keyPath: \.bar]
Avatar
34倍凄まじいな
Avatar
yutailang0119 10/4/2022 10:47 AM
私のKeyPath、遅すぎ
Avatar
@swift-5.7.3 print(\Int.self == \Int.self.self)
Avatar
Avatar
Yuta Saito
@swift-5.7.3 print(\Int.self == \Int.self.self)
true
Avatar
うける
Avatar
そっか、Optionalを掘る機能が無いとOptionalそのものに対してのKeyPath探索しか出来なくて、それだとObjective-Cの機能を再現できなくなってしまうのか (edited)
Avatar
kotlinの?っぽくなってしまう
Avatar
@swift-5.7.3 struct Foo { struct Bar { var baz: Int { 42 } } var bar: Bar?? { Bar() } } print(\Foo.bar??.baz)
Avatar
Avatar
Yuta Saito
@swift-5.7.3 struct Foo { struct Bar { var baz: Int { 42 } } var bar: Bar?? { Bar() } } print(\Foo.bar??.baz)
Swift.KeyPath<main.Foo, Swift.Optional<Swift.Int>>
Avatar
@swift-5.7.3 struct Foo { struct Bar { var baz: Int? { 42 } } var bar: Bar? { Bar() } } print(\Foo.bar?.baz?.description)
Avatar
Avatar
Yuta Saito
@swift-5.7.3 struct Foo { struct Bar { var baz: Int? { 42 } } var bar: Bar? { Bar() } } print(\Foo.bar?.baz?.description)
Swift.KeyPath<main.Foo, Swift.Optional<Swift.String>>
Avatar
@swift-5.7.3 struct S<T> { subscript(_ v: T) -> T { fatalError() } } func f<X: Hashable>(x: X) -> AnyKeyPath { \S.[x] } (edited)
Avatar
Avatar
Iceman
@swift-5.7.3 struct S<T> { subscript(_ v: T) -> T { fatalError() } } func f<X: Hashable>(x: X) -> AnyKeyPath { \S.[x] } (edited)
no output (edited)
Avatar
今日二十五人もいるのか
11:37 AM
後1時間ですー
Avatar
freddi(Recording) 10/4/2022 11:40 AM
20分くらい席外すのでなにかあったらTwitterDMください
11:40 AM
配信は一応モニタリングしています
Avatar
U+CF84 is the unicode hex value of the character Hangul Syllable Kwass. Char U+CF84, Encodings, HTML Entitys:쾄,쾄, UTF-8 (hex), UTF-16 (hex), UTF-32 (hex)
12:05 PM
うーん・・・?
Avatar
freddi(Recording) 10/4/2022 12:08 PM
あと23分くらいだべですわ
Avatar
U+03C4 is the unicode hex value of the character Greek Small Letter Tau. Char U+03C4, Encodings, HTML Entitys:τ,τ,τ, UTF-8 (hex), UTF-16 (hex), UTF-32 (hex)
Avatar
タウきた
Avatar
.map(\.id) より .map { $0.id }
Avatar
freddi(Recording) 10/4/2022 12:20 PM
88888888
Avatar
おもろかった👏
Avatar
88888888
Avatar
88888888
Avatar
yutailang0119 10/4/2022 12:20 PM
今回も難しかった
Avatar
888888888
Avatar
888888
Avatar
888888
Avatar
freddi(Recording) 10/4/2022 12:22 PM
配信は10分以内に切ります
Avatar
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - swift-evolution/0268-didset-semantics.md at main · apple/swift-evolution
Avatar
Previous ID SR-10203 Radar rdar://problem/49345381 Original Reporter @DevAndArtist Type Bug Environment Apple Swift version 5.0 (swiftlang-1001.0.69.5 clang-1001.0.46.3) Target: x86_64-apple-darwin...
Avatar
@Joe_Groff Thanks for your detailed description! I'll try to eliminate GOT related global variables. I simply changed the linkage flag and it seems produced object files are linked well :) OK, I'll take a look around SwiftCallingConv.cpp. Thanks! BTW do you know who is a right person to review around build-script? I offered @compnerd to re...
12:30 PM
kateinoigakukun Yuta Saito Feb '20 Thanks! I vote that SIL convention for key path accessors.
Avatar
freddi(Recording) 10/4/2022 12:31 PM
おつかれさまでした。落ちます。登壇したい方がいればぜひワタクシまでメンションを
12:32 PM
@kebo なんかネタがありそうなので登壇どうです?(大学つながりの謎の無茶ぶり
Avatar
ネタあればぜひというところですが,ないのでまだ厳しいですw (edited)
Avatar
The Foundation Project, providing core utilities, internationalization, and OS independence - swift-corelibs-foundation/JSONSerialization+Parser.swift at main · apple/swift-corelibs-foundation
12:48 PM
JSONParser.parse
12:49 PM
The Foundation Project, providing core utilities, internationalization, and OS independence - swift-corelibs-foundation/JSONDecoder.swift at main · apple/swift-corelibs-foundation
12:49 PM
↑先頭で一発で全部パース (edited)
Avatar
A high performance JSON library in Swift. Contribute to orlandos-nl/IkigaJSON development by creating an account on GitHub.
12:53 PM
ググるとこう言うのが出てくる
12:54 PM
主張してるFoundationが何を指すかはわからん
Avatar
そこで.おしてVSCode立ち上げたら動かせないかな
12:58 PM
Extensionあればいけるんじゃない?
Avatar
A high performance JSON library in Swift. Contribute to orlandos-nl/IkigaJSON development by creating an account on GitHub.
1:03 PM
The above performance statement was tested on Foundation for macOS and iOS. If you're using Swift on Linux with Swift 5.5, your performance is slightly better if you use the new Foundation for Linux. Swift 5.5 does not improve Foundation's JSON performance on macOS or iOS. IkigaJSON performs increasingly better than Linux’ Foundation JSON the bigger your JSON payload gets.
Avatar
Differentiable の方でも KeyPath の高速化に取り組んでいるらしく (Forums より) て,ランタイム側の変更だけでも割と速くなるみたいですね. https://github.com/apple/swift/pull/60758 (edited)
The main assumption associated with this performance improvement is that any contiguous region of (KeyPathComponentKind) structs is trivially-typed, and as such, can be traversed via simple pointer...
4:52 PM
64 倍高速化されたテストケースを覗いてみたら今日のスライドの序盤で 34 倍遅い例として出てたシンプルな使い方と似てました. https://github.com/apple/swift/blob/730bf2403582f35e85a13045416f7a761d0552d2/benchmark/single-source/KeyPathPerformanceTests.swift#L1548 (edited)
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
👀 2
Avatar
Way back in 2016 I wrote a couple of (now mostly outdated) blog posts talking about how types and declarations are represented in the compiler, and at the time I promised a third installment which would discuss generics. A few of you have asked me about this over the years... Well, I finally got around to starting a write up about how generics ...
10:56 PM
Slavaの書、途中まで読んでるんだけど、かなり良いのでオススメです。 タイトルはGenericsとなってるけど、Genericsを説明するにあたって、Swift Compiler内部のSema関連の設計についてボトムアップに詳しく説明されてる。
10:59 PM
例えば、 Type, Type Declaration, Type Representationの3つの概念など、普通にSwiftコードを書いてる範囲だとなんとなく同じような感じだけど、コンパイラ内部ではどう区別・整理されているか解説しているので、Swiftコードの見え方が変わると思います。
10:59 PM
Generic Parameter Type と Archetype Type の違いとか、コンパイラソースだけ読んでてもよくわからんあたりも解説されてる。
11:01 PM
Sema以外でもCompiler Driver と Compiler Frontendの関係とか、ビルドするときの依存情報の管理・差分ビルドの方法とか、Request Evaluator System の解説とか、いろいろ書いてあります。
11:01 PM
総じて、Swiftコンパイラ勉強するなら一番良い教科書になってると思うので、みんな読みましょう。
👀 6
Avatar
1月のtry!Swiftに併せて @shiz さんが都内にいらっしゃるので、久し振りにLINEホストで物理開催を検討しています。 皆さま如何ですか @omochimetaru @Yuta Saito @Iceman 何か話すネタあればぜひ
t_kansha 2
Avatar
おお
Avatar
ネタはあるけど時間が忙しいので、ちょっと検討します
Avatar
はいー。いまのところ1/20(Fri.)を想定しています
Avatar
会場借りられそう
😻 1
5:21 AM

日時

1/20 (金曜日)
  • [x] 登壇予定者全員が参加できるか、登壇準備ができるか確認する
  • [x] 参加者が被りそうな勉強会とぶつかっていないか、イベントカレンダーで確認する https://connpass.com/calendar/
  • [x] Discordのイベント機能でスケジュールしておく (チャンネル一覧の一番上にある Event から Create Event を選択)

場所

LINE四ッ谷オフィス コモレ四谷タワー

物理開催

2019年末以来、3年ぶりの物理開催を検討しています。 YouTube配信も用意する予定です。 感染症対策を施した上で、酒類の提供も復活させたいと考えています。

connpass

TBD わいわいswiftc #00 - connpass

コンテンツ

  • TBD
Avatar
Avatar
giginet
1月のtry!Swiftに併せて @shiz さんが都内にいらっしゃるので、久し振りにLINEホストで物理開催を検討しています。 皆さま如何ですか @omochimetaru @Yuta Saito @Iceman 何か話すネタあればぜひ
ネタはあるけどたぶん次の日のミートアップの準備と卒論で切羽詰まってそう。。
Avatar
Avatar
Yuta Saito
ネタはあるけどたぶん次の日のミートアップの準備と卒論で切羽詰まってそう。。
卒論だけで普通に大変そうw
😇 1
Avatar
箱だけ用意したが登壇者の確保がムズいな。急すぎたか 僕もSwiftPMなにかできないかな
Avatar
Avatar
giginet
箱だけ用意したが登壇者の確保がムズいな。急すぎたか 僕もSwiftPMなにかできないかな
ぜひやってほしいことが
Avatar
Avatar
omochimetaru
ぜひやってほしいことが
オッ
6:35 AM
なになに?resolverの高速化とか?
Avatar
#swiftpm チャンネルで書くね
Avatar
Avatar
giginet
1月のtry!Swiftに併せて @shiz さんが都内にいらっしゃるので、久し振りにLINEホストで物理開催を検討しています。 皆さま如何ですか @omochimetaru @Yuta Saito @Iceman 何か話すネタあればぜひ
なにかしゃべります
❤️ 3
👍 1
Avatar
icemanさんは確定で、もう一枠僕かshizさんが話しますが、時間あるのか
7:36 AM
@Iceman ちなみにconnpassページに掲載したいので、未定でも良いので中身の方向性を教えてください
Avatar
Avatar
giginet
@Iceman ちなみにconnpassページに掲載したいので、未定でも良いので中身の方向性を教えてください
じゃあ「Swiftの型をTypeScriptで表すにはどうすればいいか」でお願いします
👍 1
7:37 AM
そんなに大きなトピックではないので時間はありそう
Avatar
一応僕も途中まで何か調べてくるか
7:38 AM
せっかくなので @shiz さんも軽めコンテンツやりましょう
Avatar
Avatar
giginet
せっかくなので @shiz さんも軽めコンテンツやりましょう
はい。時間あれば何かできるように準備しますmm 最近個人的に気になっているPitch(ObservationとかCustom Metadata Attributes)についてとかでも大丈夫ですか?
iine 3
👍 1
Avatar
Avatar
giginet
@Iceman ちなみにconnpassページに掲載したいので、未定でも良いので中身の方向性を教えてください
タイトル2秒で考えたせいで長いと思ったので「Swiftの型をTypeScriptで表す」でお願いします🙏
❤️ 1
Avatar
# わいわいswiftc #39 オフライン 3年ぶりのオフライン開催! 当日はオフラインでの開催の他、swift-developers-japanのDiscordサーバー上でオンライン配信を行う予定です。 Discordサーバーへはこちらのリンクから参加いただけます。 https://discord.gg/swift-developers-japan 本サーバーについて詳しく知りたい方は、下記をご覧ください。 https://medium.com/swift-column/discord-ios-20d586e373c0 # わいわいswiftc わいわいswiftcは...
👏 4
8:20 AM
@koher さんもぜひ
Avatar
Avatar
giginet
@koher さんもぜひ
申込みました!ありがとうございます。
👍 1
Avatar
LINEって入館時の情報なんもいらないんだっけ?QRとか発行されるのかな
Avatar
実は僕もDevRelに任せきりなのでまだ入館フローは聞いてないですが、後日案内しますー
入館方法などについては後日案内いたします。
LINEオフィス、皆さんの知ってる場所からは移転していて、今のオフィスになってからはぜんぜん外部向けに提供していないので大分変わっていそう
(edited)
👍 1
👀 1
Avatar
Connpassにアンケートなかったので気になっただけで、なければないでOKです
Avatar
入り口エレベーターに机組み立て、そこで僕らが開場するのがいつもなので、お任せくださいー
8:35 AM
多分今の構造でもそんな感じな気がする(前とそんな変わらん
Avatar
yutailang0119 12/22/2022 12:16 PM
前日から出張申請通せたので参加登録した!
👍 1
Avatar
リアル開催時の配信ノウハウ、失われた気がするw
12:56 PM
Discord経由で画面共有して貰って、配信台からOBS配信が丸いかな?
Avatar
この通知何度も来るなーと思ったら
1:21 PM
何度も投稿されてたw
Avatar
yutailang0119 12/22/2022 1:22 PM
なんかバグってることに今気づきました 🙇
Avatar
新幹線の時間決めなきゃ
Avatar
Avatar
tarunon
リアル開催時の配信ノウハウ、失われた気がするw
こちらのDevRelが機材やサポートしてくれるらしいですし、Discord/YouTubeともに可能という事なので、後日練習しておきます 何かあったらtarunonさんにお手伝いお願いしてしまうかも知れませんが、今回はLINE側でなんとかしてみます
😳 1
💪 1
Avatar
たのんだ!!!
👀 1
Avatar
そういえば、type-cから画面出力する何かは現代では当然用意されてるという認識で良いでしょうかね…?
Avatar
はい。当然あると思う。まだ会場見てないけど、本番までには見ておきます
👍 1
4:34 AM
普通のセミナールームなので
Avatar
Avatar
yutailang0119
前日から出張申請通せたので参加登録した!
昨日数億年ぶりにすこんぶさんと飲んで、すこんぶさんも誘った
😉 1
4:36 AM
思ったより盛況だw30名、こんなもんだろということで適当で、部屋のキャパはかなりデカいので増枠しようかな
Avatar
ぎぎにゃん氏入社して初めてのリアルイベント主催なのに色々スムーズすぎておもろい
Avatar
登壇内容のご相談なのですが、Custom Metadata AttributesからReflectionに変更してもよろしいでしょうか? Custom Metadata AttributesがReflectionに依存しているなどもあってこっちのほうを先に見たいなと個人的に思い始めまして。 https://forums.swift.org/t/pitch-reflection/61438 (Observationの資料作ってみて、これだけで終わりそうな気もしていますがw)
Hi Evolution! Below is my pitch to introduce some new high level reflection APIs to Swift. Please let me know what you think! Reflection Proposal: SE-NNNN Authors: Alejandro Alonso Review Manager: TBD Status: Awaiting implementation Introduction I propose adding a new module to the Swift toolchain named Reflection that provides high leve...
Avatar
問題ないと思います!
7:12 AM
(誰が許可するとかもなさそう)
Avatar
ありがとうございますmm connpassのコンテンツのタイトルだけお手隙の際に変更していただけましたらうれしいですmm
Avatar
shizさん管理者に入ってるので、直接編集できそう。 私の画面ではイベント編集の一覧に出て来なかったので触れなかったです🤕
🙇🏻‍♂️ 1
Avatar
あーごめんなさい、できました💦ありがとうございますmm (edited)
🙏 1
👀 1
👍 1
Avatar
特に意味なく今回はLINEメンバー以外は抜いたのでした。毎回同じメンバー入ってて、逆に毎回管理頼むのも迷惑ではと思い (edited)
Avatar
1/20のwaiwai-swiftc、配信テストなどをしました。Discord/YouTube配信共に可能そうで、弊社DevRelにお願いできそうです @tarunon わいわいswiftcチャンネルのstreaming keyって発行可能でしょうか?当日はこちらでOBSで配信予定です
t_arigatou 2
Avatar
@freddi のを使うのがやりやすいかも? 私ので良ければ共有します
Avatar
あー最近 PCをクリーンインストールしたのでkeyが吹っ飛んでますね
Avatar
あ、swiftcのチャンネルのが出せるか
Avatar
すんません
Avatar
作ります
👍 1
6:26 AM
ストリーミングキー使って配信したら、#39ナンバーで配信されるようにしておきました
6:26 AM
テストするときはお声がけいただければ後処理もやっておきます
t_arigatou 1
Avatar
イベントページに配信ポリシー追加しておこう。入管フローもあとで追加されます。
Avatar
Avatar
tarunon
ストリーミングキー使って配信したら、#39ナンバーで配信されるようにしておきました
YouTube詳しくないんだけど、これは配信URLももう決まってる?イベントページに載せておきたいので
Avatar
どうだったかな
7:23 AM
多分これになるw
Avatar
どうも!
Avatar
正直この辺りの挙動は全く分かってないので、当日ごめんなさいするかもです
Avatar
同じく
Avatar
LINE DevRelの佐藤です。当日YouTubeの配信を担当させていただきます😊
🙇‍♂️ 1
Avatar
https://iosdiscord.connpass.com/event/270225/ 開催場所の項目にYouTubeリンクを追加しました
# わいわいswiftc #39 オフライン 3年ぶりのオフライン開催! 当日はオフラインでの開催の他、swift-developers-japanのDiscordサーバー/YouTube上でオンライン配信を行う予定です。 Discordサーバーへはこちらのリンクから参加いただけます。 https://discord.gg/swift-developers-japan 本サーバーについて詳しく知りたい方は、下記をご覧ください。 https://medium.com/swift-column/discord-ios-20d586e373c0 # わいわいswiftc わいわ...
Avatar
@tarunon ぎぎにゃんからstreamKeyをいただいたのですが、事前リハで本番用に間違ってストリーミング流すと、URLが変わってしまうので事前確認を慎重にやりたいと思っています。 可能であれば、一時的にYouTube( https://www.youtube.com/@swiftc6959 ) ブランドアカウント管理に私を追加いただくこと可能でしょうか? https://support.google.com/youtube/answer/7001996?hl=ja&co=GENIE.Platform%3DDesktop もし難しいようでしたら、リハ用の配信を別streamKeyで作成していただき、テストしておきたいと思っています。
Avatar
@freddi がブランドアカウントのオーナーに入ってそうです 👀
Avatar
ブランドアカウント?
Avatar
yes. なので、私のやってることは全部freddiが出来ることではあるw
Avatar
あら、じゃあやっておくか
t_arigatou 2
Avatar
では社内メンバーで検証しておきます!ご協力ありがとうございましたー
Avatar
今さっき渡したurlですが、スケジュールから出してないので、いずれにしてもリハーサルした時点で差し替わることになりそうです
t_arigatou 1
7:43 AM
壊れた状態になってしまってるが、後任せて大丈夫でしょうか?
Avatar
はい、諸々私の方でスケジュール設定と本番用のURLの作成を進めますね。
🙇‍♂️ 1
Avatar
よろしくお願いします!
Avatar
↑ブランドアカウントやっといたっす
t_arigatou 1
7:48 AM
@satoshoco 一時的に入れておくのと、イベント終わったら削除しますねー
Avatar
はい〜!
Avatar
(そのままずっと配信担当してもいいんですよ (edited)
🌾 1
👀 1
Avatar
ブランドのiconとか、OGPとか勝手に設定しても良い?
7:48 AM
(気になる人
Avatar
アイコンは https://iosdiscord.connpass.com/ にあるやつ、、、とおもったけどちょっと画質が悪いな...
わいわいswiftc
7:49 AM
いやそうでもないな、使ってください
Avatar
はい〜!登録しておきます。
Avatar
悪かったら言ってもらえると(どっかにrawデータ転がってるはず
🆗 1
7:50 AM
kitasukeさんしか持ってないかもだけど
Avatar
配信のOGPはイベントのOGPを使用しておきますね。
Avatar
1から1000までやってくださるのありがてえ
Avatar
10000までやるよ?
Avatar
パワーを感じる
😝 1
Avatar
そういえばDiscordのイベント作ってないな
8:17 AM
本番もテキストチャットはここですよね?
Avatar
ここでやると思います
8:25 AM
リアルわいわいが増えると思うけど
Avatar
https://discord.gg/xZZEuaW7?event=1062285779965059143 とりあえずオンラインの方向けにいつものイベントも作成しました
👍 1
Avatar
取り急ぎ、アイコンとバナー画像を設定しておきました!
Avatar
Avatar
Iceman
https://discord.gg/xZZEuaW7?event=1062285779965059143 とりあえずオンラインの方向けにいつものイベントも作成しました
「久しぶりのオライン開催です」になってるけどオラインじゃないですか?イベント作成時に記入したのか、connpassかどこかから引かれてるのかわからないですが。 (edited)
Avatar
Avatar
koher
「久しぶりのオライン開催です」になってるけどオラインじゃないですか?イベント作成時に記入したのか、connpassかどこかから引かれてるのかわからないですが。 (edited)
これは手書きですが普通に間違えてました。ありがとうございます!
👍 1
Avatar
逆転しがちなの解る
8:53 AM
オンとオフと合う合わないの言葉のイメージが逆転してるんだよな
Avatar
バグってどっちがどっちかよくわからなくなります。
Avatar
omochimetaru 1/10/2023 8:54 AM
オンサイトって言葉があるよね
Avatar
オン 🔴 オフ 🔵 あう 🔴 あわない 🔵
Avatar
対面, in person, リアル開催 etc
Avatar
omochimetaru 1/10/2023 8:54 AM
「オフラインでのオンサイト開催」なんだよな (edited)
Avatar
一度ラインがある/ないからって考えないといけない。
Avatar
notの向きが逆なので
Avatar
チャンネルがめっちゃかっこよくなった
iine 2
Avatar
@giginet 当日本番用のYouTube視聴URLを作ったので、こちらに差し替えをお願いできますか?(一旦限定公開にしてます) https://youtu.be/Iur8a8dr_vE (edited)
👍 1
done 1
9:03 AM
↑ 概要欄に入れておいた方が良いことあれば追記しますね。
Avatar
これから、Discord/YouTubeへの配信テストをさせてください。(設定等に問題ないか確認します)1/19前日は会場からも再度配信テストをさせていただく予定です。 ↓ テスト用のYouTubeリンク(限定公開にしてます) https://youtu.be/V6CgVueVldA
Avatar
↑確認問題なく終わりました!夜分に失礼しました〜!
🙇‍♂️ 3
Avatar
こんちは
6:33 AM
わいわいのあと、非公式で飲み会をやろうとおもっていますが参加したい人いますか?(参加したい人 👍 ください (edited)
👍 14
6:34 AM
集まったらテキトーに店予約します
Avatar
Avatar
freddi
集まったらテキトーに店予約します
@giginet さんも予約する話してたので調整した方がいいかもです。調整した上でかもしれませんが。
👍 1
Avatar
実は調整済みです(ちょうど真後ろで提案された
👍 2
6:39 AM
😎
Avatar
とりま21:30 開始で予約とっておくのと、当日来れそうな人がいたら要相談で〜(予約は余裕とっておきます
Avatar
https://tabelog.com/tokyo/A1309/A130902/13100904/?vac_net=1&svd=20230120&svt=2130&svps=15 非公式2次会、21:30 ~ ここで(名前: 秋)とってます。20名まで参加可能なのでよろしくおねがいします。現時点で確定は @freddi @giginet @koher @omochimetaru @yutailang0119 @tarunon @Iceman @log5 @niw @ジュニア @matsuji @shiz @fummicc1 @kitasuke @satoshoco @S_Shimotori @d_date @landonepps @nanashiki @yyu (edited)
★★★☆☆3.29 ■【四ツ谷の大人の居酒屋】国産黒毛和牛A5と厳選した日本酒をお楽しみください! ■予算(夜):¥4,000~¥4,999
🙏 6
9:09 AM
当日まで受け付けてますー
Avatar
設定ありがとう!
❤️ 1
Avatar
二次会、 @niw さんはいかがでしょう?元々↓あたりで話してましたし。 https://discord.com/channels/291054398077927425/304939011904897024/1054966006277230632
Avatar
1次会=waiwai?
2:33 PM
スクロールして把握した
2:33 PM
是非〜
🙌 1
Avatar
niwサソ追加しますた
t_waiwai 1
Avatar
@ジュニア 参加承りました
t_kansha 1
Avatar
参加者へ、入館方法のメール送信したので確認お願いします。後でここにも書いておく
3:30 AM
こんにちは。わいわいswiftc運営です。明日のLINE四谷オフィス入館方法についてお知らせします

会場

LINE株式会社 四谷オフィス 東京都新宿区四谷一丁目6番1号 四谷タワー 22階

入館方法・受付

・四谷タワー 2Fエントランスに設置した受付で入館手続きをしてください。 ・connpassにご登録いただいたお名前を伝えて頂いた後、スタッフから入館用のQRコードの紙を受け取り頂き、エレベーターで会場となる22Fにお上り下さい。 ・QRコードの紙は無くさないようご注意ください。お帰りの際は、22Fのゲート通過後に必ずスタッフに返却願います。 ・開始時間 18:30 に間に合うようにご来場願います。遅れた場合、ビルの受付や警備員では対応を行っておりませんのでご留意ください。個別に対応しますので、運営(電話番号はconnpass経由で送信)までご連絡をお願いします。
🙏 1
Avatar
@fummicc1 二次会追加しました (edited)
t_kansha 1
3:49 PM
枠増やします(店がOKだったら
Avatar
二次会枠増やします(3人程度
✅ 1
Avatar
@kitasuke san 追加
Avatar
@el_metal きます?↑
Avatar
Avatar
freddi
@el_metal きます?↑
うおーめっちゃ行きたいけど明日の準備のため欠席です😭
👍 1
2:21 AM
飲み会で盛り上がってたことすら気付いてなかった😇
Avatar
Avatar
freddi
二次会枠増やします(3人程度
初めまして!まだ空いているなら参加したいです🙋🏻‍♂️
✅ 1
Avatar
おkですー
Avatar
@freddi 2次会参加希望でお願いできますか🙏
Avatar
はーい
t_kansha 1
Avatar
おっ、行きたいです👀
6:40 AM
(間に合ったかな?)
Avatar
@freddi よろしくお願いします🙏
Avatar
はーい、
6:49 AM
ギリセーフ!
6:49 AM
二次会埋まりました、追加で参加したい人はあとで店に電話してもう少しExpandできないか聴いてみますが無理だったらごめんなさい (edited)
t_arigatou 4
Avatar
今日のWiFiです
Avatar
会場wifi(コピペ用) wifi: connect_seminar pass: J@nu@ry!
Avatar
今日はいつもの時間じゃないので注意!
Avatar
そろそろ出ないと間に合わん
Avatar
そろそろ受付開始いたします!ビルの下に行くとわかるはずです
Avatar
yutailang0119 1/20/2023 8:56 AM
東京駅から向かってる
🚅 1
Avatar
福岡からお土産持ってきたのでよかったら食べてください(会場後ろのほうに置いてあります) 人数分あるはずなのでw
t_arigatou 1
Avatar
四ツ谷駅で車両に人が接触があったらしく中央線快速は遅れているので注意かもです
Avatar
四ツ谷に向かいます
Avatar
omochimetaru 1/20/2023 9:20 AM
水とかって配布ある?
Avatar
Avatar
omochimetaru
水とかって配布ある?
あります!
🙏 1
Avatar
yutailang0119 1/20/2023 9:22 AM
自分で焼きカレーのめんべいとかなかなか買わないから助かる
👍🏻 1
Avatar
@Iceman 間に合いそう?
Avatar
いまエレベーター!
Avatar
15分ぐらい遅刻ですー
Avatar
omochimetaru 1/20/2023 9:33 AM
めんべい好き
👍🏻 1
9:35 AM
二次会でっけえ
Avatar
二次会Expandしました。26名です。ただし、もう埋まっているのでご注意ください (edited)
t_thanks 5
Avatar
何なら今仕事メインはtsやしな
Avatar
今Discordにいらっしゃる方すみません、お伝えし忘れたのですが、音声の関係でDiscordのボイスが会場で聞こえないので、何か質問や発言がありましたらテキストでお願いします
👌 1
Avatar
無を取得してる…
Avatar
ゼルダか...
Avatar
tsは穴だらけなので実質問題はありませんね
Avatar
soundness壊れてそう……w
Avatar
※tsのasは実行時エラー起きない
Avatar
これUnionじゃダメなのかな? 🤔(インターセクションではなくて) (edited)
Avatar
Kishikawa Katsumi 1/20/2023 9:49 AM
そうなんだ。全然違う型に当てはめたらどうなるの? (edited)
Avatar
実行時エラー起きないからsoundnessは壊れてないってコト!?
Avatar
前提が壊れてるから全てがokなんだよ
Avatar
なるほど(?)
Avatar
neverにしておくことのうれしみは、アクセスしたときに意味が無いって事ですね
9:50 AM
stringだとコードが書けてしまうので
9:51 AM
id.User.startsWithとか書いて壊せる
Avatar
発言される方手上げて頂ければマイクお持ちしますー
🙋‍♀️ 1
Avatar
TS、型レベルと値レベルがソースコードにめちゃくちゃ同居しててすごいな(?)
Avatar
無茶苦茶なことしててワロタ
Avatar
メタプロだ
Avatar
何もわからんw
Avatar
令和のeval
Avatar
やって良いことと悪いことがある
Avatar
これは逮捕される 🚓
🚓 3
Avatar
これならもはやTypeScriptのメリットがないw
Avatar
"Uesr"で型を宣言すると、"User"な文字列しかacceptしなくなるので、ですね。
9:57 AM
さっきよりは多少マシな感じになった
Avatar
Kishikawa Katsumi 1/20/2023 9:57 AM
コンパイルエラーのメッセージが作った人じゃないとサッパリわからんな
Avatar
なるほど、型を使って(?)オブジェクトのヴァリデーションみたいなことができて便利そう。
9:58 AM
型レベル計算か?
Avatar
Kishikawa Katsumi 1/20/2023 9:58 AM
新しいメンバーはプロジェクトに加わる前にこの発表を見ないと。
Avatar
多段階計算はじまった
Avatar
これ型で代数演算させるとかできそう
Avatar
テンプレートメタプログラミング感あるな。
Avatar
ts、何ならSQL文から型推論とか出来ちゃいますからね
9:59 AM
やって良いことと悪いことがありますが
Avatar
無法地帯っぽい
Avatar
今のところ停止はしそう(?)
Avatar
メタい
Avatar
string & { この時点でもう草まみれ
Avatar
string も実はオブジェクトタイプであることを思い出すと少し呼吸が整うよ
yoshi 1
Avatar
ん、文字列primitiveと文字列オブジェクトは別じゃない?互換して使えるけど
Avatar
yutailang0119 1/20/2023 10:04 AM
無限個必要
Avatar
Avatar
tarunon
ん、文字列primitiveと文字列オブジェクトは別じゃない?互換して使えるけど
正確にはそうだけど、生えてるプロパティを列挙したりできるところで同じようなもの
Avatar
String & { ならまぁ、良くはないがわからんでもない
Avatar
Multi-module で同じ名前の type あれば🧐
Avatar
& での合成は含まれるプロパティをマージするってことだから。
Avatar
yutailang0119 1/20/2023 10:06 AM
癪に障る
Avatar
おもちの方が声通るの面白いなw
10:07 AM
(多分マイクのボリューム)
Avatar
まあ可変長タプルは HList 先輩を持ってくれば…… 🤔
Avatar
登壇用マイクはデスクに置いてあるから距離があるかもしれない
Avatar
「型の関数」はtype A<T> = 処理 のような感じで宣言された型の事を指します(多分) (edited)
Avatar
(おそらく) length とかが出てくる keyOfはランタイムでの動作で、型レベルにも keyOf という型レベル計算が定義されていて、その2つの違いってことかな?
Avatar
そもそもkeyofは型演算子だけしか無い気がしています
👌 1
Avatar
yutailang0119 1/20/2023 10:11 AM
すごすぎる
Avatar
ほほー、 length はランタイムでメンバーのプロパティーが取れる的なことかと思ったけどそうでもないのか 👀 (edited)
Avatar
ようやくSwift出てきた
Avatar
yutailang0119 1/20/2023 10:12 AM
型全て
Avatar
わいわいtsc
Avatar
「server sideは当然Swiftで書いてるから」
Avatar
Kishikawa Katsumi 1/20/2023 10:14 AM
Webに持ってくときに型を妥協しなくていいってことだな
Avatar
”型に籠もった気持ち”
Avatar
Kishikawa Katsumi 1/20/2023 10:15 AM
OpenAPIやgRPCの型だと最大公約数みたいになるから。
Avatar
すごい、夢がある
Avatar
Kishikawa Katsumi 1/20/2023 10:17 AM
サクラがいるな?
🌸 1
Avatar
yutailang0119 1/20/2023 10:19 AM
SwiftSyntaxとWasmめっちゃいい
10:20 AM
11日前の出来事
Avatar
Pluginバグが多い 😓
t_sorena 1
👉 1
Avatar
Contribute to sidepelican/WasmCallableKit development by creating an account on GitHub.
Avatar
Kishikawa Katsumi 1/20/2023 10:28 AM
作ったライブラリとかのデモをブラウザでやるのはめっちゃいいよね。
Avatar
WASM実行だとキビキビ動くしAPIサーバーいらないからインフラ無料ですしね (edited)
Avatar
Kishikawa Katsumi 1/20/2023 10:30 AM
GitHub Pagesでホストできるから完全に無料で公開できるよね。
Avatar
そうそう
Avatar
Kishikawa Katsumi 1/20/2023 10:30 AM
Docker?とかの知識必要なのかな?
Avatar
ConcurrencyってlibDispatchに依存してなかったのか
Avatar
libdispatch はそろそろレイオフしないと
❗ 1
Avatar
これ、productionで使ってそうだけど、どういうワークフロー、プロジェクト構成で実用化してるかは気になる。普通にモノレポなのかな
👀 1
Avatar
ものレポですね
👍 3
Avatar
ボチボチ前半の部を締めるか
Avatar
freddiがずっとソワソワしてた
Avatar
そもそもGitHub Pages、Docker使えない気がする
Avatar
Kishikawa Katsumi 1/20/2023 10:42 AM
手元で動かすのが大変なんだろうか
Avatar
ビルドフローを作るのには使えそうだけど
Avatar
SwiftWebDemoKitめちゃくちゃ欲しい
👍 4
Avatar
OSSチャンスだ
Avatar
確かにカートン最強すぎるんですよね
10:43 AM
あれが何やってるか何もわからん
Avatar
Kishikawa Katsumi 1/20/2023 10:43 AM
左右のMonaco editorのページを作るのもそこそこ難しいと思うからそこサポートしてくれるのほしいね
Avatar
yutailang0119 1/20/2023 10:43 AM
📦 Watcher, bundler, and test runner for your SwiftWasm apps - GitHub - swiftwasm/carton: 📦 Watcher, bundler, and test runner for your SwiftWasm apps
👍 1
t_arigatou 1
👀 1
Avatar
Dockerに詰めて再利用可能になったら気軽に遊ぶ一歩になりそうだ
Avatar
@freddi 二次会あとからメンバーその1 (edited)
Avatar
@freddi 2次会あとからメンバーその2
Avatar
@freddi 二次会あとからメンバーです。参加します!(キャパ的にキツければ最優先で辞退します。) (edited)
Avatar
@freddi 二次会あとからメンバーです
Avatar
メンションクレー メンションクレー
Avatar
@freddi 2次会あとからメンバーです
Avatar
discordアカウント持ってない人居るかも?
Avatar
@tarunon san 確認済みです、あざす! (edited)
👍 1
Avatar
Avatar
freddi
https://tabelog.com/tokyo/A1309/A130902/13100904/?vac_net=1&svd=20230120&svt=2130&svps=15 非公式2次会、21:30 ~ ここで(名前: 秋)とってます。20名まで参加可能なのでよろしくおねがいします。現時点で確定は @freddi @giginet @koher @omochimetaru @yutailang0119 @tarunon @Iceman @log5 @niw @ジュニア @matsuji @shiz @fummicc1 @kitasuke @satoshoco @S_Shimotori @d_date @landonepps @nanashiki @yyu (edited)
@iXerol @rb-de0 @himeshi @sugiy @kagemiku いつものひと (edited)
👍 2
Avatar
Relfection気になってた
Avatar
今度は少しマイク大きめですかね?
Avatar
手で持ってる
Avatar
そうか
Avatar
持ってるからかも
Avatar
大きいのは下げればいいと思う
Avatar
この辺の議論にちょいちょいMacroが出てくるの関係性が気になってる
Avatar
このPermissionの仕様、世界中で困っているので直ってほしい
t_wakaru 3
10:57 AM
macroはあしたかつみさんが(宣伝)
👏 3
Avatar
「よいコード」と「悪いコード」の違いは、どこにあるのでしょうか。もちろん、どんな立場で、何を作るのかなどによって、その定義は変わってきます。 本書では、プロの「ソフトウェアエンジニア」として、日々コードを書く上で、Googleでテックリードを務める著者が、堅牢で信頼性が⾼く、保守しやすく、チームメンバーが理解や適応しやすいコードを作成するための概念と実用的な⼿法を解説しています。 まず「高品質なコードを書く」ために、次の4つのゴールを設定しています。 1. 正しく動くこと 2. 正しく動作し続けること 3. 要件の変更に対応しやすいこと 4. 車輪の再発明をしないこと そして、これを達成...
10:58 AM
物販ブース作れば良かった
Avatar
秀和システムは個人的に嫌いだけど、翻訳はすばらしい
Avatar
日本語だとx10の速度で読める!
Avatar
yutailang0119 1/20/2023 10:58 AM
サイン本ください
Avatar
嫌い
Avatar
嫌いなのは主に出版の闇
t_yami 4
㊙️ 1
⚫ 1
Avatar
ノールックだけどkvoのリプレースになったりするかしら
Avatar
いっぱいありすぎてどれ使えばいいか毎回わからない定期
Avatar
ケースバイケースで全部使いますね…
t_wakaru 1
Avatar
Objective-Cの説明はいらないですか?
Avatar
KVOはunretainedで怖い
Avatar
Kishikawa Katsumi 1/20/2023 11:00 AM
KVOはなくしたいやろね
Avatar
まあ最近はシンプルなhandlerで済むならそれにしてること多いかな (edited)
Avatar
#keypath
Avatar
Combineがレイオフされるのはいつかな...
Avatar
なんかkvoにAsyncSequenceなラッパーぽいの生えてないな?と思ってたが、その辺のフラグ回収される神回になるとみた
Avatar
Combineは生まれた時期が
wakaru 2
Avatar
Kishikawa Katsumi 1/20/2023 11:02 AM
combineは意外とCoreData的な残り方をしそう
Avatar
Internalには使われそうですよねCombine
Avatar
コロナバブル中に採用された人は軒並みレイオフされているのでね...
❗ 2
👀 5
😢 1
Avatar
ジョークが暗黒すぎて草生える
Avatar
日本がコロナであまり職に影響がないのはすごいよね
Avatar
yutailang0119 1/20/2023 11:03 AM
モヒカン
Avatar
レイオフできない世界なのでバブっても謎採用しないがち
t_desune 1
11:03 AM
いや、そんな事は無いか
Avatar
そんなことない。この業界がそうやでw
Avatar
までもアメリカよりマシですね、間違いない
Avatar
仕様ではレイオフ出来ないはずなんだけどな...
kusa 3
🥲 3
💰 1
Avatar
雇用関係には影響ないけど契約に影響ある人はいそう
Avatar
†希望退職†がありますね。。
Avatar
Kishikawa Katsumi 1/20/2023 11:05 AM
日本はレイオフできないみたいな建前があるせいでレイオフのパッケージが整備されないのが問題じゃないか
Avatar
Twitter Japanはどういうロジックでレイオフになったんだ?契約社員だったのかな
Avatar
永遠の休暇もないですか?
Avatar
そんなん言ってたら速報きた
🔥 6
11:05 AM
やばい
Avatar
Gも落ちたか
Avatar
のこるはAAPL (edited)
Avatar
わたしもGoogle Developer Expert(GDE)をレイオフされました (edited)
otsu 1
♨️ 2
Avatar
Avatar
d_date
Twitter Japanはどういうロジックでレイオフになったんだ?契約社員だったのかな
酒の席で...
🤣 2
Avatar
Avatar
freddi
そんなん言ってたら速報きた
タイミングw
Avatar
ObservableってRxSwiftと衝突して悲しいことにならんのかな (edited)
t_sorena 1
Avatar
structがnestしてる場合は、中身書き換えたら外側変わるからわかるよね
Avatar
Avatar
d_date
ObservableってRxSwiftと衝突して悲しいことにならんのかな (edited)
なりそう。 import気をつけないと。
Avatar
ObservableってRxSwiftと衝突して悲しいことにならんのかな
社で全く同じセリフを言った
(edited)
Avatar
Avatar
d_date
ObservableってRxSwiftと衝突して悲しいことにならんのかな (edited)
Module あるので大丈夫かな
Avatar
import RxしたらSwift.Observableしないと使えない感じになると思う
👆 1
Avatar
RxSwift.Observableって書くんでしょ
Avatar
try! Swift でRxSwiftのContributerがCombineの話をしたので「発表よかった、うちのプロジェクトもRxSwiftからCombineにしたい」っつったらなんとも言えない空気が3秒流れたの思い出した
t_kusa 7
Avatar
local側によった宣言の方が強いのでそこは大丈夫
Avatar
あれは気まずかった
Avatar
それ多分だけど本質変わらないからで、人々に優しいのはRxもCombineも使わないことだと思う
t_naruhodo 1
Avatar
willSetとdidSet両方使えるのえらい
Avatar
Swift標準でコード書きたい人間としてはこういうのはどんどん入ってほしい
t_wakaru 4
Avatar
いやまあワイのせいなんやが、すまんやで
Avatar
computed propertyのKeyPathを渡した場合どうなるんだろ
Avatar
Kishikawa Katsumi 1/20/2023 11:09 AM
自分で実装するのかな。勝手にコンパイラがコード生成してくれるのかな。
Avatar
そういえば後に引き継いだメンバーがカスタムのRxSwift全部消すのに成功しました @tarunon
🙇‍♂️ 1
Avatar
ネストしたstructの末端を監視したいとき、違うところが書き換わったのどうなるかな
Avatar
監視対象であることは型でわかるのかな
11:13 AM
In-personでわいわいしてるの何年振りなの。久々に見る人いっぱいいるわ。
Avatar
4年くらいですね
11:14 AM
ちょうど2020年のこの時期に最後のわいわいやったから3年か (edited)
Avatar
膝に矢を受けたみたいなw
Avatar
yutailang0119 1/20/2023 11:16 AM
Publishedでは、struct/enumに ~同じ値が書き込まれた時~ mutatingで書き換えない時にも通知来るって話をこの前社でした https://giarrium.hatenablog.com/entry/2023/01/12/211040 (edited)
実際に変更されたかは関係ないの、そうか…という感じ。 --- 追記 そもそもdidSetが呼ばれていた。イベントが流れるのもそれはそうという感じ。 実際に変更されたかは関係なくdidSetが呼ばれるの、そうか…という感じ になるだけだけど。 --- 追記ここまで import Combine enum SomeEnum { case some mutating func mutatingFunc() {} func nonmutatingFun() {} } struct SomeStruct { mutating func mutatingFunc() {} func nonmutating…
👀 3
t_naruhodo 1
Avatar
PublishedはOpenCombineの実装がすごく参考になる
Avatar
Identifiableがちょっと浮いてる感じがあるのはわかる
11:21 AM
今日初心者多いなw
Avatar
yutailang0119 1/20/2023 11:21 AM
素人質問で恐縮ですが
Avatar
distinctUnntilChanged呼びまくり
Avatar
うちのイベント初心者増えたな いい傾向だ
🤔 4
t_kusa 1
Avatar
学会みたいだぁ
11:22 AM
※初心者名乗りはしてないぞ
👉 1
Avatar
せやった
Avatar
TCAでもその問題があるんだよな
Avatar
yutailang0119 1/20/2023 11:22 AM
skipなのかremoveなのか
Avatar
他の言語でこういう機能実装されてるんだろうか
Avatar
素直なEquatableじゃダメなんか…?
Avatar
(ObjC以外)
Avatar
structをやるとしたら、markerプロトコルを新しく作って監視可能なものをマークするのと、KeyPathに新しいObservableKeyPath的なサブクラスを作って、ObservableKeyPathを作る時にパスの経路が全てマークされていることを静的に検証する、というのを思いついた
Avatar
KeyPathの新しいサブクラスが必要なのはそんな気がしますね
Avatar
Avatar
tarunon
素直なEquatableじゃダメなんか…?
内部値が違っても、意図的に == をtrueに判定するのも可能かも
🤔 1
Avatar
@ ObservedObjectとかは必要なくなるのかな
Avatar
Furutaはコード公開されてるからなw
Avatar
なるほど
Avatar
こういうのはアノテーションするのが妥当なんじゃないかなぁ
Avatar
Platform: State of the unionでしゃべられそう
Avatar
Observableに適合したクラスのメンバ全てが監視対象となってしまうのか
Avatar
Kishikawa Katsumi 1/20/2023 11:28 AM
SwiftUIの要請で入りそうってことか
Avatar
う〜ん
Avatar
SwiftUIのProperty WrapperがCombineベースであることを考えれば、これによってその辺を滅ぼしていくんだろか
Avatar
会場wifi(コピペ用) wifi: connect_seminar pass: J@nu@ry!
Avatar
たしかに
Avatar
@d_date
🙏 1
Avatar
Kishikawa Katsumi 1/20/2023 11:30 AM
アノテーションしたらよさそうだけど無くしたい向きがあるのかな
Avatar
どれがViewの更新に影響するかふつうにわかりづらい感がありますね。
Avatar
世界中のViewModelの挙動が変わります
Avatar
冗長なものは消したらいいけど、別にこれは必要なアノテーションでしょう (edited)
Avatar
StateObjectのみの挙動が残る未来が
Avatar
Kishikawa Katsumi 1/20/2023 11:31 AM
それはそう思うな
Avatar
大統一State世界に行きたいパワーがありそうだな
Avatar
「我々のチップはとても速いので、全部まるっと監視して更新しても大丈夫です!」
kusa 2
Avatar
ObservableObjectがバグってた経緯をみれば消えるのは妥当かもしれん
👉 1
Avatar
今までのイディオムをぶち壊してそう
Avatar
@ Publish とCombine、そういう関係だったのか。
Avatar
Kishikawa Katsumi 1/20/2023 11:31 AM
消したほうがとっつきやすいだろう、みたいな認識で消したいんじゃないだろうか
Avatar
一見シンプルでいいけど難しいことが起こりそうだなあ
Avatar
僕もその認識です > 彼らが消したがってる (edited)
Avatar
またunlearnが必要
Avatar
yutailang0119 1/20/2023 11:32 AM
StateObjectのinit問題は、決着着いたでいいの
Avatar
いい感じのPublished replacementのprop wrapperをstdlibに入れよう
Avatar
Kishikawa Katsumi 1/20/2023 11:32 AM
最近のアノテーションだらけのSwiftはそれはそれでどうかというのはわかるけども
Avatar
あれ、逆に他の変更に巻き込まれなくなるのか
Avatar
よりblack box感が増すさわり心地になるなぁ
Avatar
アノテーションの実装読みに行くのJava感がある
Avatar
だからプロパティの末端も監視したいのか
Avatar
Kishikawa Katsumi 1/20/2023 11:33 AM
SwiftUIで使えるもんじゃないとアカンぞ、と。
Avatar
scopingはいいけど、どこから変更可能なのかわかりにくいのかなぁ
Avatar
コンパイラに実装されると実装にジャンプできないからアノテーションの方がマシ
Avatar
ああそれはそうね
Avatar
User.name監視してるときにUser.age変更して滅茶苦茶になってほしい
😇 1
Avatar
Avatar
Yuta Saito
コンパイラに実装されると実装にジャンプできないからアノテーションの方がマシ
最近のマクロとかはそっちの方向だよねw
Avatar
@Published はそのまんまで、巻き込まれ再描画や同値再描画をやめればよかったのでは感がするのですが
Avatar
Publishedは多分滅びるなぁ。やっぱCombineやめたいんだと思う。
Avatar
シンプルにするならObservation側に同値チェック入れるんじゃなくて
11:34 AM
SwiftUI側で同値チェックするのが筋が良いんじゃないか
Avatar
選択的に監視できるなら、もうちょっとStaticなViewをつくったりするのかな
Avatar
EnvironmentObject草
Avatar
EnvironmentObjectのみ残るのは草
Avatar
SwiftUI作り直さないか?
wakaru 3
yorosiku 3
💣 3
Avatar
EnvironmentObjectが残った時、ObservableObjectは結局残る...?
Avatar
よろしくは草
Avatar
コロナバブル採用組でどうにも斬れない人だけ残るやつ
Avatar
SwiftUIありきでSwiftに仕様追加するんじゃなくて、逆であって欲しいのわかる
t_sorena 1
t_wakaru 2
Avatar
「おまえがやるんだよ!」
Avatar
EnvironmentObjectは別に代替策いくらでもあるんじゃない?
Avatar
まあピッチが事前に出てきただけマシかって気もしてきたな
Avatar
来年のWWDCに間に合うんだろうか
Avatar
WWDCは今年や
Avatar
Avatar
omochimetaru
まあピッチが事前に出てきただけマシかって気もしてきたな
まあそうかもしれない。しかしもうちょっと社内で揉んでもよかったんじゃないか?
Avatar
もう2023年ですよ
Avatar
Swift3の破壊的変更を思い出す
Avatar
今年ではなくて?
Avatar
2022に魂置いてた
Avatar
今年はもう間に合わんって皮肉かと思った
Avatar
じゃあそっちでw
t_kusa 4
Avatar
yutailang0119 1/20/2023 11:38 AM
import伏線回収じゃん
Avatar
iOS 17のみか
Avatar
商業エンジニアは数年お預け定期
Avatar
国家公務員涙目
Avatar
まともなパフォーマンスで提案の全て実現するには、監視のkeyPathが生えたら、ガッツリマクロを追加するみたいな感じじゃないと実現できなさそうな感じはしてる
Avatar
typeWrapper、知らない奴だ
Avatar
過去3ver対応勢はようやくCombine等が思いっきり使えるタイミングになってるくらいですからねぇ
Avatar
yutailang0119 1/20/2023 11:40 AM
WWDC23楽しみになってきた
Avatar
Kishikawa Katsumi 1/20/2023 11:42 AM
つまりコンパイラがコードを生成するんじゃなくてアノテーションでやるってこと?
11:42 AM
EnclosingSelf
Avatar
@Publised 書くのが幸せか、 @DefaultObservable 書くのが幸せか
Avatar
【お知らせ】 飲み会組へ: 21:15に誘導開始するので身支度とかやっててね
👍 11
Avatar
渋いw
Avatar
Kishikawa Katsumi 1/20/2023 11:47 AM
メタプログラミングの提案がいくつか出てきてるのはSwiftUIの要求に抵抗してる感もある
👀 3
Avatar
ありそう
Avatar
Kishikawa Katsumi 1/20/2023 11:48 AM
コンパイラ側には実装せんぞ、手段は用意したから自分でやれ、っていう。
Avatar
yutailang0119 1/20/2023 11:48 AM
Reflectionまで辿り着けるか
Avatar
computed propertyが動くようになりそうな雰囲気を感じた
Avatar
Avatar
tarunon
computed propertyが動くようになりそうな雰囲気を感じた
コンパイラが頑張れば依存先をコンパイル時に列挙できるよね。 (edited)
Avatar
@StateObject@ObservedObject が消える話、 @StateObject var model: Model のときに、 $model.fooBinding 取ってるのできなくならない?
Avatar
いや〜w
Avatar
いやだ〜〜
Avatar
Avatar
koher
@StateObject@ObservedObject が消える話、 @StateObject var model: Model のときに、 $model.fooBinding 取ってるのできなくならない?
たしかにw
Avatar
なんでCombine公開できないんだ??
Avatar
Combineはオープンソースにできない理由があるのかな
Avatar
withObservable(...)とかでアクセスできちゃったりするかな
Avatar
SwiftUIがOSS化されたらコンパチどうなるの?
Avatar
Combineを公開してくれないのか
Avatar
これが実現されたときにCombineチームの人々はどうなるのだろうか
👋 1
Avatar
【お知らせ】 会が終了してゲート出た後エレベーター乗る前にQRコードの紙を回収します! わたしエレベーター前に立ってみなさんをお待ちしてます
🙋‍♀️ 1
Avatar
やはりレイオフか... (edited)
t_kusa 2
Avatar
yutailang0119 1/20/2023 11:51 AM
まだCombineで消耗してるの?
Avatar
Combineチームなぞもうないのでは
Avatar
???「え?Combineで疲弊しているんですか????」
Avatar
そんな…
Avatar
時間足りんw
Avatar
Kishikawa Katsumi 1/20/2023 11:51 AM
combineはOSSにするのが一番よな。
Avatar
yutailang0119 1/20/2023 11:51 AM
WWDC22でも、すぐにはCombineのdiff出てこなかったよね
Avatar
たしかに現状のMirrorはあまりにも何もできなさすぎますね
Avatar
現実時間の10分?
Avatar
(niwさんにレイオフネタをやっていいのかわかんなかったけど、セルフでやってるので更に怖くなってきた) (edited)
t_yamihuka 1
Avatar
信頼ポイント稼ぐチャンスや (edited)
Avatar
ネタにできるうちが…
Avatar
Kishikawa Katsumi 1/20/2023 11:53 AM
ミラーはリードオンリーだからライトできるのがほしいのはわかる
Avatar
エンペラータイム
Avatar
Combineはリリースまでに6, 7年かかっているとかいう与太話を聞いたような聞いてないような気もするが、どうなんだろう
Avatar
yutailang0119 1/20/2023 11:53 AM
なかったReflectionの話
Avatar
omochi-MB
Avatar
Reflectionは次回にしましょうか @shiz
👍🏻 1
Avatar
無印良品macbook売ってるのかとおもった
t_wakaru 2
Avatar
レイオフネタ、レイオフに遭遇するまでは笑顔で出来る
t_sorena 1
Avatar
yutailang0119 1/20/2023 11:54 AM
Xcodeがんばぇ〜
Avatar
Kishikawa Katsumi 1/20/2023 11:54 AM
なんでそんな遅いんだろ
Avatar
お客様の中にM2 Macbook Proをお持ちの方〜
Avatar
yutailang0119 1/20/2023 11:54 AM
まだ売ってない
Avatar
Kishikawa Katsumi 1/20/2023 11:55 AM
VS codeでコパイロット使ったらやってくれるよ
t_kusa 7
11:55 AM
2件目くらいまでcase書いたらいける
Avatar
10分で終わる信頼ポイントの危機
Avatar
Avatar
Kishikawa Katsumi
VS codeでコパイロット使ったらやってくれるよ
こぱいろっくんそのままappleのどっかから漏れ出したcombineのコードを再現してほしい
Avatar
2件目くらいまでcase書いたらいける
エクセルっぽい
Avatar
Swift code generation framework. Contribute to omochi/CodegenKit development by creating an account on GitHub.
⭐ 1
Avatar
yutailang0119 1/20/2023 11:56 AM
Command Plngin便利ー
Avatar
コンパイラあったまってきましたね
Avatar
cpuもアチアチ
Avatar
明日からの寒波はこれで耐えれそうですね
Avatar
ビルドで10分終わる
Avatar
yutailang0119 1/20/2023 11:57 AM
おもちにいいMacあげたら、Swift世界の進捗が上がる
Avatar
Avatar
yutailang0119
おもちにいいMacあげたら、Swift世界の進捗が上がる
omochi家にはあるから、Mac Proの持ち運びキットをあげるしかない (edited)
🆗 1
Avatar
yutailang0119 1/20/2023 11:58 AM
みんなでターミナルの進捗を見つめる時間
Avatar
RDTでいいかも
Avatar
可変長genericsとかも生成したい
11:59 AM
可変長というか、T1, T2みたいなやつ
Avatar
時間が…
Avatar
型オーバーロードか
Avatar
yutailang0119 1/20/2023 12:00 PM
お疲れ様でした
Avatar
明るさと比例してる信頼ポイント
Avatar
会場から圧が
Avatar
yutailang0119 1/20/2023 12:00 PM
蛍の光流そう
Avatar
また消えた
Avatar
ちょうど10分
Avatar
Kishikawa Katsumi 1/20/2023 12:02 PM
👏🏻
Avatar
信頼ポイント++ 👏
12:03 PM
++ ってswiftから消えてた気がする
Avatar
presenter.trust += Point(334)
Avatar
な阪関?
kusa 3
Avatar
手前の卓で飲んでた方は3200円ずつお願いします
👍 4
Avatar
omochimetaru 1/20/2023 2:45 PM
Observable思ったより進みそうだったし自分でも読んでみよう
2:52 PM
Observable思ったより進みそうだったし自分でも読んでみよう
👍🏻 1
Avatar
omochimetaru 1/20/2023 3:30 PM
withTrackingで分岐のelse側がオブザーブし損ねるのでは?って発言したけど、分岐の条件式を評価する時に参照した値がトラッキングできてれば、else側がトラッキングできてなくても問題ないわ。 &&の短絡評価についても同じで、左側オペランドが短絡してる限りは右側は関係ないから、左側だけトラッキングできていれば、右側が影響する時は左側が変化した時だから問題ない。
3:32 PM
昔の記憶だけどreactやangularが流行る前にknockoutjsがあって、それがこんな方式の変更監視検出してた気がする
3:33 PM
最近のだとvuejsもそう?
Avatar
ん?確かにそうですね。監視されなくなるのはそうだけど結果は変わらないのか
Avatar
omochimetaru 1/20/2023 4:55 PM
That is from the #Future Directions section (it is placed there since we need to make a few alterations to the type wrapper proposal to wire this all together). The type wrapper DefaultObservable gets applied to the protocol. This means that any adopter (by default) will be wrapped up in a type wrapper. This means that all field access to any st...
4:55 PM
このスレ、ピッチじゃ全然説明が足りてなくて、スレの中でちょっとずつ情報が出てくる感じになっててめっちゃわかりにくいんだが
4:55 PM
38で重要な情報が出てた
4:57 PM
TypeWrapperをprotocolに指定できるようにしておいて、準拠した型を直接ラップするつもりみたい
4:58 PM
で、例えばObservableプロトコルにDefaultObservable type wrapperを割り当てておけば、そこでキーパス越しのアクセスをフックできるから、コンパイラマジック無しで実現できる (edited)
4:59 PM
SwiftUI.View protocolになんらかのtype wrapperを付与しようと考えてるんだと思う
👀 1
Avatar
omochimetaru 1/20/2023 5:16 PM
スキャンする話とは別で、computed propertyの変更を検出するために keyPathsForValuesAffectingValue(forKey:) を言語に?追加する話も混ざってそう
Avatar
omochimetaru 1/20/2023 5:29 PM
https://github.com/apple/swift-syntax/pull/1225 type wrapperをdecl macroで実装している
The type wrapper macro struct conforms to MemberDeclarationMacro, MemberAttributeMacro, and AccessorDeclarationMacro. Each macro capability provides a different part of the type wrapper transform: ...
Avatar
今日言うの忘れてたけど、この辺の仕組みを実現する方向の力が、マクロ側の提案にもかかってそうだな〜って思ってました。 (edited)
Avatar
Kishikawa Katsumi 1/20/2023 9:03 PM
@Attribute は結局マクロで全部できるっちゃできますからね。最高に読みにくくなるけど。
9:04 PM
マクロでできるところをやらずにいい感じの塩梅で @Attribute に整理するのが設計の勘所かしら。
Avatar
TypeWrapperをprotocolに指定できるようにしておいて、準拠した型を直接ラップするつもりみたい
ありがとうございますmm今朝スレッドを読み返してみて、まだ存在しない機能(Type Wrapper)にさらに存在しない仕様を追加してなんかやってるなあと前に思ったことを思い出しました💦
(edited)
Avatar
Avatar
shiz
TypeWrapperをprotocolに指定できるようにしておいて、準拠した型を直接ラップするつもりみたい
ありがとうございますmm今朝スレッドを読み返してみて、まだ存在しない機能(Type Wrapper)にさらに存在しない仕様を追加してなんかやってるなあと前に思ったことを思い出しました💦
(edited)
protocolからtypewrapperを注入する話、ここで初出だし、それってprotocolの役割超えてそうだし、疑問が膨らみますw
t_kusa 1
Avatar
すいません。こちらのスレッド色々見逃していました🙇🏻‍♂️ 発表時の補足なのですが、 StateObjectなどに関してはここにコメントがあって https://forums.swift.org/t/pitch-observation/62051/12 結論は「開発中なのでまだなんとも言えない」なんですけど、 @ Stateに対するStateObjectのように、XXXObjectは残るみたいですね。 all @*Object property wrappers will be able to be used as their non-object counterparts - i.e. where you used @StateObject before just @State etc. ただ、その下で、なるべくPropertyWrapperをつける作業は消したいようなことも言ってます。 the intent is to allow for when Observable is used developers need to consider fewer potential property wrappers and in the case where no lifetime specialities or bindings are needed and just plain observations are desired, no property wrapper is required. (edited)
Some of those details are still in flux and under active development with the SwiftUI folks. But the initial thought is that all @*Object property wrappers will be able to be used as their non-object counterparts - i.e. where you used @StateObject before just @State etc. Obviously since that is still under development to see if that works or no...
👀 3
Avatar
@StateObject private var viewModel: FooViewModel = .init(...) の代わりに、 FooViewModelObservableObject でなく Observable になったら @State private var viewModel: FooViewModel = .init(...) になるんですね。おもしろい。
8:38 AM
でも @EnvironmentObject@Environment になるのはおかしいような・・・。
Avatar
既に別にEnvironmentありますよねw
Avatar
@StateObjectObservable になれば言語的に変更を検出できるようになって @State で値型とまとめて扱えるようになるみたいなことを言いたいんだと思うんですが、 @EnvironmentObject@Environment の関係って、 @StateObject@State の関係とはちょっと違うと思うんですよね。
Avatar
@ObservedObject は消えて、単に let で渡して、 @State 持ってる View から伝播する感じになるのかなぁ。
Avatar
@ EnvironmentObject と @ Environmentの関係は微妙ですね。
Obviously since that is still under development to see if that works or not I don't have precise details on exactly how that will pan out.
とあるので「今のところやってみないとわからない」なのかなと思ってますw
(edited)
Avatar
まだ色々詳細詰めないといけなさそうですし、色々変わりそうですが、どうなるのか楽しみですね!
t_desune 2
👍🏻 1
Avatar
そういえば、昨年のWWDCのデジタルラウンジで「SwiftUIとやりとりするのはAsyncSequenceよりも@Published使う方が今のところまだ良い」といったことをこのPitchの作者が言ってたのを思い出しました。その時点ではまだObservationの話は出てなかったんですかねw(もしくは言えなかったのか) (edited)
Avatar
その時点で構想はあったのかもしれませんね!
t_desune 1
Avatar
前回少し紹介したType Wrappers使ったObservableのデフォルト実装なんですけど、Macro使って完全置き換えられたみたいです https://github.com/DougGregor/swift-macro-examples/pull/6 そもそもAttached Macros使えばType Wrappers自体いらないそうですw After taking the motivating use cases surfaced in this pitch thread and implementing them as macros, I'm confident that macros can fully subsume type wrappers while providing more flexibility to library authors. https://forums.swift.org/t/pitch-type-wrappers/60019/45 (edited)
Implements the Observable use-case for type wrappers as a combination of member, member attribute, and accessor macros. More information on the observation use case on the Swift Forums here: https:...
I've been working on the implementation for attached macros, and I had the chance to implement @Observable from the Future Directions section of the observation pitch. I was able to replicate the functionality in this type wrapper pitch through composition of the various attached macro capabilities. The macro approach provides more flexibility,...
Avatar
Observation自体もMacroを使った更新があるかもです Holly and I have been collaborating on some updates to this for the use of macros. https://forums.swift.org/t/pitch-observation/62051/105 (edited)
Holly and I have been collaborating on some updates to this for the use of macros. I am in the process of revising the pitch; stay tuned - some of the feedback here and from direct sources has been quite helpful and I think it is turning into something pretty awesome.
Avatar
omochimetaru 2/4/2023 10:09 PM
マクロ実装見てきました Observable macro (member + memberAccess) と、 Observable protocol が同じ名前なのがちょっと特殊ですね
10:13 PM
type wrapper不要説はどうなんだろうなー
10:14 PM
原理的にはproperty wrapperも同じ事が言えそうだけど、もしマクロだったら実装が難しいから利用事例が減りそう
10:14 PM
property wrapperとtype wrapperは凄く似てるから、片方だけマクロというのはなんか気持ち悪い
10:16 PM
あとアクセサーマクロを2段目で展開するこれって本当に良い書き方なんだろうか うまくいくのはわかるけど、カッコいいからやりたいだけにも感じる・・・
t_naruhodo 1
Avatar
property wrapperとtype wrapperは凄く似てるから、片方だけマクロというのはなんか気持ち悪い

type wrapperはそもそもproperty wrapperでできないことを実現するというモチベーションもありましたし、property wrapperとtype wrapperでセットであった方が確かにわかりやすいですね。マクロは実装が難しい...
うまくいくのはわかるけど、カッコいいからやりたいだけにも感じる・・・
やってみたらうまくいってしまった、というだけで、まだまだ考慮することはいっぱいありそうですね。
Avatar
omochimetaru 2/4/2023 11:54 PM
あー前提の意見として、違う機能ですけどかなり似てて、対の関係にあると思ってるんですよね https://twitter.com/omochimetaru/status/1616449685832749056?s=46&t=jX8O_Phh86aCWg_C-oLSSw
TypeWrapperはPropertyWrapperをユースサイトじゃなくてデクルサイトに定義して、その型においては常にラップさせるようにする、っていう捉え方はわかりやすいな。合ってると思う。
👀 1
Avatar
Avatar
shiz
property wrapperとtype wrapperは凄く似てるから、片方だけマクロというのはなんか気持ち悪い

type wrapperはそもそもproperty wrapperでできないことを実現するというモチベーションもありましたし、property wrapperとtype wrapperでセットであった方が確かにわかりやすいですね。マクロは実装が難しい...
うまくいくのはわかるけど、カッコいいからやりたいだけにも感じる・・・
やってみたらうまくいってしまった、というだけで、まだまだ考慮することはいっぱいありそうですね。
omochimetaru 2/4/2023 11:55 PM
最大の課題は、コード展開されてしまうので、展開前の意味論でのデバッグじゃないかと思ってます
11:57 PM
実行時にデバッガから見えるのは展開後の状態ですけど、Observableとかそのままのプロパティセットに見せかけた方がわかりやすい気がする。 もちろんデバッグ用の情報も埋め込んで、縮退させた構造でデバッグさせることは原理的にはできますが。
12:02 AM
あーでもproperty wrapperもラップする構造でデバッガに見えてるから良いのかなあ
Avatar
デバッグ...そうですね。僕がマクロを使った開発プロセスについてよくわかっていないのかもしれないですが、 実行してみる->「なんか違う」->コードをとりあえずちょっと修正してみる -> 実行してみる->... といったことが延々と繰り返される事態に陥りそうだなーと思いました。自分で書いたものでなかった場合などパッと見てわからなくて困ることって結構ありそう。 (edited)
Avatar
Kishikawa Katsumi 2/5/2023 12:57 AM
マクロに依存するのはまったくオススメできないけどな。デバッグも難しいし、開発もProperty Wrapperほど簡単じゃないし。
12:58 AM
とはいえ、コンパイラに組み込みのコード生成になるよりはマクロだったらコントロールは全部こっちにあるからその方がいいのかな?そんな気もする。
Avatar
Avatar
Kishikawa Katsumi
とはいえ、コンパイラに組み込みのコード生成になるよりはマクロだったらコントロールは全部こっちにあるからその方がいいのかな?そんな気もする。
omochimetaru 2/5/2023 3:01 AM
そこはそう思います EquatableはまだしもDecodableはどんなコードが生成されてるかよくわかってない人も多いのではないか
Avatar
Kishikawa Katsumi 2/5/2023 3:05 AM
そうですねえ。Codableはマクロでサードパーティの実装が出てきたりしないかな。速いやつとか。
Avatar
omochimetaru 2/5/2023 3:06 AM
あーそうか。全くオリジナルなCodableとか作れますね。それは面白い。
Avatar
かていくんと面白いネタ見つけたのでSwiftHeroesの登壇で話すけどこっちでもやりたい
😲 2
1:39 AM
6月まで忙しいので7月やりたいなあ
Avatar
@tarunon @Iceman cc @satoshoco L社でやれそうなので、8月くらいにやりますか
🙋🏻 1
t_arigatou 2
t_waiwai 3
5:31 AM
iOSDCに合わせて9月もありかも
5:33 AM
とりあえず候補日を上げていきたい
5:37 AM
8月初旬 9月iOSDCまわり
Avatar
もしわいわいするんだったらどっちがいいか投票です。このチャンネル見てる方ご協力お願いします 1️⃣ 8月初旬 2️⃣ 9月iOSDCまわり
1️⃣ 11
2️⃣ 11
Avatar
1だけどどっちもやるのもありな気がしてきた(流石に二回連続L社はきついのでどこかに投げたい
1:47 PM
需要はありそうがトークの供給がない
Avatar
Kishikawa Katsumi 6/23/2023 1:55 PM
Swift Parserの話をしてみたい気もするけど8、9月はたいへんだからもっと遅い時期だな。
Avatar
おっならば10月のネタとしてやるのもありですね
Avatar
Kishikawa Katsumi 6/24/2023 9:33 AM
10月ならなんとか
🙏 1
Avatar
Avatar
freddi
もしわいわいするんだったらどっちがいいか投票です。このチャンネル見てる方ご協力お願いします 1️⃣ 8月初旬 2️⃣ 9月iOSDCまわり
29くらいまで様子を見るので皆さんご協力お願いします
Avatar
Avatar
freddi
もしわいわいするんだったらどっちがいいか投票です。このチャンネル見てる方ご協力お願いします 1️⃣ 8月初旬 2️⃣ 9月iOSDCまわり
どっちも需要があるなあ
6:17 AM
一旦初旬でやりますか
Avatar
@freddi 少し反応遅れたけど8/4以外だと嬉しい!あとわいわいswiftcの背景画像ほしいんだっけ?
Avatar
3:59 AM
背景画像はたぶんもう大丈夫?だとおもいます
Avatar
8月開催で話を進めようかなあって考えてはいますが、登壇したい人いますか? (edited)
Avatar
岸川さんの前座として、Swift Parserの概要話そうかな。昨日rintaroさんに教えてもらったlibParseとの使い分けとかParserのざっくりとした内容とか。
Avatar
よさそう
Avatar
@kitasuke Swift Parserの概要 @freddi 引数の特殊化について かな?コンテンツは
👍 2
Avatar
@kitasuke san 8/2でもいいですか?
Avatar
ビルド回り若干話したいけどiOSDCもあるからキツいなw
3:42 AM
もうコンテンツ決まってるから一旦8月の回はそれでよさそう
3:42 AM
大分間が空いちゃったから、iOSDC後にまたやろう
Avatar
ぜひぜひ
3:52 AM
それは10月開催でもいいかもですね
3:52 AM
9月は9月でiOSDCで地方民も来るのでやりたい
3:53 AM
8月はLでやる前提で計画中
Avatar
Avatar
freddi
@kitasuke san 8/2でもいいですか?
大丈夫!L社は移転したんだっけ?
Avatar
まだ8月の時点では前回やった所と一緒です。四谷
🙏 1
Avatar
場所確保した
t_arigatou 2
t_kansha 1
7:52 AM
やっていき
Avatar
9月も計画はしていきましょう。ただ次は別の会社さんにしたほうがいい気がするw
8:02 AM
(/ω・\)チラッ
8:02 AM
(/ω・\)チラッチラッ
Avatar
幹事の人間の会場用意できる能力は失われつつある…
8:05 AM
元々メとクとLの人間がバランス良くいたのだが、メとクの人間は方々に散ったりLに行ったりした
Avatar
がんばったらYもつかえるようになりそう
7:47 AM
connpassつくりますわ
Avatar
資本的には同じっぽい
7:48 AM
人に会ったときに、会場借りれないか、聞くようにします
🙏 1
Avatar
Kishikawa Katsumi 7/6/2023 3:24 PM
いちおうワタシも会社に最近イベントごとはどんな感じか聞いてみた。 ワタシが基本リモートだからそれでいいかわからんけど。
🙏 1
Avatar
ありがとうございます!!!
3:42 AM
今日明日コンパス作ります
3:42 AM
@kitasuke titleください仮でいいので
3:43 AM
あ、shokoさん今日レスポンス取れないから明日にしとこ
Avatar
とりあえず Introducing SwiftParserでお願いします
Avatar
はーい
5:18 AM
ありがとうございます
5:41 AM

日時

MM/DD (水曜日)
  • [ ] 登壇予定者全員が参加できるか、登壇準備ができるか確認する
  • [ ] 参加者が被りそうな勉強会とぶつかっていないか、イベントカレンダーで確認する https://connpass.com/calendar/
  • [ ] Discordのイベント機能でスケジュールしておく (チャンネル一覧の一番上にある Event から Create Event を選択)

場所

connpass

わいわいswiftc #40 - connpass

コンテンツ

  • @freddi-kit Existential Type の特殊化
  • @kitasuke Introducing SwiftParser
5:47 AM
https://connpass.com/event/290063/edit/ つくった。しょうこさんかえってきたらまた確認お願いして公開します cc @kitasuke
connpassはイベントやIT勉強会の開催、さらに参加者の集客に便利です。コミュニティやグループの運営やイベントの検索、事前決済もできます。
👍 1
❤️ 1
Avatar
https://connpass.com/event/290063/edit/ fix して今日放流します
connpassはイベントやIT勉強会の開催、さらに参加者の集客に便利です。コミュニティやグループの運営やイベントの検索、事前決済もできます。
Avatar
こうかいしやした
Avatar
これって配信視聴勢はconnpass登録要りますか?
7:20 AM
書いてあった
オンライン配信の視聴には、本イベントへの登録は不要です。
👍 1
Avatar
飲み会も計画するか
10:36 AM
参加したい人リアクションください メモ: +1 (edited)
apple_black 1
🍹 14
Avatar
あっ、この日都合悪かった、オンライン参加だ
🙏 1
Avatar
Avatar
freddi
飲み会も計画するか
あとでConnpassのメールでも送るけどやるんだったら最初からアンケで聞けばよかったなあ コロナ前は飲む時どうしてました?
Avatar
M社の時はオフィス近くに予約不要でも大人数で入れる中華があったおかげで、当日に参加者の人数聞いて店に行くだけという簡単な仕事だった (edited)
Avatar
なるほど 伝説のあの中華か
Avatar
Avatar
freddi
参加したい人リアクションください メモ: +1 (edited)
忘れてた これ7/25までご回答ください
10:32 AM
(前回大人数の予約大変だったので…
10:33 AM
Connpassは後で流す
Avatar
Avatar
freddi
参加したい人リアクションください メモ: +1 (edited)
conpassでもアナウンスしました。7/27あたりまで待ちます
Avatar
前回予約無しで20人以上良くいきなり入れたよね。終わる時間遅いから逆に空いてるのか
Avatar
前回予約しましたよ(いきなり参加の誤差も4名くらいだったはず (edited)
Avatar
そういえば懇親会予約対応はこっちで引き取っても良いですよ。クレカのコンシェルジュに丸投げできるので面倒なやり取りがほとんどない。
Avatar
そんなのあるんだ
Avatar
日時と人数と場所と予算を伝えれば適当なとこ予約してくれるから、大人数の時に楽かな。M社で何かの会で中華以外の店にしたときに使った気がする。
Avatar
Kishikawa Katsumi 7/20/2023 6:37 AM
クレジットカードの特典はそこで使えるのか。いいな。
Avatar
コンシェルジュさんにお願いしようかな
6:59 AM
@kitasuke 人数大体Fix次第お願いしたいです🤲
Avatar
OK!そしたら決まったら人数と1人あたりの予算を教えてほしい。
Avatar
はーい、予算は大体4000くらいでいいかなとおもうのですがどうでしょう。飲み会の高い安いの基準があまりわからないw
Avatar
良いと思います!
Avatar
やったー
Avatar
飲み会可能であれば参加したいです (edited)
Avatar
Avatar
watanebe_ph
飲み会可能であれば参加したいです (edited)
https://discord.com/channels/291054398077927425/380329942505750529/1128635960721154050 参加表明にこちらに 🍹 リアクションをするだけでOKです
Avatar
@freddi とりあえず下記の店を一旦15人で予約しました。開始時間は9時であってる? ■皇記 予約日時:2023年8月2日(水)午後9時 予約人数:大人15名様 予約名:キタ様 お席:個室 お料理:飲み放題付き  コース料金:4,000円(2時間飲み放題付き) お取り消し規約:2,3名の人数変更は前日まで 全体キャンセルはなるべくはやめにお願いします 所在地:東京都新宿区四谷1-8-8 佐伯千成ビル 2階
👍 1
Avatar
9時で大丈夫です、まじ感謝です (edited)
5:06 AM
@kitasuke
Avatar
@freddi 飲み会はリアクション数 + watanebe_phさんの15人で確定で良い?
Avatar
でおkです!!!
2:21 AM
@kitasuke
Avatar
はい。当日参加したい人が居たらそれは運次第ということで。
Avatar
ありがとうございますーーー
👍 1
Avatar
うちの @satoshoco san が youtube 発行してくれたのでconnpass更新します
Avatar
リマインド 明日やで
3:00 PM
もう今日か
3:01 PM
@kitasuke 登壇順どうします?希望があればぜひ聞きます
Avatar
先に話します
Avatar
はーい
Avatar
  • 会場参加者へ
WiFiは画像のとおりです
Avatar
クリックしたら見える系のヤツ。ありがとうございます
Avatar
  • オンライン参加者へ
わいわいする際を除き、喋らない際はミュートお願いします。(会場にも音声を流すため)
(edited)
8:51 AM
これ透過色になってるから白背景の人はそうなるのか
t_kusa 2
8:52 AM
ID: connect_seminar PASS: @ugu@st!
Avatar
開場してるお
🚋 1
9:04 AM
誰も来ねえ
👀 1
9:05 AM
(いつものこと
9:05 AM
9:05 AM
Avatar
omochimetaru 8/2/2023 9:05 AM
イイナー
Avatar
気前良くて頭下がる
9:06 AM
実際には箱だけ用意して貰えるだけでも御の字なので…
Avatar
うちのDevRelと会社に感謝
Avatar
到着遅れます🙏
🆗 1
Avatar
報告感謝
Avatar
時間がよくわからなかったけど、18:30スタートなのね
Avatar
もし地上にだれもいなかったらメンションかLINE電話かなにかで教えてください
Avatar
ここでメンションします
Avatar
18:30ですです
9:10 AM
開場から10分経っても誰も来ないと思ったらそういうことか 確かにconnpassの開始時間しか設定してない
9:11 AM
すいません、人の流れ次第で遅らせやす
Avatar
開始時間見て、何も書いてないからプレゼン開始時間なのを忘れてそうだなエスパーで予定組んでた
9:12 AM
なお出発は遅れた
Avatar
泣いた
Avatar
Discordのイベントだと19時なっとる
Avatar
あらら
9:13 AM
でもみんなきはじめた (edited)
9:14 AM
じゃあ19時開始で
Avatar
サンドイッチがうまいです!
👍🏻 1
Avatar
discord組もそろぼち参加おねしゃす
Avatar
Avatar
freddi
  • 会場参加者へ
WiFiは画像のとおりです
Bruce Evans 8/2/2023 9:48 AM
macOSならすぐOCR使えますw
Avatar
discordもうすこし配信音量上がるとうれしいですー
10:01 AM
大きくなりますた
👍🏻 1
Avatar
SwiftParserの概要のスライドです #わいわいswiftc https://t.co/W74wvi4TfF
Avatar
@omochimetaru san @Kishikawa Katsumi san (kitasukeさんの登壇が、お二人のツッコミほしいらしい
Avatar
おもちさんはドタバタしているらしいです
Avatar
Avatar
freddi
@omochimetaru san @Kishikawa Katsumi san (kitasukeさんの登壇が、お二人のツッコミほしいらしい
omochimetaru 8/2/2023 10:04 AM
Youtubeはどちら
10:05 AM
Discordのボイチャでもわいわいできます
Avatar
配信の人は正しい色でみえてるんだろか
Avatar
omochimetaru 8/2/2023 10:06 AM
映像見れる状態までもうちょっと
10:06 AM
色すごい (edited)
Avatar
現場でもオレンジ色で騒ぎになっている
Avatar
omochimetaru 8/2/2023 10:06 AM
kusa 7
🍊 3
🔥 1
Avatar
パソコンむずかしい
Avatar
謎filter
Avatar
presetがマズい?
Avatar
なにもわからない
Avatar
論理画面焼け
swift 2
t_kusa 3
Avatar
ちょっと目を離して前見ると気持ちオレンジ色に見えるようになってしまった
Avatar
To 遅刻者 そろそろ受付撤収するので、何かアレばメンションか電話ください (edited)
10:11 AM
某Appleの人、一体何者なんだ...
Avatar
omochimetaru 8/2/2023 10:13 AM
難しいな
10:13 AM
Discordの音だと映像とずれるかなって。
10:14 AM
俺のYoutubeチャットって消えてる?
10:14 AM
ラグが結構あるのかな
Avatar
Youtubeはラグが結構ありそう
Avatar
omochimetaru 8/2/2023 10:15 AM
こっちにももう一回書いておくか
Avatar
youtubeチャットはラグがある
Avatar
多分だけどDiscordに投下していくのが良い
Avatar
ワイが読む
Avatar
omochimetaru 8/2/2023 10:15 AM
あ画面配信みればいいのか
10:15 AM
ASTGenはSwiftでできてるんだけど
10:15 AM
構築するのはC++側のオブジェクトで
10:15 AM
そのためにいろいろブリッジされてる
10:17 AM
ASTGenはSwift Syntax Tree を変換するための層ですね
Avatar
omochimetaru (CV freddi)
t_kusa 5
Avatar
プロジェクタ経由の色が普通の色で、Youtube配信の画面は全体的にオレンジに焼けてるので、原因はきたさんのコンピュータじゃないかもです。
🤔 1
Avatar
omochimetaru 8/2/2023 10:19 AM
マクロプラグインはsandboxで実行されますね。
Avatar
(会場の人へ、マイクに電源入れてからつながるまでラグあるっぽいので喋るのちょっと待ってね) (edited)
Avatar
omochimetaru 8/2/2023 10:20 AM
マクロの実行にASTGenは関係ないんじゃない?
10:21 AM
あー実装が混ざってるの
10:21 AM
ブリッジがめんどくさいからASTGen packageに押し込んでそうですね
Avatar
swiftLLVMJSONはlower caseで始まるんだ
Avatar
ここまでkatsumiさん不在
Avatar
omochimetaru 8/2/2023 10:23 AM
ASTGenの主目的はCST → ASTにして、Swift Parserへの統合
10:23 AM
C++ Parserを捨てるためのものですね
Avatar
テレフォンショッキング(死語)みたいになってる
kusa 1
Avatar
口頭試問みたいになってて笑う
Avatar
いいともーっつったら今度来てくれるかな
Avatar
omochimetaru 8/2/2023 10:27 AM
あーそれね 俺の英語力が足りなくて読解しきれなかった。
Avatar
Swift で読めるのはいいよね
Avatar
omochimetaru 8/2/2023 10:28 AM
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - DougGregor/swift-evolution
Avatar
Original message was deleted or could not be loaded.
基本的に全て善意でやってくれていて、わざとトラブルを発生させるようなことは有り得ないと考えています。
Avatar
全員目でデマングルできます(要出典)
t_oltsu 1
Avatar
そういう扱いをコミュニティでしちゃうと、箱貸してくれるところなくなっちゃうんで、避けてくださいね。
Avatar
(Lの身内のアメリカンジョーク)
Avatar
あ、そうなの。理解できなくてごめんなさい
Avatar
多分そういう意図はないよtarunon
Avatar
🙆‍♂️ 失礼しました
erai 1
Avatar
omochimetaru 8/2/2023 10:30 AM
Operatorsは演算子ツリー作ってくれるよ
Avatar
lol
Avatar
あ、ごめんなさい。冗談でした。気をつけます
Avatar
書き起こし頼む
Avatar
つまり swiftparserはparserではなくてlexerってこと?
Avatar
omochimetaru 8/2/2023 10:31 AM
SwiftSyntaxの出力: [1 + 2 * 3] (edited)
10:31 AM
operatorsの出力: 1 + (2 * 3)
t_naruhodo 1
Avatar
Avatar
niw
つまり swiftparserはparserではなくてlexerってこと?
omochimetaru 8/2/2023 10:32 AM
いや、parserです。演算子式だけ遅延してるんです。
Avatar
1+2+3 = 6, 1*2*3 = 6 なので+と*は同じ
Avatar
omochimetaru 8/2/2023 10:32 AM
なぜなら、 operator precedence 文を読み取らないといけないから、パーサステージではできない。
Avatar
なるほど...
Avatar
omochimetaru 8/2/2023 10:32 AM
そうですね、CST to CST
Avatar
へぇ読んでみようかな
Avatar
operatorをユーザーが定義できるからか。
t_naruhodo 1
Avatar
Avatar
d_date
へぇ読んでみようかな
omochimetaru 8/2/2023 10:33 AM
このへんのアルゴリズム面白いよ
Avatar
Avatar
niw
operatorをユーザーが定義できるからか。
omochimetaru 8/2/2023 10:33 AM
そうです! ついでに標準オペレータもstdlib定義になってるから。
Avatar
Avatar
omochimetaru
そうです! ついでに標準オペレータもstdlib定義になってるから。
なるほどー、これはSwift固有というか普通のlex/parserでは出てこない問題
Avatar
A set of Swift libraries for parsing, inspecting, generating, and transforming Swift source code. - apple/swift-syntax
Avatar
omochimetaru 8/2/2023 10:34 AM
普通の応用ではSwiftSyntaxとセットで使ったほうが良いっすね。 > Operators (edited)
Avatar
すごいな、結構時間が経ってる気がしたけどまだ30分しか立ってないのか
😮 1
10:34 AM
今日はなんかいろいろとコンテンツ?が多い気がして楽しい
t_sorena 1
🥳 1
Avatar
postfix operatorってあるけど階乗(!)がそれか
Avatar
omochimetaru 8/2/2023 10:35 AM
型定義とか見るだけなら式が出てこないからoperatorsいらないっすね
Avatar
A set of Swift libraries for parsing, inspecting, generating, and transforming Swift source code. - apple/swift-syntax
Avatar
Avatar
Bruce Evans
あ、ごめんなさい。冗談でした。気をつけます
Uhucream (Takashi) 8/2/2023 10:36 AM
岸川さんの音声だけ反響してますよね🤔
Avatar
Avatar
Uhucream (Takashi)
岸川さんの音声だけ反響してますよね🤔
omochimetaru 8/2/2023 10:36 AM
Discordで聞いてる人だけだと思います。
10:37 AM
岸川さんを自分側でミュートして、satoさん経由で聞くと良いですよ。 (edited)
Avatar
会場に音声流してるから、その都合で帰ってきてそう
Avatar
Avatar
omochimetaru
Discordで聞いてる人だけだと思います。
Uhucream (Takashi) 8/2/2023 10:37 AM
あ、そうなんですね😲
Avatar
Avatar
omochimetaru
岸川さんを自分側でミュートして、satoさん経由で聞くと良いですよ。 (edited)
Uhucream (Takashi) 8/2/2023 10:37 AM
承知しました🙇🏻‍♂️
😀 1
Avatar
A set of Swift libraries for parsing, inspecting, generating, and transforming Swift source code. - apple/swift-syntax
Avatar
Kishikawa Katsumi 8/2/2023 10:37 AM
自分もこだましてるの聞こえてたんだけどこっち側では難しそうでした🙏🏻
Avatar
Avatar
Kishikawa Katsumi
自分もこだましてるの聞こえてたんだけどこっち側では難しそうでした🙏🏻
Uhucream (Takashi) 8/2/2023 10:38 AM
あ、岸川さんの方でも反響していたんですね😲
Avatar
喋る人だけは回避できないw
Avatar
こっちのマイクを切らないと無理ですね
Avatar
omochimetaru 8/2/2023 10:39 AM
LexerとParserはストリーム的に合体してるんですよね (edited)
Avatar
数字はlexerで処理する気がするというか自分はそう最近実装した (ref. https://github.com/niw/WindowAlignment/blob/master/Sources/Scripting/Tokenizer.swift#L48-L75) (edited)
Avatar
Avatar
omochimetaru
LexerとParserはストリーム的に合体してるんですよね (edited)
なるほどー
10:40 AM
LLなのかな(peekとかあるからLL(1)っぽい?) (edited)
Avatar
omochimetaru 8/2/2023 10:41 AM
素朴なLLですね
👍 1
Avatar
A set of Swift libraries for parsing, inspecting, generating, and transforming Swift source code. - apple/swift-syntax
Avatar
omochimetaru 8/2/2023 10:42 AM
Regex部分を正しく見送るためじゃないかな
Avatar
昔LR構文解析器を作ったのを供養するか https://github.com/freddi-kit/Braph/tree/master/Braph/SyntaxAnalysis
Hand Made Compiler in Swift. Contribute to freddi-kit/Braph development by creating an account on GitHub.
💯 1
Avatar
Avatar
omochimetaru
Regex部分を正しく見送るためじゃないかな
その目玉機能忘れてたわw
Avatar
Avatar
d_date
その目玉機能忘れてたわw
omochimetaru 8/2/2023 10:43 AM
なんとSwiftでは正規表現リテラルが使えます
Avatar
ええー!
Avatar
な、なんだってー
Avatar
Power Assert in Swift. Contribute to kishikawakatsumi/swift-power-assert development by creating an account on GitHub.
Avatar
(会場連絡)一瞬席離れるので何かあったら戻ってきてから対応します (edited)
Avatar
X.509 Parserとか作ってたのでソース読んでたら大変さがわかってきた
Avatar
おもちさんCVfreddiはそのあいだだれかたのむ
Avatar
Parserはめんどい
10:47 AM
人間がASTかければいいのに
🤖 1
Avatar
Kishikawa Katsumi 8/2/2023 10:47 AM
@matsuji そうです。
Avatar
Discordの読み上げとかあればいいのに
Avatar
Avatar
niw
人間がASTかければいいのに
omochimetaru 8/2/2023 10:47 AM
@Iceman と一緒にAST書いてる
Avatar
swiftの正規表現って、間違ってたら (/aaa[0-1*/ ←こういうの) コンパイルエラー出てくれるんでしたっけ。RegexのためのLexerあったら面倒見てくれそうな感じがするけど
Avatar
でるはず
10:48 AM
↑人間がAST書くとこうなる
Avatar
import TypeScriptAST
Avatar
Avatar
tarunon
import TypeScriptAST
omochimetaru 8/2/2023 10:49 AM
Contribute to omochi/TypeScriptAST development by creating an account on GitHub.
Avatar
Regular Expression Tester with highlighting for Swift Regex. Quickly test and debug your regex and Regex Builder.
Avatar
Contribute to omochi/TypeScriptAST development by creating an account on GitHub.
Avatar
literalはlexerで処理されてるのかなー
Avatar
omochimetaru 8/2/2023 10:52 AM
Contribute to omochi/TypeScriptAST development by creating an account on GitHub.
Avatar
これってSwiftSyntaxBuilderに置き換えられる?
Avatar
Avatar
giginet
これってSwiftSyntaxBuilderに置き換えられる?
omochimetaru 8/2/2023 10:55 AM
これTypeScriptだから無理やね
Avatar
ああ、TSか。理解してなかった・・・・・・
Avatar
数字のliteral複雑すぎるんよ...
10:56 AM
故に世の中の簡単lexerは整数しか対応してない
Avatar
100_000_000
Avatar
確かによく考えると大変だ
Avatar
(ちなみに飲み会は21:00からなので15分くらい前には準備しましょう)
Avatar
最も最近書いたパーサー、Lexerの実装作った記憶ないからどうしてたかなと思ったらParserCombinator書いてエイヤエイヤしてた
Avatar
(あと休憩時間中にベーグル食べてください)
Avatar
言語によってはdecimal以外も書けそうだし
Avatar
Avatar
freddi
(あと休憩時間中にベーグル食べてください)
強制配布や
chikarawaza 1
Avatar
Avatar
tarunon
最も最近書いたパーサー、Lexerの実装作った記憶ないからどうしてたかなと思ったらParserCombinator書いてエイヤエイヤしてた
PEG!
Avatar
ややこしいな https://github.com/apple/swift-syntax/blob/main/Sources/SwiftParser/Lexer/Cursor.swift#L1267C3-L1276C82 /// lexNumber: /// integer_literal ::= [0-9][0-9_]* /// integer_literal ::= 0x[0-9a-fA-F][0-9a-fA-F_]* /// integer_literal ::= 0o[0-7][0-7_]* /// integer_literal ::= 0b[01][01_]* /// floating_literal ::= [0-9][0-9]_*\.[0-9][0-9_]* /// floating_literal ::= [0-9][0-9]*\.[0-9][0-9_]*[eE][+-]?[0-9][0-9_]* /// floating_literal ::= [0-9][0-9_]*[eE][+-]?[0-9][0-9_]* /// floating_literal ::= 0x[0-9A-Fa-f][0-9A-Fa-f_]* /// (\.[0-9A-Fa-f][0-9A-Fa-f_]*)?[pP][+-]?[0-9][0-9_]* (edited)
Avatar
良い指摘だ
10:59 AM
数値リテラルをパースするワークショップできそうだ
Avatar
やるか
Avatar
eatの過去分詞久々にみた
Avatar
面白そう
Avatar
Kishikawa Katsumi 8/2/2023 11:01 AM
JSON Parserみたいにあとでその数値を評価しないなら先頭だけ見たらいいからだいぶ楽なんですけどね。
Avatar
GitHub1000行くらいで諦めるからなぁ
Avatar
ちょうど1000行目
Avatar
ギブアップ
Avatar
Kishikawa Katsumi 8/2/2023 11:03 AM
#あるとSwiftのコードはこうなるよね。
Avatar
RawStringそれなりに新しいし、syntax hilightが最新じゃない説はありそう
Avatar
Kishikawa Katsumi 8/2/2023 11:03 AM
#assertionFailureでもなんか赤くなる。
11:07 AM
SwiftParserのパフォーマンスはなんやかんやで大変そう。
Avatar
omochimetaru 8/2/2023 11:07 AM
swift parserはexpect機能がすごい 紹介しようと思ったけどなんかいい資料が無いな・・・ (edited)
Avatar
Kishikawa Katsumi 8/2/2023 11:08 AM
本気でC++に勝とうとしてるのはわかる。
11:09 AM
ただC++に勝つにはメモリ管理をマニュアルでやることになるんやなって。 Paserみたいなひとつのバイトデータから細かいオブジェクトをたくさん作るっていう性格のものだからかもしれないけど。
Avatar
Avatar
Kishikawa Katsumi
ただC++に勝つにはメモリ管理をマニュアルでやることになるんやなって。 Paserみたいなひとつのバイトデータから細かいオブジェクトをたくさん作るっていう性格のものだからかもしれないけど。
omochimetaru 8/2/2023 11:10 AM
moveonly typeとかownership modifierでそういうパフォーマンスが出せると良いんですけどね
Avatar
Kishikawa Katsumi 8/2/2023 11:12 AM
Swift Parserがそれを使ってメモリプールを捨てたら証明されるなあ。そうなるかな。
Avatar
omochimetaru 8/2/2023 11:12 AM
微妙になにかが足りなくて、やっぱり最強は手動メモリ管理ってことになりそうな気はする。
11:13 AM
アリーナアロケータとか使いたいし。
11:13 AM
Swift Parser、これで置き換えられるぜ、みたいなところまでしか追ってなくて
11:13 AM
C++ Parserにパフォーマンス負けててまだダメだってくだりを
11:13 AM
議論とかを見れてないけど何かプルリクとかあるのだろうか
Avatar
買わせていただきました 👍
❤️ 1
11:15 AM
今日持ってくればサインもらえたのか
Avatar
Kishikawa Katsumi 8/2/2023 11:16 AM
フレディさん翻訳じゃなくて自分で英語の本を書いたらいいと思う。
Avatar
新しい方にもサインください✍️
👍🏻 1
Avatar
Kishikawa Katsumi 8/2/2023 11:16 AM
Packt publishingとか。
Avatar
読まないと
Avatar
昔英語の本の話来たけどやりとりめんどうでやめちゃったな
Avatar
📱サイズの箱
Avatar
omochimetaru 8/2/2023 11:18 AM
1TBぐらいありそう。
HUGE 1
Avatar
どう言う理由で40bytesにしたんだろう
Avatar
それ
11:19 AM
今質問しようとしていた。メモリ効率が良いのかなあ
Avatar
Avatar
niw
8*5?
omochimetaru 8/2/2023 11:19 AM
yes
Avatar
64byteじゃダメだったのか
Avatar
omochimetaru 8/2/2023 11:19 AM
値でポインタ3つ、VWTとPWTで2つ
👀 1
t_naruhodo 1
11:19 AM
厳密には、32バイトの場合や、48バイトの場合があります
👀 1
Avatar
おもちCVがいない
Avatar
いずれも8*nなのね
Avatar
8nなのは納得感がある
Avatar
omochimetaru 8/2/2023 11:20 AM
8*3 + 8 + protocols.count * 8
Avatar
Kishikawa Katsumi 8/2/2023 11:20 AM
ポインタのサイズが8じゃなかったら変わるんじゃない?
Avatar
omochimetaru 8/2/2023 11:20 AM
any (P & Q) ← N = 2
t_naruhodo 1
Avatar
protocol X: class だと16バイトで済む
Avatar
AnyObject
Avatar
omochimetaru 8/2/2023 11:21 AM
古い書き方だ
Avatar
128-bit CPUが期待される
Avatar
老人だった
🤔 4
Avatar
Swift 3
Avatar
omochimetaru 8/2/2023 11:21 AM
Swift 3使い
Avatar
kateiくん老人なら私らは rip です
t_sorena 1
Avatar
巻き込まれたらのみなさん
Avatar
Avatar
Yuta Saito
protocol X: class だと16バイトで済む
omochimetaru 8/2/2023 11:22 AM
metatypeはクラスの先?
Avatar
some ら
Avatar
omochimetaru 8/2/2023 11:23 AM
マングル結果同じだったはず
11:23 AM
ほんとにsyntax sugar
11:23 AM
そうじゃないとABIが壊れるし。
t_naruhodo 1
Avatar
Avatar
omochimetaru
metatypeはクラスの先?
クラスの先?
Avatar
プロンプトがおもろいw
Avatar
型パラの名前内部では τ_0 とかで消えてるしなぁ
Avatar
Avatar
Yuta Saito
クラスの先?
omochimetaru 8/2/2023 11:24 AM
8 + 8 の後ろの8はmetatypeなのかPWTなのか気になった
Avatar
そういえばマシン変わったらオレンジ直った
Avatar
Avatar
omochimetaru
8 + 8 の後ろの8はmetatypeなのかPWTなのか気になった
後ろはPWTですね。一個目のポインタがそもそもクラスインスタンスのHeapObject *なんでメタタイプはそこに埋まってる (edited)
Avatar
ここの人はめでまんぐるできるはず
Avatar
Avatar
Yuta Saito
後ろはPWTですね。一個目のポインタがそもそもクラスインスタンスのHeapObject *なんでメタタイプはそこに埋まってる (edited)
omochimetaru 8/2/2023 11:25 AM
あ、Heap Objectだからデリファレンスしてオフセットしたらポインタがあるのか (edited)
11:25 AM
あいや、うん、それを「クラスの先にある」って言いたかった。
Avatar
あ、そういうことか。
11:25 AM
その通りです
🙏 1
Avatar
Kishikawa Katsumi 8/2/2023 11:26 AM
プロンプト、2ちゃんねるか!
Avatar
Avatar
niw
ここの人はめでまんぐるできるはず
目でマングル…目デマングル…
🌀 2
🤪 3
Avatar
$*Shape$*は何を意味してるんだろう
Avatar
Avatar
Iceman
$*Shape$*は何を意味してるんだろう
omochimetaru 8/2/2023 11:27 AM
ポインタだったと思う
Avatar
*はアドレス型、$はSIL上での型につくプレフィックス
Avatar
なるほど〜
Avatar
$s はspecialized?
Avatar
omochimetaru 8/2/2023 11:29 AM
$s は 「Swiftのシンボル」 全部についてる
Avatar
swiftのsでは?
Avatar
そっか
Avatar
omochimetaru 8/2/2023 11:29 AM
CやC++のシンボルとかとぶつからないためのやつ (edited)
t_naruhodo 2
Avatar
delegateパターン以外でanyってどれくらい使ってるんだろ
Avatar
anyでも特殊化されるんだ
Avatar
Avatar
Iceman
anyでも特殊化されるんだ
omochimetaru 8/2/2023 11:30 AM
引数に受け取ってる関数の場合とかじゃないかな
Avatar
勝手にDMを開示されるかていくん。。。
Avatar
なかよし
Avatar
なかよし
Avatar
Avatar
omochimetaru
引数に受け取ってる関数の場合とかじゃないかな
内部でさらに他の関数に渡していないか、みたいな検査もありそうでちょっと複雑そうだなと
Avatar
そのときまた包むのでも良いでしょうが
Avatar
Avatar
Iceman
内部でさらに他の関数に渡していないか、みたいな検査もありそうでちょっと複雑そうだなと
omochimetaru 8/2/2023 11:32 AM
そうですね。
Avatar
isConsumed()でなんか判定してそう
11:34 AM
なるほど
Avatar
omochimetaru 8/2/2023 11:34 AM
ExistentialSpecialifer.cpp が思ったより行数が少ないな
11:36 AM
indirect resultになるやつはいろいろある
11:36 AM
ジェネリック関数の <T> とか
Avatar
えーそうなんだ
11:37 AM
throwsだいたい全部つくから全然最適化されてないのかも
Avatar
async関数もダメになってそうな予感がする
Avatar
Avatar
Iceman
throwsだいたい全部つくから全然最適化されてないのかも
omochimetaru 8/2/2023 11:37 AM
今のはexistential specializerだけの話っすよ (edited)
Avatar
indirect resultとthrowsは単に実装のさぼりかな
Avatar
サボりなのか
Avatar
Avatar
omochimetaru
今のはexistential specializerだけの話っすよ (edited)
引数にexistentialがきたとき、の話ですよね?
Avatar
ここで最適化をサボっても大局にはそこまで影響しないから?
🤔 1
Avatar
Avatar
Iceman
引数にexistentialがきたとき、の話ですよね?
omochimetaru 8/2/2023 11:39 AM
そのときに、そのexistential引数を具体的な型に差し替える最適化の話。
👌 1
Avatar
ある意味SwiftでObjCは特殊扱い
Avatar
Avatar
tarunon
ここで最適化をサボっても大局にはそこまで影響しないから?
omochimetaru 8/2/2023 11:40 AM
そういうコードが何%ぐらいあるかにもよるねえ
Avatar
ジェネリックだろうとモジュール分かれると特殊化できないから結局全然気にせずコード書きそうだなぁ
Avatar
特殊化されることでのパフォーマンスの違いってどのくらいなんだろう
Avatar
特殊化できる条件を書いたほうが良かったりして (edited)
Avatar
Avatar
kagemiku
特殊化されることでのパフォーマンスの違いってどのくらいなんだろう
omochimetaru 8/2/2023 11:41 AM
体感めちゃくちゃ効きます、状況によるけど10倍とか期待できると思う
Avatar
10倍はデカいですね!!!
Avatar
omochimetaru 8/2/2023 11:41 AM
体感(計測実験)した状況が少ないけど
Avatar
(どこが10倍なのか説明しないと)
Avatar
JSONDecoderが遅いのって特殊化されてれば解決できるからなぁ
Avatar
計測してみると面白そうですね
Avatar
Avatar
kagemiku
10倍はデカいですね!!!
omochimetaru 8/2/2023 11:41 AM
というよりanyによる関節化が重い
Avatar
existential containerを開いたり閉じたりパカパカするのが遅いです
Avatar
パカパカ
Avatar
なるほど、anyパカ
Avatar
anyはガラケー
Avatar
pixelなんとかもパカる
Avatar
変にDIのためにany使いまくってるのとか遭遇しそう
Avatar
さっきも書いたけど、現代Swiftでanyを書きたいシチュエーションは減ってる、、、と思ったら
Avatar
Kishikawa Katsumi 8/2/2023 11:43 AM
開催場所は相談に乗れるかもしれない。
❤️ 3
Avatar
そうか、DIがあったか
Avatar
Avatar
el_metal
変にDIのためにany使いまくってるのとか遭遇しそう
omochimetaru 8/2/2023 11:43 AM
そうなんですけど、DIしてる場所はホットパスじゃないと思うんすよね ロジックがごちゃついてるのはその先の具体的な実装の中だから
Avatar
DIするようなアプリケーションコードでそこのオーバヘッド気にする場面はほぼないはず・・・
Avatar
iOSアプリだと他のオーバーヘッドがね…
Avatar
omochimetaru 8/2/2023 11:44 AM
あくまでコンテナを開けるときのコストだから、開けた先のメソッド処理は関係ない
Avatar
Avatar
omochimetaru
そうなんですけど、DIしてる場所はホットパスじゃないと思うんすよね ロジックがごちゃついてるのはその先の具体的な実装の中だから
それはそうっすね
Avatar
Avatar
kitasuke
@freddi とりあえず下記の店を一旦15人で予約しました。開始時間は9時であってる? ■皇記 予約日時:2023年8月2日(水)午後9時 予約人数:大人15名様 予約名:キタ様 お席:個室 お料理:飲み放題付き  コース料金:4,000円(2時間飲み放題付き) お取り消し規約:2,3名の人数変更は前日まで 全体キャンセルはなるべくはやめにお願いします 所在地:東京都新宿区四谷1-8-8 佐伯千成ビル 2階
居酒屋再掲
Avatar
〒160-0004 Tokyo, Shinjuku City, Yotsuya, 1 Chome−8−8 佐伯千成ビル 2F
Avatar
@freddi 今日って結局14のままでしたっけ?
Avatar
Avatar
kagemiku
@freddi 今日って結局14のままでしたっけ?
いえす
swift 1
Avatar
懇親会は1人4200円です。Kyashアプリ or 現金が良くて、無い人はPayPayで。IDはどちらもkitasukeです。
✅ 7
Avatar
kyashぱっと動かせないです🙇‍♂️ PayPayでご勘弁ください
Avatar
PayPayで送りました!
Avatar
4人分送信しました
Avatar
参加できなかったので今更&文脈わかってないけど、DIと any のオーバーヘッドの話、SwiftならDIを型パラインジェクションでやればExistentialのオーバーヘッドないですよね?Specializeされた場合。 protocol DependenciesProtocol { static func a(x: Int) -> Int } final class Foo<Dependencies: DependenciesProtocol> { func b() { let a = Dependencies.a(...) } }
Avatar
Generics入りのDIコンテナ、使い方にもよるかもですがかなり使いにくい印象を持ってます。
3:31 PM
うまいやり方があるだろうか
👀 1
Avatar
Avatar
koher
参加できなかったので今更&文脈わかってないけど、DIと any のオーバーヘッドの話、SwiftならDIを型パラインジェクションでやればExistentialのオーバーヘッドないですよね?Specializeされた場合。 protocol DependenciesProtocol { static func a(x: Int) -> Int } final class Foo<Dependencies: DependenciesProtocol> { func b() { let a = Dependencies.a(...) } }
omochimetaru 8/2/2023 10:55 PM
そうですね。
Avatar
コンストラクタインジェクションとの合せ技で any を消すことも。 protocol DependenciesProtocol { func a(x: Int) -> Int } final class Foo<Dependencies: DependenciesProtocol> { let dependencies: Dependencies init(dependencies: Dependencies) { self.dependencies = dependencies } func b() { let a = dependencies.a(...) } } (edited)
Avatar
Avatar
tarunon
Generics入りのDIコンテナ、使い方にもよるかもですがかなり使いにくい印象を持ってます。
使いにくい印象があるのはどのあたりですか?型パラメータを書いて回らなければならない部分?
Avatar
数が増えると型パラが増えることじゃないですか?
Avatar
典型的なリポジトリパターンを実装したときのDIコンテナを例に出すと以下の問題が出ると考えています。
Avatar
omochimetaru 8/3/2023 12:29 AM
(これ僕もいろいろ思うところあるけど、混線するから収束するの待つわ) (edited)
Avatar
Avatar
Iceman
数が増えると型パラが増えることじゃないですか?
1. 指摘して貰ったようにこれは問題になります。複数のリポジトリをコンテナに詰めると、型パラの数がどんどん増えていく
12:31 AM
2. DIコンテナ自体が型パラを持つ場合、循環依存の問題を解決できません
12:34 AM
protocol MyRepository {} class MyRepositoryImpl {} class Container<R1: MyRepository> {} このような構成を考えた場合、Container<MyRepositoryImpl>の宣言と取り回しが必要になり、使う側が具体実装を参照可能な必要が出てきて、これだと例えばframeworkを分離した状態だと、使えない気がしています
12:38 AM
R1自体を利用側にもGenerics R1として宣言することで、Container<R1>の形で引き回すことは可能ですが、その場合利用側を再度Containerで宣言することは出来なくて、依存を細かく分離して都度宣言するようなスタイルにせざるを得ないのかな?と
12:40 AM
existentialからgenericsへの昇格(?)が出来るようにはなってるから、もう少しうまいやり方はある気はしますが、今の所は上記のような感覚を持っています
12:40 AM
@omochimetaru 一旦書いた
Avatar
Avatar
tarunon
@omochimetaru 一旦書いた
omochimetaru 8/3/2023 12:40 AM
koherさんの回答も待ったほうがいいかなと
🙆‍♀️ 1
Avatar
複数のリポジトリをコンテナに詰めると、型パラの数がどんどん増えていく
これについては、僕は依存を階層化して解決していますね。たとえ Existential を使ってコンストラクタインジェクションする場合でも、(型パラは付かないとはいえ)引数が増えすぎるので同じような階層化は必要だと思います。 protocol FooRepositoryProtocol { ... } protocol BarRepositoryProtocol { ... } protocol RepositoriesProtocol { associatedtype FooRepository: FooRepositoryProtocol associatedtype BarRepository: BarRepositoryProtocol } @MainActor final class QuxViewState<Repositories: RepositoriesProtocol>: ObservableObject { ... }
Avatar
DIコンテナ自体が型パラを持つ場合、循環依存の問題を解決できません
これはもう少し具体例を挙げていただかないとよくわからなかったのですが、循環依存はコンストラクタインジェクションしてExistentialで持つ場合でも問題ではないですか?
Avatar
delegateパターンもそうですが、existentialを使う場合は具体の実装を知る必要は無いので問題になりません。UIKitは我々のUIScrollViewDelegateの実装を知る必要は無い ひとつのDelegate程度ならgenericsにしても問題にならなそうですが、これが複数の依存を詰めたコンテナだと結構厳しくなってくると思います
1:34 AM
framework Aにコンテナ、リポジトリのprotocol framework Bにリポジトリを利用した実装 Appにリポジトリの実装 この構造においてBがAをimportして実装が可能で、AppがB、Aをimportして自分が持つリポジトリの実装を注入できれば、循環依存は解決した状態になっていると思います
Avatar
delegateパターンもそうですが、existentialを使う場合は具体の実装を知る必要は無いので問題になりません。UIKitは我々のUIScrollViewDelegateの実装を知る必要は無い
これは型パラでも同じじゃないでしょうか?
framework Aにコンテナ、リポジトリのprotocol framework Bにリポジトリを利用した実装 Appにリポジトリの実装
↓こういうようなことですか?? // Framework A protocol RepositoryProtocol { static func fetchAll() async throws -> [Foo] } final class Container<Repository: RepositoryProtocol> { ... } // Framework B final class Store<Repository: RepositoryProtocol> { @Published var foos: [Foo.ID: Foo] = [:] func load() async throws { let foos = try await Repository.fetchAll() self.foos = ... } } // App enum Repository: RepositoryProtocol { static func featchAll() async throws -> [Foo] { ... } } let store: Store<Repository> = ...
Avatar
そうです。この段階ではまだ問題になって無くて、ここからContainerの持つRepositoryの数を増やすと問題になると考えています。 この問題は https://discord.com/channels/291054398077927425/380329942505750529/1136467556983636068 で上げて貰った階層化で緩和出来そうですが、そうであってもStoreが利用しないprotocolの群も含める事になるのが好ましくなさそうです。
Avatar
Storeが利用しないprotocolの群も含める事になるのが好ましくなさそう
これは理想的にはそうですが、アプリ開発の現実としては、厳密に必要な依存だけ注入していると面倒なことになりがちじゃないですか?型パラインジェクションするかコンストラクタインジェクションするかに限らず。 たとえば、 FooRepository を使う Container1 があったとして、仕様変更になったときに BarRepository も必要になったら、たとえコンストラクタインジェクションしててもコンストラクタ(イニシャライザ)の引数を増やさないといけないですよね? final class Container1 { - init(fooRepository: any FooRespository) { + init(fooRepository: any FooRespository, barRepository: any BarRepository) { そうなると、 Container1 の利用箇所に問題が波及しますし、もし Container2Container1 をイニシャライズするような場合、 Container2 のイニシャライザにも影響が出たりしませんか? final class Container2 { - init(fooRepository: any FooRespository) { + init(fooRepository: any FooRespository, barRepository: any BarRepository) { self.fooRepository = fooRepository + self.barRepository = barRepository - self.container1 = Container1(fooRepository: fooRepository) + self.container1 = Container1(fooRepository: fooRepository, barRepository: barRepository) なので、ある程度広めにまとめて多少利用しないものが入っても気にしないようにしており、そうすると(型パラインジェクションする場合でも)DIのための型パラは大抵一つにおさまるので、そこまで型パラが問題になることは多くないのではないかと思います。
(edited)
Avatar
例えば利用側のテストケースを書く際にリポジトリのモックを考えると思うんですけど、その時にどれくらいシンプルになるかも加味すると、GenericsにするよりExistentialにしてしまった方がバランスが良いかなと考えています
2:23 AM
initにリポジトリのExistentialを与えていれば良くて、コンテナ利用についてはconvenience initなり何なりで宣言すればok (edited)
2:26 AM
Genericsなコンテナは引き回す必要がありますが、Existentialなコンテナはglobalなり、SwiftUIならEnvironmentに置いておくと言うことができるので
2:26 AM
そこもメリットになり得ますね
Avatar
コードがないので正しくイメージできているかわかりませんが、 convenience init を作るのは型パラのときに型を埋めた typealias を作るのと同じようなことになりませんか? (edited)
Avatar
ならないと思います class Store { init(r: any MyRepository) } framework Bにおいてはこの実装があるだけで良くなる。
2:29 AM
convenience initの宣言はあってもなくても良いぐらいの感じがしますね
Avatar
「framework Bにおいてはこの実装があるだけで良くなる」について、型パラインジェクションで class Store<MyRepository: MyRepositoryProtocol> { } の実装がframework Bにあるだけではできないことは何ですか? (edited)
Avatar
あれ、確かに
2:39 AM
僕のロジックに一部破綻があるので見直す必要がありそう。
Avatar
根本的なアイディアとしては、ContainerにGenericsを含むことで、Containerのインスタンスへのアクセスがパラメータインジェクションのみでしか成り立たないこと、ひいてはそれ故にコンテナの利用側にGenericsに全てを包括する必要が出てきてしまうというのを問題と考えていました。 末端のStoreのような実装がコンテナそのものを利用せず、リポジトリのみの利用であれば、そもそもコンテナ自体を渡す必要は無い(これを失念して議論が進んでいた)ので、型パラが爆発することもない。
2:49 AM
ところでSwiftUIではEnvironmentが便利なので極力これを使いたくて、これに載せるならExistentialに倒すかなと言う感覚です。そもそもEnvironmentを直接DIコンテナチックに使うことも出来そう。
Avatar
Avatar
koher
Storeが利用しないprotocolの群も含める事になるのが好ましくなさそう
これは理想的にはそうですが、アプリ開発の現実としては、厳密に必要な依存だけ注入していると面倒なことになりがちじゃないですか?型パラインジェクションするかコンストラクタインジェクションするかに限らず。 たとえば、 FooRepository を使う Container1 があったとして、仕様変更になったときに BarRepository も必要になったら、たとえコンストラクタインジェクションしててもコンストラクタ(イニシャライザ)の引数を増やさないといけないですよね? final class Container1 { - init(fooRepository: any FooRespository) { + init(fooRepository: any FooRespository, barRepository: any BarRepository) { そうなると、 Container1 の利用箇所に問題が波及しますし、もし Container2Container1 をイニシャライズするような場合、 Container2 のイニシャライザにも影響が出たりしませんか? final class Container2 { - init(fooRepository: any FooRespository) { + init(fooRepository: any FooRespository, barRepository: any BarRepository) { self.fooRepository = fooRepository + self.barRepository = barRepository - self.container1 = Container1(fooRepository: fooRepository) + self.container1 = Container1(fooRepository: fooRepository, barRepository: barRepository) なので、ある程度広めにまとめて多少利用しないものが入っても気にしないようにしており、そうすると(型パラインジェクションする場合でも)DIのための型パラは大抵一つにおさまるので、そこまで型パラが問題になることは多くないのではないかと思います。
(edited)
アプリだとわかんないですが、サーバサイドでは不要な依存が1つでも多く持ち込まれているためにテストを書く手間が増えたりするので、
Storeが利用しないprotocolの群も含める
はかなり避けたい寄りですね
Avatar
Avatar
Iceman
アプリだとわかんないですが、サーバサイドでは不要な依存が1つでも多く持ち込まれているためにテストを書く手間が増えたりするので、
Storeが利用しないprotocolの群も含める
はかなり避けたい寄りですね
テストのときに利用しない依存まで埋めないといけないという話ですよね?型単位でインジェクトしてもインジェクトされた側が使わないメソッドとかもあるので、テストモジュールではDI用のプロトコルに何もしない( fatalError になる)デフォルト実装を書くようにしており、そうするとダミーの依存の埋めるのがそんなに大変じゃない印象ですね。 (edited)
3:09 AM
前は依存をきっちり必要なものだけ書いていたんですが、 https://discord.com/channels/291054398077927425/380329942505750529/1136483555862655087 のような依存が増えたときに地獄だったので広めに注入するようにしました。ライブラリなら厳密に書きますが。
Avatar
なるほど。デフォルト実装が簡単に用意できるなら問題になりにくそうですね
Avatar
Avatar
tarunon
ところでSwiftUIではEnvironmentが便利なので極力これを使いたくて、これに載せるならExistentialに倒すかなと言う感覚です。そもそもEnvironmentを直接DIコンテナチックに使うことも出来そう。
これはExistentialにするしかやりようがなさそうですが、別の問題として、 Environment で渡したものって @StateObject に渡しづらいので、Repositoryとか注入しようとすると結構難しくないですか?
Avatar
僕の個人プロジェクトだとonAppearのタイミングで渡したりしてます。あんまりそこまで詰めて考えた訳ではないですが、元々のViewControllerでもviewDidAppearのタイミングで色々やるのが都合良かったこともあり、そこまで違和感はないです。
Avatar
なるほど。 ObservableObject 側は Repository 等のプロパティを IUO にしとく感じですか? (edited)
Avatar
そうですね、ロジック本体を分けても良いし。そこはEnvironmentの方が優位と考えて妥協してます。もう少し何とかならないかなとは思いますがw
Avatar
それは一つのやり方ですねー。僕は型パラインジェクションばっかやってましたが、 Environment を使えば(型パラにせよイニシャライザの引数にせよ)バケツリレーしなくていいのはいいですね。
4:15 AM
依存を厳密にしても、依存が増えたときに型パラやイニシャライザの引数を増やす必要もなくなるのか。ただ、注入忘れはコンパイラでチェックできなくなると。
Avatar
注入忘れは class MyViewModel: ObservableObject { ... class Logic { init(Dependencies) } var logic: Logic! } みたいに別のinitで担保すれば、後から追加があっても大凡カバーできます。やる必要あるケースがどれだけあるかはわからないですが
Avatar
話ずれてたらごめんだけど、TCAのスタイルが好みで、Protocol使わずに注入してます public struct URLRoutingClient<Route> { var request: (Route) async throws -> (Data, URLResponse) let decoder: JSONDecoder public init( request: @escaping (Route) async throws -> (Data, URLResponse), decoder: JSONDecoder = .init() ) { self.request = request self.decoder = decoder } live, noop, failingを用途に応じて差し替える public static func live<R: ParserPrinter>( router: R, session: URLSession = .shared, decoder: JSONDecoder = .init() ) -> Self where R.Input == URLRequestData, R.Output == Route { Self.init( request: { route in let request = try router.request(for: route) return try await session.data(for: request) }, decoder: decoder ) } public static let noop = Self.init(request: { _ in try await Task.never() }) public static var failing: Self { Self { let message = """ Failed to respond to route: \(debugPrint($0)) Use '\(Self.self).override' to supply a default response for this route. """ XCTFail(message) throw UnimplementedEndpoint(message: message) } }
Avatar
プロトコルで型消去してるか、クロージャで型消去してるかの違いですね。面白い
Avatar
@tarunon タイミング良さそうなので、会場貸出について 弊社(SmartNews)のイベントスペースを提供することはできそうでした。
  • 渋谷駅から徒歩6 ~ 7分、原宿駅から徒歩9 ~ 10分くらいなので多少歩く必要あり
  • 昨日のLINEさんほど広くはないが、昨日の人数くらいであれば余裕で入りそう
  • 主催者(という概念の方)に、1枚同意書を記入してもらう必要あり (モノぶっ壊したりしたら弁償させるかも、といったもの)
  • 社からの現場サポートなどは基本受けられなさそうなので、配信業などはだれかがなんとかする必要あり
t_kami 3
Avatar
ありがとうございます!同意書は僕が書けば良いかな。 参加の規約を更新して、モノを壊した際の弁償については明記するようにしましょう
swift 1
Avatar
日程候補分かればイベントスペースの空き状況などみて予約など進めていけますので👍
Avatar
Avatar
koher
使いにくい印象があるのはどのあたりですか?型パラメータを書いて回らなければならない部分?
omochimetaru 8/3/2023 7:27 AM
1. 依存の再依存が扱えないような気がします。 例えば、 Repositoryオブジェクトと、 それを内部に持つ UserEditService と、 同様にそれを内部に持つ ZooEditService があったとします。 で、 UserZooController.post(...) で、 UserEditService と ZooEditService を利用するとします。 ここで「依存の再依存」とは、 「依存先Repositoryに、UserEditServiceやZooEditServiceなど複数箇所から依存している」状況のことです。 このとき、 Foo<> には、 直接の Repository と、 UserEditService の型パラメータの Repository と、 ZooEditService の型パラメータの Repository が3回出現しているので、 型パメータとして具体的な依存の実体である DatabaseRepository を 3回書かないといけない。 しかもこれは Repository を利用するコンポーネントが増えるたびに増えていきます。 一般的な動的なDIコンテナだったら、 まず Repository を登録して、その他のそれを利用するサービスは、 自身の依存先を DIコンテナ自体から取り出す事によって構築するので、 「具体的なRepositoryが何であるか」という宣言(コード上の表明) は1箇所で良いはずが、 このアプローチだと自明なはずの事を何度も繰り返して書かないといけない問題がありそうです。 (edited)
7:29 AM
2. 依存の再依存の差し替えがうまくできない気がします。 上記のシナリオに基づいて、 UserZooController.postの動作を自動テストするために、 「他の構成はそのままで、Repositoryを DummyRepository に変える」というセットアップがしたいとします。 しかし、できない気がします。 共通部分も含めて、テスト用の構成をすべて書きくださないといけないとすると、 「ある一箇所だけスタブに変更する」という意味づけのコードが書けない気がします。
Avatar
Avatar
kagemiku
@tarunon タイミング良さそうなので、会場貸出について 弊社(SmartNews)のイベントスペースを提供することはできそうでした。
  • 渋谷駅から徒歩6 ~ 7分、原宿駅から徒歩9 ~ 10分くらいなので多少歩く必要あり
  • 昨日のLINEさんほど広くはないが、昨日の人数くらいであれば余裕で入りそう
  • 主催者(という概念の方)に、1枚同意書を記入してもらう必要あり (モノぶっ壊したりしたら弁償させるかも、といったもの)
  • 社からの現場サポートなどは基本受けられなさそうなので、配信業などはだれかがなんとかする必要あり
外部共有しても良い写真頂けたので、どんな雰囲気かわかりやすいよう共有しますね 机あったほうがいいと思うので出せる机は全て使うのがよさそうですね (edited)
Avatar
めっちゃいい ありがとうございます!
t_waiwai 1
Avatar
おーう ゔぇりぃないすぷれいす(反応忘れてた
3:54 PM
そろそろ計画しないと
Avatar
もしかして私が参加してニコニコするチャンス
Avatar
omochimetaru 8/16/2023 4:19 AM
Avatar
やろうとしたけど別でやることが溜まっててこっち計画するの忘れてた
5:48 AM
だれか余裕と記憶力がある方次回ファシリテートおねがいしたい
Avatar
8末から忙しすぎて無理そうだ😭
Avatar
9月中旬以降なら。ただiOSDCと近い日程で次回をやるんだっけ?
Avatar
ぜんぜんきづかなかった
7:39 AM
やるぞ
Avatar
リアル開催(東京)になって参加はしたいけど、正直開催側としては動きにくくなってきたのでアクティブな人にhand overしたいというのが本音 (edited)
6:51 AM
福岡在住なので....
Avatar
話す内容あるならオンライン回でも良いんじゃないかと思うのだけど、私は長いことtsしかやってなくて提供できるものがない
9:23 AM
主催は指名して回すようにしてたけど、暫くやってないですね。あるいは頓挫してフレディが拾った可能性はあるか
Avatar
やらねばという気持ちだけはあります
3:19 AM
https://x.com/giginet/status/1709463011558404474?s=20 とか、タイプメタデータとかrelative pointerとか出てきててわいわいっぽい内容だったので気になる
社でswift-testingコードリーディング会やったけど、XCTestScaffoldの中のTestCase Discoverの実装がゴツくてすごかった https://t.co/1hh8sjQBu7
Avatar
Kishikawa Katsumi 10/5/2023 3:23 AM
たしかに
Avatar
結構やんちゃしてるんだよね。メモリレイアウト見てテストメソッドを抽出してる
Avatar
そもそもXCTestもそうやってるんじゃないっけ
11:15 AM
Linuxではobjcのリフレクションが無いから
Avatar
Apple会場にしたいですね
11:32 AM
Swift foundation絡みでやったら行けそうだなって思ってます。うちのorgが絡んでるので
👀 1
Avatar
その発想は無かった!
Avatar
ただそこまで人数入れるかはまだわからないので実現そのものは長い目で見て考えないといけないかも
11:33 AM
10人くらいで端っこでやるならそんなにむずくないかも
Avatar
オンラインのよく参加する人達だけで20人ぐらいは居そうな気がしますねえ
11:38 AM
swift-foundationだと Predicatesの実装(マクロ + variadic generics)とか 速くできたらしいJSON decoderの実装とかはわいわいっぽそう あと個人的に最近Calendarが入ったので見ている・・・(corelibsの方が壊れてるので) (edited)
Avatar
アツい展開になってきた
Avatar
念のため、開催できてないのは会場がないからではなく、主催者(私)の気力が足りてないからです (edited)
Avatar
LYになったし、元Yahoo!オフィスのイベントスペース借りるか
7:38 AM
紀尾井町の
7:41 AM
もしくはウホーイさんとかに頼んでDeNAさんと一緒にやるとか https://x.com/DeNAxTech/status/1706503356892549172?s=20
🙌 1
7:41 AM
僕の方でまた幹事やるのでそろそろ来月ぐらいにやりますか
Avatar
ご無沙汰してます。DeNAは僕経由でも使えそうなので、ぎぎにゃんの次は幹事やろうかな
👋 1
👀 1
Avatar
技術書典で偶然渡辺さんとお会いした。Swiftの新刊出されてました!
😲 2
👏 5
Avatar
こんにちは。try! Swiftの松館です。 2024年3月のtry! Swiftで例年開催しているOpen Source Swift workshopを次回も開催したく、 ホストをわいわいSwiftcにお願いしたいと思っていますがいかがでしょうか。 中止になった2020年は、 講師を@kitasuke @ikesyo @giginet にお願いしていました。 同じメンバーでやっていただくのもありがたいですし、前回から4年経っているので他の人でも大丈夫です。 講師として登録できるのは最大3名で、当日困っている人をフォローアップするチューターとしてワークショップをお手伝いいただくのはウェルカムです。 ご検討よろしくお願いします。
Avatar
お誘いありがとうございます-。他のメンバーの希望も聞きつつ前向きに検討させていただきます
👍 1
Avatar
久しぶりすぎて何も覚えてないけど、せっかくの誘ってくれた良い機会なのでぜひやりましょう。今回もチューターとして皆に手伝って貰えれば何とかなると楽観的に考えよう。
👏 2
Avatar
3人ならおもちさんや家庭さんの方が適任に見えるけど、おもちさんはトークで忙しいだろうし、せっかく声かけてもらったので是非やりたいです
👍 2
🙏 1
Avatar
ありがとうございます。ikesyoさんの返信も待ちつつ、まずはお二人にお願いするということでよろしくお願いします! 詳細は追ってご連絡します。
👍 2
10:04 AM
ちなみに2020のときは型推論ワークショップも計画されていて、これはおもちさんにやるか別途確認中です。 https://www.tryswift.co/events/2020/tokyo/jp/#type_inference_implementation_workshop
try! Swift is an immersive community gathering about Swift Language Best Practices, Application Development in Swift, Server-Side Swift, Open Source Swift, and the Swift Community taking place around the world in Tokyo, New York, and Bangalore.
👀 1
Avatar
こちらこそありがとうございます。よろしくお願いします!
Avatar
@d_date もし @ikesyo さんから連絡がない場合は代わりの講師は @freddi さんにお任せするのが良いと思ってます!
Avatar
承知しました!
Avatar
よろしくおねがいしますー
10:45 AM
わいわいswiftc、try らへんでやりたいなっておもってたけど、おもちさんのワークショップとこれで実質わいわいswiftcだったw
Avatar
おもちトークはあるけどワークショップはないよ、準備まにあわん
Avatar
あら、そうなのか
Avatar
@kitasuke san それだったら katei kun の方が講師良さそうな気がしたのですが、どうでしょ
2:11 PM
(やりたくないわけではないけどw katei kun がNGだったらやりたい) (edited)
Avatar
よしなにヘルプでも講師でもカウントしてもらって大丈夫ですー
👏 2
Avatar
遅くなってすいません、自分もなんらかできます!
👍 1
11:10 PM
(最近仕事が忙しくて気持ちの余裕が減ってた)
11:11 PM
自分もSwift OSS最近全然触ってなかったけど、swift-foundationも出たし気持ち上げていきたい
Avatar
反応ありがとうございます!決めるの面倒くさいので、講師は当初の3人で進めますか!ただいろんな人にヘルプお願いしたいので、とりあえずfreddiとkateikunにはメンターをお願いしよう。
👍 4
Avatar
ちなみに、Workshopのメンターはスピーカーディナーの対象にはなりますか? 社内でスポンサーチケットの割り当てを話しているので参考にしたいです。決まっていることがあれば教えてもらえるとありがたいです@d_date
Avatar
決まってません。
Avatar
わかりましたー。ありがとうございます!
Avatar
3/21に海外の人たち含めてミートアップをやる予定なのですが、手頃なグループがないのでわいわいのconnpassグループ使ってイベント立ててもいいですか? (edited)
9:38 AM
Meetup.com でやろうとしたけど有料だった
Avatar
良いんじゃない?わいわいで使ってるのもdiscordのグループだと思うし
Avatar
あ 言われてみれば確かに
9:39 AM
あざす!公開までお楽しみにください (edited)
Avatar
@kitasuke @giginet @ikesyo Workshopのフォームを用意したので、代表で1名記入お願いします。 記入に必要な情報はお互いにやりとりしてください。 https://forms.gle/F6Z823MbCnozcXaV6
Access Google Forms with a personal Google account or Google Workspace account (for business use).
👍 3
Avatar
↑こちら僕が取りまとめようと思うのでDMで話しましょう
🙏 1
Avatar
@giginet @kitasuke @ikesyo みなさんにチケット取得リンクをお送りしました。チケット取得後にtry! SwiftのDiscordにご参加いただけるので、詳細はそちらでお話しさせてください。
👍 2
3:41 AM
giginet-sanはもうチャンネルに招待が済んでいます
👍 1
Avatar
@d_date 週末からコロナワクチン接種でダウンしていてチケット取得が遅れてすいません、今やろうとしたらWorkshop InstructorチケットがSales endedになっていてチェックアウトに進めなさそうでした。どうするとよいでしょうか?
11:50 AM
Avatar
yutailang0119 2/21/2024 11:58 AM
@ikesyo 更新した、どうでしょう?
Avatar
いけそうでした、ありがとうございます! 🙌 お手数お掛けします🙏
Avatar
わいわいswiftcの皆さんでtry! SwiftのオープンソースSwiftワークショップのメンターやりたい方は居ますか?これだけ他のワークショップと被ってなくて午後(14-17時)開催です。当日は主にswiftcとfoundation(swiftc以外その他色々)にエリアを分けるかもなので、どちらか興味あるだけで構わないです。やることは参加者からの質問に答えたり、答えを知ってそうな人に繋ぐとかです。今のところswiftc側はfreddy, kateikun, rintaroさんが手伝ってくれる予定です。英語できなくても特に問題ないです。
Avatar
Kishikawa Katsumi 3/3/2024 1:30 AM
foundationの方お手伝いしようかしら。
👍 1
Avatar
適任です!ありがとうございます!そしたらSwift Macrosはfoundationよりにするのも良いかも。
🙏🏻 1
Avatar
Embedded 向けの KeyPath が実装されていたので,kateinoigakukun さんが以前書いていた KeyPath の遅い原因がどの程度回避できているのか気になってます.(まだ実装見始めたばかり) https://github.com/apple/swift/pull/72472
Enable KeyPath/AnyKeyPath/PartialKeyPath/WritableKeyPath in Embedded Swift, but for compile-time use only: Add keypath optimizations into the mandatory optimizations pipeline Allow keypath optimiz...
Avatar
これはランタイム呼び出しを最適化で取り除けるケースだけを許容するやつなので、既に最適化可能な速いケースですね
4:33 PM
indicesをキャプチャしたりKeyPathインスタンスが関数内で作られない遅いケースはEmbeddedモードではrejectされるように見えます
Avatar
やっぱりそういうことなんですかね. ↓のところが気になってました.
If a use of a KeyPath doesn't optimize away, diagnose in PerformanceDiagnostics
Avatar
みたいです。Optimizerの気持ちに寄り添わないとなんで怒られてるのかわかんなくて大変そう
Avatar
普通の Swift にもそういうモードが欲しいなと思っちゃいました.知らぬ間に KeyPath で遅くなるよりは嬉しい場面が多そう.
Avatar
全部速ければ…!
t_wakaru 1
4:42 PM
そういえばKeyPath calling conventionは入れたのでindicesキャプチャのケースはProjectorを対応させれば最適化出来るはず
t_oltsu 1
Avatar
なるほど.どういう convention なのかは https://github.com/apple/swift/pull/66273 に書いてあって,Projector っていうのは https://github.com/apple/swift/blob/main/lib/SILOptimizer/Utils/KeyPathProjector.cpp のあたりですね. ついでに速度には関係ないですが引用されていた iceman さんの Sendable 問題も解消しそうですね. https://github.com/apple/swift-evolution/blob/main/proposals/0418-inferring-sendable-for-methods.md
Avatar
swiftc三銃士を連れてきたよ
😆 2
Avatar
ワークショップで成果出まくって感動してモチベ上がった
Avatar
omochimetaru 3/25/2024 3:33 AM
短時間なのに凄かったですね。
Avatar
次のわいわいswiftcは再来月以降にDeNAでやる予定です。何か発表したい人は教えてください。
happy 2
👍 2
Avatar
次次回僕が会場提供・幹事すると思うので 次回 (kitasukeさん) の運営をお手伝いして運営・準備方法見たいなと思います、お願いします! (ぜひ仕事あれば振ってください!) (edited)
❤️ 4
Avatar
@omochimetaru @kntk 次のわいわいswiftcは一旦5/30を検討中ですが、何か発表しますか?
Avatar
「オーバーロード21種の要約」か「try swiftワークショップがきっかけで直ったConcurrencyのバグの経緯説明」のネタがあるので、どちらかやろうと思います!
❤️ 1
Avatar
日程は大丈夫そうですか?
Avatar
空いてますー大丈夫です
👍 1
Avatar
omochimetaru 5/1/2024 6:50 AM
型推論の小ネタをいくつか話そうかな〜
❤️ 1
Exported 5,714 message(s)
Timezone: UTC+0