location_city Bengaluru schedule Oct 15th 12:30 - 01:15 PM place Grand Ball Room 1 people 5 Interested

This talk will be about how we applied Typed functional programming and object-functional concepts inspired from languages like Scala, Haskell in building an Ads serving engine using Java 8 and made the stack extensible for multiple Ads serving usecases like App, Desktop, Exchange and ML model execution for CTR prediction, Guaranteed delivery etc.

This talk will focus on how we solved problems in an Ads serving engine using functional programming constructs for:

  • Relevance and Ranking
  • CTR prediction
  • Bidding models
  • Guaranteed delivery (Convex Optimization)
  • Explore / Exploit (Multi-armed bandit)
  • Attribution, Deduplication etc

From a language level, it will focus on how we applied our learnings from other functional languages like Scala, Clojure, Haskell in Java 8 to write elegant code for:

  • Composing Ad selection workflows from reusable components
  • Reasoning about code through immutability
  • Defining interfaces like function types. Functions as first class objects to express behaviour.
  • Using Builders and Filter predicates for adding new features
  • Transforming collections using streams, lambdas, map, reduce, flatMap, groupBy
  • Optional for writing null safe code and handling defaults using map, flatMap, orElse
  • Functional operations like partition, zip for simplifying code
  • Pattern matching and other features from libraries
  • Caching and memoization

Outline/Structure of the Experience Report

  1. Problem statement for Ads serving engine
  2. Domain and Functional modeling for different components
  3. Application and advantages of functional programming concepts for different components
  4. Code demo + comparison with Scala/Haskell

Learning Outcome

Audience can learn about how to apply functional programming concepts in a real world application without working in a purely functional language in the context of an Ads serving engine.

Target Audience

Beginner and Experienced functional programmers



schedule Submitted 4 years ago

Public Feedback

    • Vagmi Mudumbai

      Vagmi Mudumbai - Reactive Programming with RxSwift

      Vagmi Mudumbai
      Vagmi Mudumbai
      schedule 5 years ago
      Sold Out!
      45 Mins

      We have been rewriting our CoreData and NSOperationQueue based sync system with RxSwift. This talks presents our benefits with moving with RxSwift and some of the challenges we faced while we implemented a persistent job queue with RxSwift.