-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Discussion Episode 8: Damn Functional Programming with Paco Estevez #57
Comments
cc @pakoito |
Errata: in 30:30 I say that to do filter + map to change based on type you need |
Yup (we have custom |
Btw, here is the code of problematic // This can be applied to any observable no matter which type is emitted by upstream
// and may lead to no events in downstream if incompatible types are used.
inline fun <reified Downstream : Any> Observable<*>.ofType()
: Observable<Downstream> = ofType(Downstream::class.java)
// This version has type bounds, but for some reason Kotlin compiler requires
// you to also pass upstream type, though I think it should be able to infer it.
inline fun <Upstream, reified Downstream : Upstream> Observable<Upstream>.ofType2()
: Observable<Downstream> = filter { it is Downstream }.map { it as Downstream } Same problem of |
Examples: Observable.just(1).ofType(String::class.java).subscribe { /* Compiles :( */ }
Observable.just(1).ofType1<String>().subscribe { /* Compiles :( */ }
Observable.just(1).ofType2<Int, String>().subscribe { /* Not compiles! But requires specifying upstream type */ } |
Fantastic program, I quite enjoyed it 👍 Thanks for explaining Monads, the concept is still exploding in my mind but your explanation is close to what I found in this monads ELI5 and the concept is starting to crystalize in my mind. I really liked the part where you guys discuss the similarities between Mosby3 and Paco's solution, although I would like a deeper dive in the differences of each solution to understand the nuances. Super interesting topic 👌 Note: The testing robots thing is indeed an abstraction from the UI layer for testing and it's originally called PageObject pattern coming from the old wild web world. Martin Fowler introduced it here: https://martinfowler.com/bliki/PageObject.html Keep up with the high quality of the topics! 💯 |
No description provided.
The text was updated successfully, but these errors were encountered: