Kotlin Cloud Scala Microspheres
Hear from our top-seniority experts in Kotlin Ecosystem, Cloud-Native Applications Development and Scala Dev Tooling in three parallel sessions.
In past years we can see an explosion of DSL usage, from different kinds of configurations to view definitions. Especially lately mobile world is shaken by Jetpack Compose and Swift UI, but DSLs are becoming more popular on the backend too. In this presentation we will learn how Kotlin DSLs work and how can we define our own statically typed DSLs in Kotlin. Step by step, through live coding.
Type Proofs is a new compiler plugin built on Arrow Meta enabling new features in the Kotlin type system, such as Type Classes, Union Types, Type Refinements, and many other extensions that make Functional Programming easier in Kotlin.
Type Proofs propositions are expressed as extension functions that unlock new relationships between types ad-hoc whilst remaining fully compatible with subtype polymorphism and the existing inheritance type system.
This talk demonstrates some of the new features the Arrow team is introducing in Arrow at the type level and IDE and how others can benefit from them when building libraries and applications.
The Serverless experience is revolutionary and will grow to dominate the future of Cloud. Function-as-a-Service (FaaS) however—with its ephemeral, stateless, and short-lived functions—is only the first step. FaaS is great for processing-intensive, parallelizable workloads, moving data from A to B providing enrichment and transformation along the way. But it is quite limited and constrained in what use-cases it addresses well, which makes it very hard/inefficient to implement general-purpose application development and distributed systems protocols.
What’s needed is a next-generation Serverless platform and programming model for general-purpose application development in the new world of real-time data and event-driven systems. What is missing is ways to manage distributed state in a scalable and available fashion, support for long-lived virtual stateful services, ways to physically co-locate data and processing, and options for choosing the right data consistency model for the job.
Our data is moving into the cloud, and all the major cloud service providers now offer simple abstractions for dynamically-structured object databases.
However, having a network layer between application server and database, and the potential for mismatched code and data schemas poses the risk of runtime failures which may compromise the reliability of the software we write. Queries are typically invoked as strings, whose syntax, and the indexes they require, may not be checked until runtime.