- 47
- 253 093
Functional Swift
เข้าร่วมเมื่อ 10 ธ.ค. 2014
Videos from the Functional Swift conference on December 6th, 2014.
2014.funswiftconf.com
2014.funswiftconf.com
Stephen Celis - Reactive view models, simplified
Stephen Celis - Reactive view models, simplified
มุมมอง: 5 552
วีดีโอ
Danny Hertz - From Sketch to Xcode: Building Functional Reactive View Models from the Ground Up
มุมมอง 3.2K6 ปีที่แล้ว
Danny Hertz - From Sketch to Xcode: Building Functional Reactive View Models from the Ground Up
Brandon Kase - Scanning for Scans
มุมมอง 1.1K6 ปีที่แล้ว
Slides: bkase.github.io/slides/parallel-scan-swift/ Referenced material: chriseth.github.io/notes/articles/zksnarks/zksnarks.pdf medium.com/@VitalikButerin/zk-snarks-under-the-hood-b33151a013f6 people.eecs.berkeley.edu/~chualynn/elliptic_curve_cycle_talk.pdf eprint.iacr.org/2014/595.pdf
Jason Zurita - Compositional UI Styling
มุมมอง 1.7K6 ปีที่แล้ว
Jason Zurita - Compositional UI Styling
Brandon Williams - Seemingly Impossible Swift Programs
มุมมอง 3.2K6 ปีที่แล้ว
Swift Playground: gist.github.com/mbrandonw/981f589f32800d3409f817ad4f7c6802 Blog post: www.fewbutripe.com/2018/12/05/seemingly-impossible.html References * Infinite sets that admit fast exhaustive search - Martín Escardó * Synthetic topology of data types and classical spaces - Martín Escardó * Seemingly Impossible Functional Programs - Martín Escardó * The topology of Seemingly impossible fun...
Loïc Lecrenier - Fuzz Testing Swift Packages
มุมมอง 9596 ปีที่แล้ว
Loïc Lecrenier - Fuzz Testing Swift Packages
Jack Flintermann - Property-based Testing
มุมมอง 7317 ปีที่แล้ว
Jack Flintermann - Property-based Testing
Elmar Kretzer - Reader & Coreader for Dependency Injection
มุมมอง 1.6K7 ปีที่แล้ว
Elmar Kretzer - Reader & Coreader for Dependency Injection
Brandon Williams - Composable Reducers & Effects Systems
มุมมอง 10K7 ปีที่แล้ว
Brandon Williams - Composable Reducers & Effects Systems
Elviro Rocca - Protocol-Oriented Monad Transformers
มุมมอง 1.6K7 ปีที่แล้ว
Elviro Rocca - Protocol-Oriented Monad Transformers
Writing Domain Specific Languages - Rahul Malik
มุมมอง 8K7 ปีที่แล้ว
Writing Domain Specific Languages - Rahul Malik
Monoids, Predicates and Sorting Functions! - Brandon Williams
มุมมอง 4.8K7 ปีที่แล้ว
Monoids, Predicates and Sorting Functions! - Brandon Williams
Applicative Parsing with Documentation - Chris Eidhof
มุมมอง 1.8K7 ปีที่แล้ว
Applicative Parsing with Documentation - Chris Eidhof
Objecting to Objects - Christella Dolmo
มุมมอง 1.1K7 ปีที่แล้ว
Objecting to Objects - Christella Dolmo
Growing Trees with Recursive Enums in Swift - Konrad Feiler
มุมมอง 2.6K7 ปีที่แล้ว
Growing Trees with Recursive Enums in Swift - Konrad Feiler
Test Doubles Are A Scam - Matt Diephouse
มุมมอง 5K7 ปีที่แล้ว
Test Doubles Are A Scam - Matt Diephouse
A Type System From Scratch - Robert Widmann
มุมมอง 14K7 ปีที่แล้ว
A Type System From Scratch - Robert Widmann
There And Back Again...: A (dys)functional programmer's tale - Lisa Luo
มุมมอง 8227 ปีที่แล้ว
There And Back Again...: A (dys)functional programmer's tale - Lisa Luo
Daniel Haight - Easy Complex UIControls
มุมมอง 8868 ปีที่แล้ว
Daniel Haight - Easy Complex UIControls
Yasuhiro Inami - Type-safe URL routing in Swift
มุมมอง 9308 ปีที่แล้ว
Yasuhiro Inami - Type-safe URL routing in Swift
Gina and Lisa - Putting the Fun in FRP: Leveraging MVVM & TDD for a better life
มุมมอง 12K8 ปีที่แล้ว
Gina and Lisa - Putting the Fun in FRP: Leveraging MVVM & TDD for a better life
Thank you for a great talk but did you just advise at 39:40 to just throw away SOLID?
0:16
Interesting
Great presentation!
classic talk
In what world does calling expressions "applications" make sense...?
It's function application: applying f to x is literally f(x)
Crystal clear explanation of a non trivial topic. Thank you. Names matter but I sometimes wonder if mathematicians choose theirs by blowing up a dictionary and randomly picking words as they flutter to the ground. :-)
god bless english, the best type system ever invented. can't say the same about Swift
What's the advantage of this method over Equatable conformance? ex): final class ViewController { var state = Person(firstName: "First", lastName: "Last") { didSet {updateUI()} } func updateState(firstName: String, lastName: String) { let newState = Person(firstName: firstName, lastName: lastName) if newState != state { state = newState } } func updateUI() { print("ui update: \(state.firstName) \(state.lastName)") } }
swift 5.7 solves a lot of the issues with PATS presented here by using the any keyword.
It's always mind blowing that arranging/abstracting data into different forms can save much computation.
Funny that swift assumes that the human knows the types (=> easy enough for sleepy programmer to deduce), but then runs into exptime while solving 60 rules. Mayybe, just maybe.. there is another simpler ruleset which runs in like O(N), because if I have to read an expression and its types more than 3 times to figure out the type I'll just *table flip* and switch language.
7 years, but associated pain is still with us
They *finally* added auto existentials in swift 5.6 ( in form of `let test: any Test`)
what a load of bollocks!
what a load of bollocks!
Is thos the same guy who made Star Trek Apeiron for OS9?
What a talk! You my pal, are talented!
`Int` could definitely conform to `CaseIterable` using lazy collections, and you could then implement `anySatisfy` for it. Whether you could *run* it in a reasonable amount of time is another matter.
I would love to see an updated version of this talk. I don't think much has changed, though, has it?
I was thinking the exact same thing. This talk is still extremely useful though even with all the changes like actually calling it asociatedtype and the addition of ´some´ and ´any´ etc.
Model-View-Function (MVF), nice! My question is, where does the ViewModel go? It is unaccessible, right? This function-view-model will only work if your *entire* screen is 100% reactive, correct? As you will not be able to reference or call functions on a vm
ya I noticed that too. I don't see this approach as a scalable solution. This function is not doing much.
Ugh...if the syntax allowed “func eat(f:Food:Grass){}” or “func eat(f:Food.Grass){}” then the compiler would have all the information it needs to meet the covariance requirement.
I follow the instruction at 26:39 in playground, but it reports: "the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions." How can I resolve this problem?
People that don't understand why functional programming is good, will not understand why one would use lenses instead of a dot class syntax.
surprisingly good talk
I’d be more forgiving if swift was not backed by a trillion dollar company that could easily solve this problem by adding existentials with a snap of a finger. Same goes with not having better concurrency and Xcode tooling.
Great video, thanks!
18:48 After Michael Becker, an editor at the Bozeman Daily Chronicle (a local paper in Montana), let the wrong version slide into an editorial, he did some research on his personal blog. Becker traced the original back to Rita Mae Brown, the mystery novelist. In her 1983 book "Sudden Death," she attributes the quote to a fictional "Jane Fulton," writing, "Unfortunately, Susan didn’t remember what Jane Fulton once said. 'Insanity is doing the same thing over and over again, but expecting different results.'" www.businessinsider.com/misattributed-quotes-2013-10
Nice talk. I use PATs to define UseCases from Robert C. Martins Clean Architecture. They have become the main building block in my code for defining modules.
Can someone explain to me what he's actually doing? I'm not sure what he's trying to accomplish.
Create a beautiful syntax for mutation of nested immutable structs.
For anyone who stumbled across this video, transducers in Swift have operator overhead and can be (fully) replaced by lazy arrays. Here's performance comparison: deadbeef.me/2017/07/transducers-pt2
Hey channel, Thank you for this valuable information, could you please add sources like links for references :(? , this is the only functional related channel in swift :) its awesome how you get this talks
Awesome
Is any source code available
github.com/kickstarter/ios-oss
its much better now with functionbuilder
Great stuff. Also I like how there's a Death Metal band accompanying him really softly.
Solid gold
Are there any info on how to handle async actions in reducers?
I have no idea why this video got downvoted... did you watch it or just made your opinion from its title?
Slides: speakerdeck.com/mbrandonw/finding-happiness-in-functional-programming
You had me at "DI is just a $25 term for a 5 cent concept". But, that Reader Monad stuff... yeah, no. Solutions should be simpler than the problem they purport to solve. Cheers.
Awesome !!
Very interesting! This simplification idea doesn't seem to be implemented in kickstarter/ios-oss repo. Is there any reason other than having other priorities ?
I can't speak for the current team, as I've moved on, but when I was there we wanted to explore this idea but the boilerplate wasn't substantial enough to make time for when weighed against other priorities :)
Awesome talk!
This is very helpful for me to understand everything about Typealies and Protocols
Well.. one could define the same method for String, where it would find a string having particular properties by recursively building that string. It would die with stack overflow pretty soon, but would definitely work the same way. I'm trying to say, the bitfield infinity and String infinity are pretty much similar, with the former being constructed from a much smaller vocabulary. Actually, big integers can be treated similarly.
What is `yield` on the slide? 21:36 I don't remember any return-kind keywords like this one on Swift...
coroutine
you can find on wikipedia
Think this was an RWDevCon talk, it was one of my favorites.
Thanks for the tutorial, I know what not to do in Swift now
Great video! where I can find the keynote source? In particular, References on the 13:45, Thank you in advance
Thanks, I am glad you liked it!! The resources for my presentation (slides + playground) are available here: github.com/jasonzurita/jasonzurita.github.io/tree/master/talks/2018_functional_swift_conference Also, to give you quick access to the references: - www.pointfree.co/episodes/ep3-uikit-styling-with-functions - www.pointfree.co/episodes/ep17-styling-with-overture - th-cam.com/video/6z9QjDUKkCs/w-d-xo.html - docs.swift.org/swift-book/LanguageGuide/AdvancedOperators.html#ID46 - th-cam.com/video/3MNVP9-hglc/w-d-xo.html Best, Jason
Guys, is there any chance of getting demo source code?
There ya go! gist.github.com/dannyhertz/9eb4247e784e0c3b2ff8ec60098630a2
Example of the video on a project: github.com/pablobarcos/RxSwiftReactiveViewModel
@@dannyhertz Thanks, great demo! Might there be an example uf unit testing this anywhere? You mentioned it was almost too easy?