2021/02/19

2021-02-19 00:01:03 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds)
2021-02-19 00:02:05 +0100lawid(~quassel@dslb-002-202-157-179.002.202.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
2021-02-19 00:03:13 +0100LKoen(~LKoen@136.169.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2021-02-19 00:03:27 +0100rzmt(~rzmt@87-92-180-112.rev.dnainternet.fi) (Ping timeout: 265 seconds)
2021-02-19 00:03:53 +0100lawid(~quassel@dslb-090-186-035-031.090.186.pools.vodafone-ip.de)
2021-02-19 00:04:08 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-02-19 00:04:30 +0100jonge(jonge@kofferbomber.org)
2021-02-19 00:05:12 +0100deviantfero(~deviantfe@190.150.27.58) (Ping timeout: 260 seconds)
2021-02-19 00:05:52 +0100rzmt(~rzmt@87-92-180-112.rev.dnainternet.fi)
2021-02-19 00:07:41 +0100Narinas(~Narinas@189.223.179.61.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
2021-02-19 00:08:31 +0100Narinas(~Narinas@189.223.179.61.dsl.dyn.telnor.net)
2021-02-19 00:08:39 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2021-02-19 00:09:05 +0100bergey(~user@107.181.19.30) (Ping timeout: 240 seconds)
2021-02-19 00:14:09 +0100hiroaki1(~hiroaki@ip4d166d67.dynamic.kabel-deutschland.de)
2021-02-19 00:14:33 +0100perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2021-02-19 00:15:51 +0100 <monochrom> http://www.vex.net/~trebla/haskell/learn-sources.html new version. Also, the first time I publish with pandoc.
2021-02-19 00:16:08 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2021-02-19 00:18:09 +0100ericsagn1(~ericsagne@2405:6580:0:5100:2bc8:4fa9:77f0:c682) (Ping timeout: 272 seconds)
2021-02-19 00:19:09 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
2021-02-19 00:20:13 +0100hiroaki1(~hiroaki@ip4d166d67.dynamic.kabel-deutschland.de) (Quit: WeeChat 3.0)
2021-02-19 00:20:23 +0100conal(~conal@64.71.133.70)
2021-02-19 00:20:34 +0100hiroaki1(~hiroaki@ip4d166d67.dynamic.kabel-deutschland.de)
2021-02-19 00:22:04 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-02-19 00:25:01 +0100mirrorbird(~psutcliff@2a00:801:44d:603d:d116:d5a1:4a2f:a08f)
2021-02-19 00:25:07 +0100ddellacosta(~ddellacos@86.106.143.124)
2021-02-19 00:28:27 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2021-02-19 00:28:33 +0100 <slack1256> If you use haskell for scripting, how do you manage libraries that are required by these scripts?
2021-02-19 00:28:56 +0100 <slack1256> I don't want to create a folder, run `cabal init` and declare a .cabal file for a single executable file.
2021-02-19 00:29:07 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-19 00:29:30 +0100ddellacosta(~ddellacos@86.106.143.124) (Ping timeout: 246 seconds)
2021-02-19 00:30:14 +0100jedws(~jedws@101.184.202.248)
2021-02-19 00:30:20 +0100ericsagn1(~ericsagne@2405:6580:0:5100:d30e:d5f0:fb8d:e928)
2021-02-19 00:30:50 +0100 <sclv> you can either have a global env (or a local env that all the scripts refer to) or if you're using cabal to run files _as_ scripts (with the shebang sugar) you can pass build-depends as part of that
2021-02-19 00:31:25 +0100 <sclv> search "running script files" here https://cabal.readthedocs.io/en/3.4/cabal-commands.html
2021-02-19 00:31:35 +0100 <Axman6> stack has specific support for haskell scripts which include dependencies
2021-02-19 00:31:53 +0100deviantfero(~deviantfe@190.150.27.58)
2021-02-19 00:31:53 +0100 <merijn> slack1256: Also, you can share 1 dir and cabal file with many executables :p
2021-02-19 00:31:58 +0100 <merijn> Axman6: So does cabal-install
2021-02-19 00:32:00 +0100 <sclv> Axman6: so does cabal! see the link I just posted
2021-02-19 00:32:27 +0100 <Axman6> https://docs.haskellstack.org/en/stable/GUIDE/#script-interpreter
2021-02-19 00:32:34 +0100 <sclv> who cares
2021-02-19 00:32:37 +0100 <sclv> we know this
2021-02-19 00:32:39 +0100 <monochrom> https://cabal.readthedocs.io/en/3.4/cabal-commands.html#cabal-v2-run has a "#!/usr/bin/env cabal" feature.
2021-02-19 00:32:52 +0100 <Axman6> is that new?
2021-02-19 00:32:58 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-02-19 00:33:05 +0100 <sclv> well its maybe 2 years old now?
2021-02-19 00:33:08 +0100 <sclv> idk how "new" new is
2021-02-19 00:33:41 +0100 <slack1256> That `cabal v2-run` syntax looks neat.
2021-02-19 00:33:46 +0100 <Axman6> woah, inline cabal config, this feels weird
2021-02-19 00:34:03 +0100 <sclv> yeah, you can set the executable bit and just run it with ./myfile.hs
2021-02-19 00:34:11 +0100 <monochrom> If you find yourself doing this recurringly, "cabal install --lib" can install libraries in a "global" sense that you can just use runghc again. But it will take a while to understand this "ghc environment" thing.
2021-02-19 00:34:29 +0100 <sclv> right, if you don't manage the env right that you install with --lib then you can confuse yourself
2021-02-19 00:35:12 +0100acidjnk_new2(~acidjnk@p200300d0c7390922a05b4912fb2bf4b2.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2021-02-19 00:35:25 +0100 <slack1256> Yeah, I need to understand these ghc environments. I don't know what the deal is with them after the v2-* family of commands landed.
2021-02-19 00:35:57 +0100 <slack1256> It used to be that `cabal install lens` installed on you `$home/.cabal` and it could be picked up by ghc.
2021-02-19 00:35:57 +0100jamm_(~jamm@unaffiliated/jamm)
2021-02-19 00:36:08 +0100alx741(~alx741@181.196.68.69) (Quit: alx741)
2021-02-19 00:36:15 +0100 <sclv> its fine to steer clear of them and use other mechanisms for now
2021-02-19 00:36:28 +0100 <sclv> i know how they work and i still avoid them, since my workflows don't call for it
2021-02-19 00:40:15 +0100 <slack1256> Mmm, well I use nix so I can avoid them. But running nix-shell scripts that run a haskell script take some seconds on my machine.
2021-02-19 00:40:27 +0100jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds)
2021-02-19 00:41:10 +0100 <monochrom> To be sure, "cabal run" also has its overhead.
2021-02-19 00:42:12 +0100 <monochrom> and the "Up to date" message that goes to stdout can hurt if you're piping stdout to another program that doesn't anticipate this extra message.
2021-02-19 00:42:25 +0100 <sclv> i imagine less than booting up a whole nix environment but what do i know
2021-02-19 00:42:37 +0100 <sclv> in my experience with a lot of haskell packages around, nix can drag in computing stuff
2021-02-19 00:43:30 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:8423:c6e2:c62e:a95e)
2021-02-19 00:43:45 +0100 <edwardk> the Up to date message actually is the reason why I can't bring myself to use the cabal run story
2021-02-19 00:43:47 +0100 <monochrom> To be sure again, if you go the "cabal install --lib" route, runghc also has a "Loaded package environment from ..." message to stderr, which you may or may not find confusing if you log stderr to a log file.
2021-02-19 00:44:23 +0100 <edwardk> i wanted to launch a language server protocol implementation with it
2021-02-19 00:44:25 +0100 <monochrom> "The only way to win is to flip the power switch."
2021-02-19 00:44:37 +0100 <edwardk> but i need to know what exactly is going to stdout
2021-02-19 00:44:46 +0100 <monochrom> (Hey why didn't anyone think of that in the War Games movie? >:) )
2021-02-19 00:44:51 +0100 <sclv> that's the sort of thing you'd think we could add a flag for if its enough of a problem
2021-02-19 00:45:23 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:b8ec:d51f:19ab:810a:831a)
2021-02-19 00:45:46 +0100 <sclv> monochrom: maybe it would have gone all HAL on 'em
2021-02-19 00:45:55 +0100 <sclv> and cut off their oxygen
2021-02-19 00:46:44 +0100 <sclv> note to self: remove my AI's connection to oxygen subsystems TODO
2021-02-19 00:47:13 +0100sheepfleece(~sheep@46.53.253.85) (Quit: Lost terminal)
2021-02-19 00:48:45 +0100Neuromancer(~Neuromanc@unaffiliated/neuromancer) (Ping timeout: 240 seconds)
2021-02-19 00:54:28 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-02-19 00:54:49 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 00:55:05 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
2021-02-19 00:56:08 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-02-19 00:59:06 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-02-19 00:59:27 +0100Benzi-Junior(~BenziJuni@88-149-67-143.du.xdsl.is) (Ping timeout: 256 seconds)
2021-02-19 00:59:48 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
2021-02-19 01:00:31 +0100son0p(~son0p@181.136.122.143) (Quit: Lost terminal)
2021-02-19 01:01:45 +0100ephemera_(~E@122.34.1.187) (Ping timeout: 240 seconds)
2021-02-19 01:02:43 +0100gratadewey1(~gratadewe@tmo-121-181.customers.d1-online.com)
2021-02-19 01:03:05 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
2021-02-19 01:06:54 +0100ephemera_(~E@122.34.1.187)
2021-02-19 01:08:08 +0100new_haskeller(~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c) (Remote host closed the connection)
2021-02-19 01:08:44 +0100new_haskeller(~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c)
2021-02-19 01:13:20 +0100new_haskeller(~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c) (Ping timeout: 268 seconds)
2021-02-19 01:15:26 +0100ephemera_(~E@122.34.1.187) (Quit: ephemera_)
2021-02-19 01:16:01 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-19 01:17:22 +0100perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.0)
2021-02-19 01:17:37 +0100ephemera_(~E@122.34.1.187)
2021-02-19 01:17:45 +0100perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2021-02-19 01:19:15 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com)
2021-02-19 01:19:38 +0100usr25(~J@91.red-83-58-113.dynamicip.rima-tde.net) (Quit: Bye)
2021-02-19 01:20:59 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 256 seconds)
2021-02-19 01:21:08 +0100gratadewey1(~gratadewe@tmo-121-181.customers.d1-online.com) (Quit: Leaving)
2021-02-19 01:24:15 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-02-19 01:25:30 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 01:25:34 +0100ephemera_(~E@122.34.1.187) (Quit: ephemera_)
2021-02-19 01:26:27 +0100kupi(uid212005@gateway/web/irccloud.com/x-gizvaodpjkjnkrse)
2021-02-19 01:26:43 +0100ephemera_(~E@122.34.1.187)
2021-02-19 01:29:38 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-19 01:30:08 +0100 <Axman6> koz_: did you ever get your deriving via thing working?
2021-02-19 01:31:21 +0100 <koz_> Axman6: No - Iceland_jack basically said it's a 'wrong order' thing like dolio mentioned.
2021-02-19 01:31:26 +0100 <koz_> But I just wrote it by hand.
2021-02-19 01:31:33 +0100 <koz_> It's one method, so not too onerous.
2021-02-19 01:33:13 +0100 <dolio> Yeah, if you want to derive MPTCs, they basically need to be partially applied.
2021-02-19 01:33:33 +0100 <dolio> In a data type's `deriving` clause, that is.
2021-02-19 01:33:43 +0100 <dolio> The data type being defined needs to be the last argument.
2021-02-19 01:34:39 +0100rajivr(uid269651@gateway/web/irccloud.com/x-stnwmfefysqdqgfx)
2021-02-19 01:35:10 +0100 <dolio> I think standalone deriving just lets you give any instance head, though.
2021-02-19 01:35:31 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-02-19 01:39:01 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:8423:c6e2:c62e:a95e) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-19 01:39:21 +0100new_haskeller(~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c)
2021-02-19 01:40:04 +0100pasukon(sid49097@gateway/web/irccloud.com/x-yhlwlkhlfvxhagju) (Quit: Connection closed for inactivity)
2021-02-19 01:42:34 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 256 seconds)
2021-02-19 01:43:30 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:20db:ee29:53bb:47f4)
2021-02-19 01:46:55 +0100mirrorbird(~psutcliff@2a00:801:44d:603d:d116:d5a1:4a2f:a08f) (Quit: Leaving)
2021-02-19 01:47:26 +0100new_haskeller(~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c) (Ping timeout: 264 seconds)
2021-02-19 01:47:34 +0100stree(~stree@68.36.8.116)
2021-02-19 01:49:32 +0100stree(~stree@68.36.8.116) (Remote host closed the connection)
2021-02-19 01:49:52 +0100hyperisco_(~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 260 seconds)
2021-02-19 01:50:13 +0100stree(~stree@68.36.8.116)
2021-02-19 01:50:15 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:20db:ee29:53bb:47f4) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-19 01:50:15 +0100stree(~stree@68.36.8.116) (Remote host closed the connection)
2021-02-19 01:50:45 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-02-19 01:50:51 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-19 01:50:52 +0100stree(~stree@68.36.8.116)
2021-02-19 01:51:54 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2021-02-19 01:56:16 +0100rotaerk(rotaerk@2600:3c02::f03c:91ff:fe70:4a45) (Ping timeout: 265 seconds)
2021-02-19 01:56:44 +0100rotaerk(~rotaerk@ender.afternet.org)
2021-02-19 02:01:52 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-02-19 02:04:21 +0100m0rphism1(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 246 seconds)
2021-02-19 02:10:22 +0100heatsink(~heatsink@2600:1700:bef1:5e10:3898:afc8:9032:fc52) (Remote host closed the connection)
2021-02-19 02:10:53 +0100Rudd0(~Rudd0@185.189.115.103) (Ping timeout: 272 seconds)
2021-02-19 02:12:04 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-19 02:13:15 +0100lambda-11235(~lambda-11@2600:1700:7c70:4600::3f)
2021-02-19 02:13:48 +0100hiroaki(~hiroaki@ip4d166d67.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds)
2021-02-19 02:17:19 +0100slack1256(~slack1256@45.4.2.52) (Remote host closed the connection)
2021-02-19 02:20:42 +0100ephemera_(~E@122.34.1.187) (Quit: ephemera_)
2021-02-19 02:23:47 +0100mirrorbird(~psutcliff@2a00:801:44d:603d:d116:d5a1:4a2f:a08f)
2021-02-19 02:24:30 +0100ephemera_(~E@122.34.1.187)
2021-02-19 02:24:41 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
2021-02-19 02:25:16 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com)
2021-02-19 02:25:25 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de)
2021-02-19 02:27:28 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-02-19 02:27:49 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 02:28:09 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds)
2021-02-19 02:30:16 +0100hiroaki(~hiroaki@ip4d166d67.dynamic.kabel-deutschland.de)
2021-02-19 02:30:41 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de) (Quit: WeeChat 2.9)
2021-02-19 02:31:32 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
2021-02-19 02:31:44 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-02-19 02:32:20 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
2021-02-19 02:32:25 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2021-02-19 02:32:31 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-02-19 02:33:07 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
2021-02-19 02:34:26 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 272 seconds)
2021-02-19 02:38:23 +0100ephemera_(~E@122.34.1.187) (Quit: ephemera_)
2021-02-19 02:39:44 +0100ephemera_(~E@122.34.1.187)
2021-02-19 02:39:49 +0100bergey`(~user@107.181.19.30)
2021-02-19 02:41:59 +0100hiroaki(~hiroaki@ip4d166d67.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds)
2021-02-19 02:42:38 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 256 seconds)
2021-02-19 02:42:51 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
2021-02-19 02:46:09 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-02-19 02:49:44 +0100bergey``(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-19 02:49:56 +0100bergey`(~user@107.181.19.30) (Ping timeout: 260 seconds)
2021-02-19 02:50:10 +0100roth(~roth@c-24-125-227-233.hsd1.ga.comcast.net)
2021-02-19 02:52:03 +0100ephemera_(~E@122.34.1.187) (Quit: ephemera_)
2021-02-19 02:53:16 +0100ephemera_(~E@122.34.1.187)
2021-02-19 02:54:36 +0100roth(~roth@c-24-125-227-233.hsd1.ga.comcast.net) ("WeeChat 1.9.1")
2021-02-19 02:58:49 +0100ep1ctetus(~epictetus@ip72-194-215-136.sb.sd.cox.net) (Read error: Connection reset by peer)
2021-02-19 02:59:32 +0100jamm_(~jamm@unaffiliated/jamm)
2021-02-19 03:00:23 +0100bergey``(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 272 seconds)
2021-02-19 03:01:57 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving)
2021-02-19 03:02:20 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:20db:ee29:53bb:47f4)
2021-02-19 03:02:57 +0100ephemera_(~E@122.34.1.187) (Quit: ephemera_)
2021-02-19 03:03:06 +0100bergey``(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-19 03:04:18 +0100ephemera_(~E@122.34.1.187)
2021-02-19 03:05:14 +0100bergey```(~user@107.181.19.30)
2021-02-19 03:05:25 +0100ephemera_(~E@122.34.1.187) (Client Quit)
2021-02-19 03:06:26 +0100ephemera_(~E@122.34.1.187)
2021-02-19 03:08:08 +0100bergey``(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 256 seconds)
2021-02-19 03:10:45 +0100heatsink(~heatsink@2600:1700:bef1:5e10:3898:afc8:9032:fc52)
2021-02-19 03:10:57 +0100Feuermagier(~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6) (Remote host closed the connection)
2021-02-19 03:13:04 +0100xff0x(~xff0x@2001:1a81:5211:3400:b3d2:3c55:a1fe:204b) (Ping timeout: 240 seconds)
2021-02-19 03:14:10 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-02-19 03:14:50 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:20db:ee29:53bb:47f4) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-19 03:15:08 +0100xff0x(~xff0x@2001:1a81:524a:900:8508:6695:e4ef:a19a)
2021-02-19 03:15:49 +0100bergey```(~user@107.181.19.30) (Ping timeout: 265 seconds)
2021-02-19 03:16:14 +0100heatsink(~heatsink@2600:1700:bef1:5e10:3898:afc8:9032:fc52) (Ping timeout: 264 seconds)
2021-02-19 03:17:26 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:20db:ee29:53bb:47f4)
2021-02-19 03:18:36 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
2021-02-19 03:19:33 +0100ephemera_(~E@122.34.1.187) (Quit: ephemera_)
2021-02-19 03:20:51 +0100ephemera_(~E@122.34.1.187)
2021-02-19 03:21:47 +0100perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.0)
2021-02-19 03:22:02 +0100benjamingr__(uid23465@gateway/web/irccloud.com/x-jtcssqlgtowhekak) (Quit: Connection closed for inactivity)
2021-02-19 03:23:06 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
2021-02-19 03:23:24 +0100heatsink(~heatsink@2600:1700:bef1:5e10:3898:afc8:9032:fc52)
2021-02-19 03:23:46 +0100bitmagie(~Thunderbi@200116b806717500919440cf7b99cc6e.dip.versatel-1u1.de)
2021-02-19 03:27:35 +0100guest218(~user@49.5.6.87)
2021-02-19 03:27:58 +0100Ishutin_(~ishutin@84-236-3-155.pool.digikabel.hu)
2021-02-19 03:31:09 +0100Ishutin(~ishutin@178-164-208-197.pool.digikabel.hu) (Ping timeout: 246 seconds)
2021-02-19 03:32:34 +0100urodna_(~urodna@unaffiliated/urodna)
2021-02-19 03:33:26 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:b8ec:d51f:19ab:810a:831a) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-19 03:34:09 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 256 seconds)
2021-02-19 03:34:11 +0100urodna(~urodna@unaffiliated/urodna) (Ping timeout: 265 seconds)
2021-02-19 03:34:28 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2021-02-19 03:35:33 +0100raym(~ray@45.64.220.142)
2021-02-19 03:36:32 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2021-02-19 03:37:01 +0100Stanley00(~stanley00@unaffiliated/stanley00) (Client Quit)
2021-02-19 03:39:22 +0100jedws(~jedws@101.184.202.248) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-19 03:40:49 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 03:44:31 +0100poscat(~poscat@123.116.67.131) (Remote host closed the connection)
2021-02-19 03:46:23 +0100poscat(~poscat@123.116.67.131)
2021-02-19 03:48:39 +0100Tops21(~Tobias@dyndsl-095-033-088-065.ewe-ip-backbone.de)
2021-02-19 03:48:45 +0100Wuzzy(~Wuzzy@p5790ee53.dip0.t-ipconnect.de) (Quit: Wuzzy)
2021-02-19 03:49:37 +0100isacl___(sid13263@gateway/web/irccloud.com/x-ffhqixfaqlvsijhw) (Quit: Connection closed for inactivity)
2021-02-19 03:50:54 +0100 <guest218> can we put IO actions into Cont? cont (a -> (IO ())) -> IO ()?
2021-02-19 03:50:56 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-02-19 03:51:16 +0100andreas303(~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection)
2021-02-19 03:51:23 +0100 <guest218> what type it will be? Cont (IO ()) a?
2021-02-19 03:51:29 +0100 <monochrom> Yes.
2021-02-19 03:51:42 +0100 <guest218> or use ContT r IO a?
2021-02-19 03:51:52 +0100andreas303(~andreas@gateway/tor-sasl/andreas303)
2021-02-19 03:51:59 +0100 <monochrom> Depends on your needs and entirely up to you.
2021-02-19 03:52:33 +0100Tops2(~Tobias@dyndsl-095-033-088-065.ewe-ip-backbone.de) (Ping timeout: 265 seconds)
2021-02-19 03:52:40 +0100 <monochrom> Broad questions beget broad answers.
2021-02-19 03:52:47 +0100Zialus(~RMF@2001:818:de63:c300:211:32ff:fe8d:ad29) (Quit: i'm out!)
2021-02-19 03:53:44 +0100 <guest218> monochrom: but `runCont (x:: Cont (IO ()) a) (y:: a)` will extract one IO action? and I can put it into main?
2021-02-19 03:54:24 +0100 <monochrom> Have you tried?
2021-02-19 03:55:44 +0100 <monochrom> It won't incinerate your computer if you try actual code and make some mistakes and learn from the error messages, you know.
2021-02-19 03:55:45 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 264 seconds)
2021-02-19 03:56:12 +0100 <guest218> yeap
2021-02-19 03:56:17 +0100 <guest218> main = runCont (cont (\k -> k (print "hi"))) id == "hi"
2021-02-19 03:56:58 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de)
2021-02-19 03:57:01 +0100da39a3ee5e6b4b0d(~da39a3ee5@184.22.159.161)
2021-02-19 03:57:27 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-19 03:58:06 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de) (Client Quit)
2021-02-19 03:59:19 +0100stree(~stree@68.36.8.116) (Ping timeout: 265 seconds)
2021-02-19 03:59:21 +0100Deide(~Deide@217.155.19.23) (Quit: Seeee yaaaa)
2021-02-19 03:59:21 +0100andreas303(~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection)
2021-02-19 03:59:55 +0100andreas303(~andreas@gateway/tor-sasl/andreas303)
2021-02-19 04:03:02 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 04:03:28 +0100bitmagie(~Thunderbi@200116b806717500919440cf7b99cc6e.dip.versatel-1u1.de) (Quit: bitmagie)
2021-02-19 04:07:18 +0100drbean(~drbean@TC210-63-209-181.static.apol.com.tw)
2021-02-19 04:07:23 +0100teardown(~user@gateway/tor-sasl/mrush) (Ping timeout: 268 seconds)
2021-02-19 04:07:44 +0100 <Axman6> I disagree with that == :)
2021-02-19 04:08:01 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds)
2021-02-19 04:08:38 +0100ski. o O ( "Not even wrong." )
2021-02-19 04:11:46 +0100plutoniix(~q@184.82.193.9)
2021-02-19 04:12:08 +0100stree(~stree@68.36.8.116)
2021-02-19 04:14:08 +0100urodna_(~urodna@unaffiliated/urodna) (Quit: urodna_)
2021-02-19 04:14:21 +0100jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-02-19 04:15:58 +0100teardown(~user@gateway/tor-sasl/mrush)
2021-02-19 04:16:27 +0100 <inkbottle> I've found infinitely many monoid homomorphisms with codomain the natural numbers as additive monoid and domain the free monoid on the corresponding underlying set. And I have no idea which is Epsilon the co-unit.
2021-02-19 04:17:01 +0100 <inkbottle> One has to send empty list on zero.
2021-02-19 04:17:39 +0100 <Axman6> I know most of those words...
2021-02-19 04:18:07 +0100KeyJoo(~KeyJoo@37.1.20.135)
2021-02-19 04:18:47 +0100 <inkbottle> It's a very dumb question, but it's really nagging me not to know the answer
2021-02-19 04:19:12 +0100 <swarmcollective> You had me up to monoid... :)
2021-02-19 04:19:20 +0100 <inkbottle> And I can't find which other properties would narrow the set of candidates
2021-02-19 04:19:21 +0100 <karasu1[m]> I was trying to experiment with Map, but something is wrong..
2021-02-19 04:19:22 +0100 <karasu1[m]> https://paste.tomsmeding.com/kq1BJEjm
2021-02-19 04:19:35 +0100 <karasu1[m]> The second time, m is not printed
2021-02-19 04:19:39 +0100perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2021-02-19 04:19:40 +0100 <karasu1[m]> But it just says `fromList`
2021-02-19 04:20:03 +0100 <karasu1[m]> so i interrepted
2021-02-19 04:20:07 +0100 <glguy> karasu1[m], m = Map.insert 10 'c' m --
2021-02-19 04:20:18 +0100 <glguy> you inserted m into itself
2021-02-19 04:20:28 +0100 <karasu1[m]> yea
2021-02-19 04:20:40 +0100Tops21(~Tobias@dyndsl-095-033-088-065.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2021-02-19 04:20:49 +0100 <karasu1[m]> I wanted to put the pair 10 'c' in m
2021-02-19 04:20:54 +0100 <glguy> that's the same m on both sides
2021-02-19 04:21:04 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de)
2021-02-19 04:21:05 +0100 <glguy> > let xs = 1 : xs in xs
2021-02-19 04:21:07 +0100 <lambdabot> [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1...
2021-02-19 04:21:10 +0100 <karasu1[m]> Doesn't it take the previous value of m on the right side??
2021-02-19 04:21:15 +0100 <glguy> of course not
2021-02-19 04:21:20 +0100 <Axman6> let x = ... x ... is a recursive definition, the mo on the righ t_is_ the m on the left
2021-02-19 04:21:23 +0100 <guest218> typical C...
2021-02-19 04:21:31 +0100 <guest218> c = c+1
2021-02-19 04:21:33 +0100 <Axman6> > let ones = 1:ones in ones
2021-02-19 04:21:35 +0100 <lambdabot> [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1...
2021-02-19 04:22:09 +0100 <Axman6> dibblego: where's your recording for x = x+1
2021-02-19 04:22:32 +0100 <dibblego> https://www.youtube.com/watch?v=tRszt-AlKOc
2021-02-19 04:22:37 +0100 <karasu1[m]> wait, but why only `fromList` is printed?
2021-02-19 04:22:45 +0100 <karasu1[m]> Why not like the 1:ones in ones example
2021-02-19 04:22:49 +0100 <karasu1[m]> a lot of 1s printed
2021-02-19 04:22:55 +0100 <guest218> karasu1[m]: try `m2 = Map.insert 10 'c' m`?
2021-02-19 04:22:56 +0100 <karasu1[m]> but nothing printed here
2021-02-19 04:23:04 +0100 <karasu1[m]> yea that works
2021-02-19 04:23:11 +0100 <ski> because `Map's aren't lazy like that
2021-02-19 04:23:12 +0100 <glguy> karasu1[m], because when you're printing a Map the printing function knows that you always start with fromList
2021-02-19 04:23:24 +0100 <glguy> but then it has no idea what elements should be in the map
2021-02-19 04:23:27 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-02-19 04:23:43 +0100Narinas(~Narinas@189.223.179.61.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
2021-02-19 04:24:09 +0100 <karasu1[m]> It's recursive, like the `let ones = 1 : ones in ones`, so why is this case different from the cons case?
2021-02-19 04:24:10 +0100 <Axman6> the Show instance for Map is basically: show mp = "fromList " ++ show (toList mp). if you can't produce that list, you can't print it
2021-02-19 04:24:26 +0100Narinas(~Narinas@189.223.179.61.dsl.dyn.telnor.net)
2021-02-19 04:24:26 +0100 <Axman6> it's recursive in a way where it can't make any progress
2021-02-19 04:24:33 +0100 <monochrom> onoes dibblego is Tony Morris!
2021-02-19 04:24:35 +0100 <glguy> karasu1[m], because in the case of a map it has to know *all* of the elements to know what the first one will be
2021-02-19 04:24:44 +0100 <Axman6> with the ones example, there is always a known (:)
2021-02-19 04:24:49 +0100 <dibblego> monochrom: lolwot
2021-02-19 04:24:59 +0100 <monochrom> But nice video. I have a friend who had the same sentiment when learning BASIC.
2021-02-19 04:25:01 +0100 <Axman6> monochrom: you can't just dox people like that
2021-02-19 04:25:19 +0100 <glguy> so to print m = Map.insert 10 'c' m -- it asks, what would the first element of Map.insert 10 'c' m be, to answer that question insert needs to know the first element of m, this spins in a loop
2021-02-19 04:25:43 +0100 <monochrom> OK I'll dox myself too. I'm Albert Lai.
2021-02-19 04:25:48 +0100FinnElija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-02-19 04:25:48 +0100finn_elijaGuest9362
2021-02-19 04:25:48 +0100FinnElijafinn_elija
2021-02-19 04:26:06 +0100 <Axman6> I can't believe you've done this
2021-02-19 04:26:07 +0100 <glguy> xs = 1 : xs -- we know what the first element of xs is going to be 1 from its definition; we don't have to look any further
2021-02-19 04:26:17 +0100 <monochrom> self-punishment
2021-02-19 04:26:25 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
2021-02-19 04:26:46 +0100hal9001`(~user@zz2017405567D30FFCD9.userreverse.dion.ne.jp)
2021-02-19 04:27:54 +0100hal9001`(~user@zz2017405567D30FFCD9.userreverse.dion.ne.jp) ()
2021-02-19 04:28:07 +0100 <swarmcollective> "That doesn't make any sense." Classic. :)
2021-02-19 04:28:28 +0100 <karasu1[m]> So `(toList m)` never terminates, so it can't be printed? hmmmm, but maybe I thought it would keep printing `fromList [(10, 'c'), (10, 'c'), ...` like the 1 :ones
2021-02-19 04:28:37 +0100 <karasu1[m]> dunno
2021-02-19 04:28:52 +0100hal9001(~user@zz2017405567D30FFCD9.userreverse.dion.ne.jp) (Ping timeout: 260 seconds)
2021-02-19 04:28:58 +0100Guest9362(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds)
2021-02-19 04:29:07 +0100borne(~fritjof@200116b864cafb00a9b5d4f34e3c7d10.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2021-02-19 04:29:24 +0100 <glguy> karasu1[m], no, maps don't contain repeated elements, and the elements are printed in order
2021-02-19 04:29:33 +0100ski. o O ( "1930-1970, the time of codings : Consistency proofs, monstrous ordinal notations, ad hoc encodings, a sort of voluntary bureaucratic self-punishment." )
2021-02-19 04:29:40 +0100 <Axman6> there is only one entry in the map with key 10
2021-02-19 04:29:50 +0100 <karasu1[m]> oh yea!!
2021-02-19 04:29:59 +0100 <karasu1[m]> so it should print `fromList [(10, 'c')]`
2021-02-19 04:30:05 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de) (Ping timeout: 240 seconds)
2021-02-19 04:30:09 +0100 <karasu1[m]> But I only get `fromList `
2021-02-19 04:30:11 +0100 <glguy> karasu1[m], why?
2021-02-19 04:30:18 +0100 <glguy> we don't know what other elements are in the list
2021-02-19 04:30:21 +0100 <glguy> it doesn't guess
2021-02-19 04:30:28 +0100 <glguy> in the map
2021-02-19 04:30:54 +0100 <glguy> you didn't write: Map.insert 10 'c' Map.empty
2021-02-19 04:30:55 +0100 <Axman6> :t M.insert
2021-02-19 04:30:56 +0100 <lambdabot> Ord k => k -> a -> M.Map k a -> M.Map k a
2021-02-19 04:30:56 +0100 <guest218> fromList is just a data constructor, it shouldn't be alone, right?
2021-02-19 04:31:06 +0100 <glguy> fromList is not a data constructor, now
2021-02-19 04:31:10 +0100 <glguy> no*
2021-02-19 04:31:38 +0100 <guest218> then a function?
2021-02-19 04:31:40 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-02-19 04:31:43 +0100 <Axman6> you might _think_ that if you insert something into a map, get the new map, and then insert the same thing again, it should just return the old map, but note that there is no way to tell that it is actually inserting the same thing again, there's no Eq a constraint
2021-02-19 04:31:52 +0100 <ski> > let scones x !xs = x:xs; sc = 1; ones = scones sc ones in ones
2021-02-19 04:31:55 +0100 <lambdabot> *Exception: <<loop>>
2021-02-19 04:32:01 +0100 <glguy> guest218, data constructor and function are different categories of things, but yes it's a variable and a function, too
2021-02-19 04:32:26 +0100 <Axman6> Data.Map's Show instance is quite inconsistent (though easier to ead than the derived instance would be).
2021-02-19 04:32:31 +0100 <monochrom> In this context, "fromList" is just how the Show instance of Map starts. Please don't read any deep subtext out of it. There is none.
2021-02-19 04:33:00 +0100 <guest218> is https://hoogle.haskell.org/ down?
2021-02-19 04:33:06 +0100 <ski> why inconsistent ?
2021-02-19 04:33:22 +0100 <guest218> @hoogle fromList
2021-02-19 04:33:22 +0100 <lambdabot> Data.List.NonEmpty fromList :: [a] -> NonEmpty a
2021-02-19 04:33:22 +0100 <lambdabot> GHC.Exts fromList :: IsList l => [Item l] -> l
2021-02-19 04:33:22 +0100 <lambdabot> Data.IntMap.Internal fromList :: [(Key, a)] -> IntMap a
2021-02-19 04:33:44 +0100 <Axman6> instance (Show k, Show v) => Show (Map k v) where show mp = "fromList " ++ show (toList mp) is pretty much exactly Map's Show instance
2021-02-19 04:34:01 +0100 <karasu1[m]> Yeaa
2021-02-19 04:34:21 +0100 <karasu1[m]> So to do `toList`, `mp` needs to be a value right?
2021-02-19 04:34:23 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 04:34:35 +0100 <karasu1[m]> (I guess the WHNF maybe)
2021-02-19 04:35:01 +0100 <ski> (except defining `showsPrec' rather than `show', and properly using `showParen')
2021-02-19 04:35:02 +0100 <karasu1[m]> But we can never resolve a WHNF, is that correct?
2021-02-19 04:35:28 +0100 <Axman6> no, WHNF means the value has been evaluated far enough to know which constructor it is
2021-02-19 04:36:01 +0100 <karasu1[m]> OK
2021-02-19 04:36:11 +0100 <karasu1[m]> But `mp` needs to be a value then?
2021-02-19 04:36:27 +0100 <monochrom> In fact, "insert" already wants the old map to be a value.
2021-02-19 04:36:35 +0100 <Axman6> so, fior a list, it means we know if we have [] or a (:) with some value and another list, but it says nothing about the value or other list
2021-02-19 04:37:37 +0100 <inkbottle> This might be related to my Epsilon/Counit question: "How many adjunction give rise to the same monad?" That could explain why I've failed to pinpoint one counit. https://cpb-us-e1.wpmucdn.com/s.wayne.edu/dist/d/10/files/2018/02/kleisli6c-10zk5wx.pdf
2021-02-19 04:37:44 +0100KeyJoo(~KeyJoo@37.1.20.135) (Ping timeout: 260 seconds)
2021-02-19 04:38:16 +0100 <guest218> data Map k a = Bin {-# UNPACK #-} !Size !k a !(Map k a) !(Map k a) | Tip , you're right fromList isn't a data constructor
2021-02-19 04:38:50 +0100 <glguy> the give away was that it's lowercased
2021-02-19 04:38:56 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
2021-02-19 04:41:09 +0100theDon(~td@94.134.91.146) (Ping timeout: 246 seconds)
2021-02-19 04:43:02 +0100theDon(~td@muedsl-82-207-238-210.citykom.de)
2021-02-19 04:45:21 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 04:46:25 +0100forgottenone(~forgotten@176.42.30.133)
2021-02-19 04:53:04 +0100 <karasu1[m]> Wait
2021-02-19 04:53:04 +0100Narinas(~Narinas@189.223.179.61.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
2021-02-19 04:53:05 +0100cheater(~user@unaffiliated/cheater) (Ping timeout: 240 seconds)
2021-02-19 04:53:06 +0100 <karasu1[m]> > let ones = 1:ones in ones
2021-02-19 04:53:09 +0100 <lambdabot> [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1...
2021-02-19 04:53:31 +0100 <karasu1[m]> It doesn't know all the values in the list right?
2021-02-19 04:53:33 +0100 <karasu1[m]> But it's still printing
2021-02-19 04:53:46 +0100Narinas(~Narinas@189.223.179.61.dsl.dyn.telnor.net)
2021-02-19 04:53:50 +0100 <karasu1[m]> For `m`, it at least knows `(10, 'c')` is in the list
2021-02-19 04:53:50 +0100 <Axman6> that list is circular
2021-02-19 04:54:00 +0100 <Axman6> no it doesn't
2021-02-19 04:54:54 +0100 <monochrom> If you're so bent on seeing (10,'c') printed, try y = (10,'c') : undefined
2021-02-19 04:55:27 +0100 <monochrom> Map simply is a different data structure that wants to figure out the whole finite binary search tree before doing anything.
2021-02-19 04:55:31 +0100 <karasu1[m]> `(10, 'c')` can never be taken away from `m` right?
2021-02-19 04:55:35 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2021-02-19 04:55:42 +0100 <karasu1[m]> Even given the recursive definition
2021-02-19 04:55:52 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
2021-02-19 04:56:08 +0100 <monochrom> Do you know binary search trees?
2021-02-19 04:56:12 +0100 <Axman6> logically, we know that as humans, burt the code cannot
2021-02-19 04:56:17 +0100 <Axman6> but*
2021-02-19 04:56:30 +0100 <karasu1[m]> Oh yeah, BST is cool
2021-02-19 04:56:37 +0100cheater(~user@unaffiliated/cheater)
2021-02-19 04:56:48 +0100 <karasu1[m]> left is less, right is more
2021-02-19 04:56:52 +0100 <swarmcollective> > let m = (10, 'c'):m in m
2021-02-19 04:56:54 +0100 <lambdabot> [(10,'c'),(10,'c'),(10,'c'),(10,'c'),(10,'c'),(10,'c'),(10,'c'),(10,'c'),(10...
2021-02-19 04:57:14 +0100 <monochrom> Do you know that to decide where to put your (10,'c') in a binary search tree, the insert algorithm needs to know a large chunk of the rest of the binary search tree?
2021-02-19 04:57:34 +0100 <monochrom> Do you know that your self-reference defeats that left right and centre?
2021-02-19 04:57:35 +0100 <Axman6> what you have essentially build is m = insert 10 'c' m ==> insert 10 'c' (insert 10 'c' (insert 10 'c' (insert 10 'c ...
2021-02-19 04:57:48 +0100 <Axman6> built*
2021-02-19 04:58:37 +0100 <guest218> > l2 = (print "hi"): l2
2021-02-19 04:58:39 +0100 <lambdabot> <hint>:1:4: error: <hint>:1:4: error: parse error on input ‘=’
2021-02-19 04:59:02 +0100 <monochrom> list is lazy, Map is not. Can you accept that?
2021-02-19 04:59:22 +0100 <karasu1[m]> Does Map have to print the preorder traversal then?
2021-02-19 04:59:23 +0100 <guest218> monochrom: Data.Map.Lazy is not lazy?
2021-02-19 04:59:29 +0100 <monochrom> No.
2021-02-19 04:59:41 +0100 <monochrom> It is lazy in the 'c'.
2021-02-19 05:00:05 +0100 <monochrom> If you do "insert 10 undefined oldmap" Data.Map.Lazy allows you, Data.Map.Strict does not.
2021-02-19 05:00:12 +0100 <Axman6> karasu1[m]: insert can't make any progress in inserting a value into the tree until it know if it has a Bin ot Tip constructor, so to find that out, it tries to evaluate the recursive insert, which needs to whenter it has a Bin or a Tip constructor, so it asks the next insert, which needs to know...
2021-02-19 05:00:26 +0100 <monochrom> The binary search tree structure itself? Don't kid yourself, it is non-lazy all along.
2021-02-19 05:00:27 +0100Rudd0(~Rudd0@185.189.115.103)
2021-02-19 05:00:44 +0100taktoa[c](sid282096@gateway/web/irccloud.com/x-tfepwvxnvuhzipdi) (Ping timeout: 240 seconds)
2021-02-19 05:00:50 +0100rslima_____(sid26145@gateway/web/irccloud.com/x-aypulxwbltevibbl) (Read error: Connection reset by peer)
2021-02-19 05:01:02 +0100 <monochrom> Look at all the !s in "!Size !k a !(Map k a) !(Map k a)". What do you think they mean?
2021-02-19 05:01:06 +0100agander_m(sid407952@gateway/web/irccloud.com/x-lbundbkyasssxrvb) (Ping timeout: 246 seconds)
2021-02-19 05:01:09 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 05:01:11 +0100 <swarmcollective> It is eager turtles all the way down.
2021-02-19 05:01:13 +0100milessabin(sid86799@gateway/web/irccloud.com/x-uhwnuarrughueshe) (Read error: Connection reset by peer)
2021-02-19 05:01:14 +0100ghuntley(sid16877@gateway/web/irccloud.com/x-vtpfnlotgnkvkxhw) (Ping timeout: 264 seconds)
2021-02-19 05:01:23 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:20db:ee29:53bb:47f4) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-19 05:01:30 +0100 <Axman6> those values are strictly evaluated whenever that constructor is evaluated
2021-02-19 05:01:30 +0100lolmac(sid171216@gateway/web/irccloud.com/x-vfuajhtuqgxeaayl) (Ping timeout: 268 seconds)
2021-02-19 05:01:53 +0100Kamuela(sid111576@gateway/web/irccloud.com/x-irfjzeihbihfpcqu) (Ping timeout: 272 seconds)
2021-02-19 05:02:05 +0100rslima_____(sid26145@gateway/web/irccloud.com/x-juewjokznuzxtywl)
2021-02-19 05:02:06 +0100agander_m(sid407952@gateway/web/irccloud.com/x-iacrqptelsdesbqc)
2021-02-19 05:02:06 +0100ghuntley(sid16877@gateway/web/irccloud.com/x-cxefxczoiamxwufa)
2021-02-19 05:02:06 +0100taktoa[c](sid282096@gateway/web/irccloud.com/x-hmpjwlrfnjkdvtbj)
2021-02-19 05:02:11 +0100milessabin(sid86799@gateway/web/irccloud.com/x-lvllpfayllfptnau)
2021-02-19 05:02:13 +0100 <monochrom> Don't kid yourself. Binary search trees can't even be lazy on keys.
2021-02-19 05:02:14 +0100lolmac(sid171216@gateway/web/irccloud.com/x-rclngblebwcjjcxh)
2021-02-19 05:02:26 +0100dani-(sid341953@gateway/web/irccloud.com/x-opdkvfjmdgjlowks) (Ping timeout: 264 seconds)
2021-02-19 05:02:26 +0100graingert(sid128301@gateway/web/irccloud.com/x-vklobmszfgmvbrsg) (Ping timeout: 264 seconds)
2021-02-19 05:02:47 +0100 <karasu1[m]> Why not?
2021-02-19 05:02:59 +0100 <monochrom> How do you do BST insert?
2021-02-19 05:03:17 +0100 <monochrom> First you ask "is the old tree even empty?"
2021-02-19 05:03:37 +0100 <monochrom> That already kills a lot of fantasized laziness.
2021-02-19 05:03:39 +0100 <karasu1[m]> Even if the insert doesn't work, it should be possible to print the values we already have traversed, right?
2021-02-19 05:03:56 +0100 <karasu1[m]> `(10, 'c')` already exists
2021-02-19 05:03:56 +0100 <monochrom> Then you ask "may I compare the new key with the root key?"
2021-02-19 05:03:57 +0100 <Axman6> what values are there?
2021-02-19 05:04:00 +0100 <karasu1[m]> insert won't change taht
2021-02-19 05:04:02 +0100dani-(sid341953@gateway/web/irccloud.com/x-jvhqzxypgstquyhl)
2021-02-19 05:04:03 +0100graingert(sid128301@gateway/web/irccloud.com/x-bfylpgqnmmccmsbf)
2021-02-19 05:04:06 +0100 <monochrom> That kills more fantasized laziness.
2021-02-19 05:04:13 +0100Kamuela(sid111576@gateway/web/irccloud.com/x-pawdtmgkcfdhjilx)
2021-02-19 05:04:24 +0100 <Axman6> karasu1[m]: you seem to be missing that in let m = insert 10 'c' m, the m's are _the same object_. there's is nothing already there
2021-02-19 05:05:06 +0100 <karasu1[m]> The first insert works though
2021-02-19 05:05:09 +0100 <karasu1[m]> right?
2021-02-19 05:05:23 +0100 <glguy> no
2021-02-19 05:05:35 +0100 <karasu1[m]> oh yeah....
2021-02-19 05:05:45 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
2021-02-19 05:05:57 +0100 <Axman6> how can it?
2021-02-19 05:06:51 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 05:07:10 +0100 <Axman6> the very first thing it needs to know is if we have an empty tree or not. to figure that out, it inspects the map it was passed, but that is an unevaluated call to insert 10 'c' ..., which can't return anything until it kinow what constructor it is looking at, so it inspects the value passed to it, which is an unevaluated call to insert ...
2021-02-19 05:08:10 +0100Narinas(~Narinas@189.223.179.61.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
2021-02-19 05:09:03 +0100andreas303(~andreas@gateway/tor-sasl/andreas303) (Ping timeout: 268 seconds)
2021-02-19 05:09:20 +0100Narinas(~Narinas@189.223.179.61.dsl.dyn.telnor.net)
2021-02-19 05:09:24 +0100 <Axman6> there is no map, only functions which promise to return maps, if they can evaluate their argument
2021-02-19 05:10:09 +0100machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 264 seconds)
2021-02-19 05:10:45 +0100 <karasu1[m]> But the same argument can be made for `let ones = 1 : ones in ones` right?
2021-02-19 05:10:52 +0100forgottenone(~forgotten@176.42.30.133) (Quit: Konversation terminated!)
2021-02-19 05:10:53 +0100 <Axman6> no
2021-02-19 05:10:55 +0100 <karasu1[m]> How does Haskell know what ones is at the beginning
2021-02-19 05:10:58 +0100 <karasu1[m]> ?
2021-02-19 05:11:16 +0100 <monochrom> (:) is lazy.
2021-02-19 05:11:17 +0100 <Axman6> because whenever you evaluate ones, you immediately know which constructor you havem it is is _always_ (:) 1 ones
2021-02-19 05:11:21 +0100__minoru__shirae(~shiraeesh@46.34.206.35) (Ping timeout: 264 seconds)
2021-02-19 05:11:32 +0100 <glguy> suppose you had: head m
2021-02-19 05:11:37 +0100andreas303(~andreas@gateway/tor-sasl/andreas303)
2021-02-19 05:11:39 +0100 <glguy> well, let's replace m with its definition
2021-02-19 05:11:40 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds)
2021-02-19 05:11:42 +0100 <glguy> head (1 : m)
2021-02-19 05:11:44 +0100 <glguy> ok, so 1
2021-02-19 05:12:10 +0100 <glguy> : is a data constructor I can match on, it's not computing with that second argument
2021-02-19 05:12:59 +0100 <monochrom> If you try to do insertion sort to ones, you will get nothing too.
2021-02-19 05:13:21 +0100 <monochrom> because insertion sort is very non-lazy on lists.
2021-02-19 05:13:43 +0100 <glguy> bad = sort (1 : bad)
2021-02-19 05:13:46 +0100Narinas(~Narinas@189.223.179.61.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
2021-02-19 05:14:00 +0100 <monochrom> Or more simply, try to "append 2 at the end of ones. ones ++ [2]"
2021-02-19 05:14:04 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
2021-02-19 05:14:12 +0100 <glguy> suppose we write: head bad
2021-02-19 05:14:31 +0100 <monochrom> and then "so 2 is in that list, why filter (== 2) can't find it???!!!"
2021-02-19 05:14:44 +0100leaksAlot(44af9113@68.175.145.19)
2021-02-19 05:14:45 +0100 <glguy> head (sort (1 : bad)) -- hmm, I still don't know what's first, now sort wants to look at the first element of bad
2021-02-19 05:14:52 +0100Narinas(~Narinas@189.223.179.61.dsl.dyn.telnor.net)
2021-02-19 05:14:53 +0100 <glguy> head (sort (1 : sort (1 : bad))
2021-02-19 05:14:56 +0100 <glguy> it's not better better
2021-02-19 05:15:45 +0100 <leaksAlot> Why does this leak
2021-02-19 05:15:45 +0100 <leaksAlot> main = do
2021-02-19 05:15:46 +0100 <leaksAlot>   traverse (const (T.readFile "big-file")) [(0 :: Int) .. 5] >>= (print . (sum . fmap T.length))
2021-02-19 05:15:46 +0100 <leaksAlot>   forever performMajorGC
2021-02-19 05:17:36 +0100 <glguy> Because you loaded 6 big files into memory first, and then started taking their lengths?
2021-02-19 05:18:46 +0100 <leaksAlot> After the lengths are summed and printed memory usage stays put.
2021-02-19 05:19:28 +0100 <glguy> how are you measuring memory usage?
2021-02-19 05:19:39 +0100 <leaksAlot> top
2021-02-19 05:19:48 +0100 <Axman6> which OS?
2021-02-19 05:20:09 +0100 <leaksAlot> linux Ubuntu
2021-02-19 05:20:12 +0100 <Axman6> how/whether memory is released back to the OS depends on the OS IIRC.
2021-02-19 05:20:13 +0100jedws(~jedws@101.184.202.248)
2021-02-19 05:20:17 +0100 <glguy> the runtime system doesn't necessarily return the memory back to the OS just because it GCd it
2021-02-19 05:20:42 +0100 <glguy> You'll need to use profiling tools that can see inside the Haskell heap to know if you have a leak
2021-02-19 05:21:50 +0100Narinas(~Narinas@189.223.179.61.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
2021-02-19 05:22:14 +0100Narinas(~Narinas@189.223.179.61.dsl.dyn.telnor.net)
2021-02-19 05:22:54 +0100darjeeling_(~darjeelin@122.245.216.187) (Ping timeout: 272 seconds)
2021-02-19 05:23:23 +0100average(uid473595@gateway/web/irccloud.com/x-indydqfvltwedbgv)
2021-02-19 05:23:29 +0100cur8or(~cur8or@72canterbury.cybersmart.co.za)
2021-02-19 05:23:38 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 05:24:51 +0100 <karasu1[m]> Regardless of what the actual value of map is, we know that at the end of everything, `(10, 'c')` will exist in the Map because we're inserting it now right? Even if `(10, 'c')` is already in the Map, re-inserting it won't change that, right? So to me it still seems okay to say that `(10, 'c')` is in the map...
2021-02-19 05:25:16 +0100 <Axman6> _which_ map are we inserting into though?
2021-02-19 05:25:22 +0100 <Axman6> there isn't one
2021-02-19 05:25:55 +0100 <glguy> karasu1[m], it doesn't really matter if the key-value pair is "morally" in the map
2021-02-19 05:26:04 +0100 <glguy> it's not recoverably in there
2021-02-19 05:26:11 +0100cur8or_(~cur8or@196.41.98.130)
2021-02-19 05:26:27 +0100 <karasu1[m]> glguy: What do you mean by "recoverably"?
2021-02-19 05:26:29 +0100 <glguy> there's no Haskell Map in memory with it in there
2021-02-19 05:26:47 +0100 <glguy> lik you can say "It sure feels like it should be considered in the map"
2021-02-19 05:27:06 +0100 <glguy> but it's in no way in a map value
2021-02-19 05:27:14 +0100 <glguy> that you can detect with Haskell code
2021-02-19 05:28:05 +0100 <Axman6> karasu1[m]: I agree that ideally, if you wrote lookup 10 (insert 10 'c' anyMapAtAll) === Just 'c', but you cannot write an implementation for insert that is sufficiently lazy enough to be able to do that
2021-02-19 05:28:08 +0100cur8or(~cur8or@72canterbury.cybersmart.co.za) (Ping timeout: 260 seconds)
2021-02-19 05:28:35 +0100 <Axman6> (cannot may be a bit strong, it might actually be possible, but Data.Map's definition isn't lazy enough)
2021-02-19 05:28:58 +0100 <glguy> Now if you instead used an unordered associative list, you could do it
2021-02-19 05:29:09 +0100 <glguy> > let m = (10,'c') : m in lookup 10 m
2021-02-19 05:29:11 +0100 <lambdabot> Just 'c'
2021-02-19 05:29:16 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
2021-02-19 05:29:25 +0100 <karasu1[m]> Axman6: Wait do 3 equal signs mean something?
2021-02-19 05:30:14 +0100 <Axman6> type Map k v = k -> Maybe v; empty = \_k -> None; insert k v m = \k' -> if k == k' then Just v else mp k' -- this is a definiton for a map which can support those semantics, but is is also very inefficient
2021-02-19 05:30:34 +0100 <Axman6> karasu1[m]: just roughly "equivalent to", it's more maths than haskell
2021-02-19 05:31:35 +0100 <Axman6> uh, s/None/Nothing, soo much DAML
2021-02-19 05:31:37 +0100ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net)
2021-02-19 05:32:00 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 05:32:06 +0100Rishi1302(7c7b687a@124.123.104.122)
2021-02-19 05:32:15 +0100Rishi1302(7c7b687a@124.123.104.122) (Client Quit)
2021-02-19 05:32:55 +0100 <karasu1[m]> OK, I guess it's more an implementation detail that we can have "online" lists, but only "offline" maps
2021-02-19 05:34:07 +0100ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net) (Remote host closed the connection)
2021-02-19 05:36:02 +0100ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net)
2021-02-19 05:38:22 +0100 <c_wraith> It's more of an implementation consequence than an implementation detail. a BST that allows arbitrary subsets of the keys with incremental inserts and removals? Yeah, that's going to need to force keys whenever it inserts a value
2021-02-19 05:39:19 +0100 <c_wraith> A BST which doesn't allow incremental updates and has as keys every value in the type? That can be done lazily!
2021-02-19 05:40:15 +0100 <karasu1[m]> What is an incremental insert
2021-02-19 05:40:31 +0100kw(d4662d5d@212.102.45.93)
2021-02-19 05:40:46 +0100 <karasu1[m]> ?
2021-02-19 05:40:52 +0100 <c_wraith> incremental (inserts and removals)
2021-02-19 05:41:07 +0100 <c_wraith> that is, you can add and remove keys one at a time
2021-02-19 05:41:34 +0100 <kw> How do I conditionally depend on a package if GHC (or base) is less than a certain version, in my project cabal file?
2021-02-19 05:44:06 +0100new_haskeller(~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c)
2021-02-19 05:44:17 +0100 <c_wraith> use a conditional block in the cabal file that has an extra build-depends inside it
2021-02-19 05:44:35 +0100conal(~conal@64.71.133.70)
2021-02-19 05:44:41 +0100 <karasu1[m]> c_wraith: Hmmm, what does printing `(10, 'c')` have to do with forcing keys though?
2021-02-19 05:44:51 +0100 <karasu1[m]> We know `(10, 'c')` is in the map
2021-02-19 05:46:00 +0100 <Axman6> karasu1[m]: if impl(ghc <= 8.4.0) build-depends: some-library
2021-02-19 05:46:04 +0100 <Axman6> uh, kw
2021-02-19 05:46:06 +0100 <c_wraith> kw: https://cabal.readthedocs.io/en/3.4/cabal-package.html#conditional-blocks
2021-02-19 05:46:57 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds)
2021-02-19 05:47:29 +0100leaksAlot(44af9113@68.175.145.19) (Quit: Connection closed)
2021-02-19 05:47:50 +0100h2017(~h2017@bras-base-clbaon0201w-grc-32-142-114-145-140.dsl.bell.ca)
2021-02-19 05:47:51 +0100 <h2017> hi
2021-02-19 05:47:59 +0100 <Axman6> TIL ifs in cabal files can have else and elif clauses...
2021-02-19 05:47:59 +0100 <kw> Axman: I was getting a parse error on something like that. Do I need the 'if' at the outer level?
2021-02-19 05:48:07 +0100 <h2017> you know how a set and a list both have a singleton operation
2021-02-19 05:48:21 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 05:48:26 +0100 <Axman6> I do know that
2021-02-19 05:48:41 +0100 <h2017> for instance with a list you can do [x] and get the singleton list with only x and for a set you can do 'singleton x'. Is there a class which unifies sets and lists?
2021-02-19 05:48:52 +0100 <Axman6> kw: https://cabal.readthedocs.io/en/3.4/cabal-package.html#meaning-of-field-values-when-using-conditio…
2021-02-19 05:49:12 +0100 <c_wraith> karasu1[m]: you appear to be assuming a large degree of magic. GHC *doesn't know* that `insert 10 'c'` happens to make sure the created map has such a value. It only finds things out by evaluating expressions
2021-02-19 05:49:19 +0100 <Axman6> it goes at the same level as fields like build-depends:
2021-02-19 05:49:29 +0100 <kw> Ah, got it; thanks!
2021-02-19 05:49:37 +0100new_haskeller(~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c) (Ping timeout: 260 seconds)
2021-02-19 05:49:42 +0100 <h2017> i know that sets and lists are both monoids (or i think they are but that's not the only way they are related. they also have singleton elements and subtraction so is there another class besides monoids?
2021-02-19 05:50:10 +0100Lowl3v3l(~Lowl3v3l@dslb-002-203-233-121.002.203.pools.vodafone-ip.de) (Quit: Leaving.)
2021-02-19 05:51:12 +0100 <karasu1[m]> c_wraith: Well, only for maps, not for lists right? That has to do with how Haskell is implemented though (in your words: "implementation consequence")
2021-02-19 05:51:56 +0100conal(~conal@64.71.133.70) (Ping timeout: 260 seconds)
2021-02-19 05:52:34 +0100 <kw> You may want 'pointed'.
2021-02-19 05:52:42 +0100frozenErebus(~frozenEre@94.128.219.166)
2021-02-19 05:52:49 +0100 <kw> Although that's been kind of morally deprecated.
2021-02-19 05:53:00 +0100 <c_wraith> karasu1[m]: nothing to do with how Haskell is implemented. Just how the functions and data types work.
2021-02-19 05:53:01 +0100 <karasu1[m]> I am willing to accept that Haskell behaves in a certain way, but you were talking in general terms though, in general about a BST
2021-02-19 05:53:05 +0100 <kw> point :: a -> p a
2021-02-19 05:53:39 +0100 <karasu1[m]> c_wraith: I don't see why GHC would be relevant then though...
2021-02-19 05:54:33 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds)
2021-02-19 05:54:45 +0100kw(d4662d5d@212.102.45.93) (Quit: Connection closed)
2021-02-19 05:54:52 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-02-19 05:55:59 +0100conal(~conal@64.71.133.70)
2021-02-19 05:56:19 +0100 <ephemient> type Map k v = k -> Maybe v; empty _ = Nothing; insert k v m k' | k == k' = Just v | otherwise = m k'; lookup k m = m k
2021-02-19 05:56:25 +0100 <c_wraith> karasu1[m]: The relevant thing about GHC is that it's restricted by what you tell it to do. It cannot do magic.
2021-02-19 05:56:26 +0100 <ephemient> let m = insert 10 'a' m in lookup 10 m
2021-02-19 05:56:55 +0100 <ephemient> so ^^ that kind of "map" is sufficiently lazy for ^ that kind of operation
2021-02-19 05:57:14 +0100 <karasu1[m]> It should be possible in theory, yeah
2021-02-19 05:57:16 +0100 <c_wraith> at only the cost of being just as bad performance-wise as an association list
2021-02-19 05:57:27 +0100 <karasu1[m]> The current GHC doesn't support this, and that I understand
2021-02-19 05:57:35 +0100 <karasu1[m]> But I don't think it's fair to call it magic..
2021-02-19 05:57:39 +0100 <c_wraith> it's not a GHC limitation, except in that GHC cannot do the impossible
2021-02-19 05:58:57 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 05:59:21 +0100 <ephemient> the "working" map there is O(n) lookup and insert with no traverse. Data.Map provides O(log n) lookup/insert and O(n) traverse.
2021-02-19 05:59:44 +0100 <ephemient> pick which one you want 🤷
2021-02-19 06:00:02 +0100polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 264 seconds)
2021-02-19 06:02:22 +0100 <karasu1[m]> Why is it impossible? For `m = Map.insert 10 'c' m`, we know that `(10, 'c')` will be in the map
2021-02-19 06:02:34 +0100 <c_wraith> who is "we"?
2021-02-19 06:02:38 +0100 <edwardk> linear types in haskell are fun, but still have some sharp edges. i can see how i could get drawn into playing with them a lot though
2021-02-19 06:02:41 +0100 <c_wraith> you're assigning magic to GHC
2021-02-19 06:02:46 +0100 <glguy> karasu1[m], what will you do with that knowledge?
2021-02-19 06:02:52 +0100 <c_wraith> GHC can only evaluate code
2021-02-19 06:03:10 +0100 <karasu1[m]> just like in `let ones = 1 : ones`, we know 1 is in the list
2021-02-19 06:03:11 +0100 <karasu1[m]> me and you
2021-02-19 06:03:14 +0100 <ephemient> even if GHC could perform magic, that would not follow the semantics of Haskell (and how Data.Map is implemented)
2021-02-19 06:03:16 +0100 <glguy> karasu1[m], I know it's not
2021-02-19 06:03:19 +0100 <glguy> you don't seem convinced yet
2021-02-19 06:03:28 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 06:03:34 +0100 <ephemient> maybe this is clearer. the list is `let ones = (:) 1 ones`
2021-02-19 06:03:50 +0100 <ephemient> but the Map.insert is a function which needs to destructure its input
2021-02-19 06:04:01 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
2021-02-19 06:04:38 +0100 <edwardk> > let ones = const ones 1 -- passes the same visual inspection, and remember 1 is actually fromInteger 1, so there's also a function in between you and that pure syntactic deduction
2021-02-19 06:04:40 +0100 <lambdabot> <no location info>: error:
2021-02-19 06:04:40 +0100 <lambdabot> not an expression: ‘let ones = const ones 1 -- passes the same visual in...
2021-02-19 06:04:47 +0100 <edwardk> > let ones = const ones 1
2021-02-19 06:04:49 +0100 <lambdabot> <no location info>: error:
2021-02-19 06:04:49 +0100 <lambdabot> not an expression: ‘let ones = const ones 1’
2021-02-19 06:04:52 +0100 <edwardk> > let ones = const ones 1 in ones
2021-02-19 06:04:54 +0100 <lambdabot> *Exception: <<loop>>
2021-02-19 06:05:09 +0100Kaiepi(~Kaiepi@47.54.252.148) (Remote host closed the connection)
2021-02-19 06:05:32 +0100Kaiepi(~Kaiepi@47.54.252.148)
2021-02-19 06:06:05 +0100 <karasu1[m]> I think Axman mentioned earlier, but in an ideal world, `lookup 10 (insert 10 'c' anyMapAtAll) === Just 'c'` works
2021-02-19 06:06:11 +0100 <karasu1[m]> Not in Haskell
2021-02-19 06:06:19 +0100 <c_wraith> karasu1[m]: What does haskell have to do with it?
2021-02-19 06:06:21 +0100 <ephemient> karasu1[m]: and not with any BST implementation
2021-02-19 06:06:31 +0100 <ephemient> that is not a Haskell limitation
2021-02-19 06:06:34 +0100 <karasu1[m]> Haskell doesn't have anything to do with it
2021-02-19 06:06:35 +0100 <c_wraith> karasu1[m]: the issue is that you're using a BST that needs to support inserts
2021-02-19 06:06:50 +0100 <karasu1[m]> right...
2021-02-19 06:06:51 +0100 <ephemient> ok, in theory you could store a single-element cache or something like that
2021-02-19 06:07:03 +0100 <karasu1[m]> oh yeah
2021-02-19 06:07:09 +0100 <ephemient> but if you tried to make it more general you would lose the O(log n) nature of a BST
2021-02-19 06:07:23 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 06:07:33 +0100 <c_wraith> karasu1[m]: this is just a consequence of the choices of what code to use. If the compiler tries to change things behind your back, it will break things.
2021-02-19 06:08:13 +0100 <edwardk> data NotInt = NotInt; instance Eq NotInt where _== _ = False; instance Ord NotInt where compare _ _ = LT; instance Num NotInt where fromInteger _ = NotInt; lookup 10 (insert 10 'c' (Map.singleton 10 20 :: Map NotInt Int)) === Nothing
2021-02-19 06:08:36 +0100ixaxaar(~ixaxaar@49.207.197.94)
2021-02-19 06:08:57 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds)
2021-02-19 06:09:17 +0100 <edwardk> you could try to make a bunch of RULES to enforce your above reasoning, but they'll basically never fire in real code.
2021-02-19 06:09:36 +0100 <ephemient> also rewrite rules that change semantics seem pretty evil
2021-02-19 06:09:45 +0100 <glguy> karasu1[m], don't confuse the Map type from containers with an idealized notion of matching keys to values
2021-02-19 06:10:41 +0100 <edwardk> and sorry, replace the Map NotInt Int with Map NotInt Char -- i forgot what you were inserting.
2021-02-19 06:12:13 +0100 <edwardk> has anyone else been playing with the linear types stuff yet?
2021-02-19 06:12:18 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds)
2021-02-19 06:12:22 +0100 <karasu1[m]> We don't necessarily have to have a cache though..
2021-02-19 06:12:25 +0100 <ephemient> so there is a data structure known as a splay tree in which the root is always the most recently accessed element
2021-02-19 06:12:31 +0100 <karasu1[m]> Just print the elements as you see them
2021-02-19 06:12:34 +0100 <karasu1[m]> Being inserted
2021-02-19 06:12:43 +0100 <edwardk> ephemient: which works great. but not every _read_ needs to do tree mutation.
2021-02-19 06:12:44 +0100 <ephemient> karasu1[m]: then you ruin the performance of delete
2021-02-19 06:12:46 +0100 <edwardk> er now
2021-02-19 06:12:58 +0100 <edwardk> so you have to stash it behind some kind of pointer based facade
2021-02-19 06:13:10 +0100 <edwardk> or deal with threading the output tree through every call to read
2021-02-19 06:13:13 +0100 <karasu1[m]> ephemient: I don't think so, because you still end up with a BST in the end
2021-02-19 06:13:43 +0100 <ephemient> karasu1[m]: feel free to try to implement it in pure Haskell
2021-02-19 06:13:43 +0100 <karasu1[m]> But you still have to do n inserts at the very very beginning
2021-02-19 06:13:58 +0100 <karasu1[m]> When you do these n inserts, just print out the things being inserted
2021-02-19 06:14:11 +0100 <karasu1[m]> idk
2021-02-19 06:14:18 +0100 <ephemient> what if you do insert 'a' 2 (insert 'a' 1 empty)
2021-02-19 06:14:51 +0100jamm_(~jamm@unaffiliated/jamm)
2021-02-19 06:15:02 +0100 <karasu1[m]> yeeee
2021-02-19 06:15:09 +0100 <karasu1[m]> I'm not a computer scientist...
2021-02-19 06:15:10 +0100 <karasu1[m]> ur right
2021-02-19 06:15:29 +0100 <karasu1[m]> what i said won't work
2021-02-19 06:17:26 +0100 <edwardk> karasu1[m]: other things pop up with trying to track values inside of containers through control flow in the compiler. e.g. what happens when you insert it in one branch of an if but not another? etc. as you start to work it out once the language becomes non-trivial the rules you need to make up become larger and larger until they become impossible to write
2021-02-19 06:17:42 +0100darjeeling_(~darjeelin@112.16.171.12)
2021-02-19 06:18:54 +0100raym(~ray@45.64.220.142) (Quit: leaving)
2021-02-19 06:19:22 +0100jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds)
2021-02-19 06:20:21 +0100ixian(~mgold@2002:4a74:ba78:1701:0:ff:fe78:6269) (Remote host closed the connection)
2021-02-19 06:20:27 +0100stree(~stree@68.36.8.116) (Ping timeout: 265 seconds)
2021-02-19 06:20:33 +0100ixian(~mgold@terra.bitplane.org)
2021-02-19 06:21:38 +0100dale(dale@unaffiliated/dale) (Ping timeout: 264 seconds)
2021-02-19 06:21:45 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:b557:8110:d66d:2e47)
2021-02-19 06:22:06 +0100dale(dale@unaffiliated/dale)
2021-02-19 06:22:47 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
2021-02-19 06:23:39 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 06:24:27 +0100inkbottle(~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-02-19 06:26:29 +0100 <karasu1[m]> Right
2021-02-19 06:27:05 +0100 <karasu1[m]> `type Map k v = k -> Maybe v; empty _ = Nothing; insert k v m k' | k == k' = Just v | otherwise = m k'; lookup k m = m k`
2021-02-19 06:27:09 +0100 <karasu1[m]> https://paste.tomsmeding.com/LbYBrhQB
2021-02-19 06:27:10 +0100 <c_wraith> I think they actually become flat-out impossible in a Turing-complete language
2021-02-19 06:27:15 +0100 <karasu1[m]> Is ^ the right way to format it?
2021-02-19 06:27:23 +0100 <karasu1[m]> I thought the `type` keyword was for type synonyms?
2021-02-19 06:27:29 +0100 <karasu1[m]> But I don't understand it..
2021-02-19 06:27:57 +0100 <c_wraith> no. lines 2-6 need to be brought back one indentation level
2021-02-19 06:28:04 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-19 06:29:22 +0100 <c_wraith> Note that that representation is is basically an association list in disguise
2021-02-19 06:29:58 +0100 <karasu1[m]> Why does insert have 4 arguments? `insert k v m k'`?
2021-02-19 06:30:09 +0100 <karasu1[m]> I guess I don't understand k'
2021-02-19 06:30:49 +0100 <c_wraith> there's nothing special about the letters
2021-02-19 06:31:08 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 260 seconds)
2021-02-19 06:31:21 +0100 <dolio> Thinking about the types of them alal might help.
2021-02-19 06:31:24 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2021-02-19 06:31:24 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
2021-02-19 06:31:56 +0100aweinstock(~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) (Ping timeout: 272 seconds)
2021-02-19 06:32:48 +0100 <karasu1[m]> Would you use it like `insert 1 'a' m 2` or something?
2021-02-19 06:32:49 +0100da39a3ee5e6b4b0d(~da39a3ee5@184.22.159.161) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-19 06:33:00 +0100 <c_wraith> not usually
2021-02-19 06:33:01 +0100 <karasu1[m]> https://paste.tomsmeding.com/Zgv9KoJN
2021-02-19 06:33:13 +0100stree(~stree@68.36.8.116)
2021-02-19 06:33:15 +0100 <karasu1[m]> reindented
2021-02-19 06:33:20 +0100 <karasu1[m]> How would you use it?
2021-02-19 06:33:39 +0100 <karasu1[m]> Because the usual insert only has 3 arguments
2021-02-19 06:33:46 +0100 <karasu1[m]> Not sure what the last one is here for
2021-02-19 06:34:29 +0100 <ephemient> because Map k v = k -> v
2021-02-19 06:34:34 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-02-19 06:34:57 +0100 <ephemient> if it helps you to think of it as `insert k v m = \k' ->` then do so
2021-02-19 06:35:51 +0100 <ephemient> (this sort of map-via-function-composition is one of the first exercises in every functional programming course)
2021-02-19 06:39:14 +0100aweinstock(~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com)
2021-02-19 06:41:09 +0100 <karasu1[m]> Here, `Map` is a type constructor right?
2021-02-19 06:41:25 +0100 <ephemient> no, Map is a type synonym
2021-02-19 06:41:44 +0100cur8or_(~cur8or@196.41.98.130) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-19 06:41:50 +0100 <karasu1[m]> For the type `k -> Maybe v`?
2021-02-19 06:42:08 +0100 <karasu1[m]> I've never seen the type `k -> Maybe v` before, so I am confused
2021-02-19 06:42:24 +0100 <c_wraith> It's not special
2021-02-19 06:42:26 +0100 <ephemient> :t lookup
2021-02-19 06:42:27 +0100 <lambdabot> Eq a => a -> [(a, b)] -> Maybe b
2021-02-19 06:42:38 +0100 <ephemient> well, aside from the [] in the middle, it's exactly that type
2021-02-19 06:42:49 +0100 <ephemient> :t flip lookup undefined -- :)
2021-02-19 06:42:51 +0100 <lambdabot> Eq a => a -> Maybe b
2021-02-19 06:44:19 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 06:45:45 +0100kupi(uid212005@gateway/web/irccloud.com/x-gizvaodpjkjnkrse) (Quit: Connection closed for inactivity)
2021-02-19 06:46:32 +0100Stanley|00(~stanley00@unaffiliated/stanley00)
2021-02-19 06:46:58 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
2021-02-19 06:49:27 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
2021-02-19 06:49:45 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-02-19 06:50:17 +0100Stanley00(~stanley00@unaffiliated/stanley00) (Ping timeout: 272 seconds)
2021-02-19 06:52:02 +0100shutdown_-h_now(~arjan@2001:1c06:2d0b:2312:b54e:a99d:8dc7:f0b) (Ping timeout: 260 seconds)
2021-02-19 06:52:19 +0100 <karasu1[m]> I don't get it..
2021-02-19 06:52:24 +0100 <karasu1[m]> How would you call insert?
2021-02-19 06:53:18 +0100 <karasu1[m]> m = Map 1 (Maybe 5)
2021-02-19 06:53:27 +0100 <karasu1[m]> insert 10 20 m
2021-02-19 06:53:27 +0100 <karasu1[m]> ?
2021-02-19 06:53:48 +0100 <monochrom> "m = Map 1 (Maybe 5)" sounds like confusing types with terms.
2021-02-19 06:54:46 +0100deviantfero(~deviantfe@190.150.27.58) (Ping timeout: 265 seconds)
2021-02-19 06:54:47 +0100 <ephemient> m = insert 1 5 empty
2021-02-19 06:55:01 +0100 <ephemient> or m 1 = Just 5; m _ = Nothing
2021-02-19 06:55:32 +0100 <ephemient> that particular Map representation is (not secretly at all) just a function
2021-02-19 06:57:49 +0100shutdown_-h_now(~arjan@2001:1c06:2d0b:2312:b54e:a99d:8dc7:f0b)
2021-02-19 06:58:52 +0100 <ephemient> > let nan = 0/0 in M.fromList [(nan, 1), (nan, 2)]
2021-02-19 06:58:54 +0100 <lambdabot> fromList [(NaN,1),(NaN,2)]
2021-02-19 06:59:16 +0100 <ephemient> > let nan = 0/0 in M.lookup nan (M.singleton nan 1)
2021-02-19 06:59:18 +0100 <lambdabot> Nothing
2021-02-19 06:59:45 +0100 <ephemient> don't put use IEEE 754 floats as keys
2021-02-19 07:00:06 +0100 <monochrom> You have discovered a BST implementation of /dev/null :)
2021-02-19 07:00:16 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 07:00:22 +0100 <karasu1[m]> thanks
2021-02-19 07:00:28 +0100 <karasu1[m]> I will share with friends
2021-02-19 07:00:55 +0100 <ephemient> something Rust does more correctly: floats are PartialOrd/PartialEq, not Ord/Eq
2021-02-19 07:01:14 +0100 <ephemient> (but in practice it's a pain to deal with, so I dunno if it's practically worth the correctness)
2021-02-19 07:01:37 +0100 <monochrom> idealists gonna be ideal
2021-02-19 07:01:56 +0100 <dolio> NaN isn't the only reason not to put floating point numbers in a map.
2021-02-19 07:02:14 +0100 <dolio> (As keys)
2021-02-19 07:02:24 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-02-19 07:02:55 +0100 <ephemient> at least everything else is well ordered and won't break invariants
2021-02-19 07:03:57 +0100 <dolio> Yeah, you'll only miss lookups because something rounded slightly differently.
2021-02-19 07:05:00 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
2021-02-19 07:05:12 +0100dsrt^(james@ip98-184-89-2.mc.at.cox.net) (Ping timeout: 260 seconds)
2021-02-19 07:05:41 +0100dsrt^(~hph@ip98-184-89-2.mc.at.cox.net)
2021-02-19 07:08:57 +0100Batoeh(~user@152.208.55.30)
2021-02-19 07:09:08 +0100dave_uy(~david@108.61.193.26) (Quit: The Lounge - https://thelounge.chat)
2021-02-19 07:09:11 +0100 <karasu1[m]> Is this how you call insert: `insert 1 2 m 5`? And `m` is just some arbitrary function?
2021-02-19 07:09:34 +0100 <ephemient> if you want a "Map" in return, leave off the final 5
2021-02-19 07:09:35 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
2021-02-19 07:10:16 +0100 <monochrom> Actually who brought up "type Map k v = k -> Maybe v" and why? I don't see how the audience is ready for it.
2021-02-19 07:10:49 +0100 <ephemient> I did... didn't think it would be that far off the mark, sorry
2021-02-19 07:11:06 +0100toorevitimirp(~tooreviti@117.182.181.253)
2021-02-19 07:11:13 +0100 <ephemient> > let empty = const Nothing; insert k v m k' | k == k' = Just v | otherwise = m k'; lookup = flip in lookup 1 $ insert 1 2 empty
2021-02-19 07:11:14 +0100 <lambdabot> error:
2021-02-19 07:11:15 +0100 <lambdabot> • Could not deduce (Eq b0)
2021-02-19 07:11:15 +0100 <lambdabot> from the context: (Eq b, Num b, Num a,
2021-02-19 07:11:49 +0100deviantfero(~deviantfe@190.150.27.58)
2021-02-19 07:11:58 +0100 <ephemient> oh right monomorphism
2021-02-19 07:12:01 +0100 <karasu1[m]> monochrom: I think I know all the concepts in that example, it's just that I'm probably not familiar enough with the concepts to understand them in an instant though
2021-02-19 07:12:08 +0100dave_uy(~david@108.61.193.26)
2021-02-19 07:12:21 +0100 <ephemient> > let empty _ = Nothing; insert k v m k' | k == k' = Just v | otherwise = m k'; lookup k m = m k in lookup 1 (insert 1 2 empty)
2021-02-19 07:12:23 +0100 <lambdabot> Just 2
2021-02-19 07:17:36 +0100da39a3ee5e6b4b0d(~da39a3ee5@node-yof.pool-118-173.dynamic.totinternet.net)
2021-02-19 07:17:45 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 07:20:05 +0100 <monochrom> http://www-users.math.umn.edu/~rogness/math1001/syllabus/node20.html
2021-02-19 07:20:19 +0100 <monochrom> "understanding everything in class but blanking out on the exams" is golden
2021-02-19 07:20:35 +0100mirrorbird(~psutcliff@2a00:801:44d:603d:d116:d5a1:4a2f:a08f) (Ping timeout: 272 seconds)
2021-02-19 07:21:32 +0100 <monochrom> Accurately reflects what most people mean by "understand" if it means they can't do anything.
2021-02-19 07:22:43 +0100Narinas(~Narinas@189.223.179.61.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
2021-02-19 07:22:48 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
2021-02-19 07:22:59 +0100Narinas(~Narinas@189.223.179.61.dsl.dyn.telnor.net)
2021-02-19 07:23:16 +0100 <karasu1[m]> :(
2021-02-19 07:23:24 +0100 <karasu1[m]> This is like class for me though, so I am learning
2021-02-19 07:23:42 +0100 <karasu1[m]> I've read through most of the first half of Learn yourself a haskell
2021-02-19 07:23:54 +0100 <karasu1[m]> Want to go through the rest this weekend
2021-02-19 07:24:09 +0100 <karasu1[m]> But yeah, I actually understand this thing now though
2021-02-19 07:24:14 +0100 <karasu1[m]> I think anyway
2021-02-19 07:24:19 +0100 <monochrom> That's what's wrong. Too fast.
2021-02-19 07:24:23 +0100vicfred(vicfred@gateway/vpn/mullvad/vicfred) (Quit: Leaving)
2021-02-19 07:25:02 +0100 <karasu1[m]> I don't claim that I will have understood all of it by this weekend
2021-02-19 07:25:05 +0100 <dminuoso> Lately I've begun to realize, that only now am I growing deeply comfortable with many parts of Haskell. That's after 2 1/2 years of Haskell now. :)
2021-02-19 07:25:11 +0100 <karasu1[m]> Nor that I understand the first half now, probably
2021-02-19 07:25:26 +0100 <dminuoso> Much of understanding also comes from spaced repetition learning/practice
2021-02-19 07:25:27 +0100da39a3ee5e6b4b0d(~da39a3ee5@node-yof.pool-118-173.dynamic.totinternet.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-19 07:25:54 +0100 <karasu1[m]> spaced repetition.... is this about flashcards..
2021-02-19 07:26:28 +0100 <ephemient> anything that involves recall, not just flashcards
2021-02-19 07:27:18 +0100 <dminuoso> karasu1[m]: https://youtu.be/Z8KcCU-p8QA?t=651
2021-02-19 07:27:20 +0100 <karasu1[m]> I have seen people recommend flashcards for programming
2021-02-19 07:27:27 +0100 <karasu1[m]> not sure how useful it actually would be
2021-02-19 07:27:43 +0100 <dminuoso> flashcards seems useful for cramming before the exam, and then forgetting everything.
2021-02-19 07:27:44 +0100 <dminuoso> :)
2021-02-19 07:28:00 +0100 <dminuoso> For anything else, practice is what actually gains experience
2021-02-19 07:28:05 +0100 <karasu1[m]> Well, only if you do them before the exam
2021-02-19 07:28:05 +0100 <dminuoso> Repeated practice.
2021-02-19 07:28:10 +0100 <karasu1[m]> What if you do it over a lifetime?
2021-02-19 07:28:12 +0100 <karasu1[m]> Flashcard review?
2021-02-19 07:28:25 +0100Varis(~Tadas@unaffiliated/varis)
2021-02-19 07:28:42 +0100 <dminuoso> There's a difference between recalling some piece of information, and understanding it so you can adapt it or synthesize it.
2021-02-19 07:28:43 +0100 <karasu1[m]> Spaced repetition makes sure that you will see the cards you know well less often, and so you eventually see a card only like once every 5 years or something
2021-02-19 07:28:58 +0100Mathnerd314(uid442749@supertux/Mathnerd314) (Quit: Connection closed for inactivity)
2021-02-19 07:29:04 +0100 <karasu1[m]> yea...
2021-02-19 07:29:06 +0100 <karasu1[m]> iodk
2021-02-19 07:29:09 +0100 <karasu1[m]> idk
2021-02-19 07:29:12 +0100 <karasu1[m]> I'm bad at programming
2021-02-19 07:29:48 +0100 <karasu1[m]> dminuoso: yes, I've seen all the lectures on Ebbinghaus' curve ...
2021-02-19 07:30:44 +0100 <karasu1[m]> I was always too busy during class to actually make cards though
2021-02-19 07:31:09 +0100frozenErebus(~frozenEre@94.128.219.166) (Ping timeout: 264 seconds)
2021-02-19 07:33:28 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 07:33:47 +0100jedws(~jedws@101.184.202.248) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-19 07:34:49 +0100frozenErebus(~frozenEre@94.128.219.166)
2021-02-19 07:34:50 +0100 <monochrom> No, flash cards and a lot of other popular methods of learning are for a different kind of learning.
2021-02-19 07:36:14 +0100 <monochrom> Suppose there is a course that goes through 300 years of visual arts, and the learning objective, as made clear by the exam, is that for every painting they show you, you can write down the artist, the era, the {renaissance, impressionist, modernist, abstractist, whatever} classification.
2021-02-19 07:36:48 +0100 <monochrom> Then that kind of learning is where you use flash cards and all the other popular methods of learning that all those "experts" of learning are talking about.
2021-02-19 07:36:54 +0100echoreply(~echoreply@unaffiliated/echoreply) (Quit: WeeChat 1.9.1)
2021-02-19 07:37:08 +0100 <monochrom> Clearly, programming is like the antipodal antithetical total opposite of that.
2021-02-19 07:37:24 +0100echoreply(~echoreply@unaffiliated/echoreply)
2021-02-19 07:37:52 +0100 <karasu1[m]> I still think maths or programming can be adapted to it
2021-02-19 07:37:55 +0100ricardollu21(43e6a188@67.230.161.136.16clouds.com)
2021-02-19 07:37:56 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
2021-02-19 07:37:59 +0100 <monochrom> No one is going to flash at you the name of the Java class AbstractArray and ask "quick, what are its methods?"
2021-02-19 07:38:11 +0100 <monochrom> You are not an IDE.
2021-02-19 07:38:14 +0100 <karasu1[m]> Prove this thing: $latex equation$
2021-02-19 07:38:21 +0100 <karasu1[m]> Then the opposite side has the proof..
2021-02-19 07:38:23 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Ping timeout: 256 seconds)
2021-02-19 07:38:40 +0100 <dminuoso> karasu1[m]: Math is not about memorizing proofs.
2021-02-19 07:38:48 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:b557:8110:d66d:2e47) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-19 07:39:03 +0100 <dminuoso> Id say, one requirement for truly understanding a proof, is being able to synthesizse it.
2021-02-19 07:39:07 +0100 <ephemient> don't flash cards for that.
2021-02-19 07:39:29 +0100da39a3ee5e6b4b0d(~da39a3ee5@node-yof.pool-118-173.dynamic.totinternet.net)
2021-02-19 07:39:47 +0100 <karasu1[m]> dminuoso: I never claimed math was about memorizing proofs.. When you see the front, you do the proof on your own. The back of the card would just be an example proof or something. You still learn the proof techniques
2021-02-19 07:39:59 +0100 <ephemient> if you want to acquire by reading instead of doing (for some god forsaken reason), then at least read a proof technique in different contexts every time
2021-02-19 07:40:10 +0100 <karasu1[m]> You forget proof techniques if you don't practice them, it's true..
2021-02-19 07:40:18 +0100ricardollu21(43e6a188@67.230.161.136.16clouds.com) ()
2021-02-19 07:40:24 +0100 <dminuoso> And a flashcard doesnt help you understand how to apply proof techniques.
2021-02-19 07:40:36 +0100 <dminuoso> flashcards are just useful for memorizing associatinos
2021-02-19 07:40:48 +0100 <dminuoso> Say, when you learn a new language, they can help with vocabulary in the beginning
2021-02-19 07:40:51 +0100 <dminuoso> But they only help so far
2021-02-19 07:40:52 +0100 <ephemient> math is not about exact recall (unless you are a calculator)
2021-02-19 07:41:03 +0100 <karasu1[m]> If you see this math problem, what approaches can you take? the back of the card might have those approaches..
2021-02-19 07:41:08 +0100 <monochrom> Now, if you were the author of all those proofs on your flashcards, that's different...
2021-02-19 07:41:39 +0100 <ephemient> that's not something to be memorized either
2021-02-19 07:41:40 +0100ddellacosta(~ddellacos@86.106.143.202)
2021-02-19 07:41:49 +0100cur8or(~cur8or@2c0f:fbe1:3:17:b093:35ef:dc2b:3669)
2021-02-19 07:42:15 +0100 <monochrom> I need to tell you a great scene in a Kung Fu novel in Hong Kong.
2021-02-19 07:42:31 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-02-19 07:42:53 +0100ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net) (Remote host closed the connection)
2021-02-19 07:43:01 +0100 <ephemient> you need to get good at pattern recognition to decide which techniques to use. that comes from seeing it in use in a variety of different ways, not seeing the same problem again and again
2021-02-19 07:43:21 +0100 <dminuoso> Oh, martial arts is an interesting piece. Id argue that flashcards helps becoming a proficient programmer just as much as flashcards help you become a proficient fighter..
2021-02-19 07:43:31 +0100 <dminuoso> .. namely not at all
2021-02-19 07:43:31 +0100 <monochrom> A great master is heavily injured (long story), and some villains are taking advantage of this by challenging him to a duel right at this unfortunate time.
2021-02-19 07:44:28 +0100 <monochrom> Fortunately the son of the master's late student is around and offers to be a substitute.
2021-02-19 07:45:37 +0100 <monochrom> The great master says "thanks but you need to learn my latest invention or else you won't stand a chance in this case, my opponent is world class with swords"
2021-02-19 07:46:18 +0100ddellacosta(~ddellacos@86.106.143.202) (Ping timeout: 246 seconds)
2021-02-19 07:46:29 +0100 <monochrom> So the great master taught his new sword moves to the young man on the spot. Then asks, "OK, done, how much can you remember?" Answer: "about 70%"
2021-02-19 07:47:30 +0100 <monochrom> Great master says "yeah it's tough, let me show you again". After showing again (actually this time looks pretty different from the first time, hint hint), the great master asks, "so how much do you remember now?" "30%"
2021-02-19 07:48:29 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 07:48:33 +0100 <monochrom> "Good, I guess I just need to show one more time." And after, "how much now?" "Yeah I've pretty much forgotten it all." "Great! Now you're ready."
2021-02-19 07:51:09 +0100hexfive(~hexfive@50.35.83.177) (Quit: i must go. my people need me.)
2021-02-19 07:51:56 +0100 <monochrom> Thanks dminuoso for the video link by the way, I think I'm interested too.
2021-02-19 07:53:44 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
2021-02-19 07:53:59 +0100 <karasu1[m]> monochrom: what do you want to memorize with spaced repetition btw
2021-02-19 07:54:34 +0100 <monochrom> My passwords?
2021-02-19 07:58:17 +0100 <h2017> how do i express -1 other than 0-1?
2021-02-19 07:58:26 +0100 <karasu1[m]> (-1)
2021-02-19 07:59:12 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2021-02-19 08:00:32 +0100jonatan(~nate@h77-53-70-163.cust.a3fiber.se)
2021-02-19 08:02:13 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2021-02-19 08:04:20 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 08:04:30 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
2021-02-19 08:05:06 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 08:07:03 +0100 <karasu1[m]> So `(insert 1 2 empty)` and `empty` are of type `k -> Maybe v`, and you can keep applying insert key value on `(insert 1 2 empty)` to get more things of type `k -> Maybe v`
2021-02-19 08:07:06 +0100 <karasu1[m]> Looks like cons
2021-02-19 08:07:07 +0100 <karasu1[m]> yay
2021-02-19 08:07:23 +0100jchia1(~jchia@58.41.30.202)
2021-02-19 08:08:05 +0100jchia(~jchia@218.80.123.13) (Ping timeout: 272 seconds)
2021-02-19 08:08:50 +0100kam1(~kam1@83.123.64.17) (Ping timeout: 272 seconds)
2021-02-19 08:09:33 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds)
2021-02-19 08:09:34 +0100tsaka__(~torstein@184.170.253.92)
2021-02-19 08:10:04 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 260 seconds)
2021-02-19 08:10:04 +0100ephemera_(~E@122.34.1.187) (Quit: ephemera_)
2021-02-19 08:10:45 +0100theDon(~td@muedsl-82-207-238-210.citykom.de) (Ping timeout: 264 seconds)
2021-02-19 08:10:51 +0100todda7(~torstein@2a02:587:1b14:d00:5ec3:abec:812c:b3e2) (Ping timeout: 265 seconds)
2021-02-19 08:12:42 +0100todda7(~torstein@athedsl-258913.home.otenet.gr)
2021-02-19 08:13:01 +0100tsaka__(~torstein@184.170.253.92) (Read error: Connection reset by peer)
2021-02-19 08:14:14 +0100ddellacosta(~ddellacos@86.106.143.137)
2021-02-19 08:14:53 +0100h2017(~h2017@bras-base-clbaon0201w-grc-32-142-114-145-140.dsl.bell.ca) (Quit: Leaving)
2021-02-19 08:15:32 +0100 <karasu1[m]> ephemient: (Yes, even this might just be an introductory course thing, it was slightly hard.. I tried..)
2021-02-19 08:15:55 +0100ephemera_(~E@122.34.1.187)
2021-02-19 08:16:13 +0100samt(~user@2600:8802:5f82:c00:3a39:4554:a259:febd)
2021-02-19 08:16:58 +0100samt(~user@2600:8802:5f82:c00:3a39:4554:a259:febd) (Client Quit)
2021-02-19 08:18:58 +0100ddellacosta(~ddellacos@86.106.143.137) (Ping timeout: 272 seconds)
2021-02-19 08:19:05 +0100todda7(~torstein@athedsl-258913.home.otenet.gr) (Ping timeout: 240 seconds)
2021-02-19 08:19:10 +0100tsaka__(~torstein@152.89.163.92)
2021-02-19 08:19:22 +0100 <ephemient> karasu1[m]: this or a similar exercises are usually intended to get students accustomed to treating functions like any other data
2021-02-19 08:19:31 +0100 <ephemient> if you understand it, try implementing `delete`?
2021-02-19 08:20:50 +0100Narinas(~Narinas@189.223.179.61.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
2021-02-19 08:21:04 +0100Narinas(~Narinas@189.223.179.61.dsl.dyn.telnor.net)
2021-02-19 08:21:09 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 08:25:09 +0100solarliner(~solarline@243.81.10.109.rev.sfr.net)
2021-02-19 08:25:28 +0100guest218(~user@49.5.6.87) (Ping timeout: 260 seconds)
2021-02-19 08:26:34 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds)
2021-02-19 08:28:56 +0100deviantfero(~deviantfe@190.150.27.58) (Ping timeout: 240 seconds)
2021-02-19 08:29:51 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2021-02-19 08:31:44 +0100samebchase-(~samebchas@51.15.68.182) (Quit: The Lounge - https://thelounge.chat)
2021-02-19 08:32:24 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
2021-02-19 08:33:24 +0100ephemera_(~E@122.34.1.187) (Ping timeout: 260 seconds)
2021-02-19 08:35:38 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Ping timeout: 268 seconds)
2021-02-19 08:36:23 +0100samebchase-(~samebchas@51.15.68.182)
2021-02-19 08:37:47 +0100solarliner(~solarline@243.81.10.109.rev.sfr.net) (Quit: solarliner)
2021-02-19 08:38:05 +0100solarliner(~solarline@243.81.10.109.rev.sfr.net)
2021-02-19 08:39:51 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 08:41:20 +0100stree(~stree@68.36.8.116) (Ping timeout: 260 seconds)
2021-02-19 08:42:24 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2021-02-19 08:44:58 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
2021-02-19 08:46:47 +0100vilpan(~0@212.117.1.172)
2021-02-19 08:47:42 +0100ddellacosta(~ddellacos@86.106.143.137)
2021-02-19 08:48:21 +0100Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it)
2021-02-19 08:48:21 +0100carlomagno(~cararell@148.87.23.5)
2021-02-19 08:48:33 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-19 08:48:56 +0100lambda-11235(~lambda-11@2600:1700:7c70:4600::3f) (Quit: Bye)
2021-02-19 08:48:56 +0100vilpan1(~0@212.117.1.172)
2021-02-19 08:49:09 +0100carlomagno1(~cararell@148.87.23.5) (Ping timeout: 264 seconds)
2021-02-19 08:50:06 +0100vilpanGuest55348
2021-02-19 08:50:06 +0100Guest55348(~0@212.117.1.172) (Killed (card.freenode.net (Nickname regained by services)))
2021-02-19 08:50:06 +0100vilpan1vilpan
2021-02-19 08:50:29 +0100deviantfero(~deviantfe@190.150.27.58)
2021-02-19 08:52:05 +0100ddellacosta(~ddellacos@86.106.143.137) (Ping timeout: 240 seconds)
2021-02-19 08:52:56 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-02-19 08:53:57 +0100dsrt^(~hph@ip98-184-89-2.mc.at.cox.net) (Ping timeout: 264 seconds)
2021-02-19 08:54:04 +0100stree(~stree@68.36.8.116)
2021-02-19 08:54:15 +0100dsrt^(~hph@ip98-184-89-2.mc.at.cox.net)
2021-02-19 08:55:17 +0100_noblegas(uid91066@gateway/web/irccloud.com/x-xdmmzoyxnafrholm)
2021-02-19 08:55:36 +0100Narinas(~Narinas@189.223.179.61.dsl.dyn.telnor.net) (Ping timeout: 240 seconds)
2021-02-19 08:56:33 +0100Feuermagier(~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6)
2021-02-19 08:56:41 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 08:58:10 +0100desophos(~desophos@2601:249:1680:a570:dc9b:7a29:1314:79e3)
2021-02-19 08:58:41 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-19 08:59:26 +0100xff0x(~xff0x@2001:1a81:524a:900:8508:6695:e4ef:a19a) (Ping timeout: 264 seconds)
2021-02-19 08:59:31 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net)
2021-02-19 08:59:34 +0100deviantfero(~deviantfe@190.150.27.58) (Quit: WeeChat 3.0)
2021-02-19 08:59:39 +0100MVQq(~anja@198.254.199.42)
2021-02-19 09:00:24 +0100idhugo_(~idhugo@80-62-117-97-mobile.dk.customer.tdc.net)
2021-02-19 09:00:27 +0100xff0x(~xff0x@2001:1a81:524a:900:9d0e:be3:c9ba:ea74)
2021-02-19 09:00:48 +0100Yumasi(~guillaume@2a01:e0a:5cb:4430:cd02:9531:2c88:7cb8)
2021-02-19 09:00:59 +0100ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net)
2021-02-19 09:01:24 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 260 seconds)
2021-02-19 09:02:51 +0100MarcelineVQ(~anja@198.254.199.42) (Ping timeout: 265 seconds)
2021-02-19 09:03:28 +0100idhugo__(~idhugo@80-62-117-86-mobile.dk.customer.tdc.net)
2021-02-19 09:04:51 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
2021-02-19 09:05:11 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net)
2021-02-19 09:05:36 +0100idhugo_(~idhugo@80-62-117-97-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds)
2021-02-19 09:07:05 +0100ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net) (Ping timeout: 272 seconds)
2021-02-19 09:08:57 +0100frozenErebus(~frozenEre@94.128.219.166) (Ping timeout: 264 seconds)
2021-02-19 09:09:57 +0100LKoen(~LKoen@161.169.9.109.rev.sfr.net)
2021-02-19 09:11:41 +0100da39a3ee5e6b4b0d(~da39a3ee5@node-yof.pool-118-173.dynamic.totinternet.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-19 09:12:11 +0100howdoi(uid224@gateway/web/irccloud.com/x-uylrwcqhbpwwjwcj) (Quit: Connection closed for inactivity)
2021-02-19 09:12:34 +0100jesser[m](jessermatr@gateway/shell/matrix.org/x-vwlxxkpcyibvowcv) (*.net *.split)
2021-02-19 09:12:34 +0100cnmne[m](cnmnematri@gateway/shell/matrix.org/x-cqpmffclgopdmgey) (*.net *.split)
2021-02-19 09:12:34 +0100shutendoji[m](shutendoji@gateway/shell/matrix.org/x-wmhrztbchxgcolui) (*.net *.split)
2021-02-19 09:12:34 +0100sramsay64[m](sramsay64p@gateway/shell/matrix.org/x-wbfpnfqmourfuzvb) (*.net *.split)
2021-02-19 09:12:34 +0100mjlbach(atriusmatr@gateway/shell/matrix.org/x-eenifibziaybhutm) (*.net *.split)
2021-02-19 09:12:35 +0100psydruid(psydruidma@gateway/shell/matrix.org/x-eqegzakvyvcpandg) (*.net *.split)
2021-02-19 09:12:35 +0100srid(sridmatrix@gateway/shell/matrix.org/x-vtsgpsddyszhedhf) (*.net *.split)
2021-02-19 09:12:35 +0100dyniec[m](dyniecmatr@gateway/shell/matrix.org/x-rqbuvxnpapgazcgr) (*.net *.split)
2021-02-19 09:12:36 +0100l8star_(~l8star@business-90-187-113-149.pool2.vodafone-ip.de) (*.net *.split)
2021-02-19 09:12:36 +0100arw(~arw@impulse.informatik.uni-erlangen.de) (*.net *.split)
2021-02-19 09:12:36 +0100sqrt2(~ben@unaffiliated/sqrt2) (*.net *.split)
2021-02-19 09:12:36 +0100Taneb(~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (*.net *.split)
2021-02-19 09:12:39 +0100carldd11(~carldd@90-224-49-113-no56.tbcn.telia.com) (*.net *.split)
2021-02-19 09:12:39 +0100lortabac(~lortabac@51.158.65.124) (*.net *.split)
2021-02-19 09:12:39 +0100hackage(mniip@haskell/bot/hackage) (*.net *.split)
2021-02-19 09:12:39 +0100shadowdaemon(~user@unaffiliated/shadowdaemon) (*.net *.split)
2021-02-19 09:12:39 +0100a3f(~a3f@chimeria.ext.pengutronix.de) (*.net *.split)
2021-02-19 09:12:39 +0100energizer(~energizer@unaffiliated/energizer) (*.net *.split)
2021-02-19 09:12:39 +0100shapr(~shapr@haskell/developer/shapr) (*.net *.split)
2021-02-19 09:12:39 +0100vimto(~vimto@unaffiliated/vimto) (*.net *.split)
2021-02-19 09:13:19 +0100cur8or(~cur8or@2c0f:fbe1:3:17:b093:35ef:dc2b:3669) (Ping timeout: 272 seconds)
2021-02-19 09:14:22 +0100energizer(~energizer@unaffiliated/energizer)
2021-02-19 09:14:36 +0100 <theodorc> does anyone have a good resource on learning parsing in Haskell? was trying to find something with Parsec, but most seems heavily outdated
2021-02-19 09:15:03 +0100 <dibblego> https://github.com/system-f/fp-course/blob/master/src/Course/Parser.hs
2021-02-19 09:15:25 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 09:15:29 +0100kritzefitz(~kritzefit@fw-front.credativ.com)
2021-02-19 09:15:59 +0100 <theodorc> dibblego: nice, I'll have a look
2021-02-19 09:16:12 +0100 <Franciman> there is also the tutorial of megaparsec, as a second step
2021-02-19 09:16:30 +0100 <Franciman> https://markkarpov.com/tutorial/megaparsec.html
2021-02-19 09:16:38 +0100 <Franciman> but as a second step
2021-02-19 09:16:51 +0100 <Franciman> it is mostly going to explain the library with examples
2021-02-19 09:17:01 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-19 09:17:26 +0100 <theodorc> hmm, okay. does megaparsec fill a different role than parsec?
2021-02-19 09:19:06 +0100Graf_Blutwurst(~grafblutw@2001:171b:226e:adc0:2859:879f:5078:4289)
2021-02-19 09:19:08 +0100 <Uniaika> no, it fills parsec's role
2021-02-19 09:19:14 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-02-19 09:19:15 +0100 <[exa]> not much, it's just newer, better, faster, and has nicer errors
2021-02-19 09:19:22 +0100 <theodorc> ah nice
2021-02-19 09:20:26 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds)
2021-02-19 09:21:56 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2021-02-19 09:23:05 +0100jesser[m](jessermatr@gateway/shell/matrix.org/x-vwlxxkpcyibvowcv)
2021-02-19 09:23:05 +0100cnmne[m](cnmnematri@gateway/shell/matrix.org/x-cqpmffclgopdmgey)
2021-02-19 09:23:05 +0100shutendoji[m](shutendoji@gateway/shell/matrix.org/x-wmhrztbchxgcolui)
2021-02-19 09:23:05 +0100mjlbach(atriusmatr@gateway/shell/matrix.org/x-eenifibziaybhutm)
2021-02-19 09:23:05 +0100sramsay64[m](sramsay64p@gateway/shell/matrix.org/x-wbfpnfqmourfuzvb)
2021-02-19 09:23:05 +0100srid(sridmatrix@gateway/shell/matrix.org/x-vtsgpsddyszhedhf)
2021-02-19 09:23:05 +0100dyniec[m](dyniecmatr@gateway/shell/matrix.org/x-rqbuvxnpapgazcgr)
2021-02-19 09:23:05 +0100l8star_(~l8star@business-90-187-113-149.pool2.vodafone-ip.de)
2021-02-19 09:23:05 +0100arw(~arw@impulse.informatik.uni-erlangen.de)
2021-02-19 09:23:05 +0100sqrt2(~ben@unaffiliated/sqrt2)
2021-02-19 09:23:05 +0100Taneb(~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0)
2021-02-19 09:23:05 +0100carldd11(~carldd@90-224-49-113-no56.tbcn.telia.com)
2021-02-19 09:23:05 +0100lortabac(~lortabac@51.158.65.124)
2021-02-19 09:23:05 +0100hackage(mniip@haskell/bot/hackage)
2021-02-19 09:23:05 +0100shadowdaemon(~user@unaffiliated/shadowdaemon)
2021-02-19 09:23:05 +0100a3f(~a3f@chimeria.ext.pengutronix.de)
2021-02-19 09:23:05 +0100shapr(~shapr@haskell/developer/shapr)
2021-02-19 09:23:05 +0100vimto(~vimto@unaffiliated/vimto)
2021-02-19 09:23:05 +0100 <desophos> hi all, i'm trying to generate functions with quickcheck that satisfy certain predicates. the problem is, my tests never finish because it takes a long time to satisfy these constraints. is there a better way than using `suchThat`? this is what i have (slightly simplified): https://paste.tomsmeding.com/7XxnvbZX
2021-02-19 09:23:42 +0100 <[exa]> theodorc: anyway, the best way to get a catch of monadic parsing is, as usual, to reimplement it. Which is not very hard if you know how to implement monad interfaces for State and Maybe, and explains the problem nicely
2021-02-19 09:23:50 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 256 seconds)
2021-02-19 09:24:21 +0100cur8or(~cur8or@2c0f:fbe1:3:17:b093:35ef:dc2b:3669)
2021-02-19 09:25:04 +0100 <[exa]> desophos: you probably need a more smart (ie. more directed) way to generate the Arbitrary values that would match the predicate. What about wrapping it in a newtype and making a custom one?
2021-02-19 09:25:54 +0100simara[m](simaramatr@gateway/shell/matrix.org/x-dpiglvfizaoaoeki) (Ping timeout: 246 seconds)
2021-02-19 09:25:56 +0100Hanma[m](hanmamatri@gateway/shell/matrix.org/x-tmzabyrwafnnfzkx) (Ping timeout: 240 seconds)
2021-02-19 09:25:56 +0100pineapples[m](pineapples@gateway/shell/matrix.org/x-pbxgbqdlizpfukkk) (Ping timeout: 240 seconds)
2021-02-19 09:25:56 +0100plumenator[m](plumenator@gateway/shell/matrix.org/x-sawgbtppavskcshn) (Ping timeout: 240 seconds)
2021-02-19 09:25:58 +0100noIOBeforeBedtim(dissatisfi@gateway/shell/matrix.org/x-nbankxgtuymsnayq) (Ping timeout: 240 seconds)
2021-02-19 09:25:58 +0100maralorn(maralornma@gateway/shell/matrix.org/x-tmomloqgbbriwcoj) (Ping timeout: 240 seconds)
2021-02-19 09:25:58 +0100itai33[m](itai33matr@gateway/shell/matrix.org/x-rqukmknlgnoszibu) (Ping timeout: 240 seconds)
2021-02-19 09:25:59 +0100jkaye[m](jkayematri@gateway/shell/matrix.org/x-auaqmilwknttqznk) (Ping timeout: 240 seconds)
2021-02-19 09:25:59 +0100brightly-salty[m(brightly-s@gateway/shell/matrix.org/x-ogwkrrrpdfbhchfv) (Ping timeout: 240 seconds)
2021-02-19 09:25:59 +0100toasty_avocado[m(toastyavoc@gateway/shell/matrix.org/x-jsdrvxcyrwbavsoz) (Ping timeout: 240 seconds)
2021-02-19 09:25:59 +0100fgaz(fgazmatrix@gateway/shell/matrix.org/x-nyrvltrxkwragnay) (Ping timeout: 240 seconds)
2021-02-19 09:26:14 +0100a-tsioh[m](a-tsiohmat@gateway/shell/matrix.org/x-lhnuiggshvkhptok) (Ping timeout: 250 seconds)
2021-02-19 09:26:15 +0100utdemir[m](utdemirmat@gateway/shell/matrix.org/x-hfhhsjmkraluezli) (Ping timeout: 246 seconds)
2021-02-19 09:26:15 +0100CrabMan(phi-matrix@gateway/shell/matrix.org/x-ytslldxsctkpondd) (Ping timeout: 246 seconds)
2021-02-19 09:26:15 +0100VarikValefor[m](varikvalef@gateway/shell/matrix.org/x-laqejjsodhjpaqts) (Ping timeout: 246 seconds)
2021-02-19 09:26:15 +0100johnnyboy[m](gifumatrix@gateway/shell/matrix.org/x-loevvexwawrvgdrg) (Ping timeout: 246 seconds)
2021-02-19 09:26:15 +0100sm[m](simonmicma@gateway/shell/matrix.org/x-yfkasbhmcoifngqq) (Ping timeout: 246 seconds)
2021-02-19 09:26:16 +0100jesser[m](jessermatr@gateway/shell/matrix.org/x-vwlxxkpcyibvowcv) (Ping timeout: 258 seconds)
2021-02-19 09:26:16 +0100lierdakil[m](lierdakilm@gateway/shell/matrix.org/x-jragluuzcyyumqfd) (Ping timeout: 246 seconds)
2021-02-19 09:26:16 +0100jtojnar(jtojnarmat@gateway/shell/matrix.org/x-frnxfhlohoyekbwg) (Ping timeout: 246 seconds)
2021-02-19 09:26:16 +0100freeman42x[m](freeman42x@gateway/shell/matrix.org/x-shzwgjbmsvbxgqnr) (Ping timeout: 265 seconds)
2021-02-19 09:26:16 +0100MrMuffles[m](mrmufflesm@gateway/shell/matrix.org/x-nvvkiaoxkwfytpng) (Ping timeout: 246 seconds)
2021-02-19 09:26:16 +0100Sarievo[m](sarievoale@gateway/shell/matrix.org/x-pwrotwpxvjvpdpkd) (Ping timeout: 246 seconds)
2021-02-19 09:26:16 +0100xosdy[m](xosdyaleth@gateway/shell/matrix.org/x-wfyxgeefwkppaswz) (Ping timeout: 246 seconds)
2021-02-19 09:26:16 +0100speakerspivakeem(speakerdea@gateway/shell/matrix.org/x-srvgxrpuiwxcvfbs) (Ping timeout: 250 seconds)
2021-02-19 09:26:17 +0100ThaEwat(thaewraptm@gateway/shell/matrix.org/x-gqbfdervbweouswn) (Ping timeout: 246 seconds)
2021-02-19 09:26:17 +0100metamod[m](metamodmat@gateway/shell/matrix.org/x-vzynctnyewpdgxvs) (Ping timeout: 246 seconds)
2021-02-19 09:26:17 +0100the_1_[m](the1matrix@gateway/shell/matrix.org/x-moxypmdsinndazos) (Ping timeout: 246 seconds)
2021-02-19 09:26:17 +0100cnmne[m](cnmnematri@gateway/shell/matrix.org/x-cqpmffclgopdmgey) (Ping timeout: 258 seconds)
2021-02-19 09:26:18 +0100jerin(jerinmatri@gateway/shell/matrix.org/x-ylhmfqomuosfeoaw) (Ping timeout: 246 seconds)
2021-02-19 09:26:18 +0100jeffcasavant[m](jeffcasava@gateway/shell/matrix.org/x-nymmjfnvllvxwfqr) (Ping timeout: 246 seconds)
2021-02-19 09:26:18 +0100shutendoji[m](shutendoji@gateway/shell/matrix.org/x-wmhrztbchxgcolui) (Ping timeout: 258 seconds)
2021-02-19 09:26:18 +0100sramsay64[m](sramsay64p@gateway/shell/matrix.org/x-wbfpnfqmourfuzvb) (Ping timeout: 258 seconds)
2021-02-19 09:26:18 +0100mjlbach(atriusmatr@gateway/shell/matrix.org/x-eenifibziaybhutm) (Ping timeout: 258 seconds)
2021-02-19 09:26:18 +0100srid(sridmatrix@gateway/shell/matrix.org/x-vtsgpsddyszhedhf) (Ping timeout: 258 seconds)
2021-02-19 09:26:19 +0100dyniec[m](dyniecmatr@gateway/shell/matrix.org/x-rqbuvxnpapgazcgr) (Ping timeout: 258 seconds)
2021-02-19 09:26:19 +0100alexfmpe(alexfmpema@gateway/shell/matrix.org/x-seqxxonqpblolqvr) (Ping timeout: 250 seconds)
2021-02-19 09:26:19 +0100karasu1[m](karasu1mat@gateway/shell/matrix.org/x-dxpaeclqknizkxjp) (Ping timeout: 244 seconds)
2021-02-19 09:26:19 +0100LiyangHU[m](liyangmatr@gateway/shell/matrix.org/x-wjibgicklbnudzgx) (Ping timeout: 244 seconds)
2021-02-19 09:26:19 +0100tomsen[m](tfbiomatri@gateway/shell/matrix.org/x-sozstiiohetohvrq) (Ping timeout: 250 seconds)
2021-02-19 09:26:20 +0100lnxw37d4(lnxw37d4ma@gateway/shell/matrix.org/x-xwijzmlhgodfxcjx) (Ping timeout: 244 seconds)
2021-02-19 09:26:20 +0100lambdaclan(lambdaclan@gateway/shell/matrix.org/x-ckvboxgaoawzziqk) (Ping timeout: 244 seconds)
2021-02-19 09:26:20 +0100Ericson2314(ericson231@gateway/shell/matrix.org/x-fjhufgrqaqhtaxed) (Ping timeout: 244 seconds)
2021-02-19 09:26:20 +0100domenkozar[m](domenkozar@NixOS/user/domenkozar) (Ping timeout: 244 seconds)
2021-02-19 09:26:20 +0100Poscat[m](poscatmatr@gateway/shell/matrix.org/x-fsrmkdzekzkdruuq) (Ping timeout: 244 seconds)
2021-02-19 09:26:20 +0100betrion[m](betrionmat@gateway/shell/matrix.org/x-zledhzftbqxbmtzo) (Ping timeout: 244 seconds)
2021-02-19 09:26:20 +0100mly[m](mlydisenco@gateway/shell/matrix.org/x-ohooifqyweouveqt) (Ping timeout: 244 seconds)
2021-02-19 09:26:20 +0100michaelpj(michaelpjm@gateway/shell/matrix.org/x-iiahatrfatekpzrd) (Ping timeout: 244 seconds)
2021-02-19 09:26:20 +0100siraben(sirabenmat@gateway/shell/matrix.org/x-cyztrviuhmmktqic) (Ping timeout: 244 seconds)
2021-02-19 09:26:20 +0100immae(immaematri@gateway/shell/matrix.org/x-tiyhvfpvhmkhqczt) (Ping timeout: 244 seconds)
2021-02-19 09:26:20 +0100hsiktas[m](hsiktasmat@gateway/shell/matrix.org/x-wbelyhbgwurqffuc) (Ping timeout: 244 seconds)
2021-02-19 09:26:20 +0100bram[m]1(bramvdbnet@gateway/shell/matrix.org/x-fkfotlqohjxqrpqf) (Ping timeout: 244 seconds)
2021-02-19 09:26:20 +0100rednaZ[m](r3dnazmatr@gateway/shell/matrix.org/x-mcdfzotmprrhasmv) (Ping timeout: 244 seconds)
2021-02-19 09:26:21 +0100bsima[m](bensimatim@gateway/shell/matrix.org/x-hrylwecnstvvvksb) (Ping timeout: 250 seconds)
2021-02-19 09:26:21 +0100my_name_is_not_j(mynameisno@gateway/shell/matrix.org/x-zguuuksgwkokevfv) (Ping timeout: 250 seconds)
2021-02-19 09:26:22 +0100shieru[m](shierualet@gateway/shell/matrix.org/x-ppfbmqgusattewll) (Ping timeout: 250 seconds)
2021-02-19 09:26:22 +0100maerwald[m](maerwaldma@gateway/shell/matrix.org/x-pqxjsckcyvduxkeg) (Ping timeout: 250 seconds)
2021-02-19 09:26:23 +0100clog(~nef@bespin.org) (Ping timeout: 266 seconds)
2021-02-19 09:26:40 +0100Robin[m]2(robinrobin@gateway/shell/matrix.org/x-vxihtgxkxfbpdtry) (Ping timeout: 268 seconds)
2021-02-19 09:26:40 +0100doct0rhu[m](doct0rhumo@gateway/shell/matrix.org/x-sclmrpjhhzjosvzp) (Ping timeout: 268 seconds)
2021-02-19 09:26:40 +0100enya[m](enyaismatr@gateway/shell/matrix.org/x-ihbcsvhqkfucgetd) (Ping timeout: 268 seconds)
2021-02-19 09:26:40 +0100ManofLetters[m](manoflette@gateway/shell/matrix.org/x-tgatyselkdbxouxj) (Ping timeout: 268 seconds)
2021-02-19 09:26:40 +0100sigmacool[m](sigmacoolm@gateway/shell/matrix.org/x-sghdhyptjdyxumft) (Ping timeout: 268 seconds)
2021-02-19 09:26:40 +0100PotatoHatsue(berbermanp@gateway/shell/matrix.org/x-ucrbucgjroxpbmok) (Ping timeout: 268 seconds)
2021-02-19 09:26:40 +0100bitonic(bitonicmat@gateway/shell/matrix.org/x-wjlfbbspwkryfgxx) (Ping timeout: 268 seconds)
2021-02-19 09:26:40 +0100acdsystemliorg[m(acdsysteml@gateway/shell/matrix.org/x-wfegzhihubatvjpf) (Ping timeout: 268 seconds)
2021-02-19 09:26:41 +0100kadoban(kadobanmat@gateway/shell/matrix.org/x-ziuxsvdorxeyczas) (Ping timeout: 268 seconds)
2021-02-19 09:26:41 +0100boistordu(boistordum@gateway/shell/matrix.org/x-otudrurwyfjhjyeh) (Ping timeout: 268 seconds)
2021-02-19 09:26:41 +0100phittacus(bklmatrixo@gateway/shell/matrix.org/x-lanwneymsjhdrcen) (Ping timeout: 268 seconds)
2021-02-19 09:26:41 +0100oreoking[m]1(oreokingma@gateway/shell/matrix.org/x-tvnlyuxdpmlmalqg) (Ping timeout: 268 seconds)
2021-02-19 09:26:45 +0100adziahel[m](adziahelma@gateway/shell/matrix.org/x-xnqshjsupqrmvjsv) (Ping timeout: 265 seconds)
2021-02-19 09:26:45 +0100jchia[m](jchiamatri@gateway/shell/matrix.org/x-klhmsevvpixoygjy) (Ping timeout: 265 seconds)
2021-02-19 09:26:45 +0100CaptainYukinoshi(captain-yu@gateway/shell/matrix.org/x-zgsljekcnmdbgdja) (Ping timeout: 265 seconds)
2021-02-19 09:26:46 +0100Lurkki[m](lurkkipriv@gateway/shell/matrix.org/x-bixvkjbjhrxyydct) (Ping timeout: 265 seconds)
2021-02-19 09:26:46 +0100Lurkki[m]1(lurkkifene@gateway/shell/matrix.org/x-trvaivugkujrhhgm) (Ping timeout: 265 seconds)
2021-02-19 09:26:46 +0100alar[m](alarmxalat@gateway/shell/matrix.org/x-whjgkcidqiurbmwg) (Ping timeout: 265 seconds)
2021-02-19 09:26:46 +0100mentaal[m](mentaalmat@gateway/shell/matrix.org/x-hdydkatctozoytqd) (Ping timeout: 265 seconds)
2021-02-19 09:26:46 +0100pqwy[m](pqwymatrix@gateway/shell/matrix.org/x-kvhdjifblcqkspll) (Ping timeout: 265 seconds)
2021-02-19 09:26:46 +0100themsay[m](themsaymat@gateway/shell/matrix.org/x-uexozkqkrcwbgkmf) (Ping timeout: 265 seconds)
2021-02-19 09:26:46 +0100darkcodi[m](darkcodima@gateway/shell/matrix.org/x-zlzhwmyopqkwjlgv) (Ping timeout: 265 seconds)
2021-02-19 09:26:46 +0100DamienCassou(damiencass@gateway/shell/matrix.org/x-mpwgbnhhpekiayhc) (Ping timeout: 265 seconds)
2021-02-19 09:26:46 +0100psamim(samimpmatr@gateway/shell/matrix.org/x-xqjbkjnbgtsutvol) (Ping timeout: 265 seconds)
2021-02-19 09:27:22 +0100 <desophos> yeah, i thought about doing that; since the function is just `[Int] -> [Int]`, i think it would work
2021-02-19 09:27:52 +0100 <tomsmeding> [exa]: I was under the (perhaps mistaken) impression that megaparsec was newer, cooler, and had better errors, but was not necessarily _faster_; is my prejudice wrong?
2021-02-19 09:27:54 +0100berberman[T](berberma4@gateway/shell/matrix.org/x-rrcwrxkytccoohwj) (Ping timeout: 268 seconds)
2021-02-19 09:28:09 +0100k1ltzman(~k1ltzman@195.189.99.96) (Ping timeout: 246 seconds)
2021-02-19 09:28:15 +0100 <desophos> but if it were generic, i guess i wouldn't be able to set such specific constraints in the first place (specifically (>))
2021-02-19 09:28:40 +0100unclechu(unclechuma@gateway/shell/matrix.org/x-xsnocjcholzecfzm) (Ping timeout: 265 seconds)
2021-02-19 09:29:00 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2021-02-19 09:30:04 +0100 <desophos> (it could be `Ord a => [a] -> [a]` or whatever, but i mean in general)
2021-02-19 09:30:34 +0100 <theodorc> [exa]: yeah, I should probably try that first to get the hang of it
2021-02-19 09:31:04 +0100kiltzman(~k1ltzman@195.189.99.96)
2021-02-19 09:31:32 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 09:32:48 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-02-19 09:32:51 +0100 <[exa]> desophos: it's pretty hard to generate arbitrary values for arbitrary types :]
2021-02-19 09:33:43 +0100ephemera_(~E@122.34.1.187)
2021-02-19 09:34:46 +0100 <[exa]> theodorc: there are simple code snippets that generate the intuition pretty quickly; say a parser for stuff in parentheses: `parenthesized p = do { char '('; res <- p ; char ')'; return res ; }`
2021-02-19 09:35:06 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-19 09:35:51 +0100 <[exa]> theodorc: and you use that to parse either "(a)" or "b" using `parenthesizes (char 'a') <|> char 'b'`
2021-02-19 09:35:56 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
2021-02-19 09:36:18 +0100 <[exa]> tomsmeding: the website said so, will check :D
2021-02-19 09:37:26 +0100 <desophos> [exa], that's fair! thanks for the nudge in the right direction
2021-02-19 09:37:44 +0100 <[exa]> tomsmeding: https://github.com/mrkkrp/megaparsec#megaparsec-vs-parsec below there
2021-02-19 09:37:57 +0100cfricke(~cfricke@unaffiliated/cfricke)
2021-02-19 09:38:14 +0100 <tomsmeding> yeah I just found it too
2021-02-19 09:38:29 +0100 <tomsmeding> maybe I should learn megaparsec then! :)
2021-02-19 09:41:54 +0100ephemera_(~E@122.34.1.187) (Read error: Connection reset by peer)
2021-02-19 09:42:02 +0100heatsink(~heatsink@2600:1700:bef1:5e10:3898:afc8:9032:fc52) (Remote host closed the connection)
2021-02-19 09:43:11 +0100acidjnk_new2(~acidjnk@p200300d0c7390926a05b4912fb2bf4b2.dip0.t-ipconnect.de)
2021-02-19 09:43:20 +0100borne(~fritjof@200116b8640b4400a9b5d4f34e3c7d10.dip.versatel-1u1.de)
2021-02-19 09:43:38 +0100 <[exa]> tomsmeding: well if you are migrating from parsec, the hardest part is likely to get the imports right :D
2021-02-19 09:44:08 +0100 <tomsmeding> and know that 'string' now has an implicit 'try', I believe
2021-02-19 09:45:36 +0100 <[exa]> isn't that attoparsec?
2021-02-19 09:46:31 +0100new_haskeller(~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c)
2021-02-19 09:47:22 +0100 <tomsmeding> [exa]: see the last line in the docs of 'tokens': https://hackage.haskell.org/package/megaparsec-9.0.1/docs/Text-Megaparsec.html#v:tokens
2021-02-19 09:47:40 +0100LKoen(~LKoen@161.169.9.109.rev.sfr.net) (Remote host closed the connection)
2021-02-19 09:48:03 +0100 <[exa]> ok wow, that explains a few things.
2021-02-19 09:48:09 +0100 <tomsmeding> :')
2021-02-19 09:48:48 +0100 <tomsmeding> I see that attoparsec does the same thing as you said
2021-02-19 09:48:50 +0100cur8or(~cur8or@2c0f:fbe1:3:17:b093:35ef:dc2b:3669) (Quit: Textual IRC Client: www.textualapp.com)
2021-02-19 09:50:56 +0100new_haskeller(~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c) (Ping timeout: 240 seconds)
2021-02-19 09:51:49 +0100ddellacosta(~ddellacos@86.106.143.59)
2021-02-19 09:52:41 +0100Boomerang(~Boomerang@xd520f68c.cust.hiper.dk)
2021-02-19 09:52:49 +0100chele(~chele@ip5b40237d.dynamic.kabel-deutschland.de)
2021-02-19 09:53:25 +0100cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0.1)
2021-02-19 09:53:36 +0100cfricke(~cfricke@unaffiliated/cfricke)
2021-02-19 09:54:10 +0100pera(~pera@unaffiliated/pera)
2021-02-19 09:56:04 +0100ddellacosta(~ddellacos@86.106.143.59) (Ping timeout: 240 seconds)
2021-02-19 09:56:27 +0100hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus)
2021-02-19 09:57:40 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 09:58:25 +0100 <edwardk> i'm experimenting with a little toy using backpack. https://github.com/ekmett/unlifted -- the idea is to build one library that exports a bunch of representations Int8Rep, etc. another which defines modules for each representation that offers classes for manipulating the, e.g. IntRep.Classes should let me write Num Int#, but i'm running headlong into what i _think_ is a backpack bug.
2021-02-19 09:58:53 +0100hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 268 seconds)
2021-02-19 09:59:17 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
2021-02-19 09:59:18 +0100 <edwardk> i'm mostly exploring this as a preamble to 9.2 getting unlifted data types, so i'd want to write a lot of code in TYPE (BoxedRep 'Lifted) and TYPE (BoxedRep 'Unlifted) both.
2021-02-19 10:00:04 +0100Graf_Blutwurst(~grafblutw@2001:171b:226e:adc0:2859:879f:5078:4289) (Ping timeout: 240 seconds)
2021-02-19 10:00:18 +0100 <edwardk> if this doesn't work my fallback is to use a crapload of CPP, but that precludes users using the background package themselves to offer support for their own data types build out of unboxed tuples and the like
2021-02-19 10:00:27 +0100Graf_Blutwurst(~grafblutw@adsl-178-38-234-220.adslplus.ch)
2021-02-19 10:00:49 +0100 <edwardk> i was wondering if someone else could check that code out and try to run it on ghc 9 and see if they can see the problem.
2021-02-19 10:01:50 +0100ericsagn1(~ericsagne@2405:6580:0:5100:d30e:d5f0:fb8d:e928) (Ping timeout: 264 seconds)
2021-02-19 10:01:54 +0100 <Uniaika> edwardk: yeah sure I can do that
2021-02-19 10:02:24 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
2021-02-19 10:02:30 +0100_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-02-19 10:02:58 +0100 <edwardk> the little test.hs shows it works in one source file. that ghc can see through the obvious type synonym, but when it goes through backpack it can't figure it out
2021-02-19 10:02:59 +0100 <Uniaika> edwardk: https://paste.tomsmeding.com/zcXbo0iZ
2021-02-19 10:03:09 +0100 <edwardk> yeah that's the issue
2021-02-19 10:03:21 +0100 <edwardk> trying to figure out if it is backpack or just something i'm doing wrong.
2021-02-19 10:04:06 +0100 <Uniaika> edwardk: moreover, the test.hs explodes with ghc 9 because you haven't given a fixity for /
2021-02-19 10:04:13 +0100 <merijn> \o/
2021-02-19 10:04:20 +0100 <merijn> NoFieldSelectors has merged!
2021-02-19 10:04:40 +0100 <merijn> I can't wait for the glorious day of 9.2 release :>
2021-02-19 10:05:14 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 10:05:34 +0100Uniaikais waiting for RecordDotSyntax and MutableFields
2021-02-19 10:07:18 +0100 <merijn> RecordDotSyntax is a mistake, imo
2021-02-19 10:07:24 +0100 <merijn> It just makes everything *worse*
2021-02-19 10:07:55 +0100 <merijn> It requires a whole bunch of super contrived special cases in syntax, funky parse rules, etc.
2021-02-19 10:07:56 +0100drbean(~drbean@TC210-63-209-181.static.apol.com.tw) (Ping timeout: 240 seconds)
2021-02-19 10:08:19 +0100 <merijn> If Haskell had banned operators without surrounding whitespace from the start it'd be reasonable
2021-02-19 10:08:37 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
2021-02-19 10:08:44 +0100 <merijn> as it is, retrofitting . based record selection will only make things a ton more confusing
2021-02-19 10:08:47 +0100 <edwardk> Uniaika: yeah i removed fractional from that file to strip it down. my bad
2021-02-19 10:08:53 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net)
2021-02-19 10:08:56 +0100darjeeling_(~darjeelin@112.16.171.12) (Ping timeout: 240 seconds)
2021-02-19 10:09:47 +0100 <edwardk> i'm not looking forward to the effect on stylized lens code
2021-02-19 10:09:56 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2021-02-19 10:10:00 +0100hendursa1(~weechat@gateway/tor-sasl/hendursaga)
2021-02-19 10:10:22 +0100 <Uniaika> well, it's not a default extension so I guess the answer is "if you already use lens to access record fields, don't enable it ;)"
2021-02-19 10:10:36 +0100hendursaga(~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 268 seconds)
2021-02-19 10:10:54 +0100 <merijn> edwardk: I think the whole amibiguity will lead to fringe adoption of RecordDotSynax, which leads to further unfamiliarity with its weirdness, which will lead to it languishing and dying
2021-02-19 10:10:55 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
2021-02-19 10:11:15 +0100 <edwardk> unsure
2021-02-19 10:11:15 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net)
2021-02-19 10:11:16 +0100 <Uniaika> we're not doomed to face, powerless, the effects of RecordDotSyntax on our codebases. If someone complains that it breaks their code, they have enabled it by hand
2021-02-19 10:11:24 +0100 <edwardk> i don't _hate_ it.
2021-02-19 10:11:31 +0100 <edwardk> i don't _like_ it, either.
2021-02-19 10:11:32 +0100 <merijn> Uniaika: That's not what I'm saying
2021-02-19 10:11:48 +0100 <merijn> Uniaika: Of course it's opt-in
2021-02-19 10:12:08 +0100 <merijn> Uniaika: But it turns an already fairly messy grammar into a clusterfuck unfit for humans
2021-02-19 10:12:24 +0100Lowl3v3l(~Lowl3v3l@dslb-002-203-233-121.002.203.pools.vodafone-ip.de)
2021-02-19 10:12:34 +0100 <edwardk> Uniaika: i have a lot of sympathy about the arguments of haskell breaking into largely incompatible dialects. everything is opt-in, but it starts meaning that teams either have folks come in with different styles and have increased ramp-up time while they hammer out differences or you start to slip towards perl, write-only code.
2021-02-19 10:12:44 +0100 <Uniaika> merijn: bold of you to suggest it was fit for humans *before* :P
2021-02-19 10:12:51 +0100 <merijn> I'm sorry, but "Foo.bar", "Foo. bar", "Foo .bar" and "Foo . bar" all having *different* meanings is insane
2021-02-19 10:12:59 +0100 <edwardk> i also realize that i shouldn't be all that 'get off my lawn' about this, given how much crap i got for lens doing the same thing to everyone.
2021-02-19 10:13:07 +0100 <merijn> Anyone who thinks that's reasonable should be banned from language design
2021-02-19 10:13:19 +0100 <merijn> Like, I'm gonna take your PL license and shred it...
2021-02-19 10:13:21 +0100ericsagn1(~ericsagne@2405:6580:0:5100:33f6:9077:f7e2:df6e)
2021-02-19 10:13:26 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 10:13:45 +0100 <merijn> It's so crazy, that you probably didn't even notice I lied
2021-02-19 10:14:00 +0100 <merijn> Only *3* of those 4 have unique meanings with RecordDotSyntax
2021-02-19 10:14:02 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
2021-02-19 10:14:14 +0100 <merijn> Now guess which ones are duplicates of eachother...
2021-02-19 10:14:15 +0100 <tomsmeding> presumably the middle two are the same?
2021-02-19 10:14:22 +0100 <merijn> tomsmeding: No
2021-02-19 10:14:25 +0100 <tomsmeding> nice
2021-02-19 10:14:29 +0100 <danza> :(
2021-02-19 10:14:29 +0100 <merijn> tomsmeding: The 2nd and last are
2021-02-19 10:14:41 +0100 <merijn> Oh, actually
2021-02-19 10:14:45 +0100 <[exa]> :D
2021-02-19 10:14:55 +0100 <Uniaika> merijn: you do realise that they went for the conservative choice, right?
2021-02-19 10:14:56 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net)
2021-02-19 10:14:58 +0100 <Uniaika> r .x is illegal
2021-02-19 10:15:31 +0100 <merijn> I guess the RecordDotSyntax changes the meaning of the first...
2021-02-19 10:15:55 +0100 <merijn> Uniaika: When I last looked at the proposal that one was still a choice, so I guess that *marginally* improves thing
2021-02-19 10:16:11 +0100justan0theruserjustanotheruser
2021-02-19 10:16:46 +0100 <merijn> If we had banned "operators without whitespace" neither this nor unary minus would've been the problem they are :\
2021-02-19 10:18:02 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
2021-02-19 10:18:22 +0100 <[exa]> (also, alpha letters in operators!)
2021-02-19 10:19:08 +0100 <Uniaika> [exa]: you can just use the backticks :P
2021-02-19 10:19:25 +0100 <merijn> [exa]: No, that wasn't a mistake
2021-02-19 10:19:35 +0100 <Uniaika> merijn: I do agree that banning operators without whitespaces can preserve us from headaches
2021-02-19 10:19:53 +0100 <[exa]> Uniaika: but I want my magic --λ-> arrow
2021-02-19 10:19:54 +0100 <merijn> I think having operators and non-operators lexically distinct (same with constructor names and variable names) is a great idea
2021-02-19 10:20:33 +0100 <Uniaika> [exa]: This shit won't pass code review! :<
2021-02-19 10:20:33 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
2021-02-19 10:20:52 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net)
2021-02-19 10:21:55 +0100maralorn(maralornma@gateway/shell/matrix.org/x-jgzdznvwkyfzqest)
2021-02-19 10:21:55 +0100 <maralorn> I think it's fair to say that math is less about memorizing stuff than other subjects. But in my experience students often underestimate how much it is about memorizing stuff. Having flashcards for theorems and definitions can be really helpful imo. Of course memorizing a theorem without understanding it’s meaning does not help at all.
2021-02-19 10:22:56 +0100merijnis unsure whether that is related to the current discussion
2021-02-19 10:23:46 +0100 <maralorn> merijn: I am sorry, I wanted to contribute to the discussion from three hours ago.
2021-02-19 10:23:57 +0100 <merijn> Uniaika: Anyway, I remain thoroughly unconvinced. Record syntax really hasn't been that big a pain point for me and the part that *is* extremely painful to me is fixed by NoFieldSelectors :)
2021-02-19 10:24:00 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
2021-02-19 10:24:15 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net)
2021-02-19 10:24:29 +0100 <merijn> Being able to safely mix record syntax and sumtypes \o/
2021-02-19 10:24:42 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
2021-02-19 10:24:49 +0100ichor[m](hakonmatri@gateway/shell/matrix.org/x-saaqofiwyljfphil)
2021-02-19 10:24:54 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net)
2021-02-19 10:25:06 +0100 <maralorn> merijn: Also the matrix bridge seems to be very lossy right now which means that I didn‘t even see that there is an ongoing discussion. /o\
2021-02-19 10:25:31 +0100 <merijn> :p
2021-02-19 10:25:45 +0100 <hc> maralorn: you joined right before saying that first line
2021-02-19 10:26:34 +0100 <edwardk> i found the issue i think.
2021-02-19 10:26:42 +0100 <Uniaika> edwardk: what was it?
2021-02-19 10:26:45 +0100 <maralorn> hc: I understand how that can look awkward.^^
2021-02-19 10:26:56 +0100 <edwardk> the renaming of the IntRep module to IntRep.Rep was confusing something in the typechecker. there seems to be a ghc bug
2021-02-19 10:27:01 +0100 <edwardk> but i have a workaround i think
2021-02-19 10:28:42 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-02-19 10:28:49 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 10:29:12 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 10:30:48 +0100__monty__(~toonn@unaffiliated/toonn)
2021-02-19 10:31:40 +0100m0rphism1(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
2021-02-19 10:32:44 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
2021-02-19 10:33:00 +0100proteusguy(~proteusgu@cm-58-10-154-202.revip7.asianet.co.th) (Remote host closed the connection)
2021-02-19 10:34:30 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 268 seconds)
2021-02-19 10:34:33 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
2021-02-19 10:34:43 +0100frozenErebus(~frozenEre@94.128.219.166)
2021-02-19 10:35:51 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net)
2021-02-19 10:37:05 +0100Boomerang(~Boomerang@xd520f68c.cust.hiper.dk) (Remote host closed the connection)
2021-02-19 10:37:53 +0100MidAutumnHotaru(~MidAutumn@unaffiliated/midautumnhotaru) (Quit: Quit 啾)
2021-02-19 10:37:59 +0100 <edwardk> woot. it works
2021-02-19 10:38:06 +0100 <edwardk> now to make it pretty
2021-02-19 10:38:27 +0100MidAutumnHotaru(~MidAutumn@unaffiliated/midautumnhotaru)
2021-02-19 10:40:01 +0100 <edwardk> ok, the export branch works now
2021-02-19 10:41:36 +0100fendor(~fendor@91.141.3.79.wireless.dyn.drei.com)
2021-02-19 10:42:05 +0100LKoen(~LKoen@161.169.9.109.rev.sfr.net)
2021-02-19 10:42:44 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2437:8e79:b6a5:3b02)
2021-02-19 10:45:03 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 10:47:26 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2437:8e79:b6a5:3b02) (Ping timeout: 240 seconds)
2021-02-19 10:50:08 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 260 seconds)
2021-02-19 10:51:12 +0100 <Uniaika> edwardk: \o/
2021-02-19 10:52:30 +0100jneira(501ca940@gateway/web/cgi-irc/kiwiirc.com/ip.80.28.169.64) (Ping timeout: 246 seconds)
2021-02-19 10:52:48 +0100solarliner(~solarline@243.81.10.109.rev.sfr.net) (Quit: solarliner)
2021-02-19 10:53:06 +0100solarliner(~solarline@243.81.10.109.rev.sfr.net)
2021-02-19 10:53:25 +0100ntjns(~jones@167.88.120.129)
2021-02-19 10:53:28 +0100Stanley|00Stanley00
2021-02-19 10:55:26 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-02-19 10:55:46 +0100javran(~javran@108-201-186-97.lightspeed.sntcca.sbcglobal.net)
2021-02-19 10:55:48 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 10:56:12 +0100terrorjack(~terrorjac@static.23.111.201.195.clients.your-server.de) (Quit: The Lounge - https://thelounge.chat)
2021-02-19 10:57:56 +0100 <edwardk> added FloatRep
2021-02-19 10:58:18 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-rkuvlqfgcztposvb) (Quit: Connection closed for inactivity)
2021-02-19 10:58:18 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit)
2021-02-19 10:58:30 +0100 <javran> hey guys, just a quick question: if I have an ADT, say `data Foo = X | Y`, can I do something so it is coercible to Bool? (i.e. convince ghc that it can make a `Coercible Foo Bool`)
2021-02-19 10:58:40 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 10:58:45 +0100 <edwardk> Show is going to be tricky as it wants a list type
2021-02-19 10:59:17 +0100 <edwardk> and i don't know that i want to get into the business of making Maybe, List, etc. for every possible TYPE rep
2021-02-19 11:00:02 +0100 <edwardk> Maybe i could fake by making it a type synonym around (# (##) | a #) -- or something
2021-02-19 11:00:35 +0100 <edwardk> OTOH i have a bunch of rebindable syntax stuff i could do in theory
2021-02-19 11:00:47 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 11:00:51 +0100ubert(~Thunderbi@p200300ecdf25d9a6e6b318fffe838f33.dip0.t-ipconnect.de)
2021-02-19 11:00:58 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Quit: p-core)
2021-02-19 11:01:29 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2021-02-19 11:02:21 +0100stree(~stree@68.36.8.116) (Ping timeout: 264 seconds)
2021-02-19 11:02:37 +0100thc202(~thc202@unaffiliated/thc202)
2021-02-19 11:05:16 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
2021-02-19 11:06:47 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-02-19 11:07:55 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-19 11:08:28 +0100ddellacosta(~ddellacos@86.106.143.46)
2021-02-19 11:11:14 +0100son0p(~son0p@181.58.39.182)
2021-02-19 11:11:50 +0100dunj3(~dunj3@p200300f61714a6925c87873f9ac9c753.dip0.t-ipconnect.de)
2021-02-19 11:12:45 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-02-19 11:12:48 +0100ddellacosta(~ddellacos@86.106.143.46) (Ping timeout: 246 seconds)
2021-02-19 11:13:01 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Quit: p-core)
2021-02-19 11:13:55 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-19 11:14:44 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2021-02-19 11:15:21 +0100stree(~stree@68.36.8.116)
2021-02-19 11:16:03 +0100grumble(~Thunderbi@freenode/staff/grumble) (Quit: shovels were a truly groundbreaking invention)
2021-02-19 11:16:42 +0100kuribas(~user@ptr-25vy0i7m118p8sxvfsb.18120a2.ip6.access.telenet.be)
2021-02-19 11:17:43 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 11:17:48 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-19 11:19:11 +0100grumble(~Thunderbi@freenode/staff/grumble)
2021-02-19 11:19:32 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-02-19 11:19:56 +0100unclechu(unclechuma@gateway/shell/matrix.org/x-tivqiqvkdyqnowzk)
2021-02-19 11:19:56 +0100boistordu(boistordum@gateway/shell/matrix.org/x-ovupdgassmbmcysg)
2021-02-19 11:19:56 +0100karasu1[m](karasu1mat@gateway/shell/matrix.org/x-jlvtwpjoszohpwuo)
2021-02-19 11:19:56 +0100kadoban(kadobanmat@gateway/shell/matrix.org/x-nuloxmqlaczafqax)
2021-02-19 11:19:56 +0100jkaye[m](jkayematri@gateway/shell/matrix.org/x-cnkeaceuhrekegnv)
2021-02-19 11:19:57 +0100lambdaclan(lambdaclan@gateway/shell/matrix.org/x-qbmkzkvrcxynlyna)
2021-02-19 11:19:57 +0100DamienCassou(damiencass@gateway/shell/matrix.org/x-ehririswtvvgitdp)
2021-02-19 11:19:57 +0100maerwald[m](maerwaldma@gateway/shell/matrix.org/x-vwszhcqtafaewwod)
2021-02-19 11:19:57 +0100immae(immaematri@gateway/shell/matrix.org/x-biobeyvyakzvnryf)
2021-02-19 11:19:57 +0100lierdakil[m](lierdakilm@gateway/shell/matrix.org/x-qdttaxtyutgluysl)
2021-02-19 11:19:57 +0100brightly-salty[m(brightly-s@gateway/shell/matrix.org/x-jqufomhtyszvsmsq)
2021-02-19 11:19:57 +0100srid(sridmatrix@gateway/shell/matrix.org/x-asyxkxzqnxcrpgqz)
2021-02-19 11:19:57 +0100psydruid(psydruidma@gateway/shell/matrix.org/x-gkeygehzefulhcqy)
2021-02-19 11:19:57 +0100itai33[m](itai33matr@gateway/shell/matrix.org/x-mmhfyhduzlqumdtb)
2021-02-19 11:19:57 +0100Sarievo[m](sarievoale@gateway/shell/matrix.org/x-pngyxqiqrgpejknf)
2021-02-19 11:19:57 +0100xosdy[m]1(xosdyaleth@gateway/shell/matrix.org/x-xunefsscnonbtgiv)
2021-02-19 11:19:57 +0100sm[m](simonmicma@gateway/shell/matrix.org/x-bgzcpqodewfewacu)
2021-02-19 11:19:57 +0100my_name_is_not_j(mynameisno@gateway/shell/matrix.org/x-hpkeozywuimiwkcp)
2021-02-19 11:19:58 +0100Ericson2314(ericson231@gateway/shell/matrix.org/x-lzikgiqihcummixk)
2021-02-19 11:19:58 +0100dyniec[m](dyniecmatr@gateway/shell/matrix.org/x-tcvgzzwiurupwthv)
2021-02-19 11:19:58 +0100VarikValefor[m](varikvalef@gateway/shell/matrix.org/x-wtftytlhagluwmdg)
2021-02-19 11:19:58 +0100tomsen[m](tfbiomatri@gateway/shell/matrix.org/x-srxhwciroichajqn)
2021-02-19 11:19:58 +0100bitonic(bitonicmat@gateway/shell/matrix.org/x-toickgbzigzbsfbm)
2021-02-19 11:19:58 +0100jeffcasavant[m](jeffcasava@gateway/shell/matrix.org/x-atfrdwrnsadyxibx)
2021-02-19 11:19:58 +0100noIOBeforeBedtim(dissatisfi@gateway/shell/matrix.org/x-fhbburjijoemebwr)
2021-02-19 11:19:58 +0100toasty_avocado[m(toastyavoc@gateway/shell/matrix.org/x-cgfvzbchbbdokzvi)
2021-02-19 11:19:58 +0100CrabMan(phi-matrix@gateway/shell/matrix.org/x-inxxpawmmofshkii)
2021-02-19 11:19:58 +0100rednaZ[m](r3dnazmatr@gateway/shell/matrix.org/x-beuyrqjzjrcpwkkf)
2021-02-19 11:19:58 +0100jerin(jerinmatri@gateway/shell/matrix.org/x-aynrdqdigepdorrr)
2021-02-19 11:19:58 +0100speakerspivakeem(speakerdea@gateway/shell/matrix.org/x-onzkzcntdcmbputf)
2021-02-19 11:19:58 +0100domenkozar[m](domenkozar@NixOS/user/domenkozar)
2021-02-19 11:19:59 +0100simara[m](simaramatr@gateway/shell/matrix.org/x-sojjxmanrmrsekzv)
2021-02-19 11:19:59 +0100ThaEwat(thaewraptm@gateway/shell/matrix.org/x-juqefpfkcsldkkqx)
2021-02-19 11:19:59 +0100metamod[m](metamodmat@gateway/shell/matrix.org/x-cvyozbpcigwxoqqt)
2021-02-19 11:19:59 +0100hsiktas[m](hsiktasmat@gateway/shell/matrix.org/x-uybiusisumxitdaa)
2021-02-19 11:19:59 +0100oreoking[m](oreokingma@gateway/shell/matrix.org/x-lucqvxavjvzfztwz)
2021-02-19 11:19:59 +0100the_1_[m](the1matrix@gateway/shell/matrix.org/x-fmeoaycdouocsfqi)
2021-02-19 11:19:59 +0100michaelpj(michaelpjm@gateway/shell/matrix.org/x-noykicrlbsabjwyy)
2021-02-19 11:19:59 +0100jtojnar(jtojnarmat@gateway/shell/matrix.org/x-etwznkqlpnyibdkq)
2021-02-19 11:19:59 +0100Lurkki[m](lurkkipriv@gateway/shell/matrix.org/x-ifysnhrhmhtvxswn)
2021-02-19 11:19:59 +0100berberman[T](berberma4@gateway/shell/matrix.org/x-httmllauhaglunmz)
2021-02-19 11:19:59 +0100Lurkki[m]1(lurkkifene@gateway/shell/matrix.org/x-hvcdkotidxdodjzo)
2021-02-19 11:19:59 +0100mly[m](mlydisenco@gateway/shell/matrix.org/x-ruvwvdmdzsujcipy)
2021-02-19 11:19:59 +0100doct0rhu[m](doct0rhumo@gateway/shell/matrix.org/x-eazlsjvgzumpzoni)
2021-02-19 11:20:00 +0100adziahel[m](adziahelma@gateway/shell/matrix.org/x-rakjpsddecdrrang)
2021-02-19 11:20:00 +0100phittacus(bklmatrixo@gateway/shell/matrix.org/x-wukauznmspndycqi)
2021-02-19 11:20:00 +0100fgaz(fgazmatrix@gateway/shell/matrix.org/x-hrqxpfotuofobdbj)
2021-02-19 11:20:00 +0100pqwy[m](pqwymatrix@gateway/shell/matrix.org/x-avqotfsqzrmrxgqy)
2021-02-19 11:20:00 +0100pineapples[m](pineapples@gateway/shell/matrix.org/x-scagahmjxdbvohux)
2021-02-19 11:20:00 +0100Liyang[m](liyangmatr@gateway/shell/matrix.org/x-wtvmjvwxnbfzrmey)
2021-02-19 11:20:00 +0100Hanma[m](hanmamatri@gateway/shell/matrix.org/x-xfhxcxjspfcwzhbu)
2021-02-19 11:20:00 +0100themsay[m](themsaymat@gateway/shell/matrix.org/x-virzyuwrowrrlwks)
2021-02-19 11:20:00 +0100darkcodi[m](darkcodima@gateway/shell/matrix.org/x-xorowkamjqelpcvb)
2021-02-19 11:20:01 +0100siraben(sirabenmat@gateway/shell/matrix.org/x-osefrsecjodoijxp)
2021-02-19 11:20:01 +0100lnxw37d4(lnxw37d4ma@gateway/shell/matrix.org/x-wuxiqkhdynxpuvsj)
2021-02-19 11:20:01 +0100Vanilla[m](danielm14@gateway/shell/matrix.org/x-axifdmrqergkcrjc)
2021-02-19 11:20:01 +0100cnmne[m](cnmnematri@gateway/shell/matrix.org/x-vwjvxvmnxyimiajk)
2021-02-19 11:20:01 +0100johnnyboy[m](gifumatrix@gateway/shell/matrix.org/x-vyrexossovlljgaw)
2021-02-19 11:20:01 +0100freeman42x[m](freeman42x@gateway/shell/matrix.org/x-afnclhgosytqlfre)
2021-02-19 11:20:01 +0100alexfmpe(alexfmpema@gateway/shell/matrix.org/x-smqfejcgpvfgbkxf)
2021-02-19 11:20:01 +0100plumenator[m](plumenator@gateway/shell/matrix.org/x-wucngvemjowoitrb)
2021-02-19 11:20:01 +0100PotatoHatsue(berbermanp@gateway/shell/matrix.org/x-rodrvszvsnrqkfek)
2021-02-19 11:20:01 +0100shutendoji[m](shutendoji@gateway/shell/matrix.org/x-nwuyyykkdcqsffue)
2021-02-19 11:20:01 +0100psamim(samimpmatr@gateway/shell/matrix.org/x-aphqpdlhwcwoigrn)
2021-02-19 11:20:01 +0100mjlbach(atriusmatr@gateway/shell/matrix.org/x-uxvvkbdauabmbien)
2021-02-19 11:20:02 +0100Poscat[m](poscatmatr@gateway/shell/matrix.org/x-illspwtqmxzvupwe)
2021-02-19 11:20:02 +0100alar[m](alarmxalat@gateway/shell/matrix.org/x-ufoythqyyzicqreb)
2021-02-19 11:20:02 +0100mentaal[m](mentaalmat@gateway/shell/matrix.org/x-ukiqzdxfkqtlhpke)
2021-02-19 11:20:03 +0100CaptainYukinoshi(captain-yu@gateway/shell/matrix.org/x-cfutskndikhbnnrj)
2021-02-19 11:20:03 +0100acdsystemliorg[m(acdsysteml@gateway/shell/matrix.org/x-tymmizrslavaomkn)
2021-02-19 11:20:03 +0100enya[m](enyaismatr@gateway/shell/matrix.org/x-zbzyfyeroxeyoocq)
2021-02-19 11:20:04 +0100betrion[m](betrionmat@gateway/shell/matrix.org/x-olmvksmarryfhawb)
2021-02-19 11:20:05 +0100sramsay64[m](sramsay64p@gateway/shell/matrix.org/x-wgtgoydyvczhmnjh)
2021-02-19 11:20:05 +0100a-tsioh[m](a-tsiohmat@gateway/shell/matrix.org/x-vcxfulhlegqmiopj)
2021-02-19 11:20:05 +0100jchia[m](jchiamatri@gateway/shell/matrix.org/x-aipijicvixxymjoa)
2021-02-19 11:20:05 +0100ManofLetters[m](manoflette@gateway/shell/matrix.org/x-piojuxwadmoobdzz)
2021-02-19 11:20:06 +0100bram[m]1(bramvdbnet@gateway/shell/matrix.org/x-igtbrtpgsohexrhp)
2021-02-19 11:20:06 +0100jesser[m](jessermatr@gateway/shell/matrix.org/x-jshzqkyonzxbmhkb)
2021-02-19 11:20:06 +0100sigmacool[m](sigmacoolm@gateway/shell/matrix.org/x-rymnviobwcpxiozr)
2021-02-19 11:20:07 +0100utdemir[m](utdemirmat@gateway/shell/matrix.org/x-etixmzdenmklftaw)
2021-02-19 11:20:07 +0100pedrorubster[m](pedrorubst@gateway/shell/matrix.org/x-rtcodsrzxgzhwyyh)
2021-02-19 11:20:08 +0100MrMuffles[m](mrmufflesm@gateway/shell/matrix.org/x-zaslzxsnkeypyaom)
2021-02-19 11:20:08 +0100Robin[m]2(robinrobin@gateway/shell/matrix.org/x-oenrzerwnqdlodsu)
2021-02-19 11:20:11 +0100zaquest(~notzaques@5.128.210.178) (Remote host closed the connection)
2021-02-19 11:20:13 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-19 11:22:16 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
2021-02-19 11:22:25 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-02-19 11:22:43 +0100zaquest(~notzaques@5.128.210.178)
2021-02-19 11:22:56 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Quit: p-core)
2021-02-19 11:23:27 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2021-02-19 11:23:53 +0100mananamenos(~mananamen@37.red-88-27-26.staticip.rima-tde.net)
2021-02-19 11:25:28 +0100ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net)
2021-02-19 11:25:36 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-02-19 11:25:42 +0100 <tomjaguarpaw> Does anyone find that ghcid sometimes stops picking up changes? It seems that this is connected to changing between git branches. Am I doing something obviously wrong?
2021-02-19 11:25:55 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-19 11:26:13 +0100 <edwardk> usually anything that changes the cabal file breaks you
2021-02-19 11:26:30 +0100clog(~nef@bespin.org)
2021-02-19 11:26:35 +0100 <tomjaguarpaw> Interesting. That would explain it, I thin.
2021-02-19 11:28:12 +0100cheater(~user@unaffiliated/cheater) (Ping timeout: 246 seconds)
2021-02-19 11:28:45 +0100chele(~chele@ip5b40237d.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2021-02-19 11:29:16 +0100chele(~chele@ip5b40237d.dynamic.kabel-deutschland.de)
2021-02-19 11:29:45 +0100ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net) (Ping timeout: 240 seconds)
2021-02-19 11:29:58 +0100darjeeling_(~darjeelin@122.245.216.187)
2021-02-19 11:30:35 +0100cheater(~user@unaffiliated/cheater)
2021-02-19 11:30:43 +0100terrorjack(~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com)
2021-02-19 11:30:57 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Quit: p-core)
2021-02-19 11:31:05 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-02-19 11:31:55 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-19 11:33:23 +0100JanBessai(~JanB@85-22-16-161.ip.dokom21.de)
2021-02-19 11:33:33 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 11:35:44 +0100df41(c1c6b9ce@193.198.185.206)
2021-02-19 11:35:49 +0100Uma(~uma@umazalakain.info)
2021-02-19 11:36:58 +0100rdivyanshu(uid322626@gateway/web/irccloud.com/x-pspihpykvxpabhbk)
2021-02-19 11:37:34 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-02-19 11:37:56 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
2021-02-19 11:38:13 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-19 11:39:50 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:b8ec:2ccc:b56e:5cb:43cd)
2021-02-19 11:40:42 +0100DavidEichmann(~david@234.109.45.217.dyn.plus.net)
2021-02-19 11:41:29 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2021-02-19 11:41:30 +0100 <desophos> ok, i'm stumped. i'm trying to generate an `[a] -> [Int]` that produces positive Ints. i'm (essentially) using `arbitrary `suchThat' (\f -> all (\x -> f x > x) xs)', where `xs :: [a]`. this generator still has trouble producing this function for list lengths over 10 or so. i don't know if making this its own newtype would help in any way, but `xs` depends on some other generators. i tried to make a separate newtype for this
2021-02-19 11:41:30 +0100 <desophos> function but i couldn't figure out where to get my `xs` for the predicate. i would appreciate any advice, and sorry for the wall of text! :)
2021-02-19 11:42:28 +0100JanBessai(~JanB@85-22-16-161.ip.dokom21.de) (Quit: leaving)
2021-02-19 11:42:36 +0100terrorjack(~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com) (Remote host closed the connection)
2021-02-19 11:42:40 +0100lawid_(~quassel@dslb-084-056-105-140.084.056.pools.vodafone-ip.de)
2021-02-19 11:43:48 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-02-19 11:44:13 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-19 11:44:17 +0100 <desophos> oh yeah, and i'm passing that generator to `map` to make it an `[a] -> [Int]`. the `a -> Int` generator works much better than my previous `[a] -> [Int]` generator
2021-02-19 11:44:18 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2437:8e79:b6a5:3b02)
2021-02-19 11:45:10 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Client Quit)
2021-02-19 11:45:10 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2021-02-19 11:45:59 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-02-19 11:46:08 +0100lawid(~quassel@dslb-090-186-035-031.090.186.pools.vodafone-ip.de) (Ping timeout: 260 seconds)
2021-02-19 11:48:09 +0100mananamenos(~mananamen@37.red-88-27-26.staticip.rima-tde.net) (Ping timeout: 265 seconds)
2021-02-19 11:48:33 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-19 11:49:14 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2437:8e79:b6a5:3b02) (Ping timeout: 264 seconds)
2021-02-19 11:49:20 +0100l8star_(~l8star@business-90-187-113-149.pool2.vodafone-ip.de) (Remote host closed the connection)
2021-02-19 11:49:28 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-02-19 11:50:11 +0100 <[exa]> desophos: btw is that some generic thing or do you have a specific function that you're testing?
2021-02-19 11:50:13 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-19 11:50:20 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds)
2021-02-19 11:50:44 +0100 <desophos> i am testing specific functions, yes
2021-02-19 11:50:51 +0100 <[exa]> desophos: (many integer sequences/sets can be generated/enumerated efficiently)
2021-02-19 11:51:17 +0100 <desophos> i have a newtype that generates the arguments to said function, because they're all closely related
2021-02-19 11:51:55 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-02-19 11:52:04 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 11:53:12 +0100 <desophos> right, i mean the function could just be (\xs -> take (length xs) $ iterate (+1) 1) or whatever
2021-02-19 11:53:43 +0100 <tomsmeding> desophos: as written, assuming that 'f x > x' has change 0 <= p <= 1 of happening, the probability that an arbitrary value will satisfy your suchThat is p^length
2021-02-19 11:54:04 +0100 <tomsmeding> for p that is not 0.99, that will decrease quickly :p
2021-02-19 11:54:43 +0100 <tomsmeding> if you can write a (sort-of) uniform generator for values x such that f x > x, then build the list using that
2021-02-19 11:54:50 +0100 <tomsmeding> (with a newtype wrapper I guess)
2021-02-19 11:54:51 +0100 <desophos> hmmm, well `x` is always 0 (in this example; it's a bit more complicated in my code)
2021-02-19 11:55:54 +0100 <desophos> i actually have no idea what p would be for this
2021-02-19 11:56:28 +0100 <tomsmeding> doesn't really matter what p is exactly, but since you say that "it has trouble producing this functions for list lengths over 10 or so", I'm guessing it's not too high :p
2021-02-19 11:56:39 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-02-19 11:56:41 +0100 <desophos> apparently so
2021-02-19 11:56:45 +0100ephemera_(~E@122.34.1.187)
2021-02-19 11:56:51 +0100 <desophos> how would i go about writing that generator?
2021-02-19 11:57:28 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds)
2021-02-19 11:57:49 +0100 <tomsmeding> well one possibility would be to create a newtype, DesophosElement, for the elements of the list
2021-02-19 11:58:04 +0100 <tomsmeding> and give it an arbitrary instance that says 'arbitrary `suchThat` (\x -> f x > x)'
2021-02-19 11:58:16 +0100 <tomsmeding> then generate a list of those things, and unwrap the newtypes in the elements
2021-02-19 11:58:29 +0100 <tomsmeding> that should give the same distribution because of your use of 'all'
2021-02-19 11:59:10 +0100 <tomsmeding> (if you're custom-generating this list anyway, you can probably do away with that DesophosElement)
2021-02-19 11:59:22 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 12:00:17 +0100 <desophos> hmm, how is that different from what i'm doing now? if i would use `f` in the predicate anyway?
2021-02-19 12:01:34 +0100 <tomsmeding> the difference is that in your version, you generate a list, check the property for each element, (probably) observe that it fails for at least one element, throw the list away and generate a new one, repeat
2021-02-19 12:01:46 +0100 <desophos> oh i see
2021-02-19 12:01:51 +0100ephemera_(~E@122.34.1.187) (Read error: Connection reset by peer)
2021-02-19 12:01:54 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-02-19 12:01:55 +0100 <tomsmeding> whereas in my version, you repeat generating one particular element a couple of times, but you throw away much less work
2021-02-19 12:02:09 +0100 <desophos> instead of generating the elements individually based on whether they satisfy the function predicate
2021-02-19 12:02:13 +0100 <tomsmeding> and because your list property was just an 'all', it makes no difference in output
2021-02-19 12:02:17 +0100 <tomsmeding> yes
2021-02-19 12:02:19 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-19 12:02:24 +0100 <desophos> that makes a lot of sense
2021-02-19 12:02:36 +0100bitmagie(~Thunderbi@200116b806ae960069054237c165fb7d.dip.versatel-1u1.de)
2021-02-19 12:02:52 +0100 <tomsmeding> you might hope that quickcheck sees these kinds of redundancies and optimises them away, but lambdas are too black-box for that :p
2021-02-19 12:03:10 +0100ephemera_(~E@122.34.1.187)
2021-02-19 12:03:25 +0100 <desophos> i actually already have the list and i'm trying to generate the function
2021-02-19 12:03:29 +0100 <tomsmeding> lol
2021-02-19 12:03:37 +0100michalz(~user@185.246.204.79)
2021-02-19 12:03:44 +0100 <tomsmeding> that... may change the whole story :p
2021-02-19 12:03:49 +0100 <desophos> haha :D
2021-02-19 12:03:56 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
2021-02-19 12:04:05 +0100 <tomsmeding> because then my simplification doesn't apply at all
2021-02-19 12:04:57 +0100 <tomsmeding> you're trying to generate a function that satisfies a number of inequalities?
2021-02-19 12:05:02 +0100 <desophos> yes
2021-02-19 12:05:07 +0100 <desophos> i generate a list of record types and then use that list in the predicate to generate an appropriate function
2021-02-19 12:05:15 +0100 <tomsmeding> use an LP-solver? :p
2021-02-19 12:05:47 +0100 <tomsmeding> you use that list to _generate_ or to _validate_ a function?
2021-02-19 12:06:07 +0100 <desophos> to validate it, my mistake
2021-02-19 12:06:23 +0100 <tomsmeding> right, then you can't really simplify that in general
2021-02-19 12:07:06 +0100 <tomsmeding> except if, with knowledge about how exactly your function parameters are structured, you can discard some of the search space given some of those record values
2021-02-19 12:07:17 +0100new_haskeller(~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c)
2021-02-19 12:07:24 +0100 <tomsmeding> but that heavily depends on what exactly you're generating
2021-02-19 12:07:24 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2021-02-19 12:07:25 +0100 <desophos> my logic is `all (f (r1 x) > (r2 x)) xs` where x is a record type with fields `r1 :: a` and `r2 :: Int`, and `f :: (a -> Int)`
2021-02-19 12:08:00 +0100 <tomsmeding> what kinds of functions can 'f' be?
2021-02-19 12:08:04 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-19 12:08:14 +0100 <desophos> and xs is a list of these records that has been generated previously in this arbitrary implementation
2021-02-19 12:08:33 +0100 <tomsmeding> you're generating constraints together with functions that satisfy them?
2021-02-19 12:08:51 +0100 <desophos> kind of, yes
2021-02-19 12:08:54 +0100 <tomsmeding> how about generating a function first and then generating some constraints that the function satisfies?
2021-02-19 12:09:10 +0100 <tomsmeding> that second step should be easier
2021-02-19 12:09:47 +0100 <tomsmeding> (generate a value for 'r1', then generate the value for 'r2' in the range [0 .. f1 (r1 x) - 1] or something)
2021-02-19 12:09:49 +0100 <desophos> well, the issue that led to this in the first place is that this [Int] produced by `f` is the set of weights passed to `frequency`, so they must be positive and not all the same
2021-02-19 12:10:13 +0100 <desophos> that's the only constraint i'm trying to get working
2021-02-19 12:10:22 +0100 <tomsmeding> ah I see
2021-02-19 12:10:32 +0100 <tomsmeding> why must they not all be the same?
2021-02-19 12:10:38 +0100 <desophos> requirement of frequency i believe
2021-02-19 12:10:44 +0100 <desophos> i might be wrong on that?
2021-02-19 12:11:04 +0100 <desophos> yep i'm wrong, they just can't all be 0
2021-02-19 12:11:10 +0100 <tomsmeding> the frequencies must certainly be non-negative, but all-equal would just result in a uniform distribution, right?
2021-02-19 12:11:15 +0100 <desophos> yep
2021-02-19 12:11:20 +0100 <tomsmeding> all-zero is problematic too I guess
2021-02-19 12:11:55 +0100new_haskeller(~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c) (Ping timeout: 272 seconds)
2021-02-19 12:12:09 +0100bitmagie(~Thunderbi@200116b806ae960069054237c165fb7d.dip.versatel-1u1.de) (Quit: bitmagie)
2021-02-19 12:12:14 +0100 <tomsmeding> so just to be clear: you're generating a list of 'a' values, as well as a function f :: a -> Int, and want the results of calling 'f' on those 'a' values to be valid weights for 'frequency'
2021-02-19 12:12:56 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-02-19 12:13:01 +0100_noblegas(uid91066@gateway/web/irccloud.com/x-xdmmzoyxnafrholm) (Quit: Connection closed for inactivity)
2021-02-19 12:13:02 +0100 <desophos> pretty much; the 'a' values are actually record fields
2021-02-19 12:13:06 +0100__minoru__shirae(~shiraeesh@46.34.206.35)
2021-02-19 12:13:08 +0100 <tomsmeding> still kind of depends on what functions f can be
2021-02-19 12:13:14 +0100 <tomsmeding> sure
2021-02-19 12:13:39 +0100 <desophos> f can be any function really, it doesn't matter as long as it produces valid frequency weights
2021-02-19 12:14:13 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-19 12:14:39 +0100 <tomsmeding> how are you generating it now?
2021-02-19 12:14:47 +0100 <tomsmeding> using Test.QuickCheck.Function, or differently?
2021-02-19 12:15:04 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-02-19 12:15:25 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 12:15:27 +0100 <desophos> using `arbitrary` in a newtype Arbitrary instance
2021-02-19 12:15:51 +0100 <desophos> the constraints are the part that's giving me trouble
2021-02-19 12:16:16 +0100 <tomsmeding> right so your 'a' implements CoArbitrary
2021-02-19 12:16:20 +0100 <desophos> yes
2021-02-19 12:16:23 +0100 <tomsmeding> I missed that instance, okay
2021-02-19 12:16:35 +0100terrorjack(~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com)
2021-02-19 12:16:48 +0100 <tomsmeding> I'm asking because one way to optimise the process is to let the constraints inform the generation of 'f' :p
2021-02-19 12:16:51 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-02-19 12:17:00 +0100 <tomsmeding> but then you'd need to custom-write that
2021-02-19 12:17:08 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 12:17:13 +0100df41(c1c6b9ce@193.198.185.206) (Quit: Connection closed)
2021-02-19 12:17:14 +0100 <desophos> in a Gen instance?
2021-02-19 12:17:20 +0100 <tomsmeding> yeah
2021-02-19 12:18:44 +0100 <tomsmeding> desophos: can't you generate an 'f' of type a -> NonNegative Int
2021-02-19 12:18:56 +0100 <tomsmeding> and then use getNonNegative . f
2021-02-19 12:19:04 +0100vilpan(~0@212.117.1.172) ()
2021-02-19 12:19:16 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-02-19 12:19:36 +0100 <tomsmeding> you still need to check that the outputs are not all-zero, but that should have a negligible probability instead of 1 - 0.5^length
2021-02-19 12:19:43 +0100 <desophos> hmm... that's a good idea
2021-02-19 12:19:56 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2021-02-19 12:19:58 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-19 12:19:59 +0100 <desophos> i feel like i should have tried that earlier lol
2021-02-19 12:20:07 +0100 <tomsmeding> if you don't want zero weights either, use Positive instead of NonNegative :p
2021-02-19 12:20:19 +0100 <tomsmeding> took me a while to think of it too
2021-02-19 12:22:04 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 260 seconds)
2021-02-19 12:23:17 +0100 <desophos> it worked, thank you! good discussion about generating functions too :)
2021-02-19 12:24:08 +0100 <tomsmeding> nice! :)
2021-02-19 12:24:10 +0100 <tomsmeding> good luck!
2021-02-19 12:24:15 +0100Stanley00(~stanley00@unaffiliated/stanley00) ()
2021-02-19 12:24:33 +0100 <desophos> thanks!
2021-02-19 12:24:56 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-02-19 12:25:55 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-19 12:26:19 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2021-02-19 12:27:39 +0100terrorjack(~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com) (Remote host closed the connection)
2021-02-19 12:28:22 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 12:28:39 +0100terrorjack(~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com)
2021-02-19 12:31:24 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-02-19 12:32:04 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-19 12:33:12 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 12:33:37 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-19 12:36:32 +0100s00pcan(~chris@107.181.165.217) (Ping timeout: 260 seconds)
2021-02-19 12:36:56 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-02-19 12:37:00 +0100petersen(~petersen@redhat/juhp) (Quit: petersen)
2021-02-19 12:37:47 +0100petersen(~petersen@redhat/juhp)
2021-02-19 12:38:02 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-19 12:38:21 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds)
2021-02-19 12:38:57 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
2021-02-19 12:39:35 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:b8ec:2ccc:b56e:5cb:43cd) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-19 12:40:19 +0100terrorjack(~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com) (Remote host closed the connection)
2021-02-19 12:41:15 +0100terrorjack(~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com)
2021-02-19 12:43:16 +0100desophos(~desophos@2601:249:1680:a570:dc9b:7a29:1314:79e3) (Quit: Leaving)
2021-02-19 12:43:32 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-02-19 12:43:59 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-19 12:45:07 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2437:8e79:b6a5:3b02)
2021-02-19 12:46:24 +0100proteusguy(~proteusgu@cm-58-10-155-179.revip7.asianet.co.th)
2021-02-19 12:49:12 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 12:49:36 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-02-19 12:49:50 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2437:8e79:b6a5:3b02) (Ping timeout: 264 seconds)
2021-02-19 12:49:52 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-19 12:50:59 +0100__minoru__shirae(~shiraeesh@46.34.206.35) (Ping timeout: 265 seconds)
2021-02-19 12:52:24 +0100terrorjack(~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com) (Remote host closed the connection)
2021-02-19 12:53:25 +0100terrorjack(~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com)
2021-02-19 12:54:33 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds)
2021-02-19 12:55:27 +0100Pickchea(~private@unaffiliated/pickchea)
2021-02-19 12:58:12 +0100bergey```(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-19 13:00:17 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-02-19 13:00:52 +0100mouseghost(~draco@87-206-9-185.dynamic.chello.pl)
2021-02-19 13:00:52 +0100mouseghost(~draco@87-206-9-185.dynamic.chello.pl) (Changing host)
2021-02-19 13:00:52 +0100mouseghost(~draco@wikipedia/desperek)
2021-02-19 13:03:38 +0100berberman_(~berberman@unaffiliated/berberman) (Ping timeout: 264 seconds)
2021-02-19 13:03:47 +0100berberman(~berberman@unaffiliated/berberman)
2021-02-19 13:04:21 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-19 13:04:36 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
2021-02-19 13:04:36 +0100bergey```(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 240 seconds)
2021-02-19 13:05:53 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 13:05:54 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection)
2021-02-19 13:06:43 +0100Benzi-Junior(~BenziJuni@dsl-149-67-143.hive.is)
2021-02-19 13:08:36 +0100Kamuela(sid111576@gateway/web/irccloud.com/x-pawdtmgkcfdhjilx) (Remote host closed the connection)
2021-02-19 13:08:36 +0100graingert(sid128301@gateway/web/irccloud.com/x-bfylpgqnmmccmsbf) (Remote host closed the connection)
2021-02-19 13:08:36 +0100jackdk(sid373013@gateway/web/irccloud.com/x-doqzhuxhwcndskts) (Remote host closed the connection)
2021-02-19 13:08:36 +0100typetetris(sid275937@gateway/web/irccloud.com/x-jmpcyphyiunkizfv) (Remote host closed the connection)
2021-02-19 13:08:36 +0100dani-(sid341953@gateway/web/irccloud.com/x-jvhqzxypgstquyhl) (Remote host closed the connection)
2021-02-19 13:08:36 +0100ghuntley(sid16877@gateway/web/irccloud.com/x-cxefxczoiamxwufa) (Remote host closed the connection)
2021-02-19 13:08:36 +0100taktoa[c](sid282096@gateway/web/irccloud.com/x-hmpjwlrfnjkdvtbj) (Remote host closed the connection)
2021-02-19 13:08:36 +0100lolmac(sid171216@gateway/web/irccloud.com/x-rclngblebwcjjcxh) (Remote host closed the connection)
2021-02-19 13:08:36 +0100srhb(sid400352@NixOS/user/srhb) (Remote host closed the connection)
2021-02-19 13:08:36 +0100suraj(uid487353@gateway/web/irccloud.com/x-ygpdreqvesczyhhi) (Remote host closed the connection)
2021-02-19 13:08:36 +0100milessabin(sid86799@gateway/web/irccloud.com/x-lvllpfayllfptnau) (Remote host closed the connection)
2021-02-19 13:08:36 +0100kozowu(uid44796@gateway/web/irccloud.com/x-azueqxpdfatmhbiq) (Remote host closed the connection)
2021-02-19 13:08:36 +0100ocharles(sid30093@musicbrainz/user/ocharles) (Remote host closed the connection)
2021-02-19 13:08:36 +0100agander_m(sid407952@gateway/web/irccloud.com/x-iacrqptelsdesbqc) (Remote host closed the connection)
2021-02-19 13:08:36 +0100m-renaud(sid333785@gateway/web/irccloud.com/x-gyhpqquancngyzvf) (Remote host closed the connection)
2021-02-19 13:08:36 +0100glowcoil(sid3405@gateway/web/irccloud.com/x-aqtyexznctdwfsyn) (Write error: Broken pipe)
2021-02-19 13:08:36 +0100hazard-pointer_(sid331723@gateway/web/irccloud.com/x-qnmihlixkbakxstq) (Remote host closed the connection)
2021-02-19 13:08:36 +0100kyagrd__(sid102627@gateway/web/irccloud.com/x-jdcpegwngvtqeafw) (Remote host closed the connection)
2021-02-19 13:08:37 +0100rslima_____(sid26145@gateway/web/irccloud.com/x-juewjokznuzxtywl) (Remote host closed the connection)
2021-02-19 13:08:52 +0100kritzefitz(~kritzefit@fw-front.credativ.com) (Remote host closed the connection)
2021-02-19 13:09:00 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
2021-02-19 13:09:13 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:b8ec:2ccc:b56e:5cb:43cd)
2021-02-19 13:09:14 +0100zariuq(~zar@fw1.ciirc.cvut.cz) (Read error: Connection reset by peer)
2021-02-19 13:09:26 +0100zariuq(~zar@fw1.ciirc.cvut.cz)
2021-02-19 13:10:16 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
2021-02-19 13:10:39 +0100mirrorbird(~psutcliff@2a00:801:44d:603d:d116:d5a1:4a2f:a08f)
2021-02-19 13:11:04 +0100LKoen(~LKoen@161.169.9.109.rev.sfr.net) (Ping timeout: 240 seconds)
2021-02-19 13:11:17 +0100LKoen(~LKoen@161.169.9.109.rev.sfr.net)
2021-02-19 13:11:28 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-02-19 13:11:49 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 13:13:11 +0100glowcoil(sid3405@gateway/web/irccloud.com/x-ijfdxwoqjkevcqsc)
2021-02-19 13:13:40 +0100glowcoil(sid3405@gateway/web/irccloud.com/x-ijfdxwoqjkevcqsc) (Remote host closed the connection)
2021-02-19 13:15:15 +0100glowcoil(sid3405@gateway/web/irccloud.com/x-tfnxycsxmhezfuwi)
2021-02-19 13:16:24 +0100rslima_____(sid26145@gateway/web/irccloud.com/x-ngrykalbadekwxuk)
2021-02-19 13:16:34 +0100ocharles(sid30093@musicbrainz/user/ocharles)
2021-02-19 13:17:16 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 272 seconds)
2021-02-19 13:17:23 +0100kyagrd__(sid102627@gateway/web/irccloud.com/x-szfupawrcsntctxo)
2021-02-19 13:17:24 +0100milessabin(sid86799@gateway/web/irccloud.com/x-lbjrkurwvvdrwvdy)
2021-02-19 13:17:56 +0100Kamuela(sid111576@gateway/web/irccloud.com/x-horehrbqrsfbifrv)
2021-02-19 13:18:04 +0100polyrain(~polyrain@2001:8003:e4d8:4101:11ca:2807:85ae:bc87)
2021-02-19 13:18:14 +0100s00pcan(~chris@107.181.165.217)
2021-02-19 13:18:57 +0100cur8or(~cur8or@2c0f:fbe1:3:17:e976:8a82:85fb:4ef)
2021-02-19 13:19:07 +0100graingert(sid128301@gateway/web/irccloud.com/x-kqkgwbfzuayatuma)
2021-02-19 13:19:25 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 13:20:11 +0100taktoa[c](sid282096@gateway/web/irccloud.com/x-zyzffnttjvrtjmgf)
2021-02-19 13:20:41 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2021-02-19 13:20:43 +0100hazard-pointer_(sid331723@gateway/web/irccloud.com/x-gnedozzvydjopbjw)
2021-02-19 13:20:48 +0100__minoru__shirae(~shiraeesh@46.34.206.35)
2021-02-19 13:20:48 +0100m-renaud(sid333785@gateway/web/irccloud.com/x-cahbetqlwgcicebd)
2021-02-19 13:20:57 +0100Pickchea(~private@unaffiliated/pickchea) (Ping timeout: 265 seconds)
2021-02-19 13:20:59 +0100dani-(sid341953@gateway/web/irccloud.com/x-oxdrwcxmvvwbwbls)
2021-02-19 13:21:21 +0100srhb(sid400352@NixOS/user/srhb)
2021-02-19 13:21:53 +0100ghuntley(sid16877@gateway/web/irccloud.com/x-nfchurevxdfsquhn)
2021-02-19 13:22:22 +0100kozowu(uid44796@gateway/web/irccloud.com/x-mirfwtuhrmimndjb)
2021-02-19 13:23:21 +0100stree(~stree@68.36.8.116) (Ping timeout: 246 seconds)
2021-02-19 13:23:32 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 13:23:41 +0100lolmac(sid171216@gateway/web/irccloud.com/x-hckmunyonklvauje)
2021-02-19 13:24:01 +0100Zialus(~RMF@2001:818:de63:c300:211:32ff:fe8d:ad29)
2021-02-19 13:24:29 +0100typetetris(sid275937@gateway/web/irccloud.com/x-stkqjtnjlxzqnxsl)
2021-02-19 13:24:36 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-02-19 13:25:27 +0100SRV_DW20(~SRV_DW20@185.163.110.108) (Remote host closed the connection)
2021-02-19 13:25:46 +0100jackdk(sid373013@gateway/web/irccloud.com/x-xchalanqtvxxyxtk)
2021-02-19 13:25:59 +0100agander_m(sid407952@gateway/web/irccloud.com/x-wqacywbdoyeeptul)
2021-02-19 13:27:26 +0100suraj(uid487353@gateway/web/irccloud.com/x-vayhhcpqeujgyqoy)
2021-02-19 13:28:41 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
2021-02-19 13:29:16 +0100frozenErebus(~frozenEre@94.128.219.166) (Ping timeout: 240 seconds)
2021-02-19 13:33:56 +0100augnun_(~augnun@2804:14c:658b:41bb:75dd:811:d3d0:aa5d) (Ping timeout: 240 seconds)
2021-02-19 13:35:09 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-19 13:35:15 +0100kritzefitz(~kritzefit@212.86.56.80)
2021-02-19 13:36:40 +0100stree(~stree@68.36.8.116)
2021-02-19 13:38:36 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 260 seconds)
2021-02-19 13:39:29 +0100new_haskeller(~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c)
2021-02-19 13:39:51 +0100polyrain(~polyrain@2001:8003:e4d8:4101:11ca:2807:85ae:bc87) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-19 13:39:55 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-02-19 13:39:58 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2021-02-19 13:40:43 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 13:45:16 +0100bergey```(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-19 13:45:16 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
2021-02-19 13:45:54 +0100kritzefitz(~kritzefit@212.86.56.80) (Remote host closed the connection)
2021-02-19 13:45:56 +0100heatsink(~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c)
2021-02-19 13:46:10 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-02-19 13:46:31 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 13:46:44 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-19 13:49:22 +0100greety(bab72756@186.183.39.86)
2021-02-19 13:50:07 +0100bergey```(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 256 seconds)
2021-02-19 13:50:26 +0100heatsink(~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c) (Ping timeout: 264 seconds)
2021-02-19 13:51:08 +0100frozenErebus(~frozenEre@94.128.219.166)
2021-02-19 13:51:18 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
2021-02-19 13:53:12 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-19 13:55:56 +0100jamm_(~jamm@unaffiliated/jamm)
2021-02-19 13:56:16 +0100frozenErebus(~frozenEre@94.128.219.166) (Ping timeout: 240 seconds)
2021-02-19 13:57:10 +0100greety(bab72756@186.183.39.86) ()
2021-02-19 13:57:33 +0100seye(~seye@79-74-139-62.dynamic.dsl.as9105.com)
2021-02-19 13:57:56 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds)
2021-02-19 13:59:04 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 14:00:18 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 14:00:38 +0100jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
2021-02-19 14:02:12 +0100todda7(~torstein@2a02:587:1b14:d00:5ec3:abec:812c:b3e2)
2021-02-19 14:02:47 +0100bergey```(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-19 14:02:57 +0100__minoru__shirae(~shiraeesh@46.34.206.35) (Ping timeout: 264 seconds)
2021-02-19 14:03:00 +0100tsaka__(~torstein@152.89.163.92) (Ping timeout: 265 seconds)
2021-02-19 14:03:44 +0100urodna(~urodna@unaffiliated/urodna)
2021-02-19 14:04:07 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds)
2021-02-19 14:05:50 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-02-19 14:06:07 +0100adius(sid321344@gateway/web/irccloud.com/x-arhgoqynitobsomz) (Remote host closed the connection)
2021-02-19 14:06:07 +0100lexi-lambda(sid92601@gateway/web/irccloud.com/x-owlnoanjqwjxhelk) (Remote host closed the connection)
2021-02-19 14:06:49 +0100pavonia(~user@unaffiliated/siracusa) (Quit: Bye!)
2021-02-19 14:07:06 +0100machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-02-19 14:07:37 +0100lexi-lambda(sid92601@gateway/web/irccloud.com/x-dknpibkekskwfxsb)
2021-02-19 14:07:38 +0100adius(sid321344@gateway/web/irccloud.com/x-rmecsovjazjpkqfg)
2021-02-19 14:07:56 +0100bergey```(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 240 seconds)
2021-02-19 14:08:23 +0100noecho(~noecho@2a01:4f8:1c0c:80ee::4223) (Quit: ZNC - http://znc.in)
2021-02-19 14:08:30 +0100terrorjack(~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com) (Remote host closed the connection)
2021-02-19 14:08:55 +0100noecho(~noecho@2a01:4f8:1c0c:80ee::4223)
2021-02-19 14:09:47 +0100terrorjack(~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com)
2021-02-19 14:11:05 +0100darjeeling_(~darjeelin@122.245.216.187) (Ping timeout: 240 seconds)
2021-02-19 14:11:25 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-02-19 14:15:13 +0100lawid(~quassel@dslb-090-186-099-002.090.186.pools.vodafone-ip.de)
2021-02-19 14:15:40 +0100lawid_(~quassel@dslb-084-056-105-140.084.056.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
2021-02-19 14:15:48 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 14:17:36 +0100geekosaur(82650c7a@130.101.12.122)
2021-02-19 14:17:54 +0100polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
2021-02-19 14:17:59 +0100plutoniix(~q@184.82.193.9) (Quit: Leaving)
2021-02-19 14:18:35 +0100cur8or(~cur8or@2c0f:fbe1:3:17:e976:8a82:85fb:4ef) (Ping timeout: 272 seconds)
2021-02-19 14:20:25 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com) (Ping timeout: 240 seconds)
2021-02-19 14:20:46 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds)
2021-02-19 14:21:32 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-02-19 14:21:54 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 14:22:52 +0100borne(~fritjof@200116b8640b4400a9b5d4f34e3c7d10.dip.versatel-1u1.de) (Quit: WeeChat 3.0)
2021-02-19 14:23:00 +0100borne(~fritjof@200116b8640b4400a9b5d4f34e3c7d10.dip.versatel-1u1.de)
2021-02-19 14:23:36 +0100son0p(~son0p@181.58.39.182) (Quit: Lost terminal)
2021-02-19 14:25:36 +0100solarliner(~solarline@243.81.10.109.rev.sfr.net) (Quit: solarliner)
2021-02-19 14:26:24 +0100Tario(~Tario@201.192.165.173)
2021-02-19 14:26:41 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds)
2021-02-19 14:26:59 +0100lexi-lambda(sid92601@gateway/web/irccloud.com/x-dknpibkekskwfxsb) ()
2021-02-19 14:27:14 +0100lexi-lambda(sid92601@gateway/web/irccloud.com/x-ricmwvpaftynkwyw)
2021-02-19 14:27:34 +0100dmwit(~dmwit@pool-108-18-106-204.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
2021-02-19 14:27:39 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 14:28:30 +0100Svet_(~Svet_@90.200.185.163) (Quit: Connection error?!)
2021-02-19 14:28:49 +0100darjeeling_(~darjeelin@122.245.216.187)
2021-02-19 14:29:39 +0100ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net)
2021-02-19 14:29:58 +0100theDon(~td@muedsl-82-207-238-165.citykom.de)
2021-02-19 14:30:06 +0100adius(sid321344@gateway/web/irccloud.com/x-rmecsovjazjpkqfg) ()
2021-02-19 14:30:22 +0100adius(sid321344@gateway/web/irccloud.com/x-zbzvezfksextairk)
2021-02-19 14:32:37 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds)
2021-02-19 14:34:19 +0100ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net) (Ping timeout: 256 seconds)
2021-02-19 14:37:13 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-19 14:38:08 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Quit: p-core)
2021-02-19 14:38:12 +0100jpds_(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-02-19 14:38:30 +0100bergey```(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-19 14:38:39 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2021-02-19 14:38:44 +0100jpds_(~jpds@gateway/tor-sasl/jpds)
2021-02-19 14:39:03 +0100ubert(~Thunderbi@p200300ecdf25d9a6e6b318fffe838f33.dip0.t-ipconnect.de) (Remote host closed the connection)
2021-02-19 14:39:23 +0100ubert(~Thunderbi@p200300ecdf25d9a6e6b318fffe838f33.dip0.t-ipconnect.de)
2021-02-19 14:39:24 +0100son0p(~son0p@181.136.122.143)
2021-02-19 14:42:04 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 260 seconds)
2021-02-19 14:43:23 +0100bergey```(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 272 seconds)
2021-02-19 14:44:28 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 14:44:32 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:b8ec:2ccc:b56e:5cb:43cd) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-19 14:44:33 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 14:45:06 +0100frozenErebus(~frozenEre@94.128.219.166)
2021-02-19 14:45:43 +0100bergey```(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-19 14:46:39 +0100heatsink(~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c)
2021-02-19 14:48:56 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
2021-02-19 14:50:27 +0100Guest_36(5ad3334a@90.211.51.74)
2021-02-19 14:50:40 +0100 <Guest_36> b
2021-02-19 14:50:58 +0100 <mouseghost> c
2021-02-19 14:51:07 +0100forell(~forell@unaffiliated/forell) (Quit: ZNC - https://znc.in)
2021-02-19 14:51:25 +0100dunj4(~dunj3@p200300f61714a678d85584dd45edd0a4.dip0.t-ipconnect.de)
2021-02-19 14:51:27 +0100 <Guest_36> Hi I just downloaded Haskell on terminal, can someone tell me how I can start it please?
2021-02-19 14:51:38 +0100heatsink(~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c) (Ping timeout: 264 seconds)
2021-02-19 14:51:40 +0100 <Guest_36> mouse ghost lol
2021-02-19 14:52:00 +0100forell(~forell@unaffiliated/forell)
2021-02-19 14:52:14 +0100 <mouseghost> ghci gives you repl
2021-02-19 14:52:36 +0100kafl(~kafl@unaffiliated/kafl) (Ping timeout: 246 seconds)
2021-02-19 14:52:43 +0100kafl_(~kafl@unaffiliated/kafl)
2021-02-19 14:52:58 +0100nhs(~nhs@c-24-20-87-79.hsd1.or.comcast.net)
2021-02-19 14:53:30 +0100 <Guest_36> sorry what is repl
2021-02-19 14:53:43 +0100 <hc> read, evaluate, print, loop
2021-02-19 14:53:56 +0100dunj3(~dunj3@p200300f61714a6925c87873f9ac9c753.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2021-02-19 14:54:10 +0100 <Guest_36> ok thanks
2021-02-19 14:54:33 +0100zebrag(~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr)
2021-02-19 14:54:34 +0100 <hpc> the more boring word for it is "interactive interpreter" ;)
2021-02-19 14:54:46 +0100 <hc> i was about to say, interactive compiler ;p
2021-02-19 14:55:12 +0100 <Guest_36> I'm not sure where I can find it
2021-02-19 14:55:25 +0100 <Guest_36> find haskel
2021-02-19 14:55:33 +0100forell(~forell@unaffiliated/forell) (Client Quit)
2021-02-19 14:58:18 +0100forell(~forell@unaffiliated/forell)
2021-02-19 14:58:25 +0100Guest_36(5ad3334a@90.211.51.74) (Quit: Connection closed)
2021-02-19 14:58:36 +0100 <geekosaur> I wonder if they're looking for an IDE
2021-02-19 15:00:20 +0100revtintin(~revtintin@42.61.242.247)
2021-02-19 15:00:37 +0100forell_(~forell@unaffiliated/forell)
2021-02-19 15:02:42 +0100forell(~forell@unaffiliated/forell) (Ping timeout: 256 seconds)
2021-02-19 15:02:43 +0100forell_forell
2021-02-19 15:03:21 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-02-19 15:03:23 +0100hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net)
2021-02-19 15:03:43 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 15:05:32 +0100ukari(~ukari@unaffiliated/ukari) (Remote host closed the connection)
2021-02-19 15:06:06 +0100ukari(~ukari@unaffiliated/ukari)
2021-02-19 15:06:40 +0100kafl_(~kafl@unaffiliated/kafl) (Ping timeout: 256 seconds)
2021-02-19 15:07:41 +0100tsaka__(~torstein@185.217.69.177)
2021-02-19 15:07:59 +0100todda7(~torstein@2a02:587:1b14:d00:5ec3:abec:812c:b3e2) (Ping timeout: 272 seconds)
2021-02-19 15:08:46 +0100geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-02-19 15:08:53 +0100mmohammadi9812(~mmohammad@162.253.71.216)
2021-02-19 15:08:57 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds)
2021-02-19 15:09:21 +0100mmohammadi9812(~mmohammad@162.253.71.216) (Max SendQ exceeded)
2021-02-19 15:09:53 +0100mmohammadi9812(~mmohammad@162.253.71.216)
2021-02-19 15:10:04 +0100remby(~remby@bras-base-london1483w-grc-11-76-69-70-199.dsl.bell.ca)
2021-02-19 15:10:20 +0100 <remby> for those that work on ghc, which platform do you use for dev?
2021-02-19 15:10:31 +0100 <maralorn> When I have a = "⏳" I get length a = 1, but my terminal prints a with a width of two monospace symbols. What library gives me a possibility to get the "displayLength" or something of a string?
2021-02-19 15:11:03 +0100mmohammadi9812(~mmohammad@162.253.71.216) (Read error: Connection reset by peer)
2021-02-19 15:11:14 +0100 <merijn> remby: probably 80-90% linux
2021-02-19 15:13:00 +0100 <swarmcollective> remby, I use both Windows + Haskell Docker Container as well as linux directly.
2021-02-19 15:13:34 +0100geekosaur(82650c7a@130.101.12.122)
2021-02-19 15:15:23 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-19 15:15:30 +0100ddellacosta(~ddellacos@86.106.143.241)
2021-02-19 15:15:45 +0100 <maralorn> The best solution I can think of right now is to use ansi-terminal to print the symbol query the new cursor position and delete the symbol. But that sounds super annoying.
2021-02-19 15:16:03 +0100tsaka__(~torstein@185.217.69.177) (Ping timeout: 246 seconds)
2021-02-19 15:16:11 +0100todda7(~torstein@athedsl-258913.home.otenet.gr)
2021-02-19 15:16:14 +0100 <geekosaur> you are approaching hell
2021-02-19 15:16:23 +0100ep1ctetus(~epictetus@ip72-194-215-136.sb.sd.cox.net)
2021-02-19 15:16:36 +0100 <geekosaur> display width is not a defined attribute and can depend on both the font and the terminal emulator
2021-02-19 15:16:46 +0100 <merijn> There's a C function for that
2021-02-19 15:17:23 +0100 <merijn> geekosaur: For fixed-width there is a display width
2021-02-19 15:17:59 +0100alx741(~alx741@181.196.68.69)
2021-02-19 15:18:06 +0100 <merijn> Probably still won't work right for emojis, but hey
2021-02-19 15:19:30 +0100frozenErebus(~frozenEre@94.128.219.166) (Ping timeout: 272 seconds)
2021-02-19 15:19:52 +0100perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.0)
2021-02-19 15:20:07 +0100ddellacosta(~ddellacos@86.106.143.241) (Ping timeout: 272 seconds)
2021-02-19 15:20:20 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2021-02-19 15:20:39 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-02-19 15:21:10 +0100mouseghost(~draco@wikipedia/desperek) (Quit: mew wew)
2021-02-19 15:21:35 +0100viluon(uid453725@gateway/web/irccloud.com/x-lpdtucvssqtteyqr) (Quit: Connection closed for inactivity)
2021-02-19 15:22:40 +0100ep1ctetus(~epictetus@ip72-194-215-136.sb.sd.cox.net) (Read error: Connection reset by peer)
2021-02-19 15:23:13 +0100cantoro(~cantoro@93-43-227-218.ip94.fastwebnet.it)
2021-02-19 15:23:27 +0100 <cantoro> Hello
2021-02-19 15:23:58 +0100 <edwardk> i just realized i can write a kind-polymorphic version of basically any typeclass.
2021-02-19 15:24:00 +0100 <edwardk> https://github.com/ekmett/unlifted/blob/poly/poly.hs
2021-02-19 15:25:19 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 256 seconds)
2021-02-19 15:25:53 +0100 <edwardk> basically the issue with writing polykinded instances, is that defaults can't work, right? because levity polymorphism doesn't allow things in negative position to be levity polymorphic
2021-02-19 15:26:13 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Quit: p-core)
2021-02-19 15:26:43 +0100 <edwardk> but the functions in the dictionary themselves are in kind Type. so if what i do is make the defaults live in another typeclass off the RuntimeRep, i can magically have everything.
2021-02-19 15:26:53 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2021-02-19 15:27:11 +0100 <edwardk> this means i can overload numeric literals to work on other kinds, like Int# and they just work
2021-02-19 15:27:14 +0100 <edwardk> +, -, etc.
2021-02-19 15:27:28 +0100 <edwardk> before i was trying to do this with a one-off class per kind
2021-02-19 15:27:54 +0100ukari(~ukari@unaffiliated/ukari) (Remote host closed the connection)
2021-02-19 15:28:01 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 15:28:03 +0100 <edwardk> now i could import just the unlifted machinery, turn on rebindable syntax and use it for all kinds including lifted stuff at the same time!
2021-02-19 15:28:10 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-19 15:28:24 +0100ukari(~ukari@unaffiliated/ukari)
2021-02-19 15:28:49 +0100 <edwardk> i'd still probably need the backpack machinery to make the data types for each kind for unlifted maybes, etc.
2021-02-19 15:29:06 +0100 <edwardk> but the instances seem like they can mostly just work
2021-02-19 15:31:42 +0100cantoro(~cantoro@93-43-227-218.ip94.fastwebnet.it) (Quit: leaving)
2021-02-19 15:32:06 +0100 <edwardk> the unlifted classes need to return slightly different types based off the kind, but its not so bad, really.
2021-02-19 15:32:37 +0100Guest90(506fd516@gateway/web/cgi-irc/kiwiirc.com/ip.80.111.213.22)
2021-02-19 15:32:44 +0100 <edwardk> mostly for Enum/IsList, some of the integral stuff needing to give back unboxed tuples, etc.
2021-02-19 15:32:57 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:5897:b7e5:bdc6:bd01)
2021-02-19 15:33:03 +0100cantoro(~cantoro@93-43-227-218.ip94.fastwebnet.it)
2021-02-19 15:33:06 +0100 <edwardk> going to sleep now
2021-02-19 15:33:52 +0100cantoro(~cantoro@93-43-227-218.ip94.fastwebnet.it) (Client Quit)
2021-02-19 15:34:45 +0100carlomagno(~cararell@148.87.23.5) (Ping timeout: 264 seconds)
2021-02-19 15:34:51 +0100Neuromancer(~Neuromanc@unaffiliated/neuromancer)
2021-02-19 15:35:57 +0100cantoro(~cantoro@93-43-227-218.ip94.fastwebnet.it)
2021-02-19 15:36:14 +0100 <cantoro> :q
2021-02-19 15:36:17 +0100cantoro(~cantoro@93-43-227-218.ip94.fastwebnet.it) (Client Quit)
2021-02-19 15:36:48 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-02-19 15:38:29 +0100berberman(~berberman@unaffiliated/berberman) (Quit: ZNC 1.8.2 - https://znc.in)
2021-02-19 15:38:53 +0100berberman(~berberman@unaffiliated/berberman)
2021-02-19 15:40:37 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-02-19 15:40:58 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 15:44:36 +0100stree(~stree@68.36.8.116) (Ping timeout: 240 seconds)
2021-02-19 15:45:48 +0100 <kuribas> Is there a good fast xml generator? I tried xmlgen, which is decent, but a bit too polymorphic for my taste.
2021-02-19 15:46:17 +0100rdivyanshu(uid322626@gateway/web/irccloud.com/x-pspihpykvxpabhbk) (Quit: Connection closed for inactivity)
2021-02-19 15:46:22 +0100 <merijn> Is there a good XML generator at all? :p
2021-02-19 15:46:22 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:5897:b7e5:bdc6:bd01) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-19 15:46:44 +0100 <kuribas> I hope...
2021-02-19 15:47:36 +0100heatsink(~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c)
2021-02-19 15:47:40 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Quit: p-core)
2021-02-19 15:48:14 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2021-02-19 15:48:40 +0100Tops2(~Tobias@dyndsl-095-033-095-228.ewe-ip-backbone.de)
2021-02-19 15:49:06 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
2021-02-19 15:50:00 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Client Quit)
2021-02-19 15:50:33 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2021-02-19 15:50:49 +0100sh9(~sh9@softbank060116136158.bbtec.net)
2021-02-19 15:50:57 +0100bo__(~bo@178.150.122.153) (Ping timeout: 264 seconds)
2021-02-19 15:51:32 +0100ph88(~ph88@ip5f5af71a.dynamic.kabel-deutschland.de)
2021-02-19 15:52:14 +0100heatsink(~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c) (Ping timeout: 264 seconds)
2021-02-19 15:53:16 +0100ephemera_(~E@122.34.1.187) (Ping timeout: 240 seconds)
2021-02-19 15:54:18 +0100dmwit(~dmwit@pool-173-66-86-32.washdc.fios.verizon.net)
2021-02-19 15:55:22 +0100ddellacosta(~ddellacos@86.106.143.111)
2021-02-19 15:56:35 +0100stree(~stree@68.36.8.116)
2021-02-19 15:57:02 +0100 <geekosaur> aren't "good" and "xml" antiphonic?
2021-02-19 15:57:36 +0100ixaxaar(~ixaxaar@49.207.197.94) (Quit: Leaving)
2021-02-19 15:57:37 +0100darjeeling_(~darjeelin@122.245.216.187) (Ping timeout: 256 seconds)
2021-02-19 15:57:48 +0100geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-02-19 15:58:15 +0100 <NieDzejkob> is it possible to define a bidirectional pattern synonym, but only export the destructuring direction outside of the current module?
2021-02-19 15:58:53 +0100Poscat[m](poscatmatr@gateway/shell/matrix.org/x-illspwtqmxzvupwe) (Quit: Idle for 30+ days)
2021-02-19 15:59:25 +0100alx741(~alx741@181.196.68.69) (Quit: alx741)
2021-02-19 15:59:50 +0100 <merijn> NieDzejkob: Why not just have two different pattern synonyms for that?
2021-02-19 16:00:23 +0100 <NieDzejkob> because I don't want to make up two names/operators
2021-02-19 16:02:26 +0100hendursa1(~weechat@gateway/tor-sasl/hendursaga) (Quit: hendursa1)
2021-02-19 16:02:45 +0100hendursaga(~weechat@gateway/tor-sasl/hendursaga)
2021-02-19 16:03:02 +0100carlomagno(~cararell@148.87.23.5)
2021-02-19 16:04:12 +0100stree(~stree@68.36.8.116) (Quit: Caught exception)
2021-02-19 16:04:39 +0100stree(~stree@68.36.8.116)
2021-02-19 16:05:49 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net)
2021-02-19 16:06:03 +0100carlomagno1(~cararell@148.87.23.5)
2021-02-19 16:06:48 +0100davros_(~davros@host86-185-61-33.range86-185.btcentralplus.com) (Ping timeout: 246 seconds)
2021-02-19 16:07:26 +0100carlomagno(~cararell@148.87.23.5) (Ping timeout: 240 seconds)
2021-02-19 16:07:59 +0100 <kuribas> Geekingfrog: the generator must be good, xml cannot be fixed anymore :)
2021-02-19 16:08:16 +0100Wuzzy(~Wuzzy@p5790eb2a.dip0.t-ipconnect.de)
2021-02-19 16:08:26 +0100 <kuribas> geekosaur... Ah he left.
2021-02-19 16:10:25 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-02-19 16:10:38 +0100davros(~davros@host86-185-136-83.range86-185.btcentralplus.com)
2021-02-19 16:12:14 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-02-19 16:12:19 +0100zariuq(~zar@fw1.ciirc.cvut.cz) (Read error: Connection reset by peer)
2021-02-19 16:12:38 +0100zar(~zar@fw1.ciirc.cvut.cz)
2021-02-19 16:14:31 +0100tv-(~tv@unaffiliated/tv-) (Quit: WeeChat 2.9)
2021-02-19 16:15:43 +0100vicfred(~vicfred@unaffiliated/vicfred)
2021-02-19 16:15:47 +0100darjeeling_(~darjeelin@122.245.216.187)
2021-02-19 16:17:41 +0100tv-(~tv@unaffiliated/tv-)
2021-02-19 16:19:03 +0100timCF(~i.tkachuk@200-149-20-81.sta.estpak.ee)
2021-02-19 16:19:15 +0100timCF(~i.tkachuk@200-149-20-81.sta.estpak.ee) (Client Quit)
2021-02-19 16:19:22 +0100ddellacosta(~ddellacos@86.106.143.111) (Remote host closed the connection)
2021-02-19 16:21:33 +0100amerigo(uid331857@gateway/web/irccloud.com/x-vhvftduashcjswei)
2021-02-19 16:26:23 +0100mouseghost(~draco@87-206-9-185.dynamic.chello.pl)
2021-02-19 16:26:23 +0100mouseghost(~draco@87-206-9-185.dynamic.chello.pl) (Changing host)
2021-02-19 16:26:23 +0100mouseghost(~draco@wikipedia/desperek)
2021-02-19 16:26:57 +0100vancoder(~vancoder@195.140.213.38)
2021-02-19 16:27:42 +0100remby(~remby@bras-base-london1483w-grc-11-76-69-70-199.dsl.bell.ca) (Quit: remby)
2021-02-19 16:28:05 +0100remby(~remby@bras-base-london1483w-grc-11-76-69-70-199.dsl.bell.ca)
2021-02-19 16:33:07 +0100cheater(~user@unaffiliated/cheater) (Quit: BitchX: it keeps going and going and going and going and...)
2021-02-19 16:33:48 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 265 seconds)
2021-02-19 16:35:26 +0100dunj4(~dunj3@p200300f61714a678d85584dd45edd0a4.dip0.t-ipconnect.de) (Remote host closed the connection)
2021-02-19 16:36:00 +0100cheater(~user@unaffiliated/cheater)
2021-02-19 16:36:52 +0100Guest90(506fd516@gateway/web/cgi-irc/kiwiirc.com/ip.80.111.213.22) (Ping timeout: 260 seconds)
2021-02-19 16:36:52 +0100pavonia(~user@unaffiliated/siracusa)
2021-02-19 16:37:40 +0100_noblegas(uid91066@gateway/web/irccloud.com/x-wcpcufyxmgobplaq)
2021-02-19 16:37:44 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
2021-02-19 16:38:06 +0100zebrag(~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-02-19 16:38:13 +0100chele(~chele@ip5b40237d.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2021-02-19 16:38:25 +0100zebrag(~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr)
2021-02-19 16:38:40 +0100 <mirrorbird> i just installed ghc/cabal with ghcup, but when i try to run ghc or ghci i get "ghc: can't find a package database at /home/mirrorbird/.cabal/store..." (there's no store dir)
2021-02-19 16:39:07 +0100 <merijn> do you have a .ghc.environment.X file in your working dir?
2021-02-19 16:39:30 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Quit: p-core)
2021-02-19 16:39:41 +0100 <mirrorbird> no
2021-02-19 16:39:44 +0100 <merijn> hmm
2021-02-19 16:39:58 +0100 <mirrorbird> i did have a system install of ghc and cabal before (debian package) but i removed it
2021-02-19 16:40:09 +0100 <merijn> pastebin the full error?
2021-02-19 16:40:11 +0100 <merijn> @where paste
2021-02-19 16:40:11 +0100 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2021-02-19 16:40:30 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2021-02-19 16:40:58 +0100 <mirrorbird> merijn, https://paste.tomsmeding.com/zh7CtVAc
2021-02-19 16:41:13 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Client Quit)
2021-02-19 16:41:43 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2021-02-19 16:41:51 +0100 <merijn> mirrorbird: hmm, possibly left over junk from the debian package, what if you nuke ~/.cabal/ ?
2021-02-19 16:42:08 +0100 <mirrorbird> i think i did before...
2021-02-19 16:42:21 +0100 <mirrorbird> yeah, i did ls -la, it's all created just now
2021-02-19 16:42:39 +0100 <merijn> mirrorbird: Did you nuke ~/.ghc too?
2021-02-19 16:42:41 +0100deviantfero(~deviantfe@190.150.27.58)
2021-02-19 16:43:00 +0100 <mirrorbird> yeah
2021-02-19 16:43:03 +0100idhugo__(~idhugo@80-62-117-86-mobile.dk.customer.tdc.net) (Remote host closed the connection)
2021-02-19 16:43:05 +0100DataComputist(~lumeng@50.43.26.251) (Ping timeout: 240 seconds)
2021-02-19 16:43:47 +0100 <merijn> "Loaded package environment from /home/mirrorbird/.ghc/x86_64-linux-8.10.4/environments/default" <- this is telling it to look for a package database in the store dir, which doesn't exist, so I wonder what set it up to look there
2021-02-19 16:44:14 +0100idhugo(~idhugo@80-62-117-86-mobile.dk.customer.tdc.net)
2021-02-19 16:44:24 +0100 <mirrorbird> presumably ghcup
2021-02-19 16:44:33 +0100 <mirrorbird> hmm
2021-02-19 16:44:38 +0100 <merijn> ghcup doesn't touch ~/.ghc, afaik?
2021-02-19 16:44:56 +0100 <merijn> I don't seem to have anything recent in my ~/.ghc besides ghci history
2021-02-19 16:45:08 +0100 <mirrorbird> so... how does it download new ghc versions?
2021-02-19 16:45:20 +0100 <mirrorbird> because it downloaded 8.10.4 for me
2021-02-19 16:45:48 +0100 <merijn> Pretty sure ghcup uses sub directories of .ghcup to put GHC versions and then only controls symlinks to select one
2021-02-19 16:45:53 +0100hendursaga(~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 268 seconds)
2021-02-19 16:46:04 +0100 <mirrorbird> hmmm
2021-02-19 16:46:11 +0100 <maerwald> yes
2021-02-19 16:46:27 +0100hendursa1(~weechat@gateway/tor-sasl/hendursaga)
2021-02-19 16:46:30 +0100 <mirrorbird> so where is this ~/.ghc coming from anyway?
2021-02-19 16:46:36 +0100 <mirrorbird> can i remove it? it only has the environment config in it
2021-02-19 16:47:06 +0100 <merijn> mirrorbird: Try nuking both ~/.ghc and ~/.cabal again and then running ghci again
2021-02-19 16:47:09 +0100 <mirrorbird> i did. it works
2021-02-19 16:47:17 +0100 <mirrorbird> no idea why it had that config file and nothing else
2021-02-19 16:47:21 +0100 <mirrorbird> ty
2021-02-19 16:47:32 +0100 <merijn> Like I said, I suspect leftover from debian package
2021-02-19 16:47:47 +0100stree(~stree@68.36.8.116) (Quit: Caught exception)
2021-02-19 16:48:11 +0100stree(~stree@68.36.8.116)
2021-02-19 16:48:16 +0100danza(~francesco@151.74.103.107) (Quit: Leaving)
2021-02-19 16:48:22 +0100heatsink(~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c)
2021-02-19 16:48:36 +0100idhugo(~idhugo@80-62-117-86-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds)
2021-02-19 16:48:36 +0100 <mirrorbird> ok
2021-02-19 16:49:02 +0100 <merijn> mirrorbird: The default environment is used when you use "cabal install --lib" iirc
2021-02-19 16:49:25 +0100 <mirrorbird> it tells me to use --lib when i try to install libs
2021-02-19 16:50:24 +0100 <merijn> mirrorbird: Yeah, don't install libs :p
2021-02-19 16:50:51 +0100 <merijn> (that's an oversimplification of the situation, but a decent simple heuristic)
2021-02-19 16:51:09 +0100michalz(~user@185.246.204.79) (Remote host closed the connection)
2021-02-19 16:51:34 +0100 <merijn> mirrorbird: That tries to behave like a "global" install, but "global" instance are just an incredibly broken idea that's best avoided
2021-02-19 16:53:26 +0100heatsink(~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c) (Ping timeout: 264 seconds)
2021-02-19 16:53:35 +0100hendursa1(~weechat@gateway/tor-sasl/hendursaga) (Quit: hendursa1)
2021-02-19 16:53:48 +0100hendursaga(~weechat@gateway/tor-sasl/hendursaga)
2021-02-19 16:53:57 +0100deviantfero(~deviantfe@190.150.27.58) (Quit: WeeChat 3.0)
2021-02-19 16:54:01 +0100shad0w_(a0ca2510@160.202.37.16)
2021-02-19 16:54:15 +0100 <mirrorbird> so... what should i do
2021-02-19 16:55:03 +0100 <merijn> mirrorbird: The best workflow is to use a .cabal file to handle installs for libraries you use
2021-02-19 16:55:09 +0100 <mirrorbird> ah
2021-02-19 16:55:12 +0100 <mirrorbird> so it's installed per project?
2021-02-19 16:55:25 +0100 <merijn> mirrorbird: Sorta, not quite
2021-02-19 16:55:29 +0100 <mirrorbird> i think stack does this stuff but it also installs GHC per-project. i don't have that kinda disk space
2021-02-19 16:55:41 +0100 <mirrorbird> it's installed globally but defined per project with a version
2021-02-19 16:55:42 +0100 <mirrorbird> ?
2021-02-19 16:55:42 +0100 <shad0w_> hi all. i am having troubles installing haskell on aarch64
2021-02-19 16:56:02 +0100 <shad0w_> i did manage to install ghc manually
2021-02-19 16:56:05 +0100 <merijn> mirrorbird: Basically, every package is tagged with a hash of it's version, config, transitive dependencies, etc. and that's installed in the global store (the ~/.cabal/store directory)
2021-02-19 16:56:10 +0100 <mirrorbird> shad0w_, upgrade to Agda
2021-02-19 16:56:15 +0100 <shad0w_> but i am at the end of my wits on cabal
2021-02-19 16:56:30 +0100 <merijn> mirrorbird: Which means you can have unboundedly many different (potentially conflicting) installs of the same package
2021-02-19 16:56:33 +0100 <shad0w_> cabal-install has no aarch64 binaries
2021-02-19 16:56:37 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection)
2021-02-19 16:56:56 +0100 <shad0w_> building from source is giving me all sorts of weird stuff lol
2021-02-19 16:56:58 +0100 <merijn> mirrorbird: cabal then selectively makes coherent subsets of the store available to projects you have
2021-02-19 16:57:04 +0100 <mirrorbird> merijn, yeah sounds gooder
2021-02-19 16:57:14 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2021-02-19 16:57:24 +0100acidjnk_new2(~acidjnk@p200300d0c7390926a05b4912fb2bf4b2.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2021-02-19 16:57:28 +0100 <merijn> mirrorbird: So it behaves *as if* the dependencies are installed per project, except they can still be shared IFF they're exactly the same between projects
2021-02-19 16:57:45 +0100remby(~remby@bras-base-london1483w-grc-11-76-69-70-199.dsl.bell.ca) (Quit: remby)
2021-02-19 16:57:49 +0100 <shad0w_> mirrorbird: agda? i barelly started heads and tails (no pun) of haskell
2021-02-19 16:58:04 +0100 <shad0w_> started understanding*
2021-02-19 16:58:04 +0100 <mirrorbird> haskell is used in industry, therefore it is no longer god tier
2021-02-19 16:58:13 +0100 <mirrorbird> if you want god tier you need agda or something more obscure
2021-02-19 16:58:34 +0100 <shad0w_> not sure if you're trolling ?
2021-02-19 16:58:38 +0100 <mirrorbird> yeah
2021-02-19 16:58:58 +0100 <merijn> mirrorbird: Some people dislike having a cabal file for even trivial 1 module program/projects, but personally I think that's a fairly trivial price to pay
2021-02-19 16:59:31 +0100 <mirrorbird> well now i seem to have cabal globally installed
2021-02-19 16:59:36 +0100 <mirrorbird> sorry, parsec
2021-02-19 16:59:38 +0100 <mirrorbird> for now
2021-02-19 16:59:42 +0100 <shad0w_> i'd pay that price happily
2021-02-19 16:59:43 +0100 <mirrorbird> well at least ghc is working again..
2021-02-19 16:59:52 +0100 <shad0w_> if only i could get cabal to actually install
2021-02-19 16:59:56 +0100 <mirrorbird> shad0w_, which method did you use?
2021-02-19 17:00:05 +0100 <mirrorbird> pacman, ghcup or haskell platform?
2021-02-19 17:00:06 +0100 <merijn> mirrorbird: And if you put "write-ghc-environment-files: always" in ~/.cabal/config then cabal will create .ghc.environment file in your project dirs which ghci will pick up so that "ghci" in a project directory will automatically get you access to the dependencies
2021-02-19 17:00:15 +0100 <shad0w_> ghcup flat out refuses to work
2021-02-19 17:00:15 +0100 <mirrorbird> ah
2021-02-19 17:00:31 +0100 <shad0w_> "unknown arch aarch64"
2021-02-19 17:00:50 +0100 <merijn> mirrorbird: parsec and ~35 other packages are always installed globally because they're dependencies of GHC and/or Cabal
2021-02-19 17:01:09 +0100 <shad0w_> i then went to the ghc downloads and grabbed the 8.10.4 aarch tar file from there and manually installed it from there
2021-02-19 17:01:12 +0100 <mirrorbird> merijn, ah. it didn't work on my system install ._.
2021-02-19 17:01:21 +0100 <mirrorbird> so i tried cabal install parsec, and it didn't work. hence ghcup and all this
2021-02-19 17:03:06 +0100 <mirrorbird> so. i am using parsec for the first time. am i supposed to understand exactly what the Parser monad is doing behind the scenes? like, typically, when introduced to some monad
2021-02-19 17:03:45 +0100 <mirrorbird> the little book i'm following says it's a "way to structure computations", so i can just treat it like an interface
2021-02-19 17:04:22 +0100 <merijn> mirrorbird: I don't think you have to, some basic understanding of a simple (inefficient) parser combinator can help, but the exact details of how Parsec is implemented isn't that important
2021-02-19 17:04:34 +0100 <c_wraith> It's keeping track of the input and how much of it has been used in the background. that's really all you need to know.
2021-02-19 17:04:59 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Quit: p-core)
2021-02-19 17:05:22 +0100 <merijn> mirrorbird: You can try reimplementing a simple (and super inefficient!) parser combinator yourself fairly easily
2021-02-19 17:05:44 +0100 <merijn> mirrorbird: "newtype Parser a = MkParser (String -> Maybe (a, String))"
2021-02-19 17:06:43 +0100 <merijn> parseChar :: Parser Char; parseChar = MkParser (\s -> case s of [] -> Nothing; (c:cs) -> Just (c, cs)" and continue building more complicated things from there :p
2021-02-19 17:07:03 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-02-19 17:07:07 +0100LKoen(~LKoen@161.169.9.109.rev.sfr.net) (Remote host closed the connection)
2021-02-19 17:07:10 +0100perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2021-02-19 17:07:19 +0100 <mirrorbird> MkParser is from parsec?
2021-02-19 17:07:24 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 17:07:27 +0100 <merijn> mirrorbird: No, that's something I invented
2021-02-19 17:07:30 +0100 <mirrorbird> ah
2021-02-19 17:07:47 +0100 <merijn> mirrorbird: That example is *wildly* inefficient, but it's a good mental picture of what's going
2021-02-19 17:08:08 +0100remby(~remby@bras-base-london1483w-grc-11-76-69-70-199.dsl.bell.ca)
2021-02-19 17:08:11 +0100 <merijn> mirrorbird: "real" parser combinator libraries have a more complicated approach to handle back tracking, errors, etc. more efficiently
2021-02-19 17:08:34 +0100 <merijn> mirrorbird: But you *can* definitely built an entire thing based on my example
2021-02-19 17:08:36 +0100toorevitimirp(~tooreviti@117.182.181.253) (Remote host closed the connection)
2021-02-19 17:10:12 +0100 <shad0w_> ugh. HTTP package upperbound
2021-02-19 17:10:19 +0100LKoen(~LKoen@161.169.9.109.rev.sfr.net)
2021-02-19 17:10:56 +0100utdemir[m](utdemirmat@gateway/shell/matrix.org/x-etixmzdenmklftaw) (Ping timeout: 240 seconds)
2021-02-19 17:10:59 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2021-02-19 17:11:13 +0100Robin[m]2(robinrobin@gateway/shell/matrix.org/x-oenrzerwnqdlodsu) (Ping timeout: 258 seconds)
2021-02-19 17:11:13 +0100brightly-salty[m(brightly-s@gateway/shell/matrix.org/x-jqufomhtyszvsmsq) (Ping timeout: 258 seconds)
2021-02-19 17:11:13 +0100DamienCassou(damiencass@gateway/shell/matrix.org/x-ehririswtvvgitdp) (Ping timeout: 258 seconds)
2021-02-19 17:11:28 +0100utdemir[m](utdemirmat@gateway/shell/matrix.org/x-ooablpupuwhzomuh)
2021-02-19 17:11:45 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2021-02-19 17:11:49 +0100Robin[m]2(robinrobin@gateway/shell/matrix.org/x-qphxaxtkmuztcpcw)
2021-02-19 17:12:40 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:5897:b7e5:bdc6:bd01)
2021-02-19 17:14:29 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-02-19 17:15:26 +0100Lurkki[m](lurkkipriv@gateway/shell/matrix.org/x-ifysnhrhmhtvxswn) (Ping timeout: 240 seconds)
2021-02-19 17:15:55 +0100phittacus(bklmatrixo@gateway/shell/matrix.org/x-wukauznmspndycqi) (Ping timeout: 272 seconds)
2021-02-19 17:15:56 +0100Lurkki[m]1(lurkkifene@gateway/shell/matrix.org/x-hvcdkotidxdodjzo) (Ping timeout: 240 seconds)
2021-02-19 17:16:29 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-02-19 17:16:42 +0100shad0w_(a0ca2510@160.202.37.16) (Ping timeout: 240 seconds)
2021-02-19 17:17:08 +0100phittacus(bklmatrixo@gateway/shell/matrix.org/x-gwycjuommpiiwoem)
2021-02-19 17:18:20 +0100Lurkki[m](lurkkipriv@gateway/shell/matrix.org/x-vlaovxmnmfvldkrr)
2021-02-19 17:19:23 +0100akhov(~akh@89.45.7.204)
2021-02-19 17:21:17 +0100 <ph88> hey guys. I have a data type similar to data MyContainer = MyValue a | MyMoreValue (MyContainer a) a i would like to use it together with a function like f (MyValue _) = True; f _ = False not directly using this function, but using a helper function like foldl' that goes through the recursive type until the end or until a condition is met. Does anyone know such a helper function ?
2021-02-19 17:21:37 +0100 <ph88> that should be data MyContainer a = ... by the way
2021-02-19 17:23:59 +0100pjb(~t@2a01cb04063ec500e957b7f6a07fc93a.ipv6.abo.wanadoo.fr) (Ping timeout: 246 seconds)
2021-02-19 17:24:24 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:5897:b7e5:bdc6:bd01) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-19 17:25:20 +0100DamienCassou(damiencass@gateway/shell/matrix.org/x-cdrscbrrnlsyfxmv)
2021-02-19 17:25:55 +0100brightly-salty[m(brightly-s@gateway/shell/matrix.org/x-snmrzfzjcxolluhr)
2021-02-19 17:26:05 +0100remby(~remby@bras-base-london1483w-grc-11-76-69-70-199.dsl.bell.ca) (Quit: remby)
2021-02-19 17:28:00 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-02-19 17:28:43 +0100pjb(~t@2a01cb04063ec5000d634482ebf2e83c.ipv6.abo.wanadoo.fr)
2021-02-19 17:28:44 +0100alx741(~alx741@181.196.68.69)
2021-02-19 17:30:07 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2021-02-19 17:30:21 +0100Lurkki[m]1(lurkkifene@gateway/shell/matrix.org/x-zarozkxjqrysvbzp)
2021-02-19 17:30:26 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection)
2021-02-19 17:30:50 +0100Guest_6(2f0f71ab@47.15.113.171)
2021-02-19 17:31:17 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2021-02-19 17:32:26 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-02-19 17:33:33 +0100 <Guest_6> how to uninstall older ghc verions?
2021-02-19 17:33:33 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:ac0a:212f:8c2a:8e74)
2021-02-19 17:34:00 +0100heatsink(~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c)
2021-02-19 17:34:11 +0100conal(~conal@64.71.133.70)
2021-02-19 17:35:39 +0100 <merijn> Guest_6: How did you install them?
2021-02-19 17:36:11 +0100 <Guest_6> well I had installed the haskell platform.
2021-02-19 17:36:24 +0100 <merijn> Haskell platform should have an uninstaller, iirc
2021-02-19 17:38:06 +0100zebrag(~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-02-19 17:38:10 +0100jcjf(AdiIRC@203-219-235-226.static.tpgi.com.au)
2021-02-19 17:38:25 +0100zebrag(~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr)
2021-02-19 17:38:32 +0100jcjf(AdiIRC@203-219-235-226.static.tpgi.com.au) (Client Quit)
2021-02-19 17:39:20 +0100jcjf(AdiIRC@203-219-235-226.static.tpgi.com.au)
2021-02-19 17:39:28 +0100son0p(~son0p@181.136.122.143) (Ping timeout: 272 seconds)
2021-02-19 17:39:57 +0100jcjf(AdiIRC@203-219-235-226.static.tpgi.com.au) (Client Quit)
2021-02-19 17:40:23 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-rkfjjfjswoaocqaj)
2021-02-19 17:40:39 +0100ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net)
2021-02-19 17:42:04 +0100 <Guest_6> i dont think it does. I use ubuntu.
2021-02-19 17:43:09 +0100 <monochrom> Answers are no more detailed than questions.
2021-02-19 17:43:15 +0100forgottenone(~forgotten@176.42.28.68)
2021-02-19 17:43:51 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Ping timeout: 268 seconds)
2021-02-19 17:44:22 +0100davros(~davros@host86-185-136-83.range86-185.btcentralplus.com) (Ping timeout: 265 seconds)
2021-02-19 17:45:31 +0100 <Guest_6> ?? I was having trouble with cabal versions. someone recommended I use ghcup. so I installed ghcup and ghcup installed ghc and cabal versions I wanted. but system still referring to old versions.
2021-02-19 17:45:31 +0100 <lambdabot> I was having trouble with cabal versions. someone recommended I use ghcup. so I installed ghcup and ghcup installed ghc and cabal versions I wanted. but system still referring to old versions.
2021-02-19 17:45:35 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2021-02-19 17:46:02 +0100 <maerwald> ?? lol
2021-02-19 17:46:02 +0100 <lambdabot> lol
2021-02-19 17:46:18 +0100 <merijn> Interesting
2021-02-19 17:46:22 +0100 <monochrom> What steps did you do to install the old version? For example was it "apt-get"? What was it?
2021-02-19 17:46:40 +0100cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0.1)
2021-02-19 17:47:13 +0100 <Guest_6> Yes
2021-02-19 17:47:21 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-02-19 17:47:31 +0100 <monochrom> So use "apt-get remove" or something
2021-02-19 17:47:32 +0100 <Guest_6> "sudo apt-get install haskell-platform"
2021-02-19 17:48:03 +0100davros(~davros@host86-184-190-159.range86-184.btcentralplus.com)
2021-02-19 17:49:55 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-19 17:49:57 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2021-02-19 17:50:43 +0100seye(~seye@79-74-139-62.dynamic.dsl.as9105.com) (Remote host closed the connection)
2021-02-19 17:50:46 +0100 <aldum> you likely need to add the ghcup bindir to your PATH and set the version you want with ghcup
2021-02-19 17:51:08 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection)
2021-02-19 17:51:37 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2021-02-19 17:51:45 +0100DataComputist(~lumeng@50.43.26.251)
2021-02-19 17:52:18 +0100 <monochrom> ghcup would have reminded you of that.
2021-02-19 17:53:11 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Client Quit)
2021-02-19 17:53:30 +0100 <monochrom> The author painstakingly coded up an elaborate algorithm to auto-detect which OS you're on and give tailor-made instructions.
2021-02-19 17:53:37 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2021-02-19 17:53:46 +0100 <monochrom> I don't want to see all that work go down the drain.
2021-02-19 17:54:48 +0100revtintin(~revtintin@42.61.242.247) (Quit: WeeChat 1.9.1)
2021-02-19 17:55:09 +0100 <Guest_6> Well at the end of ghcup installation it said: If you want ghcup to automatically add the required PATH variable to "../.bashrc"answer with YES, otherwise with NO and press ENTER. I said YES and that was all.
2021-02-19 17:55:33 +0100 <c_wraith> I think ghcup has trouble with macs when your shell is bash but the system default is zsh
2021-02-19 17:56:07 +0100 <merijn> tbh, I think the value of ghcup is marginal on macOS anyway
2021-02-19 17:56:20 +0100 <merijn> On linux it can be hard to figure out which GHC bindist to get
2021-02-19 17:56:28 +0100 <merijn> There is only one macOS bindist :p
2021-02-19 17:56:31 +0100terrorjack(~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com) (Read error: Connection reset by peer)
2021-02-19 17:56:42 +0100 <monochrom> What macOS? I thought I heard "ubuntu".
2021-02-19 17:56:47 +0100 <Guest_6> I am not using mac, lol.
2021-02-19 17:56:53 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Client Quit)
2021-02-19 17:57:07 +0100 <c_wraith> I was mostly pointing out that there are cases where ghcup updates the wrong config
2021-02-19 17:57:31 +0100jamm_(~jamm@unaffiliated/jamm)
2021-02-19 17:57:35 +0100 <maerwald> merijn: it's more popular on mac than on linux
2021-02-19 17:57:38 +0100 <c_wraith> however, it's also possible that it updated the right config and you just need to start a new shell so that it sees the changes
2021-02-19 17:57:42 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2021-02-19 17:57:51 +0100terrorjack(~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com)
2021-02-19 17:58:05 +0100 <merijn> maerwald: Well, in my defense I don't say anything about popularity ;)
2021-02-19 17:58:21 +0100 <maerwald> merijn: yeah, usefulness is subjective I guess
2021-02-19 17:58:33 +0100 <c_wraith> unrelated.. how long until there are two ghc bindists on mac?
2021-02-19 17:58:56 +0100 <merijn> c_wraith: 9.2 is going to be the first with a native build, iirc
2021-02-19 17:59:04 +0100 <c_wraith> ok, so not that long.
2021-02-19 17:59:12 +0100 <merijn> c_wraith: codegen won't be finished before then
2021-02-19 17:59:18 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-19 17:59:19 +0100 <monochrom> . o O ( McAfee Antivrius has only marginal value on Windows but very popular there... )
2021-02-19 17:59:19 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 17:59:35 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection)
2021-02-19 17:59:38 +0100ep1ctetus(~epictetus@ip72-194-215-136.sb.sd.cox.net)
2021-02-19 17:59:39 +0100 <ephemient> a single bindist with fat binaries would be possible, probably?
2021-02-19 17:59:49 +0100 <Guest_6> c_wraith yes, that was it. Thank you!
2021-02-19 17:59:54 +0100 <sclv> what did you just call my binaries???
2021-02-19 18:00:08 +0100 <ephemient> apt-get remove haskell-platform; apt-get autoremove
2021-02-19 18:00:10 +0100 <merijn> ephemient: Yeah, but as someone who likes fat binaries that seems excessive :)
2021-02-19 18:00:23 +0100 <c_wraith> Guest_6: yeah, shells only read those config files at startup, unless you tell them otherwise. starting a new one is the cleanest way to check for that
2021-02-19 18:01:02 +0100 <merijn> ephemient: I mean, GHC is already fairly sizable, and I don't think doubling that size is that ideal :)
2021-02-19 18:01:11 +0100geekosaur(82650c7a@130.101.12.122)
2021-02-19 18:01:24 +0100 <akhov> Hi. I'm looking to play music of various formats (mp3, aac, flac, etc.) from haskell. I'm not familiar with sound libraries for haskell. I'm currently trying with sdl2-mixer, which seems to work okay, but I'd like to hear if there are other good library options for this task. Any ideas?
2021-02-19 18:01:50 +0100 <sclv> fat binary CURLs you make the rockin world go round
2021-02-19 18:02:36 +0100 <ephemient> merijn: yeah I don't think it is a good idea either, just that it's possible :)
2021-02-19 18:02:54 +0100mananamenos(~mananamen@37.red-88-27-26.staticip.rima-tde.net)
2021-02-19 18:06:30 +0100jamm__(~jamm@unaffiliated/jamm)
2021-02-19 18:06:30 +0100conal(~conal@64.71.133.70)
2021-02-19 18:09:45 +0100zhulikas(~derp@hmm.wantstofly.org) (Ping timeout: 272 seconds)
2021-02-19 18:09:45 +0100abuss(~abuss@cryptarch.net) (Ping timeout: 272 seconds)
2021-02-19 18:11:17 +0100rembo10(~rembo10@wally.codeshy.com) (Remote host closed the connection)
2021-02-19 18:12:14 +0100comboy(~quassel@tesuji.pl) (Remote host closed the connection)
2021-02-19 18:15:22 +0100kuribas(~user@ptr-25vy0i7m118p8sxvfsb.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2021-02-19 18:16:27 +0100Marissa(Marissa@33.anserq.com) (Quit: Marissa)
2021-02-19 18:16:52 +0100Guest_6(2f0f71ab@47.15.113.171) (Quit: Connection closed)
2021-02-19 18:16:52 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-02-19 18:16:52 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
2021-02-19 18:16:52 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
2021-02-19 18:16:52 +0100deviantfero(~deviantfe@190.150.27.58)
2021-02-19 18:16:52 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-02-19 18:16:52 +0100jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 240 seconds)
2021-02-19 18:16:53 +0100 <ephemient> sclv: if SDL works for you then great, I don't think any of the alternatives are up to date
2021-02-19 18:16:53 +0100 <monochrom> do you mean akhov?
2021-02-19 18:16:53 +0100 <ephemient> oops, I did mean akhov
2021-02-19 18:16:53 +0100 <ephemient> I remember using the Xine bindings in the past, but both Xine and the bindings are pretty outdated by now
2021-02-19 18:16:53 +0100 <polyphem> akhov: hsndfile letsyou load all kinds of files doesnt play though
2021-02-19 18:16:53 +0100zhulikas_(~derp@hmm.wantstofly.org)
2021-02-19 18:16:53 +0100jcarpenter2(~rofl@96.78.87.197)
2021-02-19 18:16:53 +0100francesco_(~francesco@host-82-49-79-189.retail.telecomitalia.it)
2021-02-19 18:16:53 +0100cheater1(~user@unaffiliated/cheater)
2021-02-19 18:16:53 +0100tzh_(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-02-19 18:16:53 +0100abuss_(~abuss@cryptarch.net)
2021-02-19 18:16:54 +0100smerdyakov99(~dan@5.146.194.90)
2021-02-19 18:16:54 +0100dorkside8(~tdbgamer@208.190.197.222)
2021-02-19 18:16:54 +0100 <sclv> lots on this page is probably pretty out of date but it does have pointers to various things
2021-02-19 18:16:54 +0100 <sclv> https://wiki.haskell.org/Applications_and_libraries/Music_and_sound
2021-02-19 18:16:54 +0100 <ephemient> it probably wouldn't be hard to write your own bindings to libao for playback while using hsndfile for decoding
2021-02-19 18:16:54 +0100madnificent_(~madnifice@static.210.74.63.178.clients.your-server.de)
2021-02-19 18:16:54 +0100lep_(~lep@94.31.86.183)
2021-02-19 18:16:54 +0100xwvvvvwx-(xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx)
2021-02-19 18:16:54 +0100[tby](~tby@193.234.28.91)
2021-02-19 18:16:54 +0100 <ephemient> (although I don't see any benefit to that over sdl)
2021-02-19 18:16:54 +0100 <polyphem> akhov: ... you have access to the sample data , then you can choose your playing backend like jack/pulse , or windows/macos
2021-02-19 18:16:55 +0100inkbottle(~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr)
2021-02-19 18:16:55 +0100dh(dh@bsd.ee) (Disconnected by services)
2021-02-19 18:16:55 +0100rembo10_(~rembo10@wally.codeshy.com)
2021-02-19 18:16:55 +0100dh_(dh@bsd.ee)
2021-02-19 18:16:55 +0100Anthaas_(~Anthaas@unaffiliated/anthaas)
2021-02-19 18:16:55 +0100Lord_of_Life_(~Lord@unaffiliated/lord-of-life/x-0885362)
2021-02-19 18:16:55 +0100 <ephemient> libao unifies the possible backends on different platforms with a single API. but so does sdl
2021-02-19 18:16:55 +0100ManofLetters(~mikon@duch.mimuw.edu.pl)
2021-02-19 18:16:56 +0100quinn_(~quinn@c-73-223-224-163.hsd1.ca.comcast.net)
2021-02-19 18:16:56 +0100 <geekosaur> sdl carries a bunch of other unnecessary-for-this stuff, though, since its primary purpose is graphics and the sound support is mostly to ensure sound is synchronized with the graphics
2021-02-19 18:16:56 +0100Kneiva(kneiva@raah.fi)
2021-02-19 18:16:56 +0100bobbytab1es(~bobbytabl@ec2-44-224-191-138.us-west-2.compute.amazonaws.com)
2021-02-19 18:16:56 +0100Tordek_(tordek@gateway/shell/blinkenshell.org/x-nqrlseprzuujscsp)
2021-02-19 18:16:56 +0100juri__(~juri@178.63.35.222)
2021-02-19 18:16:56 +0100theDon_(~td@muedsl-82-207-238-165.citykom.de)
2021-02-19 18:16:56 +0100ridcully__(~ridcully@pd951f269.dip0.t-ipconnect.de)
2021-02-19 18:16:56 +0100kumo(~kumo@139.180.144.166)
2021-02-19 18:16:56 +0100Patternm1ster(~georg@li1192-118.members.linode.com)
2021-02-19 18:16:56 +0100newsham_(~ubuntu@ec2-18-218-216-88.us-east-2.compute.amazonaws.com)
2021-02-19 18:16:56 +0100tsaka__(~torstein@2a02:587:1b14:d00:5ec3:abec:812c:b3e2)
2021-02-19 18:16:56 +0100Chousuke_(oranenj@130.230.72.140)
2021-02-19 18:16:56 +0100kfm(~weechat@static.173.83.99.88.clients.your-server.de)
2021-02-19 18:16:56 +0100oleks_(~oleks@188.166.34.97)
2021-02-19 18:16:56 +0100afreakk(~wut@ec2-3-122-177-136.eu-central-1.compute.amazonaws.com)
2021-02-19 18:16:56 +0100voidcontext(~pgee@178.62.100.221)
2021-02-19 18:16:56 +0100SIben_(~SIben@101.ip-164-132-107.eu)
2021-02-19 18:16:56 +0100AWizzArd_(~code@gehrels.uberspace.de)
2021-02-19 18:16:56 +0100comboy(~quassel@tesuji.pl)
2021-02-19 18:16:56 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2021-02-19 18:16:57 +0100kenran(~kenran@i577BCDAF.versanet.de)
2021-02-19 18:16:57 +0100 <ephemient> it's just nice that sdl_mixer is is all in one, you can just give audio files to it directly
2021-02-19 18:16:57 +0100 <ephemient> that's what I used to use Xine for, but I don't recommend that this decade
2021-02-19 18:16:57 +0100loc_(~loc@unaffiliated/loc)
2021-02-19 18:16:57 +0100Geekingfrog(~geekingfr@li2156-64.members.linode.com) (Quit: ZNC 1.8.2 - https://znc.in)
2021-02-19 18:16:57 +0100Geekingfrog(~geekingfr@li2156-64.members.linode.com)
2021-02-19 18:16:57 +0100Marissa(Marissa@33.anserq.com)
2021-02-19 18:17:28 +0100gareth__-(~gareth__@104.236.161.134)
2021-02-19 18:17:30 +0100Cthalupa-(~cthulhu@47.186.47.75)
2021-02-19 18:17:30 +0100jdt_(~jdt@208.85.233.130)
2021-02-19 18:18:05 +0100acro_(~acro@188.166.31.185)
2021-02-19 18:18:05 +0100acro_(~acro@188.166.31.185) (Changing host)
2021-02-19 18:18:05 +0100acro_(~acro@unaffiliated/acro)
2021-02-19 18:18:44 +0100ridcully__ridcully
2021-02-19 18:18:44 +0100ridcully(~ridcully@pd951f269.dip0.t-ipconnect.de) (Client Quit)
2021-02-19 18:18:44 +0100conal_(~conal@64.71.133.70)
2021-02-19 18:18:46 +0100ridcully(~ridcully@pd951f269.dip0.t-ipconnect.de)
2021-02-19 18:18:48 +0100conal(~conal@64.71.133.70) (*.net *.split)
2021-02-19 18:18:48 +0100zebrag(~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr) (*.net *.split)
2021-02-19 18:18:48 +0100cheater(~user@unaffiliated/cheater) (*.net *.split)
2021-02-19 18:18:49 +0100vancoder(~vancoder@195.140.213.38) (*.net *.split)
2021-02-19 18:18:49 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (*.net *.split)
2021-02-19 18:18:49 +0100todda7(~torstein@athedsl-258913.home.otenet.gr) (*.net *.split)
2021-02-19 18:18:49 +0100bergey```(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (*.net *.split)
2021-02-19 18:18:49 +0100theDon(~td@muedsl-82-207-238-165.citykom.de) (*.net *.split)
2021-02-19 18:18:49 +0100clog(~nef@bespin.org) (*.net *.split)
2021-02-19 18:18:49 +0100Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it) (*.net *.split)
2021-02-19 18:18:50 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (*.net *.split)
2021-02-19 18:18:50 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (*.net *.split)
2021-02-19 18:18:50 +0100gareth__(~gareth__@104.236.161.134) (*.net *.split)
2021-02-19 18:18:50 +0100Cthalupa(~cthulhu@47.186.47.75) (*.net *.split)
2021-02-19 18:18:50 +0100juri_(~juri@178.63.35.222) (*.net *.split)
2021-02-19 18:18:50 +0100kmein(~weechat@static.173.83.99.88.clients.your-server.de) (*.net *.split)
2021-02-19 18:18:50 +0100jrqc(~rofl@96.78.87.197) (*.net *.split)
2021-02-19 18:18:50 +0100Tordek(tordek@gateway/shell/blinkenshell.org/x-vlalsbbinvvnpydl) (*.net *.split)
2021-02-19 18:18:50 +0100madnificent(~madnifice@static.210.74.63.178.clients.your-server.de) (*.net *.split)
2021-02-19 18:18:50 +0100dorkside(~tdbgamer@208.190.197.222) (*.net *.split)
2021-02-19 18:18:50 +0100deu(de@uio.re) (*.net *.split)
2021-02-19 18:18:50 +0100Chousuke(oranenj@130.230.72.140) (*.net *.split)
2021-02-19 18:18:50 +0100Kneiva_(kneiva@raah.fi) (*.net *.split)
2021-02-19 18:18:50 +0100acro(~acro@unaffiliated/acro) (*.net *.split)
2021-02-19 18:18:50 +0100bobbytables(~bobbytabl@ec2-44-224-191-138.us-west-2.compute.amazonaws.com) (*.net *.split)
2021-02-19 18:18:50 +0100ridcully_(~ridcully@pd951f269.dip0.t-ipconnect.de) (*.net *.split)
2021-02-19 18:18:50 +0100mikolaj_(~mikon@duch.mimuw.edu.pl) (*.net *.split)
2021-02-19 18:18:50 +0100voidcont1xt(~pgee@178.62.100.221) (*.net *.split)
2021-02-19 18:18:50 +0100hololeap(~hololeap@unaffiliated/hololeap) (*.net *.split)
2021-02-19 18:18:50 +0100jdt(~jdt@208.85.233.130) (*.net *.split)
2021-02-19 18:18:51 +0100Moyst_(~moyst@212-149-213-144.bb.dnainternet.fi) (*.net *.split)
2021-02-19 18:18:51 +0100smerdyakov9(~dan@5.146.194.90) (*.net *.split)
2021-02-19 18:18:51 +0100AWizzArd(~code@gehrels.uberspace.de) (*.net *.split)
2021-02-19 18:18:51 +0100lep-delete(~lep@94.31.86.183) (*.net *.split)
2021-02-19 18:18:51 +0100kum0(~kumo@139.180.144.166) (*.net *.split)
2021-02-19 18:18:51 +0100quinn(~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (*.net *.split)
2021-02-19 18:18:51 +0100Anthaas(~Anthaas@unaffiliated/anthaas) (*.net *.split)
2021-02-19 18:18:51 +0100tby(~tby@unaffiliated/tby) (*.net *.split)
2021-02-19 18:18:51 +0100xwvvvvwx(xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx) (*.net *.split)
2021-02-19 18:18:51 +0100newsham(~ubuntu@ec2-18-218-216-88.us-east-2.compute.amazonaws.com) (*.net *.split)
2021-02-19 18:18:51 +0100oleks(~oleks@188.166.34.97) (*.net *.split)
2021-02-19 18:18:51 +0100SIben(~SIben@101.ip-164-132-107.eu) (*.net *.split)
2021-02-19 18:18:51 +0100loc(~loc@unaffiliated/loc) (*.net *.split)
2021-02-19 18:18:51 +0100coddinkn(~coddinkn@octayn.net) (*.net *.split)
2021-02-19 18:18:51 +0100afreak(~wut@ec2-3-122-177-136.eu-central-1.compute.amazonaws.com) (*.net *.split)
2021-02-19 18:18:51 +0100Patternmaster(~georg@li1192-118.members.linode.com) (*.net *.split)
2021-02-19 18:18:51 +0100acro_acro
2021-02-19 18:18:51 +0100xwvvvvwx-xwvvvvwx
2021-02-19 18:18:52 +0100Lord_of_Life_Lord_of_Life
2021-02-19 18:18:52 +0100dorkside8dorkside
2021-02-19 18:18:55 +0100cheater1cheater
2021-02-19 18:18:59 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Client Quit)
2021-02-19 18:19:15 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-02-19 18:19:32 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-02-19 18:19:46 +0100theDon_theDon
2021-02-19 18:19:57 +0100deu(de@uio.re)
2021-02-19 18:21:12 +0100adamse(sid72084@gateway/web/irccloud.com/x-nfjyclyjqzkoolro) (Ping timeout: 246 seconds)
2021-02-19 18:21:12 +0100 <akhov> Thanks, I'll need to look into some of these options.
2021-02-19 18:21:17 +010007IAAUNM6(~user@unaffiliated/cheater)
2021-02-19 18:21:17 +0100vancoder(~vancoder@195.140.213.38)
2021-02-19 18:21:17 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-02-19 18:21:17 +0100bergey```(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-02-19 18:21:17 +010007IAAUMCE(~td@muedsl-82-207-238-165.citykom.de)
2021-02-19 18:21:17 +0100clog(~nef@bespin.org)
2021-02-19 18:21:17 +0100Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it)
2021-02-19 18:21:17 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
2021-02-19 18:21:17 +0100Cthalupa(~cthulhu@47.186.47.75)
2021-02-19 18:21:17 +0100juri_(~juri@178.63.35.222)
2021-02-19 18:21:17 +0100kmein(~weechat@static.173.83.99.88.clients.your-server.de)
2021-02-19 18:21:17 +0100jrqc(~rofl@96.78.87.197)
2021-02-19 18:21:17 +010007IAAT3WR(~tdbgamer@208.190.197.222)
2021-02-19 18:21:17 +010007IAAT3SA(de@uio.re)
2021-02-19 18:21:17 +0100Kneiva_(kneiva@raah.fi)
2021-02-19 18:21:17 +0100bobbytables(~bobbytabl@ec2-44-224-191-138.us-west-2.compute.amazonaws.com)
2021-02-19 18:21:17 +0100hololeap(~hololeap@unaffiliated/hololeap)
2021-02-19 18:21:17 +0100smerdyakov9(~dan@5.146.194.90)
2021-02-19 18:21:17 +0100AWizzArd(~code@gehrels.uberspace.de)
2021-02-19 18:21:17 +0100lep-delete(~lep@94.31.86.183)
2021-02-19 18:21:17 +0100kum0(~kumo@139.180.144.166)
2021-02-19 18:21:17 +0100quinn(~quinn@c-73-223-224-163.hsd1.ca.comcast.net)
2021-02-19 18:21:17 +0100tby(~tby@unaffiliated/tby)
2021-02-19 18:21:17 +0100afreak(~wut@ec2-3-122-177-136.eu-central-1.compute.amazonaws.com)
2021-02-19 18:21:17 +0100newsham(~ubuntu@ec2-18-218-216-88.us-east-2.compute.amazonaws.com)
2021-02-19 18:21:17 +0100oleks(~oleks@188.166.34.97)
2021-02-19 18:21:17 +0100loc(~loc@unaffiliated/loc)
2021-02-19 18:21:17 +0100Patternmaster(~georg@li1192-118.members.linode.com)
2021-02-19 18:21:19 +0100vancoder(~vancoder@195.140.213.38) (Excess Flood)
2021-02-19 18:21:26 +0100hololeap(~hololeap@unaffiliated/hololeap) (Excess Flood)
2021-02-19 18:21:31 +0100 <ph88> anyone know what is new in lens 5 ?
2021-02-19 18:21:40 +0100juri_(~juri@178.63.35.222) (Max SendQ exceeded)
2021-02-19 18:21:40 +0100loc(~loc@unaffiliated/loc) (Max SendQ exceeded)
2021-02-19 18:21:42 +0100quinn(~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Max SendQ exceeded)
2021-02-19 18:21:42 +0100jrqc(~rofl@96.78.87.197) (Max SendQ exceeded)
2021-02-19 18:21:44 +0100smerdyakov9(~dan@5.146.194.90) (Max SendQ exceeded)
2021-02-19 18:21:47 +010007IAAT3SA(de@uio.re) (Max SendQ exceeded)
2021-02-19 18:21:47 +0100tby(~tby@unaffiliated/tby) (Max SendQ exceeded)
2021-02-19 18:21:53 +0100hololeap(~hololeap@unaffiliated/hololeap)
2021-02-19 18:22:15 +0100gareth__-(~gareth__@104.236.161.134) (Ping timeout: 246 seconds)
2021-02-19 18:22:22 +0100coddinkn(~coddinkn@octayn.net)
2021-02-19 18:22:25 +0100 <merijn> hmm, I wish that linewrapping function arguments wasn't so awkward :\
2021-02-19 18:22:29 +010007IAAUNM6(~user@unaffiliated/cheater) (Ping timeout: 254 seconds)
2021-02-19 18:22:29 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Ping timeout: 254 seconds)
2021-02-19 18:22:29 +0100bergey```(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 254 seconds)
2021-02-19 18:22:29 +010007IAAUMCE(~td@muedsl-82-207-238-165.citykom.de) (Ping timeout: 254 seconds)
2021-02-19 18:22:30 +0100Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it) (Ping timeout: 254 seconds)
2021-02-19 18:22:30 +0100Cthalupa(~cthulhu@47.186.47.75) (Ping timeout: 254 seconds)
2021-02-19 18:22:30 +0100kmein(~weechat@static.173.83.99.88.clients.your-server.de) (Ping timeout: 254 seconds)
2021-02-19 18:22:30 +010007IAAT3WR(~tdbgamer@208.190.197.222) (Ping timeout: 254 seconds)
2021-02-19 18:22:30 +0100Kneiva_(kneiva@raah.fi) (Ping timeout: 254 seconds)
2021-02-19 18:22:30 +0100bobbytables(~bobbytabl@ec2-44-224-191-138.us-west-2.compute.amazonaws.com) (Ping timeout: 254 seconds)
2021-02-19 18:22:30 +0100AWizzArd(~code@gehrels.uberspace.de) (Ping timeout: 254 seconds)
2021-02-19 18:22:30 +0100lep-delete(~lep@94.31.86.183) (Ping timeout: 254 seconds)
2021-02-19 18:22:30 +0100kum0(~kumo@139.180.144.166) (Ping timeout: 254 seconds)
2021-02-19 18:22:30 +0100newsham(~ubuntu@ec2-18-218-216-88.us-east-2.compute.amazonaws.com) (Ping timeout: 254 seconds)
2021-02-19 18:22:30 +0100oleks(~oleks@188.166.34.97) (Ping timeout: 254 seconds)
2021-02-19 18:22:31 +0100afreak(~wut@ec2-3-122-177-136.eu-central-1.compute.amazonaws.com) (Ping timeout: 254 seconds)
2021-02-19 18:22:31 +0100Patternmaster(~georg@li1192-118.members.linode.com) (Ping timeout: 254 seconds)
2021-02-19 18:22:31 +0100adamse(sid72084@gateway/web/irccloud.com/x-aclnvpawmutdmwmu)
2021-02-19 18:22:45 +0100Alleria__(~textual@zrcout.mskcc.org) (Ping timeout: 264 seconds)
2021-02-19 18:23:18 +0100ezzieyguywuf(~Unknown@unaffiliated/ezzieyguywuf) (Ping timeout: 246 seconds)
2021-02-19 18:23:21 +0100natechan(~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
2021-02-19 18:23:39 +0100 <akhov> I don't know if sdl2-mixer can support all the formats needed (common music formats), could it maybe be combined with hsndfile for this?
2021-02-19 18:24:06 +0100ezzieyguywuf(~Unknown@unaffiliated/ezzieyguywuf)
2021-02-19 18:24:21 +0100gareth__(~gareth__@104.236.161.134)
2021-02-19 18:24:25 +0100Alleria(~textual@zrcout.mskcc.org)
2021-02-19 18:24:26 +0100giogiogio(5e89ad7c@94.137.173.124)
2021-02-19 18:24:43 +0100bo__(~bo@91.222.250.87)
2021-02-19 18:24:48 +0100AlleriaGuest28622
2021-02-19 18:24:49 +0100natechan(~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-02-19 18:25:43 +0100MrMuffles[m](mrmufflesm@gateway/shell/matrix.org/x-zaslzxsnkeypyaom) (Ping timeout: 244 seconds)
2021-02-19 18:25:44 +0100themsay[m](themsaymat@gateway/shell/matrix.org/x-virzyuwrowrrlwks) (Ping timeout: 244 seconds)
2021-02-19 18:26:14 +0100bram[m]1(bramvdbnet@gateway/shell/matrix.org/x-igtbrtpgsohexrhp) (Ping timeout: 244 seconds)
2021-02-19 18:26:14 +0100jesser[m](jessermatr@gateway/shell/matrix.org/x-jshzqkyonzxbmhkb) (Ping timeout: 244 seconds)
2021-02-19 18:26:14 +0100sramsay64[m](sramsay64p@gateway/shell/matrix.org/x-wgtgoydyvczhmnjh) (Ping timeout: 244 seconds)
2021-02-19 18:26:14 +0100a-tsioh[m](a-tsiohmat@gateway/shell/matrix.org/x-vcxfulhlegqmiopj) (Ping timeout: 244 seconds)
2021-02-19 18:26:14 +0100CaptainYukinoshi(captain-yu@gateway/shell/matrix.org/x-cfutskndikhbnnrj) (Ping timeout: 244 seconds)
2021-02-19 18:26:15 +0100shutendoji[m](shutendoji@gateway/shell/matrix.org/x-nwuyyykkdcqsffue) (Ping timeout: 244 seconds)
2021-02-19 18:26:15 +0100doct0rhu[m](doct0rhumo@gateway/shell/matrix.org/x-eazlsjvgzumpzoni) (Ping timeout: 244 seconds)
2021-02-19 18:26:15 +0100VarikValefor[m](varikvalef@gateway/shell/matrix.org/x-wtftytlhagluwmdg) (Ping timeout: 244 seconds)
2021-02-19 18:26:16 +0100PotatoHatsue(berbermanp@gateway/shell/matrix.org/x-rodrvszvsnrqkfek) (Ping timeout: 244 seconds)
2021-02-19 18:26:16 +0100toasty_avocado[m(toastyavoc@gateway/shell/matrix.org/x-cgfvzbchbbdokzvi) (Ping timeout: 244 seconds)
2021-02-19 18:26:16 +0100mly[m](mlydisenco@gateway/shell/matrix.org/x-ruvwvdmdzsujcipy) (Ping timeout: 244 seconds)
2021-02-19 18:26:16 +0100bitonic(bitonicmat@gateway/shell/matrix.org/x-toickgbzigzbsfbm) (Ping timeout: 244 seconds)
2021-02-19 18:26:16 +0100rednaZ[m](r3dnazmatr@gateway/shell/matrix.org/x-beuyrqjzjrcpwkkf) (Ping timeout: 244 seconds)
2021-02-19 18:26:16 +0100johnnyboy[m](gifumatrix@gateway/shell/matrix.org/x-vyrexossovlljgaw) (Ping timeout: 244 seconds)
2021-02-19 18:26:16 +0100hyiltiz-M(hyiltizkde@gateway/shell/kde/matrix/x-wucfjefiyjpgnwax) (Ping timeout: 244 seconds)
2021-02-19 18:26:33 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-02-19 18:26:34 +0100__minoru__shirae(~shiraeesh@46.34.206.35)
2021-02-19 18:26:38 +0100 <tomsmeding> maralorn: the C function is wcwidth
2021-02-19 18:26:47 +0100borne(~fritjof@200116b8640b4400a9b5d4f34e3c7d10.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2021-02-19 18:27:00 +0100PacoV(~PCoves@16.194.31.93.rev.sfr.net)
2021-02-19 18:27:01 +0100giogiogio64(5e89ad7c@94.137.173.124)
2021-02-19 18:27:04 +0100 <tomsmeding> emoji width related problems often boil down to libc having an outdated unicode table, meaning that wcwidth fails
2021-02-19 18:27:06 +0100 <PacoV> Hi there.
2021-02-19 18:27:23 +0100 <tomsmeding> @hackage wcwidth
2021-02-19 18:27:23 +0100 <lambdabot> https://hackage.haskell.org/package/wcwidth
2021-02-19 18:27:26 +0100 <tomsmeding> seems to exist?
2021-02-19 18:27:36 +0100 <PacoV> Do you guys know any good resource about building a windows binary from my linux box?
2021-02-19 18:27:59 +0100 <PacoV> I made a soft for my GF's work and it works fine in gitlab CI.
2021-02-19 18:28:13 +0100bram[m]1(bramvdbnet@gateway/shell/matrix.org/x-pynuwbnylnthgwie)
2021-02-19 18:28:30 +0100 <PacoV> But I'd like to compile a native executable for her not to wait multiples minutes at every push.
2021-02-19 18:28:35 +0100idhugo(~idhugo@80-62-117-97-mobile.dk.customer.tdc.net)
2021-02-19 18:28:39 +0100DataComputist(~lumeng@50.43.26.251) (Quit: Leaving...)
2021-02-19 18:28:55 +0100 <PacoV> I've seen stuff about cross compiling ghc.
2021-02-19 18:29:05 +0100 <PacoV> But that's not what I'm looking for.
2021-02-19 18:29:08 +0100 <geekosaur> I think the only reliable way to do it is to run a Windows instance in a VM; cross-compiling is limited
2021-02-19 18:29:55 +0100 <PacoV> That's my only viable approach at the moment indeed.
2021-02-19 18:30:02 +0100giogiogio(5e89ad7c@94.137.173.124) (Ping timeout: 240 seconds)
2021-02-19 18:30:08 +0100frozenErebus(~frozenEre@94.128.219.166)
2021-02-19 18:31:00 +0100DataComputist(~lumeng@50.43.26.251)
2021-02-19 18:31:28 +0100Batoeh(~user@152.208.55.30) (Remote host closed the connection)
2021-02-19 18:32:56 +0100bo__(~bo@91.222.250.87) (Ping timeout: 240 seconds)
2021-02-19 18:34:51 +0100Benzi-Junior(~BenziJuni@dsl-149-67-143.hive.is) (Ping timeout: 246 seconds)
2021-02-19 18:38:06 +0100inkbottle(~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-02-19 18:38:15 +0100mirrorbird(~psutcliff@2a00:801:44d:603d:d116:d5a1:4a2f:a08f) (Ping timeout: 272 seconds)
2021-02-19 18:38:24 +0100inkbottle(~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr)
2021-02-19 18:39:17 +0100hyiltiz-M(hyiltizkde@gateway/shell/kde/matrix/x-ivzwdsjrvmnmdqmv)
2021-02-19 18:39:42 +0100MrMuffles[m](mrmufflesm@gateway/shell/matrix.org/x-mrblnlwbznzgfknm)
2021-02-19 18:39:47 +0100ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net) (Remote host closed the connection)
2021-02-19 18:39:55 +0100rednaZ[m](r3dnazmatr@gateway/shell/matrix.org/x-wkjrelmxcbmcuyyo)
2021-02-19 18:40:20 +0100themsay[m](themsaymat@gateway/shell/matrix.org/x-dfuiiqncmxkegsdu)
2021-02-19 18:40:28 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-02-19 18:40:36 +0100bennofs1(~benno@dslb-188-106-241-024.188.106.pools.vodafone-ip.de)
2021-02-19 18:40:59 +0100wtw(~wtw@unaffiliated/wtw)
2021-02-19 18:41:01 +0100jmo`(~user@h-162-127.A785.priv.bahnhof.se)
2021-02-19 18:41:31 +0100johnnyboy[m](gifumatrix@gateway/shell/matrix.org/x-bplnxbphxbhcjwro)
2021-02-19 18:41:33 +0100sramsay64[m](sramsay64p@gateway/shell/matrix.org/x-inungnqziynynwaa)
2021-02-19 18:41:51 +0100shutendoji[m](shutendoji@gateway/shell/matrix.org/x-ickvdsehywfzlema)
2021-02-19 18:42:05 +0100PotatoHatsue(berbermanp@gateway/shell/matrix.org/x-wvswkvbniyocfxqn)
2021-02-19 18:42:28 +0100bitonic(bitonicmat@gateway/shell/matrix.org/x-lqhowavprqkgavmy)
2021-02-19 18:43:01 +0100toasty_avocado[m(toastyavoc@gateway/shell/matrix.org/x-drpneulxfvsnmqty)
2021-02-19 18:43:07 +0100jesser[m](jessermatr@gateway/shell/matrix.org/x-aliilzvfpxrienry)
2021-02-19 18:43:18 +0100VarikValefor[m](varikvalef@gateway/shell/matrix.org/x-zpbsrsatgvyjyyda)
2021-02-19 18:43:25 +0100mly[m](mlydisenco@gateway/shell/matrix.org/x-sgyelsuopxjzxkpo)
2021-02-19 18:43:26 +0100doct0rhu[m](doct0rhumo@gateway/shell/matrix.org/x-adqjzaenstckgbzs)
2021-02-19 18:43:34 +0100CaptainYukinoshi(captain-yu@gateway/shell/matrix.org/x-oqlacnjkofwdfnvx)
2021-02-19 18:44:35 +0100a-tsioh[m](a-tsiohmat@gateway/shell/matrix.org/x-lkrwfyxpsvcpqlyf)
2021-02-19 18:47:29 +0100 <PacoV> Well, virtualbox, here I come.
2021-02-19 18:47:33 +0100 <PacoV> Thanks geekosaur .
2021-02-19 18:47:35 +0100PacoV(~PCoves@16.194.31.93.rev.sfr.net) (Quit: leaving)
2021-02-19 18:51:01 +0100 <ph88> when i do deriving (Data) i get error Not in scope: type constructor or class ‘Data’ i have on top of source file {-# LANGUAGE DeriveDataTypeable #-} why does this not work ?
2021-02-19 18:51:24 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-02-19 18:51:28 +0100Digit(~user@fsf/member/digit)
2021-02-19 18:51:52 +0100 <koz_> ph88: You need to import Data.Data (Data).
2021-02-19 18:52:23 +0100 <koz_> (something something named it thrice)
2021-02-19 18:52:46 +0100 <ph88> thanks koz_ i will try this ... strange that this guide here doesn't mention any imports https://chrisdone.com/posts/data-typeable/
2021-02-19 18:53:22 +0100 <koz_> This guide is ancient.
2021-02-19 18:53:28 +0100 <koz_> It's using old Typeable as well.
2021-02-19 18:54:52 +0100jathan(~jathan@69.61.93.38)
2021-02-19 18:54:59 +0100bennofs1(~benno@dslb-188-106-241-024.188.106.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
2021-02-19 18:55:01 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2021-02-19 18:55:42 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection)
2021-02-19 18:56:07 +0100stree(~stree@68.36.8.116) (Ping timeout: 256 seconds)
2021-02-19 18:57:03 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2021-02-19 18:57:38 +0100 <monochrom> Not strange, if you s/guide/blog/
2021-02-19 18:59:54 +0100kam1(~kam1@5.126.205.103)
2021-02-19 18:59:55 +0100 <monochrom> Bloggers blog for their excitement and echo chamber.
2021-02-19 19:02:39 +0100juri__juri_
2021-02-19 19:03:30 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 19:06:24 +0100 <merijn> monochrom: As always, you get what you pay for ;)
2021-02-19 19:07:06 +0100denisse(~spaceCat@gateway/tor-sasl/alephzer0) (Ping timeout: 268 seconds)
2021-02-19 19:07:31 +0100heatsink(~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c) (Remote host closed the connection)
2021-02-19 19:07:44 +0100ephemera_(~E@122.34.1.187)
2021-02-19 19:07:56 +0100denisse(~spaceCat@gateway/tor-sasl/alephzer0)
2021-02-19 19:09:24 +0100stree(~stree@68.36.8.116)
2021-02-19 19:09:36 +0100francesco_Franciman
2021-02-19 19:09:45 +0100giogiogio64(5e89ad7c@94.137.173.124) (Quit: Connection closed)
2021-02-19 19:10:08 +0100tremon(~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl)
2021-02-19 19:14:34 +0100lambda-11235(~lambda-11@2600:1700:7c70:4600:b196:3409:30dd:179)
2021-02-19 19:16:38 +0100 <ph88> still old blog post is the go to reference for me :/
2021-02-19 19:20:39 +0100rajivr(uid269651@gateway/web/irccloud.com/x-stnwmfefysqdqgfx) (Quit: Connection closed for inactivity)
2021-02-19 19:21:56 +0100ephemera_(~E@122.34.1.187) (Ping timeout: 240 seconds)
2021-02-19 19:22:43 +0100conal_(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-02-19 19:23:29 +0100jpds_(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-02-19 19:23:49 +0100jlixier(c036de8c@192.54.222.140)
2021-02-19 19:23:49 +0100jpds_(~jpds@gateway/tor-sasl/jpds)
2021-02-19 19:24:00 +0100alx741(~alx741@181.196.68.69) (Quit: alx741)
2021-02-19 19:24:37 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2021-02-19 19:24:39 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2021-02-19 19:24:56 +0100conal(~conal@64.71.133.70)
2021-02-19 19:27:43 +0100ephemera_(~E@122.34.1.187)
2021-02-19 19:31:16 +0100ephemera_(~E@122.34.1.187) (Client Quit)
2021-02-19 19:32:47 +0100ephemera_(~E@122.34.1.187)
2021-02-19 19:33:33 +0100kam1(~kam1@5.126.205.103) (Ping timeout: 264 seconds)
2021-02-19 19:33:33 +0100jmo`(~user@h-162-127.A785.priv.bahnhof.se) (Remote host closed the connection)
2021-02-19 19:33:47 +0100jmo`(~user@h-162-127.A785.priv.bahnhof.se)
2021-02-19 19:34:04 +0100mirrorbird(~psutcliff@m83-187-183-132.cust.tele2.se)
2021-02-19 19:37:22 +0100jlixier(c036de8c@192.54.222.140) (Ping timeout: 240 seconds)
2021-02-19 19:38:04 +0100inkbottle(~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-02-19 19:38:24 +0100inkbottle(~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr)
2021-02-19 19:39:17 +0100jamm__(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-02-19 19:39:40 +0100hexfive(~hexfive@50.35.83.177)
2021-02-19 19:43:07 +0100howdoi(uid224@gateway/web/irccloud.com/x-ijfgnxevsuazdmff)
2021-02-19 19:46:57 +0100knupfer(~Thunderbi@200116b82c5ea200d98b844e05bfb7bb.dip.versatel-1u1.de)
2021-02-19 19:47:32 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-02-19 19:48:07 +0100kam1(~kam1@5.126.205.103)
2021-02-19 19:49:09 +0100frozenErebus(~frozenEre@94.128.219.166) (Ping timeout: 264 seconds)
2021-02-19 19:49:56 +0100mananamenos(~mananamen@37.red-88-27-26.staticip.rima-tde.net) (Ping timeout: 240 seconds)
2021-02-19 19:49:57 +0100incertia(~incertia@d4-50-26-103.nap.wideopenwest.com) (Ping timeout: 256 seconds)
2021-02-19 19:51:23 +0100knupfer(~Thunderbi@200116b82c5ea200d98b844e05bfb7bb.dip.versatel-1u1.de) (Remote host closed the connection)
2021-02-19 19:53:21 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 256 seconds)
2021-02-19 19:53:42 +0100Tario(~Tario@201.192.165.173)
2021-02-19 19:55:32 +0100mouseghost(~draco@wikipedia/desperek) (Quit: mew wew)
2021-02-19 19:56:15 +0100jmo`(~user@h-162-127.A785.priv.bahnhof.se) (Remote host closed the connection)
2021-02-19 19:56:42 +0100jmo`(~user@h-162-127.A785.priv.bahnhof.se)
2021-02-19 19:57:27 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
2021-02-19 19:58:15 +0100justsomeguymakes a mental note to make all his examples reproducable if he ever writes something in a blog.
2021-02-19 19:58:42 +0100 <justsomeguy> (...and also to include version numbers, dates, etc in the written content)
2021-02-19 19:58:57 +0100DataComputist(~lumeng@50.43.26.251) (Quit: Leaving...)
2021-02-19 20:00:07 +0100Benzi-Junior(~BenziJuni@dsl-149-67-143.hive.is)
2021-02-19 20:00:55 +0100DataComputist(~lumeng@50.43.26.251)
2021-02-19 20:02:16 +0100jpds_(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-02-19 20:02:16 +0100electricityZZZZ(~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net)
2021-02-19 20:02:40 +0100jpds_(~jpds@gateway/tor-sasl/jpds)
2021-02-19 20:03:02 +0100berberman(~berberman@unaffiliated/berberman) (Ping timeout: 264 seconds)
2021-02-19 20:03:36 +0100berberman(~berberman@unaffiliated/berberman)
2021-02-19 20:04:02 +0100mananamenos(~mananamen@37.red-88-27-26.staticip.rima-tde.net)
2021-02-19 20:05:51 +0100jpds_(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-02-19 20:06:02 +0100geekosaur(82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
2021-02-19 20:06:13 +0100jpds_(~jpds@gateway/tor-sasl/jpds)
2021-02-19 20:08:05 +0100heatsink(~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c)
2021-02-19 20:08:06 +0100 <hololeap> most of the haskell blogs i've seen write their pages so that they also function as lhs files, so you can (hopefully) compile the blog post with GHC
2021-02-19 20:09:03 +0100landonf1(~landonf@195.140.213.38)
2021-02-19 20:10:22 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-19 20:10:31 +0100knupfer(~Thunderbi@200116b82c5ea20060fd90b099ff5103.dip.versatel-1u1.de)
2021-02-19 20:10:36 +0100Rudd0(~Rudd0@185.189.115.103) (Ping timeout: 240 seconds)
2021-02-19 20:11:08 +0100 <mirrorbird> LHS is really cool
2021-02-19 20:12:32 +0100heatsink(~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c) (Ping timeout: 258 seconds)
2021-02-19 20:15:16 +0100mananamenos(~mananamen@37.red-88-27-26.staticip.rima-tde.net) (Ping timeout: 240 seconds)
2021-02-19 20:15:56 +0100 <hololeap> yeah it's kind of crazy how it embeds so easily into html and markdown without any extra work
2021-02-19 20:16:18 +0100 <hololeap> well, i've never tried it with html, personally, so i could be wrong there
2021-02-19 20:19:17 +0100 <tomsmeding> These two functions map' and map'2 are equivalent: https://paste.tomsmeding.com/5qMeYJ52
2021-02-19 20:19:50 +0100 <tomsmeding> both seem too complex to me, somehow; does this already exist? Can it be written more simply?
2021-02-19 20:20:22 +0100 <tomsmeding> also map'2 feels less efficient to me with the reverse, but I might be wrong about that
2021-02-19 20:21:03 +0100geekosaur(82650c7a@130.101.12.122)
2021-02-19 20:22:44 +0100 <hololeap> % :t traverse @[] @((,) _)
2021-02-19 20:22:46 +0100 <yahb> hololeap: Monoid w => (a -> (w, b)) -> [a] -> (w, [b])
2021-02-19 20:22:55 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2021-02-19 20:23:25 +0100 <tomsmeding> it's traverse!
2021-02-19 20:23:29 +0100 <hololeap> almost
2021-02-19 20:23:37 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-19 20:23:43 +0100 <tomsmeding> but yeah my 's' is not a Monoid unfortunately
2021-02-19 20:23:56 +0100 <lyxia> it's in State, not (,)
2021-02-19 20:24:02 +0100idhugo(~idhugo@80-62-117-97-mobile.dk.customer.tdc.net) (Ping timeout: 258 seconds)
2021-02-19 20:24:18 +0100mananamenos(~mananamen@37.red-88-27-26.staticip.rima-tde.net)
2021-02-19 20:24:32 +0100 <lyxia> :t mapAccumL
2021-02-19 20:24:33 +0100 <hololeap> % :t traverse @[] @(State _)
2021-02-19 20:24:33 +0100 <lambdabot> Traversable t => (a -> b -> (a, c)) -> a -> t b -> (a, t c)
2021-02-19 20:24:33 +0100 <yahb> hololeap: (a -> State w b) -> [a] -> State w [b]
2021-02-19 20:24:50 +0100 <tomsmeding> lol both bots replied
2021-02-19 20:24:54 +0100LKoen(~LKoen@161.169.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2021-02-19 20:24:59 +0100 <lyxia> hehe
2021-02-19 20:25:12 +0100 <hololeap> oh, right, mapAccumL
2021-02-19 20:25:14 +0100 <tomsmeding> but damn yes mapAccumL thanks lyxia
2021-02-19 20:25:31 +0100 <tomsmeding> @src mapAccumL
2021-02-19 20:25:32 +0100 <lambdabot> mapAccumL _ s [] = (s, [])
2021-02-19 20:25:32 +0100 <lambdabot> mapAccumL f s (x:xs) = (s'',y:ys)
2021-02-19 20:25:32 +0100 <lambdabot> where (s', y ) = f s x
2021-02-19 20:25:32 +0100 <lambdabot> (s'',ys) = mapAccumL f s' xs
2021-02-19 20:25:49 +0100 <tomsmeding> okay so my map', let's see base
2021-02-19 20:26:38 +0100 <tomsmeding> base uses traverse on an interesting monad
2021-02-19 20:27:16 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-02-19 20:27:23 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-02-19 20:27:38 +0100frozenErebus(~frozenEre@94.128.219.166)
2021-02-19 20:29:36 +0100 <karasu1[m]> quick question: I am in a "where block" (?), and often I do things like `(a , b) = f(foo, bar, quux)` to bind `a` and `b` in the scope of the function body before the "where block" (not sure if this makes sense). Instead of `(a, b) = f(foo, bar, quux)`, I want something like `(a, b) = Record {field1, field2, field3}`
2021-02-19 20:29:36 +0100 <karasu1[m]> And then a and b are bound to field1 and field3
2021-02-19 20:29:57 +0100kam1(~kam1@5.126.205.103) (Ping timeout: 256 seconds)
2021-02-19 20:29:58 +0100 <karasu1[m]> Is this possible
2021-02-19 20:29:58 +0100 <karasu1[m]> ?
2021-02-19 20:30:00 +0100 <tomsmeding> karasu1[m]: Record { field1 = a, field3 = b} = ...
2021-02-19 20:30:10 +0100 <tomsmeding> and yes your terminology makes sense :)
2021-02-19 20:31:33 +0100 <tomsmeding> also note that with your `f(foo, bar, quux)`, you're calling `f` with a single argument (a 3-tuple)
2021-02-19 20:31:33 +0100 <karasu1[m]> What would be on the right side (the ...)?
2021-02-19 20:31:33 +0100 <tomsmeding> whatever value you want to get the fields from :p
2021-02-19 20:31:33 +0100 <karasu1[m]> Just anything that returns a Record right?
2021-02-19 20:31:33 +0100 <tomsmeding> yes
2021-02-19 20:31:33 +0100 <karasu1[m]> oh yeah, I thought I was in python again.. thanks
2021-02-19 20:31:33 +0100nojster(~noj@vmd62096.contaboserver.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-02-19 20:31:33 +0100 <tomsmeding> that syntax is a valid pattern, which means you can use it wherever you need a pattern, like in a function argument
2021-02-19 20:31:33 +0100nojster(~noj@vmd62096.contaboserver.net)
2021-02-19 20:31:33 +0100 <hololeap> i didn't know about that usage
2021-02-19 20:31:33 +0100 <tomsmeding> `foo (Record {field1 = a}) = a` is a valid function definition
2021-02-19 20:31:38 +0100jtcs_(~jtcs@vmi359854.contaboserver.net) (Ping timeout: 260 seconds)
2021-02-19 20:32:25 +0100Ranhir(~Ranhir@157.97.53.139) (Ping timeout: 240 seconds)
2021-02-19 20:32:27 +0100_noblegas(uid91066@gateway/web/irccloud.com/x-wcpcufyxmgobplaq) (Quit: Connection closed for inactivity)
2021-02-19 20:32:39 +0100 <karasu1[m]> wow, TIL
2021-02-19 20:32:48 +0100hodapp(~hodapp@react-ams-119225.antiddos.solutions) (Ping timeout: 260 seconds)
2021-02-19 20:33:06 +0100hodapp(~hodapp@react-ams-119225.antiddos.solutions)
2021-02-19 20:33:09 +0100Maxdamantus(~Maxdamant@unaffiliated/maxdamantus) (Ping timeout: 246 seconds)
2021-02-19 20:33:15 +0100 <tomsmeding> wait till you discover view patterns :p
2021-02-19 20:33:17 +0100 <geekosaur> the parentheses are even optional there (record update syntax binds tighter than anything else)
2021-02-19 20:33:32 +0100marek(~mmahut@fedora/pyxel) (Ping timeout: 265 seconds)
2021-02-19 20:33:39 +0100 <tomsmeding> but probably unwise to try using view patterns before you have a feel of the language
2021-02-19 20:33:57 +0100Guest41(50a46f47@gateway/web/cgi-irc/kiwiirc.com/ip.80.164.111.71)
2021-02-19 20:34:13 +0100Maxdamantus(~Maxdamant@unaffiliated/maxdamantus)
2021-02-19 20:34:27 +0100 <tomsmeding> geekosaur: would you omit them? I'm kind of torn between not using more parentheses than necessary, and clarity
2021-02-19 20:34:41 +0100 <tomsmeding> (also I forgot here)
2021-02-19 20:34:44 +0100jtcs(~jtcs@vmi359854.contaboserver.net)
2021-02-19 20:34:49 +0100 <merijn> tomsmeding: I omit them *and* the space after constructor
2021-02-19 20:34:58 +0100 <geekosaur> depends on context, I think. it can be confusing with multiple parameters
2021-02-19 20:35:03 +0100marek(~mmahut@209.250.249.245)
2021-02-19 20:35:06 +0100 <merijn> tomsmeding: foo Record{field1 = a}
2021-02-19 20:35:07 +0100 <tomsmeding> merijn: that works I guess
2021-02-19 20:35:21 +0100 <geekosaur> but if you're using a record as a parameter, you don't really need multiple parameters anyway
2021-02-19 20:36:14 +0100 <merijn> Also, NamedFieldPuns :p
2021-02-19 20:36:31 +0100frozenErebus(~frozenEre@94.128.219.166) (*.net *.split)
2021-02-19 20:36:31 +0100hexfive(~hexfive@50.35.83.177) (*.net *.split)
2021-02-19 20:36:32 +0100deu(de@uio.re) (*.net *.split)
2021-02-19 20:36:32 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (*.net *.split)
2021-02-19 20:36:32 +0100Tops2(~Tobias@dyndsl-095-033-095-228.ewe-ip-backbone.de) (*.net *.split)
2021-02-19 20:36:32 +0100hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net) (*.net *.split)
2021-02-19 20:36:32 +0100machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (*.net *.split)
2021-02-19 20:36:32 +0100DavidEichmann(~david@234.109.45.217.dyn.plus.net) (*.net *.split)
2021-02-19 20:36:32 +0100Graf_Blutwurst(~grafblutw@adsl-178-38-234-220.adslplus.ch) (*.net *.split)
2021-02-19 20:36:32 +0100energizer(~energizer@unaffiliated/energizer) (*.net *.split)
2021-02-19 20:36:32 +0100samebchase-(~samebchas@51.15.68.182) (*.net *.split)
2021-02-19 20:36:32 +0100aweinstock(~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) (*.net *.split)
2021-02-19 20:36:32 +0100is_null(~jpic@pdpc/supporter/professional/is-null) (*.net *.split)
2021-02-19 20:36:32 +0100texasmynsted_(~texasmyns@99.96.221.112) (*.net *.split)
2021-02-19 20:36:32 +0100PragCypher(~cypher@li1507-98.members.linode.com) (*.net *.split)
2021-02-19 20:36:32 +0100sigmundv(~sigmundv@178.62.72.87) (*.net *.split)
2021-02-19 20:36:32 +0100verement(~anonymous@cpe-76-167-229-223.san.res.rr.com) (*.net *.split)
2021-02-19 20:36:32 +0100tomboy64(~tomboy64@unaffiliated/tomboy64) (*.net *.split)
2021-02-19 20:36:32 +0100dustinm-(~dustinm@static.38.6.217.95.clients.your-server.de) (*.net *.split)
2021-02-19 20:36:32 +0100remexre(~nathan@207-153-38-50.fttp.usinternet.com) (*.net *.split)
2021-02-19 20:36:32 +0100fl0_id(~fl0_id@claudia.s7t.de) (*.net *.split)
2021-02-19 20:36:32 +0100simplegauss(~simplegau@45.77.0.246) (*.net *.split)
2021-02-19 20:36:32 +0100ByronJohnson(~bairyn@unaffiliated/bob0) (*.net *.split)
2021-02-19 20:36:33 +0100jlamothe(~jlamothe@198.251.55.207) (*.net *.split)
2021-02-19 20:36:33 +0100lazyshrk(~lazyshrk@128.199.58.13) (*.net *.split)
2021-02-19 20:36:33 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (*.net *.split)
2021-02-19 20:36:33 +0100Natch(~natch@c-b471e255.014-297-73746f25.bbcust.telenor.se) (*.net *.split)
2021-02-19 20:36:33 +0100nitrix(~nitrix@haskell/developer/nitrix) (*.net *.split)
2021-02-19 20:36:33 +0100puffnfresh_(~puffnfres@45.76.124.5) (*.net *.split)
2021-02-19 20:36:33 +0100caubert(~caubert@136.244.111.235) (*.net *.split)
2021-02-19 20:36:33 +0100haritz(~hrtz@unaffiliated/haritz) (*.net *.split)
2021-02-19 20:36:33 +0100atk(~Arch-TK@ircpuzzles/staff/Arch-TK) (*.net *.split)
2021-02-19 20:36:33 +0100jmsx(~jordan@li1158-85.members.linode.com) (*.net *.split)
2021-02-19 20:36:33 +0100dxld(~dxld@80-109-136-248.cable.dynamic.surfer.at) (*.net *.split)
2021-02-19 20:36:33 +0100stampirl(~stampirl@195-154-112-77.rev.poneytelecom.eu) (*.net *.split)
2021-02-19 20:36:33 +0100styledash(~styledash@157.230.173.136) (*.net *.split)
2021-02-19 20:36:33 +0100ski(~ski@ed-3358-10.studat.chalmers.se) (*.net *.split)
2021-02-19 20:36:33 +0100klardotsh(~klardotsh@c-71-231-242-112.hsd1.wa.comcast.net) (*.net *.split)
2021-02-19 20:36:33 +0100niko(~niko@freenode/staff/ubuntu.member.niko) (*.net *.split)
2021-02-19 20:36:33 +0100ArsenArsen(~Arsen@fsf/member/ArsenArsen) (*.net *.split)
2021-02-19 20:36:33 +0100mozzarella(~sam@unaffiliated/sam113101) (*.net *.split)
2021-02-19 20:36:33 +0100lukelau(~lukelau@46.101.13.214) (*.net *.split)
2021-02-19 20:36:33 +0100hvr(~hvr@haskell/developer/hvr) (*.net *.split)
2021-02-19 20:36:33 +0100kaychaks(sid236345@gateway/web/irccloud.com/x-ubijiresjoyryppu) (*.net *.split)
2021-02-19 20:36:33 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (*.net *.split)
2021-02-19 20:36:33 +0100mp___(mp@hell.cx) (*.net *.split)
2021-02-19 20:36:33 +0100Katarushisu(~Katarushi@cpc152083-finc20-2-0-cust170.4-2.cable.virginm.net) (*.net *.split)
2021-02-19 20:36:33 +0100tessier(~treed@kernel-panic/copilotco) (*.net *.split)
2021-02-19 20:36:34 +0100nerdypepper(znc@152.67.162.71) (*.net *.split)
2021-02-19 20:36:34 +0100ornxka_(~ornxka@unaffiliated/ornx) (*.net *.split)
2021-02-19 20:36:34 +0100connrs(~connrs@runciter.connrs.uk) (*.net *.split)
2021-02-19 20:36:34 +0100davl(~davl@207.154.228.18) (*.net *.split)
2021-02-19 20:36:34 +0100canta(~canta@cvm0.d5k.one) (*.net *.split)
2021-02-19 20:36:34 +0100mapperr(~mapperr@vmi389916.contaboserver.net) (*.net *.split)
2021-02-19 20:36:34 +0100pounce(~pounce@ns379743.ip-5-196-70.eu) (*.net *.split)
2021-02-19 20:36:34 +0100khisanth_(~Khisanth@24.sub-174-244-147.myvzw.com) (*.net *.split)
2021-02-19 20:36:34 +0100rprospero(~adam@186.75.232.35.bc.googleusercontent.com) (*.net *.split)
2021-02-19 20:36:34 +0100tureba(~tureba@tureba.org) (*.net *.split)
2021-02-19 20:36:34 +0100atomi(~atomi@35.71.197.35.bc.googleusercontent.com) (*.net *.split)
2021-02-19 20:36:34 +0100dan64(~dan64@dannyadam.com) (*.net *.split)
2021-02-19 20:36:34 +0100rkvist(~user@138.197.72.132) (*.net *.split)
2021-02-19 20:36:34 +0100Flonk(~Flonk@ec2-52-40-29-25.us-west-2.compute.amazonaws.com) (*.net *.split)
2021-02-19 20:36:34 +0100koala_man(~vidar@unaffiliated/koala-man/x-2491903) (*.net *.split)
2021-02-19 20:36:34 +0100lyxia(~lyxia@poisson.chat) (*.net *.split)
2021-02-19 20:36:35 +0100pdxleif(~pdxleif@ec2-54-68-166-10.us-west-2.compute.amazonaws.com) (*.net *.split)
2021-02-19 20:36:35 +0100c_wraith(~c_wraith@adjoint.us) (*.net *.split)
2021-02-19 20:36:35 +0100joeyh(~joeyh@kitenet.net) (*.net *.split)
2021-02-19 20:36:35 +0100davean(~davean@davean.sciesnet.net) (*.net *.split)
2021-02-19 20:36:35 +0100Rembane(~Rembane@li346-36.members.linode.com) (*.net *.split)
2021-02-19 20:36:35 +0100pharaun(~pharaun@static.88-198-62-245.clients.your-server.de) (*.net *.split)
2021-02-19 20:36:35 +0100nisstyre(~wes@python-zero/conduct-committee/nisstyre) (*.net *.split)
2021-02-19 20:36:35 +0100heath(~heath@unaffiliated/ybit) (*.net *.split)
2021-02-19 20:36:35 +0100mrus(~mrus@128.199.8.231) (*.net *.split)
2021-02-19 20:36:35 +0100ring0`(~ringo@unaffiliated/ring0/x-8667941) (*.net *.split)
2021-02-19 20:36:35 +0100mstruebing(~mstruebin@ns399634.ip-5-39-81.eu) (*.net *.split)
2021-02-19 20:36:35 +0100kqr(~kqr@vps.xkqr.org) (*.net *.split)
2021-02-19 20:36:35 +0100zymurgy(~zymurgy@li607-220.members.linode.com) (*.net *.split)
2021-02-19 20:36:35 +0100freeside(~ubuntu@ec2-52-58-69-57.eu-central-1.compute.amazonaws.com) (*.net *.split)
2021-02-19 20:36:35 +0100stvc(~stvc@192.241.166.39) (*.net *.split)
2021-02-19 20:36:35 +0100interruptinuse(~interrupt@girl.mrtheplague.net) (*.net *.split)
2021-02-19 20:36:35 +0100sshine(~simon@hubris.eta.solutions) (*.net *.split)
2021-02-19 20:36:35 +0100dpl(~dpl@ec2-18-133-105-122.eu-west-2.compute.amazonaws.com) (*.net *.split)
2021-02-19 20:36:35 +0100avp(~avp@unaffiliated/avp) (*.net *.split)
2021-02-19 20:36:35 +0100LambdaDuck(~anka@ksit.fixme.fi) (*.net *.split)
2021-02-19 20:36:35 +0100Ankhers(~Ankhers@unaffiliated/ankhers) (*.net *.split)
2021-02-19 20:36:35 +0100neobit(~neobit@159.65.243.9) (*.net *.split)
2021-02-19 20:36:36 +0100turq(~electro@unaffiliated/turq) (*.net *.split)
2021-02-19 20:36:36 +0100ammar2(admin@i.diddled.with.the.opers.so.they.klined.me) (*.net *.split)
2021-02-19 20:36:36 +0100jemurray(~jemurray@shell.jasonmurray.org) (*.net *.split)
2021-02-19 20:36:50 +0100 <merijn> https://github.com/merijn/Belewitte/blob/master/benchmark-analysis/src/Query/Train.hs#L42-L58
2021-02-19 20:36:50 +0100 <merijn> Yo, dawg!
2021-02-19 20:36:50 +0100 <tomsmeding> I hate shadowing
2021-02-19 20:36:54 +0100saitamaplus(uid272474@gateway/web/irccloud.com/x-dlczsdzruwnanpaj) (Quit: Connection closed for inactivity)
2021-02-19 20:37:06 +0100 <merijn> We heard you like NamedFieldPuns, so put NamedFieldPuns in your NamedFieldPuns!
2021-02-19 20:37:21 +0100 <merijn> tomsmeding: Easily solved by -XNoFieldSelectors in 9.2!
2021-02-19 20:38:04 +0100 <hololeap> or don't use records, just use lenses and tuples for everything
2021-02-19 20:38:05 +0100inkbottle(~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-02-19 20:38:19 +0100 <tomsmeding> fair point, though that makes accessing fields awkward; RecordDotSyntax aims to solve that, but isn't perfect either
2021-02-19 20:38:37 +0100 <merijn> tomsmeding: How does that make accessing awkward if you use NamedFieldPuns?
2021-02-19 20:38:50 +0100 <tomsmeding> it doesn't, NoFieldSelectors does
2021-02-19 20:38:57 +0100whez(sid470288@gateway/web/irccloud.com/x-fhcnzlragxvbwnhv) (Ping timeout: 262 seconds)
2021-02-19 20:39:22 +0100 <merijn> tomsmeding: No, "how does NoFieldSelectors make it more awkward if you use NamedFieldPuns?"
2021-02-19 20:39:34 +0100 <tomsmeding> neither manually writing getters, nor writing case expressions everywhere, is a good solution
2021-02-19 20:39:55 +0100 <merijn> hololeap: The more I introduce custom datatypes the more I think "just using tuples" is a terrible idea
2021-02-19 20:40:00 +0100 <tomsmeding> I was talking about NoFieldSelectors in general
2021-02-19 20:40:10 +0100bravespear|2(~Ranhir@157.97.53.139)
2021-02-19 20:40:10 +0100frozenErebus(~frozenEre@94.128.219.166)
2021-02-19 20:40:10 +0100hexfive(~hexfive@50.35.83.177)
2021-02-19 20:40:10 +0100deu(de@uio.re)
2021-02-19 20:40:10 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
2021-02-19 20:40:10 +0100Tops2(~Tobias@dyndsl-095-033-095-228.ewe-ip-backbone.de)
2021-02-19 20:40:10 +0100hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net)
2021-02-19 20:40:10 +0100machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-02-19 20:40:10 +0100DavidEichmann(~david@234.109.45.217.dyn.plus.net)
2021-02-19 20:40:10 +0100energizer(~energizer@unaffiliated/energizer)
2021-02-19 20:40:10 +0100samebchase-(~samebchas@51.15.68.182)
2021-02-19 20:40:10 +0100aweinstock(~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com)
2021-02-19 20:40:10 +0100is_null(~jpic@pdpc/supporter/professional/is-null)
2021-02-19 20:40:10 +0100texasmynsted_(~texasmyns@99.96.221.112)
2021-02-19 20:40:10 +0100PragCypher(~cypher@li1507-98.members.linode.com)
2021-02-19 20:40:10 +0100sigmundv(~sigmundv@178.62.72.87)
2021-02-19 20:40:10 +0100verement(~anonymous@cpe-76-167-229-223.san.res.rr.com)
2021-02-19 20:40:10 +0100tomboy64(~tomboy64@unaffiliated/tomboy64)
2021-02-19 20:40:10 +0100dustinm-(~dustinm@static.38.6.217.95.clients.your-server.de)
2021-02-19 20:40:10 +0100remexre(~nathan@207-153-38-50.fttp.usinternet.com)
2021-02-19 20:40:10 +0100fl0_id(~fl0_id@claudia.s7t.de)
2021-02-19 20:40:10 +0100simplegauss(~simplegau@45.77.0.246)
2021-02-19 20:40:10 +0100ByronJohnson(~bairyn@unaffiliated/bob0)
2021-02-19 20:40:10 +0100jlamothe(~jlamothe@198.251.55.207)
2021-02-19 20:40:10 +0100lazyshrk(~lazyshrk@128.199.58.13)
2021-02-19 20:40:10 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-02-19 20:40:10 +0100Natch(~natch@c-b471e255.014-297-73746f25.bbcust.telenor.se)
2021-02-19 20:40:10 +0100nitrix(~nitrix@haskell/developer/nitrix)
2021-02-19 20:40:10 +0100puffnfresh_(~puffnfres@45.76.124.5)
2021-02-19 20:40:10 +0100caubert(~caubert@136.244.111.235)
2021-02-19 20:40:10 +0100haritz(~hrtz@unaffiliated/haritz)
2021-02-19 20:40:10 +0100atk(~Arch-TK@ircpuzzles/staff/Arch-TK)
2021-02-19 20:40:10 +0100jmsx(~jordan@li1158-85.members.linode.com)
2021-02-19 20:40:10 +0100dxld(~dxld@80-109-136-248.cable.dynamic.surfer.at)
2021-02-19 20:40:10 +0100stampirl(~stampirl@195-154-112-77.rev.poneytelecom.eu)
2021-02-19 20:40:10 +0100styledash(~styledash@157.230.173.136)
2021-02-19 20:40:10 +0100ski(~ski@ed-3358-10.studat.chalmers.se)
2021-02-19 20:40:10 +0100klardotsh(~klardotsh@c-71-231-242-112.hsd1.wa.comcast.net)
2021-02-19 20:40:10 +0100niko(~niko@freenode/staff/ubuntu.member.niko)
2021-02-19 20:40:10 +0100ArsenArsen(~Arsen@fsf/member/ArsenArsen)
2021-02-19 20:40:10 +0100mozzarella(~sam@unaffiliated/sam113101)
2021-02-19 20:40:10 +0100lukelau(~lukelau@46.101.13.214)
2021-02-19 20:40:10 +0100hvr(~hvr@haskell/developer/hvr)
2021-02-19 20:40:10 +0100kaychaks(sid236345@gateway/web/irccloud.com/x-ubijiresjoyryppu)
2021-02-19 20:40:10 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-02-19 20:40:10 +0100mp___(mp@hell.cx)
2021-02-19 20:40:10 +0100Katarushisu(~Katarushi@cpc152083-finc20-2-0-cust170.4-2.cable.virginm.net)
2021-02-19 20:40:10 +0100tessier(~treed@kernel-panic/copilotco)
2021-02-19 20:40:10 +0100nerdypepper(znc@152.67.162.71)
2021-02-19 20:40:10 +0100ornxka_(~ornxka@unaffiliated/ornx)
2021-02-19 20:40:10 +0100connrs(~connrs@runciter.connrs.uk)
2021-02-19 20:40:10 +0100davl(~davl@207.154.228.18)
2021-02-19 20:40:10 +0100canta(~canta@cvm0.d5k.one)
2021-02-19 20:40:10 +0100mapperr(~mapperr@vmi389916.contaboserver.net)
2021-02-19 20:40:10 +0100pounce(~pounce@ns379743.ip-5-196-70.eu)
2021-02-19 20:40:10 +0100khisanth_(~Khisanth@24.sub-174-244-147.myvzw.com)
2021-02-19 20:40:10 +0100rprospero(~adam@186.75.232.35.bc.googleusercontent.com)
2021-02-19 20:40:10 +0100tureba(~tureba@tureba.org)
2021-02-19 20:40:10 +0100atomi(~atomi@35.71.197.35.bc.googleusercontent.com)
2021-02-19 20:40:10 +0100dan64(~dan64@dannyadam.com)
2021-02-19 20:40:10 +0100rkvist(~user@138.197.72.132)
2021-02-19 20:40:10 +0100Flonk(~Flonk@ec2-52-40-29-25.us-west-2.compute.amazonaws.com)
2021-02-19 20:40:10 +0100koala_man(~vidar@unaffiliated/koala-man/x-2491903)
2021-02-19 20:40:10 +0100lyxia(~lyxia@poisson.chat)
2021-02-19 20:40:10 +0100pdxleif(~pdxleif@ec2-54-68-166-10.us-west-2.compute.amazonaws.com)
2021-02-19 20:40:10 +0100c_wraith(~c_wraith@adjoint.us)
2021-02-19 20:40:10 +0100joeyh(~joeyh@kitenet.net)
2021-02-19 20:40:10 +0100davean(~davean@davean.sciesnet.net)
2021-02-19 20:40:10 +0100Rembane(~Rembane@li346-36.members.linode.com)
2021-02-19 20:40:10 +0100pharaun(~pharaun@static.88-198-62-245.clients.your-server.de)
2021-02-19 20:40:10 +0100nisstyre(~wes@python-zero/conduct-committee/nisstyre)
2021-02-19 20:40:10 +0100heath(~heath@unaffiliated/ybit)
2021-02-19 20:40:10 +0100mrus(~mrus@128.199.8.231)
2021-02-19 20:40:10 +0100ring0`(~ringo@unaffiliated/ring0/x-8667941)
2021-02-19 20:40:10 +0100mstruebing(~mstruebin@ns399634.ip-5-39-81.eu)
2021-02-19 20:40:10 +0100kqr(~kqr@vps.xkqr.org)
2021-02-19 20:40:10 +0100zymurgy(~zymurgy@li607-220.members.linode.com)
2021-02-19 20:40:10 +0100freeside(~ubuntu@ec2-52-58-69-57.eu-central-1.compute.amazonaws.com)
2021-02-19 20:40:10 +0100neobit(~neobit@159.65.243.9)
2021-02-19 20:40:10 +0100stvc(~stvc@192.241.166.39)
2021-02-19 20:40:10 +0100jemurray(~jemurray@shell.jasonmurray.org)
2021-02-19 20:40:10 +0100interruptinuse(~interrupt@girl.mrtheplague.net)
2021-02-19 20:40:10 +0100avp(~avp@unaffiliated/avp)
2021-02-19 20:40:10 +0100sshine(~simon@hubris.eta.solutions)
2021-02-19 20:40:10 +0100dpl(~dpl@ec2-18-133-105-122.eu-west-2.compute.amazonaws.com)
2021-02-19 20:40:10 +0100LambdaDuck(~anka@ksit.fixme.fi)
2021-02-19 20:40:10 +0100Ankhers(~Ankhers@unaffiliated/ankhers)
2021-02-19 20:40:10 +0100turq(~electro@unaffiliated/turq)
2021-02-19 20:40:10 +0100ammar2(admin@i.diddled.with.the.opers.so.they.klined.me)
2021-02-19 20:40:13 +0100 <hololeap> merijn: yeah, it was a joke
2021-02-19 20:40:13 +0100whez(sid470288@gateway/web/irccloud.com/x-rgticdwlpxuwtxmt)
2021-02-19 20:40:21 +0100 <tomsmeding> NoFieldSelectors makes NamedFieldPuns okay, but NoFieldSelectors itself has downsides imo :p
2021-02-19 20:40:21 +0100mrus(~mrus@128.199.8.231) (Max SendQ exceeded)
2021-02-19 20:40:21 +0100nisstyre(~wes@python-zero/conduct-committee/nisstyre) (Max SendQ exceeded)
2021-02-19 20:40:21 +0100is_null(~jpic@pdpc/supporter/professional/is-null) (Max SendQ exceeded)
2021-02-19 20:40:21 +0100tomboy64(~tomboy64@unaffiliated/tomboy64) (Max SendQ exceeded)
2021-02-19 20:40:21 +0100styledash(~styledash@157.230.173.136) (Max SendQ exceeded)
2021-02-19 20:40:36 +0100 <merijn> hololeap: Your joke is not Poe's Law proof >.>
2021-02-19 20:40:49 +0100styledash(~styledash@157.230.173.136)
2021-02-19 20:40:55 +0100 <merijn> tomsmeding: NoFieldSelectors also makes sumtype records ok!
2021-02-19 20:41:02 +0100nisstyre(~wes@python-zero/conduct-committee/nisstyre)
2021-02-19 20:41:08 +0100mrus(~mrus@128.199.8.231)
2021-02-19 20:41:12 +0100 <tomsmeding> I know! I read about it again today
2021-02-19 20:41:25 +0100 <tomsmeding> a thing having advantages does not mean it doesn't have disadvantages :p
2021-02-19 20:41:32 +0100dcouttsdcoutts__
2021-02-19 20:41:52 +0100dcoutts_dcoutts
2021-02-19 20:41:56 +0100tomboy64(~tomboy64@unaffiliated/tomboy64)
2021-02-19 20:42:09 +0100tomsmedingswitched from non-contracted style ("does not") to contracted style ("doesn't") over the course of five word
2021-02-19 20:42:11 +0100 <tomsmeding> s
2021-02-19 20:43:12 +0100geekosaurread it as emphasis (and as idiom)
2021-02-19 20:43:12 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 1.9.1)
2021-02-19 20:43:40 +0100tomsmeding's brain probably intended it as emphasis, but then wondered at its own output
2021-02-19 20:44:13 +0100 <merijn> I stopped thinking about what I type :p
2021-02-19 20:44:33 +0100 <merijn> Often I end up typing a random homonym instead of what I intended anyway
2021-02-19 20:44:42 +0100 <tomsmeding> risky strategy :p
2021-02-19 20:44:46 +0100 <justsomeguy> Sometimes I use non-contracted phrses rather than contracted ones if I expect someone to read my sentence too quickly, or not carefully enough.
2021-02-19 20:45:00 +0100 <justsomeguy> Phrases, even.
2021-02-19 20:45:01 +0100 <merijn> two/to/to, their/they're/there, etc.
2021-02-19 20:45:13 +0100 <geekosaur> even there you did it :)
2021-02-19 20:45:16 +0100 <tomsmeding> :D
2021-02-19 20:45:19 +0100Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it) (Quit: Leaving)
2021-02-19 20:45:28 +0100 <merijn> dammit >.<
2021-02-19 20:45:37 +0100is_null(~jpic@pdpc/supporter/professional/is-null)
2021-02-19 20:46:04 +0100 <merijn> And then some rando on reddit goes into a 4 page "helpful" explanation about different meaning...I know >.<
2021-02-19 20:46:13 +0100 <justsomeguy> words are hard
2021-02-19 20:46:28 +0100 <merijn> I blame English for having a phonology that has to much overlap...
2021-02-19 20:47:21 +0100Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it)
2021-02-19 20:47:27 +0100 <ephemient> I can fail to make sense in many languages
2021-02-19 20:47:47 +0100 <ephemient> I blame humanity
2021-02-19 20:47:56 +0100 <tomsmeding> merijn: friend of mine manages it in Dutch too
2021-02-19 20:50:21 +0100jmo`(~user@h-162-127.A785.priv.bahnhof.se) (Ping timeout: 264 seconds)
2021-02-19 20:50:30 +0100 <merijn> tomsmeding: Really? How? >.>
2021-02-19 20:50:38 +0100texasmynsted_(~texasmyns@99.96.221.112) (Ping timeout: 256 seconds)
2021-02-19 20:50:48 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-02-19 20:51:10 +0100akhov(~akh@89.45.7.204) (Quit: WeeChat 2.9)
2021-02-19 20:51:21 +0100Benzi-Junior(~BenziJuni@dsl-149-67-143.hive.is) (Ping timeout: 272 seconds)
2021-02-19 20:51:42 +0100kenran(~kenran@i577BCDAF.versanet.de) (Quit: leaving)
2021-02-19 20:51:54 +0100xsperry(~as@unaffiliated/xsperry) ()
2021-02-19 20:52:13 +0100desophos(~desophos@2601:249:1680:a570:dc9b:7a29:1314:79e3)
2021-02-19 20:52:38 +0100Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it) (Ping timeout: 272 seconds)
2021-02-19 20:54:51 +0100texasmynsted(~texasmyns@99.96.221.112)
2021-02-19 20:55:53 +0100ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net)
2021-02-19 20:56:59 +0100p8m(p8m@gateway/vpn/protonvpn/p8m)
2021-02-19 20:57:57 +0100 <tomsmeding> merijn: can't find an instance now, I'll be sure to inform you next time it happens :P
2021-02-19 20:59:26 +0100lambda-11235(~lambda-11@2600:1700:7c70:4600:b196:3409:30dd:179) (Ping timeout: 240 seconds)
2021-02-19 21:01:10 +0100hexagenic(~mattias@2001:2002:51e0:74c9:5098:c4b6:1b73:7815)
2021-02-19 21:01:58 +0100Guest41(50a46f47@gateway/web/cgi-irc/kiwiirc.com/ip.80.164.111.71) (Quit: Connection closed)
2021-02-19 21:01:58 +0100rj(~x@gateway/tor-sasl/rj) (Quit: rj)
2021-02-19 21:02:38 +0100Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it)
2021-02-19 21:04:28 +0100p8m(p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 265 seconds)
2021-02-19 21:04:56 +0100petersen(~petersen@redhat/juhp) (Ping timeout: 240 seconds)
2021-02-19 21:06:03 +0100acidjnk_new2(~acidjnk@p200300d0c7390926a05b4912fb2bf4b2.dip0.t-ipconnect.de)
2021-02-19 21:07:16 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-02-19 21:07:23 +0100petersen(~petersen@redhat/juhp)
2021-02-19 21:09:03 +0100kupi(uid212005@gateway/web/irccloud.com/x-gmmufsknzrjevvnk)
2021-02-19 21:09:06 +0100minoru_shiraeesh(~shiraeesh@5.101.59.186)
2021-02-19 21:09:16 +0100__minoru__shirae(~shiraeesh@46.34.206.35) (Ping timeout: 258 seconds)
2021-02-19 21:09:27 +0100heatsink(~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c)
2021-02-19 21:10:28 +0100texasmynsted(~texasmyns@99.96.221.112) (Ping timeout: 256 seconds)
2021-02-19 21:11:11 +0100kam1(~kam1@5.126.205.103)
2021-02-19 21:11:11 +0100alx741(~alx741@181.196.68.69)
2021-02-19 21:11:59 +0100lambda-11235(~lambda-11@2600:1700:7c70:4600::3f)
2021-02-19 21:13:56 +0100heatsink(~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c) (Ping timeout: 240 seconds)
2021-02-19 21:14:03 +0100ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net) (Remote host closed the connection)
2021-02-19 21:14:57 +0100texasmynsted(~texasmyns@99.96.221.112)
2021-02-19 21:16:56 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-02-19 21:17:47 +0100stree(~stree@68.36.8.116) (Ping timeout: 256 seconds)
2021-02-19 21:18:47 +0100Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it) (Quit: Leaving)
2021-02-19 21:20:37 +0100heatsink(~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c)
2021-02-19 21:21:28 +0100hiroaki(~hiroaki@ip4d166d67.dynamic.kabel-deutschland.de)
2021-02-19 21:22:22 +0100texasmynsted(~texasmyns@99.96.221.112) (Ping timeout: 256 seconds)
2021-02-19 21:22:38 +0100neiluj(~jco@91-167-203-101.subs.proxad.net)
2021-02-19 21:22:43 +0100neiluj(~jco@91-167-203-101.subs.proxad.net) (Changing host)
2021-02-19 21:22:43 +0100neiluj(~jco@unaffiliated/neiluj)
2021-02-19 21:23:56 +0100 <frozenErebus> for a beginner in functional paradigm...will learning it initially with haskell be better or javscript or it doesnt matter at all?
2021-02-19 21:25:29 +0100 <[exa]> frozenErebus: haskell learning curve will be steeper but you won't have to learn FP in a poor ad-hoc simulation thereof
2021-02-19 21:25:36 +0100 <karasu1[m]> Many recommend Scheme/Racket
2021-02-19 21:25:51 +0100slack1256(~slack1256@dvc-186-186-101-190.movil.vtr.net)
2021-02-19 21:25:53 +0100 <[exa]> yes, any kind of scheme is great
2021-02-19 21:26:08 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:ac0a:212f:8c2a:8e74) (Ping timeout: 258 seconds)
2021-02-19 21:26:34 +0100 <frozenErebus> ohhok
2021-02-19 21:26:35 +0100 <[exa]> frozenErebus: https://ds26gte.github.io/tyscheme/ (I started with this)
2021-02-19 21:26:43 +0100 <frozenErebus> thank you
2021-02-19 21:27:28 +0100 <frozenErebus> ill get started with this...thanks again
2021-02-19 21:28:56 +0100mananamenos(~mananamen@37.red-88-27-26.staticip.rima-tde.net) (Ping timeout: 240 seconds)
2021-02-19 21:29:14 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:45e4:dc11:b2d7:cde4)
2021-02-19 21:30:11 +0100heatsink(~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c) (Remote host closed the connection)
2021-02-19 21:30:22 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 21:30:31 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Quit: ლ(ಠ益ಠლ) .:. <Ashley> my porn is hidden in a folder called "BBC Micro Emulator")
2021-02-19 21:30:40 +0100stree(~stree@68.36.8.116)
2021-02-19 21:31:22 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
2021-02-19 21:31:29 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-pylvhrkwkzdorvyp)
2021-02-19 21:32:12 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-02-19 21:32:28 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit)
2021-02-19 21:32:49 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 21:33:50 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-19 21:34:05 +0100p8m(p8m@gateway/vpn/protonvpn/p8m)
2021-02-19 21:35:47 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Quit: p-core)
2021-02-19 21:36:46 +0100Deide(~Deide@217.155.19.23)
2021-02-19 21:37:37 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
2021-02-19 21:38:24 +0100inkbottle(~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr)
2021-02-19 21:38:36 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
2021-02-19 21:38:52 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2021-02-19 21:39:05 +0100Varis(~Tadas@unaffiliated/varis)
2021-02-19 21:39:16 +0100s00pcan(~chris@107.181.165.217) (Ping timeout: 240 seconds)
2021-02-19 21:39:50 +0100jamm_(~jamm@unaffiliated/jamm)
2021-02-19 21:41:15 +0100s00pcan(~chris@075-133-056-178.res.spectrum.com)
2021-02-19 21:41:56 +0100texasmynsted(~texasmyns@99.96.221.112)
2021-02-19 21:43:01 +0100mananamenos(~mananamen@37.red-88-27-26.staticip.rima-tde.net)
2021-02-19 21:43:54 +0100frozenErebus(~frozenEre@94.128.219.166) (Ping timeout: 256 seconds)
2021-02-19 21:43:59 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Quit: ლ(ಠ益ಠლ) .:. <Ashley> my porn is hidden in a folder called "BBC Micro Emulator")
2021-02-19 21:44:23 +0100inkbottle(~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-02-19 21:44:26 +0100jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
2021-02-19 21:44:45 +0100inkbottle(~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr)
2021-02-19 21:44:49 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-02-19 21:45:14 +0100jneira(501e6551@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.81)
2021-02-19 21:46:40 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-19 21:47:09 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-02-19 21:47:59 +0100Chousuke_Chousuke
2021-02-19 21:48:13 +0100 <ezzieyguywuf> are flags case sensitive?
2021-02-19 21:48:24 +0100 <ezzieyguywuf> i.e. --flags=lib-werror vs --flags=lib-Werror
2021-02-19 21:48:55 +0100Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it)
2021-02-19 21:49:11 +0100dftxbs3e(~dftxbs3e@unaffiliated/dftxbs3e) (Remote host closed the connection)
2021-02-19 21:49:15 +0100 <aldum> oh bog, please don't learn it on javascript
2021-02-19 21:49:42 +0100jneira(501e6551@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.81) (Client Quit)
2021-02-19 21:51:35 +0100jneira(501e6551@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.81)
2021-02-19 21:51:44 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Ping timeout: 240 seconds)
2021-02-19 21:51:50 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2021-02-19 21:52:04 +0100new_haskeller(~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c) (Remote host closed the connection)
2021-02-19 21:52:45 +0100new_haskeller(~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c)
2021-02-19 21:53:05 +0100incertia(~incertia@d4-50-26-103.nap.wideopenwest.com)
2021-02-19 21:53:23 +0100 <geekosaur> "Flag names are case insensitive."
2021-02-19 21:55:15 +0100 <hyperisco> there should have been a flag to choose case sensitivity
2021-02-19 21:56:56 +0100new_haskeller(~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c) (Ping timeout: 240 seconds)
2021-02-19 21:59:17 +0100pera(~pera@unaffiliated/pera) (Ping timeout: 265 seconds)
2021-02-19 21:59:49 +0100 <monochrom> Should that flag be case sensitive or not? :)
2021-02-19 22:00:33 +0100 <davean> It should only care about the case of the first characture
2021-02-19 22:00:35 +0100 <monochrom> I choose case sensitivity for those who don't choose case sensitivity for themselves.
2021-02-19 22:00:38 +0100_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-02-19 22:04:00 +0100 <ski> "Should that flag be case sensitive or not? :)" -- i was wondering the same thing. i think the answer might be that it should depend on whether it's currently turned on or not
2021-02-19 22:05:05 +0100 <monochrom> CasesensitivityInCasesensitivity
2021-02-19 22:05:34 +0100jpds_(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-02-19 22:05:59 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
2021-02-19 22:06:17 +0100jpds_(~jpds@gateway/tor-sasl/jpds)
2021-02-19 22:06:25 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-19 22:06:42 +0100acidjnk_new2(~acidjnk@p200300d0c7390926a05b4912fb2bf4b2.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2021-02-19 22:07:03 +0100monochromis now known as Russell 2.0
2021-02-19 22:07:47 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-02-19 22:07:52 +0100ubert(~Thunderbi@p200300ecdf25d9a6e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2021-02-19 22:09:17 +0100afreakk(~wut@ec2-3-122-177-136.eu-central-1.compute.amazonaws.com) (Quit: WeeChat 2.9)
2021-02-19 22:09:27 +0100deviantfero(~deviantfe@190.150.27.58) (Ping timeout: 258 seconds)
2021-02-19 22:09:31 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net)
2021-02-19 22:09:41 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 22:10:43 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-19 22:11:23 +0100pera(~pera@unaffiliated/pera)
2021-02-19 22:11:47 +0100knupfer(~Thunderbi@200116b82c5ea20060fd90b099ff5103.dip.versatel-1u1.de) (Remote host closed the connection)
2021-02-19 22:11:55 +0100knupfer(~Thunderbi@200116b82c5ea20038822c1f6756abba.dip.versatel-1u1.de)
2021-02-19 22:12:12 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds)
2021-02-19 22:13:31 +0100Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it) (Quit: Leaving)
2021-02-19 22:14:22 +0100heatsink(~heatsink@2600:1700:bef1:5e10:897b:89fa:77f1:998c)
2021-02-19 22:16:09 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-02-19 22:16:09 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 264 seconds)
2021-02-19 22:16:17 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
2021-02-19 22:24:26 +0100knupfer(~Thunderbi@200116b82c5ea20038822c1f6756abba.dip.versatel-1u1.de) (Ping timeout: 240 seconds)
2021-02-19 22:24:35 +0100nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-02-19 22:25:28 +0100 <nut> Can I makeClassy ''SomeType where SomeType has a type parameter such as SomeType a
2021-02-19 22:25:35 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-02-19 22:25:55 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 22:26:16 +0100 <nut> data SomeType a = ...
2021-02-19 22:27:10 +0100frozenErebus(~frozenEre@94.128.219.166)
2021-02-19 22:27:45 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-19 22:30:24 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds)
2021-02-19 22:30:28 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2021-02-19 22:30:42 +0100geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-02-19 22:30:59 +0100 <karasu1[m]> I'm a beginner, but I think the definition of Maybe is `Maybe a = Nothing | Just a`, so to me that looks good
2021-02-19 22:31:10 +0100 <karasu1[m]> data Maybe a = Nothing | Just a
2021-02-19 22:31:17 +0100 <karasu1[m]> forgot the data keyword before..
2021-02-19 22:31:40 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:45e4:dc11:b2d7:cde4) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-19 22:31:49 +0100knupfer(~Thunderbi@200116b82c5ea200d8fe96fffeef331c.dip.versatel-1u1.de)
2021-02-19 22:31:50 +0100knupfer(~Thunderbi@200116b82c5ea200d8fe96fffeef331c.dip.versatel-1u1.de) (Client Quit)
2021-02-19 22:32:07 +0100knupfer(~Thunderbi@mue-88-130-61-209.dsl.tropolys.de)
2021-02-19 22:32:09 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 246 seconds)
2021-02-19 22:33:01 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2021-02-19 22:33:11 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
2021-02-19 22:33:50 +0100 <hololeap> % :t bisequence @(,) @[]
2021-02-19 22:33:51 +0100 <yahb> hololeap: ([a], [b]) -> [(a, b)]
2021-02-19 22:34:25 +0100hexagenic(~mattias@2001:2002:51e0:74c9:5098:c4b6:1b73:7815) (Quit: WeeChat 1.9.1)
2021-02-19 22:34:42 +0100 <hololeap> so if bisequence is (essentially zip), what would be unzip? bidistribute?
2021-02-19 22:36:02 +0100 <dolio> That isn't zip, is it?
2021-02-19 22:36:19 +0100 <dolio> It's like a cartesian product.
2021-02-19 22:36:31 +0100 <hololeap> :t uncurry zip
2021-02-19 22:36:32 +0100 <lambdabot> ([a], [b]) -> [(a, b)]
2021-02-19 22:37:34 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:45e4:dc11:b2d7:cde4)
2021-02-19 22:37:53 +0100alx741(~alx741@181.196.68.69) (Quit: alx741)
2021-02-19 22:38:05 +0100inkbottle(~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-02-19 22:38:25 +0100inkbottle(~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr)
2021-02-19 22:40:09 +0100s00pcan(~chris@075-133-056-178.res.spectrum.com) (Ping timeout: 264 seconds)
2021-02-19 22:40:51 +0100 <karasu1[m]> So head is a function, but it is partial, right?
2021-02-19 22:41:01 +0100 <karasu1[m]> I think this means that head is injective
2021-02-19 22:41:02 +0100 <karasu1[m]> And head is surjective
2021-02-19 22:41:04 +0100 <karasu1[m]> But it is not bijective..
2021-02-19 22:41:14 +0100 <karasu1[m]> Since it can't map anything from the empty list
2021-02-19 22:41:25 +0100 <dolio> Definitely not injective.
2021-02-19 22:41:36 +0100vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2021-02-19 22:41:58 +0100 <dolio> > (head [1], head [1,2])
2021-02-19 22:41:59 +0100s00pcan(~chris@107.181.165.217)
2021-02-19 22:41:59 +0100 <lambdabot> (1,1)
2021-02-19 22:42:00 +0100 <karasu1[m]> Oh right, since multiple lists can have the same head
2021-02-19 22:42:04 +0100 <karasu1[m]> Right
2021-02-19 22:42:57 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 22:42:57 +0100 <karasu1[m]> Right, if it actually were injective and surjective then that would imply bijectivity, so I just suck at math..
2021-02-19 22:44:08 +0100 <hololeap> it is surjective, though, right?
2021-02-19 22:44:16 +0100 <karasu1[m]> But the word "partiality" has to do with the fact that it's not defined for some elements in the domain right? Probably not to do with injections or surjections?
2021-02-19 22:44:51 +0100 <karasu1[m]> I think it makes sense to call it surjective, since for every head, we can always have at least [head] in the domain that maps to it
2021-02-19 22:45:50 +0100 <dolio> Well, it could be that the setting for reasoning about partial functions isn't 'balanced'. But I'm not sure about that.
2021-02-19 22:45:53 +0100xff0x(~xff0x@2001:1a81:524a:900:9d0e:be3:c9ba:ea74) (Ping timeout: 272 seconds)
2021-02-19 22:46:10 +0100xff0x(~xff0x@2001:1a81:524a:900:a41b:c75d:e7aa:feb6)
2021-02-19 22:46:36 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-19 22:49:59 +0100 <dolio> Yeah, 'partial' has to do with being undefined on the domain.
2021-02-19 22:50:15 +0100 <hololeap> i think the best you can do is say that if a function is partial, it definitely isn't injective. but a function _not_ being partial doesn't mean that it _is_ injective
2021-02-19 22:50:57 +0100 <dolio> I'm not sure that being partial means not injective.
2021-02-19 22:51:16 +0100 <karasu1[m]> same, I think that would need proof
2021-02-19 22:51:18 +0100 <dolio> You'd have to think closely about what 'injective' means in that context, though.
2021-02-19 22:52:09 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-02-19 22:53:13 +0100 <hololeap> oh, no i guess i'm wrong: https://en.wikipedia.org/wiki/Partial_function
2021-02-19 22:54:01 +0100 <karasu1[m]> Well, from wikipedia it seems partial functions are quite related to injectivity and surjectivity LOL
2021-02-19 22:54:33 +0100 <karasu1[m]> I can never remember any definitions though.....
2021-02-19 22:54:43 +0100 <karasu1[m]> (had to look up injectivity and surjectivity today)
2021-02-19 22:55:06 +0100 <hyperisco> better to understand the concepts because the formalisms can vary
2021-02-19 22:55:42 +0100 <karasu1[m]> I'm not very smart..
2021-02-19 22:56:04 +0100 <karasu1[m]> But I like to try.
2021-02-19 22:56:24 +0100Guest28622(~textual@zrcout.mskcc.org) (Quit: Textual IRC Client: www.textualapp.com)
2021-02-19 22:58:15 +0100 <hyperisco> Injectivity: for every output there is only one input that produces it. Surjectivity: for all outputs in a given set of possible outputs, there is an input that produces that output
2021-02-19 22:58:54 +0100 <hyperisco> I just think of the pictures
2021-02-19 22:59:45 +0100knupfer(~Thunderbi@mue-88-130-61-209.dsl.tropolys.de) (Quit: knupfer)
2021-02-19 23:00:11 +0100 <monochrom> My mnemonic was "sur -> surface -> sprayed all over the surface" so all of the co-domain is hit.
2021-02-19 23:00:12 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2021-02-19 23:00:39 +0100 <monochrom> "injection" was self-explanatory to me for some reason.
2021-02-19 23:01:04 +0100 <hyperisco> if the problem is forgetting what term means what then I don't really have a fix for that :P
2021-02-19 23:01:10 +0100son0p(~son0p@181.136.122.143)
2021-02-19 23:01:10 +0100 <monochrom> something about "needle hitting one point no more no less"
2021-02-19 23:01:44 +0100 <karasu1[m]> i've heard all the mnemonics and definitions before
2021-02-19 23:01:52 +0100 <karasu1[m]> but I can't remember em man...
2021-02-19 23:02:04 +0100 <monochrom> On the west side of the Atlantic, the words are "one-to-one" for injective, "on to" for surjective. Perhaps you can use them instead.
2021-02-19 23:02:44 +0100 <hololeap> there's also monomorphism and epimorphism if that helps you remember >:)
2021-02-19 23:02:51 +0100 <karasu1[m]> noooooo
2021-02-19 23:02:51 +0100 <hyperisco> I don't know if you're astray if you say "invertible" instead of "injective"
2021-02-19 23:02:54 +0100 <dolio> "onto" always seemed like a pretty bad name to me.
2021-02-19 23:03:11 +0100 <karasu1[m]> no more math words...
2021-02-19 23:03:38 +0100 <karasu1[m]> just kidding lol
2021-02-19 23:03:46 +0100 <dolio> Like, you could describe every function as maping "on to" the codomain.
2021-02-19 23:03:55 +0100 <monochrom> I don't really worry about remembering. I just look up every time I need to. Then if I use it often enough, that's natural spaced repetition right there for free, I don't even have to plan it. If I don't use it often enough, why worry anyway.
2021-02-19 23:04:15 +0100Rudd0(~Rudd0@185.189.115.108)
2021-02-19 23:04:16 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 240 seconds)
2021-02-19 23:04:19 +0100 <ephemient> "on to" in that the domain is mapped onto the entire range
2021-02-19 23:04:21 +0100 <hyperisco> image, preimage, range, domain, codomain
2021-02-19 23:04:38 +0100 <hyperisco> it is kind of a mess anyways
2021-02-19 23:04:50 +0100 <hololeap> :t (\f -> unzip . map f) :: ((a1,b1) -> (a2,b2)) -> [(a1,b1)] -> ([a2],[b2])
2021-02-19 23:04:52 +0100 <lambdabot> ((a1, b1) -> (a2, b2)) -> [(a1, b1)] -> ([a2], [b2])
2021-02-19 23:05:00 +0100 <dolio> I know what the term is supposed to mean. I just don't think the words imply that at all unless you already know they're supposed to.
2021-02-19 23:05:04 +0100 <hololeap> is there another word for this? it reminds me of traverse...
2021-02-19 23:05:57 +0100ddellacosta(~ddellacos@86.106.143.202)
2021-02-19 23:06:15 +0100 <monochrom> I recently discovered that image and preimage are a Galois connection, image being the lower adjoint, preimage being the upper adjoint, in this relation.
2021-02-19 23:06:22 +0100 <monochrom> And then there's more...
2021-02-19 23:06:46 +0100 <dolio> Oh, also, the domain always maps "onto" the range, because the modern meaning of "range" is the image.
2021-02-19 23:07:14 +0100ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus) (Quit: ->)
2021-02-19 23:07:32 +0100alx741(~alx741@181.196.68.69)
2021-02-19 23:07:49 +0100 <hyperisco> maybe we should rename surjective to cototal
2021-02-19 23:08:25 +0100 <monochrom> preimage is also the lower adjoint of another Galois connection! The upper adjoint for this, I decided to call it "exclusive image". excIm f D = {y in codomain | forall x in domain. if f x = y then x in D}
2021-02-19 23:08:42 +0100 <monochrom> Therefore, preimage distributes over both union and intersection!
2021-02-19 23:09:10 +0100 <hyperisco> and injective to cofunction
2021-02-19 23:09:38 +0100 <dolio> Yeah, it's an adjoint triple that gives the semantics of the existential and universal quantifiers in logic.
2021-02-19 23:09:39 +0100 <karasu1[m]> I am confusion
2021-02-19 23:09:54 +0100 <monochrom> :)
2021-02-19 23:10:02 +0100 <karasu1[m]> Is everyone here a math professor though
2021-02-19 23:10:04 +0100 <dolio> ∃_f ⊣ f⁻¹ ⊣ ∀_f
2021-02-19 23:10:10 +0100monochrom<3 Galois connections
2021-02-19 23:10:17 +0100 <swarmcollective> not all
2021-02-19 23:10:36 +0100 <karasu1[m]> (obviously I am not..)
2021-02-19 23:10:43 +0100 <hyperisco> I'm just embattled with it, certainly not a professor of it
2021-02-19 23:10:44 +0100 <monochrom> I think there are zero self-identified math profs here.
2021-02-19 23:11:04 +0100 <monochrom> operating word being "self-identified"
2021-02-19 23:11:06 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2021-02-19 23:11:16 +0100darjeeling_(~darjeelin@122.245.216.187) (Ping timeout: 240 seconds)
2021-02-19 23:11:21 +0100 <dolio> It's kind of weird to call the ∀ one any kind of "image" though, because there are corner cases where it contains things that aren't in the image of the function.
2021-02-19 23:11:41 +0100 <karasu1[m]> does image mean codomain?
2021-02-19 23:11:42 +0100 <monochrom> Right? http://files.inconsistent.nl/computer-science.jpg applies. >:)
2021-02-19 23:11:47 +0100 <hololeap> cobitraverseOnIdentity? :)
2021-02-19 23:11:52 +0100 <ski> monochrom : ooh, "exclusive image", i like it :)
2021-02-19 23:12:28 +0100 <monochrom> Well, dolio, yeah, it contains everything outside the image. :)
2021-02-19 23:12:39 +0100 <hyperisco> let go of computability, give in to your infinite desires
2021-02-19 23:12:58 +0100 <dolio> Although, from a discussion about this elsewhere, I learned that there's a similar set of adjoints in another area where people call the ∀_f adjunct the "direct image", even though that's what people used to call the ∃_f one (which is nowadays just called the "image" I guess).
2021-02-19 23:13:24 +0100 <hyperisco> anything exists that can be proven to not not exist
2021-02-19 23:13:41 +0100 <hyperisco> they have all the luxuries, really
2021-02-19 23:14:23 +0100Alleria(~textual@zrcout.mskcc.org)
2021-02-19 23:14:43 +0100elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
2021-02-19 23:14:47 +0100AlleriaGuest72364
2021-02-19 23:14:47 +0100 <dolio> monochrom: Unfortunately it sometimes contains things in the image, I think, so you can't even name it something that would make sense as the complement. :)
2021-02-19 23:15:13 +0100 <dolio> Like "bokeh" or whatever.
2021-02-19 23:15:14 +0100 <monochrom> Yeah I only spent 10 minutes on the name.
2021-02-19 23:15:35 +0100 <monochrom> With 1 week I may be able to think up a better name...
2021-02-19 23:15:45 +0100frozenErebus(~frozenEre@94.128.219.166) (Ping timeout: 240 seconds)
2021-02-19 23:15:53 +0100 <monochrom> But right now I have a much more important and surprising proof to do...
2021-02-19 23:16:00 +0100deviantfero(~deviantfe@190.150.27.58)
2021-02-19 23:16:32 +0100vicfred(vicfred@gateway/vpn/mullvad/vicfred)
2021-02-19 23:16:35 +0100 <monochrom> Actually I could use your help with choosing a good name for a function I need in the proof...
2021-02-19 23:17:34 +0100 <monochrom> foo :: (Natural -> Maybe a) -> [a]. Idea: foo f = [f 0, f 1, f 2, ...] ends at the first n such that f n = Nothing.
2021-02-19 23:18:07 +0100 <hyperisco> span
2021-02-19 23:18:22 +0100 <monochrom> Actual code: foo f = go 0 where go i = case f i of {Nothing -> []; Just x -> x : go (i+1) }
2021-02-19 23:19:08 +0100new_haskeller(~new_haske@2607:fea8:be1f:ddc0:8d66:e007:d61a:1c5c)
2021-02-19 23:19:36 +0100tremon(~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in)
2021-02-19 23:20:08 +0100 <monochrom> "span" is kind of taken.
2021-02-19 23:20:12 +0100 <dolio> prefix?
2021-02-19 23:20:56 +0100 <monochrom> but "span" does inspire me of something
2021-02-19 23:20:58 +0100 <hyperisco> reach
2021-02-19 23:21:40 +0100 <ski> reminds me of "no infinite descent"
2021-02-19 23:21:48 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-19 23:22:08 +0100 <monochrom> Yikes, longest contiguous prefix
2021-02-19 23:22:23 +0100 <ski> or "maximal"
2021-02-19 23:23:05 +0100 <monochrom> first balloon.
2021-02-19 23:23:26 +0100 <hyperisco> I think prefix implies contiguity
2021-02-19 23:24:17 +0100 <monochrom> It is also an imperfect inverse of safeIndex :: [a] -> Natural -> Maybe a
2021-02-19 23:25:08 +0100 <monochrom> and also I had trouble shaking "redex" out of my head heh
2021-02-19 23:25:13 +0100 <dolio> Right, it's a retract (assuming I have it the right way around).
2021-02-19 23:25:14 +0100 <monochrom> s/also/so/
2021-02-19 23:25:54 +0100hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Quit: Curry, you fools!)
2021-02-19 23:26:36 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-02-19 23:26:57 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 264 seconds)
2021-02-19 23:27:42 +0100darjeeling_(~darjeelin@122.245.216.187)
2021-02-19 23:28:15 +0100 <ski> yes, retract
2021-02-19 23:28:30 +0100 <dolio> I think only caring about the domain of definition of the partiala function is the wrong notion of injectivity, now that I think of it.
2021-02-19 23:28:34 +0100 <ski> hm, or do people say "retraction" ?
2021-02-19 23:28:44 +0100 <ski> "retract" may be the name for the whole situation
2021-02-19 23:28:57 +0100 <monochrom> It's retract.
2021-02-19 23:29:18 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-19 23:29:20 +0100 <monochrom> Retraction is when your paper is wrong. :)
2021-02-19 23:29:38 +0100 <dolio> Because an 'injective' function with undefined points may not be left-cancellable.
2021-02-19 23:29:41 +0100 <ski> `A' is a retract of `B' if we have a "retraction" `r : B >--->> A' and a "section" `s : A >>---> B' such that `r . s = id_A'
2021-02-19 23:29:49 +0100 <dolio> So injective must be total.
2021-02-19 23:29:52 +0100 <ski> is how i've seen the terminology used
2021-02-19 23:30:32 +0100 <dolio> I think 'retract' is sometimes used for the retraction map, too.
2021-02-19 23:30:33 +0100 <ski> (so "retract" would apply to the relation between the objects, and "retraction" describes one of the morphisms)
2021-02-19 23:30:35 +0100 <monochrom> I need to put that on a flashcard, ski. :)
2021-02-19 23:30:50 +0100 <ski> dolio : i wouldn't be surprised
2021-02-19 23:30:53 +0100 <monochrom> btw I missed the opportunity for great jokes last night about flashcards.
2021-02-19 23:30:57 +0100 <dolio> But never 'sect'.
2021-02-19 23:31:16 +0100 <ski> hm, can we figure out some nice usage of "sect" ?
2021-02-19 23:31:20 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
2021-02-19 23:31:20 +0100 <monochrom> Does SD card count as flashcard? Does Compact Flash card count as flashcard? >:)
2021-02-19 23:31:30 +0100 <ski> is `B' a "sect" of `A', above, say ?
2021-02-19 23:32:01 +0100 <monochrom> Hey perhaps it's "section and sectionion"
2021-02-19 23:32:03 +0100__monty__(~toonn@unaffiliated/toonn) (Quit: leaving)
2021-02-19 23:32:04 +0100 <ski> monochrom : does it involve Adobe Flash ?
2021-02-19 23:32:16 +0100 <monochrom> :)
2021-02-19 23:32:34 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net)
2021-02-19 23:32:56 +0100jdt_(~jdt@208.85.233.130) (Ping timeout: 240 seconds)
2021-02-19 23:33:02 +0100monochromstill has a Compact Flash card
2021-02-19 23:33:54 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-02-19 23:34:15 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-19 23:34:34 +0100pfurla_(~pfurla@64.145.79.123)
2021-02-19 23:35:16 +0100jdt(~jdt@208.85.233.130)
2021-02-19 23:35:53 +0100frozenErebus(~frozenEre@94.128.219.166)
2021-02-19 23:37:33 +0100ph88^(~ph88@2a02:8109:9e00:7e5c:1d07:66bc:d1dc:63b4)
2021-02-19 23:37:45 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
2021-02-19 23:37:48 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 256 seconds)
2021-02-19 23:38:05 +0100inkbottle(~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-02-19 23:38:24 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net)
2021-02-19 23:38:25 +0100inkbottle(~inkbottle@aaubervilliers-654-1-4-36.w83-200.abo.wanadoo.fr)
2021-02-19 23:38:36 +0100stree(~stree@68.36.8.116) (Ping timeout: 240 seconds)
2021-02-19 23:38:54 +0100ddellacosta(~ddellacos@86.106.143.202) (Remote host closed the connection)
2021-02-19 23:38:56 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
2021-02-19 23:40:00 +0100oisdk(~oisdk@2001:bb6:3329:d100:e4fd:fcea:33f:6b51)
2021-02-19 23:40:36 +0100ph88(~ph88@ip5f5af71a.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
2021-02-19 23:42:20 +0100forgottenone(~forgotten@176.42.28.68) (Quit: Konversation terminated!)
2021-02-19 23:42:58 +0100pera(~pera@unaffiliated/pera) (Quit: leaving)
2021-02-19 23:45:06 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
2021-02-19 23:45:20 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:45e4:dc11:b2d7:cde4) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-19 23:45:21 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net)
2021-02-19 23:45:36 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net) (Read error: Connection reset by peer)
2021-02-19 23:46:19 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2021-02-19 23:47:02 +0100Narinas(~Narinas@189.223.59.23.dsl.dyn.telnor.net)
2021-02-19 23:48:00 +0100mananamenos(~mananamen@37.red-88-27-26.staticip.rima-tde.net) (Ping timeout: 256 seconds)
2021-02-19 23:48:06 +0100kam1(~kam1@5.126.205.103) (Ping timeout: 246 seconds)
2021-02-19 23:52:15 +0100stree(~stree@68.36.8.116)
2021-02-19 23:53:12 +0100xrinzler(~hydrogen@197.185.106.5)
2021-02-19 23:54:43 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-02-19 23:55:05 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-02-19 23:56:01 +0100ManofLetters(~mikon@duch.mimuw.edu.pl) (Ping timeout: 258 seconds)
2021-02-19 23:56:56 +0100pfurla_(~pfurla@64.145.79.123) (Ping timeout: 240 seconds)
2021-02-19 23:59:21 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)