Logs on 2023-03-17 (liberachat/#haskell)
| 00:01:40 | × | segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 246 seconds) |
| 00:02:22 | → | segfaultfizzbuzz joins (~segfaultf@108.211.201.53) |
| 00:03:38 | → | codaraxis__ joins (~codaraxis@user/codaraxis) |
| 00:06:23 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 00:07:22 | × | codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 276 seconds) |
| 00:07:44 | → | freeside joins (~mengwong@122.11.248.245) |
| 00:09:03 | × | segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 255 seconds) |
| 00:12:19 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 260 seconds) |
| 00:14:07 | → | brettgilio joins (~brettgili@x-irc.gq) |
| 00:16:11 | × | mei quits (~mei@user/mei) (Remote host closed the connection) |
| 00:16:49 | → | slack1256 joins (~slack1256@186.11.43.166) |
| 00:17:26 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:7045:17e1:cef7:25cd) |
| 00:18:38 | → | mei joins (~mei@user/mei) |
| 00:21:37 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:7045:17e1:cef7:25cd) (Ping timeout: 246 seconds) |
| 00:22:00 | → | acidjnk joins (~acidjnk@p200300d6e715c4802826e60a70e4269f.dip0.t-ipconnect.de) |
| 00:26:13 | × | Square quits (~Square4@user/square) (Ping timeout: 276 seconds) |
| 00:30:36 | × | Techcable quits (~Techcable@user/Techcable) (Ping timeout: 252 seconds) |
| 00:39:13 | → | freeside joins (~mengwong@122.11.248.245) |
| 00:43:19 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 246 seconds) |
| 00:43:50 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 00:46:27 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 256 seconds) |
| 00:48:13 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 246 seconds) |
| 00:50:10 | → | Techcable joins (~Techcable@user/Techcable) |
| 00:53:18 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 00:53:26 | → | mauke_ joins (~mauke@user/mauke) |
| 00:55:28 | × | mauke quits (~mauke@user/mauke) (Ping timeout: 276 seconds) |
| 00:55:28 | mauke_ | is now known as mauke |
| 00:56:18 | × | Tuplanolla quits (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:57:12 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds) |
| 01:11:21 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:13:57 | → | freeside joins (~mengwong@122.11.248.245) |
| 01:17:29 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:18:19 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 246 seconds) |
| 01:31:24 | × | xff0x quits (~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 255 seconds) |
| 01:40:12 | × | mei quits (~mei@user/mei) (Remote host closed the connection) |
| 01:42:38 | → | mei joins (~mei@user/mei) |
| 01:48:23 | → | freeside joins (~mengwong@122.11.248.245) |
| 01:52:51 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 250 seconds) |
| 01:57:31 | × | chomwitt quits (~chomwitt@2a02:587:7a19:9200:1ac0:4dff:fedb:a3f1) (Ping timeout: 246 seconds) |
| 02:05:11 | × | codaraxis__ quits (~codaraxis@user/codaraxis) (Ping timeout: 246 seconds) |
| 02:09:12 | × | bhall quits (brunohall@gateway/vpn/protonvpn/bhall) (Ping timeout: 255 seconds) |
| 02:13:10 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 02:17:15 | × | lbseale quits (~quassel@user/ep1ctetus) (Ping timeout: 248 seconds) |
| 02:18:34 | → | lbseale joins (~quassel@user/ep1ctetus) |
| 02:19:21 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:7045:17e1:cef7:25cd) |
| 02:19:57 | → | freeside joins (~mengwong@122.11.248.245) |
| 02:22:06 | × | vulpine quits (xfnw@tilde.team) (Quit: Connection reset by purr) |
| 02:23:54 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:7045:17e1:cef7:25cd) (Ping timeout: 252 seconds) |
| 02:24:07 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 246 seconds) |
| 02:24:46 | → | vulpine joins (xfnw@tilde.team) |
| 02:28:11 | × | cyphase quits (~cyphase@user/cyphase) (Ping timeout: 268 seconds) |
| 02:28:49 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds) |
| 02:29:54 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 02:38:30 | → | bhall joins (brunohall@gateway/vpn/protonvpn/bhall) |
| 02:39:49 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:710f:b6bb:b29d:a808) |
| 02:41:52 | → | cyphase joins (~cyphase@user/cyphase) |
| 02:48:01 | → | freeside joins (~mengwong@122.11.248.245) |
| 02:52:49 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 256 seconds) |
| 02:57:12 | tusko | is now known as DoucheBank |
| 03:00:44 | × | jero98772 quits (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection) |
| 03:01:53 | → | freeside joins (~mengwong@122.11.248.245) |
| 03:03:56 | × | DoucheBank quits (~yeurt@user/tusko) (Remote host closed the connection) |
| 03:04:17 | → | tusko joins (~yeurt@user/tusko) |
| 03:05:06 | → | Guest|57 joins (~Guest|57@42-3-27-192.ptr.netvigator.com) |
| 03:05:27 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 03:06:21 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 255 seconds) |
| 03:10:58 | → | gastus joins (~gastus@185.6.123.174) |
| 03:14:00 | × | gastus_ quits (~gastus@5.83.191.17) (Ping timeout: 255 seconds) |
| 03:19:22 | × | td_ quits (~td@i53870903.versanet.de) (Ping timeout: 268 seconds) |
| 03:21:08 | → | td_ joins (~td@i5387092E.versanet.de) |
| 03:22:56 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 03:23:04 | → | segfaultfizzbuzz joins (~segfaultf@108.211.201.53) |
| 03:34:17 | → | freeside joins (~mengwong@122.11.248.245) |
| 03:36:14 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 03:38:17 | × | Guest|57 quits (~Guest|57@42-3-27-192.ptr.netvigator.com) (Quit: Connection closed) |
| 03:38:45 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 255 seconds) |
| 03:50:29 | → | pyook joins (~pyook@user/puke) |
| 03:51:07 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 03:51:07 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:51:07 | finn_elija | is now known as FinnElija |
| 04:01:22 | × | slack1256 quits (~slack1256@186.11.43.166) (Ping timeout: 276 seconds) |
| 04:01:23 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 04:01:51 | → | freeside joins (~mengwong@122.11.248.245) |
| 04:06:12 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 255 seconds) |
| 04:06:52 | → | freeside joins (~mengwong@122.11.248.245) |
| 04:08:19 | → | mbuf joins (~Shakthi@49.207.178.186) |
| 04:11:36 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 255 seconds) |
| 04:12:25 | → | Nosrep joins (~Nosrep@user/nosrep) |
| 04:12:44 | <Nosrep> | is there a way to get those -hsomething graphs in like |
| 04:13:04 | <Nosrep> | a more detailed form (shows more than like 10 entries and with exact numbers) |
| 04:13:20 | <Nosrep> | the .prof files dont really show the usage over time |
| 04:27:33 | × | segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 250 seconds) |
| 04:29:31 | × | whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 04:40:00 | ← | no-n parts (sid524992@smol/hors) () |
| 04:41:26 | → | freeside joins (~mengwong@122.11.248.245) |
| 04:44:20 | → | codaraxis joins (~codaraxis@user/codaraxis) |
| 04:44:23 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 04:46:13 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 04:48:38 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 246 seconds) |
| 05:02:24 | → | trev joins (~trev@user/trev) |
| 05:03:43 | → | codaraxis__ joins (~codaraxis@user/codaraxis) |
| 05:05:14 | × | srk quits (~sorki@user/srk) (Remote host closed the connection) |
| 05:05:34 | → | srk joins (~sorki@user/srk) |
| 05:06:50 | × | codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 246 seconds) |
| 05:08:27 | × | son0p quits (~ff@181.136.122.143) (Ping timeout: 248 seconds) |
| 05:10:18 | → | freeside joins (~mengwong@122.11.248.245) |
| 05:14:43 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 260 seconds) |
| 05:18:58 | → | freeside joins (~mengwong@122.11.248.245) |
| 05:23:08 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 05:25:51 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 255 seconds) |
| 05:28:06 | × | krei-se quits (~krei-se@p5087440b.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
| 05:28:51 | → | krei-se joins (~krei-se@p50874d44.dip0.t-ipconnect.de) |
| 05:34:37 | → | man_max joins (~man_max@94-43-231-47.dsl.utg.ge) |
| 05:44:35 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 264 seconds) |
| 05:45:08 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 05:47:15 | → | freeside joins (~mengwong@122.11.248.245) |
| 05:52:06 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 265 seconds) |
| 06:03:15 | × | ft quits (~ft@p3e9bc443.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 06:05:41 | → | freeside joins (~mengwong@122.11.248.245) |
| 06:10:29 | × | Techcable quits (~Techcable@user/Techcable) (Read error: Connection reset by peer) |
| 06:14:10 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 06:14:35 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 248 seconds) |
| 06:16:21 | → | freeside joins (~mengwong@122.11.248.245) |
| 06:19:00 | → | chomwitt joins (~chomwitt@2a02:587:7a19:9200:1ac0:4dff:fedb:a3f1) |
| 06:22:57 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:23:15 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 250 seconds) |
| 06:26:59 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 246 seconds) |
| 06:29:05 | × | _xor quits (~xor@74.215.46.17) (Quit: brb) |
| 06:29:27 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 06:29:44 | → | _xor joins (~xor@74.215.46.17) |
| 06:31:38 | → | Techcable joins (~Techcable@user/Techcable) |
| 06:36:43 | × | Techcable quits (~Techcable@user/Techcable) (Ping timeout: 276 seconds) |
| 06:38:44 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds) |
| 06:41:42 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 06:45:46 | → | freeside joins (~mengwong@122.11.248.245) |
| 06:50:51 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 260 seconds) |
| 06:58:51 | → | Techcable joins (~Techcable@user/Techcable) |
| 07:02:07 | × | Techcable quits (~Techcable@user/Techcable) (Excess Flood) |
| 07:02:16 | → | Techcable joins (~Techcable@user/Techcable) |
| 07:03:02 | → | freeside joins (~mengwong@122.11.248.245) |
| 07:03:24 | × | man_max quits (~man_max@94-43-231-47.dsl.utg.ge) (Quit: Client closed) |
| 07:03:52 | → | codaraxis___ joins (~codaraxis@user/codaraxis) |
| 07:04:40 | → | ft joins (~ft@p3e9bc443.dip0.t-ipconnect.de) |
| 07:06:29 | × | Techcable quits (~Techcable@user/Techcable) (Ping timeout: 246 seconds) |
| 07:06:32 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 07:06:51 | × | codaraxis__ quits (~codaraxis@user/codaraxis) (Ping timeout: 248 seconds) |
| 07:09:22 | → | coot_ joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 07:11:09 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 255 seconds) |
| 07:11:47 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Ping timeout: 256 seconds) |
| 07:11:49 | coot_ | is now known as coot |
| 07:12:09 | → | Techcable joins (~Techcable@user/Techcable) |
| 07:14:12 | → | mncheck joins (~mncheck@193.224.205.254) |
| 07:15:12 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:710f:b6bb:b29d:a808) (Remote host closed the connection) |
| 07:16:30 | × | Techcable quits (~Techcable@user/Techcable) (Ping timeout: 252 seconds) |
| 07:16:35 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 07:19:02 | → | son0p joins (~ff@181.136.122.143) |
| 07:22:30 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 07:24:51 | → | freeside joins (~mengwong@122.11.248.245) |
| 07:28:04 | × | shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 276 seconds) |
| 07:29:15 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 248 seconds) |
| 07:35:12 | → | michalz joins (~michalz@185.246.207.215) |
| 07:41:50 | → | man_max joins (~man_max@94-43-231-47.dsl.utg.ge) |
| 07:42:48 | × | pyook quits (~pyook@user/puke) (Remote host closed the connection) |
| 07:43:09 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:eee3:5195:b098:df99) |
| 07:46:46 | → | freeside joins (~mengwong@122.11.248.245) |
| 07:54:59 | → | notzmv joins (~zmv@user/notzmv) |
| 07:56:47 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 07:56:54 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 07:57:38 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 07:57:41 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 256 seconds) |
| 07:57:51 | → | fnurglewitz joins (uid263868@id-263868.lymington.irccloud.com) |
| 08:00:58 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 08:01:28 | → | MajorBiscuit joins (~MajorBisc@145.94.168.115) |
| 08:02:42 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 08:03:24 | → | zeenk joins (~zeenk@2a02:2f04:a307:2300::7fe) |
| 08:10:37 | → | freeside joins (~mengwong@122.11.248.245) |
| 08:15:40 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:710f:b6bb:b29d:a808) |
| 08:16:36 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 268 seconds) |
| 08:20:15 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:710f:b6bb:b29d:a808) (Ping timeout: 250 seconds) |
| 08:26:06 | × | ft quits (~ft@p3e9bc443.dip0.t-ipconnect.de) (Quit: leaving) |
| 08:26:10 | → | zmt01 joins (~zmt00@user/zmt00) |
| 08:26:56 | × | emergence quits (thelounge@2607:5300:60:5910:dcad:beff:feef:5bc) (Remote host closed the connection) |
| 08:27:11 | × | talismanick quits (~talismani@2601:200:c000:f7a0::5321) (Ping timeout: 250 seconds) |
| 08:27:37 | × | flukiluke quits (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Ping timeout: 250 seconds) |
| 08:27:39 | → | codaraxis__ joins (~codaraxis@user/codaraxis) |
| 08:27:41 | → | emergence joins (thelounge@2607:5300:60:5910:dcad:beff:feef:5bc) |
| 08:27:58 | → | flukiluke joins (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) |
| 08:28:48 | → | talismanick joins (~talismani@2601:200:c000:f7a0::5321) |
| 08:29:22 | × | zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 250 seconds) |
| 08:31:18 | × | codaraxis___ quits (~codaraxis@user/codaraxis) (Ping timeout: 252 seconds) |
| 08:31:33 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 08:34:03 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 08:36:46 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 08:40:02 | → | chele joins (~chele@user/chele) |
| 08:46:09 | → | freeside joins (~mengwong@122.11.248.245) |
| 08:50:19 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 248 seconds) |
| 08:51:34 | → | CiaoSen joins (~Jura@p200300c9571fe6002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 08:57:05 | → | vpan joins (~0@212.117.1.172) |
| 09:07:35 | → | gensyst joins (~gensyst@user/gensyst) |
| 09:10:13 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 09:10:38 | <gensyst> | I'm getting into the blaze HTML library. |
| 09:11:42 | <gensyst> | Is it completely on me to hook up folder structures (how which HTML gets written to which HTML files, etc.), auto-watching for changes, etc.? |
| 09:12:01 | <gensyst> | Or has someone developed some convenience libraries or conventions in this area? |
| 09:13:42 | → | freeside joins (~mengwong@122.11.248.245) |
| 09:14:08 | × | MajorBiscuit quits (~MajorBisc@145.94.168.115) (Ping timeout: 265 seconds) |
| 09:16:31 | <Logio> | for that you might want to take a look at either Hakyll or Shake |
| 09:17:13 | <Logio> | assuming you're just building static pages |
| 09:17:52 | <gensyst> | Logio, can you elaborate a bit? i'd also want clay (css) integration and eventually i'll also do JS for parts of the sites |
| 09:17:57 | <gensyst> | is hakyll suitable for that? |
| 09:18:03 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 255 seconds) |
| 09:18:11 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 264 seconds) |
| 09:18:14 | <gensyst> | And Shake, what would that solve? I thought it was a "build system" for projects |
| 09:18:23 | → | kuribas joins (~user@ptr-17d51eohfrm53iss5au.18120a2.ip6.access.telenet.be) |
| 09:20:42 | → | MajorBiscuit joins (~MajorBisc@145.94.168.115) |
| 09:22:33 | → | azure_vermilion joins (~Thunderbi@164.39.138.83) |
| 09:23:46 | <azure_vermilion> | is there a shorter way of writing this function?: firstJustElse xs else1 = head (catMaybes xs ++ [else1]) |
| 09:24:23 | <[exa]> | gensyst: yeah hakyll has tools for that (there may also be other staticsite generators around, a bit googling should reveal many) |
| 09:24:42 | <[exa]> | azure_vermilion: sounds like a case for First |
| 09:26:40 | <kuribas> | azure_vermilion: fromMaybe (listToMaybe xs) else |
| 09:27:23 | <azure_vermilion> | thanks |
| 09:27:55 | <kuribas> | azure_vermilion: ah wait... |
| 09:28:25 | <kuribas> | azure_vermilion: fromMaybe (asum xs) else |
| 09:28:56 | <kuribas> | but do you want to return a Just? |
| 09:29:18 | × | sudden quits (~cat@user/sudden) (Ping timeout: 255 seconds) |
| 09:29:19 | <kuribas> | :t \xs else1 -> head (catMaybes xs ++ [else1]) |
| 09:29:21 | <lambdabot> | [Maybe a] -> a -> a |
| 09:29:27 | <azure_vermilion> | I want to return the first just if there is one, and if not then return else1 |
| 09:29:53 | <kuribas> | :t \xs else1 -> fromMaybe (asum xs) else1 |
| 09:29:54 | <lambdabot> | (Foldable t, Alternative f) => t (f a) -> Maybe (f a) -> f a |
| 09:29:59 | → | sudden joins (~cat@user/sudden) |
| 09:30:03 | <[exa]> | kuribas: you may have the args flipped |
| 09:30:05 | × | MajorBiscuit quits (~MajorBisc@145.94.168.115) (Ping timeout: 265 seconds) |
| 09:30:16 | <kuribas> | :t \xs else1 -> fromMaybe else1 (asum xs) |
| 09:30:17 | <lambdabot> | Foldable t => t (Maybe a) -> a -> a |
| 09:30:28 | <kuribas> | [exa]: thanks |
| 09:30:59 | <[exa]> | good idea with asum though |
| 09:31:15 | <kuribas> | yeah, that's what it's for right? |
| 09:31:21 | <azure_vermilion> | that looks like some deep magic |
| 09:31:28 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 09:31:54 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 09:32:19 | <[exa]> | azure_vermilion: Alternative instance for Maybe is kinda straightforward and does the trick |
| 09:32:33 | <kuribas> | :t asum @Maybe |
| 09:32:34 | <lambdabot> | error: |
| 09:32:34 | <lambdabot> | Pattern syntax in expression context: asum@Maybe |
| 09:32:34 | <lambdabot> | Did you mean to enable TypeApplications? |
| 09:33:33 | → | freeside joins (~mengwong@122.11.248.245) |
| 09:34:01 | <kuribas> | :t asum |
| 09:34:03 | <lambdabot> | (Foldable t, Alternative f) => t (f a) -> f a |
| 09:35:05 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 09:35:13 | <kuribas> | azure_vermilion: asum [a, b, c, d] == a <|> b <|> c <|> d |
| 09:35:27 | <kuribas> | azure_vermilion: and Just x <|> _ == Just x |
| 09:35:43 | <kuribas> | so it just returns the first Just value. |
| 09:36:09 | <azure_vermilion> | I see, thank for making it simple |
| 09:39:04 | <kuribas> | azure_vermilion: the difference between Monoid (<>) and Alternative (<|>) is that the Monoid agregates also the internal value. |
| 09:39:16 | → | kenaryn joins (~aurele@89-88-44-27.abo.bbox.fr) |
| 09:39:16 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 265 seconds) |
| 09:39:17 | <kuribas> | > Just "a" <> Just "b" |
| 09:39:18 | <lambdabot> | Just "ab" |
| 09:39:24 | <kuribas> | > Just "a" <|> Just "b" |
| 09:39:26 | <lambdabot> | Just "a" |
| 09:39:49 | <kuribas> | I think the distinction between Alternative and Monoid is rather arbitrary. |
| 09:40:14 | <kuribas> | And there is Alt. |
| 09:40:19 | → | MajorBiscuit joins (~MajorBisc@145.94.168.115) |
| 09:40:34 | <kuribas> | > Alt (Just "a") <> Alt (Just "b") |
| 09:40:36 | <lambdabot> | Alt {getAlt = Just "a"} |
| 09:40:54 | <kuribas> | Turns an alternative into a Monoid :) |
| 09:42:35 | <kuribas> | I've had this idea that any loop in an imperative language can be rewritten using Monoids. |
| 09:42:39 | <kuribas> | So foldMap basically. |
| 09:43:30 | × | vgtw quits (~vgtw@user/vgtw) (Quit: ZNC - https://znc.in) |
| 09:43:34 | <tomsmeding> | kuribas: a monoid is associative |
| 09:43:46 | <tomsmeding> | or do you mean using Endo? |
| 09:44:02 | <tomsmeding> | because while true that doesn't contain much interesting information |
| 09:44:36 | <kuribas> | no, for example filtering elements can be done with the list monoid. |
| 09:44:49 | <tomsmeding> | not all loops are as simple as filtering :p |
| 09:44:59 | <Logio> | gensyst: Hakyll is also essentially a build system, just a bit specialized. Shake is more general, and can do some things that Hakyll can't |
| 09:45:04 | <tomsmeding> | what if a loop actually uses the iteration index, or loop state |
| 09:45:53 | <kuribas> | tomsmeding: using Ap? |
| 09:46:09 | <gensyst> | Logio, do these things have "auto-refresh" features? |
| 09:46:12 | <gensyst> | when files are saved |
| 09:47:52 | <tomsmeding> | kuribas: sorry, I'm not quite sure how that would work -- never used Ap |
| 09:48:07 | <kuribas> | :t foldr (flip fromMaybe) -- azure_vermilion works also :) |
| 09:48:08 | <lambdabot> | Foldable t => b -> t (Maybe b) -> b |
| 09:48:11 | <tomsmeding> | what is the interesting instance of Ap, is that Monoid? |
| 09:48:48 | <kuribas> | tomsmeding: yeah, it turns an Applicative into a Monoid. |
| 09:49:02 | <kuribas> | :t Ap |
| 09:49:03 | <lambdabot> | forall k (f :: k -> *) (a :: k). f a -> Ap f a |
| 09:50:42 | <tomsmeding> | it does not turn an applicative into a monoid, right? |
| 09:50:48 | <tomsmeding> | (Applicative f, Monoid a) => Monoid (Ap f a) |
| 09:51:02 | <tomsmeding> | it lifts the monoid instance on 'a' to a monoid instance on 'f a' |
| 09:51:20 | <tomsmeding> | by (<>) = liftA2 (<>) |
| 09:51:32 | <tomsmeding> | (modulo newtype constructors) |
| 09:52:24 | ← | jakalx parts (~jakalx@base.jakalx.net) (Disconnected: Replaced by new connection) |
| 09:52:29 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 09:52:46 | <tomsmeding> | and I'm not sure how that helps here |
| 09:53:02 | <azure_vermilion> | gonna end up with a 1 line program at list rate |
| 09:53:08 | <azure_vermilion> | at this rate |
| 09:54:42 | <kuribas> | tomsmeding: right |
| 09:55:53 | <kuribas> | tomsmeding: you can always write a foldMap over a range [x..y]. |
| 09:56:10 | <tomsmeding> | kuribas: what if the loop is stateful |
| 09:57:04 | → | vgtw joins (~vgtw@user/vgtw) |
| 09:57:05 | → | vglfr joins (~vglfr@88.155.111.87) |
| 09:57:14 | <kuribas> | tomsmeding: use Ap |
| 09:57:24 | <tomsmeding> | oh I see, where f ~ State s |
| 09:57:30 | <kuribas> | yeah |
| 09:57:34 | <tomsmeding> | right |
| 09:57:42 | <tomsmeding> | which is basically Endo++ |
| 09:57:55 | <tomsmeding> | yeah, that carries little information in my eyes :p |
| 09:57:58 | → | freeside joins (~mengwong@122.11.248.245) |
| 09:58:05 | <tomsmeding> | that says "function composition is associative" |
| 09:58:12 | <tomsmeding> | I mean, yes |
| 09:58:27 | <tomsmeding> | but I feel like it's not a helpful program transformation |
| 09:58:56 | <tomsmeding> | what is much more helpful is to write a loop in terms of foldMap over a non-State monoid, but that only works if the loop iterations are independent |
| 09:59:25 | <tomsmeding> | which are precisely the loops where it's useful to simplify -- you're reifying the simple-ness in using less powerful combinators |
| 09:59:40 | <tomsmeding> | with a stateful loop you're just rewriting in terms of equally powerful combinators and not, in my eyes, gaining much |
| 10:01:13 | × | MajorBiscuit quits (~MajorBisc@145.94.168.115) (Ping timeout: 246 seconds) |
| 10:01:27 | → | dsrt^ joins (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) |
| 10:04:22 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 246 seconds) |
| 10:05:15 | → | freeside joins (~mengwong@122.11.248.245) |
| 10:06:25 | → | mastarija joins (~mastarija@188.252.199.82) |
| 10:07:19 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 276 seconds) |
| 10:09:16 | → | Pickchea joins (~private@user/pickchea) |
| 10:11:18 | <Logio> | gensyst: not sure if there's anything built-in in either one, but I would look around if someone has implemented it |
| 10:11:47 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Quit: restart) |
| 10:12:34 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 10:12:50 | × | kuribas quits (~user@ptr-17d51eohfrm53iss5au.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
| 10:13:04 | → | kuribas joins (~user@ptr-17d51eohfrm53iss5au.18120a2.ip6.access.telenet.be) |
| 10:17:48 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:710f:b6bb:b29d:a808) |
| 10:20:23 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 260 seconds) |
| 10:22:08 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:710f:b6bb:b29d:a808) (Ping timeout: 246 seconds) |
| 10:23:35 | <gensyst> | ok, thanks |
| 10:23:38 | × | gensyst quits (~gensyst@user/gensyst) (Quit: Leaving) |
| 10:26:04 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 10:27:29 | → | freeside joins (~mengwong@122.11.248.245) |
| 10:30:06 | × | man_max quits (~man_max@94-43-231-47.dsl.utg.ge) (Quit: Client closed) |
| 10:30:11 | → | MajorBiscuit joins (~MajorBisc@145.94.168.115) |
| 10:34:44 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 268 seconds) |
| 10:34:51 | <mastarija> | Am I misunderstanding something about overlapping and overlappable? GHC tells me he can't pick between the two instances, one of which is overlapping and another is overlappable. |
| 10:37:03 | <lyxia> | the pragma alone is not enough, the overlapping instance needs to be included in the other |
| 10:39:19 | → | gurkenglas joins (~gurkengla@dynamic-046-114-183-096.46.114.pool.telefonica.de) |
| 10:47:41 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 10:55:32 | × | kuribas quits (~user@ptr-17d51eohfrm53iss5au.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
| 10:55:45 | → | kuribas joins (~user@ptr-17d51eohfrm53iss5au.18120a2.ip6.access.telenet.be) |
| 10:56:27 | <mastarija> | lyxia: not sure what that means |
| 10:56:39 | <mastarija> | I have them in separate modules |
| 10:59:34 | → | freeside joins (~mengwong@122.11.248.245) |
| 11:00:03 | <TheMatten[m]> | mastarija: I think he means that they actually have to directly overlap |
| 11:04:20 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 268 seconds) |
| 11:05:15 | → | xff0x joins (~xff0x@ai098135.d.east.v6connect.net) |
| 11:05:40 | <lyxia> | The rules for picking an instance are described in the manual https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/instances.html#overlapping-instances |
| 11:06:56 | × | acidjnk quits (~acidjnk@p200300d6e715c4802826e60a70e4269f.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 11:09:49 | → | accord joins (uid568320@id-568320.hampstead.irccloud.com) |
| 11:13:30 | <mastarija> | Thx. |
| 11:14:30 | → | Techcable joins (~Techcable@user/Techcable) |
| 11:14:53 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:eee3:5195:b098:df99) (Ping timeout: 256 seconds) |
| 11:25:31 | × | bhall quits (brunohall@gateway/vpn/protonvpn/bhall) (Ping timeout: 248 seconds) |
| 11:25:46 | → | freeside joins (~mengwong@122.11.248.245) |
| 11:28:35 | <mon_aaraj> | hey, it seems haskell is able to detect infinite loops, i didn't know we finally solved the halting problem! anyways, it seems it doesn't work with GHC's `-O0` (only 1 or above) or `ghci`, any idea why? |
| 11:29:36 | <lyxia> | it detects some infinite loops. the halting problem is to find them all. |
| 11:30:31 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 11:30:32 | <hpc> | mon_aaraj: it has to do with how laziness and thunks work |
| 11:30:36 | <mon_aaraj> | yeah, but how come ghci or -O0 don't have that in? |
| 11:31:21 | <mon_aaraj> | huh, laziness and thunks work differently on other optimization options? |
| 11:31:37 | <hpc> | mon_aaraj: if you know javascript, you might imagine a thunk as being var thunk = function() { var value = compute_value(); thunk = function() {return value}; return value} |
| 11:32:10 | → | freeside joins (~mengwong@122.11.248.245) |
| 11:32:12 | <hpc> | but also when you start evaluating a thunk, it changes the value to a "black hole" function that prints <<loop>> |
| 11:32:26 | <hpc> | or in the threaded runtime, it changes it to a thunk that makes the thread wait |
| 11:32:44 | <mon_aaraj> | ah, makes sense... so how come ghci or -O0 don't allow that |
| 11:32:47 | <hpc> | (imagine two threads computing the same value, one does the calculation and the other waits for the first thread to finish so they can both carry on efficiently) |
| 11:33:22 | <hpc> | so, depending on optimization levels, what counts as the same thunk might be different |
| 11:33:56 | → | acidjnk joins (~acidjnk@p200300d6e715c48014c2b240f6add783.dip0.t-ipconnect.de) |
| 11:33:56 | <hpc> | you might have a whole bunch of thunks in memory that happen to all evaluate to "5", but changing one to the black hole doesn't change any of the others |
| 11:34:13 | <hpc> | and on different optimization levels maybe the code gets tweaked so only one shared thunk is created |
| 11:34:56 | <mon_aaraj> | huh, weird |
| 11:35:10 | <mon_aaraj> | also, i was told `ghci` doesn't support as many language features as the normal compiler, and that sounded weird to me.... what features doesn't ghci support? |
| 11:35:55 | <hpc> | that i couldn't say |
| 11:36:08 | <hpc> | someone else might know |
| 11:38:19 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 11:44:34 | <dminuoso> | Unboxed tuples |
| 11:45:08 | <dminuoso> | Binding unboxed things to names doesnt work very reliable in GHCi either. |
| 11:45:43 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 11:47:09 | → | akegalj joins (~akegalj@89-164-119-54.dsl.iskon.hr) |
| 11:47:17 | <dminuoso> | mon_aaraj: Most of the things that dont work have to do with GHCi using a different backend. Instead of native compilation, it generates byte-code and interprets that bytecode. |
| 11:49:59 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 11:50:36 | <mon_aaraj> | alright, thank you |
| 11:50:59 | <dminuoso> | well in reality ghci does a bit of both (object code and bytecode) |
| 11:51:02 | <dminuoso> | and that complicates things. |
| 11:51:17 | → | bhall joins (brunohall@gateway/vpn/protonvpn/bhall) |
| 11:51:44 | <dminuoso> | Due to how object code works with the STG machine when the code barrier is crossed this can introduce all kinds of hurdles |
| 11:51:58 | <dminuoso> | https://gitlab.haskell.org/ghc/ghc-wiki-mirror/-/blob/master/Unboxed-Tuples-and-Sums-in-GHCi-bytecode.md |
| 11:52:01 | <mon_aaraj> | do all REPLs have to be like this? or can this hypothetically be fixed? |
| 11:52:24 | <dminuoso> | mon_aaraj: many programming languages go through bytecode irrespective of whether its a repl or regular execution |
| 11:52:32 | <dminuoso> | say java or python |
| 11:52:46 | <dminuoso> | Haskell is special in that we produce native code *but* also produce a repl. |
| 11:53:07 | <dminuoso> | In some sense you can think of our repl as being a built-in debugger of sorts, perhaps |
| 11:53:08 | <mon_aaraj> | yeah, i suppose |
| 11:53:32 | <mon_aaraj> | i heard that ghci doesn't do optimizations too because it's a bytecode |
| 11:53:37 | <dminuoso> | Indeed. |
| 11:54:18 | <dminuoso> | mon_aaraj: check out the link above, that goes a bit into some of the crucial problems having both object code and bytecode around |
| 11:54:31 | <dminuoso> | In principle the problems are solvable *if* everything could be mapped to bytecode. |
| 11:54:44 | <mon_aaraj> | alright, thank you very much! |
| 11:54:45 | <dminuoso> | For starters you would have to translate all primops to bytecode |
| 11:55:03 | <dminuoso> | that task by itself is perfectly doable, but it requires someone to do it, and then connect all the things |
| 11:56:25 | → | freeside joins (~mengwong@122.11.248.245) |
| 12:00:30 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 12:01:04 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 268 seconds) |
| 12:01:47 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:38d:e969:4f27:e517) |
| 12:08:09 | × | acidjnk quits (~acidjnk@p200300d6e715c48014c2b240f6add783.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 12:09:06 | × | kenaryn quits (~aurele@89-88-44-27.abo.bbox.fr) (Quit: leaving) |
| 12:12:46 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 276 seconds) |
| 12:14:41 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 12:16:54 | → | gensyst joins (gensyst@user/gensyst) |
| 12:29:46 | → | freeside joins (~mengwong@122.11.248.245) |
| 12:32:18 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:38d:e969:4f27:e517) (Ping timeout: 265 seconds) |
| 12:34:11 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 250 seconds) |
| 12:38:19 | → | Square joins (~Square4@user/square) |
| 12:41:20 | <merijn> | dminuoso: I mean, ocaml produces native code and has a repl...and I know C and C++ repls exist :p |
| 12:41:50 | <dminuoso> | merijn: I didnt say unique. |
| 12:42:17 | <merijn> | mon_aaraj: there are no fundamental theoretical reasons why ghci can't implement "everything", only pragmatic reasons like "nobody cares enough to put in the effort" |
| 12:42:53 | <merijn> | mon_aaraj: Especially since (generall) in Haskell we don't use the repl for "real" development, notebook style |
| 12:42:55 | <maerwald[m]> | merijn: you mean nobody paid you? |
| 12:43:45 | <merijn> | nobody paid anyone :p |
| 12:45:12 | <geekosaur> | there are open tickets for things like loading/saving ghci workspaces, that have languished for years because nobody cares enough to write code to serialize/deserialize BCO |
| 12:45:32 | <merijn> | How's multi-component ghci coming along? |
| 12:46:23 | <geekosaur> | that one's slowly happening because stack and cabal are both pushing it |
| 12:46:51 | <merijn> | geekosaur: Well, I think it's mostly the fact that HLS needs it leading to the foundation funding it |
| 12:47:18 | <geekosaur> | that's ghc supporting it, not ghci |
| 12:47:41 | <merijn> | hmm? there's no multi-component problem in ghc? |
| 12:47:53 | <geekosaur> | yes there is |
| 12:48:09 | <geekosaur> | or was, it's largely gone now for the reason you said |
| 12:48:38 | <merijn> | geekosaur: In what way was that a problem in ghc? Like you only compiled them separately anyway? |
| 12:48:54 | <geekosaur> | hls doesn't use ghci, it uses ghc-api. ghci could remain blissfully unaware but e.g. cabal repl needs it |
| 12:49:28 | <geekosaur> | and for the api to get it, it needs to be baked in |
| 12:51:53 | → | mechap joins (~mechap@user/mechap) |
| 12:52:19 | <merijn> | hmm, maybe I misunderstand what the problem actually is then |
| 12:52:49 | × | CiaoSen quits (~Jura@p200300c9571fe6002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 12:53:29 | × | vgtw quits (~vgtw@user/vgtw) (Quit: ZNC - https://znc.in) |
| 12:57:18 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 12:58:35 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 13:00:37 | × | bhall quits (brunohall@gateway/vpn/protonvpn/bhall) (Ping timeout: 250 seconds) |
| 13:03:48 | × | gensyst quits (gensyst@user/gensyst) (Quit: Leaving) |
| 13:05:42 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 13:06:42 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:fa35:3b99:1ed2:7301) |
| 13:07:53 | → | freeside joins (~mengwong@122.11.248.245) |
| 13:08:34 | → | {-d0t-} joins (~q_q@user/-d0t-/x-7915216) |
| 13:09:03 | <{-d0t-}> | Hello! Is there a manual on how to use Data.Time.Format.ISO8601 from time package? I can't find any examples anywhere. |
| 13:10:19 | <dminuoso> | {-d0t-}: Hi. Check out https://hackage.haskell.org/package/time-1.12.2/docs/Data-Time-Format.html |
| 13:10:49 | <{-d0t-}> | dminuoso: sure, but I need iso8601DateFormat. Specifically, I use that function in my code and now it is deprecated. |
| 13:11:13 | <dminuoso> | Mmm the documentation is certainly lacking |
| 13:11:26 | <{-d0t-}> | indeed :D |
| 13:11:31 | <dminuoso> | {-d0t-}: You can use iso8601Show as a starting point |
| 13:11:38 | <dminuoso> | Alternatively |
| 13:11:59 | <dminuoso> | You use `formatShow` or `formatShowM` and then one of the formats under: https://hackage.haskell.org/package/time-1.12.2/docs/Data-Time-Format-ISO8601.html#g:3 |
| 13:12:01 | <{-d0t-}> | What I want is an equivalent to formatTime defaultTimeLocale (iso8601Format (Just "%H::")) |
| 13:12:34 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 13:12:37 | <dminuoso> | What does that do? |
| 13:12:58 | <{-d0t-}> | formats the time with the provided template. |
| 13:13:02 | <dminuoso> | sure |
| 13:13:07 | <{-d0t-}> | iso8601Format adds its argument to the date template |
| 13:13:10 | <dminuoso> | I meant, what particular format behavior does that give? |
| 13:13:29 | <dminuoso> | I dont know what "%H:: " expresses in the context of ISO8601 |
| 13:13:42 | <{-d0t-}> | Oh.. it's my irc client borked the message :( |
| 13:13:54 | <{-d0t-}> | See the last line in iso8601DateFormat example. |
| 13:14:03 | <{-d0t-}> | here, bottom of the page https://hackage.haskell.org/package/time-1.12.2/docs/Data-Time-Format.html |
| 13:14:32 | <dminuoso> | I dont quite follow. |
| 13:15:13 | <{-d0t-}> | Ugh.. I just want to print the date according to "YYYY-MM-DDTHH:MM:SS" template |
| 13:15:39 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 255 seconds) |
| 13:16:01 | <dminuoso> | IO was a bit confused by the double colon and the space after it |
| 13:16:36 | <{-d0t-}> | My irc client seems to replace percent-letter combos with something. |
| 13:16:56 | <{-d0t-}> | So plz disregard that one :D |
| 13:16:59 | <geekosaur> | yes, hexchat and a few others use that to indicate formatting and/or color codes |
| 13:17:18 | <geekosaur> | for hexchat you can disable it |
| 13:17:19 | <dminuoso> | {-d0t-}: Okay, I hope you can see my confusion here. :-) |
| 13:17:32 | <{-d0t-}> | geekosaur: i use konversation |
| 13:17:47 | <dminuoso> | {-d0t-}: so the haddock page clearly expects you to buy and read ISO 8601:2004(E) sec. 4.1.2.4(c) |
| 13:17:54 | <dminuoso> | And then find the section you want |
| 13:18:04 | <dminuoso> | And then search for the section reference on the haddock page. |
| 13:18:10 | <geekosaur> | try doubling the percent sign |
| 13:18:12 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 13:18:20 | <{-d0t-}> | dminuoso: best documentation ever |
| 13:18:46 | <{-d0t-}> | formatTime defaultTimeLocale (iso8601Format (Just "%H:%M:%S")) |
| 13:18:51 | <{-d0t-}> | this is the code I have |
| 13:18:57 | <dminuoso> | {-d0t-}: The authors clearly wanted to show they adhere to an ISO standard. :-P |
| 13:19:29 | <dminuoso> | {-d0t-}: At any rate |
| 13:19:32 | <dminuoso> | ISO 8601:2004(E) filetype:pdf |
| 13:19:39 | <dminuoso> | If you hit that into google, you should get a hit on the standard |
| 13:19:43 | <geekosaur> | that worked, btw |
| 13:20:04 | <dminuoso> | Ahh thats just a preview and is missing section 4... |
| 13:20:06 | dminuoso | sighs |
| 13:20:22 | <dminuoso> | I think a bug report is in order here. |
| 13:20:37 | <dminuoso> | Whats slightly more interesting |
| 13:20:43 | <dminuoso> | Is that 8601:2004 is withdrawn |
| 13:20:57 | <dminuoso> | The current revision is 8601-1:2019 |
| 13:20:59 | <{-d0t-}> | It's not withdrawn. There is a new version, but it's backwards compatible. |
| 13:21:03 | <dminuoso> | It is withdrawn. |
| 13:21:08 | <dminuoso> | https://www.iso.org/standard/40874.html |
| 13:23:37 | <dminuoso> | {-d0t-}: The more I stare at it, this is really appalling. |
| 13:24:13 | <dminuoso> | Does this library fall under the purview of the CLC?? |
| 13:24:14 | <{-d0t-}> | https://github.com/haskell/time/issues/238 |
| 13:25:01 | <dminuoso> | Im still disgusted that such standards need to be bought. |
| 13:25:09 | <dminuoso> | Such things dont promote standard adoption.. |
| 13:28:31 | <[exa]> | long live the RFCs |
| 13:28:46 | <geekosaur> | the "old way" to promote standards was to get governments to adopt them |
| 13:30:19 | <{-d0t-}> | dminuoso: my favourite here is that the C and other language standards are paid for too, so most programmers have only read the drafts |
| 13:30:31 | <{-d0t-}> | ok, most programmers haven't even read those, but you get the point |
| 13:30:40 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 13:31:04 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 13:32:06 | <dminuoso> | https://www.loc.gov/standards/datetime/ISO_DIS%208601-1.pdf |
| 13:32:08 | <dminuoso> | https://www.loc.gov/standards/datetime/ISO_DIS%208601-1.pdf |
| 13:32:10 | <dminuoso> | Just wow. |
| 13:32:35 | <dminuoso> | I think 8601 does not have freely available drafts |
| 13:32:37 | <dminuoso> | for C++ at least you get these |
| 13:32:45 | <dminuoso> | which are good enough for language implementors |
| 13:32:59 | <dminuoso> | (and these tend to ahve at least sufficient donations to buy a standard copy with) |
| 13:34:30 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 13:35:43 | <{-d0t-}> | anyway, gotta run |
| 13:35:47 | <{-d0t-}> | thank you for your time |
| 13:36:06 | ← | {-d0t-} parts (~q_q@user/-d0t-/x-7915216) (Konversation terminated!) |
| 13:37:53 | × | akegalj quits (~akegalj@89-164-119-54.dsl.iskon.hr) (Ping timeout: 250 seconds) |
| 13:39:50 | → | freeside joins (~mengwong@122.11.248.245) |
| 13:40:31 | → | acidjnk joins (~acidjnk@p200300d6e715c4806dec91424f6e1ce7.dip0.t-ipconnect.de) |
| 13:40:42 | → | jero98772 joins (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) |
| 13:44:05 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 246 seconds) |
| 13:52:13 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 13:53:54 | → | akegalj joins (~akegalj@89-164-119-54.dsl.iskon.hr) |
| 13:54:29 | × | MajorBiscuit quits (~MajorBisc@145.94.168.115) (Quit: WeeChat 3.6) |
| 13:58:15 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 250 seconds) |
| 14:01:17 | × | gurkenglas quits (~gurkengla@dynamic-046-114-183-096.46.114.pool.telefonica.de) (Ping timeout: 250 seconds) |
| 14:05:13 | → | ub joins (~Thunderbi@p200300ecdf0c577565326d488781ae90.dip0.t-ipconnect.de) |
| 14:05:52 | × | ubert quits (~Thunderbi@p548c84ba.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
| 14:05:52 | ub | is now known as ubert |
| 14:09:32 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 14:14:11 | × | mei quits (~mei@user/mei) (Remote host closed the connection) |
| 14:14:55 | → | gtdg joins (~gtdg@user/gtdg) |
| 14:15:20 | → | freeside joins (~mengwong@122.11.248.245) |
| 14:15:22 | → | slack1256 joins (~slack1256@186.11.43.166) |
| 14:16:01 | → | gurkenglas joins (~gurkengla@dynamic-046-114-183-096.46.114.pool.telefonica.de) |
| 14:16:03 | × | vglfr quits (~vglfr@88.155.111.87) (Ping timeout: 260 seconds) |
| 14:16:38 | → | mei joins (~mei@user/mei) |
| 14:17:18 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 14:18:07 | → | vgtw joins (~vgtw@user/vgtw) |
| 14:18:22 | → | bhall joins (~brunohall@195.147.207.136) |
| 14:19:44 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 14:19:49 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 268 seconds) |
| 14:24:35 | <lyxia> | why is Ur data instead of newtype |
| 14:24:40 | <lyxia> | https://hackage.haskell.org/package/linear-base-0.3.0/docs/Data-Unrestricted-Linear.html#t:Ur |
| 14:25:55 | <opqdonut> | the arrow of the newtype constructor would be linear I guess? |
| 14:26:35 | <opqdonut> | https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/linear_types.html#data-types |
| 14:27:23 | <dminuoso> | The data type is 6 years old, linear types are not that old |
| 14:29:16 | <lyxia> | dminuoso: Source? I'm not sure what you're talking about. |
| 14:29:55 | <dminuoso> | lyxia: https://github.com/tweag/linear-base/commit/38c6c2db |
| 14:30:12 | <dminuoso> | It was later renamed to Ur, originally it was called Unrestricted |
| 14:30:35 | <lyxia> | that definitely seems to be in the context of linear types though |
| 14:30:47 | <dminuoso> | I agree |
| 14:31:04 | <dminuoso> | Ohh, there's LinearTypes enabled everywhere, maybe the extension is older than I thought? |
| 14:31:23 | <dminuoso> | I guess opqdonut is right |
| 14:37:55 | → | kupi joins (uid212005@id-212005.hampstead.irccloud.com) |
| 14:38:11 | <opqdonut> | I just bumped into this constructors-are-always-linear thing because it broke some of my TH stuff |
| 14:38:35 | <opqdonut> | I'm kinda peeved that I need to cope with MulArrowT everywhere even though I haven't enabled LinearTypes |
| 14:39:20 | <opqdonut> | but that's what I get for playing with TH I guess, otherwise the fact that constructors are linear is not observable without -XLinearTypes (I guess?) |
| 14:40:32 | <EvanR> | ds9 sisko it's not linear https://www.youtube.com/watch?v=EIihUx0SSrs |
| 14:49:46 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 14:50:06 | → | freeside joins (~mengwong@122.11.248.245) |
| 14:54:35 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 250 seconds) |
| 14:58:11 | → | freeside joins (~mengwong@122.11.248.245) |
| 15:02:59 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 268 seconds) |
| 15:06:19 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 248 seconds) |
| 15:10:43 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 15:13:33 | → | ub joins (~Thunderbi@p200300ecdf0c57fab49fa935f3952923.dip0.t-ipconnect.de) |
| 15:14:51 | × | ubert quits (~Thunderbi@p200300ecdf0c577565326d488781ae90.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 15:14:52 | ub | is now known as ubert |
| 15:16:02 | → | CiaoSen joins (~Jura@p200300c9571fe6002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 15:16:34 | × | gurkenglas quits (~gurkengla@dynamic-046-114-183-096.46.114.pool.telefonica.de) (Ping timeout: 246 seconds) |
| 15:22:25 | × | vpan quits (~0@212.117.1.172) (Remote host closed the connection) |
| 15:24:41 | → | gurkenglas joins (~gurkengla@dynamic-046-114-183-096.46.114.pool.telefonica.de) |
| 15:28:14 | × | akegalj quits (~akegalj@89-164-119-54.dsl.iskon.hr) (Quit: leaving) |
| 15:29:42 | → | vpan joins (~0@212.117.1.172) |
| 15:30:25 | → | freeside joins (~mengwong@122.11.248.245) |
| 15:31:57 | <tokie> | (beginner) i was reading a chapter on Monoids and a section discussing the First and Last monoids, and so I wrote a little funciton that combines foldr and First to return the first out of a foldable thing of Maybes. It was pretty long winded, though, because I had to do something like 'findFirst xs = getFirst $ foldr (mappend . First) mempty xs' |
| 15:32:08 | → | shriekingnoise joins (~shrieking@186.137.175.87) |
| 15:32:11 | <tokie> | is there a more cononical way to do this? |
| 15:32:24 | <tokie> | *canonical |
| 15:35:22 | <EvanR> | there's mconcat |
| 15:35:24 | <EvanR> | :t mconcat |
| 15:35:25 | <lambdabot> | Monoid a => [a] -> a |
| 15:35:58 | <EvanR> | > mconcat [First Nothing, First Nothing, First (Just 'a'), First (Just 'b')] |
| 15:36:00 | <lambdabot> | First {getFirst = Just 'a'} |
| 15:36:52 | × | Square quits (~Square4@user/square) (Ping timeout: 276 seconds) |
| 15:37:31 | <EvanR> | > mconcat [Sum 1, Sum 2, Sum 3, Sum 4] |
| 15:37:31 | × | slack1256 quits (~slack1256@186.11.43.166) (Ping timeout: 268 seconds) |
| 15:37:33 | <lambdabot> | Sum {getSum = 10} |
| 15:38:11 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 260 seconds) |
| 15:38:26 | <EvanR> | @src mconcat |
| 15:38:26 | <lambdabot> | Source not found. It can only be attributed to human error. |
| 15:38:41 | <EvanR> | the default implementation is likely very similar to your version of findFirst |
| 15:39:01 | <merijn> | There's also, foldMap |
| 15:39:03 | <merijn> | :t foldMap |
| 15:39:05 | <lambdabot> | (Foldable t, Monoid m) => (a -> m) -> t a -> m |
| 15:39:25 | <merijn> | > foldMap First [Nothing, Nothing, Just 'a', Just 'b'] |
| 15:39:27 | <lambdabot> | First {getFirst = Just 'a'} |
| 15:41:01 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 15:41:05 | <tokie> | yeah, foldMap was what i was thinking of - i think mconcat would require the list by mapped to First first? |
| 15:41:55 | <tokie> | getFirst $ mconcat $ map First [Nothing, Just 12, Nothing] |
| 15:42:03 | <EvanR> | yeah that's just foldMap |
| 15:42:24 | <EvanR> | :t fold |
| 15:42:25 | <lambdabot> | (Foldable t, Monoid m) => t m -> m |
| 15:42:32 | <ncf> | :t ala First foldMap |
| 15:42:34 | <lambdabot> | Foldable t => t (Maybe b) -> Maybe b |
| 15:44:03 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:fa35:3b99:1ed2:7301) (Quit: WeeChat 2.8) |
| 15:45:05 | <tokie> | thanks! that helps |
| 15:47:29 | <EvanR> | > sort (map Down [4,3,7,6,5]) |
| 15:47:30 | <lambdabot> | [Down 7,Down 6,Down 5,Down 4,Down 3] |
| 15:47:45 | <merijn> | > sortOn Down [4,3,7,6,5] |
| 15:47:46 | <lambdabot> | [7,6,5,4,3] |
| 15:48:08 | <EvanR> | no getDown=, really |
| 15:48:29 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 15:48:31 | <monochrom> | Or would it be called runDown? :) |
| 15:48:45 | <EvanR> | getDown exists it seems but it's not Shown |
| 15:48:46 | <[exa]> | this is missed meme opportunity |
| 15:50:36 | → | freeside joins (~mengwong@122.11.248.245) |
| 15:51:38 | <merijn> | EvanR: I think getDown was added later and the show instance was kept the same for backwards compat or something |
| 15:53:15 | <EvanR> | phoenixDown, blackHawkDown, takeDown, tearDown, knockDown, trickleDown |
| 15:53:27 | <EvanR> | should all work |
| 15:54:27 | <EvanR> | meltDown, touchDown but no lockdowns please |
| 15:54:49 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 250 seconds) |
| 15:55:32 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 16:03:27 | × | kuribas quits (~user@ptr-17d51eohfrm53iss5au.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 27.1)) |
| 16:03:44 | × | ubert quits (~Thunderbi@p200300ecdf0c57fab49fa935f3952923.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 16:03:53 | → | ub joins (~Thunderbi@p548c84ba.dip0.t-ipconnect.de) |
| 16:04:10 | × | mbuf quits (~Shakthi@49.207.178.186) (Quit: Leaving) |
| 16:04:11 | → | ubert joins (~Thunderbi@p200300ecdf0c57fa632b521f42b5c1ff.dip0.t-ipconnect.de) |
| 16:04:41 | → | janus joins (janus@anubis.0x90.dk) |
| 16:05:15 | <janus> | is GHC tested on Linux >=6.1? my colleagues are experiencing segfaults with 9.2.6 on that kernel version |
| 16:05:38 | <janus> | GHC 9.2.7, i mean |
| 16:07:24 | × | fnurglewitz quits (uid263868@id-263868.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 16:09:12 | → | kimiamania joins (~65804703@user/kimiamania) |
| 16:11:19 | × | kimiamania3 quits (~65804703@user/kimiamania) (Ping timeout: 276 seconds) |
| 16:19:10 | → | econo joins (uid147250@user/econo) |
| 16:19:57 | → | ft joins (~ft@p3e9bc443.dip0.t-ipconnect.de) |
| 16:20:44 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 16:21:16 | → | Tom joins (~Tom@151.246.204.197) |
| 16:22:03 | Tom | is now known as Lensci |
| 16:22:16 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:710f:b6bb:b29d:a808) |
| 16:25:20 | → | freeside joins (~mengwong@122.11.248.245) |
| 16:25:43 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:710f:b6bb:b29d:a808) (Remote host closed the connection) |
| 16:26:02 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:710f:b6bb:b29d:a808) |
| 16:28:19 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection) |
| 16:29:22 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 246 seconds) |
| 16:33:21 | → | jinsun__ joins (~jinsun@user/jinsun) |
| 16:33:21 | jinsun | is now known as Guest5960 |
| 16:33:21 | × | Guest5960 quits (~jinsun@user/jinsun) (Killed (platinum.libera.chat (Nickname regained by services))) |
| 16:33:21 | jinsun__ | is now known as jinsun |
| 16:34:41 | jinsun | is now known as Guest5201 |
| 16:34:41 | → | jinsun__ joins (~jinsun@user/jinsun) |
| 16:34:41 | × | Guest5201 quits (~jinsun@user/jinsun) (Killed (zirconium.libera.chat (Nickname regained by services))) |
| 16:34:41 | jinsun__ | is now known as jinsun |
| 16:39:22 | → | sagax joins (~sagax_nb@user/sagax) |
| 16:43:55 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 248 seconds) |
| 16:44:33 | <maerwald[m]> | Nice |
| 16:46:19 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 16:47:59 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 265 seconds) |
| 16:49:03 | × | gurkenglas quits (~gurkengla@dynamic-046-114-183-096.46.114.pool.telefonica.de) (Ping timeout: 268 seconds) |
| 16:49:52 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 16:52:59 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 248 seconds) |
| 16:54:27 | <janus> | more details on this segfault: https://bbs.archlinux.org/viewtopic.php?id=282429 |
| 16:56:08 | <merijn> | janus: What's ulimit -a say? |
| 16:56:33 | <merijn> | janus: Possibly 6.1 has a different limit on virtual memory reservations? |
| 16:57:10 | <merijn> | null pointer sounds like a failing allocation |
| 16:57:12 | <int-e> | So this seems to be specifically the ghci linker? |
| 16:57:42 | × | kupi quits (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 16:58:42 | → | freeside joins (~mengwong@122.11.248.245) |
| 17:01:21 | <chreekat> | janus: I don't think it's tested on 6.x yet. Based on the linked thread, it would be great to open a ticket regardless of how much information you've got at hand |
| 17:01:31 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 17:02:51 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 250 seconds) |
| 17:03:24 | <davean> | janus: I' |
| 17:03:56 | <davean> | ve been using GHC on 6.1.12, I would bet thats an arch issue specificly. Arch has a lot of issues historically with Haskell because of how they package it. |
| 17:04:18 | × | gtdg quits (~gtdg@user/gtdg) (Ping timeout: 260 seconds) |
| 17:04:24 | <davean> | I note that is with mmap though specificly. |
| 17:04:26 | <merijn> | davean: the thread says it's the ghcup version of GHC, though |
| 17:04:33 | <davean> | oh I missed that in my read |
| 17:04:43 | <merijn> | but yeah, null pointer and mmap makes it sound like failing allocation |
| 17:05:01 | <merijn> | Which might happen if (Arch) 6.1 has different default restrictions |
| 17:05:28 | <davean> | it can be a lot of things when its mmap |
| 17:06:13 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 17:06:35 | <merijn> | Sure, that's just my first instinct |
| 17:07:08 | × | gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
| 17:07:25 | → | gentauro joins (~gentauro@user/gentauro) |
| 17:08:18 | × | mechap quits (~mechap@user/mechap) (Ping timeout: 255 seconds) |
| 17:10:25 | → | mechap joins (~mechap@user/mechap) |
| 17:12:53 | <janus> | my colleague has seen it on 4 different distros, so i don't think it's arch specific |
| 17:13:09 | <janus> | i'll boot into 6.1 and check the ulimit... |
| 17:15:32 | <davean> | I don't remember when I switched to 6.1, but this system's update is 9 days and I don't think thats when I switched? |
| 17:18:49 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 17:26:54 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz) |
| 17:32:03 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 260 seconds) |
| 17:32:22 | × | zeenk quits (~zeenk@2a02:2f04:a307:2300::7fe) (Quit: Konversation terminated!) |
| 17:33:47 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 17:36:42 | <int-e> | Hmm, one of the possible error conditions of `mmap` is exceeding vm.max_map_count mappings... might be worth a try to bump that and see if it fixes the error. |
| 17:37:20 | <int-e> | (and *if* it fixes the error it'll be fun to analyze why the kernel version makes a difference) |
| 17:39:06 | → | sp00kins joins (~sp00kins@2603:3021:3971:2100::49ad) |
| 17:40:46 | × | bhall quits (~brunohall@195.147.207.136) (Ping timeout: 246 seconds) |
| 17:41:17 | → | bhall joins (~brunohall@195.147.207.136) |
| 17:42:35 | × | vpan quits (~0@212.117.1.172) (Quit: Leaving.) |
| 17:42:54 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 17:44:07 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:46:28 | → | o-90 joins (~o-90@gateway/tor-sasl/o-90) |
| 17:48:16 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 252 seconds) |
| 17:48:30 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 17:48:37 | × | jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Remote host closed the connection) |
| 17:49:14 | → | jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 17:49:30 | → | freeside joins (~mengwong@122.11.248.245) |
| 17:50:29 | × | cassiopea quits (~cassiopea@user/cassiopea) (Remote host closed the connection) |
| 17:52:15 | × | Midjak quits (~Midjak@82.66.147.146) (Ping timeout: 250 seconds) |
| 17:53:59 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 260 seconds) |
| 17:57:41 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 18:00:46 | × | o-90 quits (~o-90@gateway/tor-sasl/o-90) (Quit: Leaving) |
| 18:04:59 | → | klestor joins (~klestor@2a02:c7c:3114:a400:46d:d1c0:4437:4288) |
| 18:07:58 | × | klestor quits (~klestor@2a02:c7c:3114:a400:46d:d1c0:4437:4288) (Quit: Client closed) |
| 18:09:04 | → | mmhat joins (~mmh@p200300f1c715f74dee086bfffe095315.dip0.t-ipconnect.de) |
| 18:15:26 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 18:17:55 | × | mmhat quits (~mmh@p200300f1c715f74dee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.8) |
| 18:19:28 | × | accord quits (uid568320@id-568320.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 18:22:50 | → | hugo- joins (znc@verdigris.lysator.liu.se) |
| 18:23:21 | → | freeside joins (~mengwong@122.11.248.245) |
| 18:28:28 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 18:32:35 | × | perrierjouet quits (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Ping timeout: 264 seconds) |
| 18:41:40 | × | CiaoSen quits (~Jura@p200300c9571fe6002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 18:41:46 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 18:50:48 | → | perrierjouet joins (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) |
| 19:00:13 | <janus> | ok , i have reproduced the problem using a manually built 6.1.20 kernel on debian 11 |
| 19:00:24 | <janus> | (had to compile using llvm because there is a problem with debian's gcc-10) |
| 19:00:56 | → | slack1256 joins (~slack1256@181.42.50.18) |
| 19:01:01 | <janus> | and i checked vm.map_map_count, it is unchanged relative to my debian 11 laptop. it is 65530 on both |
| 19:01:06 | × | Lensci quits (~Tom@151.246.204.197) (Quit: Client closed) |
| 19:09:45 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 19:09:48 | × | slack1256 quits (~slack1256@181.42.50.18) (Ping timeout: 255 seconds) |
| 19:11:36 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 19:14:07 | → | gurkenglas joins (~gurkengla@dynamic-046-114-183-154.46.114.pool.telefonica.de) |
| 19:14:43 | → | freeside joins (~mengwong@122.11.248.245) |
| 19:15:11 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
| 19:18:46 | × | ddellacosta quits (~ddellacos@146.70.165.203) (Quit: WeeChat 3.8) |
| 19:19:31 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 268 seconds) |
| 19:25:35 | → | ddellacosta joins (~ddellacos@146.70.165.203) |
| 19:26:37 | <janus> | merijn (if you have logs): ulimits are similar, but -u (processes) is 63411 on 6.1.20 and 31220 on the vanilla kernel. -l (locked-in-memory) is 2035706 while it is 1005239 on the old. -i (pending signals) is 63411 while it is 31220 on the old |
| 19:26:59 | <janus> | these numbers are from different hardware, not sure whether these values are set dynamically? |
| 19:27:19 | → | vglfr joins (~vglfr@88.155.41.190) |
| 19:30:56 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 19:32:43 | <int-e> | janus: I'd still try bumping the vm.max_map_count simply to hopefully rule that out as a possibility. There have been memory management changes to Linux so it's conceivable that, say, anonymous maps are coalesced less frequently now. Not terribly likely but relatively easy to rule out. |
| 19:36:41 | <int-e> | janus: At the low level the error you're seeing is that a mmap call returned ENOMEM so `man mmap` can serve as a checklist to go through. You have memory available, and there's no address provided, so that rules out two of the causes, leaving two more; the other one is RLIMIT_DATA which ulimit should report. |
| 19:37:14 | <int-e> | (The documentation may be incomplete or wrong, of course.) |
| 19:37:43 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 19:39:38 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 19:42:13 | × | lbseale quits (~quassel@user/ep1ctetus) (Ping timeout: 246 seconds) |
| 19:42:59 | <janus> | int-e: i bumped it to 1000000 (one million), doesn't change anything |
| 19:43:04 | → | qwert joins (~qwert@95.107.230.70) |
| 19:43:46 | → | lbseale joins (~quassel@user/ep1ctetus) |
| 19:45:42 | <int-e> | Okay, there goes that idea. |
| 19:46:24 | × | trev quits (~trev@user/trev) (Remote host closed the connection) |
| 19:46:44 | → | cassiopea joins (~cassiopea@user/cassiopea) |
| 19:47:48 | × | zmt01 quits (~zmt00@user/zmt00) (Ping timeout: 246 seconds) |
| 19:58:21 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 250 seconds) |
| 19:58:23 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 20:00:17 | → | slack1256 joins (~slack1256@181.42.50.18) |
| 20:02:56 | → | freeside joins (~mengwong@122.11.248.245) |
| 20:07:33 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 256 seconds) |
| 20:11:10 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds) |
| 20:12:03 | → | nschoe joins (~q@2a01:e0a:8e:a190:32f5:3614:7aa3:6e6) |
| 20:17:59 | → | zmt00 joins (~zmt00@user/zmt00) |
| 20:25:58 | × | lxi_ quits (~quassel@2a02:2f08:4303:7700:6251:77c:f4b2:f7b8) (Ping timeout: 265 seconds) |
| 20:29:55 | × | slack1256 quits (~slack1256@181.42.50.18) (Remote host closed the connection) |
| 20:29:58 | <EvanR> | I'm hearing (as of linux 6.1.20) "one does not simply use mmap" |
| 20:30:10 | <EvanR> | based on this discussion |
| 20:34:06 | <[exa]> | I should have a look at the changelog |
| 20:34:41 | → | freeside joins (~mengwong@122.11.248.245) |
| 20:35:22 | <int-e> | 6.1 introduced something called "maple trees" for managing the address space, which is a rather invasive change. |
| 20:36:24 | <int-e> | Which relates to mmap, and it's new code, so *maybe* there's a bug? |
| 20:39:11 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 260 seconds) |
| 20:40:35 | → | jerg joins (~jerg@2001:a61:2611:1701:e737:6af:a06e:d388) |
| 20:41:53 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 20:45:43 | × | mei quits (~mei@user/mei) (Remote host closed the connection) |
| 20:48:09 | → | mei joins (~mei@user/mei) |
| 20:49:16 | → | pavonia joins (~user@user/siracusa) |
| 20:50:27 | <[exa]> | int-e: quite conveniently there's been changes to various other page handling things |
| 20:51:12 | <int-e> | Nice, even more variables. |
| 20:51:33 | <int-e> | So how does one reproduce this? :-P |
| 20:52:11 | <[exa]> | https://kernelnewbies.org/Linux_6.1#Memory_management ... well "good luck" |
| 20:53:40 | <geekosaur> | in any case we're well beyond "ask in #ghc" territory |
| 20:53:40 | <int-e> | Yeah I went there earlier; the maple tree changes stand out in that they actually touch mmap.c |
| 20:53:50 | <geekosaur> | and I suspect poor bgamari will be horrified |
| 20:55:06 | × | vglfr quits (~vglfr@88.155.41.190) (Ping timeout: 255 seconds) |
| 20:56:32 | <monochrom> | This gives us Canadians a bad name. We are fond of maple things. :) |
| 20:57:22 | <int-e> | There are maples in Europe too |
| 20:57:42 | <int-e> | It's just a kind of tree. ;-) |
| 20:59:42 | <janus> | int-e: i am trying to see if i can reproduce it by launching ghci on the codebase |
| 21:00:02 | <janus> | int-e: i wasn't able to reproduce it on pandoc, which usually makes people's computers blow up |
| 21:00:14 | <janus> | probably because they don't have that many modules per package? |
| 21:00:36 | <janus> | the two projects at work i can reproduce it with both have ~1000 modules |
| 21:00:58 | <int-e> | monochrom: I do wonder why it's called that. |
| 21:01:15 | <janus> | s/ghci on the codebase/ghci on the ghc codebase/ |
| 21:01:35 | <geekosaur> | there's a script for that somewhere |
| 21:01:57 | <janus> | right, i just wanted to make sure the normal hadrian build runs first, so currently crunching through stage1 |
| 21:02:18 | <mon_aaraj> | <merijn> "ribosomerocker: Especially since..." <- yeah, i've noticed, haskell really seems to ignore interactive programming, which seems disappointing to me |
| 21:02:30 | <janus> | (this is my first time compiling anything more modern than ghc-0.96 :P) |
| 21:03:32 | <geekosaur> | need that anyway, looks like hadrian builds it |
| 21:03:53 | <geekosaur> | you should have a "ghc-in-ghci" somewhere after the build |
| 21:07:46 | → | freeside joins (~mengwong@122.11.248.245) |
| 21:08:07 | × | sp00kins quits (~sp00kins@2603:3021:3971:2100::49ad) (Quit: sp00kins) |
| 21:12:07 | → | captnemo joins (~captnemo@193.32.127.232) |
| 21:12:11 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 248 seconds) |
| 21:24:31 | → | irrgit_ joins (~irrgit@176.113.74.138) |
| 21:27:37 | × | irrgit__ quits (~irrgit@176.113.74.130) (Ping timeout: 250 seconds) |
| 21:29:10 | <EvanR> | linux memory management was rewritten in Maple? |
| 21:29:16 | <EvanR> | that can't be good |
| 21:30:22 | <davean> | EvanR: Huh? I think you're deeply confused |
| 21:30:37 | <int-e> | EvanR: No, but it was rewritten by Oracle which doesn't sound any better. |
| 21:30:38 | <geekosaur> | that sounded like an EvanR-style joke to me |
| 21:30:53 | <EvanR> | all of the above are true |
| 21:31:23 | <int-e> | "rewritten" is perhaps a bit too strong, but we *were* joking |
| 21:32:44 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 21:34:23 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
| 21:48:35 | → | aisa joins (~aisa@user/aisa) |
| 21:49:35 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 265 seconds) |
| 21:52:19 | × | bhall quits (~brunohall@195.147.207.136) (Ping timeout: 250 seconds) |
| 21:53:07 | <janus> | argh i did hadrian/ghci , it reports GHCi 9.2.7 and loads 772 modules with no crash... |
| 21:54:00 | <janus> | oh, but is it interpreting them? it doesn't show 'interpreted' in the parenthesis |
| 21:54:25 | → | sp00kins joins (~sp00kins@246.sub-174-216-180.myvzw.com) |
| 21:57:53 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 21:59:34 | → | freeside joins (~mengwong@122.11.248.245) |
| 21:59:45 | <janus> | i'll move to #ghc :P |
| 22:04:16 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 22:06:13 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds) |
| 22:07:02 | × | mastarija quits (~mastarija@188.252.199.82) (Quit: WeeChat 3.7.1) |
| 22:11:02 | × | sp00kins quits (~sp00kins@246.sub-174-216-180.myvzw.com) (Read error: Connection reset by peer) |
| 22:15:13 | × | qwert quits (~qwert@95.107.230.70) (Ping timeout: 260 seconds) |
| 22:22:14 | → | vglfr joins (~vglfr@88.155.41.190) |
| 22:24:38 | × | tusko quits (~yeurt@user/tusko) (Ping timeout: 255 seconds) |
| 22:25:45 | → | tusko joins (~yeurt@user/tusko) |
| 22:30:35 | × | vglfr quits (~vglfr@88.155.41.190) (Ping timeout: 248 seconds) |
| 22:32:07 | → | freeside joins (~mengwong@122.11.248.245) |
| 22:36:47 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 264 seconds) |
| 22:44:05 | → | nilradical joins (~nilradica@user/naso) |
| 22:44:05 | × | nilradical quits (~nilradica@user/naso) (Client Quit) |
| 22:52:25 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 23:00:55 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 23:05:46 | → | freeside joins (~mengwong@122.11.248.245) |
| 23:07:11 | → | Tuplanolla joins (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) |
| 23:10:04 | → | zeenk joins (~zeenk@2a02:2f04:a307:2300::7fe) |
| 23:10:34 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 23:13:20 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 23:13:59 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 23:16:50 | × | mei quits (~mei@user/mei) (Remote host closed the connection) |
| 23:19:16 | → | mei joins (~mei@user/mei) |
| 23:19:33 | × | _xor quits (~xor@74.215.46.17) (Quit: WeeChat 3.8) |
| 23:25:05 | × | michalz quits (~michalz@185.246.207.215) (Remote host closed the connection) |
| 23:33:19 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 276 seconds) |
| 23:34:38 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 23:37:34 | × | zeenk quits (~zeenk@2a02:2f04:a307:2300::7fe) (Quit: Konversation terminated!) |
| 23:39:08 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 23:43:31 | × | nschoe quits (~q@2a01:e0a:8e:a190:32f5:3614:7aa3:6e6) (Ping timeout: 260 seconds) |
| 23:45:46 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 23:45:57 | → | zeenk joins (~zeenk@2a02:2f04:a307:2300::7fe) |
| 23:47:10 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 250 seconds) |
| 23:49:29 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 23:53:27 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 23:53:30 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 23:55:05 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 23:55:05 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 23:55:05 | → | wroathe joins (~wroathe@user/wroathe) |
All times are in UTC on 2023-03-17.