Talk:Comparison of functional programming languages

Monads/Functors

edit

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)Reply

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)Reply
edit

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:

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

This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}} (last update: 5 June 2024).

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

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

Pattern matching

edit

Add pattern matching — Preceding unsigned comment added by ShalokShalom (talkcontribs) 08:02, 23 August 2017 (UTC)Reply

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)Reply

Request to add Julia

edit

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)Reply

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

Closures

edit

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)Reply

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)Reply

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)Reply
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)Reply

Should we keep languages without articles?

edit

As of today (22 November 2024), 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)Reply

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)Reply

Generalized algebraic data types

edit

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

Higher-kinded types

edit

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

Language-level support for monadic composition

edit

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)Reply

Garbage collection?

edit

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

Some functional (but not pure) languages that aren't yet included

edit
  • Lua
  • R
  • Nix
  • Swift
  • Dlang

Alec Gargett (talk) 21:30, 8 October 2023 (UTC)Reply