2021/07/26

2021-07-26 00:02:56 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-07-26 00:09:16 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-07-26 00:11:53 +0200dhil(~dhil@195.213.192.47) (Ping timeout: 255 seconds)
2021-07-26 00:13:28 +0200tommd(~tommd@75-164-130-101.ptld.qwest.net) (Remote host closed the connection)
2021-07-26 00:13:49 +0200slice(~slice@user/slice)
2021-07-26 00:13:54 +0200tommd(~tommd@75-164-130-101.ptld.qwest.net)
2021-07-26 00:14:13 +0200Null_A(~null_a@2601:645:8700:2290:b1d7:1b8a:64ba:1a81) (Read error: Connection reset by peer)
2021-07-26 00:14:46 +0200burnsidesLlama(~burnsides@client-8-87.eduroam.oxuni.org.uk) (Remote host closed the connection)
2021-07-26 00:15:02 +0200Null_A(~null_a@2601:645:8700:2290:fccc:f134:46b0:cde6)
2021-07-26 00:15:58 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2021-07-26 00:17:36 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-26 00:26:38 +0200Topsi1(~Tobias@dyndsl-095-033-017-171.ewe-ip-backbone.de) (Quit: Leaving.)
2021-07-26 00:27:44 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Reconnecting)
2021-07-26 00:27:56 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-26 00:30:19 +0200Xnuk(~xnuk@vultr.xnu.kr) (Quit: ZNC - https://znc.in)
2021-07-26 00:30:36 +0200Xnuk(~xnuk@45.76.202.58)
2021-07-26 00:31:16 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-07-26 00:31:36 +0200fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-26 00:32:02 +0200dajoer(~david@user/gvx)
2021-07-26 00:32:07 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-26 00:32:46 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2021-07-26 00:34:35 +0200delYsid(~user@84-115-55-45.cable.dynamic.surfer.at)
2021-07-26 00:35:14 +0200 <delYsid> How do I create "a Handle that writes to /dev/null"?
2021-07-26 00:35:37 +0200 <geekosaur> openFile "/dev/null" WriteMode
2021-07-26 00:35:45 +0200 <geekosaur> need to import System.IO
2021-07-26 00:35:52 +0200 <delYsid> oh
2021-07-26 00:36:13 +0200 <delYsid> is this portable? (just curious)?
2021-07-26 00:36:39 +0200 <geekosaur> won't work on windows, no, because windows calls it NUL:
2021-07-26 00:37:01 +0200 <delYsid> well, I guess vty doesnt work on windows either, so... thanks!
2021-07-26 00:42:02 +0200raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 255 seconds)
2021-07-26 00:43:07 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 265 seconds)
2021-07-26 00:46:44 +0200hiruji(~hiruji@user/hiruji) (Read error: Connection reset by peer)
2021-07-26 00:47:07 +0200hiruji(~hiruji@user/hiruji)
2021-07-26 00:47:54 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 240 seconds)
2021-07-26 00:50:02 +0200Null_A(~null_a@2601:645:8700:2290:fccc:f134:46b0:cde6) (Remote host closed the connection)
2021-07-26 00:51:35 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-26 00:52:13 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-26 00:52:47 +0200jeetelongname(~jeet@host-89-241-98-229.as13285.net) (Ping timeout: 265 seconds)
2021-07-26 00:53:26 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 258 seconds)
2021-07-26 00:54:32 +0200 <delYsid> hmm, this doesnt work. System:process says to set std_err to UseHandle devNull where devNull <- openFile "/dev/null" WriteMode? It compiles, but I still see the output to stderr from the subprocess. How is this supposed to be done?
2021-07-26 00:55:00 +0200awth13(~user@user/awth13) (Read error: Connection reset by peer)
2021-07-26 00:55:54 +0200 <geekosaur> @where paste
2021-07-26 00:55:54 +0200 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2021-07-26 00:56:10 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2021-07-26 00:58:29 +0200vicfred_(~vicfred@fixed-187-190-192-58.totalplay.net)
2021-07-26 00:59:11 +0200 <delYsid> ahh, createProcess_ maybe
2021-07-26 01:00:23 +0200 <delYsid> nah, it ignores me.
2021-07-26 01:01:14 +0200vicfred(~vicfred@user/vicfred) (Ping timeout: 252 seconds)
2021-07-26 01:01:58 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 265 seconds)
2021-07-26 01:04:50 +0200lavaman(~lavaman@98.38.249.169)
2021-07-26 01:05:12 +0200Null_A(~null_a@2601:645:8700:2290:fccc:f134:46b0:cde6)
2021-07-26 01:05:48 +0200 <hpc> do you just want to suppress stderr on a subprocess?
2021-07-26 01:05:59 +0200 <koz> Anyone familiar with freer-simple (or its methods in general) - any chance you know how to solve my issue? https://github.com/lexi-lambda/freer-simple/issues/33
2021-07-26 01:06:12 +0200 <hpc> you can let it give you the handle to stderr and just not read from it
2021-07-26 01:06:51 +0200nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2021-07-26 01:07:21 +0200 <geekosaur> well, as long as it doesn't overflow the pipe
2021-07-26 01:07:26 +0200nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-26 01:07:50 +0200 <hpc> ah right
2021-07-26 01:09:06 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-07-26 01:09:42 +0200 <geekosaur> also /dev/null worked for me here
2021-07-26 01:09:55 +0200 <geekosaur> which is why I asked for a paste of what you're doing
2021-07-26 01:10:06 +0200mnrmnaugh(~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net) (Quit: Leaving)
2021-07-26 01:12:19 +0200 <delYsid> geekosaur: https://blind.guru/UCI.hs function start'
2021-07-26 01:14:26 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-26 01:18:33 +0200 <delYsid> I guess I can only just write the draining code, but it looks like this should actually work.
2021-07-26 01:18:48 +0200 <delYsid> s/only/also/
2021-07-26 01:19:21 +0200ph88(~ph88@2a02:8109:9e00:7e5c:8db8:987d:36eb:f1a6)
2021-07-26 01:20:55 +0200 <hpc> ugh, it has a download-y content-disposition
2021-07-26 01:21:23 +0200 <hpc> oh
2021-07-26 01:21:42 +0200 <hpc> in your createProcess_ you aren't putting it into the process properties thingy
2021-07-26 01:21:56 +0200 <hpc> you just have (proc cmd args)
2021-07-26 01:22:07 +0200 <hpc> (
2021-07-26 01:22:09 +0200 <hpc> er
2021-07-26 01:22:44 +0200 <hpc> you want (proc cmd args {std_err = UseHandle devNull})
2021-07-26 01:22:52 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 250 seconds)
2021-07-26 01:23:19 +0200 <hpc> or maybe outside the parens
2021-07-26 01:23:30 +0200 <hpc> there's an example on https://hackage.haskell.org/package/process-1.6.12.0/docs/System-Process.html#v:createProcess for std_out
2021-07-26 01:23:58 +0200 <hpc> ... i just saw the open squiggly brace
2021-07-26 01:24:01 +0200hpcdies of embarassment
2021-07-26 01:24:20 +0200acidjnk(~acidjnk@p200300d0c72b9549b83720658b9c4b74.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-07-26 01:25:09 +0200 <delYsid> I think I do the record update right :-)
2021-07-26 01:25:36 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-07-26 01:25:59 +0200ikex(ash@user/ikex) (Quit: ZNC - https://znc.in)
2021-07-26 01:26:07 +0200 <hpc> yeah, that code looks like it should work
2021-07-26 01:26:12 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2021-07-26 01:26:13 +0200ikex(ash@user/ikex)
2021-07-26 01:26:53 +0200 <delYsid> It compiles, but laughs at me when I run it. So much about "it builds, so ship it!"
2021-07-26 01:29:32 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-26 01:30:11 +0200pesada(~agua@2804:18:4f:4b5e:1:0:5480:48f9)
2021-07-26 01:31:46 +0200fawful(~guy@c-76-104-217-93.hsd1.wa.comcast.net)
2021-07-26 01:31:58 +0200nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds)
2021-07-26 01:32:11 +0200 <delYsid> gah, never mind, I am an idiot.
2021-07-26 01:32:27 +0200 <delYsid> sorry for wasting your time <facepalm>
2021-07-26 01:32:31 +0200 <hpc> what was it?
2021-07-26 01:32:48 +0200 <hpc> testing the wrong code?
2021-07-26 01:32:50 +0200agua(~agua@191.177.175.57) (Ping timeout: 256 seconds)
2021-07-26 01:32:54 +0200vicfred_(~vicfred@fixed-187-190-192-58.totalplay.net) (Ping timeout: 265 seconds)
2021-07-26 01:33:17 +0200 <delYsid> I was remembering the external processes behaviour wrongly. It writes its banner to stdout actually...
2021-07-26 01:33:25 +0200 <hpc> hah
2021-07-26 01:33:49 +0200 <hpc> i hate when that sort of thing happens
2021-07-26 01:36:58 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-07-26 01:37:32 +0200 <delYsid> Today lesson: Trust your compiler!
2021-07-26 01:37:40 +0200 <eltonpinto> yee
2021-07-26 01:37:52 +0200Null_A(~null_a@2601:645:8700:2290:fccc:f134:46b0:cde6) (Remote host closed the connection)
2021-07-26 01:40:02 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-07-26 01:40:59 +0200ph88(~ph88@2a02:8109:9e00:7e5c:8db8:987d:36eb:f1a6) (Ping timeout: 255 seconds)
2021-07-26 01:42:18 +0200nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-26 01:42:36 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection)
2021-07-26 01:43:16 +0200betelgeuse(~john2gb@94-225-47-8.access.telenet.be)
2021-07-26 01:43:23 +0200 <delYsid> silence = const $ pure ()
2021-07-26 01:43:34 +0200 <delYsid> gnight :-)
2021-07-26 01:44:18 +0200Null_A(~null_a@2601:645:8700:2290:fccc:f134:46b0:cde6)
2021-07-26 01:45:23 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-26 01:46:53 +0200nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
2021-07-26 01:46:59 +0200jushur(~human@user/jushur) (Quit: ¯\_(ツ)_/¯)
2021-07-26 01:48:47 +0200hexfive(~eric@50.35.83.177) (Quit: WeeChat 3.0)
2021-07-26 01:49:22 +0200vsiddharth(~user@23.252.50.92)
2021-07-26 01:51:12 +0200 <vsiddharth> Hi everyone! I'm trying to use Alternative with Maybe, but in the instance that both values are Just, then I apply a function. Right now I have `liftA2 f a b <|> a <|> b`. Is there a more obvious way of doing this?
2021-07-26 01:52:41 +0200hiruji(~hiruji@user/hiruji) (Ping timeout: 255 seconds)
2021-07-26 01:55:21 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-26 01:55:22 +0200 <hpc> (f <$> a <*> b) <|> a <|> b, if you just want syntactic regularity
2021-07-26 01:55:44 +0200 <hpc> but that seems perfectly fine to me, i would stop golfing it there if i was writing it
2021-07-26 01:55:46 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2021-07-26 01:55:57 +0200 <vsiddharth> Thanks hpc!
2021-07-26 01:56:21 +0200nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-26 01:58:09 +0200 <monochrom> Perhaps you also like: https://hackage.haskell.org/package/these
2021-07-26 01:58:22 +0200hiruji(~hiruji@user/hiruji)
2021-07-26 01:58:44 +0200hololeap(~hololeap@user/hololeap) (Quit: Bye)
2021-07-26 01:58:51 +0200 <arkanoid> out of curiosity, what's the haskell feature that required most phd brain power? "deriving" seems magic to me
2021-07-26 01:59:40 +0200 <monochrom> The Haskell 2010 Report details what deriving does. It's highly mechanical and boring.
2021-07-26 01:59:48 +0200 <arkanoid> oh :(
2021-07-26 01:59:58 +0200 <arkanoid> well, wrong guess
2021-07-26 02:00:46 +0200jmorris(uid433911@id-433911.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-26 02:00:48 +0200 <monochrom> And many conditions apply, so it doesn't have to solve any interesting problem.
2021-07-26 02:01:36 +0200 <janus> arkanoid: what about TypeFamilies or RankNTypes?
2021-07-26 02:03:40 +0200 <DigitalKiwi> surely the answer is monads
2021-07-26 02:04:04 +0200 <janus> there are a lot of monad papers for sure https://wiki.haskell.org/Research_papers/Monads_and_arrows
2021-07-26 02:04:07 +0200 <arkanoid> RankNTypes smells like heavy lifting, but unsure
2021-07-26 02:04:30 +0200cjb(~cjb@user/cjb)
2021-07-26 02:06:15 +0200hiruji(~hiruji@user/hiruji) (Ping timeout: 276 seconds)
2021-07-26 02:08:33 +0200 <dsal> arkanoid: You might enjoy Thinking With Types
2021-07-26 02:08:42 +0200hiruji(~hiruji@user/hiruji)
2021-07-26 02:09:00 +0200 <arkanoid> I'm reading this now: http://dev.stephendiehl.com/hask/tutorial.pdf
2021-07-26 02:09:38 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 265 seconds)
2021-07-26 02:09:57 +0200 <arkanoid> I've left "Category theory for programmers" in standby as I needed to teach myself at least some haskell first
2021-07-26 02:10:12 +0200 <janus> it's probably an unfair question because a phd candidate would maybe have had an easier time getting stuff merged in 1994.. while many newer theses will have a prototype that doesn't get merged?
2021-07-26 02:10:17 +0200 <dsal> Heh. The title of that vs. the size seems like quite a contradiction.
2021-07-26 02:12:08 +0200finsternis(~X@23.226.237.192) (Remote host closed the connection)
2021-07-26 02:12:23 +0200 <janus> is there a list of Thesises on haskell anywhere? can't find it on the wiki. but there is one: "Execution profiling for non-strict functional languages" by P Sansom, University of Glasgow, 1994
2021-07-26 02:12:26 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-07-26 02:13:22 +0200 <arkanoid> I've found the introductory paper about Monads for functional programming by Prof. Moggi
2021-07-26 02:13:34 +0200 <janus> it introduces "cost centres" so sounds like it is the system that is in use now
2021-07-26 02:14:00 +0200 <janus> arkanoid: but was he a phd student when he did it? ;)
2021-07-26 02:15:05 +0200 <janus> Eisenberg also wrote a thesis on Dependent Haskell, but given that it isn't available yet, i guess it doesn't count? :P
2021-07-26 02:15:30 +0200hiruji(~hiruji@user/hiruji) (Ping timeout: 240 seconds)
2021-07-26 02:15:46 +0200 <janus> the Clash HDL language was documented in a master's thesis, so also disqualified
2021-07-26 02:16:15 +0200 <dsal> "What I Wish I Knew When Learning Haskell" includes a section on polysemy, proxies, liquid haskell, … It should just be named "Everything I've figured out so far."
2021-07-26 02:17:19 +0200 <janus> gotta have them clicks ;)
2021-07-26 02:17:33 +0200 <dsal> Fused Effects, but no lens?
2021-07-26 02:17:53 +0200hiruji(~hiruji@user/hiruji)
2021-07-26 02:17:56 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-26 02:18:06 +0200 <janus> arkanoid: if you search for "thesis" here you'll find a couple: https://wiki.haskell.org/Research_papers/Domain_specific_languages
2021-07-26 02:19:01 +0200 <arkanoid> janus: Prof Moggis got his phd in 1988, the paper is from 1991. Can't say anything about his phd as the italian academic system introduced obrigatory publishing of phd only in 2010
2021-07-26 02:19:56 +0200 <janus> oh well, i'll stop searching. but it is nice to know that Clash was developed in a master's thesis. gotta try it one day, i really liked Bluespec...
2021-07-26 02:20:14 +0200 <dsal> there's that talk about the type safe regex stuff that was really cool and went through some of the process.
2021-07-26 02:20:35 +0200 <arkanoid> what's Clash?
2021-07-26 02:20:47 +0200 <janus> it's a DSL for describing hardware, but embedded in haskell
2021-07-26 02:21:07 +0200 <janus> so kinda like VHDL or Verilog, but with better typing
2021-07-26 02:21:50 +0200 <arkanoid> whoa1
2021-07-26 02:22:11 +0200 <janus> pretty cool, yeah
2021-07-26 02:22:32 +0200 <arkanoid> https://github.com/gergoerdi/clash-spaceinvaders :D
2021-07-26 02:23:10 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 265 seconds)
2021-07-26 02:24:56 +0200delYsid(~user@84-115-55-45.cable.dynamic.surfer.at) (ERC (IRC client for Emacs 27.1.50))
2021-07-26 02:25:34 +0200Kaipi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-07-26 02:25:35 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
2021-07-26 02:26:34 +0200doyougnu(~user@c-73-25-202-122.hsd1.or.comcast.net) (Remote host closed the connection)
2021-07-26 02:27:23 +0200 <arkanoid> dsal: thanks for the title, smells like domain driven design?
2021-07-26 02:27:24 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-26 02:28:06 +0200 <janus> arkanoid: maybe you know the blog series "24 days of haskell extensions" by ollie charles. but i stumbled over this commentary by Lennart Augustsson which provides some commentary : http://augustss.blogspot.com/
2021-07-26 02:29:16 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-26 02:29:16 +0200 <janus> you can see how Augustsson explains that RankNTypes is an old idea with a bit of history
2021-07-26 02:29:45 +0200slice(~slice@user/slice) (Quit: zzz)
2021-07-26 02:30:32 +0200soft-warm(~soft-warm@2600:8801:db01:8f0:cb97:ae6d:d0f6:751e)
2021-07-26 02:31:15 +0200 <arkanoid> thanks. Yeah I've found this blog before but it didn't catch my attention more than other resources, but it was before understanding at least the very basics of haskell
2021-07-26 02:35:02 +0200euouae(~euouae@user/euouae)
2021-07-26 02:35:21 +0200 <euouae> Hello I am trying to install Haskell on this macOS
2021-07-26 02:35:35 +0200 <euouae> I thought there was a Haskell platform I could install, but apparently not, was it discontinued?
2021-07-26 02:36:32 +0200 <geekosaur> it was
2021-07-26 02:37:01 +0200 <arkanoid> euouae: I'm a new haskell user and I've started by using stack https://docs.haskellstack.org/en/stable/README/
2021-07-26 02:37:07 +0200 <euouae> Great, thank you
2021-07-26 02:37:08 +0200 <geekosaur> generally the best way to start is to use ghcup to install ghc, then install stuff as needed in cabal or stack projects
2021-07-26 02:37:30 +0200 <euouae> arkanoid: nice! What's your goal?
2021-07-26 02:37:43 +0200 <euouae> arkanoid: I learned Haskell out of curiosity but I'm finding it very useful lately
2021-07-26 02:38:03 +0200 <euouae> "learned" means I learned some basics :P
2021-07-26 02:38:28 +0200 <arkanoid> I want to improve my generally programming abilities by understanding how haskell tackles complexity. I'm an imperative programmer on my daily job
2021-07-26 02:40:30 +0200 <euouae> Can you make ghcup use the XDG spec?
2021-07-26 02:41:41 +0200 <euouae> arkanoid: nice, so you're not going for a specific library or tool then?
2021-07-26 02:42:34 +0200 <euouae> never mind I read the script, there's GHCUP_USE_XDG_DIRS
2021-07-26 02:43:33 +0200 <Axman6> euouae: https://www.haskell.org/downloads/ is probably the most up to date documentation. IMO I would start with installing ghcup
2021-07-26 02:43:47 +0200 <arkanoid> not yet. I mean. Quickcheck is interesting
2021-07-26 02:43:57 +0200Deide(~Deide@user/deide) (Ping timeout: 265 seconds)
2021-07-26 02:44:24 +0200 <euouae> Axman6, thank you
2021-07-26 02:45:14 +0200 <Axman6> stack is also not a bad iption for someone getting started, it removes a bit of the need to know about how to use cabal
2021-07-26 02:45:51 +0200 <Axman6> option*
2021-07-26 02:46:01 +0200 <Axman6> an installing ghcup can also install stack
2021-07-26 02:46:31 +0200 <janus> arkanoid: you should check out hedgehog too, it is not based so much on the lawless typeclass
2021-07-26 02:50:04 +0200 <arkanoid> may I ask you what do you mean by lawless typeclass?
2021-07-26 02:50:05 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-07-26 02:50:14 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-26 02:50:21 +0200nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2021-07-26 02:50:35 +0200 <Axman6> arkanoid: IMO, Haskell is excellent for handling complexity - abstractions can be simple and powerful, and refactoring in
2021-07-26 02:51:15 +0200 <Axman6> haskell is a joy most of the time - refactor fealessly (as long as you follow a few simple rules that prevent introduced errors showin gup, like using wildcard patterns in case statements etc.)
2021-07-26 02:51:55 +0200 <janus> arkanoid: here is an example of some typeclass laws: https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Functor.html#t:Functor
2021-07-26 02:52:12 +0200 <Axman6> Refactoring large code bases is enerally done by: make the change you know you need to make, then follw the errors until it compiles again, and this is much more likely to result in working code than most other languages
2021-07-26 02:52:45 +0200 <janus> arkanoid: sometimes it is hard to choose a canonical instance, i think this is why there is no Monoid Integer for example, they would have to choose either multiplication or addition
2021-07-26 02:53:36 +0200 <janus> arkanoid: but regarding testing, it is pretty common to want a specific distribution. so that is one argument against Arbitrary from QuickCheck, you'd have to choose a canonical distribution
2021-07-26 02:54:40 +0200 <janus> arkanoid: another argument could be that it would make you put the Arbitrary instances in the module with the code you want to test, to avoid orphan instances. but a lot of people prefer having the testing code in a separate directory tree
2021-07-26 02:55:34 +0200 <janus> i dunno if these are the universally recognized reasons, and of course there are many different opinions on this, and probably QuickCheck works great for a lot of people. i just thought you'd be interested in checking out hedgehog too
2021-07-26 02:56:55 +0200chomwitt(~chomwitt@ppp-94-67-193-120.home.otenet.gr) (Remote host closed the connection)
2021-07-26 02:57:08 +0200 <janus> dunno if my answer was too indirect, i can try again...
2021-07-26 02:58:27 +0200 <arkanoid> I have to admit that I hardly grasped the meaning, but I've saved it for the future
2021-07-26 02:58:42 +0200 <janus> arkanoid: do you know what orphan instances are?
2021-07-26 02:59:45 +0200 <arkanoid> reading just now
2021-07-26 03:00:24 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-07-26 03:01:28 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
2021-07-26 03:02:15 +0200 <Axman6> It can take a while before you run into the issues with quickcheck, I think https://www.youtube.com/watch?v=boBD1qhCQ94 might cover some of them, though
2021-07-26 03:02:40 +0200 <Axman6> I think there's also another good lambdajam talk about tge benefits of hedgehog, and usually quickcheck is introduced first
2021-07-26 03:03:08 +0200 <Axman6> actually, https://www.youtube.com/watch?v=AIv_9T0xKEo might be a better place to to start
2021-07-26 03:04:50 +0200 <arkanoid> thanks! A lot of material to grok in a single day, and actually I've exausted my batteries and need some sleep now
2021-07-26 03:05:03 +0200 <dsal> I've still never tried hedgehog. You can get pretty far with qc
2021-07-26 03:05:11 +0200 <arkanoid> I'd like to thank you for the help and for the hints
2021-07-26 03:05:16 +0200 <janus> good night
2021-07-26 03:06:20 +0200lavaman(~lavaman@98.38.249.169)
2021-07-26 03:10:52 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2021-07-26 03:11:05 +0200 <janus> wow, that last Axman6 talk has graphs of the generator combinators. that should totally be in the docs like with reanimate, so useful
2021-07-26 03:11:37 +0200 <Axman6> PR's welcome :P
2021-07-26 03:11:54 +0200xff0x(~xff0x@2001:1a81:523c:b300:f2c1:fc0d:e213:d303)
2021-07-26 03:13:35 +0200Atum_(~IRC@user/atum/x-2392232) (Quit: Atum_)
2021-07-26 03:14:04 +0200 <janus> i'll take a stab at it. those diagrams are too simple to be copyrightable
2021-07-26 03:14:33 +0200nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-26 03:15:36 +0200xff0x_(~xff0x@port-92-195-69-103.dynamic.as20676.net) (Ping timeout: 268 seconds)
2021-07-26 03:15:46 +0200khumba(~khumba@user/khumba)
2021-07-26 03:19:50 +0200nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
2021-07-26 03:20:51 +0200__xor(~xor@74.215.232.67)
2021-07-26 03:22:14 +0200_xor(~xor@74.215.232.67) (Ping timeout: 255 seconds)
2021-07-26 03:23:37 +0200cjb(~cjb@user/cjb) (Ping timeout: 256 seconds)
2021-07-26 03:26:23 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-07-26 03:27:22 +0200cjb(~cjb@user/cjb)
2021-07-26 03:29:20 +0200nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-26 03:29:26 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-26 03:34:12 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-26 03:34:12 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-07-26 03:34:19 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-26 03:35:20 +0200 <euouae> How can I get all 01 sequences of length n in Haskell?
2021-07-26 03:36:00 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-26 03:36:15 +0200 <Axman6> > replicateM 10 "01"
2021-07-26 03:36:17 +0200 <lambdabot> ["0000000000","0000000001","0000000010","0000000011","0000000100","000000010...
2021-07-26 03:36:20 +0200 <Axman6> =)
2021-07-26 03:36:38 +0200 <euouae> Nice wow
2021-07-26 03:36:44 +0200 <euouae> Came a long way from https://mail.haskell.org/pipermail/haskell-cafe/2010-October/084952.html which I just found
2021-07-26 03:36:57 +0200 <Axman6> understanding how that works is pretty fun
2021-07-26 03:37:11 +0200 <Axman6> > replicateM 10 [0,1]
2021-07-26 03:37:13 +0200 <euouae> I think it's sort of coming back to me. You're using ++ as a monad
2021-07-26 03:37:13 +0200 <lambdabot> [[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,0,1,0],[0,0,0,0,...
2021-07-26 03:37:22 +0200 <euouae> I mean, List as a monad, with ++
2021-07-26 03:37:48 +0200 <Axman6> well, list _is_ a monad
2021-07-26 03:38:03 +0200bitmapper(uid464869@id-464869.tooting.irccloud.com)
2021-07-26 03:39:16 +0200 <Axman6> but the summary is that replicateM n m is equivalent to do { a <- m; b <- m; ... x <-; m return [a,b,...x] }
2021-07-26 03:41:12 +0200 <euouae> Right, I can't remember why a <- m goes over all elements of a list
2021-07-26 03:41:56 +0200 <janus> if it only requires applicative, why isn't there a synonym called replicateA?
2021-07-26 03:42:29 +0200 <Axman6> concatMap (\a -> ...) m
2021-07-26 03:43:46 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 240 seconds)
2021-07-26 03:44:05 +0200 <Axman6> @src concatMap
2021-07-26 03:44:05 +0200 <lambdabot> concatMap f = foldr ((++) . f) []
2021-07-26 03:44:10 +0200 <Axman6> clear as mud
2021-07-26 03:45:08 +0200 <euouae> What do you do with camelCase if the first word is a name?
2021-07-26 03:45:12 +0200 <euouae> I guess it is what it is?
2021-07-26 03:46:21 +0200 <Axman6> yes
2021-07-26 03:46:29 +0200 <Axman6> lower case only for variable names
2021-07-26 03:48:53 +0200 <janus> hmm interesting how there is sequence/sequenceA but only one replicateM. i wonder if it is because of performance reasons?
2021-07-26 03:54:50 +0200Guest57(~Guest57@50.47.115.102) (Quit: Client closed)
2021-07-26 03:55:45 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-07-26 03:56:17 +0200nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2021-07-26 03:58:04 +0200agua(~agua@2804:14c:8793:8e2f:39e9:c5a8:c532:7498)
2021-07-26 03:58:41 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 255 seconds)
2021-07-26 04:01:05 +0200pesada(~agua@2804:18:4f:4b5e:1:0:5480:48f9) (Ping timeout: 252 seconds)
2021-07-26 04:03:21 +0200 <euouae> How would you write a function that does the following : [Bool] -> [Int] and f [True, False, True] = +1/2 - 1/2^2 + 1/2^3 ?
2021-07-26 04:04:01 +0200 <euouae> The type should be [Bool] -> Int. I'm trying to write one using a map and zip with [1..] to keep track of the position in the list. I think there might be a better way, not sure
2021-07-26 04:05:06 +0200td_(~td@muedsl-82-207-238-027.citykom.de) (Ping timeout: 240 seconds)
2021-07-26 04:07:01 +0200td_(~td@muedsl-82-207-238-113.citykom.de)
2021-07-26 04:08:10 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 258 seconds)
2021-07-26 04:12:49 +0200 <dsal> euouae: Your definition demonstrates boolean blindness.
2021-07-26 04:13:09 +0200 <euouae> I have this code, including the error: https://paste.tomsmeding.com/W9kwWzbT I don't understand it
2021-07-26 04:13:17 +0200 <euouae> deal: What do you mean?
2021-07-26 04:13:34 +0200 <dsal> What does true mean here?
2021-07-26 04:13:53 +0200 <euouae> It's a way to encode the +-
2021-07-26 04:14:32 +0200 <dsal> Why not just just + and -?
2021-07-26 04:14:33 +0200 <euouae> Are you saying that I should've written it so that +1, -1 are directly in the combinations instead of True/False?
2021-07-26 04:14:43 +0200 <janus> no need for map: f inputsbools = sum [x | (y, positive) <- zip [1..] inputbools; let x = (if positive then 1 else (-1)) * (1/2^y)]
2021-07-26 04:14:53 +0200 <dsal> Or succ/pred
2021-07-26 04:15:00 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-26 04:15:12 +0200 <euouae> succ/pred doesn't sound right, I plan to use it multiplicatively
2021-07-26 04:16:09 +0200 <euouae> I'll change it to +-1
2021-07-26 04:17:25 +0200 <euouae> I think I found my issue, I can't multiply Int with Ratio
2021-07-26 04:17:55 +0200nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-26 04:18:14 +0200 <dsal> > cycle [1, -1]
2021-07-26 04:18:16 +0200 <lambdabot> [1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,...
2021-07-26 04:19:16 +0200 <janus> i don't understand why cycle is useful since i thought it only cycles between - and + because of that specific example, but not in general
2021-07-26 04:19:17 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 258 seconds)
2021-07-26 04:20:03 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
2021-07-26 04:20:08 +0200 <Axman6> > zipWith (*) (cycle [1,-1]) (iterate (/2) 1)
2021-07-26 04:20:10 +0200 <lambdabot> [1.0,-0.5,0.25,-0.125,6.25e-2,-3.125e-2,1.5625e-2,-7.8125e-3,3.90625e-3,-1.9...
2021-07-26 04:20:28 +0200 <Axman6> > scanl (+) 0 $ zipWith (*) (cycle [1,-1]) (iterate (*0.5) 1)
2021-07-26 04:20:29 +0200 <lambdabot> [0.0,1.0,0.5,0.75,0.625,0.6875,0.65625,0.671875,0.6640625,0.66796875,0.66601...
2021-07-26 04:21:13 +0200 <euouae> That doesn't seem right
2021-07-26 04:21:22 +0200 <euouae> I want 0, 1, 0.5, 0.75, 0.25, ...
2021-07-26 04:21:27 +0200derelict(~derelict@user/derelict) (Ping timeout: 276 seconds)
2021-07-26 04:21:41 +0200 <euouae> I'm using the replicateM solution above
2021-07-26 04:22:14 +0200 <janus> the second exampe does give that sequence...
2021-07-26 04:22:43 +0200 <Axman6> > zipWith (*) (cycle [1,-1]) (iterate (/2) 1)
2021-07-26 04:22:44 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-07-26 04:22:45 +0200 <lambdabot> [1.0,-0.5,0.25,-0.125,6.25e-2,-3.125e-2,1.5625e-2,-7.8125e-3,3.90625e-3,-1.9...
2021-07-26 04:23:01 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-07-26 04:23:02 +0200nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2021-07-26 04:23:04 +0200 <janus> oh, no, the fourth is 0.75 and not 0.25
2021-07-26 04:23:29 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-07-26 04:23:44 +0200 <euouae> binaryToCenter ratio xs = map (\j b -> ratio^j) (zip [1..] xs) -- even this fails
2021-07-26 04:24:36 +0200 <janus> euouae: do you know about fromRational?
2021-07-26 04:24:53 +0200 <janus> or maybe toRational is better here..
2021-07-26 04:25:01 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-07-26 04:25:17 +0200 <euouae> Where is the conflict? I can't tell
2021-07-26 04:25:43 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-07-26 04:25:59 +0200 <euouae> `(3 % 4) ^ (3 :: Int) -- seems to work fine`
2021-07-26 04:26:12 +0200 <pavonia> euouae: What is the math behind your series?
2021-07-26 04:26:31 +0200 <euouae> pavonia: centers of cantor set n-th level construction
2021-07-26 04:27:39 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-07-26 04:27:59 +0200 <janus> % (3 % 4) ^ (3::Int)
2021-07-26 04:28:00 +0200 <yahb> janus: 27 % 64
2021-07-26 04:30:08 +0200 <euouae> Oh I also have an issue with how I unpack the arguments with the lambda, it's a tuple ...
2021-07-26 04:30:21 +0200 <justsomeguy> /c/c
2021-07-26 04:30:56 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2021-07-26 04:30:56 +0200FinnElijaGuest7424
2021-07-26 04:30:56 +0200Guest7424(~finn_elij@user/finn-elija/x-0085643) (Killed (iridium.libera.chat (Nickname regained by services)))
2021-07-26 04:30:56 +0200finn_elijaFinnElija
2021-07-26 04:33:36 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-07-26 04:34:17 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-07-26 04:34:17 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-07-26 04:34:44 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-26 04:34:47 +0200MQ-17J(~MQ-17J@8.6.144.192)
2021-07-26 04:35:33 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-07-26 04:35:44 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Ping timeout: 272 seconds)
2021-07-26 04:36:08 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-07-26 04:36:26 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-07-26 04:36:27 +0200 <Axman6> > scanl (+) 0 $ zipWith (*) (cycle [1,-1]) (iterate (*0.5) 0.5)
2021-07-26 04:36:28 +0200 <lambdabot> [0.0,0.5,0.25,0.375,0.3125,0.34375,0.328125,0.3359375,0.33203125,0.333984375...
2021-07-26 04:37:33 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-07-26 04:38:04 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-07-26 04:38:44 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-07-26 04:39:11 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-26 04:39:48 +0200 <Axman6> euouae: in case it wasn't clear, scanl (+) gives the running sum of the first n elements
2021-07-26 04:40:00 +0200 <Axman6> > scanl (+) 0 [1..10]
2021-07-26 04:40:02 +0200 <lambdabot> [0,1,3,6,10,15,21,28,36,45,55]
2021-07-26 04:40:09 +0200 <Axman6> > scanl (+) 0 [1..10] :: [Expr]
2021-07-26 04:40:11 +0200 <lambdabot> [0,0 + 1,0 + 1 + 2,0 + 1 + 2 + 3,0 + 1 + 2 + 3 + 4,0 + 1 + 2 + 3 + 4 + 5,0 +...
2021-07-26 04:41:38 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-07-26 04:41:50 +0200alx741(~alx741@186.178.108.3) (Quit: alx741)
2021-07-26 04:42:15 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-07-26 04:43:22 +0200 <janus> Expr is really cool
2021-07-26 04:43:45 +0200Erutuon(~Erutuon@user/erutuon)
2021-07-26 04:52:18 +0200Erutuon(~Erutuon@user/erutuon) (Quit: WeeChat 2.8)
2021-07-26 04:52:40 +0200Erutuon(~Erutuon@user/erutuon)
2021-07-26 04:54:34 +0200deuslambda[m](~deuslambd@2001:470:69fc:105::c749)
2021-07-26 04:55:10 +0200wei2912(~wei2912@112.199.250.21)
2021-07-26 04:55:24 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-07-26 04:55:40 +0200 <euouae> Axman6: nice
2021-07-26 04:55:41 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-26 04:55:52 +0200euouae(~euouae@user/euouae) (Quit: Client closed)
2021-07-26 04:56:38 +0200chris_(~chris@81.96.113.213)
2021-07-26 04:58:00 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-26 05:02:40 +0200td_(~td@muedsl-82-207-238-113.citykom.de) (Ping timeout: 265 seconds)
2021-07-26 05:04:03 +0200td_(~td@94.134.91.47)
2021-07-26 05:06:32 +0200dunkeln(~dunkeln@94.129.69.87)
2021-07-26 05:06:49 +0200MQ-17J(~MQ-17J@8.6.144.192) (Ping timeout: 258 seconds)
2021-07-26 05:07:59 +0200azeem(~azeem@dynamic-adsl-84-220-213-65.clienti.tiscali.it) (Ping timeout: 265 seconds)
2021-07-26 05:11:25 +0200dunkeln(~dunkeln@94.129.69.87) (Ping timeout: 258 seconds)
2021-07-26 05:14:25 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-26 05:16:31 +0200dunkeln(~dunkeln@94.129.69.87)
2021-07-26 05:19:15 +0200chris_(~chris@81.96.113.213)
2021-07-26 05:20:15 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2021-07-26 05:20:15 +0200chris_(~chris@81.96.113.213) (Read error: Connection reset by peer)
2021-07-26 05:20:25 +0200azeem(~azeem@176.200.234.7)
2021-07-26 05:20:27 +0200chris_(~chris@81.96.113.213)
2021-07-26 05:21:55 +0200azeem(~azeem@176.200.234.7) (Read error: Connection reset by peer)
2021-07-26 05:26:09 +0200azeem(~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it)
2021-07-26 05:29:59 +0200pottsy(~pottsy@2400:4050:b560:3700:81f2:32a:4b6a:ba03)
2021-07-26 05:30:36 +0200lavaman(~lavaman@98.38.249.169)
2021-07-26 05:31:58 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Ping timeout: 256 seconds)
2021-07-26 05:32:07 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
2021-07-26 05:32:21 +0200fef(~thedawn@user/thedawn)
2021-07-26 05:34:59 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 255 seconds)
2021-07-26 05:37:04 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 256 seconds)
2021-07-26 05:38:04 +0200fjmorazan(~quassel@user/fjmorazan) (Quit: fjmorazan)
2021-07-26 05:38:37 +0200fjmorazan(~quassel@user/fjmorazan)
2021-07-26 05:44:18 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2021-07-26 05:52:07 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-26 06:02:46 +0200nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-26 06:05:33 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-07-26 06:09:24 +0200jay-invariant(~jay@c-24-4-6-169.hsd1.ca.comcast.net)
2021-07-26 06:09:48 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-07-26 06:12:24 +0200pfurla(~pfurla@231.15.195.173.client.static.strong-in52.as13926.net)
2021-07-26 06:12:34 +0200oxide(~lambda@user/oxide) (Ping timeout: 240 seconds)
2021-07-26 06:15:29 +0200pfurla_(~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 255 seconds)
2021-07-26 06:16:37 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 265 seconds)
2021-07-26 06:18:02 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-07-26 06:18:36 +0200pfurla_(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-07-26 06:19:02 +0200pfurla(~pfurla@231.15.195.173.client.static.strong-in52.as13926.net) (Ping timeout: 265 seconds)
2021-07-26 06:20:46 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2021-07-26 06:23:12 +0200oxide(~lambda@user/oxide)
2021-07-26 06:24:40 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-26 06:24:57 +0200jmorris(uid433911@id-433911.stonehaven.irccloud.com)
2021-07-26 06:29:22 +0200oxide(~lambda@user/oxide) (Ping timeout: 240 seconds)
2021-07-26 06:38:43 +0200soft-warm(~soft-warm@2600:8801:db01:8f0:cb97:ae6d:d0f6:751e) (Ping timeout: 246 seconds)
2021-07-26 06:38:58 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Ping timeout: 240 seconds)
2021-07-26 06:40:37 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-26 06:40:52 +0200khumba(~khumba@user/khumba) ()
2021-07-26 06:48:31 +0200nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2021-07-26 06:48:31 +0200peterhil(~peterhil@mobile-access-5d6af6-209.dhcp.inet.fi)
2021-07-26 06:52:08 +0200ubert(~Thunderbi@77.119.200.110.wireless.dyn.drei.com)
2021-07-26 06:55:30 +0200dunkeln(~dunkeln@94.129.69.87) (Ping timeout: 276 seconds)
2021-07-26 06:58:49 +0200Jonno_FTW(~come@api.carswap.me) (Quit: Reconnecting)
2021-07-26 06:58:56 +0200Jonno_FTW(~come@api.carswap.me)
2021-07-26 07:00:30 +0200Jonno_FTW(~come@api.carswap.me) (Changing host)
2021-07-26 07:00:30 +0200Jonno_FTW(~come@user/jonno-ftw/x-0835346)
2021-07-26 07:02:40 +0200Null_A(~null_a@2601:645:8700:2290:fccc:f134:46b0:cde6) (Remote host closed the connection)
2021-07-26 07:05:13 +0200Null_A(~null_a@2601:645:8700:2290:fccc:f134:46b0:cde6)
2021-07-26 07:05:26 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 265 seconds)
2021-07-26 07:07:27 +0200dunkeln(~dunkeln@94.129.69.87)
2021-07-26 07:10:25 +0200Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) (*.net *.split)
2021-07-26 07:10:25 +0200yaroot(~yaroot@6.3.30.125.dy.iij4u.or.jp) (*.net *.split)
2021-07-26 07:10:25 +0200mcglk(~mcglk@131.191.49.120) (*.net *.split)
2021-07-26 07:10:25 +0200tdammers(~tdammers@77.109.72.213.res.static.edpnet.net) (*.net *.split)
2021-07-26 07:10:25 +0200Ekho(~Ekho@user/ekho) (*.net *.split)
2021-07-26 07:10:25 +0200barrucadu(~barrucadu@carcosa.barrucadu.co.uk) (*.net *.split)
2021-07-26 07:10:25 +0200shane(~shane@ana.rch.ist) (*.net *.split)
2021-07-26 07:10:25 +0200Trattue(~Trattue@152.70.182.158) (*.net *.split)
2021-07-26 07:10:25 +0200bcoppens(~bartcopp@vpn2.bartcoppens.be) (*.net *.split)
2021-07-26 07:10:25 +0200cjay(cjay@nerdbox.nerd2nerd.org) (*.net *.split)
2021-07-26 07:10:25 +0200tomsmeding(~tomsmedin@tomsmeding.com) (*.net *.split)
2021-07-26 07:10:25 +0200tam(~alpha@163.172.215.78) (*.net *.split)
2021-07-26 07:10:25 +0200mht(~mht@mht.wtf) (*.net *.split)
2021-07-26 07:10:25 +0200pie_(~pie_bnc@user/pie/x-2818909) (*.net *.split)
2021-07-26 07:10:25 +0200tristanC(~tristanC@user/tristanc) (*.net *.split)
2021-07-26 07:10:25 +0200c_wraith(~c_wraith@adjoint.us) (*.net *.split)
2021-07-26 07:10:25 +0200sudden(~cat@user/sudden) (*.net *.split)
2021-07-26 07:10:25 +0200adium(adium@user/adium) (*.net *.split)
2021-07-26 07:10:25 +0200kosmikus(~kosmikus@nullzig.kosmikus.org) (*.net *.split)
2021-07-26 07:10:25 +0200SquidDev(~SquidDev@autoclave.squiddev.cc) (*.net *.split)
2021-07-26 07:10:28 +0200shane_(~shane@ana.rch.ist)
2021-07-26 07:10:32 +0200bcoppens_(~bartcopp@vpn2.bartcoppens.be)
2021-07-26 07:10:32 +0200kosmikus(~kosmikus@nullzig.kosmikus.org)
2021-07-26 07:10:32 +0200yaroot(~yaroot@6.3.30.125.dy.iij4u.or.jp)
2021-07-26 07:10:33 +0200sudden(~cat@h-98-128-128-173.A351.priv.bahnhof.se)
2021-07-26 07:10:33 +0200tristanC(~tristanC@163.172.94.116)
2021-07-26 07:10:35 +0200Trattue(~Trattue@152.70.182.158)
2021-07-26 07:10:37 +0200tam(~alpha@163.172.215.78)
2021-07-26 07:10:40 +0200barrucadu(~barrucadu@carcosa.barrucadu.co.uk)
2021-07-26 07:10:40 +0200pie_(~pie_bnc@user/pie/x-2818909)
2021-07-26 07:10:40 +0200tdammers(~tdammers@77.109.72.213.res.static.edpnet.net)
2021-07-26 07:10:43 +0200tristanC(~tristanC@163.172.94.116) (Changing host)
2021-07-26 07:10:43 +0200tristanC(~tristanC@user/tristanc)
2021-07-26 07:10:45 +0200mht-wtf(~mht@mht.wtf)
2021-07-26 07:10:49 +0200SquidDev(~SquidDev@autoclave.squiddev.cc)
2021-07-26 07:11:02 +0200Raito_Bezarius(~Raito@2a01:e0a:5f9:9681:e175:8cb0:bd97:93f7)
2021-07-26 07:11:12 +0200Raito_Bezarius(~Raito@2a01:e0a:5f9:9681:e175:8cb0:bd97:93f7) (Signing in (Raito_Bezarius))
2021-07-26 07:11:12 +0200Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius)
2021-07-26 07:11:20 +0200tomsmeding(~tomsmedin@2a03:b0c0:0:1010::767:3001)
2021-07-26 07:11:32 +0200c_wraith(~c_wraith@adjoint.us)
2021-07-26 07:13:18 +0200adium(adium@user/adium)
2021-07-26 07:13:36 +0200robertm(robertm@rojoma.com) (*.net *.split)
2021-07-26 07:13:36 +0200sagax(~sagax@213.138.71.146) (*.net *.split)
2021-07-26 07:13:36 +0200spruit11(~quassel@2a02:a467:ccd6:1:617d:c9ec:74dc:292b) (*.net *.split)
2021-07-26 07:13:36 +0200kar1[m](~kar1matri@2001:470:69fc:105::c308) (*.net *.split)
2021-07-26 07:13:37 +0200Soft(~soft-matr@2001:470:69fc:105::c75) (*.net *.split)
2021-07-26 07:13:37 +0200Drezil(~drezilkif@2001:470:69fc:105::7f8) (*.net *.split)
2021-07-26 07:13:37 +0200Morrow[m](~morrowmma@2001:470:69fc:105::1d0) (*.net *.split)
2021-07-26 07:13:38 +0200PotatoHatsue(~berberman@2001:470:69fc:105::b488) (*.net *.split)
2021-07-26 07:13:38 +0200the-coot[m](~the-cootm@2001:470:69fc:105::95f) (*.net *.split)
2021-07-26 07:13:38 +0200carmysilna(~brightly-@2001:470:69fc:105::2190) (*.net *.split)
2021-07-26 07:13:38 +0200haritz(~hrtz@user/haritz) (*.net *.split)
2021-07-26 07:13:38 +0200feetwind(~mike@user/feetwind) (*.net *.split)
2021-07-26 07:13:38 +0200fryguybob(~fryguybob@cpe-74-65-31-113.rochester.res.rr.com) (*.net *.split)
2021-07-26 07:13:46 +0200haritz(~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220)
2021-07-26 07:13:47 +0200haritz(~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) (Changing host)
2021-07-26 07:13:47 +0200haritz(~hrtz@user/haritz)
2021-07-26 07:13:49 +0200spruit11(~quassel@2a02:a467:ccd6:1:3536:e6ac:e02d:6c68)
2021-07-26 07:13:53 +0200fryguybob(~fryguybob@cpe-74-65-31-113.rochester.res.rr.com)
2021-07-26 07:13:57 +0200robertm(robertm@rojoma.com)
2021-07-26 07:13:58 +0200feetwind(~mike@user/feetwind)
2021-07-26 07:15:16 +0200kar1[m](~kar1matri@2001:470:69fc:105::c308)
2021-07-26 07:15:47 +0200Ekho(~Ekho@user/ekho)
2021-07-26 07:15:53 +0200Null_A(~null_a@2601:645:8700:2290:fccc:f134:46b0:cde6) (Remote host closed the connection)
2021-07-26 07:15:56 +0200sagax(~sagax@213.138.71.146)
2021-07-26 07:16:20 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
2021-07-26 07:16:25 +0200Morrow[m](~morrowmma@2001:470:69fc:105::1d0)
2021-07-26 07:16:28 +0200Drezil(~drezilkif@2001:470:69fc:105::7f8)
2021-07-26 07:16:42 +0200mcglk(~mcglk@131.191.49.120)
2021-07-26 07:18:33 +0200carmysilna(~brightly-@2001:470:69fc:105::2190)
2021-07-26 07:18:41 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
2021-07-26 07:18:46 +0200the-coot[m](~the-cootm@2001:470:69fc:105::95f)
2021-07-26 07:18:55 +0200PotatoHatsue(~berberman@2001:470:69fc:105::b488)
2021-07-26 07:19:43 +0200Soft(~soft-matr@2001:470:69fc:105::c75)
2021-07-26 07:24:20 +0200ubert(~Thunderbi@77.119.200.110.wireless.dyn.drei.com) (Ping timeout: 255 seconds)
2021-07-26 07:24:49 +0200thyriaen(~thyriaen@x4dbf5c5c.dyn.telefonica.de)
2021-07-26 07:28:36 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-26 07:30:35 +0200Null_A(~null_a@2601:645:8700:2290:fccc:f134:46b0:cde6)
2021-07-26 07:31:59 +0200lavaman(~lavaman@98.38.249.169)
2021-07-26 07:35:12 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-26 07:36:19 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 258 seconds)
2021-07-26 07:39:46 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-07-26 07:47:48 +0200thyriaen(~thyriaen@x4dbf5c5c.dyn.telefonica.de) (Quit: Leaving)
2021-07-26 07:52:30 +0200michalz(~michalz@185.246.204.55)
2021-07-26 07:56:34 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-26 07:58:01 +0200thyriaen(~thyriaen@x4dbf5c5c.dyn.telefonica.de)
2021-07-26 07:59:39 +0200aerona(~aerona@2600:6c54:4600:f300:2418:37e9:50f:bf32) (Read error: Connection reset by peer)
2021-07-26 08:00:39 +0200raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-07-26 08:02:08 +0200Null_A(~null_a@2601:645:8700:2290:fccc:f134:46b0:cde6) ()
2021-07-26 08:02:38 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-07-26 08:04:31 +0200thyriaen(~thyriaen@x4dbf5c5c.dyn.telefonica.de) (Remote host closed the connection)
2021-07-26 08:05:36 +0200ph88(~ph88@2a02:8109:9e00:7e5c:8db8:987d:36eb:f1a6)
2021-07-26 08:08:00 +0200euouae(~euouae@user/euouae)
2021-07-26 08:08:14 +0200 <euouae> Hello how do I run some computations in parallel?
2021-07-26 08:08:38 +0200 <Axman6> we have lots of ways to doing that, can you give some more info about what you want to run?
2021-07-26 08:08:56 +0200 <euouae> For example I have https://paste.tomsmeding.com/BkWecUCU now
2021-07-26 08:09:22 +0200 <euouae> I'd like the x1-loop in averageTriangleArea to be split before the sum in the processors
2021-07-26 08:10:02 +0200thyriaen(~thyriaen@x4dbf5c5c.dyn.telefonica.de)
2021-07-26 08:10:15 +0200ph88(~ph88@2a02:8109:9e00:7e5c:8db8:987d:36eb:f1a6) (Ping timeout: 276 seconds)
2021-07-26 08:10:51 +0200 <Axman6> you might want ot check out https://www.oreilly.com/library/view/parallel-and-concurrent/9781449335939/ - if you scroll to the ToC, you can see it's all available for free online (but Simon is a great guy so you should buy it if you find it helpful!)
2021-07-26 08:11:37 +0200 <Axman6> https://www.oreilly.com/library/view/parallel-and-concurrent/9781449335939/pt01.html specifically is where you'd want to start - it's pretty easy to do things which look like they should run in parallel but don;t because of laziness, so that's worth reading
2021-07-26 08:11:38 +0200 <euouae> oh wow he's a codev of ghc
2021-07-26 08:12:31 +0200 <Axman6> yep, that book should be considered canonical, as Simon built most of this stuff as far as I understand it. you will eventually end up at https://hackage.haskell.org/package/parallel
2021-07-26 08:12:32 +0200shutdown_-h_now(~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl) (Remote host closed the connection)
2021-07-26 08:12:54 +0200 <Axman6> https://hackage.haskell.org/package/parallel-3.2.2.0/docs/Control-Parallel-Strategies.html and where the meat is
2021-07-26 08:14:19 +0200 <euouae> Okay, very nice. Thank you
2021-07-26 08:14:40 +0200fef(~thedawn@user/thedawn) (Remote host closed the connection)
2021-07-26 08:15:11 +0200fef(~thedawn@user/thedawn)
2021-07-26 08:15:31 +0200 <euouae> Axman6, do you also happen to know if Haskell does well with distributed computing?
2021-07-26 08:16:14 +0200 <euouae> In terms of computations. In C++ I was looking into OpenMP (parallelism), OpenMPI (distributed computing) and HIP (AMD & Intel gpu programming)
2021-07-26 08:16:41 +0200 <Axman6> That's a difficult question. It's not Erlang, but there is some stuff for doing Erlang like things in the cloud-haskell project. It's an excellent language for writing network servers though, and using those you can of course build distributed computing systems
2021-07-26 08:17:18 +0200 <euouae> Okay, there's no user friendly stuff then ]
2021-07-26 08:17:25 +0200 <Axman6> Haskell threads are extremely lightweight, so for network servers, it is the norm to fork one thread per connection, which greatly simplifies the mental model
2021-07-26 08:17:42 +0200 <euouae> When you speak of networks, I don't even know why they're mentioned ( I've never done distributed computing before)
2021-07-26 08:18:00 +0200 <euouae> I don't know what OpenMPI does, but I'm assuming it utilizes the network to distribute work
2021-07-26 08:18:10 +0200 <Axman6> Facebook's thrift stuff would certainly get you a long way towards to building large concurrent systems, since that's exactly what they're using it for in their spam filtering
2021-07-26 08:19:02 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
2021-07-26 08:19:03 +0200chris_(~chris@81.96.113.213)
2021-07-26 08:19:14 +0200 <euouae> Again, not sure why that is mentioned. I'm trying to do some computations (Such as computing factorials say)
2021-07-26 08:19:27 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-07-26 08:20:03 +0200 <Axman6> OpenMPI takes care of several things: it distributes binaries across clusters (it's almost exclusively used for HPC/scientific computing as far as I understand it), and abstracting network comminications between distinct executions - it's niche is things like large matrix computations where each node in the cluster computes a sub computation and then MPI helps to efficiently move the temporary results around and combine them into the full result
2021-07-26 08:20:43 +0200 <Axman6> Distributed computing only makes sense if there's a network, so that's why I metnion it
2021-07-26 08:21:04 +0200fawful(~guy@c-76-104-217-93.hsd1.wa.comcast.net) (Quit: WeeChat 3.2)
2021-07-26 08:21:05 +0200 <euouae> Ok but I'm assuming they're not communicating with TCP, or are they?
2021-07-26 08:21:50 +0200 <Axman6> if you're talking about MPI, that would depend on the cluster. MPI usually knows how to use things like infiniband, which is basically a networked PCI bus with direct memory access
2021-07-26 08:22:14 +0200 <Axman6> but there's no reason not to use TCP either, it'll just be hiugher latency, which might be fine
2021-07-26 08:22:46 +0200 <euouae> I guess you're right, adding seconds to a computation is not a big deal if it takes an hour or more
2021-07-26 08:22:48 +0200 <Axman6> you did specifically ask about distributed computing, so if that's not what you axtually meant, I can give other answers :P
2021-07-26 08:23:04 +0200 <Axman6> actually*
2021-07-26 08:23:31 +0200 <euouae> I don't feel very comfortable in these topics as I've never done them before, so my apology if I'm flimsy hehe
2021-07-26 08:23:42 +0200 <euouae> I've only had experience with parallelism within a single node
2021-07-26 08:23:59 +0200thyriaen(~thyriaen@x4dbf5c5c.dyn.telefonica.de) (Remote host closed the connection)
2021-07-26 08:24:19 +0200 <euouae> I think as a first introduction I might go with C++ and OpenMPI and switch to Haskell later if I can
2021-07-26 08:24:22 +0200 <Axman6> Well we have lots of tools for that, and that book is basically the bible on the topic, do get reading! it's extremely approachable if you have the basics of Haskell down
2021-07-26 08:24:34 +0200 <euouae> Oh so it does mention distributed computing as well?
2021-07-26 08:24:45 +0200 <Axman6> if you're working on a single machine, OpenMPI is unnecessary. OpenMP will give you parallelism though
2021-07-26 08:24:58 +0200 <euouae> I have access to a supercoputer
2021-07-26 08:25:01 +0200 <Axman6> you don't seem to be talking about distributed computing
2021-07-26 08:25:24 +0200 <Axman6> OpenMPI doesn't magically take a single binary and make it run across a whole cluster though
2021-07-26 08:25:36 +0200 <euouae> I've never used OpenMPI
2021-07-26 08:25:46 +0200 <euouae> It's on my todo list
2021-07-26 08:28:34 +0200dunkeln(~dunkeln@94.129.69.87) (Ping timeout: 265 seconds)
2021-07-26 08:30:50 +0200anandprabhu(~anandprab@94.202.243.198)
2021-07-26 08:32:28 +0200dunkeln(~dunkeln@94.129.69.87)
2021-07-26 08:34:29 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-26 08:41:44 +0200chele(~chele@user/chele)
2021-07-26 08:42:48 +0200mikoto-chan(~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be)
2021-07-26 08:46:18 +0200tommd(~tommd@75-164-130-101.ptld.qwest.net) (Ping timeout: 240 seconds)
2021-07-26 08:46:21 +0200roboguy_(~roboguy_@2605:a601:ac0e:ae00:6549:5b6:6ac5:3a5d)
2021-07-26 08:46:54 +0200dunkeln(~dunkeln@94.129.69.87) (Ping timeout: 256 seconds)
2021-07-26 08:47:36 +0200jco(~jco@213-64-226-9-no542.tbcn.telia.com)
2021-07-26 08:48:48 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-26 08:53:22 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2021-07-26 08:53:32 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-07-26 08:53:52 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:a10:7118:963d:8400)
2021-07-26 08:54:03 +0200roboguy_(~roboguy_@2605:a601:ac0e:ae00:6549:5b6:6ac5:3a5d) ()
2021-07-26 08:54:37 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2021-07-26 08:58:25 +0200ubert(~Thunderbi@77.119.200.110.wireless.dyn.drei.com)
2021-07-26 08:59:10 +0200fendor(~fendor@178.165.161.47.wireless.dyn.drei.com)
2021-07-26 09:05:02 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-26 09:07:26 +0200zmt01(~zmt00@user/zmt00) (Ping timeout: 252 seconds)
2021-07-26 09:07:38 +0200yoneda(~mike@193.206.102.122)
2021-07-26 09:09:06 +0200jneira(~jneira@212.8.115.226)
2021-07-26 09:09:20 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-07-26 09:10:08 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
2021-07-26 09:11:29 +0200derelict(~derelict@user/derelict)
2021-07-26 09:12:52 +0200Morrow(~Morrow@147.161.8.32)
2021-07-26 09:12:53 +0200PinealGlandOptic(~PinealGla@37.115.210.35)
2021-07-26 09:14:44 +0200oxide(~lambda@user/oxide)
2021-07-26 09:17:20 +0200wei2912(~wei2912@112.199.250.21) (Quit: Lost terminal)
2021-07-26 09:20:26 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-07-26 09:26:34 +0200fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 256 seconds)
2021-07-26 09:26:53 +0200fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-26 09:27:37 +0200m1dnight(~christoph@188.ip-51-91-158.eu) (Quit: WeeChat 3.1)
2021-07-26 09:27:56 +0200m1dnight(~christoph@188.ip-51-91-158.eu)
2021-07-26 09:28:22 +0200 <juri_> I haven't seen much haskell distributed computing stuff that 'just works', sadly.
2021-07-26 09:28:27 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-07-26 09:28:37 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-07-26 09:29:01 +0200 <euouae> juri_: so it's a thing for experts?
2021-07-26 09:29:15 +0200 <euouae> I'm just getting into it myself, I'm hopeful
2021-07-26 09:29:23 +0200 <euouae> at least I'm hopeful I can get it done in C++
2021-07-26 09:29:33 +0200 <juri_> I think it's just a thing that stalls every now and then, because there's not much demand.
2021-07-26 09:29:39 +0200jushur(~human@user/jushur)
2021-07-26 09:29:59 +0200 <euouae> It surprises me that scientific computing isn't bigger with Haskell
2021-07-26 09:30:05 +0200 <euouae> It is very convenient for it
2021-07-26 09:30:21 +0200 <juri_> I think one thing that has stuck in that area is accelerate.
2021-07-26 09:30:30 +0200 <juri_> or data parallel haskell..
2021-07-26 09:31:19 +0200 <juri_> accelerate is neat, because if you write code within it's constraints, you can use a GPU and CPU at the same time..
2021-07-26 09:31:44 +0200 <euouae> Right but can you use multiple nodes?
2021-07-26 09:31:52 +0200 <juri_> I'm just not much of a fan, because it requires real nvidia drivers.
2021-07-26 09:32:05 +0200 <euouae> Real drivers?
2021-07-26 09:32:26 +0200 <juri_> no, for that, you'd want cloud haskell. which seems to be stalling out.
2021-07-26 09:32:39 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2021-07-26 09:33:41 +0200 <Athas> DPH is also long dead, but Accelerate is active.
2021-07-26 09:34:29 +0200zeenk(~zeenk@2a02:2f04:a008:d600:18f2:3421:bac6:8f38)
2021-07-26 09:35:08 +0200vysn(~vysn@user/vysn) (Remote host closed the connection)
2021-07-26 09:36:12 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es)
2021-07-26 09:40:41 +0200gehmehgeh(~user@user/gehmehgeh)
2021-07-26 09:41:25 +0200dagit(~dagit@2601:1c2:1b7f:9fa0:54b1:3520:a1d6:48b1) (Remote host closed the connection)
2021-07-26 09:41:41 +0200dagit(~dagit@2601:1c2:1b7f:9fa0:ad74:311a:d89a:e0b1)
2021-07-26 09:45:09 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-26 09:45:49 +0200euouae(~euouae@user/euouae) (Quit: Client closed)
2021-07-26 09:46:35 +0200euouae(~euouae@user/euouae)
2021-07-26 09:47:39 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk)
2021-07-26 09:50:06 +0200azeem(~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it) (Ping timeout: 258 seconds)
2021-07-26 09:51:32 +0200azeem(~azeem@176.200.234.7)
2021-07-26 09:52:33 +0200vysn(~vysn@user/vysn)
2021-07-26 09:53:58 +0200azeem(~azeem@176.200.234.7) (Read error: Connection reset by peer)
2021-07-26 09:54:12 +0200pottsy(~pottsy@2400:4050:b560:3700:81f2:32a:4b6a:ba03) (Quit: Leaving)
2021-07-26 09:58:11 +0200azeem(~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it)
2021-07-26 10:03:18 +0200fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 265 seconds)
2021-07-26 10:03:54 +0200fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-26 10:05:32 +0200hendursa1(~weechat@user/hendursaga)
2021-07-26 10:08:47 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 244 seconds)
2021-07-26 10:09:48 +0200euouae(~euouae@user/euouae) (Quit: euouae)
2021-07-26 10:10:59 +0200kenran(~kenran@200116b82bf903005af8e44b0b810a86.dip.versatel-1u1.de)
2021-07-26 10:11:06 +0200kenran(~kenran@200116b82bf903005af8e44b0b810a86.dip.versatel-1u1.de) (Client Quit)
2021-07-26 10:17:47 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-07-26 10:17:48 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-07-26 10:17:51 +0200allbery_bgeekosaur
2021-07-26 10:18:18 +0200kmein(~weechat@user/kmein) (Quit: ciao kakao)
2021-07-26 10:18:36 +0200kmein(~weechat@user/kmein)
2021-07-26 10:20:43 +0200shriekingnoise(~shrieking@186.137.144.80) (Quit: Quit)
2021-07-26 10:27:00 +0200jneira(~jneira@212.8.115.226) (Quit: Client closed)
2021-07-26 10:27:54 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2021-07-26 10:31:51 +0200jneira(~jneira@212.8.115.226)
2021-07-26 10:39:04 +0200acidjnk(~acidjnk@p200300d0c72b9549b83720658b9c4b74.dip0.t-ipconnect.de)
2021-07-26 10:41:00 +0200dagit(~dagit@2601:1c2:1b7f:9fa0:ad74:311a:d89a:e0b1) (Ping timeout: 250 seconds)
2021-07-26 10:41:56 +0200epolanski(uid312403@id-312403.brockwell.irccloud.com)
2021-07-26 10:42:28 +0200unyu(~pyon@user/pyon) (Quit: brb)
2021-07-26 10:45:22 +0200__monty__(~toonn@user/toonn)
2021-07-26 10:48:51 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 276 seconds)
2021-07-26 10:51:53 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-26 10:52:31 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-26 10:53:05 +0200fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 265 seconds)
2021-07-26 10:53:51 +0200fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-26 10:54:39 +0200meinside_(uid24933@id-24933.brockwell.irccloud.com)
2021-07-26 10:55:11 +0200Melantha(~pyon@user/pyon)
2021-07-26 10:57:02 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds)
2021-07-26 11:01:40 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
2021-07-26 11:02:16 +0200jgeerds(~jgeerds@55d45555.access.ecotel.net)
2021-07-26 11:05:33 +0200dunkeln(~dunkeln@94.129.69.87)
2021-07-26 11:08:13 +0200pesada(~agua@2804:18:4f:4b5e:1:0:5480:48f9)
2021-07-26 11:10:16 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-07-26 11:11:36 +0200agua(~agua@2804:14c:8793:8e2f:39e9:c5a8:c532:7498) (Ping timeout: 276 seconds)
2021-07-26 11:14:45 +0200dunj3(~dunj3@2001:16b8:30df:3d00:990a:dac8:a84c:f3b6)
2021-07-26 11:14:49 +0200cjb(~cjb@user/cjb) (Quit: rcirc on GNU Emacs 28.0.50)
2021-07-26 11:17:02 +0200jgeerds(~jgeerds@55d45555.access.ecotel.net) (Remote host closed the connection)
2021-07-26 11:17:07 +0200dhil(~dhil@195.213.192.47)
2021-07-26 11:18:42 +0200fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 250 seconds)
2021-07-26 11:19:18 +0200agua(~agua@2804:14c:8793:8e2f:39e9:c5a8:c532:7498)
2021-07-26 11:19:27 +0200pesada(~agua@2804:18:4f:4b5e:1:0:5480:48f9) (Read error: Connection reset by peer)
2021-07-26 11:19:27 +0200fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-26 11:19:38 +0200pesada(~agua@2804:18:4f:4b5e:1:0:5480:48f9)
2021-07-26 11:19:57 +0200pmk(~user@2a02:587:9416:822f:cf:6d30:99e9:ac07)
2021-07-26 11:22:17 +0200smtnet3(~asdfasdfa@202.36.244.28) (Remote host closed the connection)
2021-07-26 11:23:25 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-26 11:23:57 +0200agua(~agua@2804:14c:8793:8e2f:39e9:c5a8:c532:7498) (Ping timeout: 276 seconds)
2021-07-26 11:26:48 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-26 11:30:04 +0200agua(~agua@2804:14c:8793:8e2f:39e9:c5a8:c532:7498)
2021-07-26 11:32:20 +0200mr-red(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-26 11:32:24 +0200pesada(~agua@2804:18:4f:4b5e:1:0:5480:48f9) (Ping timeout: 276 seconds)
2021-07-26 11:33:25 +0200lavaman(~lavaman@98.38.249.169)
2021-07-26 11:33:26 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 250 seconds)
2021-07-26 11:36:39 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-26 11:36:58 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-26 11:37:41 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 255 seconds)
2021-07-26 11:38:46 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-07-26 11:38:50 +0200forell(~forell@user/forell) (Quit: ZNC - https://znc.in)
2021-07-26 11:39:35 +0200thyriaen(~thyriaen@dynamic-089-012-214-253.89.12.pool.telefonica.de)
2021-07-26 11:39:36 +0200thyriaen(~thyriaen@dynamic-089-012-214-253.89.12.pool.telefonica.de) (Remote host closed the connection)
2021-07-26 11:39:47 +0200forell(~forell@user/forell)
2021-07-26 11:40:09 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-26 11:40:51 +0200Vajb(~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01)
2021-07-26 11:41:23 +0200 <pmk> Hey all. I am getting this error whenever stack tries to interact with the network: https://dpaste.com/9ZZES2Y98. Building with cabal works (i.e. it downloads the dependencies from hackage). I tried running stack from inside a VM on the same host (which works), and also tried removing $HOME/.stack/ and reinstalling stack using ghcup but no luck. Has anyone seen something line this before or do you have any ideas on how I would go about
2021-07-26 11:41:23 +0200 <pmk> debugging this issue?
2021-07-26 11:43:12 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-07-26 11:43:14 +0200jakalx(~jakalx@base.jakalx.net)
2021-07-26 11:43:17 +0200 <maerwald> https://status.haskell.org/
2021-07-26 11:44:13 +0200 <Hecate> > Note: This page is manually updated
2021-07-26 11:44:14 +0200 <lambdabot> error:
2021-07-26 11:44:15 +0200 <lambdabot> • Data constructor not in scope: Note
2021-07-26 11:44:15 +0200 <lambdabot> • Perhaps you meant ‘Node’ (imported from Data.Tree)error:
2021-07-26 11:44:52 +0200 <maerwald> the other site is 404 :)
2021-07-26 11:45:01 +0200 <maerwald> https://auto-status.haskell.org/
2021-07-26 11:45:59 +0200 <pmk> Thanks, I did not know about that page! Everything looks green on it from here. I should note that this has been happening for a couple of days now.
2021-07-26 11:49:42 +0200raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds)
2021-07-26 11:50:06 +0200raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-07-26 11:50:24 +0200 <Hecate> pmk: please do report this at #haskell-infrastructure
2021-07-26 11:51:16 +0200 <pmk> Will do. Thanks.
2021-07-26 11:51:38 +0200delYsid(~user@nt-a222.wlcli.tugraz.at)
2021-07-26 11:53:07 +0200 <Hecate> pmk: thank you :)
2021-07-26 11:56:15 +0200smtnet3(~asdfasdfa@202.36.244.28)
2021-07-26 11:58:24 +0200fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 276 seconds)
2021-07-26 11:59:06 +0200fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-26 12:01:38 +0200Feuermagier(~Feuermagi@user/feuermagier)
2021-07-26 12:03:00 +0200fm(~fm@user/fm)
2021-07-26 12:04:27 +0200ub(~Thunderbi@77.119.205.108.wireless.dyn.drei.com)
2021-07-26 12:04:28 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-26 12:06:11 +0200ubert(~Thunderbi@77.119.200.110.wireless.dyn.drei.com) (Ping timeout: 258 seconds)
2021-07-26 12:06:11 +0200ububert
2021-07-26 12:08:58 +0200fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 265 seconds)
2021-07-26 12:09:15 +0200pesada(~agua@2804:18:4f:4b5e:1:0:5480:48f9)
2021-07-26 12:09:53 +0200fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-26 12:11:08 +0200agua(~agua@2804:14c:8793:8e2f:39e9:c5a8:c532:7498) (Ping timeout: 250 seconds)
2021-07-26 12:14:36 +0200jmorris(uid433911@id-433911.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-26 12:16:32 +0200raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds)
2021-07-26 12:16:41 +0200xsperry(~as@user/xsperry) (Remote host closed the connection)
2021-07-26 12:17:44 +0200mr-red(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 255 seconds)
2021-07-26 12:18:25 +0200raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-07-26 12:18:26 +0200Vajb(~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01) (Read error: Connection reset by peer)
2021-07-26 12:19:17 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-26 12:19:59 +0200peterhil(~peterhil@mobile-access-5d6af6-209.dhcp.inet.fi) (Ping timeout: 258 seconds)
2021-07-26 12:20:02 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:a10:7118:963d:8400) (Ping timeout: 252 seconds)
2021-07-26 12:20:30 +0200sciencentistguy(~sciencent@hacksoc/ordinary-member)
2021-07-26 12:27:50 +0200xsperry(~as@user/xsperry)
2021-07-26 12:28:09 +0200dfordvm(~dfordivam@tk2-219-19469.vs.sakura.ne.jp)
2021-07-26 12:31:12 +0200jmorris(uid433911@id-433911.stonehaven.irccloud.com)
2021-07-26 12:33:19 +0200_bin(~bin@user/bin/x-1583188) (Quit: ZNC - https://znc.in)
2021-07-26 12:33:38 +0200_bin(~bin@user/bin/x-1583188)
2021-07-26 12:37:58 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk)
2021-07-26 12:37:59 +0200sm2n(~sm2n@user/sm2n) (Ping timeout: 255 seconds)
2021-07-26 12:39:55 +0200dunkeln(~dunkeln@94.129.69.87) (Ping timeout: 258 seconds)
2021-07-26 12:40:19 +0200peterhil(~peterhil@mobile-access-5d6af6-209.dhcp.inet.fi)
2021-07-26 12:41:23 +0200fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 252 seconds)
2021-07-26 12:41:50 +0200fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-26 12:43:02 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk) (Ping timeout: 245 seconds)
2021-07-26 12:45:15 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-26 12:45:41 +0200dunkeln(~dunkeln@94.129.69.87)
2021-07-26 12:46:58 +0200dunkeln(~dunkeln@94.129.69.87) (Client Quit)
2021-07-26 12:47:13 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-26 12:50:54 +0200dunkeln(~dunkeln@94.129.69.87)
2021-07-26 12:51:30 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2021-07-26 12:51:58 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-07-26 12:56:47 +0200raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds)
2021-07-26 12:58:29 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-26 13:00:37 +0200vsiddharth(~user@23.252.50.92) (Ping timeout: 258 seconds)
2021-07-26 13:03:52 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-07-26 13:04:18 +0200 <Arahael> What's does it mean when we do: `data Foo foo where ...`?
2021-07-26 13:04:30 +0200 <Arahael> I've not really come across that syntax for data types.
2021-07-26 13:04:47 +0200 <Arahael> Example: https://hackage.haskell.org/package/proto-lens-0.7.0.0/docs/src/Data.ProtoLens.Message.html#FieldD…
2021-07-26 13:06:03 +0200 <kritzefitz> Arahael, that's called a generalized algebraic data type (or GADT for short)
2021-07-26 13:06:09 +0200 <Taneb> Arahael: they're GADTs (or at least using the GADT syntax)
2021-07-26 13:06:10 +0200 <Taneb> https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/exts/gadt.html
2021-07-26 13:06:38 +0200 <Arahael> Taneb: Thanks.
2021-07-26 13:06:42 +0200 <Arahael> That helps heaps!
2021-07-26 13:07:33 +0200jippiedoe(~david@2a02-a44c-e14e-1-71e9-bb56-c41b-9e9d.fixed6.kpn.net)
2021-07-26 13:10:45 +0200lavaman(~lavaman@98.38.249.169)
2021-07-26 13:12:56 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:4d31:e765:567c:8f88)
2021-07-26 13:13:58 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-26 13:14:42 +0200peterhil(~peterhil@mobile-access-5d6af6-209.dhcp.inet.fi) (Ping timeout: 245 seconds)
2021-07-26 13:17:29 +0200Morrow(~Morrow@147.161.8.32) (Read error: Connection reset by peer)
2021-07-26 13:18:02 +0200agua(~agua@2804:14c:8793:8e2f:39e9:c5a8:c532:7498)
2021-07-26 13:18:29 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 255 seconds)
2021-07-26 13:19:00 +0200kenran(~kenran@b2b-37-24-119-190.unitymedia.biz)
2021-07-26 13:20:02 +0200pesada(~agua@2804:18:4f:4b5e:1:0:5480:48f9) (Ping timeout: 256 seconds)
2021-07-26 13:20:30 +0200ubert(~Thunderbi@77.119.205.108.wireless.dyn.drei.com) (Quit: ubert)
2021-07-26 13:24:23 +0200fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 252 seconds)
2021-07-26 13:24:47 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-07-26 13:25:10 +0200fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-26 13:28:15 +0200azeem(~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-07-26 13:29:25 +0200peterhil(~peterhil@mobile-access-5d6af6-209.dhcp.inet.fi)
2021-07-26 13:31:01 +0200azeem(~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it)
2021-07-26 13:32:35 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-07-26 13:33:35 +0200dunkeln(~dunkeln@94.129.69.87) (Ping timeout: 258 seconds)
2021-07-26 13:34:48 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-26 13:35:31 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-26 13:35:46 +0200dunkeln(~dunkeln@94.129.69.87)
2021-07-26 13:39:26 +0200Reyu[M](~reyureyuz@matrix.reyuzenfold.com) (Remote host closed the connection)
2021-07-26 13:39:54 +0200acidjnk_new(~acidjnk@p200300d0c72b9530a5bcc5cf9bf6f5b6.dip0.t-ipconnect.de)
2021-07-26 13:40:16 +0200Reyu[M](~reyureyuz@matrix.reyuzenfold.com)
2021-07-26 13:41:08 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-26 13:43:00 +0200acidjnk(~acidjnk@p200300d0c72b9549b83720658b9c4b74.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2021-07-26 13:43:15 +0200burnsidesLlama(~burnsides@client-8-87.eduroam.oxuni.org.uk)
2021-07-26 13:45:30 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2021-07-26 13:46:52 +0200tomsmedingwas wondering what X is in the correspondence: sequence (map f l) == mapM f l ; sequenceA (map f l) == X
2021-07-26 13:46:58 +0200tomsmedingrealised that it's all traverse
2021-07-26 13:47:46 +0200burnsidesLlama(~burnsides@client-8-87.eduroam.oxuni.org.uk) (Ping timeout: 250 seconds)
2021-07-26 13:49:50 +0200 <jippiedoe> It's always traverse :)
2021-07-26 13:53:32 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-07-26 14:01:13 +0200shane_shane
2021-07-26 14:05:03 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-26 14:06:25 +0200fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 265 seconds)
2021-07-26 14:07:09 +0200fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-26 14:10:02 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-07-26 14:11:42 +0200jakalx(~jakalx@base.jakalx.net)
2021-07-26 14:13:17 +0200sander(~sander@user/sander) (Quit: So long! :))
2021-07-26 14:13:26 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-26 14:13:35 +0200sander(~sander@user/sander)
2021-07-26 14:13:46 +0200favonia(~favonia@user/favonia)
2021-07-26 14:16:38 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-26 14:16:51 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 276 seconds)
2021-07-26 14:17:11 +0200lavaman(~lavaman@98.38.249.169)
2021-07-26 14:17:53 +0200jespada(~jespada@90.254.247.46) (Ping timeout: 255 seconds)
2021-07-26 14:18:31 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-07-26 14:19:17 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-07-26 14:19:57 +0200jespada(~jespada@90.254.247.46)
2021-07-26 14:20:08 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es)
2021-07-26 14:21:00 +0200raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-07-26 14:21:48 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2021-07-26 14:24:06 +0200delYsid(~user@nt-a222.wlcli.tugraz.at) (Remote host closed the connection)
2021-07-26 14:31:15 +0200sm2n(~sm2n@user/sm2n)
2021-07-26 14:32:24 +0200peterhil(~peterhil@mobile-access-5d6af6-209.dhcp.inet.fi) (Ping timeout: 250 seconds)
2021-07-26 14:33:56 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-26 14:36:27 +0200peterhil(~peterhil@mobile-access-5d6af6-209.dhcp.inet.fi)
2021-07-26 14:38:48 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2021-07-26 14:42:27 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-26 14:43:12 +0200liskin(~liskin@xmonad/liskin) (Quit: liskin)
2021-07-26 14:43:58 +0200pe200012(~pe200012@113.105.10.33)
2021-07-26 14:44:49 +0200liskin(~liskin@xmonad/liskin)
2021-07-26 14:44:58 +0200arthurxavierx(~arthurxav@201.17.157.69)
2021-07-26 14:45:55 +0200arthurxavierx(~arthurxav@201.17.157.69) (Remote host closed the connection)
2021-07-26 14:47:21 +0200arthurxavierx(~arthurxav@201.17.157.69)
2021-07-26 14:49:38 +0200fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 252 seconds)
2021-07-26 14:50:13 +0200fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-26 14:52:17 +0200Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2021-07-26 14:52:47 +0200andreabedini(~andreabed@ec2-3-25-98-120.ap-southeast-2.compute.amazonaws.com) (Quit: The Lounge - https://thelounge.chat)
2021-07-26 14:53:35 +0200andreabedini(~andreabed@ec2-3-25-98-120.ap-southeast-2.compute.amazonaws.com)
2021-07-26 14:53:40 +0200gehmehgeh(~user@user/gehmehgeh)
2021-07-26 14:55:45 +0200 <arkanoid> I'm studying an introduction to algebraic data types. I've a question: what's the point of writing the last line like that instead of just "emptyBoard = TicTacToe2 Nothing"? https://termbin.com/3os5
2021-07-26 14:56:24 +0200 <Taneb> arkanoid: the advantage is that it typechecks
2021-07-26 14:56:37 +0200Topsi(~Tobias@dyndsl-037-138-065-137.ewe-ip-backbone.de)
2021-07-26 14:56:44 +0200 <Taneb> "const $ const Nothing" is of type a -> b -> Maybe a (here, Three -> Three -> Maybe Bool)
2021-07-26 14:56:53 +0200 <Taneb> Whereas "Nothing" is just of type Maybe a
2021-07-26 14:57:12 +0200 <Taneb> That first one should end with Maybe c, not Maybe a, sorry
2021-07-26 14:58:37 +0200peterhil(~peterhil@mobile-access-5d6af6-209.dhcp.inet.fi) (Ping timeout: 265 seconds)
2021-07-26 14:58:59 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-07-26 14:59:10 +0200gehmehgeh(~user@user/gehmehgeh)
2021-07-26 14:59:19 +0200jolly(~jolly@208.180.97.158)
2021-07-26 14:59:40 +0200 <arkanoid> thanks!
2021-07-26 14:59:43 +0200 <arkanoid> makes sense
2021-07-26 15:00:27 +0200jippiedoe(~david@2a02-a44c-e14e-1-71e9-bb56-c41b-9e9d.fixed6.kpn.net) (Ping timeout: 268 seconds)
2021-07-26 15:00:32 +0200derelict(~derelict@user/derelict) (Ping timeout: 245 seconds)
2021-07-26 15:00:42 +0200dunkeln(~dunkeln@94.129.69.87) (Ping timeout: 240 seconds)
2021-07-26 15:01:04 +0200jippiedoe(~david@77-171-152-62.fixed.kpn.net)
2021-07-26 15:01:08 +0200alx741(~alx741@186.178.108.3)
2021-07-26 15:03:00 +0200jneira(~jneira@212.8.115.226) (Quit: Client closed)
2021-07-26 15:03:44 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 256 seconds)
2021-07-26 15:04:04 +0200peterhil(~peterhil@mobile-access-5d6af6-209.dhcp.inet.fi)
2021-07-26 15:07:25 +0200 <arkanoid> is there any difference in writing "data TicTacToe2 a = TicTacToe2 { board :: Three -> Three -> a}" and "data TicTacToe2 a = TicTacToe Three -> Three -> a" apart the generated "board" get function?
2021-07-26 15:07:50 +0200 <arkanoid> forget a "2" on second TicTacToe
2021-07-26 15:09:14 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-26 15:09:33 +0200 <Taneb> There's a few more minor differences, you get the record syntax with the first one, so you could write "TicTacToe2 { board = const $ const Nothing }" for example
2021-07-26 15:10:06 +0200Kaipi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 250 seconds)
2021-07-26 15:10:07 +0200anandprabhu(~anandprab@94.202.243.198) (Quit: Konversation terminated!)
2021-07-26 15:10:19 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-07-26 15:10:57 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-26 15:11:24 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-07-26 15:11:41 +0200 <arkanoid> thanks
2021-07-26 15:12:53 +0200hendursa1(~weechat@user/hendursaga) (Quit: hendursa1)
2021-07-26 15:13:24 +0200hendursaga(~weechat@user/hendursaga)
2021-07-26 15:14:05 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2021-07-26 15:16:21 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-07-26 15:16:30 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-07-26 15:17:25 +0200derelict(~derelict@user/derelict)
2021-07-26 15:18:12 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es)
2021-07-26 15:18:48 +0200 <Cajun> im reading the same book atm, is there a benefit to record syntax? when i was learning haskell from Programming in Haskell, record syntax was never mentioned, so it always seems unnatural. is it just cleaner?
2021-07-26 15:21:52 +0200Bayes(~Bayes@ics177-97.icsincorporated.com)
2021-07-26 15:21:58 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-26 15:22:08 +0200Bayes(~Bayes@ics177-97.icsincorporated.com) (Changing host)
2021-07-26 15:22:08 +0200Bayes(~Bayes@user/bayes)
2021-07-26 15:23:18 +0200 <Cajun> is it just more for your money (you get record syntax), or does it have more of a benefit?
2021-07-26 15:23:34 +0200 <juri_> I actually find it dirtier, as it creates accessor functions by default, which can be.. poorly named.
2021-07-26 15:23:54 +0200 <jippiedoe> It's a way to name fields, so if you ever find yourself with a datatype `Data Foo = Foo Bool Bool Bool` it might be better to use record syntax to name all of those. Ofcourse, you can often sidestep the issue with better datatype design!
2021-07-26 15:23:57 +0200 <juri_> in a project i inherited, i had an accessor function for 'x' and 'y'. bad.
2021-07-26 15:24:55 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-07-26 15:25:24 +0200 <arkanoid> does it make any sense to use record syntax for a data type with just 1 type, like the aforementioned example?
2021-07-26 15:27:38 +0200jiribenes(~jiribenes@rosa.jiribenes.com) (Ping timeout: 255 seconds)
2021-07-26 15:29:17 +0200fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 245 seconds)
2021-07-26 15:30:03 +0200fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-26 15:31:04 +0200 <arthurxavierx> At work we've tried a lot of stuff and settled down on using DuplicateRecordFields, RecordWildCards and generic-lens (but HasField from GHC.Records works just fine as well). We don't prefix record accessors and only use RecordWildCards when constructing or destructing records in a sufficiently narrow scope. To access fields in other contexts we use `getField @"fieldName"`. This approach has been working very well IMO.
2021-07-26 15:31:51 +0200 <arthurxavierx> although I'd find it easier on the eye if we used OverloadedLabels to have it look like IHP's `get #fieldName`
2021-07-26 15:33:03 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-07-26 15:33:51 +0200jiribenes(~jiribenes@rosa.jiribenes.com)
2021-07-26 15:34:46 +0200 <jippiedoe> arkanoid: For newtypes, it's a common style to write `newtype Foo = Foo { runFoo :: _ }`, but it only really saves 1 line of defining runFoo yourself. Small benefit is that (I think) you import `runFoo` for free with `Foo(..)`
2021-07-26 15:36:23 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 252 seconds)
2021-07-26 15:36:59 +0200andreabedini(~andreabed@ec2-3-25-98-120.ap-southeast-2.compute.amazonaws.com) (Quit: The Lounge - https://thelounge.chat)
2021-07-26 15:37:45 +0200andreabedini(~andreabed@ec2-3-25-98-120.ap-southeast-2.compute.amazonaws.com)
2021-07-26 15:39:54 +0200 <yushyin> juri_: NoFieldSelectors to the rescue https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/field_selectors.html#extension-FieldSelect…
2021-07-26 15:41:14 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-07-26 15:42:41 +0200chris_(~chris@81.96.113.213)
2021-07-26 15:45:59 +0200 <arthurxavierx> yushyin: do you know if NoFieldSelectors have any weird interaction with RecordWildCards?
2021-07-26 15:49:51 +0200 <yushyin> arthurxavierx: i don't know for sure, but it should work just fine since the fields are still available. (it's only the selector functions that are no longer generated)
2021-07-26 15:50:12 +0200 <arthurxavierx> hm that makes sense. thanks!
2021-07-26 15:50:40 +0200zebrag(~chris@user/zebrag)
2021-07-26 15:56:57 +0200 <arkanoid> thanks
2021-07-26 15:58:02 +0200jippiedoe(~david@77-171-152-62.fixed.kpn.net) (Ping timeout: 245 seconds)
2021-07-26 15:58:49 +0200 <nshepperd2> iirc the selector functions are actually generated, they're just made inaccessible in the top level namespace
2021-07-26 15:58:50 +0200ystael(~ystael@user/ystael) (Quit: Lost terminal)
2021-07-26 16:00:22 +0200fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 272 seconds)
2021-07-26 16:01:26 +0200fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-26 16:01:40 +0200ystael(~ystael@user/ystael)
2021-07-26 16:03:13 +0200derelict(~derelict@user/derelict) (Quit: WeeChat 3.2)
2021-07-26 16:05:48 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-26 16:06:55 +0200 <yushyin> even that might be the case, yes, i should not have assumed this without knowing the implementation
2021-07-26 16:07:46 +0200Sgeo(~Sgeo@user/sgeo)
2021-07-26 16:08:28 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-26 16:09:29 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-26 16:10:07 +0200Vajb(~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01)
2021-07-26 16:10:25 +0200enoq(~enoq@194-208-179-35.lampert.tv)
2021-07-26 16:10:31 +0200jippiedoe(~david@77-171-152-62.fixed.kpn.net)
2021-07-26 16:10:32 +0200acidjnk_new(~acidjnk@p200300d0c72b9530a5bcc5cf9bf6f5b6.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2021-07-26 16:11:08 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
2021-07-26 16:13:11 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-26 16:13:16 +0200lavaman(~lavaman@98.38.249.169)
2021-07-26 16:16:55 +0200zaquest(~notzaques@5.128.210.178) (Remote host closed the connection)
2021-07-26 16:18:03 +0200chris_(~chris@81.96.113.213)
2021-07-26 16:18:24 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 276 seconds)
2021-07-26 16:18:32 +0200zaquest(~notzaques@5.128.210.178)
2021-07-26 16:19:01 +0200jippiedoe(~david@77-171-152-62.fixed.kpn.net) (Quit: Leaving)
2021-07-26 16:19:05 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-26 16:19:10 +0200neceve(~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f)
2021-07-26 16:22:29 +0200chris_(~chris@81.96.113.213) (Ping timeout: 252 seconds)
2021-07-26 16:22:57 +0200chris_(~chris@81.96.113.213)
2021-07-26 16:23:52 +0200andreabedini(~andreabed@ec2-3-25-98-120.ap-southeast-2.compute.amazonaws.com) (Quit: The Lounge - https://thelounge.chat)
2021-07-26 16:24:41 +0200xff0x(~xff0x@2001:1a81:523c:b300:f2c1:fc0d:e213:d303) (Ping timeout: 252 seconds)
2021-07-26 16:25:21 +0200xff0x(~xff0x@2001:1a81:523c:b300:334f:584b:1868:61b3)
2021-07-26 16:27:52 +0200 <raehik1> Is it possible to use Happy in a context-sensitive manner, eg have two rules where the expansions are the same(/similar), but the correct one can be selected by checking some state somewhere?
2021-07-26 16:28:36 +0200 <raehik1> Not a language design question, it's a pre-existing language that's known for being horrible for parsing
2021-07-26 16:29:31 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-07-26 16:30:17 +0200gehmehgeh(~user@user/gehmehgeh)
2021-07-26 16:31:47 +0200edrx(~Eduardo@2804:56c:d2fd:4c00:aca5:2e51:5bdd:e463)
2021-07-26 16:33:37 +0200shriekingnoise(~shrieking@186.137.144.80)
2021-07-26 16:33:54 +0200alecs(~alecs@151.62.33.211)
2021-07-26 16:34:56 +0200gehmehgeh(~user@user/gehmehgeh) (Client Quit)
2021-07-26 16:35:51 +0200 <edrx> hi all, I am trying to debug this issue by myself: <https://github.com/agda/agda/issues/5486>, "agda --compile hello-world.agda: how do I install ieee754 with stack? #5486" - and I've been able to reduce it to a problem with just stack and ghc...
2021-07-26 16:36:22 +0200mc47(~mc47@xmonad/TheMC47)
2021-07-26 16:36:38 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2021-07-26 16:36:39 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-07-26 16:37:02 +0200mc47(~mc47@xmonad/TheMC47)
2021-07-26 16:38:36 +0200alecs(~alecs@151.62.33.211) (Client Quit)
2021-07-26 16:39:17 +0200alecs(~alecs@151.62.33.211)
2021-07-26 16:40:18 +0200 <edrx> I tried to do "stack install ieee754" and "stack install text" but the haskell code that Agda generates still can't find the Numeric.IEEE module... more precisely, one of the haskell files generated by Agda has this line - "import Numeric.IEEE ( IEEE(identicalIEEE, nan) )"
2021-07-26 16:42:39 +0200 <geekosaur> you have to compile via stack to see stuff installed via stack. "stack install" installs into the "global project" — but ghc doesn't know about stack projects, even its "global project"
2021-07-26 16:43:53 +0200alecs(~alecs@151.62.33.211) (Client Quit)
2021-07-26 16:44:22 +0200alecs(~alecs@151.62.33.211)
2021-07-26 16:44:38 +0200 <geekosaur> so any invocations of ghc have to be replaced by "stack ghc --"
2021-07-26 16:44:41 +0200 <edrx> looks promising! how do I make stack compile ieee754?
2021-07-26 16:45:34 +0200 <edrx> this "stack ghc" will call ghc with extra command line options to make use the right directories, right?
2021-07-26 16:45:56 +0200 <edrx> make use -> make it (ghc) use
2021-07-26 16:46:01 +0200 <geekosaur> yes
2021-07-26 16:46:01 +0200alecs(~alecs@151.62.33.211) (Client Quit)
2021-07-26 16:46:19 +0200alecs(~alecs@151.62.33.211)
2021-07-26 16:46:52 +0200xff0x(~xff0x@2001:1a81:523c:b300:334f:584b:1868:61b3) (Ping timeout: 256 seconds)
2021-07-26 16:46:58 +0200alecs(~alecs@151.62.33.211) (Client Quit)
2021-07-26 16:47:12 +0200alecs(~alecs@151.62.33.211)
2021-07-26 16:47:20 +0200peterhil(~peterhil@mobile-access-5d6af6-209.dhcp.inet.fi) (Ping timeout: 252 seconds)
2021-07-26 16:47:34 +0200xff0x(~xff0x@2001:1a81:523c:b300:ba7e:c7d5:b4b7:3493)
2021-07-26 16:47:41 +0200peterhil(~peterhil@mobile-access-5d6af6-209.dhcp.inet.fi)
2021-07-26 16:49:09 +0200 <edrx> is there a way to make stack just say how it would run ghc instead of running ghc? I just discovered that if I call agda as "agda --ghc-dont-call-ghc --compile test1.agda" is says "NOT calling: ghc -O -o /home/edrx/AGDA/test1 -Werror -i/home/edrx/AGDA -main-is MAlonzo.Code.Qtest1 /home/edrx/AGDA/MAlonzo/Code/Qtest1.hs --make -fwarn-incomplete-patterns -fno-warn-overlapping-patterns" instead of calling ghc, and I am
2021-07-26 16:49:10 +0200 <edrx> using that for debugging...
2021-07-26 16:49:59 +0200savask(~savask@Powder/Developer/savask)
2021-07-26 16:50:16 +0200 <geekosaur> it's more complex than that as it's building a package environment in the background, iirc
2021-07-26 16:50:18 +0200pbrisbin(~patrick@162.210.105.197)
2021-07-26 16:50:27 +0200 <edrx> ouch =(
2021-07-26 16:50:49 +0200 <geekosaur> it's easier if you can just convince agda to call "stack ghc --"
2021-07-26 16:51:15 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-26 16:51:24 +0200alecs(~alecs@151.62.33.211) (Client Quit)
2021-07-26 16:51:40 +0200 <savask> Hello. Could someone point me at a way of including a text file into a haskell prog at compile time? As if it was a huge String constant defined in some module
2021-07-26 16:51:40 +0200 <edrx> that would make ghc run "in the global stack project"?
2021-07-26 16:51:48 +0200 <geekosaur> yes
2021-07-26 16:52:03 +0200 <geekosaur> unless there's a local stack project
2021-07-26 16:52:57 +0200gehmehgeh(~user@user/gehmehgeh)
2021-07-26 16:53:18 +0200fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 268 seconds)
2021-07-26 16:53:47 +0200fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-26 16:54:09 +0200 <edrx> ok! the agda people usually take at least a day to answer, so let me ask a couple of other questions... how do I make stack list the packages that are installed in the global project? and how I make it list the files and directories that are associated to the package ieee754?
2021-07-26 16:55:50 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds)
2021-07-26 16:56:40 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-07-26 16:56:40 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-07-26 16:56:44 +0200allbery_bgeekosaur
2021-07-26 17:00:08 +0200 <geekosaur> sorry, I don't know stack well enough to answer that :(
2021-07-26 17:01:32 +0200 <geekosaur> sm, you around
2021-07-26 17:01:35 +0200 <geekosaur> ?
2021-07-26 17:02:50 +0200 <edrx> thanks a lot anyway!!! =)
2021-07-26 17:08:18 +0200 <edrx> the command that agda executes to call ghc to compile the .hs files that it generates is this one:
2021-07-26 17:08:24 +0200 <edrx> "ghc -O -o /home/edrx/AGDA/test1 -Werror -i/home/edrx/AGDA -main-is MAlonzo.Code.Qtest1 /home/edrx/AGDA/MAlonzo/Code/Qtest1.hs --make -fwarn-incomplete-patterns -fno-warn-overlapping-patterns"
2021-07-26 17:09:34 +0200 <edrx> how do I make stack execute that? (I tried 5 syntaxes and they didn't work... apologies for my beginerishness)
2021-07-26 17:10:34 +0200 <geekosaur> did you include the -- ?
2021-07-26 17:10:59 +0200 <geekosaur> (with a space after; it stops stack from eating parameters meant for ghc)
2021-07-26 17:11:39 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-26 17:12:10 +0200 <edrx> I did, but only in the wrong places... now I tried "stack exec -- ghc -O -o ..." and it worked! thanks!!!
2021-07-26 17:12:39 +0200Bayes(~Bayes@user/bayes) ()
2021-07-26 17:14:36 +0200jmorris(uid433911@id-433911.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-26 17:15:27 +0200dajoer(~david@user/gvx) (Quit: leaving)
2021-07-26 17:15:46 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2021-07-26 17:16:10 +0200kenran(~kenran@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 240 seconds)
2021-07-26 17:27:16 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-26 17:30:37 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-26 17:30:52 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 265 seconds)
2021-07-26 17:30:55 +0200fendor(~fendor@178.165.161.47.wireless.dyn.drei.com) (Remote host closed the connection)
2021-07-26 17:31:19 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-07-26 17:31:44 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-26 17:33:26 +0200justache(~justache@user/justache) (Quit: The Lounge - https://thelounge.chat)
2021-07-26 17:33:44 +0200Megant_Megant
2021-07-26 17:34:16 +0200justache(~justache@user/justache)
2021-07-26 17:34:54 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-26 17:36:45 +0200econo(uid147250@user/econo)
2021-07-26 17:39:32 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:4d31:e765:567c:8f88) (Quit: WeeChat 2.8)
2021-07-26 17:40:49 +0200cohn(~noone@user/cohn) (Quit: leaving)
2021-07-26 17:42:50 +0200jeetelongname(~jeet@host-89-241-98-229.as13285.net)
2021-07-26 17:43:15 +0200neceve(~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) (Ping timeout: 268 seconds)
2021-07-26 17:45:17 +0200fendor(~fendor@178.165.161.47.wireless.dyn.drei.com)
2021-07-26 17:45:18 +0200Vajb(~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01) (Read error: Connection reset by peer)
2021-07-26 17:46:09 +0200fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 276 seconds)
2021-07-26 17:46:18 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-26 17:46:46 +0200fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-26 17:48:48 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Quit: Leaving)
2021-07-26 17:49:32 +0200lbseale(~lbseale@user/ep1ctetus) (Read error: Connection reset by peer)
2021-07-26 17:50:26 +0200peterhil(~peterhil@mobile-access-5d6af6-209.dhcp.inet.fi) (Ping timeout: 250 seconds)
2021-07-26 17:51:58 +0200dunkeln(~dunkeln@94.129.69.87)
2021-07-26 17:52:52 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-07-26 17:53:22 +0200slycelote_(~slycelote@user/slycelote)
2021-07-26 17:53:37 +0200slycelote(~slycelote@user/slycelote) (Read error: Connection reset by peer)
2021-07-26 17:53:41 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-07-26 17:55:18 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-26 17:57:31 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija)
2021-07-26 17:58:17 +0200jeetelongname(~jeet@host-89-241-98-229.as13285.net) (Ping timeout: 252 seconds)
2021-07-26 17:58:18 +0200zmt01(~zmt00@user/zmt00)
2021-07-26 17:58:40 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-07-26 18:02:09 +0200thyriaen(~thyriaen@dynamic-089-012-214-253.89.12.pool.telefonica.de)
2021-07-26 18:02:41 +0200pe200012_(~pe200012@113.105.10.33)
2021-07-26 18:02:46 +0200pe200012(~pe200012@113.105.10.33) (Ping timeout: 265 seconds)
2021-07-26 18:04:01 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-07-26 18:05:25 +0200chele(~chele@user/chele) (Remote host closed the connection)
2021-07-26 18:06:36 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-26 18:07:36 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk)
2021-07-26 18:07:58 +0200lavaman(~lavaman@98.38.249.169)
2021-07-26 18:13:55 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-26 18:20:59 +0200mnrmnaugh(~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net)
2021-07-26 18:21:40 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-26 18:22:56 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-26 18:23:11 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-07-26 18:23:28 +0200lavaman(~lavaman@98.38.249.169)
2021-07-26 18:26:45 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-07-26 18:28:51 +0200Atum_(~IRC@user/atum/x-2392232)
2021-07-26 18:29:10 +0200thyriaen(~thyriaen@dynamic-089-012-214-253.89.12.pool.telefonica.de) (Remote host closed the connection)
2021-07-26 18:29:53 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-26 18:30:02 +0200soft-warm(~soft-warm@2600:8801:db01:8f0:4884:3488:98a1:1fd9)
2021-07-26 18:31:11 +0200__xor_xor
2021-07-26 18:32:53 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-26 18:32:57 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 276 seconds)
2021-07-26 18:36:22 +0200_bin(~bin@user/bin/x-1583188) (Ping timeout: 245 seconds)
2021-07-26 18:37:20 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
2021-07-26 18:37:42 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-07-26 18:41:14 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-07-26 18:44:21 +0200yoneda(~mike@193.206.102.122) (Quit: leaving)
2021-07-26 18:48:56 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-26 18:49:14 +0200pe200012_(~pe200012@113.105.10.33) (Ping timeout: 255 seconds)
2021-07-26 18:49:51 +0200_bin(~bin@user/bin/x-1583188)
2021-07-26 18:50:25 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk)
2021-07-26 18:53:48 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 256 seconds)
2021-07-26 18:55:08 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-07-26 18:56:01 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
2021-07-26 18:57:39 +0200mnrmnaughBMCC
2021-07-26 18:59:04 +0200peterhil(~peterhil@mobile-access-5d6af6-209.dhcp.inet.fi)
2021-07-26 19:00:22 +0200nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-26 19:02:15 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk)
2021-07-26 19:02:51 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-26 19:03:05 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 252 seconds)
2021-07-26 19:04:01 +0200euandreh(~euandreh@2804:14c:33:9fe5:f655:102a:90bc:6632)
2021-07-26 19:04:59 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es) (Quit: WeeChat 2.8)
2021-07-26 19:05:07 +0200nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2021-07-26 19:06:17 +0200Null_A(~null_a@2601:645:8700:2290:98e5:42b9:7e41:db99)
2021-07-26 19:06:20 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-07-26 19:08:18 +0200Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 240 seconds)
2021-07-26 19:08:42 +0200doyougnu(~user@c-73-25-202-122.hsd1.or.comcast.net)
2021-07-26 19:09:41 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-26 19:10:18 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Client Quit)
2021-07-26 19:11:00 +0200lavaman(~lavaman@98.38.249.169)
2021-07-26 19:11:18 +0200aerona(~aerona@2600:6c54:4600:f300:5d:533e:d781:9302)
2021-07-26 19:11:48 +0200BMCCmnrmnaugh
2021-07-26 19:11:52 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-26 19:15:31 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 258 seconds)
2021-07-26 19:16:18 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-07-26 19:16:22 +0200lavaman(~lavaman@98.38.249.169)
2021-07-26 19:18:25 +0200roboguy_(~roboguy_@2605:a601:ac0e:ae00:6549:5b6:6ac5:3a5d)
2021-07-26 19:19:51 +0200alecs(~alecs@151.62.33.211)
2021-07-26 19:20:24 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-07-26 19:20:30 +0200 <arkanoid> the more I dive into haskell type system, the more I feel it's out of reach for my brain. I now fear the ivory tower.
2021-07-26 19:21:47 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-26 19:22:28 +0200 <davean> arkanoid: its just a pile of equalities
2021-07-26 19:22:53 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk)
2021-07-26 19:22:55 +0200MoC(~moc@user/moc)
2021-07-26 19:23:03 +0200 <davean> Are they equal? Yes/No
2021-07-26 19:23:12 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-26 19:23:41 +0200 <monochrom> I am not sure what kind of response you're looking for.
2021-07-26 19:24:10 +0200 <monochrom> I'm OK with "I'm just venting, please don't answer, nothing to look here" though.
2021-07-26 19:24:37 +0200 <davean> monochrom: no, I pretty much always want to know if two types are equal or not, can you just tell me yes no for every pair of types?
2021-07-26 19:25:00 +0200 <monochrom> I hope I can!
2021-07-26 19:25:10 +0200 <monochrom> But I meant arkanoid's sentence.
2021-07-26 19:26:23 +0200 <monochrom> But regarding type equality, people usually want a way more detailed answer than "no".
2021-07-26 19:26:58 +0200roboguy_(~roboguy_@2605:a601:ac0e:ae00:6549:5b6:6ac5:3a5d) (Remote host closed the connection)
2021-07-26 19:27:05 +0200 <davean> hey want to know why it isn't equal
2021-07-26 19:27:12 +0200 <davean> but thats pretty simple - because it isn't the same thing
2021-07-26 19:27:19 +0200 <monochrom> :)
2021-07-26 19:27:36 +0200 <davean> Honestly I'm serious here, people do seem to tihnk type systems are some complex beast
2021-07-26 19:27:40 +0200roboguy_(~roboguy_@2605:a601:ac0e:ae00:6549:5b6:6ac5:3a5d)
2021-07-26 19:27:41 +0200 <davean> but they're just combinators and equality
2021-07-26 19:28:05 +0200 <davean> I think people make too much of them
2021-07-26 19:28:18 +0200 <davean> They're damn useful, but at the bottom, they're dirt simple
2021-07-26 19:28:58 +0200 <nitrix> I prefer to think of it as constraint solving.
2021-07-26 19:29:40 +0200roboguy_(~roboguy_@2605:a601:ac0e:ae00:6549:5b6:6ac5:3a5d) (Remote host closed the connection)
2021-07-26 19:29:52 +0200roboguy_(~roboguy_@2605:a601:ac0e:ae00:6549:5b6:6ac5:3a5d)
2021-07-26 19:30:03 +0200 <arkanoid> monochrom: I'm not expecting any response, it's just a phrase generated by a peak of frustration. I fear it was too early for trying the comprehension of "Thinking with types". I plan to step back and get another general book instead, just to regain some confidence (hopefully)
2021-07-26 19:30:26 +0200fef(~thedawn@user/thedawn) (Remote host closed the connection)
2021-07-26 19:30:44 +0200 <monochrom> Uh that's definitely an advanced level book.
2021-07-26 19:31:31 +0200 <DigitalKiwi> thinking without types
2021-07-26 19:31:38 +0200 <monochrom> I haven't never studied it or anything equivalent, and yet I wrote a lot of little Haskell programs useful for me.
2021-07-26 19:33:25 +0200 <monochrom> I don't understand why someone would go "I'm a Java beginner" then choose research papers on Java JIT optimization as their first material and then say "this is PhD-level madness, Java is not for me".
2021-07-26 19:33:44 +0200Erutuon(~Erutuon@user/erutuon)
2021-07-26 19:33:45 +0200neceve(~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f)
2021-07-26 19:33:48 +0200 <monochrom> Well, I can understand if the solution is that they don't understand what "I'm a beginner" means.
2021-07-26 19:34:08 +0200 <davean> monochrom: they don't want to be bored?
2021-07-26 19:34:18 +0200 <monochrom> BTW there was also a time when OOP was PhD level stuff.
2021-07-26 19:34:24 +0200 <DigitalKiwi> https://twitter.com/ArchKiwi/status/1230074233012748289?s=20
2021-07-26 19:35:26 +0200 <arkanoid> That's not the point. It's kinda like "I love rally" and then when you finally feel brave enough to jump into a rally car you shit yourself
2021-07-26 19:35:30 +0200ubert(~Thunderbi@77.119.217.220.wireless.dyn.drei.com)
2021-07-26 19:36:07 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com)
2021-07-26 19:36:09 +0200 <davean> monochrom: pretty much the JIT integration is the only reason I'd program Java
2021-07-26 19:36:14 +0200 <davean> monochrom: they have a nice JIT toolkit!
2021-07-26 19:37:08 +0200 <DigitalKiwi> plz buy my new book on dysfunctional programming; types without thinking, available soon but maybe never!
2021-07-26 19:38:05 +0200 <monochrom> Wait, types without thinking? thinking without types?
2021-07-26 19:38:24 +0200 <DigitalKiwi> yes
2021-07-26 19:38:41 +0200 <monochrom> You know, "without" can also mean "outside", so "think outside the types" sounds like an attractive kind of "think outside the box" thing :)
2021-07-26 19:38:56 +0200 <DigitalKiwi> Hecate: does your quotes.txt have an api; i would like to query it
2021-07-26 19:39:24 +0200 <monochrom> "curl | grep" :)
2021-07-26 19:39:51 +0200dunj3(~dunj3@2001:16b8:30df:3d00:990a:dac8:a84c:f3b6) (Remote host closed the connection)
2021-07-26 19:40:02 +0200fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 252 seconds)
2021-07-26 19:40:04 +0200pavonia(~user@user/siracusa)
2021-07-26 19:40:54 +0200fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-26 19:40:55 +0200 <dsal> arkanoid: My experience is that I build dumb things dumb ways and then every once in a while, I remember a thing I read that didn't make any sense to me at the time and realize how it applies to my current situation and makes things much simpler.
2021-07-26 19:41:11 +0200 <DigitalKiwi> .glirclogs/#mostlyabsurd/2020-04-27.log:[12:56:36] <DigitalKiwi> you may wonder how my brain works, to which i ask, does it?
2021-07-26 19:41:21 +0200 <monochrom> DigitalKiwi: Which one do you like more: "thinking without types without thinking", "types without thinking without types"
2021-07-26 19:41:33 +0200 <dsal> e.g., I read about FunctionalDependencies and just kind of ignored it because why would I ever need that? Then it was suddenly the exact solution to a problem I ran into when trying to design something.
2021-07-26 19:42:07 +0200 <DigitalKiwi> monochrom: are you gonna name squat it lol
2021-07-26 19:42:08 +0200 <monochrom> Yeah I like to tell people "I'm a Chinese Room right here" too.
2021-07-26 19:42:18 +0200 <monochrom> :)
2021-07-26 19:42:24 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2021-07-26 19:42:26 +0200 <dsal> Or monoids... they seem so dumb when you read the description. Then you find that when you just do the dumb thing and model stuff as a monoid, things get incrementally easier and suddenly a lot of stuff gets easier.
2021-07-26 19:42:43 +0200 <dsal> But you don't need to start out that way. Just do the simple things and then watch things emerge.
2021-07-26 19:42:57 +0200Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2021-07-26 19:43:00 +0200sedeki(~textual@user/sedeki)
2021-07-26 19:43:07 +0200euandreh(~euandreh@2804:14c:33:9fe5:f655:102a:90bc:6632) (Quit: WeeChat 3.2)
2021-07-26 19:43:25 +0200 <dsal> DigitalKiwi: that looks exactly like something I think constantly.
2021-07-26 19:45:20 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-07-26 19:46:02 +0200 <DigitalKiwi> oh no
2021-07-26 19:46:31 +0200 <DigitalKiwi> the doctors think i'm crazy but what do they know
2021-07-26 19:48:10 +0200 <arkanoid> dsal: I know that feeling. I dived into FP after naively asking (while doing procedure-based programming) "this function is not pure just because it raises exception, is there a solution?" and BAM I was inside the Monad rabbit hole
2021-07-26 19:49:44 +0200mnrmnaugh(~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net) (Quit: Leaving)
2021-07-26 19:49:45 +0200 <arkanoid> so I wrote a Monad metaprogramming based library to cope with that, and then I realised that I was lacking HKT, and BAM I'm here
2021-07-26 19:50:09 +0200 <DigitalKiwi> monochrom: what's that mean
2021-07-26 19:50:38 +0200 <DigitalKiwi> the only mandarin i know is oranges ;(
2021-07-26 19:51:06 +0200 <monochrom> I know Chinese. I came from and grew up in Hong Kong.
2021-07-26 19:52:02 +0200 <DigitalKiwi> what was that like
2021-07-26 19:52:10 +0200 <monochrom> Then I learned that this fellow, John Searle, whose only arguments are founded in circular logic and human ego, coined the term "Chinese Room" to badmouth A.I.
2021-07-26 19:52:11 +0200 <maerwald> odd question :D
2021-07-26 19:54:05 +0200mastarija(~mastarija@31.217.8.174)
2021-07-26 19:54:37 +0200 <monochrom> So my reply is I'm a Chinese Room here, you can't prove that I understand Chinese either (even though you find that I can use it greatly). And BTW I have seen that a lot of TOEFL takers trained for it by training themselves to be awesome English Rooms not awesome English users.
2021-07-26 19:55:02 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk)
2021-07-26 19:55:26 +0200roboguy__(~roboguy_@2605:a601:ac0e:ae00:f433:8617:e8c3:dcbe)
2021-07-26 19:55:40 +0200 <monochrom> Anyway back to being a Haskell Room!
2021-07-26 19:56:01 +0200 <DigitalKiwi> i'll have you know i do not speak english; i'm american!
2021-07-26 19:56:14 +0200 <monochrom> haha
2021-07-26 19:56:28 +0200 <sm> geekosaur, edrx:
2021-07-26 19:56:28 +0200 <sm> cd; stack exec -- ghc-pkg list
2021-07-26 19:56:28 +0200 <sm> stack exec -- ghc-pkg describe ieee754
2021-07-26 19:56:33 +0200 <DigitalKiwi> https://mostlyabsurd.com/about/#robert-djubek
2021-07-26 19:56:44 +0200ikex1(~ash@user/ikex)
2021-07-26 19:56:47 +0200 <monochrom> Shameless plug: Learn how to become a type inference room from my http://www.vex.net/~trebla/haskell/type-inference.html
2021-07-26 19:57:29 +0200ikex-(~ash@user/ikex)
2021-07-26 19:58:17 +0200ikex(ash@user/ikex) (Ping timeout: 265 seconds)
2021-07-26 19:58:17 +0200ikex-ikex
2021-07-26 19:58:59 +0200roboguy_(~roboguy_@2605:a601:ac0e:ae00:6549:5b6:6ac5:3a5d) (Ping timeout: 255 seconds)
2021-07-26 19:59:36 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk) (Ping timeout: 258 seconds)
2021-07-26 20:01:23 +0200ikex1(~ash@user/ikex) (Ping timeout: 268 seconds)
2021-07-26 20:01:53 +0200 <catern> dear #haskell, is there anything like Java's native methods/JNI for Haskell? I know that there's FFI in general, of course, but I mean specifically, a way that you can write down a file full of type signatures, and some tool will process that and generate corresponding C headers that you can then implement? akin to https://www.baeldung.com/jni#2-implementing-a-method-in-c
2021-07-26 20:03:55 +0200 <mastarija> So, I want to create Alternative instance `Alternative f` where `f :: Monoid a => a -> Type`
2021-07-26 20:03:58 +0200 <mastarija> Is this possible?
2021-07-26 20:04:51 +0200 <mastarija> GHC suggests adding instance sigs when I play dumb and define `empty` as `MyCons mempty`
2021-07-26 20:05:03 +0200 <mastarija> But it doesn't seem to be working
2021-07-26 20:06:17 +0200 <roboguy__> mastarija: you are trying to constrain the type argument to f to be a Monoid? If so, that is not really possible without making a new Alternative typeclass (or using one from a library that provides a constrained Alternative class)
2021-07-26 20:06:45 +0200 <mastarija> Yes, that's right
2021-07-26 20:07:07 +0200 <mastarija> roboguy__, hm... that's a shame
2021-07-26 20:07:22 +0200 <[exa]> mastarija: you'd need a proof that the `f` is a monoid for all possible parameters `a`
2021-07-26 20:07:56 +0200 <mastarija> [exa], No, I just want a from `f a` to be a monoid
2021-07-26 20:08:20 +0200 <mastarija> `f` doesn't have to be
2021-07-26 20:08:22 +0200 <[exa]> which you promise to be any type by promising that you can do instances of `Alternative f`
2021-07-26 20:09:22 +0200betelgeuse(~john2gb@94-225-47-8.access.telenet.be) (Quit: The Lounge - https://thelounge.chat)
2021-07-26 20:09:24 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk)
2021-07-26 20:09:27 +0200 <roboguy__> mastarija: you could make a Monoid instance for f with that constraint if that helps, though
2021-07-26 20:09:27 +0200 <[exa]> I'm currently understanding the problem as trying to construct something like `instance (Applicative f, Monoid f a) => Alternative f "if applied to a"`, does that look right?
2021-07-26 20:09:43 +0200 <mastarija> Yes
2021-07-26 20:09:59 +0200 <mastarija> Cani I use something like ~ in the type constraints?
2021-07-26 20:10:25 +0200 <mastarija> Maybe I can say (Alternative ~ f, Monoid f a)?
2021-07-26 20:10:28 +0200 <roboguy__> You can actually only use ~ in a constraint, if I'm understanding you
2021-07-26 20:10:36 +0200 <[exa]> mastarija: one solution would be to have a parametrizable monoid type, like `Monoid1 f` which promises that all `f a` are monoids
2021-07-26 20:10:57 +0200 <[exa]> mastarija: surprise: that typeclass might be almost equivalent to Alternative now (I don't have a proof at hand tho, might need to consult typeclassopedia)
2021-07-26 20:11:29 +0200 <DigitalKiwi> if monochrom is an AI it would explain a lot actually hmm
2021-07-26 20:11:51 +0200 <monochrom> :)
2021-07-26 20:11:53 +0200mc47(~mc47@xmonad/TheMC47) (Read error: Connection reset by peer)
2021-07-26 20:12:12 +0200mc47(~mc47@xmonad/TheMC47)
2021-07-26 20:12:21 +0200 <roboguy__> catern: I'm not sure if there's a general purpose solution to that, but `gl` package has a thing that automatically generates the OpenGL bindings
2021-07-26 20:12:35 +0200 <roboguy__> https://github.com/ekmett/gl
2021-07-26 20:14:12 +0200 <DigitalKiwi> monochrom: do you write for business insider?
2021-07-26 20:14:27 +0200 <monochrom> No.
2021-07-26 20:14:57 +0200 <mastarija> Damn, I tried `forall f a. ( Validated a ~ f a , Monoid a )=> Alternative Validated` and it didn't work :D
2021-07-26 20:15:29 +0200 <[exa]> mastarija: that won't match the kind of Alternative, you're feeding it (* ->Constraint) but it expects *
2021-07-26 20:16:53 +0200 <[exa]> mastarija: btw what's the point of exercise? create an Alternative automatically for all Applicatives that can kindof "behave like" monoids?
2021-07-26 20:17:06 +0200fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 256 seconds)
2021-07-26 20:17:13 +0200MoC(~moc@user/moc) (Quit: Konversation terminated!)
2021-07-26 20:17:35 +0200 <mastarija> [exa], No, I can successfully implement many instances for my `data Validated e = Inert e | Wrong e` data type
2021-07-26 20:17:47 +0200 <mastarija> All but alternative, which I need for validation purposes
2021-07-26 20:17:55 +0200 <roboguy__> mastarija: The fact that you cannot do something like this is a pretty well known limitation, which is why some libraries exist that provide replacement type classes when it is necessary (see, for instance, the "constrained monad problem": https://ku-fpg.github.io/files/Sculthorpe-13-ConstrainedMonad.pdf)
2021-07-26 20:18:01 +0200fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-26 20:18:18 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-07-26 20:18:23 +0200 <mastarija> I could do something like `data Validated e a = Inert a | Wrong e`
2021-07-26 20:18:27 +0200 <monochrom> There are only 4 cases...
2021-07-26 20:19:00 +0200 <mastarija> Then I could implement Alternative, but then I have extra type variable which doesn't really make sense.
2021-07-26 20:19:18 +0200 <roboguy__> mastarija: what about `data Validated_ e a = Inert a | Wrong e; type Validated e = Validated_ e e`?
2021-07-26 20:19:32 +0200 <DigitalKiwi> there are 4 lights
2021-07-26 20:19:48 +0200 <mastarija> roboguy__, right
2021-07-26 20:20:02 +0200 <mastarija> Thought of that, but it kind of felt cheaty :D
2021-07-26 20:20:27 +0200 <roboguy__> There's unfortunately no non-cheating solution, hah. That might be the best among them
2021-07-26 20:20:32 +0200 <catern> roboguy__: hm, yes, but that's opposite of what I'm talking about though, that's generating Haskell from C headers/XML
2021-07-26 20:20:35 +0200pbrisbin(~patrick@162.210.105.197) (Ping timeout: 255 seconds)
2021-07-26 20:20:39 +0200 <mastarija> Yes
2021-07-26 20:20:59 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-26 20:21:10 +0200 <mastarija> Well, off I go experimenting some more. I kind of want to avoid extra libraries, because I'm doing so well without dependencies right now.
2021-07-26 20:22:00 +0200 <mastarija> And I kind of like my libraries to have as few dependencies as possible.
2021-07-26 20:22:04 +0200vk3wtf_(~doc@207.134.220.203.dial.dynamic.acc01-carp-beg.comindico.com.au)
2021-07-26 20:22:27 +0200 <roboguy__> It is worth mentioning, though, that the Validated_ type will have different Functor instances, etc, from the original
2021-07-26 20:23:07 +0200 <roboguy__> If you can get away with just having a Monoid instance instead of an Alternative instance, I would probably go for just the Monoid instance myself
2021-07-26 20:23:17 +0200vk3wtf(~doc@59-102-26-152.tpgi.com.au) (Ping timeout: 255 seconds)
2021-07-26 20:23:47 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-07-26 20:23:59 +0200 <[exa]> mastarija: btw, what does the Monoid instance look like for your Validated?
2021-07-26 20:24:32 +0200 <mastarija> [exa], `mempty = Inert mempty
2021-07-26 20:24:32 +0200 <mastarija> ; mappend = (<>)`
2021-07-26 20:24:38 +0200 <roboguy__> catern: Ah. Hmm, well I am not sure in that case. I'm sure it's possible, but I don't know if it's been automated
2021-07-26 20:25:45 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-07-26 20:25:51 +0200sedeki(~textual@user/sedeki) (Quit: Textual IRC Client: www.textualapp.com)
2021-07-26 20:26:08 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-26 20:26:22 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 272 seconds)
2021-07-26 20:27:06 +0200 <mastarija> [exa], why do you ask?
2021-07-26 20:27:09 +0200 <[exa]> mastarija: how does that work? mappend doesn't kinda typecheck for me
2021-07-26 20:27:55 +0200 <mastarija> [exa], Validated e also has a Semigroup instance
2021-07-26 20:28:07 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-07-26 20:28:10 +0200 <mastarija> That's where <> is coming from
2021-07-26 20:28:18 +0200 <mastarija> If that's what confuses you
2021-07-26 20:28:27 +0200 <monochrom> At some point I would doubt that Validate is supposed to be an Alternative instance.
2021-07-26 20:29:19 +0200 <roboguy__> (<>) is the default implementation for mappend in newer versions of `base`
2021-07-26 20:29:39 +0200Null_A(~null_a@2601:645:8700:2290:98e5:42b9:7e41:db99) (Remote host closed the connection)
2021-07-26 20:30:04 +0200 <mastarija> monochrom, I think I'll just add another "Inert" value without an argument e.g. `data Validated e = Neutral | Inert e | Wrong e`
2021-07-26 20:30:10 +0200 <mastarija> I think this will solve the problem
2021-07-26 20:30:28 +0200berberman(~berberman@user/berberman)
2021-07-26 20:30:42 +0200berberman_(~berberman@user/berberman) (Ping timeout: 240 seconds)
2021-07-26 20:31:54 +0200jolly(~jolly@208.180.97.158) (Quit: Connection closed)
2021-07-26 20:32:03 +0200 <roboguy__> mastarija: Would it work to use Maybe (Validated e) when you need to use an Alternative instance? That would let you avoid adding a new constructor
2021-07-26 20:32:05 +0200 <mastarija> Yep, that pretty much solves it
2021-07-26 20:32:51 +0200 <mastarija> roboguy__, I'd have to think about it. Validated is supposed to be internal type anyway, so it might be ok since users won't see it anyway.
2021-07-26 20:33:03 +0200 <mastarija> roboguy__, But it might make my code less pretty :D
2021-07-26 20:34:25 +0200 <[exa]> mastarija: ah so
2021-07-26 20:36:11 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-26 20:37:12 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-26 20:39:11 +0200Null_A(~null_a@2601:645:8700:2290:98e5:42b9:7e41:db99)
2021-07-26 20:43:45 +0200fef(~thedawn@user/thedawn)
2021-07-26 20:44:07 +0200 <maerwald> https://hackage.haskell.org/package/conduit-1.3.4.1/docs/Conduit.html#v:concatMapMC who knows what this does
2021-07-26 20:44:08 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal)
2021-07-26 20:44:41 +0200dunkeln(~dunkeln@94.129.69.87) (Ping timeout: 265 seconds)
2021-07-26 20:45:55 +0200lavaman(~lavaman@98.38.249.169)
2021-07-26 20:45:57 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-26 20:46:20 +0200deejaytee(~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net)
2021-07-26 20:46:49 +0200enoq(~enoq@194-208-179-35.lampert.tv) (Quit: enoq)
2021-07-26 20:46:58 +0200 <monochrom> Perhaps you can instantiate mono = [a], Element mono = a.
2021-07-26 20:47:20 +0200 <monochrom> Then you have: Monad m => (a -> m [a]) -> ConduitT a a m ()
2021-07-26 20:47:24 +0200slack1256(~slack1256@181.203.14.134)
2021-07-26 20:48:11 +0200 <monochrom> err perhaps mono = [b], Element mono = b.
2021-07-26 20:48:24 +0200 <monochrom> Monad m => (a -> m [b]) -> ConduitT a b m ()
2021-07-26 20:49:03 +0200 <monochrom> Recall vanilla concatMap :: (a -> [b]) -> [a] -> [b].
2021-07-26 20:49:38 +0200 <monochrom> So suppose you generalize a->[b] to a -> m [b], and [a]->[b] to ConduitT a b m ()
2021-07-26 20:51:03 +0200 <maerwald> mono is `Maybe a` I think in my case and the whole conduit run seems to process the input in reverse and then short-circuit on the first Nothing
2021-07-26 20:51:11 +0200 <maerwald> it's rather odd
2021-07-26 20:52:04 +0200 <maerwald> https://github.com/commercialhaskell/stack/blob/7927a3aec32e2b2e5e4fb5be76d0d50eddcc197f/src/Stack…
2021-07-26 20:52:29 +0200 <monochrom> I would not be surprised at short-circuting Nothing. >>= does it. Everyone does it.
2021-07-26 20:52:48 +0200 <maerwald> the expected behavior would be to process list in order and then short-circuit on the first Just
2021-07-26 20:52:52 +0200 <maerwald> so this is all upside down
2021-07-26 20:53:00 +0200 <maerwald> s/list/stream/
2021-07-26 20:53:34 +0200arkho(~ccc@dynamic-acs-24-112-153-241.zoominternet.net)
2021-07-26 20:54:04 +0200dunkeln(~dunkeln@94.129.69.87)
2021-07-26 20:58:15 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-26 21:02:07 +0200phma(~phma@host-67-44-209-47.hnremote.net) (Read error: Connection reset by peer)
2021-07-26 21:03:24 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-07-26 21:03:42 +0200son0p(~ff@181.136.122.143) (Ping timeout: 250 seconds)
2021-07-26 21:04:48 +0200zeenk(~zeenk@2a02:2f04:a008:d600:18f2:3421:bac6:8f38) (Quit: Konversation terminated!)
2021-07-26 21:08:50 +0200 <Hecate> tdammers: how much do I need to bribe you to give life to this extension? https://gitlab.haskell.org/ghc/ghc/-/wikis/intrinsic-superclasses
2021-07-26 21:08:54 +0200 <Hecate> :P
2021-07-26 21:09:20 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 265 seconds)
2021-07-26 21:11:20 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-07-26 21:11:57 +0200savask(~savask@Powder/Developer/savask) ()
2021-07-26 21:13:13 +0200 <DigitalKiwi> how can we overthrow the capitalists if you create super classes!
2021-07-26 21:13:44 +0200 <monochrom> Actually I think that's how to overthrow the capitalists.
2021-07-26 21:13:46 +0200jolly(~jolly@208.180.97.158)
2021-07-26 21:15:00 +0200jeetelongname(~jeet@host-89-241-98-229.as13285.net)
2021-07-26 21:15:38 +0200 <maerwald> but they all invested in bitcoin already
2021-07-26 21:17:09 +0200 <Hecate> DigitalKiwi: fortunately, typeclasses are not marxist superstructures :P
2021-07-26 21:17:54 +0200pera(~pera@user/pera)
2021-07-26 21:18:11 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 255 seconds)
2021-07-26 21:18:21 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-07-26 21:19:23 +0200 <DigitalKiwi> https://twitter.com/ArchKiwi/status/1414030295318282241
2021-07-26 21:19:55 +0200roboguy__(~roboguy_@2605:a601:ac0e:ae00:f433:8617:e8c3:dcbe) (Remote host closed the connection)
2021-07-26 21:20:14 +0200roboguy_(~roboguy_@2605:a601:ac0e:ae00:f433:8617:e8c3:dcbe)
2021-07-26 21:20:53 +0200 <monochrom> I think I don't know what OH and c mean there.
2021-07-26 21:21:12 +0200 <DigitalKiwi> overheard
2021-07-26 21:21:39 +0200 <Hecate> c's => cease, monochrom
2021-07-26 21:21:42 +0200 <monochrom> I guess "c's" is meant to be pronounced like "seize"
2021-07-26 21:22:25 +0200 <monochrom> @quote monochrom faster.than.
2021-07-26 21:22:25 +0200 <lambdabot> monochrom says: einstein's theory implies that haskell cannot be faster than c
2021-07-26 21:22:35 +0200 <DigitalKiwi> yeah, "seize" = "c is" = "c's"
2021-07-26 21:23:14 +0200phma(phma@2001:0:c38c:c38c:2470:b89:bcd3:2fcf)
2021-07-26 21:23:27 +0200 <monochrom> memes of production
2021-07-26 21:23:48 +0200 <DigitalKiwi> very good
2021-07-26 21:23:52 +0200DigitalKiwigives monochrom a bot snack
2021-07-26 21:23:57 +0200 <monochrom> https://groups.google.com/g/comp.lang.functional/c/VhekkXaMXew/m/tZVh_fKWGlcJ
2021-07-26 21:24:01 +0200 <monochrom> :)
2021-07-26 21:24:42 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 240 seconds)
2021-07-26 21:25:28 +0200 <monochrom> in which I missed the opportunity to phrase it as "bug production and bugfix production".
2021-07-26 21:25:29 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-26 21:25:44 +0200 <DigitalKiwi> i came up with the punchline; the joke was supposed to be about parsers/compilers; but then i couldn't think of a good joke so i just let the reader infer one ;p
2021-07-26 21:26:06 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-26 21:27:44 +0200phma_(phma@2001:5b0:211b:f028:d413:7a65:5bfd:d581)
2021-07-26 21:28:05 +0200 <Hecate> context inference, typical haskeller joke
2021-07-26 21:28:05 +0200phma(phma@2001:0:c38c:c38c:2470:b89:bcd3:2fcf) (Ping timeout: 255 seconds)
2021-07-26 21:28:47 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-07-26 21:29:36 +0200 <DigitalKiwi> :D
2021-07-26 21:30:04 +0200 <DigitalKiwi> that i was too lazy to create a proper joke too lol
2021-07-26 21:30:20 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 255 seconds)
2021-07-26 21:31:05 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-26 21:32:15 +0200 <DigitalKiwi> https://mostlyabsurd.com/files/2021-07-26-193120_2215x569_scrot.png
2021-07-26 21:39:49 +0200mcglk_(~mcglk@131.191.49.120)
2021-07-26 21:40:01 +0200cohn(~noone@user/cohn)
2021-07-26 21:41:02 +0200mcglk(~mcglk@131.191.49.120) (Ping timeout: 252 seconds)
2021-07-26 21:42:12 +0200 <mastarija> In very abstract terms, let's say I'm describing some action that can either produce success or failure, when using the Alternative, what should alternative do?
2021-07-26 21:42:36 +0200 <mastarija> My instinct is, if a1 in a1 <|> a2 fails, then it should return a1
2021-07-26 21:42:48 +0200 <mastarija> Otherwise it should return a2
2021-07-26 21:42:54 +0200chris_(~chris@81.96.113.213)
2021-07-26 21:42:56 +0200 <mastarija> But what if both of actions fail?
2021-07-26 21:43:07 +0200 <Rembane> It should produce failure imo
2021-07-26 21:43:09 +0200 <mastarija> Should I only return the second one, or concat them?
2021-07-26 21:43:32 +0200 <mastarija> Rembane, I forgot to mention, I'm looking to return the failure error at the end
2021-07-26 21:43:56 +0200 <mastarija> So I'm not sure if I should return both failure errors, or just the last one I've tested?
2021-07-26 21:44:03 +0200 <monochrom> a1 *> a2 already does "both need to succeed". What would be the point of <|> if it did the same thing.
2021-07-26 21:44:05 +0200 <Hecate> if you care so much about using (<|>) then write an Either-like type for which the Applicative law is reversed :P
2021-07-26 21:44:08 +0200 <mastarija> My intuition is "just" the last one
2021-07-26 21:44:22 +0200dunkeln(~dunkeln@94.129.69.87) (Ping timeout: 268 seconds)
2021-07-26 21:44:47 +0200 <dsal> > Nothing <|> Just 3
2021-07-26 21:44:48 +0200 <lambdabot> Just 3
2021-07-26 21:44:49 +0200 <dsal> > Nothing <|> Nothing
2021-07-26 21:44:51 +0200 <lambdabot> Nothing
2021-07-26 21:45:17 +0200 <mastarija> Error a <|> Error b = Error b
2021-07-26 21:45:19 +0200 <mastarija> Or
2021-07-26 21:45:25 +0200 <monochrom> And considering the law "empty <|> x = x".
2021-07-26 21:45:29 +0200 <mastarija> Error a <|> Error b = Error a <> b
2021-07-26 21:45:42 +0200 <geekosaur> isn't that These?
2021-07-26 21:46:02 +0200 <mastarija> geekosaur, what do you mean?
2021-07-26 21:46:13 +0200 <geekosaur> @hackage these
2021-07-26 21:46:13 +0200 <lambdabot> https://hackage.haskell.org/package/these
2021-07-26 21:46:29 +0200 <mastarija> Oh
2021-07-26 21:47:27 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-07-26 21:48:06 +0200 <mastarija> geekosaur, no I need Monoid among other instances for my usecase
2021-07-26 21:48:46 +0200 <mastarija> But my question is more about the "Alternative" in general
2021-07-26 21:48:53 +0200 <mastarija> What is the reasoning behind it
2021-07-26 21:49:24 +0200 <mastarija> It says it's a monoid on applicative functors
2021-07-26 21:49:29 +0200 <Rembane> I think the very informal reasoning is: pick the first one that works.
2021-07-26 21:49:49 +0200 <mastarija> Yes, but what if neither work, but that "not working" produces a result
2021-07-26 21:49:55 +0200 <mastarija> Do I return both results
2021-07-26 21:50:00 +0200 <mastarija> Or just the last one?
2021-07-26 21:50:31 +0200 <mastarija> I have constraint that my type is "Monoid a => MyType a"
2021-07-26 21:51:01 +0200 <mastarija> Rembane, In that case I could mappend the two wrong results
2021-07-26 21:51:10 +0200 <Rembane> mastarija: If nothing works, you could return mempty.
2021-07-26 21:51:16 +0200wz1000_(~zubin@static.11.113.47.78.clients.your-server.de) (Quit: WeeChat 2.8)
2021-07-26 21:51:25 +0200wz1000(~zubin@static.11.113.47.78.clients.your-server.de)
2021-07-26 21:51:44 +0200 <Rembane> mastarija: What I forgot to say earlier is that you decide this. It's your type. What makes sense to you? You can look at Maybe, Either and These for inspiration.
2021-07-26 21:51:45 +0200 <mastarija> Rembane, but I want to return information about what didn't work
2021-07-26 21:51:58 +0200 <mastarija> Rembane, ok
2021-07-26 21:52:06 +0200 <mastarija> That's the answer I was looking for
2021-07-26 21:52:09 +0200 <mastarija> :D
2021-07-26 21:52:33 +0200 <Rembane> :D
2021-07-26 21:52:45 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
2021-07-26 21:53:02 +0200 <dsal> I've tried some validation class that was like an error collecting Either, but it was more complicated and a worse experience than just not running a separate validation phase (from my parser).
2021-07-26 21:53:04 +0200Null_A(~null_a@2601:645:8700:2290:98e5:42b9:7e41:db99) (Remote host closed the connection)
2021-07-26 21:53:32 +0200 <Rembane> Another example is a result type for a web form, there you probably want to have a way to collect the errors and associate them with fields.
2021-07-26 21:53:46 +0200Null_A(~null_a@2601:645:8700:2290:98e5:42b9:7e41:db99)
2021-07-26 21:54:27 +0200 <mastarija> https://hackage.haskell.org/package/valor
2021-07-26 21:54:32 +0200 <mastarija> Rembane, my library
2021-07-26 21:54:45 +0200 <mastarija> I'm just working on some improvements and simplifications
2021-07-26 21:55:17 +0200kayprish(~kayprish@cable-188-2-229-172.dynamic.sbb.rs)
2021-07-26 21:55:22 +0200 <dsal> ` <*> checks username [nonempty, nonbollocks, nonshort]`
2021-07-26 21:55:34 +0200 <mastarija> :D
2021-07-26 21:55:53 +0200 <Rembane> mastarija: Cool!
2021-07-26 21:56:02 +0200 <mastarija> I'm adding alternative, and monad interface right now
2021-07-26 21:56:31 +0200 <mastarija> + some overloaded check to replace all that checks mapChecks check etc.. functions
2021-07-26 21:57:40 +0200 <dsal> mastarija: Have you looked at this one? https://hackage.haskell.org/package/validation
2021-07-26 21:57:49 +0200 <dsal> That's the one I used briefly and then stopped using
2021-07-26 21:58:49 +0200 <mastarija> Yes, I've checked out a few of them, but they were too annoying to use
2021-07-26 21:59:00 +0200 <mastarija> So I've made something to fit my tastes
2021-07-26 21:59:03 +0200 <dsal> Good, good.
2021-07-26 21:59:21 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-07-26 21:59:27 +0200 <mastarija> I was more into "structured" validation, and working with records.
2021-07-26 22:00:32 +0200mcglk(~mcglk@131.191.49.120)
2021-07-26 22:02:02 +0200Null_A(~null_a@2601:645:8700:2290:98e5:42b9:7e41:db99) (Remote host closed the connection)
2021-07-26 22:02:16 +0200Null_A(~null_a@2601:645:8700:2290:98e5:42b9:7e41:db99)
2021-07-26 22:02:30 +0200mcglk_(~mcglk@131.191.49.120) (Ping timeout: 256 seconds)
2021-07-26 22:05:24 +0200juhp(~juhp@128.106.188.220) (Ping timeout: 265 seconds)
2021-07-26 22:06:28 +0200neceve(~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) (Ping timeout: 256 seconds)
2021-07-26 22:06:39 +0200deejaytee(~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) (Quit: Leaving)
2021-07-26 22:06:42 +0200blackfield(~blackfiel@85.255.4.218) ()
2021-07-26 22:06:44 +0200juhp(~juhp@128.106.188.220)
2021-07-26 22:07:32 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-26 22:08:14 +0200roboguy_(~roboguy_@2605:a601:ac0e:ae00:f433:8617:e8c3:dcbe) (Remote host closed the connection)
2021-07-26 22:08:46 +0200roboguy_(~roboguy_@2605:a601:ac0e:ae00:f433:8617:e8c3:dcbe)
2021-07-26 22:11:18 +0200roboguy__(~roboguy_@2605:a601:ac0e:ae00:959f:1295:6730:1386)
2021-07-26 22:12:41 +0200robogu___(~roboguy_@136.37.123.186)
2021-07-26 22:13:52 +0200phma_(phma@2001:5b0:211b:f028:d413:7a65:5bfd:d581) (Read error: Connection reset by peer)
2021-07-26 22:14:40 +0200roboguy_(~roboguy_@2605:a601:ac0e:ae00:f433:8617:e8c3:dcbe) (Ping timeout: 272 seconds)
2021-07-26 22:14:53 +0200robogu___(~roboguy_@136.37.123.186) (Client Quit)
2021-07-26 22:15:32 +0200roboguy__(~roboguy_@2605:a601:ac0e:ae00:959f:1295:6730:1386) (Ping timeout: 245 seconds)
2021-07-26 22:16:58 +0200mnrmnaugh(~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net)
2021-07-26 22:17:18 +0200hexfive(~eric@50.35.83.177)
2021-07-26 22:18:55 +0200jmorris(uid433911@id-433911.stonehaven.irccloud.com)
2021-07-26 22:20:22 +0200mr-red(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-07-26 22:20:32 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 245 seconds)
2021-07-26 22:22:30 +0200jco(~jco@213-64-226-9-no542.tbcn.telia.com) (Remote host closed the connection)
2021-07-26 22:25:49 +0200 <ixlun> Is there a way to get a kind of intersperse concat, so that: a -> [[a]] -> [a]
2021-07-26 22:26:05 +0200 <maerwald> I can't believe I'm fixing stack bugs now.
2021-07-26 22:26:06 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection)
2021-07-26 22:26:21 +0200 <ixlun> e.g. intersperseConcat 0 [[1,2,3],[4,5,6],[7,8,9]] = [1,2,3,0,4,5,6,0,7,8,9]?
2021-07-26 22:26:48 +0200 <geekosaur> :t intercalate
2021-07-26 22:26:49 +0200 <lambdabot> [a] -> [[a]] -> [a]
2021-07-26 22:27:24 +0200alecs(~alecs@151.62.33.211) (Quit: WeeChat 3.2)
2021-07-26 22:27:34 +0200notzmv(~zmv@user/notzmv)
2021-07-26 22:27:46 +0200 <ixlun> Aha
2021-07-26 22:27:49 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-26 22:28:07 +0200 <geekosaur> > intercalate 0 [[1,2,3],[4,5,6],[7,8,9]] = [1,2,3,0,4,5,6,0,7,8,9]
2021-07-26 22:28:07 +0200 <geekosaur> duh
2021-07-26 22:28:07 +0200 <geekosaur> > intercalate 0 [[1,2,3],[4,5,6],[7,8,9]]
2021-07-26 22:28:09 +0200 <lambdabot> error:
2021-07-26 22:28:09 +0200 <lambdabot> • No instance for (Num [Integer])
2021-07-26 22:28:09 +0200 <lambdabot> arising from a use of ‘e_10123456789’
2021-07-26 22:28:09 +0200 <lambdabot> <hint>:1:42: error: parse error on input ‘=’
2021-07-26 22:28:10 +0200 <Rembane> Intergalactic planetary.
2021-07-26 22:28:22 +0200lavaman(~lavaman@98.38.249.169)
2021-07-26 22:28:57 +0200 <geekosaur> > intercalate [0] [[1,2,3],[4,5,6],[7,8,9]]
2021-07-26 22:28:58 +0200 <lambdabot> [1,2,3,0,4,5,6,0,7,8,9]
2021-07-26 22:29:04 +0200 <geekosaur> there we go
2021-07-26 22:31:39 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-07-26 22:31:46 +0200 <xerox> :t intersperse
2021-07-26 22:31:47 +0200 <lambdabot> a -> [a] -> [a]
2021-07-26 22:32:38 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-26 22:32:42 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-07-26 22:32:55 +0200mcglk_(~mcglk@131.191.49.120)
2021-07-26 22:32:56 +0200mcglk(~mcglk@131.191.49.120) (Read error: Connection reset by peer)
2021-07-26 22:33:06 +0200 <edrx> sm: fantastic, thanks!!! =)
2021-07-26 22:33:49 +0200edrx(~Eduardo@2804:56c:d2fd:4c00:aca5:2e51:5bdd:e463) (Killed buffer)
2021-07-26 22:37:40 +0200 <sm> thanks 🙏🏻 maerwald!
2021-07-26 22:38:45 +0200 <maerwald> sm: well, so far they haven't merged any of my PRs... I guess they don't like me :p
2021-07-26 22:39:43 +0200 <maerwald> sm: maybe make some noise for me https://github.com/commercialhaskell/stack/pull/5593
2021-07-26 22:39:46 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2021-07-26 22:39:48 +0200Deide(~Deide@217.155.19.23)
2021-07-26 22:39:48 +0200Deide(~Deide@217.155.19.23) (Changing host)
2021-07-26 22:39:48 +0200Deide(~Deide@user/deide)
2021-07-26 22:39:52 +0200 <maerwald> like "omg, this is what we needed"
2021-07-26 22:40:16 +0200 <sm> maerwald: oh well, are you fixing bugs or proposing features ?
2021-07-26 22:40:26 +0200 <maerwald> both
2021-07-26 22:40:48 +0200 <geekosaur> not sure anyone over there cares about system-ghc: true
2021-07-26 22:40:51 +0200 <maerwald> I'm close before forking stack :>
2021-07-26 22:41:05 +0200 <maerwald> or rather: downstream patching
2021-07-26 22:41:13 +0200 <sm> accepting prs is not always easy or quick as you probably know
2021-07-26 22:41:53 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-07-26 22:42:24 +0200 <maerwald> geekosaur: wouldn't surprise me if they don't wanna fix bugs for certain features
2021-07-26 22:45:23 +0200 <sm> also I don't know the state of stack maintenance but I bet it is nobody's job and probably negatively Snoyman's (in the way that you have to try to step back from projects to get other stuff done)
2021-07-26 22:45:34 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-26 22:46:04 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk)
2021-07-26 22:46:42 +0200 <maerwald> There might be other reasons at play here ;)
2021-07-26 22:49:18 +0200fef(~thedawn@user/thedawn) (Remote host closed the connection)
2021-07-26 22:49:24 +0200deejaytee(~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net)
2021-07-26 22:51:00 +0200burnsidesLlama(~burnsides@dhcp168-022.wadham.ox.ac.uk) (Ping timeout: 276 seconds)
2021-07-26 22:51:59 +0200 <sm> I am so not interested in those
2021-07-26 22:52:14 +0200 <maerwald> :)
2021-07-26 22:52:54 +0200tv(~tv@user/tv) (Ping timeout: 250 seconds)
2021-07-26 22:53:18 +0200jeetelongname(~jeet@host-89-241-98-229.as13285.net) (Ping timeout: 272 seconds)
2021-07-26 22:53:25 +0200 <maerwald> sm: your user voice as someone heavily relying on `system-ghc: true` might still help
2021-07-26 22:53:45 +0200 <sm> i never use that
2021-07-26 22:53:55 +0200 <maerwald> they don't have to know
2021-07-26 22:54:13 +0200 <maerwald> help me out here
2021-07-26 22:54:21 +0200fawful(~guy@c-76-104-217-93.hsd1.wa.comcast.net)
2021-07-26 22:56:32 +0200 <sm> I'm sure your pr will get processed like all others, no need for special pleading surely
2021-07-26 22:57:07 +0200ubert(~Thunderbi@77.119.217.220.wireless.dyn.drei.com) (Ping timeout: 265 seconds)
2021-07-26 22:58:19 +0200 <maerwald> that's quite optimistic
2021-07-26 22:59:57 +0200mastarija(~mastarija@31.217.8.174) (Read error: Connection reset by peer)
2021-07-26 23:01:08 +0200acidjnk(~acidjnk@p200300d0c72b9530cd3c2cd496b9a9f7.dip0.t-ipconnect.de)
2021-07-26 23:01:33 +0200acidjnk_new(~acidjnk@p200300d0c72b95307d6f962729a92c22.dip0.t-ipconnect.de)
2021-07-26 23:02:15 +0200acidjnk_new3(~acidjnk@p200300d0c72b953020abcb826e8e1ebf.dip0.t-ipconnect.de)
2021-07-26 23:02:32 +0200 <sm> I am frustrated by the usual negativity around what is in the end just another a great FOSS project so I think I'd better chill. I am optimistic :)
2021-07-26 23:02:50 +0200 <sm> see you later
2021-07-26 23:05:28 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2021-07-26 23:05:44 +0200acidjnk(~acidjnk@p200300d0c72b9530cd3c2cd496b9a9f7.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-07-26 23:06:17 +0200acidjnk_new(~acidjnk@p200300d0c72b95307d6f962729a92c22.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-07-26 23:07:51 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-26 23:08:50 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-26 23:10:49 +0200 <maerwald> subscribe to lkml for a month if you think haskell is negative :p
2021-07-26 23:11:08 +0200 <yushyin> :D
2021-07-26 23:11:49 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-07-26 23:12:17 +0200 <yushyin> too much traffic anyway, wouldn't want to read all that
2021-07-26 23:12:55 +0200 <maerwald> wouldn't be surprised if there were actual suicide attempts following lkml threads... at least Linus once talked about a case where he very harshly rejected a patch of someone who turned out to be suicidal
2021-07-26 23:13:19 +0200 <maerwald> oddly, his conclusion wasn't to be less of an a**, but to reject patches earlier
2021-07-26 23:18:03 +0200jneira_(~jneira_@28.red-80-28-169.staticip.rima-tde.net)
2021-07-26 23:18:07 +0200slac61603(~slack1256@191.125.21.222)
2021-07-26 23:18:25 +0200tv(~tv@user/tv)
2021-07-26 23:18:40 +0200finsternis(~X@23.226.237.192)
2021-07-26 23:20:12 +0200slack1256(~slack1256@181.203.14.134) (Ping timeout: 250 seconds)
2021-07-26 23:21:43 +0200hexfive(~eric@50.35.83.177) (Quit: WeeChat 3.0)
2021-07-26 23:25:24 +0200renzhi(~xp@142.184.90.63)
2021-07-26 23:30:24 +0200oxide(~lambda@user/oxide) (Quit: oxide)
2021-07-26 23:33:42 +0200kayprish(~kayprish@cable-188-2-229-172.dynamic.sbb.rs) (Remote host closed the connection)
2021-07-26 23:35:32 +0200mr-red(~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 245 seconds)
2021-07-26 23:41:02 +0200turlando(~turlando@93-42-250-112.ip89.fastwebnet.it)
2021-07-26 23:41:02 +0200turlando(~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host)
2021-07-26 23:41:02 +0200turlando(~turlando@user/turlando)
2021-07-26 23:41:56 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
2021-07-26 23:46:27 +0200michalz(~michalz@185.246.204.55) (Remote host closed the connection)
2021-07-26 23:48:26 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-26 23:48:42 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-07-26 23:50:06 +0200mikoto-chan(~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be) (Ping timeout: 250 seconds)
2021-07-26 23:51:31 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 258 seconds)
2021-07-26 23:53:28 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-26 23:55:48 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-07-26 23:55:48 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-07-26 23:55:51 +0200allbery_bgeekosaur
2021-07-26 23:58:21 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)