Bucharest FP

A functional programming group for those living and working in Bucharest

We gather monthly, watch someone talk about something they're passionate about and then continue the discussion in a pub

#002: Category Theory; Miniboxing; Scala

This meetup took place at the Thales Systems Romania, Thursday, 17 July 2014 at 19:00. Find out when our next meetup is.

Introducere în Teoria Categoriilor

Adriana Bălan

Biography

Adriana Bălan is a lecturer at the Department of Mathematical Methods and Models, University Politehnica of Bucharest, where she works since 1997. She has obtained her PhD in Mathematics in 2008 at the University of Bucharest, with a thesis on Quantum Groups Theory.

Currently, her main research interests focus on Category Theory and its applications in Logic and Computer Science, particularly on coalgebraic logic.

Abstract

Category Theory, albeit has origins in algebra and topology, has found use in recent decades for Computer Science and Logic applications. For example, Category Theory is an increasingly popular setting for describing the semantics of functional programming languages. Also, the categorical paradigm has influenced the language design, and given rise to several of the language elements, like functors, monads and arrows.

This talk will introduce the language of category theory, limited to the most elementary and important notions and results, with an eye towards its applications to and correspondences with Haskell.

Miniboxing: Specialization on a Diet

Vlad Ureche

Biography

Vlad Ureche is a PhD student at EPFL, in the Scala Lab. Working on transforming programs to efficient bytecode. Specialist in Scala specialization.

Abstract

Miniboxing is a research project at EPFL aimed at improving the performance of generic code running on the Java Virtual Machine. It is implemented as a Scala compiler plugin, and can speed up generics by up to 22x when used for numeric types, such as integer or double.

Building Higher-level Abstractions with Scala

Alexandru Nedelcu

Abstract

Managing complexity is what makes or breaks software systems. Scala is a language that provides the proper tools to build resilient and responsive systems that can be evolved. In this presentation we'll discuss why Scala is a better OOP language than Java, what functional programming is and how it can solve day to day issues and we'll touch on immutability, higher-order functions, type-classes and monads.

Slides in HTML format can be found here.