2021/07/21

2021-07-21 00:00:39 +0200Cajun(~Cajun@ip98-163-211-112.no.no.cox.net)
2021-07-21 00:04:10 +0200ubert(~Thunderbi@91.141.50.212.wireless.dyn.drei.com) (Remote host closed the connection)
2021-07-21 00:05:17 +0200argento(~argent0@168-227-96-53.ptr.westnet.com.ar) (Quit: leaving)
2021-07-21 00:05:31 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection)
2021-07-21 00:06:11 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 252 seconds)
2021-07-21 00:06:18 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-21 00:06:21 +0200Null_A(~null_a@2601:645:8700:2290:51:7614:ed:3f42)
2021-07-21 00:06:47 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-21 00:08:01 +0200jespada(~jespada@90.254.247.46)
2021-07-21 00:08:41 +0200zeenk(~zeenk@2a02:2f04:a008:d600:18f2:3421:bac6:8f38)
2021-07-21 00:12:37 +0200sagax(~sagax@213.138.71.146) (Ping timeout: 245 seconds)
2021-07-21 00:14:31 +0200favonia(~favonia@user/favonia)
2021-07-21 00:15:10 +0200jespada(~jespada@90.254.247.46) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-07-21 00:21:23 +0200benin03693(~benin@46.244.28.58)
2021-07-21 00:23:52 +0200jespada(~jespada@90.254.247.46)
2021-07-21 00:24:56 +0200benin0369(~benin@46.244.28.118) (Ping timeout: 255 seconds)
2021-07-21 00:24:56 +0200benin03693benin0369
2021-07-21 00:25:42 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-07-21 00:26:47 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-07-21 00:26:48 +0200dhil(~dhil@195.213.192.47) (Ping timeout: 252 seconds)
2021-07-21 00:29:50 +0200favonia(~favonia@user/favonia) (Ping timeout: 252 seconds)
2021-07-21 00:30:14 +0200favonia(~favonia@user/favonia)
2021-07-21 00:34:12 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds)
2021-07-21 00:38:36 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-21 00:41:23 +0200zeenk(~zeenk@2a02:2f04:a008:d600:18f2:3421:bac6:8f38) (Quit: Konversation terminated!)
2021-07-21 00:42:17 +0200Vajb(~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01)
2021-07-21 00:46:43 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-21 00:46:50 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-21 00:49:27 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 258 seconds)
2021-07-21 00:49:34 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2021-07-21 00:50:45 +0200chris_(~chris@81.96.113.213)
2021-07-21 00:53:55 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds)
2021-07-21 00:57:04 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-21 00:57:29 +0200jespada(~jespada@90.254.247.46) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-07-21 00:58:15 +0200berberman(~berberman@user/berberman)
2021-07-21 00:58:26 +0200acidjnk(~acidjnk@p200300d0c72b9575c508b842a8b97de2.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-07-21 00:58:39 +0200pavonia(~user@user/siracusa)
2021-07-21 01:00:56 +0200Vajb(~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01) (Remote host closed the connection)
2021-07-21 01:01:12 +0200dunkeln(~dunkeln@188.71.231.232) (Ping timeout: 255 seconds)
2021-07-21 01:01:25 +0200dunkeln(~dunkeln@94.128.224.230)
2021-07-21 01:02:57 +0200schuelermine(~anselmsch@user/schuelermine)
2021-07-21 01:03:56 +0200 <schuelermine> Is it on-topic to talk about software written in Haskell, not necesarily in respect to its code, here?
2021-07-21 01:04:29 +0200 <geekosaur> yes
2021-07-21 01:05:15 +0200 <schuelermine> Cool
2021-07-21 01:05:44 +0200 <geekosaur> it may not be the best place to get help for something like pandoc or hledger though
2021-07-21 01:05:57 +0200 <schuelermine> no that’s not what I mean
2021-07-21 01:06:11 +0200 <glguy> you mean like *real software*?
2021-07-21 01:07:30 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-21 01:08:06 +0200chomwitt(~chomwitt@2a02:587:dc0e:ef00:12c3:7bff:fe6d:d374) (Remote host closed the connection)
2021-07-21 01:08:29 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-21 01:08:46 +0200 <schuelermine> glguy: honestly I was originally thinking about https://github.com/samtay/tetris, a neat TUI tetris written in Haskell
2021-07-21 01:08:49 +0200Erutuon(~Erutuon@user/erutuon)
2021-07-21 01:09:05 +0200 <schuelermine> prolly a fair bit off of the main topic tho
2021-07-21 01:09:30 +0200benin03693(~benin@106.198.95.190)
2021-07-21 01:09:54 +0200favonia(~favonia@user/favonia)
2021-07-21 01:10:04 +0200lavaman(~lavaman@98.38.249.169)
2021-07-21 01:10:04 +0200agua(~agua@2804:18:4f:bc57:1:0:3808:8f6a)
2021-07-21 01:11:54 +0200benin0369(~benin@46.244.28.58) (Ping timeout: 265 seconds)
2021-07-21 01:11:54 +0200benin03693benin0369
2021-07-21 01:12:11 +0200pesada(~agua@2804:14c:8793:8e2f:3988:44e0:45e5:bd04) (Ping timeout: 252 seconds)
2021-07-21 01:15:08 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-21 01:16:44 +0200dunkeln(~dunkeln@94.128.224.230) (Ping timeout: 268 seconds)
2021-07-21 01:18:29 +0200 <h98> are "minor page faults" something I should worry about or do I just ignore the number? from \time -v ... apparently ~1800 in my program
2021-07-21 01:19:15 +0200 <sm> schuelermine: oh that looks nice. There's also #haskell-game and corresponding matrix rooms
2021-07-21 01:20:00 +0200chris_(~chris@81.96.113.213)
2021-07-21 01:20:25 +0200Guest2(~Guest2@50.47.115.102)
2021-07-21 01:20:45 +0200 <geekosaur> minor page faults are just allocations as seen by time
2021-07-21 01:21:09 +0200 <geekosaur> ghc's 2-stage allocator confuses many tools
2021-07-21 01:21:35 +0200 <h98> cool thanks, i'll ignore it then
2021-07-21 01:21:59 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-07-21 01:22:32 +0200 <geekosaur> well, it's not completely ignorable if your program is using more memory than you think it should, but the next step is done with ghc which knows what's actually going on
2021-07-21 01:24:36 +0200chris_(~chris@81.96.113.213) (Ping timeout: 255 seconds)
2021-07-21 01:26:03 +0200aegon(~mike@174.127.249.180)
2021-07-21 01:26:22 +0200aegon(~mike@174.127.249.180) (Client Quit)
2021-07-21 01:26:24 +0200adinf(~adinfinit@2600:6c40:653f:5f00:a650:d8d7:fe0b:8c1f)
2021-07-21 01:29:17 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 255 seconds)
2021-07-21 01:29:49 +0200arahael1(~arahael@60-242-119-83.tpgi.com.au)
2021-07-21 01:30:38 +0200arahael(~arahael@203-206-95-20.tpgi.com.au) (Ping timeout: 255 seconds)
2021-07-21 01:31:05 +0200hexfive(~eric@50.35.83.177)
2021-07-21 01:31:13 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 246 seconds)
2021-07-21 01:33:04 +0200arahael1Arahael
2021-07-21 01:33:39 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds)
2021-07-21 01:37:37 +0200favonia(~favonia@user/favonia) (Ping timeout: 245 seconds)
2021-07-21 01:37:56 +0200favonia(~favonia@user/favonia)
2021-07-21 01:38:57 +0200Vajb(~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01)
2021-07-21 01:39:51 +0200Guest2(~Guest2@50.47.115.102) (Quit: Client closed)
2021-07-21 01:42:20 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-07-21 01:43:30 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 255 seconds)
2021-07-21 01:46:47 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-21 01:47:56 +0200chris_(~chris@81.96.113.213)
2021-07-21 01:48:05 +0200 <delYsid> schuelermine: btw, I repurposed samtay's tetris to create a version playable on braille displays. "ssh betris@blind.guru" for a demo :-)
2021-07-21 01:48:37 +0200 <schuelermine> Cool, I don’
2021-07-21 01:48:43 +0200 <schuelermine> t have a braille TTY, unfor
2021-07-21 01:48:45 +0200 <schuelermine> tunately
2021-07-21 01:49:35 +0200 <delYsid> It uses unicode braille, so with the right font, the principle should work even if you are just using a "normal" monitor :-)
2021-07-21 01:50:19 +0200 <delYsid> anyway, samtay/tetris is a pretty neat piece of code
2021-07-21 01:50:27 +0200dajoer(~david@user/gvx)
2021-07-21 01:53:45 +0200 <schuelermine> delYsid: can you share the fingerprint of your SSH instance?
2021-07-21 01:53:49 +0200 <schuelermine> I want to verify
2021-07-21 01:54:11 +0200 <delYsid> brick is the first tui library I happen to like. ncurses killed my productivity when I moved from directly writing to 0xB8000 to Linux many many years ago. brick is the first library that makes me want write TUIs again.
2021-07-21 01:56:17 +0200 <schuelermine> delYsid: huh
2021-07-21 01:56:22 +0200 <schuelermine> I can’t seem to input anything
2021-07-21 01:56:42 +0200 <schuelermine> do you have a GH repo?
2021-07-21 01:57:06 +0200 <delYsid> schuelermine: 256 SHA256:B1A9OjQV6pqqko2ANAyiJ1YrNqjmeHi8xUuAQxGe+yQ blind.guru (ED25519)
2021-07-21 01:57:33 +0200 <delYsid> schuelermine: https://github.com/mlang/betris
2021-07-21 01:58:11 +0200 <delYsid> The same is flipped 90-degrees, also the controls. So you "drop" with cursor left, and move the tetrimino with cursor up/down. Press return to rotate
2021-07-21 01:58:21 +0200 <delYsid> s/same/game/
2021-07-21 01:58:54 +0200 <delYsid> Took me 20 years to realize that tetris is actually easily portable to braille
2021-07-21 01:59:31 +0200 <monochrom> Heh "directly write to 0xB8000". Real programmers. :)
2021-07-21 01:59:54 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 268 seconds)
2021-07-21 02:00:03 +0200 <delYsid> yeah, those were the days.
2021-07-21 02:00:19 +0200Jeanne-Kamikaze(~Jeanne-Ka@69.4.234.80)
2021-07-21 02:00:23 +0200monochromused to dabble a bit with peek, poke in basic and adding a bit of asm.
2021-07-21 02:01:12 +0200geekosaurremembers those days too
2021-07-21 02:01:13 +0200 <schuelermine> hmm, I’m getting SHA256:lLbnuXcnp9ghlxu91KksYuFl3df74ItLmef30s2fktc.
2021-07-21 02:01:46 +0200 <schuelermine> delYsid: Oh, I was using HJKL controls
2021-07-21 02:02:16 +0200 <delYsid> yeah, SHA256:lLbnuXcnp9ghlxu91KksYuFl3df74ItLmef30s2fktc
2021-07-21 02:02:26 +0200 <schuelermine> ok
2021-07-21 02:02:38 +0200Haskell9Liker6(~Haskell9L@rrcs-69-75-173-34.west.biz.rr.com)
2021-07-21 02:02:55 +0200 <delYsid> this is the first time ever someone asked me to verify a server key. And I am doing hpc admin work as a day job since 20 years. Its so sad.
2021-07-21 02:03:14 +0200 <schuelermine> also, I’m starting to regret using Kitty as my terminal, I always need to write TERM=xterm-256color before any ssh…
2021-07-21 02:03:23 +0200 <Haskell9Liker6> hi, is there a good place to go to get an idea of progress towards release of ghc 9.2.1?
2021-07-21 02:04:03 +0200 <geekosaur> https://gitlab.haskell.org/ghc/ghc/-/milestones/365 supposedly
2021-07-21 02:04:09 +0200 <schuelermine> Haskell9Liker6: I don’t think it’s release-ready yet
2021-07-21 02:04:11 +0200 <delYsid> schuelermine: alias ssh='TERM=xterm-256color ssh'
2021-07-21 02:04:20 +0200 <schuelermine> delYsid: maybe
2021-07-21 02:04:23 +0200 <schuelermine> although
2021-07-21 02:04:29 +0200 <geekosaur> they're still tracking down problems on aarch64-darwin
2021-07-21 02:04:33 +0200 <schuelermine> maybe I should actually utilize fish abbreviations finally
2021-07-21 02:04:58 +0200 <schuelermine> ’cause I have the terminfo file copied onto a dev server I use regularly
2021-07-21 02:05:01 +0200 <schuelermine> so I don’t need it there
2021-07-21 02:05:42 +0200 <delYsid> I never got why fish is the new hot thing. I am kind of stuck with bash.
2021-07-21 02:05:52 +0200 <geekosaur> zsh!
2021-07-21 02:05:56 +0200 <schuelermine> is it the hot new thing? idk
2021-07-21 02:05:59 +0200 <schuelermine> I like it personally
2021-07-21 02:06:10 +0200 <schuelermine> geekosaur: zsh sounds kinda good too
2021-07-21 02:06:19 +0200 <delYsid> yeah, I even used zsh for many years, but somehow went back to bash because I am simply using too many machines on a daily basis.
2021-07-21 02:07:05 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-21 02:07:26 +0200 <geekosaur> I have a somewhat evil config that makes what I need available on many shells
2021-07-21 02:07:55 +0200shapr(~user@pool-108-28-144-11.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
2021-07-21 02:08:01 +0200 <monochrom> onoes polygot .profile
2021-07-21 02:08:03 +0200 <geekosaur> which dates back to when commercial unixes were a thing, so I don't use much in the way of fancy expansions and the like
2021-07-21 02:08:57 +0200favonia(~favonia@user/favonia)
2021-07-21 02:09:00 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-07-21 02:09:14 +0200 <delYsid> I customize my local machine, but I try to run with the defaults on everything remote.
2021-07-21 02:10:14 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-21 02:11:04 +0200dtman34(~dtman34@c-73-62-246-247.hsd1.mn.comcast.net) (Quit: ZNC 1.7.2+deb3 - https://znc.in)
2021-07-21 02:11:28 +0200 <schuelermine> oh that reminds
2021-07-21 02:11:31 +0200 <schuelermine> me
2021-07-21 02:11:46 +0200 <schuelermine> Does anybody know when WinIO will be made the default IO manager for NT?
2021-07-21 02:11:55 +0200 <Cajun> so when i go to compile this, GHC "panics" and says its a bug, though im not sure if my code is even valid logically https://paste.tomsmeding.com/NGnr4zD8
2021-07-21 02:12:01 +0200 <schuelermine> I remember being really frustrated with GHC back when I used Windows
2021-07-21 02:13:09 +0200 <schuelermine> goodbye!
2021-07-21 02:13:15 +0200schuelermine(~anselmsch@user/schuelermine) (Quit: WeeChat 3.2)
2021-07-21 02:13:52 +0200dtman34(~dtman34@c-73-62-246-247.hsd1.mn.comcast.net)
2021-07-21 02:15:04 +0200Haskell9Liker6(~Haskell9L@rrcs-69-75-173-34.west.biz.rr.com) (Quit: Client closed)
2021-07-21 02:15:39 +0200 <pavonia> Is "type Label :: Type -> Symbol" legal code?
2021-07-21 02:15:49 +0200 <Cajun> yes, its a type family thing
2021-07-21 02:16:10 +0200 <Cajun> kind signature i think is the term, im new to it
2021-07-21 02:16:28 +0200 <pavonia> I've never seen this
2021-07-21 02:16:43 +0200 <Cajun> itll blow your mind, check out TypeFamilies if you havent
2021-07-21 02:17:22 +0200 <pavonia> I know about type families, just not this part of the syntax
2021-07-21 02:20:51 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-21 02:21:15 +0200favonia(~favonia@user/favonia)
2021-07-21 02:23:17 +0200 <pavonia> So (a :: Num a => a) is any type that has a kind which is an instance of Num, do I get that right?
2021-07-21 02:24:16 +0200aegon(~mike@174.127.249.180)
2021-07-21 02:24:20 +0200 <Cajun> im still having difficulties with kinds, but yes that sounds fairly accurate
2021-07-21 02:24:56 +0200 <h98> are you really supposed to be able to do that?
2021-07-21 02:25:06 +0200 <pavonia> I think what you want is just (Num a => a)
2021-07-21 02:25:34 +0200 <h98> ^ that gives "illegal qualified type" for me
2021-07-21 02:26:01 +0200 <aegon> I'm trying to interface with the Gogol library but its doing some things that are over my head. Specifically theres a data definition in there called Env, I want to store an instance of that in a MonadReader but I cant get the type system to tell me what to call it. here's where the data is defined
2021-07-21 02:26:06 +0200 <aegon> https://github.com/brendanhay/gogol/blob/797a2672b4652a1764d61a313939a2050ff0ed7f/gogol/src/Networ…
2021-07-21 02:26:58 +0200 <Cajun> pavonia: that also gives me "illegal qualified type"
2021-07-21 02:27:09 +0200 <h98> i'd be very surprised you could do anything like that honestly
2021-07-21 02:27:17 +0200 <aegon> The closest I've come is IO Network.Google.Env.Env '["https://www.googleapis.com/auth/devstorage.read_write"]' but when i trie to make that the type ghc seems upset
2021-07-21 02:27:18 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-07-21 02:27:20 +0200Guest4(~Guest4@50.47.115.102)
2021-07-21 02:27:25 +0200 <h98> type families are supposed to be easy to resolve right?
2021-07-21 02:27:56 +0200 <h98> putting constraints in there doesn't feel like it should work, though idk
2021-07-21 02:28:19 +0200 <Cajun> there must be a way to match on multiple types like that. like instead of writing `instance Label Double/Int/Integer/etc. = ...` there must be some sorta shortcut right?
2021-07-21 02:29:23 +0200 <Cajun> yeah it doesnt feel like it should work but i have no idea. that seems like it would be asking for a value instead of a type, which wouldnt make sense
2021-07-21 02:31:15 +0200 <dsal> If you want to know a bit more about kinds and kind signatures and like watching videos: https://youtu.be/JleVecHAad4
2021-07-21 02:31:41 +0200 <Cajun> ill check it out, thanks!
2021-07-21 02:32:20 +0200 <aegon> here's a paste of the error https://dpaste.com/5LSAK2QBZ
2021-07-21 02:33:18 +0200 <h98> i think if what you were trying to do were allowed, you could concoct a chicken-and-egg situation with a type family and a class where your code would depend on the order in which ghc compiles it
2021-07-21 02:33:45 +0200 <dsal> aegon: I suspect you just want `newEnv`
2021-07-21 02:34:19 +0200 <dsal> Just realized I've basically not used gogol. I've used amazonka quite a bit, though.
2021-07-21 02:34:25 +0200 <aegon> dsal: I want to store it in record in a ReaderT so I need to give a type for it somewheres
2021-07-21 02:35:40 +0200 <aegon> I want to have access to an Env within route of my app so I can interact with google storage, I think one way for this is to store the Google Env in a record in a ReaderT but this level of type work is over my head, maybe the way this is formed precludes that?
2021-07-21 02:36:50 +0200Guest4(~Guest4@50.47.115.102) (Quit: Client closed)
2021-07-21 02:37:17 +0200 <Cajun> h98: that does seem accurate, but that makes me wonder why it isnt caught by a syntax checker of some kind and results in the GHC panic. ill submit the bug report if it appears it hasnt been submitted already
2021-07-21 02:37:47 +0200 <dsal> aegon: You don't necessarily want to store that env. I'm trying to see what the equivalent in gogol is of some of the stuff I'm doing in amazonka
2021-07-21 02:38:02 +0200 <geekosaur> just for grins and giggles: does it change if you rename the type?
2021-07-21 02:38:38 +0200 <geekosaur> that is, (a :: Num b => b)
2021-07-21 02:38:53 +0200 <h98> https://gitlab.haskell.org/ghc/ghc/-/issues/18714 might be relevant
2021-07-21 02:39:35 +0200 <aegon> dsal: hmm, i thought i'd want to not create and tear down loggers / envs everytime i uplaod or download something from gcs but maybe it's lighterweight than i thought?
2021-07-21 02:39:35 +0200 <Cajun> that doesnt do much of anything it appears geekosaur but nice idea lol
2021-07-21 02:39:48 +0200 <Cajun> h98: it does appear to be relevant, thanks!
2021-07-21 02:40:02 +0200 <aegon> dsal: thats for sure doing an env lookup and a disk read at the least but maybe Gogol caches that somewhere internal with an IORef
2021-07-21 02:40:18 +0200 <dsal> aegon: yeah. In amazonka, there's an AWST you can use. I don't quite know where that is. But your type signature looks a bit weird there. Have you tried removing it and asking it what the type is?
2021-07-21 02:40:21 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds)
2021-07-21 02:40:49 +0200 <aegon> dsal: yeah, with it removed GHC gives up, I thought maybe i was missing a language pragma so sprinkled some in :P
2021-07-21 02:41:33 +0200 <aegon> gettin ga pastebin of the error
2021-07-21 02:41:34 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-07-21 02:41:34 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-07-21 02:41:37 +0200allbery_bgeekosaur
2021-07-21 02:42:00 +0200adinf(~adinfinit@2600:6c40:653f:5f00:a650:d8d7:fe0b:8c1f) (Ping timeout: 255 seconds)
2021-07-21 02:43:31 +0200 <aegon> dsal: here is the one https://dpaste.com/F98EU49GW
2021-07-21 02:44:44 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-07-21 02:45:29 +0200 <dsal> Oh, well for the first, you probably just need the correct constraints. newEnv is `newEnv :: (MonadIO m, MonadCatch m, AllowScopes s) => m (Env s)`
2021-07-21 02:45:37 +0200 <dsal> Your function is basically the same as that.
2021-07-21 02:46:08 +0200 <dsal> I should write some code against gogol. I thought I had somewhere, but I guess not.
2021-07-21 02:47:35 +0200 <aegon> dsal: hmm, but then when i get the Env s and i want to store that in a record, i need to provide the s type and i don't know how to tell the compiler what that is
2021-07-21 02:48:22 +0200 <geekosaur> isn't the error message giving that to you?
2021-07-21 02:48:45 +0200hiruji(~hiruji@user/hiruji) (Ping timeout: 255 seconds)
2021-07-21 02:50:07 +0200 <aegon> geekosaur: i must be missing a language extension? i tried plugging that into it before an ghc didn't know how to parse '["thing"]' as part of the Env type signature
2021-07-21 02:50:21 +0200 <aegon> it said somethign about a Kind mismatch
2021-07-21 02:51:01 +0200Deide(~Deide@user/deide) (Quit: Seeee yaaaa)
2021-07-21 02:51:48 +0200 <geekosaur> maybe provide that code and error? this is starting to sound like an xy problem
2021-07-21 02:51:59 +0200lbseale(~lbseale@user/ep1ctetus) (Quit: Leaving)
2021-07-21 02:52:45 +0200 <dsal> This code uses some fancy features and has a lot of bugs open begging for it to be updated and/or offering help to maintain it. :(
2021-07-21 02:54:56 +0200 <aegon> working on getting a paste for that, I'm pretty unfamiliar with these extensions so it takes a bit to reorganize stuff and get back to the previous state
2021-07-21 02:55:06 +0200pesada(~agua@2804:18:4a:c35:1:0:3be5:8cb2)
2021-07-21 02:55:16 +0200adinf(~adinfinit@2600:6c40:653f:5f00:a650:d8d7:fe0b:8c1f)
2021-07-21 02:55:57 +0200 <geekosaur> anyway kind mismatch is not usually a missing extension but some other problem
2021-07-21 02:56:08 +0200 <dsal> DataKinds isn't too confusing, but it is leading to some monstrous types: type FilesCopyResource = "drive" :> ("v3" :> ("files" :> (Capture "fileId" Text :> ("copy" :> (QueryParam "ocrLanguage" Text :> (QueryParam "keepRevisionForever" Bool :> (QueryParam "supportsAllDrives" Bool :> (QueryParam "ignoreDefaultVisibility" Bool :> (QueryParam "supportsTeamDrives" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] File :> Post '[JSON]
2021-07-21 02:56:08 +0200 <dsal> File)))))))))))
2021-07-21 02:56:58 +0200 <geekosaur> the type there admittedly wouldn't have matched kinds *, so maybe you're missing PolyKinds
2021-07-21 02:57:40 +0200agua(~agua@2804:18:4f:bc57:1:0:3808:8f6a) (Ping timeout: 246 seconds)
2021-07-21 02:57:45 +0200oxide(~lambda@user/oxide) (Read error: Connection reset by peer)
2021-07-21 02:58:36 +0200 <aegon> ooo, i got it down to a warning, i was screwing up the s part of the type by adding an extra ' at the end
2021-07-21 02:58:43 +0200 <aegon> what extension or feature is the '["string"]
2021-07-21 02:59:24 +0200 <geekosaur> that's a type-level list of Symbols
2021-07-21 02:59:29 +0200 <h98> aegon https://stackoverflow.com/questions/54020335/what-is-and-in-haskell
2021-07-21 03:00:57 +0200 <aegon> h98 reading that
2021-07-21 03:01:09 +0200 <aegon> in the meanwhile here is the version with just a warning https://dpaste.com/6N2WZ3YVG
2021-07-21 03:03:20 +0200 <dsal> That's a handy warning.
2021-07-21 03:05:03 +0200 <aegon> yeah i fixed it, I need to read up on MonadCatch, so I need to do this init within a non IO monad, it doesn't work when I remove the constraint MonadCatch but the example i see is doing this in raw IO
2021-07-21 03:05:35 +0200 <dsal> If you need to use this, you need to use it from something with a `MonadCatch` constraint.
2021-07-21 03:06:07 +0200 <aegon> ooooh, the example is untyped and is eventually going through Google.Network.runGoogle
2021-07-21 03:07:31 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-21 03:10:50 +0200 <aegon> and, IO is an instance of MonadCatch
2021-07-21 03:13:22 +0200chris_(~chris@81.96.113.213)
2021-07-21 03:13:34 +0200 <dsal> Yeah, IO has a lot of instances.
2021-07-21 03:14:44 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 258 seconds)
2021-07-21 03:15:21 +0200 <aegon> sorry for all the questions, I've read about transformers a lot, this is the first time trying to do something real with them and its quite different than reading, I'm still getting working on some intuition, i got the type down
2021-07-21 03:15:45 +0200 <aegon> so if i'm understanding this correct theres a type definitions somewhere in google that uses that string as one of its representations
2021-07-21 03:16:43 +0200 <dsal> This isn't transformers, this is DataKinds.
2021-07-21 03:16:44 +0200 <aegon> or is '[] doing something special with the Symol definition that converts any sequence of strings into a matchable type parameter
2021-07-21 03:16:50 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-07-21 03:18:39 +0200 <dsal> Symbol is for type literals: https://hackage.haskell.org/package/base-4.15.0.0/docs/GHC-TypeLits.html#t:Symbol
2021-07-21 03:18:44 +0200olive_(~olive_@117.222.71.166)
2021-07-21 03:19:31 +0200oxide(~lambda@user/oxide)
2021-07-21 03:19:43 +0200smichel17(~smichel17@c-73-68-217-18.hsd1.ma.comcast.net) (Quit: smichel17)
2021-07-21 03:20:05 +0200 <aegon> reading up on DataKinds / TypeLits
2021-07-21 03:20:12 +0200 <dsal> Argh, these types require pastebins just to talk about
2021-07-21 03:20:58 +0200xff0x_(~xff0x@2001:1a81:52d5:1300:581a:587e:cc8c:4deb) (Ping timeout: 240 seconds)
2021-07-21 03:20:59 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-07-21 03:21:24 +0200 <justsomeguy> That's one advantage of other kinds of chat platforms, like the fp discord or matrix.
2021-07-21 03:21:45 +0200 <justsomeguy> (You can have an in-line text document, which can easily be hidden or expanded.)
2021-07-21 03:22:50 +0200 <dsal> Heh. It's more of damning a type definition that's so long it requires that kind of feature to even look at.
2021-07-21 03:22:56 +0200xff0x_(~xff0x@2001:1a81:530d:8900:36a5:b6bb:ee85:bc72)
2021-07-21 03:22:56 +0200 <dsal> aegon: https://github.com/brendanhay/gogol/blob/develop/gogol-storage/gen/Network/Google/Resource/Storage… <-- you can see how this is used here.
2021-07-21 03:23:35 +0200 <dsal> The scope string is part of the type such that you get compile-time safety preventing you from calling a modification function with a read scope.
2021-07-21 03:24:40 +0200doyougnu(~user@c-73-25-202-122.hsd1.or.comcast.net)
2021-07-21 03:26:11 +0200 <monochrom> Is that type-level URL meme
2021-07-21 03:27:15 +0200dsalcreates type shortener service
2021-07-21 03:27:34 +0200 <dsal> e.g.: https://github.com/brendanhay/gogol/blob/develop/gogol-storage/gen/Network/Google/Resource/Storage…
2021-07-21 03:27:40 +0200 <monochrom> hee hee
2021-07-21 03:28:28 +0200 <dsal> I think the indentation is probably quite misleading.
2021-07-21 03:28:29 +0200 <h98> should've run the URLs through bit.ly first to make the types shorter
2021-07-21 03:29:13 +0200 <dsal> echo type | gzip -9vc | gzip -9vc
2021-07-21 03:29:30 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 256 seconds)
2021-07-21 03:32:24 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds)
2021-07-21 03:33:28 +0200eight(~eight@user/eight) (Quit: leaving)
2021-07-21 03:33:52 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-07-21 03:34:00 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-07-21 03:39:04 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-21 03:42:14 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-07-21 03:43:47 +0200doyougnu(~user@c-73-25-202-122.hsd1.or.comcast.net) (Remote host closed the connection)
2021-07-21 03:43:55 +0200 <aegon> dsal: are you the author of gogol?
2021-07-21 03:45:08 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-21 03:49:04 +0200 <dsal> aegon: noooo.
2021-07-21 03:49:11 +0200 <dsal> That dude seems busy
2021-07-21 03:49:59 +0200jmorris(uid433911@id-433911.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-21 03:50:18 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-07-21 03:50:27 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-21 03:50:32 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-21 03:52:46 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
2021-07-21 03:56:02 +0200x_kuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2021-07-21 03:57:44 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-07-21 03:57:54 +0200derelict(~derelict@user/derelict) (Ping timeout: 240 seconds)
2021-07-21 03:59:31 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-21 04:00:09 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
2021-07-21 04:01:51 +0200zyklotomic(~ethan@2604:a880:800:10::79f:8001) (WeeChat 2.8)
2021-07-21 04:05:37 +0200 <Boarders> is there some way to get from a type level list of types to the flattened tuple of each element?
2021-07-21 04:06:51 +0200geekosaurcan't even imagine the type of such a function
2021-07-21 04:07:42 +0200 <h98> Boarders do you have an example of the kind of signature you want?
2021-07-21 04:07:54 +0200oxide(~lambda@user/oxide) (Ping timeout: 252 seconds)
2021-07-21 04:07:59 +0200 <Boarders> it is a type family like: type Tuplify :: [Type] -> Type
2021-07-21 04:08:26 +0200 <Boarders> the naive thing you would write is either left or right biased where you have a bunch of nested pairs
2021-07-21 04:08:57 +0200 <Boarders> like I could write this as an open type family where I just write it all the way up to lists of length 63 or whatever GHC supports tuples for
2021-07-21 04:09:00 +0200 <Boarders> in principle
2021-07-21 04:09:06 +0200 <h98> if you want a flat tuple you almost certainly have to hardcode it, or use something like https://hackage.haskell.org/package/tuple-hlist
2021-07-21 04:10:15 +0200td_(~td@muedsl-82-207-238-004.citykom.de) (Ping timeout: 265 seconds)
2021-07-21 04:11:14 +0200jmorris(uid433911@id-433911.stonehaven.irccloud.com)
2021-07-21 04:11:15 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds)
2021-07-21 04:11:52 +0200td_(~td@muedsl-82-207-238-072.citykom.de)
2021-07-21 04:13:02 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-07-21 04:13:48 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-07-21 04:14:12 +0200Axman6(~Axman6@user/axman6)
2021-07-21 04:16:52 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-21 04:18:26 +0200 <dsal> % :k (,,,)
2021-07-21 04:18:26 +0200 <yahb> dsal: * -> * -> * -> * -> *
2021-07-21 04:18:43 +0200 <dsal> % :t (,,,)
2021-07-21 04:18:44 +0200 <yahb> dsal: a -> b -> c -> d -> (a, b, c, d)
2021-07-21 04:21:11 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 255 seconds)
2021-07-21 04:27:23 +0200 <aegon> I'm trying to find the definition of Object in that library and I've been searching for 15 minutes, lol
2021-07-21 04:32:42 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-21 04:34:10 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2021-07-21 04:34:10 +0200FinnElijaGuest222
2021-07-21 04:34:10 +0200finn_elijaFinnElija
2021-07-21 04:35:13 +0200favonia(~favonia@user/favonia)
2021-07-21 04:36:05 +0200Jeanne-Kamikaze(~Jeanne-Ka@69.4.234.80) (Quit: Leaving)
2021-07-21 04:37:14 +0200Guest222(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 252 seconds)
2021-07-21 04:38:57 +0200Jeanne-Kamikaze(~Jeanne-Ka@69.4.234.80)
2021-07-21 04:44:06 +0200 <Boarders> is it possible to go from the k -> Type sort of things in GHC.Generics to the underlying type again (if that makes sense what I am saying)?
2021-07-21 04:45:14 +0200 <Boarders> I guess you can write a type family to do it
2021-07-21 04:49:20 +0200 <dsal> aegon: which Object? There's usually a link.
2021-07-21 04:49:56 +0200 <c_wraith> aegon: if you're in the haddock, just hit "s" and then type "Object" into the window that pops up. No need to do work the computer can do for you.
2021-07-21 04:50:08 +0200 <c_wraith> Or you can go to the index page
2021-07-21 04:50:20 +0200 <dsal> aegon: this one? https://hackage.haskell.org/package/gogol-storage-0.5.0/docs/Network-Google-Storage-Types.html#g:51
2021-07-21 04:50:22 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Ping timeout: 265 seconds)
2021-07-21 04:50:28 +0200 <c_wraith> You should never *search* the haddocks.
2021-07-21 04:51:45 +0200 <dsal> I didn't know about the `s` thing. When did computers gain capabilities?
2021-07-21 04:52:34 +0200horatioh2(~horatiohb@161.35.107.60) (Ping timeout: 268 seconds)
2021-07-21 04:54:47 +0200 <c_wraith> in the big haddock output redesign a few years ago
2021-07-21 04:54:58 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-21 04:55:58 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
2021-07-21 04:59:33 +0200alx741(~alx741@186.178.108.174) (Quit: alx741)
2021-07-21 05:00:06 +0200Null_A(~null_a@2601:645:8700:2290:51:7614:ed:3f42) (Remote host closed the connection)
2021-07-21 05:03:40 +0200chris_(~chris@81.96.113.213)
2021-07-21 05:04:22 +0200pisenbig(~user@49.5.6.87)
2021-07-21 05:05:22 +0200 <pisenbig> let i = Just "abc", how to `isPrefixOf "ab" i` get a Bool for if-else-then?
2021-07-21 05:05:40 +0200 <pisenbig> isPrefixOf "ab" <$> i would get [Bool]
2021-07-21 05:05:50 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 265 seconds)
2021-07-21 05:05:53 +0200 <pisenbig> and if-then-else need a Bool, not [Bool]
2021-07-21 05:06:58 +0200 <pisenbig> and inside IO's do notation, can we use >>= for Maybe?
2021-07-21 05:07:42 +0200 <pisenbig> main = do {let i = Nothing; i >>= (\n -> if isPrefixOf "ab" n then ...) } ok?
2021-07-21 05:08:10 +0200 <h98> yes ish but probably not in the way you're thinking, >>= will work on the "top" monad layer if you have m1 ( m2 ( ...))
2021-07-21 05:08:15 +0200guest720(~user@49.5.6.87) (Ping timeout: 265 seconds)
2021-07-21 05:08:30 +0200 <geekosaur> sometimes you just want to pattern match
2021-07-21 05:08:36 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 268 seconds)
2021-07-21 05:10:02 +0200Erutuon(~Erutuon@user/erutuon)
2021-07-21 05:10:38 +0200pisenbig223(~user@49.5.6.87)
2021-07-21 05:10:47 +0200 <pisenbig223> would Nothing shortcircle whole IO's computation?
2021-07-21 05:11:23 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1)
2021-07-21 05:11:48 +0200 <geekosaur> it would shortcircuit the isPrefixOf but not the IO
2021-07-21 05:12:47 +0200 <pisenbig223> and what about if-then-else?
2021-07-21 05:12:48 +0200pisenbig(~user@49.5.6.87) (Ping timeout: 258 seconds)
2021-07-21 05:14:49 +0200Jeanne-Kamikaze(~Jeanne-Ka@69.4.234.80) (Quit: Leaving)
2021-07-21 05:15:25 +0200 <geekosaur> again, sometimes you just want to pattern match. or use fromMaybe
2021-07-21 05:15:28 +0200favonia(~favonia@user/favonia) (Ping timeout: 256 seconds)
2021-07-21 05:16:03 +0200 <geekosaur> :t fromMaybe False (isPrefixOf "abc" <$> Just "a")
2021-07-21 05:16:04 +0200 <lambdabot> Bool
2021-07-21 05:16:27 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-21 05:17:01 +0200lavaman(~lavaman@98.38.249.169)
2021-07-21 05:17:08 +0200 <geekosaur> change the Flase to True if you want Nothing to evaluate to True
2021-07-21 05:17:51 +0200pisenbig223(~user@49.5.6.87) (Ping timeout: 268 seconds)
2021-07-21 05:17:55 +0200 <geekosaur> *False
2021-07-21 05:18:00 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-21 05:18:12 +0200lavaman(~lavaman@98.38.249.169)
2021-07-21 05:20:02 +0200favonia(~favonia@user/favonia)
2021-07-21 05:22:11 +0200Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net)
2021-07-21 05:26:29 +0200Codaraxis(~Codaraxis@user/codaraxis) (Ping timeout: 268 seconds)
2021-07-21 05:29:02 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
2021-07-21 05:29:55 +0200Hafydd(~Hafydd@user/hafydd)
2021-07-21 05:30:29 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 250 seconds)
2021-07-21 05:32:11 +0200pisenbig222(~user@49.5.6.87)
2021-07-21 05:32:39 +0200juhp(~juhp@128.106.188.66) (Ping timeout: 268 seconds)
2021-07-21 05:32:43 +0200 <pisenbig222> in IO's donation, how to shortcircle if-then-else?
2021-07-21 05:34:32 +0200ukari(~ukari@user/ukari)
2021-07-21 05:35:43 +0200tubogram(~tubogram@user/tubogram) (Quit: See ya later!)
2021-07-21 05:35:46 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 240 seconds)
2021-07-21 05:36:02 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-21 05:37:05 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-21 05:38:09 +0200 <c_wraith> pisenbig222: are you typing on a phone? If so, you might want to watch out for autocorrect.
2021-07-21 05:38:39 +0200tubogram(~tubogram@user/tubogram)
2021-07-21 05:40:09 +0200 <pisenbig222> c_wraith: sorry for that
2021-07-21 05:40:10 +0200pisenbig222(~user@49.5.6.87) (Quit: ERC (IRC client for Emacs 27.1))
2021-07-21 05:41:33 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
2021-07-21 05:42:19 +0200chris_(~chris@81.96.113.213)
2021-07-21 05:46:16 +0200derelict(~derelict@user/derelict)
2021-07-21 05:50:53 +0200zebrag(~chris@user/zebrag) (Remote host closed the connection)
2021-07-21 05:52:48 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-07-21 05:53:36 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-21 05:55:06 +0200 <albet70> how to get a from IO (Maybe a)?
2021-07-21 05:55:22 +0200 <albet70> since there's no IOT
2021-07-21 05:57:10 +0200 <h98> do (Just a <- ioMaybeA) is the dirty way
2021-07-21 05:57:33 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-21 05:57:35 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-21 05:59:27 +0200 <glguy> or better, do mb <- ioMaybeA; case mb of Nothing -> _; Just a -> _
2021-07-21 06:00:57 +0200oxide(~lambda@user/oxide)
2021-07-21 06:02:51 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-21 06:03:51 +0200 <albet70> main = do {let a = return Nothing :: MaybeT IO Int; runMaybeT (a >>= (\n -> MaybeT $ print (n+1)))
2021-07-21 06:04:01 +0200 <albet70> what's wrong with it?
2021-07-21 06:04:28 +0200 <albet70> should n be Int?
2021-07-21 06:04:40 +0200 <nshepperd2> return Nothing :: MaybeT IO Int is a type error
2021-07-21 06:04:54 +0200 <albet70> oh
2021-07-21 06:06:17 +0200 <nshepperd2> and so is MaybeT $ print (n+1)
2021-07-21 06:06:45 +0200adinf(~adinfinit@2600:6c40:653f:5f00:a650:d8d7:fe0b:8c1f) (Ping timeout: 255 seconds)
2021-07-21 06:09:40 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-21 06:10:05 +0200Null_A(~null_a@2601:645:8700:2290:a92e:e23d:59b7:f2e9)
2021-07-21 06:11:45 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Remote host closed the connection)
2021-07-21 06:12:22 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
2021-07-21 06:12:32 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 265 seconds)
2021-07-21 06:15:20 +0200lambdap(~lambdap@static.167.190.119.168.clients.your-server.de) (Quit: lambdap)
2021-07-21 06:15:58 +0200lambdap(~lambdap@static.167.190.119.168.clients.your-server.de)
2021-07-21 06:16:49 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Ping timeout: 258 seconds)
2021-07-21 06:16:50 +0200eL_Bart0-(eL_Bart0@dietunichtguten.org) (Read error: Connection reset by peer)
2021-07-21 06:17:25 +0200 <albet70> :t MaybeT $ print 1
2021-07-21 06:17:26 +0200 <lambdabot> error:
2021-07-21 06:17:26 +0200 <lambdabot> • Data constructor not in scope: MaybeT :: IO () -> t
2021-07-21 06:17:26 +0200 <lambdabot> • Perhaps you meant variable ‘maybe’ (imported from Data.Maybe)
2021-07-21 06:18:25 +0200 <albet70> I forget Maybe in it
2021-07-21 06:20:02 +0200eL_Bart0(eL_Bart0@dietunichtguten.org)
2021-07-21 06:21:29 +0200tubogram(~tubogram@user/tubogram) (Quit: See ya later!)
2021-07-21 06:25:23 +0200tubogram(~tubogram@user/tubogram)
2021-07-21 06:26:46 +0200juhp(~juhp@128.106.188.220)
2021-07-21 06:29:56 +0200 <aegon> c_wraith: dsal: omg, i had no clue there was a search in haddock, mind is blown
2021-07-21 06:31:30 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 255 seconds)
2021-07-21 06:31:56 +0200michalz(~michalz@185.246.204.50)
2021-07-21 06:37:57 +0200slycelote(~slycelote@user/slycelote)
2021-07-21 06:42:10 +0200Codaraxis__(~Codaraxis@193.138.218.171)
2021-07-21 06:44:11 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-07-21 06:45:34 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-07-21 06:45:47 +0200aegon(~mike@174.127.249.180) (Quit: leaving)
2021-07-21 06:45:56 +0200Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 252 seconds)
2021-07-21 06:50:11 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-21 06:51:27 +0200aegon(~mike@174.127.249.180)
2021-07-21 06:51:43 +0200 <aegon> is there a command line verision of the haddock search?
2021-07-21 06:52:12 +0200xff0x_(~xff0x@2001:1a81:530d:8900:36a5:b6bb:ee85:bc72) (Ping timeout: 255 seconds)
2021-07-21 06:53:07 +0200xff0x_(~xff0x@2001:1a81:530d:8900:7b7c:d7d5:bd71:1e50)
2021-07-21 06:55:10 +0200 <geekosaur> you can install haddock locally and this is in fact recommended if you want to index your own libraries, or everything you've installed with cabal, etc. it includes a command line utility
2021-07-21 06:56:08 +0200 <geekosaur> @hackage haddock
2021-07-21 06:56:08 +0200 <lambdabot> https://hackage.haskell.org/package/haddock
2021-07-21 06:57:00 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds)
2021-07-21 06:57:17 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-21 07:07:30 +0200ablutor(~quassel@wasscher.com) (Quit: going for vitamine d)
2021-07-21 07:08:22 +0200ablutor(~quassel@wasscher.com)
2021-07-21 07:10:18 +0200h98(~h98@187.83.249.216.dyn.smithville.net) (Quit: Client closed)
2021-07-21 07:10:45 +0200dunkeln(~dunkeln@94.128.224.230)
2021-07-21 07:21:48 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds)
2021-07-21 07:22:04 +0200ptmxroot(~ptmxroot@191.13.28.194)
2021-07-21 07:22:18 +0200ptmxroot(~ptmxroot@191.13.28.194) (Remote host closed the connection)
2021-07-21 07:24:30 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-21 07:27:30 +0200MorrowM(~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-07-21 07:27:45 +0200Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2021-07-21 07:28:55 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
2021-07-21 07:33:44 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Ping timeout: 265 seconds)
2021-07-21 07:34:14 +0200MasseR(~MasseR@51.15.143.128)
2021-07-21 07:44:22 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2021-07-21 07:51:55 +0200Axman6(~Axman6@user/axman6) (Quit: Ping timeout (120 seconds))
2021-07-21 07:51:56 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-07-21 07:53:55 +0200 <aegon> is there a stack way to do that automagically?
2021-07-21 07:57:27 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 255 seconds)
2021-07-21 07:58:02 +0200Axman6(~Axman6@user/axman6)
2021-07-21 08:01:15 +0200Vajb(~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01) (Read error: Connection reset by peer)
2021-07-21 08:01:58 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-21 08:08:35 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-21 08:10:18 +0200sim590(~simon@modemcable090.207-203-24.mc.videotron.ca) (Ping timeout: 240 seconds)
2021-07-21 08:11:17 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es)
2021-07-21 08:12:58 +0200 <sm> aegon: stack hoogle something something ?
2021-07-21 08:13:34 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-07-21 08:14:07 +0200 <jophish> I use https://gist.github.com/bc87359253777b0e223f25134bdc9092
2021-07-21 08:14:17 +0200danso(~danso@23-233-111-52.cpe.pppoe.ca) (Ping timeout: 245 seconds)
2021-07-21 08:14:17 +0200 <sm> can't figure out how that works
2021-07-21 08:14:58 +0200 <jophish> better link: https://github.com/expipiplus1/dotfiles/blob/9e32d09b143a516655332713508cbec693f6e04f/config/nixpk…
2021-07-21 08:15:06 +0200 <jophish> it watches package.yaml (or .cabal)
2021-07-21 08:15:21 +0200 <jophish> and reloads a hoogle server when they change
2021-07-21 08:15:53 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-07-21 08:16:51 +0200echoreply(~echoreply@2001:19f0:9002:1f3b:5400:ff:fe6f:8b8d) (Quit: WeeChat 2.8)
2021-07-21 08:17:21 +0200echoreply(~echoreply@45.32.163.16)
2021-07-21 08:20:49 +0200aman(~aman@user/aman)
2021-07-21 08:24:11 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2021-07-21 08:25:07 +0200jlamothe(~jlamothe@198.251.60.157) (Ping timeout: 250 seconds)
2021-07-21 08:25:17 +0200sim590(~simon@modemcable090.207-203-24.mc.videotron.ca)
2021-07-21 08:25:46 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-21 08:25:59 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-07-21 08:29:02 +0200danso(~danso@23-233-111-52.cpe.pppoe.ca)
2021-07-21 08:29:09 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-07-21 08:30:56 +0200dhil(~dhil@195.213.192.47)
2021-07-21 08:31:18 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-21 08:32:32 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Read error: Connection reset by peer)
2021-07-21 08:37:02 +0200jlamothe(~jlamothe@104.158.48.100)
2021-07-21 08:38:28 +0200jneira_(~jneira_@28.red-80-28-169.staticip.rima-tde.net) (Quit: Ping timeout (120 seconds))
2021-07-21 08:40:37 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-21 08:41:06 +0200dunkeln(~dunkeln@94.128.224.230) (Ping timeout: 255 seconds)
2021-07-21 08:43:16 +0200danso(~danso@23-233-111-52.cpe.pppoe.ca) (Ping timeout: 252 seconds)
2021-07-21 08:44:09 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-21 08:45:24 +0200danso(~danso@23-233-111-52.cpe.pppoe.ca)
2021-07-21 08:47:51 +0200sim590(~simon@modemcable090.207-203-24.mc.videotron.ca) (Ping timeout: 258 seconds)
2021-07-21 08:50:00 +0200fendor(~fendor@91.141.40.76.wireless.dyn.drei.com)
2021-07-21 08:50:49 +0200Axman6(~Axman6@user/axman6) (Ping timeout: 246 seconds)
2021-07-21 08:52:57 +0200sagax(~sagax@213.138.71.146)
2021-07-21 08:53:18 +0200sim590(~simon@modemcable090.207-203-24.mc.videotron.ca)
2021-07-21 08:59:13 +0200xff0x_(~xff0x@2001:1a81:530d:8900:7b7c:d7d5:bd71:1e50) (Ping timeout: 246 seconds)
2021-07-21 08:59:19 +0200ukari(~ukari@user/ukari) (Remote host closed the connection)
2021-07-21 09:00:19 +0200xff0x_(~xff0x@2001:1a81:530d:8900:cddd:a545:4e9e:a55d)
2021-07-21 09:05:26 +0200dunkeln(~dunkeln@94.128.224.230)
2021-07-21 09:07:23 +0200chomwitt(~chomwitt@2a02:587:dc0e:ef00:12c3:7bff:fe6d:d374)
2021-07-21 09:07:41 +0200shriekingnoise(~shrieking@186.137.144.80) (Quit: Quit)
2021-07-21 09:08:10 +0200ukari(~ukari@user/ukari)
2021-07-21 09:09:17 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-21 09:09:39 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-21 09:11:04 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
2021-07-21 09:11:14 +0200dunkeln(~dunkeln@94.128.224.230) (Ping timeout: 258 seconds)
2021-07-21 09:14:35 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds)
2021-07-21 09:15:53 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Ping timeout: 268 seconds)
2021-07-21 09:24:55 +0200chele(~chele@user/chele)
2021-07-21 09:24:58 +0200qontinuum(qontinuum@user/qontinuum)
2021-07-21 09:34:54 +0200jespada(~jespada@90.254.247.46)
2021-07-21 09:35:28 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-07-21 09:40:52 +0200frdy(~mcfrdy@user/mcfrdy) (Ping timeout: 246 seconds)
2021-07-21 09:45:12 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-21 09:45:38 +0200aegon(~mike@174.127.249.180) (Remote host closed the connection)
2021-07-21 09:47:01 +0200nurupo(~nurupo.ga@user/nurupo) (Quit: nurupo.ga)
2021-07-21 09:47:22 +0200nurupo(~nurupo.ga@user/nurupo)
2021-07-21 09:47:37 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2021-07-21 09:48:05 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es) (Quit: WeeChat 2.8)
2021-07-21 09:50:04 +0200zeenk(~zeenk@2a02:2f04:a008:d600:18f2:3421:bac6:8f38)
2021-07-21 09:55:10 +0200jushur(~human@user/jushur) (Quit: ¯\_(ツ)_/¯)
2021-07-21 10:00:44 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
2021-07-21 10:02:03 +0200Null_A(~null_a@2601:645:8700:2290:a92e:e23d:59b7:f2e9) ()
2021-07-21 10:06:35 +0200hendursa1(~weechat@user/hendursaga)
2021-07-21 10:10:04 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 244 seconds)
2021-07-21 10:12:17 +0200gehmehgeh(~user@user/gehmehgeh)
2021-07-21 10:14:38 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-07-21 10:17:00 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-21 10:17:34 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-07-21 10:17:34 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-07-21 10:17:37 +0200allbery_bgeekosaur
2021-07-21 10:19:48 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es)
2021-07-21 10:21:35 +0200acidjnk(~acidjnk@p200300d0c72b9575c508b842a8b97de2.dip0.t-ipconnect.de)
2021-07-21 10:28:45 +0200curiousgay_(~curiousga@77-120-144-167.kha.volia.net)
2021-07-21 10:28:48 +0200curiousgay(~curiousga@77-120-144-167.kha.volia.net) (Read error: Connection reset by peer)
2021-07-21 10:36:55 +0200ubert(~Thunderbi@178.165.168.116.wireless.dyn.drei.com)
2021-07-21 10:42:59 +0200ph88(~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de)
2021-07-21 10:46:01 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-21 10:49:52 +0200jippiedoe(~david@229-197-145-85.ftth.glasoperator.nl)
2021-07-21 10:51:54 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-07-21 10:52:57 +0200azeem(~azeem@dynamic-adsl-94-34-39-251.clienti.tiscali.it) (Ping timeout: 255 seconds)
2021-07-21 10:57:35 +0200azeem(~azeem@176.201.43.80)
2021-07-21 11:00:15 +0200chris_(~chris@81.96.113.213)
2021-07-21 11:02:23 +0200agua(~agua@2804:14c:8793:8e2f:3988:44e0:45e5:bd04)
2021-07-21 11:02:33 +0200viluon(uid453725@id-453725.brockwell.irccloud.com)
2021-07-21 11:04:32 +0200pesada(~agua@2804:18:4a:c35:1:0:3be5:8cb2) (Ping timeout: 256 seconds)
2021-07-21 11:05:12 +0200m7zs3gzw(~m7zs3gzw@188.170.195.61)
2021-07-21 11:05:40 +0200m7zs3gzw(~m7zs3gzw@188.170.195.61) (Remote host closed the connection)
2021-07-21 11:07:33 +0200 <viluon> hello, is there a way to load a compiler plugin into GHCi? I'd like to debug a compiler plugin I'm working on
2021-07-21 11:08:09 +0200 <viluon> oh, #ghc would probably be a better fit
2021-07-21 11:09:04 +0200 <dminuoso> % :set -fplugin Foo -- viluon
2021-07-21 11:09:04 +0200 <yahb> dminuoso: Some flags have not been recognized: --, viluon
2021-07-21 11:09:08 +0200 <dminuoso> argh
2021-07-21 11:09:10 +0200 <dminuoso> % :set -fplugin Foo
2021-07-21 11:09:10 +0200 <yahb> dminuoso: Could not find module `Foo'; Use -v (or `:set -v` in ghci) to see a list of the files searched for.
2021-07-21 11:10:50 +0200 <viluon> dminuoso: so that wouldn't work for source plugins, right? Those don't run in the interactive pipeline. Also, I'd like to debug the plugin itself during the compilation process, I don't need to debug a program while using a plugin
2021-07-21 11:11:06 +0200 <dminuoso> Ah
2021-07-21 11:13:08 +0200jippiedoe(~david@229-197-145-85.ftth.glasoperator.nl) (Ping timeout: 258 seconds)
2021-07-21 11:14:05 +0200dunkeln(~dunkeln@94.129.69.87)
2021-07-21 11:15:08 +0200ph88(~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de) (Quit: Leaving)
2021-07-21 11:15:56 +0200 <ph88_> how can i compile a static binary ? i tried this https://bpa.st/7L6Q
2021-07-21 11:18:30 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2021-07-21 11:18:51 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Read error: Connection reset by peer)
2021-07-21 11:18:58 +0200dunkeln(~dunkeln@94.129.69.87) (Ping timeout: 265 seconds)
2021-07-21 11:21:07 +0200Lord_of_Life_Lord_of_Life
2021-07-21 11:23:18 +0200dunkeln_(~dunkeln@94.129.69.87)
2021-07-21 11:25:00 +0200haskl(~haskl@user/haskl) (Remote host closed the connection)
2021-07-21 11:29:25 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-21 11:29:32 +0200jippiedoe(~david@229-197-145-85.ftth.glasoperator.nl)
2021-07-21 11:31:23 +0200ubert(~Thunderbi@178.165.168.116.wireless.dyn.drei.com) (Ping timeout: 255 seconds)
2021-07-21 11:34:20 +0200chris_(~chris@81.96.113.213)
2021-07-21 11:34:31 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-21 11:41:02 +0200 <Orbstheorem> What dates is Cadiz Lambda world usually around?
2021-07-21 11:42:45 +0200pesada(~agua@2804:18:4a:c35:1:0:3be5:8cb2)
2021-07-21 11:45:09 +0200agua(~agua@2804:14c:8793:8e2f:3988:44e0:45e5:bd04) (Ping timeout: 255 seconds)
2021-07-21 11:45:47 +0200derelict(~derelict@user/derelict) (Ping timeout: 255 seconds)
2021-07-21 11:46:38 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-21 11:46:43 +0200 <ph88_> I found a solution here (have yet to try) to build static binary https://github.com/commercialhaskell/stack/issues/3420#issuecomment-481980763 seems a bit convoluted o_O
2021-07-21 11:48:37 +0200 <ph88_> i see cabal has this nice flag https://cabal.readthedocs.io/en/3.4/setup-commands.html#cmdoption-runhaskell-Setup.hs-configure-en… is there a way to let stack pass this flag to cabal ??
2021-07-21 11:50:29 +0200aman(~aman@user/aman) (Quit: aman)
2021-07-21 11:50:54 +0200aman(~aman@user/aman)
2021-07-21 11:51:05 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2021-07-21 11:54:06 +0200 <sm> ph88_: it seems to be WIP, https://github.com/commercialhaskell/stack/issues/3420
2021-07-21 11:54:29 +0200 <sm> I also found https://www.fpcomplete.com/blog/2016/10/static-compilation-with-stack/, but it's old
2021-07-21 11:54:46 +0200 <sm> oh, you found that issue already
2021-07-21 11:55:48 +0200benin0369(~benin@106.198.95.190) (Read error: Connection reset by peer)
2021-07-21 11:56:27 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 258 seconds)
2021-07-21 11:57:22 +0200benin0369(~benin@183.82.206.69)
2021-07-21 11:58:49 +0200 <ph88_> sm, ye in that blog post they use a technique (hack) of which they say in the issue it's not necessary to do it that way
2021-07-21 11:59:35 +0200 <sm> cabal UX ahead of stack here
2021-07-21 12:00:05 +0200 <sm> I'd just use cabal for it, that's what I do right now
2021-07-21 12:00:06 +0200 <ph88_> so im considering my options ... either use cabal (which i dont want) .. or put those link flags in the package.yaml file .. possibly have two different package.yaml files one for static and one for dynamic. Ma favorite option would be to do it using command line arguments .. but it seems its not possible
2021-07-21 12:00:37 +0200 <ph88_> ye it's not the first thing of which i noticed cabal is making faster innovations than stack ^^ (like backpack support)
2021-07-21 12:01:42 +0200 <sm> well, I don't know if I'd use the word fast for either.. they each have done unique things
2021-07-21 12:01:47 +0200 <sm> backpack is quite a big and controversial feature
2021-07-21 12:02:05 +0200 <ph88_> controversial how ?
2021-07-21 12:02:20 +0200 <Franciman> because stack does not support it
2021-07-21 12:02:22 +0200 <Franciman> ?
2021-07-21 12:02:45 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
2021-07-21 12:02:46 +0200 <ph88_> eh that doesn't make much sense
2021-07-21 12:02:54 +0200 <sm> s/big/impactful/. It adds complexity to haskell build/packaging that arguably we can't handle
2021-07-21 12:03:02 +0200 <ph88_> stack maintainer is open to add backpack support
2021-07-21 12:03:17 +0200 <Franciman> I personally am devoid of any package manager, I am so happy
2021-07-21 12:03:23 +0200 <Franciman> I got fun back into programming in haskell
2021-07-21 12:03:28 +0200 <ph88_> sm, do you think there is a problem with backpack support in cabal that it is not handled well ?
2021-07-21 12:04:35 +0200 <sm> ph88_: I haven't tried it myself, I just know it adds complexity and most people are already struggling/maxed out with haskell build issues, which I assume is why it is so little used
2021-07-21 12:07:51 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-07-21 12:08:17 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Ping timeout: 255 seconds)
2021-07-21 12:08:49 +0200agua(~agua@2804:14c:8793:8e2f:3988:44e0:45e5:bd04)
2021-07-21 12:10:04 +0200azeem(~azeem@176.201.43.80) (Ping timeout: 252 seconds)
2021-07-21 12:10:29 +0200azeem(~azeem@176.201.43.80)
2021-07-21 12:10:53 +0200pesada(~agua@2804:18:4a:c35:1:0:3be5:8cb2) (Ping timeout: 250 seconds)
2021-07-21 12:13:27 +0200xsperry(~as@user/xsperry) (Remote host closed the connection)
2021-07-21 12:22:44 +0200azeem(~azeem@176.201.43.80) (Ping timeout: 268 seconds)
2021-07-21 12:23:39 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-07-21 12:25:01 +0200dunkeln_(~dunkeln@94.129.69.87) (Ping timeout: 246 seconds)
2021-07-21 12:25:36 +0200azeem(~azeem@176.201.43.80)
2021-07-21 12:26:58 +0200dunkeln(~dunkeln@188.70.26.84)
2021-07-21 12:30:58 +0200jmorris(uid433911@id-433911.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-21 12:32:06 +0200AkechiShiro(~licht@user/akechishiro) (Ping timeout: 258 seconds)
2021-07-21 12:32:35 +0200Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 255 seconds)
2021-07-21 12:37:06 +0200azeem(~azeem@176.201.43.80) (Ping timeout: 240 seconds)
2021-07-21 12:40:16 +0200azeem(~azeem@176.201.43.80)
2021-07-21 12:44:23 +0200 <maerwald> why is backpack controversial? I think it's just unergonomic and vague so that no one bothered until now
2021-07-21 12:45:02 +0200 <dminuoso> I think its because its largely undocumented.
2021-07-21 12:45:10 +0200 <maerwald> yeah
2021-07-21 12:45:42 +0200 <dminuoso> When edward explained the bits he used to me, it seemed very cool - but when the only documentation is "go look at the dissertation..."
2021-07-21 12:45:54 +0200 <dminuoso> Then that's not something I want to use.
2021-07-21 12:45:56 +0200 <maerwald> classic haskell README
2021-07-21 12:46:20 +0200 <maerwald> I'll be back when I've finished my PhD
2021-07-21 12:46:25 +0200 <maerwald> 5 years later...
2021-07-21 12:47:44 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-21 12:47:54 +0200jmorris(uid433911@id-433911.stonehaven.irccloud.com)
2021-07-21 12:48:27 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-21 12:48:52 +0200acidjnk(~acidjnk@p200300d0c72b9575c508b842a8b97de2.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2021-07-21 12:48:56 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2021-07-21 12:50:43 +0200 <maerwald> soon you'll need a PhD to use base :p
2021-07-21 12:50:55 +0200chris_(~chris@81.96.113.213)
2021-07-21 12:51:11 +0200 <ph88_> lol
2021-07-21 12:51:26 +0200 <maerwald> I'm only half joking
2021-07-21 12:52:41 +0200 <Hecate> then it's our duty to make sure this never happens
2021-07-21 12:52:57 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-07-21 12:53:59 +0200 <maerwald> then you should comment on the dependent types thread :p
2021-07-21 12:55:00 +0200 <maerwald> but whenever you voice concerns about DT in Haskell, people think you argue against DT
2021-07-21 12:55:07 +0200 <maerwald> so I gave up
2021-07-21 12:55:58 +0200 <maerwald> just means more jobs for us, right?
2021-07-21 12:56:14 +0200yo(~0xfe0@2405:201:5502:d69:c32:8cab:cb7:332d)
2021-07-21 13:02:54 +0200mikail(~mikail@2a02:c7f:bd83:fd00:55cf:122f:957a:f66f)
2021-07-21 13:03:17 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-21 13:05:26 +0200dunkeln(~dunkeln@188.70.26.84) (Ping timeout: 252 seconds)
2021-07-21 13:08:13 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2021-07-21 13:10:35 +0200 <DigitalKiwi> maerwald: i've never seen you say anything positive about haskell let alone DT in haskell so i'm not at all surprised they didn't like what you said about DT either
2021-07-21 13:11:01 +0200maerwaldshrugs
2021-07-21 13:11:41 +0200 <Franciman> I have one answer
2021-07-21 13:12:01 +0200 <Franciman> S = k * log W
2021-07-21 13:12:55 +0200 <Franciman> haskell is taking the entropy path to the hell
2021-07-21 13:13:02 +0200 <Franciman> a cold hell
2021-07-21 13:14:46 +0200DNH(~DNH@2a02:8108:1100:16d8:a03c:ba96:6f1a:16fa)
2021-07-21 13:14:57 +0200 <maerwald> Most people don't seem too concerned that we might end up like Scala or C++ and you need to jump on every hype train. The Go community is tilted in the other direction: they're so scared even of things like proper enums that they can't figure out whether it's reasonable to do it
2021-07-21 13:15:18 +0200 <maerwald> there must be a balance
2021-07-21 13:15:37 +0200 <Franciman> i think haskell has become quite experimental from the start
2021-07-21 13:15:52 +0200 <maerwald> yes and I think it's time the language splits
2021-07-21 13:16:15 +0200 <maerwald> the two forces fill just keep annoying each other and everything will be mush
2021-07-21 13:16:18 +0200 <Franciman> I gotta say I agree, because I like the huge caos of the entropy path
2021-07-21 13:16:29 +0200 <Franciman> and it would be cool to have periodic releases of the language
2021-07-21 13:16:30 +0200 <maerwald> starting over is sometimes better, you can figure out interoperability as well
2021-07-21 13:16:35 +0200 <Franciman> with the best of the last results from hell
2021-07-21 13:16:59 +0200dunkeln(~dunkeln@188.70.26.84)
2021-07-21 13:17:09 +0200 <maerwald> why not create a superset of haskell... F* has done that with F#
2021-07-21 13:17:19 +0200awth13(~user@user/awth13) (Read error: Connection reset by peer)
2021-07-21 13:17:49 +0200 <maerwald> if you need the entire proof machinery, you stay in the language, otherwise you compile to haskell and move on
2021-07-21 13:18:06 +0200 <Franciman> isn't agda that
2021-07-21 13:18:07 +0200 <Franciman> ?
2021-07-21 13:18:09 +0200 <maerwald> maybe
2021-07-21 13:18:09 +0200 <Franciman> tho
2021-07-21 13:18:52 +0200 <maerwald> there are good solutions out there, but they already exist and maybe getting something like DT into haskell is more about fame and fancy?
2021-07-21 13:19:15 +0200ubert(~Thunderbi@178.165.188.94.wireless.dyn.drei.com)
2021-07-21 13:19:29 +0200 <Franciman> i don't know, i.e. haskell has the biggest ecosystem in its niche
2021-07-21 13:19:31 +0200 <maerwald> you know the story of the nail and the hammer
2021-07-21 13:19:34 +0200 <Franciman> so for example in agda you can't really program
2021-07-21 13:19:47 +0200 <maerwald> just because you're used to haskell, doesn't mean you should solve everything in haskell
2021-07-21 13:19:55 +0200 <Franciman> liquid haskell on the other hand fuses advanced type checking with existing haskell
2021-07-21 13:19:58 +0200 <Franciman> eheh damn tru!
2021-07-21 13:20:45 +0200 <Franciman> the niche being: strongly typed functional language not running on jvm
2021-07-21 13:20:46 +0200 <maerwald> I think it would be time to freeze the language, create another report, throw away base, redo it and fix all performance issues that exist.
2021-07-21 13:21:11 +0200smichel17(~smichel17@c-73-68-217-18.hsd1.ma.comcast.net)
2021-07-21 13:21:30 +0200 <maerwald> but it's less fame maybe
2021-07-21 13:21:31 +0200 <maerwald> :p
2021-07-21 13:21:38 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds)
2021-07-21 13:21:54 +0200 <Franciman> didn't haskell start with the: avoid success at all cost?
2021-07-21 13:22:09 +0200 <maerwald> it's too late
2021-07-21 13:23:18 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-21 13:25:14 +0200azeem(~azeem@176.201.43.80) (Ping timeout: 255 seconds)
2021-07-21 13:25:44 +0200azeem(~azeem@176.201.19.41)
2021-07-21 13:26:30 +0200_xor(~xor@74.215.232.67) (Quit: brb)
2021-07-21 13:26:53 +0200 <Orbstheorem> How would I go about preventing the use of a constructor (i have provided a smart constructor) if I want other modules to be able to use newtype standalone deriving?
2021-07-21 13:27:02 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
2021-07-21 13:28:09 +0200chris_(~chris@81.96.113.213)
2021-07-21 13:28:25 +0200 <dminuoso> Intuitively I'd say you cant
2021-07-21 13:28:53 +0200 <Orbstheorem> I called my module 'Internal' and documented why I export the constructor...
2021-07-21 13:29:07 +0200 <Orbstheorem> (Also, the type and smart constructors are exported from the bigger module)
2021-07-21 13:29:19 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-07-21 13:30:02 +0200chris_(~chris@81.96.113.213) (Read error: Connection reset by peer)
2021-07-21 13:30:21 +0200chris_(~chris@81.96.113.213)
2021-07-21 13:32:13 +0200AkechiShiro(~licht@user/akechishiro)
2021-07-21 13:34:09 +0200sciencentistguy(~sciencent@hacksoc/ordinary-member)
2021-07-21 13:34:37 +0200lavaman(~lavaman@98.38.249.169)
2021-07-21 13:35:27 +0200 <maerwald> I think exporting the constructor in .Internal. modules is standard and fine
2021-07-21 13:35:36 +0200Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius)
2021-07-21 13:35:53 +0200 <maerwald> no need to babysit
2021-07-21 13:36:12 +0200acidjnk(~acidjnk@p200300d0c72b9516f180e3afe24121d7.dip0.t-ipconnect.de)
2021-07-21 13:38:35 +0200 <dminuoso> Personally I consider it good style to export your internals via Internal modules.
2021-07-21 13:39:29 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
2021-07-21 13:44:11 +0200notzmv(~zmv@user/notzmv) (Remote host closed the connection)
2021-07-21 13:44:46 +0200sciencentistguy(~sciencent@hacksoc/ordinary-member) (Quit: WeeChat 3.2)
2021-07-21 13:45:22 +0200azeem(~azeem@176.201.19.41) (Ping timeout: 268 seconds)
2021-07-21 13:46:50 +0200azeem(~azeem@176.201.19.41)
2021-07-21 13:48:26 +0200chomwitt(~chomwitt@2a02:587:dc0e:ef00:12c3:7bff:fe6d:d374) (Ping timeout: 252 seconds)
2021-07-21 13:49:18 +0200notzmv(~zmv@user/notzmv)
2021-07-21 13:51:00 +0200lavaman(~lavaman@98.38.249.169)
2021-07-21 13:51:13 +0200 <maerwald> windows is lovely: you get "permission denied" exception on `removeFile` when a) file is locked or b) it's a directory
2021-07-21 13:51:19 +0200 <maerwald> no way to distinguish
2021-07-21 13:55:21 +0200 <nitrix> Should be happy that it has a defined behavior, considering the name of the function suggests it's just for files.
2021-07-21 13:55:39 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 255 seconds)
2021-07-21 13:57:35 +0200 <nitrix> I think "Permission denied" is a decent "no can do sir" catch-all for future additions to the file system... things like hard links, network resources, mounts and whatever.
2021-07-21 14:00:01 +0200 <maerwald> well, less luck with renameFile, which now needs an explicit type check and is non-atomic
2021-07-21 14:00:07 +0200 <Orbstheorem> Is there a way to prove it's impossible to write a function `m a -> (a -> t m b) -> t m b`, other than the fact I've been staring at my screen for 15min? x)
2021-07-21 14:00:51 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-07-21 14:01:17 +0200 <Arahael> dminuoso: Had a chance to play more with the proto-lens, I haven't sent it over the wire yet, but it's working beautifully - generating the types and using them internally in teh app. Thanks again. :)
2021-07-21 14:01:30 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 240 seconds)
2021-07-21 14:08:52 +0200 <ph88_> maerwald, where is the DT thread ?
2021-07-21 14:10:30 +0200gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2021-07-21 14:10:36 +0200 <maerwald> ph88_: https://github.com/ghc-proposals/ghc-proposals/pull/378
2021-07-21 14:11:08 +0200gentauro(~gentauro@user/gentauro)
2021-07-21 14:11:12 +0200 <ph88_> and your comment is where ?
2021-07-21 14:11:52 +0200pesada(~agua@2804:18:4a:c35:1:0:3be5:8cb2)
2021-07-21 14:12:50 +0200adinf(~adinfinit@2600:6c40:653f:5f00:a650:d8d7:fe0b:8c1f)
2021-07-21 14:14:38 +0200agua(~agua@2804:14c:8793:8e2f:3988:44e0:45e5:bd04) (Ping timeout: 268 seconds)
2021-07-21 14:16:14 +0200adinf(~adinfinit@2600:6c40:653f:5f00:a650:d8d7:fe0b:8c1f) (Client Quit)
2021-07-21 14:17:31 +0200dtman34(~dtman34@c-73-62-246-247.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
2021-07-21 14:20:34 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-21 14:22:39 +0200azeem(~azeem@176.201.19.41) (Ping timeout: 255 seconds)
2021-07-21 14:28:56 +0200azeem(~azeem@176.201.19.41)
2021-07-21 14:29:40 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
2021-07-21 14:31:15 +0200mikail(~mikail@2a02:c7f:bd83:fd00:55cf:122f:957a:f66f) (Remote host closed the connection)
2021-07-21 14:31:52 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2021-07-21 14:32:04 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2021-07-21 14:32:59 +0200dunkeln(~dunkeln@188.70.26.84) (Ping timeout: 252 seconds)
2021-07-21 14:35:54 +0200mikail(~mikail@90.212.77.3)
2021-07-21 14:38:17 +0200dunkeln(~dunkeln@188.70.26.84)
2021-07-21 14:39:09 +0200hiruji(~hiruji@user/hiruji)
2021-07-21 14:39:57 +0200 <jippiedoe> Orbstheorem: I assume there's some typeclasses involved?
2021-07-21 14:40:11 +0200olive__(~olive_@117.222.65.182)
2021-07-21 14:40:24 +0200 <Orbstheorem> Yes, `MonadTrans t` and `Monad m`.
2021-07-21 14:41:15 +0200 <dminuoso> Orbstheorem: So you're looking for a MonadTransFix?
2021-07-21 14:42:44 +0200 <dminuoso> (Or proving its impossibility thereof)
2021-07-21 14:43:03 +0200alx741(~alx741@186.178.108.174)
2021-07-21 14:43:15 +0200Orbstheoremhoogles MonadTransFix
2021-07-21 14:43:31 +0200 <Orbstheorem> I coudn't find `MonadTransFix` x)
2021-07-21 14:43:32 +0200olive_(~olive_@117.222.71.166) (Ping timeout: 255 seconds)
2021-07-21 14:44:35 +0200hendursa1(~weechat@user/hendursaga) (Quit: hendursa1)
2021-07-21 14:44:51 +0200 <dminuoso> Orbstheorem: I suppose key is finding a single transformer for which its impossible to write.
2021-07-21 14:45:10 +0200 <dminuoso> This should be doable, consider that MonadFix is a sub-class of Monad to begin with
2021-07-21 14:45:18 +0200lavaman(~lavaman@98.38.249.169)
2021-07-21 14:45:53 +0200hendursaga(~weechat@user/hendursaga)
2021-07-21 14:47:26 +0200 <Orbstheorem> I understand the principle of proving it impossible through a counter example, what I don't know if how to do the methodical logical reasoning to prove such equations.
2021-07-21 14:49:30 +0200aman(~aman@user/aman) (Ping timeout: 256 seconds)
2021-07-21 14:51:44 +0200derelict(~derelict@user/derelict)
2021-07-21 14:55:29 +0200agua(~agua@2804:14c:8793:8e2f:3988:44e0:45e5:bd04)
2021-07-21 14:55:30 +0200dunkeln(~dunkeln@188.70.26.84) (Ping timeout: 265 seconds)
2021-07-21 14:56:37 +0200Core2996(~agua@2804:18:4a:c35:1:0:3be5:8cb2)
2021-07-21 14:56:55 +0200pesada(~agua@2804:18:4a:c35:1:0:3be5:8cb2) (Read error: Connection reset by peer)
2021-07-21 14:57:40 +0200zaquest(~notzaques@5.128.210.178) (Remote host closed the connection)
2021-07-21 14:59:00 +0200hexfive(~eric@50.35.83.177) (Quit: WeeChat 3.0)
2021-07-21 14:59:08 +0200pesada(~agua@2804:14c:8793:8e2f:3988:44e0:45e5:bd04)
2021-07-21 14:59:30 +0200agua(~agua@2804:14c:8793:8e2f:3988:44e0:45e5:bd04) (Ping timeout: 240 seconds)
2021-07-21 14:59:31 +0200__monty__(~toonn@user/toonn)
2021-07-21 15:00:12 +0200 <ddb> if you clarify your claim then it might be easier to see what about it is unsound
2021-07-21 15:01:02 +0200Core2996(~agua@2804:18:4a:c35:1:0:3be5:8cb2) (Ping timeout: 252 seconds)
2021-07-21 15:02:48 +0200 <ddb> I am not that familiar with haskell, so when you say it's "impossible to write a function" and then you, apparently, write that function I get confused
2021-07-21 15:04:30 +0200 <Orbstheorem> > you, apparently, write that function
2021-07-21 15:04:30 +0200 <Orbstheorem> I'm not sure where suggested I wrote that function?
2021-07-21 15:04:31 +0200 <lambdabot> <hint>:1:4: error: parse error on input ‘,’
2021-07-21 15:04:57 +0200 <ddb> in your original statement you have some syntax that appears to describe a function
2021-07-21 15:05:52 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-07-21 15:06:18 +0200 <ddb> m a -> (a -> t m b) -> t m b
2021-07-21 15:10:32 +0200 <Orbstheorem> Yes, that's the signature of a function I think it is not possible to write, given `(Monad m, MonadTrans t)`
2021-07-21 15:11:53 +0200juhp(~juhp@128.106.188.220) (Quit: juhp)
2021-07-21 15:12:08 +0200juhp(~juhp@128.106.188.220)
2021-07-21 15:13:04 +0200 <ddb> can you give a simpler example of a signature for which no function exists?
2021-07-21 15:13:32 +0200xsperry(~as@user/xsperry)
2021-07-21 15:14:09 +0200 <Orbstheorem> `(Monad m1, Monad m2) => m1 (m2 a) -> m2 (m1 a)`
2021-07-21 15:15:08 +0200 <Orbstheorem> <dminuoso "This should be doable, consider "> I'm curious though, why did the particle 'Fix' come to mind?
2021-07-21 15:15:15 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-07-21 15:15:40 +0200 <ddb> can you briefly describe the obstruction in this simpler case?
2021-07-21 15:18:07 +0200 <haveo> Orbstheorem: I don't think you can find a law-obeying counter-example, the problem seems to be you can't prove `Monad (t m)' unless you use a very recent version of transformers
2021-07-21 15:18:19 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-21 15:18:30 +0200 <Orbstheorem> I don't understand the algebraic foundations on monads enough to give a sound argument about why this doesn't work. That said, I think I can give a conbinatorial argument why given the operations available on any instance of Monad `(>>=), fmap, pure, mempty, <*>`, I cannot build such equation.
2021-07-21 15:18:41 +0200 <dminuoso> haveo: At least lysxia seems to have some reasons why ContT wont yield a valid instance
2021-07-21 15:19:28 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-21 15:19:51 +0200 <haveo> @type \x f -> lift x >>= f
2021-07-21 15:19:52 +0200 <lambdabot> (MonadTrans t, Monad m, Monad (t m)) => m a -> (a -> t m b) -> t m b
2021-07-21 15:20:38 +0200 <ddb> If monads are too abstract, can you rephrase the problem using a particular instance of a monad? Strings under concatenation come to mind, but I do not know if they count as haskell monads.
2021-07-21 15:21:39 +0200 <ddb> ack, monoid not monad, retract that last comment
2021-07-21 15:21:52 +0200 <haveo> `Monad (t m)' is guaranteed to exist (that's kind of the whole point) but you can't get it from (MonadTrans t, Monad m) for technical reasons (which are fixed now, but I haven't tested it)
2021-07-21 15:23:18 +0200 <ddb> I think a simpler example for monads could be Maybe?
2021-07-21 15:23:34 +0200 <ddb> so if it doesn't work for Maybe it definitely can't work for Monad.
2021-07-21 15:23:58 +0200chomwitt(~chomwitt@ppp-94-67-220-135.home.otenet.gr)
2021-07-21 15:26:59 +0200 <haveo> dminuoso: I wasn't talking about MonadTransFix, just the function he's trying to build
2021-07-21 15:28:09 +0200dunkeln(~dunkeln@188.70.26.84)
2021-07-21 15:29:24 +0200zebrag(~chris@user/zebrag)
2021-07-21 15:29:34 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-07-21 15:29:34 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-07-21 15:29:37 +0200allbery_bgeekosaur
2021-07-21 15:33:58 +0200zaquest(~notzaques@5.128.210.178)
2021-07-21 15:34:12 +0200azeem(~azeem@176.201.19.41) (Ping timeout: 255 seconds)
2021-07-21 15:34:36 +0200azeem(~azeem@176.201.19.41)
2021-07-21 15:43:05 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-21 15:44:20 +0200fef(~thedawn@user/thedawn)
2021-07-21 15:48:09 +0200mikail(~mikail@90.212.77.3) (Ping timeout: 255 seconds)
2021-07-21 15:48:18 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-07-21 15:50:48 +0200MorrowM(~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2021-07-21 15:51:26 +0200Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 258 seconds)
2021-07-21 15:52:41 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-07-21 15:54:28 +0200azeem(~azeem@176.201.19.41) (Ping timeout: 252 seconds)
2021-07-21 15:55:19 +0200shriekingnoise(~shrieking@186.137.144.80)
2021-07-21 15:59:27 +0200azeem(~azeem@176.200.238.62)
2021-07-21 16:07:03 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 250 seconds)
2021-07-21 16:07:58 +0200azeem(~azeem@176.200.238.62) (Ping timeout: 246 seconds)
2021-07-21 16:08:43 +0200azeem(~azeem@176.200.238.62)
2021-07-21 16:13:04 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-07-21 16:13:17 +0200azeem(~azeem@176.200.238.62) (Ping timeout: 258 seconds)
2021-07-21 16:15:31 +0200dunj3(~dunj3@2001:16b8:30c4:6b00:b2db:db95:c4f5:af2c)
2021-07-21 16:15:32 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija)
2021-07-21 16:17:09 +0200azeem(~azeem@176.200.238.62)
2021-07-21 16:17:32 +0200finsternis(~X@23.226.237.192) (Remote host closed the connection)
2021-07-21 16:19:20 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-07-21 16:20:41 +0200Sgeo(~Sgeo@user/sgeo)
2021-07-21 16:20:54 +0200Xnuk(~xnuk@vultr.xnu.kr) (Quit: ZNC - https://znc.in)
2021-07-21 16:21:09 +0200hendursaga(~weechat@user/hendursaga) (Remote host closed the connection)
2021-07-21 16:21:12 +0200Xnuk(~xnuk@vultr.xnu.kr)
2021-07-21 16:21:33 +0200hendursaga(~weechat@user/hendursaga)
2021-07-21 16:23:48 +0200_xor(~xor@74.215.232.67)
2021-07-21 16:25:27 +0200jneira_(~jneira_@28.red-80-28-169.staticip.rima-tde.net)
2021-07-21 16:26:00 +0200jippiedoe(~david@229-197-145-85.ftth.glasoperator.nl) (Ping timeout: 252 seconds)
2021-07-21 16:28:12 +0200agua(~agua@2804:18:4a:c35:1:0:3be5:8cb2)
2021-07-21 16:29:06 +0200DNH(~DNH@2a02:8108:1100:16d8:a03c:ba96:6f1a:16fa) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-07-21 16:29:14 +0200acidjnk(~acidjnk@p200300d0c72b9516f180e3afe24121d7.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2021-07-21 16:30:01 +0200slep(~slep@cpc150002-brnt4-2-0-cust437.4-2.cable.virginm.net) (Ping timeout: 268 seconds)
2021-07-21 16:30:57 +0200pesada(~agua@2804:14c:8793:8e2f:3988:44e0:45e5:bd04) (Ping timeout: 245 seconds)
2021-07-21 16:32:14 +0200juhp(~juhp@128.106.188.220) (Quit: juhp)
2021-07-21 16:32:28 +0200juhp(~juhp@128.106.188.220)
2021-07-21 16:33:16 +0200Ariakenom(~Ariakenom@c83-255-154-140.bredband.tele2.se)
2021-07-21 16:33:32 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-07-21 16:33:55 +0200DNH(~DNH@2a02:8108:1100:16d8:808b:9f4a:c222:7def)
2021-07-21 16:34:03 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 255 seconds)
2021-07-21 16:34:35 +0200slep(~slep@cpc150002-brnt4-2-0-cust437.4-2.cable.virginm.net)
2021-07-21 16:34:54 +0200oxide(~lambda@user/oxide) (Quit: oxide)
2021-07-21 16:34:55 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Quit: Leaving)
2021-07-21 16:41:27 +0200 <Taneb> Is there a common newtype on Maybe that makes Nothing compare as if it's it infinity?
2021-07-21 16:47:12 +0200 <Cajun> are you saying `Just x < Nothing` for any x? also, im not sure how a newtype on maybe would work since maybe has 2 fields
2021-07-21 16:47:36 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com)
2021-07-21 16:48:40 +0200 <Taneb> newtype Foo a = Foo { unFoo :: Maybe a }; instance Ord a => Ord (Foo a) where
2021-07-21 16:48:51 +0200 <Taneb> And yeah, that's the ordering I'm after
2021-07-21 16:50:09 +0200 <Rembane> Taneb: Use a custom sum type instead, it makes it much easier to read the code when you look at it again in three months.
2021-07-21 16:50:31 +0200 <Taneb> Rembane: I'm being given a big old list of Maybes and want to do this in one place
2021-07-21 16:50:40 +0200curiousgay_curiousgay
2021-07-21 16:51:07 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-21 16:51:39 +0200curiousgay(~curiousga@77-120-144-167.kha.volia.net) (Quit: Leaving)
2021-07-21 16:51:41 +0200 <Rembane> Taneb: Okay, lets see what we can do then. :)
2021-07-21 16:51:53 +0200curiousgay(~curiousga@77-120-144-167.kha.volia.net)
2021-07-21 16:51:58 +0200 <haveo> Taneb: you could use Down (Maybe (Down a))
2021-07-21 16:52:33 +0200 <Taneb> haveo: that is certainly an option, I'll give you that
2021-07-21 16:54:04 +0200doyougnu(~user@c-73-25-202-122.hsd1.or.comcast.net)
2021-07-21 16:54:52 +0200 <Cajun> using Down is likely much more convenient than defining your own instance of Maybe with reverse order
2021-07-21 16:54:53 +0200 <Rembane> Taneb: Or use sortBy and write a sorting function that does what you want.
2021-07-21 16:55:25 +0200 <Taneb> Rembane: I think that's what I'm going to end up doing
2021-07-21 16:56:55 +0200h98(~h98@187.83.249.216.dyn.smithville.net)
2021-07-21 16:57:45 +0200 <Rembane> Taneb: Good stuff.
2021-07-21 16:59:44 +0200ubert(~Thunderbi@178.165.188.94.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
2021-07-21 17:00:56 +0200glassofethanol(~ethanmorg@cpc78471-cwma11-2-0-cust81.7-3.cable.virginm.net)
2021-07-21 17:01:28 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-07-21 17:04:01 +0200pesada(~agua@179.179.184.77)
2021-07-21 17:05:45 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-07-21 17:06:27 +0200agua(~agua@2804:18:4a:c35:1:0:3be5:8cb2) (Ping timeout: 255 seconds)
2021-07-21 17:07:07 +0200 <delYsid> Does George Wilson show up here at times?
2021-07-21 17:07:08 +0200lavaman(~lavaman@98.38.249.169)
2021-07-21 17:10:56 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-07-21 17:11:43 +0200 <SIben> Hi! I would like to test Haskell code that interacts with the file system (writes files, mainly). Is there a popular way of doing that? The most promising thing I have found thus far is to rewrite functions using a typeclass to constrain a type variable (that would replace IO), and then produce a mock version of it.
2021-07-21 17:11:48 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
2021-07-21 17:12:12 +0200Bayes(~Bayes@ics177-97.icsincorporated.com)
2021-07-21 17:12:20 +0200Bayes(~Bayes@ics177-97.icsincorporated.com) (Changing host)
2021-07-21 17:12:20 +0200Bayes(~Bayes@user/bayes)
2021-07-21 17:13:04 +0200h98(~h98@187.83.249.216.dyn.smithville.net) (Ping timeout: 246 seconds)
2021-07-21 17:14:02 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-21 17:15:07 +0200xff0x_(~xff0x@2001:1a81:530d:8900:cddd:a545:4e9e:a55d) (Ping timeout: 245 seconds)
2021-07-21 17:15:33 +0200 <ph88_> how can i link with musl instead of glibc ?
2021-07-21 17:16:26 +0200 <maerwald> ph88_: alpine
2021-07-21 17:16:27 +0200 <yushyin> alpine linux docker image
2021-07-21 17:16:54 +0200 <ph88_> can it be done on ubuntu without docker ?
2021-07-21 17:16:55 +0200xff0x_(~xff0x@185.65.135.235)
2021-07-21 17:17:24 +0200 <maerwald> yes, but if you ask that question you don't want to do it
2021-07-21 17:17:34 +0200 <geekosaur> probably but it won't be easy to guarantee none of glibc gets in
2021-07-21 17:17:53 +0200robertm(robertm@rojoma.com) (Quit: WeeChat 2.3)
2021-07-21 17:18:10 +0200ubert(~Thunderbi@178.165.188.94.wireless.dyn.drei.com)
2021-07-21 17:18:36 +0200 <ph88_> is the RTS already precompiled ?
2021-07-21 17:18:49 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-21 17:19:40 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Read error: Connection reset by peer)
2021-07-21 17:19:49 +0200 <geekosaur> it's more complex than that. (no, it's not already linked against glibc)
2021-07-21 17:19:56 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
2021-07-21 17:20:42 +0200robertm(robertm@rojoma.com)
2021-07-21 17:21:11 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-21 17:23:14 +0200o1lo01ol1o(~o1lo01ol1@bl11-109-140.dsl.telepac.pt)
2021-07-21 17:24:57 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-21 17:30:58 +0200jmorris(uid433911@id-433911.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-21 17:31:41 +0200xff0x_(~xff0x@185.65.135.235) (Ping timeout: 268 seconds)
2021-07-21 17:32:26 +0200rtjure(~rtjure@bras-79-132-1-103.comnet.bg)
2021-07-21 17:32:39 +0200agua(~agua@2804:18:4a:c35:1:0:3be5:8cb2)
2021-07-21 17:33:18 +0200xff0x_(~xff0x@2001:1a81:530d:8900:cddd:a545:4e9e:a55d)
2021-07-21 17:34:07 +0200Xnuk(~xnuk@vultr.xnu.kr) (Quit: ZNC - https://znc.in)
2021-07-21 17:34:24 +0200Xnuk(~xnuk@vultr.xnu.kr)
2021-07-21 17:34:33 +0200jolly(~jolly@208.180.97.158) (Ping timeout: 258 seconds)
2021-07-21 17:34:34 +0200pesada(~agua@179.179.184.77) (Ping timeout: 252 seconds)
2021-07-21 17:35:55 +0200rtjure(~rtjure@bras-79-132-1-103.comnet.bg) (Read error: Connection reset by peer)
2021-07-21 17:36:10 +0200oso(~oso@2601:58c:c080:a950:f275:2530:b398:680b) (Ping timeout: 246 seconds)
2021-07-21 17:36:33 +0200rtjure(~rtjure@bras-79-132-10-94.comnet.bg)
2021-07-21 17:41:23 +0200econo(uid147250@user/econo)
2021-07-21 17:41:34 +0200 <ph88_> so do i need ghc itself to be linked to musl to build a static binary with musl ?
2021-07-21 17:43:06 +0200jolly(~jolly@63-97-42-210-ama.pathwayz.com)
2021-07-21 17:43:10 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 246 seconds)
2021-07-21 17:43:35 +0200 <geekosaur> no
2021-07-21 17:43:57 +0200 <geekosaur> you will just find that glibc is wired in really deep and getting things to not link against it is difficult
2021-07-21 17:44:05 +0200 <ph88_> this repo gave me that impression https://github.com/utdemir/ghc-musl "therefore can be used to create fully static Haskell binaries without glibc dependency"
2021-07-21 17:44:17 +0200 <ph88_> i don't think that is true either
2021-07-21 17:44:24 +0200 <geekosaur> it's far easier to start out with musl as the local libc, hence the docker image containing an OS based on musl
2021-07-21 17:44:44 +0200 <maerwald> you don't need that image
2021-07-21 17:44:49 +0200 <maerwald> you just need stock alpine image
2021-07-21 17:45:35 +0200 <ph88_> strange that the haskell docker image doesn't offer an alpine flavor https://hub.docker.com/_/haskell
2021-07-21 17:45:51 +0200 <maerwald> ph88_: just use stock alpine
2021-07-21 17:45:59 +0200 <maerwald> and use ghcup to install whatever you need
2021-07-21 17:46:59 +0200 <ph88_> what about i take the stock alpine image, and from that create my own Dockerfile that installs stack ?
2021-07-21 17:47:11 +0200 <maerwald> ph88_: https://gist.github.com/hasufell/f0893abfbba63ac4ea40feb0520946ee
2021-07-21 17:47:13 +0200 <maerwald> example
2021-07-21 17:47:28 +0200 <ph88_> i never heard of ghcup before, i only used stack so far
2021-07-21 17:47:28 +0200 <maerwald> although that can be simplified further
2021-07-21 17:47:59 +0200 <maerwald> ph88_: well, stack doesn't support alpine GHC as much as ghcup does
2021-07-21 17:48:03 +0200 <maerwald> unless they fixed it
2021-07-21 17:48:10 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-21 17:48:19 +0200 <maerwald> so if you look at the link, it uses both ghcup and stack
2021-07-21 17:48:37 +0200 <ph88_> im looking now
2021-07-21 17:48:59 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-21 17:51:03 +0200Null_A(~null_a@2601:645:8700:2290:9d5c:9f84:452e:3ad)
2021-07-21 17:53:10 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-21 17:56:52 +0200 <ph88_> maerwald, in that Dockerfile you showed i think stack and ghc themselves are linked against musl .. but then they run under ubuntu which uses glibc. I'm confused with that .. i thought i needed to compile in an environment that uses musl
2021-07-21 17:57:16 +0200 <maerwald> no, both are linked statically
2021-07-21 17:57:25 +0200 <maerwald> that's the point of musl
2021-07-21 17:57:44 +0200 <ph88_> sure .. but then you run the statically linked ghc/stack in an glibc environment
2021-07-21 17:57:58 +0200 <maerwald> ghc is not statically linked afaik
2021-07-21 17:58:02 +0200 <maerwald> stack and ghcup are
2021-07-21 17:58:22 +0200 <maerwald> and no, the dockerfile doesn't run musl ghc under glibc
2021-07-21 17:58:23 +0200dunkeln(~dunkeln@188.70.26.84) (Ping timeout: 255 seconds)
2021-07-21 17:58:27 +0200olive__(~olive_@117.222.65.182) (Quit: leaving)
2021-07-21 17:58:57 +0200 <ph88_> so why switch back to ubuntu in that Dockerfile ?
2021-07-21 17:59:29 +0200 <maerwald> because alpine is painful for everything else
2021-07-21 17:59:29 +0200azeem(~azeem@176.200.238.62) (Read error: Connection reset by peer)
2021-07-21 17:59:38 +0200 <geekosaur> compiles can be done on the host, only the final link needs to be done with musl
2021-07-21 18:00:06 +0200azeem(~azeem@dynamic-adsl-84-220-213-65.clienti.tiscali.it)
2021-07-21 18:00:17 +0200 <ph88_> the final link would happen in ubuntu no ?
2021-07-21 18:00:29 +0200 <geekosaur> no, that gets you glibc
2021-07-21 18:01:01 +0200 <ph88_> pretty confusing Dockerfile ^^
2021-07-21 18:02:01 +0200 <ph88_> https://gist.github.com/hasufell/f0893abfbba63ac4ea40feb0520946ee#file-dockerfile-L24 seems to have little benefit of having stack, ghcup and code explorer statically linked and then run under ubuntu
2021-07-21 18:02:25 +0200 <maerwald> ph88_: huh?
2021-07-21 18:02:28 +0200o1lo01ol1o(~o1lo01ol1@bl11-109-140.dsl.telepac.pt) (Remote host closed the connection)
2021-07-21 18:02:36 +0200 <maerwald> how do you build code-explorer statically on ubuntu?
2021-07-21 18:02:54 +0200 <ph88_> you don't ? but why build it statically in the first place ?
2021-07-21 18:03:15 +0200 <maerwald> no idea, I thought that's what you wanted
2021-07-21 18:03:20 +0200 <ph88_> you install all your dependencies that you need on ubuntu anyway and can just use dynamic linking
2021-07-21 18:03:27 +0200o1lo01ol1o(~o1lo01ol1@bl11-109-140.dsl.telepac.pt)
2021-07-21 18:03:45 +0200 <maerwald> you asked how you can link with musl
2021-07-21 18:03:56 +0200 <ph88_> ah ok i get it now .. you were mainly refering to the alpine part of the build ^^
2021-07-21 18:03:57 +0200 <maerwald> there it is... if you want to link dynamically with musl, you do it the same way
2021-07-21 18:04:00 +0200 <maerwald> your question is answered
2021-07-21 18:04:04 +0200 <ph88_> ok thanks
2021-07-21 18:04:38 +0200pesada(~agua@2804:14c:8793:8e2f:6091:e445:c3bf:d39e)
2021-07-21 18:04:54 +0200 <ph88_> is that your username hasufell ?
2021-07-21 18:05:59 +0200 <ph88_> i'm still gonna try installing stack directly on alpine without ghcup .. just to see what happens ^^
2021-07-21 18:06:16 +0200 <maerwald> I remember that it simply doesn't install GHC
2021-07-21 18:06:46 +0200 <maerwald> I also had to build several GHCs from scratch for alpine: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/
2021-07-21 18:06:50 +0200 <maerwald> these are all included in ghcup
2021-07-21 18:07:06 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-21 18:07:12 +0200agua(~agua@2804:18:4a:c35:1:0:3be5:8cb2) (Ping timeout: 255 seconds)
2021-07-21 18:07:23 +0200 <maerwald> recent GHCs have improved alpine support, olders not
2021-07-21 18:07:37 +0200glassofethanol(~ethanmorg@cpc78471-cwma11-2-0-cust81.7-3.cable.virginm.net) (Quit: leaving)
2021-07-21 18:07:53 +0200Vajb(~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01)
2021-07-21 18:11:54 +0200jlamothe(~jlamothe@104.158.48.100) (Quit: leaving)
2021-07-21 18:12:46 +0200tremon(~tremon@217-63-61-89.cable.dynamic.v4.ziggo.nl)
2021-07-21 18:13:16 +0200h98(~h98@187.83.249.216.dyn.smithville.net)
2021-07-21 18:16:22 +0200dunkeln(~dunkeln@188.70.26.84)
2021-07-21 18:18:14 +0200xkuru(~xkuru@user/xkuru)
2021-07-21 18:21:44 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
2021-07-21 18:22:34 +0200juhp(~juhp@128.106.188.220) (Quit: juhp)
2021-07-21 18:22:47 +0200juhp(~juhp@128.106.188.220)
2021-07-21 18:23:20 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-07-21 18:25:04 +0200 <dminuoso> ph88_: Disclaimer: If you want to do static builds, keep in mind the licensing implication if you dont also switch out libgmp. Namely, if you stick to libgmp (GHCs default), then that forces GPL onto your build product.
2021-07-21 18:25:21 +0200mr-red(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-21 18:25:35 +0200 <dminuoso> If this matters, be sure to also switch to integer-simple.
2021-07-21 18:25:56 +0200 <ph88_> can i use it for proprietary binaries that are not distributed ?
2021-07-21 18:26:13 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 246 seconds)
2021-07-21 18:26:30 +0200 <maerwald> it's not AGPL, so the answer is probably yes
2021-07-21 18:26:35 +0200 <geekosaur> licensing applies to distribution
2021-07-21 18:27:47 +0200ukari(~ukari@user/ukari) (Remote host closed the connection)
2021-07-21 18:28:47 +0200ukari(~ukari@user/ukari)
2021-07-21 18:29:05 +0200 <dminuoso> ph88_: For GPL, it only matters if you distribute code or programs.
2021-07-21 18:31:41 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
2021-07-21 18:32:43 +0200chele(~chele@user/chele) (Remote host closed the connection)
2021-07-21 18:32:57 +0200DNH(~DNH@2a02:8108:1100:16d8:808b:9f4a:c222:7def) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-07-21 18:33:35 +0200chomwitt(~chomwitt@ppp-94-67-220-135.home.otenet.gr) (Ping timeout: 258 seconds)
2021-07-21 18:35:08 +0200 <ph88_> is it possible to remove Integer support alltogether ?
2021-07-21 18:35:26 +0200 <maerwald> oh dear... I had a bug that caused recursive directory creation on windows (probably nested a few million times)... now windows is unable to remove any of that recursively due to path issues xD
2021-07-21 18:35:32 +0200 <dminuoso> ph88_: Not reasonably, no.
2021-07-21 18:36:05 +0200 <ph88_> maerwald, try powershell
2021-07-21 18:36:09 +0200 <maerwald> I did
2021-07-21 18:36:39 +0200 <geekosaur> isn't there a magic path prefix that evades the old path limits?
2021-07-21 18:36:53 +0200 <maerwald> tried that too :D
2021-07-21 18:37:41 +0200 <dminuoso> ph88_: You'd have to remove anything that transitively depends on it. base alone has several hundred references to Integer, you'd have to remove them all. If you have any library dependencies, you will reasonably need Integer.
2021-07-21 18:37:56 +0200 <maerwald> this could be the most annoying malware on windows... just create insanely deeply nested directories everywhere and the user will go nuts trying to remove them
2021-07-21 18:38:02 +0200 <yushyin> also gmp is dual licensed LGPLv3/GPLv2 and with lgpl you only need to provide linkable object files ( https://www.gnu.org/licenses/gpl-faq.html#LGPLStaticVsDynamic )
2021-07-21 18:38:28 +0200 <ph88_> dminuoso, ya that sounds painful .. thought maybe could just swap it out on the very low level that all Integer are converted to i64 or what not
2021-07-21 18:38:58 +0200 <maerwald> ph88_: would you really expect that to work?
2021-07-21 18:39:00 +0200 <dminuoso> ph88_: integer-simple is a drop in replacement for libgmp :)
2021-07-21 18:39:05 +0200 <h98> https://stackoverflow.com/questions/8460268/delete-a-very-very-deep-tree-of-subdirectories-on-wind… do any of these help?
2021-07-21 18:39:16 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-21 18:39:58 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Read error: No route to host)
2021-07-21 18:39:58 +0200 <maerwald> h98: git bash also fails :D
2021-07-21 18:40:01 +0200 <ph88_> thanks yushyin
2021-07-21 18:40:09 +0200 <maerwald> "File name too long"
2021-07-21 18:40:11 +0200 <dminuoso> yushyin: But you are right, I falsely thought it was GPL. But LGPL still might not be what they want.
2021-07-21 18:40:17 +0200 <dminuoso> Besides, you can just use integer-simple and be done with it
2021-07-21 18:40:23 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
2021-07-21 18:40:32 +0200 <geekosaur> \\?\fullPath
2021-07-21 18:40:35 +0200 <dminuoso> As some have pointed out, often there's not a real performance difference, and sometimes integer-simple is even faster.
2021-07-21 18:40:44 +0200 <maerwald> geekosaur: tried that already
2021-07-21 18:40:46 +0200 <dminuoso> Most code isn't Integer crunching heavy.
2021-07-21 18:40:46 +0200 <c_wraith> unless you're in one of those few cases where gmp is actually faster
2021-07-21 18:41:03 +0200 <geekosaur> you managed to make it over 32k deep? wow
2021-07-21 18:41:08 +0200 <maerwald> hehehe
2021-07-21 18:41:25 +0200 <yushyin> dminuoso: all true, just wanted to mention this little thing, for the sake of clarity.
2021-07-21 18:41:58 +0200 <dminuoso> Yes absolutely, it was good of you to correct me here
2021-07-21 18:42:19 +0200 <h98> https://superuser.com/questions/416351/how-to-remove-an-infinitely-recurring-directory-tree/425666… what about something like this?
2021-07-21 18:43:10 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-21 18:45:45 +0200 <ph88_> yushyin, so i would have to compile my app code into a shared object and distribute that along ?
2021-07-21 18:46:44 +0200 <dminuoso> ph88_: Why not just switch to integer-simple?
2021-07-21 18:47:20 +0200 <ph88_> dminuoso, i'm not even in this scenario that i have to choose. I am writing this in a little documentation about what the options are just in case we do get into that scenario
2021-07-21 18:47:36 +0200 <dminuoso> Alright.
2021-07-21 18:48:20 +0200 <yushyin> ph88_: that would be a valid option under the LGPLv3, how feasible it is with the haskell toolchains? I don't know. Never done that.
2021-07-21 18:49:23 +0200 <geekosaur> that's more or less what a package is, no?
2021-07-21 18:49:27 +0200 <ph88_> ya
2021-07-21 18:49:48 +0200 <geekosaur> so all you'fd need is a stub main that calls into the package, much like the default Setup.hs
2021-07-21 18:50:23 +0200azeem(~azeem@dynamic-adsl-84-220-213-65.clienti.tiscali.it) (Ping timeout: 252 seconds)
2021-07-21 18:51:18 +0200 <ph88_> that doesn't seem that complicated
2021-07-21 18:51:35 +0200 <ph88_> might be a good way to do it for the cases that integer-simple is a lot slower
2021-07-21 18:52:01 +0200azeem(~azeem@176.201.2.247)
2021-07-21 18:52:45 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2021-07-21 18:53:06 +0200chris_(~chris@81.96.113.213)
2021-07-21 18:54:10 +0200azeem(~azeem@176.201.2.247) (Read error: Connection reset by peer)
2021-07-21 18:54:24 +0200azeem(~azeem@dynamic-adsl-84-220-213-65.clienti.tiscali.it)
2021-07-21 18:59:29 +0200h98(~h98@187.83.249.216.dyn.smithville.net) (Quit: Client closed)
2021-07-21 19:03:14 +0200nvmd(~nvmd@user/nvmd)
2021-07-21 19:06:50 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Ping timeout: 265 seconds)
2021-07-21 19:06:56 +0200lbseale(~lbseale@user/ep1ctetus)
2021-07-21 19:07:45 +0200DNH(~DNH@2a02:8108:1100:16d8:808b:9f4a:c222:7def)
2021-07-21 19:07:54 +0200juhp(~juhp@128.106.188.220) (Quit: juhp)
2021-07-21 19:08:08 +0200juhp(~juhp@128.106.188.220)
2021-07-21 19:08:21 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-07-21 19:10:30 +0200fef(~thedawn@user/thedawn) (Remote host closed the connection)
2021-07-21 19:10:58 +0200fef(~thedawn@user/thedawn)
2021-07-21 19:12:04 +0200ozzymcduff(~mathieu@81-234-151-21-no94.tbcn.telia.com) (Remote host closed the connection)
2021-07-21 19:17:58 +0200Ariakenom(~Ariakenom@c83-255-154-140.bredband.tele2.se) (Ping timeout: 252 seconds)
2021-07-21 19:23:18 +0200shailangsa(~shailangs@host86-186-142-108.range86-186.btcentralplus.com) (Ping timeout: 268 seconds)
2021-07-21 19:24:31 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-21 19:26:22 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-21 19:27:17 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds)
2021-07-21 19:27:34 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-21 19:29:06 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 255 seconds)
2021-07-21 19:31:37 +0200 <ph88_> can ghcup install different versions of GHC at the same time ?
2021-07-21 19:32:50 +0200chomwitt(~chomwitt@ppp-94-67-220-135.home.otenet.gr)
2021-07-21 19:33:34 +0200 <geekosaur> yes, but you have to run them by full pathname or select one as current
2021-07-21 19:33:45 +0200mikail(~mikail@2a02:c7f:bd83:fd00:55cf:122f:957a:f66f)
2021-07-21 19:34:10 +0200Erutuon(~Erutuon@user/erutuon)
2021-07-21 19:36:13 +0200 <ph88_> is there a way that i can let stack select the right one automatically ?
2021-07-21 19:36:43 +0200 <ph88_> or if that is not possible maybe provide a command line argument to stack where to find the right ghc version
2021-07-21 19:37:12 +0200derelict(~derelict@user/derelict) (Ping timeout: 245 seconds)
2021-07-21 19:37:45 +0200 <geekosaur> stack kinda actively deters that kind of usage, preferring its o9wn management
2021-07-21 19:38:59 +0200Cajun(~Cajun@ip98-163-211-112.no.no.cox.net) (Quit: Client closed)
2021-07-21 19:39:54 +0200dajoer(~david@user/gvx) (Quit: leaving)
2021-07-21 19:41:01 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com)
2021-07-21 19:41:19 +0200 <arkanoid> hello! I'm new to haskell, and I plan to use the execism.io website to train. The website suggests to use "stack" tool, but I have already installed haskell-platform on ubuntu box. If I understand correctly the stack tool install a local version of haskell and apt package is not needed. Am I right?
2021-07-21 19:41:58 +0200 <Lycurgus> you still need apt for the debian pkgs
2021-07-21 19:42:20 +0200 <Lycurgus> haskell platform is antiquated and stack alone will suffice
2021-07-21 19:42:52 +0200 <Lycurgus> haskell only does haskell, not general unix pkgs
2021-07-21 19:43:57 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-21 19:44:29 +0200 <fendor> ph88_, maybe there is soon a stack hook for that: https://github.com/commercialhaskell/stack/pull/5585
2021-07-21 19:45:18 +0200 <maerwald> ph88_: https://github.com/commercialhaskell/stack/pull/5585
2021-07-21 19:45:20 +0200 <maerwald> with that yes
2021-07-21 19:45:23 +0200 <maerwald> oops
2021-07-21 19:45:25 +0200 <maerwald> :>
2021-07-21 19:47:02 +0200 <arkanoid> I lost you with your "you still need apt for the debian pkgs"
2021-07-21 19:47:46 +0200 <Lycurgus> igess you meant the haskell platform apt pkg
2021-07-21 19:47:59 +0200 <arkanoid> yes
2021-07-21 19:48:07 +0200 <Lycurgus> whereas I though you were talking about apt generally
2021-07-21 19:48:24 +0200 <Lycurgus> the comment about haskell platform was covering though
2021-07-21 19:48:31 +0200 <arkanoid> btw I've just deleted all haskell pkgs with sudo apt remove --autoremove 'haskell-*', and 'stack test' runs correctly
2021-07-21 19:48:38 +0200 <Lycurgus> you could apt purge it
2021-07-21 19:48:43 +0200 <Lycurgus> (i would)
2021-07-21 19:48:55 +0200 <maerwald> yeah, avoid distro haskell packages in general
2021-07-21 19:49:36 +0200 <maerwald> some distros do it right and only install GHC with nothing else, no haskell pkgs explicitly
2021-07-21 19:50:09 +0200 <Lycurgus> *thought
2021-07-21 19:50:29 +0200 <arkanoid> funny thing, haskell-platform dragged in 1GB of packages, uninstalling haskell-* with autoremove and purge freed 222MB
2021-07-21 19:50:33 +0200Codaraxis(~Codaraxis@user/codaraxis)
2021-07-21 19:50:36 +0200dunkeln(~dunkeln@188.70.26.84) (Ping timeout: 252 seconds)
2021-07-21 19:50:58 +0200 <arkanoid> btw, not a problem. I see that "stack" lives in my home now and it reads file in ~/.stack
2021-07-21 19:51:12 +0200Null_A(~null_a@2601:645:8700:2290:9d5c:9f84:452e:3ad) (Remote host closed the connection)
2021-07-21 19:51:14 +0200 <Lycurgus> yeah apt can pull dependencies which don't get purged
2021-07-21 19:51:27 +0200derelict(~derelict@user/derelict)
2021-07-21 19:51:42 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-07-21 19:51:46 +0200 <Lycurgus> and the thing that supposedly removes unneeded pkgs is dangerous
2021-07-21 19:51:57 +0200Null_A(~null_a@2601:645:8700:2290:9d5c:9f84:452e:3ad)
2021-07-21 19:53:13 +0200Shailangsa_(~shailangs@host86-186-196-233.range86-186.btcentralplus.com)
2021-07-21 19:53:23 +0200 <Lycurgus> FOSS peopels (but not haskellers in general) sometimes distribute broken shit, like python pip is right now
2021-07-21 19:53:24 +0200Codaraxis__(~Codaraxis@193.138.218.171) (Ping timeout: 255 seconds)
2021-07-21 19:53:31 +0200 <Lycurgus> *peoples
2021-07-21 19:53:36 +0200Guest68(~Guest68@ppp046176105030.access.hol.gr)
2021-07-21 19:53:41 +0200 <arkanoid> well, luckily I'm not on a production server. I can repair if needed. Thanks for the help! Also, I will probably ask some (hopefully good) question while learning
2021-07-21 19:54:08 +0200favonia(~favonia@user/favonia)
2021-07-21 19:54:19 +0200 <Lycurgus> pip 20.3 and later introduced backtracking which they were apparently incompetent to do correctly
2021-07-21 19:54:35 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-21 19:55:20 +0200 <maerwald> package management is NP hard :>
2021-07-21 19:55:34 +0200 <arkanoid> As IDE to learn haskell I've installed spacevim + lang#haskell layer and codium + haskell extension. Are there better suited IDEs you'd suggest to use while learning?
2021-07-21 19:56:16 +0200 <Lycurgus> code and hs lang server is hot these days
2021-07-21 19:58:20 +0200h98(~h98@187.83.249.216.dyn.smithville.net)
2021-07-21 19:59:14 +0200 <arkanoid> good! I saw it downloading it on first run. But seems not working (no build button anywhere). Maybe is not compatible with stack? let's see
2021-07-21 19:59:15 +0200mikail(~mikail@2a02:c7f:bd83:fd00:55cf:122f:957a:f66f) (Quit: Leaving)
2021-07-21 20:02:17 +0200viluon(uid453725@id-453725.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-21 20:03:45 +0200nvmd(~nvmd@user/nvmd) (Ping timeout: 255 seconds)
2021-07-21 20:05:06 +0200Vajb(~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01) (Read error: Connection reset by peer)
2021-07-21 20:05:28 +0200nvmd(~nvmd@user/nvmd)
2021-07-21 20:05:31 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-21 20:13:14 +0200juhp(~juhp@128.106.188.220) (Quit: juhp)
2021-07-21 20:13:28 +0200juhp(~juhp@128.106.188.220)
2021-07-21 20:19:35 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-21 20:20:59 +0200fluffyballoon(~fluffybal@pat-verona-l.epic.com)
2021-07-21 20:22:41 +0200zyklotomic(~ethan@2604:a880:800:10::79f:8001)
2021-07-21 20:23:25 +0200o1lo01ol1o(~o1lo01ol1@bl11-109-140.dsl.telepac.pt) (Remote host closed the connection)
2021-07-21 20:23:34 +0200juhp(~juhp@128.106.188.220) (Quit: juhp)
2021-07-21 20:23:47 +0200juhp(~juhp@128.106.188.220)
2021-07-21 20:23:54 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-21 20:25:22 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
2021-07-21 20:25:42 +0200moll(~user@93-181-35-213.dyn.estpak.ee)
2021-07-21 20:26:59 +0200integral_integral
2021-07-21 20:28:12 +0200ukari(~ukari@user/ukari) (Remote host closed the connection)
2021-07-21 20:28:36 +0200ukari(~ukari@user/ukari)
2021-07-21 20:30:31 +0200favonia(~favonia@user/favonia)
2021-07-21 20:33:54 +0200juhp(~juhp@128.106.188.220) (Quit: juhp)
2021-07-21 20:34:07 +0200juhp(~juhp@128.106.188.220)
2021-07-21 20:38:18 +0200favonia(~favonia@user/favonia) (Ping timeout: 252 seconds)
2021-07-21 20:38:42 +0200favonia(~favonia@user/favonia)
2021-07-21 20:41:49 +0200 <sm> arkanoid: yes vs code + haskell extension is a good one. It's fine with stack
2021-07-21 20:42:46 +0200 <arkanoid> sm: are you sure? I've stack [test, build, exec, ghci] perfectly working on vscode terminal, but extension complains "project requires GHC but it isn't installed"
2021-07-21 20:43:44 +0200 <arkanoid> I do see binaries installed in ~/.stack/... and the environment just works at command line, but vscode extensions seems not good in realizing that stack should be used
2021-07-21 20:43:54 +0200 <sm> yes I'm sure. I don't say setup issues are impossible, of course not
2021-07-21 20:44:14 +0200juhp(~juhp@128.106.188.220) (Quit: juhp)
2021-07-21 20:44:27 +0200juhp(~juhp@128.106.188.220)
2021-07-21 20:44:31 +0200 <arkanoid> k, so I need to find out how to read vscode logs
2021-07-21 20:44:35 +0200 <sm> AFAIK it looks at various things in your project to autodetect.. you have a stack.yaml ? Maybe the Tasks -> Haskell pane has more info
2021-07-21 20:46:34 +0200fresheyeball(~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net)
2021-07-21 20:47:08 +0200mr-red(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 255 seconds)
2021-07-21 20:47:10 +0200cheater(~Username@user/cheater) (Ping timeout: 268 seconds)
2021-07-21 20:47:52 +0200 <sm> OUTPUT -> Haskell pane, I meant
2021-07-21 20:48:25 +0200 <arkanoid> yes I have stack.yml. I've downloaded the helloworld exercise from exercism.io and build and tests works correctly at command line. I do see the .stack env being populated separately for the desired version
2021-07-21 20:49:02 +0200 <sm> the devs are in #haskell-language-server:libera.chat
2021-07-21 20:49:33 +0200 <sm> maybe compare with a brand new project. In one of my projects I made a custom hie.yaml to help it IIRC
2021-07-21 20:49:44 +0200azeem(~azeem@dynamic-adsl-84-220-213-65.clienti.tiscali.it) (Ping timeout: 252 seconds)
2021-07-21 20:50:33 +0200azeem(~azeem@176.201.2.247)
2021-07-21 20:52:11 +0200oso(~oso@2601:58c:c080:a950:f275:2530:b398:680b)
2021-07-21 20:52:36 +0200Deide(~Deide@user/deide)
2021-07-21 20:53:04 +0200 <arkanoid> sm: I think I've found the issue and is related to how vscode find out the working path and relative stack.yaml
2021-07-21 20:53:33 +0200 <arkanoid> I think I got it working now. Thanks for pointing me to the right direction
2021-07-21 20:53:42 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds)
2021-07-21 20:54:20 +0200o1lo01ol1o(~o1lo01ol1@bl11-109-140.dsl.telepac.pt)
2021-07-21 20:54:26 +0200 <sm> np
2021-07-21 20:54:29 +0200Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2021-07-21 20:54:40 +0200 <sm> what caused it not to work ?
2021-07-21 20:56:14 +0200oso7(~oso@2601:58c:c080:a950:f275:2530:b398:680b)
2021-07-21 20:56:17 +0200oso(~oso@2601:58c:c080:a950:f275:2530:b398:680b) (Remote host closed the connection)
2021-07-21 20:56:28 +0200oso7oso
2021-07-21 20:57:20 +0200bitmapper(uid464869@id-464869.tooting.irccloud.com)
2021-07-21 20:58:07 +0200dunkeln(~dunkeln@188.70.26.84)
2021-07-21 20:58:14 +0200cheater(~Username@user/cheater)
2021-07-21 20:59:34 +0200juhp(~juhp@128.106.188.220) (Quit: juhp)
2021-07-21 20:59:47 +0200juhp(~juhp@128.106.188.220)
2021-07-21 20:59:52 +0200dhil(~dhil@195.213.192.47) (Remote host closed the connection)
2021-07-21 21:00:54 +0200o1lo01ol1o(~o1lo01ol1@bl11-109-140.dsl.telepac.pt) (Ping timeout: 255 seconds)
2021-07-21 21:01:29 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com)
2021-07-21 21:03:35 +0200azeem(~azeem@176.201.2.247) (Read error: Connection reset by peer)
2021-07-21 21:04:40 +0200 <arkanoid> sm: that I had many exercises folder automatically downladed by exercism cli tool in my ~/exercism/haskell/*, like ~/exercism/haskell/helloworld. I opened vscode in ~/exercism/haskell and clicked on "helloworld/src/HelloWorld.hs", but that made ~/exercism/haskell/helloworld/stack.yml not read. So you cant have "many" haskell projects (at least out of the box) but just one
2021-07-21 21:05:16 +0200azeem(~azeem@dynamic-adsl-84-220-213-65.clienti.tiscali.it)
2021-07-21 21:05:17 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel)
2021-07-21 21:05:18 +0200 <sm> arkanoid: ah.. yes the nearest stack.yaml file defines the project
2021-07-21 21:05:18 +0200 <arkanoid> by opening vscode in ~/exercism/haskell/helloword made it work
2021-07-21 21:05:36 +0200cheater(~Username@user/cheater) (Remote host closed the connection)
2021-07-21 21:05:54 +0200 <arkanoid> well, not the nearest. It would have worked otherwise
2021-07-21 21:05:58 +0200 <sm> nearest in current directory or above
2021-07-21 21:08:28 +0200 <arkanoid> I was editing ~/exercism/haskell/helloworld/src/HelloWord.hs, the working directory was ~/exercism/haskell and the stack.yml file was in ~/exercism/haskell/helloworld, so the extension doesn't look at the nearest stack.yml from the file being currently edited
2021-07-21 21:08:35 +0200lavaman(~lavaman@98.38.249.169)
2021-07-21 21:09:02 +0200 <sm> it looks upward
2021-07-21 21:09:20 +0200 <sm> like stack itself
2021-07-21 21:09:27 +0200 <sm> as I understand it anyway. The devs will know more.
2021-07-21 21:12:04 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-21 21:12:51 +0200ikex1(~ash@user/ikex)
2021-07-21 21:12:52 +0200Techcable(~Techcable@168.235.93.147) (Quit: ZNC - https://znc.in)
2021-07-21 21:12:58 +0200ikex(ash@user/ikex) (Ping timeout: 240 seconds)
2021-07-21 21:13:03 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 258 seconds)
2021-07-21 21:13:27 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-07-21 21:13:30 +0200ikex1ikex
2021-07-21 21:14:51 +0200vk3wtf(~doc@124.168.198.139) (Ping timeout: 255 seconds)
2021-07-21 21:15:37 +0200vk3wtf(~doc@59-102-26-152.tpgi.com.au)
2021-07-21 21:16:09 +0200ubert(~Thunderbi@178.165.188.94.wireless.dyn.drei.com) (Ping timeout: 268 seconds)
2021-07-21 21:16:37 +0200Techcable(~Techcable@168.235.93.147)
2021-07-21 21:17:06 +0200favonia(~favonia@user/favonia) (Ping timeout: 256 seconds)
2021-07-21 21:17:30 +0200favonia(~favonia@user/favonia)
2021-07-21 21:19:12 +0200sqrt2_(~ben@80-108-18-7.cable.dynamic.surfer.at) (Ping timeout: 272 seconds)
2021-07-21 21:19:54 +0200juhp(~juhp@128.106.188.220) (Quit: juhp)
2021-07-21 21:20:07 +0200juhp(~juhp@128.106.188.220)
2021-07-21 21:21:54 +0200fef(~thedawn@user/thedawn) (Remote host closed the connection)
2021-07-21 21:26:06 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-21 21:27:52 +0200h98(~h98@187.83.249.216.dyn.smithville.net) (Ping timeout: 246 seconds)
2021-07-21 21:28:31 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-21 21:29:29 +0200Shailangsa_(~shailangs@host86-186-196-233.range86-186.btcentralplus.com) ()
2021-07-21 21:32:31 +0200favonia(~favonia@user/favonia)
2021-07-21 21:38:18 +0200alx741(~alx741@186.178.108.174) (Ping timeout: 240 seconds)
2021-07-21 21:38:34 +0200kayprish(~kayprish@cable-188-2-229-172.dynamic.sbb.rs)
2021-07-21 21:39:58 +0200finsternis(~X@23.226.237.192)
2021-07-21 21:43:14 +0200o1lo01ol1o(~o1lo01ol1@bl11-109-140.dsl.telepac.pt)
2021-07-21 21:46:53 +0200sqrt2(~ben@tunnel330957-pt.tunnel.tserv6.fra1.ipv6.he.net)
2021-07-21 21:47:12 +0200benin0369(~benin@183.82.206.69) (Ping timeout: 252 seconds)
2021-07-21 21:47:54 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-21 21:50:26 +0200favonia(~favonia@user/favonia)
2021-07-21 21:51:02 +0200 <ph88_> fendor, maerwald looks nice
2021-07-21 21:51:25 +0200 <ph88_> is it possible to ask stack the ghc version that belongs to a resolver ?
2021-07-21 21:52:03 +0200 <fendor> ph88_, maybe `stack path --resolver ... --compiler-exe`?
2021-07-21 21:52:08 +0200 <fendor> not sure that works
2021-07-21 21:52:50 +0200alx741(~alx741@186.178.108.210)
2021-07-21 21:52:58 +0200 <fendor> that command will probably download the respective ghc version
2021-07-21 21:53:05 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es)
2021-07-21 21:54:38 +0200fendor(~fendor@91.141.40.76.wireless.dyn.drei.com) (Remote host closed the connection)
2021-07-21 21:55:55 +0200 <maerwald> stack --no-install-ghc path --resolver lts-0.7 --compiler-exe
2021-07-21 21:56:02 +0200 <maerwald> but that's not nicely parsable
2021-07-21 21:58:40 +0200 <ph88_> i was thinking i can do then inside a project stack --no-install-ghc path --compiler-exe and then with that information do ghcup set system-ghc and then do stack build normally .. would that work ?
2021-07-21 21:59:19 +0200 <maerwald> ph88_: use the patched stack we linked to earlier
2021-07-21 21:59:38 +0200 <maerwald> https://github.com/commercialhaskell/stack/pull/5585
2021-07-21 22:00:02 +0200shailangsa(~shailangs@host86-186-196-233.range86-186.btcentralplus.com)
2021-07-21 22:00:14 +0200juhp(~juhp@128.106.188.220) (Quit: juhp)
2021-07-21 22:00:29 +0200juhp(~juhp@128.106.188.220)
2021-07-21 22:00:37 +0200h98(~h98@187.83.249.216.dyn.smithville.net)
2021-07-21 22:00:59 +0200 <maerwald> a hook would look like this: https://paste.tomsmeding.com/PFL8aFLa
2021-07-21 22:01:09 +0200 <maerwald> but for `whereis` you also need ghcup from master
2021-07-21 22:01:47 +0200favonia(~favonia@user/favonia) (Ping timeout: 245 seconds)
2021-07-21 22:02:24 +0200 <ph88_> what do you mean for whereis ?
2021-07-21 22:02:31 +0200 <maerwald> see the paste
2021-07-21 22:02:44 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 255 seconds)
2021-07-21 22:03:08 +0200 <maerwald> you can also do `echo $HOME/.ghcup/ghc/$HOOK_GHC_VERSION/bin`
2021-07-21 22:03:16 +0200 <ph88_> that's a bit probablametic right now to go on bleeding edge. Why not just parse and do ghcup set system-ghc ?
2021-07-21 22:03:20 +0200favonia(~favonia@user/favonia)
2021-07-21 22:03:28 +0200 <maerwald> up to you
2021-07-21 22:03:56 +0200 <ph88_> does ghcup install ghc into $HOME/.ghcup ?
2021-07-21 22:04:08 +0200 <maerwald> it's cooler if you run `stack build` and it invokes ghcup
2021-07-21 22:04:13 +0200 <maerwald> ph88_: yes
2021-07-21 22:05:25 +0200juhp(~juhp@128.106.188.220) (Ping timeout: 250 seconds)
2021-07-21 22:06:45 +0200juhp(~juhp@128.106.188.220)
2021-07-21 22:09:11 +0200doyougnu(~user@c-73-25-202-122.hsd1.or.comcast.net) (Quit: ERC (IRC client for Emacs 28.0.50))
2021-07-21 22:13:52 +0200Null_A(~null_a@2601:645:8700:2290:9d5c:9f84:452e:3ad) (Remote host closed the connection)
2021-07-21 22:13:58 +0200Ariakenom(~Ariakenom@c83-255-154-140.bredband.tele2.se)
2021-07-21 22:14:36 +0200jespada(~jespada@90.254.247.46) (Quit: Textual IRC Client: www.textualapp.com)
2021-07-21 22:17:16 +0200h98(~h98@187.83.249.216.dyn.smithville.net) (Quit: Client closed)
2021-07-21 22:17:25 +0200 <ph88_> I think ghcup shows me this, what does that mean ? #5 3.256 [ Warn ] Could not get download info, trying cached version (this may not be recent!) #5 3.257 [ Error ] File "/root/.ghcup/cache/ghcup-0.0.4.yaml" does not exist.
2021-07-21 22:17:53 +0200 <maerwald> means you're running an old version for starters
2021-07-21 22:18:10 +0200Ariakenom(~Ariakenom@c83-255-154-140.bredband.tele2.se) (Ping timeout: 240 seconds)
2021-07-21 22:19:41 +0200 <maerwald> and the download failed
2021-07-21 22:20:16 +0200ukari(~ukari@user/ukari) (Remote host closed the connection)
2021-07-21 22:21:01 +0200ukari(~ukari@user/ukari)
2021-07-21 22:22:24 +0200 <maerwald> you need curl or wget and a working internet connection
2021-07-21 22:22:53 +0200 <maerwald> In a Dockerfile you can do sth like https://git.io/JlTtf
2021-07-21 22:25:36 +0200Ariakenom(~Ariakenom@c83-255-154-140.bredband.tele2.se)
2021-07-21 22:27:15 +0200michalz(~michalz@185.246.204.50) (Remote host closed the connection)
2021-07-21 22:27:29 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 255 seconds)
2021-07-21 22:30:22 +0200NiKaN(sid385034@id-385034.brockwell.irccloud.com)
2021-07-21 22:32:37 +0200 <arkanoid> is it considered normal to not have "run" function in vscode + haskell extension by default? stack environment works nice via command line
2021-07-21 22:33:03 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-07-21 22:35:00 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.2)
2021-07-21 22:35:28 +0200Null_A(~null_a@c-98-210-133-39.hsd1.ca.comcast.net)
2021-07-21 22:37:43 +0200hololeap(~hololeap@user/hololeap) (Quit: Bye)
2021-07-21 22:39:19 +0200 <[exa]> arkanoid: I'd consider that to be a step to "normal"
2021-07-21 22:39:36 +0200 <[exa]> most programs aren't normally executed by the green play button :D
2021-07-21 22:40:24 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-07-21 22:42:42 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 240 seconds)
2021-07-21 22:44:32 +0200 <ph88_> maerwald, an old version of what exactly ? i am making a dockerfile from alpine:latest o_O
2021-07-21 22:44:53 +0200 <maerwald> ph88_: of ghcup
2021-07-21 22:44:57 +0200 <ph88_> i did it like this wget https://downloads.haskell.org/~ghcup/x86_64-linux-ghcup -O /usr/local/bin/ghcup
2021-07-21 22:45:05 +0200 <sm> arkanoid: what would it do.. "stack run" ?
2021-07-21 22:45:11 +0200 <maerwald> ph88_: ya, that's a symlink that's not always updated
2021-07-21 22:45:15 +0200Null_A(~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Remote host closed the connection)
2021-07-21 22:45:18 +0200 <maerwald> see the link above
2021-07-21 22:45:21 +0200 <ph88_> eh ok
2021-07-21 22:46:00 +0200viluon(uid453725@id-453725.brockwell.irccloud.com)
2021-07-21 22:46:18 +0200 <maerwald> curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_NONINTERACTIVE=1 BOOTSTRAP_HASKELL_GHC_VERSION=8.10.5 BOOTSTRAP_HASKELL_CABAL_VERSION=3.4.0.0 sh
2021-07-21 22:46:30 +0200 <sm> arkanoid: there is in fact a Haskell Runner extension
2021-07-21 22:46:38 +0200awth13(~user@user/awth13)
2021-07-21 22:47:05 +0200acidjnk(~acidjnk@p200300d0c72b9516f180e3afe24121d7.dip0.t-ipconnect.de)
2021-07-21 22:50:13 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-21 22:50:21 +0200 <ph88_> seems curl is a dependency of ghcup script, i better install that first then
2021-07-21 22:51:13 +0200 <maerwald> ph88_: do you have wget?
2021-07-21 22:51:44 +0200 <maerwald> but curl is better
2021-07-21 22:52:34 +0200 <ph88_> i have wget, but i the script of ghcup itself calls curl i think .. because im not using curl atm
2021-07-21 22:52:47 +0200 <monochrom> cabal-install likes curl too.
2021-07-21 22:53:34 +0200 <monochrom> I haven't tried what happens to cabal-install if it can't find curl, but there was a time you had to add a non-default flag to tell it to use wget.
2021-07-21 22:53:42 +0200Null_A(~null_a@2601:645:8700:2290:5d44:532d:1cae:2f91)
2021-07-21 22:54:17 +0200 <monochrom> Also it simply runs curl the exe not libcurl, and this inspired ghcup to do the same, and I had a hand in influencing that. >:)
2021-07-21 22:54:51 +0200 <maerwald> if it can't find curl it falls back to wget even if you didn't specify wget
2021-07-21 22:54:55 +0200 <monochrom> Someone else did try to use libcurl for a different project, probably even a C project per se. It was found to be total madness. Don't go there. :)
2021-07-21 22:55:01 +0200 <maerwald> (cabal and ghcup)
2021-07-21 22:55:22 +0200 <maerwald> but the bootstrap script doesn't support wget, so there's that
2021-07-21 22:56:31 +0200 <maerwald> not sure why anyone would prefer wget, but many distros don't have curl pre-installed
2021-07-21 22:56:51 +0200 <maerwald> curl is even running in space afaik!
2021-07-21 22:58:12 +0200dunkeln(~dunkeln@188.70.26.84) (Quit: leaving)
2021-07-21 22:58:23 +0200 <monochrom> I think I learned of wget before curl when I started using linux.
2021-07-21 22:58:56 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-21 22:59:04 +0200 <maerwald> wget's default is maybe a little bit more intuitive... it's funny if you run curl on a binary without -O and have your terminal broken
2021-07-21 22:59:20 +0200 <monochrom> But there was a time both were pre-installed. Omitting curl is fairly recent on Ubuntu, like 1-2 years ago.
2021-07-21 22:59:43 +0200rtjure(~rtjure@bras-79-132-10-94.comnet.bg) (Quit: Leaving)
2021-07-21 23:00:10 +0200 <monochrom> Yeah I have a feeling that wget syntax and default behaviour make more sense for human users.
2021-07-21 23:00:10 +0200azeem(~azeem@dynamic-adsl-84-220-213-65.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-07-21 23:00:23 +0200 <maerwald> but it's more unix friendly to outilize stdout by default, piping and the like
2021-07-21 23:00:26 +0200 <monochrom> only just a little bit more, to be sure.
2021-07-21 23:00:35 +0200 <monochrom> Yeah
2021-07-21 23:00:44 +0200azeem(~azeem@dynamic-adsl-84-220-213-65.clienti.tiscali.it)
2021-07-21 23:01:31 +0200 <monochrom> Hey "outilize" is a great portmanteau!
2021-07-21 23:01:57 +0200oso(~oso@2601:58c:c080:a950:f275:2530:b398:680b) (Quit: Client closed)
2021-07-21 23:02:12 +0200 <maerwald> it's just my joints snapping occasionally
2021-07-21 23:02:50 +0200 <monochrom> utiline stdin, outilize stdout
2021-07-21 23:04:12 +0200favonia(~favonia@user/favonia) (Ping timeout: 256 seconds)
2021-07-21 23:04:39 +0200 <geekosaur> also there's this belief that curl == BSD, wget == GNU
2021-07-21 23:05:06 +0200favonia(~favonia@user/favonia)
2021-07-21 23:05:37 +0200 <monochrom> Ah.
2021-07-21 23:06:12 +0200 <monochrom> The human mind performs pincipal value analysis all the time especially when it shouldn't. :)
2021-07-21 23:07:37 +0200 <monochrom> I need to teach a machine learning course in which I point out that humans are always making the same mistakes as machine learning algorithms and models. >:)
2021-07-21 23:08:58 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
2021-07-21 23:09:03 +0200 <Franciman> monochrom: lol
2021-07-21 23:11:51 +0200juhp(~juhp@128.106.188.220) (Quit: juhp)
2021-07-21 23:12:04 +0200juhp(~juhp@128.106.188.220)
2021-07-21 23:12:34 +0200 <ph88_> monochrom, why was libcurl to be found total madness ?
2021-07-21 23:15:47 +0200zebrag(~chris@user/zebrag) (Ping timeout: 268 seconds)
2021-07-21 23:16:41 +0200 <geekosaur> monochrom, https://www.dropbox.com/s/345iszfohklw0sl/dnn.txt?dl=0
2021-07-21 23:16:41 +0200jumper149(~jumper149@80.240.31.34)
2021-07-21 23:16:56 +0200cheater(~Username@user/cheater)
2021-07-21 23:18:05 +0200Null_A(~null_a@2601:645:8700:2290:5d44:532d:1cae:2f91) (Remote host closed the connection)
2021-07-21 23:18:28 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-21 23:19:57 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection)
2021-07-21 23:20:08 +0200lbseale(~lbseale@user/ep1ctetus) (Quit: Client closed)
2021-07-21 23:20:15 +0200sheepduck(~sheepduck@user/sheepduck)
2021-07-21 23:20:58 +0200 <maerwald> ph88_: you link to the library, for starters
2021-07-21 23:21:13 +0200 <maerwald> if the distro breaks SONAME, you have your first problem
2021-07-21 23:21:20 +0200 <maerwald> statically linking will break your neck too
2021-07-21 23:21:52 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-21 23:22:08 +0200 <ph88_> maerwald, i thought that was all solved now with alpine :p
2021-07-21 23:22:16 +0200 <maerwald> how so?
2021-07-21 23:22:29 +0200 <maerwald> statically linking libcurl will require you to link openssl too
2021-07-21 23:22:33 +0200 <maerwald> and that IS wrong
2021-07-21 23:22:54 +0200 <ph88_> oh
2021-07-21 23:23:31 +0200 <maerwald> even if you used something statically linking friendlier like mbedTLS... I think it's still wrong
2021-07-21 23:24:18 +0200 <maerwald> you need a really good update channel and mechanisms that use gpg signatures on top to make this not insanely insecure
2021-07-21 23:24:27 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 255 seconds)
2021-07-21 23:24:27 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds)
2021-07-21 23:24:30 +0200 <monochrom> geekosaur: Nice, thanks.
2021-07-21 23:24:41 +0200lbseale(~lbseale@user/ep1ctetus)
2021-07-21 23:24:51 +0200 <maerwald> the distro will take care of fixing curl and openssl vulnerabilities
2021-07-21 23:24:57 +0200 <maerwald> don't try to compete with that
2021-07-21 23:25:16 +0200cheater(~Username@user/cheater) (Read error: Connection reset by peer)
2021-07-21 23:26:33 +0200 <monochrom> My principal component analysis merges "alpine" with "docker" because when I learned docker its tutorials use alpine all the time and I get a feeling of "so alpine is so barebone no one uses it by hand but great for docker".
2021-07-21 23:26:40 +0200 <monochrom> I mean, :)
2021-07-21 23:26:47 +0200mthvedt(uid501949@id-501949.stonehaven.irccloud.com)
2021-07-21 23:27:17 +0200 <maerwald> I wrote an APKBUILD once and posted it to their ML for review. I never got an answer :>
2021-07-21 23:27:35 +0200 <hpc> that's like saying windows is great for running virtualbox
2021-07-21 23:27:39 +0200 <monochrom> So I interpret "solved by alpine" to mean "solved by docker" which is suddenly a tautology :)
2021-07-21 23:28:00 +0200cheater(~Username@user/cheater)
2021-07-21 23:28:11 +0200 <maerwald> people run windows outside of virtualbox?
2021-07-21 23:28:36 +0200 <monochrom> hpc: Hey, my brain has the converse association, "virtualbox is great when I'm stuck in windows"
2021-07-21 23:28:40 +0200 <geekosaur> most people, even
2021-07-21 23:28:48 +0200o1lo01ol1o(~o1lo01ol1@bl11-109-140.dsl.telepac.pt) (Remote host closed the connection)
2021-07-21 23:28:54 +0200 <dsal> I don't understand people's obsession with curl. I also don't understand why curl thinks it needs to "support" every protocol.
2021-07-21 23:29:31 +0200 <maerwald> dsal: what's the alternative? Try haskell-tls and all those boys and see how it completely fails in the face of weird proxy and firewall configs
2021-07-21 23:30:10 +0200radw(~radw@user/radw) (Ping timeout: 240 seconds)
2021-07-21 23:30:23 +0200 <maerwald> I'm sure you would get it to work somehow on esoteric setups, but it's work. And curl has done it for you
2021-07-21 23:30:33 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-07-21 23:30:54 +0200cheater(~Username@user/cheater) (Remote host closed the connection)
2021-07-21 23:31:06 +0200jumper149(~jumper149@80.240.31.34) (Quit: WeeChat 3.2)
2021-07-21 23:31:11 +0200 <janus> dsal: just had an issue where a binary using network-bsd failed to look up the "tcp" protocol number because network doesn't support tcp natively :P https://hackage.haskell.org/package/network-3.1.2.2/docs/Network-Socket.html#v:socket
2021-07-21 23:31:28 +0200 <dsal> I use network-conduit-tls, but I don't know what it uses on a lower level.
2021-07-21 23:31:43 +0200 <glguy> I stopped using the Haskell TLS implementations after I found they weren't validating some certificates correctly. I don't remember what feature it was they had wrong (it's been years now) but I prefer trusting the more commonly used TLS implementations for that
2021-07-21 23:32:00 +0200 <janus> you take a binary that uses network-bsd , it will depend on /etc/protocols. and then when you run without that file, it can't find the TCP protocol number
2021-07-21 23:32:03 +0200zangi(~zangi@103.154.230.230)
2021-07-21 23:32:20 +0200 <janus> i think it is good enough to use defaultProtocol but i'd love to hear if somebody knows of a platform where that breaks
2021-07-21 23:32:20 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-07-21 23:32:44 +0200 <zangi> is there a language pragma that allows me to `type Foo = [(Int,a)]`
2021-07-21 23:33:02 +0200 <dsal> zangi: what is a?
2021-07-21 23:33:17 +0200jespada(~jespada@90.254.247.46)
2021-07-21 23:33:18 +0200 <glguy> janus: usually you wouldn't specify the protocol manually. That's getAddrInfo's job
2021-07-21 23:33:25 +0200cheater(~Username@user/cheater)
2021-07-21 23:33:30 +0200 <zangi> dsal: any type
2021-07-21 23:33:46 +0200 <dsal> zangi: It doesn't exist on the left side of the = though.
2021-07-21 23:33:52 +0200sqrt2(~ben@tunnel330957-pt.tunnel.tserv6.fra1.ipv6.he.net) (Ping timeout: 245 seconds)
2021-07-21 23:33:58 +0200 <maerwald> RankNTypes
2021-07-21 23:34:10 +0200 <maerwald> and then `type Foo = forall a. [(Int, a)]`
2021-07-21 23:34:14 +0200 <maerwald> and then pain
2021-07-21 23:34:25 +0200 <janus> glguy: aah ok, so you're saying the socket function linked should always be used with getAddrInfo like it is in the example?
2021-07-21 23:34:38 +0200 <glguy> e.g. https://github.com/glguy/irc-core/blob/v2/hookup/src/Hookup.hs#L347-L352
2021-07-21 23:34:40 +0200 <monochrom> Is there any reason why you reject `type Foo a = [(Int,a)]`?
2021-07-21 23:35:26 +0200 <zangi> monochrom: woah, it exists, I thought I can only do that with `data Foo a`
2021-07-21 23:35:39 +0200 <janus> aah ok that makes sense now. so the ProtocolNumber constructor should really be private, hmmm
2021-07-21 23:35:44 +0200 <dsal> janus: That's how I end up doing it. getAddrInfo -> socket.
2021-07-21 23:36:20 +0200sqrt2(~ben@80-108-18-7.cable.dynamic.surfer.at)
2021-07-21 23:36:28 +0200 <dsal> Looking at this code... I'm suddenly wondering why I'm not using all the results from getAddrInfo
2021-07-21 23:36:46 +0200 <glguy> dsal: you should be, it's not trivial to do so though
2021-07-21 23:37:12 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 252 seconds)
2021-07-21 23:37:14 +0200 <dsal> For this case, it's pretty easy. This program is just trying to see if it's possible to connect to a host. So if it can connect to any address, it succeeds.
2021-07-21 23:37:23 +0200 <glguy> the module I linked to above has a bunch of logic for trying them all, gathering failures, doing that concurrently
2021-07-21 23:37:23 +0200ph88_(~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2021-07-21 23:37:51 +0200 <arkanoid> starter here on his first day with haskell. What's the best website to search for an existing function? For example split a string into list of strings by char or list of chars
2021-07-21 23:37:52 +0200 <janus> is there a library that does happy eyeballs in haskell? seems like the good concurrency support could help with it
2021-07-21 23:38:18 +0200 <glguy> janus: there are one or two approximations; nothing definitive
2021-07-21 23:38:24 +0200 <sm> https://hoogle.haskell.org, arkanoid
2021-07-21 23:38:32 +0200 <arkanoid> thanks
2021-07-21 23:38:35 +0200 <glguy> janus: That module is as close as I got to the process
2021-07-21 23:38:38 +0200 <dsal> arkanoid: You may want to read through the Data.List docs for what you're doing.
2021-07-21 23:39:57 +0200agua(~agua@2804:18:4e:2dda:1:0:4058:6b7c)
2021-07-21 23:39:58 +0200 <Ariakenom> arkanoid: +1 for hoogle. you can search by type!
2021-07-21 23:40:15 +0200ph88(~ph88@2a02:8109:9e00:7e5c:6daa:57bf:6d41:6cd9)
2021-07-21 23:40:28 +0200 <dsal> @hoogle Char -> String -> [String]
2021-07-21 23:40:29 +0200 <lambdabot> Distribution.Simple.Utils unintersperse :: Char -> String -> [String]
2021-07-21 23:40:29 +0200 <lambdabot> Distribution.Utils.Generic unintersperse :: Char -> String -> [String]
2021-07-21 23:40:29 +0200 <lambdabot> Util split :: Char -> String -> [String]
2021-07-21 23:40:39 +0200 <dsal> "unintersperse"
2021-07-21 23:40:39 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 255 seconds)
2021-07-21 23:41:01 +0200 <sm> arkanoid: https://hoogle.haskell.org/?hoogle=%5Ba%5D+-%3E+%5Ba%5D+-%3E+%5B%5Ba%5D%5D&scope=set%3Astackage for example. The general type (a) gives better results than String in this case
2021-07-21 23:41:04 +0200 <dsal> @hoogle unintercalate
2021-07-21 23:41:04 +0200 <lambdabot> No results found
2021-07-21 23:42:00 +0200pesada(~agua@2804:14c:8793:8e2f:6091:e445:c3bf:d39e) (Ping timeout: 255 seconds)
2021-07-21 23:42:01 +0200 <janus> glguy: code looks very generic, cool, thanks
2021-07-21 23:42:19 +0200Ariakenom(~Ariakenom@c83-255-154-140.bredband.tele2.se) (Quit: Leaving)
2021-07-21 23:42:20 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-21 23:42:56 +0200 <glguy> janus: that's the code I needed for connecting my IRC client to an IRC server. It has a permissive license if you want to loot it. If there are missing features you need you can ping me and I'm happy to adapt it within reason.
2021-07-21 23:42:59 +0200fluffyballoon(~fluffybal@pat-verona-l.epic.com) (Quit: Client closed)
2021-07-21 23:43:45 +0200 <janus> one day i'll have to try out your irc client. problem is that irssi does the job... so far :P
2021-07-21 23:43:53 +0200 <glguy> If it did the job I'd just use it!
2021-07-21 23:44:10 +0200 <janus> what can i say, i am a modest man
2021-07-21 23:44:20 +0200 <arkanoid> is there a general rule to expect the order of the arguments of an existing function? In this case is more probable to find "Char -> String -> [String]" or "String -> Char -> [String]"?
2021-07-21 23:46:19 +0200fluffyballoon(~fluffybal@pat-verona-l.epic.com)
2021-07-21 23:46:42 +0200 <arkanoid> well of course it depends if the function I'm looking for is possible polymorphic or not
2021-07-21 23:48:32 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Quit: ZNC 1.8.2 - https://znc.in)
2021-07-21 23:48:40 +0200 <Logio> no general rules, but you can usually make a good guess based if you know what the function does
2021-07-21 23:48:43 +0200 <glguy> arkanoid: the types of the arguments don't have much to do with the ordering
2021-07-21 23:49:16 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-07-21 23:50:11 +0200 <Logio> there are cases where there is some "natural" partial application of a function, which usually promotes some order
2021-07-21 23:51:11 +0200 <Logio> but that's more an intuition you build when building your own functions, less one that helps you find functions
2021-07-21 23:51:12 +0200 <arkanoid> I see that sm suggested a search by key "[a] -> [a] -> [[a]]" so that the first two parameters can be both [Char], but this is just by chance that I need actually a function that requires two lists as input
2021-07-21 23:51:26 +0200ph88(~ph88@2a02:8109:9e00:7e5c:6daa:57bf:6d41:6cd9) (Read error: Connection reset by peer)
2021-07-21 23:51:33 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Read error: Connection reset by peer)
2021-07-21 23:51:49 +0200 <arkanoid> got it, thanks. So I expect to learn the general way parameters are ordered on the way
2021-07-21 23:52:23 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-07-21 23:52:36 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 252 seconds)
2021-07-21 23:53:02 +0200 <sm> arkanoid: usually the "thing to be operated on" is the last argument, so any other parameters come before that
2021-07-21 23:54:05 +0200radw(~radw@user/radw)
2021-07-21 23:54:48 +0200 <arkanoid> I see. So that's exactly the opposite of the world I'm coming from
2021-07-21 23:55:56 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-07-21 23:56:01 +0200 <sm> really ? what's an example from that world ?
2021-07-21 23:56:22 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 245 seconds)
2021-07-21 23:56:32 +0200 <sm> oh, fooobj.doSomething(a,b) ?
2021-07-21 23:57:38 +0200 <arkanoid> yeah, classical procedural/OOB, independently from the call syntax the "main" argument is generally the first one
2021-07-21 23:57:41 +0200ph88(~ph88@2a02:8109:9e00:7e5c:c502:f058:b589:c70c)
2021-07-21 23:58:46 +0200 <monochrom> After you have done quite a bit of "map (logBase 2) [x, y, z]" you will prefer not to have "logBase x 2".
2021-07-21 23:59:09 +0200 <sm> yes so in haskell you might often see fooDoSomething a b foo, because this plays well with partial application which Logio mentioned. Eg map (fooDoSomething a b) listoffoos works nicely.
2021-07-21 23:59:16 +0200 <arkanoid> well, I see that exercism uses stack to hide packages, so I cannot "import Data.List.Stack". I'll have to reinvent the wheel! Good
2021-07-21 23:59:35 +0200dunj3(~dunj3@2001:16b8:30c4:6b00:b2db:db95:c4f5:af2c) (Remote host closed the connection)
2021-07-21 23:59:45 +0200 <arkanoid> thanks for all the hints