Logs on 2024-11-06 (liberachat/#haskell)
| 00:01:15 | → | notzmv joins (~daniel@user/notzmv) |
| 00:08:05 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:13:00 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 00:13:22 | → | troojg joins (~troojg@user/troojg) |
| 00:13:28 | → | Versality joins (~Versality@user/Versality) |
| 00:13:54 | × | euphores quits (~SASL_euph@user/euphores) (Ping timeout: 260 seconds) |
| 00:21:39 | → | euphores joins (~SASL_euph@user/euphores) |
| 00:22:51 | <jackdk> | Standards pricing is just obscene, TBQH. There has to be a way to compensate experts for their work without certain companies getting to overcharge for ancient documents forever. |
| 00:23:26 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:28:06 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 00:28:22 | × | JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
| 00:31:36 | × | xff0x quits (~xff0x@2405:6580:b080:900:fc69:912f:320c:e811) (Ping timeout: 272 seconds) |
| 00:32:02 | → | CoolMa7 joins (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) |
| 00:34:09 | <constxd> | mauke: my understanding is wg14 intentionally makes drafts public that are as close as possible to the final revision to circumvent the ISO pricing absurdity |
| 00:34:38 | <constxd> | i was reading somewhere that they are like grandfathered in, most ISO standards have tighter restrictions on what can be released as a draft |
| 00:34:51 | <constxd> | but basically there is no reason to buy the C standard |
| 00:39:13 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:39:21 | × | CoolMa7 quits (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Ping timeout: 276 seconds) |
| 00:42:38 | × | sprotte24_ quits (~sprotte24@p200300d16f3f2c00b0d50a9d74dbbab9.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
| 00:43:47 | × | harveypwca quits (~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288) (Quit: Leaving) |
| 00:44:33 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 00:46:34 | × | Versality quits (~Versality@user/Versality) (Remote host closed the connection) |
| 00:47:33 | → | Versality joins (~Versality@84.237.180.62) |
| 00:47:33 | × | Versality quits (~Versality@84.237.180.62) (Changing host) |
| 00:47:33 | → | Versality joins (~Versality@user/Versality) |
| 00:48:18 | <haskellbridge> | <zwro> is there a way to save the current ghci session? |
| 00:49:36 | × | Versality quits (~Versality@user/Versality) (Remote host closed the connection) |
| 00:53:15 | → | Versality joins (~Versality@84.237.180.62) |
| 00:53:15 | × | Versality quits (~Versality@84.237.180.62) (Changing host) |
| 00:53:15 | → | Versality joins (~Versality@user/Versality) |
| 00:55:16 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:58:32 | <monochrom> | I am not even convinced that the authors of the standards are compensated at all. |
| 00:59:21 | <monochrom> | Right? I'm taking inspiration from the way academic journals work. The journal publishers get all the money. The editors and the peer reviewers do it all for free. |
| 00:59:59 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 01:00:03 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en) |
| 01:01:40 | <monochrom> | To the point even Knuth is sufficiently fed up to write an article to complain and advocate everyone to jump ship and start free online journals. |
| 01:03:28 | <monochrom> | zwro: There is no plan to follow Python absurdity and evolve GHCi into its own IDE. |
| 01:03:31 | <constxd> | yes i think the actual members of the ISO working groups are essentially volunteers |
| 01:04:14 | <constxd> | what do u mean python absurdity? ipython? |
| 01:05:35 | × | notzmv quits (~daniel@user/notzmv) (Ping timeout: 252 seconds) |
| 01:06:35 | × | Versality quits (~Versality@user/Versality) (Remote host closed the connection) |
| 01:07:59 | <haskellbridge> | <zwro> monochrom: (: https://nbviewer.org/github/gibiansky/IHaskell/blob/master/notebooks/IHaskell.ipynb |
| 01:08:19 | × | Guest7 quits (~Guest7@137.79.192.219) (Ping timeout: 256 seconds) |
| 01:09:57 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection timed out) |
| 01:10:16 | <zero> | anyways i just want something like node's repl where it basically saves the session history to a file. i guess i can go edit .ghci_history manually... |
| 01:10:50 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:11:22 | <haskellbridge> | <sm> zero: there has been a blog post or two about a way to save/restore ghci state, by chris done I think |
| 01:12:18 | <haskellbridge> | <sm> https://chrisdone.com/posts/ghci-reload maybe |
| 01:12:57 | <monochrom> | constxd: This: https://discourse.haskell.org/t/multiline-interpreter-with-editing-of-previous-lines/10551 |
| 01:13:29 | <monochrom> | tl;dr the python REPL is now its own editor. |
| 01:14:29 | <monochrom> | This is different from iPython and iHaskell. I have no quarrel with them. |
| 01:14:37 | <constxd> | ah |
| 01:15:26 | <monochrom> | Instead, since iPython and iHaskell exist, there is no point duplicating the effort in the basic REPL. |
| 01:15:41 | <zero> | ooh is this hot reloading? |
| 01:15:56 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 01:16:33 | <haskellbridge> | <sm> try it out, let us know ? |
| 01:16:53 | <haskellbridge> | <sm> +how it goes |
| 01:18:15 | <constxd> | wouldn't be the end of the world imo if it's "for free" by virtue of being built into libreadline or something |
| 01:18:35 | <constxd> | but yeah i wouldn't want to implement that and maintain it as a part of a REPL |
| 01:18:36 | <monochrom> | In the particular case of GHCi, given that dev time is a zero-sum game, when (not if, it's a certainty) the devs have to choose between improving GHCi's debugger and adding an editor to GHCi, why would anyone want the latter? Isn't debugger a much higher priority? Editors already exist, plentiifully. |
| 01:19:35 | <haskellbridge> | <sm> dev time doesn't always have to be zero sum in FOSS.. motivated new devs / funders sometimes show up |
| 01:19:53 | <haskellbridge> | <sm> just saying |
| 01:21:59 | × | Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 01:22:07 | → | CoolMa7 joins (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) |
| 01:23:51 | <zero> | foreign-store is hacky. i would be more interested in something like https://hackage.haskell.org/package/rapid-0.1.4/docs/Rapid.html |
| 01:24:50 | <zero> | which wraps it "nicely" |
| 01:24:54 | <haskellbridge> | <sm> I could imagine integrating an already-maintained TUI editor (yi ?) could also be the way to improve GHCI's debugger, because a more visual UI is what it needs |
| 01:25:15 | <haskellbridge> | <sm> or anyway, _a_ way |
| 01:25:50 | × | postcerebral quits (~postcereb@user/postcerebral) (Quit: WeeChat 4.4.2) |
| 01:25:51 | <monochrom> | In practice, that doesn't happen often enough in the Haskell community. Look at how GHCi debugger has not received any further work, and how HLS still doesn't have any debugger. Even the GHCup effort is wearing thin and the guy is complaining: https://discourse.haskell.org/t/priorities-for-upcoming-ghc-releases/9605/60 |
| 01:26:12 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:26:26 | <haskellbridge> | <sm> and sometimes a monolithic just works out of box tool is the only thing that'll get used |
| 01:26:29 | × | CoolMa7 quits (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 01:26:43 | <haskellbridge> | <sm> I promise you this one would |
| 01:26:47 | → | xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 01:28:12 | <haskellbridge> | <sm> I have got the VS Code debugger extension working once, and it was so fragile and little known that pretty much no-one else will |
| 01:29:18 | <haskellbridge> | <sm> a built in cheaper just works ui could help build the foundation |
| 01:30:36 | <monochrom> | https://ro-che.info/ccc/26 |
| 01:32:19 | <haskellbridge> | <sm> I think in this cartoon, something is missing from the company's offering. We just don't know what it is :) |
| 01:33:05 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 01:33:11 | <monochrom> | IIRC the company is precisely FPComplete. |
| 01:34:23 | <haskellbridge> | <sm> Ok. That IDE was good as I recall ! Lots of people had a beef with FP Complete so it had an uphill path. |
| 01:34:26 | <haskellbridge> | <sm> Not a debugger thought |
| 01:34:51 | <haskellbridge> | <sm> * UI though, that's what I'm thinking of particularly |
| 01:35:30 | <monochrom> | Debugger is extremely hard. I don't really complain about lacking it. |
| 01:36:00 | <monochrom> | OTOH, a nice IDE that lacks debugging feels like lacking a soul. |
| 01:36:19 | <haskellbridge> | <sm> It doesn't seem _that_ hard. GHCI already has the core of it, and https://marketplace.visualstudio.com/items?itemName=phoityne.phoityne-vscode is an example of a UI on top |
| 01:38:45 | <haskellbridge> | <sm> someone could whip that up in brick |
| 01:39:41 | <monochrom> | Oh it's an extreme case of the 80-20 rule. Or at this extreme it's like a 99.99-0.01 rule. Hat, Buddha, GHCi, and that plug in prove that prototyping a Haskell debugger is easy, sure, and at the same time by their incompleteness and even bitrot, also prove that actually covering all of Haskell is way too annoying for anyone to finish it. |
| 01:39:52 | <haskellbridge> | <sm> wait, didn't I see that already... |
| 01:41:14 | <haskellbridge> | <sm> monochrom: I think those things prove that packaging and integration are also necessary.. so all of those are dead.. except the debugger built in to GHCI, which works perfectly (or anyway, works) |
| 01:41:26 | <monochrom> | The cartoon? Yes I always link to it to rub it into people's faces. |
| 01:41:54 | <haskellbridge> | <sm> I did see a more recent brick based debugger ui. I'd find it, if hackage wasn't down just now |
| 01:42:18 | <haskellbridge> | <zwro> what can an IDE provide that a language server can't? |
| 01:42:31 | <monochrom> | A face? :) |
| 01:42:58 | <haskellbridge> | <zwro> I don't think people like changing editors just for the language |
| 01:43:04 | <monochrom> | I talked about lacking a soul, but when you do have a soul, it needs a body too... |
| 01:43:07 | <haskellbridge> | <sm> a language server is a small internal component that lets IDEs communicate with the language tools |
| 01:44:14 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:44:18 | <haskellbridge> | <zwro> sm: the "plus a capable editor" was implied in my question |
| 01:44:57 | <monochrom> | Right exactly. I wouldn't change editors just for the language. So I wouldn't need a "save" button in the language's REPL either. My favourite editor already has one. |
| 01:46:10 | <haskellbridge> | <zwro> how do you save a ghci session with your editor? |
| 01:47:16 | <monochrom> | By creating a "play.hs" file that has all the experimental expressions I want to try out in a session. |
| 01:47:49 | → | Guest7 joins (~Guest7@syn-172-249-181-078.res.spectrum.com) |
| 01:48:09 | <monochrom> | Not currently done but available: I'm in emacs and my ghci session is also in emacs so in principle I would save that buffer content... |
| 01:48:19 | <haskellbridge> | <sm> There's quite a few https://hackage.haskell.org/packages/search?terms=debug things, though most of them are not traditional debuggers allowing interactive stepping. https://hackage.haskell.org/package/ghc-debug-brick is the recent one I was thinking of. |
| 01:48:36 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 01:48:38 | <haskellbridge> | <zwro> at that point you might aswell use ghcid |
| 01:49:04 | <haskellbridge> | <sm> zwro: yes rapid is a good find, that's the newer thing built on top of foreign store |
| 01:49:17 | <Leary> | zwro: Yes, so use ghcid. :) |
| 01:49:29 | <haskellbridge> | <sm> * foreign-store |
| 01:49:29 | × | tabaqui quits (~root@91.73.194.130) (Ping timeout: 255 seconds) |
| 01:50:26 | <haskellbridge> | <zwro> Leary: i usually do :) that's why i missed a :save command when i happened to use ghci for something quick on my phone |
| 01:50:55 | <monochrom> | Oh, phone. Then I sympathize. |
| 01:51:08 | <monochrom> | But you should use emacs on your phone instead. >:) |
| 01:51:18 | <monochrom> | "go big or go home" |
| 01:51:25 | <haskellbridge> | <zwro> i'm using vim on my phone >>) |
| 01:51:30 | × | ystael quits (~ystael@user/ystael) (Ping timeout: 276 seconds) |
| 01:51:43 | <monochrom> | I imagine vim should have something similar? |
| 01:52:15 | <monochrom> | I mean why would there be a war (or why it hasn't ended already) if they were not on par. |
| 01:52:31 | × | Guest7 quits (~Guest7@syn-172-249-181-078.res.spectrum.com) (Ping timeout: 256 seconds) |
| 01:52:41 | <haskellbridge> | <zwro> similar to what? |
| 01:53:11 | <monochrom> | some haskell plugin for vim so you can also have a ghci session in a vim window/buffer. |
| 01:53:30 | → | CoolMa7 joins (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) |
| 01:53:39 | → | Versality joins (~Versality@user/Versality) |
| 01:53:50 | <monochrom> | If that doesn't exist, come join us in emacs! >:) |
| 01:53:58 | <haskellbridge> | <zwro> oh you don't need a plugin. you can just run ghcid directly in a vim buffer :) |
| 01:54:01 | <haskellbridge> | <hellwolf> I really don't like this "The type synonym ‘YulP’ should have 2 arguments, but has been given 1" |
| 01:54:02 | <haskellbridge> | Is there a good general workaround? |
| 01:54:08 | <monochrom> | OK that. :) |
| 01:54:26 | <haskellbridge> | <zwro> but ghcid is what's missing on my phone |
| 01:54:48 | <monochrom> | General? How general can you take it? The most general, IMO anyway, is to use newtype altogether. |
| 01:55:20 | <constxd> | u know how the zsh and bash shells have a key binding called C-x C-e ? |
| 01:55:44 | <constxd> | that is trivial enough to add into something like GHCi and it gives u perhaps something useful |
| 01:55:53 | <constxd> | just an idea |
| 01:56:53 | × | Versality quits (~Versality@user/Versality) (Remote host closed the connection) |
| 01:57:05 | <haskellbridge> | <zwro> yes! |
| 01:57:12 | <haskellbridge> | <zwro> that would be neat |
| 01:57:15 | → | Versality joins (~Versality@user/Versality) |
| 01:57:50 | <monochrom> | TIL bash C-x C-e edit-and-execute-command. |
| 01:58:17 | <monochrom> | Thanks constxd. I had always opened up emacs and draft my command when I needed that. |
| 01:58:20 | <probie> | hellwolf: Perhaps https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/liberal_type_synonyms.html can do what you want, but it is still rather restricted |
| 01:58:22 | × | CoolMa7 quits (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds) |
| 01:58:35 | <haskellbridge> | <zwro> just like pressing v inside less opens your $EDITOR |
| 01:58:41 | × | flounders quits (~flounders@2607:fb91:f6f:855:576:16c:1a7a:3eb2) (Ping timeout: 248 seconds) |
| 01:59:20 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
| 01:59:35 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:00:28 | → | flounders joins (~flounders@173.246.200.74) |
| 02:00:39 | <monochrom> | Yeah edit-and-execute would be great, both easy and valuable. |
| 02:02:01 | <haskellbridge> | <zwro> also if you have vi-style bindings in your shell with `set -o vi`, pressing v while in normal mode also achieves this |
| 02:02:10 | monochrom | can now use C-x C-e to take time to craft docker commands that have 20 options... |
| 02:03:20 | <monochrom> | I can also tell my students about this. It will help in the unix course. |
| 02:04:42 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 02:05:07 | × | spew quits (~spew@201.141.99.170) (Quit: spew) |
| 02:06:47 | <monochrom> | Is it actually provided by the underlying readline? Because once upon a time, GHCi used readline as opposed to today's haskeline... |
| 02:07:37 | <monochrom> | Would be funny if GHCi missed that opportunity... |
| 02:08:36 | <haskellbridge> | <zwro> ghci used readline? how i miss vim bindings in ghci |
| 02:10:06 | <haskellbridge> | <zwro> oh wait, does haskeline support it? |
| 02:10:24 | <monochrom> | I think no. I just tried. |
| 02:10:46 | <Leary> | zwro: echo 'editMode: Vi' > ~/.haskeline |
| 02:11:10 | <monochrom> | Oh just vim bindings. Then yeah. |
| 02:12:15 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds) |
| 02:13:11 | → | notzmv joins (~daniel@user/notzmv) |
| 02:14:21 | <haskellbridge> | <zwro> Leary: tyvm |
| 02:14:58 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:17:37 | <haskellbridge> | <sm> Ah! finally. https://hackage.haskell.org/package/ghcitui is the one I was thinking of. |
| 02:17:56 | <haskellbridge> | <sm> needs more users |
| 02:19:03 | <geekosaur> | ghci originally used readline, but that caused build issues on Windows (not there) and Macs (Apple ships a fake "readline") so someone wrote haskeline |
| 02:19:18 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 02:26:31 | <monochrom> | Hrm I should try that. |
| 02:28:52 | <monochrom> | Hrm it wants containers >= 0.6.8? That's neeewwww.... |
| 02:30:21 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:34:48 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 02:40:32 | → | CoolMa7 joins (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) |
| 02:41:22 | <haskellbridge> | <sm> stack notes added at https://github.com/CrystalSplitter/ghcitui/issues/30 |
| 02:44:57 | × | CoolMa7 quits (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds) |
| 02:50:26 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:55:12 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 03:02:02 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:08:47 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 03:10:23 | × | comonad quits (~comonad@p200300d0272bda000e01a379c24cc428.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
| 03:19:18 | → | tyzef joins (~tyzef@user/tyzef) |
| 03:19:19 | × | tyzef quits (~tyzef@user/tyzef) (Max SendQ exceeded) |
| 03:20:05 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:24:32 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 03:28:47 | → | alp joins (~alp@2001:861:e3d6:8f80:fdaa:b613:f8c7:f917) |
| 03:28:47 | × | gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
| 03:30:02 | × | abenson quits (~user@109.255.240.83) (Remote host closed the connection) |
| 03:30:11 | × | alp quits (~alp@2001:861:e3d6:8f80:fdaa:b613:f8c7:f917) (Remote host closed the connection) |
| 03:30:29 | → | alp joins (~alp@2001:861:e3d6:8f80:a9c3:b9df:2274:a98b) |
| 03:31:53 | × | alp quits (~alp@2001:861:e3d6:8f80:a9c3:b9df:2274:a98b) (Remote host closed the connection) |
| 03:32:12 | → | alp joins (~alp@2001:861:e3d6:8f80:ffbd:ecef:4bf1:f51f) |
| 03:32:54 | × | GoldsteinQ quits (~goldstein@goldstein.rs) (Ping timeout: 276 seconds) |
| 03:33:54 | → | alp_ joins (~alp@2001:861:e3d6:8f80:f3e5:33f2:cda6:f534) |
| 03:34:30 | → | gentauro joins (~gentauro@user/gentauro) |
| 03:35:27 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:35:37 | → | alp__ joins (~alp@2001:861:e3d6:8f80:9d69:6c3d:dedb:c846) |
| 03:35:38 | <haskellbridge> | <sm> e |
| 03:37:48 | × | alp quits (~alp@2001:861:e3d6:8f80:ffbd:ecef:4bf1:f51f) (Ping timeout: 272 seconds) |
| 03:39:04 | × | alp_ quits (~alp@2001:861:e3d6:8f80:f3e5:33f2:cda6:f534) (Ping timeout: 272 seconds) |
| 03:40:14 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 03:40:22 | → | CoolMa7 joins (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) |
| 03:40:36 | × | alp__ quits (~alp@2001:861:e3d6:8f80:9d69:6c3d:dedb:c846) (Ping timeout: 246 seconds) |
| 03:45:04 | × | CoolMa7 quits (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds) |
| 03:49:56 | → | GoldsteinQ joins (~goldstein@goldstein.rs) |
| 03:50:51 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:51:41 | × | td_ quits (~td@i53870915.versanet.de) (Ping timeout: 252 seconds) |
| 03:53:27 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
| 03:53:39 | → | td_ joins (~td@i53870906.versanet.de) |
| 03:55:29 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 04:06:12 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:10:46 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 04:18:03 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 04:18:03 | × | stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 04:18:18 | → | califax joins (~califax@user/califx) |
| 04:18:33 | → | stiell_ joins (~stiell@gateway/tor-sasl/stiell) |
| 04:20:24 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 04:21:34 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:23:13 | × | Square2 quits (~Square4@user/square) (Ping timeout: 248 seconds) |
| 04:26:09 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 04:36:03 | × | dolio quits (~dolio@130.44.140.168) (Quit: ZNC 1.9.1 - https://znc.in) |
| 04:36:17 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:40:38 | → | dolio joins (~dolio@130.44.140.168) |
| 04:41:37 | → | CoolMa7 joins (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) |
| 04:43:40 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 04:46:15 | × | CoolMa7 quits (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 04:49:16 | × | immae quits (~immae@2a01:4f8:141:53e7::) (Ping timeout: 244 seconds) |
| 04:49:36 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 260 seconds) |
| 04:50:00 | × | haveo quits (~weechat@pacamara.iuwt.fr) (Ping timeout: 272 seconds) |
| 04:50:16 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 04:54:19 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:58:59 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 05:01:55 | × | finsternis quits (~X@23.226.237.192) (Read error: Connection reset by peer) |
| 05:02:10 | → | haveo joins (~weechat@pacamara.iuwt.fr) |
| 05:02:42 | → | immae joins (~immae@2a01:4f8:141:53e7::) |
| 05:04:06 | → | tyzef joins (~tyzef@user/tyzef) |
| 05:09:43 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:14:26 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 05:25:04 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:29:54 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 05:32:34 | → | sroso joins (~sroso@user/SrOso) |
| 05:35:41 | → | CoolMa7 joins (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) |
| 05:37:18 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:40:14 | × | CoolMa7 quits (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 05:41:41 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 05:42:39 | → | fired joins (LA@2600:3c00::f03c:92ff:fee3:aace) |
| 05:46:59 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:48:22 | → | comonad joins (~comonad@p200300d0272bda000e01a379c24cc428.dip0.t-ipconnect.de) |
| 05:52:38 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:56:43 | × | troojg quits (~troojg@user/troojg) (Ping timeout: 252 seconds) |
| 05:57:43 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
| 06:08:03 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:12:30 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 06:19:57 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 06:23:26 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:23:35 | × | tyzef quits (~tyzef@user/tyzef) (Quit: It was nice to meet you o/) |
| 06:27:42 | → | CoolMa7 joins (~CoolMa7@95.91.137.87) |
| 06:28:02 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 06:31:00 | × | down200 quits (~down200@shell.lug.mtu.edu) (Ping timeout: 276 seconds) |
| 06:31:43 | × | ft quits (~ft@p4fc2a216.dip0.t-ipconnect.de) (Quit: leaving) |
| 06:32:17 | × | CoolMa7 quits (~CoolMa7@95.91.137.87) (Ping timeout: 252 seconds) |
| 06:32:18 | → | down200 joins (~down200@shell.lug.mtu.edu) |
| 06:38:17 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:41:50 | → | michalz joins (~michalz@185.246.207.201) |
| 06:42:06 | → | hgolden_ joins (~hgolden@204.152.216.122) |
| 06:43:21 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 06:44:30 | × | hgolden quits (~hgolden@static-198-44-129-51.cust.tzulo.com) (Ping timeout: 252 seconds) |
| 06:47:47 | → | oneeyedalien joins (~oneeyedal@user/oneeyedalien) |
| 06:50:37 | × | oneeyedalien quits (~oneeyedal@user/oneeyedalien) (Remote host closed the connection) |
| 06:51:23 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 06:52:41 | → | acidjnk joins (~acidjnk@p200300d6e7283f63c008ff7276864804.dip0.t-ipconnect.de) |
| 06:53:38 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:58:31 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 06:59:16 | → | CoolMa7 joins (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) |
| 07:03:01 | → | tyzef joins (~tyzef@user/tyzef) |
| 07:03:01 | × | tyzef quits (~tyzef@user/tyzef) (Max SendQ exceeded) |
| 07:03:36 | × | CoolMa7 quits (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds) |
| 07:04:12 | × | xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 252 seconds) |
| 07:06:00 | → | xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 07:09:00 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:09:05 | → | ubert joins (~Thunderbi@77.119.163.56.wireless.dyn.drei.com) |
| 07:09:06 | → | libertyprime joins (~libertypr@118-92-73-199.dsl.dyn.ihug.co.nz) |
| 07:14:06 | → | Guest7 joins (~Guest7@syn-172-249-181-078.res.spectrum.com) |
| 07:16:49 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 07:18:21 | × | Guest7 quits (~Guest7@syn-172-249-181-078.res.spectrum.com) (Ping timeout: 256 seconds) |
| 07:23:49 | × | libertyprime quits (~libertypr@118-92-73-199.dsl.dyn.ihug.co.nz) (Ping timeout: 260 seconds) |
| 07:26:37 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 07:27:33 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:32:42 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 07:33:01 | → | libertyprime joins (~libertypr@118-92-73-199.dsl.dyn.ihug.co.nz) |
| 07:34:24 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 07:35:00 | → | CoolMa7 joins (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) |
| 07:35:04 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 07:35:19 | × | CoolMa7 quits (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Client Quit) |
| 07:39:18 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:41:27 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Quit: peterbecich) |
| 07:41:44 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 07:44:54 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 07:46:42 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds) |
| 07:46:51 | → | CoolMa7 joins (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) |
| 07:47:25 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 07:47:46 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 07:48:40 | → | gorignak joins (~gorignak@user/gorignak) |
| 07:48:47 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds) |
| 07:49:39 | × | libertyprime quits (~libertypr@118-92-73-199.dsl.dyn.ihug.co.nz) (Ping timeout: 252 seconds) |
| 07:50:44 | Lord_of_Life_ | is now known as Lord_of_Life |
| 07:52:11 | × | CoolMa7 quits (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 07:53:37 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 07:55:56 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 08:00:02 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 08:00:18 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 08:00:40 | → | caconym joins (~caconym@user/caconym) |
| 08:03:06 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 08:11:15 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 08:11:18 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 08:11:45 | × | _d0t quits (~{-d0t-}@user/-d0t-/x-7915216) (Remote host closed the connection) |
| 08:12:34 | → | _d0t joins (~{-d0t-}@user/-d0t-/x-7915216) |
| 08:16:34 | → | misterfish joins (~misterfis@84.53.85.146) |
| 08:16:49 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 08:21:06 | × | ubert quits (~Thunderbi@77.119.163.56.wireless.dyn.drei.com) (Ping timeout: 244 seconds) |
| 08:33:39 | × | notzmv quits (~daniel@user/notzmv) (Ping timeout: 252 seconds) |
| 08:34:29 | → | libertyprime joins (~libertypr@118-92-73-199.dsl.dyn.ihug.co.nz) |
| 08:39:44 | → | Smiles joins (uid551636@id-551636.lymington.irccloud.com) |
| 08:41:31 | → | sprotte24 joins (~sprotte24@p200300d16f45f600d44fabb86373a0dc.dip0.t-ipconnect.de) |
| 08:42:12 | × | libertyprime quits (~libertypr@118-92-73-199.dsl.dyn.ihug.co.nz) (Ping timeout: 252 seconds) |
| 08:51:31 | → | longlongdouble joins (~longlongd@2405:201:5c16:135:1989:242:cab1:419a) |
| 08:52:38 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 08:59:01 | → | merijn joins (~merijn@77.242.116.146) |
| 09:00:21 | → | machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net) |
| 09:07:35 | → | supercode joins (~supercode@user/supercode) |
| 09:10:51 | × | sprotte24 quits (~sprotte24@p200300d16f45f600d44fabb86373a0dc.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
| 09:16:30 | × | tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 09:17:38 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 09:22:09 | → | lxsameer joins (~lxsameer@Serene/lxsameer) |
| 09:27:22 | × | supercode quits (~supercode@user/supercode) (Quit: Client closed) |
| 09:33:45 | → | libertyprime joins (~libertypr@118-92-73-199.dsl.dyn.ihug.co.nz) |
| 09:45:34 | × | xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 260 seconds) |
| 09:45:35 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 255 seconds) |
| 09:47:28 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 09:48:32 | zero | is now known as yin |
| 09:48:50 | <yin> | ugh. ghcitui uses monad transformers |
| 09:54:01 | → | ubert joins (~Thunderbi@77.119.163.56.wireless.dyn.drei.com) |
| 09:56:38 | → | chele joins (~chele@user/chele) |
| 09:57:42 | × | misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 276 seconds) |
| 09:57:53 | × | rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
| 09:58:24 | → | rvalue joins (~rvalue@user/rvalue) |
| 09:58:56 | → | misterfish joins (~misterfis@84.53.85.146) |
| 10:02:28 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 245 seconds) |
| 10:05:08 | <institor> | yin: so? |
| 10:08:59 | → | merijn joins (~merijn@77.242.116.146) |
| 10:16:51 | <yin> | i'm allergic to mtl |
| 10:17:56 | <yin> | seems like an unnecessary opinionated dependence |
| 10:19:41 | <Leary> | transformers isn't mtl |
| 10:22:56 | × | JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
| 10:23:58 | <institor> | yin: how do you layer effects then |
| 10:24:18 | <institor> | yin: e.g. ExceptT e IO a, for IO actions that might fail |
| 10:24:40 | <institor> | i suppose you could use one of those fancy effects libraries, but that seems even more opinionated |
| 10:25:59 | <Leary> | Bad example; any IO action might fail, and its built in exception system is recommended over ExceptT. |
| 10:26:46 | <institor> | well suppose i'm running HTTP requests |
| 10:26:52 | <institor> | and i could get Right with some payload |
| 10:26:57 | <institor> | or Left in the event of a 4xx or 5xx error |
| 10:27:10 | <institor> | it's really the Either after runExceptT that I care about |
| 10:33:53 | <yin> | institor: you don't *need* transformers but i get that they are useful. in any case, i defend that their use should be internal and not exposed to the user of your library |
| 10:35:54 | <yin> | see yesod, servant, warp... |
| 10:38:15 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds) |
| 10:38:41 | × | longlongdouble quits (~longlongd@2405:201:5c16:135:1989:242:cab1:419a) (Ping timeout: 248 seconds) |
| 10:41:33 | <yin> | Leary: right, i should have said transformers and not mtl in particular |
| 10:41:56 | → | l-Shane-l joins (~l-Shane-l@user/l-Shane-l) |
| 10:41:57 | × | landonf quits (landonf@mac68k.info) (Ping timeout: 248 seconds) |
| 10:42:08 | → | landonf joins (landonf@mac68k.info) |
| 10:42:39 | → | notzmv joins (~daniel@user/notzmv) |
| 10:42:58 | <Leary> | Weird, because unlike transformers, your objections might actually apply to mtl. The former is not at all an opinionated dependency. |
| 10:42:59 | → | merijn joins (~merijn@77.242.116.146) |
| 10:43:10 | <institor> | yin: those libraries are all by the same author |
| 10:45:55 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 10:47:15 | <Leary> | Also, ghcitui is first and foremost an executable; the library component it exposes is secondary, so the transformer usage pretty much is internal. |
| 10:47:46 | <yin> | Leary: good point |
| 10:48:55 | → | xff0x joins (~xff0x@2405:6580:b080:900:3e16:56e8:fa8f:748e) |
| 10:59:01 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2) |
| 11:03:17 | → | longlongdouble joins (~longlongd@117.234.233.245) |
| 11:05:17 | <mauke> | is hackage ok? |
| 11:09:35 | <institor> | it's been slow |
| 11:09:42 | → | Guest7 joins (~Guest7@syn-172-249-181-078.res.spectrum.com) |
| 11:10:20 | → | SlackCoder joins (~SlackCode@64-94-63-8.ip.weststar.net.ky) |
| 11:14:05 | × | Guest7 quits (~Guest7@syn-172-249-181-078.res.spectrum.com) (Ping timeout: 256 seconds) |
| 11:15:37 | <yin> | yeah i've been getting 502s |
| 11:19:03 | <tomsmeding> | it's being investigated in #hackage-infrastructure |
| 11:19:06 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 246 seconds) |
| 11:19:07 | × | libertyprime quits (~libertypr@118-92-73-199.dsl.dyn.ihug.co.nz) (Remote host closed the connection) |
| 11:20:45 | <tomsmeding> | er, #haskell-infrastructure |
| 11:24:36 | → | tyzef joins (~tyzef@user/tyzef) |
| 11:31:54 | → | merijn joins (~merijn@77.242.116.146) |
| 11:37:38 | → | BolzmannPain joins (~BolzmannP@user/BolzmannPain) |
| 11:39:08 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 272 seconds) |
| 11:40:19 | → | Everything joins (~Everythin@195.138.86.118) |
| 11:42:41 | → | merijn joins (~merijn@77.242.116.146) |
| 11:43:05 | × | l-Shane-l quits (~l-Shane-l@user/l-Shane-l) (Quit: Client closed) |
| 11:47:51 | → | Pozyomka joins (~pyon@user/pyon) |
| 11:48:13 | → | mreh joins (~matthew@host86-128-2-51.range86-128.btcentralplus.com) |
| 11:48:31 | × | tyzef quits (~tyzef@user/tyzef) (Quit: WeeChat 3.8) |
| 11:52:08 | <absence> | Is anyone familiar with the internals of the effectful library and know what the parameters to the Effect kind represent? type Effect = (Type -> Type) -> Type -> Type |
| 11:58:29 | × | sroso quits (~sroso@user/SrOso) (Quit: Leaving :)) |
| 12:02:37 | <absence> | Oh right, it's the monad and return value. Effect m a |
| 12:04:01 | × | mreh quits (~matthew@host86-128-2-51.range86-128.btcentralplus.com) (Quit: Lost terminal) |
| 12:09:21 | → | emmanuelux_ joins (~emmanuelu@user/emmanuelux) |
| 12:10:02 | × | misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 255 seconds) |
| 12:10:02 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 255 seconds) |
| 12:10:27 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 12:12:12 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Ping timeout: 252 seconds) |
| 12:17:04 | × | ham2 quits (~ham@user/ham) (Ping timeout: 260 seconds) |
| 12:21:14 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en) |
| 12:22:16 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 12:22:43 | × | Pozyomka quits (~pyon@user/pyon) (Quit: brb) |
| 12:24:36 | → | Pozyomka joins (~pyon@user/pyon) |
| 12:27:25 | × | longlongdouble quits (~longlongd@117.234.233.245) (Remote host closed the connection) |
| 12:29:05 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 12:29:23 | × | byorgey quits (~byorgey@user/byorgey) (Ping timeout: 255 seconds) |
| 12:29:30 | → | byorgey joins (~byorgey@user/byorgey) |
| 12:30:19 | → | CoolMa7 joins (~CoolMa7@128.90.141.20) |
| 12:35:38 | → | CoolMa7_ joins (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) |
| 12:36:26 | → | ham2 joins (~ham@user/ham) |
| 12:36:45 | × | CoolMa7 quits (~CoolMa7@128.90.141.20) (Ping timeout: 252 seconds) |
| 12:46:01 | <yin> | do we have to use text in order to import Text? |
| 12:46:54 | <yin> | Data.Text |
| 12:47:11 | <yin> | i ask this because base has stuff like Text.Read |
| 12:48:15 | <Rembane> | yin: Nope, you can use read from Text.Read without importing Text. |
| 12:54:03 | <tomsmeding> | yin: module namespace are orthogonal to packages; `base` having `Text.Read` doesn't have anything to do with `text` |
| 12:54:07 | <tomsmeding> | but yes, Data.Text is in `text` |
| 12:56:17 | × | Everything quits (~Everythin@195.138.86.118) (Ping timeout: 248 seconds) |
| 12:58:16 | → | Everything joins (~Everythin@178-133-20-16.mobile.vf-ua.net) |
| 13:06:26 | <merijn> | Also, notably, Text.Read doesn't actually use Text :p |
| 13:06:42 | × | BolzmannPain quits (~BolzmannP@user/BolzmannPain) (Quit: Client closed) |
| 13:09:09 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 13:10:40 | → | BolzmannPain joins (~BolzmannP@user/BolzmannPain) |
| 13:15:00 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en) |
| 13:16:09 | × | CoolMa7_ quits (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 13:17:31 | × | TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Remote host closed the connection) |
| 13:17:45 | <yin> | merijn: yeah i was confused |
| 13:18:28 | → | TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker) |
| 13:18:31 | <yin> | hackage being down didn't help |
| 13:23:06 | × | lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 276 seconds) |
| 13:24:59 | × | BolzmannPain quits (~BolzmannP@user/BolzmannPain) (Ping timeout: 256 seconds) |
| 13:27:46 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 13:27:50 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Client Quit) |
| 13:28:13 | → | Guest7 joins (~Guest7@syn-172-249-181-078.res.spectrum.com) |
| 13:31:36 | → | Otabek joins (~Otabek@213.230.93.9) |
| 13:32:13 | <Otabek> | hey there |
| 13:32:55 | × | Guest7 quits (~Guest7@syn-172-249-181-078.res.spectrum.com) (Ping timeout: 256 seconds) |
| 13:41:37 | × | Versality quits (~Versality@user/Versality) (Remote host closed the connection) |
| 13:41:51 | → | Versality joins (~Versality@user/Versality) |
| 13:42:06 | × | Otabek quits (~Otabek@213.230.93.9) (Quit: Client closed) |
| 13:47:54 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds) |
| 13:48:53 | → | merijn joins (~merijn@77.242.116.146) |
| 13:49:26 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 13:51:06 | → | weary-traveler joins (~user@user/user363627) |
| 13:51:51 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 13:52:50 | → | euleritian joins (~euleritia@dynamic-176-007-150-185.176.7.pool.telefonica.de) |
| 13:55:50 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 13:57:34 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 260 seconds) |
| 14:04:22 | → | BolzmannPain joins (~BolzmannP@user/BolzmannPain) |
| 14:05:41 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Quit: ljdarj) |
| 14:05:59 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 14:07:26 | → | ystael joins (~ystael@user/ystael) |
| 14:08:19 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 14:12:43 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 264 seconds) |
| 14:12:43 | ljdarj1 | is now known as ljdarj |
| 14:12:44 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en) |
| 14:12:59 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 14:18:23 | → | CoolMa7 joins (~CoolMa7@95.91.137.87) |
| 14:21:41 | × | SlackCoder quits (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Quit: Leaving) |
| 14:23:49 | <Inst> | honestly, when i think about it, and after arguing with lispers as to whether they have monads |
| 14:24:21 | <Inst> | one of haskell's unique strengths is having both purity / referential transparency and a strong static type system |
| 14:24:50 | <Inst> | when you look at (a -> a), without strong static types and pure functions, Normand's right in that this function cuold mean anything |
| 14:25:06 | <Inst> | just as, in Haskell, it could be anything when you stuff in unsafePerformIO |
| 14:26:02 | <Inst> | Haskell, unique for not-completely-research languages, with its type system and effect control, allows people to have a true concept of a composable pure function |
| 14:31:41 | → | Square2 joins (~Square4@user/square) |
| 14:31:43 | <yin> | wasn't there an alternative to hackage for documentation? |
| 14:32:11 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Remote host closed the connection) |
| 14:35:56 | <kuribas> | Inst: don't confuse (a -> a) with (Any -> Any). |
| 14:36:40 | <kuribas> | Firstly, (a -> a) is typechecked, unlike the Any one. Secondly it requires the input type to be equal to the output type. |
| 14:36:50 | <kuribas> | That already reduces the number of possible types. |
| 14:37:33 | <kuribas> | Inst: with side effects you would get something like ocaml. |
| 14:38:38 | → | noblehelm joins (~noblehelm@200.17.111.30) |
| 14:39:48 | × | son0p quits (~ff@181.237.206.243) (Ping timeout: 276 seconds) |
| 14:42:55 | <Leary> | yin: stackage.org |
| 14:46:26 | → | aforemny joins (~aforemny@i577B13E8.versanet.de) |
| 14:48:09 | × | turlando quits (~turlando@user/turlando) () |
| 14:49:38 | × | Everything quits (~Everythin@178-133-20-16.mobile.vf-ua.net) (Quit: leaving) |
| 14:51:05 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer) |
| 14:54:16 | → | Guest7 joins (~Guest7@syn-172-249-181-078.res.spectrum.com) |
| 14:58:29 | × | Guest7 quits (~Guest7@syn-172-249-181-078.res.spectrum.com) (Ping timeout: 256 seconds) |
| 15:05:11 | → | tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
| 15:06:37 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 15:16:38 | × | alphazone quits (~alphazone@2.219.56.221) (Ping timeout: 252 seconds) |
| 15:18:12 | <yin> | Leary: ty |
| 15:25:01 | → | alphazone joins (~alphazone@2.219.56.221) |
| 15:25:55 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 15:26:44 | → | spew joins (~spew@201.141.99.170) |
| 15:27:03 | × | noblehelm quits (~noblehelm@200.17.111.30) (Ping timeout: 245 seconds) |
| 15:30:27 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 244 seconds) |
| 15:38:15 | × | hiecaq quits (~hiecaq@user/hiecaq) (Remote host closed the connection) |
| 15:42:16 | → | EvanR joins (~EvanR@user/evanr) |
| 15:43:29 | × | spew quits (~spew@201.141.99.170) (Remote host closed the connection) |
| 15:44:59 | → | kilolympus joins (~kilolympu@2a04:ee41:4:32b3:6573:d8d:c873:5381) |
| 15:45:20 | <kilolympus> | Hi, not sure if this is the right place to ask, but is Hackage down for other people as well? |
| 15:47:08 | × | BolzmannPain quits (~BolzmannP@user/BolzmannPain) (Quit: Client closed) |
| 15:48:03 | <kuribas> | yes |
| 15:50:35 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 15:51:13 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Client Quit) |
| 15:51:31 | → | lxsameer joins (~lxsameer@Serene/lxsameer) |
| 15:53:10 | → | misterfish joins (~misterfis@84.53.85.146) |
| 16:00:21 | × | lbseale_ quits (~quassel@user/ep1ctetus) (Ping timeout: 248 seconds) |
| 16:02:02 | <JuanDaugherty> | its maintained by some guy isn it? |
| 16:02:34 | <JuanDaugherty> | rather than glasgow or whatever |
| 16:02:54 | <JuanDaugherty> | expect outages in such a situation |
| 16:03:01 | <Hecate> | it's not "maintained by some guy" |
| 16:03:16 | <Hecate> | there has been lots of traffic from malicious AI scraper bots |
| 16:03:29 | <JuanDaugherty> | ah |
| 16:03:30 | <Hecate> | and the tech team is tweaking the cloudflare config right now |
| 16:03:39 | <JuanDaugherty> | i c |
| 16:03:41 | <Hecate> | I've seen them in my own application logs as well |
| 16:05:47 | <Inst> | (a -> a) also implies that there's no ability to read the content of the data besides knowing that it exists |
| 16:06:29 | <Inst> | thanks for all the work, Hecate |
| 16:07:00 | <Inst> | also (Any -> Any) is actually (a -> b), when you think of it, no? |
| 16:07:08 | <Inst> | kuribas |
| 16:08:49 | <Inst> | hmmm, probably not, since it makes itself meaningful by Any being a wrapper over types, i.e, if you consider Any -> Any to be typeless, it's essentially (a -> b), if you consider Any -> Any to be equivalent to Dynamic -> Dynamic, then it's a different content |
| 16:09:01 | → | sprotte24 joins (~sprotte24@p200300d16f45f600c5ad94218b2aa1c2.dip0.t-ipconnect.de) |
| 16:09:52 | → | spew joins (~spew@201.141.99.170) |
| 16:10:20 | <JuanDaugherty> | the apex doesn even refer to hackage, just blather about 'community' |
| 16:12:17 | → | Digitteknohippie joins (~user@user/digit) |
| 16:12:44 | × | Digit quits (~user@user/digit) (Ping timeout: 272 seconds) |
| 16:12:50 | → | Guest7 joins (~Guest7@syn-172-249-181-078.res.spectrum.com) |
| 16:13:00 | <EvanR> | Inst, Any (uhg at this name, but it corresponds with typescript) means you don't know what the type is. a -> b means the caller can choose to instantiate a or b at any type they want |
| 16:13:30 | <Inst> | iirc there's an Any in the GHC internal somewhere |
| 16:13:31 | <EvanR> | so Any = some type, while a = any type. |
| 16:13:48 | <EvanR> | that's what we're talking about |
| 16:14:29 | <Inst> | what does Any -> Any even mean in a Haskell context? |
| 16:15:00 | <EvanR> | it's a function type for functions that expect an Any as argument (explained above) and return an Any, which is not necessarily related to the input at all |
| 16:15:02 | × | JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
| 16:16:13 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 16:16:18 | <ncf> | if you think of Any as (∃ a. a) then it is isomorphic to (); in other words you can't do anything safe with an Any without making assumptions that are not tracked by the types |
| 16:17:16 | <kuribas> | Inst: no, (a -> b) is type checked, (Any -> Any) is not, except for the number of inputs. |
| 16:17:29 | × | tomboy64 quits (~tomboy64@user/tomboy64) (Ping timeout: 252 seconds) |
| 16:17:35 | <Inst> | is it? |
| 16:17:36 | <kuribas> | Inst: yeah, it's like Dynamic -> Dynamic. |
| 16:17:41 | <Inst> | since (Any -> Any) is a member of Any |
| 16:18:06 | <EvanR> | it's not like Dynamic because Dynamic can actually be used safely, in ways that aren't just STLC with 1 base type |
| 16:18:09 | <Inst> | i was just looking for whether or not the argument that only Haskell has true functions has ever been made |
| 16:18:36 | <Inst> | it's weird because I'm the guy lambasting "pure, functional programming" as meaningless, but now I'm going back to "pure, functional programming" is good |
| 16:18:38 | <kuribas> | True functions are total. |
| 16:18:51 | <EvanR> | I object to your theory that "Any -> Any is a member of Any" as if Any (a type) is a set, and it's members are types |
| 16:19:08 | <EvanR> | or that it is a class and it's instances are types |
| 16:19:22 | <Inst> | What is your objection? |
| 16:19:27 | <EvanR> | that that makes no sense |
| 16:19:31 | × | Guest7 quits (~Guest7@syn-172-249-181-078.res.spectrum.com) (Ping timeout: 256 seconds) |
| 16:19:51 | <EvanR> | we discussed positively 2 ways you can explain what Any means |
| 16:20:01 | <EvanR> | "a set of types" is not one of them |
| 16:20:04 | × | TonyStone quits (~TonyStone@user/TonyStone) (Ping timeout: 252 seconds) |
| 16:20:19 | Digitteknohippie | is now known as Digit |
| 16:20:40 | <EvanR> | it's also not a supertype since we don't have subtypes |
| 16:20:59 | <EvanR> | "purely function programming" is not meaningless |
| 16:21:28 | <EvanR> | though not everyone knows what this is supposed to mean, some people hear it and think they're talking about proportion of paradigms the language is based on |
| 16:21:35 | <Inst> | it refers to functional programming, referential transparency, and the equal result of call-by-name, call-by-value, and call-by-need function calls |
| 16:21:50 | <Inst> | it's a bit gimmicky that purely here is a term of art, not the colloquial term |
| 16:21:54 | <EvanR> | like haskell is purely functional because it's 100% functional, while closure is 40% functional, or something, and so not pure lol |
| 16:22:03 | <EvanR> | because they never heard of the term "pure function" before |
| 16:22:14 | <Inst> | iirc there are no more "mainstream" languages than Haskell that employ purity |
| 16:22:30 | <EvanR> | all functions in haskell are pure so there's that |
| 16:22:32 | <Inst> | I heard that D has a concept of pure function, but it's opt in instead of opt-out, maybe I'm wrong here? |
| 16:22:41 | <EvanR> | it does not |
| 16:22:48 | → | Guest7 joins (~Guest7@syn-172-249-181-078.res.spectrum.com) |
| 16:22:54 | <EvanR> | D is a miserable pile of hacks and missed opportunities |
| 16:23:09 | <EvanR> | refusing to look outside its C++ origins |
| 16:23:15 | <EvanR> | C++ of the 90s |
| 16:23:52 | <EvanR> | "concept of a pure function" was well known in lisp since forever |
| 16:24:42 | <Inst> | but iirc... oh wait, lisp macros, but generally languages don't have special support for pure functions |
| 16:25:31 | <Inst> | and yeah, D has a pure declaration for a function |
| 16:25:33 | <Inst> | https://tour.dlang.org/tour/en/gems/functional-programming#:~:text=Pure%20functions,functions%20which%20are%20pure%20themselves. |
| 16:26:13 | <EvanR> | I wager $10 that it's for documentation purposes and doesn't actually stop side effects |
| 16:26:26 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 265 seconds) |
| 16:26:28 | <Inst> | if i win, will you donate to maerwald? |
| 16:27:01 | <EvanR> | I don't know what that refers to, but anyway, you're not supporting "pure functional programming is meaningless" |
| 16:27:13 | <EvanR> | just that it's unpopular |
| 16:27:15 | <EvanR> | which is true |
| 16:27:23 | → | merijn joins (~merijn@77.242.116.146) |
| 16:28:06 | <Inst> | onlineapp.d(20): Error: `pure` function `onlineapp.bigPow` cannot call impure function `std.stdio.writefln!(char, BigInt).writefln` |
| 16:28:20 | <Inst> | you didn't agree to the bet, so i can't try to cajole you into passing maerwald some money for GHC upkeep |
| 16:28:42 | <Inst> | erm, GHCup upkeep |
| 16:29:08 | <Inst> | i mean that purely functional programming, as an advertising phrase, at least, is misleading |
| 16:30:14 | <EvanR> | you're misleading |
| 16:30:19 | <EvanR> | or confused |
| 16:30:27 | <Inst> | probably, and now is not a good time |
| 16:30:35 | <Inst> | given certain events |
| 16:30:58 | → | tomboy64 joins (~tomboy64@user/tomboy64) |
| 16:33:27 | → | TonyStone joins (~TonyStone@user/TonyStone) |
| 16:38:46 | × | Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 16:44:48 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 16:44:48 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 265 seconds) |
| 16:47:08 | → | son0p joins (~ff@186.119.84.155) |
| 16:48:01 | × | euleritian quits (~euleritia@dynamic-176-007-150-185.176.7.pool.telefonica.de) (Read error: Connection reset by peer) |
| 16:48:16 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 16:51:57 | × | sprotte24 quits (~sprotte24@p200300d16f45f600c5ad94218b2aa1c2.dip0.t-ipconnect.de) (Quit: Leaving) |
| 17:00:51 | × | pabs3 quits (~pabs3@user/pabs3) (Ping timeout: 276 seconds) |
| 17:09:17 | × | jrm quits (~jrm@user/jrm) (Quit: ciao) |
| 17:09:57 | × | Guest7 quits (~Guest7@syn-172-249-181-078.res.spectrum.com) (Ping timeout: 256 seconds) |
| 17:10:46 | → | jrm joins (~jrm@user/jrm) |
| 17:13:52 | → | pabs3 joins (~pabs3@user/pabs3) |
| 17:19:18 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 17:27:32 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 17:29:48 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds) |
| 17:29:48 | ljdarj1 | is now known as ljdarj |
| 17:31:36 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
| 17:35:16 | → | briandaed joins (~root@185.234.210.211.r.toneticgroup.pl) |
| 17:57:28 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds) |
| 18:01:58 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 18:07:32 | <statusbot6> | Status update: there is a network outage affecting hackage, we are investigating -- http://status.haskell.org/pages/incident/537c07b0cf1fad5830000093/672bb063281978053cb3d85e |
| 18:17:54 | → | jco joins (~jco@78-70-217-44-no600.tbcn.telia.com) |
| 18:19:59 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 18:22:36 | <jco> | Hey, what's up with https://hackage.haskell.org? Get 503s and it feels like that site has been having problems for a while. https://status.haskell.org seems to indicate there's an ongoing incident. Does anyone here know more about this? |
| 18:23:13 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds) |
| 18:23:44 | <geekosaur> | from what I've seen, it seems like a lot of AI crawlers have been hammering hackage and hoogle |
| 18:23:53 | <geekosaur> | and ignoring things like robots.txt |
| 18:24:42 | <institor> | that would explain the intermittent behavior |
| 18:24:51 | <institor> | maybe the app server is overloaded |
| 18:26:27 | <jco> | I see, thanks... |
| 18:27:07 | <briandaed> | like geekosaur said, it's probably an effect of 'bot fighting' functionality from cloudflare, sclv and chreekat can shed some light.. |
| 18:28:19 | <geekosaur> | that was only activated yesterday, it remains to be seen how much it's contributing because the bot spam had been going on for weeks (it's largely why hoogle was down a lot, apparently) |
| 18:29:15 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds) |
| 18:30:15 | → | pie_ joins (~pie_bnc@user/pie/x-2818909) |
| 18:30:49 | × | krei-se quits (~krei-se@p5085d46e.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
| 18:31:22 | <briandaed> | I spend some time testing why hoogle is so slow, build it from sources and made requests same as sclv has shown us, it was spending 58% of the time calculatin inRanges https://github.com/ndmitchell/hoogle/blob/master/src/General/Util.hs#L359 |
| 18:31:32 | <geekosaur> | and apparently a lot of other internet services are being affected as well |
| 18:32:27 | <sm> | I set up https://haskell-status.joyful.com today, which updates quicker |
| 18:33:13 | <sm> | briandaed nice |
| 18:33:19 | → | krei-se joins (~krei-se@p5085d46e.dip0.t-ipconnect.de) |
| 18:33:35 | <sm> | any such optimising is valuable |
| 18:34:23 | <briandaed> | had no time to dig deeper, tested on virtualized fedora with four cores and 6gigs of ram |
| 18:38:18 | × | jco quits (~jco@78-70-217-44-no600.tbcn.telia.com) (Ping timeout: 252 seconds) |
| 18:39:22 | → | Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
| 18:39:38 | <haskellbridge> | <Morj> Did stackage also go down just now? |
| 18:39:56 | <haskellbridge> | <Morj> Not according to the website, huh |
| 18:40:12 | × | krei-se quits (~krei-se@p5085d46e.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
| 18:40:21 | <haskellbridge> | <sm> no |
| 18:40:52 | <haskellbridge> | <sm> unless it was very quick :) but seems unlikely |
| 18:41:27 | <haskellbridge> | <Morj> Yeah, it's up, just some links don't load |
| 18:41:49 | <haskellbridge> | <sm> got an example Morj ? |
| 18:41:50 | → | krei-se joins (~krei-se@p5085d46e.dip0.t-ipconnect.de) |
| 18:42:29 | <haskellbridge> | <Morj> Ah I'm stupid, I was clicking a link in the docs that lead to back to hackage :D |
| 18:42:43 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 18:43:08 | <haskellbridge> | <sm> How's https://flora.pm doing I wonder |
| 18:43:22 | <haskellbridge> | <sm> seems good |
| 18:46:16 | <haskellbridge> | <sm> A useful fallback for browsing package info, though I think we can't install packages from there |
| 18:48:00 | <geekosaur> | ti also redirects you to hackage to see docs |
| 18:49:41 | <institor> | uh, stackage.org? |
| 18:50:36 | <institor> | their package documentation seems to be operational |
| 18:51:43 | × | jrm quits (~jrm@user/jrm) (Quit: ciao) |
| 18:52:11 | × | Nachtgespenst quits (~user@user/siracusa) (Quit: Bye!) |
| 18:52:20 | <haskellbridge> | <sm> A hackage outage is a good test of haskell infrastructure resilience |
| 18:52:37 | <institor> | where is this bridged to |
| 18:52:39 | <institor> | matrix? |
| 18:52:55 | <haskellbridge> | <sm> yes, the Haskell IRC room on matrix |
| 18:53:03 | <geekosaur> | #haskell-irc:matrix.org, yes |
| 18:53:10 | → | jrm joins (~jrm@user/jrm) |
| 18:53:16 | <geekosaur> | (I was asked not to bridge the main Matrix Haskell room) |
| 18:53:18 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 18:53:31 | haskellbridge | sm tested stack installs, they seem to work fine for things in snapshots |
| 18:53:44 | <institor> | i was building some docker images earlier using stack |
| 18:53:50 | <haskellbridge> | <Morj> > where is this bridged to |
| 18:53:50 | <haskellbridge> | Uh-oh, I've been found |
| 18:53:53 | <institor> | i think stack setup was failing, but probably when fetching GHC and not packages |
| 18:54:17 | <institor> | just times out |
| 18:54:26 | <haskellbridge> | <Morj> Stack builds work fine for me right now |
| 18:54:32 | <haskellbridge> | <Morj> +with downloading |
| 18:54:39 | <geekosaur> | is it retrieving a new ghc? |
| 18:54:45 | <institor> | geekosaur: i think so |
| 18:54:52 | <institor> | i busted the cache |
| 18:54:54 | <haskellbridge> | <Morj> Ah, no, system-ghc |
| 18:54:59 | <geekosaur> | if you already have the snapshot, it shouldn't be downloading anything |
| 18:55:05 | <geekosaur> | except any extra-deps |
| 18:55:18 | <haskellbridge> | <sm> institor I just tried this and it seems to be downloading: stack setup --verbosity debug --install-ghc --snapshot nightly |
| 18:56:05 | <haskellbridge> | <Morj> (I'm dreaming of a stack variant that somehow only uses system-ghc. Basically cabal with snapshots and a saner interface) |
| 18:56:12 | <haskellbridge> | <sm> "stack update" seemed to fail fast without causing a problem, just now, but that might be just luck of how hackage responded |
| 18:56:28 | <sclv> | there are mirrors so that cabal can pull packages |
| 18:56:42 | <haskellbridge> | <sm> Morj, you can configure it that way, righ ? |
| 18:56:54 | <institor> | bare `stack setup` is failing for me |
| 18:57:09 | <institor> | malformed JSON with a '<', i suspect nginx is throwing up some error HTML where a JSON response was expected from the app server |
| 18:57:35 | <institor> | keep in mind i'm running from a clean docker base image |
| 18:57:55 | <haskellbridge> | <sm> institor: that's what I saw from stack update, which is about what you'd expect. But did that cause setup to fail ? |
| 18:58:09 | <institor> | yes sm, `stack setup` is throwing that malformed JSON error |
| 18:58:19 | <haskellbridge> | <Morj> sm I can configure it, but it's silly: when I use a snapshot with a mismatching ghc version, it will try to download it instead of giving an error. And when creating a new project I have to guess which snapshot will work with my system ghc |
| 18:58:34 | <institor> | i am not using nightly |
| 18:58:54 | <haskellbridge> | <sm> Morj: ~/.stack/config.yaml: install-ghc: false, system-ghc: true |
| 18:59:09 | <haskellbridge> | <Morj> Oh cool |
| 18:59:21 | <haskellbridge> | <sm> all in the manual, don't tell anyone :) |
| 18:59:22 | <haskellbridge> | <Morj> Now the second part can be solved if I write my own stack-init.. |
| 18:59:53 | <haskellbridge> | <sm> that is the recommended config these days when using stack with ghcup |
| 19:00:30 | <haskellbridge> | <Morj> Well cabal also has everything in the manual allegedly, but last time it took me a couple of weeks of full-time work to figure out how to set up a mirror |
| 19:00:50 | <haskellbridge> | <Morj> Anyway, thanks for advice (= |
| 19:01:50 | <lxsameer> | hey folks, is there any way to get the version number of the project that is set in the cabal file in the haskell code? |
| 19:01:57 | → | ft joins (~ft@p4fc2a216.dip0.t-ipconnect.de) |
| 19:04:06 | <haskellbridge> | <Morj> Without reading the source files themselves (at build or run time) - no |
| 19:04:17 | <haskellbridge> | <sm> Morj: I hear that. stack's manual is a bit better |
| 19:04:40 | <haskellbridge> | <sm> setting up a mirror sounds fairly advanced |
| 19:04:52 | <haskellbridge> | <Morj> It is a lot better IMO. Still not ideal sadly. Also I liked the old design more ;] |
| 19:06:00 | <haskellbridge> | <sm> Yes, there are ways to get the package version, which I forget |
| 19:07:14 | <haskellbridge> | <sm> https://flora.pm/packages/@hackage/package-version I guess |
| 19:08:18 | <haskellbridge> | <Morj> > We provide functionality for reading these numbers from cabal files at both runtime and compile-time :3 |
| 19:09:46 | <haskellbridge> | <Morj> At $job we had a script that when doing releases would read version info from several pacakges and prepare it as a haskell module before build |
| 19:11:43 | <haskellbridge> | <sm> related, https://flora.pm/packages/@hackage/githash is good for git info |
| 19:14:38 | × | sudden quits (~cat@user/sudden) (Ping timeout: 265 seconds) |
| 19:16:18 | → | sudden joins (~cat@user/sudden) |
| 19:17:36 | <Inst> | just my comment about "purely functional" programming being useful, to eschew the argument, is just that Julia doesn't have function types |
| 19:17:52 | <Inst> | Rust, apparently, only has in-program function types via function pointers, not the functions themselves |
| 19:19:33 | <Inst> | and to some extent i'm coming to a realization that FP doesn't make sense without pure-by-default |
| 19:19:58 | <EvanR> | pure or pure-by-default really does solve a lot of things |
| 19:20:12 | <EvanR> | and creates new ones |
| 19:20:23 | <Inst> | what new problems? |
| 19:20:43 | <EvanR> | that being said purity wasn't an end inof itself |
| 19:20:51 | <EvanR> | it was basically necessary because of lazyiness |
| 19:21:58 | <Inst> | nonstrict, technically |
| 19:22:06 | <Inst> | not sure whether non-strict can actually include lenient evaluation! |
| 19:22:18 | <EvanR> | problems like the awkward squad: I/O, error handling, concurrency, and FFI |
| 19:22:47 | <Inst> | but aren't those mostly solved in modern Haskell? |
| 19:23:13 | <haskellbridge> | <Morj> Error handling - not really. Exceptions in pure code are a pain if you really want to handle them |
| 19:23:17 | <Inst> | IO type is nice enough, although you can imagine better alternatives (effects imo should be handled within the language as a feature, not as a product of lambda calculus) |
| 19:24:00 | <EvanR> | haskell solved it several ways historically, but that doesn't mean "it's solved" in general, unless haskell is the only pure functional language ever |
| 19:24:02 | <Inst> | 0 `div` 0 |
| 19:24:13 | <haskellbridge> | <Morj> It would be ideal if there was a consensus to use errors in pure code like panics in rust, but |
| 19:24:14 | <Inst> | iirc clean with uniqueness types |
| 19:24:39 | <EvanR> | that is basically the consensus, no one should be catching pure errors |
| 19:25:13 | <EvanR> | ideally you don't have any for whatever provably reason |
| 19:25:14 | <Inst> | but the absence of effects besides memory and computation, etc, is just really liberating, as well as a "by default" implementation |
| 19:25:25 | <haskellbridge> | <Morj> Ughh I had a counterexample for consensus but now I think you're right |
| 19:25:39 | <statusbot6> | Status update: The hackage outage has been traced to a misconfigured zfs snapshot configuration resulting in full disk. This is fixed and hackage is operational again. -- http://status.haskell.org/pages/incident/537c07b0cf1fad5830000093/672bb063281978053cb3d85e |
| 19:25:39 | <EvanR> | provable |
| 19:26:03 | × | CoolMa7 quits (~CoolMa7@95.91.137.87) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 19:26:54 | <sclv> | do _not_ turn on automated zfs snapshots for /var/log everyone! |
| 19:27:04 | <geekosaur> | lol |
| 19:27:07 | <EvanR> | a counter example is you spawned an async thread which may succeed or may crash in whatever unknown way, but you don't want the supervisor thread to crash because of it |
| 19:27:31 | <EvanR> | but you can file this pattern away under "process pattern" |
| 19:27:46 | <EvanR> | each thread being a microcosm of programming principle |
| 19:29:52 | <haskellbridge> | <Morj> Exceptions with forkIO are already not rethrown though? |
| 19:30:24 | <Inst> | how would you spawn the async thread in pure code? |
| 19:30:42 | <geekosaur> | I think they are, mostly? |
| 19:30:49 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 19:30:58 | <haskellbridge> | <Morj> Or maybe I misunderstood you. I also have on my mind a problem that Control.Concurrent.Async.waitCatch, and you get a Right x, x can still contain a bottom |
| 19:32:32 | <haskellbridge> | <Morj> Rust for example specifically has poisoned state to combat panics during inter-thread communication. But with lazyness, exceptions (and poison) can come out any time |
| 19:41:15 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 19:44:31 | <EvanR> | if forkIO itself crashes sure |
| 19:44:38 | <EvanR> | if the thread crashes no |
| 19:44:50 | <EvanR> | I'm mainly talking about async (the library) |
| 19:45:42 | <EvanR> | throwing an exception which is a bottom sounds ridiculous |
| 19:46:03 | <EvanR> | did not think of that level of broken code |
| 19:48:11 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 19:49:38 | <EvanR> | you can also put bottoms in MVars and screw over whoever has access to it |
| 19:49:50 | <EvanR> | or put them in Chans |
| 19:50:20 | × | ft quits (~ft@p4fc2a216.dip0.t-ipconnect.de) (Quit: Lost terminal) |
| 19:51:07 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 264 seconds) |
| 19:51:26 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 19:52:24 | → | ft joins (~ft@p4fc2a216.dip0.t-ipconnect.de) |
| 19:52:49 | × | ljdarj1 quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
| 19:52:53 | × | smiesner quits (b0cf5acf8c@user/smiesner) (Ping timeout: 245 seconds) |
| 19:52:54 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 19:53:00 | → | smiesner joins (b0cf5acf8c@user/smiesner) |
| 19:53:25 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 19:54:04 | <monochrom> | Beginners don't know community consensus. What beginners do is look at meaningful names and believe that they are actually honest. We had the misstep of calling it "error" so beginners think it just means the same "error" from languages they already know. Rust has the wisdom to call it "panic". |
| 19:58:42 | <EvanR> | there's still plenty of stack overflow going over the intention of panic and how it won't work for "exceptions as control flow" common in other languages |
| 19:59:59 | <monochrom> | That is still much better than "I know what 'error' means, don't educate me". |
| 20:00:04 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 20:00:42 | → | caconym joins (~caconym@user/caconym) |
| 20:02:33 | <monochrom> | It is a good thing that beginners ask "I don't get 'panic', what is it for?" instead of the Dunning-Kruger effect of deluding themselves into believing that they understand. |
| 20:04:08 | <EvanR> | more like "how do I catch a panic so I can do slick control flow fu" |
| 20:04:20 | <monochrom> | Oh haha. |
| 20:04:42 | <monochrom> | Well OK I guess I should be cynical about humanity again. |
| 20:04:49 | <EvanR> | probably |
| 20:10:43 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en) |
| 20:11:43 | <dolio> | Panic sounds like a synonym for error. I know what that is. |
| 20:12:19 | <haskellbridge> | <sm> PSA: Unlike most haskell services, hoogle.haskell.org is slower outside the US (eg 1s response time in Europe instead of 1/4s). If you'd like to make it faster, improve its rudimentary web app, eg to provide good caching headers ! |
| 20:17:26 | → | Square joins (~Square@user/square) |
| 20:17:50 | × | ubert quits (~Thunderbi@77.119.163.56.wireless.dyn.drei.com) (Ping timeout: 255 seconds) |
| 20:18:56 | × | briandaed quits (~root@185.234.210.211.r.toneticgroup.pl) (Remote host closed the connection) |
| 20:21:20 | × | Square2 quits (~Square4@user/square) (Ping timeout: 252 seconds) |
| 20:24:11 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:29:58 | → | alphazone_ joins (~alphazone@2.219.56.221) |
| 20:31:09 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 20:31:46 | × | alphazone quits (~alphazone@2.219.56.221) (Ping timeout: 272 seconds) |
| 20:42:17 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:46:38 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 20:50:34 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds) |
| 20:55:19 | → | ephilalethes joins (~noumenon@113.51-175-156.customer.lyse.net) |
| 20:56:54 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds) |
| 20:57:38 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:02:00 | → | Everything joins (~Everythin@46.211.117.180) |
| 21:02:25 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 21:13:01 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:14:09 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 21:18:07 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
| 21:19:36 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:24:07 | × | hololeap quits (~quassel@user/hololeap) (Quit: Bye) |
| 21:26:13 | → | hololeap joins (~quassel@user/hololeap) |
| 21:27:22 | → | machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net) |
| 21:27:56 | × | Everything quits (~Everythin@46.211.117.180) (Quit: leaving) |
| 21:28:24 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:28:35 | → | CoolMa7 joins (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) |
| 21:28:55 | <tomsmeding> | lxsameer: yes, the Paths_ module |
| 21:28:59 | <tomsmeding> | also via CPP |
| 21:29:42 | <tomsmeding> | lxsameer: in CPP you have VERSION_<packagename> defined as a string |
| 21:30:35 | <tomsmeding> | and in the Paths_<packagename-with-underscores> module (you can add it to other-modules, it's autogenerated by cabal) you have `version` which is a Data.Version(Version) |
| 21:32:38 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 21:38:19 | × | ThePenguin quits (~ThePengui@cust-95-80-24-166.csbnet.se) (Ping timeout: 252 seconds) |
| 21:43:18 | → | ThePenguin joins (~ThePengui@cust-95-80-24-166.csbnet.se) |
| 21:43:48 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:44:10 | → | zetef joins (~quassel@86.124.127.67) |
| 21:44:18 | × | zetef quits (~quassel@86.124.127.67) (Client Quit) |
| 21:48:44 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 21:48:52 | → | hgolden joins (~hgolden@2603:8000:9d00:3ed1:6c70:1ac0:d127:74dd) |
| 21:51:07 | → | sprotte24 joins (~sprotte24@p200300d16f45f60044d2f8c33ad18940.dip0.t-ipconnect.de) |
| 21:51:43 | × | hgolden_ quits (~hgolden@204.152.216.122) (Ping timeout: 265 seconds) |
| 21:52:15 | × | hgolden quits (~hgolden@2603:8000:9d00:3ed1:6c70:1ac0:d127:74dd) (Remote host closed the connection) |
| 21:52:35 | × | CoolMa7 quits (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 21:54:08 | → | hgolden joins (~hgolden@146.70.172.37) |
| 22:00:11 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:04:02 | × | lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 248 seconds) |
| 22:06:55 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 22:09:49 | × | michalz quits (~michalz@185.246.207.201) (Remote host closed the connection) |
| 22:14:00 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 22:15:08 | × | kilolympus quits (~kilolympu@2a04:ee41:4:32b3:6573:d8d:c873:5381) (Quit: See you later! :)) |
| 22:16:24 | → | weary-traveler joins (~user@user/user363627) |
| 22:18:13 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:22:28 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 22:24:55 | → | Everything joins (~Everythin@178-133-140-206.mobile.vf-ua.net) |
| 22:25:19 | → | hgolden_ joins (~hgolden@static-198-44-129-115.cust.tzulo.com) |
| 22:27:43 | × | mulk quits (~mulk@pd95146e9.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 22:27:49 | × | hgolden quits (~hgolden@146.70.172.37) (Ping timeout: 252 seconds) |
| 22:28:11 | → | mulk joins (~mulk@pd95146e9.dip0.t-ipconnect.de) |
| 22:31:22 | × | catties quits (~catties@user/meow/catties) (Quit: n_n) |
| 22:31:30 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
| 22:33:36 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:34:20 | → | hgolden__ joins (~hgolden@23.162.40.69) |
| 22:34:26 | × | misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 252 seconds) |
| 22:37:33 | × | hgolden_ quits (~hgolden@static-198-44-129-115.cust.tzulo.com) (Ping timeout: 276 seconds) |
| 22:38:05 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 22:48:57 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:49:46 | × | ephilalethes quits (~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving) |
| 22:52:22 | → | catties joins (~catties@user/meow/catties) |
| 22:53:19 | → | hgolden_ joins (~hgolden@169.150.203.10) |
| 22:53:22 | <Inst> | hmmm, i'm curious |
| 22:53:30 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 22:53:42 | → | SlackCoder joins (~SlackCode@64-94-63-8.ip.weststar.net.ky) |
| 22:53:43 | <Inst> | is Haskell's IO type the first type-mediated effect system in programming languages? |
| 22:55:41 | × | hgolden__ quits (~hgolden@23.162.40.69) (Ping timeout: 252 seconds) |
| 22:55:56 | × | catties quits (~catties@user/meow/catties) (Remote host closed the connection) |
| 22:56:17 | → | catties joins (~catties@user/meow/catties) |
| 22:56:23 | → | supercode joins (~supercode@user/supercode) |
| 22:57:02 | → | Tisoxin3 joins (~Ikosit@user/ikosit) |
| 22:57:09 | × | NiKaN quits (sid385034@id-385034.helmsley.irccloud.com) (Ping timeout: 260 seconds) |
| 22:57:19 | → | migas9779 joins (~migas@static.140.65.63.178.clients.your-server.de) |
| 22:57:21 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 248 seconds) |
| 22:57:23 | × | Tisoxin quits (~Ikosit@user/ikosit) (Read error: Connection reset by peer) |
| 22:57:23 | Tisoxin3 | is now known as Tisoxin |
| 22:57:44 | × | Kamuela quits (sid111576@id-111576.tinside.irccloud.com) (Ping timeout: 260 seconds) |
| 22:57:48 | × | zlqrvx quits (~zlqrvx@user/zlqrvx) (Quit: %quit%) |
| 22:58:08 | → | monochrm joins (trebla@216.138.220.146) |
| 22:58:09 | → | zlqrvx joins (~zlqrvx@user/zlqrvx) |
| 22:58:20 | × | Techcable quits (sid534393@user/Techcable) (Ping timeout: 260 seconds) |
| 22:58:20 | × | unlucy quits (sid572875@user/unlucy) (Ping timeout: 260 seconds) |
| 22:58:20 | × | tritlo quits (sid58727@id-58727.hampstead.irccloud.com) (Ping timeout: 260 seconds) |
| 22:58:20 | × | aristid quits (sid1599@id-1599.uxbridge.irccloud.com) (Ping timeout: 260 seconds) |
| 22:58:25 | → | alioguzhan1 joins (~Thunderbi@78.173.69.189) |
| 22:58:26 | × | migas977 quits (~migas@static.140.65.63.178.clients.your-server.de) (Ping timeout: 248 seconds) |
| 22:58:26 | × | alioguzhan quits (~Thunderbi@78.173.69.189) (Ping timeout: 248 seconds) |
| 22:58:26 | × | hacklschorsch quits (~flo@2a01:4f9:3a:2296::2) (Ping timeout: 248 seconds) |
| 22:58:26 | × | jjhoo quits (~jahakala@user/jjhoo) (Ping timeout: 248 seconds) |
| 22:58:26 | migas9779 | is now known as migas977 |
| 22:58:26 | alioguzhan1 | is now known as alioguzhan |
| 22:58:40 | → | wryish joins (~wryish@216.246.119.62) |
| 22:58:53 | → | szkl_ joins (uid110435@id-110435.uxbridge.irccloud.com) |
| 22:58:58 | × | Miroboru quits (~myrvoll@178-164-114.82.3p.ntebredband.no) (Ping timeout: 248 seconds) |
| 22:58:58 | × | sviermsung quits (4yqrolRHj5@user/s4msung) (Ping timeout: 248 seconds) |
| 22:58:59 | × | thaumavorio quits (~thaumavor@thaumavor.io) (Quit: ZNC 1.8.2 - https://znc.in) |
| 22:59:27 | × | monochrom quits (trebla@216.138.220.146) (Read error: Connection reset by peer) |
| 22:59:28 | monochrm | is now known as monochrom |
| 22:59:30 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Ping timeout: 260 seconds) |
| 22:59:30 | szkl_ | is now known as szkl |
| 22:59:30 | → | Kamuela joins (sid111576@id-111576.tinside.irccloud.com) |
| 23:00:01 | × | wryishly quits (~wryish@216.246.119.62) (Ping timeout: 248 seconds) |
| 23:00:04 | × | rune_ quits (sid21167@id-21167.ilkley.irccloud.com) (Ping timeout: 260 seconds) |
| 23:00:04 | × | snek quits (sid280155@id-280155.lymington.irccloud.com) (Ping timeout: 260 seconds) |
| 23:00:27 | → | jjhoo joins (~jahakala@user/jjhoo) |
| 23:00:29 | → | Miroboru joins (~myrvoll@178-164-114.82.3p.ntebredband.no) |
| 23:00:29 | → | hacklschorsch joins (~flo@2a01:4f9:3a:2296::2) |
| 23:00:45 | → | s4msung joins (~s4msung@user/s4msung) |
| 23:00:51 | → | NiKaN joins (sid385034@id-385034.helmsley.irccloud.com) |
| 23:00:54 | → | snek joins (sid280155@id-280155.lymington.irccloud.com) |
| 23:00:55 | → | rune_ joins (sid21167@id-21167.ilkley.irccloud.com) |
| 23:01:11 | → | Techcable joins (sid534393@user/Techcable) |
| 23:01:11 | → | tritlo joins (sid58727@id-58727.hampstead.irccloud.com) |
| 23:01:24 | → | aristid joins (sid1599@id-1599.uxbridge.irccloud.com) |
| 23:01:49 | → | thaumavorio joins (~thaumavor@thaumavor.io) |
| 23:01:54 | × | notzmv quits (~daniel@user/notzmv) (Ping timeout: 246 seconds) |
| 23:04:14 | <probie> | When did Haskell get the IO type? ~1996? |
| 23:04:23 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:04:41 | → | Square2 joins (~Square4@user/square) |
| 23:04:51 | → | alexherbo2 joins (~alexherbo@2a02-8440-341a-456e-a8d1-f94d-35c3-2d26.rev.sfr.net) |
| 23:05:44 | <Rembane> | Yeah, it's a bit older, 1993ish. https://ncatlab.org/nlab/show/IO-monad |
| 23:05:47 | <Rembane> | https://dl.acm.org/doi/10.1145/158511.158524 |
| 23:06:03 | <EvanR> | uniqueness types? |
| 23:07:28 | × | Square quits (~Square@user/square) (Ping timeout: 245 seconds) |
| 23:07:30 | <dolio> | 1.3 is the first report with it. |
| 23:07:44 | Square2 | is now known as Square |
| 23:08:56 | <dolio> | The 1993 citation is dated 1992 if you click on it. :þ |
| 23:09:03 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 23:09:27 | <Rembane> | Good stuff :D |
| 23:09:38 | <Rembane> | This is why I don't trust time |
| 23:10:03 | <EvanR> | the researcher was merlin, who famously experienced time backwards |
| 23:10:12 | <dolio> | Ah, of course. |
| 23:12:20 | <Rembane> | It must've been a real trip to talk to him |
| 23:13:59 | <dolio> | Even the 1.0 report has the continuation based I/O which, if you looked at it today, you might figure out it could be factored into a monad. |
| 23:15:10 | <dolio> | It's like every IO operation has (>>=) stuck onto it already, and maybe catch. |
| 23:16:02 | <Inst> | Clean predates Haskell, interestingly enough. |
| 23:17:21 | → | unlucy joins (sid572875@user/unlucy) |
| 23:17:46 | <Rembane> | How does Clean before Haskell handle IO? |
| 23:19:48 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:22:12 | <int-e> | "Consequently, a Clean program consists of a set of rewrite rules." -- 1987 Clean was a language for expressing graph rewriting systems. |
| 23:22:41 | <int-e> | cf. https://wiki.clean.cs.ru.nl/Publications#1987 |
| 23:23:16 | × | visilii quits (~visilii@85.172.77.90) (Quit: ZNC - https://znc.in) |
| 23:23:34 | → | visilii joins (~visilii@85.172.77.90) |
| 23:23:48 | <probie> | https://www.mbsd.cs.ru.nl/publications/papers/1992/achp92-HighLevelIO.pdf 1992 seems to be where IO appears in Clear |
| 23:24:20 | <int-e> | stdin was provided as a list of newline-terminated lines. So it's the main :: [String] -> [String] type of I/O. |
| 23:24:24 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 23:24:54 | <Rembane> | Isn't that how very early Haskell did I/O? |
| 23:25:20 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 23:25:22 | <dolio> | Sort of. But the types are more complex, I think. |
| 23:25:44 | <dolio> | Not just strings. |
| 23:25:57 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 23:26:12 | <int-e> | Hmm 1988 has a related language called LEAN? Hehe. |
| 23:26:36 | <Rembane> | I need the languages EAN, AN and N too. |
| 23:26:42 | × | CrunchyFlakes quits (~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds) |
| 23:26:52 | → | CrunchyFlakes joins (~CrunchyFl@31.19.233.78) |
| 23:27:18 | × | Everything quits (~Everythin@178-133-140-206.mobile.vf-ua.net) (Remote host closed the connection) |
| 23:27:38 | <probie> | I think `UNQ` in early Clean appears slightly before monadic IO in early Haskell, since the first monadic IO paper that's been found so far references the Clean one. |
| 23:27:43 | × | visilii quits (~visilii@85.172.77.90) (Client Quit) |
| 23:28:36 | → | visilii joins (~visilii@85.172.77.90) |
| 23:30:40 | → | pavonia joins (~user@user/siracusa) |
| 23:31:22 | <Inst> | I think you can consider IO in Haskell a very primitive / early effect system, but I don't think you can say the same for Clean's uniqueness types, which seem to be a more of linearity |
| 23:31:51 | <Inst> | so then you can argue that Haskell had the first effect system |
| 23:35:12 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:38:09 | → | kstatz12 joins (~karl@user/kstatz12) |
| 23:38:12 | <int-e> | 1992 CLEAN still had rules, 1994 CLEAN started to look more like Haskell. |
| 23:38:14 | int-e | shrugs |
| 23:38:42 | <int-e> | Anyway, the lesson here is that languages evolve, so dates of conception can be misleading. |
| 23:38:54 | × | SlackCoder quits (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Quit: Leaving) |
| 23:39:31 | <dolio> | I'm curious what Miranda did, but I can't find my copy of the manual. |
| 23:39:52 | × | kstatz12 quits (~karl@user/kstatz12) (Client Quit) |
| 23:40:33 | <haskellbridge> | <Bowuigi> Miranda has a sys_message ADT, main uses a list of that |
| 23:40:56 | <sshine> | Inst, I understand that IO came to Haskell at some later point. |
| 23:41:00 | <dolio> | In '85, though? |
| 23:41:13 | <sshine> | I was born that year! |
| 23:41:44 | <dolio> | I mean, that would make somse sense, because Haskell was essentially Miranda with a few tweaks. |
| 23:42:07 | <int-e> | sshine: so how do you feel about turning ancient next year *runs* |
| 23:42:12 | <sshine> | https://okmij.org/ftp/Computation/IO-monad-history.html |
| 23:42:23 | <sshine> | apparently I'm not as ancient as the IO monad after all |
| 23:42:24 | × | acidjnk quits (~acidjnk@p200300d6e7283f63c008ff7276864804.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 23:44:17 | <sshine> | well, it ain't 0x20 or 0x30, but it's a pretty number. :) |
| 23:47:06 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 23:51:33 | × | hueso quits (~root@user/hueso) (Quit: hueso) |
| 23:57:37 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds) |
| 23:58:00 | × | Versality quits (~Versality@user/Versality) (Remote host closed the connection) |
| 23:58:14 | → | Versality joins (~Versality@84.237.180.62) |
| 23:58:14 | × | Versality quits (~Versality@84.237.180.62) (Changing host) |
| 23:58:14 | → | Versality joins (~Versality@user/Versality) |
All times are in UTC on 2024-11-06.