IDE for functional programming on macOS • currently in beta Interested in beta testing? Just DM an email address for a TestFlight invitatio
Applicative code —the IDE for functional programming— is now in beta and sports a Bluesky account to follow!
seen from Germany

seen from Taiwan
seen from China

seen from Malaysia

seen from Netherlands
seen from Germany
seen from China
seen from United Kingdom
seen from Netherlands
seen from Argentina

seen from United States

seen from Taiwan
seen from China

seen from United States

seen from Finland
seen from China
seen from United States
seen from Yemen
seen from United Kingdom
seen from China
IDE for functional programming on macOS • currently in beta Interested in beta testing? Just DM an email address for a TestFlight invitatio
Applicative code —the IDE for functional programming— is now in beta and sports a Bluesky account to follow!

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Today, functional programming is mostly used in the development of server-side software and command line applications. This is changing with Swift, a language with strong support for functional programming that is pitched as the successor of Objective-C for desktop and mobile applications. Unsurprisingly, there are obstacles. Any attempt to use Swift’s support for functional programming to its full potential leads to architectural challenges, especially in the separation of stateful and purely functional computations. In desktop and especially in mobile applications, a superb user experience is the central aim in application design. This typically leads to a ubiquitous use of application frameworks, such as Cocoa, which tend to encourage a tangled web of stateful, mutually mutating objects — very much the anti-thesis of modern functional programming. Established approaches to disentangling stateful from pure computations, while necessary, are not sufficient for desktop and mobile applications. A careful separation of the view layer (implementing the user interface) from the application logic (forming the computational heart of the application) requires us to rethink application architecture and depends on adopting an interaction paradigm focusing on the data flow between components rather than on object mutation. This talk summarises my experience with building a desktop application including a complex user interface in Swift and Haskell. The talk will provide answers to the following questions. In which way is functional programming useful in desktop and mobile applications? What are the advantages of stateless, pure functions? What software architecture maximises the impact of functional programming in that context? How can we propagate changes from user interactions, file system & network events, and so on in a manner that keeps an application responsive, while facilitating stateless computations. Although, the talk mostly revolves around Swift, no previous knowledge of Swift is required and the main ideas translate to writing desktop and mobile applications in other functional languages, such as Scala, F#, or Haskell. This talk was presented at the YOW! Lambda Jam 2015 conference, in Brisbane: http://lambdajam.yowconference.com.au