[ notes made for a panel at AI Native Dev podcast ] LLMs and Coding Agents affect all aspects of software engineering - documentation, specifications, tasks, intent, summaries, code generation, methodology, testing and many more - all are being tumbled about and turned inside out, by the arrival of LLMs on the scene. My usual … Continue reading Intent, meet Toolchain
Tag: programming
Copilot Workspace and the birth of Task-Oriented Programming
In 2023 we at GitHub Next invented an early form of task-oriented programming in a system called Copilot Workspace. Copilot Workspace was the world's first implementation of human-guided, task-oriented software development. It was the first interactive, structured AI-for-Code experience with the Task --> Specification --> Plan --> Code pathway. It had flaws, which I'll mention … Continue reading Copilot Workspace and the birth of Task-Oriented Programming
Origins of Copilot Workspace
Originally published at https://github.com/githubnext/copilot-workspace-user-manual/blob/main/origins.md, April 29, 2024 At GitHub Next we work in phases: ideation, build, ship, learn. Every phase is about learning. In May 2023, after launching Copilot-X, our ideation around the SpecLang project led to new explorations of how to incorporate natural language — and user edits to natural language — into the … Continue reading Origins of Copilot Workspace
The Max-Abstraction Impulse, and Everything Else Wrong with Type-Level Genericity
These were my comments on RFC-1124 from F# 7.0, Interfaces With Static Abstract Methods, in the "Drawbacks Section". It forms an essay on everything wrong with this particular form of Statically Constrained Genericity, and many of the things wrong with all the other forms. Drawbacks This feature sits uncomfortably in F#. Its addition to the … Continue reading The Max-Abstraction Impulse, and Everything Else Wrong with Type-Level Genericity
My Position on Type Classes
This is the most thumbed-up suggestion in fslang-suggestions and is over 7 years old. Is there any hope this will ever happen? From https://github.com/fsharp/fslang-suggestions/issues/243#issuecomment-916079347 My position is pretty clear. I'll recap it here. The utility of type classes for the kind of "functions + data" coding we aim to support in F#, in the context … Continue reading My Position on Type Classes
Rethinking Applicatives
On Thursday Nick Blair gave a fabulous talk on using the functional design pattern called "applicatives" for data processing and validation in the context of AWS cloud programming (content). As part of a cooperative follow-up, I thought it would be cool if those of us in the London F# community use this as a practical … Continue reading Rethinking Applicatives
On Computation expressions, ‘do’ notation and List comprehensions
Originally published in October 2020 Notes based on a discussion with Phillip Wadler, 10/01/2020. This document is a work in progress. Please leave comments or send feedback. I may have made mistakes, please send a PR to correct. Computation expressions (CEs) are a syntactic de-sugaring of language elements like for x in xs ... to … Continue reading On Computation expressions, ‘do’ notation and List comprehensions


