- Jonathan Tang studied Haskell for 3 years before switching to Scheme.
- Haskell dependencies take 60 minutes vs 10 minutes in Java/Kotlin.
- Hackage has 16,437 packages including 500+ DSLs as of April 2024.
Software developer Jonathan Tang stated on March 15, 2024, he chooses Scheme instead of Haskell after three years of self-study. Tang spent 60 minutes resolving Haskell dependencies and monadic APIs. Java or Kotlin handles them via Gradle in 10 minutes, per his post on jointhefreeworld.org.
Tang highlights Scheme's simplicity for daily tasks in his analysis.
Haskell Dependency Challenges
Haskell's Cabal and Stack tools draw from Hackage. Jonathan Tang reported 60 minutes lost to conflicts and monads on March 15, 2024. Monads sequence computations in Haskell's pure functional paradigm.
Hackage lists 16,437 packages as of April 11, 2024, with over 500 in language extensions and domain-specific tools. Tang noted DSLs cause version clashes.
Java and Kotlin developers add one line to Gradle files and run `./gradlew build` for 10-minute resolution, per Tang.
Scheme's Module System Advantages
Scheme uses simple modules, as in Racket. Developers require libraries in code. The R7RS Scheme standard, finalized in 2013 by the Scheme Steering Committee, supports portable libraries.
Racket's catalog lists 7,200 packages as of April 11, 2024. This setup avoids Haskell fragmentation, Tang stated.
Maven Central holds 12 million components per Q1 2024 Sonatype report by Alexis Lê-Quôc, Sonatype CTO.
Lisp Advantages in Development
Lisp dialects feature homoiconicity, treating code as data via S-expressions. Developers create macros to extend syntax at read time.
Scheme compiles to bytecode with REPL interactivity. Tang prototyped in minutes using full reloads, unlike Haskell compiles.
Haskell uses static types and lazy evaluation. Debugging traces thunks and monads, per Tang's post.
The Common Lisp HyperSpec, maintained by LispWorks since 1996, details macros in high-frequency trading.
Financial Uses of Haskell and Scheme
Haskell enables formal verification in finance. Input Output Global builds Cardano's Plutus contracts in Haskell. Cardano hit $16.2 billion USD market cap on April 11, 2024, per CoinMarketCap.
Cardano founder Charles Hoskinson told CoinDesk on October 12, 2023: "Haskell's strong typing prevents entire classes of bugs in blockchain code."
Scheme aids quantitative finance prototyping. Racket runs data pipelines and backtests. Quantopian used Lisp for trading pre-2020 shutdown, per archives.
Clojure runs at Jane Street desks for OCaml safety with REPL speed, per developer blogs.
Scheme vs Haskell Comparison
Tang compared metrics on March 15, 2024:
- Aspect: Dependency Time · Haskell: 60 minutes (Tang) · Scheme/Lisp: 10 minutes (equiv.)
- Aspect: Package Count · Haskell: 16,437 pkgs, 500+ DSLs (Hackage, Apr 2024) · Scheme/Lisp: 7,200 pkgs (Racket, Apr 2024)
- Aspect: REPL · Haskell: Partial reloads · Scheme/Lisp: Full code/data reload
- Aspect: Build Tool · Haskell: Cabal/Stack · Scheme/Lisp: Racket require/modules
Lisp standards stay stable for decades.
Developer Trends Favor Scheme
Tang's view mirrors trends. GitHub lists 28,000 Haskell repos vs 12,000 Scheme as of April 2024, but Scheme forks focus prototyping, per GitHub Octoverse 2023 data.
Haskell suits Cardano's $16.2 billion ecosystem. Scheme speeds web apps, data science, and trading prototypes via Racket. Developers balance Tang's delays against Scheme's quick wins for production code. Scheme instead of Haskell gains traction in fast-paced tech-finance projects.
Frequently Asked Questions
Why does Jonathan Tang choose Scheme instead of Haskell?
Tang cited 60-minute Haskell dependency issues after 3 years of study. Scheme offers REPL simplicity, macros, and fewer integration problems than Hackage.
What Haskell dependency problems does Tang describe?
Tang spent 1 hour on monads and Hackage packages on March 15, 2024. Scheme and Gradle resolve in 10 minutes.
How do Lisp macros aid development versus Haskell?
Lisp macros extend syntax at read-time for REPL workflows. Haskell's Template Haskell requires staged compilation.
What keeps Scheme relevant for developers?
Scheme supports rapid prototyping with 7,200 Racket packages. Tang prefers it over Hackage's 16,437 for fewer conflicts.



