Talk:Comparison of functional programming languages

Monads/Functors
Is this a reasonable category to have? Clean is specified as "No" because the base library does not use monads, but Scheme as "Yes" because someone implemented a single monad. It seems every language should be a "yes" here because they *can* implement it. 98.3.24.49 (talk) 23:53, 25 June 2017 (UTC)


 * I agree. I first edited to let Clean have "Yes" because there are libraries for that, then removed the columns. A more meaningful column would be "I/O method". For Haskell this is the I/O monad, for Clean uniqueness typing. CamilStaps (talk) 13:07, 23 May 2018 (UTC)

External links modified
Hello fellow Wikipedians,

I have just modified one external link on Comparison of functional programming languages. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
 * Added archive https://web.archive.org/web/20131002091023/http://files.metaprl.org/doc/ocaml-book.pdf to http://files.metaprl.org/doc/ocaml-book.pdf

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

Cheers.— InternetArchiveBot  (Report bug) 17:05, 11 August 2017 (UTC)

Pattern matching
Add pattern matching — Preceding unsigned comment added by ShalokShalom (talk • contribs) 08:02, 23 August 2017 (UTC)


 * I agree that pattern matching is a key feature of programming languages and should be added. The only way to get full marks (green background) should be as pattern matching with compile-time exhaustiveness checking, without it pattern matching should only yield partial marks (yellow background). Approche Pratique (talk) 03:14, 15 January 2023 (UTC)

Request to add Julia
With such an enormous amount of support, I think Julia should be added. I believe it is Non-Pure and Dynamically-Typed, but I only have cursory knowledge, someone who knows Julia should add it to the table (or talk to me and let me ask them the right questions and I can make the wiki edit). --RProgrammer (talk) 23:25, 14 February 2020 (UTC)

I went ahead and added it. --212.252.177.204 (talk) 19:44, 7 May 2020 (UTC)

Closures
I think it's pointless to have a column for closures, since all functional programming languages have it by default. --212.252.177.204 (talk) 19:46, 7 May 2020 (UTC)

Actually, same with the abstract data types column, since every modern language (functional or not) now comes first-class record types. (PS Same person as above) --212.252.177.149 (talk) 07:00, 11 May 2020 (UTC)


 * I agree with you about closures. I don't think it would count as a functional language if it didn't have closures (or lambdas)!  However, Abstract Data Types doesn't have all "Yes"s in its column, so that would have to be dealt with.  Although it seems very ill-defined to me.  Type Classes are usually how that's implemented aren't they?  But then RankNTypes can be used too I think—does that count?  What about Row Polymorphism / Extensible Records?  Perhaps it'd be better to have separate columns for those specific features.  --RProgrammer (talk) 23:44, 27 December 2020 (UTC)


 * I went ahead and boldly deleted the column. If someone disagrees, feel free to revert it and discuss it here. --195.155.171.174 (talk) 00:21, 29 June 2021 (UTC)

Should we keep languages without articles?
As of today, Lazy ML, Frege and Candle don't have articles on Wikipedia. Maybe we should consider excising them per WP:N. --195.155.171.174 (talk) 00:25, 29 June 2021 (UTC)


 * I went ahead and did it. If you'd like to put them back, please consider writing an article (at least a stub) for them first. --195.155.168.29 (talk) — Preceding undated comment added 03:34, 6 July 2021 (UTC)

Generalized algebraic data types
Add Generalized algebraic data type column. Approche Pratique (talk) 03:15, 15 January 2023 (UTC)

Higher-kinded types
Add Higher-kinded type column. Approche Pratique (talk) 03:16, 15 January 2023 (UTC)

Language-level support for monadic composition
Add language-level support for monadic composition, such as for comprehensions in Scala or do notation in Haskell. Approche Pratique (talk) 03:19, 15 January 2023 (UTC)

Garbage collection?
Any objections to me adding garbage collection? Alec Gargett (talk) 20:48, 8 October 2023 (UTC)

Some functional (but not pure) languages that aren't yet included
Alec Gargett (talk) 21:30, 8 October 2023 (UTC)
 * Lua
 * R
 * Nix
 * Swift
 * Dlang