Functional Swift
Functional Swift
  • 47
  • 249 597

วีดีโอ

Ben Cohen - Fast Safe Mutable State
มุมมอง 9K5 ปีที่แล้ว
Ben Cohen - Fast Safe Mutable State
Danny Hertz - From Sketch to Xcode: Building Functional Reactive View Models from the Ground Up
มุมมอง 3.2K5 ปีที่แล้ว
Danny Hertz - From Sketch to Xcode: Building Functional Reactive View Models from the Ground Up
Brandon Kase - Scanning for Scans
มุมมอง 1.1K5 ปีที่แล้ว
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.7K5 ปีที่แล้ว
Jason Zurita - Compositional UI Styling
Brandon Williams - Seemingly Impossible Swift Programs
มุมมอง 3.2K5 ปีที่แล้ว
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...
Peter Tomaselli - Write to go Faster
มุมมอง 1.6K5 ปีที่แล้ว
Peter Tomaselli - Write to go Faster
Loïc Lecrenier - Fuzz Testing Swift Packages
มุมมอง 9405 ปีที่แล้ว
Loïc Lecrenier - Fuzz Testing Swift Packages
Brandon Kase - Strings Are Evil
มุมมอง 3.3K6 ปีที่แล้ว
Brandon Kase - Strings Are Evil
Jack Flintermann - Property-based Testing
มุมมอง 7266 ปีที่แล้ว
Jack Flintermann - Property-based Testing
Julie Swoope - MVVM in Kotlin
มุมมอง 2.4K6 ปีที่แล้ว
Julie Swoope - MVVM in Kotlin
Elmar Kretzer - Reader & Coreader for Dependency Injection
มุมมอง 1.6K6 ปีที่แล้ว
Elmar Kretzer - Reader & Coreader for Dependency Injection
Stephen Celis - Composable Setters
มุมมอง 2.6K6 ปีที่แล้ว
Stephen Celis - Composable Setters
Brandon Williams - Composable Reducers & Effects Systems
มุมมอง 9K6 ปีที่แล้ว
Brandon Williams - Composable Reducers & Effects Systems
Chris Eidhof - Incremental Programming
มุมมอง 4.1K6 ปีที่แล้ว
Chris Eidhof - Incremental Programming
Elviro Rocca - Protocol-Oriented Monad Transformers
มุมมอง 1.5K6 ปีที่แล้ว
Elviro Rocca - Protocol-Oriented Monad Transformers
Writing Domain Specific Languages - Rahul Malik
มุมมอง 7K7 ปีที่แล้ว
Writing Domain Specific Languages - Rahul Malik
Monoids, Predicates and Sorting Functions! - Brandon Williams
มุมมอง 4.7K7 ปีที่แล้ว
Monoids, Predicates and Sorting Functions! - Brandon Williams
Applicative Parsing with Documentation - Chris Eidhof
มุมมอง 1.8K7 ปีที่แล้ว
Applicative Parsing with Documentation - Chris Eidhof
Beyond Types in Swift - Brandon Kase
มุมมอง 3.8K7 ปีที่แล้ว
Beyond Types in Swift - Brandon Kase
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
มุมมอง 4.9K7 ปีที่แล้ว
Test Doubles Are A Scam - Matt Diephouse
A Type System From Scratch - Robert Widmann
มุมมอง 13K7 ปีที่แล้ว
A Type System From Scratch - Robert Widmann
There And Back Again...: A (dys)functional programmer's tale - Lisa Luo
มุมมอง 8167 ปีที่แล้ว
There And Back Again...: A (dys)functional programmer's tale - Lisa Luo
Applicatives and Swift - Stephen Celis
มุมมอง 4K7 ปีที่แล้ว
Applicatives and Swift - Stephen Celis
Daniel Haight - Easy Complex UIControls
มุมมอง 8827 ปีที่แล้ว
Daniel Haight - Easy Complex UIControls
Chris Eidhof - Sort Descriptors
มุมมอง 1.6K7 ปีที่แล้ว
Chris Eidhof - Sort Descriptors
Yasuhiro Inami - Type-safe URL routing in Swift
มุมมอง 9217 ปีที่แล้ว
Yasuhiro Inami - Type-safe URL routing in Swift
Gina and Lisa - Putting the Fun in FRP: Leveraging MVVM & TDD for a better life
มุมมอง 12K7 ปีที่แล้ว
Gina and Lisa - Putting the Fun in FRP: Leveraging MVVM & TDD for a better life

ความคิดเห็น

  • @alexandersedykh9280
    @alexandersedykh9280 15 วันที่ผ่านมา

    classic talk

  • @mrmaniac9905
    @mrmaniac9905 4 หลายเดือนก่อน

    In what world does calling expressions "applications" make sense...?

    • @valshaped
      @valshaped 2 หลายเดือนก่อน

      It's function application: applying f to x is literally f(x)

  • @DeclanMBrennan
    @DeclanMBrennan 5 หลายเดือนก่อน

    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. :-)

  • @sunofabeach9424
    @sunofabeach9424 6 หลายเดือนก่อน

    god bless english, the best type system ever invented. can't say the same about Swift

  • @cristianf98
    @cristianf98 6 หลายเดือนก่อน

    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)") } }

  • @smilebot484
    @smilebot484 6 หลายเดือนก่อน

    swift 5.7 solves a lot of the issues with PATS presented here by using the any keyword.

  • @pibob7880
    @pibob7880 ปีที่แล้ว

    It's always mind blowing that arranging/abstracting data into different forms can save much computation.

  • @blacklistnr1
    @blacklistnr1 ปีที่แล้ว

    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.

  • @kostiantynherasimov
    @kostiantynherasimov ปีที่แล้ว

    The presentation is A Scam

  • @alxkub
    @alxkub ปีที่แล้ว

    7 years, but associated pain is still with us

    • @KryptLynx
      @KryptLynx 8 หลายเดือนก่อน

      They *finally* added auto existentials in swift 5.6 ( in form of `let test: any Test`)

  • @lazerlevel9556
    @lazerlevel9556 ปีที่แล้ว

    what a load of bollocks!

  • @lazerlevel9556
    @lazerlevel9556 ปีที่แล้ว

    what a load of bollocks!

  • @Allinfun6789
    @Allinfun6789 2 ปีที่แล้ว

    Is thos the same guy who made Star Trek Apeiron for OS9?

  • @jozefmatus7929
    @jozefmatus7929 2 ปีที่แล้ว

    What a talk! You my pal, are talented!

  • @jeremysaklad6703
    @jeremysaklad6703 2 ปีที่แล้ว

    `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.

  • @OriginalJetForMe
    @OriginalJetForMe 3 ปีที่แล้ว

    I would love to see an updated version of this talk. I don't think much has changed, though, has it?

    • @tokero5199
      @tokero5199 ปีที่แล้ว

      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.

  • @nebulousJames12345
    @nebulousJames12345 3 ปีที่แล้ว

    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

    • @marcnunes6916
      @marcnunes6916 หลายเดือนก่อน

      ya I noticed that too. I don't see this approach as a scalable solution. This function is not doing much.

  • @KK-pq6lu
    @KK-pq6lu 3 ปีที่แล้ว

    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.

  • @user-sv7bx6gn8n9
    @user-sv7bx6gn8n9 3 ปีที่แล้ว

    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?

  • @DK-ek9qf
    @DK-ek9qf 3 ปีที่แล้ว

    People that don't understand why functional programming is good, will not understand why one would use lenses instead of a dot class syntax.

  • @bibliusz777
    @bibliusz777 3 ปีที่แล้ว

    surprisingly good talk

  • @michaelnajera7958
    @michaelnajera7958 3 ปีที่แล้ว

    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.

  • @NenziTre
    @NenziTre 3 ปีที่แล้ว

    Great video, thanks!

  • @billguschwan4112
    @billguschwan4112 3 ปีที่แล้ว

    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

  • @manuelmeyer1026
    @manuelmeyer1026 3 ปีที่แล้ว

    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.

  • @PetersFXfilms
    @PetersFXfilms 4 ปีที่แล้ว

    Can someone explain to me what he's actually doing? I'm not sure what he's trying to accomplish.

    • @DK-ek9qf
      @DK-ek9qf 3 ปีที่แล้ว

      Create a beautiful syntax for mutation of nested immutable structs.

  • @evergreen-
    @evergreen- 4 ปีที่แล้ว

    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

  • @juliocesartorrescama5661
    @juliocesartorrescama5661 4 ปีที่แล้ว

    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

  • @juliocesartorrescama5661
    @juliocesartorrescama5661 4 ปีที่แล้ว

    Awesome

  • @ssaai
    @ssaai 4 ปีที่แล้ว

    Is any source code available

    • @haifengkao9075
      @haifengkao9075 3 ปีที่แล้ว

      github.com/kickstarter/ios-oss

  • @yixe2253
    @yixe2253 4 ปีที่แล้ว

    its much better now with functionbuilder

  • @jakobmygind
    @jakobmygind 4 ปีที่แล้ว

    Great stuff. Also I like how there's a Death Metal band accompanying him really softly.

  • @jakobmygind
    @jakobmygind 4 ปีที่แล้ว

    Solid gold

  • @nahalem007
    @nahalem007 4 ปีที่แล้ว

    Are there any info on how to handle async actions in reducers?

  • @FilippoVitaleIT
    @FilippoVitaleIT 4 ปีที่แล้ว

    I have no idea why this video got downvoted... did you watch it or just made your opinion from its title?

  • @ChristopherTruman
    @ChristopherTruman 5 ปีที่แล้ว

    Slides: speakerdeck.com/mbrandonw/finding-happiness-in-functional-programming

  • @w0mblemania
    @w0mblemania 5 ปีที่แล้ว

    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.

  • @sergembamba1226
    @sergembamba1226 5 ปีที่แล้ว

    Awesome !!

  • @Gautier547435
    @Gautier547435 5 ปีที่แล้ว

    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 ?

    • @stephencelis
      @stephencelis 5 ปีที่แล้ว

      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 :)

  • @HaiderKhanZ
    @HaiderKhanZ 5 ปีที่แล้ว

    Awesome talk!

  • @keyvannorouzi2060
    @keyvannorouzi2060 5 ปีที่แล้ว

    This is very helpful for me to understand everything about Typealies and Protocols

  • @ulysses4536
    @ulysses4536 5 ปีที่แล้ว

    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.

  • @hamsternik_
    @hamsternik_ 5 ปีที่แล้ว

    What is `yield` on the slide? 21:36 I don't remember any return-kind keywords like this one on Swift...

  • @michaelprenez-isbell8672
    @michaelprenez-isbell8672 5 ปีที่แล้ว

    Think this was an RWDevCon talk, it was one of my favorites.

  • @trollinlikeamadafaka5127
    @trollinlikeamadafaka5127 5 ปีที่แล้ว

    Thanks for the tutorial, I know what not to do in Swift now

  • @nikitaskripchenko5136
    @nikitaskripchenko5136 5 ปีที่แล้ว

    Great video! where I can find the keynote source? In particular, References on the 13:45, Thank you in advance

    • @Contsplel
      @Contsplel 5 ปีที่แล้ว

      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

  • @jklnozx
    @jklnozx 5 ปีที่แล้ว

    Guys, is there any chance of getting demo source code?

    • @dannyhertz
      @dannyhertz 5 ปีที่แล้ว

      There ya go! gist.github.com/dannyhertz/9eb4247e784e0c3b2ff8ec60098630a2

    • @pablobarcos7268
      @pablobarcos7268 5 ปีที่แล้ว

      Example of the video on a project: github.com/pablobarcos/RxSwiftReactiveViewModel

    • @jakobmygind
      @jakobmygind 4 ปีที่แล้ว

      @@dannyhertz Thanks, great demo! Might there be an example uf unit testing this anywhere? You mentioned it was almost too easy?

  • @AlessandroMartin-iOS
    @AlessandroMartin-iOS 5 ปีที่แล้ว

    Nice talk by Brandon as usual! Just a little technical issue: left audio channel is totally dead :)

    • @johngoogle6574
      @johngoogle6574 5 ปีที่แล้ว

      Well the guy is in the lower right side :p

  • @donhuff1159
    @donhuff1159 5 ปีที่แล้ว

    Awesome! Genius idea to replace view models with a function. Wow. Will definitely check out the Kickstarter app. Thanks!

  • @patilashish
    @patilashish 5 ปีที่แล้ว

    Which talk from other talk is he referring to from other Brandon ?

    • @hbrynjar
      @hbrynjar 5 ปีที่แล้ว

      that one th-cam.com/video/6z9QjDUKkCs/w-d-xo.html