In the presentation Darklang, a functional language for the cloud by Paul Biggar, he Darklang, a functional programming language designed for the cloud to simplify the process of building and maintaining applications. Darklang aims to raise the abstraction of programming and eliminate the need for complex tools and infrastructure. The language offers features like invisible infrastructure, which abstracts deployment details, and deploy, which enables instant deployments with zero downtime. Darklang also includes a tracer feature that allows developers to see the value of variables and executed code in real-time. Paul discusses the importance of both pure and impure functions in Darklang and its evolution from OCaml to F#, and now their exploration of using AI to generate code. Paul expresses the need to focus on productivity and predicts the future advancements in coding using AI.
Darklang, a functional language for the cloud: A comprehensive overview
The vision behind Darklang: Eliminating accidental complexity
Paul Biggar’s journey in software development, including his time at CircleCI, motivated him to address the frustrations of modern cloud development. The key challenge? The gap between writing code and deploying it to production. Developers often deal with a cumbersome CI/CD pipeline, containerization, and infrastructure management, which leads to wasted time and resources. With Darklang, Paul envisions a world where developers can focus on their core business logic without being bogged down by the complexity of deployment.
Biggar emphasizes that current tools and infrastructure add accidental complexity that distracts from building valuable applications. Darklang raises the abstraction of programming to focus on the essential complexity — the code that directly serves the user’s needs. As he puts it, the goal is to make the process of writing and deploying cloud applications as seamless as possible.
Live code and instant deployments: No CI/CD pipelines needed
One of Darklang’s core features is the ability to deploy code directly to production in real-time. Instead of managing complex pipelines and waiting for code to compile, containerize, or deploy, Darklang allows for immediate changes. In his demonstration, Paul built an HTTP handler using Darklang and showed how every keystroke resulted in live updates to the application.
Not only does this eliminate the need for traditional infrastructure management, but it also removes barriers to rapid iteration. Developers can focus purely on the functionality and performance of their code, knowing that every change is live without further action required.
Invisible infrastructure and tracers: Simplifying debugging and maintenance
One of Darklang’s most powerful features is invisible infrastructure. This abstraction allows developers to build cloud applications without worrying about servers, databases, or deployment infrastructure. The language itself lives above the cloud, handling data storage, workers, cron jobs, and other traditionally complicated backend tasks. This approach eliminates the impedance mismatch between code and infrastructure, where developers have to manage multiple languages and tools to get everything working together.
Darklang also integrates tracers — a revolutionary feature that allows developers to see variable values and executed code in real-time. Instead of traditional debugging methods that require re-running code, Darklang’s tracers give developers insight into their application’s behavior without stopping or restarting the system. This feature saves significant time and effort, especially in cloud environments where deployments can be time-consuming.
Feature flags and trace-driven development
In addition to making development faster, Darklang improves deployment practices through the use of built-in feature flags. These feature flags enable developers to release updates behind a flag, run integration tests in real-time, and make instant changes without redeploying or switching branches in Git. This unique approach eliminates the need for separate development environments, Git workflows, and other overhead processes, allowing for trace-driven development.
In trace-driven development, developers can interact with live systems and see how their code changes affect the application immediately. This accelerates development cycles and enables continuous improvement with less downtime or risk of introducing bugs.
Functional Programming meets the Cloud
At its core, Darklang is built on the principles of functional programming, drawing inspiration from languages like OCaml, F#, and Elm. Functional programming paradigms, such as strong static typing, first-class functions, and immutable data structures, help developers write more predictable and maintainable code. Paul Biggar shared his passion for functional programming, discussing how these languages influenced Darklang’s design to simplify cloud-based development.
Paul also highlighted Darklang’s use of both pure and impure functions, offering flexibility for developers working with both internal application logic and external systems. This approach allows Darklang to handle complex real-world problems, such as HTTP requests and database interactions, while maintaining the benefits of functional purity where possible.
AI and the future of coding
Looking forward, Biggar shared his excitement about the potential of AI in coding. As natural language processing models like GPT advance, he believes that the future of programming will shift from writing code manually to using AI tools to generate it. Darklang is actively exploring this possibility, with the goal of enabling AI to assist in writing Darklang code and reducing the time developers spend on routine tasks.
In fact, Paul predicts that handwriting code may not survive as AI technology continues to improve, making coding faster, more efficient, and accessible. This forward-thinking approach ensures that Darklang stays at the cutting edge of cloud development.
Moving beyond the cloud tool explosion
Paul Biggar’s presentation concluded with a call for the industry to move away from the endless cycle of new cloud tools and solutions. Instead, he advocates for a shift in focus towards productivity. As cloud development becomes increasingly complex with new tools constantly emerging, Darklang stands out by focusing on the core of what developers truly need — efficiency, simplicity, and the ability to deliver working code quickly and reliably.
Darklang’s deployless nature, combined with its innovative approach to infrastructure and functional programming, presents a new way forward in cloud application development.
Conclusion
Paul Biggar’s vision with Darklang is to revolutionize cloud development by eliminating unnecessary complexity, streamlining the deployment process, and providing a functional programming language optimized for cloud environments. With its real-time deployment, invisible infrastructure, and AI-driven future, Darklang offers developers a powerful tool for building modern cloud applications without the usual headaches.
As cloud-based applications become more critical to businesses and developers face increased pressure to deliver faster and more reliably, Darklang promises to simplify this landscape, allowing developers to focus on the core logic that drives their business forward.