2021-11-22 00:03:03 +0100 | bitdex_ | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds) |
2021-11-22 00:03:38 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:78f3:43f3:fd48:5ac3) (Remote host closed the connection) |
2021-11-22 00:04:17 +0100 | f-a | (f2a@f2a.jujube.ircnow.org) |
2021-11-22 00:04:45 +0100 | bitdex_ | (~bitdex@gateway/tor-sasl/bitdex) |
2021-11-22 00:06:13 +0100 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-11-22 00:08:27 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
2021-11-22 00:08:57 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-11-22 00:14:07 +0100 | haritz | (~hrtz@user/haritz) (Ping timeout: 256 seconds) |
2021-11-22 00:15:06 +0100 | max22- | (~maxime@2a01cb0883359800ebf1dbb598d360cc.ipv6.abo.wanadoo.fr) (Quit: Leaving) |
2021-11-22 00:15:09 +0100 | <unit73e> | did the SDL2 animation example base on time. next will do movement. proper movement, not that choppy lazyfoo example. |
2021-11-22 00:15:32 +0100 | <unit73e> | with colision that's enough for a simple game |
2021-11-22 00:16:02 +0100 | Lycurgus | (~juan@98.4.112.204) |
2021-11-22 00:16:13 +0100 | <unit73e> | It's taking some time but I'll finish this |
2021-11-22 00:16:19 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.) |
2021-11-22 00:16:23 +0100 | alx741 | (~alx741@186.178.108.219) (Ping timeout: 256 seconds) |
2021-11-22 00:16:31 +0100 | <unit73e> | I mean this here: https://gitlab.com/unit73e/sdl2-examples |
2021-11-22 00:16:43 +0100 | <Lycurgus> | what machine lang coders could/can say is that nothing is getting between them and the iron |
2021-11-22 00:17:23 +0100 | <unit73e> | except what's between the chair and keyboard :p |
2021-11-22 00:17:23 +0100 | <dolio> | They can't say that, though. |
2021-11-22 00:17:45 +0100 | <dolio> | Unless they buy a CPU without microcode or something. |
2021-11-22 00:18:15 +0100 | <Lycurgus> | in the day, microcoded arches weren't that common |
2021-11-22 00:18:45 +0100 | <dolio> | I mean, people will still say it anyway. |
2021-11-22 00:19:08 +0100 | haritz | (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) |
2021-11-22 00:19:08 +0100 | haritz | (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) (Changing host) |
2021-11-22 00:19:08 +0100 | haritz | (~hrtz@user/haritz) |
2021-11-22 00:19:15 +0100 | <unit73e> | if you're talking about why you like Haskell that's because I don't like to do maintenance and Haskell encourages programmers do avoid doing some of the silly things that will later make the app unmaintainable |
2021-11-22 00:19:36 +0100 | <Lycurgus> | also there were user microprogrammable archees |
2021-11-22 00:19:51 +0100 | <Lycurgus> | only one major one though |
2021-11-22 00:19:53 +0100 | nitrix | (~nitrix@user/nitrix) (Leaving) |
2021-11-22 00:20:19 +0100 | euouae | (~euouae@user/euouae) (Quit: ) |
2021-11-22 00:20:28 +0100 | shailangsa | (~shailangs@host86-186-133-114.range86-186.btcentralplus.com) |
2021-11-22 00:21:46 +0100 | ees | (~user@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 260 seconds) |
2021-11-22 00:21:49 +0100 | <unit73e> | and then java/c/python/c# devs say, oh muh mutable objects are so much easier to work with, yes but it's also a lot easier to mess your entire program with that |
2021-11-22 00:22:50 +0100 | <Lycurgus> | also the biggest microcoded arch, 360/370 the instruction set in effect was the machine/iron |
2021-11-22 00:24:34 +0100 | <Lycurgus> | there's a lot of free stuff from haskell but generally you have no idea how it actually at the lowest level works |
2021-11-22 00:25:25 +0100 | <Lycurgus> | relatively speaking, it's a faith |
2021-11-22 00:26:32 +0100 | <unit73e> | does a driver have to care how the gasoline electrons collide with each other when the engine starts? |
2021-11-22 00:26:46 +0100 | <unit73e> | it's the same for high level languages |
2021-11-22 00:27:49 +0100 | <Lycurgus> | what you actually have to be believer of though is the pure mathematics is the only right model of computation |
2021-11-22 00:27:52 +0100 | <geekosaur> | I'm inclined to agree with that. Even for C I'm placing my faith in the compiler |
2021-11-22 00:27:59 +0100 | <geekosaur> | enh |
2021-11-22 00:28:05 +0100 | f-a | (f2a@f2a.jujube.ircnow.org) () |
2021-11-22 00:28:10 +0100 | <geekosaur> | Haskell is rather far from pure maths |
2021-11-22 00:28:21 +0100 | <geekosaur> | and I never use it as if it were |
2021-11-22 00:29:09 +0100 | <geekosaur> | something loike numeric-prelude gets you much closer to pure mathematics as computing substrate. you can go count how many packages use it at packdeps.haskellers.com/reverse |
2021-11-22 00:29:53 +0100 | <Lycurgus> | i said that was the notional conceit, not the claimed realization |
2021-11-22 00:30:02 +0100 | <geekosaur> | Monad is *inspired by* category theory. it doesn't require you to know CT to use it, or even to develop your own monads |
2021-11-22 00:30:12 +0100 | <Lycurgus> | like communicating objects before it |
2021-11-22 00:31:34 +0100 | <smunix> | unit73e, nice! What would it take to add nix to it? It may help remove the `Requirements` section |
2021-11-22 00:31:43 +0100 | <Lycurgus> | well they were coeval igess, but then OO got stale and corporatized |
2021-11-22 00:33:55 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) (Ping timeout: 250 seconds) |
2021-11-22 00:34:30 +0100 | <unit73e> | smunix, nix as in nixos? I put SDL2 apps/plugins required to be generic for any OS. Should be easy enough for anyone to figure out, I think. |
2021-11-22 00:34:43 +0100 | <EvanR> | unit73e, see also #haskell-game xD |
2021-11-22 00:35:06 +0100 | <unit73e> | there's a specific haskell game server? lol |
2021-11-22 00:35:07 +0100 | <unit73e> | thanks |
2021-11-22 00:35:20 +0100 | <EvanR> | channel |
2021-11-22 00:35:25 +0100 | <EvanR> | just a* |
2021-11-22 00:35:28 +0100 | <geekosaur> | "room" if you prefer |
2021-11-22 00:35:38 +0100 | <unit73e> | yes channel, I mix a lot because of discord and friends :\ |
2021-11-22 00:35:57 +0100 | <EvanR> | fr--- libera is the server lol |
2021-11-22 00:36:02 +0100 | <unit73e> | yeah |
2021-11-22 00:36:16 +0100 | <EvanR> | well, network I guess |
2021-11-22 00:36:26 +0100 | <unit73e> | and hashtags used to mean channels but twitter ruined that lol |
2021-11-22 00:36:46 +0100 | mimmy_ | (~mimmy@2607:fea8:6e0:7f90:7c3d:8173:a37e:d50a) |
2021-11-22 00:36:51 +0100 | <Sqaure> | Is there some easy way to query Aeson "Value" type. Im thinking lens like getters if you will. |
2021-11-22 00:38:08 +0100 | Topsi | (~Tobias@dyndsl-037-138-064-016.ewe-ip-backbone.de) |
2021-11-22 00:38:20 +0100 | <unit73e> | ? you have to give a type to Aeson, not the other way around, right? |
2021-11-22 00:38:59 +0100 | stiell | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2021-11-22 00:39:29 +0100 | <Sqaure> | Aeson is the lib that defines a tree like structure called Value. Basically just typed json. I see now there is lens-aeson |
2021-11-22 00:40:05 +0100 | <seanparsons> | Sqaure: I can definitely recommend lens-aeson, I often use it to drill into instances of Value. |
2021-11-22 00:40:30 +0100 | <Sqaure> | seanparsons, ah ok. I guess I'll roll with that then |
2021-11-22 00:41:31 +0100 | mimmy_ | (~mimmy@2607:fea8:6e0:7f90:7c3d:8173:a37e:d50a) (Ping timeout: 250 seconds) |
2021-11-22 00:44:17 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:d09a:3c35:dab9:95ad) |
2021-11-22 00:46:41 +0100 | Lycurgus | (~juan@98.4.112.204) (Quit: Exeunt) |
2021-11-22 00:47:01 +0100 | Jing | (~hedgehog@2604:a840:3::1094) (Remote host closed the connection) |
2021-11-22 00:47:22 +0100 | vysn | (~vysn@user/vysn) (Ping timeout: 260 seconds) |
2021-11-22 00:47:43 +0100 | Jing | (~hedgehog@2604:a840:3::1094) |
2021-11-22 00:47:57 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
2021-11-22 00:48:23 +0100 | nautical | (~nautical@2601:602:900:1630::396f) |
2021-11-22 00:50:44 +0100 | emf | (~emf@2620:10d:c090:400::5:5322) |
2021-11-22 00:50:54 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:78f3:43f3:fd48:5ac3) |
2021-11-22 00:53:31 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) |
2021-11-22 00:55:23 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:78f3:43f3:fd48:5ac3) (Ping timeout: 250 seconds) |
2021-11-22 00:55:33 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Read error: Connection reset by peer) |
2021-11-22 00:55:51 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
2021-11-22 00:56:46 +0100 | emf | (~emf@2620:10d:c090:400::5:5322) (Quit: emf) |
2021-11-22 01:00:59 +0100 | alx741 | (~alx741@186.178.108.219) |
2021-11-22 01:01:09 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:d09a:3c35:dab9:95ad) (Quit: gone to sleep. ZZZzzz…) |
2021-11-22 01:01:36 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-11-22 01:01:55 +0100 | mmhat | (~mmh@55d438c0.access.ecotel.net) (Quit: WeeChat 3.3) |
2021-11-22 01:02:24 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b4a8:9431:5c1:c0e0) (Remote host closed the connection) |
2021-11-22 01:04:19 +0100 | Topsi1 | (~Tobias@dyndsl-037-138-064-016.ewe-ip-backbone.de) |
2021-11-22 01:04:25 +0100 | <dibblego> | or waargonaut, but it's not aeson |
2021-11-22 01:04:31 +0100 | <dibblego> | also, g'day seanparsons |
2021-11-22 01:04:39 +0100 | retroid_ | (~retro@97e2ba2e.skybroadband.com) |
2021-11-22 01:05:07 +0100 | retro_ | (~retro@97e2ba2e.skybroadband.com) (Ping timeout: 268 seconds) |
2021-11-22 01:05:19 +0100 | Topsi2 | (~Tobias@dyndsl-037-138-064-016.ewe-ip-backbone.de) |
2021-11-22 01:05:34 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds) |
2021-11-22 01:06:02 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
2021-11-22 01:07:58 +0100 | Topsi | (~Tobias@dyndsl-037-138-064-016.ewe-ip-backbone.de) (Ping timeout: 260 seconds) |
2021-11-22 01:08:54 +0100 | Topsi1 | (~Tobias@dyndsl-037-138-064-016.ewe-ip-backbone.de) (Ping timeout: 260 seconds) |
2021-11-22 01:10:34 +0100 | <Axman6> | lens-aeson plus the uniplate stuff in the lens library lets you do some super powerful stuff with aeson Values - need to find all the URLs in strings anywhere? Bam, it's like 100 characters to do that |
2021-11-22 01:13:35 +0100 | jinsun | (~quassel@user/jinsun) (Ping timeout: 250 seconds) |
2021-11-22 01:19:46 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2021-11-22 01:24:02 +0100 | jess | (~jess@libera/staff/jess) () |
2021-11-22 01:25:35 +0100 | Midjak | (~Midjak@82-65-111-221.subs.proxad.net) (Quit: This computer has gone to sleep) |
2021-11-22 01:26:42 +0100 | tabemann | (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Quit: Leaving) |
2021-11-22 01:32:44 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-22 01:34:08 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds) |
2021-11-22 01:34:27 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2021-11-22 01:35:01 +0100 | sub0 | (~bc8165b6@217.29.117.252) |
2021-11-22 01:37:09 +0100 | <sub0> | hi. what is the equivalent of this in haskell? TYPE *p = malloc(sizeof *p); cfunc(p); |
2021-11-22 01:38:03 +0100 | <sub0> | closest I could get is this, but what if it was a pointer to a type where I can't or don't want to specify some dummy value: withArray [1] $ \p -> cfunc( p) |
2021-11-22 01:41:04 +0100 | meinside | (uid24933@id-24933.helmsley.irccloud.com) |
2021-11-22 01:41:19 +0100 | <geekosaur> | @index alloca |
2021-11-22 01:41:19 +0100 | <lambdabot> | Foreign.Marshal.Alloc, Foreign.Marshal, Foreign, Foreign.Safe, Foreign.Marshal.Safe |
2021-11-22 01:42:07 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:d09a:3c35:dab9:95ad) |
2021-11-22 01:42:20 +0100 | <geekosaur> | there is also malloc but you'll really want to free it in a related value's finalizer |
2021-11-22 01:45:38 +0100 | <sub0> | thanks, works nicely |
2021-11-22 01:47:51 +0100 | <sub0> | alloca $ \p -> do cfunc p; peek p |
2021-11-22 01:48:17 +0100 | mimmy_ | (~mimmy@2607:fea8:6e0:7f90:7c3d:8173:a37e:d50a) |
2021-11-22 01:52:10 +0100 | <jle`> | any guide on how to migrate template haskell to the ghc 9.0 version that uses 'Code' for typed quotations? |
2021-11-22 01:53:14 +0100 | mimmy_ | (~mimmy@2607:fea8:6e0:7f90:7c3d:8173:a37e:d50a) (Ping timeout: 268 seconds) |
2021-11-22 01:53:58 +0100 | unit73e | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Quit: Leaving) |
2021-11-22 01:54:58 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) |
2021-11-22 01:55:18 +0100 | <jle`> | oh i just needed to add a newtype wrapper in a careful place |
2021-11-22 01:58:50 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 260 seconds) |
2021-11-22 01:59:08 +0100 | jmorris | (uid433911@id-433911.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-11-22 01:59:31 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2021-11-22 02:02:53 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b4a8:9431:5c1:c0e0) |
2021-11-22 02:07:14 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-11-22 02:07:38 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b4a8:9431:5c1:c0e0) (Ping timeout: 260 seconds) |
2021-11-22 02:10:17 +0100 | <Axman6> | Be wery wery careful, we're huntin' newtypes |
2021-11-22 02:11:25 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2021-11-22 02:13:35 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b4a8:9431:5c1:c0e0) |
2021-11-22 02:15:53 +0100 | helby | (helby@alpine/moderator/helby) () |
2021-11-22 02:17:32 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2021-11-22 02:19:01 +0100 | mvk | (~mvk@2607:fea8:5cc1:fa00::4702) |
2021-11-22 02:26:57 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
2021-11-22 02:27:16 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) |
2021-11-22 02:28:00 +0100 | cjb | (~cjb@user/cjb) (Ping timeout: 260 seconds) |
2021-11-22 02:29:57 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3) |
2021-11-22 02:31:21 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b4a8:9431:5c1:c0e0) (Remote host closed the connection) |
2021-11-22 02:31:39 +0100 | cjb | (~cjb@user/cjb) |
2021-11-22 02:37:20 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:14a5:84da:2caa:2854) (Quit: Textual IRC Client: www.textualapp.com) |
2021-11-22 02:38:27 +0100 | burnsidesLlama | (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-11-22 02:39:17 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:d09a:3c35:dab9:95ad) (Quit: gone to sleep. ZZZzzz…) |
2021-11-22 02:41:59 +0100 | mimmy_ | (~mimmy@2607:fea8:6e0:7f90:d9be:afe3:4e5b:d63) |
2021-11-22 02:47:19 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:d41b:9326:c4d8:9f2a) |
2021-11-22 02:56:42 +0100 | mimmy | (~mimmy@2607:fea8:6e0:7f90:9c35:bed7:e2c:e900) |
2021-11-22 02:56:45 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 268 seconds) |
2021-11-22 02:56:53 +0100 | mimmy | (~mimmy@2607:fea8:6e0:7f90:9c35:bed7:e2c:e900) (Client Quit) |
2021-11-22 02:58:13 +0100 | mimmy_ | (~mimmy@2607:fea8:6e0:7f90:d9be:afe3:4e5b:d63) (Ping timeout: 250 seconds) |
2021-11-22 03:00:59 +0100 | stiell | (~stiell@gateway/tor-sasl/stiell) |
2021-11-22 03:06:18 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b4a8:9431:5c1:c0e0) |
2021-11-22 03:08:27 +0100 | alzgh | (~alzgh@user/alzgh) (Remote host closed the connection) |
2021-11-22 03:16:39 +0100 | jmorris | (uid433911@id-433911.hampstead.irccloud.com) |
2021-11-22 03:20:56 +0100 | <Axman6> | @hoogle Lens s t a b -> (a -> m b) -> s -> m t |
2021-11-22 03:20:57 +0100 | <lambdabot> | No results found |
2021-11-22 03:22:37 +0100 | tabemann | (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) |
2021-11-22 03:23:34 +0100 | <Axman6> | there's definitely a lensy thing for that right? |
2021-11-22 03:24:19 +0100 | <awpr> | > _1 print (2, 4) |
2021-11-22 03:24:20 +0100 | <lambdabot> | <IO ((),Integer)> |
2021-11-22 03:24:39 +0100 | <awpr> | the lens is already that result type to begin with (for any Functor m) |
2021-11-22 03:25:01 +0100 | <awpr> | there might be a function `traverseOf` for that, but it's just `id` |
2021-11-22 03:28:37 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-11-22 03:31:43 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-11-22 03:31:43 +0100 | <Boarders_> | do any of you know in brick how I can add a background colour behind each of the widgets (not changing any of the widget colours? |
2021-11-22 03:31:58 +0100 | <Boarders_> | it seems like the drawApp thing should allow me to do it with layering but I can't figure it out |
2021-11-22 03:33:09 +0100 | <Boarders_> | e.g. in this snake example: https://samtay.github.io/posts/introduction-to-brick how would one render the area outside of the boxes as another colour? |
2021-11-22 03:34:03 +0100 | jackhill | KM4MBG |
2021-11-22 03:34:33 +0100 | ceedon | (~ceedon@h224.77.91.75.dynamic.ip.windstream.net) |
2021-11-22 03:37:08 +0100 | <sm> | Boarders_: do something with the outermost/largest widget |
2021-11-22 03:37:45 +0100 | <sm> | there is a `margin` function that puts a margin of a certain colour |
2021-11-22 03:38:15 +0100 | <sm> | I guess you want it over the full screen, showing through transparent foreground widgets ? |
2021-11-22 03:38:45 +0100 | <Boarders_> | yes, exactly that last thing |
2021-11-22 03:39:21 +0100 | <Boarders_> | by outermost/largest, do you mean the last widget returned in appDraw? |
2021-11-22 03:41:11 +0100 | <Boarders_> | ah no, I think that is something to do with buffering |
2021-11-22 03:42:11 +0100 | <sm> | Boarders_: I don't see anything about transparency in brick or vty, unfortunately |
2021-11-22 03:42:39 +0100 | ceedon | (~ceedon@h224.77.91.75.dynamic.ip.windstream.net) (Ping timeout: 256 seconds) |
2021-11-22 03:42:57 +0100 | <sm> | it might be in brick's issue tracker. If not I guess you have to implement it yourself (make a custom widget that combines your layers) |
2021-11-22 03:43:35 +0100 | xff0x | (~xff0x@2001:1a81:526f:1d00:d375:c485:c62f:a6f6) (Ping timeout: 264 seconds) |
2021-11-22 03:43:42 +0100 | <Boarders_> | with the last option, do you make the widget and then just give it an attribute with the relevant background colour? |
2021-11-22 03:43:47 +0100 | <sm> | ansi-terminal-game is a brick-like thing where transparency is easy, just FYI |
2021-11-22 03:44:22 +0100 | <Boarders_> | thanks, I'll give that a look |
2021-11-22 03:44:42 +0100 | <sm> | Boarders_: a widget that fills the window and within itself implements the painter's algorithm or something |
2021-11-22 03:45:04 +0100 | xff0x | (~xff0x@2001:1a81:52ae:a700:ef5b:bdbe:c8a4:8fd2) |
2021-11-22 03:45:04 +0100 | <sm> | but I would ask jtdaugherty in the tracker, he is very responsive |
2021-11-22 03:45:55 +0100 | <sm> | here's some discussion: https://github.com/jtdaugherty/brick/issues/74 |
2021-11-22 03:47:25 +0100 | <sm> | seems like you could make transparent edges (padding), but maybe holes are harder |
2021-11-22 03:52:49 +0100 | renzhi | (~xp@2607:fa49:6500:b100::6e7f) (Ping timeout: 250 seconds) |
2021-11-22 03:55:52 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Read error: Connection reset by peer) |
2021-11-22 03:56:35 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) |
2021-11-22 04:01:32 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2021-11-22 04:01:34 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) (Ping timeout: 260 seconds) |
2021-11-22 04:03:22 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-22 04:04:40 +0100 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-11-22 04:08:02 +0100 | <jackdk> | I have a function where I'm accumulating a result backwards, then reversing it at the end (like lisp `PUSH`/`NREVERSE` idiom, I guess). Does this have a common name or combinator somewhere? |
2021-11-22 04:11:12 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
2021-11-22 04:11:17 +0100 | <EvanR> | no because if taken to extremes it can be pretty inefficient |
2021-11-22 04:11:29 +0100 | <EvanR> | if you can, try to accumulate results forwards |
2021-11-22 04:11:42 +0100 | <EvanR> | lazily |
2021-11-22 04:12:08 +0100 | shailangsa | (~shailangs@host86-186-133-114.range86-186.btcentralplus.com) (Remote host closed the connection) |
2021-11-22 04:15:45 +0100 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
2021-11-22 04:18:14 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:d41b:9326:c4d8:9f2a) (Quit: gone to sleep. ZZZzzz…) |
2021-11-22 04:21:31 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:d09a:3c35:dab9:95ad) |
2021-11-22 04:21:34 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:d09a:3c35:dab9:95ad) (Client Quit) |
2021-11-22 04:25:16 +0100 | KM4MBG | jackhill |
2021-11-22 04:30:24 +0100 | <dsal> | Can someone make Num smaller for the next ghc release? |
2021-11-22 04:30:40 +0100 | <dsal> | I'm not quite sure how to think about things like `negate` on types that be negative. |
2021-11-22 04:30:43 +0100 | <jackdk> | thanks EvanR . it turned out my problem was compactly expressed as a Data.List.unfold anyway |
2021-11-22 04:31:03 +0100 | <EvanR> | cool |
2021-11-22 04:31:46 +0100 | <dsal> | Related: ghci line editing is severely mangled on my machine. Does this sound like a known issue? |
2021-11-22 04:31:58 +0100 | <dsal> | 8.10.7 on M1 |
2021-11-22 04:32:08 +0100 | mbuf | (~Shakthi@223.178.114.167) |
2021-11-22 04:32:59 +0100 | <dsal> | > negate (5 :: Word) |
2021-11-22 04:33:01 +0100 | <lambdabot> | 18446744073709551611 |
2021-11-22 04:33:06 +0100 | <dsal> | I guess I can do something like that. |
2021-11-22 04:33:22 +0100 | <EvanR> | > negate (5 :: Natural) |
2021-11-22 04:33:23 +0100 | <lambdabot> | error: |
2021-11-22 04:33:23 +0100 | <lambdabot> | Not in scope: type constructor or class ‘Natural’ |
2021-11-22 04:33:54 +0100 | <EvanR> | > negate (5 :: Numeric.Natural) |
2021-11-22 04:33:55 +0100 | <lambdabot> | error: |
2021-11-22 04:33:55 +0100 | <lambdabot> | Not in scope: type constructor or class ‘Numeric.Natural’ |
2021-11-22 04:34:16 +0100 | <dsal> | That's the other option. |
2021-11-22 04:34:21 +0100 | <EvanR> | I guess Natural was voted off the island |
2021-11-22 04:34:23 +0100 | <dsal> | I don't really like either. |
2021-11-22 04:34:52 +0100 | <dsal> | I'm using Data.Fixed, so I can at least do something reasonable. |
2021-11-22 04:35:29 +0100 | <dsal> | Er, Data.Finite |
2021-11-22 04:36:01 +0100 | <dsal> | λ> negate (5 :: Finite 11) |
2021-11-22 04:36:01 +0100 | <dsal> | finite 6 |
2021-11-22 04:36:16 +0100 | <dsal> | I guess since it already does it for me, I can just generalizednewtypederiving it and call it a day. |
2021-11-22 04:37:41 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
2021-11-22 04:38:17 +0100 | <dsal> | Oh, well, fromInteger is partial. I didn't expect that. |
2021-11-22 04:41:04 +0100 | <awpr> | there's not really a good Num instance for the finite sets. modular arithmetic is okay enough, but in the not-uncommon case where people do arithmetic assuming it won't be out-of-range, having it silently wrap can hide bugs, and it's extra unintuitive for `fromInteger` |
2021-11-22 04:42:00 +0100 | <awpr> | do you want Num for anything other than supporting integral literals? |
2021-11-22 04:43:05 +0100 | <dsal> | Heh, not *really*. Maybe some addition or something. |
2021-11-22 04:43:12 +0100 | <dsal> | I'm representing relative time as the number of minutes since midnight. |
2021-11-22 04:43:28 +0100 | <dsal> | Yeah, addition might be nice, and them modulo is the right thing to do. |
2021-11-22 04:43:56 +0100 | <awpr> | hmm, maybe. seems like you'd want modular addition with an overflow flag |
2021-11-22 04:44:14 +0100 | <awpr> | like you'd have in adding digits of a positional number system |
2021-11-22 04:44:29 +0100 | <dsal> | This is the kind of thing that's not likely to be used incorrectly, but I decided not to make it super difficult to use for the normal case where someone wants to just stick a number in a piece of code. |
2021-11-22 04:46:14 +0100 | <awpr> | yeah, my thinking is that literals should be separate from the other parts of `Num`, and along with some extra features for validating literal values, that's `dependent-literals-plugin` |
2021-11-22 04:46:30 +0100 | <awpr> | it was actually created specifically to deal with the problem of literals for `Fin`s |
2021-11-22 04:48:04 +0100 | zhengcong | (~zhengcong@113.140.11.120) |
2021-11-22 04:49:36 +0100 | <dsal> | Yeah, I'd like to have just the representation thing, then maybe have + and * and abs/negate and - and stuff be all separate. |
2021-11-22 04:50:02 +0100 | <dsal> | It's a small change, should be able to get in shortly. |
2021-11-22 04:50:06 +0100 | td_ | (~td@muedsl-82-207-238-154.citykom.de) (Ping timeout: 260 seconds) |
2021-11-22 04:51:22 +0100 | Codaraxis_ | (~Codaraxis@user/codaraxis) |
2021-11-22 04:51:51 +0100 | <awpr> | lol that's why I went for a syntax plugin. very little chance for Num to grow a superclass or literals to move to another function, at least without some new typeclass features like implicit superclass impls |
2021-11-22 04:51:58 +0100 | td_ | (~td@94.134.91.148) |
2021-11-22 04:52:09 +0100 | <awpr> | but just rewriting literals to my own typeclass method is easy |
2021-11-22 04:53:11 +0100 | Codaraxis_ | (~Codaraxis@user/codaraxis) (Remote host closed the connection) |
2021-11-22 04:53:36 +0100 | <dsal> | For my use case, ~nobody's going to use this code and if I ever do, I'm just going to do a num literal probably. Or conversion from int that *should* fit. |
2021-11-22 04:53:47 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2021-11-22 04:54:39 +0100 | <awpr> | yeah, fair enough. it was only worth it to me because there were Fin literals all over the place, and if literals or arithmetic was out of range, there was no stack trace |
2021-11-22 04:55:11 +0100 | Codaraxis__ | (~Codaraxis@user/codaraxis) (Ping timeout: 256 seconds) |
2021-11-22 04:55:47 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2021-11-22 05:00:43 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) |
2021-11-22 05:04:27 +0100 | nattiestnate | (~nate@2001:448a:20a0:4134:25e:715f:d637:5263) (Quit: WeeChat 3.3) |
2021-11-22 05:05:02 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
2021-11-22 05:07:47 +0100 | lechner | (~lechner@debian/lechner) (Ping timeout: 250 seconds) |
2021-11-22 05:12:06 +0100 | nautical | (~nautical@2601:602:900:1630::396f) (Quit: WeeChat 3.3) |
2021-11-22 05:19:33 +0100 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Ping timeout: 256 seconds) |
2021-11-22 05:21:25 +0100 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
2021-11-22 05:29:57 +0100 | jinsun | (~quassel@user/jinsun) |
2021-11-22 05:32:43 +0100 | drdo | (~drdo@roach0.drdo.eu) (Ping timeout: 250 seconds) |
2021-11-22 05:33:54 +0100 | waleee | (~waleee@h-82-196-111-63.NA.cust.bahnhof.se) (Quit: WeeChat 3.3) |
2021-11-22 05:35:04 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-11-22 05:40:05 +0100 | drdo | (~drdo@roach0.drdo.eu) |
2021-11-22 05:45:25 +0100 | deadmarshal | (~deadmarsh@95.38.230.45) |
2021-11-22 05:58:05 +0100 | monochrom | (~trebla@216.138.220.146) (Ping timeout: 256 seconds) |
2021-11-22 06:00:33 +0100 | alzgh | (~alzgh@user/alzgh) |
2021-11-22 06:00:50 +0100 | monochrom | (~trebla@216.138.220.146) |
2021-11-22 06:02:37 +0100 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
2021-11-22 06:07:59 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) |
2021-11-22 06:09:25 +0100 | drdo | (~drdo@roach0.drdo.eu) (Ping timeout: 256 seconds) |
2021-11-22 06:15:06 +0100 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2021-11-22 06:19:02 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2021-11-22 06:21:20 +0100 | drdo | (~drdo@roach0.drdo.eu) |
2021-11-22 06:22:21 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-11-22 06:27:56 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) |
2021-11-22 06:28:23 +0100 | Topsi | (~Tobias@dyndsl-095-033-023-020.ewe-ip-backbone.de) |
2021-11-22 06:29:58 +0100 | Topsi2 | (~Tobias@dyndsl-037-138-064-016.ewe-ip-backbone.de) (Ping timeout: 260 seconds) |
2021-11-22 06:31:20 +0100 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-11-22 06:31:36 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-11-22 06:31:42 +0100 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-11-22 06:32:05 +0100 | drdo | (~drdo@roach0.drdo.eu) (Ping timeout: 250 seconds) |
2021-11-22 06:33:42 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-22 06:37:54 +0100 | deadmarshal | (~deadmarsh@95.38.230.45) (Ping timeout: 260 seconds) |
2021-11-22 06:38:37 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2021-11-22 06:44:18 +0100 | sagax | (~sagax_nb@user/sagax) |
2021-11-22 06:47:20 +0100 | Sgeo_ | (~Sgeo@user/sgeo) |
2021-11-22 06:47:53 +0100 | sub0 | (~bc8165b6@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout)) |
2021-11-22 06:48:48 +0100 | qwedfg_ | (~qwedfg@user/qwedfg) (*.net *.split) |
2021-11-22 06:48:48 +0100 | mcfrdy | (~mcfrdy@user/mcfrdy) (*.net *.split) |
2021-11-22 06:48:48 +0100 | dexterfoo | (dexter@2a01:7e00::f03c:91ff:fe86:59ec) (*.net *.split) |
2021-11-22 06:48:48 +0100 | feliix42 | (~felix@gibbs.uberspace.de) (*.net *.split) |
2021-11-22 06:48:48 +0100 | siers69 | (~ij@user/ij) (*.net *.split) |
2021-11-22 06:48:48 +0100 | bens | (~bens@www.typius.com) (*.net *.split) |
2021-11-22 06:48:48 +0100 | xstill- | (xstill@fimu/xstill) (*.net *.split) |
2021-11-22 06:48:48 +0100 | matijja | (~matijja@193.77.181.201) (*.net *.split) |
2021-11-22 06:48:48 +0100 | megaTherion | (~therion@unix.io) (*.net *.split) |
2021-11-22 06:48:48 +0100 | gabiruh | (~gabiruh@vps19177.publiccloud.com.br) (*.net *.split) |
2021-11-22 06:49:01 +0100 | feliix42 | (~felix@gibbs.uberspace.de) |
2021-11-22 06:49:01 +0100 | bens | (~bens@www.typius.com) |
2021-11-22 06:49:07 +0100 | xstill- | (xstill@fimu/xstill) |
2021-11-22 06:49:16 +0100 | dexterfoo | (dexter@2a01:7e00::f03c:91ff:fe86:59ec) |
2021-11-22 06:49:17 +0100 | gabiruh | (~gabiruh@vps19177.publiccloud.com.br) |
2021-11-22 06:49:28 +0100 | siers | (~ij@user/ij) |
2021-11-22 06:49:29 +0100 | mcfrdy | (~mcfrdy@user/mcfrdy) |
2021-11-22 06:49:34 +0100 | vysn | (~vysn@user/vysn) |
2021-11-22 06:49:34 +0100 | Sgeo | (~Sgeo@user/sgeo) (Ping timeout: 260 seconds) |
2021-11-22 06:50:21 +0100 | qwedfg | (~qwedfg@user/qwedfg) |
2021-11-22 06:53:04 +0100 | matijja | (~matijja@193.77.181.201) |
2021-11-22 06:54:59 +0100 | ircbrowse_tom | (~ircbrowse@static.162.49.55.162.clients.your-server.de) (ZNC 1.7.5+deb4 - https://znc.in) |
2021-11-22 06:56:36 +0100 | ircbrowse_tom | (~ircbrowse@2a01:4f8:1c1c:9319::1) |
2021-11-22 06:56:36 +0100 | Server | +Cnt |
2021-11-22 06:56:41 +0100 | ikke | (~kevin@delta.ikke.info) (Changing host) |
2021-11-22 06:56:41 +0100 | ikke | (~kevin@alpine/developer/ikke) |
2021-11-22 06:56:42 +0100 | tolt | (~weechat-h@li219-154.members.linode.com) |
2021-11-22 06:56:42 +0100 | hexology | (~hexology@user/hexology) |
2021-11-22 06:56:45 +0100 | incertia | (~incertia@d4-50-26-103.nap.wideopenwest.com) |
2021-11-22 06:56:45 +0100 | maerwald | (~maerwald@mail.hasufell.de) |
2021-11-22 06:56:48 +0100 | arahael | (~arahael@125-209-128-15.tpgi.com.au) |
2021-11-22 06:56:50 +0100 | heath | (~heath@user/heath) |
2021-11-22 06:56:53 +0100 | mrkajetanp | (~mrkajetan@2a01:4b00:ea36:6c00:7994:941c:3f5d:2b88) |
2021-11-22 06:56:53 +0100 | pierrot | (~pi@user/pierrot) |
2021-11-22 06:56:57 +0100 | blades | (~blades@204.48.29.163) |
2021-11-22 06:56:57 +0100 | beaky | (~beaky@2a03:b0c0:0:1010::1e:a001) |
2021-11-22 06:57:05 +0100 | robbert-vdh | (~robbert@robbertvanderhelm.nl) |
2021-11-22 06:58:03 +0100 | megaTherion | (~therion@unix.io) |
2021-11-22 06:58:20 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-11-22 07:00:17 +0100 | tureba | (~tureba@tureba.org) |
2021-11-22 07:00:17 +0100 | ozzymcduff | (~mathieu@81-234-151-21-no94.tbcn.telia.com) |
2021-11-22 07:03:05 +0100 | Ekho | (~Ekho@user/ekho) |
2021-11-22 07:08:14 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-11-22 07:09:47 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 250 seconds) |
2021-11-22 07:11:07 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-11-22 07:11:42 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) |
2021-11-22 07:13:08 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-11-22 07:16:02 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
2021-11-22 07:16:39 +0100 | xkuru | (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
2021-11-22 07:22:32 +0100 | xff0x | (~xff0x@2001:1a81:52ae:a700:ef5b:bdbe:c8a4:8fd2) (Ping timeout: 268 seconds) |
2021-11-22 07:23:10 +0100 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 260 seconds) |
2021-11-22 07:23:15 +0100 | xff0x | (~xff0x@2001:1a81:52ae:a700:d47e:fd11:5546:7b77) |
2021-11-22 07:29:23 +0100 | cjb | (~cjb@user/cjb) (Quit: rcirc on GNU Emacs 29.0.50) |
2021-11-22 07:30:37 +0100 | fef | (~thedawn@user/thedawn) |
2021-11-22 07:35:18 +0100 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2021-11-22 07:44:43 +0100 | deadmarshal | (~deadmarsh@95.38.230.45) |
2021-11-22 07:47:44 +0100 | <hololeap_> | this might be a hard question to answer, but why does `cabal info` take so long to run? |
2021-11-22 07:47:50 +0100 | hololeap_ | hololeap |
2021-11-22 07:48:13 +0100 | emf | (~emf@2620:10d:c090:400::5:b07b) |
2021-11-22 07:49:06 +0100 | deadmarshal | (~deadmarsh@95.38.230.45) (Ping timeout: 245 seconds) |
2021-11-22 07:49:28 +0100 | emf | (~emf@2620:10d:c090:400::5:b07b) (Client Quit) |
2021-11-22 07:53:42 +0100 | deadmarshal | (~deadmarsh@95.38.230.45) |
2021-11-22 07:55:49 +0100 | mamehiko | (~robbie@140.254.77.249) |
2021-11-22 07:59:44 +0100 | drdo | (~drdo@roach0.drdo.eu) |
2021-11-22 08:03:31 +0100 | stiell | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2021-11-22 08:03:52 +0100 | stiell | (~stiell@gateway/tor-sasl/stiell) |
2021-11-22 08:04:51 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) |
2021-11-22 08:05:41 +0100 | mamehiko | (~robbie@140.254.77.249) (Quit: Leaving) |
2021-11-22 08:07:39 +0100 | xff0x | (~xff0x@2001:1a81:52ae:a700:d47e:fd11:5546:7b77) (Ping timeout: 260 seconds) |
2021-11-22 08:08:26 +0100 | xff0x | (~xff0x@2001:1a81:52ae:a700:2e71:8ba4:bf99:ed92) |
2021-11-22 08:09:27 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) (Ping timeout: 264 seconds) |
2021-11-22 08:19:12 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-11-22 08:21:36 +0100 | mc47 | (~mc47@xmonad/TheMC47) |
2021-11-22 08:24:03 +0100 | zhengcong | (~zhengcong@113.140.11.120) (Remote host closed the connection) |
2021-11-22 08:24:10 +0100 | max22- | (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) |
2021-11-22 08:32:34 +0100 | lechner | (~lechner@debian/lechner) |
2021-11-22 08:38:33 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2021-11-22 08:40:42 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2021-11-22 08:48:00 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2021-11-22 08:48:33 +0100 | <sclv> | hololeap: it runs pretty quick for me on the latest cabal. but in general its got to (i think) scan through the entire zipped collection of hackage cabal files to find the ones of interest |
2021-11-22 08:49:56 +0100 | deadmarshal | (~deadmarsh@95.38.230.45) (Ping timeout: 245 seconds) |
2021-11-22 08:50:35 +0100 | <sclv> | i.e. `cabal info bytestring` runs in 1.5 secs on my box |
2021-11-22 08:51:57 +0100 | phma | (~phma@2001:5b0:211f:e738:5c4d:dbc4:3f14:dae2) (Read error: Connection reset by peer) |
2021-11-22 08:52:23 +0100 | Firedancer | (sid336191@id-336191.hampstead.irccloud.com) (Ping timeout: 265 seconds) |
2021-11-22 08:52:32 +0100 | meinside | (uid24933@id-24933.helmsley.irccloud.com) (Ping timeout: 240 seconds) |
2021-11-22 08:52:41 +0100 | davetapley | (sid666@id-666.uxbridge.irccloud.com) (Ping timeout: 250 seconds) |
2021-11-22 08:52:52 +0100 | nrr__ | (sid20938@id-20938.lymington.irccloud.com) (Ping timeout: 265 seconds) |
2021-11-22 08:53:01 +0100 | phma | (phma@2001:5b0:211b:e388:ee5a:511e:22c4:3b06) |
2021-11-22 08:53:07 +0100 | alanz | (sid110616@id-110616.uxbridge.irccloud.com) (Ping timeout: 250 seconds) |
2021-11-22 08:53:29 +0100 | alanz | (sid110616@id-110616.uxbridge.irccloud.com) |
2021-11-22 08:53:53 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) |
2021-11-22 08:54:17 +0100 | meinside | (uid24933@id-24933.helmsley.irccloud.com) |
2021-11-22 08:54:32 +0100 | nrr__ | (sid20938@id-20938.lymington.irccloud.com) |
2021-11-22 08:54:51 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-11-22 08:55:29 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) |
2021-11-22 08:55:35 +0100 | Firedancer | (sid336191@id-336191.hampstead.irccloud.com) |
2021-11-22 08:55:35 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2021-11-22 08:55:55 +0100 | davetapley | (sid666@id-666.uxbridge.irccloud.com) |
2021-11-22 08:56:23 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-11-22 08:57:30 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2021-11-22 08:58:18 +0100 | deadmarshal | (~deadmarsh@95.38.230.45) |
2021-11-22 08:59:08 +0100 | jmorris | (uid433911@id-433911.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-11-22 08:59:56 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) (Ping timeout: 245 seconds) |
2021-11-22 09:01:20 +0100 | Sgeo_ | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-11-22 09:03:54 +0100 | chele | (~chele@user/chele) |
2021-11-22 09:04:01 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:7c6d:4c33:f4a3:2a22) |
2021-11-22 09:04:58 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-22 09:06:03 +0100 | trcc | (~trcc@users-5343.st.net.au.dk) |
2021-11-22 09:06:05 +0100 | trcc | (~trcc@users-5343.st.net.au.dk) (Remote host closed the connection) |
2021-11-22 09:06:55 +0100 | trcc | (~trcc@users-5343.st.net.au.dk) |
2021-11-22 09:10:03 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) |
2021-11-22 09:10:09 +0100 | trcc_ | (~trcc@eduroam09.au.dk) |
2021-11-22 09:10:13 +0100 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) |
2021-11-22 09:12:26 +0100 | trcc_ | (~trcc@eduroam09.au.dk) (Read error: Connection reset by peer) |
2021-11-22 09:12:36 +0100 | trcc_ | (~trcc@eduroam09.au.dk) |
2021-11-22 09:13:27 +0100 | trcc | (~trcc@users-5343.st.net.au.dk) (Ping timeout: 260 seconds) |
2021-11-22 09:14:47 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-11-22 09:14:51 +0100 | deadmarshal | (~deadmarsh@95.38.230.45) (Ping timeout: 264 seconds) |
2021-11-22 09:15:21 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) |
2021-11-22 09:25:37 +0100 | michalz | (~michalz@185.246.204.33) |
2021-11-22 09:30:32 +0100 | deadmarshal | (~deadmarsh@95.38.230.45) |
2021-11-22 09:30:38 +0100 | neurocyte0132889 | (~neurocyte@45.10.60.180) |
2021-11-22 09:30:38 +0100 | neurocyte0132889 | (~neurocyte@45.10.60.180) (Changing host) |
2021-11-22 09:30:38 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) |
2021-11-22 09:33:00 +0100 | mvk | (~mvk@2607:fea8:5cc1:fa00::4702) (Read error: Connection reset by peer) |
2021-11-22 09:33:13 +0100 | mvk | (~mvk@2607:fea8:5cc1:fa00::4702) |
2021-11-22 09:40:25 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-11-22 09:43:45 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) |
2021-11-22 09:48:41 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) (Ping timeout: 245 seconds) |
2021-11-22 09:50:24 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2021-11-22 09:51:34 +0100 | dsrt^ | (~dsrt@68.101.63.101) (Remote host closed the connection) |
2021-11-22 09:53:12 +0100 | fendor | (~fendor@178.165.196.64.wireless.dyn.drei.com) |
2021-11-22 09:55:13 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) |
2021-11-22 09:58:15 +0100 | deadmarshal | (~deadmarsh@95.38.230.45) (Ping timeout: 260 seconds) |
2021-11-22 10:02:40 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2021-11-22 10:02:41 +0100 | yauhsien | (~yauhsien@118-167-40-224.dynamic-ip.hinet.net) (Read error: Connection reset by peer) |
2021-11-22 10:02:53 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2021-11-22 10:03:45 +0100 | yauhsien | (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) |
2021-11-22 10:04:22 +0100 | shailangsa | (~shailangs@host86-186-133-114.range86-186.btcentralplus.com) |
2021-11-22 10:11:37 +0100 | kuribas | (~user@ptr-25vy0i9f20n8puprvgm.18120a2.ip6.access.telenet.be) |
2021-11-22 10:12:23 +0100 | trcc_ | (~trcc@eduroam09.au.dk) (Remote host closed the connection) |
2021-11-22 10:16:09 +0100 | timCF | (~timCF@200-149-20-81.sta.estpak.ee) (Quit: leaving) |
2021-11-22 10:16:38 +0100 | trcc_ | (~trcc@users-1190.st.net.au.dk) |
2021-11-22 10:16:57 +0100 | cfricke | (~cfricke@user/cfricke) |
2021-11-22 10:17:28 +0100 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-11-22 10:17:28 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-11-22 10:17:31 +0100 | allbery_b | geekosaur |
2021-11-22 10:17:49 +0100 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2021-11-22 10:19:51 +0100 | alzgh | (~alzgh@user/alzgh) (Ping timeout: 256 seconds) |
2021-11-22 10:20:15 +0100 | mvk | (~mvk@2607:fea8:5cc1:fa00::4702) (Ping timeout: 264 seconds) |
2021-11-22 10:20:20 +0100 | fef | (~thedawn@user/thedawn) (Remote host closed the connection) |
2021-11-22 10:24:50 +0100 | acidjnk | (~acidjnk@2001:16b8:6720:5a00:f48d:53a:53a4:d2dc) |
2021-11-22 10:27:39 +0100 | edmundnoble | (sid229620@id-229620.helmsley.irccloud.com) (Ping timeout: 260 seconds) |
2021-11-22 10:27:39 +0100 | SethTisue__ | (sid14912@id-14912.ilkley.irccloud.com) (Ping timeout: 260 seconds) |
2021-11-22 10:27:39 +0100 | caasih | (sid13241@id-13241.ilkley.irccloud.com) (Ping timeout: 260 seconds) |
2021-11-22 10:27:59 +0100 | jackdk | (sid373013@cssa/jackdk) (Ping timeout: 264 seconds) |
2021-11-22 10:27:59 +0100 | PotatoGim | (sid99505@id-99505.lymington.irccloud.com) (Ping timeout: 264 seconds) |
2021-11-22 10:27:59 +0100 | hongminhee | (sid295@id-295.tinside.irccloud.com) (Ping timeout: 264 seconds) |
2021-11-22 10:27:59 +0100 | truckasaurus | (sid457088@id-457088.helmsley.irccloud.com) (Ping timeout: 264 seconds) |
2021-11-22 10:28:08 +0100 | sa | (sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 268 seconds) |
2021-11-22 10:28:08 +0100 | christiaanb | (sid84827@id-84827.lymington.irccloud.com) (Ping timeout: 268 seconds) |
2021-11-22 10:28:14 +0100 | dpratt__ | (sid193493@id-193493.helmsley.irccloud.com) (Ping timeout: 246 seconds) |
2021-11-22 10:28:14 +0100 | mrianbloom | (sid350277@id-350277.ilkley.irccloud.com) (Ping timeout: 246 seconds) |
2021-11-22 10:28:14 +0100 | AndreasK__ | (sid320732@id-320732.uxbridge.irccloud.com) (Ping timeout: 246 seconds) |
2021-11-22 10:28:14 +0100 | sa1_ | (sid7690@id-7690.ilkley.irccloud.com) (Ping timeout: 246 seconds) |
2021-11-22 10:28:14 +0100 | b20n | (sid115913@id-115913.uxbridge.irccloud.com) (Ping timeout: 246 seconds) |
2021-11-22 10:28:16 +0100 | Firedancer | (sid336191@id-336191.hampstead.irccloud.com) (Ping timeout: 245 seconds) |
2021-11-22 10:28:16 +0100 | alanz | (sid110616@id-110616.uxbridge.irccloud.com) (Ping timeout: 245 seconds) |
2021-11-22 10:28:27 +0100 | davetapley | (sid666@id-666.uxbridge.irccloud.com) (Ping timeout: 250 seconds) |
2021-11-22 10:28:27 +0100 | Adeon | (sid418992@id-418992.lymington.irccloud.com) (Ping timeout: 250 seconds) |
2021-11-22 10:28:27 +0100 | parseval | (sid239098@id-239098.helmsley.irccloud.com) (Ping timeout: 250 seconds) |
2021-11-22 10:28:27 +0100 | bjs | (sid190364@user/bjs) (Ping timeout: 250 seconds) |
2021-11-22 10:28:27 +0100 | cln | (sid336875@id-336875.ilkley.irccloud.com) (Ping timeout: 250 seconds) |
2021-11-22 10:28:27 +0100 | ysh | (sid6017@id-6017.ilkley.irccloud.com) (Ping timeout: 250 seconds) |
2021-11-22 10:28:27 +0100 | aristid | (sid1599@id-1599.uxbridge.irccloud.com) (Ping timeout: 250 seconds) |
2021-11-22 10:28:32 +0100 | whez | (sid470288@id-470288.lymington.irccloud.com) (Ping timeout: 240 seconds) |
2021-11-22 10:28:34 +0100 | Pent | (sid313808@id-313808.lymington.irccloud.com) (Ping timeout: 265 seconds) |
2021-11-22 10:28:34 +0100 | teehemkay | (sid14792@id-14792.lymington.irccloud.com) (Ping timeout: 265 seconds) |
2021-11-22 10:28:34 +0100 | alinab | (sid468903@id-468903.helmsley.irccloud.com) (Ping timeout: 265 seconds) |
2021-11-22 10:28:35 +0100 | elvishjerricco | (sid237756@id-237756.helmsley.irccloud.com) (Ping timeout: 246 seconds) |
2021-11-22 10:28:35 +0100 | carter | (sid14827@id-14827.helmsley.irccloud.com) (Ping timeout: 246 seconds) |
2021-11-22 10:28:35 +0100 | rune | (sid21167@id-21167.ilkley.irccloud.com) (Ping timeout: 246 seconds) |
2021-11-22 10:28:35 +0100 | enemeth79 | (sid309041@id-309041.lymington.irccloud.com) (Ping timeout: 264 seconds) |
2021-11-22 10:28:35 +0100 | taktoa[c] | (sid282096@id-282096.tinside.irccloud.com) (Ping timeout: 264 seconds) |
2021-11-22 10:28:35 +0100 | dsal | (sid13060@id-13060.lymington.irccloud.com) (Ping timeout: 264 seconds) |
2021-11-22 10:28:35 +0100 | supersven | (sid501114@id-501114.ilkley.irccloud.com) (Ping timeout: 264 seconds) |
2021-11-22 10:28:35 +0100 | rtpg | (sid443069@id-443069.ilkley.irccloud.com) (Ping timeout: 260 seconds) |
2021-11-22 10:28:35 +0100 | hook54321 | (sid149355@user/hook54321) (Ping timeout: 260 seconds) |
2021-11-22 10:28:35 +0100 | edwardk | (sid47016@haskell/developer/edwardk) (Ping timeout: 260 seconds) |
2021-11-22 10:28:35 +0100 | aarchi | (sid486183@id-486183.uxbridge.irccloud.com) (Ping timeout: 260 seconds) |
2021-11-22 10:28:35 +0100 | bw__ | (sid2730@id-2730.ilkley.irccloud.com) (Ping timeout: 260 seconds) |
2021-11-22 10:28:35 +0100 | systemfault | (sid267009@id-267009.uxbridge.irccloud.com) (Ping timeout: 260 seconds) |
2021-11-22 10:28:41 +0100 | nrr__ | (sid20938@id-20938.lymington.irccloud.com) (Ping timeout: 245 seconds) |
2021-11-22 10:28:45 +0100 | saolsen | (sid26430@id-26430.lymington.irccloud.com) (Ping timeout: 268 seconds) |
2021-11-22 10:28:53 +0100 | cbarrett | (sid192934@id-192934.helmsley.irccloud.com) (Ping timeout: 250 seconds) |
2021-11-22 10:28:53 +0100 | T_S_ | (sid501726@id-501726.uxbridge.irccloud.com) (Ping timeout: 250 seconds) |
2021-11-22 10:28:53 +0100 | obviyus | (sid415299@user/obviyus) (Ping timeout: 250 seconds) |
2021-11-22 10:28:56 +0100 | angerman | (sid209936@id-209936.ilkley.irccloud.com) (Ping timeout: 246 seconds) |
2021-11-22 10:28:56 +0100 | bradparker | (sid262931@id-262931.uxbridge.irccloud.com) (Ping timeout: 246 seconds) |
2021-11-22 10:28:56 +0100 | SrPx | (sid108780@id-108780.uxbridge.irccloud.com) (Ping timeout: 246 seconds) |
2021-11-22 10:29:02 +0100 | linkedlistist | (uid528169@id-528169.lymington.irccloud.com) (Ping timeout: 240 seconds) |
2021-11-22 10:29:03 +0100 | SanchayanMaity | (sid478177@id-478177.hampstead.irccloud.com) (Ping timeout: 265 seconds) |
2021-11-22 10:29:03 +0100 | integral | (sid296274@user/integral) (Ping timeout: 265 seconds) |
2021-11-22 10:29:03 +0100 | bbhoss | (sid18216@id-18216.tinside.irccloud.com) (Ping timeout: 265 seconds) |
2021-11-22 10:29:03 +0100 | joel135 | (sid136450@id-136450.hampstead.irccloud.com) (Ping timeout: 265 seconds) |
2021-11-22 10:29:03 +0100 | teehemkay_ | (sid14792@id-14792.lymington.irccloud.com) (Ping timeout: 265 seconds) |
2021-11-22 10:29:03 +0100 | kaizen | (sid501599@id-501599.helmsley.irccloud.com) (Ping timeout: 265 seconds) |
2021-11-22 10:29:03 +0100 | tnks | (sid412124@id-412124.helmsley.irccloud.com) (Ping timeout: 265 seconds) |
2021-11-22 10:29:03 +0100 | lightandlight | (sid135476@id-135476.helmsley.irccloud.com) (Ping timeout: 260 seconds) |
2021-11-22 10:29:03 +0100 | vito | (sid1962@user/vito) (Ping timeout: 260 seconds) |
2021-11-22 10:29:11 +0100 | agander_m | (sid407952@id-407952.tinside.irccloud.com) (Ping timeout: 264 seconds) |
2021-11-22 10:29:11 +0100 | mustafa | (sid502723@rockylinux/releng/mustafa) (Ping timeout: 264 seconds) |
2021-11-22 10:29:11 +0100 | kristjansson_ | (sid126207@id-126207.tinside.irccloud.com) (Ping timeout: 264 seconds) |
2021-11-22 10:29:11 +0100 | scav | (sid309693@id-309693.helmsley.irccloud.com) (Ping timeout: 264 seconds) |
2021-11-22 10:29:11 +0100 | degraafk | (sid71464@id-71464.lymington.irccloud.com) (Ping timeout: 264 seconds) |
2021-11-22 10:29:11 +0100 | JSharp | (sid4580@id-4580.lymington.irccloud.com) (Ping timeout: 264 seconds) |
2021-11-22 10:29:11 +0100 | grfn | (sid449115@id-449115.helmsley.irccloud.com) (Ping timeout: 264 seconds) |
2021-11-22 10:29:17 +0100 | S11001001 | (sid42510@id-42510.ilkley.irccloud.com) (Ping timeout: 246 seconds) |
2021-11-22 10:29:18 +0100 | linkedlistist | (uid528169@lymington.irccloud.com) |
2021-11-22 10:29:19 +0100 | tapas | (sid467876@id-467876.ilkley.irccloud.com) (Ping timeout: 250 seconds) |
2021-11-22 10:29:19 +0100 | pepeiborra | (sid443799@id-443799.ilkley.irccloud.com) (Ping timeout: 250 seconds) |
2021-11-22 10:29:19 +0100 | ProofTechnique | (sid79547@id-79547.ilkley.irccloud.com) (Ping timeout: 250 seconds) |
2021-11-22 10:29:19 +0100 | gmc_ | (sid58314@id-58314.ilkley.irccloud.com) (Ping timeout: 250 seconds) |
2021-11-22 10:29:19 +0100 | jonrh_ | (sid5185@id-5185.ilkley.irccloud.com) (Ping timeout: 250 seconds) |
2021-11-22 10:29:20 +0100 | rune | (sid21167@ilkley.irccloud.com) |
2021-11-22 10:29:21 +0100 | whez | (sid470288@lymington.irccloud.com) |
2021-11-22 10:29:21 +0100 | gregberns___ | (sid315709@helmsley.irccloud.com) |
2021-11-22 10:29:21 +0100 | alinab | (sid468903@helmsley.irccloud.com) |
2021-11-22 10:29:22 +0100 | tnks | (sid412124@helmsley.irccloud.com) |
2021-11-22 10:29:22 +0100 | agander_m | (sid407952@tinside.irccloud.com) |
2021-11-22 10:29:22 +0100 | _0x47 | (sid508683@id-508683.tinside.irccloud.com) (Ping timeout: 268 seconds) |
2021-11-22 10:29:22 +0100 | hamishmack | (sid389057@id-389057.hampstead.irccloud.com) (Ping timeout: 268 seconds) |
2021-11-22 10:29:22 +0100 | rubin55 | (sid175221@id-175221.hampstead.irccloud.com) (Ping timeout: 268 seconds) |
2021-11-22 10:29:22 +0100 | iphy | (sid67735@id-67735.lymington.irccloud.com) (Ping timeout: 268 seconds) |
2021-11-22 10:29:22 +0100 | dmj` | (sid72307@id-72307.hampstead.irccloud.com) (Ping timeout: 268 seconds) |
2021-11-22 10:29:22 +0100 | tritlo | (sid58727@user/tritlo) (Ping timeout: 268 seconds) |
2021-11-22 10:29:22 +0100 | gregberns__ | (sid315709@id-315709.helmsley.irccloud.com) (Ping timeout: 268 seconds) |
2021-11-22 10:29:23 +0100 | gregberns___ | gregberns__ |
2021-11-22 10:29:23 +0100 | teehemkay_ | (sid14792@lymington.irccloud.com) |
2021-11-22 10:29:23 +0100 | degraafk | (sid71464@lymington.irccloud.com) |
2021-11-22 10:29:23 +0100 | parseval | (sid239098@helmsley.irccloud.com) |
2021-11-22 10:29:23 +0100 | amir_ | (sid22336@user/amir) |
2021-11-22 10:29:24 +0100 | iphy_ | (sid67735@lymington.irccloud.com) |
2021-11-22 10:29:24 +0100 | grfn | (sid449115@helmsley.irccloud.com) |
2021-11-22 10:29:24 +0100 | hamishmack_ | (sid389057@hampstead.irccloud.com) |
2021-11-22 10:29:25 +0100 | scav | (sid309693@helmsley.irccloud.com) |
2021-11-22 10:29:25 +0100 | _0x47_ | (sid508683@tinside.irccloud.com) |
2021-11-22 10:29:25 +0100 | bbhoss | (sid18216@tinside.irccloud.com) |
2021-11-22 10:29:27 +0100 | T_S_ | (sid501726@uxbridge.irccloud.com) |
2021-11-22 10:29:27 +0100 | gonz_____ | (sid304396@lymington.irccloud.com) |
2021-11-22 10:29:32 +0100 | awpr | (uid446117@id-446117.lymington.irccloud.com) (Ping timeout: 240 seconds) |
2021-11-22 10:29:32 +0100 | gonz____ | (sid304396@id-304396.lymington.irccloud.com) (Ping timeout: 265 seconds) |
2021-11-22 10:29:32 +0100 | sclv | (sid39734@haskell/developer/sclv) (Ping timeout: 265 seconds) |
2021-11-22 10:29:32 +0100 | NemesisD | (sid24071@id-24071.lymington.irccloud.com) (Ping timeout: 265 seconds) |
2021-11-22 10:29:32 +0100 | amir | (sid22336@user/amir) (Ping timeout: 265 seconds) |
2021-11-22 10:29:32 +0100 | NiKaN | (sid385034@id-385034.helmsley.irccloud.com) (Ping timeout: 265 seconds) |
2021-11-22 10:29:38 +0100 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) |
2021-11-22 10:29:38 +0100 | amir_ | amir |
2021-11-22 10:29:44 +0100 | deadmarshal | (~deadmarsh@95.38.230.45) |
2021-11-22 10:29:47 +0100 | angerman | (sid209936@ilkley.irccloud.com) |
2021-11-22 10:29:47 +0100 | hubvu | (sid495858@user/hubvu) (Ping timeout: 264 seconds) |
2021-11-22 10:29:47 +0100 | ephemient | (uid407513@id-407513.lymington.irccloud.com) (Ping timeout: 264 seconds) |
2021-11-22 10:29:47 +0100 | hendi | (sid489601@id-489601.lymington.irccloud.com) (Ping timeout: 264 seconds) |
2021-11-22 10:29:47 +0100 | Boarders_ | (sid425905@id-425905.lymington.irccloud.com) (Ping timeout: 264 seconds) |
2021-11-22 10:29:47 +0100 | acertain | (sid470584@id-470584.hampstead.irccloud.com) (Ping timeout: 264 seconds) |
2021-11-22 10:29:47 +0100 | astra` | (sid289983@user/amish) (Ping timeout: 264 seconds) |
2021-11-22 10:29:47 +0100 | idnar | (sid12240@debian/mithrandi) (Ping timeout: 264 seconds) |
2021-11-22 10:29:47 +0100 | mcfilib | (sid302703@user/mcfilib) (Ping timeout: 264 seconds) |
2021-11-22 10:29:50 +0100 | sclv | (sid39734@haskell/developer/sclv) |
2021-11-22 10:29:51 +0100 | meinside | (uid24933@id-24933.helmsley.irccloud.com) (Ping timeout: 264 seconds) |
2021-11-22 10:29:53 +0100 | obviyus | (sid415299@user/obviyus) |
2021-11-22 10:29:59 +0100 | typetetris | (sid275937@id-275937.tinside.irccloud.com) (Ping timeout: 268 seconds) |
2021-11-22 10:29:59 +0100 | philpax_ | (sid516926@id-516926.lymington.irccloud.com) (Ping timeout: 268 seconds) |
2021-11-22 10:29:59 +0100 | aria | (sid380617@id-380617.lymington.irccloud.com) (Ping timeout: 268 seconds) |
2021-11-22 10:29:59 +0100 | jmct_ | (sid160793@id-160793.tinside.irccloud.com) (Ping timeout: 268 seconds) |
2021-11-22 10:29:59 +0100 | pjlsergeant | (sid143467@id-143467.hampstead.irccloud.com) (Ping timeout: 268 seconds) |
2021-11-22 10:29:59 +0100 | ehamberg | (sid18208@id-18208.hampstead.irccloud.com) (Ping timeout: 268 seconds) |
2021-11-22 10:30:01 +0100 | glowcoil | (sid3405@id-3405.tinside.irccloud.com) (Ping timeout: 265 seconds) |
2021-11-22 10:30:01 +0100 | jakesyl_ | (sid56879@id-56879.hampstead.irccloud.com) (Ping timeout: 265 seconds) |
2021-11-22 10:30:01 +0100 | conjunctive | (sid433686@id-433686.helmsley.irccloud.com) (Ping timeout: 265 seconds) |
2021-11-22 10:30:01 +0100 | gaze___ | (sid387101@id-387101.helmsley.irccloud.com) (Ping timeout: 265 seconds) |
2021-11-22 10:30:03 +0100 | tritlo | (sid58727@user/tritlo) |
2021-11-22 10:30:04 +0100 | rubin55 | (sid175221@hampstead.irccloud.com) |
2021-11-22 10:30:16 +0100 | glowcoil | (sid3405@tinside.irccloud.com) |
2021-11-22 10:30:26 +0100 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) |
2021-11-22 10:30:28 +0100 | gaze___ | (sid387101@helmsley.irccloud.com) |
2021-11-22 10:30:33 +0100 | alanz | (sid110616@uxbridge.irccloud.com) |
2021-11-22 10:30:36 +0100 | taktoa[c] | (sid282096@tinside.irccloud.com) |
2021-11-22 10:30:38 +0100 | Boarders_ | (sid425905@lymington.irccloud.com) |
2021-11-22 10:30:41 +0100 | kristjansson_ | (sid126207@tinside.irccloud.com) |
2021-11-22 10:30:42 +0100 | mcfilib | (sid302703@user/mcfilib) |
2021-11-22 10:30:47 +0100 | pepeiborra | (sid443799@ilkley.irccloud.com) |
2021-11-22 10:30:48 +0100 | ysh | (sid6017@ilkley.irccloud.com) |
2021-11-22 10:30:50 +0100 | typetetris | (sid275937@tinside.irccloud.com) |
2021-11-22 10:30:50 +0100 | cln | (sid336875@ilkley.irccloud.com) |
2021-11-22 10:31:02 +0100 | acidjnk | (~acidjnk@2001:16b8:6720:5a00:f48d:53a:53a4:d2dc) (Ping timeout: 240 seconds) |
2021-11-22 10:31:06 +0100 | joel135 | (sid136450@hampstead.irccloud.com) |
2021-11-22 10:31:14 +0100 | yauhsien | (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-11-22 10:31:25 +0100 | ehamberg | (sid18208@hampstead.irccloud.com) |
2021-11-22 10:31:26 +0100 | jmct_ | (sid160793@tinside.irccloud.com) |
2021-11-22 10:31:29 +0100 | bjs | (sid190364@user/bjs) |
2021-11-22 10:31:35 +0100 | hubvu | (sid495858@user/hubvu) |
2021-11-22 10:31:44 +0100 | vito | (sid1962@user/vito) |
2021-11-22 10:31:46 +0100 | carter | (sid14827@helmsley.irccloud.com) |
2021-11-22 10:31:47 +0100 | nrr__ | (sid20938@lymington.irccloud.com) |
2021-11-22 10:31:48 +0100 | kaizen | (sid501599@helmsley.irccloud.com) |
2021-11-22 10:31:48 +0100 | conjunctive | (sid433686@helmsley.irccloud.com) |
2021-11-22 10:31:48 +0100 | NiKaN | (sid385034@helmsley.irccloud.com) |
2021-11-22 10:31:48 +0100 | JSharp | (sid4580@lymington.irccloud.com) |
2021-11-22 10:31:49 +0100 | meinside | (uid24933@helmsley.irccloud.com) |
2021-11-22 10:31:50 +0100 | ProofTechnique | (sid79547@ilkley.irccloud.com) |
2021-11-22 10:31:51 +0100 | CiaoSen | (~Jura@p200300c95716ce002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2021-11-22 10:31:51 +0100 | dpratt__ | (sid193493@helmsley.irccloud.com) |
2021-11-22 10:31:56 +0100 | gmc_ | (sid58314@ilkley.irccloud.com) |
2021-11-22 10:32:08 +0100 | enemeth79 | (sid309041@lymington.irccloud.com) |
2021-11-22 10:32:08 +0100 | saolsen | (sid26430@lymington.irccloud.com) |
2021-11-22 10:32:11 +0100 | idnar | (sid12240@debian/mithrandi) |
2021-11-22 10:32:12 +0100 | tapas | (sid467876@ilkley.irccloud.com) |
2021-11-22 10:32:16 +0100 | ephemient | (uid407513@lymington.irccloud.com) |
2021-11-22 10:32:17 +0100 | jonrh_ | (sid5185@ilkley.irccloud.com) |
2021-11-22 10:32:22 +0100 | mustafa | (sid502723@rockylinux/releng/mustafa) |
2021-11-22 10:32:23 +0100 | dsal | (sid13060@lymington.irccloud.com) |
2021-11-22 10:32:32 +0100 | awpr | (uid446117@lymington.irccloud.com) |
2021-11-22 10:32:47 +0100 | SanchayanMaity | (sid478177@hampstead.irccloud.com) |
2021-11-22 10:32:47 +0100 | pjlsergeant | (sid143467@hampstead.irccloud.com) |
2021-11-22 10:32:49 +0100 | astra` | (sid289983@user/amish) |
2021-11-22 10:32:54 +0100 | dmj` | (sid72307@hampstead.irccloud.com) |
2021-11-22 10:33:02 +0100 | hook54321 | (sid149355@user/hook54321) |
2021-11-22 10:33:05 +0100 | truckasaurus | (sid457088@helmsley.irccloud.com) |
2021-11-22 10:33:07 +0100 | elvishjerricco | (sid237756@helmsley.irccloud.com) |
2021-11-22 10:33:13 +0100 | jakesyl_ | (sid56879@hampstead.irccloud.com) |
2021-11-22 10:33:16 +0100 | NemesisD | (sid24071@lymington.irccloud.com) |
2021-11-22 10:33:17 +0100 | hendi | (sid489601@lymington.irccloud.com) |
2021-11-22 10:33:18 +0100 | philpax_ | (sid516926@lymington.irccloud.com) |
2021-11-22 10:33:21 +0100 | Adeon | (sid418992@lymington.irccloud.com) |
2021-11-22 10:33:27 +0100 | systemfault | (sid267009@uxbridge.irccloud.com) |
2021-11-22 10:33:39 +0100 | SrPx | (sid108780@uxbridge.irccloud.com) |
2021-11-22 10:33:40 +0100 | alzgh | (alzgh@user/alzgh) |
2021-11-22 10:33:41 +0100 | bw__ | (sid2730@ilkley.irccloud.com) |
2021-11-22 10:33:57 +0100 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit) |
2021-11-22 10:33:57 +0100 | acertain | (sid470584@hampstead.irccloud.com) |
2021-11-22 10:33:58 +0100 | aria | (sid380617@lymington.irccloud.com) |
2021-11-22 10:34:03 +0100 | cbarrett | (sid192934@helmsley.irccloud.com) |
2021-11-22 10:34:06 +0100 | Firedancer | (sid336191@hampstead.irccloud.com) |
2021-11-22 10:34:07 +0100 | S11001001 | (sid42510@ilkley.irccloud.com) |
2021-11-22 10:34:39 +0100 | yauhsien | (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) |
2021-11-22 10:34:51 +0100 | Pent | (sid313808@lymington.irccloud.com) |
2021-11-22 10:34:58 +0100 | integral | (sid296274@user/integral) |
2021-11-22 10:35:02 +0100 | sa | (sid1055@tinside.irccloud.com) |
2021-11-22 10:35:04 +0100 | aarchi | (sid486183@uxbridge.irccloud.com) |
2021-11-22 10:35:07 +0100 | bradparker | (sid262931@uxbridge.irccloud.com) |
2021-11-22 10:35:08 +0100 | edwardk | (sid47016@haskell/developer/edwardk) |
2021-11-22 10:35:12 +0100 | aplainzetakind | (~johndoe@captainludd.powered.by.lunarbnc.net) |
2021-11-22 10:36:53 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b4a8:9431:5c1:c0e0) (Remote host closed the connection) |
2021-11-22 10:37:32 +0100 | ProofTechnique | (sid79547@ilkley.irccloud.com) (Ping timeout: 240 seconds) |
2021-11-22 10:37:54 +0100 | Pent | (sid313808@lymington.irccloud.com) (Max SendQ exceeded) |
2021-11-22 10:37:55 +0100 | jakesyl_ | (sid56879@hampstead.irccloud.com) (Max SendQ exceeded) |
2021-11-22 10:38:02 +0100 | rubin55 | (sid175221@hampstead.irccloud.com) (Ping timeout: 240 seconds) |
2021-11-22 10:38:09 +0100 | Pent | (sid313808@id-313808.lymington.irccloud.com) |
2021-11-22 10:38:15 +0100 | typetetris | (sid275937@tinside.irccloud.com) (Ping timeout: 264 seconds) |
2021-11-22 10:38:33 +0100 | jakesyl_ | (sid56879@id-56879.hampstead.irccloud.com) |
2021-11-22 10:38:41 +0100 | philpax_ | (sid516926@lymington.irccloud.com) (Ping timeout: 245 seconds) |
2021-11-22 10:38:52 +0100 | philpax_ | (sid516926@id-516926.lymington.irccloud.com) |
2021-11-22 10:39:12 +0100 | rubin55 | (sid175221@id-175221.hampstead.irccloud.com) |
2021-11-22 10:40:42 +0100 | ProofTechnique | (sid79547@id-79547.ilkley.irccloud.com) |
2021-11-22 10:41:26 +0100 | typetetris | (sid275937@id-275937.tinside.irccloud.com) |
2021-11-22 10:42:17 +0100 | jackdk | (sid373013@cssa/jackdk) |
2021-11-22 10:42:18 +0100 | hongminhee | (sid295@id-295.tinside.irccloud.com) |
2021-11-22 10:42:21 +0100 | christiaanb | (sid84827@id-84827.lymington.irccloud.com) |
2021-11-22 10:42:26 +0100 | PotatoGim | (sid99505@id-99505.lymington.irccloud.com) |
2021-11-22 10:42:34 +0100 | SethTisue__ | (sid14912@id-14912.ilkley.irccloud.com) |
2021-11-22 10:42:35 +0100 | edmundnoble | (sid229620@id-229620.helmsley.irccloud.com) |
2021-11-22 10:42:41 +0100 | caasih | (sid13241@id-13241.ilkley.irccloud.com) |
2021-11-22 10:42:51 +0100 | supersven | (sid501114@id-501114.ilkley.irccloud.com) |
2021-11-22 10:43:05 +0100 | lightandlight | (sid135476@id-135476.helmsley.irccloud.com) |
2021-11-22 10:43:35 +0100 | AndreasK__ | (sid320732@id-320732.uxbridge.irccloud.com) |
2021-11-22 10:43:36 +0100 | b20n | (sid115913@id-115913.uxbridge.irccloud.com) |
2021-11-22 10:43:37 +0100 | mrianbloom | (sid350277@id-350277.ilkley.irccloud.com) |
2021-11-22 10:43:37 +0100 | rtpg | (sid443069@id-443069.ilkley.irccloud.com) |
2021-11-22 10:43:41 +0100 | sa1_ | (sid7690@id-7690.ilkley.irccloud.com) |
2021-11-22 10:43:45 +0100 | aristid | (sid1599@id-1599.uxbridge.irccloud.com) |
2021-11-22 10:43:47 +0100 | davetapley | (sid666@id-666.uxbridge.irccloud.com) |
2021-11-22 10:43:56 +0100 | teehemkay | (sid14792@id-14792.lymington.irccloud.com) |
2021-11-22 10:47:12 +0100 | jakalx | (~jakalx@base.jakalx.net) () |
2021-11-22 10:49:30 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2021-11-22 10:56:16 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:64b0:a3f2:ec06:e597) |
2021-11-22 10:59:33 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2021-11-22 11:00:17 +0100 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
2021-11-22 11:01:54 +0100 | fendor | (~fendor@178.165.196.64.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
2021-11-22 11:02:28 +0100 | acidjnk | (~acidjnk@p200300d0c7271e45b900d7f27b1ad71c.dip0.t-ipconnect.de) |
2021-11-22 11:02:45 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) |
2021-11-22 11:03:09 +0100 | max1984 | (~Massi@host-79-33-240-217.retail.telecomitalia.it) |
2021-11-22 11:06:24 +0100 | max1984 | (~Massi@host-79-33-240-217.retail.telecomitalia.it) () |
2021-11-22 11:16:12 +0100 | ph88 | (~ph88@95.90.240.104) |
2021-11-22 11:16:39 +0100 | deadmarshal | (~deadmarsh@95.38.230.45) (Ping timeout: 264 seconds) |
2021-11-22 11:16:43 +0100 | ph88 | (~ph88@95.90.240.104) (Client Quit) |
2021-11-22 11:17:17 +0100 | ph88 | (~ph88@95.90.240.104) |
2021-11-22 11:18:29 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2021-11-22 11:18:38 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2021-11-22 11:20:21 +0100 | rribeiro | (~rodrigo@2804:5c:55cc:9e00:440a:f8e5:a6cd:124c) |
2021-11-22 11:22:04 +0100 | yauhsien | (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-11-22 11:23:04 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-11-22 11:24:37 +0100 | yauhsien | (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) |
2021-11-22 11:25:43 +0100 | sprout_ | (~quassel@2a02:a467:ccd6:1:990:f1e:8987:d5f9) |
2021-11-22 11:29:11 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:7816:2c69:3dcc:933a) (Ping timeout: 264 seconds) |
2021-11-22 11:29:51 +0100 | yauhsien | (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) (Ping timeout: 264 seconds) |
2021-11-22 11:32:04 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:e931:44b2:abc5:155b) |
2021-11-22 11:33:46 +0100 | sagax | (~sagax_nb@user/sagax) (Excess Flood) |
2021-11-22 11:33:52 +0100 | maerwald | (~maerwald@mail.hasufell.de) (Changing host) |
2021-11-22 11:33:52 +0100 | maerwald | (~maerwald@user/maerwald) |
2021-11-22 11:35:23 +0100 | Axma55388 | (~Axman6@user/axman6) |
2021-11-22 11:35:51 +0100 | sprout_ | (~quassel@2a02:a467:ccd6:1:990:f1e:8987:d5f9) (Ping timeout: 264 seconds) |
2021-11-22 11:35:58 +0100 | Axman6 | (~Axman6@user/axman6) (Ping timeout: 260 seconds) |
2021-11-22 11:37:18 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcf1:6c47:4df:1ed1) |
2021-11-22 11:39:58 +0100 | chele | (~chele@user/chele) (Remote host closed the connection) |
2021-11-22 11:40:05 +0100 | chele_ | (~chele@user/chele) |
2021-11-22 11:43:03 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcf1:6c47:4df:1ed1) (Ping timeout: 264 seconds) |
2021-11-22 11:43:55 +0100 | sprout_ | (~quassel@2a02:a467:ccd6:1:29bf:5ae9:f17:83c0) |
2021-11-22 11:43:58 +0100 | chele_ | chele |
2021-11-22 11:47:01 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:e931:44b2:abc5:155b) (Ping timeout: 245 seconds) |
2021-11-22 11:51:20 +0100 | raoul | (~raoul@95.179.203.88) |
2021-11-22 11:58:11 +0100 | vysn | (~vysn@user/vysn) (Ping timeout: 268 seconds) |
2021-11-22 12:00:20 +0100 | deadmarshal | (~deadmarsh@95.38.230.45) |
2021-11-22 12:00:29 +0100 | sagax | (~sagax_nb@user/sagax) |
2021-11-22 12:02:28 +0100 | Topsi | (~Tobias@dyndsl-095-033-023-020.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
2021-11-22 12:03:50 +0100 | __monty__ | (~toonn@user/toonn) |
2021-11-22 12:04:10 +0100 | xsperry | (~xs@user/xsperry) () |
2021-11-22 12:05:16 +0100 | Axma55388 | (~Axman6@user/axman6) (Ping timeout: 260 seconds) |
2021-11-22 12:07:30 +0100 | Axman6 | (~Axman6@user/axman6) |
2021-11-22 12:10:04 +0100 | Unhammer | (~Unhammer@user/unhammer) (Ping timeout: 265 seconds) |
2021-11-22 12:10:05 +0100 | blackcap | (~blackcap@144.89-10-135.nextgentel.com) (Read error: Connection reset by peer) |
2021-11-22 12:10:15 +0100 | yauhsien | (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) |
2021-11-22 12:10:19 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) (Ping timeout: 260 seconds) |
2021-11-22 12:10:53 +0100 | neurocyte0132889 | (~neurocyte@45.10.60.180) |
2021-11-22 12:10:53 +0100 | neurocyte0132889 | (~neurocyte@45.10.60.180) (Changing host) |
2021-11-22 12:10:53 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) |
2021-11-22 12:14:37 +0100 | yauhsien | (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) (Ping timeout: 250 seconds) |
2021-11-22 12:15:46 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
2021-11-22 12:15:51 +0100 | blackcap | (~blackcap@144.89-10-135.nextgentel.com) |
2021-11-22 12:17:22 +0100 | Axman6 | (~Axman6@user/axman6) (Ping timeout: 260 seconds) |
2021-11-22 12:17:35 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-22 12:18:54 +0100 | Axman6 | (~Axman6@user/axman6) |
2021-11-22 12:22:51 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
2021-11-22 12:23:18 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-22 12:28:29 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
2021-11-22 12:28:53 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-22 12:29:22 +0100 | chomwitt | (~chomwitt@2a02:587:dc14:4600:12c3:7bff:fe6d:d374) |
2021-11-22 12:33:55 +0100 | xsperry | (~xs@user/xsperry) |
2021-11-22 12:34:06 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
2021-11-22 12:34:31 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-22 12:39:31 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
2021-11-22 12:40:05 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-22 12:44:31 +0100 | <Franciman> | does haskell allow talking about propositional identity? |
2021-11-22 12:44:42 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:5cca:96d9:7234:6761) |
2021-11-22 12:45:27 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2021-11-22 12:45:40 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-22 12:45:46 +0100 | CiaoSen | (~Jura@p200300c95716ce002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
2021-11-22 12:46:05 +0100 | martin02 | (~silas@141.84.69.76) (Ping timeout: 256 seconds) |
2021-11-22 12:47:15 +0100 | puke | (~puke@user/puke) (Quit: puke) |
2021-11-22 12:47:51 +0100 | sprout_ | (~quassel@2a02:a467:ccd6:1:29bf:5ae9:f17:83c0) (Ping timeout: 245 seconds) |
2021-11-22 12:50:46 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
2021-11-22 12:51:23 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-22 12:52:28 +0100 | rribeiro | (~rodrigo@2804:5c:55cc:9e00:440a:f8e5:a6cd:124c) (Remote host closed the connection) |
2021-11-22 12:52:31 +0100 | trcc | (~trcc@eduroam09.au.dk) |
2021-11-22 12:56:11 +0100 | trcc_ | (~trcc@users-1190.st.net.au.dk) (Ping timeout: 245 seconds) |
2021-11-22 12:57:54 +0100 | trcc | (~trcc@eduroam09.au.dk) (Remote host closed the connection) |
2021-11-22 12:58:26 +0100 | trcc | (~trcc@users-5343.st.net.au.dk) |
2021-11-22 13:01:39 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2021-11-22 13:02:55 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-22 13:12:48 +0100 | yauhsien | (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) |
2021-11-22 13:13:39 +0100 | deadmarshal | (~deadmarsh@95.38.230.45) (Ping timeout: 264 seconds) |
2021-11-22 13:15:23 +0100 | jippiedoe | (~david@2a02-a44c-e14e-1-c6ad-4343-92dc-4cb2.fixed6.kpn.net) |
2021-11-22 13:17:01 +0100 | yauhsien | (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) (Ping timeout: 250 seconds) |
2021-11-22 13:26:20 +0100 | Cajun | (~Cajun@user/cajun) (Quit: Client closed) |
2021-11-22 13:31:03 +0100 | jippiedoe | (~david@2a02-a44c-e14e-1-c6ad-4343-92dc-4cb2.fixed6.kpn.net) (Ping timeout: 264 seconds) |
2021-11-22 13:38:36 +0100 | alzgh | (alzgh@user/alzgh) (Remote host closed the connection) |
2021-11-22 13:38:56 +0100 | alzgh | (alzgh@user/alzgh) |
2021-11-22 13:49:32 +0100 | jippiedoe | (~david@2a02-a44c-e14e-1-c482-95c0-575a-83bc.fixed6.kpn.net) |
2021-11-22 13:54:40 +0100 | Cajun | (~Cajun@user/cajun) |
2021-11-22 13:54:42 +0100 | CiaoSen | (~Jura@p200300c95716ce002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2021-11-22 14:01:08 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2021-11-22 14:10:48 +0100 | yauhsien | (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) |
2021-11-22 14:11:39 +0100 | deadmarshal | (~deadmarsh@95.38.230.45) |
2021-11-22 14:15:21 +0100 | yauhsien | (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) (Ping timeout: 245 seconds) |
2021-11-22 14:15:34 +0100 | bw__ | (sid2730@ilkley.irccloud.com) () |
2021-11-22 14:16:00 +0100 | bw | (sid2730@user/betawaffle) |
2021-11-22 14:26:05 +0100 | bitdex_ | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2021-11-22 14:28:07 +0100 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset) |
2021-11-22 14:29:55 +0100 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) |
2021-11-22 14:32:57 +0100 | V | (~v@anomalous.eu) (Remote host closed the connection) |
2021-11-22 14:34:15 +0100 | V | (~v@anomalous.eu) |
2021-11-22 14:36:48 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-11-22 14:45:18 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-11-22 14:48:57 +0100 | timCF | (~timCF@200-149-20-81.sta.estpak.ee) |
2021-11-22 14:50:12 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2021-11-22 14:52:22 +0100 | <timCF> | Hello! Are there any runtime perfornamce issues because using TypeApplications `@a` syntax instead of `Proxy :: Proxy a` in generic functions with `forall a.`? For me `@a` looks better, and I'll use it any day of the week instead of Proxy, but is it coming for free in terms of performance? |
2021-11-22 14:52:48 +0100 | <merijn> | timCF: Performance: Probably. Maintenance: No |
2021-11-22 14:52:56 +0100 | <dminuoso> | TypeApplication could probably be cheaper since there's no token that GHC must optimize away |
2021-11-22 14:53:08 +0100 | <dminuoso> | But I call premature optimization |
2021-11-22 14:54:02 +0100 | <timCF> | You mean TypeApplications might be even better in terms of performance? |
2021-11-22 14:54:03 +0100 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2021-11-22 14:54:06 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2021-11-22 14:54:25 +0100 | <merijn> | TypeApplications may also break randomly when your dependencies *OR* compiler update, so... |
2021-11-22 14:54:26 +0100 | <dminuoso> | timCF: Personally I prefer Proxy in most situations because a) it guarantees stable and communicatable API, b) doesn't demand yet-another extension from a user, and it's often easier to pass things around by binding a proxy pattern rather than introduce some forall at some outer level |
2021-11-22 14:55:19 +0100 | <merijn> | TypeApplications is great, if you like things like "accidentall tying the stability of my API to implementation details of your specific compiler version"! |
2021-11-22 14:55:20 +0100 | <dminuoso> | If both sides (the definition and call site) are under your full control, it probably doesn't matter |
2021-11-22 14:55:34 +0100 | <dminuoso> | But be sure to introduce all variables explicitly via forall |
2021-11-22 14:56:52 +0100 | <timCF> | merijn: dminuoso: thanks! |
2021-11-22 14:57:23 +0100 | <timCF> | merijn: you mean it might brake when I'm using some dependency, and then they switch order in forall expression for some reason? |
2021-11-22 14:57:38 +0100 | <dminuoso> | Also, TypeApplications tends to be a bit brittle when since you cant apply polymorphic things to visible type arguments after inference has done its job |
2021-11-22 14:57:48 +0100 | <merijn> | timCF: Yes. And also if they never used an explicit forall and the GHC infers a different order for implicit foralls |
2021-11-22 14:57:49 +0100 | <dminuoso> | e.g.: |
2021-11-22 14:57:52 +0100 | <dminuoso> | % f = id |
2021-11-22 14:57:52 +0100 | <yahb> | dminuoso: |
2021-11-22 14:57:54 +0100 | <dminuoso> | % :t f |
2021-11-22 14:57:54 +0100 | <yahb> | dminuoso: a -> a |
2021-11-22 14:58:04 +0100 | <dminuoso> | % :t f @Int |
2021-11-22 14:58:05 +0100 | <yahb> | dminuoso: ; <interactive>:1:1: error:; * Cannot apply expression of type `a0 -> a0'; to a visible type argument `Int'; * In the expression: f @Int |
2021-11-22 14:58:06 +0100 | <merijn> | timCF: Which is not a hypothetical situation, because we've already had 1 GHC release that broke TypeApplications that way |
2021-11-22 14:58:19 +0100 | <merijn> | (changed the order constraints were inferred in) |
2021-11-22 14:58:23 +0100 | <dminuoso> | timCF: ^- Do instantly and intuitively know why this is? |
2021-11-22 14:59:12 +0100 | <timCF> | dminuoso: AllowAmbiguousTypes or something like this? |
2021-11-22 14:59:16 +0100 | <dminuoso> | Nope. |
2021-11-22 14:59:31 +0100 | <merijn> | Is it...the monomorphism restriction? :D |
2021-11-22 14:59:38 +0100 | <dminuoso> | Nope |
2021-11-22 14:59:42 +0100 | <merijn> | aww |
2021-11-22 14:59:43 +0100 | <kuribas> | merijn: solution: always use explicit forall. |
2021-11-22 15:00:04 +0100 | <dminuoso> | timCF: You cant apply things with "invisible" type variables to visible type arguments. |
2021-11-22 15:00:14 +0100 | <dminuoso> | There's subtle reasons for why all that is |
2021-11-22 15:00:40 +0100 | <dminuoso> | But the consequence is that you cant use TypeApplications as freely because as soon as GHC does type inference, you cant use TypeApplications anymore |
2021-11-22 15:00:51 +0100 | <dminuoso> | That is, if GHC repolymorphizes |
2021-11-22 15:00:54 +0100 | <merijn> | kuribas: Do your dependencies do that, though? |
2021-11-22 15:01:12 +0100 | <dminuoso> | timCF: Proxy is really much more solid and obvious. :) |
2021-11-22 15:01:20 +0100 | <timCF> | merijn: who knows really :) |
2021-11-22 15:01:22 +0100 | <dminuoso> | Albeit a bit noisy, but other than that it has mostly just benefits |
2021-11-22 15:01:31 +0100 | <merijn> | kuribas: Also, I don't, because I dislike TypeApplications for reasons above |
2021-11-22 15:01:31 +0100 | <kuribas> | merijn: I don't use TypeApplications if they don't. |
2021-11-22 15:01:50 +0100 | <dminuoso> | timCF: Though you can do one interesting combination |
2021-11-22 15:01:52 +0100 | <dminuoso> | That one I favor |
2021-11-22 15:01:57 +0100 | <dminuoso> | Proxy *with* TypeApplications |
2021-11-22 15:02:03 +0100 | <kuribas> | Just use a language where you can apply types as arguments. |
2021-11-22 15:02:04 +0100 | <dminuoso> | f (Proxy @Int) |
2021-11-22 15:02:12 +0100 | <dminuoso> | This is a nice middle ground |
2021-11-22 15:02:16 +0100 | <timCF> | dminuoso: that's actually cool |
2021-11-22 15:02:58 +0100 | <timCF> | kuribas: for example? |
2021-11-22 15:03:05 +0100 | <kuribas> | timCF: idris |
2021-11-22 15:03:07 +0100 | <merijn> | Idris :p |
2021-11-22 15:03:10 +0100 | <timCF> | hmmm |
2021-11-22 15:03:11 +0100 | <merijn> | Agda, Coq |
2021-11-22 15:03:18 +0100 | <merijn> | timCF: He's mostly joking :p |
2021-11-22 15:03:21 +0100 | <merijn> | (I assume) |
2021-11-22 15:03:30 +0100 | <timCF> | Are they better version of Haskell then? :) |
2021-11-22 15:03:42 +0100 | <timCF> | (probably not) |
2021-11-22 15:03:52 +0100 | <Hecate> | Idris 2 |
2021-11-22 15:03:58 +0100 | <kuribas> | merijn: yes and no. If you are doing extensive type level programming, you may be better of with idris than with haskell. |
2021-11-22 15:04:12 +0100 | <merijn> | timCF: Define "beter", "version", and "haskell" :p |
2021-11-22 15:04:25 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-11-22 15:05:34 +0100 | <timCF> | Prelude> better version haskell |
2021-11-22 15:05:34 +0100 | <timCF> | <interactive>:1:1: error: |
2021-11-22 15:05:34 +0100 | <timCF> | Variable not in scope: better :: t0 -> t1 -> t |
2021-11-22 15:05:36 +0100 | <timCF> | <interactive>:1:8: error: Variable not in scope: version |
2021-11-22 15:05:41 +0100 | <timCF> | <interactive>:1:16: error: Variable not in scope: haskell |
2021-11-22 15:05:45 +0100 | son0p | (~ff@181.136.122.143) |
2021-11-22 15:05:50 +0100 | <timCF> | :) |
2021-11-22 15:07:31 +0100 | Cajun | (~Cajun@user/cajun) (Quit: Client closed) |
2021-11-22 15:09:23 +0100 | <kuribas> | merijn: idris is not production ready, but it will never be if people keep shoehorning type level stuff into haskell, instead of using a more appropriate language. |
2021-11-22 15:09:37 +0100 | <maerwald> | kuribas++ |
2021-11-22 15:10:19 +0100 | <merijn> | Haskell won't be production ready if people keep doing that too :p |
2021-11-22 15:10:31 +0100 | <maerwald> | but I want my toys! |
2021-11-22 15:11:45 +0100 | <kuribas> | merijn: it has been for a long time. |
2021-11-22 15:12:14 +0100 | <kuribas> | merijn: wait, you mean it will not be production ready if people keep adding on top of it? |
2021-11-22 15:12:32 +0100 | Philonous_ | (~Philonous@user/philonous) (Quit: ZNC - https://znc.in) |
2021-11-22 15:12:33 +0100 | <timCF> | merijn: I actually never tried any of them (Idris, Agda, Coq). Which of them is the most enterprise-oriented in your opinion? Toys are important, but I'm kinda doing web programming.. It will be hard without Persistent, Esqueleto, Yesod, Servant, Conduit and others |
2021-11-22 15:12:54 +0100 | <kuribas> | merijn: If so, I agree. I'd rather see other improvements than DH. |
2021-11-22 15:13:02 +0100 | Philonous | (~Philonous@user/philonous) |
2021-11-22 15:13:08 +0100 | <kuribas> | in particular tooling improvements. |
2021-11-22 15:13:26 +0100 | <merijn> | kuribas: The latter, yes |
2021-11-22 15:13:44 +0100 | <dminuoso> | Web development itself is a disgusting field honestly |
2021-11-22 15:14:06 +0100 | <kuribas> | timCF: frankly none of them. |
2021-11-22 15:14:11 +0100 | <dminuoso> | More so than other fields this requires good availability of libraries to help pull the weight. |
2021-11-22 15:14:25 +0100 | <kuribas> | timCF: you may use them as a prototype, or for verifying parts of your program. |
2021-11-22 15:14:28 +0100 | <timCF> | dminuoso: With Haskell not that disgusting actually. After switch from Erlang I'm sleeping much better at night. |
2021-11-22 15:14:59 +0100 | <dminuoso> | We dont have a plethora of good options to generate HTML with |
2021-11-22 15:15:10 +0100 | <timCF> | Yesod/Blaze? |
2021-11-22 15:15:17 +0100 | <dminuoso> | Highly opinionated. |
2021-11-22 15:15:24 +0100 | <maerwald> | dminuoso: because we're busy adding more complicated stuff to our toybelt |
2021-11-22 15:15:29 +0100 | <maerwald> | that serves a few edge cases |
2021-11-22 15:16:02 +0100 | <dminuoso> | There's also reflex-dom if you enjoy FRP |
2021-11-22 15:16:13 +0100 | <dminuoso> | But the toolstack you start accomulating gets unreal |
2021-11-22 15:16:18 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 276 seconds) |
2021-11-22 15:16:34 +0100 | <kuribas> | IMO Dependent Haskell makes even less sense for teaching. |
2021-11-22 15:17:53 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-11-22 15:18:33 +0100 | <dminuoso> | timCF: Also yesod is becoming less and less relevant, there's not as many active contributions anymore |
2021-11-22 15:18:50 +0100 | <dminuoso> | And it comes with a bus factor of 1.1 |
2021-11-22 15:18:54 +0100 | <kuribas> | dminuoso: as opposed to what? |
2021-11-22 15:18:56 +0100 | <maerwald> | fpco seems to shift more into devops, rust and blockchain |
2021-11-22 15:19:11 +0100 | <dminuoso> | kuribas: As opposed to the past. |
2021-11-22 15:19:14 +0100 | <dminuoso> | https://github.com/yesodweb/yesod/graphs/contributors |
2021-11-22 15:19:53 +0100 | <kuribas> | dminuoso: I meant, what are people using then? |
2021-11-22 15:20:09 +0100 | <dminuoso> | No clue |
2021-11-22 15:20:18 +0100 | <kuribas> | servant? |
2021-11-22 15:20:26 +0100 | <kuribas> | spock, ... |
2021-11-22 15:20:28 +0100 | <dminuoso> | Based on various factors Id assume web developers simply pick more suitable tools. |
2021-11-22 15:20:36 +0100 | <dminuoso> | Based on surrounding technologies |
2021-11-22 15:20:41 +0100 | <maerwald> | same for snap https://github.com/snapframework/snap/graphs/contributors |
2021-11-22 15:20:41 +0100 | <dminuoso> | Say they might build the frontend in reactjs |
2021-11-22 15:21:00 +0100 | jkaye | (~jkaye@2601:281:8300:7530:c25c:6460:bfbf:33d6) |
2021-11-22 15:21:22 +0100 | <dminuoso> | maerwald: Yup. |
2021-11-22 15:21:53 +0100 | aliosablack | (~chomwitt@2a02:587:dc14:4600:12c3:7bff:fe6d:d374) |
2021-11-22 15:22:09 +0100 | chomwitt | (~chomwitt@2a02:587:dc14:4600:12c3:7bff:fe6d:d374) (Read error: Connection reset by peer) |
2021-11-22 15:22:42 +0100 | <dminuoso> | From a business point of view, deciding to simply do it in Django seems more worthwhile. You have to be fairly religious to do web development in Haskell. |
2021-11-22 15:23:06 +0100 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-11-22 15:23:27 +0100 | <merijn> | dminuoso: The kinda religious that'd just switch to Ur/Web ;) |
2021-11-22 15:23:47 +0100 | <kuribas> | dminuoso: or clojure? |
2021-11-22 15:24:16 +0100 | <timCF> | dminuoso: Yesod is just enterprise web framework for Haskell, when I've started to use it - I had no idea how to write actual Haskell, but was already able to build websites with postgres storage. And then I've gradually learned about stuff like Functors, Applicatives, Monads, Alternatives (just new use cases when more complex web forms were needed) |
2021-11-22 15:24:28 +0100 | <dminuoso> | timCF: What does "enterprise web framework" even mean? |
2021-11-22 15:24:41 +0100 | <maerwald> | dminuoso: you start with no clue what you're doing |
2021-11-22 15:24:47 +0100 | <dminuoso> | ah heh |
2021-11-22 15:24:55 +0100 | <timCF> | dminuoso: maerwald: exactly |
2021-11-22 15:25:36 +0100 | <dminuoso> | kuribas: Like I said, Id focus on picking a language that has rich tooling and active participation of wide industry. For web development, that's mostly JavaScript and some Python. |
2021-11-22 15:25:43 +0100 | <timCF> | It's not the most efficient way of learning Haskell anyway. It's actually very inefficient, but works for some people |
2021-11-22 15:25:53 +0100 | <merijn> | dminuoso: I have a better solution! |
2021-11-22 15:25:58 +0100 | <Franciman> | dminuoso: I would choose a language which is not lazy |
2021-11-22 15:25:59 +0100 | <merijn> | dminuoso: I just gave up on having a website! :p |
2021-11-22 15:26:02 +0100 | <dminuoso> | merijn: Yup. |
2021-11-22 15:26:19 +0100 | <Franciman> | default laziness is plain dumb, optimal evaluation is much better idea |
2021-11-22 15:26:39 +0100 | <kuribas> | dminuoso: you might not use haskell at all! Except for the blockchain! |
2021-11-22 15:26:41 +0100 | <timCF> | Franciman: just use StrictData and you will be safe in most cases |
2021-11-22 15:26:45 +0100 | <merijn> | Default lazy is still better than default strict |
2021-11-22 15:26:59 +0100 | <maerwald> | merijn: that's hard to assess |
2021-11-22 15:27:22 +0100 | <Franciman> | sure |
2021-11-22 15:27:26 +0100 | <Franciman> | default lazy on the web |
2021-11-22 15:27:30 +0100 | <Franciman> | so that chromium consumes 200GB |
2021-11-22 15:27:32 +0100 | <Franciman> | instead of 32 |
2021-11-22 15:27:39 +0100 | <Franciman> | is awesome choice |
2021-11-22 15:27:44 +0100 | <maerwald> | the only real argument pro default laziness is that GHC can optimize *some* stuff better |
2021-11-22 15:27:47 +0100 | <Franciman> | web sucks :P |
2021-11-22 15:27:52 +0100 | yauhsien | (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) |
2021-11-22 15:28:01 +0100 | <maerwald> | but that's a brittle argument from a language perspective |
2021-11-22 15:28:04 +0100 | <merijn> | maerwald: I have a better argument |
2021-11-22 15:28:18 +0100 | <merijn> | maerwald: "too lazy" can always be solved locally. "too strict" cannot |
2021-11-22 15:28:21 +0100 | trcc_ | (~trcc@eduroam09.au.dk) |
2021-11-22 15:28:26 +0100 | trcc_ | (~trcc@eduroam09.au.dk) (Remote host closed the connection) |
2021-11-22 15:28:29 +0100 | <Franciman> | I am speaking about web dev |
2021-11-22 15:28:35 +0100 | <maerwald> | merijn: well, that's not true... I have a complicated example where that didn't work |
2021-11-22 15:28:38 +0100 | <merijn> | Therefore it's easier to obtain the desired semantics by having default lazy |
2021-11-22 15:28:43 +0100 | <maerwald> | but it's proprietary code |
2021-11-22 15:28:44 +0100 | <dminuoso> | Third opinion: Both suck, a lazy-polymorphic like levity would be ideal. |
2021-11-22 15:28:51 +0100 | <dminuoso> | Let the user pick what they want. |
2021-11-22 15:28:53 +0100 | <merijn> | dminuoso: Yes, that's what I want |
2021-11-22 15:29:04 +0100 | <merijn> | dminuoso: And well get started on, as soon as someone will pay me :p |
2021-11-22 15:29:17 +0100 | <Franciman> | I also don't understand why you have to pick between a totally wrong solution (laziness) and a totally incorrect approximation (strictness) |
2021-11-22 15:29:18 +0100 | <merijn> | dminuoso: Together with proper, pure, exceptions |
2021-11-22 15:29:21 +0100 | <Franciman> | when you can choose optimal evaluation |
2021-11-22 15:29:25 +0100 | <maerwald> | the final value was forced, but there was a huge intermediate thunk buildup, which caused immense performance regression in a hot loop... forcing the final value doesn't help you at all |
2021-11-22 15:30:06 +0100 | <maerwald> | so we had to go through the entire codebase and identify the issues... most of them were in data constructors |
2021-11-22 15:30:32 +0100 | <maerwald> | that's why some people say laziness is global state |
2021-11-22 15:30:45 +0100 | epolanski | (uid312403@id-312403.helmsley.irccloud.com) |
2021-11-22 15:30:54 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-11-22 15:31:15 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-11-22 15:31:36 +0100 | trcc | (~trcc@users-5343.st.net.au.dk) (Ping timeout: 245 seconds) |
2021-11-22 15:31:55 +0100 | <Franciman> | laziness is a bit of cargo cult, because optimal evaluation is not industry read yet |
2021-11-22 15:32:00 +0100 | <maerwald> | and that issue was disrupting the business |
2021-11-22 15:32:05 +0100 | <maerwald> | and cost money |
2021-11-22 15:32:12 +0100 | <Franciman> | it's become axiomatic |
2021-11-22 15:32:17 +0100 | <Franciman> | either laziness or strictness |
2021-11-22 15:32:20 +0100 | <Franciman> | how about no? |
2021-11-22 15:32:51 +0100 | yauhsien | (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) (Ping timeout: 264 seconds) |
2021-11-22 15:32:51 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) (Ping timeout: 264 seconds) |
2021-11-22 15:33:00 +0100 | <maerwald> | Franciman: by the time we have something better, I'll not be programming anymore :D |
2021-11-22 15:33:02 +0100 | <lortabac> | Franciman: I guess you answered your own question. Optimal evaluation is not production-ready yet |
2021-11-22 15:33:17 +0100 | <lortabac> | it's mostly a research topic AFAIK |
2021-11-22 15:33:41 +0100 | <Franciman> | wasn't haskell the same? |
2021-11-22 15:34:56 +0100 | CiaoSen | (~Jura@p200300c95716ce002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
2021-11-22 15:35:41 +0100 | <lortabac> | Franciman: yes, it took a long time to make laziness even remotely usable |
2021-11-22 15:35:53 +0100 | <merijn> | Not really, there were a bunch of lazy languages. Haskell exists so that people could focus their work on one language instead of reinventing the wheel every time |
2021-11-22 15:35:55 +0100 | <lortabac> | the first IO system in Haskell was not very ergonomic |
2021-11-22 15:36:16 +0100 | <Franciman> | merijn: not really to what? |
2021-11-22 15:36:20 +0100 | <lortabac> | merijn: did those languages have a usable IO system? |
2021-11-22 15:36:30 +0100 | <Franciman> | not really to not being cargo cult of laziness? |
2021-11-22 15:36:31 +0100 | <merijn> | lortabac: Some, ys |
2021-11-22 15:36:42 +0100 | <Franciman> | laziness as the only truth? |
2021-11-22 15:37:16 +0100 | <merijn> | Franciman: That Haskell wasn't the only lazy language |
2021-11-22 15:37:23 +0100 | <Franciman> | lol |
2021-11-22 15:37:25 +0100 | <Franciman> | ok |
2021-11-22 15:37:47 +0100 | <merijn> | The Haskell committee was *explicitly* formed to unify efforts in several lazy languages |
2021-11-22 15:37:57 +0100 | <Franciman> | btw, I think that we could benefit from some easy tutorials on the internal STG machine |
2021-11-22 15:38:00 +0100 | <merijn> | The first Haskell compiler was implemented in Lazy ML |
2021-11-22 15:38:10 +0100 | <merijn> | So, obviously Haskell wasn't the first lazy language |
2021-11-22 15:38:13 +0100 | <Franciman> | so that people get more sense of how laziness works |
2021-11-22 15:38:13 +0100 | <dminuoso> | How can I easily share a bunch of common dependencies at preset verious in multiple components in a cabal file? |
2021-11-22 15:38:17 +0100 | <Franciman> | instead of pretending haskell is magic |
2021-11-22 15:38:21 +0100 | <merijn> | dminuoso: common block |
2021-11-22 15:38:39 +0100 | <lortabac> | merijn: do you know another sane IO mechanism before monads? |
2021-11-22 15:38:40 +0100 | <Franciman> | do we have, as a community good tutorials on STG machine? |
2021-11-22 15:38:40 +0100 | <merijn> | dminuoso: https://github.com/merijn/Belewitte/blob/master/benchmark-analysis/benchmark-analysis.cabal#L34-L62 |
2021-11-22 15:38:51 +0100 | <merijn> | lortabac: Uniqueness types |
2021-11-22 15:38:53 +0100 | <merijn> | lortabac: See Clean |
2021-11-22 15:38:56 +0100 | <dminuoso> | merijn: Spot on, thanks! |
2021-11-22 15:39:10 +0100 | <merijn> | dminuoso: You can even import multiple common blocks into one component to compose them |
2021-11-22 15:39:31 +0100 | deadmarshal | (~deadmarsh@95.38.230.45) (Ping timeout: 245 seconds) |
2021-11-22 15:39:41 +0100 | <maerwald> | Franciman: I hate having to know internals of the compiler to understand how a language works (and behaves, operationally). The more important compiler knowledge becomes, the more broken I consider the language. |
2021-11-22 15:40:03 +0100 | <maerwald> | which means C++ is utterly broken |
2021-11-22 15:40:05 +0100 | <Franciman> | eh but then how do you understand haskell's computational model? |
2021-11-22 15:40:08 +0100 | <Franciman> | if you want to optimize |
2021-11-22 15:40:21 +0100 | <Franciman> | laziness is hard because you can't reason about it |
2021-11-22 15:40:23 +0100 | <Franciman> | easily |
2021-11-22 15:43:12 +0100 | <Franciman> | laziness requires graphs |
2021-11-22 15:43:17 +0100 | <Franciman> | strictness is about trees |
2021-11-22 15:43:33 +0100 | <Franciman> | I personally work better on trees, but just because I am more used to them |
2021-11-22 15:43:43 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2021-11-22 15:43:53 +0100 | <Franciman> | if you teach me how laziness computationally behaves, I think I can understand haskell's computational model better |
2021-11-22 15:44:01 +0100 | <Franciman> | and fix laziness bugs earlier |
2021-11-22 15:44:05 +0100 | nisstyre | (~wes@li798-187.members.linode.com) (Changing host) |
2021-11-22 15:44:05 +0100 | nisstyre | (~wes@user/nisstyre) |
2021-11-22 15:45:24 +0100 | <Franciman> | imho laziness is the best default when you are coding on paper and don't expect your code to run anywhere |
2021-11-22 15:45:40 +0100 | <Franciman> | otherwise you also need to, some extent, understand the computational model of the machine |
2021-11-22 15:45:58 +0100 | <Franciman> | hence, if you are so fond of retaining laziness, you need a way to understand how the code runs |
2021-11-22 15:46:20 +0100 | <maerwald> | Franciman: that's a moving target |
2021-11-22 15:46:40 +0100 | <maerwald> | inlining behavior etc changes a LOT between GHC versions |
2021-11-22 15:48:23 +0100 | <Franciman> | then we are doomed |
2021-11-22 15:48:25 +0100 | <Franciman> | whant can I say |
2021-11-22 15:48:28 +0100 | <Franciman> | what* |
2021-11-22 15:48:34 +0100 | <Franciman> | I thought haskell standard gave a semantics |
2021-11-22 15:48:42 +0100 | <Franciman> | I understand that ghc can have its quircks |
2021-11-22 15:48:50 +0100 | <Franciman> | but if they compose the 98% of the semantics of haskell |
2021-11-22 15:48:52 +0100 | <Franciman> | we are doomed |
2021-11-22 15:48:56 +0100 | <Franciman> | you can't reason about anything |
2021-11-22 15:49:35 +0100 | <dminuoso> | You need to understand how the code runs irrspective of the language if you want performing code. And the reality is, you're going to be sad if you write code with the assumption of an implementation. |
2021-11-22 15:49:53 +0100 | <dminuoso> | v8 made a major reengineering, which caused a massive performance degradation of thousands of JS packages |
2021-11-22 15:50:06 +0100 | <lortabac> | I found this tool very interesting for GHC, I haven't tried it yet though: https://youtu.be/I4lnCG18TaY |
2021-11-22 15:54:32 +0100 | <Franciman> | dminuoso: ok, but I don't have a freaking clue about what happens in my code |
2021-11-22 15:54:40 +0100 | <Franciman> | I can only use a very abstract substitution based semantics |
2021-11-22 15:54:42 +0100 | <Franciman> | to understand what happens |
2021-11-22 15:54:53 +0100 | <Franciman> | it's hard to understand laziness |
2021-11-22 15:55:00 +0100 | Lycurgus | (~juan@98.4.112.204) |
2021-11-22 15:55:01 +0100 | <Franciman> | that's why I said, probably we need to know better how ghc works |
2021-11-22 15:55:14 +0100 | <Franciman> | if the behaviour of haskell changes 98% at every ghc version |
2021-11-22 15:55:17 +0100 | <Franciman> | then that's a problem |
2021-11-22 15:55:36 +0100 | <Franciman> | but if there is a core semantics, that mostly gets you an idea, that's a better approximation of saying |
2021-11-22 15:55:37 +0100 | <maerwald> | performance properties, not behaviour |
2021-11-22 15:55:37 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-11-22 15:55:39 +0100 | <Franciman> | uhm laziness magic! |
2021-11-22 15:56:04 +0100 | <Franciman> | if we want the cargo cult of laziness as the ultimate magic you don't have to think about |
2021-11-22 15:56:06 +0100 | <Franciman> | then ok |
2021-11-22 15:56:16 +0100 | acidjnk | (~acidjnk@p200300d0c7271e45b900d7f27b1ad71c.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
2021-11-22 15:56:24 +0100 | <Franciman> | but in practice i found myself wanting to understand what was going on |
2021-11-22 15:57:35 +0100 | <Franciman> | imagine C++ with default lazy semantics |
2021-11-22 15:57:43 +0100 | <Franciman> | that would be a nightmare |
2021-11-22 15:57:45 +0100 | benin6 | (~benin@183.82.178.244) |
2021-11-22 15:58:30 +0100 | <Lycurgus> | that's just like ur opinion man |
2021-11-22 15:59:36 +0100 | <Lycurgus> | also a lot of people here think c/c++ are a nightmare regardless |
2021-11-22 15:59:54 +0100 | benin | (~benin@183.82.178.244) (Ping timeout: 268 seconds) |
2021-11-22 15:59:55 +0100 | benin6 | benin |
2021-11-22 16:00:08 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:4518:ab7b:975d:2f47) |
2021-11-22 16:00:09 +0100 | <Franciman> | now imagine mutable state + laziness |
2021-11-22 16:00:20 +0100 | <Franciman> | + c++ quirks |
2021-11-22 16:00:27 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 264 seconds) |
2021-11-22 16:01:26 +0100 | <Lycurgus> | a minority prolly recognize it as the defacto universal machine lang of this time |
2021-11-22 16:02:23 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-11-22 16:04:01 +0100 | <Lycurgus> | ghc changing 98% even at every leading number change prolly wouldn work and i'm reasonably confident isn't in fact the case |
2021-11-22 16:04:42 +0100 | <Lycurgus> | although it's rate of mutation is different than other comparable langs |
2021-11-22 16:05:21 +0100 | <Lycurgus> | that would be like a complete rewrite on every major release |
2021-11-22 16:05:56 +0100 | <Lycurgus> | 98% of something out the end of the thing maybe |
2021-11-22 16:06:03 +0100 | rekahsoft | (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) |
2021-11-22 16:08:17 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:4518:ab7b:975d:2f47) (Remote host closed the connection) |
2021-11-22 16:08:44 +0100 | <Lycurgus> | *its rate |
2021-11-22 16:11:06 +0100 | <Franciman> | Lycurgus: what I mean is probably best expressed by this meme |
2021-11-22 16:11:20 +0100 | <Franciman> | this channel: laziness is godsent and is incredibly awesome for reasoning about code |
2021-11-22 16:11:26 +0100 | <Franciman> | real world: *screams in all directions* |
2021-11-22 16:11:34 +0100 | <Franciman> | so I suggested |
2021-11-22 16:11:39 +0100 | <Franciman> | well I don't usggest |
2021-11-22 16:11:49 +0100 | <Lycurgus> | turning it off? |
2021-11-22 16:11:57 +0100 | <Franciman> | I suppose that if one learns a bit more about the internals of how laziness is used |
2021-11-22 16:12:02 +0100 | <Franciman> | and executed |
2021-11-22 16:12:05 +0100 | <Franciman> | i.e. the STG machine |
2021-11-22 16:12:09 +0100 | <Franciman> | the screams get reduced |
2021-11-22 16:13:41 +0100 | <Lycurgus> | telling a lisp audience that laziness sucks is like telling romance lang speakers their lang is effeminate or germans theirs is brutish |
2021-11-22 16:13:51 +0100 | <Lycurgus> | *haskell audience |
2021-11-22 16:14:42 +0100 | <Franciman> | I am not saying it sucks |
2021-11-22 16:14:44 +0100 | <Franciman> | holy hell |
2021-11-22 16:15:18 +0100 | <lortabac> | Lycurgus: they can say anything they want about my language, it's not me who invented it, I'm just a user :P |
2021-11-22 16:15:25 +0100 | alzgh | (alzgh@user/alzgh) (Remote host closed the connection) |
2021-11-22 16:15:39 +0100 | <lortabac> | (I mean natural language) |
2021-11-22 16:15:45 +0100 | alzgh | (alzgh@user/alzgh) |
2021-11-22 16:15:53 +0100 | <Franciman> | Lycurgus: I just said, maybe problems with laziness can be more easy to solve if we all learn about STG machine |
2021-11-22 16:15:57 +0100 | <Lycurgus> | it's all perspective, a boon in the right mindset |
2021-11-22 16:16:16 +0100 | <geekosaur> | not sure "the STG machine" is the right target here, either. STG is a way to efficiently do graph reduction. https://en.wikipedia.org/wiki/Graph_reduction may be more helpful |
2021-11-22 16:16:22 +0100 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-11-22 16:16:38 +0100 | <Franciman> | I also said that I don't like the dychotomy `default laziness is of course better than strictness by default' |
2021-11-22 16:16:43 +0100 | <Franciman> | because you have other solutions |
2021-11-22 16:16:52 +0100 | <geekosaur> | that is, if you look for the details on STG you will find a lot of stuff on implementing it on hardware |
2021-11-22 16:17:12 +0100 | <geekosaur> | because STG is about doing graph reduction on real hardware |
2021-11-22 16:17:14 +0100 | <Lycurgus> | i don't wanna know about STG machine, just wanna be able to turn it off if it causes a problem I don't have time to fix right now |
2021-11-22 16:18:34 +0100 | <Lycurgus> | in general I don't wanna know about anything internal any deeper than TH |
2021-11-22 16:18:51 +0100 | <geekosaur> | and there is -XStrictData for that |
2021-11-22 16:19:03 +0100 | <Franciman> | how often do you use it? |
2021-11-22 16:19:11 +0100 | <Franciman> | rarely? |
2021-11-22 16:19:20 +0100 | <Lycurgus> | i think people use it all the time |
2021-11-22 16:19:25 +0100 | <geekosaur> | (-XStrict generally goes too far, you'd have to replace the Prelude and nobody has written a strict Prelude replacement yet) |
2021-11-22 16:20:05 +0100 | <maerwald> | XStrict is also odd, I think it also depends on how you write down your functions |
2021-11-22 16:20:09 +0100 | <Franciman> | it's been shown by maerwald that -XStrict can become dodgy |
2021-11-22 16:20:14 +0100 | <Franciman> | oh well |
2021-11-22 16:20:33 +0100 | <maerwald> | afair `foo x = id x` is not the same as `foo = id` under XStrict |
2021-11-22 16:20:51 +0100 | <merijn> | Lycurgus: I'm pretty confident that the people using StrictData are the *vast* minority on hackage |
2021-11-22 16:21:10 +0100 | <Lycurgus> | merijn, ack |
2021-11-22 16:21:28 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:d41b:9326:c4d8:9f2a) |
2021-11-22 16:21:30 +0100 | <lortabac> | merijn: I have worked in 3 different teams, and all of them had StrictData enabled at project-level |
2021-11-22 16:22:44 +0100 | <geekosaur> | #ghc also strongly suggests that -XStrictData is pretty common in larger environments |
2021-11-22 16:22:59 +0100 | <lortabac> | it's recommended by some popular blog post |
2021-11-22 16:23:00 +0100 | <Hecate> | yeah, we do so in my team as well |
2021-11-22 16:23:02 +0100 | <Hecate> | hi lortabac o/ :) |
2021-11-22 16:23:15 +0100 | <lortabac> | Hecate: hello :) |
2021-11-22 16:23:31 +0100 | yauhsien | (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) |
2021-11-22 16:23:31 +0100 | <merijn> | lortabac: There's lots of popular blog posts that aren't necessarily, correct, though :p |
2021-11-22 16:23:47 +0100 | <merijn> | tbh, StrictData project wide seems like a "Go-lang" solution |
2021-11-22 16:23:57 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
2021-11-22 16:25:02 +0100 | <merijn> | In the "we can't be arsed or don't trust our juniors to be trained adequately to think about what they're doing, so we just settle for a predictable/plannable form of mediocre"-sense |
2021-11-22 16:25:16 +0100 | <merijn> | There's certainly a business argument for that |
2021-11-22 16:26:12 +0100 | <maerwald> | nonsense... the cases where you really need lazy data constructors isn't hard to figure out |
2021-11-22 16:26:15 +0100 | <merijn> | But I don't like it |
2021-11-22 16:26:56 +0100 | <Franciman> | good |
2021-11-22 16:27:16 +0100 | <maerwald> | StrictData isn't enabled to make juniors more comfortable |
2021-11-22 16:27:48 +0100 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
2021-11-22 16:27:53 +0100 | learner-monad | (~ehanneken@user/learner-monad) |
2021-11-22 16:28:23 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-11-22 16:28:23 +0100 | yauhsien | (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) (Ping timeout: 260 seconds) |
2021-11-22 16:28:57 +0100 | <maerwald> | it's also enabled in network packages like warp... and Kazu isn't a junior |
2021-11-22 16:29:37 +0100 | <maerwald> | https://github.com/yesodweb/wai/pull/752#issuecomment-501531386 |
2021-11-22 16:30:58 +0100 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
2021-11-22 16:34:43 +0100 | learner-monad | (~ehanneken@user/learner-monad) (Quit: WeeChat 3.3) |
2021-11-22 16:39:06 +0100 | jippiedoe | (~david@2a02-a44c-e14e-1-c482-95c0-575a-83bc.fixed6.kpn.net) (Ping timeout: 245 seconds) |
2021-11-22 16:41:06 +0100 | Lycurgus | (~juan@98.4.112.204) (Quit: Exeunt) |
2021-11-22 16:43:57 +0100 | Kaiepi | (~Kaiepi@156.34.44.192) (Ping timeout: 250 seconds) |
2021-11-22 16:51:31 +0100 | learner-monad | (~ehanneken@user/learner-monad) |
2021-11-22 16:55:12 +0100 | <vaibhavsagar[m]> | we use -XStrict and -XStrictData in my work codebase |
2021-11-22 16:55:32 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-11-22 16:56:55 +0100 | <vaibhavsagar[m]> | it's comforting to know other people do it too |
2021-11-22 16:58:19 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-22 16:58:36 +0100 | <Hecate> | :) |
2021-11-22 16:59:43 +0100 | <Hecate> | < merijn> tbh, StrictData project wide seems like a "Go-lang" solution // These are strong words from someone who doesn't do it :P |
2021-11-22 16:59:56 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 245 seconds) |
2021-11-22 17:00:08 +0100 | <merijn> | Hecate: How so? |
2021-11-22 17:02:17 +0100 | <Hecate> | well, instead of being interested by the phenomenon and asking people *who actually do it at work all day long*, you go for statements like "Go-lang solution", "plannable form of mediocre", "we can't be arsed or don't trust our juniors" |
2021-11-22 17:02:40 +0100 | <Hecate> | and the only valid argument that you allow is a business one even though you say that you dislike it |
2021-11-22 17:03:21 +0100 | <Hecate> | Would you allow a valid technical argument for StrictData or shall I give the email of my senior colleagues so you can insult them directly? :) |
2021-11-22 17:04:37 +0100 | <hippoid> | yeah, give us the emails |
2021-11-22 17:04:53 +0100 | jippiedoe | (~david@2a02-a44c-e14e-1-2aad-d997-6734-70a6.fixed6.kpn.net) |
2021-11-22 17:05:10 +0100 | <merijn> | Hecate: I prefer to only insult vague unspecified groups of people who disagree with me, because that makes it easier to have plausible deniability of my opinion of any actual specific person :p |
2021-11-22 17:05:21 +0100 | <Hecate> | hahahaha |
2021-11-22 17:05:39 +0100 | <merijn> | Because it turns out insulting individuals makes it really hard to work with them, even if you're right >.> |
2021-11-22 17:05:56 +0100 | <Hecate> | no fucking shit |
2021-11-22 17:05:59 +0100 | <Hecate> | :p |
2021-11-22 17:07:02 +0100 | <merijn> | Hecate: In general, the technical arguments I've seen so far don't convince me. Now, maybe I've only seen terrible technical arguments (not unlikely). I could be convinced with proper empirical science, but let's be real the state of "proper" empirical science when it comes to things as "programming language usage" is so abysmal it might as well not exist |
2021-11-22 17:09:15 +0100 | deni_ | deni |
2021-11-22 17:10:02 +0100 | <merijn> | Besides, I don't expect anyone who likes StrictData to care about my opinion on it |
2021-11-22 17:10:13 +0100 | rekahsoft | (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 265 seconds) |
2021-11-22 17:10:25 +0100 | kayvank | (~user@52-119-115-185.PUBLIC.monkeybrains.net) (Remote host closed the connection) |
2021-11-22 17:10:46 +0100 | xsperry | (~xs@user/xsperry) (Ping timeout: 245 seconds) |
2021-11-22 17:12:17 +0100 | <merijn> | Hecate: The main technical arguments I've seen presented in favour of it have been, essentially, "I hate having to think whether this data should be strict". Which I just haven't found to be such a huge issue, so I'm curious what the technical argument of your colleagues is if it isn't that |
2021-11-22 17:13:44 +0100 | xsperry | (~xs@user/xsperry) |
2021-11-22 17:15:30 +0100 | puke | (~puke@user/puke) |
2021-11-22 17:18:58 +0100 | <Hecate> | merijn: because we have 150k LOC in our project and 8 years of production experience that tell us that it is the best course of action |
2021-11-22 17:18:59 +0100 | <sclv> | i don't think there's technical arguments because in both cases you have control over strictness, and the only question is what the better default is |
2021-11-22 17:19:09 +0100 | <Hecate> | ^ +1 |
2021-11-22 17:21:29 +0100 | <merijn> | sclv: Right, which given my previous defense of laziness means I dislike StrictData |
2021-11-22 17:22:13 +0100 | nuh^ | (~nuh@68.101.63.101) |
2021-11-22 17:22:15 +0100 | sajith_ | sajith |
2021-11-22 17:22:19 +0100 | <sclv> | in my experience, it depends on what data structures you're defining. for our autogenerated Big Records that match up to other stuff going over the wire, strict by default is right |
2021-11-22 17:22:33 +0100 | <sclv> | for our embedded ASTs, strict by default is wrong |
2021-11-22 17:22:39 +0100 | mmhat | (~mmh@55d44c37.access.ecotel.net) |
2021-11-22 17:22:48 +0100 | <merijn> | Basically, there seems to have been a big influx of people into Haskell that seem like what they *really* want is SML. And it's kinda weird that they then keep complaining about Haskell all the time, instead of just, like, writing SML or Ocaml? |
2021-11-22 17:23:09 +0100 | <sclv> | (i should add: strict and unpacked for those records!) |
2021-11-22 17:23:12 +0100 | <merijn> | Like, it's fine to not like laziness |
2021-11-22 17:23:28 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-11-22 17:23:31 +0100 | <merijn> | But why you gotta keep complaining about it in Haskell discussions? |
2021-11-22 17:24:18 +0100 | <merijn> | Ask Lennart for the mail addresses of SBC lawyers and complain at them to open source Mu instead or something >.> |
2021-11-22 17:24:25 +0100 | <sclv> | i don't find strict data helps much with thunk leaks -- that's about writing code carefully. i do find it helps when pared with unpacking for controlling memory usage in certain specialized situations |
2021-11-22 17:24:36 +0100 | <merijn> | Maybe legal will agree if they get annoyed too much |
2021-11-22 17:26:05 +0100 | <merijn> | sclv: I mean, the big record case also seems fairly obvious, so I fail to see how "project wide StrictData" improves that situation. |
2021-11-22 17:26:35 +0100 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.3) |
2021-11-22 17:26:44 +0100 | <sclv> | not projectwide -- modulewide. easier to stick a pragma on top than clutter each field quite as much |
2021-11-22 17:26:55 +0100 | <merijn> | The weirdest thing to me is people arguing "oh, but I can still make things lazy!". Ok, but then you still gotta think about what you're doing and then there's literally no benefit from StrictData except maybe "less annotations if you've got a lot of strictness" |
2021-11-22 17:27:02 +0100 | <merijn> | sclv: Right, but nobody ever argues that |
2021-11-22 17:27:16 +0100 | <sclv> | i do :-P |
2021-11-22 17:27:17 +0100 | <merijn> | sclv: See in the previous discussion everyone talking about enabling it project wide |
2021-11-22 17:28:24 +0100 | <merijn> | All the pro-StrictData discourse presents it as a magical bullet that solves all your laziness problems. Which just strikes as a weird ass position to take |
2021-11-22 17:28:36 +0100 | <maerwald> | no one said that |
2021-11-22 17:28:59 +0100 | <merijn> | maerwald: Lots of people say that on Twitter/issue trackers/what not |
2021-11-22 17:29:02 +0100 | <sclv> | i do agree that there's been some overhype of it |
2021-11-22 17:29:04 +0100 | <c_wraith> | every time I say "I write code that uses laziness and I would appreciate it if you didn't break it" I get told I'm doing it wrong |
2021-11-22 17:29:14 +0100 | <sclv> | there's a time and place for it, and we learned it wasn't as magic as we thought |
2021-11-22 17:29:32 +0100 | <sclv> | like there was an experimental "strict everything" pragma too iirc and it just turned out... not that helpful |
2021-11-22 17:29:48 +0100 | <c_wraith> | yeah, so that crowd is going to be all-in on UnliftedDataTypes soon |
2021-11-22 17:29:55 +0100 | <c_wraith> | only making things worse |
2021-11-22 17:30:27 +0100 | fef | (~thedawn@user/thedawn) |
2021-11-22 17:30:48 +0100 | <sclv> | i mean performance is really 90% "find the tight inner loop" and 10% "do terrible things to that inner loop alone" |
2021-11-22 17:30:50 +0100 | <EvanR> | nothing makes laziness more confusing than unexpected strictness xD |
2021-11-22 17:30:54 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-11-22 17:30:54 +0100 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-11-22 17:30:57 +0100 | allbery_b | geekosaur |
2021-11-22 17:31:23 +0100 | <merijn> | anyway |
2021-11-22 17:31:34 +0100 | <merijn> | I gotta go dancing instead of arguing why people are wrong on the internet |
2021-11-22 17:31:49 +0100 | <maerwald> | EvanR: yeah, like the `tar` package abusing lazy bytestring in ways that forces the entire file contents into memory |
2021-11-22 17:31:55 +0100 | <merijn> | Before everything gets locked down again until, like, 2024 or something >.> |
2021-11-22 17:32:25 +0100 | <maralorn> | I can contribute that I have been bitten by thinking StrictData works that way. I have a huge record, which really should be strict. But most fields are Maybes and Sets and when I disabled StrictData I wasn‘t knowledgable enough to realize how little this helps me. |
2021-11-22 17:32:29 +0100 | <int-e> | Why does the search term "thunk cost fallacy" produce hits that have nothing to do with laziness, sad :P |
2021-11-22 17:33:06 +0100 | <lortabac> | :D |
2021-11-22 17:33:06 +0100 | <sclv> | lmao |
2021-11-22 17:33:26 +0100 | cfricke | (~cfricke@user/cfricke) |
2021-11-22 17:33:31 +0100 | neurocyte0132889 | (~neurocyte@45.10.60.180) |
2021-11-22 17:33:31 +0100 | neurocyte0132889 | (~neurocyte@45.10.60.180) (Changing host) |
2021-11-22 17:33:31 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) |
2021-11-22 17:33:46 +0100 | <[exa]> | int-e: maybe there's no fallacy! :D |
2021-11-22 17:34:18 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Quit: leaving) |
2021-11-22 17:34:28 +0100 | cfricke | (~cfricke@user/cfricke) (Client Quit) |
2021-11-22 17:35:08 +0100 | <[exa]> | Hecate: sitting on 150kloc in haskell is one way to produce bias, honestly |
2021-11-22 17:35:21 +0100 | <int-e> | [exa]: Tbf I'm not quite sure what that would be... but it could be a nice pun. |
2021-11-22 17:39:27 +0100 | <int-e> | Maybe one should argue this way... Haskell is lazy by default... but that default can be changed with a pragma. So what that really means is that now there's another bit of information I need to track when reading code. :-/ |
2021-11-22 17:39:46 +0100 | <dsal> | I'm surprised again to not find an Alternative instance for Either. I feel like that surprises me a lot. |
2021-11-22 17:40:04 +0100 | gustik | (~gustik@2a01:c844:240a:de20:3606:7339:bc88:b5f5) |
2021-11-22 17:40:09 +0100 | <geekosaur> | I feel like that's expected after Error went away? |
2021-11-22 17:40:59 +0100 | <dsal> | I continue to not expect it. :) |
2021-11-22 17:41:05 +0100 | <[exa]> | dsal: you may want Validation |
2021-11-22 17:41:15 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:64b0:a3f2:ec06:e597) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-11-22 17:41:21 +0100 | <lortabac> | dsal: what would 'empty' be for Either a? |
2021-11-22 17:41:40 +0100 | <lortabac> | anyway, there is Alt in semigroupoids |
2021-11-22 17:41:47 +0100 | <dsal> | Oh, I remember Alt. |
2021-11-22 17:42:41 +0100 | cfricke | (~cfricke@user/cfricke) |
2021-11-22 17:42:42 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcf1:6c47:4df:1ed1) |
2021-11-22 17:43:30 +0100 | <int-e> | dsal: I guess this happens because there are several equally plausible instances. |
2021-11-22 17:44:00 +0100 | <dsal> | Yeah, I assume that's the case. It should just default to whatever I'm thinking is a good idea at the moment. |
2021-11-22 17:44:12 +0100 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
2021-11-22 17:44:49 +0100 | <c_wraith> | that'd be the worst. someone else looks at your code and your already-compiled program changes behavior. |
2021-11-22 17:44:50 +0100 | <int-e> | dsal: So, it should roll a die at compile time and synthesize one of the instances accordingly? |
2021-11-22 17:44:51 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcf1:6c47:4df:1ed1) (Remote host closed the connection) |
2021-11-22 17:45:01 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcf1:6c47:4df:1ed1) |
2021-11-22 17:45:23 +0100 | <dsal> | I'm back into arguing that deeply nesting case statements isn't a good idea. Alt makes a lot of sense for this type of use case. |
2021-11-22 17:45:25 +0100 | <int-e> | (we need more random compiler errors (cf. INTERCAL)) |
2021-11-22 17:46:14 +0100 | <monochrom> | I support enforcing UB by runtime randomization too >:) |
2021-11-22 17:46:14 +0100 | <int-e> | dsal: maybe whoever you're arguing with isn't worth arguing with |
2021-11-22 17:47:06 +0100 | <dsal> | At least it's a softer argument: "I really don't see the issue with code going to the right" |
2021-11-22 17:47:21 +0100 | <dsal> | The last time it was that test code doesn't have to look like production code. Now it's actually production code. :/ |
2021-11-22 17:47:32 +0100 | <monochrom> | haha |
2021-11-22 17:47:41 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:7c6d:4c33:f4a3:2a22) (Quit: WeeChat 2.8) |
2021-11-22 17:47:51 +0100 | <int-e> | . o O ( 32:9 monitors for all programmers now! ) |
2021-11-22 17:47:59 +0100 | <c_wraith> | I agree that you should keep nested cases to less than 10 levels of nesting |
2021-11-22 17:48:13 +0100 | <int-e> | (this ultra-wide monitor trend is weird) |
2021-11-22 17:48:15 +0100 | <monochrom> | I think 32:9 is already realized as "dual head" |
2021-11-22 17:48:26 +0100 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.3) |
2021-11-22 17:48:30 +0100 | <int-e> | monochrom: you can now get it as a single monitor |
2021-11-22 17:48:33 +0100 | <[exa]> | dsal: what's wrong with just putting First in Validation tho? :D |
2021-11-22 17:48:41 +0100 | <monochrom> | Yikes. |
2021-11-22 17:48:44 +0100 | <dsal> | It's also ormolu, so each line only has like one word and there's two space indentation. |
2021-11-22 17:49:07 +0100 | <c_wraith> | Ormolu is its own set of bad choices... |
2021-11-22 17:49:30 +0100 | <monochrom> | ormolu helps you make your code look like Sheet Music Boss youtube videos >:) |
2021-11-22 17:53:16 +0100 | <monochrom> | Back in the good old days, I heard this probably wise thought: If you compose a face from the most beautiful eyes, the most beautiful nose, the most beautiful mouth, ... the face can be the most ugly. |
2021-11-22 17:53:32 +0100 | <Hecate> | int-e: +1 for "thunk cost fallacy", love it |
2021-11-22 17:54:03 +0100 | <monochrom> | Then, around the turn of the century, someone actually did that for programming practices, called it "extreme programming". |
2021-11-22 17:54:10 +0100 | <Hecate> | [exa]: well, it's not my first Haskell rodeo, and we have people working on the performance of our monolith, it's not something that came yesterday :P |
2021-11-22 17:54:14 +0100 | <monochrom> | perhaps s/for/to/ |
2021-11-22 17:54:36 +0100 | <monochrom> | And now, someone does that to code layout, calls it "ormulu". |
2021-11-22 17:54:50 +0100 | <dsal> | What is "thunk cost fallacy?" |
2021-11-22 17:55:04 +0100 | <EvanR> | a play on words |
2021-11-22 17:55:12 +0100 | <dsal> | Sure, but I mean what's the context? |
2021-11-22 17:55:34 +0100 | <dsal> | There's a lot of cargo culting around strict fields in areas like the one thing we look at the one time at startup before copying it to something else. |
2021-11-22 17:55:36 +0100 | <monochrom> | unexpected laziness and unexpected strictness |
2021-11-22 17:56:21 +0100 | <monochrom> | and presuming that laziness hurts, strictness helps, blindly unconditionally |
2021-11-22 17:56:28 +0100 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection) |
2021-11-22 17:56:37 +0100 | <dsal> | Also: That it matters at all, which is the thing I keep running into. |
2021-11-22 17:56:46 +0100 | <monochrom> | Yeah, that too. |
2021-11-22 17:57:00 +0100 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
2021-11-22 17:57:03 +0100 | <monochrom> | premature optimization again |
2021-11-22 17:57:25 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
2021-11-22 17:57:54 +0100 | <davean> | Its not even an optimization |
2021-11-22 17:57:58 +0100 | <dsal> | Why are all these types boxed? Unboxed is even more strict! |
2021-11-22 17:58:35 +0100 | <EvanR> | unboxed linked list when |
2021-11-22 17:58:37 +0100 | renzhi | (~xp@2607:fa49:6500:b100::6e7f) |
2021-11-22 17:59:04 +0100 | <monochrom> | Why is the unboxing day called the boxing day? >:) |
2021-11-22 17:59:39 +0100 | <EvanR> | the phenomenon of unboxing needs a less negative word |
2021-11-22 17:59:54 +0100 | <EvanR> | not sure what |
2021-11-22 18:00:37 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2021-11-22 18:01:00 +0100 | <c_wraith> | boxing day is usually the day after unboxing day. Not that I know why |
2021-11-22 18:01:07 +0100 | <c_wraith> | that seems to violate causality |
2021-11-22 18:01:11 +0100 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Ping timeout: 245 seconds) |
2021-11-22 18:01:13 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2021-11-22 18:04:39 +0100 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
2021-11-22 18:04:55 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:64b0:a3f2:ec06:e597) |
2021-11-22 18:05:42 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 268 seconds) |
2021-11-22 18:05:54 +0100 | nschoe | (~quassel@178.251.84.79) |
2021-11-22 18:13:07 +0100 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
2021-11-22 18:16:11 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-22 18:18:50 +0100 | <int-e> | dsal: I'm not sure yet... but something like the idea that thunks are expensive and therefore you should avoid them all by making everything strict. |
2021-11-22 18:19:25 +0100 | <dsal> | That's what it sounded like. I think it'd be a great blog post with the three main case: True, False, Stop wasting your time. |
2021-11-22 18:21:21 +0100 | mbuf | (~Shakthi@223.178.114.167) (Quit: Leaving) |
2021-11-22 18:21:29 +0100 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) |
2021-11-22 18:24:21 +0100 | hueso | (~root@user/hueso) (Quit: hueso) |
2021-11-22 18:25:02 +0100 | yauhsien | (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) |
2021-11-22 18:25:53 +0100 | kuribas | (~user@ptr-25vy0i9f20n8puprvgm.18120a2.ip6.access.telenet.be) (ERC (IRC client for Emacs 26.3)) |
2021-11-22 18:28:39 +0100 | benin | (~benin@183.82.178.244) (Ping timeout: 264 seconds) |
2021-11-22 18:29:01 +0100 | hueso | (~root@user/hueso) |
2021-11-22 18:29:27 +0100 | yauhsien | (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) (Ping timeout: 250 seconds) |
2021-11-22 18:32:16 +0100 | <EvanR> | True, False, FileNotFound |
2021-11-22 18:32:47 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-11-22 18:38:02 +0100 | benin | (~benin@183.82.178.244) |
2021-11-22 18:46:03 +0100 | benin | (~benin@183.82.178.244) (Ping timeout: 264 seconds) |
2021-11-22 18:47:01 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-11-22 18:48:08 +0100 | burnsidesLlama | (~burnsides@dhcp168-042.wadham.ox.ac.uk) |
2021-11-22 18:48:57 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 250 seconds) |
2021-11-22 18:52:51 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) (Ping timeout: 245 seconds) |
2021-11-22 18:54:27 +0100 | ph88 | (~ph88@95.90.240.104) (Ping timeout: 264 seconds) |
2021-11-22 18:54:31 +0100 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 245 seconds) |
2021-11-22 18:54:56 +0100 | <nf> | int-e: how do i allow my own instance of lambdabot to import Control.Lens? should i add lens to trustedPackages? is that safe? |
2021-11-22 18:56:44 +0100 | waleee | (~waleee@h-82-196-111-63.NA.cust.bahnhof.se) |
2021-11-22 18:56:57 +0100 | <int-e> | nf: Yes you need to trust lens to allow that. Is it safe? I don't know. Last I checked it looked like the worst thing it does is open access to `coerce`. But its huge and it's easy to miss something. |
2021-11-22 18:58:38 +0100 | <dsal> | lens is bad because you can magnify things and start fires. |
2021-11-22 18:58:43 +0100 | <int-e> | (Data.Coerce is unsafe... and indeed it was initially riddled with various type checking problems that allowed people to write `unsafeCoerce`. But I think they've been addressed. |
2021-11-22 18:58:50 +0100 | <int-e> | ) |
2021-11-22 18:58:58 +0100 | <dsal> | Data.Coerce is unsafe? |
2021-11-22 18:59:00 +0100 | <int-e> | sorry, "is unsafe" meaning it's declared as unsafe. |
2021-11-22 18:59:18 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2021-11-22 18:59:21 +0100 | <nf> | by safety i really mean unability to run arbitrary IO |
2021-11-22 18:59:31 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-11-22 18:59:37 +0100 | <nf> | that shouldn't be a problem, right? |
2021-11-22 18:59:57 +0100 | <int-e> | https://gitlab.haskell.org/ghc/ghc/-/blob/master/libraries/base/Data/Coerce.hs#L1 |
2021-11-22 19:00:19 +0100 | <dsal> | Lame |
2021-11-22 19:00:20 +0100 | <int-e> | nf: It *should*, yes. |
2021-11-22 19:00:33 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2021-11-22 19:02:34 +0100 | nvmd | (~nvmd@user/nvmd) |
2021-11-22 19:02:56 +0100 | <nf> | hm, i'm still getting "Control.Lens: Can't be safely imported! The module itself isn't safe." |
2021-11-22 19:03:19 +0100 | econo | (uid147250@user/econo) |
2021-11-22 19:03:26 +0100 | <int-e> | you need to trust some of lens's dependencies too; profunctors in particular. |
2021-11-22 19:04:03 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 256 seconds) |
2021-11-22 19:04:12 +0100 | <int-e> | wait |
2021-11-22 19:04:28 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2021-11-22 19:04:36 +0100 | cheater | (~Username@user/cheater) |
2021-11-22 19:04:48 +0100 | <int-e> | That actually sounds like safety support in Lens may have bitrotted a bit. |
2021-11-22 19:05:08 +0100 | <nf> | still not |
2021-11-22 19:05:31 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2021-11-22 19:06:48 +0100 | <int-e> | (this lambdabot is on lens-4.19.2, I have not tried lens-5.x) |
2021-11-22 19:06:54 +0100 | alx741 | (~alx741@186.178.108.219) (Ping timeout: 260 seconds) |
2021-11-22 19:08:37 +0100 | <int-e> | anyway, I usually try these things out with ghci -XSafe (invoking mueval directly is also an option, but lambdabot's truncated error messages aren't helpful for tracking these things down) |
2021-11-22 19:09:51 +0100 | <nf> | how can i know which module is causing the unsafeness with ghci? |
2021-11-22 19:09:59 +0100 | <int-e> | huh, actually 4.19.2 seems to require a patch too: https://github.com/lambdabot/lambdabot/blob/libera/patches/lens-4.19.2.patch |
2021-11-22 19:11:20 +0100 | <nf> | :/ |
2021-11-22 19:11:29 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-22 19:11:52 +0100 | <int-e> | nf: well it alrady told you that Control.Lens isn't safe. Since Control.Lens isn't marked as Trustworthy, that is an inferred property. So you can import the modules it depends on to narrow things down. |
2021-11-22 19:12:17 +0100 | <nf> | i see |
2021-11-22 19:12:27 +0100 | <int-e> | It's no fun... there's no tooling (beyond ghci) around SafeHaskell as far as I know. |
2021-11-22 19:12:45 +0100 | <nf> | disclaimer i have no idea what Trustworthy or even Safe mean |
2021-11-22 19:13:37 +0100 | <int-e> | "Trustworthy" is how you override the inferred unsafety of a module: if the user trusts the package that contains a Trustworthy module, then that module can be imported from Safe modules. |
2021-11-22 19:14:37 +0100 | <int-e> | So... "inferred safe" basically means that all imports are Safe or trusted and Trustworthy. |
2021-11-22 19:14:57 +0100 | <nf> | ok |
2021-11-22 19:16:11 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 245 seconds) |
2021-11-22 19:16:30 +0100 | xkuru | (~xkuru@user/xkuru) |
2021-11-22 19:16:42 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:64b0:a3f2:ec06:e597) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-11-22 19:17:01 +0100 | <int-e> | nf: Huh, apparently profunctors doesn't need to be trusted anymore. https://github.com/lambdabot/lambdabot/blob/libera/lambdabot/scripts/online/run.sh#L4-L15 is what lambdabot uses (with lens-4.19.2 plus the above patch) |
2021-11-22 19:17:16 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:64b0:a3f2:ec06:e597) |
2021-11-22 19:19:04 +0100 | <nf> | thanks |
2021-11-22 19:20:39 +0100 | <nf> | so apparently Control.Lens.Equality imports GHC.Exts which is unsafe |
2021-11-22 19:21:13 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-22 19:21:26 +0100 | <nf> | right, this is what your patch is about |
2021-11-22 19:21:45 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:d41b:9326:c4d8:9f2a) (Quit: gone to sleep. ZZZzzz…) |
2021-11-22 19:21:46 +0100 | <nf> | should that patch be upstreamed maybe? |
2021-11-22 19:22:03 +0100 | nschoe | (~quassel@178.251.84.79) (Ping timeout: 264 seconds) |
2021-11-22 19:22:16 +0100 | <int-e> | undoubtedly |
2021-11-22 19:22:25 +0100 | <int-e> | I'd do it to if I wasn't so great at procrastination |
2021-11-22 19:22:27 +0100 | <nf> | oh https://github.com/ekmett/lens/blob/master/src/Control/Lens/Equality.hs#L7 |
2021-11-22 19:22:42 +0100 | <nf> | you did it 2 years ago lmao |
2021-11-22 19:22:47 +0100 | <int-e> | Ah. |
2021-11-22 19:22:57 +0100 | <nf> | more like precrastination |
2021-11-22 19:23:13 +0100 | <int-e> | well, one year ago |
2021-11-22 19:23:14 +0100 | mvk | (~mvk@2607:fea8:5cc1:fa00::4702) |
2021-11-22 19:23:40 +0100 | <int-e> | Let's meet in the middle, 1 1/2. |
2021-11-22 19:23:47 +0100 | <nf> | right |
2021-11-22 19:24:03 +0100 | <nf> | anyway, that's in v5 and i just realised i'm also on 4.19.2 |
2021-11-22 19:24:25 +0100 | <nf> | i think i will figure this out now |
2021-11-22 19:24:27 +0100 | <nf> | thanks for your help |
2021-11-22 19:25:50 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) |
2021-11-22 19:31:47 +0100 | yauhsien | (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) |
2021-11-22 19:31:55 +0100 | gdown | (~gavin@h69-11-248-109.kndrid.broadband.dynamic.tds.net) |
2021-11-22 19:32:23 +0100 | pavonia | (~user@user/siracusa) |
2021-11-22 19:34:25 +0100 | <nf> | it works with 5.0.1 :) |
2021-11-22 19:34:28 +0100 | deadmarshal | (~deadmarsh@95.38.230.45) |
2021-11-22 19:39:06 +0100 | yauhsien | (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) (Ping timeout: 260 seconds) |
2021-11-22 19:40:05 +0100 | cosimone` | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) |
2021-11-22 19:41:42 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) (Read error: Connection reset by peer) |
2021-11-22 19:41:51 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 264 seconds) |
2021-11-22 19:42:15 +0100 | jippiedoe | (~david@2a02-a44c-e14e-1-2aad-d997-6734-70a6.fixed6.kpn.net) (Ping timeout: 250 seconds) |
2021-11-22 19:43:24 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-22 19:46:11 +0100 | benin | (~benin@183.82.179.164) |
2021-11-22 19:48:45 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 265 seconds) |
2021-11-22 19:49:19 +0100 | alx741 | (~alx741@186.178.108.219) |
2021-11-22 19:51:36 +0100 | cosimone` | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) (Ping timeout: 245 seconds) |
2021-11-22 19:52:51 +0100 | <dsal> | Does `T {..}` look better than `T{..}` to people? That space always looks weird to me. |
2021-11-22 19:53:42 +0100 | <nf> | definitely looks better |
2021-11-22 19:54:09 +0100 | <EvanR> | T <backspace> { double strike would save space and still be recognizable xD |
2021-11-22 19:55:37 +0100 | <geekosaur> | narrow space? :þ |
2021-11-22 19:59:15 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 264 seconds) |
2021-11-22 20:01:00 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds) |
2021-11-22 20:01:30 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat) |
2021-11-22 20:04:05 +0100 | <dsal> | nf: space looks better you say? |
2021-11-22 20:04:24 +0100 | <dsal> | It's not the space savings, it's' just that it ends up looking like a distinct argument. |
2021-11-22 20:05:01 +0100 | <EvanR> | T {..} looks like application, T{..} looks like an atomic piece of syntax |
2021-11-22 20:05:03 +0100 | <dsal> | So my brain has to compensate and think "no wait, this is part of the previous argument, it's just got a space in the middle for some reason" |
2021-11-22 20:05:32 +0100 | max22- | (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Ping timeout: 240 seconds) |
2021-11-22 20:06:03 +0100 | nschoe | (~quassel@2a01:e0a:8e:a190:c8ff:e615:b6b0:62dc) |
2021-11-22 20:06:03 +0100 | nschoe | (~quassel@2a01:e0a:8e:a190:c8ff:e615:b6b0:62dc) (Client Quit) |
2021-11-22 20:06:08 +0100 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-11-22 20:06:22 +0100 | <monochrom> | "T {..}" has the benefit of being consistent with "Just 5". |
2021-11-22 20:06:49 +0100 | <monochrom> | "T{..}" has the benefit of following the Python style guide that you don't need a space here. |
2021-11-22 20:06:57 +0100 | <dsal> | But you can't write `f Just 5 = ...` |
2021-11-22 20:08:24 +0100 | <EvanR> | record syntax shouldn't be confused for application |
2021-11-22 20:08:51 +0100 | <EvanR> | it's hard enough to get people on board with f x xD |
2021-11-22 20:09:07 +0100 | <monochrom> | That is orthogonal to coding style, IMO. |
2021-11-22 20:09:10 +0100 | <int-e> | nf: good to know ("works with 5.0.1") |
2021-11-22 20:09:22 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-11-22 20:09:26 +0100 | deadmarshal | (~deadmarsh@95.38.230.45) (Ping timeout: 260 seconds) |
2021-11-22 20:10:00 +0100 | <dsal> | It doesn't *really* matter, as ormolu's gonna ormolu. I'm just surprised that it looks clear to people. |
2021-11-22 20:10:06 +0100 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
2021-11-22 20:10:43 +0100 | <dsal> | Speaking of things that look clear to people, inline per-character color coded diffs of expected vs. got output are hilarious. |
2021-11-22 20:15:57 +0100 | <tomsmeding> | % import Control.Concurrent |
2021-11-22 20:15:57 +0100 | <yahb> | tomsmeding: |
2021-11-22 20:15:59 +0100 | <tomsmeding> | % forkIO (putStrLn "hello") >> forkIO (putStrLn "goodbye") |
2021-11-22 20:15:59 +0100 | <yahb> | tomsmeding: ThhgreoeloalddobI; yde ; 95 |
2021-11-22 20:16:05 +0100 | <tomsmeding> | dsal: does it look like that? |
2021-11-22 20:16:12 +0100 | <dsal> | Yes, but in color! |
2021-11-22 20:16:26 +0100 | <dsal> | I can kind of read it when I try hard. |
2021-11-22 20:16:34 +0100 | <tomsmeding> | beautiful |
2021-11-22 20:16:45 +0100 | <dsal> | It's beginning to look a lot like Christmas. |
2021-11-22 20:16:55 +0100 | <tomsmeding> | maybe there's a reason then |
2021-11-22 20:17:09 +0100 | dsal | wages war on Christmas |
2021-11-22 20:17:30 +0100 | <tomsmeding> | with ghc? |
2021-11-22 20:18:09 +0100 | <dsal> | This is someone's test framework thing. |
2021-11-22 20:18:23 +0100 | <dsal> | But I do have a ghc problem. The line editing stuff is completely wrecked. |
2021-11-22 20:18:32 +0100 | <dsal> | Has anyone heard of completely wrecked line editing stuff in ghc? |
2021-11-22 20:19:09 +0100 | <dsal> | er ghci |
2021-11-22 20:19:39 +0100 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds) |
2021-11-22 20:19:41 +0100 | <tomsmeding> | I've had it before, and I vaguely recall it having to do with changing the window size and then editing a multiline command |
2021-11-22 20:19:54 +0100 | <xerox> | dsal: what os and versuon |
2021-11-22 20:20:14 +0100 | <geekosaur> | there was also a report of it being broken in 9.0.1 on arm, iirc |
2021-11-22 20:20:15 +0100 | <xerox> | that's what I get for trying to type with gloves on |
2021-11-22 20:20:36 +0100 | <geekosaur> | which is probably what xerox is asking about :þ |
2021-11-22 20:20:44 +0100 | <dsal> | Yeah, it's that one. |
2021-11-22 20:20:47 +0100 | <xerox> | yep! that one has been solved! :-) |
2021-11-22 20:21:00 +0100 | <xerox> | an ffi mismatch with made wrong ioctls |
2021-11-22 20:21:02 +0100 | <dsal> | Oh cool. Actually, this one is 8.10.7 |
2021-11-22 20:21:29 +0100 | <xerox> | if you want a workaround you can do "TERM=dumb ghci" |
2021-11-22 20:21:37 +0100 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-11-22 20:21:45 +0100 | <xerox> | till you get a fixed version |
2021-11-22 20:21:54 +0100 | <dsal> | I don't want dumb ghci :( |
2021-11-22 20:22:05 +0100 | <dsal> | dsmac:tesla dustin$ TERM=dumb stack ghci |
2021-11-22 20:22:05 +0100 | <dsal> | Segmentation fault: 11 |
2021-11-22 20:22:08 +0100 | <dsal> | Oh good, I don't get one. |
2021-11-22 20:22:14 +0100 | <xerox> | ooops |
2021-11-22 20:22:30 +0100 | <dsal> | It *almost* works. |
2021-11-22 20:22:31 +0100 | <tomsmeding> | terminal is too smart for you, rejects being made dumb |
2021-11-22 20:22:38 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-11-22 20:23:42 +0100 | <xerox> | I ended up compiling a fixed ghc and that was that |
2021-11-22 20:23:54 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:d41b:9326:c4d8:9f2a) |
2021-11-22 20:23:59 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) |
2021-11-22 20:24:16 +0100 | jippiedoe | (~david@2a02-a44c-e14e-1-3aa6-b22c-891-c248.fixed6.kpn.net) |
2021-11-22 20:26:59 +0100 | <monochrom> | perhaps TERM=vt100 works a bit better |
2021-11-22 20:27:52 +0100 | <awpr> | I've had broken line editing in ghci resulting from using color sequences without the appropriate width annotations |
2021-11-22 20:28:05 +0100 | <geekosaur> | still runs into the terminal ioctls being wrong |
2021-11-22 20:28:12 +0100 | <monochrom> | Ah OK. |
2021-11-22 20:28:20 +0100 | <awpr> | does it go horribly wrong when line-wrapping a long line, and put the cursor in the wrong place? |
2021-11-22 20:28:27 +0100 | fef | (~thedawn@user/thedawn) (Remote host closed the connection) |
2021-11-22 20:28:28 +0100 | <geekosaur> | this is an FFI issue, the only way TERM helps is TERM=dumb prevents them from being used at all |
2021-11-22 20:29:30 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-11-22 20:33:27 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 264 seconds) |
2021-11-22 20:33:49 +0100 | <dsal> | mine goes horribly wrong whenever I edit anything. Trying to insert characters just mangles everything. |
2021-11-22 20:34:44 +0100 | <xerox> | do you have haskeline customizations? |
2021-11-22 20:35:07 +0100 | <awpr> | ok, probably a different issue then. here's a reference for the ANSI escape sequence issue I had, though: https://github.com/judah/haskeline/wiki/ControlSequencesInPrompt |
2021-11-22 20:38:48 +0100 | ByronJohnson | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) (Remote host closed the connection) |
2021-11-22 20:39:32 +0100 | unit73e | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) |
2021-11-22 20:41:36 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-11-22 20:42:01 +0100 | max22- | (~maxime@2a01cb0883359800a5783feecd0598ff.ipv6.abo.wanadoo.fr) |
2021-11-22 20:47:44 +0100 | alzgh | (alzgh@user/alzgh) (Remote host closed the connection) |
2021-11-22 20:48:04 +0100 | alzgh | (alzgh@user/alzgh) |
2021-11-22 20:49:02 +0100 | <dsal> | xerox: I don't think I have anything fancy. This is the only thing that's kind of broken when I switch to the native build. |
2021-11-22 20:50:32 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-11-22 20:50:44 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-22 20:52:01 +0100 | duckonomy | (~duckonomy@177.ip-144-217-84.net) (*.net *.split) |
2021-11-22 20:52:01 +0100 | marienz | (~marienz@libera/staff/marienz) (*.net *.split) |
2021-11-22 20:52:01 +0100 | Inoperable | (~PLAYER_1@fancydata.science) (*.net *.split) |
2021-11-22 20:52:01 +0100 | dkeohane2 | (~dkeohane@ec2-18-189-29-140.us-east-2.compute.amazonaws.com) (*.net *.split) |
2021-11-22 20:52:13 +0100 | marienz | (~marienz@libera/staff/marienz) |
2021-11-22 20:52:32 +0100 | yauhsien | (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) |
2021-11-22 20:52:40 +0100 | dkeohane2 | (~dkeohane@ec2-18-189-29-140.us-east-2.compute.amazonaws.com) |
2021-11-22 20:53:21 +0100 | Inoperable | (~PLAYER_1@fancydata.science) |
2021-11-22 20:53:52 +0100 | duckonomy | (~duckonomy@177.ip-144-217-84.net) |
2021-11-22 20:57:01 +0100 | yauhsien | (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) (Ping timeout: 245 seconds) |
2021-11-22 20:58:41 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 245 seconds) |
2021-11-22 20:59:47 +0100 | burnsidesLlama | (~burnsides@dhcp168-042.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-11-22 21:00:18 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2021-11-22 21:00:20 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-22 21:00:33 +0100 | epolanski | (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2021-11-22 21:04:43 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:d41b:9326:c4d8:9f2a) (Quit: gone to sleep. ZZZzzz…) |
2021-11-22 21:04:45 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2021-11-22 21:05:25 +0100 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
2021-11-22 21:05:26 +0100 | juhp | (~juhp@128.106.188.82) (Ping timeout: 260 seconds) |
2021-11-22 21:06:00 +0100 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
2021-11-22 21:06:22 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-11-22 21:06:24 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:d09a:3c35:dab9:95ad) |
2021-11-22 21:06:31 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-11-22 21:07:06 +0100 | juhp | (~juhp@128.106.188.82) |
2021-11-22 21:11:33 +0100 | deadmarshal | (~deadmarsh@95.38.230.45) |
2021-11-22 21:12:01 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 245 seconds) |
2021-11-22 21:12:39 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-22 21:13:09 +0100 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
2021-11-22 21:13:50 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-22 21:15:14 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-11-22 21:15:25 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-11-22 21:16:05 +0100 | deadmarshal | (~deadmarsh@95.38.230.45) (Ping timeout: 256 seconds) |
2021-11-22 21:17:47 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 256 seconds) |
2021-11-22 21:25:30 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 268 seconds) |
2021-11-22 21:26:06 +0100 | cjb | (~cjb@user/cjb) |
2021-11-22 21:26:31 +0100 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection) |
2021-11-22 21:27:03 +0100 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
2021-11-22 21:27:37 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:d09a:3c35:dab9:95ad) (Quit: gone to sleep. ZZZzzz…) |
2021-11-22 21:28:43 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-22 21:31:11 +0100 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Ping timeout: 245 seconds) |
2021-11-22 21:31:27 +0100 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
2021-11-22 21:32:21 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
2021-11-22 21:33:27 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.3) |
2021-11-22 21:34:31 +0100 | waleee | (~waleee@h-82-196-111-63.NA.cust.bahnhof.se) (Ping timeout: 245 seconds) |
2021-11-22 21:36:05 +0100 | reumeth | (~reumeth@user/reumeth) |
2021-11-22 21:36:27 +0100 | alx741 | (~alx741@186.178.108.219) (Ping timeout: 264 seconds) |
2021-11-22 21:38:52 +0100 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-11-22 21:39:26 +0100 | <reumeth> | I'm new to Haskell trying to make a function Aeson.Value -> Aeson.Value that fuzzes JSON values. I managed to create a deterministic function of that type, but I really want the function to replace all strings with random string/int (kind of like the strings/ints QuickCheck generates) |
2021-11-22 21:40:27 +0100 | <reumeth> | Since I want some randomness it feels like I have to do this in IO or something? Or at least seed some generator and send it as an argument to my function? |
2021-11-22 21:40:49 +0100 | hippoid_ | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-22 21:41:28 +0100 | <geekosaur> | the ideal way to use randomness is indeed you seed it in IO and pass the generator around |
2021-11-22 21:42:11 +0100 | <geekosaur> | System.Random has a number of functions that will help you do this, and you can pick a number of RNG backends |
2021-11-22 21:42:21 +0100 | <reumeth> | Is there a way to reuse the strings/ints Quickcheck generates? |
2021-11-22 21:42:25 +0100 | <geekosaur> | ("random" package) |
2021-11-22 21:42:46 +0100 | <reumeth> | geekosaur: That will only fix my random integer problem though, right? |
2021-11-22 21:43:02 +0100 | <geekosaur> | you can use `arbitrary` but you'll pull in QuickCheck and its dependencies and you might find that a little heavy just for `arbitrary` |
2021-11-22 21:43:15 +0100 | <geekosaur> | there are ways to generate random strings and such as well |
2021-11-22 21:43:16 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 245 seconds) |
2021-11-22 21:43:42 +0100 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
2021-11-22 21:43:50 +0100 | <geekosaur> | (every so often one wishes `arbitrary` were available separately from QC for things like this) |
2021-11-22 21:43:57 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-11-22 21:44:04 +0100 | <reumeth> | geekosaur: For me that will be fine. I like the fact that QuickCheck has lots of different generator like (valid utf8 strings, random bytestrings etc) |
2021-11-22 21:44:36 +0100 | [Kalisto] | (~nico@user/kalisto/x-8968079) (The Lounge - https://thelounge.chat) |
2021-11-22 21:44:45 +0100 | <reumeth> | I'm just struggling to see where/how I can use the arbitrary from QC |
2021-11-22 21:45:16 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-11-22 21:45:36 +0100 | hippoid_ | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Client Quit) |
2021-11-22 21:45:48 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-22 21:46:04 +0100 | ByronJohnson | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) |
2021-11-22 21:46:08 +0100 | HuGoDrOcHa | (~hugodroch@179.158.241.142) |
2021-11-22 21:47:13 +0100 | <reumeth> | Right now my fuzz function is stupid and is of the form: fuzz (Array x) = map fuzz x; fuzz (Number x) = Number (x + 1) etc. |
2021-11-22 21:47:14 +0100 | vicfred | (~vicfred@user/vicfred) |
2021-11-22 21:47:57 +0100 | <reumeth> | I'm pretty sure I can't just add QC.arbitrary stuff inside here, at least the signature of fuzz will have to change, right? |
2021-11-22 21:48:45 +0100 | <geekosaur> | yes |
2021-11-22 21:49:06 +0100 | <geekosaur> | https://hackage.haskell.org/package/QuickCheck-2.14.2/docs/Test-QuickCheck-Gen.html#t:Gen |
2021-11-22 21:49:29 +0100 | <geekosaur> | it's a monad, so your signature becomes Aeson.Value -> Gen Aeson.Value |
2021-11-22 21:49:47 +0100 | <HuGoDrOcHa> | ? |
2021-11-22 21:50:09 +0100 | <geekosaur> | …yes? |
2021-11-22 21:50:18 +0100 | <HuGoDrOcHa> | yes |
2021-11-22 21:50:23 +0100 | alx741 | (~alx741@186.178.108.244) |
2021-11-22 21:50:51 +0100 | <reumeth> | geekosaur: Hm, ok I'll try to see if I can get any further. Thanks |
2021-11-22 21:50:53 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcf1:6c47:4df:1ed1) (Remote host closed the connection) |
2021-11-22 21:51:47 +0100 | HuGoDrOcHa | (~hugodroch@179.158.241.142) () |
2021-11-22 21:54:06 +0100 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
2021-11-22 21:54:31 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-11-22 21:55:46 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:4518:ab7b:975d:2f47) |
2021-11-22 21:58:03 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 264 seconds) |
2021-11-22 21:58:07 +0100 | acidjnk | (~acidjnk@p200300d0c7271e823d8ddc81d8ce7005.dip0.t-ipconnect.de) |
2021-11-22 21:59:31 +0100 | hololeap_ | (~hololeap@user/hololeap) |
2021-11-22 21:59:53 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2021-11-22 22:00:34 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
2021-11-22 22:01:15 +0100 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
2021-11-22 22:02:03 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcf1:6c47:4df:1ed1) |
2021-11-22 22:03:09 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-11-22 22:03:46 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-11-22 22:04:47 +0100 | Inoperable | (~PLAYER_1@fancydata.science) (Excess Flood) |
2021-11-22 22:05:45 +0100 | jippiedoe | (~david@2a02-a44c-e14e-1-3aa6-b22c-891-c248.fixed6.kpn.net) (Quit: Leaving) |
2021-11-22 22:05:48 +0100 | hololeap_ | (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
2021-11-22 22:06:03 +0100 | Kaiepi | (~Kaiepi@156.34.44.192) |
2021-11-22 22:07:05 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2021-11-22 22:09:07 +0100 | blackcap | (~blackcap@144.89-10-135.nextgentel.com) (Remote host closed the connection) |
2021-11-22 22:10:09 +0100 | vysn | (~vysn@user/vysn) |
2021-11-22 22:12:54 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:d09a:3c35:dab9:95ad) |
2021-11-22 22:14:15 +0100 | Inoperable | (~PLAYER_1@fancydata.science) |
2021-11-22 22:15:00 +0100 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection) |
2021-11-22 22:16:03 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 264 seconds) |
2021-11-22 22:16:05 +0100 | kupi | (uid212005@id-212005.hampstead.irccloud.com) |
2021-11-22 22:16:22 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-11-22 22:18:09 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-11-22 22:19:46 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2021-11-22 22:21:06 +0100 | nvmd | (~nvmd@user/nvmd) (Quit: Later, nerds.) |
2021-11-22 22:22:07 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-11-22 22:23:30 +0100 | Midjak | (~Midjak@82-65-111-221.subs.proxad.net) |
2021-11-22 22:23:36 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-22 22:23:47 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2021-11-22 22:24:08 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcf1:6c47:4df:1ed1) (Remote host closed the connection) |
2021-11-22 22:31:03 +0100 | <jle`> | anyone familiar with the Cabal library? is there any -> IO PackageDescription function to get the description of the current project? |
2021-11-22 22:31:07 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-11-22 22:31:36 +0100 | reumeth | (~reumeth@user/reumeth) (Ping timeout: 245 seconds) |
2021-11-22 22:32:45 +0100 | <jle`> | hm i guess i could use Distribution.Parsec (maybe?) but i'd still need to get the cabal file name |
2021-11-22 22:33:34 +0100 | <sclv> | jle`: yeah given a file there's easy functions to read the package description |
2021-11-22 22:33:58 +0100 | <jle`> | hm, is there a way to get the name of the current project? is that what that Paths_ module is for? |
2021-11-22 22:34:02 +0100 | <sclv> | but not sure what the easy function is to pick the "right" filename |
2021-11-22 22:34:47 +0100 | <maerwald> | https://hackage.haskell.org/package/Cabal-3.6.2.0/docs/Distribution-PackageDescription-Parsec.html… |
2021-11-22 22:34:51 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-11-22 22:36:21 +0100 | <jle`> | whoa there's both a Distribution.PackageDescription and a Description.Types.PackageDescription, thanks for the tip |
2021-11-22 22:36:52 +0100 | <jle`> | hm, is the ByteString option here the contents of the file? |
2021-11-22 22:36:57 +0100 | <jle`> | s/option/argument |
2021-11-22 22:36:57 +0100 | <sclv> | yes |
2021-11-22 22:37:27 +0100 | <jle`> | ah, thanks |
2021-11-22 22:37:33 +0100 | <jle`> | hm i guess i just have to find a way to get the project name then |
2021-11-22 22:37:43 +0100 | <jle`> | or i guess i could glob for *.cabal |
2021-11-22 22:38:44 +0100 | <maerwald> | https://hackage.haskell.org/package/filepattern |
2021-11-22 22:41:10 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:4518:ab7b:975d:2f47) (Remote host closed the connection) |
2021-11-22 22:41:38 +0100 | <jle`> | ooh thanks :) |
2021-11-22 22:41:43 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:d09a:3c35:dab9:95ad) (Quit: gone to sleep. ZZZzzz…) |
2021-11-22 22:43:15 +0100 | <jle`> | and then i can use it with getDatadir |
2021-11-22 22:43:17 +0100 | <sclv> | the cabal logic as i understand it is it just looks for a unique file and throws if there's more than one and none is explicitly specified |
2021-11-22 22:44:51 +0100 | <jle`> | yeah, i meant i can use it to get the directory to search in |
2021-11-22 22:45:04 +0100 | <sclv> | jle`: ooh, found it! https://hackage.haskell.org/package/Cabal-3.6.2.0/docs/Distribution-Simple-Utils.html#v:defaultPac… |
2021-11-22 22:45:34 +0100 | <jle`> | :O |
2021-11-22 22:45:51 +0100 | <jle`> | sweet, thanks a bunch |
2021-11-22 22:47:24 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-11-22 22:50:35 +0100 | hiruji | (~hiruji@user/hiruji) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-11-22 22:50:50 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2021-11-22 22:50:52 +0100 | hiruji | (~hiruji@user/hiruji) |
2021-11-22 22:51:28 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:d09a:3c35:dab9:95ad) |
2021-11-22 22:53:51 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 264 seconds) |
2021-11-22 22:54:04 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-22 22:54:10 +0100 | yauhsien | (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) |
2021-11-22 22:55:56 +0100 | <[itchyjunk]> | Hi, wondering if this makes sense `if fst(divMod n 10) == 0 then snd(divMod n 10) else snd(divMod n 10)` |
2021-11-22 22:56:38 +0100 | <[itchyjunk]> | i know logically its not brushed up yet, just syntactically |
2021-11-22 22:57:14 +0100 | <dsal> | That's weird in several ways. |
2021-11-22 22:57:29 +0100 | <dsal> | The lack of space between the function and the parameter is super weird, let me get past that one. |
2021-11-22 22:57:40 +0100 | <dsal> | But then like, why are you using divMod if you just want div or mod? |
2021-11-22 22:58:13 +0100 | <[itchyjunk]> | i want to do mod based on the value of div but i haven't sorted that out in my head yet |
2021-11-22 22:58:46 +0100 | <dsal> | > let f n = let (d,m) = divMod n 10 in if d == 0 then m else m in f 11 |
2021-11-22 22:58:46 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.3) |
2021-11-22 22:58:47 +0100 | <lambdabot> | 1 |
2021-11-22 22:58:50 +0100 | yauhsien | (~yauhsien@61-231-30-221.dynamic-ip.hinet.net) (Ping timeout: 260 seconds) |
2021-11-22 22:59:41 +0100 | burnsidesLlama | (~burnsides@dhcp168-042.wadham.ox.ac.uk) |
2021-11-22 22:59:51 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcf1:6c47:4df:1ed1) |
2021-11-22 23:01:10 +0100 | ByronJohnson | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) (Remote host closed the connection) |
2021-11-22 23:01:25 +0100 | <monochrom> | Saying "divMod n 10 Beetlejuice" 3 times in a row is a serious violation of DRY. In any language. |
2021-11-22 23:01:50 +0100 | alzgh | (alzgh@user/alzgh) (Remote host closed the connection) |
2021-11-22 23:02:10 +0100 | alzgh | (alzgh@user/alzgh) |
2021-11-22 23:02:21 +0100 | <maerwald> | people still follow DRY? :p |
2021-11-22 23:02:36 +0100 | <dsal> | I get into arguments about repetition a lot. I *kind* of get them, but the arguments are often readability vs. building a new (local) abstraction that makes it clear that it's actually the same thing three times and not some typos or something. |
2021-11-22 23:02:47 +0100 | <dsal> | I slow down a lot more when I see what looks like a copy and paste. |
2021-11-22 23:02:52 +0100 | <maerwald> | I always start with repetition. |
2021-11-22 23:03:02 +0100 | <monochrom> | You know, I have long realized that if a desirable principle has a name, it means people are refusing to do it. >:) |
2021-11-22 23:03:11 +0100 | <maerwald> | and then after a while, an abstraction will show itself (or it doesn't) |
2021-11-22 23:03:23 +0100 | <monochrom> | Yes I'm OK with that. |
2021-11-22 23:03:27 +0100 | <dsal> | Oh sure. There's nothing wrong with repeating yourself until you realize that copying and pasting the same thing a bunch might be a pain. |
2021-11-22 23:03:38 +0100 | <monochrom> | But this one is way too basic. |
2021-11-22 23:04:04 +0100 | <dsal> | The one I just looked at was just three copies of some code and a review comment about adding a comment as to when we should add new ones. I'm like, "Hey, can we just make this a list?" |
2021-11-22 23:04:33 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-22 23:04:36 +0100 | <monochrom> | There are very obvious, staring at your face repetitions that even 1st-year students can easily recognize. |
2021-11-22 23:04:50 +0100 | <dsal> | One of the bits of code that was copied and pasted a lot (because that's good for tests!) needed to be updated for a change I made this morning and I figured out that the original one that got copied a lot *also* had a bug. |
2021-11-22 23:05:34 +0100 | <maerwald> | I've long ceased to be that invested in stuff when being paid for coding |
2021-11-22 23:05:39 +0100 | <monochrom> | What you're referring to are less obvious cases that really takes experience to see, and even then you can argue about pros and cons. |
2021-11-22 23:05:40 +0100 | <dsal> | haha |
2021-11-22 23:06:17 +0100 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2021-11-22 23:06:54 +0100 | <dsal> | monochrom: that's kind of the approach I'm taking. I'll probably catch flak for even spending time on this, but let me write up a big thing describing why copying and pasting this is bad and various benefits of putting stuff in a list instead of unrolling the loop in a big do block. |
2021-11-22 23:07:15 +0100 | <maerwald> | monochrom: many coders I've seen start thinking about the abstraction too early... when they should really just copy paste. And that leads to really shitty abstractions |
2021-11-22 23:07:32 +0100 | <dsal> | Yeah, I've definitely been in those code bases as well. |
2021-11-22 23:07:57 +0100 | <dsal> | that's part of the reason there's knee-jerk in the opposite direction here. Previous Prelude was insanely large. No idea where anything came from and all kinds of weird stuff happening. |
2021-11-22 23:08:22 +0100 | <monochrom> | That is caused by OOP education. Or at least bad OOP education. (Perhaps there is good OOP education too.) |
2021-11-22 23:08:36 +0100 | <dsal> | That's why I qualified (local) abstraction. They love naming various values with extremely long names and stuff. But then strategies just get copied and pasted. |
2021-11-22 23:09:11 +0100 | <[itchyjunk]> | Every second I confuse myself more. |
2021-11-22 23:09:22 +0100 | <dsal> | [itchyjunk]: It's called "learning" |
2021-11-22 23:09:25 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-11-22 23:09:27 +0100 | <[itchyjunk]> | lol |
2021-11-22 23:09:33 +0100 | <[itchyjunk]> | In that case, great! |
2021-11-22 23:09:46 +0100 | <monochrom> | 1st-year OOP courses, the bad ones, tend to start with "What's wrong with this struct? Person = { String name; int age; }" |
2021-11-22 23:09:51 +0100 | <maerwald> | Code is so unpredictable... you think up something in your head and when you try it, it turns out totally different, because of a bazillion reasons (unexpected API, bugs, corner cases). |
2021-11-22 23:09:53 +0100 | <monochrom> | Really, there is nothing wrong. |
2021-11-22 23:10:24 +0100 | <maerwald> | the crap has to settle first |
2021-11-22 23:10:42 +0100 | <dsal> | Yep, don't disagree. |
2021-11-22 23:10:45 +0100 | <maerwald> | like a dough |
2021-11-22 23:10:47 +0100 | <monochrom> | Then the party line reveals the model answer: "It is not hidden behind an interface. What if there are future changes? The right thing to do is getter methods." |
2021-11-22 23:11:15 +0100 | <[itchyjunk]> | I have a function and it does a tiny step of what i want. i want to save each of the mini results in a list. i should have a small working function then stitch it so that this another function uses this function and puts the result in a list. then have a third function that uses this whole thing multiple times? |
2021-11-22 23:11:16 +0100 | <monochrom> | That kind of brainwashing in 1st-year courses is why people have premature abstractions. "abstractions" |
2021-11-22 23:11:17 +0100 | <dsal> | "What if there are future changes" is an argument both for and against abstractions, depending on who's proposing them. :) |
2021-11-22 23:11:48 +0100 | <[itchyjunk]> | I am in a first year OOP course @_@ |
2021-11-22 23:11:59 +0100 | <maerwald> | dsal: write code that's easy to delete. |
2021-11-22 23:12:11 +0100 | <dsal> | Yep, I love deleting code. |
2021-11-22 23:12:13 +0100 | <monochrom> | Really, even if there are future changes, you don't even know which direction it will be in. The expression problem implies that if you enable one, you disable the other. |
2021-11-22 23:12:43 +0100 | <maerwald> | yes, so better delete the previous code and start anew |
2021-11-22 23:12:50 +0100 | ees | (~user@pool-108-18-30-46.washdc.fios.verizon.net) |
2021-11-22 23:12:53 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-11-22 23:13:07 +0100 | <maerwald> | but people still think that starting anew is too expensive |
2021-11-22 23:13:16 +0100 | <maerwald> | it is if your code is hard to delete |
2021-11-22 23:13:18 +0100 | <geekosaur> | sunk code fallacy? |
2021-11-22 23:13:35 +0100 | <dsal> | I argue that fairly tall code with 8 levels of indentation in nested case blocks (with two space indentation) is kind of hard to follow and should be clearer. It's completely local, but like, I have to think too hard to follow it. Just give the structure a bit of name. |
2021-11-22 23:14:00 +0100 | <monochrom> | However! DRY is still a good principle, and does not conflict with what I said. I am just against premature interfaces. |
2021-11-22 23:14:40 +0100 | <maerwald> | monochrom: well, but dry doesn't focus on abstraction. Deduplication and abstraction is not the same |
2021-11-22 23:14:43 +0100 | <dsal> | I got it down to a square of around 6 levels of indentation and 6-8 lines tall with the whole thing on a page so you can see it all at once. |
2021-11-22 23:15:17 +0100 | <maerwald> | sometimes, when you see repetition, the abstraction is really somewhere else |
2021-11-22 23:15:50 +0100 | <maerwald> | but because we're educated with DRY, we focus on removing the repetition |
2021-11-22 23:20:47 +0100 | <[itchyjunk]> | if i have a function returning r and i do (r):[], is this list created locally within that context and lost later on? |
2021-11-22 23:21:05 +0100 | <[itchyjunk]> | i.e should i be `let myList = []` and using myList to hold the returns? |
2021-11-22 23:21:32 +0100 | <monochrom> | myList will always be []. |
2021-11-22 23:21:52 +0100 | <monochrom> | even s/be/stay as/ |
2021-11-22 23:21:58 +0100 | <monochrom> | For eternity! |
2021-11-22 23:22:08 +0100 | <[itchyjunk]> | oh rigiht.. r:myList creates a new list with [r] |
2021-11-22 23:22:16 +0100 | [itchyjunk] | recursively rips hair |
2021-11-22 23:22:17 +0100 | <monochrom> | Yes. |
2021-11-22 23:24:05 +0100 | <monochrom> | This is why in my course I open with "think 'function' as in math functions, not C functions; think algebra, not control flow". |
2021-11-22 23:24:30 +0100 | <[itchyjunk]> | You teach haskell? |
2021-11-22 23:24:41 +0100 | <jle`> | oh now i have to convert Cabal's Extension type to haskell-src-ext's extension type |
2021-11-22 23:24:47 +0100 | jle` | . o ( read . show ) |
2021-11-22 23:25:07 +0100 | michalz | (~michalz@185.246.204.33) (Remote host closed the connection) |
2021-11-22 23:25:08 +0100 | <[itchyjunk]> | I thought i'd do a simple exercise to feel I have been productive. Instead i've put myself into a hole :D |
2021-11-22 23:25:30 +0100 | <monochrom> | And don't worry, I don't really say that thinking C functions and control flow are wrong, I just say that you'll have a better time at the beginning if you think my way. After you're experienced, it doesn't matter then. |
2021-11-22 23:26:03 +0100 | <monochrom> | Well, strictly speaking, I'm supposed to teach principles of programming languages. I end up doing more Haskell than I should. |
2021-11-22 23:26:07 +0100 | jmorris | (uid433911@id-433911.hampstead.irccloud.com) |
2021-11-22 23:26:22 +0100 | Alleria | (~textual@user/alleria) (Ping timeout: 268 seconds) |
2021-11-22 23:26:46 +0100 | <[itchyjunk]> | I'm in a "Accelerated object oriented programming" class |
2021-11-22 23:26:49 +0100 | <maerwald> | interesting, I always think in control flow, no matter the language |
2021-11-22 23:26:57 +0100 | <[itchyjunk]> | we use java |
2021-11-22 23:27:24 +0100 | nf | (~n@monade.li) (Quit: Fairfarren.) |
2021-11-22 23:27:32 +0100 | <monochrom> | And what does the unaccelerated one do? |
2021-11-22 23:28:12 +0100 | nf | (~n@monade.li) |
2021-11-22 23:28:40 +0100 | <dsal> | I learned Java after learning Eiffel (from Object Oriented Software Construction). Most of the important OO principles from eiffel are exactly the opposite of java best practices. |
2021-11-22 23:28:44 +0100 | <[itchyjunk]> | the unaccelerated one is shorter course. this one is supposidly 3 fused into one. principle of programming, intro to OOP and intro to Java |
2021-11-22 23:28:54 +0100 | <maerwald> | wow |
2021-11-22 23:29:04 +0100 | <[itchyjunk]> | i just needed the principles class but they weren't offering one so i was thrown into this one :( |
2021-11-22 23:29:07 +0100 | [itchyjunk] | is no programmer |
2021-11-22 23:29:22 +0100 | <maerwald> | learning principles of programming through java? ok. |
2021-11-22 23:29:39 +0100 | <[itchyjunk]> | I don't think my uni offers anything else to start off with |
2021-11-22 23:29:47 +0100 | <[itchyjunk]> | ive heard there are graduate level FP classes |
2021-11-22 23:29:52 +0100 | <maerwald> | well, you'll know what getters and setters are pretty soon |
2021-11-22 23:30:00 +0100 | <[itchyjunk]> | I know those! |
2021-11-22 23:30:03 +0100 | <maerwald> | and that's all you need to know for java |
2021-11-22 23:30:09 +0100 | <[itchyjunk]> | lol |
2021-11-22 23:30:12 +0100 | <monochrom> | haha |
2021-11-22 23:30:26 +0100 | <monochrom> | I can't say there is nothing else to know. |
2021-11-22 23:30:37 +0100 | chele | (~chele@user/chele) (Remote host closed the connection) |
2021-11-22 23:30:44 +0100 | <monochrom> | But my students do behave like that's all they have learned. >:) |
2021-11-22 23:30:47 +0100 | <dsal> | You also get to learn about building factories. |
2021-11-22 23:31:09 +0100 | <dsal> | Anyone can construct a new object, but not just anyone can build a whole factory that constructs objects. |
2021-11-22 23:31:19 +0100 | <[itchyjunk]> | if i do r:[] to create [r], how to i refrence to this [r] list ? |
2021-11-22 23:31:25 +0100 | <[itchyjunk]> | its lost in memory somewhere? |
2021-11-22 23:31:26 +0100 | <geekosaur> | and then FactoryFactory, etc. |
2021-11-22 23:31:35 +0100 | <dsal> | [itchyjunk]: how do you want to reference it? |
2021-11-22 23:31:41 +0100 | <dsal> | Also, [r] is a fine way to make [r] |
2021-11-22 23:31:46 +0100 | <maerwald> | well, you can also learn about Java generics and then realize they're just difficult to understand implicit casts |
2021-11-22 23:31:49 +0100 | <monochrom> | If I provide "data X = MkX Int X" on an assignment, many of my students code up "getInt :: X -> Int" and "getNext: X -> X" right away. |
2021-11-22 23:31:59 +0100 | <[itchyjunk]> | i have a function doing things and i want to store the return values somewhere |
2021-11-22 23:32:07 +0100 | <dsal> | monochrom: They don't start writing lenses? |
2021-11-22 23:32:15 +0100 | <monochrom> | Nah. |
2021-11-22 23:32:28 +0100 | <maerwald> | xD |
2021-11-22 23:32:31 +0100 | <dsal> | [itchyjunk]: It's really best to start by thinking of what you want your functions to look like. Type signatures do most of the work for you when you let them. |
2021-11-22 23:32:36 +0100 | <monochrom> | Heh |
2021-11-22 23:33:05 +0100 | <maerwald> | store the return value? You could use a database |
2021-11-22 23:33:10 +0100 | <maerwald> | start with beam |
2021-11-22 23:33:20 +0100 | <monochrom> | No, use a file system... >:) |
2021-11-22 23:33:20 +0100 | <geekosaur> | "store" isn't really a thing in Haskell. "pass" is |
2021-11-22 23:33:37 +0100 | <maerwald> | file system is too easy.. you want to debug SQL errors when you start your application |
2021-11-22 23:33:40 +0100 | <geekosaur> | think functions, not "variables" |
2021-11-22 23:34:16 +0100 | <monochrom> | No no, you want to worry about file locking when you start your application... |
2021-11-22 23:34:27 +0100 | <maerwald> | well, don't ship for windows |
2021-11-22 23:34:32 +0100 | dsal | uses a software transactional filesystem |
2021-11-22 23:34:33 +0100 | <geekosaur> | use sqlite, then you get to deal with both! }:> |
2021-11-22 23:34:44 +0100 | <monochrom> | \∩/ |
2021-11-22 23:34:50 +0100 | <dsal> | Actually, that's true, I just use SQLite. |
2021-11-22 23:34:55 +0100 | <dsal> | Except now I'm using Postgres. |
2021-11-22 23:35:06 +0100 | <dsal> | Totally forgot how much I like postgres. |
2021-11-22 23:35:13 +0100 | <maerwald> | such webscale |
2021-11-22 23:35:19 +0100 | <monochrom> | The Pilgrim's Postgres. |
2021-11-22 23:35:47 +0100 | <maerwald> | [itchyjunk]: was that helpful? :) |
2021-11-22 23:35:55 +0100 | <monochrom> | The Pilsqlim's Postgres. |
2021-11-22 23:35:56 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcf1:6c47:4df:1ed1) (Remote host closed the connection) |
2021-11-22 23:36:03 +0100 | <[itchyjunk]> | If i apply f to n, i get (a,b). i want b to go in a list. then apply f to a and get (c,d), then i want d in the same list and apply f to c ad nausium |
2021-11-22 23:36:15 +0100 | zebrag | (~chris@user/zebrag) |
2021-11-22 23:36:39 +0100 | <dsal> | What are `n`, `a`, and `b`? |
2021-11-22 23:37:07 +0100 | <monochrom> | Perhaps you can write a simple recursion for it. |
2021-11-22 23:37:14 +0100 | <dsal> | That's kind of a strangely shaped thing. Are you writing unfoldr? |
2021-11-22 23:37:18 +0100 | <dsal> | :t unfoldr |
2021-11-22 23:37:19 +0100 | <lambdabot> | (b -> Maybe (a, b)) -> b -> [a] |
2021-11-22 23:37:19 +0100 | <maerwald> | [itchyjunk]: the way you'd do that is that your "store" is an argument to your recursive function |
2021-11-22 23:37:22 +0100 | <[itchyjunk]> | n is the input i give f, f maps n to (a,b) |
2021-11-22 23:37:27 +0100 | <monochrom> | I can write it for you but I think it's within your reach. |
2021-11-22 23:37:31 +0100 | <[itchyjunk]> | yes i need recursion but nothign is simple :D |
2021-11-22 23:37:35 +0100 | <maerwald> | when your recursive function terminates, you return the "store" |
2021-11-22 23:37:46 +0100 | <monochrom> | OK, beginner-level. |
2021-11-22 23:38:16 +0100 | <dsal> | [itchyjunk]: Can you write the actual type signature? I'm not sure I understand `:: n -> (a,b)` -- those types have to come from somewhere. |
2021-11-22 23:38:22 +0100 | <geekosaur> | what defines "terminates" here? |
2021-11-22 23:38:48 +0100 | <maerwald> | crashes with an SQL error |
2021-11-22 23:38:54 +0100 | <[itchyjunk]> | if the first value in the tuple is 0 |
2021-11-22 23:39:00 +0100 | <[itchyjunk]> | let me think of the signature |
2021-11-22 23:39:01 +0100 | <dsal> | So it's an Int? |
2021-11-22 23:39:18 +0100 | <[itchyjunk]> | yes n , a , b are ints |
2021-11-22 23:39:23 +0100 | <dsal> | Ooh. that's very different |
2021-11-22 23:39:35 +0100 | <dsal> | `:: Int -> (Int, Int)` |
2021-11-22 23:40:12 +0100 | <monochrom> | But that's for f. And this f may be already given. |
2021-11-22 23:40:26 +0100 | <[itchyjunk]> | thats what happens in each step but i want to get a [Int] after all is said an done |
2021-11-22 23:40:30 +0100 | <monochrom> | In question is another function, call it g, that uses f again and again etc. |
2021-11-22 23:40:45 +0100 | <[itchyjunk]> | okay, then i was kinda in the right track |
2021-11-22 23:41:02 +0100 | <[itchyjunk]> | i have a function that applies this once that i have called helperf |
2021-11-22 23:41:22 +0100 | <dsal> | Yeah, doing it just once is great. Then you can just keep calling it. |
2021-11-22 23:41:24 +0100 | <dsal> | > let f n = (n + 1, n * 2) in iterate (f . snd) (1,1) |
2021-11-22 23:41:25 +0100 | <lambdabot> | [(1,1),(2,2),(3,4),(5,8),(9,16),(17,32),(33,64),(65,128),(129,256),(257,512)... |
2021-11-22 23:41:31 +0100 | random-jellyfish | (~random-je@user/random-jellyfish) |
2021-11-22 23:41:38 +0100 | <dsal> | > let f n = (n + 1, n * 2) in snd <$> iterate (f . snd) (1,1) |
2021-11-22 23:41:39 +0100 | <lambdabot> | [1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,2... |
2021-11-22 23:41:52 +0100 | <dsal> | That's a dumb function. I assume yours isn't. heh |
2021-11-22 23:42:07 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-11-22 23:42:18 +0100 | <monochrom> | Here is a hint. You probably haven't thought that you can do this: |
2021-11-22 23:42:20 +0100 | <monochrom> | @src map |
2021-11-22 23:42:20 +0100 | <lambdabot> | map _ [] = [] |
2021-11-22 23:42:20 +0100 | <lambdabot> | map f (x:xs) = f x : map f xs |
2021-11-22 23:42:37 +0100 | <monochrom> | Sleep on that. You don't always need an "accumulator". |
2021-11-22 23:43:31 +0100 | <dsal> | @src unfoldr |
2021-11-22 23:43:31 +0100 | <lambdabot> | unfoldr f b = case f b of |
2021-11-22 23:43:31 +0100 | <lambdabot> | Just (a, b') -> a : unfoldr f b' |
2021-11-22 23:43:31 +0100 | <lambdabot> | Nothing -> [] |
2021-11-22 23:43:38 +0100 | <dsal> | ooh. I didn't think that'd work. |
2021-11-22 23:43:54 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-11-22 23:44:44 +0100 | <dsal> | @src iterate |
2021-11-22 23:44:44 +0100 | <lambdabot> | iterate f x = x : iterate f (f x) |
2021-11-22 23:45:32 +0100 | <dsal> | We should just teach fix and get rid of all this recursion stuff. |
2021-11-22 23:45:33 +0100 | <dsal> | @src fix |
2021-11-22 23:45:34 +0100 | <lambdabot> | fix f = let x = f x in x |
2021-11-22 23:46:04 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-11-22 23:49:48 +0100 | <monochrom> | That also gets rids of a lot of the weaker students. >:) |
2021-11-22 23:49:54 +0100 | <dsal> | heh |
2021-11-22 23:50:32 +0100 | <monochrom> | I am very uncomfortable with getting rid of weak students because I don't want my class average to be too damn high! |
2021-11-22 23:50:33 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 250 seconds) |
2021-11-22 23:50:51 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 264 seconds) |
2021-11-22 23:52:34 +0100 | <zero> | get rid of map and just fold |
2021-11-22 23:52:34 +0100 | <dsal> | Do you get paid by a measurable amount of education you put into people? |
2021-11-22 23:52:43 +0100 | <dsal> | I like fold |
2021-11-22 23:52:58 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2021-11-22 23:52:58 +0100 | <monochrom> | Do you go one step further, switch to untyped lambda calculus, so that you don't even need that version of fix? >:) |
2021-11-22 23:53:19 +0100 | <maerwald> | dsal: ahaha |
2021-11-22 23:53:30 +0100 | <monochrom> | No, my pay is not tied to the class average. |
2021-11-22 23:54:17 +0100 | <monochrom> | But sometimes if the class average is too damn high or too damn low, the department chair needs to ask me why. And really, I don't know! |
2021-11-22 23:54:35 +0100 | <dsal> | monochrom: The Musical |
2021-11-22 23:55:45 +0100 | <zero> | i think education suffers from the observer effect. you cant grade students without the fact that you're grading them has an effect on their performance |
2021-11-22 23:56:13 +0100 | <zero> | and it's a big effect |
2021-11-22 23:56:17 +0100 | <xerox> | if it doesn't have an effect why would they enroll |
2021-11-22 23:56:36 +0100 | <monochrom> | What's wrong with that? |
2021-11-22 23:56:56 +0100 | betelgeuse | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-11-22 23:56:57 +0100 | <zero> | because universities print some papers that get them jobs |
2021-11-22 23:57:25 +0100 | <monochrom> | Don't tell me naïve left-wing answers such as "after graudation they are never graded again". |
2021-11-22 23:57:30 +0100 | <zero> | it's not inherently wrong |
2021-11-22 23:58:04 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:64b0:a3f2:ec06:e597) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-11-22 23:58:14 +0100 | <EvanR> | this is where curves come in |
2021-11-22 23:58:16 +0100 | <zero> | it's just impossible not to let it often get in the way of things |
2021-11-22 23:58:21 +0100 | <EvanR> | the great equalizer |
2021-11-22 23:59:04 +0100 | <geekosaur> | this is all kinda offtopic by now… |
2021-11-22 23:59:08 +0100 | <maerwald> | zero: grades are a concept from military. There it's used to distinguish the people who perform best under *pressure*. Because that's what matters there. |
2021-11-22 23:59:17 +0100 | <arahael> | maerwald: hey, before i switch to rust for my alpine rpi3, is there anything else i could do to get haskell running? the ghcup stuff has missing symbols even if i find and satisfy the libraries. |
2021-11-22 23:59:56 +0100 | <monochrom> | Perhaps forsake alpine? |