Home liberachat/#haskell: Logs Calendar

Logs on 2021-10-07 (liberachat/#haskell)

00:01:11 MQ-17J joins (~MQ-17J@d192-24-122-179.try.wideopenwest.com)
00:04:10 × Gurkenglas quits (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 265 seconds)
00:06:05 <monochrom> If you want this rabbit hole, the search term is "Boltzmann sampler"
00:07:41 Guest82 joins (~Guest82@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
00:08:58 <monochrom> I think some of the early contributors of quickcheck and Arbitrary tried to dive into that literature too, precisely because they hoped to give you a derive-Generic solution to user-defined ADTs.
00:09:28 <Guest82> I asked here earlier today about Megaparsec not accepting '\/' in charLiteral and it turned out this is according to the haskell report of 2010
00:10:59 <Guest82> but any parser primitives I put my hands on reference readLitChar in Data.Char. Even anySingle
00:11:15 P1RATEZ joins (piratez@user/p1ratez)
00:12:53 <Guest82> Sorry but I reaaally don't see where to go from here, I have the general idea (thanks to a kind person here) of using lookAhead to check the char after `\` but that's about it
00:13:06 × nvmd quits (~nvmd@user/nvmd) (Quit: Later, nerds.)
00:13:17 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
00:15:02 geekosaur joins (~geekosaur@xmonad/geekosaur)
00:15:30 <monochrom> So don't use charLiteral?
00:16:20 <Guest82> monochrom: umm but what do I replace it with? I can't even read the backslashes in a "raw way" to handle them how I need
00:17:56 lavaman joins (~lavaman@98.38.249.169)
00:18:00 <monochrom> anySingle can. char '\\' can.
00:18:34 <awpr> maybe there's a lexer in the mix that's already rejecting the escapes before the "real" parser sees them?
00:18:46 <monochrom> anySingleBut '\\' can accept a non-\ character, in case you're also looking for somthing to <|> with.
00:20:18 pfurla_ joins (~pfurla@176.67.85.207)
00:21:23 × phma quits (~phma@host-67-44-209-33.hnremote.net) (Read error: Connection reset by peer)
00:23:14 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 268 seconds)
00:23:50 <Guest82> monochrom: so I would for example keep parsing with anySingleBut '\\' and fallback to getting my escape sequences if that fails?
00:24:40 <monochrom> Or keep parsing with char '\\' and fall back to getting non-escape sequences if that fails
00:25:22 <monochrom> Or keep parsing with anySingle and have an if-then-else
00:25:45 × concrete-houses quits (~g@209.6.150.53) (Quit: Lost terminal)
00:25:55 <monochrom> Or roll your own charLiteral
00:26:24 <Guest82> in that case I would need to lookAhead of '\\' to make sure there is actually a valid escape char, won't I?
00:26:42 × Tuplanolla quits (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)
00:26:43 <monochrom> Depends on the rest of your code.
00:27:07 z0k joins (~zarak@39.40.56.110)
00:28:01 <awpr> if there's an invalid escape char, should it try consuming the backslash as something other than an escape, or should it be an error?
00:28:11 <monochrom> I have never needed lookAhead.
00:28:34 <monochrom> Including those cases when someone thinks they need lookAhead.
00:29:17 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
00:29:23 <monochrom> But the overall organization of the parser has to be done to centre around <|> rather than centre around lookAhead.
00:29:34 × azeem quits (~azeem@2a00:801:2d6:ef11:512b:756c:612a:d872) (Ping timeout: 252 seconds)
00:29:50 <monochrom> That is, following a carefully designed grammar.
00:30:02 <monochrom> Have you ever written down your grammar somewhere?
00:30:27 <Guest82> Well my parser has no lookAhead up until now. I only have choice and optional
00:30:55 <Guest82> monochrom: https://github.com/kdl-org/kdl/blob/main/SPEC.md#full-grammar
00:31:09 × alzgh quits (~alzgh@user/alzgh) (Remote host closed the connection)
00:31:26 × mmhat quits (~mmh@55d43024.access.ecotel.net) (Quit: WeeChat 3.3)
00:31:29 <monochrom> I think every question I've seen on this channel that resulted in lookAhead happens to be also a case of someone pulling their parser code out of the blue.
00:31:29 alzgh joins (~alzgh@user/alzgh)
00:31:46 × pfurla_ quits (~pfurla@176.67.85.207) (Ping timeout: 245 seconds)
00:32:13 <awpr> doesn't look like that string literal grammar needs lookahead: it doesn't accept backslashes except as the start of an escape
00:32:40 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:32:41 phma joins (~phma@host-67-44-208-121.hnremote.net)
00:33:04 azeem joins (~azeem@2a00:801:42c:d139:9d0f:28fb:e46a:c37b)
00:33:31 <awpr> um, unless the second backslash in `character := '\' escape | [^\"]` is escaping the quote
00:34:04 <monochrom> Looks like simply character = (char '\' >> escape) <|> noneOf "\\\"" and since they don't have a common prefix, you don't even need "try".
00:34:48 <monochrom> I think ^ says \ is \ itself :)
00:35:02 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
00:35:03 <awpr> yeah, I think so, too. just not really sure
00:35:27 stiell joins (~stiell@gateway/tor-sasl/stiell)
00:36:33 <monochrom> escape = oneOf "\"\\/bfnrt" <|> (string "u{" >> ...)
00:36:43 <monochrom> or whatever "string" is called in megaparsec.
00:37:20 <Guest82> what is the (string "u{" >> ...) part for?
00:37:33 <monochrom> escape := ["\\/bfnrt] | 'u{' hex-digit{1, 6} '}' You saw that?
00:37:39 <c_wraith> if that's perlish, [^\"] is "any character except backslash or double-quote"
00:37:49 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds)
00:38:08 <awpr> "perlish", is that like "churlish"?
00:38:26 <c_wraith> that sounds like a trap. :P
00:38:34 <monochrom> How this very readily directly-codable grammar led to the conclusion of charLiteral, I don't want to know.
00:38:45 <Guest82> monochrom: oh I recall now. I had so much trouble with bfnrt that I forgot about the unicode escapes haha
00:39:55 <Guest82> monochrom: you mean why I chose charLiteral instead of writing it myself? I had no idea how to use megaparsec
00:40:09 <monochrom> So don't use megaparsec?
00:40:40 <Guest82> well I wanted to learn as I also can't use anything else :^)
00:40:47 <monochrom> "Hi I need to write a webapp, so I decided arbitrarily to write it in javascript, except I don't know how to write in javascript"
00:40:54 × brainfreeze quits (~brainfree@2a03:1b20:4:f011::20d) (Ping timeout: 265 seconds)
00:41:30 <Guest82> Fair enough, thanks for the useful descriptions
00:43:27 pfurla_ joins (~pfurla@176.67.85.208)
00:43:36 <Guest82> I didn't know you could write things so directly like this
00:44:07 <Guest82> the grammar translates almost perfectly
00:45:36 libertyprime joins (~libertypr@121.99.51.17)
00:45:44 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 245 seconds)
00:47:45 <libertyprime> just for posterity: i figured out the source of my problems with hls unable to find imports. i had to make a simple hie.yaml that pointed to cabal. my breadcrumb trail started at simply running haskell-language-server-wrapper in my project directory.
00:48:15 <libertyprime> but now that i've done that, hls is working brilliantly.
00:53:23 hiruji joins (~hiruji@user/hiruji)
00:54:42 abarbu joins (~user@c-66-31-23-28.hsd1.ma.comcast.net)
00:57:27 <abarbu> Am I doing something wrong or does doing a nix-build with a buildStackProject derivation never hit cachix?
00:57:53 bdaed joins (~bdaed@185.234.208.208.r.toneticgroup.pl)
01:02:24 × bdaed quits (~bdaed@185.234.208.208.r.toneticgroup.pl) (Ping timeout: 245 seconds)
01:03:36 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
01:03:48 lavaman joins (~lavaman@98.38.249.169)
01:05:55 × lbseale quits (~lbseale@user/ep1ctetus) (Read error: Connection reset by peer)
01:07:20 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
01:10:31 × xff0x quits (~xff0x@2001:1a81:5322:8500:3dbc:62b9:b7d:93a4) (Ping timeout: 245 seconds)
01:12:30 xff0x joins (~xff0x@2001:1a81:5214:3f00:ae6e:7be1:7e40:7547)
01:13:13 AndrewYu is now known as Andrew
01:13:40 aguapesada joins (~aguapesad@2804:14c:8793:8e2f:5589:aa57:4b2e:2fb5)
01:14:14 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
01:17:13 × aguapesada quits (~aguapesad@2804:14c:8793:8e2f:5589:aa57:4b2e:2fb5) (Read error: Connection reset by peer)
01:22:59 lbseale joins (~lbseale@user/ep1ctetus)
01:23:28 <dsal> I use haskell.nix and have an OK time with cachix.
01:26:30 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
01:29:52 × bitmapper quits (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity)
01:36:38 × P1RATEZ quits (piratez@user/p1ratez) (Quit: kdrama time ;)
01:40:37 × alzgh quits (~alzgh@user/alzgh) (Remote host closed the connection)
01:41:09 × lbseale quits (~lbseale@user/ep1ctetus) (Quit: Leaving)
01:44:49 lavaman joins (~lavaman@98.38.249.169)
01:46:07 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
01:48:14 × libertyprime quits (~libertypr@121.99.51.17) (Ping timeout: 245 seconds)
01:48:41 Sgeo joins (~Sgeo@user/sgeo)
01:48:47 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
01:49:02 xiongxin joins (~quassel@113.116.33.66)
01:49:23 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
01:50:18 libertyprime joins (~libertypr@118.149.86.94)
01:54:32 daylily joins (~daylily@89.208.245.45.16clouds.com)
02:03:20 justsomeguy joins (~justsomeg@user/justsomeguy)
02:03:20 × MQ-17J quits (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
02:04:01 MQ-17J joins (~MQ-17J@d192-24-122-179.try.wideopenwest.com)
02:06:46 × MQ-17J quits (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
02:07:38 MQ-17J joins (~MQ-17J@d192-24-122-179.try.wideopenwest.com)
02:10:20 × ezzieyguywuf quits (~Unknown@user/ezzieyguywuf) (Remote host closed the connection)
02:11:35 ezzieyguywuf joins (~Unknown@user/ezzieyguywuf)
02:13:25 × jespada quits (~jespada@2803:9800:9842:7a62:24b8:8bfb:be5c:585b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
02:13:53 jespada joins (~jespada@2803:9800:9842:7a62:24b8:8bfb:be5c:585b)
02:14:02 × jespada quits (~jespada@2803:9800:9842:7a62:24b8:8bfb:be5c:585b) (Client Quit)
02:14:36 jespada joins (~jespada@2803:9800:9842:7a62:24b8:8bfb:be5c:585b)
02:15:01 × daylily quits (~daylily@89.208.245.45.16clouds.com) (Quit: daylily)
02:15:13 daylily joins (~daylily@89.208.245.45.16clouds.com)
02:15:15 × daylily quits (~daylily@89.208.245.45.16clouds.com) (Remote host closed the connection)
02:15:24 daylily_ joins (~daylily@89.208.245.45.16clouds.com)
02:15:24 daylily_ is now known as daylily
02:15:32 × daylily quits (~daylily@89.208.245.45.16clouds.com) (Remote host closed the connection)
02:15:44 daylily joins (~daylily@89.208.245.45.16clouds.com)
02:15:46 × daylily quits (~daylily@89.208.245.45.16clouds.com) (Client Quit)
02:15:58 daylily joins (~daylily@89.208.245.45.16clouds.com)
02:16:08 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
02:20:34 × jespada quits (~jespada@2803:9800:9842:7a62:24b8:8bfb:be5c:585b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
02:21:04 jespada joins (~jespada@host196.190-3-30.dynamic.telmex.net.ar)
02:21:44 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
02:22:46 jjhoo joins (~jahakala@user/jjhoo)
02:23:10 × yinghua quits (~yinghua@2800:2121:1400:900:550d:5356:b600:ab96) (Quit: Leaving)
02:23:14 × geranim0 quits (~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Ping timeout: 245 seconds)
02:26:03 × daylily quits (~daylily@89.208.245.45.16clouds.com) (Quit: daylily)
02:26:22 daylily joins (~daylily@89.208.245.45.16clouds.com)
02:30:10 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3)
02:30:38 × Psybur quits (~Psybur@mobile-166-170-32-197.mycingular.net) (Remote host closed the connection)
02:30:45 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
02:31:10 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
02:32:41 jess is now known as catoshi_nyakamot
02:32:54 catoshi_nyakamot is now known as CatoshiNyakamoto
02:34:20 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 265 seconds)
02:35:55 abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
02:36:24 × daylily quits (~daylily@89.208.245.45.16clouds.com) (Quit: daylily)
02:36:36 daylily joins (~daylily@89.208.245.45.16clouds.com)
02:36:47 × daylily quits (~daylily@89.208.245.45.16clouds.com) (Client Quit)
02:36:59 daylily joins (~daylily@89.208.245.45.16clouds.com)
02:37:03 × daylily quits (~daylily@89.208.245.45.16clouds.com) (Client Quit)
02:41:05 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
02:41:09 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 245 seconds)
02:41:29 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
02:46:28 bdaed joins (~bdaed@185.234.208.208.r.toneticgroup.pl)
02:50:31 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 245 seconds)
02:50:48 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
02:50:49 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
02:50:49 wroathe joins (~wroathe@user/wroathe)
02:50:56 × bdaed quits (~bdaed@185.234.208.208.r.toneticgroup.pl) (Ping timeout: 245 seconds)
02:51:25 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
02:51:49 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
02:52:46 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
02:55:52 × td_ quits (~td@94.134.91.91) (Ping timeout: 252 seconds)
02:56:47 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 268 seconds)
02:57:51 td_ joins (~td@94.134.91.74)
02:58:17 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
03:01:45 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
03:02:10 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
03:02:24 × abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 245 seconds)
03:03:28 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
03:06:06 danso joins (~danso@23-233-111-52.cpe.pppoe.ca)
03:10:13 hyiltiz joins (~quassel@31.220.5.250)
03:12:05 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
03:12:31 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
03:12:40 abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
03:22:26 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
03:22:52 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
03:23:09 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 265 seconds)
03:23:24 mbuf joins (~Shakthi@136.185.79.30)
03:28:57 × abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
03:30:03 abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
03:30:56 × z0k quits (~zarak@39.40.56.110) (Ping timeout: 245 seconds)
03:31:36 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
03:32:48 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
03:33:14 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
03:36:46 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 245 seconds)
03:38:08 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
03:38:27 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 240 seconds)
03:42:05 motherfsck joins (~motherfsc@user/motherfsck)
03:43:10 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
03:43:16 × ormaaj quits (~ormaaj@user/ormaaj) (Quit: Reconnecting)
03:43:35 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
03:43:51 ormaaj joins (~ormaaj@user/ormaaj)
03:47:51 × abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
03:49:16 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 245 seconds)
03:52:01 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
03:52:25 ChaiTRex joins (~ChaiTRex@user/chaitrex)
03:53:31 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
03:53:57 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
03:56:25 × danso quits (~danso@23-233-111-52.cpe.pppoe.ca) (Read error: Connection reset by peer)
03:56:51 danso joins (~danso@23-233-111-52.cpe.pppoe.ca)
03:57:15 CatoshiNyakamoto is now known as jess
04:01:40 abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
04:03:51 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
04:04:17 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
04:04:29 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 245 seconds)
04:07:25 motherfsck joins (~motherfsc@user/motherfsck)
04:08:01 × zebrag quits (~chris@user/zebrag) (Remote host closed the connection)
04:14:12 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
04:14:37 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
04:21:21 × libertyprime quits (~libertypr@118.149.86.94) (Ping timeout: 245 seconds)
04:24:32 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
04:24:57 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
04:33:34 libertyprime joins (~libertypr@118.149.86.94)
04:33:42 × libertyprime quits (~libertypr@118.149.86.94) (Client Quit)
04:34:25 bdaed joins (~bdaed@185.234.208.208.r.toneticgroup.pl)
04:34:33 hyiltiz joins (~quassel@31.220.5.250)
04:34:52 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
04:35:16 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
04:38:51 × bdaed quits (~bdaed@185.234.208.208.r.toneticgroup.pl) (Ping timeout: 245 seconds)
04:45:11 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
04:45:27 lavaman joins (~lavaman@98.38.249.169)
04:45:37 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
04:49:28 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving)
04:49:41 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
04:55:33 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
04:55:57 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
04:57:52 × Amras quits (~Amras@user/Amras) (Quit: Leaving)
05:03:05 × abrantesasf quits (~abrantesa@187.36.170.211) (Remote host closed the connection)
05:04:53 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
05:05:53 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
05:06:15 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 265 seconds)
05:06:18 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
05:07:33 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 265 seconds)
05:11:53 chomwitt joins (~chomwitt@2a02:587:dc18:b400:12c3:7bff:fe6d:d374)
05:13:25 × zmt00 quits (~zmt00@user/zmt00) (Quit: Gone.)
05:15:59 zmt00 joins (~zmt00@user/zmt00)
05:16:01 sleblanc joins (~sleblanc@user/sleblanc)
05:16:13 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
05:16:38 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
05:24:17 × Nahra`` quits (~user@static.161.95.99.88.clients.your-server.de) (Remote host closed the connection)
05:24:57 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 265 seconds)
05:26:33 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
05:26:58 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
05:27:52 Nahra`` joins (~user@static.161.95.99.88.clients.your-server.de)
05:33:19 × Nahra`` quits (~user@static.161.95.99.88.clients.your-server.de) (Ping timeout: 265 seconds)
05:33:55 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
05:36:54 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
05:37:19 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
05:41:56 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
05:41:56 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
05:41:56 wroathe joins (~wroathe@user/wroathe)
05:45:58 michalz joins (~michalz@185.246.204.87)
05:46:21 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 245 seconds)
05:47:14 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
05:47:39 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
05:48:53 mei joins (~mei@user/mei)
05:53:24 hyiltiz joins (~quassel@31.220.5.250)
05:55:51 <dminuoso> Axman6: summing :: (Is k A_Fold, Is l A_Fold) => Optic' k is s a -> Optic' l js s a -> Fold s a
05:56:38 <dminuoso> In lens you can simply use <> to achieve the same, which is yet another of those "you have to be a wizard to recognize and know about this interface". :p
05:57:29 × xff0x quits (~xff0x@2001:1a81:5214:3f00:ae6e:7be1:7e40:7547) (Ping timeout: 265 seconds)
05:57:35 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
05:57:55 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds)
05:58:01 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
05:58:17 xff0x joins (~xff0x@2001:1a81:5214:3f00:6100:edb4:46e4:4e62)
06:04:08 × vicfred quits (~vicfred@user/vicfred) (Quit: Leaving)
06:04:33 × rembo10 quits (~rembo10@remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
06:04:54 libertyprime joins (~libertypr@118.149.86.94)
06:05:32 rembo10 joins (~rembo10@remulis.com)
06:06:14 rtjure joins (~rtjure@bras-79-132-17-74.comnet.bg)
06:06:46 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 245 seconds)
06:07:18 fendor joins (~fendor@178.115.78.172.wireless.dyn.drei.com)
06:07:56 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
06:08:22 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
06:08:27 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
06:10:45 jtomas joins (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
06:10:52 × sleblanc quits (~sleblanc@user/sleblanc) (Ping timeout: 265 seconds)
06:10:55 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
06:11:20 jpds joins (~jpds@gateway/tor-sasl/jpds)
06:13:46 neurocyte0132889 joins (~neurocyte@92.119.10.104)
06:13:46 × neurocyte0132889 quits (~neurocyte@92.119.10.104) (Changing host)
06:13:46 neurocyte0132889 joins (~neurocyte@user/neurocyte)
06:18:17 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
06:18:43 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
06:21:30 × xiongxin quits (~quassel@113.116.33.66) (Ping timeout: 265 seconds)
06:22:33 bdaed joins (~bdaed@185.234.208.208.r.toneticgroup.pl)
06:23:01 xiongxin joins (~quassel@113.116.33.66)
06:23:31 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
06:23:42 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
06:23:57 wonko joins (~wjc@62.115.229.50)
06:25:19 × benin0369323016 quits (~benin@183.82.176.241) (Ping timeout: 245 seconds)
06:26:46 × bdaed quits (~bdaed@185.234.208.208.r.toneticgroup.pl) (Ping timeout: 245 seconds)
06:27:16 benin0369323016 joins (~benin@183.82.176.241)
06:27:26 motherfsck joins (~motherfsc@user/motherfsck)
06:28:00 Gurkenglas joins (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
06:28:37 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
06:29:02 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
06:30:42 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 276 seconds)
06:31:00 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:31:23 ChaiTRex joins (~ChaiTRex@user/chaitrex)
06:32:38 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
06:35:16 gehmehgeh joins (~user@user/gehmehgeh)
06:36:03 bdaed joins (~bdaed@185.234.208.208.r.toneticgroup.pl)
06:37:06 jonathanx joins (~jonathan@dyn-8-sc.cdg.chalmers.se)
06:38:58 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Remote host closed the connection)
06:42:55 vysn joins (~vysn@user/vysn)
06:45:13 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
06:45:24 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
06:45:27 lortabac joins (~lortabac@2a01:e0a:541:b8f0:1dfb:18c4:d7d4:8722)
06:46:21 × bdaed quits (~bdaed@185.234.208.208.r.toneticgroup.pl) (Ping timeout: 245 seconds)
06:46:26 × libertyprime quits (~libertypr@118.149.86.94) (Read error: Connection reset by peer)
06:50:19 × rtjure quits (~rtjure@bras-79-132-17-74.comnet.bg) (Ping timeout: 245 seconds)
06:51:57 × hendursaga quits (~weechat@user/hendursaga) (Remote host closed the connection)
06:52:27 hendursaga joins (~weechat@user/hendursaga)
06:58:31 hyiltiz joins (~quassel@31.220.5.250)
07:01:47 chele joins (~chele@user/chele)
07:03:04 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 265 seconds)
07:04:15 ubert joins (~Thunderbi@91.141.75.202.wireless.dyn.drei.com)
07:05:49 max22- joins (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr)
07:06:27 × hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 276 seconds)
07:06:48 lavaman joins (~lavaman@98.38.249.169)
07:08:49 hendursaga joins (~weechat@user/hendursaga)
07:10:29 arjun joins (~Srain@user/arjun)
07:11:09 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
07:15:24 notzmv joins (~zmv@user/notzmv)
07:16:17 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:20:45 hyiltiz joins (~quassel@31.220.5.250)
07:21:58 × neurocyte0132889 quits (~neurocyte@user/neurocyte) (Read error: Connection reset by peer)
07:22:37 cfricke joins (~cfricke@user/cfricke)
07:23:13 neurocyte0132889 joins (~neurocyte@92.119.10.104)
07:23:13 × neurocyte0132889 quits (~neurocyte@92.119.10.104) (Changing host)
07:23:13 neurocyte0132889 joins (~neurocyte@user/neurocyte)
07:24:17 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
07:28:33 geekosaur joins (~geekosaur@xmonad/geekosaur)
07:30:04 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:30:08 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 265 seconds)
07:37:03 ubert1 joins (~Thunderbi@77.119.205.6.wireless.dyn.drei.com)
07:38:50 × ubert quits (~Thunderbi@91.141.75.202.wireless.dyn.drei.com) (Ping timeout: 265 seconds)
07:38:51 ubert1 is now known as ubert
07:42:47 × neurocyte0132889 quits (~neurocyte@user/neurocyte) (Read error: Connection reset by peer)
07:43:12 neurocyte0132889 joins (~neurocyte@92.119.10.104)
07:43:12 × neurocyte0132889 quits (~neurocyte@92.119.10.104) (Changing host)
07:43:12 neurocyte0132889 joins (~neurocyte@user/neurocyte)
07:43:59 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
07:45:58 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
07:48:30 × pfurla_ quits (~pfurla@176.67.85.208) (Ping timeout: 265 seconds)
07:49:14 rkrishnan joins (~user@2402:e280:215c:2cd:93af:e0ef:60d6:2dc5)
07:53:26 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
07:56:21 × benin0369323016 quits (~benin@183.82.176.241) (Ping timeout: 245 seconds)
07:56:40 phma_ joins (~phma@host-67-44-208-121.hnremote.net)
07:56:53 × AlexNoo quits (~AlexNoo@94.233.240.2) (Read error: Connection reset by peer)
07:57:07 AlexNoo joins (~AlexNoo@94.233.240.2)
07:57:37 neightchan joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
07:59:29 × natechan quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 245 seconds)
08:00:19 × phma quits (~phma@host-67-44-208-121.hnremote.net) (Ping timeout: 245 seconds)
08:00:27 × edwtjo quits (~edwtjo@user/edwtjo) (Ping timeout: 240 seconds)
08:02:46 × arjun quits (~Srain@user/arjun) (Read error: Connection reset by peer)
08:02:54 arjun_ joins (~Srain@user/arjun)
08:02:55 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
08:05:35 hendursa1 joins (~weechat@user/hendursaga)
08:06:10 × shriekingnoise quits (~shrieking@186.137.144.80) (Quit: Quit)
08:08:51 × hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 276 seconds)
08:09:02 robosexual joins (~spaceoyst@88.85.216.62)
08:10:36 ocramz joins (~user@c80-216-51-213.bredband.tele2.se)
08:10:43 <ocramz> hullo o/
08:11:22 phma_ is now known as phma
08:12:39 pfurla_ joins (~pfurla@176.67.85.207)
08:12:40 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 265 seconds)
08:13:43 hyiltiz joins (~quassel@31.220.5.250)
08:15:06 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 245 seconds)
08:17:37 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
08:17:38 allbery_b joins (~geekosaur@xmonad/geekosaur)
08:17:41 allbery_b is now known as geekosaur
08:17:58 libertyprime joins (~libertypr@118.149.86.94)
08:21:29 <libertyprime> has anyone here tried compiling cardano-node with default.nix? Just wondering because I have started nix-build but several hours and several 10s of GBs later haskell is still compiling the project. *pulling hair out*
08:21:40 <maerwald> libertyprime: use cabal
08:21:42 <maerwald> trash nix
08:21:50 <maerwald> cardano-node is developed via cabal
08:21:58 <maerwald> deployment/CI is nix
08:22:43 <maerwald> or set up the IOHK nix cache
08:22:50 <libertyprime> ... *cries*. shouldve done that
08:23:04 <maerwald> https://github.com/input-output-hk/cardano-node/blob/master/doc/getting-started/building-the-node-using-nix.md/#iohk-binary-cache
08:25:00 <libertyprime> maerwald: thank you so much
08:25:03 bdaed joins (~bdaed@185.234.208.208.r.toneticgroup.pl)
08:25:29 <maerwald> but I don't see why you'd want to download the size of 3 operating systems instead of just using cabal
08:26:02 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3)
08:26:32 <libertyprime> hmm. indeed... i actually do want to use cabal. i just dont want to admit im falling for the sunken costs fallacy
08:28:08 <libertyprime> hmm. since when does cabal do projects
08:28:18 acidjnk_new joins (~acidjnk@p200300d0c703cb15c01e6432704cfc21.dip0.t-ipconnect.de)
08:28:18 <maerwald> a while
08:28:22 <merijn> libertyprime: Since roughly 2015-2016? :p
08:28:34 <merijn> Which is when I started using the development release to use those :p
08:28:47 <libertyprime> sheet. i see
08:29:23 <merijn> Realistically "production" release of it probably 2017-2018ish
08:29:29 × bdaed quits (~bdaed@185.234.208.208.r.toneticgroup.pl) (Ping timeout: 245 seconds)
08:29:56 <libertyprime> im the guy who invested in cardano in 2017 and sold when it went lower. also the guy who has been using stack for the last couple years which i think is responsible for making my haskell learning a living hell
08:30:54 × hnOsmium0001 quits (uid453710@id-453710.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
08:31:34 <kuribas> libertyprime: what do you not like about stack?
08:32:10 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
08:33:12 <libertyprime> http://ix.io/3B50
08:33:20 <libertyprime> here's my stack wrapper script
08:34:02 <libertyprime> i put fork bomb protection in it among other things. i may be responsible since i tried to make stack do things i probably shouldnt have
08:34:26 <libertyprime> theres something in there about globalexec too
08:34:40 <libertyprime> ah yeah, thats was kinda annoyin
08:35:00 <libertyprime> say i want to run a ghci or ghcid or ghcide inside a project
08:35:20 <libertyprime> or outside. idk, as a beginner im very confused when things continually cant compile
08:35:30 <libertyprime> though i am probably responsible for messing around
08:36:01 × ocramz quits (~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 265 seconds)
08:37:56 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
08:38:13 <libertyprime> ther's also a note in there "Stack doesn't usually return output unless something changes". as a beginner that confused me
08:38:33 <libertyprime> something on stderr saying, "all is well", would probably alleviate that confusion.
08:38:48 <libertyprime> i know it's technically UNIXy correct to do nothing
08:41:00 <libertyprime> all said and done stack is a million times better than npm
08:41:44 × azeem quits (~azeem@2a00:801:42c:d139:9d0f:28fb:e46a:c37b) (Read error: Connection reset by peer)
08:41:54 <libertyprime> oh there's also a note in the script about finding a particular binary, whcih is installed in a local project
08:41:58 azeem joins (~azeem@2a00:801:42c:d139:9d0f:28fb:e46a:c37b)
08:41:58 <libertyprime> that was difficult to work out, too
08:42:06 Nahra joins (~user@static.161.95.99.88.clients.your-server.de)
08:43:48 <dminuoso> libertyprime: To build cardano-node with nix, you *really* should use the supplied binary cache.
08:44:56 <dminuoso> It's quite a lengthy experience, otherwise.
08:45:36 <libertyprime> lol. yes. after several hours -- surely 6 hours or something, i cancelled it and it took about 5 mins to compile with cabal just then
08:45:41 × vysn quits (~vysn@user/vysn) (Ping timeout: 265 seconds)
08:46:01 × azeem quits (~azeem@2a00:801:42c:d139:9d0f:28fb:e46a:c37b) (Read error: Connection reset by peer)
08:46:15 <dminuoso> libertyprime: The thing with nix is, without binary caches, this will bootstrap everything including say GHC.
08:46:21 <libertyprime> they really should have a message or something, which says -- this will take a hell of a long time
08:46:34 <libertyprime> *just use cabal, seriously*
08:46:56 <dminuoso> And the entirety of the transitive dependency tree, not just the haskell packages.
08:46:59 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 245 seconds)
08:47:11 <maerwald> nix is unergonomic
08:47:16 <dminuoso> Think the default installations use the regular cachix, but that wont have everything that is dependend upon in the iohk packages
08:47:38 <dminuoso> libertyprime: Well, there is a note saying that using a binary cache will significant improve the speed... :P
08:47:48 azeem joins (~azeem@emp-183-4.eduroam.uu.se)
08:49:21 <merijn> Sometimes I think "I should use Nix", then I look at it for 10s and come to my senses :p
08:49:33 × xff0x quits (~xff0x@2001:1a81:5214:3f00:6100:edb4:46e4:4e62) (Ping timeout: 265 seconds)
08:49:45 hyiltiz joins (~quassel@31.220.5.250)
08:50:12 xff0x joins (~xff0x@2001:1a81:5214:3f00:3f98:aae6:4554:8065)
08:50:14 <maerwald> merijn: but you could invest several years in pain and then it becomes easier
08:50:43 <dminuoso> I invested about a year, and yeah, after that year nix has become a wonderful tool.
08:50:52 <dminuoso> Even though I hate parts of it, nixos has made our life much much easier.
08:51:00 <libertyprime> merijn: all u need is cardano and a language model, i think. that can be the entire computing experience, maybe
08:51:23 <maerwald> investing 1 year in a tool is a LOT... and nix in no way is able to pay off one year of investment
08:51:33 <dminuoso> Well, it wasnt a year full time.
08:52:20 <maerwald> investment/gain ratio just isn't there
08:52:24 <dminuoso> maerwald: For infrastructure management, I think its worth it. You'd spend just as much time with ansible, chef, puppet, kubernetes, or anything else that might utilize to get manage or deploy infrastructure.
08:52:47 <maerwald> I happily removed nix from infrastructure before in a company and everything was more smooth.
08:52:59 <dminuoso> Just nix or nixos?
08:53:08 <maerwald> nix and nixops
08:53:19 <dminuoso> We're very happy with nixos so far for deploying large scale clusters
08:53:42 brettgilio7 joins (~brettgili@x-node.gq)
08:54:13 <maerwald> if you control the deployment, there's very little point in nix
08:54:27 × brettgilio quits (~brettgili@x-node.gq) (Ping timeout: 240 seconds)
08:54:27 brettgilio7 is now known as brettgilio
08:54:35 <dminuoso> We get to fully declaratively describe our serers *shrugs*
08:54:36 <maerwald> the only real advantage of nix is that you can share configuration, without sharing binaries or environment
08:54:55 <maerwald> if you control the deployment, you don't need to share configuration
08:54:58 <maerwald> you control everything anyway
08:55:03 <dminuoso> maerwald: by the way, much of the long time was due to not having some expert that was able to mentor me. We have 2 folks that Im guiding, and they rapidly pick up nix/nixos.
08:55:09 <dminuoso> They're not taking a year. :)
08:55:28 <dminuoso> maerwald: I dont quite understand the statement wrt to "controlling the deployment"
08:55:29 <maerwald> sure, you can also use gentoo for your deployments or anything else and it might be awesome
08:55:39 × hendursa1 quits (~weechat@user/hendursaga) (Ping timeout: 276 seconds)
08:55:43 <dminuoso> Im not talking about deploying a package, but deploying the entire machine
08:56:03 <maerwald> dminuoso: well, in some cases, you're not able to actually deploy yourself, so someone else either needs instructions or a configuration that's reproducible
08:56:09 <maerwald> in that case, nix has *some* benefit
08:56:14 <maerwald> yes, me too
08:56:17 hendursa1 joins (~weechat@user/hendursaga)
08:56:18 <dminuoso> Between the ssh configuration, firewall configuration, motd on login, lets encrypt with either DNS-01 or HTTP-01 challenge, the software that runs on it, the configuration..
08:56:29 <maerwald> that can also be done reproducibly without nix
08:56:36 <maerwald> with much less complexity
08:56:38 <dminuoso> Reproducibly? How?
08:56:46 <maerwald> e.g. with gentoo :)
08:57:04 <dminuoso> Gentoo has fully declarative configuration management?
08:57:16 <maerwald> no, but that has nothing to do with "reproducibly"
08:57:29 <dminuoso> What does "reproducibly" even mean?
08:57:37 <dminuoso> I have some config snippet that configures SSH a particular way.
08:57:43 <dminuoso> How do you distribute this bit onto your entire server fleet?
08:57:47 <dminuoso> Assuming they all run gentoo
08:57:49 <maerwald> reproducibly means you can deploy one gentoo machine like another
08:57:53 <maerwald> and you can easily
08:57:57 <dminuoso> And how does that deployment work?
08:57:59 fendor_ joins (~fendor@178.165.191.25.wireless.dyn.drei.com)
08:58:09 <maerwald> sorry, I'm not gonna write it for you now
08:58:09 <dminuoso> How do you push that SSH config bit onto every server?
08:58:15 <maerwald> but you can
08:58:20 <dminuoso> Well.. you say you can. Im asking, using what?
08:58:24 <dminuoso> I genuinely dont know
08:58:33 <maerwald> you check in your config into a git repo?
08:58:48 <maerwald> nix doesn't do any magic, really
08:59:10 <maerwald> gentoo packages is in a git repo, you just freeze the commit
08:59:14 <dminuoso> With nixops the entirety of systemd is declaratively controlled. So no machine runs systemd units that I dont declare, you cant even backdoor this.
08:59:15 <maerwald> and you get the same packages always
08:59:17 <dminuoso> *nixos
08:59:26 <maerwald> nix again does the same
08:59:26 <dminuoso> I see
08:59:28 <maerwald> nothing special
08:59:32 <maerwald> old approach
08:59:48 <maerwald> just better marketing
09:00:03 <dminuoso> Yeah no, I think you're greatly mischaracterizing nixos
09:00:13 × sky_lounge[m] quits (~skylounge@2001:470:69fc:105::efa6) (Quit: You have been kicked for being idle)
09:00:31 × fendor quits (~fendor@178.115.78.172.wireless.dyn.drei.com) (Ping timeout: 245 seconds)
09:00:39 <dminuoso> The stuff we're building, you cant trivially do with manually written config stored in a git repo
09:00:46 <dminuoso> Or rather, it'd be a major pain in the butt
09:00:51 <maerwald> gentoo even supports binary packages, so you can have pretty much an equivalent of nix cache
09:01:01 <maerwald> I doubt that
09:01:12 <dminuoso> Let me give you an example:
09:01:21 <maerwald> but I'm not paid to convince your company otherwise, so.. :p
09:01:46 <maerwald> the declarativeness of nix isn't particularly reliable either
09:01:53 <maerwald> it easily breaks when you bump the commit
09:02:24 <maerwald> you have similar issues when using upstream config format
09:03:03 <maerwald> there are a lot of tools that abstract over that too, without nix
09:03:24 <maerwald> you pin their versions and pin the distro state
09:03:26 <maerwald> and you have the same
09:03:36 <dminuoso> https://gist.github.com/dminuoso/6fadc3855d2dd9f69b8d33e5f756fbea
09:03:39 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
09:03:57 <dminuoso> So this is the type of thing that is very hard to obtain without a fully declarative configuration
09:04:26 <maerwald> Odd... I managed
09:04:27 <dminuoso> This automatically provides a http service discovery endpoint, that names *all* hosts and URIs to all configured Prometheus exporters
09:05:10 <dminuoso> You can probably roll something similar with puppet
09:05:16 <maerwald> I guess configuring a full jenkins with automatic pipelines, dnyamic amazon runners, docker builds, deployments, 3-4 test instances etc etc is too hard without nix?
09:05:21 <maerwald> It took me 2 weeks
09:05:24 <maerwald> the nix config took months
09:05:33 <dminuoso> I have no experience with jenkins, so I cant say
09:05:46 <maerwald> and I didn't have to mentor anyone afterwards
09:05:49 <maerwald> documentation was enough
09:06:24 <maerwald> so yeah, I consider nix a danger to your startup
09:06:41 DNH joins (~DNH@2a02:8108:1100:16d8:a11a:d19d:8c20:4068)
09:07:11 <maerwald> but I'm not a devops really, so let them do whatever they want :p
09:07:12 <dexterfoo> jenkins config is a tangled mess of XML files that can only reasonably be configured via the GUI. how did you automate that?
09:07:15 <merijn> oh, maybe I should promote Nix to ruin startups!
09:07:23 <dminuoso> maerwald: the ability to intermix code and configuration is just too useful. And yeah, I mean you can start using jinja and dynamically generate config.
09:07:47 <dminuoso> maerwald: but then you get to the problem of "how does that description also assert that software is present and running", or how do you assure that its "not present and not running"
09:08:15 <dminuoso> And the reality is, if you have long running servers, sooner or later someone is going to logon to the system and do something like `apt install nginx` for some bizarre reason, and forget about it
09:08:44 <maerwald> dexterfoo: you configure via the GUI
09:09:03 <maerwald> and the relevant files get checked into the git repo
09:09:20 <maerwald> usually, you have *one* jenkins btw ;)
09:10:40 <maerwald> dminuoso: chef, puppet, ansible, propellor, ....
09:10:53 <maerwald> there's tons of tools to pick from
09:11:00 <maerwald> all of them are more sane than nix
09:11:08 <dminuoso> Okay, you hate nix. I get it. :)
09:11:13 <dminuoso> We love nix.
09:11:36 __monty__ joins (~toonn@user/toonn)
09:11:46 <dminuoso> And by the way, out of that list, only puppet can reasonably do what i suggested above.
09:12:05 <dminuoso> ansible/chef/propellor all cant deal with people bypassing your automation
09:12:29 <maerwald> dminuoso: I was on a similar trip like nix boys are now. I introduced a high-complexity gentoo config to a "customer" (friend I knew from university). He told me he'll never be able to upgrade this thing on his own. I said "naah"
09:12:36 <maerwald> and 5 years later we met again and that happened
09:12:44 <dminuoso> and they also dont declare the machine, they're just automated imperative commands - so you always have some precondition on the current state
09:12:50 <dminuoso> which means deploying to a fresh machine might produce a different result
09:13:25 × arjun_ quits (~Srain@user/arjun) (Remote host closed the connection)
09:13:30 <maerwald> people using nix seems to have very little concerns about *updates*
09:13:44 edwtjo joins (~edwtjo@h-109-228-137-133.A213.priv.bahnhof.se)
09:13:45 × edwtjo quits (~edwtjo@h-109-228-137-133.A213.priv.bahnhof.se) (Changing host)
09:13:45 edwtjo joins (~edwtjo@user/edwtjo)
09:14:21 × phma quits (~phma@host-67-44-208-121.hnremote.net) (Read error: Connection reset by peer)
09:14:34 <maerwald> nix has no abstraction... you have to understand everything
09:14:45 <dminuoso> Well nix does have abstractions
09:14:48 <maerwald> otherwise you can't maintain it
09:14:57 benin0369323016 joins (~benin@183.82.176.241)
09:15:00 <maerwald> no, it doesn't distinguish between code and config
09:15:06 <maerwald> so you have to understand the code
09:15:08 <maerwald> all of it
09:15:20 × hexagoxel quits (~hexagoxel@hexagoxel.de) (Ping timeout: 246 seconds)
09:15:20 <dminuoso> maerwald: at the very least you *can* maintain it in a singular simple language. If I want to package something for say centos, I have to first figure out how to use ancient and antiquated rpm
09:15:33 <maerwald> dminuoso: again, there are abstractions for it
09:15:35 <dminuoso> Packaging up software for nixos is really trivial in comparison.. :p
09:15:38 <maerwald> since decades
09:15:39 × barrucadu quits (~barrucadu@carcosa.barrucadu.co.uk) (Ping timeout: 265 seconds)
09:15:40 <dminuoso> maerwald: *horrible* abstractions.
09:15:50 <maerwald> not much different from nix then
09:16:08 barrucadu joins (~barrucadu@carcosa.barrucadu.co.uk)
09:16:19 <dminuoso> Anyway. We update our nixos machines regularly.
09:16:42 hexagoxel joins (~hexagoxel@2a01:4f8:c0c:e::2)
09:17:24 <dminuoso> Our mail cluster has a duplicate, using the exact same configuration (it's the same files, even!), with just IP addresses and hostnames swapped out. We just bump nixpkgs, deploy to the cluster, run integration tests, and if all is green, we deploy to production.
09:17:41 <dminuoso> And because its nixos, we have a high confidence production will behave exactly the same
09:18:06 <maerwald> I'd love to know how many man-hours IOHK put into their nix infrastructure. And I'm confident the numbers would be so high that from a business/financial perspective, it's a loss compared to other solutions.
09:19:05 <dminuoso> Im probably somewhere around 100 hours, and for one coworker we spend maybe 10 hours total, and he has enough competency to fully dissect and rebuild nixos modules.
09:19:08 <maerwald> but now other people benefit from it too it seems, so
09:19:12 <dminuoso> So I dont know..
09:19:40 <dminuoso> If it takes just 10 hours of investment to get someone with enough competency to package up custom software, modify official nixos modules..
09:19:52 <dminuoso> I mean yeah, much of the subtlety in nix is for touching derivations
09:19:59 <dminuoso> So that's far more complicated
09:20:11 <dminuoso> But in case of just regular "we wanna use standard software" that's not even remotely needed.
09:20:48 <maerwald> usual nix use case: "Just do this..." -> 5 hours later reading through humongous reddit threads, where someone is desparately looking for a solution and the answer took several nix maintainers several weeks to figure out there's a bug in their config
09:21:35 <maerwald> because when you config language is turing complete
09:21:37 <maerwald> you get more bugs
09:21:40 <maerwald> who knew?
09:23:14 <dminuoso> What can I say, this prometheus service discovery is either going to be very error prone if done by hand, or Im not sure you can trivially do this without a programmatic configuration language
09:23:47 <dminuoso> But we havent encountered any such "takes several weeks" bugs yet.
09:24:47 <dminuoso> I mean yeah, there's the odd "whoops, why I cant refer to pkgs in imports in a nixos module" moment, that requires a nix expert to explain. But that one is solved after a few minutes on matrix/irc/mailing list if you cared enough about it.
09:25:06 <dminuoso> Generally we try to do minimalistic nixos modules, which are largely trivial
09:25:15 <dminuoso> So we dont even invite these situations
09:31:59 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 245 seconds)
09:35:23 phma joins (~phma@host-67-44-208-17.hnremote.net)
09:40:06 enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
09:42:54 mmhat joins (~mmh@55d4f475.access.ecotel.net)
09:43:09 × mmhat quits (~mmh@55d4f475.access.ecotel.net) (Client Quit)
09:43:25 mmhat joins (~mmh@55d4f475.access.ecotel.net)
09:43:41 × chomwitt quits (~chomwitt@2a02:587:dc18:b400:12c3:7bff:fe6d:d374) (Ping timeout: 265 seconds)
09:44:29 benin03693230163 joins (~benin@183.82.176.241)
09:44:56 <__monty__> dminuoso: Wait, that can't be solved, can it?
09:45:33 <dminuoso> __monty__: No it cant.
09:45:42 <dminuoso> But it's really not a big deal.
09:45:53 <__monty__> The main advantage of Nix to me is the ease of rollbacks. You don't have to worry as much about messing things up because it's so easy to just pretend nothing happened.
09:46:03 <dminuoso> I noticed it when I tried to do something like `imports = [ (pkgs.fetchFromGitHub { ... }) ];`
09:46:10 <__monty__> Yeah, me too.
09:46:29 <__monty__> I'd prefer it was possible though, builtins.fetchurl is so limited.
09:46:32 <dminuoso> But its not a big deal since you can simply use builtins.fetchGit instead.
09:46:34 × cheater quits (~Username@user/cheater) (Write error: Connection reset by peer)
09:48:02 × benin0369323016 quits (~benin@183.82.176.241) (Ping timeout: 265 seconds)
09:48:02 benin03693230163 is now known as benin0369323016
09:48:19 <__monty__> Right, but doesn't that always clone the repo? (Didn't intend to turn this into #nixos though >.<)
09:48:34 <dminuoso> __monty__: "always"?
09:48:41 <dminuoso> Well the real solution is to use nix flakes. :P
09:48:47 <dminuoso> In our case we made a mono repo, so that worked too
09:49:12 <dminuoso> And no, actually that's one of those subtle things. If I understand it correctly, the specified sha256 hash is used as the hash in the generated store path.
09:49:19 <dminuoso> (This is just based on observation)
09:50:06 <dminuoso> This is why simply changing the url will surprisingly not refetch that repository (and generate a possibly expected sha mismatch error for trust-on-first-use)
09:50:21 <__monty__> Yeah, it's a FOD. Maybe the difference I'm remembering is that you *have* to specify the sha256 to make it a FOD while the revision is enough for fetchFromGithub? There was some subtle difference.
09:50:24 benin03693230163 joins (~benin@183.82.176.241)
09:50:45 <dminuoso> FOD?
09:51:42 <__monty__> Fixed output derivation.
09:52:10 × Guest82 quits (~Guest82@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: Client closed)
09:52:50 <dminuoso> Ah yeah
09:53:01 × benin0369323016 quits (~benin@183.82.176.241) (Ping timeout: 245 seconds)
09:54:34 cheater joins (~Username@user/cheater)
09:54:35 nschoe joins (~quassel@178.251.84.79)
09:59:04 mc47 joins (~mc47@xmonad/TheMC47)
10:04:29 × cheater quits (~Username@user/cheater) (Ping timeout: 245 seconds)
10:09:57 hyiltiz joins (~quassel@31.220.5.250)
10:11:15 cheater joins (~Username@user/cheater)
10:13:05 vinstre joins (~vinstre@user/vinstre)
10:14:38 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
10:18:39 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 245 seconds)
10:20:48 hyiltiz joins (~quassel@31.220.5.250)
10:24:32 oxide joins (~lambda@user/oxide)
10:25:35 × nschoe quits (~quassel@178.251.84.79) (Ping timeout: 265 seconds)
10:27:37 fendor_ is now known as fendor
10:29:41 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 245 seconds)
10:33:19 jakalx parts (~jakalx@base.jakalx.net) ()
10:33:45 nl3dee joins (~nl3dee@ns388898.ip-176-31-255.eu)
10:36:24 jakalx joins (~jakalx@base.jakalx.net)
10:37:40 × benin03693230163 quits (~benin@183.82.176.241) (Ping timeout: 265 seconds)
10:40:47 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
10:42:01 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
10:42:32 olibiera joins (~olibiera@194.117.40.220)
10:42:37 geekosaur joins (~geekosaur@xmonad/geekosaur)
10:43:13 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:43:53 rtjure joins (~rtjure@bras-79-132-17-74.comnet.bg)
10:44:26 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 265 seconds)
10:44:31 <olibiera> raizes a b c = (r1, r2)
10:44:31 <olibiera> where r1 = ((-b) + sqrt(b * b - 4 * a * c)) / (2 * a) r2 = ((-b) - sqrt(b * b - 4 * a * c)) / (2 * a)
10:44:39 <olibiera> raizes 1.0 1.0 1.0
10:44:40 hiruji` joins (~hiruji@72.74.190.75)
10:44:53 <olibiera> how can i use the bot
10:45:02 <maerwald> PM
10:45:10 <_________> > "How to use bot?"
10:45:12 <lambdabot> "How to use bot?"
10:45:14 × hiruji quits (~hiruji@user/hiruji) (Read error: Connection reset by peer)
10:45:17 <olibiera> oh
10:45:24 <maerwald> please don't post random code in the channel, use PM for it
10:45:35 <olibiera> i have a question
10:45:55 hyiltiz joins (~quassel@31.220.5.250)
10:46:05 <olibiera> why doing raizes 1.0 1.0 1.0 it returns (NaN,NaN)?
10:46:53 <olibiera> > raizes a b c = (r1, r2)
10:46:54 <olibiera> where r1 = ((-b) + sqrt(b * b - 4 * a * c)) / (2 * a) r2 = ((-b) - sqrt(b * b - 4 * a * c)) / (2 * a)
10:46:55 <lambdabot> <hint>:1:14: error: parse error on input ‘=’
10:48:26 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
10:48:51 × hiruji` quits (~hiruji@72.74.190.75) (Ping timeout: 245 seconds)
10:48:52 <_________> olibiera: because b²-4ac is less than 0
10:49:24 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:49:29 <olibiera> > got it thx
10:49:31 <lambdabot> error:
10:49:31 <lambdabot> • Variable not in scope: got :: t0 -> t1 -> t
10:49:31 <lambdabot> • Perhaps you meant one of these:
10:55:04 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
10:55:14 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:56:21 × Morrow quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 245 seconds)
11:00:19 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
11:00:39 geranim0 joins (~geranim0@modemcable242.171-178-173.mc.videotron.ca)
11:00:42 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:06:11 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
11:06:25 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:11:39 echoone joins (~echoone@2a02:8109:a1c0:5d05:8012:cb01:f26e:d32c)
11:11:59 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
11:12:00 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
11:12:08 <echoone> In the language of recursion schemes, catamorphisms correspond to Church encodings and paramorphisms correspond to Parigot encodings. There does not seems to a recursion scheme corresponding to Scott encodings though. Why is that?
11:12:25 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:13:49 × olibiera quits (~olibiera@194.117.40.220) (Ping timeout: 256 seconds)
11:14:04 <opqdonut> scott-encodings are non-recursive
11:14:57 <echoone> That's true.
11:15:09 <opqdonut> church encodind represents a recursive datatype with its catamorphism, scott encodig represents a recursive datatype with its destructor
11:15:26 <opqdonut> church/catamorphism is fold, scott is uncons/case-of
11:15:27 × phma quits (~phma@host-67-44-208-17.hnremote.net) (Read error: Connection reset by peer)
11:15:32 <echoone> That's right.
11:16:02 phma joins (~phma@host-67-44-209-44.hnremote.net)
11:16:10 <echoone> Maybe if we had something called "elimantor schemes", it would show up there.
11:16:17 <echoone> *eliminator
11:16:19 <opqdonut> yeah
11:16:40 <opqdonut> haskell has some eliminators like maybe and either but it's not a commonly used pattern
11:17:11 <opqdonut> case-of is usually more ergonomic
11:17:24 <echoone> Yes. I find that also to be the case.
11:17:38 <echoone> Except when I want to write something point-free.
11:17:42 <opqdonut> :)
11:18:27 <echoone> Alright. Thanks for the input.
11:20:05 × Teacup quits (~teacup@user/teacup) (Remote host closed the connection)
11:20:31 Heisen joins (~Heisen@77.240.67.20)
11:20:37 × phma quits (~phma@host-67-44-209-44.hnremote.net) (Read error: Connection reset by peer)
11:21:12 × Heisen quits (~Heisen@77.240.67.20) (Client Quit)
11:21:51 phma joins (~phma@host-67-44-208-230.hnremote.net)
11:21:55 jmfcomo1 joins (~jmfcomo@174.34.39.213.reverse.socket.net)
11:22:03 × phma quits (~phma@host-67-44-208-230.hnremote.net) (Read error: Connection reset by peer)
11:22:37 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
11:22:37 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 265 seconds)
11:23:06 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
11:23:12 phma joins (~phma@host-67-44-209-4.hnremote.net)
11:23:40 jmfcomo1 parts (~jmfcomo@174.34.39.213.reverse.socket.net) ()
11:23:57 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:24:09 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
11:27:34 vysn joins (~vysn@user/vysn)
11:29:04 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
11:29:24 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:30:37 <libertyprime> "catamorphism" reminded me that my cat isnt home yet :'( i hope she's ok
11:33:01 × darkstardevx quits (~darkstard@c-24-21-53-33.hsd1.or.comcast.net) (Ping timeout: 245 seconds)
11:33:39 <echoone> Does anyone know of attempts of doing recursion schemes using containers?
11:33:44 darkstardevx joins (~darkstard@c-24-21-53-33.hsd1.or.comcast.net)
11:34:21 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
11:35:50 <merijn> Not quite sure what you mean by that?
11:40:41 <maerwald> how do you check what code TH produces again?
11:40:56 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
11:41:45 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
11:41:56 <merijn> -ddump-splices
11:41:56 <echoone> By containers, I mean these guys: https://en.wikipedia.org/wiki/Container_(type_theory)
11:42:01 chomwitt joins (~chomwitt@94.66.61.137)
11:42:02 <merijn> Or something along those lines
11:42:18 <merijn> echoone: Ah...probably helps to clarify you're not referring to
11:42:21 <merijn> @hackage containers
11:42:21 <lambdabot> https://hackage.haskell.org/package/containers
11:42:23 <merijn> :p
11:42:35 <echoone> Indeed. Sorry about that.
11:42:46 <merijn> I was very confused for a bit
11:43:02 <merijn> I am, possibly, even more confused looking at that wikipedia page, but hey!
11:43:53 <maerwald> merijn: where do they get dumped?
11:44:48 <merijn> maerwald: In the build dir, so if you're using cabal under dist-newstyle. I think there's a flag to override the output dir in GHC, though
11:54:35 <maerwald> if you put it as GHC_OPTIONS in the module, it's stderr
11:54:41 <maerwald> can't be bothered to look for the files
11:55:49 × mmhat quits (~mmh@55d4f475.access.ecotel.net) (Quit: WeeChat 3.3)
11:57:01 × echoone quits (~echoone@2a02:8109:a1c0:5d05:8012:cb01:f26e:d32c) (Quit: Client closed)
11:57:11 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
11:57:45 Teacup joins (~teacup@user/teacup)
12:00:19 × max22- quits (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Ping timeout: 265 seconds)
12:04:14 × neurocyte0132889 quits (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat)
12:07:57 neurocyte0132889 joins (~neurocyte@92.119.10.104)
12:07:57 × neurocyte0132889 quits (~neurocyte@92.119.10.104) (Changing host)
12:07:57 neurocyte0132889 joins (~neurocyte@user/neurocyte)
12:10:44 hiruji joins (~hiruji@user/hiruji)
12:12:55 × phma quits (~phma@host-67-44-209-4.hnremote.net) (Read error: Connection reset by peer)
12:13:19 phma joins (~phma@host-67-44-209-4.hnremote.net)
12:14:45 × vinstre quits (~vinstre@user/vinstre) (Remote host closed the connection)
12:15:37 lavaman joins (~lavaman@98.38.249.169)
12:17:57 × Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 268 seconds)
12:22:31 argento joins (~argent0@168-227-96-51.ptr.westnet.com.ar)
12:22:49 × argento quits (~argent0@168-227-96-51.ptr.westnet.com.ar) (Client Quit)
12:23:39 argento joins (~argent0@168-227-96-51.ptr.westnet.com.ar)
12:27:14 × argento quits (~argent0@168-227-96-51.ptr.westnet.com.ar) (Client Quit)
12:28:04 × byorgey quits (~byorgey@155.138.238.211) (Quit: leaving)
12:30:12 lbseale joins (~lbseale@user/ep1ctetus)
12:33:18 tfeb joins (~tfb@88.98.95.237)
12:37:08 dextaa joins (~DV@user/dextaa)
12:37:50 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
12:39:57 × chomwitt quits (~chomwitt@94.66.61.137) (Ping timeout: 265 seconds)
12:40:25 Psybur joins (~Psybur@mobile-166-170-32-197.mycingular.net)
12:45:17 × MQ-17J quits (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
12:45:25 MQ-17J joins (~MQ-17J@d192-24-122-179.try.wideopenwest.com)
12:45:26 Morrow joins (~Morrow@147.161.8.127)
12:49:08 × oxide quits (~lambda@user/oxide) (Ping timeout: 265 seconds)
12:49:37 × tfeb quits (~tfb@88.98.95.237) (Quit: died)
12:50:44 × xff0x quits (~xff0x@2001:1a81:5214:3f00:3f98:aae6:4554:8065) (Ping timeout: 265 seconds)
12:50:49 oxide joins (~lambda@user/oxide)
12:53:29 Maxdamantus joins (~Maxdamant@user/maxdamantus)
12:56:05 xff0x joins (~xff0x@2001:1a81:5214:3f00:3f98:aae6:4554:8065)
12:59:06 <kuribas> is there an easy permutations function that I can copy?
12:59:41 <kuribas> oh Data.List.permutations :)
12:59:44 <kuribas> :t permutations
12:59:45 <lambdabot> [a] -> [[a]]
13:00:18 ec joins (~ec@gateway/tor-sasl/ec)
13:02:15 Amras joins (~Amras@user/Amras)
13:02:20 Inoperable joins (~PLAYER_1@fancydata.science)
13:03:23 <maerwald> dminuoso: https://gitlab.haskell.org/haskell/ghcup-hs/-/jobs/811151 nix-cache busted (for whatever reason) and now it's compiling random stuff, probably for hours ;)
13:03:52 <maerwald> it's a plague
13:04:27 fuzzypixelz joins (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
13:04:28 chomwitt joins (~chomwitt@94.66.61.137)
13:07:28 <maerwald> oddly, never happened on ubuntu :p
13:09:44 <jackdk> I am trying to test some amazonka patches against https://github.com/gilt/kms-s3 . I created a cabal.project file, listed my commit sha in source-repository-package stanzas, and despite `cabal build` downloading and building the amazonka libs, they aren't found when it starts compiling files from `kms-s3`. This is despite `amazonka` being listed in`build-depends`
13:10:49 <jackdk> This is the cabal.project I'm using. https://www.irccloud.com/pastebin/9q3l4xUX/cabal.project
13:12:20 <Hecate> maerwald: do you think it's time to revive cabal-cache maybe?
13:12:24 × MQ-17J quits (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Ping timeout: 245 seconds)
13:12:46 <maerwald> this is a problem with darwin sucking so hard that no one knows how to make it work without nix
13:14:57 MQ-17J joins (~MQ-17J@2607:fb90:1d3b:cd26:310d:742c:3337:de71)
13:15:42 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
13:15:56 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 245 seconds)
13:16:09 × Morrow quits (~Morrow@147.161.8.127) (Ping timeout: 245 seconds)
13:18:51 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
13:20:07 × xiongxin quits (~quassel@113.116.33.66) (Ping timeout: 252 seconds)
13:21:41 <maerwald> dminuoso: and now I bumped nixpkgs because the cache is busted and guess what... my entire config is broken
13:21:55 <maerwald> so already an hour wasted
13:22:19 × libertyprime quits (~libertypr@118.149.86.94) (Ping timeout: 252 seconds)
13:24:57 alzgh joins (~alzgh@user/alzgh)
13:25:27 <dminuoso> maerwald: Which nixpkgs do you use exactly?
13:25:48 <maerwald> some random hash?
13:25:52 <dminuoso> https://gitlab.haskell.org/haskell/ghcup-hs/-/blob/master/.gitlab/shell.nix contains a commented out reference to angerman/nixpkgs, is that the one?
13:26:11 <dminuoso> No I meant, is this the official nixpkgs, or some fork of it?
13:26:13 <maerwald> https://gitlab.haskell.org/haskell/ghcup-hs/-/blob/master/.gitlab-ci.yml#L169
13:27:39 <vaibhavsagar[m]> looks like a fork
13:28:01 × Gurkenglas quits (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 245 seconds)
13:28:20 <angerman> It’s a fork with a binary AArch64 ghc. Recent nixpkgs have those as well thanks to domen.
13:28:24 <dminuoso> Yeah no clue, you're using someone elses nixpkgs - so its hard to say why cachix might be missing store paths for this fork..
13:28:29 <dminuoso> Ah
13:29:09 <dminuoso> Well, you're probably better off using the official nixpkgs because then you have the guaranteed hydra > cachix workflow.
13:29:10 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
13:33:19 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
13:34:28 xiongxin joins (~quassel@113.116.33.66)
13:35:27 <dminuoso> maerwald: but presumably the cache was hit before. I just checked on matrix and mailing lists, it seems there's no cache retention
13:35:31 <dminuoso> So this is curious indeed.
13:35:50 max22- joins (~maxime@2a01cb088335980046e4815fde386135.ipv6.abo.wanadoo.fr)
13:37:48 <angerman> maerwald: is building this on the ghc ci infra. The M1s are fairly disk space constrained and GC fairly often. they also reboot once a day to clear out apples x86_64 Rosetta caches.
13:38:46 <dminuoso> Ah yes, I recall that story about rosetta caches..
13:39:16 <dminuoso> angerman: So what you're saying is, you need some big 16TiB disks connected via USB 3.0 to run the store on?
13:39:36 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
13:39:38 <dminuoso> Maybe 16TiB is a bit overkill, evenb
13:39:41 <angerman> Something like that.
13:40:35 <angerman> It’s probably going to be some NAS for caching. But it’s probably going to take a few weeks to have that all sorted.
13:42:27 <maerwald[m]> And now the nix build failed
13:42:28 <maerwald[m]> Gg
13:42:36 <maerwald[m]> Such reproducible
13:44:52 × lbseale quits (~lbseale@user/ep1ctetus) (Ping timeout: 265 seconds)
13:45:22 × chomwitt quits (~chomwitt@94.66.61.137) (Ping timeout: 252 seconds)
13:47:08 shriekingnoise joins (~shrieking@186.137.144.80)
13:49:45 slowButPresent joins (~slowButPr@user/slowbutpresent)
13:50:29 × ishutin quits (~ishutin@79.120.162.138) (Ping timeout: 264 seconds)
13:51:11 × MQ-17J quits (~MQ-17J@2607:fb90:1d3b:cd26:310d:742c:3337:de71) (Read error: Connection reset by peer)
13:51:20 Codaraxis joins (~Codaraxis@user/codaraxis)
13:51:27 MQ-17J joins (~MQ-17J@35.50.77.148)
13:51:59 ishutin joins (~ishutin@178-164-207-71.pool.digikabel.hu)
13:53:46 <Drew[m]> I'm trying to revive a dead library. Is there any reason not to jump directly to cabal file spec 3.0 or above?
13:54:40 <Drew[m]> If a user's tools are up to date, they should all be compatible, right?
13:55:21 <fendor[m]> you can lower if someone complains, but otherwise I start at a high cabal file spec version, too
13:55:27 <fendor[m]> you get such nice features
13:55:46 <Drew[m]> Yeah I really want that sweet set notation
13:56:25 <dminuoso> maerwald[m]: honestly, you're not even using nix to build it..
13:56:43 <dminuoso> So not sure why you feel entitled to deterministic builds if you just build inside a shell.. :p
13:56:55 Lorra joins (~lorenzo@2001:a61:be4:201:ad0b:4d75:e3f6:65ba)
13:57:08 <Drew[m]> Doesn't the latest version of cabal (for now) still support GHC versions since before GHC 8?
13:57:25 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
13:57:25 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
13:57:25 wroathe joins (~wroathe@user/wroathe)
13:57:32 <merijn> Yes
13:57:46 <merijn> Cabal supports everything from something like early 7.x onwards
13:57:50 <merijn> 7.2 or 7.4 I think?
13:58:50 <merijn> Drew[m]: Cabal only drops support for (using) old GHCs when forced
13:59:21 norias joins (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net)
13:59:24 <maerwald[m]> dminuoso: what?
13:59:25 <Drew[m]> Yeah I found the RFC on dropping support for GHC 7
13:59:47 <maerwald[m]> dminuoso: creating the nix shell failed
13:59:49 <merijn> Drew[m]: Note there's 2 forms of support
13:59:59 <maerwald[m]> So yes, it's nix
14:00:00 <merijn> Drew[m]: 1) "can you build Cabal with old GHCs?"
14:00:10 <merijn> Drew[m]: 2) "can you use Cabal to build stuff with old GHCs"
14:00:29 <merijn> Drew[m]: There was recently an accepted proposal to drop GHC 7 support for case 1
14:00:38 <merijn> i.e. you won't be able to compile Cabal using old GHCs
14:00:51 <merijn> There is (currently) no plan to drop support for 7 for case 2
14:00:56 <Drew[m]> Ah, makes sense
14:01:04 <dminuoso> maerwald[m]: in a gitlab ci job there?
14:01:13 <merijn> Since there's no reason why Cabal should be build with the GHC version it uses
14:01:32 doyougnu joins (~user@c-73-25-202-122.hsd1.or.comcast.net)
14:03:08 <maerwald[m]> dminuoso: yes
14:03:26 <dminuoso> maerwald[m]: Which one?
14:04:02 yinghua joins (~yinghua@2800:2121:1400:900:1cc4:2cdf:e341:3f10)
14:04:32 <dminuoso> Are you talking about this one? https://gitlab.haskell.org/haskell/ghcup-hs/-/jobs/811215#L31
14:06:45 × robosexual quits (~spaceoyst@88.85.216.62) (Quit: Konversation terminated!)
14:06:59 <maerwald[m]> No
14:07:26 <maerwald[m]> That's the one where the config is busted after update
14:07:40 Morrow joins (~Morrow@147.161.8.127)
14:09:37 timCF joins (~timCF@200-149-20-81.sta.estpak.ee)
14:09:52 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
14:11:45 Heisen joins (~Heisen@77.240.67.20)
14:13:10 × Heisen quits (~Heisen@77.240.67.20) (Client Quit)
14:13:14 Sgeo joins (~Sgeo@user/sgeo)
14:13:55 × Psybur quits (~Psybur@mobile-166-170-32-197.mycingular.net) (Remote host closed the connection)
14:14:57 Farzad joins (~FarzadBek@151.238.114.149)
14:15:53 <kuribas> who do you run ghci on the test directory?
14:18:55 × agoraphobic_ quits (~agoraphob@ip11-173.bon.riksnet.se) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
14:19:24 × fuzzypixelz quits (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: Client closed)
14:21:13 agoraphobic joins (~agoraphob@ip11-173.bon.riksnet.se)
14:21:34 <dminuoso> kuribas: Think that english is slightly garbled.
14:21:35 Psybur joins (~Psybur@mobile-166-170-32-197.mycingular.net)
14:21:47 <kuribas> s/who/how
14:22:14 × timCF quits (~timCF@200-149-20-81.sta.estpak.ee) (Quit: leaving)
14:22:17 <maerwald> cabal repl --enable-tests?
14:24:22 <Drew[m]> Is it reasonable to write a constraint like this?
14:24:23 <Drew[m]> some-package (>= 0.15 && < 0.18) || ^>= 0.18
14:24:27 <Drew[m]> I want the semantics of ^>= without having to mention every version between the earliest tested version and the latest.
14:24:47 <kuribas> maerwald: thanks that works :) Now only if emacs had a way to run that...
14:24:52 timCF joins (~timCF@254-149-20-81.sta.estpak.ee)
14:26:08 Gurkenglas joins (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
14:26:31 <timCF> Hello! I have a question about `bracket` function. There are multiple versions of it from different packages, for example `base` or `safe-exceptions` or `unliftio`. What's the difference and which one I should use?
14:26:53 chomwitt joins (~chomwitt@2a02:587:dc18:b400:12c3:7bff:fe6d:d374)
14:27:11 × xff0x quits (~xff0x@2001:1a81:5214:3f00:3f98:aae6:4554:8065) (Ping timeout: 245 seconds)
14:28:20 xff0x joins (~xff0x@2001:1a81:5214:3f00:c9b9:6f3c:7da9:14c9)
14:28:33 <merijn> the unliftio and safe-exceptions function try to deal with async exceptions and lifting monad stacks through it. Whether their way of dealing with those is sensible...depends on your point of view and what you want
14:30:24 × abarbu quits (~user@c-66-31-23-28.hsd1.ma.comcast.net) (Read error: No route to host)
14:33:41 <timCF> merijn: so it's basically `base` version, but it just can run in any monad which implements some classes (for example UnliftIO class)?
14:34:22 × acidjnk_new quits (~acidjnk@p200300d0c703cb15c01e6432704cfc21.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
14:34:46 <timCF> maybe you know is there some principle difference between `safe-exceptions` version and `unliftio` version (except different class monad should implement)?
14:35:39 dfg joins (dfg@2600:3c00::f03c:92ff:feb4:be75)
14:35:39 × dfg quits (dfg@2600:3c00::f03c:92ff:feb4:be75) (Changing host)
14:35:39 dfg joins (dfg@user/dfg)
14:35:56 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 245 seconds)
14:35:58 × dysfigured quits (~dfg@li490-89.members.linode.com) (Ping timeout: 252 seconds)
14:36:54 × enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
14:38:28 byorgey joins (~byorgey@155.138.238.211)
14:39:31 <merijn> timCF: safe-exceptions handles async exceptions differently
14:39:40 <merijn> Whether it should is a matter of personal opinion
14:39:42 <merijn> Or rather
14:39:53 <merijn> It *tries* to handle async exceptions differently
14:40:03 <merijn> but that only really works if you use the safe-exceptions library everywhere
14:40:41 dudek joins (~dudek@185.150.236.103)
14:41:57 hyiltiz joins (~quassel@31.220.5.250)
14:43:29 <timCF> Ehh, I'm writing in Haskell more than a year, but async exceptions are still pain in a butt. As far as I understood from the source code `unliftio` catches async exception, doing uninterrupable cleanup and then throwing it again. Not so sure about other 2 bracket versions.
14:47:58 <merijn> async exception are always a pain in the butt
14:48:19 <merijn> We haven't found any way (in any language) to do async exceptions well
14:49:08 <dminuoso> timCF: The mind model of unliftio is that you cannot recover from an async exception using its interface.
14:49:24 <dminuoso> Not that its not possible, but you have to be very explicit should you ever want this.
14:51:45 <dminuoso> The state with `mask` is even more annoying
14:53:27 <dminuoso> Rather than calling it `interruptibleMask` and `mask`, they called them `mask` and `uninterruptibleMask`, such that it's not dead obvious from `mask` that its still interruptible in some situations.
14:53:35 <ldlework> i mean try { await foo(); } catch () { //... } is ok
14:54:09 <dminuoso> ldlework: Its not okay in any language. The moment you allow for this, resource management becomes near impossible to do right.
14:54:22 <dminuoso> Or with the right masking you risk dead locking
14:54:46 <timCF> dminuoso: so to do cleanup **and** recovery I should do something like `catch (bracket x y z) h`?
14:54:57 <dminuoso> timCF: well no. so here's the thing:
14:55:22 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.3)
14:55:29 <merijn> ldlework: THat's not really async exceptions
14:55:39 <merijn> ldlework: async exceptions are more like posix signals
14:55:53 × DNH quits (~DNH@2a02:8108:1100:16d8:a11a:d19d:8c20:4068) (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:55:55 <dminuoso> Except posix signals require cooperation to receive them... :p
14:56:14 <dminuoso> And the ones that dont, you cant recover from anyway
14:56:14 <merijn> ldlework: Your example is just "an exception that happened in a primitive that happens to be called async"
14:57:25 <dminuoso> timCF: bracket before after thing = mask $ \restore -> do a <- before; r <- restore (thing a) `onException` after a; _ <- after a; return r
14:57:50 <dminuoso> timCF: So if you just stare at it, naively you might say "oh this is great. so my resource acquisition and release is in a critical section, I cant get interrupted" right?
14:58:39 × rtjure quits (~rtjure@bras-79-132-17-74.comnet.bg) (Ping timeout: 245 seconds)
14:58:53 <dminuoso> That is, if we assume mask to mask async exceptions.
14:59:02 <timCF> dminuoso: looks ok then, yes
14:59:08 <dminuoso> timCF: Except it's not true!
14:59:20 <dminuoso> You *can* get interrupted by async exceptions in some situations.
15:00:11 <dminuoso> Which makes for a hilarious mind model. Once you're in whats called "an interruptible operation", async exceptions can pierce your mask and interrupt you.
15:00:31 <dminuoso> So whether brackets protects you from async exceptions really depends on what you're doing inside the resource/release stage.
15:00:48 hnOsmium0001 joins (uid453710@id-453710.hampstead.irccloud.com)
15:00:58 <timCF> dminuoso: So `unliftio` version fixes this?
15:01:16 <dminuoso> Well "fixes" fsvo of fixes.
15:01:18 DNH joins (~DNH@2a02:8108:1100:16d8:a11a:d19d:8c20:4068)
15:01:18 × DNH quits (~DNH@2a02:8108:1100:16d8:a11a:d19d:8c20:4068) (Client Quit)
15:01:22 <dminuoso> timCF: Lets have a look at why this is
15:01:48 <dminuoso> The main concern now is: what is an "interruptible" action. Well, most IO for starters.
15:02:04 <dminuoso> Or rather some IO.
15:03:23 <dminuoso> There are places where receiving async exceptions is needed due to the internal implementation. Say `takeMVar`
15:04:06 <dminuoso> So if you had something like `mask $ \restore -> do { a <- takeMVar m; .... }` this could actually dead lock if `mask` fully masked off async exceptions.
15:04:18 <dminuoso> But due to the way things work, a lot of things happen to be "interruptible"
15:05:45 <timCF> dminuoso: So if I'm using `unliftio` version - I should be extremely aware of things I'm using on cleanup function?
15:06:27 <dminuoso> timCF: Heh well so unliftio uses uninterruptibleMask, which properly masks async exceptions.. except now you have to be extremely careful to not deadlock!
15:06:39 <dminuoso> Say if you used unliftio mask/bracket, and used takeMVar, you'd deadlock
15:07:05 <timCF> dminuoso: but with `safe-exceptions` version it's not the case I guess, as well as `base` version?
15:07:35 <dminuoso> timCF: the safe-exceptions version is the same
15:08:46 <dminuoso> or at least in that respect.
15:09:06 <timCF> dminuoso: ok, so unliftio and safe-exceptions are full-masked (just using different monad classes) and base version - is not fully masked
15:09:09 <dminuoso> That is, both unliftio and safe-exceptions use the interruptibleMask inside bracket
15:09:15 <dminuoso> well they're not fully masked
15:09:32 <dminuoso> its rather, that some of their primitives use uninterruptibleMask rather than mask
15:09:36 <dminuoso> See following issues:
15:09:46 <dminuoso> https://github.com/fpco/safe-exceptions/issues/3
15:09:47 <dminuoso> https://gitlab.haskell.org/ghc/ghc/-/issues/18899
15:10:19 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 245 seconds)
15:11:21 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
15:12:14 hyiltiz joins (~quassel@31.220.5.250)
15:13:03 <dminuoso> timCF: A far more pressing difference is that base lets you accidentally recover from async exceptions.
15:13:13 <timCF> dminuoso: thanks! But anyway, if I really know that cleanup function is safe, but I still want to recover, is `catch (bracket a c x) h` way to go? As far as I understood all brackets by design should re-throw exception? It's a bit confusing because not reflected in a types
15:14:57 <dminuoso> timCF: and both safe-exceptions, and in the "newer version of it" in unliftio, both by design dont let you recover from async exceptions implicitly/by accident. All the primitives that allow you to do cleanup (say onException) will still operate on async exceptions, but something like catch will not.
15:16:25 <dminuoso> timCF: And yes, this would work.
15:18:38 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:1dfb:18c4:d7d4:8722) (Quit: WeeChat 2.8)
15:18:52 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
15:22:33 Guest12 joins (~Guest12@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
15:22:54 × nshepperd quits (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (Quit: quit)
15:23:03 nshepperd joins (nshepperd@2600:3c03::f03c:92ff:fe28:92c9)
15:24:11 × superbil quits (~superbil@1-34-176-171.hinet-ip.hinet.net) (Ping timeout: 268 seconds)
15:24:20 <timCF> dminuoso: this a bit remings me Erlang process exit signals, like :kill will allow process to terminate, but :brutal_kill signal will not. Brobably similar way it works in Linux in general
15:25:56 × euandreh quits (~euandreh@2804:14c:33:9fe5:9472:a2eb:3822:1241) (Ping timeout: 245 seconds)
15:26:43 × Morrow quits (~Morrow@147.161.8.127) (Read error: Connection reset by peer)
15:27:01 euandreh joins (~euandreh@2804:14c:33:9fe5:9d95:c71:11e4:3e0f)
15:27:10 benin03693230163 joins (~benin@183.82.176.241)
15:29:22 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:f513:8be8:adee:de02) (Remote host closed the connection)
15:33:28 zebrag joins (~chris@user/zebrag)
15:33:36 × MidAutumnMoon quits (~MidAutumn@user/midautumnmoon) (Quit: Ping timeout (120 seconds))
15:33:51 MidAutumnMoon joins (~MidAutumn@user/midautumnmoon)
15:34:50 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
15:34:53 superbil joins (~superbil@1-34-176-171.hinet-ip.hinet.net)
15:37:04 × jonathanx quits (~jonathan@dyn-8-sc.cdg.chalmers.se) (Ping timeout: 252 seconds)
15:37:25 rtjure joins (~rtjure@bras-79-132-17-74.comnet.bg)
15:37:34 × benin03693230163 quits (~benin@183.82.176.241) (Quit: The Lounge - https://thelounge.chat)
15:39:11 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:f513:8be8:adee:de02)
15:41:13 Null_A joins (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04)
15:43:26 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:f513:8be8:adee:de02) (Ping timeout: 245 seconds)
15:44:54 arjun joins (~Srain@user/arjun)
15:45:26 <arjun> so i've been helping a friend, and that involves me writing clojure
15:45:49 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds)
15:45:54 <arjun> didn't realize how much i missed the type system untill it's gone
15:46:11 × m1dnight quits (~christoph@188.ip-51-91-158.eu) (Quit: WeeChat 3.1)
15:46:46 m1dnight joins (~christoph@188.ip-51-91-158.eu)
15:46:55 <maerwald> clojure will never die out I think
15:47:07 <maerwald> not many people love it
15:47:13 <maerwald> but those who do, do so radically
15:47:19 <maerwald> it's scary
15:47:21 <arjun> so, like emacs
15:49:01 <arjun> you know any scary people maerwald ? : O
15:49:39 <arjun> scary clojure people&
15:49:43 <arjun> people*
15:49:44 <arjun> ffs
15:51:10 × phma quits (~phma@host-67-44-209-4.hnremote.net) (Read error: Connection reset by peer)
15:52:04 phma joins (~phma@host-67-44-208-100.hnremote.net)
15:52:09 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3)
15:52:36 × MQ-17J quits (~MQ-17J@35.50.77.148) (Ping timeout: 245 seconds)
15:52:51 × timCF quits (~timCF@254-149-20-81.sta.estpak.ee) (Quit: leaving)
15:54:08 <kuribas> What's the command to load a test file into ghci using cabal or stack?
15:54:56 <sclv> `:load` or `:add`
15:55:13 <sclv> that's just a straight ghci command, regardless of cabal or stack or whatever invokes it
15:55:31 × rkrishnan quits (~user@2402:e280:215c:2cd:93af:e0ef:60d6:2dc5) (Ping timeout: 245 seconds)
15:56:36 × Guest12 quits (~Guest12@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: Client closed)
15:56:55 × dajoer quits (~david@user/gvx) (Quit: leaving)
15:57:32 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
15:58:09 × chele quits (~chele@user/chele) (Remote host closed the connection)
15:58:38 MQ-17J joins (~MQ-17J@2607:fb90:1d33:9b7e:38a5:8909:8b6:86b7)
15:59:22 <kuribas> sclv: how would that know I want the test modules?
15:59:35 <sclv> well you have to pass it explicitly those modules
15:59:51 <sclv> i'm not sure what exactly you're asking to do
16:00:04 <sclv> load all the modules of the test stanza from a cabal file if you don't have them loaded?
16:00:17 <kuribas> :l tests/ActList.hs worked...
16:00:23 <sclv> great
16:00:50 <kuribas> sadly not from emacs...
16:02:23 Guest62 joins (~Guest62@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
16:02:28 × xiongxin quits (~quassel@113.116.33.66) (Ping timeout: 265 seconds)
16:02:39 xiongxin joins (~quassel@113.116.32.131)
16:02:40 × Guest62 quits (~Guest62@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Client Quit)
16:03:07 fuzzypixelz joins (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
16:03:11 × xiongxin quits (~quassel@113.116.32.131) (Read error: Connection reset by peer)
16:04:09 kupi joins (uid212005@id-212005.hampstead.irccloud.com)
16:04:34 <kupi> hi, is there a way in haskell to generate code like this: https://gist.github.com/theqp/9a450ffdc6dbb3de77a275c8debfb1eb
16:04:37 <kupi> to this: https://gist.github.com/theqp/bf5061b6e9202b70a97133888e770550
16:04:41 <kupi> at compile time?
16:05:21 <kuribas> ugh, why is the documentation for hspec smallcheck so terrible?
16:05:30 <kuribas> Nothing on how to change the depth.
16:05:50 shapr` joins (~user@pool-100-36-247-68.washdc.fios.verizon.net)
16:05:53 <kuribas> Not even a google search shows anything useful.
16:06:55 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
16:07:05 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
16:07:05 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
16:07:05 wroathe joins (~wroathe@user/wroathe)
16:07:21 × dmwit quits (~dmwit@pool-173-73-185-183.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
16:07:24 Vajb joins (~Vajb@n8vwdu04eps78g521-2.v6.elisa-mobile.fi)
16:07:27 × shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 265 seconds)
16:07:43 × hyiltiz quits (~quassel@31.220.5.250) (Remote host closed the connection)
16:07:53 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:f513:8be8:adee:de02)
16:08:37 dmwit joins (~dmwit@pool-173-73-185-183.washdc.fios.verizon.net)
16:08:51 hyiltiz joins (~quassel@31.220.5.250)
16:09:36 <kuribas> "The packages http://hackage.haskell.org/package/tasty-smallcheck and http://hackage.haskell.org/package/hspec-smallcheck provide integration with Tasty and HSpec, two popular testing frameworks."
16:09:43 <kuribas> Not even a little example of how to use it.
16:10:33 × phma quits (~phma@host-67-44-208-100.hnremote.net) (Read error: Connection reset by peer)
16:12:34 phma joins (~phma@host-67-44-208-223.hnremote.net)
16:12:38 benin03693230163 joins (~benin@183.82.176.241)
16:13:22 × wonko quits (~wjc@62.115.229.50) (Ping timeout: 252 seconds)
16:13:25 DNH joins (~DNH@2a02:8108:1100:16d8:a11a:d19d:8c20:4068)
16:15:41 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
16:16:57 × kawpuh quits (~kawpuh@66.42.81.80) (Quit: Ping timeout (120 seconds))
16:17:11 kawpuh joins (~kawpuh@66.42.81.80)
16:18:08 ridcully joins (~ridcully@p57b523cc.dip0.t-ipconnect.de)
16:18:11 × berberman_ quits (~berberman@user/berberman) (Quit: ZNC 1.8.2 - https://znc.in)
16:18:50 × NotIndonesian quits (znc@Indonesians.are.sick.bnc.HUNTERS.thats.bad.mn) (Ping timeout: 246 seconds)
16:18:52 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds)
16:19:02 × phma quits (~phma@host-67-44-208-223.hnremote.net) (Read error: Connection reset by peer)
16:19:43 × Andrew quits (~andrew@user/andrewyu) (Remote host closed the connection)
16:19:53 × nitrix quits (~nitrix@user/nitrix) (Ping timeout: 246 seconds)
16:20:00 phma joins (~phma@host-67-44-209-51.hnremote.net)
16:20:21 × jjhoo quits (~jahakala@user/jjhoo) (Ping timeout: 265 seconds)
16:20:29 × bbear quits (~znc@21212.s.t4vps.eu) (Ping timeout: 250 seconds)
16:20:29 × ridcully_ quits (~ridcully@p57b523cc.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
16:20:48 bbear joins (~znc@21212.s.t4vps.eu)
16:21:07 nitrix joins (~nitrix@user/nitrix)
16:21:18 pierrot_ joins (~pi@user/pierrot)
16:21:20 × ormaaj quits (~ormaaj@user/ormaaj) (Ping timeout: 260 seconds)
16:21:24 AndrewYu joins (~andrew@user/andrewyu)
16:21:28 × pierrot quits (~pi@user/pierrot) (Ping timeout: 265 seconds)
16:21:32 × voldial quits (~user@user/voldial) (Ping timeout: 268 seconds)
16:21:34 × MQ-17J quits (~MQ-17J@2607:fb90:1d33:9b7e:38a5:8909:8b6:86b7) (Read error: Connection reset by peer)
16:21:38 × Franciman quits (~Franciman@mx1.fracta.dev) (Ping timeout: 246 seconds)
16:21:39 NotIndonesian joins (znc@indonesians.are.sick.bnc.hunters.thats.bad.mn)
16:21:55 × hjulle[m] quits (~hjullemat@2001:470:69fc:105::1dd) (Ping timeout: 260 seconds)
16:21:55 × soft quits (~soft-matr@2001:470:69fc:105::c75) (Ping timeout: 260 seconds)
16:21:55 × Christoph[m] quits (~hpotsirhc@2001:470:69fc:105::2ff8) (Ping timeout: 260 seconds)
16:21:55 × oak- quits (~oakuniver@2001:470:69fc:105::fcd) (Ping timeout: 260 seconds)
16:21:56 × wysteriary[m] quits (~wysteriar@2001:470:69fc:105::a42e) (Ping timeout: 260 seconds)
16:21:56 × reza[m] quits (~rezaphone@2001:470:69fc:105::3eda) (Ping timeout: 260 seconds)
16:21:56 × xosdy[m] quits (~xosdyalet@2001:470:69fc:105::31f7) (Ping timeout: 260 seconds)
16:21:56 × sm quits (~sm@plaintextaccounting/sm) (Ping timeout: 260 seconds)
16:21:56 × Tavi[m] quits (~factoidde@2001:470:69fc:105::1:819) (Ping timeout: 260 seconds)
16:21:56 × fcortesi quits (~fcortesi@2001:470:69fc:105::f3a9) (Ping timeout: 260 seconds)
16:21:56 × reddishblue[m] quits (~reddishbl@2001:470:69fc:105::21eb) (Ping timeout: 260 seconds)
16:21:56 × hsek[m] quits (~hsekmatri@2001:470:69fc:105::d18f) (Ping timeout: 260 seconds)
16:21:56 × ixlun quits (~ixlun@2001:470:69fc:105::41b3) (Ping timeout: 260 seconds)
16:21:56 × zfnmxt quits (~zfnmxtzfn@2001:470:69fc:105::2b32) (Ping timeout: 260 seconds)
16:21:56 × peddie quits (~peddie@2001:470:69fc:105::25d) (Ping timeout: 260 seconds)
16:21:56 × ServerStatsDisco quits (~serversta@2001:470:69fc:105::1a) (Ping timeout: 260 seconds)
16:21:56 × Tisoxin quits (~ikosit@user/ikosit) (Ping timeout: 260 seconds)
16:21:56 MQ-17J joins (~MQ-17J@d192-24-122-179.try.wideopenwest.com)
16:22:09 × [exa] quits (exa@user/exa/x-3587197) (Ping timeout: 268 seconds)
16:22:17 × benin03693230163 quits (~benin@183.82.176.241) (Ping timeout: 265 seconds)
16:22:26 × typedfern_ quits (~Typedfern@171.red-83-51-60.dynamicip.rima-tde.net) (Ping timeout: 265 seconds)
16:22:30 × kevin[m]1 quits (~pnotequal@2001:470:69fc:105::a54) (Ping timeout: 260 seconds)
16:22:33 berberman joins (~berberman@user/berberman)
16:24:04 × Cajun quits (~Cajun@user/cajun) (Quit: Client closed)
16:24:38 [exa] joins (exa@srv3.blesmrt.net)
16:28:24 absence_ is now known as absence
16:29:41 × MQ-17J quits (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Ping timeout: 265 seconds)
16:31:44 <absence> anyone know how i can make this TH code compile? https://pastebin.com/zEjN3TiL
16:32:12 jjhoo joins (~jahakala@user/jjhoo)
16:32:26 × azeem quits (~azeem@emp-183-4.eduroam.uu.se) (Ping timeout: 265 seconds)
16:33:32 ormaaj joins (~ormaaj@user/ormaaj)
16:34:20 xosdy[m] joins (~xosdyalet@2001:470:69fc:105::31f7)
16:34:28 ub joins (~Thunderbi@77.119.205.6.wireless.dyn.drei.com)
16:34:47 MQ-17J joins (~MQ-17J@d192-24-122-179.try.wideopenwest.com)
16:34:49 shapr` is now known as shapr
16:34:52 typedfern_ joins (~Typedfern@171.red-83-51-60.dynamicip.rima-tde.net)
16:35:09 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
16:35:09 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
16:35:09 wroathe joins (~wroathe@user/wroathe)
16:35:16 Tisoxin joins (~ikosit@user/ikosit)
16:35:46 <dsal> Does anyone here use persistent and can help convince me it's a good idea?
16:35:52 Franciman joins (~Franciman@mx1.fracta.dev)
16:35:58 zfnmxt joins (~zfnmxtzfn@2001:470:69fc:105::2b32)
16:36:15 reza[m] joins (~rezaphone@2001:470:69fc:105::3eda)
16:37:13 voldial joins (~user@195.179.201.175)
16:39:19 reddishblue[m] joins (~reddishbl@2001:470:69fc:105::21eb)
16:39:50 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 265 seconds)
16:39:51 azeem joins (~azeem@2a00:801:42b:dd4e:d5b8:f7b1:5263:aa76)
16:40:00 <byorgey> absence: does it help if you add A(..) to the import list on line 12?
16:40:11 hjulle[m] joins (~hjullemat@2001:470:69fc:105::1dd)
16:40:28 slack1256 joins (~slack1256@45.4.2.52)
16:41:27 <absence> byorgey: unfortunately not
16:41:35 ServerStatsDisco joins (~serversta@2001:470:69fc:105::1a)
16:42:05 <byorgey> absence: hmm, I don't know then
16:42:57 sm joins (~sm@plaintextaccounting/sm)
16:43:17 peddie joins (~peddie@2001:470:69fc:105::25d)
16:43:17 <monochrom> I wonder if it is one of those TH's "declaration groups" business.
16:43:25 <absence> i can work around it by pattern matching on the A instead of using the accessor, but it seems weird that it shouldn't work
16:43:49 ixlun joins (~ixlun@2001:470:69fc:105::41b3)
16:43:52 wysteriary[m] joins (~wysteriar@2001:470:69fc:105::a42e)
16:43:58 soft joins (~soft-matr@2001:470:69fc:105::c75)
16:44:14 oak- joins (~oakuniver@2001:470:69fc:105::fcd)
16:44:18 <int-e> meh, missing extensions, missing imports
16:44:36 Christoph[m] joins (~hpotsirhc@2001:470:69fc:105::2ff8)
16:44:38 fcortesi joins (~fcortesi@2001:470:69fc:105::f3a9)
16:45:13 <monochrom> And yeah it's a bit difficult to reproduce the error given non-self-contained example. :)
16:45:15 hsek[m] joins (~hsekmatri@2001:470:69fc:105::d18f)
16:45:56 wonko joins (~wjc@2a01:e0a:4fa:a50:5bdf:2e17:5922:f711)
16:46:36 <absence> sorry about that, i copied it out from a bigger project
16:46:38 <int-e> absence: it compiles with 8.10 and 9.0?
16:48:20 <absence> int-e: oh really? i'm on 8.10.7.. perhaps there's some unfortunate interaction with any of the other stuff in the project i copied the code from
16:48:45 <int-e> *checks* 8.10 is 8.10.7
16:49:38 Tavi[m] joins (~factoidde@2001:470:69fc:105::1:819)
16:50:37 × Codaraxis quits (~Codaraxis@user/codaraxis) (Remote host closed the connection)
16:50:38 <absence> int-e: thanks for the info, it's good to know it should've worked. must be something weird about the project, i'll fiddle around with it
16:50:38 × Vajb quits (~Vajb@n8vwdu04eps78g521-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer)
16:50:53 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
16:50:53 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
16:50:53 wroathe joins (~wroathe@user/wroathe)
16:51:11 <int-e> absence: I shouldn't be upset but I am a little... I mean, your paste lies.
16:51:31 <monochrom> On bad days I would be upset too.
16:51:42 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
16:52:06 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
16:52:13 <monochrom> Whenever you see me harping again "see, programmers are unscientific", that's when I'm upset about this. :)
16:52:23 kevin[m]1 joins (~pnotequal@2001:470:69fc:105::a54)
17:01:12 <danso> i find gabriel gonzalez's post "scrap your typeclasses" really informative and compelling: https://www.haskellforall.com/2012/05/scrap-your-type-classes.html
17:01:23 <danso> has there been much follow-up discussion to this, beyond the comments there?
17:01:47 <danso> specifically, i'm wondering how haskell could support polymorphic operators without typeclasses
17:02:46 <monochrom> I think "Edit: My opinion on type classes has mellowed since I wrote this post" sums it up.
17:03:26 <danso> i saw that line, but there's no information there
17:03:57 <monochrom> In practice, only beginners, and only the subset of beginners coming from OOP, go overboard with classes, and would need to know this alternative.
17:04:59 <monochrom> Ah, I guess I have a life-long experience to help me understand the weight of that one single sentence.
17:05:07 emf joins (~emf@2620:10d:c090:400::5:fdfa)
17:05:39 <dminuoso> Honestly typeclasses are weird in that it's not quite obvious how or when they are useful.
17:05:56 <dminuoso> And it's really difficult to give precise advise to newcomers when to use them or when not.
17:06:07 <monochrom> When I was young and arrogant and thought I knew it all, I wrote similar articles too. Articles that say "this thing that everyone does is overrated. here is the simpler better alternative I use."
17:06:56 <dminuoso> So now you are old, grumpy, still think you know better than your students, but instead you hold lectures now?
17:06:57 <int-e> danso: if your code relies in instantiation a lot (as printf type of things do) it'll be a minor nightmare to use
17:07:04 <int-e> danso: you'll be like _printf (make'PrintF'Double (make'PrintF'Float (make'PrintF'String (make'PrintF'Base)))) "%s %f %f" "abc" 1.0 42.0
17:07:14 <int-e> Which is kind of what GHC does under the hood when finding the PrintFArg (or whatever that class is called) instance to use for printf "%s %f %f" "abc" 1.0 42.0 :: IO ()
17:07:24 <dminuoso> monochrom: Seems like not much has changed. :p
17:07:29 <monochrom> Haha
17:07:51 <monochrom> I don't think I know better than my students.
17:07:59 × fuzzypixelz quits (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 256 seconds)
17:08:11 <monochrom> I have observed cases when I outwit my students, and cases when they outwit me.
17:08:11 <int-e> . o O ( Back in my days we respected our elders. )
17:08:16 <dminuoso> I know, but I had to sound snarky for the humor.
17:08:32 <monochrom> Statistically the former is more frequent but I no longer assume. I listen.
17:08:42 <monochrom> Yeah heehee
17:10:18 <monochrom> Here is an example of young arrogant dismissive me: https://www.vex.net/~trebla/stuff/TeX.html
17:11:15 <int-e> dvips, have not seen that in a long long time
17:12:24 <[exa]> dvips the mark of elders
17:13:21 <dminuoso> Backslash is a elegant weapon for a more civilized age.
17:13:36 <int-e> there were dedicated dvi viewers too :)
17:14:19 <Franciman> monochrom: how do you deal with the cases when you get outwitted?
17:14:51 <monochrom> At any rate, Gonzalez's article can be understood from the technical POV as rediscovering that classes can be implemented by dictionary passing. Dictionary passing is well-known, so no further discussion.
17:15:09 <int-e> . o O ( and direct dvi to dot matrix printing )
17:15:38 <monochrom> "hahaha beautiful/cool/awesome"
17:15:46 × mbuf quits (~Shakthi@136.185.79.30) (Quit: Leaving)
17:15:47 <[exa]> dotmatrix printer the music of the elders
17:16:02 <geekosaur> and indirecting through gs for the cases there wasn't a direct dvi to dot matrix for
17:16:25 lavaman joins (~lavaman@98.38.249.169)
17:16:46 <int-e> well, gs survived and is still part of modern printing pipelines
17:16:55 <Skyfire> int-e: Does GHC has hardcoded magic to handle “printf”, just like OCaml?
17:17:05 <int-e> Skyfire: no
17:17:57 <geekosaur> and there's several printf implementations, from the arcane to the truly complex
17:17:57 <int-e> Skyfire: there's a type-classed based implementation in Text.Printf which is driven by the types of the printed values; it checks the format string at runtime.
17:17:59 <[exa]> Skyfire: you can utilize typeclasses to make a function that swallows a variable number of arguments, which is basically the haskell `printf`.
17:18:19 <Skyfire> Oh, the format string is checked at runtime. I see.
17:18:23 <int-e> There's probably a couple of TemplateHaskell based ones that check types statically.
17:18:27 <Skyfire> Thanks, int-e and [exa].
17:20:00 <[exa]> honestly this is one of the few usecases where TH makes sense for me, there's even a nice package called roughly "string interpolation" that does this stuff.. (The other major usecase is the codegen for lenses)
17:20:42 <[exa]> uh seems like it's just `interpolate`. Skyfire that might be a nice alternative to printf.
17:20:50 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
17:21:48 <int-e> [exa]: Oh I wasn't judging. I just never investigated the situation because usually either Text.Printf is good enough or I want fully fledged pretty-printing anyway.
17:22:55 <[exa]> int-e: ah I didn't want to imply you were judging :] sorry if it looked so
17:24:11 <mortemeur> is it normal for haskell-language-server to cause issues?
17:24:38 <geekosaur> yes, it's still a bit unstable at times
17:24:48 <geekosaur> still under heavy development
17:25:09 <geekosaur> sometimes you just have to kill and restart it because it becomes very confused
17:25:15 <[exa]> int-e: (probably mixed too much of my dislike of TH and like of the interpolate package together :D )
17:25:20 <dminuoso> [exa]: TH is in my opinion underused.
17:25:38 <int-e> [exa]: yeah we should stop apologizing to each other then :)
17:25:44 <dminuoso> There's too much Generic code that should either have received a regular code generator or TH instead. Or if TH helpers do exist like in aeson, they're weirdly never used.
17:25:46 <mortemeur> geekosaur: thank you. do you use it? are you used to restarting it?
17:25:46 <[exa]> :]
17:26:54 <geekosaur> I don't use it because I don't have alot of Haskell code and it's all simple enough that I don't need it, plus I come from a time before IDEs (see /nick :) I have seen people here who are fighting with a confused HLS and end up needing to kill and restart it
17:26:56 <[exa]> dminuoso: likely true, actually I might be biased by the sight of historical misuses
17:27:37 <geekosaur> my biggest code base is xmonad-contrib and I know it well enough that I don't really need an IDE at this point
17:28:00 <geekosaur> it's large but mostly simple
17:28:19 <int-e> I wish TH could separate compile time and runtime dependencies, but it's a hard problem.
17:30:09 <[exa]> that's more of a cabal job right?
17:30:27 <[exa]> ah no, you actually need a special include for that
17:30:32 <dminuoso> int-e: Yeah, Ive stumbled over linker bugs that could not clearly be attributed to GHC or Cabal, things that would simply panic GHC, and its simply because of the way TH works..
17:30:40 <int-e> [exa]: A bit of both
17:32:24 × arjun quits (~Srain@user/arjun) (Ping timeout: 245 seconds)
17:34:56 × MQ-17J quits (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
17:35:24 <int-e> [exa]: what I meant is that you easily end up with heavy dependencies (say you want to support some custom splices, so you need to do your own parsing of Haskell code (using a quasi-quoter) and that means depending on haskell-src-exts or ghc-as-a-library...) and while that stuff is only needed at compile time, these dependencies will be linked with the final program
17:35:30 MQ-17J joins (~MQ-17J@d192-24-122-179.try.wideopenwest.com)
17:36:30 <dminuoso> int-e: I think this could be avoided if GHC had an additional TH mode, one that would splice into the AST, modify the source files, and then be done.
17:36:38 <int-e> So we'd need a variant of `import` just for compile time, for TH.
17:36:50 <dminuoso> Which is something I'd really want for a couple reasons.
17:36:52 <geekosaur> sadly zeroth turned out to be unmaintainable
17:37:03 × emf quits (~emf@2620:10d:c090:400::5:fdfa) (Read error: Connection reset by peer)
17:37:05 <int-e> dminuoso: that's not addressing the root cause
17:37:12 <geekosaur> (TH as a preprocessor)
17:37:21 emf joins (~emf@2620:10d:c090:400::5:fdfa)
17:37:27 <c_wraith> int-e: there's already a proposal for that in the works
17:37:39 <c_wraith> wait, you're the one implementing it, aren't you?
17:37:40 <int-e> c_wraith: yeah I think I saw at least one of those
17:38:03 <sclv> is there a proposal for exposing ghc being able to directly parse to and emit th ast?
17:38:05 <int-e> and it'll be exciting if it ever manifests :P
17:38:07 <c_wraith> Or am I misremembering the discussion badly? :)
17:38:14 <sclv> that's what I'd _really_ like
17:38:24 <int-e> c_wraith: I'm not. Maybe int-index?
17:38:31 <c_wraith> ah, yes. that's it.
17:39:29 <c_wraith> sclv: Well, there's a project in the works to unify the template-haskell AST with the AST ghc uses internally
17:39:46 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:f513:8be8:adee:de02) (Remote host closed the connection)
17:40:03 <c_wraith> sclv: though IIUC that is sort of on pause due to performance issues with the approach they were trying
17:40:05 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 260 seconds)
17:40:16 <int-e> oh https://hackage.haskell.org/package/derive looks pretty dead :/
17:40:19 × Skyfire quits (~pyon@user/pyon) (Quit: WeeChat 3.3)
17:40:49 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:41:13 <int-e> pointing to generics as an alternative, which kind of brings this discussion around a full circle
17:45:46 ec joins (~ec@gateway/tor-sasl/ec)
17:46:52 Skyfire joins (~pyon@user/pyon)
17:47:52 × bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 268 seconds)
17:50:53 × max22- quits (~maxime@2a01cb088335980046e4815fde386135.ipv6.abo.wanadoo.fr) (Ping timeout: 246 seconds)
17:51:26 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:f513:8be8:adee:de02)
17:51:51 × Flonk quits (~Flonk@ec2-52-40-29-25.us-west-2.compute.amazonaws.com) (Quit: Ping timeout (120 seconds))
17:52:16 Flonk joins (~Flonk@ec2-52-40-29-25.us-west-2.compute.amazonaws.com)
17:53:53 timCF joins (~timCF@m91-129-108-244.cust.tele2.ee)
17:54:01 × DNH quits (~DNH@2a02:8108:1100:16d8:a11a:d19d:8c20:4068) (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:57:36 × Gurkenglas quits (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 245 seconds)
17:58:46 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
17:59:11 jpds joins (~jpds@gateway/tor-sasl/jpds)
18:09:25 × oxide quits (~lambda@user/oxide) (Ping timeout: 252 seconds)
18:10:20 oxide joins (~lambda@user/oxide)
18:10:27 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Read error: Connection reset by peer)
18:10:45 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
18:10:45 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
18:14:54 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
18:14:55 × MQ-17J quits (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
18:15:29 MQ-17J joins (~MQ-17J@8.6.144.117)
18:16:09 ec joins (~ec@gateway/tor-sasl/ec)
18:19:40 × alzgh quits (~alzgh@user/alzgh) (Remote host closed the connection)
18:20:00 alzgh joins (~alzgh@user/alzgh)
18:22:36 × Alex_test quits (~al_test@94.233.240.2) (Ping timeout: 245 seconds)
18:23:35 × _xor quits (~xor@72.49.199.147) (Read error: Connection reset by peer)
18:23:55 _xor joins (~xor@72.49.199.147)
18:25:13 max22- joins (~maxime@2a01cb088335980045db91cc5b38a3ac.ipv6.abo.wanadoo.fr)
18:26:59 × AlexZenon quits (~alzenon@94.233.240.2) (Ping timeout: 245 seconds)
18:27:52 econo joins (uid147250@user/econo)
18:28:18 pavonia joins (~user@user/siracusa)
18:28:51 Alex_test joins (~al_test@94.233.240.2)
18:29:47 AlexZenon joins (~alzenon@94.233.240.2)
18:30:41 <zwro[m]> is there a class for "unliftable" types? eg: class Unliftable w where unlift :: w a -> a
18:31:09 <dminuoso> What would "unlift" even mean?
18:31:14 <dminuoso> What does that do?
18:31:21 <int-e> "extract" ala comonads?
18:31:33 <dminuoso> There is Copointed I guess then.
18:31:40 <dminuoso> https://hackage.haskell.org/package/pointed-5.0.2/docs/Data-Copointed.html#t:Copointed
18:32:56 <zwro[m]> nice, thanks!
18:35:49 × Null_A quits (~null_a@2601:645:8700:2290:7419:a622:3a5a:ee04) (Ping timeout: 252 seconds)
18:37:50 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 260 seconds)
18:38:35 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 265 seconds)
18:40:52 × yinghua quits (~yinghua@2800:2121:1400:900:1cc4:2cdf:e341:3f10) (Read error: Connection reset by peer)
18:41:10 yinghua joins (~yinghua@2800:2121:1400:900:c0b8:d50d:9ecd:24ca)
18:44:24 wroathe joins (~wroathe@50-205-197-50-static.hfc.comcastbusiness.net)
18:44:24 × wroathe quits (~wroathe@50-205-197-50-static.hfc.comcastbusiness.net) (Changing host)
18:44:24 wroathe joins (~wroathe@user/wroathe)
18:45:56 × _xor quits (~xor@72.49.199.147) (Read error: Connection reset by peer)
18:46:22 _xor joins (~xor@72.49.199.147)
18:54:18 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
18:55:55 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
18:58:06 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Client Quit)
18:59:46 ec joins (~ec@gateway/tor-sasl/ec)
19:13:22 hyiltiz joins (~quassel@31.220.5.250)
19:13:30 × hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1)
19:13:47 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
19:14:01 hendursaga joins (~weechat@user/hendursaga)
19:14:41 × norias quits (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 245 seconds)
19:16:08 geekosaur joins (~geekosaur@xmonad/geekosaur)
19:17:49 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 245 seconds)
19:24:50 DNH joins (~DNH@2a02:8108:1100:16d8:a11a:d19d:8c20:4068)
19:26:15 × neurocyte0132889 quits (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat)
19:26:32 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
19:27:21 hyiltiz joins (~quassel@31.220.5.250)
19:37:24 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 245 seconds)
19:39:38 × wonko quits (~wjc@2a01:e0a:4fa:a50:5bdf:2e17:5922:f711) (Ping timeout: 265 seconds)
19:40:27 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
19:41:22 Gurkenglas joins (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
19:44:00 Tuplanolla joins (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
19:44:24 ec joins (~ec@gateway/tor-sasl/ec)
19:54:48 hatds joins (~hatds@c-107-4-136-72.hsd1.mn.comcast.net)
19:56:56 × hatds quits (~hatds@c-107-4-136-72.hsd1.mn.comcast.net) (Client Quit)
20:04:53 vicfred joins (~vicfred@user/vicfred)
20:04:55 × xff0x quits (~xff0x@2001:1a81:5214:3f00:c9b9:6f3c:7da9:14c9) (Ping timeout: 252 seconds)
20:05:06 × juhp quits (~juhp@128.106.188.220) (Ping timeout: 245 seconds)
20:05:49 xff0x joins (~xff0x@2001:1a81:5214:3f00:d123:8201:4d44:2918)
20:05:51 hatds joins (~hatds@c-107-4-136-72.hsd1.mn.comcast.net)
20:08:05 juhp joins (~juhp@128.106.188.220)
20:08:40 × hatds quits (~hatds@c-107-4-136-72.hsd1.mn.comcast.net) (Client Quit)
20:09:39 bdaed joins (~bdaed@185.234.208.208.r.toneticgroup.pl)
20:11:24 tfeb joins (~tfb@88.98.95.237)
20:11:57 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
20:15:05 × tfeb quits (~tfb@88.98.95.237) (Client Quit)
20:18:12 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.3)
20:18:52 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
20:20:46 jtomas_ joins (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
20:22:32 <Athas> Is there a good way to write megaparsec-based parsers that parse text where every line has a certain prefix?
20:22:47 × kupi quits (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
20:22:49 × jtomas quits (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 245 seconds)
20:22:56 <Athas> For example, consider parsing markup inside blocks of Haskell line comments.
20:23:36 <Athas> (Assuming for simplicity that the line comments all start in the first column.)
20:26:10 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
20:26:36 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
20:26:50 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
20:26:58 <jackdk> can someone please help me fetch an updated version of a package using cabal.project? I checked out https://github.com/gilt/kms-s3 , added https://www.irccloud.com/pastebin/9q3l4xUX/cabal.project and ran `cabal build`. After fetching the repository and building the packages in cabal.project, it claims to be unable to find modules provided by those packages (which are definitely listed in build-depends)
20:27:45 <dsal> Athas: thats just `parsePrefix *> parsething`
20:28:07 <Athas> dsal: I want the main part of the parser to be ignorant of the fact that a prefix might exist.
20:28:33 <Athas> E.g. I want to write an expression parser that just skips "whitespace" or whatever, which also transparently would skip the prefix, if any.
20:28:51 <Athas> Also, I want the parser to be configurable in whether there is a prefix or not.
20:29:07 <dsal> I'm sure you could make that part of your whitespace consumer. It seems slightly weird.
20:29:32 <dsal> Any horizontal spaces or a newline and an optional prefix and any horizontal whitespace.
20:29:46 <Athas> What I have done now is parameterise my parser on what it considers whitespace, but this is verbose and clumsy.
20:30:06 <sclv> c_wraith: even without that approach, just being able to get the th ast directly would bypass the need for haskell-src-meta, which would obviate the biggest source of why people have huge TH-time deps not linked in
20:30:13 <dsal> Sure, but that's exactly what you're asking for. "whitespace" just means "the part you shouldn't pay attention to"
20:30:13 × chomwitt quits (~chomwitt@2a02:587:dc18:b400:12c3:7bff:fe6d:d374) (Ping timeout: 252 seconds)
20:30:20 <sclv> and furthermore, it would make the whole quoting ecosystem much more robust
20:30:43 × slack1256 quits (~slack1256@45.4.2.52) (Ping timeout: 265 seconds)
20:30:59 ec joins (~ec@gateway/tor-sasl/ec)
20:32:07 lavaman joins (~lavaman@98.38.249.169)
20:32:53 <Athas> Maybe the easiest solution is to write a separate parser that reads the entire block, strips the prefixes, passes the result to megaparsec, and then messes with any parse errors that occur to add back the prefix.
20:32:57 <c_wraith> I mean, that's what I was getting at. When those are unified, the GHC parser could in theory be used directly in TH code, which would be nicer than having separate packages that need to be kept in sync with ghc and TH
20:33:13 <Athas> Looks like megaparsec has a pstateLinePrefix in PosState to help with this.
20:33:34 acidjnk_new joins (~acidjnk@p200300d0c703cb15c01e6432704cfc21.dip0.t-ipconnect.de)
20:34:16 <sclv> right, i don't disagree. i'm just suggesting that well short of unification we could still have a win :-)
20:34:47 <sclv> although maybe without unification the code bloat to ghc would be too high (if it implmemented the translation internally while keeping two asts)
20:36:34 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
20:36:34 libertyprime joins (~libertypr@118.149.85.55)
20:38:29 <jackdk> (This is on cabal 3.4)
20:40:58 × NotIndonesian quits (znc@indonesians.are.sick.bnc.hunters.thats.bad.mn) (Remote host closed the connection)
20:40:59 × _xor quits (~xor@72.49.199.147) (Read error: Connection reset by peer)
20:41:07 NotIndonesian joins (znc@Indonesians.are.sick.bnc.HUNTERS.thats.bad.mn)
20:41:30 × oxide quits (~lambda@user/oxide) (Ping timeout: 260 seconds)
20:41:46 × mei quits (~mei@user/mei) (Ping timeout: 252 seconds)
20:42:15 <sclv> jackdk: do you see the whole "cloning into" thing where it fetches and builds the clones?
20:43:01 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
20:43:17 do is now known as w1gz
20:43:36 <jackdk> sclv: I do, and then I realise like a dummy that the old code I'm trying to save was trying to import modules that have moved into `other-modules:`. PEBCAK
20:43:47 <jackdk> ty, though
20:46:40 _xor joins (~xor@72.49.199.147)
20:46:40 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
20:47:36 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 245 seconds)
20:54:29 Codaraxis joins (~Codaraxis@user/codaraxis)
20:55:12 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
20:55:44 Neuromancer joins (~Neuromanc@user/neuromancer)
20:57:58 ec joins (~ec@gateway/tor-sasl/ec)
20:58:46 sprout_ joins (~quassel@2a02:a467:ccd6:1:9093:865d:793c:93e8)
21:01:19 × ubert quits (~Thunderbi@77.119.205.6.wireless.dyn.drei.com) (Ping timeout: 265 seconds)
21:01:19 ub is now known as ubert
21:02:17 × sprout quits (~quassel@2a02:a467:ccd6:1:aca2:ad7b:536b:eb53) (Ping timeout: 265 seconds)
21:03:05 × MQ-17J quits (~MQ-17J@8.6.144.117) (Ping timeout: 260 seconds)
21:03:19 MQ-17J joins (~MQ-17J@d192-24-122-179.try.wideopenwest.com)
21:06:19 × dudek quits (~dudek@185.150.236.103) (Read error: Connection reset by peer)
21:06:43 dudek joins (~dudek@185.150.236.103)
21:08:24 × cigsender quits (~cigsender@74.124.58.162) (Quit: leaving)
21:08:34 cigsender joins (~cigsender@74.124.58.162)
21:13:17 × keltono quits (~kelton@x-160-94-179-178.acm.umn.edu) (Quit: WeeChat 3.1)
21:13:37 hyiltiz joins (~quassel@31.220.5.250)
21:17:42 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
21:17:42 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
21:17:42 wroathe joins (~wroathe@user/wroathe)
21:20:31 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds)
21:23:07 × Adeon quits (sid418992@id-418992.lymington.irccloud.com) (Ping timeout: 240 seconds)
21:23:07 × dsal quits (sid13060@id-13060.lymington.irccloud.com) (Ping timeout: 252 seconds)
21:23:07 × scav quits (sid309693@id-309693.helmsley.irccloud.com) (Ping timeout: 252 seconds)
21:23:07 × christiaanb quits (sid84827@id-84827.lymington.irccloud.com) (Ping timeout: 252 seconds)
21:23:18 × T_S_ quits (sid501726@id-501726.uxbridge.irccloud.com) (Ping timeout: 268 seconds)
21:23:20 × lightandlight quits (sid135476@id-135476.helmsley.irccloud.com) (Ping timeout: 246 seconds)
21:23:22 × b20n quits (sid115913@id-115913.uxbridge.irccloud.com) (Ping timeout: 260 seconds)
21:23:22 × tritlo quits (sid58727@user/tritlo) (Ping timeout: 260 seconds)
21:23:22 × jackdk quits (sid373013@cssa/jackdk) (Ping timeout: 260 seconds)
21:23:27 × evertedsphere quits (sid434122@id-434122.hampstead.irccloud.com) (Ping timeout: 240 seconds)
21:23:27 × edmundnoble quits (sid229620@id-229620.helmsley.irccloud.com) (Ping timeout: 240 seconds)
21:23:29 × aria quits (sid380617@id-380617.lymington.irccloud.com) (Ping timeout: 264 seconds)
21:23:30 × bbhoss quits (sid18216@id-18216.tinside.irccloud.com) (Ping timeout: 260 seconds)
21:23:34 × hnOsmium0001 quits (uid453710@id-453710.hampstead.irccloud.com) (Ping timeout: 252 seconds)
21:23:36 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
21:23:42 × cln quits (sid336875@id-336875.ilkley.irccloud.com) (Ping timeout: 268 seconds)
21:23:42 × NemesisD quits (sid24071@id-24071.lymington.irccloud.com) (Ping timeout: 268 seconds)
21:23:42 × caasih quits (sid13241@id-13241.ilkley.irccloud.com) (Ping timeout: 268 seconds)
21:23:42 × awpr quits (uid446117@id-446117.lymington.irccloud.com) (Ping timeout: 268 seconds)
21:23:42 × rubin55 quits (sid175221@id-175221.hampstead.irccloud.com) (Ping timeout: 268 seconds)
21:23:42 × SrPx quits (sid108780@id-108780.uxbridge.irccloud.com) (Ping timeout: 250 seconds)
21:23:42 × dmj` quits (sid72307@id-72307.hampstead.irccloud.com) (Ping timeout: 250 seconds)
21:23:42 × hongminhee quits (sid295@id-295.tinside.irccloud.com) (Ping timeout: 250 seconds)
21:23:42 × bw quits (sid2730@user/betawaffle) (Ping timeout: 250 seconds)
21:23:47 × grfn quits (sid449115@id-449115.helmsley.irccloud.com) (Ping timeout: 240 seconds)
21:23:49 × idnar quits (sid12240@debian/mithrandi) (Ping timeout: 250 seconds)
21:23:49 × gregberns__ quits (sid315709@id-315709.helmsley.irccloud.com) (Ping timeout: 250 seconds)
21:23:50 × carter quits (sid14827@id-14827.helmsley.irccloud.com) (Ping timeout: 260 seconds)
21:23:50 × cbarrett quits (sid192934@id-192934.helmsley.irccloud.com) (Ping timeout: 260 seconds)
21:23:50 × Firedancer quits (sid336191@id-336191.hampstead.irccloud.com) (Ping timeout: 260 seconds)
21:23:50 × kaychaks__ quits (sid236345@id-236345.helmsley.irccloud.com) (Ping timeout: 260 seconds)
21:23:50 × gaze___ quits (sid387101@id-387101.helmsley.irccloud.com) (Ping timeout: 260 seconds)
21:23:50 × enemeth79 quits (sid309041@id-309041.lymington.irccloud.com) (Ping timeout: 260 seconds)
21:23:50 × jakesyl quits (sid56879@id-56879.hampstead.irccloud.com) (Ping timeout: 260 seconds)
21:23:50 × taktoa[c] quits (sid282096@id-282096.tinside.irccloud.com) (Ping timeout: 260 seconds)
21:23:55 × systemfault quits (sid267009@id-267009.uxbridge.irccloud.com) (Ping timeout: 268 seconds)
21:23:55 × bradparker quits (sid262931@id-262931.uxbridge.irccloud.com) (Ping timeout: 268 seconds)
21:24:02 × Pent quits (sid313808@id-313808.lymington.irccloud.com) (Ping timeout: 246 seconds)
21:24:02 × glowcoil quits (sid3405@id-3405.tinside.irccloud.com) (Ping timeout: 246 seconds)
21:24:02 × degraafk quits (sid71464@id-71464.lymington.irccloud.com) (Ping timeout: 246 seconds)
21:24:02 × truckasaurus quits (sid457088@id-457088.helmsley.irccloud.com) (Ping timeout: 246 seconds)
21:24:05 × bjs quits (sid190364@user/bjs) (Ping timeout: 264 seconds)
21:24:05 × econo quits (uid147250@user/econo) (Ping timeout: 260 seconds)
21:24:05 × conjunctive quits (sid433686@id-433686.helmsley.irccloud.com) (Ping timeout: 260 seconds)
21:24:05 × dpratt_ quits (sid193493@id-193493.helmsley.irccloud.com) (Ping timeout: 260 seconds)
21:24:05 × philpax_ quits (uid516926@id-516926.lymington.irccloud.com) (Ping timeout: 260 seconds)
21:24:05 × jmct_ quits (sid160793@id-160793.tinside.irccloud.com) (Ping timeout: 260 seconds)
21:24:07 × elvishjerricco quits (sid237756@id-237756.helmsley.irccloud.com) (Ping timeout: 240 seconds)
21:24:08 × ProofTechnique quits (sid79547@id-79547.ilkley.irccloud.com) (Ping timeout: 250 seconds)
21:24:08 × angerman quits (sid209936@id-209936.ilkley.irccloud.com) (Ping timeout: 250 seconds)
21:24:08 × integral quits (sid296274@user/integral) (Ping timeout: 250 seconds)
21:24:13 × acertain quits (sid470584@id-470584.hampstead.irccloud.com) (Ping timeout: 252 seconds)
21:24:13 × hendi quits (sid489601@id-489601.lymington.irccloud.com) (Ping timeout: 252 seconds)
21:24:13 × sclv quits (sid39734@haskell/developer/sclv) (Ping timeout: 252 seconds)
21:24:15 × obviyus quits (sid415299@user/obviyus) (Ping timeout: 250 seconds)
21:24:18 × whez quits (sid470288@id-470288.lymington.irccloud.com) (Ping timeout: 260 seconds)
21:24:18 × PotatoGim quits (sid99505@id-99505.lymington.irccloud.com) (Ping timeout: 260 seconds)
21:24:18 × sa1 quits (sid7690@id-7690.ilkley.irccloud.com) (Ping timeout: 260 seconds)
21:24:18 × hubvu quits (sid495858@user/hubvu) (Ping timeout: 260 seconds)
21:24:19 × Boarders quits (sid425905@id-425905.lymington.irccloud.com) (Ping timeout: 268 seconds)
21:24:19 × etrepum quits (sid763@id-763.uxbridge.irccloud.com) (Ping timeout: 268 seconds)
21:24:23 × iphy quits (sid67735@id-67735.lymington.irccloud.com) (Ping timeout: 246 seconds)
21:24:27 × pjlsergeant quits (sid143467@id-143467.hampstead.irccloud.com) (Ping timeout: 240 seconds)
21:24:32 × ephemient quits (uid407513@id-407513.lymington.irccloud.com) (Ping timeout: 268 seconds)
21:24:32 × hamishmack quits (sid389057@id-389057.hampstead.irccloud.com) (Ping timeout: 268 seconds)
21:24:32 × stevenxl quits (sid133530@id-133530.uxbridge.irccloud.com) (Ping timeout: 268 seconds)
21:24:32 × alanz quits (sid110616@id-110616.uxbridge.irccloud.com) (Ping timeout: 268 seconds)
21:24:34 × _0x47 quits (sid508683@id-508683.tinside.irccloud.com) (Ping timeout: 250 seconds)
21:24:40 × supersven quits (sid501114@id-501114.ilkley.irccloud.com) (Ping timeout: 260 seconds)
21:24:41 × mcfilib quits (sid302703@user/mcfilib) (Ping timeout: 250 seconds)
21:24:44 × gonz___ quits (sid304396@id-304396.lymington.irccloud.com) (Ping timeout: 246 seconds)
21:24:44 × mrianbloom quits (sid350277@id-350277.ilkley.irccloud.com) (Ping timeout: 246 seconds)
21:24:46 × kaizen quits (sid501599@id-501599.helmsley.irccloud.com) (Ping timeout: 260 seconds)
21:24:46 × gmc quits (sid58314@id-58314.ilkley.irccloud.com) (Ping timeout: 260 seconds)
21:24:46 × hook54321 quits (sid149355@user/hook54321) (Ping timeout: 260 seconds)
21:24:46 × ysh quits (sid6017@id-6017.ilkley.irccloud.com) (Ping timeout: 260 seconds)
21:24:46 × sa quits (sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 260 seconds)
21:24:56 × astra` quits (sid289983@user/amish) (Ping timeout: 268 seconds)
21:24:56 × tnks quits (sid412124@id-412124.helmsley.irccloud.com) (Ping timeout: 268 seconds)
21:24:56 × teehemkay quits (sid14792@id-14792.lymington.irccloud.com) (Ping timeout: 268 seconds)
21:24:56 × SethTisue__ quits (sid14912@id-14912.ilkley.irccloud.com) (Ping timeout: 268 seconds)
21:24:56 × ehamberg quits (sid18208@id-18208.hampstead.irccloud.com) (Ping timeout: 268 seconds)
21:25:00 evertedsphere joins (sid434122@hampstead.irccloud.com)
21:25:01 edwardk_ joins (sid47016@haskell/developer/edwardk)
21:25:02 etrepum joins (sid763@uxbridge.irccloud.com)
21:25:03 dmj` joins (sid72307@hampstead.irccloud.com)
21:25:05 degraafk joins (sid71464@lymington.irccloud.com)
21:25:06 _0x47 joins (sid508683@5.254.36.57)
21:25:08 sa1 joins (sid7690@ilkley.irccloud.com)
21:25:09 × SanchayanMaity quits (sid478177@id-478177.hampstead.irccloud.com) (Ping timeout: 268 seconds)
21:25:09 × aarchi quits (sid486183@id-486183.uxbridge.irccloud.com) (Ping timeout: 268 seconds)
21:25:09 × vito quits (sid1962@user/vito) (Ping timeout: 268 seconds)
21:25:14 × alinab quits (sid468903@id-468903.helmsley.irccloud.com) (Ping timeout: 260 seconds)
21:25:14 × tapas quits (sid467876@id-467876.ilkley.irccloud.com) (Ping timeout: 260 seconds)
21:25:14 × meinside quits (uid24933@id-24933.helmsley.irccloud.com) (Ping timeout: 260 seconds)
21:25:14 × eruditass quits (uid248673@id-248673.uxbridge.irccloud.com) (Ping timeout: 260 seconds)
21:25:14 × amir quits (sid22336@user/amir) (Ping timeout: 260 seconds)
21:25:14 × S11001001 quits (sid42510@2a03:5180:f:3::a60e) (Ping timeout: 260 seconds)
21:25:17 × edwardk quits (sid47016@haskell/developer/edwardk) (Ping timeout: 264 seconds)
21:25:17 × JSharp quits (sid4580@id-4580.lymington.irccloud.com) (Ping timeout: 264 seconds)
21:25:17 × typetetris quits (sid275937@id-275937.tinside.irccloud.com) (Ping timeout: 264 seconds)
21:25:17 edwardk_ is now known as edwardk
21:25:20 pjlsergeant joins (sid143467@hampstead.irccloud.com)
21:25:23 rubin55 joins (sid175221@hampstead.irccloud.com)
21:25:24 astra` joins (sid289983@user/amish)
21:25:25 gmc joins (sid58314@ilkley.irccloud.com)
21:25:33 × nrr quits (sid20938@id-20938.lymington.irccloud.com) (Ping timeout: 268 seconds)
21:25:33 × agander_m quits (sid407952@id-407952.tinside.irccloud.com) (Ping timeout: 268 seconds)
21:25:33 × kristjansson_ quits (sid126207@id-126207.tinside.irccloud.com) (Ping timeout: 268 seconds)
21:25:33 × NiKaN quits (sid385034@id-385034.helmsley.irccloud.com) (Ping timeout: 268 seconds)
21:25:33 × rtpg quits (sid443069@id-443069.ilkley.irccloud.com) (Ping timeout: 268 seconds)
21:25:33 × jonrh quits (sid5185@id-5185.ilkley.irccloud.com) (Ping timeout: 268 seconds)
21:25:33 × parseval quits (sid239098@id-239098.helmsley.irccloud.com) (Ping timeout: 268 seconds)
21:25:33 × rune quits (sid21167@id-21167.ilkley.irccloud.com) (Ping timeout: 268 seconds)
21:25:33 × mustafa quits (sid502723@rockylinux/releng/mustafa) (Ping timeout: 268 seconds)
21:25:33 × davetapley quits (sid666@id-666.uxbridge.irccloud.com) (Ping timeout: 268 seconds)
21:25:45 PotatoGim joins (sid99505@lymington.irccloud.com)
21:25:49 hubvu joins (sid495858@user/hubvu)
21:25:54 taktoa[c] joins (sid282096@5.254.36.57)
21:26:01 scav joins (sid309693@helmsley.irccloud.com)
21:26:07 sclv joins (sid39734@haskell/developer/sclv)
21:26:08 sa joins (sid1055@5.254.36.57)
21:26:13 iphy joins (sid67735@lymington.irccloud.com)
21:26:13 typetetris joins (sid275937@5.254.36.57)
21:26:14 gonz___ joins (sid304396@lymington.irccloud.com)
21:26:14 rune joins (sid21167@ilkley.irccloud.com)
21:26:15 jonrh joins (sid5185@ilkley.irccloud.com)
21:26:17 angerman joins (sid209936@ilkley.irccloud.com)
21:26:18 × bdaed quits (~bdaed@185.234.208.208.r.toneticgroup.pl) (Ping timeout: 265 seconds)
21:26:21 ehamberg joins (sid18208@hampstead.irccloud.com)
21:26:21 hamishmack joins (sid389057@hampstead.irccloud.com)
21:26:23 davetapley joins (sid666@uxbridge.irccloud.com)
21:26:26 gaze___ joins (sid387101@helmsley.irccloud.com)
21:26:30 meinside joins (uid24933@helmsley.irccloud.com)
21:26:36 caasih joins (sid13241@ilkley.irccloud.com)
21:26:39 Firedancer joins (sid336191@hampstead.irccloud.com)
21:26:41 acertain joins (sid470584@hampstead.irccloud.com)
21:26:48 nrr joins (sid20938@lymington.irccloud.com)
21:26:52 carter joins (sid14827@helmsley.irccloud.com)
21:27:05 vito joins (sid1962@user/vito)
21:27:06 jackdk joins (sid373013@cssa/jackdk)
21:27:12 elvishjerricco joins (sid237756@helmsley.irccloud.com)
21:27:31 tnks joins (sid412124@helmsley.irccloud.com)
21:27:35 lightandlight joins (sid135476@helmsley.irccloud.com)
21:27:37 NiKaN joins (sid385034@helmsley.irccloud.com)
21:27:41 conjunctive joins (sid433686@helmsley.irccloud.com)
21:27:44 mustafa joins (sid502723@rockylinux/releng/mustafa)
21:27:47 eruditass joins (uid248673@uxbridge.irccloud.com)
21:27:48 enemeth79 joins (sid309041@lymington.irccloud.com)
21:27:48 teehemkay joins (sid14792@lymington.irccloud.com)
21:27:51 cbarrett joins (sid192934@helmsley.irccloud.com)
21:27:57 S11001001 joins (sid42510@ilkley.irccloud.com)
21:28:08 cln joins (sid336875@ilkley.irccloud.com)
21:28:12 tritlo joins (sid58727@user/tritlo)
21:28:22 Boarders joins (sid425905@lymington.irccloud.com)
21:28:27 hendi joins (sid489601@lymington.irccloud.com)
21:28:27 bw joins (sid2730@user/betawaffle)
21:28:30 JSharp joins (sid4580@lymington.irccloud.com)
21:28:31 jakesyl joins (sid56879@hampstead.irccloud.com)
21:28:44 econo joins (uid147250@user/econo)
21:28:45 alanz joins (sid110616@uxbridge.irccloud.com)
21:28:49 bjs joins (sid190364@user/bjs)
21:28:49 systemfault joins (sid267009@uxbridge.irccloud.com)
21:28:50 obviyus joins (sid415299@user/obviyus)
21:29:11 alinab joins (sid468903@helmsley.irccloud.com)
21:29:13 edmundnoble joins (sid229620@helmsley.irccloud.com)
21:29:13 idnar joins (sid12240@debian/mithrandi)
21:29:17 whez joins (sid470288@lymington.irccloud.com)
21:29:17 SethTisue__ joins (sid14912@ilkley.irccloud.com)
21:29:18 ProofTechnique joins (sid79547@ilkley.irccloud.com)
21:29:18 ephemient joins (uid407513@lymington.irccloud.com)
21:29:22 mrianbloom joins (sid350277@ilkley.irccloud.com)
21:29:25 supersven joins (sid501114@ilkley.irccloud.com)
21:29:41 amir joins (sid22336@user/amir)
21:29:46 SanchayanMaity joins (sid478177@hampstead.irccloud.com)
21:29:58 integral joins (sid296274@user/integral)
21:29:58 × ystael quits (~ystael@user/ystael) (Quit: Lost terminal)
21:29:59 philpax_ joins (sid516926@lymington.irccloud.com)
21:30:01 Adeon joins (sid418992@lymington.irccloud.com)
21:30:05 Pent joins (sid313808@lymington.irccloud.com)
21:30:20 aarchi joins (sid486183@uxbridge.irccloud.com)
21:30:21 glowcoil joins (sid3405@5.254.36.57)
21:30:22 agander_m joins (sid407952@5.254.36.57)
21:30:24 SrPx joins (sid108780@uxbridge.irccloud.com)
21:30:24 stevenxl joins (sid133530@uxbridge.irccloud.com)
21:30:32 kristjansson_ joins (sid126207@5.254.36.57)
21:30:57 truckasaurus joins (sid457088@helmsley.irccloud.com)
21:31:01 ysh joins (sid6017@ilkley.irccloud.com)
21:31:12 rtpg joins (sid443069@ilkley.irccloud.com)
21:31:19 hnOsmium0001 joins (uid453710@hampstead.irccloud.com)
21:31:30 NemesisD joins (sid24071@lymington.irccloud.com)
21:32:23 kaizen joins (sid501599@helmsley.irccloud.com)
21:35:09 × ubert quits (~Thunderbi@77.119.205.6.wireless.dyn.drei.com) (Ping timeout: 265 seconds)
21:37:08 hongminhee joins (sid295@id-295.tinside.irccloud.com)
21:37:44 b20n joins (sid115913@id-115913.uxbridge.irccloud.com)
21:38:08 christiaanb joins (sid84827@id-84827.lymington.irccloud.com)
21:38:10 T_S_ joins (sid501726@id-501726.uxbridge.irccloud.com)
21:38:12 dsal joins (sid13060@id-13060.lymington.irccloud.com)
21:38:28 kaychaks__ joins (sid236345@id-236345.helmsley.irccloud.com)
21:38:28 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
21:38:35 aria joins (sid380617@id-380617.lymington.irccloud.com)
21:38:35 bbhoss joins (sid18216@id-18216.tinside.irccloud.com)
21:38:41 awpr joins (uid446117@id-446117.lymington.irccloud.com)
21:38:42 Megant_ is now known as Megant
21:38:44 bradparker joins (sid262931@id-262931.uxbridge.irccloud.com)
21:38:56 hook54321 joins (sid149355@user/hook54321)
21:39:00 gregberns__ joins (sid315709@id-315709.helmsley.irccloud.com)
21:39:01 grfn joins (sid449115@id-449115.helmsley.irccloud.com)
21:39:08 jmct_ joins (sid160793@id-160793.tinside.irccloud.com)
21:39:13 dpratt_ joins (sid193493@id-193493.helmsley.irccloud.com)
21:39:48 tapas joins (sid467876@id-467876.ilkley.irccloud.com)
21:40:40 mcfilib joins (sid302703@user/mcfilib)
21:40:51 × doyougnu quits (~user@c-73-25-202-122.hsd1.or.comcast.net) (Remote host closed the connection)
21:41:00 parseval joins (sid239098@id-239098.helmsley.irccloud.com)
21:41:26 × pfurla_ quits (~pfurla@176.67.85.207) (Ping timeout: 265 seconds)
21:42:57 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
21:43:03 × michalz quits (~michalz@185.246.204.87) (Remote host closed the connection)
21:43:45 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
21:44:55 × dudek quits (~dudek@185.150.236.103) (Quit: Leaving)
21:45:56 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 245 seconds)
21:48:14 × rtjure quits (~rtjure@bras-79-132-17-74.comnet.bg) (Ping timeout: 245 seconds)
21:51:27 Cajun joins (~Cajun@user/cajun)
21:55:41 emf_ joins (~emf@2620:10d:c090:400::5:fdfa)
21:58:01 × emf quits (~emf@2620:10d:c090:400::5:fdfa) (Ping timeout: 245 seconds)
21:59:35 × libertyprime quits (~libertypr@118.149.85.55) (Read error: Connection reset by peer)
21:59:39 beka joins (~beka@104.193.170.240)
21:59:40 × jtomas_ quits (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 260 seconds)
22:05:30 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
22:05:30 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
22:05:30 wroathe joins (~wroathe@user/wroathe)
22:06:50 × hgolden quits (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (Remote host closed the connection)
22:08:01 × beka quits (~beka@104.193.170.240) (Ping timeout: 265 seconds)
22:08:32 <Skyfire> Are there any mature Haskell libraries for commutative algebra computations? I want to compute the Hilbert series of a graded subring of C[x,y].
22:08:50 × Gurkenglas quits (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 265 seconds)
22:10:54 <sclv> sadly nothing pleasant to use that i know of
22:11:47 <sclv> Skyfire: probably your best bet -- https://hackage.haskell.org/package/HaskellForMaths
22:11:58 <Skyfire> Thanks. Let's see if there is something for Hilbert series.
22:12:25 × Lorra quits (~lorenzo@2001:a61:be4:201:ad0b:4d75:e3f6:65ba) (Quit: Konversation terminated!)
22:12:50 × emf_ quits (~emf@2620:10d:c090:400::5:fdfa) (Ping timeout: 260 seconds)
22:14:28 emf joins (~emf@163.114.132.7)
22:14:55 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
22:15:34 × hnOsmium0001 quits (uid453710@hampstead.irccloud.com) (Quit: Connection closed for inactivity)
22:17:08 beka joins (~beka@104.193.170.240)
22:22:58 <Skyfire> Wow, the Math.CommutativeAlgebra.GroebnerBasis module seems very nice. But apparently the hilbertSeriesQA function assumes that the generators have degree 1, which is not true in my case.
22:29:29 hnOsmium0001 joins (uid453710@id-453710.hampstead.irccloud.com)
22:30:31 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 245 seconds)
22:33:50 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
22:37:46 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds)
22:39:13 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
22:39:13 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
22:39:13 wroathe joins (~wroathe@user/wroathe)
22:40:01 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:f513:8be8:adee:de02) (Remote host closed the connection)
22:42:22 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
22:42:35 × fendor quits (~fendor@178.165.191.25.wireless.dyn.drei.com) (Remote host closed the connection)
22:44:58 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.2)
22:48:41 bdaed joins (~bdaed@185.234.208.208.r.toneticgroup.pl)
22:51:31 × DNH quits (~DNH@2a02:8108:1100:16d8:a11a:d19d:8c20:4068) (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:52:17 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:25a3:7e37:69ba:6dab)
22:53:10 × bdaed quits (~bdaed@185.234.208.208.r.toneticgroup.pl) (Ping timeout: 252 seconds)
22:54:56 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
22:55:03 × Tuplanolla quits (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)
22:58:41 × max22- quits (~maxime@2a01cb088335980045db91cc5b38a3ac.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
22:59:10 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 260 seconds)
23:01:09 × MQ-17J quits (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
23:03:40 <zzz> someone finally did it
23:03:42 <zzz> https://youtube.com/watch?v=ADqLBc1vFwI
23:03:55 <monochrom> haha
23:06:13 MQ-17J joins (~MQ-17J@8.6.144.117)
23:07:31 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
23:12:25 × spider quits (~spider@vps-951ce37a.vps.ovh.ca) (Quit: WeeChat 3.2)
23:16:02 spider joins (~spider@vps-951ce37a.vps.ovh.ca)
23:17:08 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
23:18:25 × alzgh quits (~alzgh@user/alzgh) (Remote host closed the connection)
23:18:52 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Read error: Connection reset by peer)
23:19:10 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
23:19:41 × vysn quits (~vysn@user/vysn) (Ping timeout: 245 seconds)
23:20:24 Null_A joins (~null_a@2601:645:8700:2290:75e9:85ca:7982:df23)
23:23:23 ystael joins (~ystael@user/ystael)
23:27:02 × mortemeur quits (~mortemeur@pool-173-76-107-201.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
23:28:48 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
23:29:30 × Null_A quits (~null_a@2601:645:8700:2290:75e9:85ca:7982:df23) (Remote host closed the connection)
23:29:30 Vajb joins (~Vajb@85-76-12-150-nat.elisa-mobile.fi)
23:31:09 × emf quits (~emf@163.114.132.7) (Ping timeout: 245 seconds)
23:35:54 acidjnk_new3 joins (~acidjnk@p200300d0c703cb3809607f7c8c1f0b15.dip0.t-ipconnect.de)
23:36:38 cesar- joins (~cesar@2607:f380:828:fa00::e70)
23:37:05 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 260 seconds)
23:38:52 × acidjnk_new quits (~acidjnk@p200300d0c703cb15c01e6432704cfc21.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
23:39:57 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
23:41:18 × cesar- quits (~cesar@2607:f380:828:fa00::e70) (Ping timeout: 265 seconds)
23:41:57 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3)
23:42:02 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
23:46:54 Null_A joins (~null_a@2601:645:8700:2290:8de:8d66:958e:46b4)
23:48:15 × Vajb quits (~Vajb@85-76-12-150-nat.elisa-mobile.fi) (Read error: Connection reset by peer)
23:49:05 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
23:49:24 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
23:50:33 × shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Remote host closed the connection)
23:54:21 × acidjnk_new3 quits (~acidjnk@p200300d0c703cb3809607f7c8c1f0b15.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
23:54:47 × zaquest quits (~notzaques@5.128.210.178) (Remote host closed the connection)
23:54:52 shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net)
23:55:54 zaquest joins (~notzaques@5.128.210.178)

All times are in UTC on 2021-10-07.