Interview, Fireside Chat
The Future of Programming with Richard Eisenberg
- Richard Eisenberg intends to continue Haskell research at Chainstreet while anticipating a shift in programming language pressure toward optimizing for code readability over writeability.
- Regarding OCaml, predictions include a future type system design enabling rich typing without runtime costs, potential compile-time code generation for "unbox types" to resolve polymorphism conflicts, and the eventual modification of "local types" or stack allocation to correct a perceived design flaw.
- Jane Street expects to internally experiment with language features before upstreaming battle-tested implementations to the broader community, utilizing a "tree smash" process for large-scale codebase changes, though explicit control over allocations without garbage collection remains uncertain.
- Proposals for OCaml include presenting "unbox types" design details to the community to avoid overfitting to specific use cases and implementing a simple compiler flag to disable boxing, whereas the current design is viewed as preferable for avoiding runtime code generation.
- For Haskell, the outlook notes approximately 150 current language extensions creating 2^150 configurations, with expectations that the GHC steering committee may eventually settle on a standard set of roughly seven extensions to improve usability while maintaining backward compatibility.
- Predictions regarding the intersection of AI and programming suggest that by approximately two years from now, it may be feasible to design a language specifically for AI assistant interaction, requiring precise specifications like dependent types to verify implementations.
- Significant risks are identified in the reliance on AI-generated specifications, including a pessimistic view that humans will struggle to write necessary precise specifications, the danger of humans losing the ability to verify correctness, and a decreased incentive to read implementation code if it can be mechanically checked.