• Shashi Gowda
    Shashi Gowda
    schedule 2 years ago
    Sold Out!
    90 mins
    Tutorial
    Beginner

    Code used during the talk: https://github.com/shashi/fuconf-talk
    Slides: https://docs.google.com/presentation/d/16Xfqd-xU8y2JEN0TIcacDoYnp0b5-W7ESDB5v1SmcXs/edit#slide=id.p

     

    Elm is a strongly typed functional reactive programming (FRP) language that compiles to HTML, CSS, and Javascript. In Elm, the Signal type represents a time-varying value--things like mouse position, keys pressed, current time are signals. With Signals, one can write terse code that is isomorphic to a dataflow diagram of the app. The code hence feels natural and is 100% callback free. All this, with powerful type inference.

    This talk is an introduction to FRP. It explores functionally composing graphics and UIs, and creating interactions and animations with the Signal type. There will also be an overview of Elm’s execution mechanism and the time traveling debugger: a consequence of Elm's purely functional approach.

    While instructive, it will be good fun too, in the spirit of Elm.

  • Liked Bhasker Kode
    keyboard_arrow_down

    Writing and improving tail recursive functions

    Bhasker Kode
    Bhasker Kode
    schedule 2 years ago
    Sold Out!
    45 mins
    Talk
    Beginner

    Brief history of recursion 

    Snippets from a few languages

    What is tail recursion?

    Design choices around recursion

    The importance of tail recursion in erlang

    How do you profile such improvements?

     

     

     

  • Liked Vagmi Mudumbai
    keyboard_arrow_down

    Clojurescript and Om - Pragmatic functional programming in the Javascript Land

    Vagmi Mudumbai
    Vagmi Mudumbai
    schedule 2 years ago
    Sold Out!
    60 mins
    Demonstration
    Beginner

    Javascript programmers have had a lot of choices when it comes to programming. There were days of mootools, scriptaculous and jQuery and then there are now days of Angular, Ember, Knockout and the like. As a javascript programmer myself, I find that Clojurescript/React as Om offers a fresh perspective into building performant Javascript UIs that are easy to write.

    The talk will introduced concepts of React, immutable datastructures in Clojure and live code an application that demonstrates the concepts.

     

  • Liked Dhaval Dalal
    keyboard_arrow_down

    Code Jugalbandi

    Dhaval Dalal
    Dhaval Dalal
    Ryan Lemmer
    Ryan Lemmer
    schedule 2 years ago
    Sold Out!
    60 mins
    Demonstration
    Beginner

    In Indian classical music, we have Jugalbandi, where two lead musicians or vocalist engage in a playful competition. There is jugalbandi between Flutist and a Percussionist (say using Tabla as the instrument). Compositions rendered by flutist will be heard by the percussionist and will replay the same notes, but now on Tabla and vice-versa is also possible.

    In a similar way, we will perform Code Jugalbandi to see how the solution looks using different programming languages and paradigms.

    During the session, Dhaval and Ryan will take turns at coding the same problem using different languages and paradigms. There would be multiple such rounds during the Jugalbandi.

  • Liked Morten Kromberg
    keyboard_arrow_down

    Pragmatic Functional Programming using Dyalog

    Morten Kromberg
    Morten Kromberg
    schedule 2 years ago
    Sold Out!
    60 mins
    Demonstration
    Beginner

    APL is a member of the family of languages that are approaching middle age (Ken Iverson’s book titled “A Programming Language” was published in 1962). APL was very influential in the 60’s and 70’s, and widely used to deliver “end user computing” - but although the REPL, dynamic scope and lack of a type system endeared APL to domain experts, it also drew fire from computer scientists, most famously when Edsger Dijkstra declared that “APL is a mistake, carried through to perfection. It is the language of the future for the programming techniques of the past it creates a new generation of coding bums.”

    Dyalog is a modern, array-first, multi-paradigm programming language, which supports functional, object-oriented and imperative programming based on an APL language kernel. Dyalog allows people with good ideas – from bright high school students to PhDs – to contribute directly to the software development process using a notation which fits comfortably with those used in their own domains. Subject matter experts can write prototypes or, with suitable training and/or support, highly efficient, parallel and robust code that can be embedded in high-performance production applications.

  • Liked Keith Bennett
    keyboard_arrow_down

    Functional Programming in Ruby

    Keith Bennett
    Keith Bennett
    schedule 2 years ago
    Sold Out!
    45 mins
    Talk
    Beginner

    Although Ruby is not known as a functional language, it does support higher order functions in the form of lambdas and procs. Ruby's support for both object oriented and functional approaches, along with its conciseness, clarity, and expressiveness, make it an excellent choice as a general purpose programming language.

    This session, geared toward the functional novice, shows how to implement functional approaches in Ruby, and shows why you would want to.

    Topics covered will include:

    • in testing, using lambdas to verify that certain behaviors do or do not not raise errors
    • lambdas as predicates
    • deferred execution
    • composite functions
    • nested functions
    • using lambdas to hide variables
    • functions that return functions (partial application, currying)
    • lightweight event handling
    • chaining behavior with lambda arrays
    • how lambdas differ from conventional Ruby methods
  • Liked Tejas Dinkar
    keyboard_arrow_down

    Monads you already use (without knowing it)

    Tejas Dinkar
    Tejas Dinkar
    schedule 2 years ago
    Sold Out!
    45 mins
    Talk
    Beginner

    Monads are a little bit like Quantum Physics: If you think you understand quantum mechanics, you don't understand quantum mechanics.

    Monads are very useful for chaining computation together, in a simple way. The best explanation I've heard for them so far is that they are `programmable semicolons'.

    In this session, I'll describe a few patterns that are solved by monads in some FP languages, and how you are already using them.

    Some monads I plan to cover:

    * Maybe Monad (being the easiest to explain)

    * List monad, and how it is used to model non-determinism

    * The state monad

    * The IO monad

    And maybe a few others

  • Liked Aditya Godbole
    keyboard_arrow_down

    Learning (from) Haskell - An experience report

    Aditya Godbole
    Aditya Godbole
    schedule 2 years ago
    Sold Out!
    45 mins
    Experience Report
    Beginner

    Functional programming as a programming style and discipline is useful even in languages which are not pure functional languages. By practising programming in a pure functional language like Haskell, programmers can drastically improve the quality of code when coding in other languages as well.

    The talk is based on first hand experience of using Haskell in internal courses in our organisation to improve code quality.

    This talk will cover Gofer (one of the earliest variants of Haskell) as a teaching tool, including the choice of the language, the features from Haskell that should (and shouldn't) be covered and the obstacles and benefits of the exercise.

     

  • Liked Venkat Subramaniam
    keyboard_arrow_down

    Haskell for Everyday Programmers

    Venkat Subramaniam
    Venkat Subramaniam
    schedule 2 years ago
    Sold Out!
    90 mins
    Talk
    Intermediate

    I learn different languages not to make use of them, but to program in my current languages in a better way. As we adapt functional style of programming in mainstream languages, like Java, C#, and C++, we can learn a great deal from a language that is touted as a purely functional language.

    Haskell is statically typed, but not in a way like Java, C#, or C++. Its static typing does not get in the way of productivity. Haskell quietly does lazy evaluation and enforces functional purity for greater good. Everyday programmers, like your humble speaker, who predominantly code in mainstream languages, can greatly benefit from learning the idioms and style of this elegant language. The next time we sit down to crank out some code in just about any language, we can make use of some of those styles, within the confines of the languages, and move towards a better, functional style.

  • Liked Bruce Tate
    keyboard_arrow_down

    Fear: The Role of Fear in Language Adoption

    Bruce Tate
    Bruce Tate
    schedule 2 years ago
    Sold Out!
    60 mins
    Keynote
    Intermediate

    Old languages emerge and new languages are born when big things happen, and big things are happening now. In this keynote, we'll look at some of the biggest challenges facing programming evolution, and their likely impacts on programming.

    Functional Programming Languages have a prominent role, but also there are interesting things happening in the browser and a pendulum shift toward better type models.

  • Liked Akash Manohar
    keyboard_arrow_down

    Elixir Today: a round-up on state of Elixir and it's ecosystem

    Akash Manohar
    Akash Manohar
    schedule 2 years ago
    Sold Out!
    60 mins
    Talk
    Beginner

    Elixir is a functional and dynamic language built on top of the Erlang VM. The development of the language is happening at a fast pace. People in the community have participated actively to write tools and libraries, required to write real-world apps in Eilxir.

    In this talk, I will attempt to skim through all the new features in Elixir, a few important libraries with short examples and some learning resources.

    Each tool showcased in this talk, will have a 3-step tryout, with the simplest example.

  • Liked Venkat Subramaniam
    keyboard_arrow_down

    Keynote: The Joy of Functional Programming

    Venkat Subramaniam
    Venkat Subramaniam
    schedule 2 years ago
    Sold Out!
    60 mins
    Keynote
    Intermediate

    It's been around for a long time, but everyone's talking about it all of a sudden. But why and why now? We've been

    programming in languages like Java for a while, quite well. Now we're asked to change and the languages themselves

    are changing towards this style of programming. In this keynote, a passionate polyglot programmer and author of

    "Functional Programming in Java: Harnessing the Power of Java 8 Lambda Expressions" will share the reasons

    we need to make the paradigm shift and the pure joy—the benefits—we will reap from it.

  • Liked Venkat Subramaniam
    keyboard_arrow_down

    Transforming your C# code to Functional Style

    Venkat Subramaniam
    Venkat Subramaniam
    schedule 2 years ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    Since the introduction of lambda expressions in C#, we have had two different style of programming. Yet, programmers used to the habitual style often find it easy to fall back on those old practices. In this presentation we will take a number of common tasks we code in C#, discuss the downsides of the habitual style, transform it into functional style, and discuss the benefits. We will also discuss some techniques that can help make this transformation easier on everyday projects.

Sorry, no proposals found under this section.