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