Logs: freenode/#haskell
| 2021-04-21 11:30:07 | <merijn> | tatsumaru: There have been repeated attempts to create a new report |
| 2021-04-21 11:30:07 | <tatsumaru> | https://mail.haskell.org/pipermail/haskell-prime/2016-April/004050.html |
| 2021-04-21 11:30:19 | <merijn> | That's a mailing list message from 2016 :p |
| 2021-04-21 11:30:40 | <tatsumaru> | so the effort flopped? |
| 2021-04-21 11:30:42 | <merijn> | That attempt, like 4 or so others, has fizzled out |
| 2021-04-21 11:30:56 | <tatsumaru> | is it due to lack of interest in the language? |
| 2021-04-21 11:30:59 | <merijn> | No |
| 2021-04-21 11:31:28 | <merijn> | The problem is that there is a mismatch between "stuff people want in the new report" and "stuff that needs to be done" |
| 2021-04-21 11:31:51 | <merijn> | tatsumaru: Like, people want to include a bunch of GHC extensions into the report and make them "not extensions" |
| 2021-04-21 11:31:58 | → | kiweun joins (~kiweun@2607:fea8:2a62:9600:8080:6b3d:32d3:b207) |
| 2021-04-21 11:32:03 | <tatsumaru> | i hope they don't turn it into the next pyhton-like monstrocity that's okay for everything and the best for nothing |
| 2021-04-21 11:32:10 | <merijn> | The problem is that, *properly* standardising stuff is hard and boring work |
| 2021-04-21 11:32:16 | <tatsumaru> | python* |
| 2021-04-21 11:32:25 | <merijn> | tatsumaru: Like, just saying "whatever GHC is doing right now" isn't really a standard |
| 2021-04-21 11:32:29 | → | urodna joins (~urodna@unaffiliated/urodna) |
| 2021-04-21 11:32:57 | <merijn> | tatsumaru: So someone has to sit down, figure out how GHC implements the extension, write out a specification of what it means, and figure out how it interacts with everything else |
| 2021-04-21 11:33:14 | <tatsumaru> | accountant's work |
| 2021-04-21 11:33:18 | <merijn> | tatsumaru: But most people just want stuff to "not be an extension" without doing the hard/boring work |
| 2021-04-21 11:33:18 | <__monty__> | Part of the problem is also GHC's dominance. The reason to have a report is so multiple implementations can coexist. If there's not really any serious alternative implementations there's a lot less motivation for a report. |
| 2021-04-21 11:33:42 | <merijn> | tatsumaru: Combined with the fact that GHC is basically the only *real* implementation, interest in standardising is low |
| 2021-04-21 11:34:01 | <merijn> | If everyone keeps working on GHC, what's the point of an independent standard that no one else implements? |
| 2021-04-21 11:34:12 | → | ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 2021-04-21 11:34:19 | <tatsumaru> | isnt GHC an implementation of haskell? |
| 2021-04-21 11:34:23 | <merijn> | Yes |
| 2021-04-21 11:34:48 | <merijn> | But GHC has much *much* more stuff than just Haskell2010 :p |
| 2021-04-21 11:35:10 | <kuribas> | merijn: funny thing, Python doesn't have a report, but it has multiple implementations. |
| 2021-04-21 11:35:19 | <merijn> | kuribas: Well, kinda, sorta |
| 2021-04-21 11:35:20 | <kuribas> | which are also incompatible |
| 2021-04-21 11:35:24 | × | rekahsoft quits (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Remote host closed the connection) |
| 2021-04-21 11:35:40 | <merijn> | Python's spec is just "Whatever CPython does" |
| 2021-04-21 11:35:43 | <__monty__> | That's what you get when you say "Implementation X *is* the reference." |
| 2021-04-21 11:35:46 | → | rekahsoft joins (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) |
| 2021-04-21 11:35:50 | <tatsumaru> | scheme has a ton of implementations with new ones coming even recently, even though the userbase of the language is miniscule compared to haskell |
| 2021-04-21 11:36:05 | <tomsmeding> | the language is far smaller |
| 2021-04-21 11:36:15 | <merijn> | tatsumaru: That's because making a Scheme compiler is *much* simpler :p |
| 2021-04-21 11:36:18 | <__monty__> | I think scheme's userbase is a lot bigger than you assume. |
| 2021-04-21 11:36:29 | × | kiweun quits (~kiweun@2607:fea8:2a62:9600:8080:6b3d:32d3:b207) (Ping timeout: 250 seconds) |
| 2021-04-21 11:37:18 | <merijn> | tatsumaru: GHC, for example, has a *ton* of optimisation stuff for Haskell code. If you have a cool new idea you *could* spend 5 years reimplementing that for your cool idea...or you could build it into a fork of GHC and save 5 years |
| 2021-04-21 11:37:21 | <yushyin> | writing yet another scheme compiler is my weekend exercise |
| 2021-04-21 11:37:37 | <yushyin> | :P |
| 2021-04-21 11:38:41 | <kuribas> | yushyin: in haskell or GTFO :) |
| 2021-04-21 11:38:49 | <merijn> | tatsumaru: So the compiler and language are alive and well. Efforts to standardise Haskell...not so much :p |
| 2021-04-21 11:39:05 | <tatsumaru> | what's the benefit of standardizing haskell |
| 2021-04-21 11:39:27 | <kuribas> | standardizing haskell == which extension to keep, and which to deprecate :) |
| 2021-04-21 11:39:42 | <merijn> | tatsumaru: THat's unclear, which is why it isn't happening :p |
| 2021-04-21 11:39:43 | <yushyin> | kuribas: various languages, it depends on my mood on that weekend ;D |
| 2021-04-21 11:39:49 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 2021-04-21 11:39:56 | × | ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 245 seconds) |
| 2021-04-21 11:39:59 | <kuribas> | yushyin: so "write a scheme compiler" is your hello world? |
| 2021-04-21 11:40:06 | <merijn> | tatsumaru: Standardisation is good for keeping multiple implementations compatible, but there's only one implementation in mainstream use (GHC) |
| 2021-04-21 11:40:25 | <tatsumaru> | should multiple implementations be compatible |
| 2021-04-21 11:40:41 | <merijn> | Well, if they're not, they're not really the same language, no? |
| 2021-04-21 11:40:51 | <yushyin> | kuribas: possible! |
| 2021-04-21 11:40:52 | <juri_> | yeah, this is a painful situation. i'm feeling the pain, at least. |
| 2021-04-21 11:41:02 | <tomsmeding> | it's at least nice to have a reference point, to be able to consistently say "here is where we comply, here is where we differ" |
| 2021-04-21 11:41:03 | <merijn> | tatsumaru: Consider the C11 spec. It exists so that I know my C11 code is gonna do the same thing on each C11 compatible compiler |
| 2021-04-21 11:41:16 | <tatsumaru> | well as far as I know python 3 and 2 aren't compatible, are they considered different languages |
| 2021-04-21 11:41:24 | <merijn> | tatsumaru: I'd say do |
| 2021-04-21 11:41:26 | <merijn> | *so* |
| 2021-04-21 11:42:19 | <tatsumaru> | is this like the equivalent of FDA in programming? |
| 2021-04-21 11:42:25 | <tomsmeding> | I guess you could say that C and Python are language families, whereas C89, C11, Python 2 and Python 3 are languages, if you want to get pedantic |
| 2021-04-21 11:42:41 | <tomsmeding> | food and drug administration? |
| 2021-04-21 11:42:44 | <tatsumaru> | yes |
| 2021-04-21 11:43:05 | <tatsumaru> | by "this" I meant standardization |
| 2021-04-21 11:43:26 | <__monty__> | Even the PSF considers them different languages. There's a reason there's a PEP that says python3 should never masquerade as a "python" binary. |
| 2021-04-21 11:43:40 | <tomsmeding> | without a standard of what "Python 2" means, it's hard to talk about what exactly that language supports or not |
| 2021-04-21 11:43:54 | <tomsmeding> | you can talk about what CPython 2 supports -- but that's something else than Python 2 |
| 2021-04-21 11:43:55 | × | knupfer quits (~Thunderbi@200116b82b5e7400e96d6e54df5761a8.dip.versatel-1u1.de) (Remote host closed the connection) |
| 2021-04-21 11:44:02 | → | knupfer joins (~Thunderbi@200116b82b5e7400a819040ab136d554.dip.versatel-1u1.de) |
| 2021-04-21 11:44:41 | <tatsumaru> | so complicated... |
| 2021-04-21 11:44:59 | <tatsumaru> | it seems futile to try to restrain all these decision trees to a singular specification |
| 2021-04-21 11:45:39 | <tomsmeding> | a specification doesn't constrain, it standardises :p |
| 2021-04-21 11:45:45 | <tomsmeding> | so that you can unambiguously talk about stuff |
| 2021-04-21 11:46:12 | <tomsmeding> | a standard for C11 doesn't mean that your own home-brew compiler for a C-like language cannot exist |
| 2021-04-21 11:46:23 | <tomsmeding> | it just means that you can say "here is how it differs from C11" |
| 2021-04-21 11:46:49 | <tomsmeding> | without a standard of C11, you can only say "here is how it differs from what gcc 9.2.1 accepts" |
| 2021-04-21 11:46:56 | <tatsumaru> | ah i see |
| 2021-04-21 11:47:00 | <tomsmeding> | which is fine for some purposes |
| 2021-04-21 11:47:35 | → | Aquazi joins (uid312403@gateway/web/irccloud.com/x-fvdnxupudqhwtjny) |
| 2021-04-21 11:47:40 | <tomsmeding> | but sometimes it's nice to have a central standard :) |
| 2021-04-21 11:48:09 | → | geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
| 2021-04-21 11:48:23 | <tatsumaru> | is specification and standardization the same thing? |
| 2021-04-21 11:49:58 | <tomsmeding> | when referring to programming language specifications, I guess yes |
| 2021-04-21 11:50:14 | tomsmeding | wouldn't know the difference |
| 2021-04-21 11:50:15 | → | rodriga joins (~quassel@134.204.25.66) |
| 2021-04-21 11:51:06 | <tomsmeding> | standard, oxford def. 2.2: "A form of language that is widely accepted as the usual form." |
| 2021-04-21 11:51:21 | <tomsmeding> | specification, oxford def. 2: "A detailed description of the design and materials used to make something." |
| 2021-04-21 11:51:24 | <tomsmeding> | ¯\_(ツ)_/¯ |
| 2021-04-21 11:51:43 | <tomsmeding> | I guess it includes less CS-specific jargon in the second case |
| 2021-04-21 11:51:48 | codedmart_ | is now known as codedmart |
| 2021-04-21 11:52:03 | <tomsmeding> | ah specification 2.1 is nicer: "A standard of workmanship or materials required to be met in a piece of work" |
| 2021-04-21 11:52:12 | <tomsmeding> | what's a specification? a standard, among other things |
| 2021-04-21 11:52:19 | <merijn> | See: "an ISO standard cup of tea" :p |
| 2021-04-21 11:52:47 | <tatsumaru> | so one implies some level of quality control while the other one is just instruction? |
| 2021-04-21 11:54:22 | × | nopf quits (~frosch@static.179.17.76.144.clients.your-server.de) (Quit: Lost terminal) |
| 2021-04-21 11:54:24 | <tomsmeding> | dictionary definition != usage as technical jargon |
| 2021-04-21 11:54:30 | <tomsmeding> | but maybe |
| 2021-04-21 11:54:41 | <tomsmeding> | there's also "report" :p |
| 2021-04-21 11:54:52 | <tatsumaru> | what tends to happen in the long term with languages when there's no standardization is it detrimental? |
| 2021-04-21 11:55:37 | <tomsmeding> | depends on the people |
All times are in UTC.