2021/06/02

2021-06-02 00:00:30 +0200 <novasenco> davean, well, I did ghcup tui and then installed latest ghc and set it. Then, for some reason, it also updated c2hs, though I don't know how or why. And it looks like alsa-mixer is installing ^u^
2021-06-02 00:00:41 +0200dutchgriffon(~laurens@2604:3d08:4383:6200:14a:dacb:8b69:ead6)
2021-06-02 00:00:43 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2021-06-02 00:01:22 +0200 <novasenco> (ie, I installed prereleast,base-4.16.0.0)
2021-06-02 00:01:28 +0200 <novasenco> s/st/se
2021-06-02 00:01:52 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-02 00:02:56 +0200haskman(~haskman@106.201.8.96) (Quit: Going to sleep. ZZZzzz…)
2021-06-02 00:03:19 +0200blankhart(~blankhart@pool-72-88-174-206.nwrknj.fios.verizon.net)
2021-06-02 00:03:23 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-06-02 00:03:58 +0200 <novasenco> sike. It failed with the same error; it just took longer.
2021-06-02 00:04:05 +0200ddellacosta(~ddellacos@86.106.143.209)
2021-06-02 00:04:48 +0200bor0(~boro@user/bor0) (Quit: Leaving)
2021-06-02 00:06:42 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds)
2021-06-02 00:08:01 +0200 <blankhart> is there a canonical discussion of how to implement higher kinded types? (as a compiler writer not as a language user)
2021-06-02 00:10:03 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5878:fcfd:e07b:ffd9) (Remote host closed the connection)
2021-06-02 00:10:23 +0200 <geekosaur> novasenko, either downgrade gcc (if possible) or wait for https://github.com/haskell/c2hs/issues/268 to be fixed
2021-06-02 00:12:24 +0200 <ski> blankhart : allow type variables to have arbitrary kind ?
2021-06-02 00:12:25 +0200sondre(~sondrelun@cm-84.212.100.140.getinternet.no) (Ping timeout: 245 seconds)
2021-06-02 00:12:50 +0200 <blankhart> looks like i may have been looking for TAPL ch 29
2021-06-02 00:13:24 +0200xwx(~george@user/george) (Quit: WeeChat 3.1)
2021-06-02 00:15:12 +0200 <novasenco> geekosaur, I be waiting -_- In the meantime, at least I have my handy dandy script bound to xmonad key bindings https://gist.github.com/novasenco/a048f34753cc3eb76eef7da5e8b59ee4
2021-06-02 00:15:17 +0200myShoggoth(~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 264 seconds)
2021-06-02 00:16:15 +0200 <novasenco> (eg, vol -i, vol -d, and vol to (resp) increase vol to nearest mult of 5, decrease vol to nearest multiple of 5, or show volume - all of them use notify-send to show volume. works for now. thanks for your help.)
2021-06-02 00:18:13 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 252 seconds)
2021-06-02 00:18:53 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 264 seconds)
2021-06-02 00:19:03 +0200janus(janus@anubis.0x90.dk)
2021-06-02 00:19:23 +0200 <janus> i am trying to build with profiling, so i put "profiling: true" in cabal.project
2021-06-02 00:19:43 +0200 <janus> but a transitive dependency called convertible (from hdbc) is failing
2021-06-02 00:19:56 +0200 <janus> the error message is https://paste.tomsmeding.com/KDHTbbaa
2021-06-02 00:20:06 +0200hendursaga(~weechat@user/hendursaga)
2021-06-02 00:20:26 +0200 <janus> how can the profiling libraries for that package be missing? wouldn't cabal know whether it needs rebuilding?
2021-06-02 00:26:41 +0200dpl_(~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 264 seconds)
2021-06-02 00:26:44 +0200 <janus> is this even the right channel for that question? guess it isn't really specific to haskell the language
2021-06-02 00:26:49 +0200 <janus> but i don't know of a cabal channel
2021-06-02 00:27:22 +0200 <monochrom> This is the right channel, but I haven't run into that kind of problem so I have no answer.
2021-06-02 00:28:46 +0200 <janus> i have ghc from ghcup so it should support profiling (i say that because previously i was using OS packages where you'd have to get that in a separate package)
2021-06-02 00:29:51 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5878:fcfd:e07b:ffd9)
2021-06-02 00:31:39 +0200tremon(~tremon@217-63-61-89.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in)
2021-06-02 00:31:53 +0200 <janus> i suspect it may be somewith with convertible being so old, seems like it wasn't updated for years: https://github.com/hdbc/convertible
2021-06-02 00:32:18 +0200 <janus> but on the other hand, it has "Build-Type: Simple", so that shouldn't cause problems...
2021-06-02 00:32:24 +0200dragestil(~quassel@180-150-39-25.b49627.bne.nbn.aussiebb.net) (Changing host)
2021-06-02 00:32:24 +0200dragestil(~quassel@user/dragestil)
2021-06-02 00:32:24 +0200 <dminuoso> Lets say I really wanted to override an existing Show instance, I dont care whether its dirty. Do I have any options?
2021-06-02 00:33:05 +0200 <dminuoso> I have just 2 types, that occur deeply nested in my data types that have a very unsuitable Show instance. And Im *really* fine with Show otherwise for this output.
2021-06-02 00:33:28 +0200 <dminuoso> Or is forking my best bet here?
2021-06-02 00:33:39 +0200 <dminuoso> (that is, forking the library that introduces the undesirable Show instance)
2021-06-02 00:34:31 +0200 <geekosaur> I don't think overlapping will work if the instance heads are identical (I may be wrong) so forking may be your only alternative
2021-06-02 00:35:18 +0200vdukhovni(~vdukhovni@100.2.39.101) (Quit: Client closed)
2021-06-02 00:35:26 +0200 <dminuoso> mmm, perhaps I should just try overlapping instances then
2021-06-02 00:35:29 +0200is7s(~is7s@2a01:4b00:895f:3d00:a806:e7e7:5179:550e)
2021-06-02 00:36:02 +0200 <janus> now i wonder what happens if you have two instances, where one requires a 'trivial' constraint like HasCallStack ... hmm
2021-06-02 00:36:11 +0200hrnz(~ulli@cherry.hrnz.li) (Quit: das ist mir zu bld hier; bb)
2021-06-02 00:36:23 +0200hrnz(~ulli@cherry.hrnz.li)
2021-06-02 00:38:16 +0200GIANTWORLDKEEPER(~pjetcetal@2.95.204.25) (Ping timeout: 268 seconds)
2021-06-02 00:38:33 +0200zeenk(~zeenk@2a02:2f04:a310:b600:b098:bf18:df4d:4c41)
2021-06-02 00:38:37 +0200 <hpc> constraints don't count for instance resolution
2021-06-02 00:39:26 +0200 <hpc> so like, "instance Applicative f => Monad f" resolves the same as "instance Monad f"
2021-06-02 00:39:43 +0200geekosaur(~geekosaur@069-135-003-034.biz.spectrum.com) (Remote host closed the connection)
2021-06-02 00:39:44 +0200bfrk(~Thunderbi@200116b84593d400e083e41adfb91d63.dip.versatel-1u1.de)
2021-06-02 00:40:05 +0200geekosaur(~geekosaur@069-135-003-034.biz.spectrum.com)
2021-06-02 00:40:45 +0200 <monochrom> To get dirty, the "reflection" package, or the idea within, may help, I forgot whether it does help. But the idea is you can supply a record value and convert it to a class dictionary and sneak it in by a backdoor, so now without newtyping you can change the dictionary at will.
2021-06-02 00:40:55 +0200is7s(~is7s@2a01:4b00:895f:3d00:a806:e7e7:5179:550e) ()
2021-06-02 00:41:03 +0200is7s(~is7s@2a01:4b00:895f:3d00:a806:e7e7:5179:550e)
2021-06-02 00:41:09 +0200GIANTWORLDKEEPER(~pjetcetal@2.95.204.25)
2021-06-02 00:41:11 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-02 00:41:37 +0200is7s(~is7s@2a01:4b00:895f:3d00:a806:e7e7:5179:550e) ()
2021-06-02 00:42:30 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-06-02 00:43:54 +0200 <dminuoso> Mmm, I dont understand the phrasing in https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/instances.html
2021-06-02 00:44:12 +0200is7s(~is7s@2a01:4b00:895f:3d00:a806:e7e7:5179:550e)
2021-06-02 00:44:13 +0200 <dminuoso> Naively I'd expect `instance {-# OVERLAPPING #-} Show T` to just work
2021-06-02 00:44:34 +0200 <dminuoso> % instance {-# OVERLAPPING #-} Show Int where show _ = "foo"
2021-06-02 00:44:34 +0200 <yahb> dminuoso: ; <interactive>:15:30: error:; Duplicate instance declarations:; instance [overlapping] Show Int -- Defined at <interactive>:15:30; instance Show Int -- Defined in `GHC.Show'
2021-06-02 00:45:15 +0200 <monochrom> overlapping still wants to see at most one match. It is incoherentinstances that is happy with multiple matches just randomly pick one.
2021-06-02 00:45:24 +0200 <janus> hpc: aaaah right, makes sense! and i see it in the ghc user guide link that dminuoso provided
2021-06-02 00:45:33 +0200 <dminuoso> monochrom: Oh that might be acceptable!
2021-06-02 00:45:53 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 264 seconds)
2021-06-02 00:45:55 +0200 <monochrom> If it picks the one you hate, please don't cry. :)
2021-06-02 00:46:54 +0200 <dminuoso> Well Ill debug GHC and see how I can massage it into picking the right one :>
2021-06-02 00:47:22 +0200 <dminuoso> Mmm
2021-06-02 00:47:26 +0200 <dminuoso> % instance {-# INCOHERENT #-} Show Int where show _ = "foo"
2021-06-02 00:47:26 +0200 <yahb> dminuoso: ; <interactive>:16:29: error:; Duplicate instance declarations:; instance [incoherent] Show Int -- Defined at <interactive>:16:29; instance Show Int -- Defined in `GHC.Show'
2021-06-02 00:48:01 +0200 <monochrom> I guess I worded wrong. s/at most one match/a single match that is more specific than all other matches/
2021-06-02 00:48:19 +0200 <dminuoso> Yeah. I guess IncoherentInstances only works if the matches are not most specific
2021-06-02 00:48:45 +0200niflce(~IceChat95@user/niflce) (Ping timeout: 268 seconds)
2021-06-02 00:48:57 +0200 <monochrom> If you have two incomparable matches, then it's incoherentinstances.
2021-06-02 00:50:03 +0200boioioing(~boioioing@cpe-76-84-141-127.neb.res.rr.com)
2021-06-02 00:50:48 +0200 <dminuoso> Why wont GHC let me just specify "discard this dictionary from a package" :(
2021-06-02 00:57:48 +0200derelict(~winter@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com)
2021-06-02 00:57:53 +0200ec_(~ec@gateway/tor-sasl/ec)
2021-06-02 00:59:37 +0200mccoyb(~textual@2601:182:d000:3b50:74fc:67c:ef8b:8632)
2021-06-02 01:02:01 +0200neceve(~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130)
2021-06-02 01:02:41 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
2021-06-02 01:03:17 +0200alx741(~alx741@186.178.108.160) (Ping timeout: 264 seconds)
2021-06-02 01:06:52 +0200ddellacosta(~ddellacos@86.106.143.209) (Remote host closed the connection)
2021-06-02 01:06:52 +0200derelict(~winter@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com) (Ping timeout: 272 seconds)
2021-06-02 01:11:32 +0200vdukhovni(~vdukhovni@100.2.39.101)
2021-06-02 01:12:41 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-06-02 01:13:21 +0200ddellacosta(~ddellacos@89.45.224.118)
2021-06-02 01:15:48 +0200myShoggoth(~myShoggot@97-120-89-117.ptld.qwest.net)
2021-06-02 01:15:51 +0200alx741(~alx741@181.196.69.176)
2021-06-02 01:16:46 +0200spatchkaa(~spatchkaa@S010600fc8da47b63.gv.shawcable.net)
2021-06-02 01:17:06 +0200vdukhovni(~vdukhovni@100.2.39.101) (Quit: Client closed)
2021-06-02 01:17:21 +0200is7s(~is7s@2a01:4b00:895f:3d00:a806:e7e7:5179:550e) (Quit: Client closed)
2021-06-02 01:18:53 +0200benin(~benin@183.82.205.186)
2021-06-02 01:21:34 +0200bfrk1(~Thunderbi@200116b845fca000f97ff890167a6943.dip.versatel-1u1.de)
2021-06-02 01:21:44 +0200bfrk(~Thunderbi@200116b84593d400e083e41adfb91d63.dip.versatel-1u1.de) (Ping timeout: 244 seconds)
2021-06-02 01:21:44 +0200bfrk1bfrk
2021-06-02 01:24:07 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: nvkjsb)
2021-06-02 01:25:28 +0200yav(~username@2001:428:6002:405:c8cd:63fb:2af4:b319)
2021-06-02 01:27:09 +0200boioioing(~boioioing@cpe-76-84-141-127.neb.res.rr.com) (Remote host closed the connection)
2021-06-02 01:29:00 +0200yav(~username@2001:428:6002:405:c8cd:63fb:2af4:b319) (Remote host closed the connection)
2021-06-02 01:30:15 +0200yav(~username@2001:428:6002:405:c8cd:63fb:2af4:b319)
2021-06-02 01:30:32 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-02 01:37:11 +0200ec_(~ec@gateway/tor-sasl/ec) (Quit: ec_)
2021-06-02 01:37:27 +0200pavonia_(~user@user/siracusa)
2021-06-02 01:39:37 +0200sayola1(~vekto@88.78.152.150)
2021-06-02 01:39:54 +0200pavonia(~user@user/siracusa) (Ping timeout: 264 seconds)
2021-06-02 01:39:54 +0200sayola(~vekto@dslb-088-078-152-150.088.078.pools.vodafone-ip.de) (Ping timeout: 264 seconds)
2021-06-02 01:40:35 +0200tv(~tv@user/tv) (Ping timeout: 272 seconds)
2021-06-02 01:41:35 +0200pavonia_(~user@user/siracusa) (Ping timeout: 245 seconds)
2021-06-02 01:41:38 +0200allbery_b(~geekosaur@069-135-003-034.biz.spectrum.com)
2021-06-02 01:42:00 +0200yav(~username@2001:428:6002:405:c8cd:63fb:2af4:b319) (Remote host closed the connection)
2021-06-02 01:42:08 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
2021-06-02 01:42:23 +0200geekosaur(~geekosaur@069-135-003-034.biz.spectrum.com) (Killed (NickServ (GHOST command used by allbery_b)))
2021-06-02 01:42:28 +0200allbery_bgeekosaur
2021-06-02 01:44:14 +0200sayola1(~vekto@88.78.152.150) (Ping timeout: 272 seconds)
2021-06-02 01:44:14 +0200tv(~tv@user/tv)
2021-06-02 01:46:56 +0200pavonia(~user@user/siracusa)
2021-06-02 01:47:24 +0200WhyNot(~Thunderbi@2a02:aa12:540:e480:d738:2660:2e:8993)
2021-06-02 01:48:13 +0200hiruji`(~hiruji@72.74.190.75)
2021-06-02 01:49:54 +0200hiruji`(~hiruji@72.74.190.75) (Client Quit)
2021-06-02 01:49:59 +0200hiruji(~hiruji@user/hiruji) (Ping timeout: 272 seconds)
2021-06-02 01:50:18 +0200hiruji(~hiruji@user/hiruji)
2021-06-02 01:50:41 +0200mnrmnaugh(~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net) (Ping timeout: 264 seconds)
2021-06-02 01:51:05 +0200mnrmnaugh(~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net)
2021-06-02 01:52:36 +0200mccoyb(~textual@2601:182:d000:3b50:74fc:67c:ef8b:8632) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2021-06-02 01:53:26 +0200WhyNot(~Thunderbi@2a02:aa12:540:e480:d738:2660:2e:8993) (Quit: WhyNot)
2021-06-02 01:55:37 +0200derelict(~winter@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com)
2021-06-02 01:57:47 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-02 01:59:11 +0200pavonia_(~user@user/siracusa)
2021-06-02 02:00:17 +0200pavonia(~user@user/siracusa) (Ping timeout: 264 seconds)
2021-06-02 02:00:26 +0200pavonia_pavonia
2021-06-02 02:00:42 +0200derelict(~winter@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com) (Ping timeout: 272 seconds)
2021-06-02 02:00:54 +0200tv(~tv@user/tv) (Ping timeout: 264 seconds)
2021-06-02 02:01:17 +0200tv(~tv@user/tv)
2021-06-02 02:02:00 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 245 seconds)
2021-06-02 02:05:41 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-06-02 02:06:18 +0200mccoyb(~textual@2601:182:d000:3b50:74fc:67c:ef8b:8632)
2021-06-02 02:06:50 +0200myShoggoth(~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 252 seconds)
2021-06-02 02:08:43 +0200mccoyb(~textual@2601:182:d000:3b50:74fc:67c:ef8b:8632) (Client Quit)
2021-06-02 02:09:02 +0200exarkun(~exarkun@user/exarkun)
2021-06-02 02:09:14 +0200Axman6(~Axman6@user/axman6) (Remote host closed the connection)
2021-06-02 02:09:28 +0200Axman6(~Axman6@user/axman6)
2021-06-02 02:09:29 +0200 <exarkun> With Warp (or any other Wait-compatible server) how do I listen on an arbitrary unused port and then discover which port that was?
2021-06-02 02:11:29 +0200 <exarkun> oh there's `withApplication`, great
2021-06-02 02:13:48 +0200zopsi(sid153252@id-153252.stonehaven.irccloud.com) ()
2021-06-02 02:17:13 +0200zopsi(~zopsi@irc.dir.ac)
2021-06-02 02:17:16 +0200tonyday(~user@202-65-93-249.ip4.superloop.com)
2021-06-02 02:18:10 +0200 <tonyday> https://hackage.haskell.org/package/base-4.15.0.0/reports/1
2021-06-02 02:18:52 +0200 <tonyday> I get the same error as hackage, trying to cabal build base. What are we doing wrong?
2021-06-02 02:19:11 +0200 <sclv> you can't build base
2021-06-02 02:19:12 +0200 <geekosaur> base isn't buildable by itself normally, it's built as part of ghc
2021-06-02 02:19:13 +0200 <sclv> it ships with ghc
2021-06-02 02:20:13 +0200myShoggoth(~myShoggot@97-120-89-117.ptld.qwest.net)
2021-06-02 02:20:58 +0200bfrk(~Thunderbi@200116b845fca000f97ff890167a6943.dip.versatel-1u1.de) (Ping timeout: 272 seconds)
2021-06-02 02:21:09 +0200neceve(~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130) (Ping timeout: 244 seconds)
2021-06-02 02:21:35 +0200 <tonyday> I'm used to saying -fwrite-ide-info -hiedir=.hie to get files I can analyse for a project. Any clues how I would do this for base?
2021-06-02 02:22:04 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel)
2021-06-02 02:24:40 +0200sayola(~vekto@dslc-082-082-145-205.pools.arcor-ip.net)
2021-06-02 02:25:39 +0200 <geekosaur> you might need to do it as part of a ghc build
2021-06-02 02:26:08 +0200mccoyb(~textual@2601:182:d000:3b50:74fc:67c:ef8b:8632)
2021-06-02 02:26:56 +0200hexfive(~eric@50.35.83.177) (Quit: WeeChat 3.0)
2021-06-02 02:27:18 +0200zeenk(~zeenk@2a02:2f04:a310:b600:b098:bf18:df4d:4c41) (Quit: Konversation terminated!)
2021-06-02 02:27:47 +0200mccoyb(~textual@2601:182:d000:3b50:74fc:67c:ef8b:8632) (Client Quit)
2021-06-02 02:30:11 +0200 <tonyday> ok, thanks.
2021-06-02 02:30:38 +0200 <geekosaur> folks in #ghc might have better ideas, possibly
2021-06-02 02:33:17 +0200boxscape(~boxscape@user/boxscape) (Ping timeout: 264 seconds)
2021-06-02 02:35:45 +0200 <yin> i was going through some stuff i had bookmarked and was happy to find this https://www.youtube.com/watch?v=jFk1qpr1ytk which got me curious, has anything been done in this direction? what's the state of "lazy" natural numbers in haskell?
2021-06-02 02:35:45 +0200mccoyb(~textual@2601:182:d000:3b50:74fc:67c:ef8b:8632)
2021-06-02 02:37:12 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-02 02:38:10 +0200mccoyb(~textual@2601:182:d000:3b50:74fc:67c:ef8b:8632) (Client Quit)
2021-06-02 02:40:36 +0200ddellacosta(~ddellacos@89.45.224.118) (Remote host closed the connection)
2021-06-02 02:41:21 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2021-06-02 02:41:52 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds)
2021-06-02 02:42:17 +0200shailangsa(~shailangs@host165-120-169-73.range165-120.btcentralplus.com) (Ping timeout: 264 seconds)
2021-06-02 02:43:24 +0200mccoyb(~textual@2601:182:d000:3b50:74fc:67c:ef8b:8632)
2021-06-02 02:44:06 +0200falafel_(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-06-02 02:45:08 +0200Deide(~Deide@user/deide) (Quit: Seeee yaaaa)
2021-06-02 02:45:46 +0200mccoyb(~textual@2601:182:d000:3b50:74fc:67c:ef8b:8632) (Client Quit)
2021-06-02 02:45:59 +0200wagle(~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
2021-06-02 02:46:26 +0200wagle(~wagle@quassel.wagle.io)
2021-06-02 02:55:47 +0200petersen(~juhp@bb219-75-40-154.singnet.com.sg) (Ping timeout: 268 seconds)
2021-06-02 02:55:48 +0200mccoyb(~textual@2601:182:d000:3b50:74fc:67c:ef8b:8632)
2021-06-02 02:58:13 +0200mccoyb(~textual@2601:182:d000:3b50:74fc:67c:ef8b:8632) (Client Quit)
2021-06-02 02:59:25 +0200ddellacosta(~ddellacos@89.45.224.248)
2021-06-02 03:00:14 +0200tonyday(~user@202-65-93-249.ip4.superloop.com) (Ping timeout: 272 seconds)
2021-06-02 03:00:40 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-06-02 03:01:29 +0200myShoggoth(~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 264 seconds)
2021-06-02 03:02:00 +0200geekosaur(~geekosaur@069-135-003-034.biz.spectrum.com) (Ping timeout: 245 seconds)
2021-06-02 03:02:01 +0200lbseale(~lbseale@ip72-194-54-201.sb.sd.cox.net) (Read error: Connection reset by peer)
2021-06-02 03:02:01 +0200 <lyxia> yin: is there a two sentence summary of what you are looking for
2021-06-02 03:03:17 +0200dhil(~dhil@195.213.192.85) (Ping timeout: 264 seconds)
2021-06-02 03:04:52 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 252 seconds)
2021-06-02 03:07:13 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2021-06-02 03:11:05 +0200oxide(~lambda@user/oxide) (Ping timeout: 264 seconds)
2021-06-02 03:12:47 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-06-02 03:13:55 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-06-02 03:14:38 +0200shailangsa(~shailangs@host86-186-136-74.range86-186.btcentralplus.com)
2021-06-02 03:15:32 +0200petereteppjlsergeant
2021-06-02 03:15:51 +0200oxide(~lambda@user/oxide)
2021-06-02 03:17:02 +0200 <yin> performant peano-like natural numbers i guess?
2021-06-02 03:17:29 +0200 <yin> emphasis on performant
2021-06-02 03:18:02 +0200pjlsergeant(sid143467@id-143467.stonehaven.irccloud.com) (Quit: Updating details, brb)
2021-06-02 03:18:11 +0200pjlsergeant(sid143467@id-143467.stonehaven.irccloud.com)
2021-06-02 03:18:14 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel) (Remote host closed the connection)
2021-06-02 03:21:46 +0200falafel_(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
2021-06-02 03:23:34 +0200 <yin> the talk i based on this paper http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.56.3442
2021-06-02 03:24:09 +0200 <yin> *is
2021-06-02 03:24:37 +0200mccoyb(~textual@2601:182:d000:3b50:74fc:67c:ef8b:8632)
2021-06-02 03:25:21 +0200 <lyxia> well you can write a compiler that compiles your Nat to a GMP integer and translates pattern-matching to arithmetic operations.
2021-06-02 03:25:21 +0200abrar(~abrar@static-108-2-152-54.phlapa.fios.verizon.net)
2021-06-02 03:29:18 +0200ddellacosta(~ddellacos@89.45.224.248) (Remote host closed the connection)
2021-06-02 03:29:35 +0200 <yin> i that what idris does?
2021-06-02 03:31:35 +0200mccoyb(~textual@2601:182:d000:3b50:74fc:67c:ef8b:8632) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2021-06-02 03:33:18 +0200 <yin> Colin siggests something like a pair (m,n) where m is a machine word and n is a thunk, where the think progressively collapses, incrementing the word as it is lazily evaluated
2021-06-02 03:33:44 +0200xff0x(~xff0x@2001:1a81:52ca:4f00:7e41:f92f:ed4d:a7b5) (Ping timeout: 252 seconds)
2021-06-02 03:35:14 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel)
2021-06-02 03:35:28 +0200xff0x(~xff0x@2001:1a81:5307:4e00:e51:c3f6:62c2:5e71)
2021-06-02 03:36:26 +0200 <Axman6> yin: I seem to remember edwardk doing some stuff that involved using weird representation of natural numbers that might be relevant - I remember something where they were base 2, but the digits were 2 and 3, with a single 1... it's been along time (pretty sure this had to do with efficient maps or caches or something)
2021-06-02 03:36:53 +0200 <c_wraith> sounds like the skew heap stuff
2021-06-02 03:38:36 +0200egoist(~egoist@186.235.82.52) (Quit: WeeChat 3.1)
2021-06-02 03:38:48 +0200 <Axman6> yes!
2021-06-02 03:38:53 +0200myShoggoth(~myShoggot@97-120-89-117.ptld.qwest.net)
2021-06-02 03:40:30 +0200jaevanko(~jaevanko@2600:1700:1330:2bef:7d9a:87ce:495f:966a)
2021-06-02 03:45:50 +0200waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 252 seconds)
2021-06-02 03:48:08 +0200wenzel(~wenzel@user/wenzel)
2021-06-02 03:49:09 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-06-02 03:51:12 +0200hmmmas(~chenqisu1@183.217.202.217)
2021-06-02 03:52:56 +0200systemhalted(~aqualogic@71-129-231-253.lightspeed.rcsntx.sbcglobal.net)
2021-06-02 03:58:40 +0200systemhalted(~aqualogic@71-129-231-253.lightspeed.rcsntx.sbcglobal.net) (Ping timeout: 245 seconds)
2021-06-02 04:01:28 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-02 04:02:26 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel) (Ping timeout: 245 seconds)
2021-06-02 04:02:43 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2021-06-02 04:05:01 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5878:fcfd:e07b:ffd9) (Remote host closed the connection)
2021-06-02 04:05:59 +0200wei2912(~wei2912@112.199.250.21)
2021-06-02 04:06:04 +0200systemhalted(~aqualogic@71-129-231-253.lightspeed.rcsntx.sbcglobal.net)
2021-06-02 04:07:43 +0200juhp(~juhp@128.106.188.199)
2021-06-02 04:09:08 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 244 seconds)
2021-06-02 04:12:06 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2021-06-02 04:12:07 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (copper.libera.chat (Nickname regained by services)))
2021-06-02 04:12:07 +0200finn_elijaFinnElija
2021-06-02 04:12:26 +0200systemhalted(~aqualogic@71-129-231-253.lightspeed.rcsntx.sbcglobal.net) (Ping timeout: 272 seconds)
2021-06-02 04:12:58 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-06-02 04:14:09 +0200o1lo01ol1o(~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net)
2021-06-02 04:15:46 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel)
2021-06-02 04:16:27 +0200lavaman(~lavaman@98.38.249.169)
2021-06-02 04:18:17 +0200y04nn(~y04nn@193.32.127.220) (Ping timeout: 252 seconds)
2021-06-02 04:20:43 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel) (Ping timeout: 272 seconds)
2021-06-02 04:20:45 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
2021-06-02 04:24:53 +0200AgentM(~agentm@pool-162-83-130-212.nycmny.fios.verizon.net)
2021-06-02 04:29:43 +0200 <yin> oh i think i remember that!
2021-06-02 04:31:30 +0200td_(~td@94.134.91.112) (Ping timeout: 264 seconds)
2021-06-02 04:32:56 +0200tonyday(~user@202-65-93-249.ip4.superloop.com)
2021-06-02 04:33:10 +0200td_(~td@muedsl-82-207-238-043.citykom.de)
2021-06-02 04:35:13 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5878:fcfd:e07b:ffd9)
2021-06-02 04:35:55 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-06-02 04:36:17 +0200ikex(~ash@user/ikex)
2021-06-02 04:36:50 +0200mccoyb(~textual@2601:182:d000:3b50:74fc:67c:ef8b:8632)
2021-06-02 04:37:15 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel)
2021-06-02 04:37:32 +0200tonyday(~user@202-65-93-249.ip4.superloop.com) (Ping timeout: 268 seconds)
2021-06-02 04:41:51 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel) (Ping timeout: 268 seconds)
2021-06-02 04:44:31 +0200vicfred(~vicfred@user/vicfred)
2021-06-02 04:45:17 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
2021-06-02 04:45:55 +0200tonyday(~user@202-65-93-249.ip4.superloop.com)
2021-06-02 04:48:33 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 264 seconds)
2021-06-02 04:48:34 +0200ornxka(~ornxka@user/ornxka) (Quit: WeeChat 3.0)
2021-06-02 04:53:47 +0200ornxka(~ornxka@user/ornxka)
2021-06-02 05:01:14 +0200shailangsa(~shailangs@host86-186-136-74.range86-186.btcentralplus.com) ()
2021-06-02 05:01:56 +0200falafel_(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-06-02 05:02:08 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-06-02 05:03:18 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel)
2021-06-02 05:06:54 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2021-06-02 05:07:19 +0200alx741(~alx741@181.196.69.176) (Quit: alx741)
2021-06-02 05:11:59 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-02 05:12:58 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
2021-06-02 05:15:14 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2021-06-02 05:15:31 +0200otto_s(~user@p5b044eb9.dip0.t-ipconnect.de)
2021-06-02 05:17:34 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-06-02 05:18:23 +0200pfurla_(~pfurla@216.151.180.231)
2021-06-02 05:18:47 +0200otto_s_(~user@p5de2ffe1.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-06-02 05:19:34 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds)
2021-06-02 05:20:04 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
2021-06-02 05:20:12 +0200twitch(~textual@pool-71-246-146-102.rich.east.verizon.net)
2021-06-02 05:21:28 +0200ikex(~ash@user/ikex) (Ping timeout: 272 seconds)
2021-06-02 05:21:53 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel) (Ping timeout: 264 seconds)
2021-06-02 05:21:54 +0200pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 264 seconds)
2021-06-02 05:22:18 +0200twitch(~textual@pool-71-246-146-102.rich.east.verizon.net) (Client Quit)
2021-06-02 05:22:25 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
2021-06-02 05:23:04 +0200wanagnuj(~wanagnuj@101.95.97.158)
2021-06-02 05:24:11 +0200koishi_(~koishi_@67.209.186.120.16clouds.com)
2021-06-02 05:25:28 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2021-06-02 05:25:36 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 244 seconds)
2021-06-02 05:26:04 +0200hyiltiz(~quassel@31.220.5.250) ()
2021-06-02 05:26:33 +0200Lord_of_Life_Lord_of_Life
2021-06-02 05:26:35 +0200koishi_(~koishi_@67.209.186.120.16clouds.com) (Client Quit)
2021-06-02 05:26:42 +0200o1lo01ol1o(~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-06-02 05:26:57 +0200o1lo01ol1o(~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net)
2021-06-02 05:28:42 +0200shailangsa(~shailangs@host86-186-136-74.range86-186.btcentralplus.com)
2021-06-02 05:29:36 +0200hyiltiz(~quassel@31.220.5.250)
2021-06-02 05:32:19 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-06-02 05:34:31 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel)
2021-06-02 05:39:12 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel) (Ping timeout: 272 seconds)
2021-06-02 05:39:15 +0200o1lo01ol1o(~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-06-02 05:39:54 +0200ku(~ku@2601:280:c780:7ea0:a829:e2b3:d453:ddc1) (Ping timeout: 264 seconds)
2021-06-02 05:42:26 +0200renzhi(~xp@2607:fa49:6500:bc00::e7b) (Ping timeout: 252 seconds)
2021-06-02 05:50:05 +0200skn(~znc@sec.nimmagadda.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-06-02 05:50:34 +0200skn(~znc@sec.nimmagadda.net)
2021-06-02 05:50:49 +0200smitop(uid328768@user/smitop) (Quit: Connection closed for inactivity)
2021-06-02 05:53:11 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel)
2021-06-02 05:58:12 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel) (Ping timeout: 272 seconds)
2021-06-02 05:58:30 +0200rk04(~rk04@user/rajk)
2021-06-02 06:01:00 +0200 <jaevanko> So there's "Write Yourself a Scheme in 48 Hours", is there anything similar for a statically typed language, maybe a subset of Haskell?
2021-06-02 06:02:06 +0200 <Axman6> I think Stephen Dehow about http://dev.stephendiehl.com/fun/
2021-06-02 06:02:09 +0200 <Axman6> uh
2021-06-02 06:02:12 +0200 <Axman6> how about http://dev.stephendiehl.com/fun/
2021-06-02 06:02:32 +0200 <jaevanko> Oh, that seems perfect. Thanks
2021-06-02 06:02:51 +0200 <dy> Incomplete sadly :(
2021-06-02 06:03:06 +0200rk04(~rk04@user/rajk) (Ping timeout: 250 seconds)
2021-06-02 06:03:07 +0200 <Axman6> yeah, is a shame
2021-06-02 06:03:23 +0200haskman(~haskman@106.201.29.153)
2021-06-02 06:04:03 +0200 <jaevanko> Oh, I see that now. Well, it'll be a start
2021-06-02 06:05:59 +0200kmein(~weechat@user/kmein) (Quit: ciao kakao)
2021-06-02 06:06:03 +0200 <dy> Still a great start yeah.
2021-06-02 06:06:24 +0200 <dy> You might also check out: https://www.microsoft.com/en-us/research/publication/make-fast-curry-pushenter-vs-evalapply/
2021-06-02 06:06:29 +0200 <dy> For some insight into evaluation models.
2021-06-02 06:06:39 +0200 <dy> (And, perhaps, how you might compile them down.)
2021-06-02 06:07:07 +0200 <dy> "Our conclusion is simple, and contradicts our initial intuition: compiled implementations should use eval/apply."
2021-06-02 06:07:23 +0200 <dy> I could be wrong but isn't GHC STG still/back to push/enter though?
2021-06-02 06:07:57 +0200kmein(~weechat@user/kmein)
2021-06-02 06:09:17 +0200Feuermagier(~Feuermagi@user/feuermagier)
2021-06-02 06:09:32 +0200satai(~satai@static-84-42-172-253.net.upcbroadband.cz) (Quit: satai)
2021-06-02 06:13:56 +0200koishi_(~koishi_@67.209.186.120.16clouds.com)
2021-06-02 06:14:57 +0200koishi_(~koishi_@67.209.186.120.16clouds.com) (Remote host closed the connection)
2021-06-02 06:14:58 +0200eight(~eight@user/eight) (Ping timeout: 268 seconds)
2021-06-02 06:17:13 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel)
2021-06-02 06:19:14 +0200pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-06-02 06:21:08 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-06-02 06:21:35 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel) (Ping timeout: 245 seconds)
2021-06-02 06:22:16 +0200pfurla_(~pfurla@216.151.180.231) (Ping timeout: 272 seconds)
2021-06-02 06:22:51 +0200seeg-(~seeg@45.76.32.162) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
2021-06-02 06:24:46 +0200seeg(~seeg@2a05:f480:1400:311:5400:1ff:feff:256)
2021-06-02 06:29:27 +0200pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (Read error: Connection reset by peer)
2021-06-02 06:29:33 +0200pfurla_(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-06-02 06:30:09 +0200rk04(~rk04@user/rajk)
2021-06-02 06:30:44 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-06-02 06:31:48 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-02 06:32:53 +0200jaevanko(~jaevanko@2600:1700:1330:2bef:7d9a:87ce:495f:966a) (Quit: Leaving)
2021-06-02 06:34:08 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel)
2021-06-02 06:36:09 +0200lavaman(~lavaman@98.38.249.169)
2021-06-02 06:36:17 +0200vk3wtf(~doc@59-102-3-251.tpgi.com.au) (Ping timeout: 264 seconds)
2021-06-02 06:36:39 +0200reumeth(~reumeth@user/reumeth)
2021-06-02 06:38:24 +0200mccoyb(~textual@2601:182:d000:3b50:74fc:67c:ef8b:8632) (Quit: Textual IRC Client: www.textualapp.com)
2021-06-02 06:38:44 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel) (Ping timeout: 272 seconds)
2021-06-02 06:41:16 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
2021-06-02 06:42:53 +0200danso(~danso@23-233-111-52.cpe.pppoe.ca) (Quit: WeeChat 3.1)
2021-06-02 06:45:04 +0200beka(~beka@104.193.170-254.PUBLIC.monkeybrains.net) (Ping timeout: 272 seconds)
2021-06-02 06:45:37 +0200ytg(~ytg@109-186-149-143.bb.netvision.net.il)
2021-06-02 06:46:00 +0200ytg(~ytg@109-186-149-143.bb.netvision.net.il) (Client Quit)
2021-06-02 06:46:08 +0200danso(~danso@23-233-111-52.cpe.pppoe.ca)
2021-06-02 06:47:22 +0200pfurla(~pfurla@216.131.82.58)
2021-06-02 06:48:14 +0200reumeth(~reumeth@user/reumeth) (Ping timeout: 272 seconds)
2021-06-02 06:49:05 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
2021-06-02 06:49:50 +0200vk3wtf(~doc@124.168.198.139)
2021-06-02 06:50:13 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel)
2021-06-02 06:50:46 +0200pfurla_(~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 272 seconds)
2021-06-02 06:52:34 +0200haskman(~haskman@106.201.29.153) (Quit: Going to sleep. ZZZzzz…)
2021-06-02 06:53:35 +0200pfurla_(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-06-02 06:55:12 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel) (Ping timeout: 272 seconds)
2021-06-02 06:55:18 +0200seeg0(~thelounge@static.89.161.217.95.clients.your-server.de)
2021-06-02 06:55:50 +0200pfurla(~pfurla@216.131.82.58) (Ping timeout: 272 seconds)
2021-06-02 06:57:50 +0200falafel_(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 245 seconds)
2021-06-02 06:58:48 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com)
2021-06-02 07:04:28 +0200AgentM(~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.)
2021-06-02 07:05:45 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-06-02 07:06:52 +0200kristjansson(sid126207@id-126207.tinside.irccloud.com)
2021-06-02 07:08:34 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel)
2021-06-02 07:12:50 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel) (Ping timeout: 245 seconds)
2021-06-02 07:16:46 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-02 07:20:04 +0200favonia(~favonia@user/favonia)
2021-06-02 07:21:48 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds)
2021-06-02 07:25:25 +0200beka(~beka@104.193.170-254.PUBLIC.monkeybrains.net)
2021-06-02 07:29:27 +0200exarkun(~exarkun@user/exarkun) (Ping timeout: 272 seconds)
2021-06-02 07:30:41 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
2021-06-02 07:31:50 +0200rk04(~rk04@user/rajk) (Quit: Client closed)
2021-06-02 07:32:32 +0200chomwitt(~Pitsikoko@2a02:587:dc02:b00:b16c:5166:feb8:97d5)
2021-06-02 07:33:52 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com)
2021-06-02 07:36:59 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel)
2021-06-02 07:38:41 +0200euix(~euix@047-229-039-121.res.spectrum.com)
2021-06-02 07:38:42 +0200haltux(~haltux@a89-154-181-47.cpe.netcabo.pt) (Ping timeout: 264 seconds)
2021-06-02 07:39:06 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 245 seconds)
2021-06-02 07:39:25 +0200euix(~euix@047-229-039-121.res.spectrum.com) ()
2021-06-02 07:41:29 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel) (Ping timeout: 244 seconds)
2021-06-02 07:42:16 +0200schuelermine(~schuelerm@user/schuelermine)
2021-06-02 07:43:51 +0200Bartosz(~textual@24.35.90.211)
2021-06-02 07:43:56 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-06-02 07:46:27 +0200haltux(~haltux@a89-154-181-47.cpe.netcabo.pt)
2021-06-02 07:49:41 +0200guest62(~user@49.5.6.87)
2021-06-02 07:50:42 +0200 <guest62> turn epoch time to date like the command in bash shell, date "+%Y-%m-%d %H-%M-%S ", it is hard?
2021-06-02 07:51:14 +0200 <guest62> there's a list, contain lots of epoch time, but I need to group them by month
2021-06-02 07:51:31 +0200 <guest62> or by year or day
2021-06-02 07:51:54 +0200xff0x(~xff0x@2001:1a81:5307:4e00:e51:c3f6:62c2:5e71) (Ping timeout: 264 seconds)
2021-06-02 07:52:11 +0200xff0x(~xff0x@185.65.135.235)
2021-06-02 07:54:12 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-06-02 07:55:15 +0200mattil(~mattil@airio.portalify.com)
2021-06-02 07:56:48 +0200larkfisherman(~larkfishe@178.77.38.65)
2021-06-02 07:56:48 +0200larkfisherman(~larkfishe@178.77.38.65) (Client Quit)
2021-06-02 07:57:58 +0200sondre(~sondrelun@cm-84.212.100.140.getinternet.no)
2021-06-02 08:00:18 +0200myShoggoth(~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 264 seconds)
2021-06-02 08:00:54 +0200favonia(~favonia@user/favonia) (Ping timeout: 264 seconds)
2021-06-02 08:01:18 +0200favonia(~favonia@user/favonia)
2021-06-02 08:02:08 +0200guest62`(~user@49.5.6.87)
2021-06-02 08:02:47 +0200v01d4lph4(~v01d4lph4@122.160.65.250)
2021-06-02 08:02:47 +0200v01d4lph4(~v01d4lph4@122.160.65.250) (Changing host)
2021-06-02 08:02:47 +0200v01d4lph4(~v01d4lph4@user/v01d4lph4)
2021-06-02 08:04:20 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel)
2021-06-02 08:05:41 +0200guest62(~user@49.5.6.87) (Ping timeout: 264 seconds)
2021-06-02 08:07:21 +0200pfurla(~pfurla@5.15.195.173.client.static.strong-in52.as13926.net)
2021-06-02 08:07:34 +0200Erutuon(~Erutuon@user/erutuon) (Quit: WeeChat 2.8)
2021-06-02 08:08:44 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel) (Ping timeout: 252 seconds)
2021-06-02 08:09:46 +0200exarkun(~exarkun@user/exarkun)
2021-06-02 08:10:08 +0200Erutuon(~Erutuon@user/erutuon)
2021-06-02 08:10:34 +0200pfurla_(~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 272 seconds)
2021-06-02 08:14:07 +0200 <dminuoso> Not bad, I have an actual memory leak in one of our haskell servers.
2021-06-02 08:14:16 +0200 <dminuoso> Now how do I go about and find it..
2021-06-02 08:15:08 +0200 <Axman6> Look at the code, and think _really_ hard
2021-06-02 08:15:13 +0200 <dminuoso> heh
2021-06-02 08:15:47 +0200 <Axman6> heap profiling is the first place to start, not sure the best way to do that though, it always felt like a bit of a dark art to me
2021-06-02 08:16:24 +0200 <dminuoso> https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/profiling.html#profiling-memory-us…
2021-06-02 08:16:28 +0200 <dminuoso> Looks straight enough to me
2021-06-02 08:16:53 +0200 <Axman6> Getting useful output is sometimes a bit painful though
2021-06-02 08:17:05 +0200 <Axman6> I think there might be some better tools now though
2021-06-02 08:17:05 +0200sondre(~sondrelun@cm-84.212.100.140.getinternet.no) (Ping timeout: 264 seconds)
2021-06-02 08:17:42 +0200favonia(~favonia@user/favonia) (Ping timeout: 264 seconds)
2021-06-02 08:17:57 +0200 <dminuoso> https://iohk.io/en/blog/posts/2020/09/24/being-lazy-without-getting-bloated/
2021-06-02 08:17:59 +0200 <dminuoso> Mmm
2021-06-02 08:18:06 +0200rk04(~rk04@user/rajk)
2021-06-02 08:18:53 +0200rk04(~rk04@user/rajk) (Client Quit)
2021-06-02 08:19:40 +0200Bartosz(~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-06-02 08:20:28 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel)
2021-06-02 08:20:31 +0200favonia(~favonia@user/favonia)
2021-06-02 08:21:33 +0200Erutuon(~Erutuon@user/erutuon) (Quit: WeeChat 2.8)
2021-06-02 08:21:43 +0200Erutuon(~Erutuon@user/erutuon)
2021-06-02 08:24:30 +0200xff0x(~xff0x@185.65.135.235) (Ping timeout: 245 seconds)
2021-06-02 08:24:55 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel) (Ping timeout: 245 seconds)
2021-06-02 08:25:20 +0200haltux(~haltux@a89-154-181-47.cpe.netcabo.pt) (Ping timeout: 245 seconds)
2021-06-02 08:26:22 +0200xff0x(~xff0x@2001:1a81:5307:4e00:e51:c3f6:62c2:5e71)
2021-06-02 08:27:17 +0200jlamothe(~jlamothe@198.251.57.81) (Ping timeout: 272 seconds)
2021-06-02 08:27:28 +0200haltux(~haltux@a89-154-181-47.cpe.netcabo.pt)
2021-06-02 08:28:18 +0200vicfred(~vicfred@user/vicfred) (Ping timeout: 272 seconds)
2021-06-02 08:28:21 +0200phma(phma@2001:5b0:210b:c908:65f2:b626:259e:91d6) (Read error: Connection reset by peer)
2021-06-02 08:28:59 +0200jlamothe(~jlamothe@198.251.57.81)
2021-06-02 08:30:47 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-06-02 08:31:48 +0200phma(phma@2001:5b0:210b:c908:3c3e:633c:a47d:5a17)
2021-06-02 08:31:57 +0200wonko(~wjc@62.115.229.50)
2021-06-02 08:33:18 +0200sheepduck(~sheepduck@2607:fea8:2a60:b700::8a94) (Ping timeout: 264 seconds)
2021-06-02 08:37:33 +0200lavaman(~lavaman@98.38.249.169)
2021-06-02 08:38:02 +0200bfrk(~Thunderbi@200116b845fca000f97ff890167a6943.dip.versatel-1u1.de)
2021-06-02 08:39:18 +0200chomwitt(~Pitsikoko@2a02:587:dc02:b00:b16c:5166:feb8:97d5) (Ping timeout: 264 seconds)
2021-06-02 08:41:06 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel)
2021-06-02 08:42:00 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
2021-06-02 08:43:24 +0200bfrk(~Thunderbi@200116b845fca000f97ff890167a6943.dip.versatel-1u1.de) ()
2021-06-02 08:45:20 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel) (Ping timeout: 245 seconds)
2021-06-02 08:46:06 +0200chele(~chele@user/chele)
2021-06-02 08:46:20 +0200 <dminuoso> % instance Char where magic = 1
2021-06-02 08:46:20 +0200 <yahb> dminuoso: ; <interactive>:20:21: error: `magic' is not a (visible) method of class `Char'
2021-06-02 08:46:34 +0200 <dminuoso> Is this a diagnostic bug?
2021-06-02 08:46:58 +0200 <dminuoso> % :k Char
2021-06-02 08:46:58 +0200 <yahb> dminuoso: *
2021-06-02 08:47:27 +0200 <dminuoso> I get that this is valid syntax (nullary typeclasses), but GHC should detect that Char is not a class
2021-06-02 08:47:44 +0200Adran(~adran@botters/adran) (Quit: Este é o fim.)
2021-06-02 08:48:16 +0200 <opqdonut> % instance Maybe Char where magic = 1
2021-06-02 08:48:16 +0200 <yahb> opqdonut: ; <interactive>:22:27: error: `magic' is not a (visible) method of class `Maybe'
2021-06-02 08:48:23 +0200 <opqdonut> same thing
2021-06-02 08:49:05 +0200 <dminuoso> % instance NotAThing where magic = 1
2021-06-02 08:49:05 +0200 <yahb> dminuoso: ; <interactive>:23:10: error: Not in scope: type constructor or class `NotAThing'
2021-06-02 08:50:50 +0200 <Axman6> D:
2021-06-02 08:51:19 +0200Adran(adran@botters/adran)
2021-06-02 08:52:26 +0200rk04(~rk04@user/rajk)
2021-06-02 08:57:13 +0200haskman(~haskman@106.201.29.153)
2021-06-02 09:00:56 +0200schuelermine(~schuelerm@user/schuelermine) (Quit: Quit)
2021-06-02 09:02:24 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-02 09:03:20 +0200niflce(~IceChat95@user/niflce)
2021-06-02 09:03:28 +0200niflce(~IceChat95@user/niflce) (Client Quit)
2021-06-02 09:04:30 +0200chomwitt(~Pitsikoko@athedsl-20549.home.otenet.gr)
2021-06-02 09:10:04 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel)
2021-06-02 09:10:49 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
2021-06-02 09:11:08 +0200cfricke(~cfricke@user/cfricke)
2021-06-02 09:12:08 +0200mc47(~yecinem@89.246.239.190)
2021-06-02 09:13:16 +0200guest62`(~user@49.5.6.87) (Ping timeout: 272 seconds)
2021-06-02 09:13:56 +0200shriekingnoise(~shrieking@186.137.144.80)
2021-06-02 09:14:41 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel) (Ping timeout: 264 seconds)
2021-06-02 09:15:10 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-06-02 09:15:18 +0200Guest6937(bart@kobayashi.com.pl) (Quit: WeeChat 3.1)
2021-06-02 09:15:31 +0200bjfs(bart@kobayashi.com.pl)
2021-06-02 09:15:50 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2021-06-02 09:17:34 +0200satai(~satai@static-84-42-172-253.net.upcbroadband.cz)
2021-06-02 09:17:38 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:2e4f:b94a:ab3f:8431)
2021-06-02 09:20:42 +0200bor0(~boro@user/bor0)
2021-06-02 09:21:30 +0200beka(~beka@104.193.170-254.PUBLIC.monkeybrains.net) (Ping timeout: 272 seconds)
2021-06-02 09:25:30 +0200favonia(~favonia@user/favonia) (Ping timeout: 264 seconds)
2021-06-02 09:26:07 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel)
2021-06-02 09:27:53 +0200favonia(~favonia@user/favonia)
2021-06-02 09:28:14 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-06-02 09:29:26 +0200chele_(~chele@user/chele)
2021-06-02 09:29:48 +0200dpl_(~dpl@77-121-78-163.chn.volia.net)
2021-06-02 09:30:11 +0200shriekingnoise(~shrieking@186.137.144.80) (Quit: Quit)
2021-06-02 09:30:20 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel) (Ping timeout: 245 seconds)
2021-06-02 09:31:06 +0200rk04(~rk04@user/rajk) (Ping timeout: 250 seconds)
2021-06-02 09:32:18 +0200chele(~chele@user/chele) (Ping timeout: 268 seconds)
2021-06-02 09:32:43 +0200chele_chele
2021-06-02 09:37:00 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-06-02 09:41:59 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel)
2021-06-02 09:42:31 +0200dunkeln(~dunkeln@94.129.65.28)
2021-06-02 09:44:56 +0200mattil(~mattil@airio.portalify.com) (Ping timeout: 272 seconds)
2021-06-02 09:45:10 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-02 09:46:50 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel) (Ping timeout: 272 seconds)
2021-06-02 09:51:56 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel)
2021-06-02 09:52:04 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5878:fcfd:e07b:ffd9) (Remote host closed the connection)
2021-06-02 09:52:21 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel) (Client Quit)
2021-06-02 09:54:19 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-06-02 09:55:06 +0200pera(~pera@0541db7e.skybroadband.com)
2021-06-02 09:55:29 +0200zeenk(~zeenk@2a02:2f04:a310:b600:b098:bf18:df4d:4c41)
2021-06-02 09:55:29 +0200peraGuest6551
2021-06-02 09:58:15 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-02 09:59:20 +0200pfurla_(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-06-02 10:00:43 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2021-06-02 10:00:56 +0200rk04(~rk04@user/rajk)
2021-06-02 10:01:08 +0200chele_(~chele@user/chele)
2021-06-02 10:01:11 +0200cheleGuest5174
2021-06-02 10:01:11 +0200chele_chele
2021-06-02 10:01:21 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Client Quit)
2021-06-02 10:01:38 +0200chomwitt(~Pitsikoko@athedsl-20549.home.otenet.gr) (Remote host closed the connection)
2021-06-02 10:01:39 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2021-06-02 10:01:48 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Client Quit)
2021-06-02 10:02:02 +0200pfurla(~pfurla@5.15.195.173.client.static.strong-in52.as13926.net) (Ping timeout: 252 seconds)
2021-06-02 10:02:03 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2021-06-02 10:02:41 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 264 seconds)
2021-06-02 10:03:15 +0200Guest5174(~chele@user/chele) (Ping timeout: 245 seconds)
2021-06-02 10:05:30 +0200rk04(~rk04@user/rajk) (Client Quit)
2021-06-02 10:06:18 +0200favonia(~favonia@user/favonia) (Ping timeout: 264 seconds)
2021-06-02 10:06:39 +0200shryke_(~shryke@91.103.43.254)
2021-06-02 10:07:43 +0200favonia(~favonia@user/favonia)
2021-06-02 10:08:05 +0200alp(~alp@163.172.83.213) (Changing host)
2021-06-02 10:08:05 +0200alp(~alp@user/alp)
2021-06-02 10:09:20 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Quit: Lost terminal)
2021-06-02 10:09:28 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 252 seconds)
2021-06-02 10:10:00 +0200larkfisherman(~larkfishe@217.75.204.126)
2021-06-02 10:10:18 +0200_xft0(~root@185.234.208.208.r.toneticgroup.pl)
2021-06-02 10:12:57 +0200hendursaga(~weechat@user/hendursaga)
2021-06-02 10:13:27 +0200dhil(~dhil@195.213.192.85)
2021-06-02 10:15:36 +0200michalz(~user@185.246.204.60)
2021-06-02 10:17:00 +0200sqrt2(~ben@tunnel330957-pt.tunnel.tserv6.fra1.ipv6.he.net) (Ping timeout: 244 seconds)
2021-06-02 10:17:27 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-06-02 10:19:23 +0200gehmehgeh(~user@user/gehmehgeh)
2021-06-02 10:20:38 +0200sqrt2(~ben@tunnel330957-pt.tunnel.tserv6.fra1.ipv6.he.net)
2021-06-02 10:21:09 +0200shryke_(~shryke@91.103.43.254) (Quit: WeeChat 3.1)
2021-06-02 10:21:38 +0200shryke(~shryke@91.103.43.254)
2021-06-02 10:22:13 +0200ccapndave(~ccapndave@84-73-232-220.dclient.hispeed.ch)
2021-06-02 10:22:44 +0200 <ccapndave> Morning! How can I write this in point-free style? isValidChar c = isAscii c && isAlpha c
2021-06-02 10:23:25 +0200 <opqdonut> :t liftA2 (&&) isAscii isAlpha -- using the Applicative ((->) r) instance
2021-06-02 10:23:26 +0200 <lambdabot> Char -> Bool
2021-06-02 10:24:00 +0200boxscape(~boxscape@user/boxscape)
2021-06-02 10:24:21 +0200fendor_(~fendor@178.115.57.160.wireless.dyn.drei.com)
2021-06-02 10:24:26 +0200 <dminuoso> Depending on frequency, I sometimes find myself writing: (.&&.) = liftA2 (&&)
2021-06-02 10:24:43 +0200 <ccapndave> Awesome! Thanks very much
2021-06-02 10:24:52 +0200 <dminuoso> (And (.||.) = liftA2 (||) equivalent)
2021-06-02 10:25:08 +0200 <opqdonut> :t All . isAlpha <> All . isAscii -- using the Monoid m => Monoid (r->m) istance
2021-06-02 10:25:09 +0200 <lambdabot> Char -> All
2021-06-02 10:25:20 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds)
2021-06-02 10:25:42 +0200 <boxscape> I recently discovered the Boolean package which just lets you do `isAlpha && isAscii`
2021-06-02 10:25:44 +0200 <opqdonut> :t getAll . (All . isAlpha <> All . isAscii) -- let's unwrap
2021-06-02 10:25:44 +0200 <lambdabot> Char -> Bool
2021-06-02 10:26:08 +0200 <dminuoso> % :t ala Sum foldMap [even, odd]
2021-06-02 10:26:09 +0200 <yahb> dminuoso: (Integral a, Num (a -> Bool)) => a -> Bool
2021-06-02 10:26:29 +0200 <dminuoso> uh no wait
2021-06-02 10:26:31 +0200 <dminuoso> this is strange
2021-06-02 10:26:59 +0200fendor(~fendor@178.165.178.245.wireless.dyn.drei.com) (Ping timeout: 272 seconds)
2021-06-02 10:27:19 +0200 <boxscape> % :t cotraverse and [even, odd]
2021-06-02 10:27:19 +0200 <yahb> boxscape: Integral a => a -> Bool
2021-06-02 10:27:29 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-06-02 10:27:33 +0200 <dminuoso> That's cute
2021-06-02 10:27:44 +0200dpl_(~dpl@77-121-78-163.chn.volia.net) (Read error: Connection reset by peer)
2021-06-02 10:27:55 +0200 <ccapndave> boxscape: https://hackage.haskell.org/package/Boolean-0.2.4/candidate/docs/Data-Boolean.html this one?
2021-06-02 10:28:08 +0200dpl_(~dpl@77-121-78-163.chn.volia.net)
2021-06-02 10:28:21 +0200 <boxscape> ccapndave yep, though this module in particular is what redefines && https://hackage.haskell.org/package/Boolean-0.2.4/docs/Data-Boolean-Overload.html
2021-06-02 10:29:19 +0200 <ccapndave> Stack doesn't seem to know about this package
2021-06-02 10:29:30 +0200 <boxscape> :(
2021-06-02 10:29:38 +0200 <ccapndave> Ah well, `liftA2` is fine
2021-06-02 10:29:52 +0200 <opqdonut> yeah that's what people use in practice
2021-06-02 10:30:27 +0200FreeVariable(~Thunderbi@2a02:aa12:540:e480:d738:2660:2e:8993)
2021-06-02 10:30:29 +0200 <ccapndave> Thanks a lot. I had better get back to my day job :)
2021-06-02 10:30:49 +0200 <ccapndave> Haskell has a way of taking my attention away from what I am supposed to be doing
2021-06-02 10:30:59 +0200 <opqdonut> I know
2021-06-02 10:31:34 +0200FreeVariable(~Thunderbi@2a02:aa12:540:e480:d738:2660:2e:8993) (Client Quit)
2021-06-02 10:31:38 +0200 <opqdonut> speaking of Haskell, I just pushed the final lecture of my online haskell course: https://haskell.mooc.fi/
2021-06-02 10:31:43 +0200 <boxscape> :t isAlpha &liftA2 (&&)$ isAscii -- I wish we had a nicer way of modifying operators with liftA2
2021-06-02 10:31:44 +0200 <lambdabot> Char -> Bool
2021-06-02 10:31:52 +0200 <opqdonut> part 2 is still technically "in preview", but there should be no major changes
2021-06-02 10:32:18 +0200 <ccapndave> Awesome!
2021-06-02 10:32:23 +0200 <ccapndave> I'll check it out
2021-06-02 10:32:30 +0200 <ccapndave> *after* doing some actual work ;)
2021-06-02 10:33:59 +0200FreeVariable(~Thunderbi@2a02:aa12:540:e480:d738:2660:2e:8993)
2021-06-02 10:35:07 +0200xprlgjf(~gavin@60.27.93.209.dyn.plus.net)
2021-06-02 10:36:22 +0200ccapndave(~ccapndave@84-73-232-220.dclient.hispeed.ch) (Quit: Leaving...)
2021-06-02 10:42:41 +0200tcard(~tcard@p2307053-ipngn17101hodogaya.kanagawa.ocn.ne.jp) (Remote host closed the connection)
2021-06-02 10:42:55 +0200tcard(~tcard@p2307053-ipngn17101hodogaya.kanagawa.ocn.ne.jp)
2021-06-02 10:43:17 +0200fabfianda(~fabfianda@net-93-148-125-174.cust.vodafonedsl.it) (Ping timeout: 252 seconds)
2021-06-02 10:44:15 +0200fabfianda(~fabfianda@mob-5-90-244-84.net.vodafone.it)
2021-06-02 10:46:06 +0200ukari(~ukari@user/ukari)
2021-06-02 10:47:15 +0200FreeVariable(~Thunderbi@2a02:aa12:540:e480:d738:2660:2e:8993) (Quit: FreeVariable)
2021-06-02 10:47:44 +0200FreeVariable(~Thunderbi@2a02:aa12:540:e480:d738:2660:2e:8993)
2021-06-02 10:48:07 +0200batman_(~batman@x4db91071.dyn.telefonica.de)
2021-06-02 10:48:24 +0200batman_(~batman@x4db91071.dyn.telefonica.de) (Client Quit)
2021-06-02 10:48:27 +0200FreeVariable(~Thunderbi@2a02:aa12:540:e480:d738:2660:2e:8993) (Client Quit)
2021-06-02 10:48:53 +0200FreeVariable(~Thunderbi@2a02:aa12:540:e480:d738:2660:2e:8993)
2021-06-02 10:49:18 +0200FreeVariable(~Thunderbi@2a02:aa12:540:e480:d738:2660:2e:8993) (Client Quit)
2021-06-02 10:50:50 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2021-06-02 10:52:24 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5878:fcfd:e07b:ffd9)
2021-06-02 10:52:30 +0200kuribas(~user@ptr-25vy0i6y10noc9bho8l.18120a2.ip6.access.telenet.be)
2021-06-02 10:54:55 +0200dpl_(~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 245 seconds)
2021-06-02 10:56:40 +0200FreeVariable(~Thunderbi@2a02:aa12:540:e480:d738:2660:2e:8993)
2021-06-02 10:57:18 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5878:fcfd:e07b:ffd9) (Ping timeout: 264 seconds)
2021-06-02 10:58:42 +0200 <ukari> for `foo x y = bar x >> bar y`, it could be rewrite to `foo x = ((>>) . bar) x . bar` through `foo x y = (>>) (bar x) . bar $ y`. how to rewrite it to `foo = (. bar) . (>>) . bar`?
2021-06-02 10:59:42 +0200azeem(~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Ping timeout: 264 seconds)
2021-06-02 10:59:44 +0200 <[exa]> ukari: as the first thing, flip the `.` in the middle (flip (.) ...)
2021-06-02 11:00:06 +0200 <[exa]> then you should be able to do it just by adding one more `.` to get the `x` "out" of the second parameter
2021-06-02 11:00:19 +0200nschoe(~quassel@2a01:e0a:8e:a190:184d:3a8c:7727:6c6d)
2021-06-02 11:00:45 +0200 <[exa]> OR, use lambdabots great @pl functionality. :]
2021-06-02 11:01:05 +0200FreeVariable(~Thunderbi@2a02:aa12:540:e480:d738:2660:2e:8993) (Client Quit)
2021-06-02 11:03:55 +0200 <ukari> thanks you, [exa], I have get the `foo = flip (.) bar . ((>>) . bar)`
2021-06-02 11:04:14 +0200ubert(~Thunderbi@p200300ecdf259da5e6b318fffe838f33.dip0.t-ipconnect.de)
2021-06-02 11:04:50 +0200 <[exa]> yap that looks right
2021-06-02 11:05:26 +0200 <[exa]> not "optically better" tho
2021-06-02 11:05:39 +0200 <[exa]> I'd vote for `traverse bar [x,y]` or something
2021-06-02 11:06:24 +0200 <[exa]> (given you'd desperately want to "simplify" the original expression)
2021-06-02 11:07:59 +0200azeem(~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it)
2021-06-02 11:09:44 +0200exarkun(~exarkun@user/exarkun) (Remote host closed the connection)
2021-06-02 11:10:17 +0200exarkun(~exarkun@user/exarkun)
2021-06-02 11:11:15 +0200Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 244 seconds)
2021-06-02 11:13:00 +0200Maxdamantus(~Maxdamant@user/maxdamantus)
2021-06-02 11:13:54 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2021-06-02 11:14:14 +0200favonia(~favonia@user/favonia) (Ping timeout: 272 seconds)
2021-06-02 11:14:39 +0200favonia(~favonia@user/favonia)
2021-06-02 11:15:07 +0200Kaivo(~Kaivo@user/kaivo) (Ping timeout: 272 seconds)
2021-06-02 11:15:17 +0200 <ukari> summary about pointfree style for `foo x y = bar x >> bar y`, https://gist.github.com/ukari/6402acdcc61489c6625027d65a59bcc9
2021-06-02 11:17:50 +0200fabfianda(~fabfianda@mob-5-90-244-84.net.vodafone.it) (Ping timeout: 245 seconds)
2021-06-02 11:18:23 +0200fabfianda(~fabfianda@net-93-148-125-174.cust.dsl.teletu.it)
2021-06-02 11:18:31 +0200 <[exa]> o nice
2021-06-02 11:18:45 +0200Kaivo(~Kaivo@user/kaivo)
2021-06-02 11:19:31 +0200Pixi_(~Pixi@user/pixi)
2021-06-02 11:21:18 +0200 <boxscape> hm wikipedia lists an algorithm for converting into a pointfree expression (ie an expression in SK calculus) that has length Θ(n^3)
2021-06-02 11:21:19 +0200 <boxscape> I'm pretty sure you could do Θ(n) though
2021-06-02 11:21:25 +0200 <boxscape> You "just" need to write a lambda calculus interpreter pointfreely, and then attach the lambda term encoded with S and K combinators, giving you the constant length of the interpreter plus O(n) for the lambda term
2021-06-02 11:22:01 +0200 <boxscape> (n being the length of the original lambda expression)
2021-06-02 11:22:16 +0200 <river> true
2021-06-02 11:23:09 +0200Pixi(~Pixi@user/pixi) (Ping timeout: 272 seconds)
2021-06-02 11:24:15 +0200ixlun(~matthew@109.249.184.235)
2021-06-02 11:27:56 +0200sondre(~sondrelun@cm-84.212.100.140.getinternet.no)
2021-06-02 11:29:21 +0200wei2912(~wei2912@112.199.250.21) (Quit: Lost terminal)
2021-06-02 11:30:56 +0200dpl_(~dpl@77-121-78-163.chn.volia.net)
2021-06-02 11:34:30 +0200favonia(~favonia@user/favonia) (Ping timeout: 272 seconds)
2021-06-02 11:34:55 +0200favonia(~favonia@user/favonia)
2021-06-02 11:35:22 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2-dev)
2021-06-02 11:37:11 +0200Kaivo(~Kaivo@user/kaivo) (Ping timeout: 252 seconds)
2021-06-02 11:37:13 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-06-02 11:38:48 +0200Kaivo(~Kaivo@user/kaivo)
2021-06-02 11:41:31 +0200ku(~ku@2601:280:c780:7ea0:3536:1caf:f72e:47bc)
2021-06-02 11:42:30 +0200thiross(~thiross@173.242.113.143.16clouds.com)
2021-06-02 11:46:58 +0200thiross(~thiross@173.242.113.143.16clouds.com) (Client Quit)
2021-06-02 11:47:41 +0200thiross(~thiross@173.242.113.143.16clouds.com)
2021-06-02 11:48:58 +0200koishi_(~koishi_@67.209.186.120.16clouds.com)
2021-06-02 11:49:59 +0200koishi_(~koishi_@67.209.186.120.16clouds.com) (Remote host closed the connection)
2021-06-02 11:52:30 +0200ccntrq(~ccntrq@business-90-187-183-141.pool2.vodafone-ip.de)
2021-06-02 11:53:55 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-06-02 11:54:02 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5878:fcfd:e07b:ffd9)
2021-06-02 11:56:02 +0200favonia(~favonia@user/favonia) (Ping timeout: 272 seconds)
2021-06-02 11:56:27 +0200favonia(~favonia@user/favonia)
2021-06-02 11:59:04 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5878:fcfd:e07b:ffd9) (Ping timeout: 268 seconds)
2021-06-02 12:00:45 +0200dpl_(~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 245 seconds)
2021-06-02 12:01:02 +0200shryke_(~shryke@91.103.43.254)
2021-06-02 12:02:07 +0200tonyday(~user@202-65-93-249.ip4.superloop.com) (Read error: Connection reset by peer)
2021-06-02 12:02:25 +0200tonyday(~user@202-65-93-249.ip4.superloop.com)
2021-06-02 12:04:04 +0200thiross(~thiross@173.242.113.143.16clouds.com) (Ping timeout: 250 seconds)
2021-06-02 12:04:30 +0200shryke(~shryke@91.103.43.254) (Ping timeout: 245 seconds)
2021-06-02 12:06:35 +0200fabfianda(~fabfianda@net-93-148-125-174.cust.dsl.teletu.it) (Ping timeout: 245 seconds)
2021-06-02 12:07:03 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:2e4f:b94a:ab3f:8431) (Ping timeout: 244 seconds)
2021-06-02 12:07:21 +0200fabfianda(~fabfianda@mob-5-90-240-15.net.vodafone.it)
2021-06-02 12:07:26 +0200tonyday(~user@202-65-93-249.ip4.superloop.com) (Ping timeout: 272 seconds)
2021-06-02 12:11:24 +0200favonia(~favonia@user/favonia) (Ping timeout: 268 seconds)
2021-06-02 12:11:47 +0200benin4(~benin@183.82.205.186)
2021-06-02 12:11:49 +0200favonia(~favonia@user/favonia)
2021-06-02 12:12:18 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:ca30:4180:833e:bce9)
2021-06-02 12:12:30 +0200benin(~benin@183.82.205.186) (Ping timeout: 272 seconds)
2021-06-02 12:12:30 +0200benin4benin
2021-06-02 12:13:45 +0200k3nny(~k3nny@user/k3nny)
2021-06-02 12:16:25 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2021-06-02 12:17:37 +0200haskman(~haskman@106.201.29.153) (Ping timeout: 272 seconds)
2021-06-02 12:18:18 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 264 seconds)
2021-06-02 12:19:28 +0200fabfianda(~fabfianda@mob-5-90-240-15.net.vodafone.it) (Ping timeout: 272 seconds)
2021-06-02 12:19:40 +0200fabfianda(~fabfianda@net-93-148-125-174.cust.dsl.teletu.it)
2021-06-02 12:20:59 +0200rk04(~rk04@user/rajk)
2021-06-02 12:22:46 +0200dpl_(~dpl@77-121-78-163.chn.volia.net)
2021-06-02 12:26:44 +0200ubikium(~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net)
2021-06-02 12:29:02 +0200scn(~user@2600:6c54:4500:1849:11c9:ec1e:8500:8c64)
2021-06-02 12:32:49 +0200favonia(~favonia@user/favonia) (Ping timeout: 272 seconds)
2021-06-02 12:33:03 +0200scn(~user@2600:6c54:4500:1849:11c9:ec1e:8500:8c64) (Quit: ERC (IRC client for Emacs 27.1))
2021-06-02 12:33:13 +0200favonia(~favonia@user/favonia)
2021-06-02 12:33:24 +0200dhil(~dhil@195.213.192.85) (Ping timeout: 272 seconds)
2021-06-02 12:35:15 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2-dev)
2021-06-02 12:36:04 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-06-02 12:36:45 +0200amk(~amk@176.61.106.150) (Remote host closed the connection)
2021-06-02 12:37:04 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit)
2021-06-02 12:37:17 +0200bor0(~boro@user/bor0) (Quit: Leaving)
2021-06-02 12:37:40 +0200haskman(~haskman@223.190.0.187)
2021-06-02 12:37:55 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
2021-06-02 12:38:49 +0200lavaman(~lavaman@98.38.249.169)
2021-06-02 12:39:26 +0200amk(~amk@176.61.106.150)
2021-06-02 12:41:43 +0200dhil(~dhil@195.213.192.85)
2021-06-02 12:43:16 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
2021-06-02 12:45:07 +0200berberman(~berberman@user/berberman) (Ping timeout: 265 seconds)
2021-06-02 12:45:13 +0200berberman_(~berberman@user/berberman)
2021-06-02 12:46:56 +0200img(~img@2405:6580:b1c0:2500:1e68:3732:5209:e4c0) (Quit: ZNC 1.8.1 - https://znc.in)
2021-06-02 12:47:43 +0200rk04(~rk04@user/rajk) (Quit: Client closed)
2021-06-02 12:49:15 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-06-02 12:49:47 +0200img(~img@2405:6580:b1c0:2500:2508:a86c:693c:5a39)
2021-06-02 12:49:59 +0200fendor_fendor
2021-06-02 12:56:06 +0200azeem(~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Ping timeout: 264 seconds)
2021-06-02 12:56:19 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-06-02 12:57:40 +0200raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-06-02 13:00:20 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds)
2021-06-02 13:06:49 +0200ru0mad(~ru0mad@82-64-17-144.subs.proxad.net)
2021-06-02 13:08:38 +0200y04nn(~y04nn@193.32.127.220)
2021-06-02 13:08:50 +0200_xft0(~root@185.234.208.208.r.toneticgroup.pl) (Quit: leaving)
2021-06-02 13:09:40 +0200xsperry(~as@user/xsperry)
2021-06-02 13:10:08 +0200shryke_(~shryke@91.103.43.254) (Ping timeout: 272 seconds)
2021-06-02 13:10:32 +0200 <ziman> i'm writing an algorithm (check various caches, if they all miss, do something expensive) that can short-circuit in two ways: 1) cache hit, 2) some error. Is there a neat way of expressing this? Now I'm using MonadFail to express the errors but the cache lookups still cause a indentation cascade of case expressions, where the (Just hitData) branch is always (return hitData).
2021-06-02 13:10:57 +0200 <ziman> I find it hard to google.
2021-06-02 13:11:01 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-06-02 13:11:51 +0200ru0mad(~ru0mad@82-64-17-144.subs.proxad.net) (Remote host closed the connection)
2021-06-02 13:12:17 +0200ru0mad(~ru0mad@82-64-17-144.subs.proxad.net)
2021-06-02 13:12:25 +0200cheater1__(~Username@user/cheater)
2021-06-02 13:12:27 +0200cheater(~Username@user/cheater) (Ping timeout: 268 seconds)
2021-06-02 13:12:37 +0200cheater1__cheater
2021-06-02 13:12:59 +0200ru0mad(~ru0mad@82-64-17-144.subs.proxad.net) (Remote host closed the connection)
2021-06-02 13:13:24 +0200ru0mad(~ru0mad@82-64-17-144.subs.proxad.net)
2021-06-02 13:13:25 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-06-02 13:13:42 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2-dev)
2021-06-02 13:14:01 +0200ru0mad(~ru0mad@82-64-17-144.subs.proxad.net) (Client Quit)
2021-06-02 13:15:20 +0200wanagnuj(~wanagnuj@101.95.97.158) (Ping timeout: 245 seconds)
2021-06-02 13:16:14 +0200 <boxscape> ziman I don't have extensive experience with it but that seems like a use case for callCC, which lets you return early
2021-06-02 13:16:22 +0200 <boxscape> https://en.m.wikibooks.org/wiki/Haskell/Continuation_passing_style (search for callcc here)
2021-06-02 13:16:22 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-06-02 13:16:52 +0200 <boxscape> ziman you could combine ContT with ExceptT to get both the ability to return early and the ability to throw an error
2021-06-02 13:18:08 +0200 <ziman> ah, i see
2021-06-02 13:18:48 +0200 <ziman> yeah, that would probably work for my use case
2021-06-02 13:19:38 +0200ikex(~ash@user/ikex)
2021-06-02 13:20:52 +0200ixlun(~matthew@109.249.184.235) (Read error: Connection reset by peer)
2021-06-02 13:28:03 +0200 <boxscape> ziman I suppose you could also only use Cont without Except and have the function live in Cont r (Either Error Result), not sure which would be more convenient
2021-06-02 13:29:12 +0200haskman(~haskman@223.190.0.187) (Quit: Going to sleep. ZZZzzz…)
2021-06-02 13:29:38 +0200 <ziman> i think i'd prefer to have two distinct "throws"
2021-06-02 13:29:42 +0200 <boxscape> fair
2021-06-02 13:29:43 +0200 <ziman> but it's an interesting question
2021-06-02 13:30:19 +0200 <ziman> well, in other words, i'd like (pure x) return the success thing without me having to wrap it in Right
2021-06-02 13:30:46 +0200 <ziman> because otherwise the monad instance would be annoying, i imagine
2021-06-02 13:30:58 +0200 <ziman> like not being able to fmap stuff easily and such
2021-06-02 13:31:02 +0200boxscape10(~boxscape@user/boxscape)
2021-06-02 13:31:25 +0200 <boxscape10> ziman are you familiar with mtl style?
2021-06-02 13:31:36 +0200azeem(~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it)
2021-06-02 13:32:01 +0200 <ziman> i use mtl but i'm not sure what you mean by the "mtl style"; do you mean autolifting via typeclasses?
2021-06-02 13:32:06 +0200 <boxscape10> yeah
2021-06-02 13:32:27 +0200 <boxscape10> but if you use mtl I imagine the answer is yes :)
2021-06-02 13:32:45 +0200 <ziman> hmm, is there an autolifted version of "pure"?
2021-06-02 13:32:57 +0200 <ziman> not sure if that makes sense, even
2021-06-02 13:33:27 +0200 <boxscape10> erm, I suppose I say pure is already autolifted IIUC
2021-06-02 13:33:34 +0200 <boxscape10> s/I say/I would say
2021-06-02 13:33:54 +0200favonia(~favonia@user/favonia) (Ping timeout: 264 seconds)
2021-06-02 13:34:01 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-02 13:34:55 +0200boxscape(~boxscape@user/boxscape) (Ping timeout: 245 seconds)
2021-06-02 13:34:55 +0200Guest6551(~pera@0541db7e.skybroadband.com) (Ping timeout: 245 seconds)
2021-06-02 13:35:27 +0200favonia(~favonia@user/favonia)
2021-06-02 13:36:47 +0200 <ziman> oh, right, because you'd use the transformer formulation then
2021-06-02 13:37:31 +0200haskman(~haskman@223.190.0.187)
2021-06-02 13:37:39 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Client Quit)
2021-06-02 13:37:47 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-02 13:38:07 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Client Quit)
2021-06-02 13:38:15 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-02 13:39:09 +0200habib(~habib@89.38.69.197)
2021-06-02 13:39:24 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Client Quit)
2021-06-02 13:39:33 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-02 13:39:48 +0200boxscape10boxscape
2021-06-02 13:40:30 +0200 <habib> hey, can anyone tell me if `(a <=< b) . c` is equivalent to `a <=< (b . c)`, and/or how to check the equivalence of different bracketed statements in the general case?
2021-06-02 13:40:48 +0200 <hpc> :t \a b c -> (a <=< b) . c
2021-06-02 13:40:49 +0200 <lambdabot> Monad m => (b -> m c) -> (a1 -> m b) -> (a2 -> a1) -> a2 -> m c
2021-06-02 13:40:55 +0200 <hpc> :t \a b c -> a <=< (b . c)
2021-06-02 13:40:56 +0200 <lambdabot> Monad m => (b1 -> m c) -> (b2 -> m b1) -> (a -> b2) -> a -> m c
2021-06-02 13:42:04 +0200 <hpc> you could do it with equational reasoning
2021-06-02 13:42:14 +0200 <merijn> @check \f g h x -> ((f <=< g) . h) x == (f <=< (g . h)) x
2021-06-02 13:42:15 +0200 <lambdabot> error:
2021-06-02 13:42:15 +0200 <lambdabot> • No instance for (Typeable m0) arising from a use of ‘myquickcheck’ • In th...
2021-06-02 13:42:18 +0200 <merijn> aww
2021-06-02 13:42:23 +0200 <hpc> expand out the definition of (.) and (<=<), and use the Monad laws to turn them into the same equation
2021-06-02 13:42:40 +0200 <hpc> or well, same expression
2021-06-02 13:42:56 +0200 <habib> i guess that's my final resort, just manually expanding it
2021-06-02 13:43:36 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-06-02 13:44:03 +0200 <habib> what i really care about is doing `a <=< b . c` without brackets and knowing that it's equivalent to the one i want `a <=< (b . c)`, but if the one i want is also equivalent to the other one, it doesn't matter which way the unbracketed expression resolves to
2021-06-02 13:44:30 +0200 <habib> in fact, if they're both equivalent, that's happy days, because then it means i don't have to put brackets when i want it the other way as well
2021-06-02 13:45:01 +0200hmmmas(~chenqisu1@183.217.202.217) (Quit: Leaving.)
2021-06-02 13:45:08 +0200dunkeln(~dunkeln@94.129.65.28) (Ping timeout: 268 seconds)
2021-06-02 13:46:36 +0200 <habib> thanks hpc, i'll just do the expansion tonight
2021-06-02 13:46:46 +0200 <lyxia> @check \fgh x -> let f,g :: Int -> [Int] ; h :: Int -> Int ; (Fn f, Fn g, Fn h) = fgh in ((f <=< g) . h) x === (f <=< (g . h)) x
2021-06-02 13:46:47 +0200 <lambdabot> +++ OK, passed 100 tests.
2021-06-02 13:47:55 +0200 <hpc> jeez, i need to properly learn quickcheck
2021-06-02 13:48:15 +0200 <habib> oh nice
2021-06-02 13:48:15 +0200dunkeln(~dunkeln@94.129.65.28)
2021-06-02 13:49:33 +0200 <habib> that's confidence enough for me with what i'm doing if i do a manual test and things still work the same
2021-06-02 13:49:39 +0200 <habib> thanks lyxia
2021-06-02 13:50:09 +0200 <habib> i gotta get back to work now ha; i'll use this tonight
2021-06-02 13:50:21 +0200habib(~habib@89.38.69.197) ()
2021-06-02 13:51:27 +0200haltux_(~haltux@a89-154-181-47.cpe.netcabo.pt)
2021-06-02 13:51:37 +0200thiross(~user@173.242.113.143.16clouds.com)
2021-06-02 13:51:45 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Quit: WeeChat 3.1)
2021-06-02 13:51:54 +0200haltux(~haltux@a89-154-181-47.cpe.netcabo.pt) (Ping timeout: 264 seconds)
2021-06-02 13:52:19 +0200shryke_(~shryke@91.103.43.254)
2021-06-02 13:52:30 +0200pera(~pera@0541db7e.skybroadband.com)
2021-06-02 13:52:54 +0200peraGuest3322
2021-06-02 13:54:18 +0200smitop(uid328768@user/smitop)
2021-06-02 13:55:07 +0200thiross(~user@173.242.113.143.16clouds.com) (Remote host closed the connection)
2021-06-02 13:55:29 +0200exarkun(~exarkun@user/exarkun) (Remote host closed the connection)
2021-06-02 13:55:38 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5878:fcfd:e07b:ffd9)
2021-06-02 13:55:49 +0200ubikium(~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Read error: Connection reset by peer)
2021-06-02 13:56:02 +0200exarkun(~exarkun@user/exarkun)
2021-06-02 13:56:09 +0200shryke_(~shryke@91.103.43.254) (Client Quit)
2021-06-02 13:58:57 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-06-02 14:00:22 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-02 14:00:33 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5878:fcfd:e07b:ffd9) (Ping timeout: 268 seconds)
2021-06-02 14:02:14 +0200ubikium(~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net)
2021-06-02 14:03:58 +0200ikex(~ash@user/ikex) (Ping timeout: 272 seconds)
2021-06-02 14:04:52 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 268 seconds)
2021-06-02 14:08:24 +0200azeem(~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-06-02 14:09:08 +0200zebrag(~chris@user/zebrag)
2021-06-02 14:09:11 +0200ikex(~ash@user/ikex)
2021-06-02 14:09:46 +0200GuYuChina(~GuYuChina@120.244.202.156)
2021-06-02 14:10:05 +0200GuYuChina(~GuYuChina@120.244.202.156) ()
2021-06-02 14:13:00 +0200azeem(~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it)
2021-06-02 14:13:56 +0200dutchgriffon(~laurens@2604:3d08:4383:6200:14a:dacb:8b69:ead6) (Ping timeout: 252 seconds)
2021-06-02 14:15:04 +0200dutchgriffon(~laurens@2604:3d08:4383:6200:1c6:2d20:b4b0:b2cf)
2021-06-02 14:18:06 +0200benin8(~benin@106.198.94.140)
2021-06-02 14:18:20 +0200ptrcmd(~ptrcmd@user/ptrcmd) (Quit: Lost terminal)
2021-06-02 14:19:23 +0200jacks2(~bc817c21@217.29.117.252)
2021-06-02 14:19:25 +0200ptrcmd(~ptrcmd@user/ptrcmd)
2021-06-02 14:19:55 +0200benin(~benin@183.82.205.186) (Ping timeout: 245 seconds)
2021-06-02 14:21:29 +0200 <jacks2> hi. where can I find textual source that is in the gif on this page? http://hackage.haskell.org/package/concurrent-output
2021-06-02 14:21:32 +0200 <jacks2> I tried google but no luck
2021-06-02 14:21:43 +0200benin(benin@gateway/vpn/protonvpn/benin)
2021-06-02 14:23:21 +0200 <Taneb> jacks2: https://git.joeyh.name/index.cgi/concurrent-output.git/tree/demo2.hs
2021-06-02 14:23:41 +0200benin8(~benin@106.198.94.140) (Ping timeout: 264 seconds)
2021-06-02 14:23:52 +0200 <jacks2> thanks!
2021-06-02 14:23:55 +0200 <Taneb> I went to the website linked to as the source repo on Hackage, and saw there was a demo2.hs file
2021-06-02 14:25:12 +0200 <jacks2> yeah, I missed it
2021-06-02 14:25:17 +0200 <jacks2> pretty nifty library.
2021-06-02 14:26:02 +0200 <jacks2> demo works flawlessly on linux, would be nice if it worked on other OSes as well. I'll have to test
2021-06-02 14:29:14 +0200leeb(~leeb@KD111239154171.au-net.ne.jp)
2021-06-02 14:30:52 +0200Guest5(~Guest5@040-194-158-163.dynamic.caiway.nl)
2021-06-02 14:30:54 +0200dpl_(~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 264 seconds)
2021-06-02 14:31:00 +0200cheater(~Username@user/cheater) (Remote host closed the connection)
2021-06-02 14:31:05 +0200 <Guest5> Hi, I have a strange Haskell problem
2021-06-02 14:31:19 +0200v01d4lph4(~v01d4lph4@user/v01d4lph4) (Remote host closed the connection)
2021-06-02 14:31:36 +0200 <Guest5> I have a list `[c, b, a]`, I then call `reverse` on the list and it gives back `[b, a, c]`
2021-06-02 14:31:51 +0200 <Guest5> How is that possible?
2021-06-02 14:31:53 +0200v01d4lph4(~v01d4lph4@user/v01d4lph4)
2021-06-02 14:32:09 +0200 <jacks2> > reverse [1, 2, 3]
2021-06-02 14:32:11 +0200 <lambdabot> [3,2,1]
2021-06-02 14:32:11 +0200 <merijn> > reverse [ 3, 2, 1]
2021-06-02 14:32:13 +0200 <lambdabot> [1,2,3]
2021-06-02 14:32:43 +0200int-ecan think of dirty runST/unsafeInterleaveST tricks to do that kind of thing
2021-06-02 14:32:44 +0200 <merijn> Pretty sure you're calling the wrong reverse function
2021-06-02 14:33:01 +0200dpl_(~dpl@77-121-78-163.chn.volia.net)
2021-06-02 14:33:06 +0200benin(benin@gateway/vpn/protonvpn/benin) (Ping timeout: 272 seconds)
2021-06-02 14:33:07 +0200 <merijn> int-e: When you hear hooves, think horses, not zebras ;)
2021-06-02 14:33:18 +0200 <merijn> Well, unless you live in Africa, I suppose!
2021-06-02 14:33:28 +0200 <int-e> > reverse [c,b,a]
2021-06-02 14:33:29 +0200 <lambdabot> [a,b,c]
2021-06-02 14:33:43 +0200 <Guest5> ```
2021-06-02 14:33:47 +0200 <Guest5> ```flattenApp :: Surface -> (Surface, [Surface])
2021-06-02 14:33:48 +0200 <Guest5> flattenApp s = let (f', as) = go s in (f', reverse as)
2021-06-02 14:33:48 +0200 <Guest5> where
2021-06-02 14:33:49 +0200 <Guest5> go (SApp f a) = let (f', as) = flattenApp f in (f', a : as)
2021-06-02 14:33:49 +0200 <Guest5> go s = (s, [])
2021-06-02 14:33:50 +0200 <Guest5> reverse [] = []
2021-06-02 14:33:50 +0200Guest5(~Guest5@040-194-158-163.dynamic.caiway.nl) (Killed (ozone (No Spam)))
2021-06-02 14:34:00 +0200 <yushyin> ;D
2021-06-02 14:34:19 +0200 <merijn> Guest5: That is defining a custom reverse right there, so *presumably* your definition of reverse is broken :)
2021-06-02 14:34:29 +0200 <int-e> reverse [] = [] -- well we see what's wrong here
2021-06-02 14:34:41 +0200 <int-e> merijn: they're not currently here, ozone killed them
2021-06-02 14:35:06 +0200 <merijn> I have join/quits disabled :p
2021-06-02 14:35:06 +0200 <niko> he should be able to rejoin
2021-06-02 14:35:38 +0200timothy1(~timothy@bb42-60-217-138.singnet.com.sg)
2021-06-02 14:36:11 +0200 <int-e> merijn: anyway, when I hear hooves, I think people banging coconuts
2021-06-02 14:36:41 +0200koishi_(~koishi_@67.209.186.120.16clouds.com)
2021-06-02 14:36:54 +0200v01d4lph4(~v01d4lph4@user/v01d4lph4) (Ping timeout: 272 seconds)
2021-06-02 14:37:35 +0200dpl_(~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 252 seconds)
2021-06-02 14:37:56 +0200timothy1(~timothy@bb42-60-217-138.singnet.com.sg) (Client Quit)
2021-06-02 14:38:49 +0200 <merijn> Where did you get the coconuts?
2021-06-02 14:38:51 +0200 <jacks2> Guest5, do you understand what you did?
2021-06-02 14:39:26 +0200 <jacks2> > let reverse _ = "..." in reverse [a,b,c]
2021-06-02 14:39:28 +0200 <lambdabot> "..."
2021-06-02 14:39:28 +0200 <merijn> Found them? In Mercia? The coconut's tropical! This is a temperate zone!
2021-06-02 14:40:01 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2021-06-02 14:41:27 +0200cheater(~Username@user/cheater)
2021-06-02 14:41:53 +0200Guest5(~Guest5@040-194-158-163.dynamic.caiway.nl)
2021-06-02 14:42:09 +0200 <Guest5> Oops, I got banned for a moment
2021-06-02 14:42:27 +0200dpl_(~dpl@77-121-78-163.chn.volia.net)
2021-06-02 14:43:11 +0200 <Taneb> Guest5: yeah, it's generally bad to paste multiple lines directly into IRC. For that sort of thing you should use some sort of paste bin service
2021-06-02 14:43:25 +0200 <Guest5> Yeah lesson learned
2021-06-02 14:45:11 +0200koishi_(~koishi_@67.209.186.120.16clouds.com) (Remote host closed the connection)
2021-06-02 14:45:53 +0200 <int-e> merijn: I don't know, I never asked the Monty Python troupe.
2021-06-02 14:46:13 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-02 14:46:39 +0200cheater(~Username@user/cheater) (Remote host closed the connection)
2021-06-02 14:47:04 +0200benin(~benin@183.82.205.186)
2021-06-02 14:47:08 +0200bigLama(~user@static-176-165-167-17.ftth.abo.bbox.fr)
2021-06-02 14:50:24 +0200rk04(~rk04@user/rajk)
2021-06-02 14:50:50 +0200Guest5(~Guest5@040-194-158-163.dynamic.caiway.nl) (Quit: Client closed)
2021-06-02 14:50:54 +0200koishi_(~koishi_@67.209.186.120.16clouds.com)
2021-06-02 14:51:11 +0200 <c_wraith> how confusing is it to use <**> in a parser? I've got an infix expression that I had written variously as `(\x op y -> x `op` y) <$> fx <*> fop <*> fy', `flip ($) <$> fx <*> fop <*> fy', and `(&) <$> fx <*> fop <*> fy'
2021-06-02 14:51:38 +0200 <c_wraith> I just realized I can write it as `fx <**> fop <*> fy' instead.
2021-06-02 14:52:00 +0200 <c_wraith> But I'm not convinced that's any better
2021-06-02 14:52:20 +0200 <Taneb> I personally think it's not much worse than using <*> at all
2021-06-02 14:53:01 +0200ubikium(~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Read error: Connection reset by peer)
2021-06-02 14:53:57 +0200 <int-e> c_wraith: lgtm
2021-06-02 14:54:33 +0200cheater1__(~Username@user/cheater)
2021-06-02 14:55:03 +0200cheater1__cheater
2021-06-02 14:55:41 +0200 <dminuoso> c_wraith: I dislike <**> in optparse-applicative, where it seems to be rather common
2021-06-02 14:55:53 +0200 <gentauro> anybody using `hakyll`? I would like to have bookmarks on my "titles". Just like the readme.md handle that on GitLab/GitHub. Anybody done this?
2021-06-02 14:55:58 +0200 <int-e> (apart from the fact that <**> isn't the nicest name for what it does, which can't easily be changed after the fact)
2021-06-02 14:56:34 +0200 <dminuoso> Id rather use ApplicativeDo ;)
2021-06-02 14:57:12 +0200 <int-e> dminuoso: but then you need names for all the points, eww
2021-06-02 14:57:45 +0200reumeth(~reumeth@user/reumeth)
2021-06-02 14:58:37 +0200ubikium(~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net)
2021-06-02 15:00:22 +0200rk04(~rk04@user/rajk) (Quit: Client closed)
2021-06-02 15:01:01 +0200alx741(~alx741@181.196.69.176)
2021-06-02 15:01:11 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5878:fcfd:e07b:ffd9)
2021-06-02 15:03:12 +0200rk04(~rk04@user/rajk)
2021-06-02 15:04:01 +0200bigLama(~user@static-176-165-167-17.ftth.abo.bbox.fr) (Quit: ERC (IRC client for Emacs 28.0.50))
2021-06-02 15:06:07 +0200koishi_(~koishi_@67.209.186.120.16clouds.com) (Remote host closed the connection)
2021-06-02 15:06:56 +0200gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2021-06-02 15:07:44 +0200gentauro(~gentauro@user/gentauro)
2021-06-02 15:10:21 +0200dunkeln(~dunkeln@94.129.65.28) (Ping timeout: 245 seconds)
2021-06-02 15:10:43 +0200o1lo01ol1o(~o1lo01ol1@mobile-107-107-58-49.mycingular.net)
2021-06-02 15:12:22 +0200oxide(~lambda@user/oxide) (Ping timeout: 272 seconds)
2021-06-02 15:12:22 +0200bigLama(~user@static-176-165-167-17.ftth.abo.bbox.fr)
2021-06-02 15:12:44 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-06-02 15:14:00 +0200bigLama(~user@static-176-165-167-17.ftth.abo.bbox.fr) (Client Quit)
2021-06-02 15:14:08 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com)
2021-06-02 15:15:25 +0200bigLama(~user@static-176-165-167-17.ftth.abo.bbox.fr)
2021-06-02 15:15:40 +0200bigLama(~user@static-176-165-167-17.ftth.abo.bbox.fr) (Client Quit)
2021-06-02 15:16:10 +0200xff0x(~xff0x@2001:1a81:5307:4e00:e51:c3f6:62c2:5e71) (Ping timeout: 272 seconds)
2021-06-02 15:16:19 +0200bigLama(~user@static-176-165-167-17.ftth.abo.bbox.fr)
2021-06-02 15:18:42 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 272 seconds)
2021-06-02 15:19:32 +0200FreeVariable(~Thunderbi@156.25.4.27)
2021-06-02 15:20:17 +0200waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se)
2021-06-02 15:20:24 +0200FreeVariable(~Thunderbi@156.25.4.27) (Client Quit)
2021-06-02 15:21:05 +0200hexo(~hexo@2a02-ab04-2843-9500-c95c-a376-1418-c3e1.dynamic.v6.chello.sk)
2021-06-02 15:22:27 +0200dunkeln(~dunkeln@94.129.65.28)
2021-06-02 15:23:04 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-06-02 15:23:43 +0200dut(~dut@user/dut)
2021-06-02 15:23:44 +0200dut_(~dut@user/dut)
2021-06-02 15:24:26 +0200dut_(~dut@user/dut) (Client Quit)
2021-06-02 15:27:35 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-06-02 15:27:44 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-02 15:29:40 +0200ub(~Thunderbi@p200300ecdf259da5656b91086baf35ac.dip0.t-ipconnect.de)
2021-06-02 15:30:27 +0200AgentM(~agentm@pool-162-83-130-212.nycmny.fios.verizon.net)
2021-06-02 15:30:39 +0200larkfisherman(~larkfishe@217.75.204.126) (Quit: Leaving)
2021-06-02 15:31:18 +0200ixlun(~matthew@109.249.184.235)
2021-06-02 15:31:30 +0200larkfisherman(~larkfishe@217.75.204.126)
2021-06-02 15:31:30 +0200haltux_(~haltux@a89-154-181-47.cpe.netcabo.pt) (Ping timeout: 264 seconds)
2021-06-02 15:31:31 +0200dyocelot
2021-06-02 15:31:40 +0200ocelotdy
2021-06-02 15:39:09 +0200larkfisherman(~larkfishe@217.75.204.126) (Quit: Leaving)
2021-06-02 15:42:46 +0200benin(~benin@183.82.205.186) (Ping timeout: 272 seconds)
2021-06-02 15:46:27 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:5878:fcfd:e07b:ffd9) (Remote host closed the connection)
2021-06-02 15:48:40 +0200__monty__(~toonn@user/toonn)
2021-06-02 15:49:56 +0200marienz(~marienz@libera/staff/marienz)
2021-06-02 15:51:00 +0200waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 272 seconds)
2021-06-02 15:55:40 +0200Boomerang(~Boomerang@xd520f68c.cust.hiper.dk)
2021-06-02 15:57:51 +0200 <dminuoso> Alternatively you can use <*> + Backwards
2021-06-02 15:57:57 +0200 <dminuoso> A bit overkill, I admit.
2021-06-02 15:58:30 +0200myShoggoth(~myShoggot@97-120-89-117.ptld.qwest.net)
2021-06-02 16:02:16 +0200 <c_wraith> that's way beyond a *bit* overkill
2021-06-02 16:03:14 +0200 <c_wraith> it would work nicely if I wanted that every single time. But when I just want reverse application once, that's an amazing amount of overhead.
2021-06-02 16:05:17 +0200exarkun(~exarkun@user/exarkun) (Read error: Connection reset by peer)
2021-06-02 16:05:47 +0200exarkun(~exarkun@user/exarkun)
2021-06-02 16:09:31 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2-dev)
2021-06-02 16:10:00 +0200benin(~benin@183.82.205.186)
2021-06-02 16:11:03 +0200geekosaur(~geekosaur@069-135-003-034.biz.spectrum.com)
2021-06-02 16:11:23 +0200xff0x(~xff0x@217.110.198.158)
2021-06-02 16:19:12 +0200hexfive(~eric@50.35.83.177)
2021-06-02 16:19:26 +0200hexfive(~eric@50.35.83.177) (Client Quit)
2021-06-02 16:19:30 +0200xff0x(~xff0x@217.110.198.158) (Ping timeout: 245 seconds)
2021-06-02 16:19:52 +0200FreeVariable(~Thunderbi@wifi-unifr-140-170.unifr.ch)
2021-06-02 16:20:56 +0200ixlun(~matthew@109.249.184.235) (Read error: Connection reset by peer)
2021-06-02 16:21:49 +0200bigLama(~user@static-176-165-167-17.ftth.abo.bbox.fr) (ERC (IRC client for Emacs 28.0.50))
2021-06-02 16:21:57 +0200xff0x(~xff0x@217.110.198.158)
2021-06-02 16:22:06 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-06-02 16:22:22 +0200bigLama(~user@static-176-165-167-17.ftth.abo.bbox.fr)
2021-06-02 16:24:40 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-06-02 16:27:23 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-06-02 16:28:07 +0200 <dminuoso> c_wraith: Hey,
2021-06-02 16:28:13 +0200 <dminuoso> Sorry, hit enter too early
2021-06-02 16:30:05 +0200 <dminuoso> But hey, can you find some comfort in the irony of the Applicative definition for BackwardsÖ
2021-06-02 16:30:06 +0200 <dminuoso> Backwards f <*> Backwards a = Backwards (a <**> f)
2021-06-02 16:31:16 +0200 <c_wraith> haha
2021-06-02 16:37:02 +0200dtman34(~dtman34@c-73-62-246-247.hsd1.mn.comcast.net)
2021-06-02 16:40:34 +0200lavaman(~lavaman@98.38.249.169)
2021-06-02 16:40:48 +0200chomwitt(~Pitsikoko@2a02:587:dc02:b00:b16c:5166:feb8:97d5)
2021-06-02 16:41:43 +0200Sgeo(~Sgeo@user/sgeo)
2021-06-02 16:43:36 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-06-02 16:45:28 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
2021-06-02 16:46:06 +0200ikex(~ash@user/ikex) (Ping timeout: 272 seconds)
2021-06-02 16:46:12 +0200drewolson(~drewolson@64.227.24.16) (Changing host)
2021-06-02 16:46:12 +0200drewolson(~drewolson@user/drewolson)
2021-06-02 16:46:26 +0200raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
2021-06-02 16:46:49 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857)
2021-06-02 16:50:21 +0200Iryon(~Iryon@2a02:a31a:a045:3500:c000:ef2e:b473:4083)
2021-06-02 16:51:48 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857) (Ping timeout: 272 seconds)
2021-06-02 16:56:56 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857)
2021-06-02 16:57:17 +0200Soft(~soft-matr@2001:470:69fc:105::c75)
2021-06-02 16:57:48 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.1)
2021-06-02 16:58:29 +0200 <kuribas> :t Backwards
2021-06-02 16:58:30 +0200 <lambdabot> error:
2021-06-02 16:58:30 +0200 <lambdabot> • Data constructor not in scope: Backwards
2021-06-02 16:58:30 +0200 <lambdabot> • Perhaps you meant variable ‘backwards’ (imported from Control.Lens)
2021-06-02 16:59:38 +0200 <c_wraith> https://hackage.haskell.org/package/transformers-0.5.6.2/docs/Control-Applicative-Backwards.html
2021-06-02 17:00:45 +0200arjun(~user@user/arjun)
2021-06-02 17:00:47 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com)
2021-06-02 17:08:34 +0200 <ski> @type Control.Applicative.Backwards.Backwards
2021-06-02 17:08:35 +0200 <lambdabot> forall k (f :: k -> *) (a :: k). f a -> Control.Applicative.Backwards.Backwards f a
2021-06-02 17:10:08 +0200 <c_wraith> Huh. I really don't see that getting much benefit from being polykinded, but at least it won't hurt anything
2021-06-02 17:12:25 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857) (Remote host closed the connection)
2021-06-02 17:12:37 +0200hexo(~hexo@2a02-ab04-2843-9500-c95c-a376-1418-c3e1.dynamic.v6.chello.sk) (Changing host)
2021-06-02 17:12:38 +0200hexo(~hexo@user/hexo)
2021-06-02 17:13:14 +0200arjun(~user@user/arjun) (Remote host closed the connection)
2021-06-02 17:15:14 +0200haskman(~haskman@223.190.0.187) (Quit: Going to sleep. ZZZzzz…)
2021-06-02 17:16:30 +0200__monty__(~toonn@user/toonn) (Ping timeout: 272 seconds)
2021-06-02 17:17:24 +0200Topsi(~Tobias@dyndsl-095-033-027-146.ewe-ip-backbone.de)
2021-06-02 17:20:39 +0200haskman(~haskman@223.190.0.187)
2021-06-02 17:21:23 +0200Ariakenom(~Ariakenom@2001:9b1:efb:fc00:524:105d:d218:2c77)
2021-06-02 17:22:06 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857)
2021-06-02 17:24:23 +0200ccntrq(~ccntrq@business-90-187-183-141.pool2.vodafone-ip.de) (Remote host closed the connection)
2021-06-02 17:24:54 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-06-02 17:26:18 +0200k3nny(~k3nny@user/k3nny) (Quit: Leaving)
2021-06-02 17:27:56 +0200__monty__(~toonn@user/toonn)
2021-06-02 17:28:39 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:ca30:4180:833e:bce9) (Quit: WeeChat 2.8)
2021-06-02 17:30:26 +0200xff0x(~xff0x@217.110.198.158) (Ping timeout: 272 seconds)
2021-06-02 17:30:54 +0200favonia(~favonia@user/favonia) (Ping timeout: 264 seconds)
2021-06-02 17:32:19 +0200benin5(benin@gateway/vpn/protonvpn/benin)
2021-06-02 17:32:36 +0200favonia(~favonia@user/favonia)
2021-06-02 17:34:20 +0200bfrk(~Thunderbi@200116b845fca000f97ff890167a6943.dip.versatel-1u1.de)
2021-06-02 17:34:30 +0200benin(~benin@183.82.205.186) (Ping timeout: 264 seconds)
2021-06-02 17:34:31 +0200benin5benin
2021-06-02 17:34:37 +0200lbseale(~lbseale@ip72-194-54-201.sb.sd.cox.net)
2021-06-02 17:36:02 +0200o1lo01ol_(~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net)
2021-06-02 17:36:25 +0200chddr(~Thunderbi@31.148.23.125)
2021-06-02 17:38:14 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857) (Remote host closed the connection)
2021-06-02 17:39:16 +0200sondre(~sondrelun@cm-84.212.100.140.getinternet.no) (Ping timeout: 244 seconds)
2021-06-02 17:39:18 +0200nschoe(~quassel@2a01:e0a:8e:a190:184d:3a8c:7727:6c6d) (Ping timeout: 264 seconds)
2021-06-02 17:39:53 +0200o1lo01ol1o(~o1lo01ol1@mobile-107-107-58-49.mycingular.net) (Ping timeout: 264 seconds)
2021-06-02 17:40:37 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com)
2021-06-02 17:43:32 +0200o1lo01ol1o(~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net)
2021-06-02 17:43:32 +0200o1lo01ol_(~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Read error: Connection reset by peer)
2021-06-02 17:43:55 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-06-02 17:45:15 +0200benin1(~benin@183.82.205.186)
2021-06-02 17:46:49 +0200_xft0(~root@185.234.208.208.r.toneticgroup.pl)
2021-06-02 17:46:51 +0200rk04(~rk04@user/rajk) (Quit: Client closed)
2021-06-02 17:47:00 +0200benin(benin@gateway/vpn/protonvpn/benin) (Ping timeout: 245 seconds)
2021-06-02 17:47:01 +0200benin1benin
2021-06-02 17:47:37 +0200Scotty_Trees(~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) (Quit: Leaving)
2021-06-02 17:48:10 +0200chomwitt(~Pitsikoko@2a02:587:dc02:b00:b16c:5166:feb8:97d5) (Ping timeout: 272 seconds)
2021-06-02 17:51:08 +0200nectar(~nectar@117.222.64.74)
2021-06-02 17:53:30 +0200chele(~chele@user/chele) (Remote host closed the connection)
2021-06-02 17:56:24 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-06-02 17:58:28 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-02 17:59:50 +0200Guest9(~Guest9@43.241.144.19)
2021-06-02 18:00:10 +0200FreeVariable(~Thunderbi@wifi-unifr-140-170.unifr.ch) (Quit: FreeVariable)
2021-06-02 18:03:53 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-06-02 18:05:05 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
2021-06-02 18:08:12 +0200xff0x(~xff0x@2001:1a81:5307:4e00:7012:84d9:dce9:1f3f)
2021-06-02 18:14:46 +0200bfrk(~Thunderbi@200116b845fca000f97ff890167a6943.dip.versatel-1u1.de) (Ping timeout: 272 seconds)
2021-06-02 18:17:50 +0200bigLama(~user@static-176-165-167-17.ftth.abo.bbox.fr) (Remote host closed the connection)
2021-06-02 18:19:30 +0200 <boxscape> :t when
2021-06-02 18:19:31 +0200 <lambdabot> Applicative f => Bool -> f () -> f ()
2021-06-02 18:19:32 +0200 <boxscape> hm
2021-06-02 18:19:37 +0200 <boxscape> I'd prefer Bool -> f a -> f ()
2021-06-02 18:26:14 +0200Topsi1(~Tobias@2001:638:708:1a::d5)
2021-06-02 18:27:11 +0200Topsi2(~Tobias@dyndsl-095-033-027-146.ewe-ip-backbone.de)
2021-06-02 18:27:12 +0200Topsi1(~Tobias@2001:638:708:1a::d5) (Read error: Connection reset by peer)
2021-06-02 18:27:22 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857)
2021-06-02 18:30:17 +0200Topsi(~Tobias@dyndsl-095-033-027-146.ewe-ip-backbone.de) (Ping timeout: 264 seconds)
2021-06-02 18:31:31 +0200ixlun(~matthew@109.249.184.235)
2021-06-02 18:33:42 +0200heath(~heath@user/heath)
2021-06-02 18:33:53 +0200dunkeln(~dunkeln@94.129.65.28) (Ping timeout: 264 seconds)
2021-06-02 18:37:23 +0200pounce(~pounce@facebook/engineering/pounce) (Ping timeout: 252 seconds)
2021-06-02 18:38:18 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-06-02 18:40:08 +0200favonia(~favonia@user/favonia) (Ping timeout: 252 seconds)
2021-06-02 18:40:32 +0200favonia(~favonia@user/favonia)
2021-06-02 18:43:32 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857) (Remote host closed the connection)
2021-06-02 18:46:01 +0200dunkeln(~dunkeln@94.129.65.28)
2021-06-02 18:46:49 +0200rk04(~rk04@user/rajk)
2021-06-02 18:49:16 +0200bartavelle(~bartavell@2001:41d0:1:744c::1)
2021-06-02 18:49:39 +0200favonia(~favonia@user/favonia) (Ping timeout: 272 seconds)
2021-06-02 18:50:04 +0200favonia(~favonia@user/favonia)
2021-06-02 18:50:28 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-06-02 18:50:41 +0200rk04(~rk04@user/rajk) (Client Quit)
2021-06-02 18:51:55 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-06-02 18:52:48 +0200econo(uid147250@user/econo)
2021-06-02 18:54:12 +0200fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-02 18:54:42 +0200amk(~amk@176.61.106.150) (Ping timeout: 244 seconds)
2021-06-02 18:56:20 +0200amk(~amk@176.61.106.150)
2021-06-02 18:56:37 +0200jrm(~jrm@156.34.187.65) (Ping timeout: 272 seconds)
2021-06-02 18:57:18 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
2021-06-02 19:00:15 +0200chomwitt(~Pitsikoko@athedsl-20549.home.otenet.gr)
2021-06-02 19:00:20 +0200nectar(~nectar@117.222.64.74) (Quit: leaving)
2021-06-02 19:00:58 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-06-02 19:02:20 +0200shailangsa(~shailangs@host86-186-136-74.range86-186.btcentralplus.com) ()
2021-06-02 19:03:15 +0200lemmih_(~lemmih@2406:3003:2072:44:f18c:82dd:8503:4c59)
2021-06-02 19:03:17 +0200dunkeln(~dunkeln@94.129.65.28) (Ping timeout: 264 seconds)
2021-06-02 19:03:30 +0200 <infinisil> :t when . void
2021-06-02 19:03:31 +0200 <lambdabot> error:
2021-06-02 19:03:31 +0200 <lambdabot> • Couldn't match type ‘f ()’ with ‘Bool’
2021-06-02 19:03:31 +0200 <lambdabot> Expected type: f a -> Bool
2021-06-02 19:03:51 +0200 <infinisil> Well, something like that
2021-06-02 19:05:05 +0200Erutuon(~Erutuon@user/erutuon)
2021-06-02 19:05:11 +0200 <boxscape> yeah
2021-06-02 19:05:33 +0200lemmih(~lemmih@2406:3003:2072:44:a0fb:4a2e:4541:1c1d) (Ping timeout: 244 seconds)
2021-06-02 19:07:32 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com)
2021-06-02 19:07:59 +0200Iryon(~Iryon@2a02:a31a:a045:3500:c000:ef2e:b473:4083) (Remote host closed the connection)
2021-06-02 19:10:23 +0200favonia(~favonia@user/favonia) (Ping timeout: 252 seconds)
2021-06-02 19:10:30 +0200chomwitt(~Pitsikoko@athedsl-20549.home.otenet.gr) (Ping timeout: 264 seconds)
2021-06-02 19:10:46 +0200favonia(~favonia@user/favonia)
2021-06-02 19:10:58 +0200dss1(~dss@shepsoft.net)
2021-06-02 19:11:40 +0200dss1(~dss@shepsoft.net) ()
2021-06-02 19:12:57 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-06-02 19:14:14 +0200chddr(~Thunderbi@31.148.23.125) (Ping timeout: 252 seconds)
2021-06-02 19:14:32 +0200dunkeln(~dunkeln@94.129.65.28)
2021-06-02 19:14:44 +0200Guest9(~Guest9@43.241.144.19) (Quit: Connection closed)
2021-06-02 19:16:28 +0200sqrt2(~ben@tunnel330957-pt.tunnel.tserv6.fra1.ipv6.he.net) (Quit: ZNC - http://znc.in)
2021-06-02 19:16:47 +0200Guest9(~Guest9@43.241.144.19)
2021-06-02 19:18:06 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2021-06-02 19:18:51 +0200 <dminuoso> boxscape: `() <$` tends to read nicely
2021-06-02 19:19:07 +0200 <dminuoso> Perhaps it's just because I used a lot
2021-06-02 19:19:27 +0200 <boxscape> hm yeah that doesn't look too bad
2021-06-02 19:19:46 +0200 <dminuoso> Also it doesn't need an extra import. :)
2021-06-02 19:20:11 +0200 <boxscape> true
2021-06-02 19:20:34 +0200 <dminuoso> Mmm, that's actually a silly argument, since you need Control.Monad anyway for when
2021-06-02 19:20:43 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-06-02 19:20:55 +0200ixlun(~matthew@109.249.184.235) (Read error: Connection reset by peer)
2021-06-02 19:21:05 +0200 <boxscape> it makes the explicit import list a bit shorter if you use it :)
2021-06-02 19:21:18 +0200 <boxscape> s/if you use it/if you have one
2021-06-02 19:21:20 +0200 <dminuoso> Actually Ive been switching to explicit import lists
2021-06-02 19:21:27 +0200 <dminuoso> Tend to prefer it much
2021-06-02 19:21:45 +0200 <dminuoso> But it needs something like hls to make it enjoyable
2021-06-02 19:21:54 +0200skigrumbles at `void'
2021-06-02 19:22:12 +0200 <dminuoso> ski: the choice of the identifier?
2021-06-02 19:22:16 +0200 <boxscape> yeah on the other hand when you have tools to jump to any definition in any package I find less of a need for explicit import lists
2021-06-02 19:22:36 +0200 <dminuoso> boxscape: The readers are not always under your control though.
2021-06-02 19:22:41 +0200 <boxscape> yes, that is true
2021-06-02 19:22:44 +0200sqrt2(~ben@80-108-18-7.cable.dynamic.surfer.at)
2021-06-02 19:23:00 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-06-02 19:23:04 +0200 <dminuoso> Also, its sometimes usefult to ascertain external dependencies by just going through the import part.
2021-06-02 19:24:43 +0200 <boxscape> dminuoso do you use them when you import something qualified?
2021-06-02 19:25:35 +0200 <dminuoso> boxscape: No, but out of habit I generally only import text/bytestring/containers qualified.
2021-06-02 19:25:43 +0200 <boxscape> I see
2021-06-02 19:27:39 +0200derelict(~winter@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com)
2021-06-02 19:29:06 +0200dpl_(~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 264 seconds)
2021-06-02 19:29:12 +0200 <dminuoso> (heh well, I guess *Yes* rather than *No*)
2021-06-02 19:29:46 +0200 <dminuoso> And `ip`, but that's very specific to IP annoyances.
2021-06-02 19:29:59 +0200 <ski> dminuoso : yes
2021-06-02 19:30:15 +0200 <dminuoso> It's quite interesting how it's nearly impossible to cleanly abstract over both ipv4 and ipv6. Every attempt in each library/tooling here has been foiled.
2021-06-02 19:30:25 +0200 <monochrom> text, bytestring, and containers have deliberate name clashes and tell you to resolve by qualified imports.
2021-06-02 19:30:46 +0200 <monochrom> They do this as their answer to SML real adult module system. >:)
2021-06-02 19:30:46 +0200 <dminuoso> Instead, we have fooV4, fooV6, barV4, barV6 - with lots of duplication (with duplication rates that feel like 95%)
2021-06-02 19:30:53 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Quit: WeeChat 3.1)
2021-06-02 19:30:58 +0200 <ski> imho, the name `void', with this meaning, should not be exported from any other modules than FFI ones
2021-06-02 19:32:00 +0200azeem(~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Ping timeout: 245 seconds)
2021-06-02 19:32:24 +0200ordinate(~ordinate@c-68-38-144-3.hsd1.in.comcast.net)
2021-06-02 19:32:57 +0200 <ordinate> good afternoon
2021-06-02 19:33:02 +0200 <dminuoso> Hi ordinate o/
2021-06-02 19:33:03 +0200 <boxscape> hi
2021-06-02 19:33:19 +0200dminuosoreadies his answer cards for ordinate
2021-06-02 19:33:31 +0200 <ordinate> nice to see you all again
2021-06-02 19:34:30 +0200favonia(~favonia@user/favonia) (Ping timeout: 264 seconds)
2021-06-02 19:35:14 +0200mustafa(sid502723@rockylinux/releng/mstg)
2021-06-02 19:37:56 +0200shailangsa(~shailangs@host86-186-136-74.range86-186.btcentralplus.com)
2021-06-02 19:38:03 +0200dpl_(~dpl@77-121-78-163.chn.volia.net)
2021-06-02 19:38:23 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-06-02 19:38:50 +0200rk04(~rk04@user/rajk)
2021-06-02 19:38:53 +0200favonia(~favonia@user/favonia)
2021-06-02 19:39:29 +0200maerwaldblinks
2021-06-02 19:39:39 +0200 <maerwald> no... can't see you -,-
2021-06-02 19:39:49 +0200jacks2(~bc817c21@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout))
2021-06-02 19:42:25 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-06-02 19:43:54 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857)
2021-06-02 19:44:57 +0200leeb(~leeb@KD111239154171.au-net.ne.jp) (Quit: WeeChat 3.1)
2021-06-02 19:45:02 +0200oxide(~lambda@user/oxide)
2021-06-02 19:45:16 +0200azeem(~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it)
2021-06-02 19:45:36 +0200rk04(~rk04@user/rajk) (Quit: Client closed)
2021-06-02 19:45:48 +0200 <dminuoso> Is it safe to Data.ByteString.Char8.hPutStrLn (Aeson.encode x) ?
2021-06-02 19:46:19 +0200 <dminuoso> My instinct says yes, because Aeson will give me a UTF8 encoded string anyway, which should not screw up my terminal
2021-06-02 19:46:36 +0200favonia(~favonia@user/favonia) (Ping timeout: 272 seconds)
2021-06-02 19:47:29 +0200 <monochrom> I say yes. Unless UTF8 screws up your terminal.
2021-06-02 19:47:46 +0200 <Ariakenom> does anyone have a fancy pretty printed ghci setup?
2021-06-02 19:47:56 +0200 <dminuoso> Well couldn't a user embed sneaky escape sequences in a JSON string?
2021-06-02 19:48:30 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857) (Ping timeout: 272 seconds)
2021-06-02 19:48:39 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-06-02 19:49:37 +0200 <monochrom> I want to conjecture that unprintable characters are further backslash-escaped, but I haven't tried.
2021-06-02 19:50:29 +0200dminuosowishes for a reality in which a terminal control protocol and text encoding were separate things
2021-06-02 19:51:05 +0200 <dminuoso> Conflating these two seems like one of the larger mistakes in programming history
2021-06-02 19:52:29 +0200jackhillKM4MBG
2021-06-02 19:53:24 +0200 <ordinate> i think ive accidentally started a much bigger project than i thought
2021-06-02 19:53:34 +0200derelict(~winter@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com) (Ping timeout: 272 seconds)
2021-06-02 19:53:40 +0200favonia(~favonia@user/favonia)
2021-06-02 19:54:52 +0200 <lyxia> I think encode only produces ASCII, unless someone hijacks a ToJSON instance.
2021-06-02 19:55:44 +0200chomwitt(~Pitsikoko@athedsl-20549.home.otenet.gr)
2021-06-02 19:59:20 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-02 20:00:45 +0200imdoor(~imdoor@balticom-142-78-50.balticom.lv) (Quit: imdoor)
2021-06-02 20:00:54 +0200 <Ariakenom> I just got this code to work some an ancient tab I had https://gist.github.com/pera/8447522
2021-06-02 20:01:54 +0200 <Ariakenom> ..work from some..
2021-06-02 20:04:58 +0200azeem(~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-06-02 20:09:19 +0200zebrag(~chris@user/zebrag) (Remote host closed the connection)
2021-06-02 20:10:29 +0200doublex__(~doublex@2601:542:c480:6ee0:184b:7083:f026:c689)
2021-06-02 20:12:31 +0200vicfred(~vicfred@user/vicfred)
2021-06-02 20:13:11 +0200beka(~beka@104.193.170-254.PUBLIC.monkeybrains.net)
2021-06-02 20:14:05 +0200pavonia(~user@user/siracusa)
2021-06-02 20:14:15 +0200doublex_(~doublex@2601:542:c480:6ee0:184b:7083:f026:c689) (Ping timeout: 268 seconds)
2021-06-02 20:14:28 +0200reumeth(~reumeth@user/reumeth) (Ping timeout: 272 seconds)
2021-06-02 20:16:23 +0200favonia(~favonia@user/favonia) (Ping timeout: 252 seconds)
2021-06-02 20:23:01 +0200favonia(~favonia@user/favonia)
2021-06-02 20:24:08 +0200azeem(~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it)
2021-06-02 20:24:09 +0200KM4MBGjackhill
2021-06-02 20:26:44 +0200tremon(~tremon@217-63-61-89.cable.dynamic.v4.ziggo.nl)
2021-06-02 20:29:30 +0200mrufrufin(~dxk@108.235.170.90)
2021-06-02 20:29:42 +0200myShoggoth(~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 264 seconds)
2021-06-02 20:31:35 +0200myShoggoth(~myShoggot@97-120-89-117.ptld.qwest.net)
2021-06-02 20:32:00 +0200amk(~amk@176.61.106.150) (Ping timeout: 245 seconds)
2021-06-02 20:32:21 +0200amk(~amk@176.61.106.150)
2021-06-02 20:32:32 +0200Ariakenom(~Ariakenom@2001:9b1:efb:fc00:524:105d:d218:2c77) (Read error: Connection reset by peer)
2021-06-02 20:32:50 +0200ukari(~ukari@user/ukari) (Remote host closed the connection)
2021-06-02 20:33:18 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-06-02 20:33:37 +0200ukari(~ukari@user/ukari)
2021-06-02 20:33:52 +0200sondre(~sondrelun@cm-84.212.100.140.getinternet.no)
2021-06-02 20:42:00 +0200lavaman(~lavaman@98.38.249.169)
2021-06-02 20:42:45 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-06-02 20:45:13 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857)
2021-06-02 20:46:16 +0200wenzel(~wenzel@user/wenzel) (Read error: Connection reset by peer)
2021-06-02 20:46:36 +0200wenzel(~wenzel@user/wenzel)
2021-06-02 20:46:46 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
2021-06-02 20:48:33 +0200mrufrufin(~dxk@108.235.170.90) ()
2021-06-02 20:50:06 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857) (Ping timeout: 264 seconds)
2021-06-02 20:52:06 +0200nuttingd(~nuttingd@75.164.99.232)
2021-06-02 20:52:44 +0200nuttingd(~nuttingd@75.164.99.232) (Client Quit)
2021-06-02 20:53:11 +0200Deide(~Deide@wire.desu.ga)
2021-06-02 20:53:11 +0200Deide(~Deide@wire.desu.ga) (Changing host)
2021-06-02 20:53:12 +0200Deide(~Deide@user/deide)
2021-06-02 20:53:38 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-06-02 20:54:17 +0200raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-06-02 20:54:59 +0200kuribas(~user@ptr-25vy0i6y10noc9bho8l.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2021-06-02 20:55:58 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-06-02 20:56:57 +0200hiruji`(~hiruji@2606:6080:1001:18:8d41:9604:d435:36b6)
2021-06-02 20:58:01 +0200 <gentauro> hey, is it possible to have "more friendly" Aeson parsing messages? For example if the recieved JSON payload is only missing the `type` property? https://pastebin.ubuntu.com/p/PhZ2wz7fRZ/
2021-06-02 20:58:10 +0200hiruji(~hiruji@user/hiruji) (Ping timeout: 272 seconds)
2021-06-02 20:58:40 +0200gentaurolike in an `automated` way so I don't have to write all the boilerplate myself :)
2021-06-02 20:58:49 +0200wenzel(~wenzel@user/wenzel) (Quit: Leaving)
2021-06-02 21:00:42 +0200favonia(~favonia@user/favonia) (Ping timeout: 272 seconds)
2021-06-02 21:00:51 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-06-02 21:01:07 +0200favonia(~favonia@user/favonia)
2021-06-02 21:01:52 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection)
2021-06-02 21:03:00 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-06-02 21:04:17 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection)
2021-06-02 21:04:48 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-06-02 21:05:13 +0200 <lyxia> doesn't it already tell you that the `type` property is missing?
2021-06-02 21:06:14 +0200glguy_(x@libera/staff/glguy)
2021-06-02 21:06:32 +0200imdoor(~imdoor@balticom-142-78-50.balticom.lv)
2021-06-02 21:07:33 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection)
2021-06-02 21:08:48 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-06-02 21:10:15 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-06-02 21:10:29 +0200Guest3322(~pera@0541db7e.skybroadband.com) (Ping timeout: 264 seconds)
2021-06-02 21:10:30 +0200ddellacosta(~ddellacos@86.106.121.72)
2021-06-02 21:10:35 +0200glguy_(x@libera/staff/glguy) (Remote host closed the connection)
2021-06-02 21:10:50 +0200favonia(~favonia@user/favonia) (Ping timeout: 272 seconds)
2021-06-02 21:11:15 +0200favonia(~favonia@user/favonia)
2021-06-02 21:11:27 +0200Ariakenom(~Ariakenom@2001:9b1:efb:fc00:8504:3672:14f4:b190)
2021-06-02 21:11:53 +0200imdoor(~imdoor@balticom-142-78-50.balticom.lv) (Quit: imdoor)
2021-06-02 21:12:06 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-06-02 21:12:54 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection)
2021-06-02 21:14:17 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-06-02 21:15:56 +0200 <dminuoso> gentauro: Indeed, (.:) uses ttps://hackage.haskell.org/package/aeson-1.5.6.0/docs/src/Data.Aeson.Types.FromJSON.html#explicitParseField
2021-06-02 21:16:09 +0200 <dminuoso> gentauro: You might be intereted in the generic mechanism with options.
2021-06-02 21:16:27 +0200 <dminuoso> coupled with aeson-deriving its really neat
2021-06-02 21:16:42 +0200 <dminuoso> err deriving-aeson
2021-06-02 21:16:51 +0200 <dminuoso> https://hackage.haskell.org/package/deriving-aeson
2021-06-02 21:16:52 +0200jjhoo_jjhoo
2021-06-02 21:17:14 +0200 <dminuoso> advantage of aeson-deriving is that you get guaranteed coherence between toJSON and toEncoding. :)
2021-06-02 21:17:25 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection)
2021-06-02 21:18:04 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-06-02 21:22:21 +0200tose(~tose@ip-85-160-9-136.eurotel.cz)
2021-06-02 21:22:51 +0200myShoggoth(~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 245 seconds)
2021-06-02 21:23:05 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection)
2021-06-02 21:23:51 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-06-02 21:26:08 +0200 <gentauro> dminuoso: hmmm, so `(.:)` actually gives me what I'm requesting right?
2021-06-02 21:26:42 +0200 <gentauro> `Nothing -> fail $ "key " ++ show key ++ " not found"`
2021-06-02 21:26:51 +0200Guest9(~Guest9@43.241.144.19) (Quit: Connection closed)
2021-06-02 21:27:01 +0200 <gentauro> that seems usefull
2021-06-02 21:27:07 +0200ru0mad(~ru0mad@82-64-17-144.subs.proxad.net)
2021-06-02 21:27:14 +0200 <gentauro> and the other branch is only used then I'm not getting a JSON.Object type
2021-06-02 21:27:17 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-06-02 21:27:18 +0200 <gentauro> I think I got it
2021-06-02 21:27:40 +0200 <lyxia> There's also withObject
2021-06-02 21:30:15 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-06-02 21:30:32 +0200tose(~tose@ip-85-160-9-136.eurotel.cz) (Remote host closed the connection)
2021-06-02 21:32:06 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-06-02 21:32:50 +0200favonia(~favonia@user/favonia) (Ping timeout: 252 seconds)
2021-06-02 21:33:14 +0200favonia(~favonia@user/favonia)
2021-06-02 21:33:49 +0200ordinate(~ordinate@c-68-38-144-3.hsd1.in.comcast.net) (Quit: Leaving)
2021-06-02 21:34:51 +0200bfrk(~Thunderbi@200116b845fca000f97ff890167a6943.dip.versatel-1u1.de)
2021-06-02 21:35:25 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection)
2021-06-02 21:35:51 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com)
2021-06-02 21:35:54 +0200ru0mad(~ru0mad@82-64-17-144.subs.proxad.net) (Ping timeout: 244 seconds)
2021-06-02 21:36:38 +0200ukari(~ukari@user/ukari) (Remote host closed the connection)
2021-06-02 21:36:46 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-06-02 21:37:08 +0200ukari(~ukari@user/ukari)
2021-06-02 21:37:32 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-06-02 21:39:20 +0200zmt00(~zmt00@user/zmt00)
2021-06-02 21:39:48 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-06-02 21:40:13 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-06-02 21:40:56 +0200amahl_(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-06-02 21:41:14 +0200Scotty_Trees(~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net)
2021-06-02 21:42:03 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-06-02 21:42:05 +0200learner-monad(~eric@cpe-174-105-47-100.columbus.res.rr.com)
2021-06-02 21:42:19 +0200ru0mad(~ru0mad@82-64-17-144.subs.proxad.net)
2021-06-02 21:43:10 +0200learner-monad(~eric@cpe-174-105-47-100.columbus.res.rr.com) (Client Quit)
2021-06-02 21:44:18 +0200jrm(~jrm@156.34.187.65)
2021-06-02 21:44:30 +0200Baloo_(~Baloo_@141.98.255.153)
2021-06-02 21:44:53 +0200ubert1(~Thunderbi@p200300ecdf259dece6b318fffe838f33.dip0.t-ipconnect.de)
2021-06-02 21:45:50 +0200learner-monad(~eric@cpe-174-105-47-100.columbus.res.rr.com)
2021-06-02 21:46:56 +0200ubert(~Thunderbi@p200300ecdf259da5e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2021-06-02 21:46:56 +0200ubert1ubert
2021-06-02 21:47:47 +0200o1lo01ol1o(~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-06-02 21:48:21 +0200amahl_(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-06-02 21:49:46 +0200Baloo__(~Baloo_@h-98-128-172-214.A785.priv.bahnhof.se)
2021-06-02 21:50:03 +0200o1lo01ol1o(~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net)
2021-06-02 21:50:37 +0200ub1(~Thunderbi@p200300ecdf259dec656b91086baf35ac.dip0.t-ipconnect.de)
2021-06-02 21:51:28 +0200Baloo__(~Baloo_@h-98-128-172-214.A785.priv.bahnhof.se) (Client Quit)
2021-06-02 21:51:41 +0200ub(~Thunderbi@p200300ecdf259da5656b91086baf35ac.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2021-06-02 21:52:07 +0200Baloo__(~Baloo_@h-98-128-172-214.A785.priv.bahnhof.se)
2021-06-02 21:52:40 +0200reumeth(~reumeth@user/reumeth)
2021-06-02 21:52:54 +0200ub1ub
2021-06-02 21:54:09 +0200Baloo_(~Baloo_@141.98.255.153) (Ping timeout: 268 seconds)
2021-06-02 21:54:46 +0200o1lo01ol1o(~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Ping timeout: 268 seconds)
2021-06-02 21:55:40 +0200ru0mad(~ru0mad@82-64-17-144.subs.proxad.net) (Quit: leaving)
2021-06-02 21:55:56 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3547:b6d4:7412:5857)
2021-06-02 21:55:56 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-06-02 21:56:25 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-06-02 21:56:52 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection)
2021-06-02 21:57:44 +0200myShoggoth(~myShoggot@97-120-89-117.ptld.qwest.net)
2021-06-02 21:58:57 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.1)
2021-06-02 21:59:30 +0200derelict(~winter@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com)
2021-06-02 22:00:08 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-06-02 22:01:25 +0200lavaman(~lavaman@98.38.249.169)
2021-06-02 22:04:52 +0200ru0mad(~ru0mad@82-64-17-144.subs.proxad.net)
2021-06-02 22:04:56 +0200juhp(~juhp@128.106.188.199) (Ping timeout: 245 seconds)
2021-06-02 22:06:21 +0200tonyday(~user@202-65-93-249.ip4.superloop.com)
2021-06-02 22:06:43 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-06-02 22:07:18 +0200juhp(~juhp@128.106.188.199)
2021-06-02 22:08:42 +0200otto_s(~user@p5b044eb9.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2021-06-02 22:09:02 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-06-02 22:09:41 +0200favonia(~favonia@user/favonia) (Ping timeout: 252 seconds)
2021-06-02 22:10:04 +0200favonia(~favonia@user/favonia)
2021-06-02 22:10:12 +0200otto_s(~user@p4ff27438.dip0.t-ipconnect.de)
2021-06-02 22:11:06 +0200benin0(benin@gateway/vpn/protonvpn/benin)
2021-06-02 22:12:54 +0200ru0mad(~ru0mad@82-64-17-144.subs.proxad.net) (Ping timeout: 272 seconds)
2021-06-02 22:13:12 +0200ddellacosta(~ddellacos@86.106.121.72) (Remote host closed the connection)
2021-06-02 22:13:30 +0200benin(~benin@183.82.205.186) (Ping timeout: 264 seconds)
2021-06-02 22:13:31 +0200benin0benin
2021-06-02 22:13:34 +0200ddellacosta(~ddellacos@86.106.121.72)
2021-06-02 22:14:38 +0200redienhcs(~redienhcs@200.188.238.241)
2021-06-02 22:15:15 +0200ixlun(~matthew@109.249.184.235)
2021-06-02 22:15:43 +0200ru0mad(~ru0mad@82-64-17-144.subs.proxad.net)
2021-06-02 22:16:37 +0200Wally(~Wally@dragonbox/forum-staff/wally) ()
2021-06-02 22:17:17 +0200redienhcs(~redienhcs@200.188.238.241) (Client Quit)
2021-06-02 22:20:08 +0200ru0mad(~ru0mad@82-64-17-144.subs.proxad.net) (Ping timeout: 252 seconds)
2021-06-02 22:20:24 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
2021-06-02 22:21:18 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 264 seconds)
2021-06-02 22:22:51 +0200Bartosz(~textual@24.35.90.211)
2021-06-02 22:27:00 +0200tonyday(~user@202-65-93-249.ip4.superloop.com) (Ping timeout: 245 seconds)
2021-06-02 22:27:12 +0200boxscape(~boxscape@user/boxscape) (Quit: Connection closed)
2021-06-02 22:27:53 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-06-02 22:29:52 +0200boxscape(~boxscape@user/boxscape)
2021-06-02 22:30:16 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-02 22:32:06 +0200danso(~danso@23-233-111-52.cpe.pppoe.ca) (Quit: WeeChat 3.1)
2021-06-02 22:33:59 +0200Wally(~Wally@dragonbox/forum-staff/wally)
2021-06-02 22:37:52 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-06-02 22:38:09 +0200tonyday(~user@202-65-93-249.ip4.superloop.com)
2021-06-02 22:38:41 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-06-02 22:39:21 +0200imdoor(~imdoor@balticom-142-78-50.balticom.lv)
2021-06-02 22:41:24 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2021-06-02 22:42:08 +0200ukari(~ukari@user/ukari) (Remote host closed the connection)
2021-06-02 22:43:11 +0200ukari(~ukari@user/ukari)
2021-06-02 22:45:50 +0200reumeth(~reumeth@user/reumeth) (Ping timeout: 272 seconds)
2021-06-02 22:46:45 +0200Bartosz(~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-06-02 22:50:02 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-06-02 22:51:05 +0200djb2021(~djb2021@HSI-KBW-091-089-090-070.hsi2.kabelbw.de)
2021-06-02 22:52:23 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-06-02 22:54:05 +0200benin(benin@gateway/vpn/protonvpn/benin) (Ping timeout: 245 seconds)
2021-06-02 22:59:09 +0200hgolden(~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Remote host closed the connection)
2021-06-02 23:01:23 +0200 <lbseale> I'm looking for the right data structure to hold an associated list of amounts and dates, I'll want to be able to use a function like "give me all the amounts between these two dates"
2021-06-02 23:01:43 +0200 <lbseale> is a plain Map the right one?
2021-06-02 23:02:22 +0200 <boxscape> lbseale this seems like the right data structure https://hackage.haskell.org/package/IntervalMap-0.6.1.2/docs/Data-IntervalMap-Lazy.html
2021-06-02 23:02:33 +0200 <boxscape> or wait
2021-06-02 23:02:52 +0200 <boxscape> let me make sure I'm actually understanding what interval map does
2021-06-02 23:03:54 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 264 seconds)
2021-06-02 23:04:30 +0200 <lbseale> nice, the within function is exactly what I'm thinking
2021-06-02 23:04:37 +0200 <lbseale> thank you boxscape !
2021-06-02 23:04:50 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-06-02 23:05:15 +0200 <boxscape> lbseale yeah, I guess the one downside is each value has to be associated with an interval of dates, so if you actually have points in time, it'd have to be a 0-width interval for each value in the map
2021-06-02 23:05:33 +0200 <boxscape> i.e., amount x goes from date 2021-05-03 to 2021-05-03, or whatever
2021-06-02 23:06:24 +0200 <lbseale> right, is it ok to have a 0-width interval?
2021-06-02 23:06:42 +0200 <boxscape> I don't see why not but I haven't tested it
2021-06-02 23:07:03 +0200Bartosz(~textual@24.35.90.211)
2021-06-02 23:07:06 +0200 <lbseale> ok, I'll look into it
2021-06-02 23:07:06 +0200 <sm[m]> nice lib, boxscape
2021-06-02 23:08:06 +0200 <lbseale> what does the the '|' in this type signature mean class Ord e => Interval i e | i -> e where
2021-06-02 23:08:18 +0200 <hpc> functional dependency
2021-06-02 23:08:25 +0200 <hpc> "i implies e"
2021-06-02 23:08:42 +0200 <boxscape> (more precisely, everything *after* the | is a functional dependency)
2021-06-02 23:09:03 +0200 <boxscape> it means that you can't have two instances with the same i but different e's
2021-06-02 23:09:08 +0200 <hpc> you can have instance Interval A B or instance Interval A C, but not both
2021-06-02 23:09:16 +0200sondre(~sondrelun@cm-84.212.100.140.getinternet.no) (Ping timeout: 272 seconds)
2021-06-02 23:09:36 +0200 <hpc> but not the other way, you can have both instance Interval B A and instance Interval C A
2021-06-02 23:10:18 +0200 <hpc> and this extends to type inference, given (Interval A x) => ..., ghc infers that x = B
2021-06-02 23:10:21 +0200 <lbseale> ok that makes sense
2021-06-02 23:10:50 +0200zebrag(~chris@user/zebrag)
2021-06-02 23:11:38 +0200 <boxscape> it does kind of seem like the regular Map should have a within-like function, doesn't it?
2021-06-02 23:11:47 +0200Bartosz(~textual@24.35.90.211) (Client Quit)
2021-06-02 23:11:49 +0200 <boxscape> given the Ord constraint it should be possible
2021-06-02 23:13:07 +0200alx741(~alx741@181.196.69.176) (Ping timeout: 272 seconds)
2021-06-02 23:14:05 +0200beka(~beka@104.193.170-254.PUBLIC.monkeybrains.net) (Ping timeout: 245 seconds)
2021-06-02 23:15:10 +0200 <lbseale> maybe it would be easier for me to implement within for ordinary Map
2021-06-02 23:15:23 +0200mc47(~yecinem@89.246.239.190) (Remote host closed the connection)
2021-06-02 23:16:08 +0200eight(~eight@user/eight)
2021-06-02 23:16:58 +0200 <boxscape> it's possible, though I don't know if it can be done efficiently without accessing the Map internals (but the Data.Map.Interal module might be good enough for that)
2021-06-02 23:17:30 +0200ukari(~ukari@user/ukari) (Ping timeout: 272 seconds)
2021-06-02 23:17:33 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2021-06-02 23:18:26 +0200chomwitt(~Pitsikoko@athedsl-20549.home.otenet.gr) (Ping timeout: 252 seconds)
2021-06-02 23:19:30 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 264 seconds)
2021-06-02 23:19:32 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-06-02 23:19:38 +0200 <djb2021> hi, i've put together a minimal non working swagger2 example of which i however think it should work: https://paste.tomsmeding.com/2VlzfDTS. The JSON definition should be ok in my opinion. However, i get an error message when eitherDecode'ing the file, that basically says, that the type "file" is not supported. I am quite sure that OpenAPI 2.0
2021-06-02 23:19:39 +0200 <djb2021> accepts file type there. I have tried to understand the code of swagger2 library here: https://hackage.haskell.org/package/swagger2-2.6/docs/Data-Swagger.html#t:Schema I must say that i am not very familiar with haskell kinds. I didn't understand that very well. Can someone, please, explain that to me? Anyway, my understanding of the definition of
2021-06-02 23:19:39 +0200 <djb2021> the swagger2 Schema type definition is that the type of the HasParamSchema doesn't include SwaggerFile as its type is ParamSchema 'SwaggerKindSchema. Is that correct?
2021-06-02 23:20:59 +0200ixlun(~matthew@109.249.184.235) (Read error: Connection reset by peer)
2021-06-02 23:21:15 +0200_xft0(~root@185.234.208.208.r.toneticgroup.pl) (Quit: leaving)
2021-06-02 23:21:36 +0200haskman(~haskman@223.190.0.187) (Quit: Going to sleep. ZZZzzz…)
2021-06-02 23:25:00 +0200 <dminuoso> djb2021: https://hackage.haskell.org/package/swagger2-2.6/docs/Data-Swagger.html#t:SwaggerType
2021-06-02 23:25:21 +0200 <dminuoso> By the way, swagger2 is very dead, you should switch to openapi3 if you can
2021-06-02 23:25:38 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com)
2021-06-02 23:25:42 +0200alx741(~alx741@186.178.108.19)
2021-06-02 23:25:51 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2021-06-02 23:26:50 +0200geekosaur(~geekosaur@069-135-003-034.biz.spectrum.com) (Remote host closed the connection)
2021-06-02 23:26:54 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com) (Client Quit)
2021-06-02 23:27:43 +0200imdoor(~imdoor@balticom-142-78-50.balticom.lv) (Quit: imdoor)
2021-06-02 23:28:40 +0200 <dminuoso> djb2021: Can you share your haskell code that defines the swagger spec?
2021-06-02 23:28:41 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Quit: WeeChat 3.1)
2021-06-02 23:29:11 +0200geekosaur(~geekosaur@069-135-003-034.biz.spectrum.com)
2021-06-02 23:29:49 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-06-02 23:29:50 +0200davidnutting(~nuttingd@75.164.99.232)
2021-06-02 23:30:30 +0200 <djb2021> dminuoso: yes, updating is already planned but not so easy. The SwaggerType spec you sent contains the definition of SwaggerFile as SwaggerType SwaggerKindParamOtherSchema. That limits SwaggerFile only to those cases where ParamSchema is instantiated with kind SwaggerKindParamOtherSchema - right? But that is not the case for ParamSchema in
2021-06-02 23:30:31 +0200 <djb2021> response, right?
2021-06-02 23:31:02 +0200 <dminuoso> Uh..
2021-06-02 23:31:13 +0200 <boxscape> lbseale fwiw I opened an issue in the containers repo https://github.com/haskell/containers/issues/778
2021-06-02 23:31:45 +0200 <lbseale> boxscape: many thanks!
2021-06-02 23:31:54 +0200 <dminuoso> djb2021: That sounds rather confusing, to be honest.
2021-06-02 23:31:55 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-06-02 23:31:55 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-06-02 23:32:46 +0200exarkun(~exarkun@user/exarkun) (Remote host closed the connection)
2021-06-02 23:33:05 +0200davidnutting(~nuttingd@75.164.99.232) (Client Quit)
2021-06-02 23:33:19 +0200exarkun(~exarkun@user/exarkun)
2021-06-02 23:33:22 +0200davidnutting(~nuttingd@75.164.99.232)
2021-06-02 23:33:56 +0200 <dminuoso> Ah now I understand.
2021-06-02 23:34:05 +0200 <dminuoso> Yes.
2021-06-02 23:34:23 +0200 <dminuoso> You only get file for SwaggerKindParamOtherSchema
2021-06-02 23:35:04 +0200 <dminuoso> This fact is supported in various places in swagger2
2021-06-02 23:35:07 +0200ddellacosta(~ddellacos@86.106.121.72) (Remote host closed the connection)
2021-06-02 23:35:22 +0200 <dminuoso> More concretely, file is only valid for param
2021-06-02 23:35:36 +0200ddellacosta(~ddellacos@86.106.121.72)
2021-06-02 23:36:50 +0200 <dminuoso> So yeah, because Schema uses `ParamSchema SwaggerKindSchema`, it cant contain a file it looks like
2021-06-02 23:37:08 +0200 <djb2021> Ok, thanks - in other words it is a bug, right?
2021-06-02 23:37:16 +0200 <dminuoso> Not sure, it looks intentional
2021-06-02 23:37:24 +0200 <lbseale> boxscape: Here's an easy solution, use filterWithKey with a function that checks if the key is within a set date range
2021-06-02 23:37:29 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-06-02 23:37:42 +0200 <boxscape> lbseale yep, that works, but seems slower than necessary
2021-06-02 23:37:59 +0200 <boxscape> since you have to go through all entries
2021-06-02 23:38:50 +0200 <boxscape> lbseale oh, but wait
2021-06-02 23:39:01 +0200 <boxscape> lbseale you can use split
2021-06-02 23:39:14 +0200 <dminuoso> djb2021: looks forbidden in openapi 2.0
2021-06-02 23:39:30 +0200myShoggoth(~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 245 seconds)
2021-06-02 23:39:58 +0200 <boxscape> lbseale if you split at the lower bound, you get everything smaller and larger as two separate maps, and then use split on the latter to get everything between the two bounds and everything larger than the upper bound
2021-06-02 23:40:13 +0200 <dminuoso> Mmm
2021-06-02 23:40:16 +0200 <dminuoso> "A definition of the response structure. It can be a primitive, an array or an object. If this field does not exist, it means no content is returned as part of the response. As an extension to the Schema Object, its root type value may also be "file". This SHOULD be accompanied by a relevant produces mime-type."
2021-06-02 23:40:19 +0200 <boxscape> lbseale or splitLookup if you need values exactly matching the bound as well
2021-06-02 23:40:30 +0200ddellacosta(~ddellacos@86.106.121.72) (Ping timeout: 264 seconds)
2021-06-02 23:40:53 +0200 <lbseale> boxscape: yes! this is exactly what we want
2021-06-02 23:41:05 +0200 <dminuoso> djb2021: Ah https://github.com/GetShopTV/swagger2/issues/76
2021-06-02 23:41:17 +0200tremon(~tremon@217-63-61-89.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in)
2021-06-02 23:41:30 +0200 <lbseale> get a sub-map with just keys within the given range
2021-06-02 23:42:17 +0200 <djb2021> But, please, look here: https://swagger.io/specification/v2/:' An additional primitive data type "file" is used by the Parameter Object and the Response Object to set the parameter type or the response as being a file.' And then, please, read here: https://hackage.haskell.org/package/swagger2-2.6/docs/src/Data.Swagger.Internal.html#Response, There
2021-06-02 23:42:18 +0200 <djb2021> the "file" is clearly allowed.
2021-06-02 23:42:42 +0200 <djb2021> aah you got it already
2021-06-02 23:44:10 +0200 <djb2021> dminuoso: thank you so much, the bug report makes it clear!
2021-06-02 23:44:12 +0200 <dminuoso> Yeah sorry it took me a moment to cut through the thick typitis.
2021-06-02 23:44:23 +0200 <dminuoso> djb2021: Btw, you mentioned "kinds"
2021-06-02 23:44:36 +0200 <djb2021> oh yes, can you explain that to me?
2021-06-02 23:44:45 +0200 <dminuoso> So none of this is kind stuff, they are actually types
2021-06-02 23:44:55 +0200 <dminuoso> the choice of the word "kind" is just in the english sense
2021-06-02 23:45:35 +0200 <dminuoso> The key facility here is an extension called `DataKinds`, which you can use to lift data constructors to types
2021-06-02 23:45:46 +0200 <dminuoso> % :set -XDataKinds
2021-06-02 23:45:46 +0200 <yahb> dminuoso:
2021-06-02 23:45:52 +0200 <dminuoso> % data Color = Red | Green
2021-06-02 23:45:52 +0200 <yahb> dminuoso:
2021-06-02 23:45:56 +0200 <dminuoso> % :k Red
2021-06-02 23:45:56 +0200 <yahb> dminuoso: Color
2021-06-02 23:46:14 +0200 <dminuoso> See, how `Red` also exists on the type level? That is, there exists a type called `Red`.
2021-06-02 23:46:37 +0200fendor(~fendor@178.115.57.160.wireless.dyn.drei.com) (Remote host closed the connection)
2021-06-02 23:47:19 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 252 seconds)
2021-06-02 23:47:37 +0200 <hpc> % data Light a where Go :: Light Green; Stop :: Light Red
2021-06-02 23:47:37 +0200 <yahb> hpc:
2021-06-02 23:47:39 +0200 <hpc> :t Go
2021-06-02 23:47:40 +0200 <lambdabot> error:
2021-06-02 23:47:40 +0200 <lambdabot> • Data constructor not in scope: Go
2021-06-02 23:47:40 +0200 <lambdabot> • Perhaps you meant one of these:
2021-06-02 23:47:51 +0200 <dminuoso> % :t Go
2021-06-02 23:47:51 +0200 <yahb> dminuoso: Light 'Green
2021-06-02 23:48:05 +0200 <hpc> whoops, lambdabot habit :D
2021-06-02 23:48:09 +0200 <djb2021> ah - i think i start understanding
2021-06-02 23:48:28 +0200 <dminuoso> djb2021: (And if you are really curious, kinds are to types, as types are to values)
2021-06-02 23:48:30 +0200 <djb2021> so Red and Green (which were constructors) are now types
2021-06-02 23:48:33 +0200 <dminuoso> Yup!
2021-06-02 23:48:42 +0200 <hpc> % :k Light -- and just for completeness
2021-06-02 23:48:42 +0200 <yahb> hpc: Color -> *
2021-06-02 23:48:45 +0200 <dminuoso> You can also refer to them as 'Red and 'Green
2021-06-02 23:48:55 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-06-02 23:48:58 +0200 <dminuoso> The tick serves to diambiguate, but whenever its unambiguous, the tick is optional
2021-06-02 23:50:18 +0200AgentM(~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.)
2021-06-02 23:50:24 +0200habib(~habib@89.38.69.198)
2021-06-02 23:50:35 +0200habib(~habib@89.38.69.198) (Quit: habib)
2021-06-02 23:50:47 +0200o1lo01ol1o(~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net)
2021-06-02 23:50:55 +0200Baloo__(~Baloo_@h-98-128-172-214.A785.priv.bahnhof.se) (Read error: Connection reset by peer)
2021-06-02 23:50:58 +0200 <dminuoso> djb2021: So kinds is an old term for "the types of types", nowadays the type of a type is some other type again.
2021-06-02 23:51:36 +0200 <djb2021> ok, i think i got it, the only thing that confuses me still is the signature as above: Color -> *
2021-06-02 23:51:41 +0200 <dminuoso> Yeah, so
2021-06-02 23:51:41 +0200 <boxscape> (ghc error messages still use "kind" though)
2021-06-02 23:51:48 +0200 <dminuoso> djb2021: * is a very special type
2021-06-02 23:52:06 +0200 <dminuoso> let's replace it with Type (which is a different name for it)
2021-06-02 23:52:07 +0200 <djb2021> how should i read that signature
2021-06-02 23:52:42 +0200 <dminuoso> The type of Light (which itself is a type!) is `Color -> Type`
2021-06-02 23:52:46 +0200 <hpc> djb2021: Light is a type-level function that takes a Color and produces a type
2021-06-02 23:52:51 +0200 <hpc> djb2021: it's like Maybe :: * -> *
2021-06-02 23:52:59 +0200dminuosovotes we should replace * with Type
2021-06-02 23:53:01 +0200 <dminuoso> for sanity
2021-06-02 23:53:02 +0200 <hpc> or Type -> Type
2021-06-02 23:53:23 +0200 <boxscape> % :set -XNoStarIsKind
2021-06-02 23:53:23 +0200 <yahb> boxscape: Some flags have not been recognized: -XNoStarIsKind
2021-06-02 23:53:26 +0200river(~river@tilde.team/user/river) (Read error: Connection reset by peer)
2021-06-02 23:53:31 +0200 <boxscape> % :set -XNoStarIsType
2021-06-02 23:53:31 +0200 <yahb> boxscape:
2021-06-02 23:53:35 +0200 <boxscape> % :k Light
2021-06-02 23:53:35 +0200 <yahb> boxscape: Color -> Type
2021-06-02 23:53:38 +0200 <dminuoso> djb2021: To introduce a relevant term, types can be inhabitable or non-inhabitable
2021-06-02 23:53:54 +0200 <dminuoso> djb2021: a type is said to be inhabitable, if values of that type can exist
2021-06-02 23:54:30 +0200 <dminuoso> 'Red is uninhabitable (that means there exists no values of type Red, not even undefined!)
2021-06-02 23:54:44 +0200 <dminuoso> Similarly Type is uninhabitable
2021-06-02 23:54:51 +0200 <boxscape> what's the difference between uninhabitable and uninhabited?
2021-06-02 23:54:55 +0200o1lo01ol1o(~o1lo01ol1@c-73-10-81-85.hsd1.nj.comcast.net) (Ping timeout: 245 seconds)
2021-06-02 23:55:10 +0200 <djb2021> ah ok, and Light could be called a (parametric) type constructor?
2021-06-02 23:55:25 +0200 <dminuoso> boxscape: I guess there is none, mmm
2021-06-02 23:55:35 +0200 <hpc> djb2021: yep, it's like how Just is a data constructor
2021-06-02 23:56:01 +0200 <dminuoso> djb2021: as a point of interest, one might wonder what makes a "constructor a constructor" - my mind model is, its something you can pattern match on.
2021-06-02 23:56:01 +0200 <djb2021> ah ok
2021-06-02 23:56:11 +0200 <hpc> djb2021: there's another good example if you've gotten into type classes
2021-06-02 23:56:14 +0200 <hpc> % :k Functor
2021-06-02 23:56:14 +0200 <yahb> hpc: (Type -> Type) -> Constraint
2021-06-02 23:56:24 +0200 <dminuoso> djb2021: a data constructor you can pattern match with case-of, a type constructor you can pattern match with a type family (or a typeclass instance)
2021-06-02 23:56:25 +0200 <nitrix> Yeah, if you can construct it, you can deconstruct it.
2021-06-02 23:56:34 +0200 <hpc> Functor takes a parameter that's (Type -> Type) - Maybe, for example
2021-06-02 23:56:45 +0200 <hpc> and produces a Constraint, which is the kind of things that go on the left of =>
2021-06-02 23:56:48 +0200river(~river@tilde.team/user/river)
2021-06-02 23:56:55 +0200 <dminuoso> Though, Functor opens another can of worms
2021-06-02 23:56:57 +0200 <dminuoso> and requires ConstraintKinds
2021-06-02 23:57:02 +0200 <dminuoso> To talk about here
2021-06-02 23:57:06 +0200 <hpc> true
2021-06-02 23:57:13 +0200 <djb2021> very interesting - i had a completely different model -- something that constructs a thing such as data or now types....
2021-06-02 23:57:40 +0200 <dminuoso> djb2021: Inded, `Maybe Int` creates a new type (that has no name other than `Maybe Int` itself)
2021-06-02 23:57:51 +0200 <dminuoso> djb2021: Here's a very simple rule by the way:
2021-06-02 23:58:10 +0200 <dminuoso> A type can only be inhabited, if its type is Type
2021-06-02 23:58:18 +0200 <dminuoso> To check:
2021-06-02 23:58:21 +0200 <dminuoso> % :k Int
2021-06-02 23:58:21 +0200 <yahb> dminuoso: Type
2021-06-02 23:58:28 +0200 <dminuoso> So `Int` is inhabited.
2021-06-02 23:58:32 +0200 <dminuoso> We can ask GHC to verify:
2021-06-02 23:58:38 +0200 <dminuoso> % f :: Int; f = undefined
2021-06-02 23:58:38 +0200 <yahb> dminuoso:
2021-06-02 23:58:53 +0200 <dminuoso> Type checks, we have a value of type Int. So its inhabited.
2021-06-02 23:58:59 +0200 <dminuoso> f :: Maybe; f = undefined
2021-06-02 23:59:02 +0200 <dminuoso> % f :: Maybe; f = undefined
2021-06-02 23:59:02 +0200 <yahb> dminuoso: ; <interactive>:77:6: error:; * Expecting one more argument to `Maybe'; Expected a type, but `Maybe' has kind `Type -> Type'; * In the type signature: f :: Maybe
2021-06-02 23:59:05 +0200 <dminuoso> Fails to type check!
2021-06-02 23:59:10 +0200 <dminuoso> % :k Maybe
2021-06-02 23:59:10 +0200 <yahb> dminuoso: Type -> Type
2021-06-02 23:59:23 +0200 <hpc> % f :: 'Red; f = undefined
2021-06-02 23:59:24 +0200 <yahb> hpc: ; <interactive>:79:6: error:; * Expected a type, but 'Red has kind `Color'; * In the type signature: f :: 'Red
2021-06-02 23:59:39 +0200 <dminuoso> The diagnostic is poor
2021-06-02 23:59:49 +0200 <dminuoso> when GHC says "Expected a type", it really means "a type of kind/type Type"