2020/10/26

2020-10-26 00:00:22 +0100 <motte> oh.. so can i "override" the handleHttpException somehow?
2020-10-26 00:00:50 +0100 <koz_> motte: I guess the term 'monad transformer' is new to you?
2020-10-26 00:00:53 +0100apoc(~apoc@bridge.mattzq.com) (Ping timeout: 260 seconds)
2020-10-26 00:01:03 +0100 <motte> it indeed is
2020-10-26 00:01:13 +0100 <koz_> Then basically don't worry about it.
2020-10-26 00:01:16 +0100 <koz_> Just work in Req.
2020-10-26 00:01:50 +0100jbox(~atlas@unaffiliated/jbox) (Read error: Connection reset by peer)
2020-10-26 00:02:19 +0100 <crestfallen> hi I'm having trouble in ghci. I upgraded cabal to 3.2.0.0 and ghci is at 8.4.4. when I attempt to move the cursor from right to left to edit, the cursor jumps up into the scrollback, for lack of a better explanation. this is a debian 10 machine. anyone have that issue?
2020-10-26 00:02:30 +0100 <motte> i basically want to return an Either String String from a function that does a GET request, where Left would contain a status code
2020-10-26 00:02:50 +0100jbox(~atlas@unaffiliated/jbox)
2020-10-26 00:03:00 +0100 <koz_> motte: So what's the closest thing you found to what you think you need?
2020-10-26 00:03:10 +0100 <motte> using catch
2020-10-26 00:03:12 +0100 <koz_> I guess there's some 'make a GET request' function?
2020-10-26 00:03:41 +0100 <motte> yes, i can make the get request, the only problem is the error handling
2020-10-26 00:03:50 +0100 <koz_> motte: OK, so you need to basically do this.
2020-10-26 00:05:22 +0100conal(~conal@198.8.81.71) (Ping timeout: 256 seconds)
2020-10-26 00:05:56 +0100 <koz_> catch thingThatMakesYourRequest handler
2020-10-26 00:06:07 +0100 <crestfallen> yeah also I'm having the exact problem on another debian 10 machine at work.
2020-10-26 00:06:15 +0100 <koz_> Where handler will be typed as 'HttpException -> Req a'.
2020-10-26 00:06:25 +0100 <koz_> Then you can take the exception apart and figure out what went wrong.
2020-10-26 00:06:29 +0100 <koz_> And then proceed accordingly.
2020-10-26 00:06:44 +0100fendor(~fendor@178.165.129.119.wireless.dyn.drei.com) (Remote host closed the connection)
2020-10-26 00:07:09 +0100 <motte> koz_: right. but the nicer way would be using a monad transformer?
2020-10-26 00:07:16 +0100 <koz_> motte: Orthogonal.
2020-10-26 00:07:19 +0100 <gattytto> I think I found why my build is failing, seems like "stack" doesn't have a "--ghc-options" arg
2020-10-26 00:07:23 +0100 <koz_> Literally don't even concern yourself with this./
2020-10-26 00:07:39 +0100 <crestfallen> almost unusable... any ideas?
2020-10-26 00:07:54 +0100 <motte> koz_: alright, thanks a lot!
2020-10-26 00:08:38 +0100 <gattytto> crestfallen: what IDE are you using?
2020-10-26 00:09:16 +0100wz1000(~wz1000@static.11.113.47.78.clients.your-server.de) (Ping timeout: 256 seconds)
2020-10-26 00:09:51 +0100 <crestfallen> gattytto, it's just the ghci that comes with cabal, in terminal. I use vim but its unrelated
2020-10-26 00:10:03 +0100mimi_vx(~mimi@2a01:490:16:1026:c3:872f:6511:b2da)
2020-10-26 00:10:44 +0100ahmr88(~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
2020-10-26 00:10:45 +0100hyiltiz(~quassel@unaffiliated/hyiltiz) (Ping timeout: 240 seconds)
2020-10-26 00:11:34 +0100 <crestfallen> the cursor jumps up and travel to the left above the prompt line.
2020-10-26 00:11:37 +0100LKoen(~LKoen@81.255.219.130) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2020-10-26 00:11:40 +0100 <crestfallen> travels*
2020-10-26 00:12:22 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-10-26 00:12:44 +0100hyiltiz(~quassel@82.118.227.47)
2020-10-26 00:12:44 +0100hyiltiz(~quassel@82.118.227.47) (Changing host)
2020-10-26 00:12:44 +0100hyiltiz(~quassel@unaffiliated/hyiltiz)
2020-10-26 00:13:56 +0100son0p(~son0p@181.136.122.143) (Quit: leaving)
2020-10-26 00:13:57 +0100hackageclckwrks 0.26.2.3 - A secure, reliable content management system (CMS) and blogging platform https://hackage.haskell.org/package/clckwrks-0.26.2.3 (JeremyShaw)
2020-10-26 00:14:57 +0100mimi_vx(~mimi@2a01:490:16:1026:c3:872f:6511:b2da) (Ping timeout: 260 seconds)
2020-10-26 00:16:36 +0100Jeanne-Kamikaze(~Jeanne-Ka@68.235.43.110) (Ping timeout: 272 seconds)
2020-10-26 00:20:53 +0100tuple(~igloo@c-67-169-78-228.hsd1.ca.comcast.net)
2020-10-26 00:21:05 +0100tuple(~igloo@c-67-169-78-228.hsd1.ca.comcast.net) (Client Quit)
2020-10-26 00:21:36 +0100 <crestfallen> anyone have this issue? ^ frustrated..
2020-10-26 00:21:57 +0100 <gattytto> from what terminal are you running ghci ?
2020-10-26 00:22:04 +0100 <gattytto> bash/zsh?
2020-10-26 00:23:03 +0100 <crestfallen> bash on xTerm
2020-10-26 00:24:22 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-twosczzfetktowvl) (Quit: Connection closed for inactivity)
2020-10-26 00:25:31 +0100 <gattytto> can you try without the desktop? like, CTRL+ALT+F1 and go to ghci from that shell?
2020-10-26 00:25:57 +0100 <crestfallen> gattytto, thanks, yeah I can barely use it. It loads programs fine, but you cannot travel right to left, or delete
2020-10-26 00:26:05 +0100 <crestfallen> ok one moment thanks
2020-10-26 00:27:55 +0100texasmynsted(~texasmyns@99.96.221.112)
2020-10-26 00:27:55 +0100crestfallen(~John@135-180-15-188.fiber.dynamic.sonic.net) (Remote host closed the connection)
2020-10-26 00:28:06 +0100 <gattytto> ouch
2020-10-26 00:29:10 +0100Tene(~tene@poipu/supporter/slacker/tene)
2020-10-26 00:30:25 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2020-10-26 00:31:19 +0100texasmynsted(~texasmyns@99.96.221.112) (Remote host closed the connection)
2020-10-26 00:31:20 +0100 <monsterchrom> dolio: Right, it is not the Haskell sense of lazy. It has the aspect of on-demand, but it also gets re-computed every time.
2020-10-26 00:32:46 +0100Deide(~Deide@217.155.19.23) (Quit: Seeee yaaaa)
2020-10-26 00:32:52 +0100crestfallen(~John@135-180-15-188.fiber.dynamic.sonic.net)
2020-10-26 00:33:08 +0100 <dolio> Right, because it's even worse to do proper laziness. :)
2020-10-26 00:33:11 +0100 <gattytto> crestfallen: sorry I forgot to tell you, ctrl+alt+f7 will get you back to your window manager
2020-10-26 00:33:33 +0100 <dolio> Or, even harder, rather.
2020-10-26 00:37:24 +0100Katarushisu(~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net)
2020-10-26 00:38:07 +0100 <crestfallen> gattytto, thanks, I'm in another desktop, default x10 or something? it's not gnome, my normal desktop. but the problem remains. ctrl alt f1 didn't give me a skeletal terminal or anything.
2020-10-26 00:38:24 +0100 <gattytto> try the other f's before 7
2020-10-26 00:38:28 +0100 <gattytto> like 2, 3 and 4
2020-10-26 00:39:01 +0100 <crestfallen> thanks let me start a macbook for the chat
2020-10-26 00:39:33 +0100 <jbox> I've been trying to get my dev environment to work (get hie to recognize that xmonad is, in fact, installed), and somehow I borked everything
2020-10-26 00:39:38 +0100xerox_(~xerox@unaffiliated/xerox)
2020-10-26 00:39:38 +0100crestfal1en(~jvw@135-180-15-188.fiber.dynamic.sonic.net)
2020-10-26 00:39:40 +0100 <jbox> stack won't even run now
2020-10-26 00:39:43 +0100 <jbox> stack: error while loading shared libraries: libHShpc-0.6.1.0-ghc8.10.2.so: cannot open shared object file: No such file or directory
2020-10-26 00:40:04 +0100GyroW(~GyroW@unaffiliated/gyrow) (Remote host closed the connection)
2020-10-26 00:40:24 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-26 00:40:25 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-26 00:40:25 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-26 00:40:28 +0100p8m(p8m@gateway/vpn/protonvpn/p8m)
2020-10-26 00:44:27 +0100jbox(~atlas@unaffiliated/jbox) (Ping timeout: 260 seconds)
2020-10-26 00:45:15 +0100crestfallen(~John@135-180-15-188.fiber.dynamic.sonic.net) (Remote host closed the connection)
2020-10-26 00:48:55 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-26 00:49:15 +0100texasmynsted(~texasmyns@99.96.221.112)
2020-10-26 00:49:23 +0100andreas303(~andreas@gateway/tor-sasl/andreas303) (Ping timeout: 240 seconds)
2020-10-26 00:49:54 +0100mimi_vx(~mimi@2a01:490:16:1026:c3:872f:6511:b2da)
2020-10-26 00:52:05 +0100Jeanne-Kamikaze(~Jeanne-Ka@68.235.43.86)
2020-10-26 00:52:14 +0100 <dolio> monsterchrom: That's kind of the irony behind rants about Haskell having the 'wrong' data types relative to ML. They both have all the same data types, but you have to do a lot of work to actually do laziness in ML, while to get the ML sort of type in Haskell you just need to put ! on things.
2020-10-26 00:54:03 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-10-26 00:54:57 +0100ericsagnes(~ericsagne@2405:6580:0:5100:d1a1:7672:7a10:ebb) (Ping timeout: 260 seconds)
2020-10-26 00:55:07 +0100mimi_vx(~mimi@2a01:490:16:1026:c3:872f:6511:b2da) (Ping timeout: 272 seconds)
2020-10-26 00:55:21 +0100wroathe_(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-26 00:55:56 +0100Tops2(~Tobias@dyndsl-091-249-083-218.ewe-ip-backbone.de)
2020-10-26 00:56:07 +0100wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-10-26 00:56:09 +0100 <monsterchrom> Yeah
2020-10-26 00:57:07 +0100 <gattytto> how can I put "+RTS -M3000M" in stack.yaml ghc-options: ? it seems to split them separately
2020-10-26 00:57:24 +0100ryjm_matrix(~matrixirc@2600:4040:a009:6100:38a2:3bc9:e83f:4349)
2020-10-26 00:58:20 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving)
2020-10-26 00:59:29 +0100henninb(~henninb@63-226-191-96.mpls.qwest.net)
2020-10-26 00:59:39 +0100 <crestfal1en> gattytto: hi I'm in x11 and the problem is not occuring. it's like a minimal terminal not sure!
2020-10-26 01:00:01 +0100edit_21(~edit_21@84.39.116.180) ()
2020-10-26 01:00:09 +0100atk(~Arch-TK@ircpuzzles/staff/Arch-TK) (Quit: Well this is unexpected.)
2020-10-26 01:00:30 +0100atk(~Arch-TK@ircpuzzles/staff/Arch-TK)
2020-10-26 01:00:50 +0100 <gattytto> crestfal1en: that's good to hear so you found a workaround
2020-10-26 01:00:52 +0100ryjm_matrix(~matrixirc@2600:4040:a009:6100:38a2:3bc9:e83f:4349) (Client Quit)
2020-10-26 01:01:30 +0100shafox(~shafox@106.51.234.111) (Read error: Connection reset by peer)
2020-10-26 01:02:06 +0100tuple(~igloo@c-67-169-78-228.hsd1.ca.comcast.net)
2020-10-26 01:02:17 +0100tuple(~igloo@c-67-169-78-228.hsd1.ca.comcast.net) (Client Quit)
2020-10-26 01:03:20 +0100texasmynsted(~texasmyns@99.96.221.112) (Remote host closed the connection)
2020-10-26 01:06:14 +0100 <crestfal1en> gattytto: ha! that's it? ! hey do you think it's something to do with updating gnome? It seems that's the only change that I made recently... and it happened on two machines
2020-10-26 01:06:30 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2020-10-26 01:07:23 +0100ericsagnes(~ericsagne@2405:6580:0:5100:d581:a4dc:fd89:fd7c)
2020-10-26 01:09:33 +0100 <gattytto> crestfal1en: maybe default configs in xterm changed between versions, maybe you added charsets? or maybe auto-config of x changed your input settings in xorg conf
2020-10-26 01:09:58 +0100polyrain(~polyrain@2001:8003:e501:6901:15fa:5e4:342f:f38b)
2020-10-26 01:10:59 +0100thir(~thir@p200300f27f2523003c23ef77843b8858.dip0.t-ipconnect.de)
2020-10-26 01:11:07 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 246 seconds)
2020-10-26 01:11:12 +0100 <crestfal1en> gattytto: how would I google the issue to see if haskell made any posts about it? I couldn't find any posts re: it.
2020-10-26 01:11:17 +0100taurux(~taurux@net-93-144-108-10.cust.dsl.teletu.it) (Ping timeout: 260 seconds)
2020-10-26 01:11:36 +0100 <crestfal1en> I mean, what do you call that ? :)
2020-10-26 01:12:50 +0100taurux(~taurux@net-188-152-111-174.cust.dsl.teletu.it)
2020-10-26 01:13:13 +0100ahmr88(~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection)
2020-10-26 01:14:12 +0100DavidEichmann(~david@43.240.198.146.dyn.plus.net) (Ping timeout: 260 seconds)
2020-10-26 01:15:22 +0100thir(~thir@p200300f27f2523003c23ef77843b8858.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-10-26 01:15:32 +0100ahmr88(~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net)
2020-10-26 01:15:33 +0100gentauro(~gentauro@unaffiliated/gentauro) (Ping timeout: 260 seconds)
2020-10-26 01:18:10 +0100 <gattytto> crestfal1en: it's not haskell related, but it has to do with terminals and charsets probably
2020-10-26 01:18:47 +0100 <gattytto> I get the same kind of behavior when trying to edit a LXD config from a heavily colorified zsh terminal
2020-10-26 01:19:41 +0100ahmr88(~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection)
2020-10-26 01:20:45 +0100hyiltiz(~quassel@unaffiliated/hyiltiz) (Ping timeout: 240 seconds)
2020-10-26 01:21:43 +0100mrdocs(~mrdocs@185.244.214.217)
2020-10-26 01:22:17 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2020-10-26 01:22:32 +0100 <crestfal1en> gattytto: thanks kindly. any quick solution? I use nvim with pathogen package
2020-10-26 01:23:04 +0100jbox(~atlas@unaffiliated/jbox)
2020-10-26 01:23:07 +0100 <gattytto> try different terminals
2020-10-26 01:24:00 +0100 <gattytto> and try to finetune your keyboard settings in the os, add the required charsets so you make sure your keyboard functions are fully supported by the terminal you use to run ghci
2020-10-26 01:24:19 +0100 <jbox> is stack supposed to replace ghcup?
2020-10-26 01:26:40 +0100jedws(~jedws@101.184.148.229)
2020-10-26 01:26:58 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 256 seconds)
2020-10-26 01:27:12 +0100gentauro(~gentauro@unaffiliated/gentauro)
2020-10-26 01:27:26 +0100 <koz_> jbox: ghcup has some of the functionality of stack.
2020-10-26 01:27:40 +0100 <crestfal1en> thanks gattytto checking on it
2020-10-26 01:27:56 +0100fandi(~fandi@118.97.77.114) (Read error: Connection reset by peer)
2020-10-26 01:27:59 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-26 01:30:10 +0100GyroW(~GyroW@unaffiliated/gyrow) (Remote host closed the connection)
2020-10-26 01:30:17 +0100 <gattytto> jbox in a general view of things, you use ghcup to setup your ghc, which can be different versions (8.x.y, for instance 8.10.1) then you will use stack toolset to manage your projects, like starting a project from scratch using default files or to call ghc in different ways to build your project
2020-10-26 01:30:20 +0100GyroW(~GyroW@d54c03e98.access.telenet.be)
2020-10-26 01:30:20 +0100GyroW(~GyroW@d54c03e98.access.telenet.be) (Changing host)
2020-10-26 01:30:20 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-26 01:33:21 +0100wroathe_(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
2020-10-26 01:33:32 +0100 <gattytto> can I reference ENV_VARS for values in stack.yaml?
2020-10-26 01:34:37 +0100jbox(~atlas@unaffiliated/jbox) (Ping timeout: 260 seconds)
2020-10-26 01:34:59 +0100 <koz_> jbox: To further elaborate, ghcup sets up GHC itself, as well as some core bits (including Cabal). You then can use cabal to do everything building-Haskell-related. Stack does both of these, but it's opinionated.
2020-10-26 01:38:42 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-26 01:45:49 +0100jbox(~atlas@unaffiliated/jbox)
2020-10-26 01:49:41 +0100Synthetica(uid199651@gateway/web/irccloud.com/x-zxfqxxqfurbfpbil) (Quit: Connection closed for inactivity)
2020-10-26 01:49:42 +0100jlamothe(~jlamothe@198.251.55.207) (Ping timeout: 272 seconds)
2020-10-26 01:51:15 +0100henninb(~henninb@63-226-191-96.mpls.qwest.net) (Quit: Lost terminal)
2020-10-26 01:52:05 +0100mbomba(~mbomba@142.114.9.241)
2020-10-26 01:52:28 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 256 seconds)
2020-10-26 01:53:11 +0100jamm_(~jamm@unaffiliated/jamm)
2020-10-26 01:54:18 +0100 <gattytto> so trying to use +RTS -M3500M in my stack.yaml results in: "+RTS -M3500M"=--ghc-options +RTS --ghc-options -M3500M
2020-10-26 01:54:19 +0100 <gattytto> :(
2020-10-26 01:54:22 +0100nados(~dan@69-165-210-185.cable.teksavvy.com)
2020-10-26 01:55:23 +0100Lord_of_Life(~Lord@46.217.216.74)
2020-10-26 01:55:48 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2020-10-26 01:56:06 +0100 <gattytto> "'+RTS -M3500M'"=--ghc-options '+RTS --ghc-options -M3500M'
2020-10-26 01:56:28 +0100texasmynsted(~texasmyns@99.96.221.112)
2020-10-26 01:58:54 +0100hyiltiz(~quassel@82.118.227.47)
2020-10-26 01:58:54 +0100hyiltiz(~quassel@82.118.227.47) (Changing host)
2020-10-26 01:58:54 +0100hyiltiz(~quassel@unaffiliated/hyiltiz)
2020-10-26 02:00:20 +0100stiell(~stian@fsf/member/stiell) (Ping timeout: 256 seconds)
2020-10-26 02:00:51 +0100 <gattytto> I think this did the trick: '"+RTS -M3500M -RTS"' double quotes inside singles
2020-10-26 02:02:02 +0100akad(~akad@109107030050.radomsko.vectranet.pl) (Ping timeout: 256 seconds)
2020-10-26 02:02:13 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-10-26 02:02:38 +0100texasmynsted(~texasmyns@99.96.221.112) (Remote host closed the connection)
2020-10-26 02:03:05 +0100hyiltiz(~quassel@unaffiliated/hyiltiz) (Ping timeout: 240 seconds)
2020-10-26 02:08:43 +0100Jeanne-Kamikaze(~Jeanne-Ka@68.235.43.86) (Ping timeout: 260 seconds)
2020-10-26 02:10:12 +0100m0rphism(~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 260 seconds)
2020-10-26 02:10:45 +0100whataday(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2020-10-26 02:11:52 +0100whataday(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2020-10-26 02:14:09 +0100Katarushisu1(~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net)
2020-10-26 02:14:37 +0100stiell(~stian@fsf/member/stiell)
2020-10-26 02:15:17 +0100Katarushisu(~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Ping timeout: 260 seconds)
2020-10-26 02:15:18 +0100Katarushisu1Katarushisu
2020-10-26 02:18:15 +0100tuple(~igloo@c-67-169-78-228.hsd1.ca.comcast.net)
2020-10-26 02:19:58 +0100hackagestaversion 0.2.4.0 - What version is the package X in stackage lts-Y.ZZ? https://hackage.haskell.org/package/staversion-0.2.4.0 (debugito)
2020-10-26 02:20:06 +0100crestfal1en(~jvw@135-180-15-188.fiber.dynamic.sonic.net) (Quit: leaving)
2020-10-26 02:20:23 +0100crestfallen(~jvw@135-180-15-188.fiber.dynamic.sonic.net)
2020-10-26 02:20:39 +0100tuple(~igloo@c-67-169-78-228.hsd1.ca.comcast.net) (Client Quit)
2020-10-26 02:20:46 +0100GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-26 02:20:46 +0100GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-26 02:20:46 +0100GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-26 02:21:49 +0100GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 264 seconds)
2020-10-26 02:23:02 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-10-26 02:24:49 +0100taurux(~taurux@net-188-152-111-174.cust.dsl.teletu.it) (Ping timeout: 264 seconds)
2020-10-26 02:24:57 +0100tito_04(~taurux@net-130-25-120-91.cust.vodafonedsl.it)
2020-10-26 02:25:56 +0100hololeap(~hololeap@unaffiliated/hololeap)
2020-10-26 02:30:22 +0100mimi_vx(~mimi@tulipan.habr.nat.praha12.net)
2020-10-26 02:31:11 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-26 02:34:31 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-26 02:34:36 +0100polyrain(~polyrain@2001:8003:e501:6901:15fa:5e4:342f:f38b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-26 02:36:05 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-10-26 02:37:03 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:e9e0:8366:ee4d:bc13)
2020-10-26 02:37:24 +0100wei2912(~wei2912@unaffiliated/wei2912)
2020-10-26 02:37:25 +0100mbomba(~mbomba@142.114.9.241) (Quit: WeeChat 2.9)
2020-10-26 02:39:09 +0100nados(~dan@69-165-210-185.cable.teksavvy.com) (Quit: Leaving)
2020-10-26 02:39:57 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
2020-10-26 02:48:03 +0100GyroW_(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-26 02:48:20 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-26 02:48:20 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-26 02:48:20 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-26 02:50:12 +0100bitmapper(uid464869@gateway/web/irccloud.com/x-yancvgiiwbprfywu) (Quit: Connection closed for inactivity)
2020-10-26 02:50:20 +0100AceNovo(~chris@184.101.197.134) (Remote host closed the connection)
2020-10-26 02:50:55 +0100acidjnk_new(~acidjnk@p200300d0c7237822f9c109cfb48a3b3a.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-26 02:51:08 +0100mikevdg(73bd539c@115-189-83-156.mobile.spark.co.nz)
2020-10-26 02:52:17 +0100 <mikevdg> Ho geez, there's a thousand people in this channel.
2020-10-26 02:52:26 +0100hyiltiz(~quassel@82.118.227.47)
2020-10-26 02:52:26 +0100hyiltiz(~quassel@82.118.227.47) (Changing host)
2020-10-26 02:52:26 +0100hyiltiz(~quassel@unaffiliated/hyiltiz)
2020-10-26 02:52:32 +0100 <mikevdg> I thought Haskell was niche.
2020-10-26 02:52:44 +0100 <gattytto> you expected more ppl? or less?
2020-10-26 02:53:16 +0100 <gattytto> I'm very glad on how quick I got responses when I got here
2020-10-26 02:53:44 +0100 <mikevdg> I was expecting maybe a dozen or so.
2020-10-26 02:54:36 +0100 <gattytto> did you watch the computerphile videos on haskell? they are very nice
2020-10-26 02:56:13 +0100 <mikevdg> I'm working through some tutorials now. I'm looking at the Fractional class and wondering why it exists.
2020-10-26 02:57:53 +0100andi-(~andi-@NixOS/user/andi-) (Remote host closed the connection)
2020-10-26 02:59:15 +0100danvet_(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
2020-10-26 03:00:02 +0100 <mikevdg> Why does Ord require so many operators? (<) is the opposite of (>=)
2020-10-26 03:00:38 +0100 <int-e> > (0/0 < 1, 0/0 >= 1) -- IEEE disagrees
2020-10-26 03:00:40 +0100 <lambdabot> (False,False)
2020-10-26 03:00:57 +0100hackageclckwrks-plugin-page 0.4.3.24 - support for CMS/Blogging in clckwrks https://hackage.haskell.org/package/clckwrks-plugin-page-0.4.3.24 (JeremyShaw)
2020-10-26 03:01:36 +0100 <dsal> mikevdg: What do you mean "Require?" Minimal complete definition: compare | (<=)
2020-10-26 03:01:37 +0100vicfred(~vicfred@unaffiliated/vicfred)
2020-10-26 03:02:26 +0100 <mikevdg> dsal: you're right. I just saw that.
2020-10-26 03:02:55 +0100 <mikevdg> int-e: I reserve my right to disagree with the IEEE. You can't just change math.
2020-10-26 03:02:56 +0100urodna(~urodna@unaffiliated/urodna) (Quit: urodna)
2020-10-26 03:02:56 +0100 <dsal> If you're trying to learn haskell by looking at tutorials that are telling you about fractional and stuff, you're definitely doing it the hard way.
2020-10-26 03:03:14 +0100 <int-e> As for the Fractional class, it's more or less a field... of characteristic 0 if you want fromRational to be total.
2020-10-26 03:03:24 +0100 <mikevdg> It's an example of a type class, to teach type classes.
2020-10-26 03:03:26 +0100 <int-e> mikevdg: But Haskell is a programming language.
2020-10-26 03:04:35 +0100 <int-e> mikevdg: Anyway, I suspect that IEEE floating point types (which Haskell does have) with NaNs (you'll find a lot of support for the idea that this was a mistake... but not universal support) is the reason why Ord has all these comparison methods.
2020-10-26 03:05:07 +0100jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2020-10-26 03:05:27 +0100 <int-e> Also, the class methods tend to be inlined anyway, so extra methods don't hurt much, most of the time.
2020-10-26 03:05:53 +0100jamm_(~jamm@unaffiliated/jamm)
2020-10-26 03:07:12 +0100andi-(~andi-@NixOS/user/andi-)
2020-10-26 03:08:52 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-26 03:08:54 +0100 <gattytto> so I'm looking for a way to use a ENV VAR inside stack.yaml, is this possible?
2020-10-26 03:08:55 +0100 <int-e> There are more "superfluous" methods in other classes... mostly with the idea that the redundant methods can be optimized for some types.
2020-10-26 03:09:35 +0100 <int-e> Foldable is an extreme example of this.
2020-10-26 03:09:53 +0100juri_(~juri@178.63.35.222) (Ping timeout: 260 seconds)
2020-10-26 03:10:08 +0100 <dsal> I'm kind of sad about my GoPro project. It's sufficiently feature complete that I don't really have anything I need it to do that it doesn't already do. I've got concurrent cloud-based exodus tools, local versions, resumable parallel uploads. Only things I could add might be helpful for other people, but I don't know any of those people.
2020-10-26 03:10:11 +0100 <dsal> I guess I need a new project.
2020-10-26 03:10:20 +0100 <dsal> Haskell is too easy. :(
2020-10-26 03:10:41 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2020-10-26 03:10:58 +0100 <int-e> (`:i Foldable` reads like the interface of Data.List ;-) )
2020-10-26 03:11:01 +0100 <gattytto> dsal: can you share the repo link?
2020-10-26 03:11:07 +0100drbean(~drbean@TC210-63-209-46.static.apol.com.tw)
2020-10-26 03:11:51 +0100 <dsal> gattytto: http://dustin.sallings.org/2020/04/29/gopro-plus.html is a blog post I wrote a bit back. github.com/dustin/gopro is the code. If you know anyone who does stuff with GoPros, it's a bunch of essential stuff. :)
2020-10-26 03:14:32 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
2020-10-26 03:14:52 +0100 <koz_> dsal: Did you tell Haskell Weekly about it?
2020-10-26 03:14:56 +0100 <koz_> If not, _do_.
2020-10-26 03:15:13 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 260 seconds)
2020-10-26 03:15:46 +0100 <gattytto> dsal: did you make it cloud-native?
2020-10-26 03:16:12 +0100 <dsal> gattytto: I don't know what you mean by that.
2020-10-26 03:16:30 +0100 <dsal> koz_: oh neat. I want to find a GoPro user someday
2020-10-26 03:17:02 +0100 <gattytto> like kubectl apply -f your-repo/kube-manifest.yaml like elasticsearch and others
2020-10-26 03:17:22 +0100 <gattytto> so we can deploy it in a kubernetes cluster for instance.
2020-10-26 03:21:30 +0100 <dsal> I'm still not sure why people would deploy anything with kubernetes. heh
2020-10-26 03:22:00 +0100 <dsal> It's a single binary. (with a web interface that needs a static dir, but I've been thinking about embedding it / pulling it from github on startup)
2020-10-26 03:22:02 +0100jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2020-10-26 03:23:13 +0100 <mikevdg> Prelude> toRational 1.25404319552844595 % 4503599627370496(I know some smaller numbers that will also work :-) )
2020-10-26 03:23:14 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2020-10-26 03:23:24 +0100 <mikevdg> ...that formatting didn't work.
2020-10-26 03:23:37 +0100 <dsal> > toRational 1.25404319552844595 % 4503599627370496
2020-10-26 03:23:39 +0100 <lambdabot> error:
2020-10-26 03:23:39 +0100 <lambdabot> • No instance for (Integral Rational) arising from a use of ‘%’
2020-10-26 03:23:39 +0100 <lambdabot> • In the expression:
2020-10-26 03:23:46 +0100 <mikevdg> toRational 1.2
2020-10-26 03:24:04 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2020-10-26 03:24:09 +0100 <mikevdg> > toRational 1.2
2020-10-26 03:24:10 +0100 <gattytto> dsal: deploying in kube sometimes gives more fine-grained expenditure, like if you containerize your apps in aws/gce it'll be cheaper than a vps because you pay as you use
2020-10-26 03:24:11 +0100 <lambdabot> 5404319552844595 % 4503599627370496
2020-10-26 03:24:24 +0100 <dsal> It's not clear what you're trying to accomplish. Why would you type `toRational 1.2` ?
2020-10-26 03:24:25 +0100 <Axman6> > decodeFloat 1.2
2020-10-26 03:24:27 +0100 <lambdabot> (5404319552844595,-52)
2020-10-26 03:25:04 +0100 <mikevdg> I'm just playing with the numbers and trying to work out how they fit together.
2020-10-26 03:25:47 +0100 <dsal> gattytto: But why would I want to do that? GoPro Plus already does all the cloud stuff for free. I wanted tools to free myself from that. I guess I did make a web interface as well, which maybe could use that, but the `backup` command runs locally and uses AWS Lambda to push all of the data to your own S3 bucket, tracking that state locally.
2020-10-26 03:26:07 +0100 <Axman6> > properFraction 1.2
2020-10-26 03:26:09 +0100 <lambdabot> (1,0.19999999999999996)
2020-10-26 03:26:20 +0100 <mikevdg> ew.
2020-10-26 03:26:49 +0100 <Axman6> that's why you get the weird result with 1.2, since it cannot be exactly represented in IEEE-754
2020-10-26 03:27:05 +0100 <Axman6> > iterate (*2) 1.2
2020-10-26 03:27:07 +0100 <lambdabot> [1.2,2.4,4.8,9.6,19.2,38.4,76.8,153.6,307.2,614.4,1228.8,2457.6,4915.2,9830....
2020-10-26 03:27:10 +0100 <dsal> My goal is: GoPro decides to shut down, I can copy all my data out in ~43 minutes. (I have a slow connection, lots of latency, and that was without much concurrency)
2020-10-26 03:27:22 +0100 <dsal> mikevdg: If you don't like IEEE standards, there are plenty of others to choose from.
2020-10-26 03:27:37 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 246 seconds)
2020-10-26 03:27:44 +0100 <Axman6> > properFraction (1.2 :: Rational)
2020-10-26 03:27:45 +0100 <lambdabot> (1,1 % 5)
2020-10-26 03:28:02 +0100 <Axman6> :t 1.2
2020-10-26 03:28:03 +0100 <lambdabot> Fractional p => p
2020-10-26 03:29:51 +0100 <Axman6> > properFraction (1.2 :: Float)
2020-10-26 03:29:53 +0100 <lambdabot> (1,0.20000005)
2020-10-26 03:30:10 +0100 <Axman6> > toRational (1.2 :: Float)
2020-10-26 03:30:12 +0100 <lambdabot> 5033165 % 4194304
2020-10-26 03:31:34 +0100Chi1thangoo(~Chi1thang@87.112.60.168) (Ping timeout: 258 seconds)
2020-10-26 03:31:57 +0100hackagecrdt-event-fold 1.0.0.1 - Garbage collected event folding CRDT. https://hackage.haskell.org/package/crdt-event-fold-1.0.0.1 (rickowens)
2020-10-26 03:34:25 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
2020-10-26 03:34:34 +0100danso(~dan@69-165-210-185.cable.teksavvy.com)
2020-10-26 03:35:21 +0100djellemah(~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Quit: Leaving)
2020-10-26 03:35:47 +0100djellemah(~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54)
2020-10-26 03:35:54 +0100 <int-e> The thing is, I believe that you can get a majority of Haskell users to agree that the existing numerical classes are awful, but you cannot get them to agree on a better design for them. There's too many conflicting design goals.
2020-10-26 03:36:37 +0100 <Axman6> simple-reflect is the onlt reasonable number implementation, fight me
2020-10-26 03:37:01 +0100 <int-e> > scanl (+) x [1..]
2020-10-26 03:37:03 +0100 <lambdabot> [x,x + 1,x + 1 + 2,x + 1 + 2 + 3,x + 1 + 2 + 3 + 4,x + 1 + 2 + 3 + 4 + 5,x +...
2020-10-26 03:37:06 +0100dyeplexer(~lol@unaffiliated/terpin)
2020-10-26 03:37:18 +0100 <Axman6> keeping the AST and allowing the user to evaluate expressions if they need the answer is the proper thing to do
2020-10-26 03:37:32 +0100 <mikevdg> What is simple-reflect?
2020-10-26 03:37:40 +0100 <Axman6> > 1 + f x
2020-10-26 03:37:42 +0100 <lambdabot> error:
2020-10-26 03:37:42 +0100 <lambdabot> • Ambiguous type variable ‘a0’ arising from a use of ‘show_M820095627375...
2020-10-26 03:37:42 +0100 <lambdabot> prevents the constraint ‘(Show a0)’ from being solved.
2020-10-26 03:37:48 +0100 <Axman6> > 1 + f x :: Expr
2020-10-26 03:37:50 +0100 <lambdabot> 1 + f x
2020-10-26 03:38:02 +0100 <Axman6> > 3 ^ 7 :: Expr
2020-10-26 03:38:04 +0100 <lambdabot> 3 * 3 * (3 * 3) * (3 * 3 * 3)
2020-10-26 03:38:18 +0100 <mikevdg> :t (^)
2020-10-26 03:38:19 +0100 <lambdabot> (Integral b, Num a) => a -> b -> a
2020-10-26 03:38:38 +0100 <Axman6> > 3 ** 7 :: Expr
2020-10-26 03:38:40 +0100 <lambdabot> 3**7
2020-10-26 03:38:50 +0100 <mikevdg> :t (**)
2020-10-26 03:38:51 +0100 <lambdabot> Floating a => a -> a -> a
2020-10-26 03:39:00 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2020-10-26 03:39:07 +0100 <mikevdg> So (^) is exponent. What is (**) meant to be?
2020-10-26 03:39:13 +0100 <int-e> mikevdg: You're seeing it in action... it captures numeric expressions in an ADT that can be pretty-printed
2020-10-26 03:39:16 +0100 <Axman6> a different exponent...
2020-10-26 03:39:24 +0100 <Axman6> > 3 ** 3.5
2020-10-26 03:39:26 +0100 <lambdabot> 46.76537180435969
2020-10-26 03:39:29 +0100 <int-e> :t (^^)
2020-10-26 03:39:30 +0100 <lambdabot> (Fractional a, Integral b) => a -> b -> a
2020-10-26 03:39:46 +0100 <int-e> ^ is for natural number exponents, ^^ for integer exponents, ** for arbitrary exponents
2020-10-26 03:39:58 +0100 <mikevdg> :-o
2020-10-26 03:40:03 +0100 <Axman6> Haskell is an exponential language, we have at least three ways to compute exponentials
2020-10-26 03:40:25 +0100 <int-e> The operators live in different type classes.
2020-10-26 03:40:34 +0100 <Axman6> > 5 ^ (-2)
2020-10-26 03:40:37 +0100 <lambdabot> *Exception: Negative exponent
2020-10-26 03:40:38 +0100 <dsal> Learning Haskell by exploring the surface area is a daunting task.
2020-10-26 03:40:40 +0100 <Axman6> > 5 ^^ (-2)
2020-10-26 03:40:42 +0100 <lambdabot> 4.0e-2
2020-10-26 03:41:08 +0100 <int-e> The numeric type classes are one of the worse places to start.
2020-10-26 03:41:27 +0100 <int-e> (One other terrible place is the implementation of IO)
2020-10-26 03:41:39 +0100 <dsal> :t show. (^^ 2)
2020-10-26 03:41:40 +0100 <lambdabot> (Show a, Fractional a) => a -> String
2020-10-26 03:41:45 +0100 <mikevdg> Yea, I got hit in the face with IO and lazy evaluation.
2020-10-26 03:41:52 +0100jchia__(~jchia@58.32.37.146) (Quit: Leaving.)
2020-10-26 03:43:01 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-10-26 03:43:27 +0100 <dsal> Lazy evaluation sometimes makes really hard things easy, but I rarely notice it in general. It can make some things work in unexpected ways when mixed with io, for sure.
2020-10-26 03:43:46 +0100T0pH4t(~josh@c-73-53-48-224.hsd1.wa.comcast.net)
2020-10-26 03:43:48 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 260 seconds)
2020-10-26 03:44:07 +0100 <monsterchrom> ** uses e^x and ln, and floating point approximations, it is inappropiate if you're doing natural numbers, or even your own number type for which ln doesn't make sense.
2020-10-26 03:44:36 +0100crestfallen(~jvw@135-180-15-188.fiber.dynamic.sonic.net) (Ping timeout: 256 seconds)
2020-10-26 03:44:37 +0100 <mikevdg> yea, like having a file be closed on you before you're done. Then you need to go read a chapter further ahead in the book that describes how `deepSeq` works.
2020-10-26 03:44:43 +0100 <monsterchrom> x^^y allows negative powers, therefore 1/x must make sense. Well this doesn't make sense for some number types either.
2020-10-26 03:45:22 +0100 <monsterchrom> Therefore, x^y is there for that.
2020-10-26 03:45:25 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
2020-10-26 03:45:34 +0100 <dsal> mikevdg: that sounds... Wrong. I don't think I've ever used deepseq outside of benchmarks.
2020-10-26 03:46:06 +0100 <dsal> What book is this?
2020-10-26 03:46:09 +0100 <mikevdg> Well, I gave up on the IO stuff and just moved on.
2020-10-26 03:46:14 +0100 <Axman6> lazy IO is just a bad idea in general
2020-10-26 03:47:32 +0100 <T0pH4t> hello all, quick question. Is there a way to access the type declaration in a class so that I can use it in func signature? For example "class Foo a where type Bar " then "doStuff :: Foo a => a -> Bar a"
2020-10-26 03:47:47 +0100 <T0pH4t> Effectively I want access to the type declared for Bar in Foo
2020-10-26 03:48:17 +0100 <Axman6> (b ~ Bar a, Foo a) => ... ?
2020-10-26 03:48:34 +0100 <T0pH4t> oops that should be "type Bar a" in class def
2020-10-26 03:48:48 +0100 <Axman6> wait, does that not work the way you've written it?
2020-10-26 03:48:57 +0100 <T0pH4t> Well Bar is defined within class Foo, so Axman6 not sure that works
2020-10-26 03:49:05 +0100 <Axman6> I think it should
2020-10-26 03:49:11 +0100 <T0pH4t> i don't even think what i have is legal is it?
2020-10-26 03:49:24 +0100 <Axman6> looks legal to me
2020-10-26 03:49:32 +0100 <Axman6> have you tried it?
2020-10-26 03:49:50 +0100 <T0pH4t> well let me give it a shot
2020-10-26 03:51:10 +0100 <Axman6> % :t doThing
2020-10-26 03:51:11 +0100 <yahb> Axman6: Foo a => a -> Bar a
2020-10-26 03:51:34 +0100 <Axman6> This is using this definition in yahb: class Foo a where type Bar a
2020-10-26 03:51:42 +0100 <Axman6> and doThing :: Foo a => a -> Bar a; doThing = undefined
2020-10-26 03:53:19 +0100 <T0pH4t> hmm not liking it
2020-10-26 03:53:32 +0100 <Axman6> what error do you get
2020-10-26 03:54:00 +0100 <T0pH4t> oh wait u hauve b ~ Bar a
2020-10-26 03:54:08 +0100 <Axman6> you shouldn't need that
2020-10-26 03:54:30 +0100 <Axman6> what you have should work, but may need an extension. I can't help if you don't tell me what error you get
2020-10-26 03:54:43 +0100 <T0pH4t> ]ok
2020-10-26 03:54:45 +0100 <T0pH4t> hmm
2020-10-26 03:54:49 +0100 <T0pH4t> let me give u error
2020-10-26 03:55:04 +0100crestfallen(~John@135-180-15-188.fiber.dynamic.sonic.net)
2020-10-26 03:55:19 +0100dansho(~dansho@ip68-108-167-185.lv.lv.cox.net)
2020-10-26 03:55:27 +0100 <T0pH4t> This isn't going to be exact by GTLLiteral == Foo and Convert == Bar
2020-10-26 03:55:31 +0100 <T0pH4t> Couldn't match type ‘a’ with ‘Convert (Convert a)’
2020-10-26 03:55:33 +0100 <T0pH4t> ‘a’ is a rigid type variable bound by
2020-10-26 03:55:35 +0100 <T0pH4t> the type signature for:
2020-10-26 03:55:37 +0100 <T0pH4t> func :: forall a.
2020-10-26 03:55:39 +0100 <T0pH4t> GTLLiteral a =>
2020-10-26 03:55:41 +0100 <T0pH4t> L.Name -> L.GTL a -> GTLFunc (Convert a)
2020-10-26 03:55:46 +0100 <Axman6> urgh, don;t paste multiple lines here
2020-10-26 03:55:51 +0100 <Axman6> @where paste
2020-10-26 03:55:51 +0100 <lambdabot> Help us help you: please paste full code, input and/or output at eg https://paste.tomsmeding.com
2020-10-26 03:55:53 +0100 <T0pH4t> ok
2020-10-26 03:56:14 +0100 <Axman6> and since that code doesn't match what you showed before, you're going to have to share the code too
2020-10-26 03:56:17 +0100 <crestfallen> hi I'm wondering if I install this debian package if I can fix a problem in ghci where the cursor jumps off the prompt line, while backspacing or deleting right to left. libghc-base-unicode-symbols-doc (0.2.2.4-11)
2020-10-26 03:56:23 +0100 <Axman6> put them both in one paste
2020-10-26 03:56:27 +0100 <crestfallen> this is on debian buster
2020-10-26 03:56:53 +0100 <dsal> I only use os packages for Haskell on nixos
2020-10-26 03:57:49 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-26 03:58:37 +0100 <mikevdg> How do people usually get a description of a type class? Hoogle? Source diving?
2020-10-26 03:58:51 +0100 <T0pH4t> @axman6 https://paste.tomsmeding.com/JTX8UV8V
2020-10-26 03:58:51 +0100 <lambdabot> Unknown command, try @list
2020-10-26 03:59:05 +0100 <T0pH4t> that may still be too confusing :/
2020-10-26 03:59:08 +0100 <dsal> % :i Traversable
2020-10-26 03:59:09 +0100 <yahb> dsal: type Traversable :: (* -> *) -> Constraint; class (Functor t, Foldable t) => Traversable t where; traverse :: Applicative f => (a -> f b) -> t a -> f (t b); sequenceA :: Applicative f => t (f a) -> f (t a); mapM :: Monad m => (a -> m b) -> t a -> m (t b); sequence :: Monad m => t (m a) -> m (t a); {-# MINIMAL traverse | sequenceA #-}; -- Defined in `Data.Traversable'; instance [safe] Traversa
2020-10-26 03:59:15 +0100 <ghoulguy> mikevdg: If you're in GHCi, try :doc Show
2020-10-26 03:59:24 +0100 <mikevdg> thanks!
2020-10-26 03:59:51 +0100 <monsterchrom> I read the doc. I have local docs installed and/or built.
2020-10-26 03:59:51 +0100 <mikevdg> It has a lot of '@'s in it.
2020-10-26 03:59:52 +0100ddellacosta(~dd@86.106.121.168) (Ping timeout: 260 seconds)
2020-10-26 03:59:54 +0100 <ghoulguy> Otherwise I typically have the haddocks open for a package I'm using that I don't have memorized
2020-10-26 04:00:01 +0100mrdocs(~mrdocs@185.244.214.217) ()
2020-10-26 04:00:26 +0100 <Axman6> T0pH4t: toExpr expects a Convert a but you're giving it an a
2020-10-26 04:00:27 +0100 <gattytto> crestfallen: I think your error needs clarification, you enter to ghci, and then use :e to open a code file in your vim?
2020-10-26 04:00:51 +0100 <monsterchrom> The @s are for the "haddock" program to read and turn into HTML markups.
2020-10-26 04:01:06 +0100 <crestfallen> gattytto, any use of ghci, if I backspace or try to delete, the cursor jumps off the line.
2020-10-26 04:01:17 +0100 <gattytto> oh ok
2020-10-26 04:01:20 +0100 <monsterchrom> This is why the :doc command is unsatisfactory, too. But maybe you could learn haddock syntax and decode it yourself
2020-10-26 04:01:37 +0100xff0x(~fox@2001:1a81:53a8:4d00:58d7:4c60:2850:2b9a) (Ping timeout: 260 seconds)
2020-10-26 04:01:43 +0100juri_(~juri@178.63.35.222)
2020-10-26 04:01:54 +0100 <ghoulguy> Learning haddock syntax is worth doing if you're going to be writing Haskell code, too
2020-10-26 04:01:56 +0100 <crestfallen> I installed above package, but that looks like its for latex notation
2020-10-26 04:02:05 +0100hyiltiz(~quassel@unaffiliated/hyiltiz) (Ping timeout: 240 seconds)
2020-10-26 04:02:06 +0100 <T0pH4t> aaxman6 ur right hang on a sec, let me check something
2020-10-26 04:02:13 +0100 <Axman6> T0pH4t: it feels like you maybe want something like func :: GTLLiteral a => L.Name -> L.GTL (L.Expression a) -> GTLFunc (Convert a)?
2020-10-26 04:02:15 +0100 <dsal> I don't think about classes very much at all, but random package classes I usually read on the web.
2020-10-26 04:02:25 +0100 <Axman6> or... something?
2020-10-26 04:02:37 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 264 seconds)
2020-10-26 04:02:38 +0100irc_user(uid423822@gateway/web/irccloud.com/x-wxrumdfneplzxysw) (Quit: Connection closed for inactivity)
2020-10-26 04:03:19 +0100 <Axman6> T0pH4t: it at least seems you want fromExpr instead of toExpr, since that's the only want to make a Convert a
2020-10-26 04:03:30 +0100xff0x(~fox@2001:1a81:53e0:c700:e573:3ce2:3ef3:403a)
2020-10-26 04:03:34 +0100 <Axman6> but without knowing what this code is supposed to do I'm just playing type tetris
2020-10-26 04:03:46 +0100 <T0pH4t> axman6 I got it, i initially refcatored some code and I refactored it wrong
2020-10-26 04:04:02 +0100 <T0pH4t> I wasn't sure that using Convert int eh type sig was even legal, but i gues it is which is great
2020-10-26 04:04:09 +0100 <T0pH4t> that compiled now, thx alot!
2020-10-26 04:04:14 +0100 <T0pH4t> the type*
2020-10-26 04:04:35 +0100 <T0pH4t> it was suppose to be L.GTL (Convert a) -> GTLFunc a
2020-10-26 04:04:39 +0100 <T0pH4t> for the last 2 types
2020-10-26 04:04:46 +0100 <T0pH4t> i flipped it by accident
2020-10-26 04:04:54 +0100dansho(~dansho@ip68-108-167-185.lv.lv.cox.net) (Quit: Leaving)
2020-10-26 04:07:27 +0100 <mikevdg> Does anyone here have haskell-language-server working?
2020-10-26 04:07:54 +0100HarveyPwca(~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net)
2020-10-26 04:09:33 +0100 <Axman6> sure
2020-10-26 04:09:45 +0100jedws(~jedws@101.184.148.229) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-26 04:10:16 +0100 <c_wraith> is installing with ghcup not working?
2020-10-26 04:10:57 +0100djellemah(~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Ping timeout: 260 seconds)
2020-10-26 04:10:57 +0100 <mikevdg> Well, it's meant to work out of the box for Visual Studio code, but it didn't. It won't recompile from master for me:
2020-10-26 04:11:12 +0100 <mikevdg> shake-0.19.1 from stack configuration does not match >=0.16.4 && <0.19 (latest matching version is 0.18.5)
2020-10-26 04:11:40 +0100 <mikevdg> It's a Cabal thing, but I don't want to mess with it oo much. I'd rather spend time working through these Haskell exercises.
2020-10-26 04:12:05 +0100 <c_wraith> that's a stack thing, it appears
2020-10-26 04:12:37 +0100 <mikevdg> er... yea, one of those thingies.
2020-10-26 04:12:47 +0100hyiltiz(~quassel@82.118.227.47)
2020-10-26 04:12:47 +0100hyiltiz(~quassel@82.118.227.47) (Changing host)
2020-10-26 04:12:47 +0100hyiltiz(~quassel@unaffiliated/hyiltiz)
2020-10-26 04:13:08 +0100 <crestfallen> anyone seen this? : any use of ghci, if I backspace or try to delete, the cursor jumps off the line.
2020-10-26 04:13:40 +0100 <crestfallen> debian buster bash, gnome-terminal
2020-10-26 04:14:16 +0100lagothrixGuest12762
2020-10-26 04:14:16 +0100Guest12762(~lagothrix@unaffiliated/lagothrix) (Killed (card.freenode.net (Nickname regained by services)))
2020-10-26 04:14:24 +0100lagothrix(~lagothrix@unaffiliated/lagothrix)
2020-10-26 04:14:26 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-26 04:14:26 +0100 <mikevdg> crestfallen: that sounds like old terminal problems. You probably want to do something like "set TERM=vt100", or "set TERM=xterm".,
2020-10-26 04:14:52 +0100 <mikevdg> It goes way back to the days when people couldn't decide which code meant "backspace".
2020-10-26 04:15:28 +0100 <mikevdg> Also poke through the gnome-terminal settings. You'll find settings for backspace and delete behaviour.
2020-10-26 04:16:19 +0100 <mikevdg> Or just do what I do, and never make spelling mistakes.
2020-10-26 04:16:30 +0100Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4)
2020-10-26 04:17:27 +0100 <Axman6> mikevdg: the VS Code extension is supposed to install the appropriate HLS binary for you
2020-10-26 04:18:10 +0100 <mikevdg> yea, that's the part that didn't work. The download just failed. So I downloaded and installed manually, and now I get "The haskell-language-server has crashed 5 times" or something similar.
2020-10-26 04:18:18 +0100 <crestfallen> mikevdg, one sec.. thanks
2020-10-26 04:18:44 +0100 <Axman6> it's important to get the right HLS binary for your project though, the GHC used to compile it needs to match
2020-10-26 04:18:45 +0100hyiltiz(~quassel@unaffiliated/hyiltiz) (Ping timeout: 240 seconds)
2020-10-26 04:19:07 +0100 <Axman6> when you say the download failed, how did it fail?
2020-10-26 04:19:09 +0100ddellacosta(~dd@86.106.121.168)
2020-10-26 04:19:25 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-10-26 04:19:29 +0100 <mikevdg> I'll try installing it again now.
2020-10-26 04:19:29 +0100 <Axman6> and what errors does the failing hld binary sent to its output?
2020-10-26 04:19:32 +0100 <Axman6> hls*
2020-10-26 04:19:58 +0100texasmynsted(~texasmyns@99.96.221.112)
2020-10-26 04:21:11 +0100 <mikevdg> Message: user error (AesonException "Error in $: key \"packages\" not found")
2020-10-26 04:21:42 +0100 <mikevdg> Looks like malformed JSON, but I can't find any JSON anywhere.
2020-10-26 04:21:57 +0100 <Axman6> are you using a stack based project?
2020-10-26 04:21:59 +0100qapla_org(~qapla_org@185.163.110.116)
2020-10-26 04:22:02 +0100 <mikevdg> yes
2020-10-26 04:22:14 +0100 <Axman6> what's your stack.yaml look like?
2020-10-26 04:22:17 +0100 <Axman6> !where paste
2020-10-26 04:22:17 +0100 <mikevdg> ...except for the JSON that goes between VS Code and the language server.
2020-10-26 04:22:21 +0100 <Axman6> @where paste
2020-10-26 04:22:21 +0100 <lambdabot> Help us help you: please paste full code, input and/or output at eg https://paste.tomsmeding.com
2020-10-26 04:22:42 +0100 <Axman6> IIRC the Yaml parser is built on top of Aeson
2020-10-26 04:22:46 +0100 <mikevdg> lambdabot: good bot, but it's only two lines long.
2020-10-26 04:22:48 +0100 <mikevdg> resolver: lts-16.18install-ghc: true
2020-10-26 04:23:06 +0100 <Axman6> it needs a packages entry too
2020-10-26 04:23:08 +0100 <Axman6> packages:
2020-10-26 04:23:12 +0100 <Axman6> - '.'
2020-10-26 04:23:22 +0100 <mikevdg> Thanks, will add.
2020-10-26 04:24:05 +0100ddellacosta(~dd@86.106.121.168) (Ping timeout: 240 seconds)
2020-10-26 04:24:34 +0100 <mikevdg> oohh... it's doing something!
2020-10-26 04:24:38 +0100Guest_86(96cb02f0@150.203.2.240)
2020-10-26 04:25:17 +0100 <mikevdg> It's... consuming my hard drive and blowing a lot of hot air out the back of my PC!
2020-10-26 04:25:26 +0100 <Axman6> as it should
2020-10-26 04:25:58 +0100hackageegison 4.1.2 - Programming language with non-linear pattern-matching against non-free data https://hackage.haskell.org/package/egison-4.1.2 (SatoshiEgi)
2020-10-26 04:26:03 +0100hyiltiz(~quassel@82.118.227.47)
2020-10-26 04:26:03 +0100hyiltiz(~quassel@82.118.227.47) (Changing host)
2020-10-26 04:26:03 +0100hyiltiz(~quassel@unaffiliated/hyiltiz)
2020-10-26 04:30:08 +0100vacm(~vacwm@70.23.92.191) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-26 04:30:19 +0100ddellacosta(~dd@86.106.121.168)
2020-10-26 04:30:45 +0100hyiltiz(~quassel@unaffiliated/hyiltiz) (Ping timeout: 240 seconds)
2020-10-26 04:31:11 +0100gattytto(b33e397e@179.62.57.126) (Remote host closed the connection)
2020-10-26 04:31:21 +0100GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-26 04:31:39 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-26 04:31:39 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-26 04:31:39 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-26 04:32:08 +0100 <crestfallen> mikevdg, I think that command is export TERM=vt100. can I write that in .bash_profile ?
2020-10-26 04:33:51 +0100 <mikevdg> er... if you want, but you only get very basic monochrome functionality. A VT-100 is an ancient console from the 1980s.
2020-10-26 04:34:06 +0100 <mikevdg> I use that if absolutely nothing else works.
2020-10-26 04:35:01 +0100 <mikevdg> I suspect that your gnome-terminal is misconfigured a bit though. Somebody might have changed it's behaviour.
2020-10-26 04:35:25 +0100theDon(~td@muedsl-82-207-238-081.citykom.de) (Ping timeout: 240 seconds)
2020-10-26 04:35:28 +0100 <mikevdg> Either that, or your readline library got reconfigured by something.
2020-10-26 04:35:40 +0100ddellacosta(~dd@86.106.121.168) (Ping timeout: 256 seconds)
2020-10-26 04:35:45 +0100 <mikevdg> (making an assumption that ghci uses readline?)
2020-10-26 04:36:07 +0100 <crestfallen> mikevdg, thanks, quickest fix so I can get back to slaughtering haskell?
2020-10-26 04:36:28 +0100 <crestfallen> I essentially cant use ghci
2020-10-26 04:36:43 +0100 <mikevdg> Yea, but just be aware that adding it it .bash_profile makes it global and it might break other things.
2020-10-26 04:36:52 +0100 <mikevdg> e.g. `ls --color`
2020-10-26 04:37:20 +0100theDon(~td@94.134.91.49)
2020-10-26 04:38:01 +0100 <crestfallen> no I mean the quickest fix you suggest. like I tried installing urxvt unicode but its so complicated. like all night to configure it.
2020-10-26 04:38:10 +0100 <crestfallen> mikevdg, ^
2020-10-26 04:38:31 +0100 <mikevdg> which distro were you on?
2020-10-26 04:38:42 +0100 <crestfallen> debian buster
2020-10-26 04:39:23 +0100 <crestfallen> it happened suddenly on two buster machines; must have been the update
2020-10-26 04:39:33 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2020-10-26 04:39:54 +0100 <mikevdg> weird. `urxvt` should just be a case of `apt install urxvt` and it should work without any configuration.
2020-10-26 04:40:15 +0100 <mikevdg> ...although it over-advertises itself. It's unicode support isn't as good as gnome-terminal.
2020-10-26 04:40:38 +0100 <mikevdg> but it is very lightweight and really fast.
2020-10-26 04:41:15 +0100 <mikevdg> It's been years since I had to fix any of that stuff. Linux consoles should work out of the box these days.
2020-10-26 04:41:44 +0100 <mikevdg> In the worst case scenario, you could just press CTRL+ALT+F1 and try the good old-fashioned Linux console.
2020-10-26 04:42:04 +0100 <crestfallen> mikevdg, another member suggested upgrading charsets. but I tried to download debian packages to no avail
2020-10-26 04:42:53 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2020-10-26 04:43:22 +0100 <mikevdg> You don't need to download debian packages. You do everything through apt (except Haskell)
2020-10-26 04:43:31 +0100 <mikevdg> apt install foo
2020-10-26 04:44:19 +0100 <crestfallen> well I just use apt-get
2020-10-26 04:44:23 +0100notnatebtw(~nate@125.161.130.165)
2020-10-26 04:46:09 +0100 <mikevdg> Holy poop. Some of my Haskell one-liners are getting crazy powerful.
2020-10-26 04:46:19 +0100 <T0pH4t> axman6: I don't suppose you call me why a0 is not resolving as 'a' in this? https://paste.tomsmeding.com/jDDYgsvv
2020-10-26 04:46:30 +0100zebrag(~inkbottle@aaubervilliers-654-1-73-154.w86-212.abo.wanadoo.fr)
2020-10-26 04:46:36 +0100 <crestfallen> please show some simple mikevdg !
2020-10-26 04:46:42 +0100 <crestfallen> simple ones*
2020-10-26 04:46:42 +0100inkbottle(~inkbottle@aaubervilliers-654-1-87-219.w86-212.abo.wanadoo.fr) (Ping timeout: 258 seconds)
2020-10-26 04:46:46 +0100 <T0pH4t> My guess is that since actual 'a' is not used it can't determine (LitGTL)
2020-10-26 04:46:47 +0100 <T0pH4t> ugg
2020-10-26 04:46:53 +0100 <T0pH4t> wow bad poste :?
2020-10-26 04:47:25 +0100damianfral3(~damianfra@25.red-176-87-152.dynamicip.rima-tde.net) (Ping timeout: 260 seconds)
2020-10-26 04:47:26 +0100 <T0pH4t> better paste: https://paste.tomsmeding.com/twpXcfs2
2020-10-26 04:47:28 +0100 <mikevdg> > map (\x -> (length x, head x)) $ group $ sort [1,3,5,7,5,7,3,5,5,1]
2020-10-26 04:47:30 +0100 <lambdabot> [(2,1),(2,3),(4,5),(2,7)]
2020-10-26 04:47:32 +0100hyiltiz(~quassel@82.118.227.47)
2020-10-26 04:47:32 +0100hyiltiz(~quassel@82.118.227.47) (Changing host)
2020-10-26 04:47:32 +0100hyiltiz(~quassel@unaffiliated/hyiltiz)
2020-10-26 04:48:04 +0100 <mikevdg> After spending a lifetime writing Java....
2020-10-26 04:49:13 +0100 <mikevdg> ha ha! The "proper" answer is 5 lines long.
2020-10-26 04:50:35 +0100 <mikevdg> next up: good ol' binary trees.
2020-10-26 04:50:56 +0100 <mikevdg> let's invert these blighters, without a whiteboard.
2020-10-26 04:51:12 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-26 04:51:27 +0100 <Axman6> what is a binary tree inversion anyway?
2020-10-26 04:51:49 +0100notnatebtw(~nate@125.161.130.165) (Quit: WeeChat 2.9)
2020-10-26 04:52:14 +0100 <mikevdg> no idea. I think you just treat it like a sorted collection and choose a different root.
2020-10-26 04:52:49 +0100 <mikevdg> It's the prototypical job interview question.
2020-10-26 04:53:16 +0100 <ghoulguy> "An inversion, or mirror, of a Binary Tree (T),​ is just a Binary Tree M(T) whose left and right children (of all non-leaf nodes) are swapped."
2020-10-26 04:53:46 +0100 <mikevdg> so, `reverse` then?
2020-10-26 04:53:50 +0100 <c_wraith> so that's like... 2 lines?
2020-10-26 04:53:54 +0100Guest_86(96cb02f0@150.203.2.240) (Remote host closed the connection)
2020-10-26 04:54:02 +0100 <Axman6> so invert (Branch a l r) = Branch a (invert r) (invert l); invert a = a
2020-10-26 04:54:05 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-26 04:54:23 +0100 <ghoulguy> except if mikevdg wants to do it as an exercise then maybe don't look up
2020-10-26 04:54:31 +0100 <mikevdg> ah, but you can't use Haskell. That's cheating. Write it in C like a proper coder.
2020-10-26 04:54:46 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 246 seconds)
2020-10-26 04:55:08 +0100 <koz_> mikevdg: Proper coders write x86 assembly. By hand. :P
2020-10-26 04:55:18 +0100 <c_wraith> The only difference in C is that there's a bunch more syntax.
2020-10-26 04:55:52 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 260 seconds)
2020-10-26 04:57:41 +0100 <Axman6> node_t * invert(node_t * t) { t == NULL ? return NULL : { node_t * tmp = t->l; t->l=invert(t->r); t->r=invert(tmp);}}
2020-10-26 04:57:48 +0100 <mikevdg> neat.
2020-10-26 04:57:56 +0100 <Axman6> or something, I have no idea
2020-10-26 04:58:07 +0100 <mikevdg> I wonder how well it would go down if I did do it in x86 assembly on a white board?
2020-10-26 04:58:26 +0100GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-26 04:58:27 +0100 <mikevdg> I could probably just write gibberish and they'd never check it.
2020-10-26 04:58:45 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-26 04:58:45 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-26 04:58:45 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-26 04:59:20 +0100 <ghoulguy> You'd probably just convince them you'd be difficult to work with and not impress?
2020-10-26 05:00:54 +0100 <mikevdg> Yea. I was at a Java job interview and they were asking me about VMs, lambdas, etc. They cut me off everytime I drew a comparison to other languages.
2020-10-26 05:01:05 +0100 <dsal> I wrote tons of asm in high school for/on my calculator. Last asm code I wrote was for AVR. It did a useful thing for a tiny program. Demultiplexed a PPM signal onto discrete output channels on an ATTiny85 in ~70 lines of code. Debugged it on an oscilloscope. heh
2020-10-26 05:01:11 +0100 <int-e> Axman6: that'll be fun if there's sharing :)
2020-10-26 05:01:21 +0100 <T0pH4t> Axman6: not to bother, not sure if u looked at that example.
2020-10-26 05:02:08 +0100 <ghoulguy> int-e: Is it still a tree if there's observable sharing?
2020-10-26 05:02:26 +0100ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection)
2020-10-26 05:02:27 +0100 <Axman6> T0pH4t: sorry, in a meeting at the moment
2020-10-26 05:02:44 +0100 <Axman6> int-e: YOLO
2020-10-26 05:02:49 +0100mbomba(~mbomba@142.114.9.241)
2020-10-26 05:02:54 +0100 <T0pH4t> np
2020-10-26 05:03:11 +0100 <int-e> ghoulguy: as long as you don't actually observe it ;)
2020-10-26 05:03:29 +0100jedws(~jedws@101.184.148.229)
2020-10-26 05:03:49 +0100ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex)
2020-10-26 05:05:48 +0100 <int-e> Hmm, I guess there's too little going on in that function to be Turing-complete.
2020-10-26 05:05:55 +0100Amras(~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds)
2020-10-26 05:06:57 +0100hackageexception-via 0.1.0.0 - DerivingVia for your hierarchical exceptions https://hackage.haskell.org/package/exception-via-0.1.0.0 (parsonsmatt)
2020-10-26 05:08:07 +0100 <crestfallen> mikevdg, wtf now I can backspace only to the eighth space on the ghci prompt line. it stops dead, but doesn't jump off the line :)
2020-10-26 05:08:49 +0100 <mikevdg> umm.. okay. I'd try creating another user and logging in as that user to see if it's a global problem or in ~/.config somehow.
2020-10-26 05:09:21 +0100 <mikevdg> Or try using `xterm`.
2020-10-26 05:09:35 +0100 <mikevdg> It's the old workhorse granddaddy terminal emulator.
2020-10-26 05:09:44 +0100 <Axman6> my C above is missing a return t
2020-10-26 05:12:13 +0100 <int-e> Axman6: yeah, my brain autocorrected that :P
2020-10-26 05:12:17 +0100thir(~thir@p200300f27f2523003c23ef77843b8858.dip0.t-ipconnect.de)
2020-10-26 05:12:30 +0100 <crestfallen> mikevdg, thanks a lot , what should I look for in .config ?
2020-10-26 05:13:06 +0100 <crestfallen> it is global btw , earlier I was trying it in x11
2020-10-26 05:13:19 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-10-26 05:13:23 +0100 <Axman6> int-e: I guess I'll never work for Google :'(
2020-10-26 05:13:28 +0100 <mikevdg> You don't really look in .config unless you're really keen. It contains all your settings.
2020-10-26 05:13:59 +0100 <crestfallen> mikevdg, what setting may be off though?
2020-10-26 05:14:24 +0100texasmynsted(~texasmyns@99.96.221.112) (Remote host closed the connection)
2020-10-26 05:15:20 +0100apoc(~apoc@bridge.mattzq.com)
2020-10-26 05:16:30 +0100danso(~dan@69-165-210-185.cable.teksavvy.com) (Quit: WeeChat 2.9)
2020-10-26 05:16:43 +0100 <mikevdg> There's lots of things. You have the environment variables TERM, COLUMNS. You could have a version of ghci that's been compiled funny without readline or whatever alternative it might use. You might have a screwed up terminfo database. You might have a misconfigured /etc/inputrc
2020-10-26 05:17:07 +0100thir(~thir@p200300f27f2523003c23ef77843b8858.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-10-26 05:17:21 +0100 <mikevdg> You're talking about a really deep rabbit hole that has 50 years of history to screw things up.
2020-10-26 05:17:26 +0100whatisRT(~whatisRT@2002:5b41:6a33:0:3cb4:1971:1759:f081)
2020-10-26 05:17:51 +0100 <mikevdg> Personally I suspect you've got the settings in gnome-terminal wrong.
2020-10-26 05:18:14 +0100 <crestfallen> but which setting(s) ?
2020-10-26 05:18:50 +0100 <mikevdg> Edit -> Preferences -> Compatibility
2020-10-26 05:19:00 +0100 <mikevdg> "Backspace key generates": ASCII DEL
2020-10-26 05:19:09 +0100 <mikevdg> Delete key generates": Escape sequence
2020-10-26 05:19:21 +0100 <mikevdg> Encoding - always UTF-8 unless you're encoding a URL
2020-10-26 05:19:41 +0100 <mikevdg> Actually just hit the "Reset" button at the bottom of that settings form.
2020-10-26 05:20:40 +0100bitmagie(~Thunderbi@200116b806e0ec00d9811243e44350b7.dip.versatel-1u1.de)
2020-10-26 05:21:19 +0100 <crestfallen> reset it is! thanks trying that mikevdg
2020-10-26 05:23:31 +0100GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-26 05:23:50 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-26 05:23:51 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-26 05:23:51 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-26 05:23:59 +0100mbomba(~mbomba@142.114.9.241) (Quit: WeeChat 2.9)
2020-10-26 05:25:07 +0100 <mikevdg> Just looking at ghc. It looks like it uses ncurses directly.
2020-10-26 05:25:41 +0100 <crestfallen> very sorry pls explain. resetting (they were already as you suggested) didn't fix it
2020-10-26 05:27:45 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-10-26 05:29:13 +0100 <mikevdg> Sorry, I can't replicate your problem. "It works on my machine" even if I screw with a lot of settings.
2020-10-26 05:29:36 +0100 <mikevdg> Having said that, it was an ordeal just getting ghci to work.
2020-10-26 05:31:20 +0100 <crestfallen> thanks my friend.. really appreciate it. later mikevdg
2020-10-26 05:39:56 +0100mikevdg(73bd539c@115-189-83-156.mobile.spark.co.nz) ()
2020-10-26 05:41:50 +0100bartemius(~bartemius@109-252-20-20.nat.spd-mgts.ru)
2020-10-26 05:43:01 +0100bitmagie1(~Thunderbi@200116b8061e1300eda32c0368104b2f.dip.versatel-1u1.de)
2020-10-26 05:43:42 +0100darjeeling_(~darjeelin@115.215.42.47) (Ping timeout: 260 seconds)
2020-10-26 05:44:08 +0100darjeeling_(~darjeelin@115.215.42.47)
2020-10-26 05:45:07 +0100bitmagie(~Thunderbi@200116b806e0ec00d9811243e44350b7.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2020-10-26 05:45:08 +0100bitmagie1bitmagie
2020-10-26 05:45:18 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-26 05:45:35 +0100 <ptrcmd> is it possible to ask stack to give me a list of packages used to run a .hs file with commands like "stack --resolver lts-16.1 XX.hs"?
2020-10-26 05:46:25 +0100 <ptrcmd> I want to run ghci with the packages used in the .hs file
2020-10-26 05:46:39 +0100plutoniix(~q@ppp-223-24-60-25.revip6.asianet.co.th)
2020-10-26 05:47:25 +0100hyiltiz(~quassel@unaffiliated/hyiltiz) (Ping timeout: 240 seconds)
2020-10-26 05:48:33 +0100GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-26 05:48:44 +0100GyroW(~GyroW@d54C03E98.access.telenet.be)
2020-10-26 05:48:44 +0100GyroW(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-26 05:48:44 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-26 05:48:59 +0100 <ptrcmd> hmm..telling stack to give me verbose output works
2020-10-26 05:49:02 +0100hyiltiz(~quassel@82.118.227.47)
2020-10-26 05:49:02 +0100hyiltiz(~quassel@82.118.227.47) (Changing host)
2020-10-26 05:49:02 +0100hyiltiz(~quassel@unaffiliated/hyiltiz)
2020-10-26 05:49:43 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 246 seconds)
2020-10-26 05:51:16 +0100tuple(~igloo@c-67-169-78-228.hsd1.ca.comcast.net)
2020-10-26 05:54:34 +0100falafel_(~falafel@71-34-132-121.clsp.qwest.net)
2020-10-26 05:54:54 +0100tuple(~igloo@c-67-169-78-228.hsd1.ca.comcast.net) (Client Quit)
2020-10-26 05:56:00 +0100polyrain(~polyrain@2001:8003:e501:6901:15fa:5e4:342f:f38b)
2020-10-26 05:56:28 +0100akad(~akad@109107030050.radomsko.vectranet.pl)
2020-10-26 05:56:44 +0100bitmagie(~Thunderbi@200116b8061e1300eda32c0368104b2f.dip.versatel-1u1.de) (Quit: bitmagie)
2020-10-26 06:00:09 +0100crestfallen(~John@135-180-15-188.fiber.dynamic.sonic.net) (Quit: Leaving)
2020-10-26 06:00:52 +0100ericsagnes(~ericsagne@2405:6580:0:5100:d581:a4dc:fd89:fd7c) (Ping timeout: 260 seconds)
2020-10-26 06:01:13 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-26 06:01:28 +0100akad(~akad@109107030050.radomsko.vectranet.pl) (Ping timeout: 260 seconds)
2020-10-26 06:03:10 +0100tuple(~igloo@c-67-169-78-228.hsd1.ca.comcast.net)
2020-10-26 06:04:11 +0100bitmagie(~Thunderbi@200116b8061e1300eda32c0368104b2f.dip.versatel-1u1.de)
2020-10-26 06:04:35 +0100tuple(~igloo@c-67-169-78-228.hsd1.ca.comcast.net) (Client Quit)
2020-10-26 06:04:50 +0100boiler(5cf785e2@92.247.133.226)
2020-10-26 06:06:20 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-10-26 06:08:40 +0100tuple(~igloo@c-67-169-78-228.hsd1.ca.comcast.net)
2020-10-26 06:10:30 +0100tuple(~igloo@c-67-169-78-228.hsd1.ca.comcast.net) (Client Quit)
2020-10-26 06:16:13 +0100thiross(~user@173.242.113.143.16clouds.com)
2020-10-26 06:16:19 +0100plutoniix(~q@ppp-223-24-60-25.revip6.asianet.co.th) (Ping timeout: 246 seconds)
2020-10-26 06:17:02 +0100bitmagie(~Thunderbi@200116b8061e1300eda32c0368104b2f.dip.versatel-1u1.de) (Quit: bitmagie)
2020-10-26 06:17:29 +0100acidjnk_new(~acidjnk@p200300d0c7237822f9c109cfb48a3b3a.dip0.t-ipconnect.de)
2020-10-26 06:18:12 +0100ericsagnes(~ericsagne@2405:6580:0:5100:87c:bf7d:2b1b:c866)
2020-10-26 06:19:28 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
2020-10-26 06:20:18 +0100polyrain(~polyrain@2001:8003:e501:6901:15fa:5e4:342f:f38b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-26 06:20:30 +0100ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection)
2020-10-26 06:21:00 +0100ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex)
2020-10-26 06:21:58 +0100texasmynsted(~texasmyns@99.96.221.112)
2020-10-26 06:22:44 +0100gattytto(b33e397e@179.62.57.126)
2020-10-26 06:23:49 +0100ericsagnes(~ericsagne@2405:6580:0:5100:87c:bf7d:2b1b:c866) (Ping timeout: 272 seconds)
2020-10-26 06:25:05 +0100kupi(uid212005@gateway/web/irccloud.com/x-eeknnrhdpwmbpqai) (Quit: Connection closed for inactivity)
2020-10-26 06:25:54 +0100day_(~Unknown@unaffiliated/day)
2020-10-26 06:26:05 +0100texasmynsted(~texasmyns@99.96.221.112) (Ping timeout: 240 seconds)
2020-10-26 06:28:02 +0100whatisRT(~whatisRT@2002:5b41:6a33:0:3cb4:1971:1759:f081) (Ping timeout: 260 seconds)
2020-10-26 06:28:45 +0100day(~Unknown@unaffiliated/day) (Ping timeout: 240 seconds)
2020-10-26 06:28:45 +0100day_day
2020-10-26 06:29:02 +0100ericsagnes(~ericsagne@2405:6580:0:5100:9d0d:d6ca:eee0:649b)
2020-10-26 06:29:09 +0100plutoniix(~q@ppp-61-90-113-96.revip.asianet.co.th)
2020-10-26 06:29:27 +0100acidjnk_new(~acidjnk@p200300d0c7237822f9c109cfb48a3b3a.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-10-26 06:30:17 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-26 06:31:47 +0100thiross`(~user@173.242.113.143.16clouds.com)
2020-10-26 06:33:54 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-26 06:34:05 +0100thiross(~user@173.242.113.143.16clouds.com) (Remote host closed the connection)
2020-10-26 06:34:24 +0100thiross``(~user@173.242.113.143.16clouds.com)
2020-10-26 06:35:02 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-10-26 06:37:25 +0100thiross`(~user@173.242.113.143.16clouds.com) (Ping timeout: 240 seconds)
2020-10-26 06:38:54 +0100gattytto(b33e397e@179.62.57.126) (Remote host closed the connection)
2020-10-26 06:39:26 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-26 06:43:45 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds)
2020-10-26 06:48:37 +0100user38966(3d5cd9fe@061092217254.ctinets.com)
2020-10-26 06:49:02 +0100plutoniix(~q@ppp-61-90-113-96.revip.asianet.co.th) (Ping timeout: 260 seconds)
2020-10-26 06:49:53 +0100polyrain(~polyrain@2001:8003:e501:6901:15fa:5e4:342f:f38b)
2020-10-26 06:52:59 +0100plutoniix(~q@ppp-115-87-246-33.revip4.asianet.co.th)
2020-10-26 06:53:27 +0100crestfallen(~jvw@135-180-15-188.fiber.dynamic.sonic.net)
2020-10-26 06:54:36 +0100texasmynsted(~texasmyns@99.96.221.112)
2020-10-26 06:59:24 +0100texasmynsted(~texasmyns@99.96.221.112) (Ping timeout: 272 seconds)
2020-10-26 07:00:02 +0100qapla_org(~qapla_org@185.163.110.116) ()
2020-10-26 07:00:05 +0100crestfallen(~jvw@135-180-15-188.fiber.dynamic.sonic.net) (Ping timeout: 240 seconds)
2020-10-26 07:03:53 +0100akad(~akad@109107030050.radomsko.vectranet.pl)
2020-10-26 07:04:31 +0100thiross``(~user@173.242.113.143.16clouds.com) ("ERC (IRC client for Emacs 27.1)")
2020-10-26 07:05:12 +0100constR(uid58205@gateway/web/irccloud.com/x-nftouxhgpmhemgcu) (Quit: Connection closed for inactivity)
2020-10-26 07:06:25 +0100hyiltiz(~quassel@unaffiliated/hyiltiz) (Ping timeout: 240 seconds)
2020-10-26 07:07:25 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-10-26 07:08:17 +0100akad(~akad@109107030050.radomsko.vectranet.pl) (Ping timeout: 260 seconds)
2020-10-26 07:13:31 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch)
2020-10-26 07:14:06 +0100Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection)
2020-10-26 07:14:15 +0100jchia(~jchia@58.32.71.108) (Quit: Leaving.)
2020-10-26 07:14:26 +0100tito_04(~taurux@net-130-25-120-91.cust.vodafonedsl.it) (Ping timeout: 260 seconds)
2020-10-26 07:14:39 +0100taurux(~taurux@net-188-152-69-27.cust.dsl.teletu.it)
2020-10-26 07:16:27 +0100hackageperiodic-client 1.1.7.2 - Periodic task system haskell client. https://hackage.haskell.org/package/periodic-client-1.1.7.2 (Lupino)
2020-10-26 07:17:29 +0100thir(~thir@p200300f27f2523003c23ef77843b8858.dip0.t-ipconnect.de)
2020-10-26 07:17:33 +0100tuple(~igloo@c-67-169-78-228.hsd1.ca.comcast.net)
2020-10-26 07:19:54 +0100wz1000(~wz1000@static.11.113.47.78.clients.your-server.de)
2020-10-26 07:25:15 +0100tuple(~igloo@c-67-169-78-228.hsd1.ca.comcast.net) (Quit: Igloo IRC: https://iglooirc.com)
2020-10-26 07:27:30 +0100darjeeling_(~darjeelin@115.215.42.47) (Quit: WeeChat 2.9)
2020-10-26 07:27:54 +0100Katarushisu(~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Ping timeout: 272 seconds)
2020-10-26 07:28:12 +0100bitmagie(~Thunderbi@200116b8061e1300eda32c0368104b2f.dip.versatel-1u1.de)
2020-10-26 07:28:55 +0100Katarushisu(~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net)
2020-10-26 07:29:52 +0100darjeeling_(~darjeelin@115.215.42.47)
2020-10-26 07:31:49 +0100hyiltiz(~quassel@82.118.227.47)
2020-10-26 07:31:49 +0100hyiltiz(~quassel@82.118.227.47) (Changing host)
2020-10-26 07:31:49 +0100hyiltiz(~quassel@unaffiliated/hyiltiz)
2020-10-26 07:33:33 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-26 07:34:44 +0100polyrain(~polyrain@2001:8003:e501:6901:15fa:5e4:342f:f38b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-26 07:34:48 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-26 07:35:38 +0100crestfallen(~jvw@135-180-15-188.fiber.dynamic.sonic.net)
2020-10-26 07:35:42 +0100falafel_(~falafel@71-34-132-121.clsp.qwest.net) (Ping timeout: 260 seconds)
2020-10-26 07:36:45 +0100bitmagie(~Thunderbi@200116b8061e1300eda32c0368104b2f.dip.versatel-1u1.de) (Quit: bitmagie)
2020-10-26 07:38:17 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 256 seconds)
2020-10-26 07:39:58 +0100crestfallen(~jvw@135-180-15-188.fiber.dynamic.sonic.net) (Ping timeout: 246 seconds)
2020-10-26 07:39:58 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2020-10-26 07:47:12 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
2020-10-26 07:48:33 +0100eedgit2(~chat.free@95.179.237.21) (Quit: Ping timeout (120 seconds))
2020-10-26 07:48:49 +0100eedgit2(~chat.free@95.179.237.21)
2020-10-26 07:50:54 +0100plutoniix(~q@ppp-115-87-246-33.revip4.asianet.co.th) (Quit: Leaving)
2020-10-26 07:53:41 +0100kirkland1(~kirkland@178.239.168.171)
2020-10-26 07:54:07 +0100chele(~chele@ip5b416ea2.dynamic.kabel-deutschland.de)
2020-10-26 07:54:25 +0100hyiltiz(~quassel@unaffiliated/hyiltiz) (Ping timeout: 240 seconds)
2020-10-26 07:54:57 +0100xff0x(~fox@2001:1a81:53e0:c700:e573:3ce2:3ef3:403a) (Ping timeout: 260 seconds)
2020-10-26 07:55:15 +0100kuribas(~user@ptr-25vy0ialak9zgvszewg.18120a2.ip6.access.telenet.be)
2020-10-26 07:55:36 +0100idhugo(~idhugo@563472ae.rev.stofanet.dk)
2020-10-26 07:55:40 +0100xff0x(~fox@2001:1a81:53e0:c700:a0de:6085:a17e:5dae)
2020-10-26 07:59:57 +0100hyiltiz(~quassel@82.118.227.47)
2020-10-26 07:59:57 +0100hyiltiz(~quassel@82.118.227.47) (Changing host)
2020-10-26 07:59:57 +0100hyiltiz(~quassel@unaffiliated/hyiltiz)
2020-10-26 08:03:02 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:e9e0:8366:ee4d:bc13) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-26 08:03:32 +0100GyroW_(~GyroW@d54c03e98.access.telenet.be)
2020-10-26 08:03:32 +0100GyroW_(~GyroW@d54c03e98.access.telenet.be) (Changing host)
2020-10-26 08:03:32 +0100GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-26 08:04:25 +0100GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 240 seconds)
2020-10-26 08:04:39 +0100cfricke(~cfricke@unaffiliated/cfricke)
2020-10-26 08:05:02 +0100polyrain(~polyrain@2001:8003:e501:6901:15fa:5e4:342f:f38b)
2020-10-26 08:05:15 +0100akad(~akad@109107030050.radomsko.vectranet.pl)
2020-10-26 08:07:46 +0100nemesit|znc(~nemesit@2a01:488:66:1000:2ea3:4eeb:0:1) (Quit: ZNC 1.6.3+deb1ubuntu0.2 - http://znc.in)
2020-10-26 08:08:06 +0100nemesit|znc(~nemesit@myriadvisuals.com)
2020-10-26 08:09:17 +0100[exa](exa@srv3.blesmrt.net) (Changing host)
2020-10-26 08:09:17 +0100[exa](exa@unaffiliated/exa/x-5381537)
2020-10-26 08:13:48 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-26 08:15:53 +0100boiler(5cf785e2@92.247.133.226) (Remote host closed the connection)
2020-10-26 08:18:23 +0100thir(~thir@p200300f27f2523003c23ef77843b8858.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-26 08:20:06 +0100thir(~thir@p200300f27f2523003c23ef77843b8858.dip0.t-ipconnect.de)
2020-10-26 08:21:51 +0100alp(~alp@2a01:e0a:58b:4920:b09b:666a:bc2b:5e4c)
2020-10-26 08:23:22 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2020-10-26 08:23:47 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-10-26 08:25:25 +0100thir(~thir@p200300f27f2523003c23ef77843b8858.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-26 08:27:40 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-26 08:31:01 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2020-10-26 08:31:16 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-26 08:31:32 +0100vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2020-10-26 08:31:59 +0100atondwal(~atondwal@ip68-107-107-53.sd.sd.cox.net)
2020-10-26 08:32:30 +0100jedws(~jedws@101.184.148.229) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-26 08:34:36 +0100Sgeo(~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer)
2020-10-26 08:37:03 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-26 08:38:55 +0100asheshambasta(~user@ptr-e1lysawl9rr13i61o92.18120a2.ip6.access.telenet.be)
2020-10-26 08:40:50 +0100bitmagie(~Thunderbi@200116b8061e1300eda32c0368104b2f.dip.versatel-1u1.de)
2020-10-26 08:41:41 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
2020-10-26 08:43:10 +0100hvr_(~hvr@haskell/developer/hvr) (Remote host closed the connection)
2020-10-26 08:43:20 +0100hvr(~hvr@haskell/developer/hvr)
2020-10-26 08:43:57 +0100jedws(~jedws@101.184.148.229)
2020-10-26 08:45:46 +0100crestfallen(~jvw@135-180-15-188.fiber.dynamic.sonic.net)
2020-10-26 08:45:57 +0100crestfallen(~jvw@135-180-15-188.fiber.dynamic.sonic.net) (Client Quit)
2020-10-26 08:46:11 +0100Lord_of_Life(~Lord@46.217.216.74) (Changing host)
2020-10-26 08:46:11 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2020-10-26 08:48:34 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2020-10-26 08:50:28 +0100bitmagie(~Thunderbi@200116b8061e1300eda32c0368104b2f.dip.versatel-1u1.de) (Quit: bitmagie)
2020-10-26 08:50:56 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-10-26 08:52:22 +0100Tops2(~Tobias@dyndsl-091-249-083-218.ewe-ip-backbone.de) (Quit: Leaving.)
2020-10-26 08:52:54 +0100wei2912(~wei2912@unaffiliated/wei2912) (Remote host closed the connection)
2020-10-26 08:53:33 +0100idhugo(~idhugo@563472ae.rev.stofanet.dk) (Ping timeout: 260 seconds)
2020-10-26 08:55:12 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-26 08:55:40 +0100kritzefitz(~kritzefit@fw-front.credativ.com)
2020-10-26 08:56:22 +0100jbox(~atlas@unaffiliated/jbox) (Quit: WeeChat 2.9)
2020-10-26 08:57:05 +0100alp(~alp@2a01:e0a:58b:4920:b09b:666a:bc2b:5e4c) (Ping timeout: 272 seconds)
2020-10-26 08:58:18 +0100jespada(~jespada@90.254.243.98)
2020-10-26 09:00:19 +0100mmohammadi9812(~mmohammad@2.178.196.140)
2020-10-26 09:05:06 +0100danvet_(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2020-10-26 09:06:41 +0100hyiltiz(~quassel@unaffiliated/hyiltiz) (Ping timeout: 256 seconds)
2020-10-26 09:07:06 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2020-10-26 09:07:59 +0100mbomba(~mbomba@142.114.9.241)
2020-10-26 09:08:39 +0100polyrain(~polyrain@2001:8003:e501:6901:15fa:5e4:342f:f38b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-26 09:10:07 +0100kawaku(5cf785e2@92.247.133.226)
2020-10-26 09:10:16 +0100nitrix-or-treatnitrix
2020-10-26 09:11:36 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-26 09:12:57 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de)
2020-10-26 09:13:20 +0100hyiltiz(~quassel@82.118.227.47)
2020-10-26 09:13:21 +0100hyiltiz(~quassel@82.118.227.47) (Changing host)
2020-10-26 09:13:21 +0100hyiltiz(~quassel@unaffiliated/hyiltiz)
2020-10-26 09:13:28 +0100bahamas(~lucian@unaffiliated/bahamas)
2020-10-26 09:13:56 +0100mbomba(~mbomba@142.114.9.241) (Quit: WeeChat 2.9)
2020-10-26 09:16:10 +0100texasmynsted(~texasmyns@99.96.221.112)
2020-10-26 09:17:54 +0100unlink2(~unlink2@p200300ebcf11fb00fde4d6d3674a285c.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-26 09:18:13 +0100unlink2(~unlink2@p200300ebcf11fb00fde4d6d3674a285c.dip0.t-ipconnect.de)
2020-10-26 09:18:20 +0100dhouthoo(~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be)
2020-10-26 09:18:26 +0100atondwal(~atondwal@ip68-107-107-53.sd.sd.cox.net) (Quit: Leaving.)
2020-10-26 09:20:25 +0100texasmynsted(~texasmyns@99.96.221.112) (Ping timeout: 240 seconds)
2020-10-26 09:20:48 +0100cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd)
2020-10-26 09:21:25 +0100mupf(~micha@v22017094964653601.ultrasrv.de) (Quit: WeeChat 2.9)
2020-10-26 09:21:32 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-10-26 09:21:56 +0100mupf(~micha@v22017094964653601.ultrasrv.de)
2020-10-26 09:22:24 +0100knupfer(~Thunderbi@i59F7FFDF.versanet.de)
2020-10-26 09:22:27 +0100jedws(~jedws@101.184.148.229) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-26 09:23:20 +0100mupf(~micha@v22017094964653601.ultrasrv.de) (Client Quit)
2020-10-26 09:25:22 +0100xff0x(~fox@2001:1a81:53e0:c700:a0de:6085:a17e:5dae) (Ping timeout: 260 seconds)
2020-10-26 09:25:22 +0100mupf(~micha@v22017094964653601.ultrasrv.de)
2020-10-26 09:25:51 +0100xff0x(~fox@2001:1a81:53e0:c700:e7ad:c450:afad:c09f)
2020-10-26 09:29:30 +0100alp(~alp@2a01:e0a:58b:4920:9c3d:735:add4:5ab8)
2020-10-26 09:32:40 +0100knupfer(~Thunderbi@i59F7FFDF.versanet.de) (Ping timeout: 272 seconds)
2020-10-26 09:32:55 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2020-10-26 09:34:35 +0100idhugo(~idhugo@eduroam06.au.dk)
2020-10-26 09:35:01 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-qyqbjvcihvkvillz) (Quit: Connection closed for inactivity)
2020-10-26 09:36:03 +0100Varis(~Tadas@unaffiliated/varis)
2020-10-26 09:36:26 +0100kirkland1(~kirkland@178.239.168.171) (Remote host closed the connection)
2020-10-26 09:36:47 +0100idhugo_(~idhugo@users-1190.st.net.au.dk)
2020-10-26 09:40:04 +0100idhugo(~idhugo@eduroam06.au.dk) (Ping timeout: 265 seconds)
2020-10-26 09:41:04 +0100GyroW_(~GyroW@unaffiliated/gyrow) (Ping timeout: 246 seconds)
2020-10-26 09:41:40 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-26 09:41:40 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-26 09:41:40 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-26 09:42:46 +0100raichoo(~raichoo@213.240.178.58)
2020-10-26 09:44:13 +0100akad(~akad@109107030050.radomsko.vectranet.pl) (Ping timeout: 246 seconds)
2020-10-26 09:45:00 +0100toorevitimirp(~tooreviti@117.182.180.36)
2020-10-26 09:45:13 +0100hyiltiz(~quassel@unaffiliated/hyiltiz) (Ping timeout: 256 seconds)
2020-10-26 09:45:24 +0100GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-26 09:45:24 +0100GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-26 09:45:24 +0100GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-26 09:46:57 +0100GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 260 seconds)
2020-10-26 09:47:44 +0100mupf(~micha@v22017094964653601.ultrasrv.de) (Quit: WeeChat 2.9)
2020-10-26 09:52:21 +0100shatriff(~vitaliish@176.52.219.10) (Remote host closed the connection)
2020-10-26 09:52:32 +0100jchia(~jchia@58.32.71.108)
2020-10-26 09:52:38 +0100shatriff(~vitaliish@176.52.219.10)
2020-10-26 09:53:06 +0100shatriff(~vitaliish@176.52.219.10) (Remote host closed the connection)
2020-10-26 09:53:12 +0100mupf(~micha@v22017094964653601.ultrasrv.de)
2020-10-26 09:53:39 +0100shatriff(~vitaliish@176.52.219.10)
2020-10-26 09:54:45 +0100drbean(~drbean@TC210-63-209-46.static.apol.com.tw) (Ping timeout: 240 seconds)
2020-10-26 09:56:08 +0100 <Unhammer> Anyone remember that quote, possibly from this channel, that went something like "listening to someone explain git oh no he's going to say DAG" ? Can't find it on bash.org =P
2020-10-26 09:56:24 +0100Zetagon(~leo@c151-177-52-233.bredband.comhem.se)
2020-10-26 09:57:54 +0100jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se)
2020-10-26 10:00:05 +0100albestro[m](albestroma@gateway/shell/matrix.org/x-rwgkldcronzkchgf) (Quit: Idle for 30+ days)
2020-10-26 10:00:05 +0100GuillaumeChrel[m(guillaumec@gateway/shell/matrix.org/x-bzphvmmldnxyrmal) (Quit: Idle for 30+ days)
2020-10-26 10:00:51 +0100scratchy_beard(~doug@cpc110383-king13-2-0-cust408.19-1.cable.virginm.net)
2020-10-26 10:04:28 +0100clinton(6a454fd1@106-69-79-209.dyn.iinet.net.au)
2020-10-26 10:04:52 +0100clintonGuest20169
2020-10-26 10:05:15 +0100Guest20169(6a454fd1@106-69-79-209.dyn.iinet.net.au) (Remote host closed the connection)
2020-10-26 10:07:27 +0100shafox(~shafox@106.51.234.111)
2020-10-26 10:07:48 +0100knupfer(~Thunderbi@i59F7FFDF.versanet.de)
2020-10-26 10:08:27 +0100bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 256 seconds)
2020-10-26 10:09:48 +0100 <tomsmeding> Unhammer: from how long ago?
2020-10-26 10:11:14 +0100jchia(~jchia@58.32.71.108) (Quit: Leaving.)
2020-10-26 10:11:16 +0100thc202(~thc202@unaffiliated/thc202)
2020-10-26 10:12:10 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-26 10:14:46 +0100bahamas(~lucian@unaffiliated/bahamas)
2020-10-26 10:16:58 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-10-26 10:18:03 +0100scratchy_beard(~doug@cpc110383-king13-2-0-cust408.19-1.cable.virginm.net) (Quit: WeeChat 1.9.1)
2020-10-26 10:19:02 +0100kritzefitz(~kritzefit@fw-front.credativ.com) (Ping timeout: 260 seconds)
2020-10-26 10:19:06 +0100jchia(~jchia@58.32.71.108)
2020-10-26 10:19:46 +0100kritzefitz(~kritzefit@fw-front.credativ.com)
2020-10-26 10:20:11 +0100 <Unhammer> oh no idea …
2020-10-26 10:22:23 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de)
2020-10-26 10:22:26 +0100cmeiklejohn1(~cmeiklejo@84.39.116.180)
2020-10-26 10:25:49 +0100m0rphism(~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de)
2020-10-26 10:26:00 +0100chaosmasttter(~chaosmast@p200300c4a73c460118080c3b2ced1444.dip0.t-ipconnect.de)
2020-10-26 10:26:29 +0100Franciman(~francesco@host-82-54-10-114.retail.telecomitalia.it)
2020-10-26 10:27:12 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-10-26 10:28:06 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2020-10-26 10:28:31 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-10-26 10:29:37 +0100damianfral3(~damianfra@25.red-176-87-152.dynamicip.rima-tde.net)
2020-10-26 10:31:18 +0100whald(~trem@2a02:810a:8100:11a6:719f:1c0f:efe6:863b)
2020-10-26 10:31:52 +0100ericsagnes(~ericsagne@2405:6580:0:5100:9d0d:d6ca:eee0:649b) (Ping timeout: 260 seconds)
2020-10-26 10:33:42 +0100ixlun(~matthew@213.205.241.94)
2020-10-26 10:36:36 +0100 <simon> Unhammer, never heard it. sounds fun.
2020-10-26 10:36:45 +0100bliminse(~bliminse@host109-158-26-29.range109-158.btcentralplus.com) (Ping timeout: 240 seconds)
2020-10-26 10:37:47 +0100bliminse(~bliminse@host109-158-26-29.range109-158.btcentralplus.com)
2020-10-26 10:39:31 +0100firstlove(~firstlove@58.246.122.242)
2020-10-26 10:42:15 +0100hyiltiz(~quassel@82.118.227.47)
2020-10-26 10:42:15 +0100hyiltiz(~quassel@82.118.227.47) (Changing host)
2020-10-26 10:42:15 +0100hyiltiz(~quassel@unaffiliated/hyiltiz)
2020-10-26 10:43:17 +0100ericsagnes(~ericsagne@2405:6580:0:5100:8838:faf8:e876:fc12)
2020-10-26 10:48:46 +0100Neuromancer(~Neuromanc@unaffiliated/neuromancer)
2020-10-26 10:50:29 +0100firstlove(~firstlove@58.246.122.242) (Ping timeout: 258 seconds)
2020-10-26 10:51:58 +0100knupfer(~Thunderbi@i59F7FFDF.versanet.de) (Ping timeout: 260 seconds)
2020-10-26 10:53:00 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 256 seconds)
2020-10-26 10:53:05 +0100firstlove(~firstlove@58.246.122.242)
2020-10-26 10:54:40 +0100ggole(~ggole@2001:8003:8119:7200:b470:4a52:b5a6:e9d)
2020-10-26 10:55:23 +0100knupfer(~Thunderbi@200116b82c2f8c007cd71d5a3f6c1413.dip.versatel-1u1.de)
2020-10-26 10:56:11 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection)
2020-10-26 10:57:21 +0100Kolkrabe(~user@unaffiliated/siracusa) (Quit: Bye!)
2020-10-26 11:01:25 +0100damianfral3(~damianfra@25.red-176-87-152.dynamicip.rima-tde.net) (Ping timeout: 240 seconds)
2020-10-26 11:01:46 +0100damianfral3(~damianfra@25.red-176-87-152.dynamicip.rima-tde.net)
2020-10-26 11:09:34 +0100GyroW_(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-26 11:10:01 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-26 11:10:01 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-26 11:10:01 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-26 11:10:58 +0100hackagengx-export-tools-extra 0.5.6.1 - More extra tools for Nginx haskell module https://hackage.haskell.org/package/ngx-export-tools-extra-0.5.6.1 (lyokha)
2020-10-26 11:13:28 +0100mmohammadi9812(~mmohammad@2.178.196.140) (Ping timeout: 256 seconds)
2020-10-26 11:14:30 +0100knupfer(~Thunderbi@200116b82c2f8c007cd71d5a3f6c1413.dip.versatel-1u1.de) (Quit: knupfer)
2020-10-26 11:14:38 +0100knupfer(~Thunderbi@200116b82c2f8c007cd71d5a3f6c1413.dip.versatel-1u1.de)
2020-10-26 11:15:24 +0100mmohammadi9812(~mmohammad@2.178.135.71)
2020-10-26 11:18:28 +0100hackagengx-export-tools-extra 0.5.6.2 - More extra tools for Nginx haskell module https://hackage.haskell.org/package/ngx-export-tools-extra-0.5.6.2 (lyokha)
2020-10-26 11:20:16 +0100knupfer(~Thunderbi@200116b82c2f8c007cd71d5a3f6c1413.dip.versatel-1u1.de) (Quit: knupfer)
2020-10-26 11:20:18 +0100knupfer1(~Thunderbi@200116b82c2f8c0084be44241c9daf3e.dip.versatel-1u1.de)
2020-10-26 11:20:37 +0100knupfer1(~Thunderbi@200116b82c2f8c0084be44241c9daf3e.dip.versatel-1u1.de) (Client Quit)
2020-10-26 11:20:45 +0100knupfer(~Thunderbi@200116b82c2f8c00adf6cf92f38ce662.dip.versatel-1u1.de)
2020-10-26 11:20:52 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 260 seconds)
2020-10-26 11:21:15 +0100errst(~errst@unaffiliated/tirej)
2020-10-26 11:22:55 +0100unlink2(~unlink2@p200300ebcf11fb00fde4d6d3674a285c.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2020-10-26 11:26:39 +0100bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 256 seconds)
2020-10-26 11:29:43 +0100unlink2(~unlink2@p200300ebcf11fb00fde4d6d3674a285c.dip0.t-ipconnect.de)
2020-10-26 11:29:55 +0100DavidEichmann(~david@43.240.198.146.dyn.plus.net)
2020-10-26 11:30:12 +0100Zetagon(~leo@c151-177-52-233.bredband.comhem.se) (Remote host closed the connection)
2020-10-26 11:32:22 +0100mmohammadi9812(~mmohammad@2.178.135.71) (Ping timeout: 246 seconds)
2020-10-26 11:33:24 +0100mmohammadi9812(~mmohammad@5.117.59.202)
2020-10-26 11:34:35 +0100GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-26 11:34:51 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-26 11:34:51 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-26 11:34:51 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-26 11:39:35 +0100unlink2(~unlink2@p200300ebcf11fb00fde4d6d3674a285c.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-26 11:40:42 +0100ericsagnes(~ericsagne@2405:6580:0:5100:8838:faf8:e876:fc12) (Ping timeout: 260 seconds)
2020-10-26 11:41:45 +0100alp(~alp@2a01:e0a:58b:4920:9c3d:735:add4:5ab8) (Ping timeout: 272 seconds)
2020-10-26 11:44:06 +0100berberman(~berberman@unaffiliated/berberman)
2020-10-26 11:44:47 +0100berberman_(~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
2020-10-26 11:46:57 +0100hackageconfigurator-pg 0.2.5 - Reduced parser for configurator-ng config files https://hackage.haskell.org/package/configurator-pg-0.2.5 (vollmert)
2020-10-26 11:47:36 +0100andreas303(~andreas@gateway/tor-sasl/andreas303)
2020-10-26 11:52:00 +0100ericsagnes(~ericsagne@2405:6580:0:5100:5005:892f:e188:1072)
2020-10-26 11:58:12 +0100rprije(~rprije@194-193-168-77.tpgi.com.au) (Ping timeout: 260 seconds)
2020-10-26 11:58:46 +0100machinedgod(~machinedg@24.105.81.50)
2020-10-26 11:58:55 +0100jchia__(~jchia@58.32.37.146)
2020-10-26 11:59:52 +0100bahamas(~lucian@unaffiliated/bahamas)
2020-10-26 12:00:55 +0100nkly_(~nkly@2a02:8109:9a80:a74:201:2eff:fe81:c6dd) (Ping timeout: 240 seconds)
2020-10-26 12:04:03 +0100sgraf(sid326656@gateway/web/irccloud.com/x-fbrdkuvcuoubeycg) (Quit: Connection closed for inactivity)
2020-10-26 12:04:25 +0100bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 240 seconds)
2020-10-26 12:04:37 +0100aarvar(~foewfoiew@50.35.43.33) (Ping timeout: 260 seconds)
2020-10-26 12:08:19 +0100esp32_prog(yoann@gateway/vpn/protonvpn/esp32prog/x-46565127)
2020-10-26 12:08:56 +0100aidecoe(~aidecoe@unaffiliated/aidecoe) (Ping timeout: 265 seconds)
2020-10-26 12:10:27 +0100mimi_vx(~mimi@tulipan.habr.nat.praha12.net) (Ping timeout: 260 seconds)
2020-10-26 12:14:02 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-26 12:18:08 +0100fendor(~fendor@078132040188.public.t-mobile.at)
2020-10-26 12:18:19 +0100nkly(~nkly@2a02:8109:9a80:a74:201:2eff:fe81:c6dd)
2020-10-26 12:18:53 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-10-26 12:20:06 +0100dddddd(~dddddd@unaffiliated/dddddd) (Ping timeout: 260 seconds)
2020-10-26 12:20:24 +0100 <tomsmeding> merijn: forgive the off-topic question but do you have a vim binding for :pclose, and if so what :p
2020-10-26 12:20:39 +0100polyrain(~polyrain@2001:8003:e501:6901:15fa:5e4:342f:f38b)
2020-10-26 12:24:48 +0100GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-26 12:25:07 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-26 12:25:07 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-26 12:25:07 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-26 12:26:54 +0100 <maerwald> <leader>pc
2020-10-26 12:27:03 +0100bahamas(~lucian@unaffiliated/bahamas)
2020-10-26 12:30:39 +0100dddddd(~dddddd@unaffiliated/dddddd)
2020-10-26 12:34:22 +0100hyiltiz(~quassel@unaffiliated/hyiltiz) (Ping timeout: 260 seconds)
2020-10-26 12:34:39 +0100drBurgundy(9c923c08@156.146.60.8)
2020-10-26 12:35:50 +0100mananamenos_(~mananamen@84.122.202.215.dyn.user.ono.com)
2020-10-26 12:39:53 +0100firstlove(~firstlove@58.246.122.242) (Ping timeout: 260 seconds)
2020-10-26 12:41:47 +0100drbean(~drbean@TC210-63-209-141.static.apol.com.tw)
2020-10-26 12:42:15 +0100mimi_vx(~mimi@2a01:490:16:1026:f9ef:15f1:410b:ee8a)
2020-10-26 12:42:36 +0100dixie(~dixie@real.wilbury.sk) (Read error: Connection reset by peer)
2020-10-26 12:42:44 +0100dixie(~dixie@real.wilbury.sk)
2020-10-26 12:42:53 +0100firstlove(~firstlove@58.246.122.242)
2020-10-26 12:45:13 +0100mdroumag(mdroumag@gateway/vpn/privateinternetaccess/drburgundy)
2020-10-26 12:45:24 +0100hekkaidekapus}(~tchouri@gateway/tor-sasl/hekkaidekapus) (Quit: hekkaidekapus})
2020-10-26 12:45:26 +0100HarveyPwca(~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net) (Quit: Leaving)
2020-10-26 12:45:46 +0100mmohammadi9812(~mmohammad@5.117.59.202) (Ping timeout: 256 seconds)
2020-10-26 12:45:54 +0100mmohammadi9812(~mmohammad@5.115.65.59)
2020-10-26 12:46:07 +0100mdroumag(mdroumag@gateway/vpn/privateinternetaccess/drburgundy) (Client Quit)
2020-10-26 12:46:57 +0100troydm(~troydm@unaffiliated/troydm) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset)
2020-10-26 12:48:19 +0100troydm(~troydm@unaffiliated/troydm)
2020-10-26 12:49:02 +0100bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 260 seconds)
2020-10-26 12:49:27 +0100hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-10-26 12:49:50 +0100drBurgundy(9c923c08@156.146.60.8) (Remote host closed the connection)
2020-10-26 12:51:21 +0100 <tomsmeding> it does roll fairly nicely, I guess it works
2020-10-26 12:51:33 +0100 <Uniaika> oh, hi tomsmeding :)
2020-10-26 12:51:48 +0100alp(~alp@2a01:e0a:58b:4920:f086:ff9a:6c6d:3208)
2020-10-26 12:52:11 +0100 <tomsmeding> hi Uniaika :)
2020-10-26 12:52:31 +0100 <Uniaika> tomsmeding: how are you doing?
2020-10-26 12:53:02 +0100mmohammadi9812(~mmohammad@5.115.65.59) (Ping timeout: 260 seconds)
2020-10-26 12:53:06 +0100 <tomsmeding> thesis project :p
2020-10-26 12:53:18 +0100 <tomsmeding> and migrating from languageclient-neovim to ALE
2020-10-26 12:53:39 +0100 <tomsmeding> ALE doesn't use neovim's floating window and that annoys me, hence the question above :p
2020-10-26 12:54:26 +0100 <Uniaika> I do use coc.nvim which works perfectly fine for that :P
2020-10-26 12:54:42 +0100 <Uniaika> (and it renders the markdown output of hie, contrary to LC-neovim)
2020-10-26 12:55:16 +0100 <maerwald> coc.nvim is like running an entire website inside my edtior... it's scary (and similarly broken)
2020-10-26 12:57:04 +0100mmohammadi9812(~mmohammad@5.238.178.31)
2020-10-26 12:57:05 +0100 <yushyin> you even need nodejs ...
2020-10-26 12:57:06 +0100danza(~francesco@151.53.69.61)
2020-10-26 12:57:13 +0100Chi1thangoo(~Chi1thang@87.112.60.168)
2020-10-26 12:57:27 +0100cmeiklejohn1(~cmeiklejo@84.39.116.180) (Remote host closed the connection)
2020-10-26 12:57:33 +0100urodna(~urodna@unaffiliated/urodna)
2020-10-26 12:57:44 +0100 <maerwald> it also lights up my editor like a christmas tree... I'm surpised there are no floating window ads
2020-10-26 12:57:50 +0100 <tomsmeding> I've been attempting to avoid coc.nvim but perhaps I'll have to descend to it at some point
2020-10-26 12:58:11 +0100user38966(3d5cd9fe@061092217254.ctinets.com) (Remote host closed the connection)
2020-10-26 12:58:21 +0100 <yushyin> at that point you can just use vscode
2020-10-26 12:58:45 +0100firstlove(~firstlove@58.246.122.242) (Ping timeout: 240 seconds)
2020-10-26 12:58:47 +0100 <maerwald> yes and it's actually a better experience
2020-10-26 12:58:56 +0100 <maerwald> except for editing xD
2020-10-26 12:59:36 +0100Zetagon(~leo@c151-177-52-233.bredband.comhem.se)
2020-10-26 13:00:22 +0100 <Uniaika> I too despise the necessity of using nodejs
2020-10-26 13:00:46 +0100 <Uniaika> but at some point I make the choice of having a working and full-featured LSP client :P
2020-10-26 13:00:53 +0100 <Uniaika> LC-neovim does not qualify
2020-10-26 13:00:58 +0100kawaku(5cf785e2@92.247.133.226) (Remote host closed the connection)
2020-10-26 13:01:11 +0100 <maerwald> why
2020-10-26 13:02:09 +0100 <tomsmeding> LC-neovim completely fails somehow with ghcide
2020-10-26 13:02:33 +0100 <tomsmeding> if you edit a file, then ~50% of the time imports of that file in all the other modules are suddenly unresolved
2020-10-26 13:03:03 +0100 <tomsmeding> part of the problem was that file watches were mostly unimplemented in LC-neovim, which I fixed with a PR, but either my code also fails or something else is still broken
2020-10-26 13:03:07 +0100 <maerwald> works here, except that hls signal handling is fishy and eventually all LSP clients fail and spawn too many instances or fail to shut down exising ones
2020-10-26 13:03:27 +0100 <tomsmeding> I hope ALE does that better but I haven't stress-tested it yet :p
2020-10-26 13:03:51 +0100 <tomsmeding> maerwald: I'd like to use hls instead of plain ghcide but hls doesn't work on https://github.com/AccelerateHS/accelerate for some reason
2020-10-26 13:04:22 +0100 <tomsmeding> but the project is huge so submitting a useful bug report is hard
2020-10-26 13:04:49 +0100 <tomsmeding> (well, "huge" for my standards, which is not all that huge probably)
2020-10-26 13:07:10 +0100stree(~stree@50-108-72-205.adr01.mskg.mi.frontiernet.net) (Quit: Caught exception)
2020-10-26 13:07:28 +0100stree(~stree@50-108-72-205.adr01.mskg.mi.frontiernet.net)
2020-10-26 13:09:11 +0100jedws(~jedws@101.184.148.229)
2020-10-26 13:11:56 +0100andi-(~andi-@NixOS/user/andi-) (Remote host closed the connection)
2020-10-26 13:12:03 +0100invaser(~Thunderbi@31.148.23.125)
2020-10-26 13:12:41 +0100hyiltiz(~quassel@82.118.227.47)
2020-10-26 13:12:41 +0100hyiltiz(~quassel@82.118.227.47) (Changing host)
2020-10-26 13:12:41 +0100hyiltiz(~quassel@unaffiliated/hyiltiz)
2020-10-26 13:12:51 +0100jedws(~jedws@101.184.148.229) (Client Quit)
2020-10-26 13:13:35 +0100chaosmasttter(~chaosmast@p200300c4a73c460118080c3b2ced1444.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2020-10-26 13:14:44 +0100andi-(~andi-@NixOS/user/andi-)
2020-10-26 13:14:51 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-26 13:15:14 +0100vacm(~vacwm@70.23.92.191)
2020-10-26 13:15:23 +0100geekosaur(82659a09@host154-009.vpn.uakron.edu)
2020-10-26 13:16:57 +0100mimi_vx(~mimi@2a01:490:16:1026:f9ef:15f1:410b:ee8a) (Ping timeout: 260 seconds)
2020-10-26 13:17:03 +0100bahamas(~lucian@unaffiliated/bahamas)
2020-10-26 13:18:27 +0100hackagetree-monad 0.3.1 - Non-Determinism Monad for Tree Search https://hackage.haskell.org/package/tree-monad-0.3.1 (nbu)
2020-10-26 13:18:48 +0100 <Uniaika> ah, finally!
2020-10-26 13:18:58 +0100 <Uniaika> poor thing was left unmaintained :(
2020-10-26 13:19:22 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-10-26 13:19:24 +0100hyiltiz(~quassel@unaffiliated/hyiltiz) (Ping timeout: 272 seconds)
2020-10-26 13:19:27 +0100hackageparallel-tree-search 0.4.2 - Parallel Tree Search https://hackage.haskell.org/package/parallel-tree-search-0.4.2 (nbu)
2020-10-26 13:21:57 +0100knupfer(~Thunderbi@200116b82c2f8c00adf6cf92f38ce662.dip.versatel-1u1.de) (Remote host closed the connection)
2020-10-26 13:22:05 +0100knupfer(~Thunderbi@200116b82c2f8c00b8aa36f230102aa4.dip.versatel-1u1.de)
2020-10-26 13:22:05 +0100Eramdam1(~Eramdam@195.140.213.38)
2020-10-26 13:22:11 +0100cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Quit: cosimone)
2020-10-26 13:22:23 +0100solonarv(~solonarv@astrasbourg-552-1-23-6.w90-13.abo.wanadoo.fr)
2020-10-26 13:23:25 +0100renzhi(~renzhi@modemcable070.17-177-173.mc.videotron.ca) (Ping timeout: 240 seconds)
2020-10-26 13:25:55 +0100cfricke(~cfricke@unaffiliated/cfricke) (Ping timeout: 240 seconds)
2020-10-26 13:26:42 +0100chaosmasttter(~chaosmast@p200300c4a73c460118080c3b2ced1444.dip0.t-ipconnect.de)
2020-10-26 13:27:02 +0100Stanley00(~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
2020-10-26 13:27:52 +0100acidjnk_new(~acidjnk@p200300d0c7237822f9c109cfb48a3b3a.dip0.t-ipconnect.de)
2020-10-26 13:30:21 +0100polyrain(~polyrain@2001:8003:e501:6901:15fa:5e4:342f:f38b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-26 13:31:19 +0100pjb(~t@2a01cb04063ec50021ccf25e922e3d24.ipv6.abo.wanadoo.fr) (Ping timeout: 272 seconds)
2020-10-26 13:33:07 +0100fendor(~fendor@078132040188.public.t-mobile.at) (Ping timeout: 246 seconds)
2020-10-26 13:34:27 +0100brisbin(~patrick@pool-173-49-158-4.phlapa.fios.verizon.net)
2020-10-26 13:34:56 +0100danza(~francesco@151.53.69.61) (Quit: Leaving)
2020-10-26 13:36:54 +0100djellemah(~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54)
2020-10-26 13:39:00 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:11fa:8a2c:98fd:107)
2020-10-26 13:39:10 +0100unlink2(~unlink2@p5b088fe0.dip0.t-ipconnect.de)
2020-10-26 13:40:02 +0100GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-26 13:40:20 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-26 13:40:21 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-26 13:40:21 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-26 13:42:42 +0100idhugo_(~idhugo@users-1190.st.net.au.dk) (Ping timeout: 265 seconds)
2020-10-26 13:43:13 +0100thblt(~thblt@unaffiliated/thblt)
2020-10-26 13:43:31 +0100mimi1vx(~mimi@tulipan.habr.nat.praha12.net)
2020-10-26 13:44:21 +0100 <thblt> Stupid obvious question: in a monad transformer stack, an action running in the transformer have access, through lifting, to all the monads in the stack, right?
2020-10-26 13:44:58 +0100hackageukrainian-phonetics-basic 0.1.4.0 - A library to work with the basic Ukrainian phonetics and syllable segmentation. https://hackage.haskell.org/package/ukrainian-phonetics-basic-0.1.4.0 (OleksandrZhabenko)
2020-10-26 13:45:27 +0100 <dminuoso> thblt: Right
2020-10-26 13:45:33 +0100 <thblt> For context, I'm trying to implement a simple guessing game as a ReaderT GameConf (StateT GameState IO)
2020-10-26 13:45:37 +0100 <thblt> dminuoso: thanks!
2020-10-26 13:45:38 +0100 <dminuoso> Assuming all transformers have an instance MonadTrans of course.
2020-10-26 13:46:24 +0100p8m(p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 256 seconds)
2020-10-26 13:47:16 +0100p8m(p8m@gateway/vpn/protonvpn/p8m)
2020-10-26 13:49:25 +0100carlomagno(~cararell@148.87.23.7)
2020-10-26 13:49:25 +0100carlomagno1(~cararell@148.87.23.8) (Remote host closed the connection)
2020-10-26 13:49:47 +0100unlink2(~unlink2@p5b088fe0.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-26 13:53:04 +0100unlink2(~unlink2@p5b088fe0.dip0.t-ipconnect.de)
2020-10-26 13:53:16 +0100texasmynsted(~texasmyns@99.96.221.112)
2020-10-26 13:54:05 +0100fendor(~fendor@078132040188.public.t-mobile.at)
2020-10-26 13:54:21 +0100polyrain(~polyrain@2001:8003:e501:6901:15fa:5e4:342f:f38b)
2020-10-26 13:54:32 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
2020-10-26 13:56:46 +0100firstlove(~firstlove@58.246.122.242)
2020-10-26 13:57:03 +0100hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net)
2020-10-26 13:57:15 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2020-10-26 14:01:28 +0100hackageCabal 3.2.1.0 - A framework for packaging Haskell software https://hackage.haskell.org/package/Cabal-3.2.1.0 (phadej)
2020-10-26 14:02:46 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-10-26 14:04:02 +0100damianfral3(~damianfra@25.red-176-87-152.dynamicip.rima-tde.net) (Ping timeout: 256 seconds)
2020-10-26 14:05:09 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:11fa:8a2c:98fd:107) (Quit: Textual IRC Client: www.textualapp.com)
2020-10-26 14:06:21 +0100texasmynsted(~texasmyns@99.96.221.112) (Remote host closed the connection)
2020-10-26 14:08:16 +0100texasmynsted(~texasmyns@99.96.221.112)
2020-10-26 14:08:26 +0100kish`(~oracle@unaffiliated/oracle) (Remote host closed the connection)
2020-10-26 14:09:00 +0100kish(~oracle@unaffiliated/oracle)
2020-10-26 14:09:15 +0100idhugo_(~idhugo@users-1190.st.net.au.dk)
2020-10-26 14:09:49 +0100Rudd0(~Rudd0@185.189.115.98) (Ping timeout: 264 seconds)
2020-10-26 14:11:37 +0100jespada(~jespada@90.254.243.98) (Ping timeout: 264 seconds)
2020-10-26 14:14:24 +0100jespada(~jespada@90.254.243.98)
2020-10-26 14:17:23 +0100alp(~alp@2a01:e0a:58b:4920:f086:ff9a:6c6d:3208) (Remote host closed the connection)
2020-10-26 14:17:44 +0100alp(~alp@2a01:e0a:58b:4920:d8fc:ce2e:32c7:335a)
2020-10-26 14:18:01 +0100plutoniix(~q@ppp-27-55-83-145.revip3.asianet.co.th)
2020-10-26 14:22:14 +0100texasmynsted(~texasmyns@99.96.221.112) (Remote host closed the connection)
2020-10-26 14:23:48 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de)
2020-10-26 14:24:57 +0100hackagegithash 0.1.5.0 - Compile git revision info into Haskell projects https://hackage.haskell.org/package/githash-0.1.5.0 (MichaelSnoyman)
2020-10-26 14:25:39 +0100hyiltiz(~quassel@82.118.227.47)
2020-10-26 14:25:39 +0100hyiltiz(~quassel@82.118.227.47) (Changing host)
2020-10-26 14:25:39 +0100hyiltiz(~quassel@unaffiliated/hyiltiz)
2020-10-26 14:27:55 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-26 14:30:10 +0100GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-26 14:30:20 +0100GyroW(~GyroW@d54C03E98.access.telenet.be)
2020-10-26 14:30:20 +0100GyroW(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-26 14:30:20 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-26 14:32:05 +0100texasmynsted(~texasmyns@99.96.221.112)
2020-10-26 14:32:25 +0100hyiltiz(~quassel@unaffiliated/hyiltiz) (Ping timeout: 240 seconds)
2020-10-26 14:32:33 +0100akad(~akad@109107030050.radomsko.vectranet.pl)
2020-10-26 14:33:38 +0100kish(~oracle@unaffiliated/oracle) (Remote host closed the connection)
2020-10-26 14:33:45 +0100bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 240 seconds)
2020-10-26 14:34:02 +0100akad(~akad@109107030050.radomsko.vectranet.pl) (Client Quit)
2020-10-26 14:34:14 +0100geekosaur(82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection)
2020-10-26 14:34:18 +0100akad(~akad@109107030050.radomsko.vectranet.pl)
2020-10-26 14:34:36 +0100knupfer(~Thunderbi@200116b82c2f8c00b8aa36f230102aa4.dip.versatel-1u1.de) (Ping timeout: 244 seconds)
2020-10-26 14:36:51 +0100kish(~oracle@unaffiliated/oracle)
2020-10-26 14:37:49 +0100alp(~alp@2a01:e0a:58b:4920:d8fc:ce2e:32c7:335a) (Ping timeout: 272 seconds)
2020-10-26 14:37:49 +0100texasmynsted(~texasmyns@99.96.221.112) (Remote host closed the connection)
2020-10-26 14:40:05 +0100is_null(~jpic@pdpc/supporter/professional/is-null) (Remote host closed the connection)
2020-10-26 14:43:17 +0100drbean(~drbean@TC210-63-209-141.static.apol.com.tw) (Ping timeout: 260 seconds)
2020-10-26 14:44:11 +0100knupfer(~Thunderbi@i59F7FFDF.versanet.de)
2020-10-26 14:44:52 +0100tito_04(~taurux@net-93-146-109-245.cust.vodafonedsl.it)
2020-10-26 14:45:02 +0100Sgeo(~Sgeo@ool-18b982ad.dyn.optonline.net)
2020-10-26 14:45:14 +0100taurux(~taurux@net-188-152-69-27.cust.dsl.teletu.it) (Ping timeout: 260 seconds)
2020-10-26 14:53:06 +0100Amras(~Amras@unaffiliated/amras0000)
2020-10-26 14:54:03 +0100texasmynsted(~texasmyns@99.96.221.112)
2020-10-26 14:54:12 +0100DavidEichmann(~david@43.240.198.146.dyn.plus.net) (Remote host closed the connection)
2020-10-26 14:54:46 +0100Neo--(~neo@188-230-154-134.dynamic.t-2.net)
2020-10-26 14:54:47 +0100DavidEichmann(~david@43.240.198.146.dyn.plus.net)
2020-10-26 14:54:58 +0100texasmynsted(~texasmyns@99.96.221.112) (Remote host closed the connection)
2020-10-26 14:55:29 +0100GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-26 14:55:29 +0100GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-26 14:55:29 +0100GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-26 14:56:42 +0100GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 260 seconds)
2020-10-26 14:57:05 +0100lucasb(uid333435@gateway/web/irccloud.com/x-uadkacgdennrevsw)
2020-10-26 14:58:17 +0100hyiltiz(~quassel@unaffiliated/hyiltiz)
2020-10-26 14:58:32 +0100 <thblt> (I just read on some blog post that monad transformers are like onions. If monads are still burritos, the weird consequence is that transformers are both part of the monad as an ingredient, but the monad is part of its own ingredient as one level in a stack.)
2020-10-26 14:58:44 +0100 <thblt> (tl;dr metaphors are bad)
2020-10-26 15:02:09 +0100 <[exa]> in metaphor language, leaky onions that grow from inside are apparently perfectly okay!
2020-10-26 15:03:02 +0100 <thblt> Ho good point.
2020-10-26 15:03:05 +0100hyiltiz(~quassel@unaffiliated/hyiltiz) (Ping timeout: 240 seconds)
2020-10-26 15:03:56 +0100cfricke(~cfricke@unaffiliated/cfricke)
2020-10-26 15:05:18 +0100 <tomsmeding> nah, you just get recursive burritos
2020-10-26 15:05:24 +0100bitmagie(~Thunderbi@200116b8061e1300eda32c0368104b2f.dip.versatel-1u1.de)
2020-10-26 15:05:34 +0100 <tomsmeding> I mean, more burritos, right?
2020-10-26 15:05:35 +0100 <dminuoso> A recursive burrito is one with one side plugged into the other right?
2020-10-26 15:05:38 +0100 <dminuoso> A circular burrito
2020-10-26 15:05:53 +0100 <Uniaika> a mexican doughtnut
2020-10-26 15:05:57 +0100cfricke(~cfricke@unaffiliated/cfricke) (Client Quit)
2020-10-26 15:06:08 +0100cfricke(~cfricke@unaffiliated/cfricke)
2020-10-26 15:06:14 +0100 <dminuoso> 14:58:43 thblt | (tl;dr metaphors are bad)
2020-10-26 15:06:26 +0100 <thblt> Isn't it more of a non-euclidian burrito?
2020-10-26 15:06:26 +0100komasa(~komasa@2a03:b0c0:3:d0::2097:6001) (Remote host closed the connection)
2020-10-26 15:06:40 +0100 <[exa]> just a klein burrito
2020-10-26 15:06:48 +0100 <thblt> When you near the center of the burrito where the onions live you're at the same time outside in the presentation plate.
2020-10-26 15:06:55 +0100polyrain(~polyrain@2001:8003:e501:6901:15fa:5e4:342f:f38b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-26 15:07:15 +0100komasa(~komasa@2a03:b0c0:3:d0::2097:6001)
2020-10-26 15:07:19 +0100 <Uniaika> I have already eaten but I'm hungry again now
2020-10-26 15:07:27 +0100 <dminuoso> thblt: https://byorgey.wordpress.com/2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/
2020-10-26 15:07:52 +0100 <dminuoso> These metaphors and mindmodels are not bad, they're usually just bad for *explaining*
2020-10-26 15:08:06 +0100 <dminuoso> The above blog article goes into why
2020-10-26 15:08:24 +0100 <dminuoso> If "burrito" makes perfect sense to you, then it's an adequate metaphor.
2020-10-26 15:09:14 +0100damianfral3(~damianfra@25.red-176-87-152.dynamicip.rima-tde.net)
2020-10-26 15:09:38 +0100 <[exa]> thblt: anyway the most practical "metaphor" I saw is that you just run a program in a DSL 1 that borrows some actions from another DSL 2, and the transformer is a magic burrito-bending function that converts such program to the language of DSL 2
2020-10-26 15:10:31 +0100 <[exa]> which kinda describes lift/run*T without much unnecessary cutlery
2020-10-26 15:10:34 +0100 <thblt> dminuoso: as a teacher, in a classroom context, metaphors aren't bad. What's bad (and this article rightfully criticizes) is the confusion between my intuitive understanding of x and the best explanatory analogy for x.
2020-10-26 15:10:51 +0100 <dminuoso> Even in a classroom context metaphors can be bad.
2020-10-26 15:11:05 +0100 <thblt> Because the latter doesn't exist. Teaching is often trying different explanations until one works.
2020-10-26 15:11:06 +0100 <[exa]> metaphors != illustrative examples
2020-10-26 15:12:12 +0100 <thblt> Yeah, wrote too fast. What I meant is that you can use metaphors, but not believe there's one definitive metaphor. Some people will grab $complex-topic through abstraction, some through examples, some through metaphors.
2020-10-26 15:12:13 +0100 <Ferdirand> i thought monads were just type-safe continuations
2020-10-26 15:13:01 +0100polyrain(~polyrain@2001:8003:e501:6901:15fa:5e4:342f:f38b)
2020-10-26 15:13:32 +0100dexterlb(~dexterlb@2a01:9e40:2:2::2) (Quit: Boing)
2020-10-26 15:13:43 +0100 <dminuoso> The easiest way to think of a monad on K, is as a lax 2-functor from the terminal bicategory 1 to K.
2020-10-26 15:14:02 +0100dexterlb(~dexterlb@2a01:9e40:2:2::2)
2020-10-26 15:14:13 +0100 <[exa]> I sometimes wonder that we shall once explain the imperative programming as a metaphor, originating from IO monad
2020-10-26 15:14:53 +0100 <[exa]> "You know guys, now just imagine that IO is everywhere."
2020-10-26 15:15:27 +0100 <thblt> That's actually a nice idea.
2020-10-26 15:15:55 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-26 15:17:25 +0100 <[exa]> "But how can everything change the world?" -> "OK look, the programs are like spaghetti"
2020-10-26 15:17:37 +0100 <[exa]> well now I'm hungry
2020-10-26 15:18:08 +0100 <dminuoso> [exa]: Maybe a burrito would help?
2020-10-26 15:18:13 +0100 <dminuoso> with onions.
2020-10-26 15:19:14 +0100 <[exa]> well tbh I have a Maybe Burrito in FridgeT now
2020-10-26 15:19:22 +0100 <thblt> Seriously you should eat something then write this because now I want to read it.
2020-10-26 15:19:23 +0100 <[exa]> (this needs to stop)
2020-10-26 15:19:39 +0100hyiltiz(~quassel@82.118.227.47)
2020-10-26 15:19:39 +0100hyiltiz(~quassel@82.118.227.47) (Changing host)
2020-10-26 15:19:39 +0100hyiltiz(~quassel@unaffiliated/hyiltiz)
2020-10-26 15:20:03 +0100 <thblt> And in all seriousness it can *also* be a powerful method of explanation.
2020-10-26 15:20:31 +0100DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Quit: Leaving...)
2020-10-26 15:21:00 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
2020-10-26 15:21:10 +0100 <[exa]> the greater point is that the students at c++ course sometimes already lack this "basic computers" understanding of instructions that just get executed and everything is a side effect
2020-10-26 15:22:09 +0100 <[exa]> ("uninitialized memory? that's not like null?!")
2020-10-26 15:22:29 +0100 <[exa]> so we might even get to the spaghetti analogy sooner than I hope
2020-10-26 15:23:25 +0100raichoo(~raichoo@213.240.178.58) (Quit: Lost terminal)
2020-10-26 15:26:18 +0100knupfer(~Thunderbi@i59F7FFDF.versanet.de) (Ping timeout: 260 seconds)
2020-10-26 15:26:41 +0100 <Franciman> hi, Standard ML has an easier syntax than Haskell, why don't we change to SML syntax?
2020-10-26 15:27:06 +0100 <merijn> Define "easier:
2020-10-26 15:27:54 +0100 <Franciman> it's easier to parse
2020-10-26 15:27:56 +0100 <merijn> Also, Python syntax is easier than C, so why don't all C compilers just use Python syntax?
2020-10-26 15:28:07 +0100 <Franciman> because C people aren't open minded
2020-10-26 15:28:13 +0100 <Franciman> so we could have better tools
2020-10-26 15:28:21 +0100 <Franciman> for example a good tool to automatically indent haskell code
2020-10-26 15:28:25 +0100 <merijn> Franciman: And you expect Haskell programmers will throw away 3 decades of work to start over?
2020-10-26 15:28:35 +0100alp(~alp@2a01:e0a:58b:4920:f036:1a06:bf83:85b)
2020-10-26 15:28:35 +0100 <merijn> It will never happen
2020-10-26 15:28:36 +0100 <Franciman> :<
2020-10-26 15:28:42 +0100 <Franciman> time to fork!
2020-10-26 15:28:42 +0100 <Franciman> lol
2020-10-26 15:28:49 +0100 <merijn> Also, I fundamentally disagree with the notion of autoformatting code
2020-10-26 15:29:02 +0100 <Franciman> how so?
2020-10-26 15:29:39 +0100ryjm_matrix(~matrixirc@pool-74-105-197-68.nwrknj.fios.verizon.net)
2020-10-26 15:30:33 +0100 <merijn> https://twitter.com/comerijn/status/1257804634833420292
2020-10-26 15:30:50 +0100 <merijn> (specifically the replies)
2020-10-26 15:31:03 +0100 <Franciman> thranx
2020-10-26 15:31:33 +0100 <Franciman> oh I see
2020-10-26 15:31:39 +0100 <Franciman> well my problem is of pragmatic form
2020-10-26 15:31:42 +0100 <Franciman> I have tendonitis
2020-10-26 15:31:48 +0100 <Franciman> the less I have to type the better I feel
2020-10-26 15:32:02 +0100 <Franciman> having my computer automatically position the cursor is RAD
2020-10-26 15:32:33 +0100 <merijn> Franciman: Did you see the talk on coding by voice?
2020-10-26 15:32:51 +0100 <Franciman> no
2020-10-26 15:33:09 +0100bitmagie(~Thunderbi@200116b8061e1300eda32c0368104b2f.dip.versatel-1u1.de) (Quit: bitmagie)
2020-10-26 15:33:14 +0100 <Franciman> worth a check, thanks
2020-10-26 15:33:16 +0100 <merijn> https://www.youtube.com/watch?v=8SkdfdXWYaI
2020-10-26 15:34:19 +0100 <ixlun> How would I generate a random number for every elm in a list to convert to a tuple?
2020-10-26 15:34:51 +0100 <ixlun> (,) <$> [0,1,2,3] <*> genWord64 would just give me the same val every time
2020-10-26 15:34:51 +0100 <merijn> :t randoms
2020-10-26 15:34:53 +0100 <lambdabot> (Random a, RandomGen g) => g -> [a]
2020-10-26 15:34:57 +0100hackageliboath-hs 0.0.1.2 - Bindings to liboath https://hackage.haskell.org/package/liboath-hs-0.0.1.2 (parsonsmatt)
2020-10-26 15:35:25 +0100 <merijn> ixlun: You generate a lazy infinite list of random values :)
2020-10-26 15:35:30 +0100 <merijn> > randoms (mkStdGen 5)
2020-10-26 15:35:32 +0100 <lambdabot> [2287595555194033867,-7444196218550052205,7729549144295431816,-8651862829265...
2020-10-26 15:35:44 +0100 <merijn> > randoms (mkStdGen 5) :: [Bool]
2020-10-26 15:35:45 +0100 <ixlun> Ahhh I see
2020-10-26 15:35:45 +0100 <lambdabot> [True,True,False,True,False,True,True,True,False,False,True,False,False,True...
2020-10-26 15:36:55 +0100ryjm_matrix(~matrixirc@pool-74-105-197-68.nwrknj.fios.verizon.net) (Quit: killed)
2020-10-26 15:36:56 +0100 <ixlun> Then I can just use zip to get the tuple array
2020-10-26 15:37:13 +0100 <ixlun> (I need to learn to think lazily!)
2020-10-26 15:37:41 +0100unlink_(~unlink2@p57b8559c.dip0.t-ipconnect.de)
2020-10-26 15:37:58 +0100unlink2(~unlink2@p5b088fe0.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-10-26 15:39:05 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2020-10-26 15:40:25 +0100idhugo_(~idhugo@users-1190.st.net.au.dk) (Ping timeout: 240 seconds)
2020-10-26 15:40:31 +0100 <thblt> Re monad transformers, does lift . lift already have a name?
2020-10-26 15:41:56 +0100 <[exa]> thblt: I guess 'doubleLift' would be longer than 'lift.lift'
2020-10-26 15:42:25 +0100 <thblt> I thought lift2, but undefined
2020-10-26 15:42:41 +0100 <[exa]> thblt: anyway people often use typeclasses like MonadReader and MonadState that auto-lift the action to appropriate context
2020-10-26 15:44:40 +0100 <thblt> Maybe I'm doing something stupid actually! I have `type Game = ReaderT GConf (StateT GState IO)`, so in `somefunc :: Game ()` I *think* I can only do IO by `lift . lift $ someIoFunction`. Am I wrong?
2020-10-26 15:45:51 +0100unlink_(~unlink2@p57b8559c.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-26 15:45:57 +0100 <thblt> Er, liftIO
2020-10-26 15:47:12 +0100 <thblt> Who could have guessed this would be the name of the function to lift into IO? /s
2020-10-26 15:47:23 +0100unlink2(~unlink2@p200300ebcf180b00a39cfda93b79d512.dip0.t-ipconnect.de)
2020-10-26 15:47:58 +0100Guest18(567e8866@gateway/web/cgi-irc/kiwiirc.com/ip.86.126.136.102)
2020-10-26 15:48:04 +0100sakirious(~sakirious@c-71-197-191-137.hsd1.wa.comcast.net)
2020-10-26 15:48:18 +0100 <[exa]> :t liftIO
2020-10-26 15:48:19 +0100 <lambdabot> MonadIO m => IO a -> m a
2020-10-26 15:48:25 +0100 <[exa]> there it is, MonadIO
2020-10-26 15:48:45 +0100 <thblt> [exa]: ]thanks
2020-10-26 15:50:14 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-26 15:50:22 +0100 <ixlun> If I want to index by a data type into an array, do people prefer using Enum and a Vector, or derving Ix and an Array?
2020-10-26 15:50:44 +0100nados(~dan@69-165-210-185.cable.teksavvy.com)
2020-10-26 15:50:51 +0100 <opqdonut> I think nobody uses the Array types any more...
2020-10-26 15:51:01 +0100 <dminuoso> ixlun: or a map?
2020-10-26 15:51:03 +0100 <opqdonut> at least for serious software
2020-10-26 15:51:15 +0100 <ixlun> Why has Array died?
2020-10-26 15:51:25 +0100esp32_prog(yoann@gateway/vpn/protonvpn/esp32prog/x-46565127) (Remote host closed the connection)
2020-10-26 15:51:28 +0100 <dminuoso> Enum feels like a horrible kludge for most cases
2020-10-26 15:51:32 +0100ericsagnes(~ericsagne@2405:6580:0:5100:5005:892f:e188:1072) (Ping timeout: 260 seconds)
2020-10-26 15:51:39 +0100 <dminuoso> It's used incorrectly mostly
2020-10-26 15:51:39 +0100 <opqdonut> I guess it didn't offer unboxed variants? that's at least one reason to prefer Vector
2020-10-26 15:52:00 +0100 <opqdonut> also the Vector API is just a bit cleaner maybe? I don't know really
2020-10-26 15:52:33 +0100 <ixlun> dminuoso: I hadn't thought about using a Map
2020-10-26 15:52:45 +0100damianfral3(~damianfra@25.red-176-87-152.dynamicip.rima-tde.net) (Ping timeout: 240 seconds)
2020-10-26 15:52:46 +0100 <opqdonut> Maps tend to be nicer for updates
2020-10-26 15:53:15 +0100 <ixlun> It's just static data, that I know is going to have a fixed size
2020-10-26 15:53:33 +0100 <ixlun> seems a shame to incur the performace penalty for lookups when I could index straight to it
2020-10-26 15:53:44 +0100 <[exa]> ixlun: if you can convert your data to 0..n, just go for the vector :]
2020-10-26 15:53:52 +0100 <dminuoso> ixlun: Is that code region in a hotspot?
2020-10-26 15:53:58 +0100 <dminuoso> or do you have your premature optimization hat on?
2020-10-26 15:54:16 +0100bitmapper(uid464869@gateway/web/irccloud.com/x-nwqswzdnuoofdofv)
2020-10-26 15:54:16 +0100 <dminuoso> If it's the latter, I'd just go for map..
2020-10-26 15:54:21 +0100 <ixlun> dminuoso: quite possi
2020-10-26 15:54:22 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-slcbmpdbycbqjlou)
2020-10-26 15:54:30 +0100 <ixlun> possibly!*
2020-10-26 15:55:01 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
2020-10-26 15:55:43 +0100plutoniix(~q@ppp-27-55-83-145.revip3.asianet.co.th) (Quit: Leaving)
2020-10-26 15:55:57 +0100 <ixlun> [exa]: I have managed to implement Enum for the data type, it's a union of two other types that also dervie Enums so I just shiftR one of the values
2020-10-26 15:56:00 +0100kish(~oracle@unaffiliated/oracle) (Ping timeout: 258 seconds)
2020-10-26 15:56:38 +0100 <ixlun> Err, `shiftL` sorry
2020-10-26 15:58:28 +0100 <dminuoso> Is there a cute little high performance prettyprinter with low dependency footprint?
2020-10-26 15:59:28 +0100 <dminuoso> prettyprinter sadly drags semigroups along with it :(
2020-10-26 15:59:53 +0100damianfral3(~damianfra@25.red-176-87-152.dynamicip.rima-tde.net)
2020-10-26 16:00:01 +0100Eramdam1(~Eramdam@195.140.213.38) ()
2020-10-26 16:02:59 +0100ericsagnes(~ericsagne@2405:6580:0:5100:29f6:82d:9503:e1)
2020-10-26 16:03:08 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2020-10-26 16:03:14 +0100ddellacosta(~dd@86.106.121.168)
2020-10-26 16:03:45 +0100 <[exa]> ixlun: so just wrap the (!) from Vector with your new fromEnum and there you have it :]
2020-10-26 16:06:55 +0100 <int-e> dminuoso: is that really so bad?
2020-10-26 16:08:42 +0100 <tomsmeding> opqdonut: https://hackage.haskell.org/package/array-0.5.4.0/docs/Data-Array-Unboxed.html ?
2020-10-26 16:11:03 +0100 <tomsmeding> I like the fact that 'array' has 0 dependencies
2020-10-26 16:12:56 +0100 <[exa]> dminuoso: I don't see any other reason for the semigroup dependency other than that they have NonEmpty list instance there... you might just kill it in a local repo copy, if the dependency is the only problem
2020-10-26 16:14:11 +0100seanvert`(~user@177.84.244.242) (Remote host closed the connection)
2020-10-26 16:14:31 +0100 <tomsmeding> that's an annoying situation in general, I think I've seen stuff pull in aeson just to provide a FromJSON instance or something
2020-10-26 16:14:38 +0100seanvert`(~user@177.84.244.242)
2020-10-26 16:15:14 +0100 <dminuoso> [exa], int-e: semigroups pulls in quite a bunch of libraries
2020-10-26 16:17:05 +0100 <dminuoso> At any rate
2020-10-26 16:17:07 +0100 <dminuoso> https://hackage.haskell.org/package/pretty
2020-10-26 16:17:10 +0100 <dminuoso> This looks about right
2020-10-26 16:17:34 +0100 <dminuoso> deepseq is already in my dependency footprint, so this is very very light :)
2020-10-26 16:19:11 +0100 <[exa]> I'm using this one on tutorials, it's been around forever. It's pretty simple so I didn't expect it would be very fast
2020-10-26 16:20:54 +0100TooDifficult(~TooDiffic@139.59.59.230)
2020-10-26 16:21:18 +0100toorevitimirp(~tooreviti@117.182.180.36) (Remote host closed the connection)
2020-10-26 16:22:32 +0100 <tomsmeding> it seems 'pretty' doesn't have an equivalent of https://hackage.haskell.org/package/prettyprinter-1.7.0/docs/Prettyprinter.html#v:flatAlt , does it?
2020-10-26 16:23:14 +0100 <tomsmeding> if that's true, that alone should make it O(input + output), which is already pretty fast
2020-10-26 16:24:48 +0100DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net)
2020-10-26 16:25:15 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de)
2020-10-26 16:26:15 +0100 <int-e> dminuoso: you could play with the flags...
2020-10-26 16:26:41 +0100 <tomsmeding> oh right it does have 'sep' and friends, which do alternatives, so it'll be slow too
2020-10-26 16:28:47 +0100 <thblt> For the lazy, is there an automated way to reduce imports to what's strictly required by the module? Ie to turn `import Module` into `import Module (used, or, reexported, names)`?
2020-10-26 16:29:42 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-10-26 16:29:44 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-26 16:31:36 +0100 <tomsmeding> thblt: I don't think there's a tool to do that, but there is also no unique answer
2020-10-26 16:31:59 +0100 <tomsmeding> what if A and B both export 'foo', and you use 'foo' in a module that has 'import A' 'import B'
2020-10-26 16:32:07 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2020-10-26 16:32:10 +0100 <tomsmeding> should the tool add (foo) to A or to B?
2020-10-26 16:32:14 +0100 <thblt> tomsmeding: isn't this a compile error?
2020-10-26 16:32:34 +0100 <tomsmeding> not if they were actually the same symbol in the beginning
2020-10-26 16:32:44 +0100 <thblt> Ha, haven't thought of that.
2020-10-26 16:32:52 +0100 <tomsmeding> e.g. Foo exports foo, A and B re-export foo from Foo, and Main imports A and B and uses foo
2020-10-26 16:33:14 +0100tomsmedingnow wonderse what ghc does if you make both the A and the B import of foo explicit
2020-10-26 16:33:22 +0100 <thblt> And ghc is happy with that? As long as the symbol's definition isn't ambiguous?
2020-10-26 16:33:27 +0100 <tomsmeding> yup
2020-10-26 16:33:37 +0100texasmynsted(~texasmyns@99.96.221.112)
2020-10-26 16:33:39 +0100 <thblt> Makes sense.
2020-10-26 16:34:44 +0100 <tomsmeding> if Main has 'import A (foo)' 'import B (foo)', ghc is completely fine
2020-10-26 16:34:57 +0100 <tomsmeding> I guess that's one way to make the output of our imaginary tool unambiguous?
2020-10-26 16:35:41 +0100 <thblt> This tool pretends to do that https://github.com/serokell/importify
2020-10-26 16:35:44 +0100 <tomsmeding> there is already a tool to prune unused imports (https://hackage.haskell.org/package/fix-imports), but it doesn't convert implicit imports (import A) to explicit ones (import A (foo))
2020-10-26 16:35:57 +0100 <thblt> but archived
2020-10-26 16:36:13 +0100Ivan__1(~yudin@193.137.102.254) (Ping timeout: 265 seconds)
2020-10-26 16:36:49 +0100 <tomsmeding> > In the future, we plan for Importify to be able to: [...] Convert imports between implicit and explicit, [...]
2020-10-26 16:36:50 +0100 <lambdabot> <hint>:1:14: error: <hint>:1:14: error: parse error on input ‘,’
2020-10-26 16:36:51 +0100 <tomsmeding> it doesn't ;)
2020-10-26 16:36:57 +0100 <thblt> Ha yes, read too fast.
2020-10-26 16:37:19 +0100__monty__(~toonn@unaffiliated/toonn)
2020-10-26 16:37:33 +0100fendor_(~fendor@91.141.2.240.wireless.dyn.drei.com)
2020-10-26 16:38:23 +0100 <thblt> OK, I have another stupid question. I wrote a simple number guessing game using monad transformers, and it should work I think, but… I have no idea how to *start* the game. Here's the code https://paste.thb.lt/1603726423.lhs.html
2020-10-26 16:38:26 +0100bartemius(~bartemius@109-252-20-20.nat.spd-mgts.ru) (Remote host closed the connection)
2020-10-26 16:38:34 +0100 <thblt> The question is: what's the type of the thing that takes a GConf, inits a GState and actually instantiates a Game?
2020-10-26 16:39:19 +0100fendor(~fendor@078132040188.public.t-mobile.at) (Ping timeout: 246 seconds)
2020-10-26 16:39:53 +0100 <thblt> Game is type Game = ReaderT GConf (StateT GState IO)
2020-10-26 16:40:05 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2020-10-26 16:40:52 +0100 <tomsmeding> what about https://hackage.haskell.org/package/mtl-2.2.2/docs/Control-Monad-Reader.html#v:runReader and https://hackage.haskell.org/package/mtl-2.2.2/docs/Control-Monad-State-Lazy.html#v:runState ?
2020-10-26 16:41:04 +0100 <thblt> tomsmeding: reading this!
2020-10-26 16:41:13 +0100 <tomsmeding> oh runReaderT and runStateT of course, because transformers
2020-10-26 16:41:14 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2020-10-26 16:42:08 +0100firstlove(~firstlove@58.246.122.242) (Ping timeout: 256 seconds)
2020-10-26 16:43:16 +0100Ivan__1(~yudin@gw.mat.uc.pt)
2020-10-26 16:46:16 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
2020-10-26 16:46:23 +0100alp(~alp@2a01:e0a:58b:4920:f036:1a06:bf83:85b) (Ping timeout: 272 seconds)
2020-10-26 16:47:06 +0100Deide(~Deide@217.155.19.23)
2020-10-26 16:48:47 +0100 <thblt> I feel stupid, but in ghci, `runReaderT play def` just prints `runReaderT play def :: StateT GState IO ()`
2020-10-26 16:49:40 +0100 <monsterchrom> add runStateT on top of that
2020-10-26 16:49:40 +0100 <__monty__> You'll probably want to runStateT on that?
2020-10-26 16:50:04 +0100alp(~alp@2a01:e0a:58b:4920:c83a:4ff:4d6e:6312)
2020-10-26 16:50:07 +0100 <monsterchrom> Yes this is what happens when you go crazy with monad transformers.
2020-10-26 16:50:24 +0100 <monsterchrom> piled higher and deeper
2020-10-26 16:50:25 +0100 <[exa]> thblt: runReaderT translates ReaderT r x a to `x a`, in your case this continues because x=StateT...
2020-10-26 16:50:54 +0100 <thblt> monsterchrom: is that so crazy? a config ReaderT, a runtime state and IO?
2020-10-26 16:51:10 +0100 <thblt> (Thanks all)
2020-10-26 16:51:21 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 256 seconds)
2020-10-26 16:51:35 +0100 <monsterchrom> You look at "runStateT (runReaderT play def) initial", you tell me.
2020-10-26 16:51:43 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-26 16:51:54 +0100 <thblt> monsterchrom: i honestly don't know.
2020-10-26 16:51:59 +0100 <monsterchrom> for starters, the sheer obligation to say that in the correct order
2020-10-26 16:52:34 +0100idhugo_(~idhugo@563472ae.rev.stofanet.dk)
2020-10-26 16:52:37 +0100 <T0pH4t> is there a way to put a type constraint on a type family decl eg "class Foo a where type Bar a" where i limit the type set for "Bar a" to be an instance of some class Baz
2020-10-26 16:52:44 +0100elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 258 seconds)
2020-10-26 16:53:30 +0100unihernandez22(~Unai@168.197.200.20)
2020-10-26 16:54:20 +0100unihernandez22(~Unai@168.197.200.20) (Client Quit)
2020-10-26 16:55:10 +0100Guest23433(~Waithamai@185.244.214.217)
2020-10-26 16:55:48 +0100 <thblt> monsterchrom: I think I see what you mean. I thought it was a common pattern.
2020-10-26 16:55:50 +0100 <__monty__> monsterchrom: Would you recommend MTL instead (or another effect system)? Or rather just define a monad per-project?
2020-10-26 16:56:01 +0100 <tomsmeding> T0pH4t: I don't think so, but maybe you can make this work: "class Baz a => Foo a where type Bar a"
2020-10-26 16:56:28 +0100 <dolio> thblt: I don't see a problem.
2020-10-26 16:56:41 +0100 <monsterchrom> Define a monad per project. And, ironically, its definition is a newtype wrapper around using MTL stuff.
2020-10-26 16:56:50 +0100alx741(~alx741@186.178.110.169) (Ping timeout: 260 seconds)
2020-10-26 16:57:00 +0100 <monsterchrom> err I guess transformers stuff.
2020-10-26 16:57:09 +0100 <T0pH4t> ]tomsmeding: that woudl only constrain 'a' and not the type of "Bar a"
2020-10-26 16:57:26 +0100 <T0pH4t> tomsmeding: ^
2020-10-26 16:57:26 +0100 <tomsmeding> monsterchrom: wanting the newtype does not mean that you can't have more than 1 monad stack per project
2020-10-26 16:58:03 +0100 <tomsmeding> and you just move the problem: you still have to say runStateT (runReaderT blabla), but now just in runMyMonad instead of in main
2020-10-26 16:58:09 +0100 <monsterchrom> So define two newtype wrappers of two stacks?
2020-10-26 16:58:13 +0100 <tomsmeding> yes!
2020-10-26 16:58:27 +0100 <thblt> GHC has been screaming at me a few times talking about "functional dependencies". What can I read to understand what it's screaming about?
2020-10-26 16:58:35 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-26 16:58:40 +0100 <tomsmeding> T0pH4t: ah that's true; then I don't think that's possible
2020-10-26 16:58:44 +0100fendor__(~fendor@078132040188.public.t-mobile.at)
2020-10-26 16:58:45 +0100fendor_(~fendor@91.141.2.240.wireless.dyn.drei.com) (Ping timeout: 240 seconds)
2020-10-26 16:58:54 +0100 <monsterchrom> OK, inside the newtype wrapper it doesn't have to be transformers stuff. You can handcode it yourself. That's a choice.
2020-10-26 16:59:38 +0100 <texasmynsted> The ~/.cabal/config has only seven options listed in the init section. How do people normally make a template for cabal init? I have done this with "template" programs, but it seems like there must be a better way.
2020-10-26 16:59:43 +0100 <[exa]> thblt: functional dependencies arise to disambiguate various stuff with multiparameter type classes, I guess you just hit some minor problematic spot
2020-10-26 16:59:56 +0100 <monsterchrom> I have done "newtype X a = MkX (String -> Maybe (String, a))" by hand.
2020-10-26 17:00:24 +0100GyroW_(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-26 17:00:34 +0100GyroW(~GyroW@d54C03E98.access.telenet.be)
2020-10-26 17:00:34 +0100GyroW(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-26 17:00:34 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-26 17:00:34 +0100Rudd0(~Rudd0@185.189.115.103)
2020-10-26 17:01:05 +0100 <monsterchrom> If you're too lazy to write its >>=, you could choose "newtype X a = MkX (StateT String Maybe a)" and write a few "deriving" clauses.
2020-10-26 17:01:36 +0100 <tomsmeding> I'm not sure whether coding something like that by hand would be easier than saying runStateT . runMaybeT for some definition of (.)
2020-10-26 17:02:05 +0100 <tomsmeding> not saying it's particularly difficult, but I guess I don't really see your argument against transformer stacks anymore then :p
2020-10-26 17:02:06 +0100 <dolio> Yeah, I don't get what's being optimized here.
2020-10-26 17:03:12 +0100 <monsterchrom> Bah, that was a tangent.
2020-10-26 17:03:13 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-10-26 17:03:31 +0100 <monsterchrom> For this particular game, one doesn't need the StateT GState stage.
2020-10-26 17:03:55 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-10-26 17:04:02 +0100 <tomsmeding> ... or, apparently, I misunderstood you. Sorry for the confusion :p
2020-10-26 17:04:04 +0100 <thblt> monsterchrom: of course! I wanted to learn about transformers, which was easier with a simple problem.
2020-10-26 17:04:12 +0100 <T0pH4t> so this doesn't seem to work either :/ "class Baz a => Foo a where type Bar a, toBaz :: Baz (Bar a) => a -> Bar a"
2020-10-26 17:04:31 +0100 <monsterchrom> And the ReaderT stage could be replaced by the equivalent but lighter (GConf ->)
2020-10-26 17:04:58 +0100 <tomsmeding> T0pH4t: remove the 'Baz a =>' constraint on Foo?
2020-10-26 17:05:11 +0100johnw(~johnw@haskell/developer/johnw)
2020-10-26 17:05:15 +0100 <tomsmeding> oh oh oh maaaybe you can "class Baz (Bar a) => Foo a where type Bar a"
2020-10-26 17:05:16 +0100 <thblt> monsterchrom: thanks for the tip!
2020-10-26 17:05:16 +0100 <T0pH4t> woops, thats not there, wrong copy
2020-10-26 17:05:23 +0100polyrain(~polyrain@2001:8003:e501:6901:15fa:5e4:342f:f38b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-26 17:05:37 +0100 <tomsmeding> need some FlexibleContexts or similar, but I recall that may work
2020-10-26 17:05:40 +0100 <T0pH4t> This compiles: class Foo a where type Bar a, toBaz :: Baz (Bar a) => a -> Bar
2020-10-26 17:07:04 +0100 <T0pH4t> but if you try to use it, like "doStuff :: Baz a => a -> Int" , "doStuff (toBaz x) " where x is an instance of F
2020-10-26 17:07:06 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-10-26 17:07:07 +0100 <T0pH4t> Foo*
2020-10-26 17:07:14 +0100texasmynsted(~texasmyns@99.96.221.112) (Remote host closed the connection)
2020-10-26 17:07:21 +0100 <T0pH4t> it will not infer the Baz instance
2020-10-26 17:07:27 +0100 <T0pH4t> for doStuff invoke
2020-10-26 17:07:32 +0100 <T0pH4t> which in theory it should
2020-10-26 17:07:56 +0100 <T0pH4t> or at least in my mind it should But apparently it wants the concrete
2020-10-26 17:10:20 +0100 <tomsmeding> oh interesting, indeed it doesn't
2020-10-26 17:10:25 +0100damianfral3(~damianfra@25.red-176-87-152.dynamicip.rima-tde.net) (Ping timeout: 264 seconds)
2020-10-26 17:10:27 +0100xff0x(~fox@2001:1a81:53e0:c700:e7ad:c450:afad:c09f) (Ping timeout: 272 seconds)
2020-10-26 17:10:40 +0100 <tomsmeding> did you try the 'Baz (Bar a) =>' constraint on the class already?
2020-10-26 17:10:43 +0100 <tomsmeding> T0pH4t: ^
2020-10-26 17:11:03 +0100xff0x(~fox@2001:1a81:53e0:c700:61cc:9558:5574:c70a)
2020-10-26 17:11:34 +0100 <T0pH4t> oh that, no let me try
2020-10-26 17:12:46 +0100 <T0pH4t> tomsmeding: that seems to be legal, thx!
2020-10-26 17:13:26 +0100 <tomsmeding> the 'Baz (Bar a) =>' constraint on toBaz seems to go in the other direction: toBaz then _requires_ the caller to prove that Baz (Bar a), instead of _producing_ that information
2020-10-26 17:13:46 +0100 <tomsmeding> as background why that didn't work
2020-10-26 17:14:08 +0100 <T0pH4t> the toBaz was going to be a work around, the class constraint is better
2020-10-26 17:14:22 +0100 <T0pH4t> but i am curious, i would have thought toBaz would work
2020-10-26 17:14:25 +0100kuribas(~user@ptr-25vy0ialak9zgvszewg.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2020-10-26 17:14:38 +0100 <T0pH4t> assuming i only needed the Baz class contract
2020-10-26 17:15:35 +0100geekosaur(82659a09@host154-009.vpn.uakron.edu)
2020-10-26 17:15:44 +0100howdoi(uid224@gateway/web/irccloud.com/x-lyptkrhyywcfcsfh)
2020-10-26 17:16:27 +0100 <tomsmeding> yes the class constraint is certainly better, but the toBaz workaround didn't work because the constraint on toBaz goes in the other direction
2020-10-26 17:16:28 +0100chele(~chele@ip5b416ea2.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2020-10-26 17:16:39 +0100 <T0pH4t> i see, ok thx
2020-10-26 17:17:01 +0100 <T0pH4t> i will need to think about that a bit more "other direction"
2020-10-26 17:17:10 +0100cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9)
2020-10-26 17:17:14 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-26 17:18:35 +0100 <tomsmeding> T0pH4t: generally, when you have e.g. nub :: Eq a => [a] -> [a], the caller is supposed to prove that Eq a holds, right?
2020-10-26 17:18:50 +0100 <tomsmeding> it doesn't magically appear because of using nub
2020-10-26 17:18:57 +0100 <T0pH4t> right
2020-10-26 17:18:59 +0100 <tomsmeding> same here with toBaz ;)
2020-10-26 17:19:01 +0100 <T0pH4t> ah ok
2020-10-26 17:19:03 +0100 <T0pH4t> thx
2020-10-26 17:19:10 +0100 <tomsmeding> I was confused for a bit too
2020-10-26 17:19:29 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2020-10-26 17:19:42 +0100phaul(~phaul@ruby/staff/phaul) (Ping timeout: 260 seconds)
2020-10-26 17:19:54 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-10-26 17:20:18 +0100 <T0pH4t> yeah, but assuming you called nub with something else "foo :: Eq a => [a] -> [a]" foo = nub
2020-10-26 17:20:21 +0100 <T0pH4t> that should work
2020-10-26 17:20:28 +0100 <T0pH4t> which is what i kind of thought i was doing
2020-10-26 17:20:31 +0100 <T0pH4t> but maybe not
2020-10-26 17:20:47 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
2020-10-26 17:20:50 +0100 <tomsmeding> oh
2020-10-26 17:20:56 +0100 <T0pH4t> i gues that example isn't fully legit, more like "foo :: Eq a => [a]" then calling numb
2020-10-26 17:20:58 +0100 <T0pH4t> nub*
2020-10-26 17:21:01 +0100 <T0pH4t> which doesn't work :/
2020-10-26 17:21:05 +0100 <tomsmeding> indeed
2020-10-26 17:21:10 +0100 <tomsmeding> heh
2020-10-26 17:21:23 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-26 17:22:19 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-26 17:24:13 +0100 <tomsmeding> T0pH4t: but it does work: https://paste.tomsmeding.com/L29Apujl this compiles
2020-10-26 17:24:25 +0100Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4)
2020-10-26 17:25:09 +0100 <tomsmeding> (note the Baz (Bar a) constraint on 'kaas')
2020-10-26 17:25:46 +0100 <tomsmeding> (still the class constraint is better but we decided that already)
2020-10-26 17:30:24 +0100 <thblt> I got my stupid little game working and I think I got a better understanding of how I can write "real" programs in hs. Thanks all :)
2020-10-26 17:30:52 +0100 <tomsmeding> thblt: cheers! good luck :)
2020-10-26 17:31:36 +0100motherfsck(~motherfsc@unaffiliated/motherfsck) (Quit: quit)
2020-10-26 17:32:56 +0100 <thblt> Now to make acrobatic stack of monads. "If if doesn't work, just add one stacking level".
2020-10-26 17:34:36 +0100 <tomsmeding> maybe you can conjure up an AbstractFactoryT
2020-10-26 17:34:41 +0100 <tomsmeding> and a beanT
2020-10-26 17:34:49 +0100 <tomsmeding> corr. BeanT
2020-10-26 17:35:27 +0100 <thblt> HaskellEE
2020-10-26 17:36:32 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:146b:c489:8b41:e2cb)
2020-10-26 17:36:43 +0100 <tomsmeding> I suddenly see an alternative reverse-acronym for IEEE
2020-10-26 17:37:08 +0100 <ixlun> ugh.. just killed GHC
2020-10-26 17:37:24 +0100 <ixlun> it used up 30Gigs of RAM compiling :-(
2020-10-26 17:38:18 +0100 <thblt> That's not polite. But I think GHC tends to overallocate?
2020-10-26 17:38:28 +0100kish(~oracle@unaffiliated/oracle)
2020-10-26 17:38:42 +0100 <ixlun> I think it's because I'm doing some TH
2020-10-26 17:39:01 +0100 <ixlun> and I must have generated a monster data structure
2020-10-26 17:39:10 +0100 <monsterchrom> :)
2020-10-26 17:39:17 +0100 <geekosaur> generics?
2020-10-26 17:39:34 +0100kish`(~oracle@unaffiliated/oracle)
2020-10-26 17:40:18 +0100 <ixlun> geekosaur: Nah, static data generation
2020-10-26 17:40:30 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2020-10-26 17:40:53 +0100jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection)
2020-10-26 17:40:59 +0100 <ixlun> I'm writing a chess engine and I get TH to generate all possible moves for every piece kind at every position on the board
2020-10-26 17:41:20 +0100alx741(~alx741@186.178.110.169)
2020-10-26 17:41:58 +0100 <ixlun> Can I get a vector that's indexed by Word8?
2020-10-26 17:42:07 +0100alp(~alp@2a01:e0a:58b:4920:c83a:4ff:4d6e:6312) (Ping timeout: 272 seconds)
2020-10-26 17:42:10 +0100 <ixlun> rahter than Int
2020-10-26 17:42:30 +0100 <monsterchrom> No. Use fromIntegral
2020-10-26 17:42:34 +0100Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection)
2020-10-26 17:42:45 +0100kish(~oracle@unaffiliated/oracle) (Ping timeout: 240 seconds)
2020-10-26 17:42:45 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-10-26 17:42:57 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-10-26 17:43:07 +0100 <tomsmeding> (or use Array)
2020-10-26 17:46:05 +0100 <ixlun> If I use fromIntegral would GHC manage to optimise that out?
2020-10-26 17:46:26 +0100brown121407(~brown1214@fsf/member/brown121407) (Quit: ZNC 1.8.2 - https://znc.in)
2020-10-26 17:47:37 +0100 <tomsmeding> I think at the assembly level, assuming you're running on x86_64, it's going to be a 64-bit int anyway
2020-10-26 17:47:54 +0100 <tomsmeding> or I guess 32, that will work too
2020-10-26 17:48:21 +0100acidjnk_new(~acidjnk@p200300d0c7237822f9c109cfb48a3b3a.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2020-10-26 17:49:35 +0100 <monsterchrom> Optimizations depends on detailed actual code. Including your specific question.
2020-10-26 17:51:54 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-10-26 17:52:14 +0100 <dolio> Optimize what out?
2020-10-26 17:52:25 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-26 17:52:30 +0100 <monsterchrom> fromIntegral :: Word8 -> Int
2020-10-26 17:52:55 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-26 17:52:59 +0100 <geekosaur> iirc there's a bunch of RULEs for simple cases?
2020-10-26 17:53:04 +0100 <dolio> Yeah, but GHC doesn't have inherently Word8-based arrays, so what would it be optimizing out?
2020-10-26 17:53:08 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-10-26 17:53:37 +0100 <monsterchrom> Oh, ha, point.
2020-10-26 17:53:40 +0100 <geekosaur> because so many Integral types have the same internal representations
2020-10-26 17:55:29 +0100 <tomsmeding> geekosaur: I'd reckon Word8 and Int don't have the same internal representation ;)
2020-10-26 17:55:42 +0100 <dolio> They basically do, I think.
2020-10-26 17:55:45 +0100texasmynsted(~texasmyns@99.96.221.112)
2020-10-26 17:56:08 +0100 <monsterchrom> They do. Word8 uses a whole machine word. Recall "alignment".
2020-10-26 17:56:12 +0100 <geekosaur> yeh. there are differences in how they're treated, but more or less the same thing underneath
2020-10-26 17:57:05 +0100 <geekosaur> constructor tag == 0, then a machine word for the value
2020-10-26 17:57:13 +0100 <tomsmeding> monsterchrom: what exactly does alignment have to do with this? If you place an Int after a Word8, then there's 7 bytes of padding in between, but I'd think that two Word8's can still occupy two bytes, can't they?
2020-10-26 17:57:16 +0100 <tomsmeding> or is that C thinking :p
2020-10-26 17:57:21 +0100 <dolio> At some point there were plans to add smaller-width unboxed types, but I don't think that's happened yet.
2020-10-26 17:57:27 +0100 <tomsmeding> okay Word8# then sure
2020-10-26 17:57:32 +0100 <tomsmeding> oh
2020-10-26 17:57:34 +0100Franciman(~francesco@host-82-54-10-114.retail.telecomitalia.it) (Quit: Leaving)
2020-10-26 17:57:35 +0100 <tomsmeding> lol
2020-10-26 17:57:47 +0100 <geekosaur> they're still thinking about it last I heard
2020-10-26 17:57:53 +0100 <tomsmeding> okay then llvm will do the job handwave
2020-10-26 17:58:42 +0100texasmynsted(~texasmyns@99.96.221.112) (Remote host closed the connection)
2020-10-26 17:59:00 +0100texasmynsted(~texasmyns@99.96.221.112)
2020-10-26 18:00:36 +0100GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-26 18:00:36 +0100GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-26 18:00:36 +0100GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-26 18:01:52 +0100GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 272 seconds)
2020-10-26 18:02:00 +0100 <monsterchrom> But there is no Word8#. data Word8 = W8# Word#
2020-10-26 18:02:23 +0100Amras(~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds)
2020-10-26 18:02:41 +0100texasmynsted(~texasmyns@99.96.221.112) (Remote host closed the connection)
2020-10-26 18:03:02 +0100 <monsterchrom> To a large extent it's simply low priority.
2020-10-26 18:03:38 +0100texasmynsted(~texasmyns@99.96.221.112)
2020-10-26 18:04:14 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch)
2020-10-26 18:04:57 +0100 <tomsmeding> ixlun: that means that using Word8 with ghc for space saving is a useless endeavour at the moment, I think
2020-10-26 18:06:02 +0100texasmynsted(~texasmyns@99.96.221.112) (Remote host closed the connection)
2020-10-26 18:06:18 +0100 <geekosaur> vector *of* Word8 will compact them together, but *indexed by* won't
2020-10-26 18:06:23 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-10-26 18:06:24 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2020-10-26 18:06:25 +0100 <geekosaur> iirc
2020-10-26 18:06:32 +0100 <tomsmeding> because it's special-cased? ah
2020-10-26 18:06:56 +0100 <geekosaur> yeh, there's a lot of magic going in in the background to pack various common vector use cases
2020-10-26 18:07:18 +0100 <geekosaur> it may have to be an unboxed vector to get the packing
2020-10-26 18:07:37 +0100 <tomsmeding> yes, because otherwise the vector just contains pointers :p
2020-10-26 18:09:58 +0100knupfer(~Thunderbi@200116b82c2f8c009d903265f0d5a7b5.dip.versatel-1u1.de)
2020-10-26 18:10:04 +0100 <tomjaguarpaw> My code compiled and worked. This is highly suspicious.
2020-10-26 18:10:25 +0100p8m_(p8m@gateway/vpn/protonvpn/p8m)
2020-10-26 18:10:42 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-26 18:11:30 +0100p8m(p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 260 seconds)
2020-10-26 18:11:48 +0100wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-10-26 18:12:38 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2020-10-26 18:13:41 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-26 18:14:02 +0100 <tomsmeding> it's haskell, that's expected behaviour
2020-10-26 18:15:02 +0100 <tomjaguarpaw> There are lots of permutations of this code that typecheck but are invalide..
2020-10-26 18:17:32 +0100 <tomjaguarpaw> I actually got everything right in my head on the first try \o/
2020-10-26 18:18:31 +0100 <tomsmeding> 🎉
2020-10-26 18:19:14 +0100 <geekosaur> xmonad does that a lot. although mostly because everything's in IO when it comes down to it
2020-10-26 18:19:43 +0100shatriff(~vitaliish@176.52.219.10) (Remote host closed the connection)
2020-10-26 18:19:59 +0100shatriff(~vitaliish@176.52.219.10)
2020-10-26 18:20:54 +0100shatriff(~vitaliish@176.52.219.10) (Remote host closed the connection)
2020-10-26 18:21:14 +0100 <tomjaguarpaw> I can't believe I got everything right. That almost never happens. It's like a Python program working on first try.
2020-10-26 18:22:15 +0100jlamothe(~jlamothe@198.251.55.207)
2020-10-26 18:24:38 +0100crestfallen(~John@135-180-15-188.fiber.dynamic.sonic.net)
2020-10-26 18:24:41 +0100kritzefitz(~kritzefit@fw-front.credativ.com) (Remote host closed the connection)
2020-10-26 18:25:09 +0100roconnor(~roconnor@host-23-91-186-59.dyn.295.ca)
2020-10-26 18:25:47 +0100brown121407(~brown1214@mail.121407.xyz)
2020-10-26 18:25:47 +0100brown121407(~brown1214@mail.121407.xyz) (Changing host)
2020-10-26 18:25:47 +0100brown121407(~brown1214@fsf/member/brown121407)
2020-10-26 18:26:20 +0100 <thblt> tomjaguarpaw: maybe you ran it through clang by error? Most sequences of bytes are legal C++ programs that immediately segfault, after all :)
2020-10-26 18:26:40 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-26 18:27:10 +0100alp(~alp@2a01:e0a:58b:4920:fda3:96de:97b6:c040)
2020-10-26 18:27:13 +0100Rudd0(~Rudd0@185.189.115.103) (Ping timeout: 264 seconds)
2020-10-26 18:27:14 +0100 <tomjaguarpaw> It is most definitely a Haskell program tested by our very own Hedgehog.
2020-10-26 18:27:27 +0100knupfer(~Thunderbi@200116b82c2f8c009d903265f0d5a7b5.dip.versatel-1u1.de) (Quit: knupfer)
2020-10-26 18:27:40 +0100knupfer(~Thunderbi@200116b82c2f8c008ca36b557e5dd149.dip.versatel-1u1.de)
2020-10-26 18:30:56 +0100 <ixlun> Could somene explain how to write `peek' or `poke' for a 'data Foo = A | B | C' which dervies enum?
2020-10-26 18:31:14 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2020-10-26 18:31:19 +0100 <ixlun> I don't understand as I have a `Ptr Foo', I just want to write the enum value for that type
2020-10-26 18:31:45 +0100 <ixlun> but I can't as I need to write an Int32
2020-10-26 18:33:15 +0100 <dsal> :t fromEnum True
2020-10-26 18:33:16 +0100 <lambdabot> Int
2020-10-26 18:33:21 +0100kritzefitz(~kritzefit@212.86.56.80)
2020-10-26 18:36:00 +0100 <maerwald> is there a way to generate a json schema via aeson?
2020-10-26 18:36:13 +0100 <monsterchrom> I think no.
2020-10-26 18:36:53 +0100 <hyperisco> I'd really like a Map String A from Dhall… can I read a record as such a map perhaps?
2020-10-26 18:39:02 +0100bartemius(~bartemius@109-252-20-20.nat.spd-mgts.ru)
2020-10-26 18:40:58 +0100firstlove(~firstlove@58.246.122.242)
2020-10-26 18:41:18 +0100 <hyperisco> still seems to stand that I think auto codecs are stupid :P
2020-10-26 18:41:37 +0100idhugo_(~idhugo@563472ae.rev.stofanet.dk) (Ping timeout: 264 seconds)
2020-10-26 18:43:05 +0100bartemius(~bartemius@109-252-20-20.nat.spd-mgts.ru) (Ping timeout: 240 seconds)
2020-10-26 18:43:39 +0100 <hyperisco> hm there is a special toMap thing, alright
2020-10-26 18:44:35 +0100bahamas(~lucian@unaffiliated/bahamas)
2020-10-26 18:44:35 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-10-26 18:44:58 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-10-26 18:45:11 +0100chaosmasttter(~chaosmast@p200300c4a73c460118080c3b2ced1444.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2020-10-26 18:45:40 +0100kritzefitz(~kritzefit@212.86.56.80) (Remote host closed the connection)
2020-10-26 18:47:31 +0100kritzefitz(~kritzefit@212.86.56.80)
2020-10-26 18:48:29 +0100Guest_34(b2a4dcc6@178-164-220-198.pool.digikabel.hu)
2020-10-26 18:48:44 +0100Guest_34(b2a4dcc6@178-164-220-198.pool.digikabel.hu) (Remote host closed the connection)
2020-10-26 18:49:46 +0100bahamas(~lucian@unaffiliated/bahamas) (Quit: leaving)
2020-10-26 18:52:15 +0100kish`(~oracle@unaffiliated/oracle) (Remote host closed the connection)
2020-10-26 18:54:29 +0100shatriff(~vitaliish@176.52.219.10)
2020-10-26 18:55:01 +0100 <hyperisco> so I am in IO, and I just want to throw an exception with a string message… how can I construct such an exception? do I have to define my own data type? is there a predefined one in base?
2020-10-26 18:55:43 +0100kish(~oracle@unaffiliated/oracle)
2020-10-26 18:56:01 +0100 <geekosaur> throwIO (ErrorCall "waaah") -- ?
2020-10-26 18:56:27 +0100amiri(~amiri@cpe-76-91-154-9.socal.res.rr.com) (Remote host closed the connection)
2020-10-26 18:57:17 +0100 <hyperisco> okay thanks
2020-10-26 18:57:55 +0100POGtastic(~POGtastic@2601:1c0:6000:fe1:b424:b773:d69:762d)
2020-10-26 18:58:29 +0100 <geekosaur> (this is more or less `error` but with `throwIO` instead of `throw`, that may not be what you want)
2020-10-26 18:58:41 +0100 <POGtastic> hi all, what is it called when you constrain a generic data type to instances of another typeclass? For example, `data (Ord a) => Tree a`
2020-10-26 18:58:56 +0100 <hyperisco> if it can be caught in IO then that is fine
2020-10-26 18:58:58 +0100 <monsterchrom> alternatively, userError :: String -> IOException
2020-10-26 18:59:32 +0100 <monsterchrom> in fact, IO's fail s = ioError (userError s)
2020-10-26 18:59:43 +0100amiri(~amiri@cpe-76-91-154-9.socal.res.rr.com)
2020-10-26 19:00:01 +0100 <hyperisco> oh can I jsut call fail then? seems so
2020-10-26 19:00:02 +0100Guest23433(~Waithamai@185.244.214.217) ()
2020-10-26 19:00:42 +0100 <monsterchrom> Yeah, and the catcher catches IOException and check isUserError
2020-10-26 19:01:01 +0100 <hyperisco> > catchException (fail "my error") \_ -> putStrLn "caught!"
2020-10-26 19:01:03 +0100 <lambdabot> error:
2020-10-26 19:01:03 +0100 <lambdabot> Unexpected lambda expression in function application:
2020-10-26 19:01:03 +0100 <lambdabot> \ _ -> putStrLn "caught!"
2020-10-26 19:01:11 +0100thunderrd(~thunderrd@183.182.115.160) (Ping timeout: 272 seconds)
2020-10-26 19:01:14 +0100 <hyperisco> the spoils of BlockArguments
2020-10-26 19:01:20 +0100 <monsterchrom> heh
2020-10-26 19:01:45 +0100 <monsterchrom> also, yahb is better for IO
2020-10-26 19:03:31 +0100 <POGtastic> nm, i figured it out - haskell needs the DatatypeContexts extension for this
2020-10-26 19:03:49 +0100 <geekosaur> yes. because it's fairly useless
2020-10-26 19:03:50 +0100 <srid> It would be really nice to make the Haskell Wiki https://wiki.haskell.org/ look a bit modern. Has anyone thought about it?
2020-10-26 19:03:52 +0100 <srid> (.. also update its content)
2020-10-26 19:04:16 +0100 <monsterchrom> It already looks postmodern to me.
2020-10-26 19:04:28 +0100hackageffmpeg-light 0.13.0 - Minimal bindings to the FFmpeg library. https://hackage.haskell.org/package/ffmpeg-light-0.13.0 (AnthonyCowley)
2020-10-26 19:04:36 +0100 <hyperisco> % catch (fail "my error") \e -> const (putStrLn "caught!") (e :: IOException)
2020-10-26 19:04:36 +0100 <yahb> hyperisco: caught!
2020-10-26 19:04:45 +0100 <monsterchrom> But content update would be good, I haven't checked.
2020-10-26 19:04:52 +0100mananamenos__(~mananamen@vpn236-203.vpns.upv.es)
2020-10-26 19:05:12 +0100Zetagon(~leo@c151-177-52-233.bredband.comhem.se) (Ping timeout: 272 seconds)
2020-10-26 19:05:21 +0100 <monsterchrom> Generally, any presence of round-corner graphical buttons is postmodern to me.
2020-10-26 19:05:39 +0100 <geekosaur> heh
2020-10-26 19:05:41 +0100 <monsterchrom> Any use of custom downloadable fonts is postmodern to me.
2020-10-26 19:05:55 +0100 <monsterchrom> Any contentless aesthetics is postmodern to me.
2020-10-26 19:06:08 +0100 <hyperisco> the wiki looks old?
2020-10-26 19:06:08 +0100 <dminuoso> monsterchrom: What's that *graphical* button you mentioned?
2020-10-26 19:06:23 +0100 <monsterchrom> haha
2020-10-26 19:06:39 +0100shafox(~shafox@106.51.234.111) (Quit: Leaving)
2020-10-26 19:07:18 +0100 <monsterchrom> Contentful, informative aesthetics exist. But "buttons should have round corners" is not one of them.
2020-10-26 19:07:25 +0100 <hyperisco> srid, can you point out to someone stuck in the 00's what is dated about the wiki design?
2020-10-26 19:08:22 +0100mananamenos_(~mananamen@84.122.202.215.dyn.user.ono.com) (Ping timeout: 272 seconds)
2020-10-26 19:08:49 +0100 <srid> hyperisco: for one, the header styling is terrible. eg: go to https://wiki.haskell.org/Books and look at level-2 headers ... I had trouble locating them (eg: look at the "Foundations" header which has a bad contrast compared to the surrounding text)
2020-10-26 19:09:24 +0100 <srid> And just as a nicety, it doesn't hurt to make the wiki style consistent with https://www.haskell.org/ - though that would require substantial work from someone proficient in CSS and mediawiki theming
2020-10-26 19:09:31 +0100alp(~alp@2a01:e0a:58b:4920:fda3:96de:97b6:c040) (Ping timeout: 272 seconds)
2020-10-26 19:10:05 +0100 <hyperisco> so a typography problem more specifically
2020-10-26 19:10:13 +0100 <dminuoso> "header", "styling", "contract", "CSS"
2020-10-26 19:10:17 +0100 <dminuoso> You sound more than qualified
2020-10-26 19:10:39 +0100 <dminuoso> srid: Why not get the work started?
2020-10-26 19:10:39 +0100 <srid> dminuoso: what's your point?
2020-10-26 19:10:44 +0100 <monsterchrom> the issue with level-2 headers is also a mediawiki theming issue.
2020-10-26 19:10:46 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
2020-10-26 19:10:47 +0100 <dminuoso> Im volunteering you.
2020-10-26 19:11:00 +0100 <Uniaika> :D
2020-10-26 19:11:12 +0100 <hyperisco> I have a feeling there is something amiss with the wiki markup, though I am no expert on it… headers are supposed to be indexed, suggesting to me it isn't the right kind of header
2020-10-26 19:11:17 +0100 <Uniaika> “Congratulations citizen for your volunteer drafting!”
2020-10-26 19:11:19 +0100 <monsterchrom> In addition, it also plays poorly with people's habit of using bloody unnecessary bolds for book/article titles there.
2020-10-26 19:11:49 +0100 <dminuoso> For what its worth, being dated is unlikely to be a deterrence. People *still* use LYAH.
2020-10-26 19:12:03 +0100ericsagnes(~ericsagne@2405:6580:0:5100:29f6:82d:9503:e1) (Ping timeout: 272 seconds)
2020-10-26 19:12:05 +0100 <monsterchrom> I.e., if you go unbold all book titles there, it's an instant 50% improvement.
2020-10-26 19:12:09 +0100geekosaur(82659a09@host154-009.vpn.uakron.edu) (Ping timeout: 245 seconds)
2020-10-26 19:12:10 +0100chaosmasttter(~chaosmast@p200300c4a73c460118080c3b2ced1444.dip0.t-ipconnect.de)
2020-10-26 19:12:15 +0100 <srid> dminuoso: I'm happy to volunteer with the content; I'd like to meet someone that is interesting in improving the design. Which is I came here to ask. Do I understand right that nobody cares about it in IRC?
2020-10-26 19:12:22 +0100dyeplexer(~lol@unaffiliated/terpin) (Remote host closed the connection)
2020-10-26 19:12:25 +0100 <srid> * dminuoso: I'm happy to volunteer with the content; I'd like to meet someone that is interested in improving the design. Which is I came here to ask. Do I understand right that nobody cares about it in IRC?
2020-10-26 19:12:30 +0100 <monsterchrom> the remaining 50% being making level-2 section headers just a tiny bit more visible
2020-10-26 19:12:32 +0100 <srid> * dminuoso: I'm happy to volunteer with the content; I'd like to meet someone that is interested in improving the design. Which is why I came here to ask. Do I understand right that nobody cares about it in IRC?
2020-10-26 19:12:59 +0100 <dminuoso> srid: Sorry, must have been written before I connected to the BNC then.
2020-10-26 19:13:21 +0100 <srid> I'm sure if we ask for feedback from people not stuck in 00's, they might have more to say.
2020-10-26 19:13:36 +0100 <dminuoso> srid: I think the topic of the wiki was raised on haskell-cafe recently
2020-10-26 19:13:46 +0100Aquazi(uid312403@gateway/web/irccloud.com/x-zhrhclsenottifhf) (Quit: Connection closed for inactivity)
2020-10-26 19:13:58 +0100bartemius(~bartemius@109.252.20.20)
2020-10-26 19:14:11 +0100 <hyperisco> I agree with the typography problem but personally I don't see any problem with the overall aesthetic
2020-10-26 19:14:21 +0100 <srid> dminuoso: link? I see one for wikibook: https://mail.haskell.org/pipermail/haskell-cafe/2020-September/132779.html
2020-10-26 19:14:37 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2020-10-26 19:14:38 +0100thunderrd(~thunderrd@183.182.115.32)
2020-10-26 19:14:54 +0100 <dminuoso> srid: Id have to dig, it was a few months ago.
2020-10-26 19:15:22 +0100 <dminuoso> IIRC it was said that folks stopped contributing after it was modernized.
2020-10-26 19:15:28 +0100 <dminuoso> The wiki is pretty dead now
2020-10-26 19:15:54 +0100 <monsterchrom> hrm, but wikibook/haskell is distinct from wiki.haskell.org. even in terms of contributors.
2020-10-26 19:16:07 +0100 <Uniaika> yes, it's an entirely different platform
2020-10-26 19:16:09 +0100 <Uniaika> for starters
2020-10-26 19:16:44 +0100 <monsterchrom> wikibook/haskell actually has better structure and content today than when I checked in the 00's.
2020-10-26 19:17:03 +0100 <Uniaika> monsterchrom: the 00's have ended 10 years ago, dear :)
2020-10-26 19:17:45 +0100 <monsterchrom> It's monad chapter in the 00's, oh God, such a longwinded fictional story that got nowhere at all.
2020-10-26 19:18:09 +0100 <hyperisco> I think lines and gradients are out of style now
2020-10-26 19:18:11 +0100 <monsterchrom> either that or the author really had a PhD in allegorical literature techniques.
2020-10-26 19:18:42 +0100Guest18(567e8866@gateway/web/cgi-irc/kiwiirc.com/ip.86.126.136.102) (Quit: Connection closed)
2020-10-26 19:18:47 +0100 <Uniaika> srid: btw, if you're interested in improving the docs at large, you can join #haskell-docs
2020-10-26 19:18:55 +0100 <hyperisco> I noticed a bit of dimensionality and colour came back after that weird bit around the Windows Metro era…
2020-10-26 19:19:27 +0100 <hyperisco> a rebound from extreme minimalism
2020-10-26 19:19:41 +0100idhugo(~idhugo@563472ae.rev.stofanet.dk)
2020-10-26 19:20:09 +0100 <monsterchrom> Uniaika: Still, there is one kind of improvement that doesn't happen often enough, not even over decades. Deletion. People are usually too polite to delete someone else's stuff.
2020-10-26 19:20:10 +0100 <hyperisco> maybe by 2030 we will make buttons look like buttons again, who knows
2020-10-26 19:20:44 +0100 <monsterchrom> And this rare improvement happened to the monad chapter. That useless story was totally deleted.
2020-10-26 19:21:20 +0100 <hyperisco> maybe you have to click a link every year that is emailed to you to keep your revision alive :P
2020-10-26 19:21:26 +0100 <monsterchrom> It was at least 100 lines.
2020-10-26 19:22:25 +0100knupfer(~Thunderbi@200116b82c2f8c008ca36b557e5dd149.dip.versatel-1u1.de) (Ping timeout: 240 seconds)
2020-10-26 19:22:44 +0100vicfred(~vicfred@unaffiliated/vicfred)
2020-10-26 19:24:08 +0100ericsagnes(~ericsagne@2405:6580:0:5100:114f:43d0:b789:ca68)
2020-10-26 19:27:02 +0100knupfer(~Thunderbi@i59F7FFDF.versanet.de)
2020-10-26 19:27:03 +0100ech(~user@gateway/tor-sasl/ech) (Ping timeout: 240 seconds)
2020-10-26 19:27:53 +0100asheshambasta(~user@ptr-e1lysawl9rr13i61o92.18120a2.ip6.access.telenet.be) (Ping timeout: 272 seconds)
2020-10-26 19:28:54 +0100 <motte> hi, is there a function for something like [(a, Either b c)] -> Either b [(a, c)]"
2020-10-26 19:29:18 +0100britva(~britva@2a02:aa13:7240:2980:b0bb:4de0:a28f:1dc2)
2020-10-26 19:29:49 +0100 <dminuoso> motte: traverse
2020-10-26 19:30:32 +0100 <dminuoso> Amusingly, since `(,) a` is a Traversable as well, you can just go `traverse . traverse`
2020-10-26 19:31:01 +0100britva(~britva@2a02:aa13:7240:2980:b0bb:4de0:a28f:1dc2) (Client Quit)
2020-10-26 19:31:01 +0100GyroW_(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-26 19:31:11 +0100 <motte> oh wow
2020-10-26 19:31:16 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-26 19:31:16 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-26 19:31:16 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-26 19:31:18 +0100 <Uniaika> monsterchrom: oh yeah I understand you
2020-10-26 19:31:25 +0100 <motte> dminuoso: thanks
2020-10-26 19:31:43 +0100 <Uniaika> motte: read this https://clementd-files.cellar-c2.services.clever-cloud.com/lambdalille-traverse.html#1
2020-10-26 19:32:01 +0100 <ghoulguy> :t traverse sequence :: [(a, Either b c)] -> Either b [(a,c)]
2020-10-26 19:32:02 +0100 <lambdabot> [(a, Either b c)] -> Either b [(a, c)]
2020-10-26 19:32:09 +0100 <dminuoso> motte: (Well or rather, for that *particular* type signature it'd be sequence rather, but it's probable that you're fmapping before, so look into using traverse instead.
2020-10-26 19:32:20 +0100 <dminuoso> (Every time you see sequence, there
2020-10-26 19:32:28 +0100 <dminuoso> (Every time you see sequence, there's a high probability a traverse is missing somewhere)
2020-10-26 19:34:06 +0100geekosaur(82659a09@host154-009.vpn.uakron.edu)
2020-10-26 19:34:25 +0100 <monsterchrom> Haha, one of the rare moments when "instance Traverable ((,) a)" makes sense, and by logical conclusion, "instance Foldable ((,) a)" makes sense. :)
2020-10-26 19:34:44 +0100 <dminuoso> The Foldable instance Im still not so sure about
2020-10-26 19:34:50 +0100POGtastic(~POGtastic@2601:1c0:6000:fe1:b424:b773:d69:762d) (Quit: WeeChat 2.9)
2020-10-26 19:35:43 +0100knupfer(~Thunderbi@i59F7FFDF.versanet.de) (Ping timeout: 246 seconds)
2020-10-26 19:36:57 +0100 <hyperisco> another victory for functional programming
2020-10-26 19:38:33 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-26 19:39:02 +0100p8m_(p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 260 seconds)
2020-10-26 19:39:57 +0100 <monsterchrom> Well, if you accept a Traversable instance, you're pretty much forced to accept unwillingly the Foldable instance too :)
2020-10-26 19:40:09 +0100 <monsterchrom> I mean >:)
2020-10-26 19:40:24 +0100 <dminuoso> heh true
2020-10-26 19:40:46 +0100p8m(p8m@gateway/vpn/protonvpn/p8m)
2020-10-26 19:40:58 +0100 <monsterchrom> a "small" price to pay for the greater good
2020-10-26 19:41:55 +0100irc_user(uid423822@gateway/web/irccloud.com/x-yxcjlirterftraqc)
2020-10-26 19:46:17 +0100nkly(~nkly@2a02:8109:9a80:a74:201:2eff:fe81:c6dd) (Ping timeout: 260 seconds)
2020-10-26 19:46:51 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
2020-10-26 19:48:29 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-10-26 19:51:02 +0100Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Quit: Leaving)
2020-10-26 19:52:54 +0100crestfallen(~John@135-180-15-188.fiber.dynamic.sonic.net) (Remote host closed the connection)
2020-10-26 19:53:56 +0100DrGuschtel(~DrGuschte@84.39.116.180)
2020-10-26 19:54:43 +0100wroathe_(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-26 19:55:22 +0100wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-10-26 19:55:25 +0100fendor__(~fendor@078132040188.public.t-mobile.at) (Remote host closed the connection)
2020-10-26 19:56:14 +0100jemurray(~jemurray@shell.jasonmurray.org)
2020-10-26 19:56:21 +0100GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-26 19:56:40 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-26 19:56:41 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-26 19:56:41 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-26 19:59:27 +0100wroathe_(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-10-26 20:00:21 +0100texasmynsted(~texasmyns@99.96.221.112)
2020-10-26 20:00:45 +0100 <tomsmeding> merijn: ALE+ghcide works so well I now write overly generic code, and it's your fault
2020-10-26 20:01:13 +0100mbomba(~mbomba@142.114.9.241)
2020-10-26 20:02:30 +0100Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net)
2020-10-26 20:03:28 +0100texasmynsted(~texasmyns@99.96.221.112) (Remote host closed the connection)
2020-10-26 20:03:28 +0100jle`(~mstksg@unaffiliated/mstksg) (Ping timeout: 272 seconds)
2020-10-26 20:03:28 +0100berberman_(~berberman@unaffiliated/berberman)
2020-10-26 20:04:25 +0100berberman(~berberman@unaffiliated/berberman) (Ping timeout: 240 seconds)
2020-10-26 20:04:42 +0100crestfallen(~jvw@135-180-15-188.fiber.dynamic.sonic.net)
2020-10-26 20:09:10 +0100ech(~user@gateway/tor-sasl/ech)
2020-10-26 20:09:32 +0100bliminse(~bliminse@host109-158-26-29.range109-158.btcentralplus.com) (Quit: leaving)
2020-10-26 20:10:59 +0100bliminse(~bliminse@host109-158-26-29.range109-158.btcentralplus.com)
2020-10-26 20:13:27 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-26 20:14:22 +0100cfricke(~cfricke@unaffiliated/cfricke)
2020-10-26 20:17:45 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2020-10-26 20:17:58 +0100bliminse(~bliminse@host109-158-26-29.range109-158.btcentralplus.com) (Ping timeout: 260 seconds)
2020-10-26 20:18:40 +0100crestfallen(~jvw@135-180-15-188.fiber.dynamic.sonic.net) (Quit: leaving)
2020-10-26 20:19:34 +0100p-core(~Thunderbi@2a0e:1c80:4:1021::1002)
2020-10-26 20:20:56 +0100alp(~alp@2a01:e0a:58b:4920:1c2f:db12:618d:602c)
2020-10-26 20:23:31 +0100p-core(~Thunderbi@2a0e:1c80:4:1021::1002) (Remote host closed the connection)
2020-10-26 20:23:47 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2020-10-26 20:24:26 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-26 20:26:10 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de)
2020-10-26 20:26:11 +0100dme2(uid339896@gateway/web/irccloud.com/x-vjhdofmrdwokotvk)
2020-10-26 20:28:33 +0100 <tomjaguarpaw> What's ALE?
2020-10-26 20:28:37 +0100ransom(~c4264035@2601:285:201:6720:29d7:b759:40a:f2c3)
2020-10-26 20:29:46 +0100 <maerwald> delicious
2020-10-26 20:30:04 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 272 seconds)
2020-10-26 20:30:09 +0100 <thblt> Linting for Neovim?
2020-10-26 20:30:57 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-10-26 20:31:58 +0100dansho(~dansho@ip68-108-167-185.lv.lv.cox.net)
2020-10-26 20:32:07 +0100 <tomsmeding> linting for neovim, but also includes a language client implementation that's significantly better than languageclient-neovim in my experience
2020-10-26 20:32:09 +0100 <tomsmeding> for some reason
2020-10-26 20:32:37 +0100 <tomjaguarpaw> How does that lead to writing overly generic code?
2020-10-26 20:32:46 +0100 <tomsmeding> better feedback about types
2020-10-26 20:32:54 +0100 <tomsmeding> makes me give up later
2020-10-26 20:32:56 +0100 <tomjaguarpaw> Ah, I see. That's cool.
2020-10-26 20:32:58 +0100justHaunted(~justache@unaffiliated/justache) (Ping timeout: 260 seconds)
2020-10-26 20:33:02 +0100 <maerwald> no, it's not for neovim, it's for any vim
2020-10-26 20:33:07 +0100ericsagnes(~ericsagne@2405:6580:0:5100:114f:43d0:b789:ca68) (Ping timeout: 272 seconds)
2020-10-26 20:33:24 +0100 <tomsmeding> very true
2020-10-26 20:34:43 +0100knupfer(~Thunderbi@i59F7FFDF.versanet.de)
2020-10-26 20:35:01 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds)
2020-10-26 20:35:38 +0100 <tomsmeding> it does more, for more targets, and of better quality, when compared to languageclient-neovim
2020-10-26 20:35:57 +0100 <tomsmeding> unless I'm missing something
2020-10-26 20:36:13 +0100dansho(~dansho@ip68-108-167-185.lv.lv.cox.net) (Quit: Leaving)
2020-10-26 20:36:16 +0100 <thblt> Ha yes I misread, it's for *Vim
2020-10-26 20:36:55 +0100nuncanada(~dude@179.235.160.168)
2020-10-26 20:37:13 +0100dansho(~dansho@ip68-108-167-185.lv.lv.cox.net)
2020-10-26 20:38:28 +0100dansho(~dansho@ip68-108-167-185.lv.lv.cox.net) (Remote host closed the connection)
2020-10-26 20:38:54 +0100dansho(~dansho@ip68-108-167-185.lv.lv.cox.net)
2020-10-26 20:39:04 +0100nkly(~nkly@ip5b405665.dynamic.kabel-deutschland.de)
2020-10-26 20:40:39 +0100acidjnk_new(~acidjnk@p200300d0c7237822f9c109cfb48a3b3a.dip0.t-ipconnect.de)
2020-10-26 20:42:44 +0100invaser(~Thunderbi@31.148.23.125) (Ping timeout: 258 seconds)
2020-10-26 20:43:29 +0100knupfer(~Thunderbi@i59F7FFDF.versanet.de) (Quit: knupfer)
2020-10-26 20:45:27 +0100ericsagnes(~ericsagne@2405:6580:0:5100:c9f4:39c8:ab29:a9e1)
2020-10-26 20:45:48 +0100dansho(~dansho@ip68-108-167-185.lv.lv.cox.net) (Quit: Leaving)
2020-10-26 20:47:57 +0100Amras(~Amras@unaffiliated/amras0000)
2020-10-26 20:48:14 +0100mmohammadi9812(~mmohammad@5.238.178.31) (Read error: Connection reset by peer)
2020-10-26 20:48:27 +0100Athas(athas@2a01:7c8:aaac:1cf:c447:4462:6f16:b387) (Quit: ZNC - http://znc.sourceforge.net)
2020-10-26 20:48:29 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-26 20:48:40 +0100Athas(athas@2a01:7c8:aaac:1cf:3df1:2652:30d1:76b7)
2020-10-26 20:48:50 +0100mmohammadi9812(~mmohammad@5.238.178.31)
2020-10-26 20:49:50 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2020-10-26 20:50:19 +0100Katarushisu9(~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net)
2020-10-26 20:50:41 +0100dansho(~dansho@ip68-108-167-185.lv.lv.cox.net)
2020-10-26 20:50:56 +0100Katarushisu(~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Ping timeout: 265 seconds)
2020-10-26 20:50:56 +0100Katarushisu9Katarushisu
2020-10-26 20:51:39 +0100justHaunted(~justache@unaffiliated/justache)
2020-10-26 20:52:32 +0100ransom(~c4264035@2601:285:201:6720:29d7:b759:40a:f2c3) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-26 20:53:02 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-26 20:53:03 +0100DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Quit: Leaving...)
2020-10-26 20:53:10 +0100 <dansho> anyone know why terminal transparency (xfce4-terminal) in xmonad stopped working when i did a system upgrade? "Opacity is not available since compositing is either disabled or not supported by your Window Manager"
2020-10-26 20:53:38 +0100cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9)
2020-10-26 20:54:01 +0100 <thblt> dansho: something broke your compositing manager? Maybe config becoming invalid?
2020-10-26 20:54:53 +0100 <dansho> i'm on nixos, just upgraded from 19.03 -> 20.03, but otherwise the system config is the same
2020-10-26 20:55:10 +0100 <thblt> dansho: well what's your compositing manager? compton?
2020-10-26 20:55:15 +0100 <geekosaur> xmonad doesn't do compositing, you'd have to run a separate compositor. (I use compton, there are others)
2020-10-26 20:55:25 +0100 <dmwitch> Perhaps your terminal changed from doing fake transparency (which does not need a compositor) to real transparency.
2020-10-26 20:55:49 +0100 <dansho> i assume its xfce: desktopManager.xfce.enable = true;
2020-10-26 20:56:03 +0100 <thblt> Also maybe we could move the discussion to #nixos?
2020-10-26 20:56:10 +0100 <thblt> could/should?
2020-10-26 20:56:23 +0100 <geekosaur> xfce isn't a compositor, it's a desktop environment
2020-10-26 20:56:23 +0100 <dansho> thanks =)
2020-10-26 20:56:49 +0100ggole(~ggole@2001:8003:8119:7200:b470:4a52:b5a6:e9d) (Quit: Leaving)
2020-10-26 20:57:02 +0100 <dmwitch> Desktop management is... not the same as compositing management.
2020-10-26 20:58:03 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-10-26 20:58:51 +0100 <thblt> Os you have services.picom.enable or services.compton.enable in your configuration.nix?
2020-10-26 20:58:54 +0100 <thblt> Do
2020-10-26 21:00:15 +0100 <dansho> neither
2020-10-26 21:00:37 +0100 <thblt> then maybe you should. picom --- it's the most recent name. rebuild --switch then restart X
2020-10-26 21:01:57 +0100 <maerwald> well, none of that is ontopic (xfce, xmonad, nix, picom) :p
2020-10-26 21:02:46 +0100ixlun(~matthew@213.205.241.94) (Read error: Connection reset by peer)
2020-10-26 21:02:56 +0100fendor(~fendor@078132040188.public.t-mobile.at)
2020-10-26 21:03:13 +0100 <dmwitch> I think it's fine to help with that stuff in here.3
2020-10-26 21:03:44 +0100 <dmwitch> (I think it's also fine to say "nobody seems like an expert right now and there are places more targeted to that expertise".)
2020-10-26 21:04:03 +0100britva(~britva@2a02:aa13:7240:2980:b0bb:4de0:a28f:1dc2)
2020-10-26 21:04:08 +0100inkbottle(~inkbottle@aaubervilliers-654-1-117-120.w86-198.abo.wanadoo.fr)
2020-10-26 21:04:10 +0100zebrag(~inkbottle@aaubervilliers-654-1-73-154.w86-212.abo.wanadoo.fr) (Ping timeout: 260 seconds)
2020-10-26 21:04:12 +0100britva(~britva@2a02:aa13:7240:2980:b0bb:4de0:a28f:1dc2) (Client Quit)
2020-10-26 21:04:41 +0100 <dansho> thanks i'll try
2020-10-26 21:04:43 +0100dansho(~dansho@ip68-108-167-185.lv.lv.cox.net) (Quit: Leaving)
2020-10-26 21:04:55 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2020-10-26 21:05:37 +0100bliminse(~bliminse@host109-158-26-29.range109-158.btcentralplus.com)
2020-10-26 21:06:24 +0100britva(~britva@2a02:aa13:7240:2980:b0bb:4de0:a28f:1dc2)
2020-10-26 21:07:30 +0100rprije(~rprije@194-193-168-77.tpgi.com.au)
2020-10-26 21:07:54 +0100idhugo(~idhugo@563472ae.rev.stofanet.dk) (Ping timeout: 256 seconds)
2020-10-26 21:08:05 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311) (Ping timeout: 240 seconds)
2020-10-26 21:09:40 +0100aarvar(~foewfoiew@50.35.43.33)
2020-10-26 21:09:52 +0100dansho(~dansho@ip68-108-167-185.lv.lv.cox.net)
2020-10-26 21:10:45 +0100mananamenos__(~mananamen@vpn236-203.vpns.upv.es) (Ping timeout: 240 seconds)
2020-10-26 21:10:55 +0100 <dansho> thanks it worked =)
2020-10-26 21:11:27 +0100GyroW(~GyroW@unaffiliated/gyrow) (Remote host closed the connection)
2020-10-26 21:11:43 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-26 21:11:43 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-26 21:11:43 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-26 21:11:58 +0100 <geekosaur> so they removed automatic compositing from the xfce configuration
2020-10-26 21:12:43 +0100damianfral3(~damianfra@174.red-37-13-187.dynamicip.rima-tde.net)
2020-10-26 21:13:49 +0100 <hyperisco> so I could traverse_ with StateT to keep a running state… is there a definition other than traverse_ to use?
2020-10-26 21:14:34 +0100bartemius(~bartemius@109.252.20.20) (Remote host closed the connection)
2020-10-26 21:17:00 +0100conal(~conal@2600:380:444d:d3f4:d82:fca6:5a7c:8afb)
2020-10-26 21:17:25 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
2020-10-26 21:17:25 +0100thc202(~thc202@unaffiliated/thc202) (Ping timeout: 240 seconds)
2020-10-26 21:17:37 +0100xff0x(~fox@2001:1a81:53e0:c700:61cc:9558:5574:c70a) (Ping timeout: 260 seconds)
2020-10-26 21:18:14 +0100xff0x(~fox@2001:1a81:53e0:c700:623b:a273:9fc7:c0b1)
2020-10-26 21:18:16 +0100 <edwardk> :t mapAccumL
2020-10-26 21:18:18 +0100 <lambdabot> Traversable t => (a -> b -> (a, c)) -> a -> t b -> (a, t c)
2020-10-26 21:18:56 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2020-10-26 21:19:00 +0100 <edwardk> sadly there is no mapAccumL_
2020-10-26 21:20:31 +0100lambda-11235(~lambda-11@2600:1700:7c70:4600:252e:56ab:ce70:1eed)
2020-10-26 21:21:32 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2020-10-26 21:21:55 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311) (Client Quit)
2020-10-26 21:22:18 +0100nyaomi(~naomi@cpe-74-75-6-125.maine.res.rr.com) (Quit: meow)
2020-10-26 21:22:31 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2020-10-26 21:23:23 +0100justHaunted(~justache@unaffiliated/justache) (Quit: The Lounge - https://thelounge.chat)
2020-10-26 21:24:32 +0100 <hyperisco> meh StateT it is then
2020-10-26 21:25:36 +0100lambda-11235(~lambda-11@2600:1700:7c70:4600:252e:56ab:ce70:1eed) (Max SendQ exceeded)
2020-10-26 21:26:16 +0100lambda-11235(~lambda-11@2600:1700:7c70:4600:252e:56ab:ce70:1eed)
2020-10-26 21:27:29 +0100britva(~britva@2a02:aa13:7240:2980:b0bb:4de0:a28f:1dc2) (Quit: This computer has gone to sleep)
2020-10-26 21:31:02 +0100Katarushisu(~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Ping timeout: 260 seconds)
2020-10-26 21:31:36 +0100Katarushisu(~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net)
2020-10-26 21:31:38 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch)
2020-10-26 21:32:15 +0100mbomba(~mbomba@142.114.9.241) (Quit: WeeChat 2.9)
2020-10-26 21:32:43 +0100caubertcaubert_afk
2020-10-26 21:36:32 +0100caubert_afkcaubert
2020-10-26 21:37:17 +0100noname234234(5e7be11d@94.123.225.29)
2020-10-26 21:37:33 +0100 <noname234234> can I ask beginner question here?
2020-10-26 21:37:39 +0100dansho(~dansho@ip68-108-167-185.lv.lv.cox.net) (Quit: Leaving)
2020-10-26 21:38:15 +0100 <dminuoso> noname234234: Yes.
2020-10-26 21:38:29 +0100 <noname234234> I don't know how to format code here, can you help me with that
2020-10-26 21:38:43 +0100 <dminuoso> https://paste.tomsmeding.com/
2020-10-26 21:39:26 +0100 <noname234234> I'm trying to do the exercise here -> https://en.wikibooks.org/wiki/Haskell/Monoids#Monoid_laws
2020-10-26 21:39:34 +0100oisdk(~oisdk@2001:bb6:3329:d100:844c:cd9a:b52a:ea47)
2020-10-26 21:39:39 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de)
2020-10-26 21:39:52 +0100ransom(~c4264035@c-73-243-2-10.hsd1.co.comcast.net)
2020-10-26 21:39:53 +0100geekosaur(82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection)
2020-10-26 21:40:16 +0100 <noname234234> My code is https://paste.tomsmeding.com/BGe5UG1c
2020-10-26 21:40:57 +0100 <noname234234> Uh forget to include this -> https://paste.tomsmeding.com/BGe5UG1c
2020-10-26 21:41:07 +0100 <noname234234> Oops... this -> newtype Sum a = Sum { getSum :: a }
2020-10-26 21:41:15 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-26 21:41:26 +0100 <noname234234> So I don't know how the correct syntax for this instance definition
2020-10-26 21:42:01 +0100 <dminuoso> The syntax looks good.
2020-10-26 21:42:12 +0100 <dminuoso> Do you get any error?
2020-10-26 21:42:17 +0100 <noname234234> Yes -> Illegal instance declaration for ‘Monoid (Sum Bool)’ (All instance types must be of the form (T a1 ... an) where a1 ... an are *distinct type variables*, and each type variable appears at most once in the instance head. Use FlexibleInstances if you want to disable this.)• In the instance declaration for ‘Monoid (Sum
2020-10-26 21:42:18 +0100 <noname234234> Bool)’typecheck
2020-10-26 21:42:21 +0100 <dminuoso> Ah!
2020-10-26 21:42:27 +0100 <dminuoso> Indeed, enable the specified extension
2020-10-26 21:42:33 +0100 <dminuoso> Or change the newtype to `newtype Sum = Sum Bool`
2020-10-26 21:42:51 +0100 <dminuoso> To do the former, just add {-# LANGUAGE FlexibleInstances #-}
2020-10-26 21:43:09 +0100 <dminuoso> The extension is fairly benign
2020-10-26 21:43:14 +0100 <noname234234> someone else said like this but I couldn't figure it out -> `The problem is wanting you to rewrite the Any and All wrappers from Data.Monoid which are data Any = Any { getAny :: Bool } etc`
2020-10-26 21:43:50 +0100Kaivo(~Kaivo@ec2-15-222-231-32.ca-central-1.compute.amazonaws.com) (Ping timeout: 260 seconds)
2020-10-26 21:43:55 +0100thir(~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-26 21:44:05 +0100 <noname234234> what's the real problem here i don't understand, is syntax correct or not correct?
2020-10-26 21:44:13 +0100 <tomsmeding> what that person meant is: the Any and All definitions in Data.Monoid are in essence the answers to this question
2020-10-26 21:44:17 +0100 <dminuoso> noname234234: Formally, when you write an `instance T (C ...) where`, then you may only have type variables in the dots.
2020-10-26 21:44:19 +0100 <tomsmeding> just with different na,es
2020-10-26 21:44:35 +0100 <tomsmeding> *names
2020-10-26 21:44:37 +0100 <dminuoso> noname234234: To specify an `instance T (C Bool)` is illegal 2010 haskell
2020-10-26 21:44:57 +0100 <dminuoso> The reasons for this restrictions are somewhat subtle, but you can either lift them by enabling the pragma I have suggested
2020-10-26 21:45:06 +0100 <noname234234> so type variable is something lke bool?
2020-10-26 21:45:06 +0100 <dminuoso> or you change the newtype so you wont have to mention `Bool` in the instance head
2020-10-26 21:45:08 +0100unlink2(~unlink2@p200300ebcf180b00a39cfda93b79d512.dip0.t-ipconnect.de) (*.net *.split)
2020-10-26 21:45:08 +0100ghoulguy(x@freenode/staff/haskell.developer.glguy) (*.net *.split)
2020-10-26 21:45:08 +0100wi[m](w1gzmatrix@gateway/shell/matrix.org/x-lfcylepzsrjwyrbr) (*.net *.split)
2020-10-26 21:45:08 +0100materialfuture[m(materialfu@gateway/shell/matrix.org/x-djqhtahsalhhtmbv) (*.net *.split)
2020-10-26 21:45:08 +0100mmynsted[m](mmynstedtc@gateway/shell/matrix.org/x-cdvlrpxsdijgwogw) (*.net *.split)
2020-10-26 21:45:08 +0100steve[m](stevetrout@gateway/shell/matrix.org/x-yobseikaxycmhhfr) (*.net *.split)
2020-10-26 21:45:08 +0100jiribenes1(jbjiribene@gateway/shell/matrix.org/x-gbosxlytzboxghyk) (*.net *.split)
2020-10-26 21:45:08 +0100srid(sridmatrix@gateway/shell/matrix.org/x-bahjeddkvcglhyrj) (*.net *.split)
2020-10-26 21:45:08 +0100alvinsj[m](alvinsjmat@gateway/shell/matrix.org/x-uvjjzjrrekrkslqu) (*.net *.split)
2020-10-26 21:45:08 +0100michaelpj(michaelpjm@gateway/shell/matrix.org/x-ncpfrytegghonssp) (*.net *.split)
2020-10-26 21:45:08 +0100tersetears[m](tersetears@gateway/shell/matrix.org/x-dmulllmltwwxtjzn) (*.net *.split)
2020-10-26 21:45:08 +0100lnxw37d4(lnxw37d4ma@gateway/shell/matrix.org/x-rbikvwzhgsuamfor) (*.net *.split)
2020-10-26 21:45:08 +0100maralorn(maralornma@gateway/shell/matrix.org/x-gdkwbeskgjiokzif) (*.net *.split)
2020-10-26 21:45:08 +0100SlackIntegration(slackbotma@gateway/shell/matrix.org/x-tzgbprxkzzasbbnm) (*.net *.split)
2020-10-26 21:45:08 +0100SolarAquarion(SolarAquar@gateway/shell/panicbnc/x-twsqpddkakzbghtr) (*.net *.split)
2020-10-26 21:45:08 +0100Takumo(takumo@unaffiliated/takumokatekari) (*.net *.split)
2020-10-26 21:45:08 +0100trevorriles(uid469656@gateway/web/irccloud.com/x-ruimatphqohrzmib) (*.net *.split)
2020-10-26 21:45:08 +0100TheScoop(~TheScoop@unaffiliated/tryte) (*.net *.split)
2020-10-26 21:45:08 +0100edmundnoble(sid229620@gateway/web/irccloud.com/x-gvfutybyprjhwlxz) (*.net *.split)
2020-10-26 21:45:08 +0100fiadliel(sid399568@gateway/web/irccloud.com/x-ymacoburpwrvlgcx) (*.net *.split)
2020-10-26 21:45:08 +0100benwr____(sid372383@gateway/web/irccloud.com/x-grifljzptgiftdzy) (*.net *.split)
2020-10-26 21:45:08 +0100uwap(~uwap@genja.uwap.name) (*.net *.split)
2020-10-26 21:45:08 +0100taktoa[c](sid282096@gateway/web/irccloud.com/x-nuycfigarigggsbg) (*.net *.split)
2020-10-26 21:45:08 +0100dsal(sid13060@gateway/web/irccloud.com/x-kthuquovdrjebyop) (*.net *.split)
2020-10-26 21:45:08 +0100Boarders(sid425905@gateway/web/irccloud.com/x-rullwqslalbceykx) (*.net *.split)
2020-10-26 21:45:09 +0100raid(macbookpro@irc-1.coding4.coffee) (*.net *.split)
2020-10-26 21:45:09 +0100jackhill(~jackhill@marsh.hcoop.net) (*.net *.split)
2020-10-26 21:45:09 +0100acro(~acro@unaffiliated/acro) (*.net *.split)
2020-10-26 21:45:09 +0100t36s_(~t36s@2a03:b0c0:3:d0::1c23:5001) (*.net *.split)
2020-10-26 21:45:09 +0100SegFaultAX(SegFaultAX@unaffiliated/segfaultax) (*.net *.split)
2020-10-26 21:45:09 +0100yorick(~yorick@oftn/oswg-member/yorick) (*.net *.split)
2020-10-26 21:45:09 +0100vjoki(vjoki@2a00:d880:3:1::fea1:9ae) (*.net *.split)
2020-10-26 21:45:09 +0100grol(~quassel@2620:11e:1000:2:250:56ff:fea4:7) (*.net *.split)
2020-10-26 21:45:16 +0100 <dminuoso> noname234234: sure, or just `a`
2020-10-26 21:45:16 +0100acro(~acro@188.166.31.185)
2020-10-26 21:45:16 +0100acro(~acro@188.166.31.185) (Changing host)
2020-10-26 21:45:16 +0100acro(~acro@unaffiliated/acro)
2020-10-26 21:45:17 +0100trevorriles(sid469656@gateway/web/irccloud.com/x-ojxdogvggwklcqfu)
2020-10-26 21:45:19 +0100uwap(~uwap@genja.uwap.name)
2020-10-26 21:45:22 +0100benwr____(sid372383@gateway/web/irccloud.com/x-kvsrlvuwekbjywwv)
2020-10-26 21:45:22 +0100 <dminuoso> anything with lower case
2020-10-26 21:45:22 +0100vjoki(vjoki@2a00:d880:3:1::fea1:9ae)
2020-10-26 21:45:23 +0100TheScoop(~TheScoop@unaffiliated/tryte)
2020-10-26 21:45:23 +0100edmundnoble(sid229620@gateway/web/irccloud.com/x-qtgjwsrxfqtxbxld)
2020-10-26 21:45:24 +0100fiadliel(sid399568@gateway/web/irccloud.com/x-yvsjefcorozedvpx)
2020-10-26 21:45:24 +0100jackhill(~jackhill@marsh.hcoop.net)
2020-10-26 21:45:25 +0100taktoa[c](sid282096@gateway/web/irccloud.com/x-mhwfcebznpkovctx)
2020-10-26 21:45:25 +0100dsal(sid13060@gateway/web/irccloud.com/x-ukyimvofbbobpxrr)
2020-10-26 21:45:25 +0100Boarders(sid425905@gateway/web/irccloud.com/x-naslsmiaebxgaija)
2020-10-26 21:45:26 +0100unlink2(~unlink2@p200300ebcf180b00a39cfda93b79d512.dip0.t-ipconnect.de)
2020-10-26 21:45:27 +0100t36s(~t36s@138.68.90.188)
2020-10-26 21:45:27 +0100SegFaultAX(SegFaultAX@unaffiliated/segfaultax)
2020-10-26 21:45:29 +0100Takumo(takumo@unaffiliated/takumokatekari)
2020-10-26 21:45:41 +0100yorick1(~yorick@oftn/oswg-member/yorick)
2020-10-26 21:46:21 +0100raid(macbookpro@irc-1.coding4.coffee)
2020-10-26 21:46:21 +0100grol(~quassel@2620:11e:1000:2:250:56ff:fea4:7)
2020-10-26 21:46:31 +0100stree(~stree@50-108-72-205.adr01.mskg.mi.frontiernet.net) (Quit: Caught exception)
2020-10-26 21:46:36 +0100Kaivo(~Kaivo@104-200-86-99.mc.derytele.com)
2020-10-26 21:46:48 +0100stree(~stree@50-108-72-205.adr01.mskg.mi.frontiernet.net)
2020-10-26 21:47:00 +0100 <noname234234> So in the exercise I have to write this two instance for sum and product
2020-10-26 21:47:04 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-26 21:47:17 +0100glguy_(x@freenode/staff/haskell.developer.glguy)
2020-10-26 21:47:17 +0100glguy_glguy
2020-10-26 21:47:21 +0100justHaunted(~justache@unaffiliated/justache)
2020-10-26 21:47:40 +0100blackdog(~blackdog@198.211.112.85) (Ping timeout: 246 seconds)
2020-10-26 21:48:03 +0100 <noname234234> I have imagined product for and operation and sum for `or` operation
2020-10-26 21:48:04 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-10-26 21:48:14 +0100glguyghoulguy
2020-10-26 21:48:16 +0100aldessa(~Hugh@host-92-21-7-179.as13285.net)
2020-10-26 21:48:26 +0100 <noname234234> I believe my reasoning is correct
2020-10-26 21:48:35 +0100 <noname234234> but I don't really know how would I express this in haskell
2020-10-26 21:49:01 +0100 <tomsmeding> you managed Sum, didn't you? :)
2020-10-26 21:49:02 +0100srid(sridmatrix@gateway/shell/matrix.org/x-mkesouyylxzbcafd)
2020-10-26 21:49:20 +0100MikeD(ad5822ca@cpe-173-88-34-202.columbus.res.rr.com)
2020-10-26 21:49:25 +0100alvinsj[m](alvinsjmat@gateway/shell/matrix.org/x-vcggqutodlsvbbci)
2020-10-26 21:49:38 +0100 <tomsmeding> though it's more natural to write: newtype Sum = Sum { getSum :: Bool }
2020-10-26 21:49:44 +0100 <tomsmeding> instead of parametrising on a variable `a'
2020-10-26 21:50:06 +0100blackdog(~blackdog@198.211.112.85)
2020-10-26 21:50:09 +0100 <noname234234> https://paste.tomsmeding.com/w73fxoro
2020-10-26 21:50:24 +0100 <dminuoso> noname234234: Your code is almost spot on, really. If you want to just "get it done", enable the extension by adding `{-# LANGUAGE FlexibleInstances #-}` to the top
2020-10-26 21:50:32 +0100 <dminuoso> Or change the newtype like tomsmeding has suggested
2020-10-26 21:50:41 +0100materialfuture[m(materialfu@gateway/shell/matrix.org/x-jvhencngpnxshide)
2020-10-26 21:51:02 +0100jiribenes1(jbjiribene@gateway/shell/matrix.org/x-fxavqhwgliqrsecu)
2020-10-26 21:51:03 +0100tersetears[m](tersetears@gateway/shell/matrix.org/x-njimwnsggeorbzzd)
2020-10-26 21:51:09 +0100wi[m](w1gzmatrix@gateway/shell/matrix.org/x-yfarknebhuzfmgwp)
2020-10-26 21:51:16 +0100 <tomsmeding> I'd say, because this Sum data type is intended to be used only with Bool, I think, I would write it as I suggested
2020-10-26 21:51:46 +0100mmynsted[m](mmynstedtc@gateway/shell/matrix.org/x-zszjcyokedzkvvvw)
2020-10-26 21:51:58 +0100steve[m](stevetrout@gateway/shell/matrix.org/x-fkuthzdpqeujhzmp)
2020-10-26 21:52:03 +0100 <dminuoso> (Note I didnt bother to check whether your boolean algebra is right, but oh well, that's on you :-)
2020-10-26 21:52:04 +0100 <noname234234> so I want to understand the real issue here let me write it as I understood -> currently generic types are not supported in instance definition in haskell? sorry for `generic type` term but I see that as `a` I defined there
2020-10-26 21:52:14 +0100 <dminuoso> noname234234: So
2020-10-26 21:52:21 +0100michaelpj(michaelpjm@gateway/shell/matrix.org/x-oigadqxzdyumsikb)
2020-10-26 21:52:23 +0100 <dminuoso> If we consider a general intsance declaration as:
2020-10-26 21:52:35 +0100 <tomsmeding> dminuoso: side note: why didn't the haskell spec allow "flexible instances", so to speak? Didn't they want to mess with overlap detection algorithms?
2020-10-26 21:52:36 +0100lnxw37d4(lnxw37d4ma@gateway/shell/matrix.org/x-amgtuukfolghuwuq)
2020-10-26 21:52:38 +0100 <dminuoso> instance ClassName (TypeConstructor t1 t2 t3 ...)
2020-10-26 21:52:38 +0100maralorn(maralornma@gateway/shell/matrix.org/x-pkelfgrohvpzfolu)
2020-10-26 21:52:49 +0100 <dminuoso> then t1, t2, t3, etc *must* only be type variables
2020-10-26 21:52:59 +0100 <dminuoso> they may *not* be type constructors like Bool
2020-10-26 21:53:18 +0100 <noname234234> type variable is typeclasses?
2020-10-26 21:53:18 +0100 <dminuoso> tomsmeding: I dont know for sure, but I think there's two parts to it
2020-10-26 21:53:40 +0100 <dminuoso> tomsmeding: For one, FlexibleInstances essentially incurs FlexibleContexts, and you can write incoherent code with that alone (see the GHC manual)
2020-10-26 21:53:44 +0100tomsmedingwould say "type names", not "type constructors"; I've seen someone use "type constructor" where they meant "data constructor" in this channel
2020-10-26 21:54:00 +0100 <dminuoso> Another one I've heard mentioned is that their implementation is non-trivial
2020-10-26 21:54:13 +0100 <dminuoso> At least if you didn't know how to do it beforehand.
2020-10-26 21:55:21 +0100 <monsterchrom> I avoid "type constructor" because people then go anal about whether Int counts, and independently whether (Either Int) counts.
2020-10-26 21:55:21 +0100 <dminuoso> (It takes some real effort to write incoherent code with it, which is why I called it fairly benigh above)
2020-10-26 21:55:46 +0100 <dminuoso> monsterchrom: a type constructor is something you can pattern match on in tyfams/tyinsts!
2020-10-26 21:55:53 +0100 <dminuoso> just like data constructors can be pattern matched on in case-of
2020-10-26 21:55:55 +0100 <dminuoso> :p
2020-10-26 21:56:02 +0100 <noname234234> so type variable is for example `Num ` class?
2020-10-26 21:56:29 +0100 <tomsmeding> noname234234: no, that's a class name ;)
2020-10-26 21:56:36 +0100 <tomsmeding> it's something like `a`
2020-10-26 21:56:43 +0100 <noname234234> ah oaky
2020-10-26 21:56:53 +0100 <tomsmeding> like the `a` in your `newtype Sum a = Sum { getSum :: a }`
2020-10-26 21:57:31 +0100 <noname234234> ah okay its like generic type
2020-10-26 21:57:34 +0100 <noname234234> inother languages
2020-10-26 21:57:39 +0100 <dminuoso> noname234234: no
2020-10-26 21:57:54 +0100 <dminuoso> a type variable is the `a` itself, not what you can do with it
2020-10-26 21:57:57 +0100 <tomsmeding> it's like the type parameter to a generic type/function in other languages, I guess
2020-10-26 21:58:01 +0100 <dminuoso> % :t id
2020-10-26 21:58:01 +0100 <yahb> dminuoso: a -> a
2020-10-26 21:58:12 +0100 <dminuoso> noname234234: in that type signature above, the `a` is sort of like a placeholder
2020-10-26 21:58:20 +0100 <tomsmeding> in java or c++, the T in the <>'s
2020-10-26 21:58:40 +0100 <dminuoso> noname234234: so a type variable means "you can pick whatever you want there"
2020-10-26 21:58:41 +0100 <noname234234> okay thank you
2020-10-26 21:58:47 +0100 <dminuoso> Bool
2020-10-26 21:58:48 +0100justHaunted(~justache@unaffiliated/justache) (Read error: Connection reset by peer)
2020-10-26 21:58:49 +0100 <dminuoso> is not a type variable
2020-10-26 21:58:58 +0100 <dminuoso> It's a concrete/particular type
2020-10-26 21:59:37 +0100 <noname234234> aha get it
2020-10-26 21:59:54 +0100 <noname234234> got it*, so I will now work on the example,
2020-10-26 21:59:56 +0100 <tomsmeding> dminuoso: I don't see a mention of being able to write incoherent code with FlexibleContexts in the ghc user manual; am I looking in the wrong place? https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#extension-Flexib…
2020-10-26 21:59:57 +0100conal(~conal@2600:380:444d:d3f4:d82:fca6:5a7c:8afb) (Quit: Computer has gone to sleep.)
2020-10-26 22:00:02 +0100DrGuschtel(~DrGuschte@84.39.116.180) ()
2020-10-26 22:00:11 +0100 <dminuoso> tomsmeding: See rules on overlap
2020-10-26 22:00:34 +0100 <tomsmeding> including {-# OVERLAPPABLE #-} pragmas and such? I'd not say that counts
2020-10-26 22:00:43 +0100 <dminuoso> https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#extension-Flexib…
2020-10-26 22:00:48 +0100 <dminuoso> https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#instance-overlap
2020-10-26 22:01:01 +0100 <dminuoso> no, without overlap even
2020-10-26 22:01:24 +0100mud(~mud@unaffiliated/kadoban) (Remote host closed the connection)
2020-10-26 22:01:25 +0100 <dminuoso> (I think)
2020-10-26 22:01:38 +0100GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-26 22:02:06 +0100 <dminuoso> And, with the bug report I opened recently, there's a lot of awkwardness with typeclass instance resolution, where it's not even clear what the semantics are
2020-10-26 22:02:15 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-26 22:02:16 +0100GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-26 22:02:16 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-26 22:02:29 +0100 <dminuoso> if you look at the haskell report, it doesnt say anything about what context of typeclass instances mean/do
2020-10-26 22:02:40 +0100 <tomsmeding> interesting
2020-10-26 22:02:59 +0100 <dminuoso> tomsmeding: https://gitlab.haskell.org/ghc/ghc/-/issues/18836
2020-10-26 22:03:15 +0100 <noname234234> now I get this error -> `• No instance for (Semigroup Product) arising from the superclasses of an instance declaration• In the instance declaration for ‘Monoid Product’typecheck`
2020-10-26 22:03:27 +0100 <noname234234> for this -> `-- | Monoid under multiplication.newtype Product = Product { getProduct :: Bool }instance Monoid Product where mempty = Product True Product x `mappend` Product y = Product (x && y)`
2020-10-26 22:03:27 +0100 <dminuoso> A quick look at that note alone makes you wonder how subtle typeclass instance implementations really are. :-)
2020-10-26 22:03:38 +0100 <dminuoso> noname234234: Ah, that might be friction due to changes in GHC Haskell
2020-10-26 22:03:43 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
2020-10-26 22:03:55 +0100 <dminuoso> noname234234: We split Monoid into Semigroup and Monoid, where mappend was moved into Semigroup as <>
2020-10-26 22:04:13 +0100conal(~conal@2600:380:444d:d3f4:d82:fca6:5a7c:8afb)
2020-10-26 22:04:13 +0100conal(~conal@2600:380:444d:d3f4:d82:fca6:5a7c:8afb) (Client Quit)
2020-10-26 22:04:19 +0100invaser(~Thunderbi@31.148.23.125)
2020-10-26 22:04:28 +0100 <dminuoso> So when you wrote `instance Monoid Foo where mappend = ...; mempty = ...;` you'd now write `instance Semigroup Foo where l <> r = ...; instance Monoid Foo where mempty = ...`
2020-10-26 22:05:10 +0100 <noname234234> I have to separate these two?
2020-10-26 22:05:15 +0100 <dminuoso> Yes
2020-10-26 22:05:24 +0100 <dminuoso> they belong together semantically
2020-10-26 22:05:40 +0100 <dminuoso> the split was done because Semigroup is a "weaker/stronger" (depending on your perspective) version of Monoid
2020-10-26 22:05:49 +0100 <dminuoso> There's thing that have an associative operation, but no identity
2020-10-26 22:05:53 +0100 <dminuoso> (Thus they are Semigroup but not Monoid)
2020-10-26 22:06:29 +0100 <monsterchrom> for example Integer and max
2020-10-26 22:06:44 +0100justHaunted(~justache@unaffiliated/justache)
2020-10-26 22:06:59 +0100 <noname234234> there's no mappend anymore in `monoid`?
2020-10-26 22:07:22 +0100 <dminuoso> noname234234: Well there is, but it defaults to (<>)
2020-10-26 22:07:28 +0100 <Uniaika> noname234234: it's inherited from Semigroup
2020-10-26 22:07:40 +0100 <dminuoso> Uniaika: No, its part of Monoid
2020-10-26 22:08:31 +0100 <tomsmeding> dminuoso: fascinating read, that issue :p
2020-10-26 22:08:58 +0100 <tomsmeding> though you're still using an OVERLAPS pragma, so I'm not yet convinced one can write incoherent code without those pragmas :p
2020-10-26 22:09:05 +0100danvet_(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Remote host closed the connection)
2020-10-26 22:09:07 +0100 <dminuoso> noname234234: These are unfortunate things, over the years we've had a few breaking changes like that (to make a cleaner language), but resources frequently fail to be updated.
2020-10-26 22:09:19 +0100 <dminuoso> tomsmeding: you can easily if you use multiple packages.
2020-10-26 22:09:26 +0100 <dminuoso> I have a git repo ready for you...
2020-10-26 22:09:30 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2020-10-26 22:09:37 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2020-10-26 22:09:39 +0100 <Uniaika> dminuoso: oh, okay
2020-10-26 22:09:45 +0100 <noname234234> It's alright It happens to every resource about programming languages. So far this has been the first though one.
2020-10-26 22:09:49 +0100tomsmedingbecomes scared
2020-10-26 22:10:40 +0100 <monsterchrom> This Halloween, instances overlap to torment you. Spooky resolution at a distance. >:)
2020-10-26 22:11:00 +0100 <tomsmeding> ö
2020-10-26 22:11:03 +0100notnatebtw(~nate@125.161.130.165)
2020-10-26 22:11:39 +0100 <noname234234> so if `semigroup` is superclass of `monoid` why can't I define `mappend` under `monoid?`
2020-10-26 22:11:40 +0100 <dminuoso> tomsmeding: hold on, I might need to retract that comment. Ill get back to you tomorrow on this.
2020-10-26 22:11:52 +0100Kolkrabe(~user@unaffiliated/siracusa)
2020-10-26 22:12:47 +0100britva(~britva@2a02:aa13:7240:2980:b0bb:4de0:a28f:1dc2)
2020-10-26 22:12:50 +0100 <tomsmeding> don't sweat, was just curious :p
2020-10-26 22:13:06 +0100 <tomsmeding> only if you wanted to do it anyway
2020-10-26 22:13:43 +0100 <tomsmeding> noname234234: you can, but to write an instance of Monoid, you also have to provide an instance of Semigroup
2020-10-26 22:14:15 +0100hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-10-26 22:14:19 +0100 <tomsmeding> and then if you do, you can leave out the explicit definition of `mappend`, because it will take the definition of <> by default
2020-10-26 22:14:34 +0100 <monsterchrom> Oh, "superclass" doesn't mean implement all methods under one instance declaration.
2020-10-26 22:15:08 +0100 <tomsmeding> ah yes, that's a difference with c++/java and friends
2020-10-26 22:15:32 +0100 <tomsmeding> (one of the many differences, but this one is relevant here :p)
2020-10-26 22:15:51 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-26 22:15:52 +0100 <monsterchrom> Really, "superclass" only means if I write my function type signature "f :: (Semigroup a, Monoid a) => ..." I can omit "Semigroup a".
2020-10-26 22:16:10 +0100 <monsterchrom> NO OTHER BENEFIT.
2020-10-26 22:16:32 +0100son0p(~son0p@181.136.122.143)
2020-10-26 22:17:12 +0100mirko11(bc6b92b2@dslb-188-107-146-178.188.107.pools.vodafone-ip.de)
2020-10-26 22:17:13 +0100 <noname234234> but in the example code works even though no semigroup definition is made
2020-10-26 22:17:23 +0100hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
2020-10-26 22:17:43 +0100 <noname234234> https://paste.tomsmeding.com/wUUmo0KG
2020-10-26 22:17:44 +0100 <noname234234> this code
2020-10-26 22:17:47 +0100mirko11(bc6b92b2@dslb-188-107-146-178.188.107.pools.vodafone-ip.de) ()
2020-10-26 22:18:10 +0100 <aldessa> Is there a monad~thing that keeps track of an rng, logging and a state?
2020-10-26 22:18:22 +0100damianfral3(~damianfra@174.red-37-13-187.dynamicip.rima-tde.net) (Ping timeout: 272 seconds)
2020-10-26 22:19:24 +0100damianfral3(~damianfra@174.red-37-13-187.dynamicip.rima-tde.net)
2020-10-26 22:19:25 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Ping timeout: 240 seconds)
2020-10-26 22:19:27 +0100nuncanada(~dude@179.235.160.168) (Read error: Connection reset by peer)
2020-10-26 22:19:38 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-26 22:19:41 +0100 <monsterchrom> old compiler?
2020-10-26 22:19:51 +0100 <monsterchrom> Certainly doesn't "work" for me.
2020-10-26 22:20:43 +0100 <noname234234> wait, it doesnt work for me too..
2020-10-26 22:20:49 +0100 <noname234234> I think in my laptop I have old compiler
2020-10-26 22:20:53 +0100 <noname234234> On PC right now
2020-10-26 22:21:12 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-10-26 22:21:46 +0100 <dminuoso> tomsmeding: Anyhow, OVERLAP* pragmas are not the cause behind incoherence.
2020-10-26 22:21:57 +0100 <dminuoso> Overlap would either always result int
2020-10-26 22:22:01 +0100 <dminuoso> 1) a deterministic instance choice
2020-10-26 22:22:03 +0100 <dminuoso> 2) a diagnostic
2020-10-26 22:22:51 +0100conal(~conal@2600:380:4427:fc40:197b:568a:a0da:5bcb)
2020-10-26 22:23:10 +0100justHaunted(~justache@unaffiliated/justache) (Remote host closed the connection)
2020-10-26 22:23:18 +0100 <tomsmeding> has the real incoherence case got to do with defining functions where only some of the instances are in scope?
2020-10-26 22:23:34 +0100 <dminuoso> you mean in the issue?
2020-10-26 22:23:41 +0100 <dminuoso> or in case of FlexibleInstances?
2020-10-26 22:23:43 +0100 <dsal> aldessa: transformers?
2020-10-26 22:23:48 +0100damianfral3(~damianfra@174.red-37-13-187.dynamicip.rima-tde.net) (Ping timeout: 260 seconds)
2020-10-26 22:24:18 +0100justHaunted(~justache@unaffiliated/justache)
2020-10-26 22:24:29 +0100 <justsomeguy> Is there an editor feature or plugin that will let me press a key and replace a function with its definition for Haskell code?
2020-10-26 22:24:35 +0100 <tomsmeding> FlexibleInstances dminuoso
2020-10-26 22:24:57 +0100 <tomsmeding> justsomeguy: how do you imagine that works with something like
2020-10-26 22:24:58 +0100 <tomsmeding> @src map
2020-10-26 22:24:58 +0100 <lambdabot> map _ [] = []
2020-10-26 22:24:58 +0100 <lambdabot> map f (x:xs) = f x : map f xs
2020-10-26 22:25:23 +0100 <noname234234> ok I have finally did this example. I was feeling defeated on this one for two days. Thank you guys
2020-10-26 22:25:38 +0100 <tomsmeding> noname234234: 🎉
2020-10-26 22:25:47 +0100 <dminuoso> tomsmeding: Yes. All incoherent examples rely on not all instances being in scope
2020-10-26 22:25:58 +0100 <dminuoso> Otherwise GHC would produce a diagnostic
2020-10-26 22:26:01 +0100 <tomsmeding> ah
2020-10-26 22:26:14 +0100 <dminuoso> (Unless of course you're tripping into undocumented behavior like in my issue)
2020-10-26 22:26:26 +0100 <dminuoso> In which case GHC does something non-obvious instead of erroring out
2020-10-26 22:26:37 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2020-10-26 22:26:40 +0100GyroW(~GyroW@unaffiliated/gyrow) (Remote host closed the connection)
2020-10-26 22:26:46 +0100 <dminuoso> disclaimer: unless IncoherentInstances was enabled of course
2020-10-26 22:26:48 +0100 <dminuoso> ;)
2020-10-26 22:26:50 +0100GyroW(~GyroW@d54C03E98.access.telenet.be)
2020-10-26 22:26:50 +0100 <tomsmeding> do you also need orphans, or can you do it with -Werror=orphans?
2020-10-26 22:26:50 +0100GyroW(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-26 22:26:50 +0100GyroW(~GyroW@unaffiliated/gyrow)
2020-10-26 22:27:03 +0100 <tomsmeding> sure :p
2020-10-26 22:27:05 +0100 <dminuoso> orphans are one way that is actually quite possible
2020-10-26 22:27:10 +0100thblt(~thblt@unaffiliated/thblt) ("ERC (IRC client for Emacs 27.1)")
2020-10-26 22:27:12 +0100 <dminuoso> even without any other extensions
2020-10-26 22:27:23 +0100 <dminuoso> The FlexibleInstances works without orphans
2020-10-26 22:27:25 +0100 <tomsmeding> because I know that orphans are dangerous for this reason
2020-10-26 22:27:28 +0100 <tomsmeding> ah
2020-10-26 22:27:40 +0100Varis(~Tadas@unaffiliated/varis)
2020-10-26 22:28:26 +0100SolarAquarion(SolarAquar@gateway/shell/panicbnc/x-xwqkdmiwktlgsvny)
2020-10-26 22:29:14 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-10-26 22:29:24 +0100cfricke(~cfricke@unaffiliated/cfricke)
2020-10-26 22:29:57 +0100 <dminuoso> tomsmeding: In the particular example of FlexibleInstances, the cause is just with FlexibleInstances, you allow for multiple matching instances
2020-10-26 22:31:07 +0100 <dminuoso> \(IY\) is strictly more specific than \(IX\). That is, \(IY\) is a substitution instance of \(IX\) but not vice versa.
2020-10-26 22:31:25 +0100 <justsomeguy> tomsmeding: For example, you could move your cursor to “flip”, press Control-K, and then it would be replaced by “(\f x y -> f y x)”. Or, for more complicated functions that need a name binding, it could replace it with “(let flip f x y = f y x in flip)" I got the idea from Pharo Smalltalk, which lets you do this for class methods, unwinding indirection of the entire inheritance chain in-place.
2020-10-26 22:32:03 +0100 <tomsmeding> justsomeguy: I _think_ it doesn't exist yet, but you can suggest it as a plugin for HLS :)
2020-10-26 22:32:38 +0100 <justsomeguy> tomsmeding: I may do that; But first I'll probably try to write a crummy proof of concept in vimscript.
2020-10-26 22:33:04 +0100 <tomsmeding> parsing haskell in vimscript? my condolences :p
2020-10-26 22:34:02 +0100 <justsomeguy> lol, maybe that's too hard. I was thinking more along the lines of "grep and paste".
2020-10-26 22:34:15 +0100 <aldessa> dsal Would that be RandomGen g => StateT g (StateT s Writer a) a? Like a transformer stack with a lot of lifting
2020-10-26 22:35:09 +0100 <aldessa> StateT s Writer*
2020-10-26 22:35:19 +0100 <dminuoso> tomsmeding: So, without FlexibleInstances, you wouldn't even have that problem because there can't be two simultaenously matching instances.
2020-10-26 22:35:21 +0100 <dsal> Transformers gotta lift. But I tend to use MonadLogger + Reader. State sometimes is fine, but it's hard to weave through some things. Depends on your needs.
2020-10-26 22:35:33 +0100 <dminuoso> (Because any instance is already as general as possible by demanding all type parameters to be tpye variables)
2020-10-26 22:35:39 +0100 <tomsmeding> yes makes sense dminuoso
2020-10-26 22:36:46 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-26 22:37:12 +0100cfricke(~cfricke@unaffiliated/cfricke) (Ping timeout: 260 seconds)
2020-10-26 22:37:30 +0100p8m(p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 260 seconds)
2020-10-26 22:39:36 +0100oisdk(~oisdk@2001:bb6:3329:d100:844c:cd9a:b52a:ea47) (Quit: oisdk)
2020-10-26 22:40:16 +0100 <aldessa> dsal Is it possible to avoid the lifting? I was thinking as two alternatives Polysemy or writing my own monad transformer?
2020-10-26 22:40:34 +0100 <noname234234> I will ask you guys a question. I may have used some monad concept before even having aware of what I did. I still don't know what a monad is but here the story: I have wrote a high-order function in some imperative language that takes a function and calls it on a list inside the method body. so after a month had passed and I had to change the
2020-10-26 22:40:34 +0100 <noname234234> behavior of the existing code, but I figured out that I don't need to change the method body at all, just I have written a function overload where I `wrap` the parameter function, lets say I have just did a null check and then call the function and return its value from the lambda function. its something like `C#: methodOverload(Func<bool> a) =>
2020-10-26 22:40:35 +0100 <noname234234> originalMethod( () => { doSomethingElse(); return a(); })`
2020-10-26 22:40:51 +0100 <dminuoso> aldessa: You can wrap some primitives to work with your particular monad stack
2020-10-26 22:41:17 +0100 <aldessa> dminuoso, sorry what do you mean?
2020-10-26 22:41:28 +0100 <noname234234> so does that have any relation to monads at all?
2020-10-26 22:41:45 +0100chaosmasttter(~chaosmast@p200300c4a73c460118080c3b2ced1444.dip0.t-ipconnect.de) (Quit: WeeChat 2.9)
2020-10-26 22:41:48 +0100 <dminuoso> aldessa: Instead of `genWord32 :: RandomGen g => g -> (Word32, g)` you could write `myGenWord32 :: App Word32`
2020-10-26 22:41:58 +0100 <dminuoso> And then use that primitive instead. That moves the lifting into a single place.
2020-10-26 22:43:05 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2020-10-26 22:45:24 +0100 <aldessa> dminuoso do you mean like a wrapper function that is lift original/ lift . lift $ original?
2020-10-26 22:45:31 +0100dme2(uid339896@gateway/web/irccloud.com/x-vjhdofmrdwokotvk) (Quit: Connection closed for inactivity)
2020-10-26 22:46:20 +0100 <dsal> aldessa: you generally put the lifting in your lib somewhere
2020-10-26 22:47:25 +0100Katarushisu(~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Ping timeout: 240 seconds)
2020-10-26 22:47:25 +0100Katarushisu1(~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net)
2020-10-26 22:47:26 +0100Katarushisu1Katarushisu
2020-10-26 22:47:58 +0100britva(~britva@2a02:aa13:7240:2980:b0bb:4de0:a28f:1dc2) (Quit: This computer has gone to sleep)
2020-10-26 22:49:53 +0100 <gnumonic> This is maybe a stupid question but: If I'm writing a simple (interpreted) DSL that parses user expressions to haskell functions at runtime, is that an EDSL or some other kind? The terminology is kind of confusing
2020-10-26 22:50:06 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 260 seconds)
2020-10-26 22:50:37 +0100 <aldessa> gnumonic does it have an external parser?
2020-10-26 22:50:37 +0100ystael(~ystael@209.6.50.55)
2020-10-26 22:50:50 +0100seanvert`(~user@177.84.244.242) (Remote host closed the connection)
2020-10-26 22:51:27 +0100 <gnumonic> I don't think so? I'm not exactly sure what external means there. It uses parsec to parse expressions directly into haskell functions.
2020-10-26 22:51:32 +0100irc_user(uid423822@gateway/web/irccloud.com/x-yxcjlirterftraqc) (Quit: Connection closed for inactivity)
2020-10-26 22:52:06 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2020-10-26 22:52:38 +0100Varis(~Tadas@unaffiliated/varis)
2020-10-26 22:53:25 +0100 <gnumonic> But it just runs in a main loop (more or less) where I run the parser over a line of user input and then execute the expression. Some resources make it seem like an eDSL has to be a library, so if this happens at runtime in a binary then it's not that?
2020-10-26 22:53:47 +0100 <gnumonic> I guess it doesn't really matter but I want to get the terminology right
2020-10-26 22:54:02 +0100 <aldessa> gnumonic, I'd say it is not an embedded DSL if you don't write the language in haskell source files
2020-10-26 22:54:06 +0100unknown1(~unknown@195.206.169.184)
2020-10-26 22:54:21 +0100 <aldessa> like I'd consider Earley an eDSL but it calls itself a DSL https://hackage.haskell.org/package/Earley
2020-10-26 22:54:56 +0100 <noname234234> I have a question. I use python interpreter on daily basis a lot. I was wondering could I use GHCi for simple tasks like file reading/parsing but though haskell doesn't allow impurity so can't I just read file contents and if it succeeds store it in a immutable string?
2020-10-26 22:55:24 +0100 <tomsmeding> gnumonic: Accelerate is an EDSL: https://github.com/AccelerateHS/accelerate-examples/blob/master/examples/quicksort/QuickSort.hs
2020-10-26 22:55:31 +0100 <aldessa> I would also consider this an EDSL https://gitlab.com/sheaf/fir
2020-10-26 22:55:44 +0100 <sm[m]> noname234234: certainly
2020-10-26 22:55:48 +0100 <sm[m]> s <- readFile "foo"
2020-10-26 22:55:55 +0100 <tomsmeding> (scatter/fill/awhile... come from Data.Array.Accelerate)
2020-10-26 22:56:48 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-10-26 22:56:48 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch)
2020-10-26 22:56:49 +0100 <tomsmeding> whereas Futhark is a DSL: https://github.com/nqpz/futracer/blob/master/futracerlib/render.fut
2020-10-26 22:57:03 +0100 <aldessa> noname234234, you can but the underlying string will be wrapped in an IO type
2020-10-26 22:57:07 +0100 <tomsmeding> both are array processing languages, both have a compiler implemented in Haskell, both compile to both CPU and GPU code
2020-10-26 22:57:15 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch) (Client Quit)
2020-10-26 22:57:22 +0100 <tomsmeding> but the one is embedded in Haskell, and the other is not :)
2020-10-26 22:57:27 +0100 <noname234234> wow lol I didn't imagine this would be this much easier sm[m]
2020-10-26 22:57:27 +0100 <nf> is there a GHC extension that would make `const 42 return` output 42 instead of an error?
2020-10-26 22:57:28 +0100 <gnumonic> Ok, so the difference is that an eDSL is one such that the source is Haskell. It's just a DSL if it compiles to haskell functions, but is written in some other language then? So I guess you could consider parsec itself to be a kind of eDSL
2020-10-26 22:57:47 +0100 <tomsmeding> parsec is definitely an EDSL
2020-10-26 22:57:52 +0100 <noname234234> I think from now on haskell would play a large role in my daily work
2020-10-26 22:57:55 +0100 <sm[m]> why, noname234234 ? Haskell Is Easy (tm) :)
2020-10-26 22:57:58 +0100Varis(~Tadas@unaffiliated/varis)
2020-10-26 22:58:05 +0100 <gnumonic> That makes sense, thanks.
2020-10-26 22:58:11 +0100 <noname234234> I was using python in a full functional manner anyways, so
2020-10-26 22:58:17 +0100wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-10-26 22:58:21 +0100kritzefitz(~kritzefit@212.86.56.80) (Remote host closed the connection)
2020-10-26 22:58:28 +0100 <tomsmeding> gnumonic: also: in an EDSL in haskell, an important property is that you can do metaprogramming using Haskell itself
2020-10-26 22:58:52 +0100 <noname234234> I think you would all say `you can't use python full functional` eh anyways I said that because I just redefine all variables everytime when I do changes on them xD
2020-10-26 22:59:05 +0100 <tomsmeding> e.g. with parsec, you can use haskell's tools to build complex combinations of parser combinators that you don't have to write out by hand
2020-10-26 22:59:35 +0100 <tomsmeding> but when you say "compiles to haskell functions", what exactly do you mean? is it a transpiler to haskell?
2020-10-26 23:00:18 +0100 <tomsmeding> or is it a haskell library that parses your DSL, and makes the resulting functions available somehow to haskell code?
2020-10-26 23:00:31 +0100Rudd0(~Rudd0@185.189.115.98)
2020-10-26 23:01:03 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
2020-10-26 23:01:25 +0100 <tomsmeding> the first I'd call a language that compiles to haskell, the second an ?
2020-10-26 23:01:36 +0100 <tomsmeding> like you call lua :p
2020-10-26 23:01:45 +0100 <tomsmeding> wikipedia also uses 'embedded' there, but in a different way
2020-10-26 23:02:16 +0100polyrain(~polyrain@2001:8003:e501:6901:15fa:5e4:342f:f38b)
2020-10-26 23:02:29 +0100DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net)
2020-10-26 23:03:43 +0100aldessa(~Hugh@host-92-21-7-179.as13285.net) (Quit: Leaving)
2020-10-26 23:03:48 +0100 <hyperisco> am I hosed if I am trying to decode Dhall to a recursive type?
2020-10-26 23:03:59 +0100Tops2(~Tobias@dyndsl-095-033-095-051.ewe-ip-backbone.de)
2020-10-26 23:04:17 +0100 <hyperisco> I am guessing so because the Expr for that type would not be bounded
2020-10-26 23:05:00 +0100Tops21(~Tobias@dyndsl-095-033-095-051.ewe-ip-backbone.de)
2020-10-26 23:05:32 +0100conal(~conal@2600:380:4427:fc40:197b:568a:a0da:5bcb) (Quit: Computer has gone to sleep.)
2020-10-26 23:06:00 +0100Tops22(~Tobias@dyndsl-095-033-095-051.ewe-ip-backbone.de)
2020-10-26 23:08:16 +0100 <gnumonic> It's really just a simple scripting language I guess. I compile the haskell in which it is written to a binary, the binary parses user input into haskell functions and their arguments and then runs them. Not really more complicated than a calculator I guess. It could be an eDSL (i.e. I could make the parser just generate haskell source) but I want to distribute a binary for people who don't want to deal with ghc :p
2020-10-26 23:08:24 +0100Tops2(~Tobias@dyndsl-095-033-095-051.ewe-ip-backbone.de) (Ping timeout: 258 seconds)
2020-10-26 23:08:26 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-26 23:09:00 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-10-26 23:09:08 +0100polyrain(~polyrain@2001:8003:e501:6901:15fa:5e4:342f:f38b) (Quit: Textual IRC Client: www.textualapp.com)
2020-10-26 23:09:29 +0100conal(~conal@2600:380:442a:9d99:d1c8:a6d4:f859:73e4)
2020-10-26 23:09:33 +0100Tops21(~Tobias@dyndsl-095-033-095-051.ewe-ip-backbone.de) (Ping timeout: 258 seconds)
2020-10-26 23:09:34 +0100 <noname234234> how do you split file contents to lines by `\n`?
2020-10-26 23:09:49 +0100 <noname234234> im disappointed that I couldn't get a simple answer from google
2020-10-26 23:09:57 +0100 <noname234234> everyone says some other package to install
2020-10-26 23:09:58 +0100 <noname234234> lol
2020-10-26 23:10:07 +0100Varis(~Tadas@unaffiliated/varis)
2020-10-26 23:10:08 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-10-26 23:10:32 +0100 <Athas> gnumonic: if you made the parser generate Haskell source, then it would not be an eDSL, but just a compiler, wouldn't it?
2020-10-26 23:10:35 +0100falafel_(~falafel@71-34-132-121.clsp.qwest.net)
2020-10-26 23:10:38 +0100 <monsterchrom> > lines "abc\ndef\n"
2020-10-26 23:10:40 +0100 <lambdabot> ["abc","def"]
2020-10-26 23:10:46 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-10-26 23:10:47 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-10-26 23:10:58 +0100 <noname234234> if I wanted to split on custom characters?
2020-10-26 23:11:24 +0100topostopos____
2020-10-26 23:11:28 +0100 <monsterchrom> Then it's a simple recursion you can steal from the simple source code of lines
2020-10-26 23:11:39 +0100 <monsterchrom> or the "split" package
2020-10-26 23:11:54 +0100polyrain(~polyrain@2001:8003:e501:6901:caf:e594:a7fb:67e)
2020-10-26 23:11:56 +0100 <monsterchrom> I usually just steal. It's just 3 lines.
2020-10-26 23:13:06 +0100 <noname234234> uh
2020-10-26 23:13:19 +0100 <noname234234> is there a way to unload a module in ghci session?
2020-10-26 23:13:22 +0100 <noname234234> Or I have to restart it
2020-10-26 23:13:25 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 240 seconds)
2020-10-26 23:13:29 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving)
2020-10-26 23:13:46 +0100 <yushyin> :m - ModuleA
2020-10-26 23:14:25 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2020-10-26 23:14:30 +0100 <monsterchrom> If you do a :load on the module you want, that's also a reset.
2020-10-26 23:14:47 +0100whataday(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2020-10-26 23:15:10 +0100 <monsterchrom> That's a simplified story. The real story is much more nuanced than that.
2020-10-26 23:15:27 +0100hackagestreaming-bytestring 0.2.0 - Fast, effectful byte streams. https://hackage.haskell.org/package/streaming-bytestring-0.2.0 (fosskers)
2020-10-26 23:15:46 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-10-26 23:15:46 +0100hvr_(~hvr@haskell/developer/hvr)
2020-10-26 23:15:54 +0100whataday(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2020-10-26 23:16:23 +0100hvr(~hvr@haskell/developer/hvr) (Read error: Connection reset by peer)
2020-10-26 23:18:42 +0100nuncanada(~dude@179.235.160.168)
2020-10-26 23:19:43 +0100fendor(~fendor@078132040188.public.t-mobile.at) (Read error: Connection reset by peer)
2020-10-26 23:19:48 +0100conal(~conal@2600:380:442a:9d99:d1c8:a6d4:f859:73e4) (Quit: Computer has gone to sleep.)
2020-10-26 23:19:57 +0100fendor(~fendor@078132040188.public.t-mobile.at)
2020-10-26 23:21:44 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2020-10-26 23:23:40 +0100nuncanada(~dude@179.235.160.168) (Ping timeout: 265 seconds)
2020-10-26 23:26:11 +0100 <noname234234> why this doesn't work? `foldr (++) ["str", "str"] [' ']`
2020-10-26 23:26:48 +0100 <dibblego> foldr (++) ["str", "str"] [[" "]]
2020-10-26 23:27:22 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-10-26 23:28:41 +0100 <noname234234> I think I have confused the argument order
2020-10-26 23:28:42 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2020-10-26 23:28:57 +0100chkno(~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net)
2020-10-26 23:29:14 +0100 <dsal> What are you trying to do there?
2020-10-26 23:29:30 +0100 <dibblego> perhaps you want intercalate
2020-10-26 23:29:51 +0100conal(~conal@mobile-166-170-38-213.mycingular.net)
2020-10-26 23:30:01 +0100Varis(~Tadas@unaffiliated/varis)
2020-10-26 23:30:27 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
2020-10-26 23:32:06 +0100invaser(~Thunderbi@31.148.23.125) (Ping timeout: 260 seconds)
2020-10-26 23:33:44 +0100p8m(p8m@gateway/vpn/protonvpn/p8m)
2020-10-26 23:35:45 +0100DavidEichmann(~david@43.240.198.146.dyn.plus.net) (Remote host closed the connection)
2020-10-26 23:36:35 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-10-26 23:36:48 +0100DavidEichmann(~david@43.240.198.146.dyn.plus.net)
2020-10-26 23:37:04 +0100Varis(~Tadas@unaffiliated/varis)
2020-10-26 23:37:07 +0100noname234234(5e7be11d@94.123.225.29) (Remote host closed the connection)
2020-10-26 23:39:01 +0100son0p(~son0p@181.136.122.143) (Remote host closed the connection)
2020-10-26 23:41:30 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-26 23:43:58 +0100Katarushisu7(~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net)
2020-10-26 23:44:01 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311) ()
2020-10-26 23:44:56 +0100Katarushisu(~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Ping timeout: 265 seconds)
2020-10-26 23:44:56 +0100Katarushisu7Katarushisu
2020-10-26 23:50:03 +0100servo(~servo@196.112.1.113)
2020-10-26 23:50:21 +0100seanvert`(~user@177.84.244.242)
2020-10-26 23:51:00 +0100lambda-11235(~lambda-11@2600:1700:7c70:4600:252e:56ab:ce70:1eed) (Max SendQ exceeded)
2020-10-26 23:51:39 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-26 23:51:43 +0100lambda-11235(~lambda-11@2600:1700:7c70:4600:252e:56ab:ce70:1eed)
2020-10-26 23:51:51 +0100yorick1yorick
2020-10-26 23:53:22 +0100hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 256 seconds)
2020-10-26 23:54:25 +0100servo(~servo@196.112.1.113) (Ping timeout: 240 seconds)
2020-10-26 23:54:28 +0100__monty__(~toonn@unaffiliated/toonn) (Quit: leaving)
2020-10-26 23:56:21 +0100conal(~conal@mobile-166-170-38-213.mycingular.net) (Quit: Computer has gone to sleep.)
2020-10-26 23:57:46 +0100seanvert`(~user@177.84.244.242) (Ping timeout: 260 seconds)
2020-10-26 23:58:12 +0100topos____topos