2021/03/27

2021-03-27 00:05:33 +0100v01d4lph4(~v01d4lph4@106.212.133.35)
2021-03-27 00:05:57 +0100ezrakilty(~ezrakilty@97-113-58-224.tukw.qwest.net)
2021-03-27 00:07:12 +0100Ariakenom(~Ariakenom@2001:9b1:efb:fc00:c89b:d650:ef2f:7e78) (Quit: Leaving)
2021-03-27 00:07:31 +0100molehillish(~molehilli@2600:8800:8d06:1800:f8ba:265:7129:d312)
2021-03-27 00:07:39 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-27 00:08:11 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 240 seconds)
2021-03-27 00:08:16 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 260 seconds)
2021-03-27 00:09:23 +0100Franciman(~francesco@host-79-53-62-46.retail.telecomitalia.it) (Quit: Leaving)
2021-03-27 00:09:47 +0100v01d4lph4(~v01d4lph4@106.212.133.35) (Ping timeout: 246 seconds)
2021-03-27 00:10:11 +0100ezrakilty(~ezrakilty@97-113-58-224.tukw.qwest.net) (Ping timeout: 240 seconds)
2021-03-27 00:11:59 +0100molehillish(~molehilli@2600:8800:8d06:1800:f8ba:265:7129:d312) (Ping timeout: 252 seconds)
2021-03-27 00:14:55 +0100canta(~canta@cvm0.d5k.one) (Quit: WeeChat 2.8)
2021-03-27 00:14:58 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-03-27 00:15:12 +0100canta(~canta@cvm0.d5k.one)
2021-03-27 00:19:52 +0100gnumonic(~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net)
2021-03-27 00:24:46 +0100hackageesqueleto 3.4.1.1 - Type-safe EDSL for SQL queries on persistent backends. https://hackage.haskell.org/package/esqueleto-3.4.1.1 (parsonsmatt)
2021-03-27 00:27:43 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-03-27 00:27:48 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-03-27 00:28:06 +0100stree(~stree@68.36.8.116) (Ping timeout: 240 seconds)
2021-03-27 00:28:55 +0100 <dcbdan> 1
2021-03-27 00:29:30 +0100dcbdan(~dcbdan@c-73-76-129-120.hsd1.tx.comcast.net) (Quit: leaving)
2021-03-27 00:31:34 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-27 00:34:05 +0100solvr(57e3c46d@87.227.196.109) (Quit: Connection closed)
2021-03-27 00:34:37 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-27 00:35:41 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2021-03-27 00:37:26 +0100Lowl3v3l(~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de) (Ping timeout: 246 seconds)
2021-03-27 00:39:29 +0100borne(~fritjof@200116b864d14f00f7ed9fd86a2491f0.dip.versatel-1u1.de) (Ping timeout: 252 seconds)
2021-03-27 00:40:52 +0100stree(~stree@68.36.8.116)
2021-03-27 00:41:38 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-27 00:43:34 +0100jrm(~jrm@freebsd/developer/jrm) (Ping timeout: 252 seconds)
2021-03-27 00:46:16 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-03-27 00:47:01 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:8f7:80aa:e3bc:f79d)
2021-03-27 00:48:18 +0100frozenErebus(~frozenEre@94.128.81.87) (Ping timeout: 240 seconds)
2021-03-27 00:51:25 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-27 00:54:09 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-157.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-27 00:56:42 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-157.w86-212.abo.wanadoo.fr)
2021-03-27 00:57:16 +0100wonko7(~wonko7@62.115.229.50) (Ping timeout: 260 seconds)
2021-03-27 01:01:30 +0100Narinas(~Narinas@187-178-93-112.dynamic.axtel.net) (Quit: Quit)
2021-03-27 01:04:10 +0100Yumasi(~guillaume@2a01:e0a:5cb:4430:8725:827a:4e58:6cfc) (Ping timeout: 258 seconds)
2021-03-27 01:05:44 +0100 <dgpratt> In e.g. .NET Core there is a configuration pattern that ostensibly makes it easy to configure an application from some combination of JSON config files, environment variables, command line arguments, etc. I don't necessarily need or want all of that (esp. the config files) for Haskell, but what sorts of patterns do Haskellers use to configure their programs?
2021-03-27 01:05:44 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-03-27 01:09:20 +0100 <monochrom> I don't use any systematic system. I just use "options" for command line arguments (more people use optparse-applicative), System.Environment.lookupEnv for environment variables.
2021-03-27 01:09:46 +0100hackagequalified-imports-plugin 0.0.1 - GHC plugin to automatically insert qualified imports https://hackage.haskell.org/package/qualified-imports-plugin-0.0.1 (utdemir)
2021-03-27 01:10:11 +0100thritycool(47a6379f@pool-71-166-55-159.bltmmd.fios.verizon.net)
2021-03-27 01:11:23 +0100 <curiousgay> can anyone please recommend FRP library for GUI?
2021-03-27 01:12:26 +0100 <L29Ah> curiousgay: whatever depending on gi-gtk
2021-03-27 01:12:45 +0100 <monochrom> Having multiple config sources does not cause any headache because since a long time ago people have recongized that configs form a monoid under one of the two priority rules.
2021-03-27 01:13:17 +0100 <monochrom> or at least a semigroup if you don't have defaults.
2021-03-27 01:14:21 +0100 <dgpratt> thanks monochrom -- any particular reason you eschew optparse-applicative?
2021-03-27 01:14:33 +0100 <monochrom> too many features
2021-03-27 01:14:40 +0100 <dgpratt> ah
2021-03-27 01:14:47 +0100 <monochrom> options has a much smaller API
2021-03-27 01:15:09 +0100 <DigitalKiwi> great sales pitch
2021-03-27 01:15:17 +0100 <monochrom> I used to use optparse-applicative when it was slightly smaller.
2021-03-27 01:15:41 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-03-27 01:16:51 +0100 <DigitalKiwi> https://github.com/obsidiansystems/obelisk curiousgay have you seen?
2021-03-27 01:17:19 +0100 <L29Ah> optparse-generic ♥
2021-03-27 01:17:38 +0100 <dgpratt> speaking of the monoid thing, I seem to recall seeing some scheme where one could combine a bunch of possibly "partial" configurations with a default configuration, which would then get combined into a...uh...not partial configuration
2021-03-27 01:17:38 +0100thritycool(47a6379f@pool-71-166-55-159.bltmmd.fios.verizon.net) (Quit: Connection closed)
2021-03-27 01:17:55 +0100 <curiousgay> L29Ah: hm, that's either reflex or reactive-banana, thanks
2021-03-27 01:18:17 +0100 <curiousgay> DigitalKiwi: yes, but I closed that page after seeing that it requires nix package manager
2021-03-27 01:18:28 +0100 <dgpratt> like the partial configurations was a bunch of Maybe values or something, but the resulting computed configuration was unwrapped values...if that makes sense
2021-03-27 01:18:30 +0100Axman6(~Axman6@pdpc/supporter/student/Axman6) (Remote host closed the connection)
2021-03-27 01:18:46 +0100Axman6(~Axman6@pdpc/supporter/student/Axman6)
2021-03-27 01:18:55 +0100 <DigitalKiwi> curiousgay: that's the best part
2021-03-27 01:19:55 +0100 <curiousgay> DigitalKiwi: why? it could simply be placed in hackage
2021-03-27 01:20:24 +0100ezrakilty(~ezrakilty@97-113-58-224.tukw.qwest.net)
2021-03-27 01:20:26 +0100 <DigitalKiwi> but nix isn't a haskell program how could it be on hackage
2021-03-27 01:20:54 +0100 <monochrom> "challenge accepted" >:D
2021-03-27 01:21:15 +0100 <monochrom> afterall, pandoc and xmonad are already on hackage
2021-03-27 01:21:16 +0100 <curiousgay> I'm talking about obelisk on hackage, not nix
2021-03-27 01:22:01 +0100 <curiousgay> also obelisk readme says it's for web and mobile apps, that's not what I want
2021-03-27 01:23:01 +0100 <monochrom> But it has a very substantial, used-in-anger FRP part.
2021-03-27 01:23:38 +0100 <c_wraith> Isn't the FRP part basically reflex?
2021-03-27 01:23:44 +0100 <monochrom> Or maybe it has one as a dependency, I don't know, but it is a very good starting point.
2021-03-27 01:24:08 +0100 <monochrom> Oh, reflex, yeah. So, problem solved?
2021-03-27 01:24:26 +0100ezrakilty(~ezrakilty@97-113-58-224.tukw.qwest.net) (Ping timeout: 240 seconds)
2021-03-27 01:24:30 +0100 <curiousgay> yes, I'll pick between reflex and reactive-banana
2021-03-27 01:24:33 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-27 01:24:58 +0100conal(~conal@64.71.133.70)
2021-03-27 01:26:38 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-27 01:26:46 +0100 <DigitalKiwi> https://dpaste.org/Q55R
2021-03-27 01:27:24 +0100 <curiousgay> FRP appears to be a form of dataflow programming :)
2021-03-27 01:27:34 +0100Tario(~Tario@201.192.165.173)
2021-03-27 01:27:42 +0100Nobita(ca0e7816@202.14.120.22)
2021-03-27 01:28:37 +0100 <curiousgay> I start hating stack, it's impossible to install gpipe, reflex and reactive-banana, I need to switch to cabal
2021-03-27 01:28:39 +0100 <DigitalKiwi> monochrom: lol https://hackage.haskell.org/package/hnix
2021-03-27 01:29:24 +0100conal(~conal@64.71.133.70) (Ping timeout: 252 seconds)
2021-03-27 01:29:33 +0100Nobita(ca0e7816@202.14.120.22) (Client Quit)
2021-03-27 01:31:54 +0100 <monochrom> "Is this Murphy's Law?" meme
2021-03-27 01:34:02 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 265 seconds)
2021-03-27 01:34:27 +0100usr25(~usr25@unaffiliated/usr25) (Quit: Leaving)
2021-03-27 01:34:38 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 240 seconds)
2021-03-27 01:37:26 +0100 <dgpratt> appreciating the apparent simplicity of optparse-generic, thanks L29Ah
2021-03-27 01:37:39 +0100ReinH__ReinH
2021-03-27 01:37:58 +0100codygman`(~user@47.186.207.161) (Ping timeout: 240 seconds)
2021-03-27 01:38:46 +0100conal(~conal@64.71.133.70)
2021-03-27 01:42:11 +0100 <DigitalKiwi> nix is great in that it solves a ton of problems i had, even more i didn't know i had, makes things trivial that i didn't even think were possible or know i wanted, and creates a bunch of problems along the way! (and solves those too though lol)
2021-03-27 01:42:40 +0100myShoggoth(~myShoggot@75.164.81.55)
2021-03-27 01:44:03 +0100L29Ahis going to switch to nix or guix after they implement gentoo-like USE flags
2021-03-27 01:44:55 +0100magnuscake(~magnuscak@87-121-92-61.dyn.launtel.net.au)
2021-03-27 01:44:59 +0100 <curiousgay> DigitalKiwi: I have enough package managers in void linux, more is less
2021-03-27 01:45:11 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2021-03-27 01:45:47 +0100 <justsomeguy> /join/bc
2021-03-27 01:46:13 +0100 <ski> NemesisD : could use `State s' ..
2021-03-27 01:47:53 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-27 01:48:10 +0100 <DigitalKiwi> i have one package manager lol
2021-03-27 01:49:50 +0100solvr(57e3c46d@87.227.196.109)
2021-03-27 01:51:01 +0100 <curiousgay> me too
2021-03-27 01:52:30 +0100 <justsomeguy> Only one? How did you do that? I have to interact with, erm, some of these on a semi-regular basis: (npm/yarn, pip/pipx/poetry, dnf/rpm, apt/dpkg, cabal/stack, docker/podman/etc).
2021-03-27 01:53:09 +0100Synthetica(uid199651@gateway/web/irccloud.com/x-txjeacswfxemjhpo) (Quit: Connection closed for inactivity)
2021-03-27 01:53:29 +0100 <justsomeguy> ...and then there's this weird LaTeX build tool that I keep on forgetting about...
2021-03-27 01:53:34 +0100 <L29Ah> i do everything through portage, including haskell stuff
2021-03-27 01:53:51 +0100 <L29Ah> cabal is used as a build system but not as a package manager
2021-03-27 01:54:20 +0100 <justsomeguy> Oh nice. That sounds pleasant. Maybe even sane :^).
2021-03-27 01:54:42 +0100 <monochrom> Switch to Windows. Then you have 0 package managers. >:)
2021-03-27 01:55:01 +0100 <DigitalKiwi> monochrom: i think you end up with hundreds of them really
2021-03-27 01:55:31 +0100 <L29Ah> but but but windows appstore or how was it called, how is it?
2021-03-27 01:55:40 +0100 <pjb> MSI
2021-03-27 01:55:47 +0100 <L29Ah> not sure if it can resolve dependencies though even
2021-03-27 01:56:07 +0100 <DigitalKiwi> https://search.nixos.org/packages?channel=unstable&from=0&size=50&sort=relevance&query=2nix
2021-03-27 01:56:09 +0100elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
2021-03-27 01:56:19 +0100 <justsomeguy> Ah, they have chocolately, which is some kind of bastard package manager that uses AutoIt gui automation scripts for graphical installers. Then there's nuget, which is a layer on top of it. And the windows store has an actual sane package format.
2021-03-27 01:56:35 +0100mananamenos(~mananamen@62.red-88-11-67.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-03-27 01:56:50 +0100 <justsomeguy> ...and powershell has maybe three package managers of its own.
2021-03-27 01:56:57 +0100 <drakonis> there's an official one that microsoft wrote a while ago
2021-03-27 01:57:07 +0100justsomeguyis somewhat tired of learning new package managers at this point.
2021-03-27 01:57:10 +0100 <drakonis> winpm
2021-03-27 01:57:19 +0100 <drakonis> winget, rather.
2021-03-27 01:58:42 +0100 <curiousgay> justanotheruser: they say cabal is dependency manager, not package manager
2021-03-27 02:00:41 +0100justsomeguypokes through the cabal documentation out of curiosity.
2021-03-27 02:01:26 +0100myShoggoth(~myShoggot@75.164.81.55) (Ping timeout: 240 seconds)
2021-03-27 02:02:21 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-27 02:02:41 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-27 02:02:56 +0100jonatan(~nate@h77-53-70-163.cust.a3fiber.se)
2021-03-27 02:04:09 +0100 <DigitalKiwi> justsomeguy: https://github.com/nix-community/poetry2nix https://input-output-hk.github.io/haskell.nix/ https://haskell4nix.readthedocs.io https://github.com/svanderburg/node2nix https://hackage.haskell.org/package/yarn2nix https://nixos.wiki/wiki/Nixpkgs/Building_RPM_DEB_with_nixpkgs https://nixos.wiki/wiki/Podman and lol https://github.com/google/nixery
2021-03-27 02:04:46 +0100 <justsomeguy> lol, one package manager to rule them all!
2021-03-27 02:04:51 +0100lordyod(~lordyod@c-67-169-144-132.hsd1.ca.comcast.net) (Quit: The Lounge - https://thelounge.chat)
2021-03-27 02:04:59 +0100azure1(~azure@103.154.230.130) (Read error: Connection reset by peer)
2021-03-27 02:05:16 +0100lordyod(~lordyod@c-67-169-144-132.hsd1.ca.comcast.net)
2021-03-27 02:05:17 +0100 <justsomeguy> (I have been meaning to get into Nix, though. Mainly because of the possiblity of replacing ansible on my machine.)
2021-03-27 02:05:31 +0100azure1(~azure@103.154.230.130)
2021-03-27 02:05:39 +0100 <justsomeguy> But thanks, now I have a bunch of other reasons to check it out, too :^)
2021-03-27 02:05:50 +0100 <DigitalKiwi> https://mostlyabsurd.com/files/binance
2021-03-27 02:06:05 +0100puke(~vroom@217.138.252.168)
2021-03-27 02:06:19 +0100 <DigitalKiwi> https://wearewizards.io/my-experience-of-using-nixops-as-an-ansible-user/
2021-03-27 02:06:49 +0100 <DigitalKiwi> tl;dr they like nix
2021-03-27 02:08:35 +0100 <DigitalKiwi> https://dpaste.com/6GB9NLRHF
2021-03-27 02:09:03 +0100molehillish(~molehilli@2600:8800:8d06:1800:f8ba:265:7129:d312)
2021-03-27 02:10:13 +0100 <outerpassage_> i'm very confused by the fact that cabal v2-install has the two options `--installdir` and `--bindir`. what's the difference?
2021-03-27 02:11:08 +0100 <sclv> bindir is for bins that cabal might itself invoke afaik?
2021-03-27 02:12:31 +0100 <outerpassage_> doesn't seem to be the case. it also has analagous options `--libdir` and `--datadir` (along with `--bindir`) where it claims it will install libs and read-only data, respectively
2021-03-27 02:12:40 +0100 <dcoutts_> outerpassage_: bindir is where the binaries actually live. The installdir is where symlinks to the binaries go.
2021-03-27 02:12:40 +0100azure1(~azure@103.154.230.130) (Ping timeout: 252 seconds)
2021-03-27 02:13:02 +0100 <dcoutts_> For example bindir would be in some per-package dir, but symlinks in ~/bin/ that's on your $PATH
2021-03-27 02:13:19 +0100molehillish(~molehilli@2600:8800:8d06:1800:f8ba:265:7129:d312) (Ping timeout: 250 seconds)
2021-03-27 02:13:39 +0100 <outerpassage_> i see, thanks!
2021-03-27 02:13:45 +0100acidjnk_new(~acidjnk@p200300d0c72b951261ba2baa5d07e392.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2021-03-27 02:13:46 +0100conal(~conal@64.71.133.70) (Ping timeout: 252 seconds)
2021-03-27 02:13:55 +0100 <outerpassage_> what if a package wants to install things other than executables (i.e. documentation) globally, though? i don't see any option for that
2021-03-27 02:15:00 +0100 <dcoutts_> sure, that's what all the other standard --blah-dir flags are for, libdir, libexecdir, datadir. All the standard ones.
2021-03-27 02:15:11 +0100 <dcoutts_> And --prefix
2021-03-27 02:17:20 +0100v01d4lph4(~v01d4lph4@106.212.133.35)
2021-03-27 02:18:10 +0100conal(~conal@192.145.118.89)
2021-03-27 02:18:22 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-27 02:18:36 +0100ezrakilty(~ezrakilty@97-113-58-224.tukw.qwest.net)
2021-03-27 02:19:16 +0100 <outerpassage_> hmmm. i find that a bit confusing. it seems like the existence of --installdir suggests that you should build everything in one place, and then copy it over globally if you want to after the fact. but you can only do that for executables, not for everything else
2021-03-27 02:19:21 +0100codygman__(~user@47.186.207.161)
2021-03-27 02:19:41 +0100codygman__(~user@47.186.207.161) (Remote host closed the connection)
2021-03-27 02:19:56 +0100 <outerpassage_> or you can, but you'll have to manually cp it or whatever
2021-03-27 02:20:35 +0100codygman__(~user@47.186.207.161)
2021-03-27 02:21:19 +0100azure1(~azure@103.154.230.130)
2021-03-27 02:21:46 +0100v01d4lph4(~v01d4lph4@106.212.133.35) (Ping timeout: 240 seconds)
2021-03-27 02:22:04 +0100evrt(~evrt@37.120.211.188) (Remote host closed the connection)
2021-03-27 02:22:57 +0100ezrakilty(~ezrakilty@97-113-58-224.tukw.qwest.net) (Ping timeout: 260 seconds)
2021-03-27 02:23:11 +0100codygman__(~user@47.186.207.161) (Remote host closed the connection)
2021-03-27 02:23:36 +0100codygman__(~user@47.186.207.161)
2021-03-27 02:24:15 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-27 02:24:36 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-27 02:26:25 +0100codygman__(~user@47.186.207.161) (Read error: No route to host)
2021-03-27 02:26:35 +0100codygman__(~user@47.186.207.161)
2021-03-27 02:26:58 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 252 seconds)
2021-03-27 02:27:36 +0100 <dcoutts_> outerpassage_: the purpose of it is to allow schemes where you install the package into some location where it is guaranteed not to overwrite anything else, but still allow symlinks for the binaries to be in some shared location that is on the $PATH.
2021-03-27 02:28:01 +0100pfurla(~pfurla@mx141.canadialed.com)
2021-03-27 02:28:23 +0100 <dcoutts_> And it is only executables that want to be on a $PATH.
2021-03-27 02:28:35 +0100 <dcoutts_> You don't have to use this mechanism. It's totally optional.
2021-03-27 02:29:41 +0100 <outerpassage_> alright, thanks!
2021-03-27 02:30:00 +0100 <dcoutts_> For example, cabal-install itself defaults to installing all packages into a store, one package per dir, so no shared bin dir. And then it uses the installdir feature so that you still get symlinks on the $PATHto the binaries you install.
2021-03-27 02:32:34 +0100 <outerpassage_> right
2021-03-27 02:34:14 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-27 02:34:35 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-27 02:37:57 +0100hds(~hds@195.140.213.38)
2021-03-27 02:39:03 +0100codygman__(~user@47.186.207.161) (Remote host closed the connection)
2021-03-27 02:39:17 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds)
2021-03-27 02:39:28 +0100codygman__(~user@47.186.207.161)
2021-03-27 02:42:45 +0100HarveyPwca(~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06)
2021-03-27 02:45:22 +0100Lowl3v3l(~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de)
2021-03-27 02:47:09 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:8f7:80aa:e3bc:f79d) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-27 02:48:41 +0100stree(~stree@68.36.8.116) (Ping timeout: 240 seconds)
2021-03-27 02:49:18 +0100codygman__(~user@47.186.207.161) (Read error: No route to host)
2021-03-27 02:49:22 +0100codygman`(~user@47.186.207.161)
2021-03-27 02:50:42 +0100codygman`(~user@47.186.207.161) (Read error: No route to host)
2021-03-27 02:50:58 +0100codygman__(~user@47.186.207.161)
2021-03-27 02:57:03 +0100drbean_(~drbean@TC210-63-209-145.static.apol.com.tw)
2021-03-27 02:57:47 +0100elusive(~Jeanne-Ka@static-198-54-134-153.cust.tzulo.com)
2021-03-27 02:59:22 +0100codygman__(~user@47.186.207.161) (Ping timeout: 260 seconds)
2021-03-27 03:00:43 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:8f7:80aa:e3bc:f79d)
2021-03-27 03:01:35 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311) (Quit: WeeChat 3.0.1)
2021-03-27 03:02:10 +0100stree(~stree@68.36.8.116)
2021-03-27 03:02:24 +0100puke(~vroom@217.138.252.168) (Read error: Connection reset by peer)
2021-03-27 03:02:49 +0100puke(~vroom@217.138.252.168)
2021-03-27 03:04:46 +0100hackageinput-parsers 0.2.2 - Extension of the parsers library with more capability and efficiency https://hackage.haskell.org/package/input-parsers-0.2.2 (MarioBlazevic)
2021-03-27 03:06:15 +0100mouseghost(~draco@wikipedia/desperek) (Quit: mew wew)
2021-03-27 03:07:25 +0100ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-03-27 03:07:41 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 240 seconds)
2021-03-27 03:09:05 +0100Nik05(~Nik05@unaffiliated/nik05) (Quit: ZNC - https://znc.in)
2021-03-27 03:10:38 +0100electricityZZZZ(~electrici@135-180-3-82.static.sonic.net) (Ping timeout: 240 seconds)
2021-03-27 03:10:46 +0100electricityZZZZ(~electrici@135-180-3-82.static.sonic.net)
2021-03-27 03:12:17 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-27 03:13:33 +0100Nik05(~Nik05@unaffiliated/nik05)
2021-03-27 03:14:06 +0100ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds)
2021-03-27 03:17:18 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-03-27 03:18:31 +0100average(uid473595@gateway/web/irccloud.com/x-bfrylaicmxxrzmte)
2021-03-27 03:22:38 +0100pfurla(~pfurla@mx141.canadialed.com) (Ping timeout: 240 seconds)
2021-03-27 03:22:48 +0100 <gnumonic> Is there a typeclass anywhere for monads that you can "take things out of"? (i.e. that have a function :: m a -> a)
2021-03-27 03:23:40 +0100 <shachaf> Probably not anything meaningful.
2021-03-27 03:23:55 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-27 03:24:05 +0100 <shachaf> It's not a very sensible thing to abstract over, I think.
2021-03-27 03:24:46 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-03-27 03:25:36 +0100 <infinisil> gnumonic: There's MonoPointed: https://hackage.haskell.org/package/mono-traversable-1.0.15.1/docs/Data-MonoTraversable.html#t:Mon…
2021-03-27 03:26:26 +0100 <infinisil> gnumonic: Also, Comonad: https://hackage.haskell.org/package/comonad-5.0.8/docs/Control-Comonad.html#v:extract
2021-03-27 03:27:43 +0100 <shachaf> That former one does not look like a class that's very applicable here.
2021-03-27 03:28:10 +0100 <shachaf> Nor is Comonad, really. I guess the real question is what you want this sort of class for.
2021-03-27 03:28:26 +0100 <shachaf> And what instances are you imagining for it?
2021-03-27 03:29:03 +0100 <infinisil> Well gnumonic hasn't given any context yet, so hard to say if it's applicable
2021-03-27 03:29:51 +0100 <shachaf> The context is that it should be something applicable to monads.
2021-03-27 03:30:12 +0100 <shachaf> Also, wait, MonoPointed isn't even going in the right direction.
2021-03-27 03:30:29 +0100 <gnumonic> Oh I didn't want it for anything in particular, I'm just playing around (somewhat aimlessly) with ways of mixing the store comonad with other things
2021-03-27 03:30:38 +0100 <shachaf> You'd want a class with a name like "Copointed".
2021-03-27 03:30:55 +0100 <infinisil> Oh right, nevermind monopointed
2021-03-27 03:30:57 +0100 <shachaf> (Or, I mean, you probably don't. But that's what the class would be called.)
2021-03-27 03:31:11 +0100 <shachaf> My suggestion is that abstractions don't exist on their own, they exist to abstract over things.
2021-03-27 03:31:42 +0100 <shachaf> If you have two or three concrete things that can share a sensible function :: m a -> a, then it might reasonable to have an abstraction.
2021-03-27 03:32:01 +0100azure1(~azure@103.154.230.130) (Read error: Connection reset by peer)
2021-03-27 03:32:27 +0100azure1(~azure@103.154.230.130)
2021-03-27 03:33:38 +0100Guest55480(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 240 seconds)
2021-03-27 03:34:16 +0100hackagehasql-notifications 0.2.0.0 - LISTEN/NOTIFY support for Hasql https://hackage.haskell.org/package/hasql-notifications-0.2.0.0 (diogob)
2021-03-27 03:35:06 +0100waskell(~quassel@d66-183-124-203.bchsia.telus.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-03-27 03:35:15 +0100 <gnumonic> That's fair. I was really just curious, and a class like that would have made the types line up for an experiment that I can't actually think of an application for. Sometimes it's fun to just see what you can stick together while appeasing the compiler. But thanks :)
2021-03-27 03:35:39 +0100ericsagnes(~ericsagne@2405:6580:0:5100:3ab0:9401:ddfa:4aa4) (Ping timeout: 250 seconds)
2021-03-27 03:35:41 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal)
2021-03-27 03:37:08 +0100 <shachaf> No, of course it's a reasonable question, but I think there's no particularly good general answer.
2021-03-27 03:37:57 +0100solvr(57e3c46d@87.227.196.109) (Quit: Connection closed)
2021-03-27 03:41:44 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2021-03-27 03:43:54 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-27 03:43:59 +0100benkolera(uid285671@gateway/web/irccloud.com/x-xxmlbqheparjayob)
2021-03-27 03:44:27 +0100astronavt(~astronavt@unaffiliated/astronavt)
2021-03-27 03:46:32 +0100solvr(57e3c46d@87.227.196.109)
2021-03-27 03:46:32 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-03-27 03:47:18 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 240 seconds)
2021-03-27 03:47:52 +0100ericsagnes(~ericsagne@2405:6580:0:5100:eee0:b3e1:482f:12f7)
2021-03-27 03:48:44 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-27 03:48:44 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 252 seconds)
2021-03-27 03:49:47 +0100plutoniix(~q@node-unw.pool-125-24.dynamic.totinternet.net)
2021-03-27 03:50:01 +0100xff0x(~xff0x@2001:1a81:524d:5b00:4876:a583:9de0:62c1) (Ping timeout: 276 seconds)
2021-03-27 03:51:16 +0100xff0x(~xff0x@2001:1a81:5267:7900:f33d:bbef:8155:bb1d)
2021-03-27 03:55:59 +0100curiousgayusing GHC 9.0.1
2021-03-27 03:56:26 +0100 <curiousgay> I want to cry, many packages are impossible to install because they require base to be version less than 4.15
2021-03-27 04:01:40 +0100 <dmj`> curiousgay: try 8.10.4
2021-03-27 04:02:50 +0100 <dmj`> curiousgay: you must be patient grasshopper
2021-03-27 04:08:35 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-03-27 04:10:23 +0100elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Quit: WeeChat 3.1)
2021-03-27 04:11:28 +0100elusive(~Jeanne-Ka@static-198-54-134-153.cust.tzulo.com) (Ping timeout: 252 seconds)
2021-03-27 04:14:33 +0100elliott_(~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
2021-03-27 04:17:04 +0100 <curiousgay> dmj`: yeah, also it appears even with GHC 8.10.4 reflex is not available to me
2021-03-27 04:17:26 +0100 <dmj`> curiousgay: should be
2021-03-27 04:17:43 +0100 <curiousgay> base (>=4.9 && <4.14)
2021-03-27 04:18:28 +0100 <curiousgay> just why people have such inadequate requirements to dependencies
2021-03-27 04:19:04 +0100 <dmj`> curiousgay: well then heaven forbid use 8.10.3
2021-03-27 04:19:08 +0100 <dmj`> nix-shell -p 'haskellPackages.ghcWithPackages(p: with p; [reflex])' --run 'ghc-pkg list reflex'
2021-03-27 04:19:14 +0100 <dmj`> > reflex-0.8.0.0
2021-03-27 04:19:16 +0100 <lambdabot> error: Variable not in scope: reflex :: a -> c
2021-03-27 04:19:40 +0100 <dmj`> no flex zone
2021-03-27 04:20:54 +0100 <curiousgay> I mean every new release of base 4 is backwards compatible, right?
2021-03-27 04:20:58 +0100elliott_(~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2021-03-27 04:21:11 +0100alx741(~alx741@186.178.109.203) (Ping timeout: 240 seconds)
2021-03-27 04:21:16 +0100 <dmj`> curiousgay: there's a base-compat library that's meant to help with this sort of thing
2021-03-27 04:22:09 +0100 <dmj`> curiousgay: I just wouldn't upgrade the compiler until library authors are on board, stackage process will pressure people to upgrade
2021-03-27 04:22:28 +0100 <dmj`> pressure library authors* to upgrade
2021-03-27 04:22:37 +0100 <curiousgay> dmj`: I mean that base 4.15 is compatible with base 4.9, right?
2021-03-27 04:23:07 +0100 <curiousgay> otherwise I don't understand the versioning
2021-03-27 04:24:14 +0100 <curiousgay> minor version number increase is supposed to mean that API is stable
2021-03-27 04:24:19 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-27 04:24:21 +0100 <ephemient> curiousgay: most Haskell packages follow PVP not semver
2021-03-27 04:25:09 +0100 <Clint> curiousgay: just file bugs and accept this as a phenomenon that isn't getting fixed anytime soon
2021-03-27 04:25:14 +0100 <ephemient> if you want to think of it like semver, treat "4.9" as the major version, not "4"
2021-03-27 04:25:56 +0100 <curiousgay> ephemient: then many packages use base "<5" in dependencies by mistake?
2021-03-27 04:26:38 +0100 <int-e> curiousgay: tbf, base is too big for meaningful semantic versioning
2021-03-27 04:27:02 +0100 <ephemient> not everybody agrees on whether to use narrow bounds or wide bounds
2021-03-27 04:27:09 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2021-03-27 04:27:21 +0100 <int-e> every release there's a breaking change in some part of it... but for most changes, almost all code will be fine.
2021-03-27 04:27:27 +0100 <ephemient> in practice, base and GHC versions are tied
2021-03-27 04:27:28 +0100solidus-river(~mike@174.127.249.180) (Remote host closed the connection)
2021-03-27 04:27:34 +0100 <int-e> also base is tied to the compiler anyway
2021-03-27 04:27:45 +0100aarvar(~foewfoiew@2601:602:a080:fa0:e589:d5cd:80fb:258d)
2021-03-27 04:27:56 +0100 <ephemient> if you're coming from GHC 8.0/base 4.9, MonadFail probably broke the most code
2021-03-27 04:28:13 +0100 <int-e> so taking those two together... the lazy approach where you make a loose upper bound (base <5) and revise it when your code does break seems quite reasonable
2021-03-27 04:28:14 +0100 <dmj`> I don't think Foldable Traversable was backwards compatible (i.e. burning bridges)
2021-03-27 04:28:42 +0100 <int-e> it wasn't
2021-03-27 04:29:08 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 246 seconds)
2021-03-27 04:29:58 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-157.w86-212.abo.wanadoo.fr) (Ping timeout: 265 seconds)
2021-03-27 04:30:09 +0100 <dmj`> Oh
2021-03-27 04:30:20 +0100 <dmj`> I meant to say incompatible, sorry
2021-03-27 04:30:44 +0100 <int-e> sure?
2021-03-27 04:30:56 +0100 <dmj`> Nah, I had it right the first time.
2021-03-27 04:30:59 +0100 <dmj`> sorry again
2021-03-27 04:31:01 +0100 <int-e> what you wrote made sense to me... okay :)
2021-03-27 04:31:10 +0100 <int-e> negations are hard
2021-03-27 04:31:10 +0100 <dmj`> wine + IRC
2021-03-27 04:31:47 +0100 <dmj`> truth
2021-03-27 04:33:03 +0100solvr(57e3c46d@87.227.196.109) (Quit: Connection closed)
2021-03-27 04:33:05 +0100 <curiousgay> https://pvp.haskell.org/ it's similar to semver, but I don't understand the need for number A in A.B.C
2021-03-27 04:33:32 +0100 <int-e> curiousgay: optics
2021-03-27 04:33:48 +0100 <int-e> you push the major version number all the time
2021-03-27 04:34:15 +0100 <int-e> but sometimes you reach a milestone in development... and want to mark that visibly
2021-03-27 04:34:29 +0100 <curiousgay> like EPOCH?
2021-03-27 04:34:50 +0100 <int-e> epoch, sure, why not
2021-03-27 04:34:58 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-27 04:35:46 +0100electricityZZZZ(~electrici@135-180-3-82.static.sonic.net) (Quit: Leaving)
2021-03-27 04:35:51 +0100 <int-e> at some point, the version number loses all its meaning
2021-03-27 04:36:01 +0100 <int-e> Firefox is at 78 now, or is that 87 ;)
2021-03-27 04:36:18 +0100Narinas(~Narinas@187-178-93-112.dynamic.axtel.net)
2021-03-27 04:37:28 +0100 <curiousgay> now as I see it: GHC provides many libraries which break compatibility, but because those libraries are part of it they can't be built independently with specific version, which means every project must adjust to every GHC release
2021-03-27 04:39:04 +0100 <int-e> yes, so after every release there's a tidal wave moving through the ecosystem as packages are getting updated in dependency order...
2021-03-27 04:39:06 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2021-03-27 04:40:23 +0100 <curiousgay> that's insane
2021-03-27 04:40:33 +0100 <curiousgay> now I understand why GHC doesn't have competitors
2021-03-27 04:41:58 +0100theDon(~td@muedsl-82-207-238-105.citykom.de) (Ping timeout: 240 seconds)
2021-03-27 04:42:59 +0100 <int-e> <joke>Well it is a Microsoft product... it took a standard (Haskell98, Haskell2010), embraced it, and extended it until no competitor could catch up anymore.</joke>
2021-03-27 04:43:03 +0100 <curiousgay> and I understand the need of stack, guh
2021-03-27 04:43:13 +0100raistlin(~jmdurr@ool-182e0115.dyn.optonline.net)
2021-03-27 04:43:26 +0100vpidurr(~jmdurr@ool-182e0115.dyn.optonline.net) (Ping timeout: 240 seconds)
2021-03-27 04:45:03 +0100 <curiousgay> int-e: extended standard is not the problem I see here, the problem I see is the standard, GHC, breaks at every release, it's unstable, catching up to unstable standard is much more work than catching up to constantly extending standard
2021-03-27 04:45:59 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-03-27 04:47:40 +0100psygate(~psygate@unaffiliated/psygate) (Quit: Leaving)
2021-03-27 04:48:25 +0100 <curiousgay> if those libraries were not part of GHC, I guess cabal could manage that by building different versions of libraries
2021-03-27 04:49:47 +0100deviantfero(~deviantfe@190.150.27.58) (Ping timeout: 265 seconds)
2021-03-27 04:50:27 +0100nbloomf_(~nbloomf@2600:1700:ad14:3020:c907:a7d6:d23a:e6d6)
2021-03-27 04:50:29 +0100 <curiousgay> because of this hell I'm unable to build both reflex and reactive-banana, I need FRP GUI library
2021-03-27 04:50:34 +0100 <dmj`> curiousgay: GHC could easily have competitors on the backend, probably not the front end w/o going to dependent types.
2021-03-27 04:51:27 +0100 <curiousgay> do you know any kind of FRP GUI that builds with GHC 8.10.4?
2021-03-27 04:51:37 +0100 <int-e> curiousgay: there's a lot of moving parts between ghc, the rts, and the base libraries. template-haskell is another frequent source of friction, again explained because it's so close to the compiler
2021-03-27 04:53:01 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:8f7:80aa:e3bc:f79d) (Ping timeout: 258 seconds)
2021-03-27 04:53:12 +0100 <curiousgay> int-e: internal moving parts that should not be dependencies of any packages are fine, but if they are externals that's a big problem
2021-03-27 04:53:16 +0100 <int-e> And somehow, ghc keeps bringing enough improvements to the table that people keep updating to the latest or second-latest version.
2021-03-27 04:55:02 +0100 <dmj`> curiousgay: GHC is a very old project, it predates LLVM, and operated under a different set of assumptions than we have today.
2021-03-27 04:55:22 +0100 <dmj`> curiousgay: did you try netwire?
2021-03-27 04:55:39 +0100 <int-e> curiousgay: you simply can't take base-4.12 and compile it with ghc-9.0.1 because its implementation has changed a lot even if the API hasn't. That's one of the reason why the two are bundled.
2021-03-27 04:55:56 +0100 <ephemient> base also includes API improvements that can't have been done without breakages
2021-03-27 04:56:14 +0100 <ephemient> I mean, I suppose it's arguable whether those should have been carried out, but I think the community mostly agrees
2021-03-27 04:56:26 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-03-27 04:56:38 +0100FinnElija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-03-27 04:56:38 +0100finn_elijaGuest59300
2021-03-27 04:56:38 +0100FinnElijafinn_elija
2021-03-27 04:56:40 +0100 <int-e> curiousgay: there's agreement that base is too large and that some parts should be split off so that they can be updated independently. but progress on this front is small to non-existant. It's hard to disentangle the parts, and it's a thankless job to try.
2021-03-27 04:57:13 +0100 <curiousgay> dmj`: does netwire have a sibling library for GUI that will build?
2021-03-27 04:58:26 +0100 <dmj`> curiousgay: probably, but take a look at your life, do you really need a bleeding edge GHC right now, iPhone 10 is almost as good as iPhone 11
2021-03-27 04:59:02 +0100 <dmj`> curiousgay: you can also do the dirty work of the library maintainer and upgrade the libraries you want to use to be compatible with 8.10.4
2021-03-27 04:59:18 +0100 <dmj`> you might end up upgrading a lot of libraries though .. esp. for dep. heavy libraries
2021-03-27 04:59:23 +0100 <curiousgay> int-e: ephemient: those breaking improvements make many projects rot quickly when maintainers loose their time or interest to keep up, that's not fair
2021-03-27 04:59:43 +0100 <sclv> fair?
2021-03-27 04:59:44 +0100 <ephemient> if it's a matter of just bumping bounds and they're in stackage, somebody will probably get around to it
2021-03-27 05:00:21 +0100Guest59300(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 240 seconds)
2021-03-27 05:00:22 +0100 <curiousgay> I stopped using stack because there are less buildable packages than in cabal
2021-03-27 05:00:49 +0100 <sclv> base has a 3 release policy that says it makes its changes in a very incremental way so that code can always be written that is backwards compatible with the last three releases
2021-03-27 05:02:02 +0100 <ephemient> there are fewer packages total, but they all build, whereas that is not necessarily the case with cabal
2021-03-27 05:02:15 +0100 <ephemient> stack has its upsides and downsides
2021-03-27 05:05:54 +0100molehillish(~molehilli@2600:8800:8d06:1800:f8ba:265:7129:d312)
2021-03-27 05:06:06 +0100machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 252 seconds)
2021-03-27 05:07:42 +0100 <DigitalKiwi> kiwi@mvp-nixos ~ []$ nix-shell -p "haskellPackages.ghcWithPackages (pkgs: with pkgs; [GPipe reflex reactive-banana])" -I nixpkgs-overlays=/home/kiwi/.config/nixpkgs/overlays --run "ghc-pkg list"|grep -E 'GPipe|reflex|reactive-banana'
2021-03-27 05:07:42 +0100 <DigitalKiwi> GPipe-2.2.5
2021-03-27 05:07:42 +0100 <DigitalKiwi> reactive-banana-1.2.1.0
2021-03-27 05:07:43 +0100 <DigitalKiwi> reflex-0.8.0.0
2021-03-27 05:07:46 +0100 <DigitalKiwi> tada
2021-03-27 05:08:21 +0100 <curiousgay> dmj`: what I need becomes confusing because if different packages are exclusively buildable with different versions of GHC that means I need to have many versions of GHC at once and be extremely careful while dealing with all of that
2021-03-27 05:08:42 +0100 <dmj`> curiousgay: just use an old ghc, why do you need a bleeding edge one. You'll end up just writing a bunch of C anyways if you're building a game, haskell heap + GC is death for frame rate
2021-03-27 05:09:13 +0100 <DigitalKiwi> [nix-shell:~]$ ghci
2021-03-27 05:09:14 +0100 <DigitalKiwi> GHCi, version 8.10.4
2021-03-27 05:09:25 +0100 <dmj`> curiousgay: I think you're over thinking it
2021-03-27 05:09:35 +0100 <DigitalKiwi> do i win a prize
2021-03-27 05:09:39 +0100 <curiousgay> dmj`: performance is not important for minimal 2D game without animations
2021-03-27 05:10:11 +0100stree(~stree@68.36.8.116) (Ping timeout: 240 seconds)
2021-03-27 05:10:16 +0100 <dmj`> curiousgay: use netwire + SDL2
2021-03-27 05:10:21 +0100 <DigitalKiwi> for 1 bitcoin i will reveal the contents of ~/.config/nixpkgs/overlays
2021-03-27 05:10:30 +0100 <dmj`> @package SDL2
2021-03-27 05:10:30 +0100 <lambdabot> https://hackage.haskell.org/package/SDL2
2021-03-27 05:10:35 +0100 <dmj`> @package netwire
2021-03-27 05:10:35 +0100 <lambdabot> https://hackage.haskell.org/package/netwire
2021-03-27 05:10:37 +0100molehillish(~molehilli@2600:8800:8d06:1800:f8ba:265:7129:d312) (Ping timeout: 276 seconds)
2021-03-27 05:11:48 +0100 <dmj`> curiousgay: I just compiled an asteroids game that uses these 2 and it worked ...
2021-03-27 05:11:56 +0100 <dmj`> it was 2D
2021-03-27 05:12:36 +0100 <curiousgay> dmj`: eh, isn't a separate library required for making SDL reactive that will depend on both netwire and SDL?
2021-03-27 05:13:00 +0100 <DigitalKiwi> better hurry though market's bearish the price will be 2 bitcoin soon
2021-03-27 05:14:04 +0100 <dmj`> curiousgay: you don't need FRP, ever. Most games you play don't use it. But to answer your question, no, a separate library isn't required.
2021-03-27 05:15:29 +0100 <dmj`> curiousgay: netwire doesn't use unsafePerformIO either
2021-03-27 05:15:30 +0100 <curiousgay> my goal is learning
2021-03-27 05:15:49 +0100 <curiousgay> so I need to learn FRP
2021-03-27 05:16:45 +0100 <desophos> i have a function "chunk" that splits a list into multiple equal-length lists that uses splitAt. i'm refactoring my program from String to ByteString, which has its own splitAt implementation. what's the best way to reuse my chunk function for ByteString? take the splitting fn as an argument? write a "Chunkable" typeclass with instances for list and ByteString? i'm open to any suggestions, thanks!
2021-03-27 05:16:52 +0100 <desophos> the function in question: https://paste.tomsmeding.com/rK72njri
2021-03-27 05:21:00 +0100 <dmj`> curiousgay: this project uses netwire, opengl, sdl2, linear and compiled with 8.10.4 for me, https://github.com/ehofreiter/relativistic-asteroids/blob/master/package.yaml
2021-03-27 05:22:29 +0100howdoi(uid224@gateway/web/irccloud.com/x-ppzodhfedmzajmuw) (Quit: Connection closed for inactivity)
2021-03-27 05:22:41 +0100ph88(~ph88@ip5f5af71a.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
2021-03-27 05:23:32 +0100stree(~stree@68.36.8.116)
2021-03-27 05:25:27 +0100ezrakilty(~ezrakilty@97-113-58-224.tukw.qwest.net)
2021-03-27 05:25:47 +0100manjaro(~manjaro@cpe-172-90-196-184.socal.res.rr.com)
2021-03-27 05:27:00 +0100manjaro(~manjaro@cpe-172-90-196-184.socal.res.rr.com) (Client Quit)
2021-03-27 05:28:48 +0100 <dmj`> desophos: probably can't reuse it, could try a typeclass yea
2021-03-27 05:29:11 +0100manjaro(~manjaro@cpe-172-90-196-184.socal.res.rr.com)
2021-03-27 05:29:46 +0100ezrakilty(~ezrakilty@97-113-58-224.tukw.qwest.net) (Ping timeout: 240 seconds)
2021-03-27 05:29:47 +0100 <dmj`> @package split
2021-03-27 05:29:47 +0100 <lambdabot> https://hackage.haskell.org/package/split
2021-03-27 05:29:57 +0100 <dmj`> there's this, can't remember if it works on ByteString though
2021-03-27 05:30:10 +0100Deide(~Deide@217.155.19.23) (Quit: Seeee yaaaa)
2021-03-27 05:30:48 +0100v01d4lph4(~v01d4lph4@106.212.133.35)
2021-03-27 05:31:24 +0100 <desophos> hmm, looks like it only works on lists
2021-03-27 05:34:01 +0100jpn(9fc4758b@159-196-117-139.9fc475.syd.nbn.aussiebb.net)
2021-03-27 05:35:11 +0100v01d4lph4(~v01d4lph4@106.212.133.35) (Ping timeout: 240 seconds)
2021-03-27 05:36:36 +0100jpn(9fc4758b@159-196-117-139.9fc475.syd.nbn.aussiebb.net) (Client Quit)
2021-03-27 05:38:18 +0100elliott_(~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
2021-03-27 05:41:30 +0100manjaro(~manjaro@cpe-172-90-196-184.socal.res.rr.com) (Ping timeout: 265 seconds)
2021-03-27 05:42:57 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-27 05:45:04 +0100 <outerpassage_> is there any way to avoid cabal recompiling everything during a `v2-install` after already having built the package with `v2-build`?
2021-03-27 05:47:07 +0100toorevitimirp(~tooreviti@117.182.181.200)
2021-03-27 05:48:11 +0100average(uid473595@gateway/web/irccloud.com/x-bfrylaicmxxrzmte) (Quit: Connection closed for inactivity)
2021-03-27 05:51:50 +0100carlomagno(~cararell@148.87.23.10) (Remote host closed the connection)
2021-03-27 05:52:18 +0100elliott_(~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2021-03-27 05:56:06 +0100bss03(~bss@ip70-178-92-189.ks.ks.cox.net)
2021-03-27 05:58:25 +0100 <desophos> ugh, why doesn't ByteString implement mapM...
2021-03-27 05:59:11 +0100 <bss03> https://hackage.haskell.org/package/mono-traversable-1.0.15.1/docs/Data-MonoTraversable.html#v:omapM instead
2021-03-27 06:00:23 +0100 <desophos> ah, thank you!
2021-03-27 06:01:39 +0100 <bss03> desophos: It's because ByteString can only hold Word8 values, so if the function you are mapping is type `Word8 -> m Integer` it can't put the (Integer) results into the `m ByteString` result.
2021-03-27 06:02:59 +0100 <desophos> but it already defines `map :: (Word8 -> Word8) -> ByteString -> ByteString`, so why not `mapM :: (Word8 -> m Word8) -> ByteString -> m ByteString`?
2021-03-27 06:03:38 +0100 <bss03> Ah, yeah, well, it could do that. :/
2021-03-27 06:04:27 +0100 <bss03> Probably didn't want to "steal" that name from Traversable.
2021-03-27 06:05:25 +0100 <bss03> `map` from ByteString might predate Traversable? Certianly `map` from Prelude used to only work on lists.
2021-03-27 06:07:23 +0100 <desophos> hmm, well i guess it makes more sense to have generic MonoTraversable classes instead of writing specific functions for each monomorphic container type
2021-03-27 06:07:41 +0100 <desophos> either way, mono-traversable is what i was looking for, thanks!
2021-03-27 06:07:56 +0100 <bss03> YW, NP
2021-03-27 06:10:11 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-03-27 06:10:59 +0100hidedagger(~nate@unaffiliated/hidedagger)
2021-03-27 06:11:44 +0100v01d4lph4(~v01d4lph4@106.212.133.35)
2021-03-27 06:12:53 +0100 <bss03> I've got a personal project that's in Vue + TS, I'd like to convert it over to something using GHCJS. Any hints / tips? Project: https://gitlab.com/bss03/vue-webpack-ts-lambda/-/tree/master/src
2021-03-27 06:16:46 +0100hackagedhall-lsp-server 1.0.14 - Language Server Protocol (LSP) server for Dhall https://hackage.haskell.org/package/dhall-lsp-server-1.0.14 (GabrielGonzalez)
2021-03-27 06:17:31 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-03-27 06:19:16 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-03-27 06:21:42 +0100lateef(~lateef@171.121.237.35.bc.googleusercontent.com) (Quit: lateef)
2021-03-27 06:21:42 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-27 06:22:18 +0100Tario(~Tario@201.192.165.173)
2021-03-27 06:24:09 +0100kiweun(~kiweun@2607:fea8:2a62:9600:5db6:fce7:f7bb:58c2) (Remote host closed the connection)
2021-03-27 06:24:46 +0100hackagedhall-json 1.7.6 - Convert between Dhall and JSON or YAML https://hackage.haskell.org/package/dhall-json-1.7.6 (GabrielGonzalez)
2021-03-27 06:25:10 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-27 06:25:46 +0100hackagedhall-yaml 1.2.6 - Convert between Dhall and YAML https://hackage.haskell.org/package/dhall-yaml-1.2.6 (GabrielGonzalez)
2021-03-27 06:27:46 +0100hackagedhall-docs 1.0.5 - Generate HTML docs from a dhall package https://hackage.haskell.org/package/dhall-docs-1.0.5 (GabrielGonzalez)
2021-03-27 06:28:46 +0100hackagedhall 1.38.1 - A configuration language guaranteed to terminate https://hackage.haskell.org/package/dhall-1.38.1 (GabrielGonzalez)
2021-03-27 06:29:38 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 240 seconds)
2021-03-27 06:31:10 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 252 seconds)
2021-03-27 06:34:47 +0100irc_user(uid423822@gateway/web/irccloud.com/x-sjzuqoxkghghfafu)
2021-03-27 06:38:48 +0100kini(~kini@unaffiliated/kini)
2021-03-27 06:39:46 +0100hackageopenai-servant 0.2.0.0 - Unofficial OpenAI servant types https://hackage.haskell.org/package/openai-servant-0.2.0.0 (AlexanderThiemann)
2021-03-27 06:40:46 +0100hackageopenai-hs 0.2.0.0 - Unofficial OpenAI client https://hackage.haskell.org/package/openai-hs-0.2.0.0 (AlexanderThiemann)
2021-03-27 06:43:19 +0100v01d4lph4(~v01d4lph4@106.212.133.35) (Remote host closed the connection)
2021-03-27 06:43:34 +0100v01d4lph4(~v01d4lph4@106.212.133.35)
2021-03-27 06:46:25 +0100magnuscake(~magnuscak@87-121-92-61.dyn.launtel.net.au) (Remote host closed the connection)
2021-03-27 06:48:24 +0100_xor(~xor@74.215.46.133) (Quit: WeeChat 3.1)
2021-03-27 06:48:59 +0100aryakiran(31cf82c6@49.207.130.198)
2021-03-27 06:49:02 +0100 <aryakiran> hi
2021-03-27 06:49:10 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2021-03-27 06:49:18 +0100 <aryakiran> i installed xmobar xmonad-contrib xmobar on void
2021-03-27 06:49:34 +0100 <aryakiran> when i do startx it starts the default xmonad config
2021-03-27 06:49:37 +0100_xor(~xor@74.215.46.133)
2021-03-27 06:49:38 +0100 <aryakiran> not my config
2021-03-27 06:50:18 +0100 <aryakiran> my config is in both .xmonad & .config/xmonad
2021-03-27 06:52:28 +0100 <bss03> *shrug* I don't know void, but my Debian loads it out of ~/.xmonad
2021-03-27 06:54:51 +0100 <aryakiran> i also get this error when i do xmonad --recompile
2021-03-27 06:55:18 +0100 <aryakiran> couldmt find module 'XMonad'
2021-03-27 06:55:27 +0100hds(~hds@195.140.213.38) (Remote host closed the connection)
2021-03-27 06:59:45 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
2021-03-27 07:01:00 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-03-27 07:01:14 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 252 seconds)
2021-03-27 07:01:16 +0100urodna(~urodna@unaffiliated/urodna) (Quit: urodna)
2021-03-27 07:04:28 +0100 <bss03> Hmm. You might have an environment files hanging around that doesn't expose the XMonad module by default?
2021-03-27 07:04:55 +0100Wuzzy(~Wuzzy@p57a2ecf2.dip0.t-ipconnect.de) (Remote host closed the connection)
2021-03-27 07:05:39 +0100 <bss03> I dislike how those work, and I'm not sure if they'd even affect an `xmonad --recompile` but they fsck with my `ghci` environment sometimes and I've had to delete them.
2021-03-27 07:07:02 +0100Alleria_(~AllahuAkb@2603-7000-3040-0000-eded-286a-fe45-12eb.res6.spectrum.com)
2021-03-27 07:07:02 +0100_Alleria(~AllahuAkb@2603-7000-3040-0000-d83c-5948-c192-a22e.res6.spectrum.com) (Read error: Connection reset by peer)
2021-03-27 07:07:20 +0100Narinas(~Narinas@187-178-93-112.dynamic.axtel.net) (Ping timeout: 246 seconds)
2021-03-27 07:09:12 +0100waleee-cl(uid373333@gateway/web/irccloud.com/x-cywskmhzzerhrnmx) (Quit: Connection closed for inactivity)
2021-03-27 07:10:16 +0100plutoniix(~q@node-unw.pool-125-24.dynamic.totinternet.net) (Quit: Leaving)
2021-03-27 07:11:20 +0100echoreply(~echoreply@unaffiliated/echoreply) (Quit: WeeChat 1.9.1)
2021-03-27 07:11:52 +0100echoreply(~echoreply@unaffiliated/echoreply)
2021-03-27 07:13:20 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-27 07:13:50 +0100 <jonathanx> Is there a function with signature ((a -> Maybe a) -> [a] -> Maybe [a]) which returns Just [a] if a single element was updated, and Nothing otherwise?
2021-03-27 07:14:10 +0100 <jonathanx> I can ofc throw it together myself, but I'm curious about if there's any existing
2021-03-27 07:14:11 +0100 <jonathanx> :)
2021-03-27 07:17:58 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 240 seconds)
2021-03-27 07:18:23 +0100mrchampion(~mrchampio@38.18.109.23) (Remote host closed the connection)
2021-03-27 07:19:20 +0100fox[m]1(foxforestf@gateway/shell/matrix.org/x-gzhakriuullmsali)
2021-03-27 07:21:44 +0100madjestic(~Android@86-88-72-244.fixed.kpn.net) (Quit: -a- Connection Timed Out)
2021-03-27 07:22:00 +0100madjestic(~Android@86-88-72-244.fixed.kpn.net)
2021-03-27 07:22:10 +0100vgtw(~vgtw@gateway/tor-sasl/vgtw) (Remote host closed the connection)
2021-03-27 07:22:25 +0100vgtw(~vgtw@gateway/tor-sasl/vgtw)
2021-03-27 07:24:11 +0100aryakiran(31cf82c6@49.207.130.198) (Quit: Connection closed)
2021-03-27 07:24:15 +0100Narinas(~Narinas@187-178-93-112.dynamic.axtel.net)
2021-03-27 07:24:22 +0100nbloomf_(~nbloomf@2600:1700:ad14:3020:c907:a7d6:d23a:e6d6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-27 07:25:09 +0100 <bss03> mapMaybe ?
2021-03-27 07:25:33 +0100Chai-T-Rex(~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds)
2021-03-27 07:26:09 +0100kiweun(~kiweun@2607:fea8:2a62:9600:30ac:878a:cf:dffd)
2021-03-27 07:26:38 +0100Chai-T-Rex(~ChaiTRex@gateway/tor-sasl/chaitrex)
2021-03-27 07:31:18 +0100stree(~stree@68.36.8.116) (Ping timeout: 240 seconds)
2021-03-27 07:31:40 +0100kiweun(~kiweun@2607:fea8:2a62:9600:30ac:878a:cf:dffd) (Ping timeout: 276 seconds)
2021-03-27 07:35:14 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-27 07:39:46 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
2021-03-27 07:41:13 +0100 <gnumonic> Does this seem familiar to anyone? "type Something k t a b = (Control.Comonad.Store.Store (Map.Map k (a -> t a)) (t b))"? Or maybe: "Something k t a = (Store (Map.Map k (a -> t a)) (t a))"?
2021-03-27 07:41:36 +0100proteus-guy(~proteusgu@cm-58-10-208-13.revip7.asianet.co.th)
2021-03-27 07:43:12 +0100stree(~stree@68.36.8.116)
2021-03-27 07:44:11 +0100 <bss03> Not to me. :(
2021-03-27 07:49:10 +0100 <gnumonic> No is ok, I just came up with it and wanted to see if anyone else had first before I try to make something with it :p
2021-03-27 07:50:35 +0100tomboy64(~tomboy64@unaffiliated/tomboy64)
2021-03-27 07:50:37 +0100kupi(uid212005@gateway/web/irccloud.com/x-liltwjwdbyukjqkf) (Quit: Connection closed for inactivity)
2021-03-27 07:52:04 +0100 <outerpassage_> https://cabal.readthedocs.io/en/latest/setup-commands.html#creating-a-binary-package
2021-03-27 07:52:25 +0100 <outerpassage_> is this still the recommended way to do this? wondering if it's necessary to go through the low-level Setup.hs interface
2021-03-27 07:53:00 +0100raym(~ray@115.187.32.14)
2021-03-27 07:56:18 +0100v01d4lph4(~v01d4lph4@106.212.133.35) (Remote host closed the connection)
2021-03-27 07:56:38 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-03-27 08:04:10 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2021-03-27 08:04:25 +0100desophos(~desophos@2601:249:1680:a570:41ae:9414:653c:8c31) (Quit: Leaving)
2021-03-27 08:12:06 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2021-03-27 08:13:33 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-27 08:14:58 +0100drbean_(~drbean@TC210-63-209-145.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2021-03-27 08:15:37 +0100drbean_(~drbean@TC210-63-209-153.static.apol.com.tw)
2021-03-27 08:19:03 +0100 <bss03> Are you packaging for a specific distribution, for installation as a global package.
2021-03-27 08:21:06 +0100 <bss03> If so, I think per-distribution docs might be better. E.g. Debian has specific helpers for packaging haskell packages.
2021-03-27 08:24:26 +0100 <bss03> If not, I do think that's probably up-to-date. There's not v2-* cabal-install commands for some of those Setup.hs modes.
2021-03-27 08:24:41 +0100idhugo_(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
2021-03-27 08:26:30 +0100saki__(~saki@2a02:a03f:4882:cc00:1b73:ea1f:7a9b:17d6)
2021-03-27 08:27:20 +0100waleee-cl(uid373333@gateway/web/irccloud.com/x-qsyvwqmdsnwpfrno)
2021-03-27 08:28:21 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2021-03-27 08:29:05 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
2021-03-27 08:30:02 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2021-03-27 08:32:25 +0100 <DigitalKiwi> https://github.com/nh2/static-haskell-nix may be an option
2021-03-27 08:36:49 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-27 08:37:56 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2021-03-27 08:38:45 +0100plutoniix(~q@ppp-27-55-84-227.revip3.asianet.co.th)
2021-03-27 08:39:39 +0100zeromus1(~zeromus@217.146.82.202)
2021-03-27 08:40:56 +0100saki__(~saki@2a02:a03f:4882:cc00:1b73:ea1f:7a9b:17d6) (Quit: Konversation terminated!)
2021-03-27 08:44:19 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal)
2021-03-27 08:45:21 +0100pavonia(~user@unaffiliated/siracusa) (Quit: Bye!)
2021-03-27 08:46:03 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-03-27 08:46:11 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-03-27 08:47:26 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-03-27 08:48:16 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 240 seconds)
2021-03-27 08:48:32 +0100xsperry(~as@unaffiliated/xsperry) (Read error: Connection reset by peer)
2021-03-27 08:50:49 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-27 08:53:04 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Client Quit)
2021-03-27 08:53:25 +0100jakio641(cab67555@202.182.117.85)
2021-03-27 08:56:02 +0100average(uid473595@gateway/web/irccloud.com/x-ylpgkoygduwnhrcd)
2021-03-27 08:56:12 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
2021-03-27 09:04:07 +0100Neuromancer(~Neuromanc@unaffiliated/neuromancer)
2021-03-27 09:07:04 +0100jakio641(cab67555@202.182.117.85) (Quit: Connection closed)
2021-03-27 09:07:24 +0100molehillish(~molehilli@2600:8800:8d06:1800:e0d0:506b:db48:8ec8)
2021-03-27 09:11:46 +0100molehillish(~molehilli@2600:8800:8d06:1800:e0d0:506b:db48:8ec8) (Ping timeout: 258 seconds)
2021-03-27 09:12:40 +0100LKoen(~LKoen@191.254.88.92.rev.sfr.net)
2021-03-27 09:22:33 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-27 09:26:26 +0100datajerk(~datajerk@sense.net) (Ping timeout: 252 seconds)
2021-03-27 09:27:32 +0100 <outerpassage_> thanks, yeah it's for a specific distribution (alpine)
2021-03-27 09:28:17 +0100 <outerpassage_> the alpine docs recommend `cabal install` with `--enable-relocatable`, which afaict isn't actually supported
2021-03-27 09:28:22 +0100 <outerpassage_> https://github.com/haskell/cabal/issues/462
2021-03-27 09:29:08 +0100 <outerpassage_> seems to be working well with Setup.hs anyway
2021-03-27 09:30:08 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-27 09:30:28 +0100datajerk(~datajerk@sense.net)
2021-03-27 09:34:24 +0100lateef(~lateef@2603-6080-6703-48f7-99a5-8367-daa2-03dd.res6.spectrum.com)
2021-03-27 09:34:24 +0100RusAlex(~Chel@unaffiliated/rusalex) (Read error: Connection reset by peer)
2021-03-27 09:35:02 +0100xiinotulp(~q@ppp-223-24-171-44.revip6.asianet.co.th)
2021-03-27 09:35:15 +0100RusAlex(~Chel@unaffiliated/rusalex)
2021-03-27 09:35:26 +0100plutoniix(~q@ppp-27-55-84-227.revip3.asianet.co.th) (Ping timeout: 265 seconds)
2021-03-27 09:41:41 +0100idhugo_(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds)
2021-03-27 09:43:55 +0100bss03(~bss@ip70-178-92-189.ks.ks.cox.net) ()
2021-03-27 09:45:19 +0100bitmagie(~Thunderbi@200116b80626b500b8109f658b1836b5.dip.versatel-1u1.de)
2021-03-27 09:46:35 +0100idhugo_(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
2021-03-27 09:46:38 +0100bitmagie(~Thunderbi@200116b80626b500b8109f658b1836b5.dip.versatel-1u1.de) (Client Quit)
2021-03-27 09:47:04 +0100drbean_(~drbean@TC210-63-209-153.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2021-03-27 09:47:24 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
2021-03-27 09:51:25 +0100stree(~stree@68.36.8.116) (Ping timeout: 260 seconds)
2021-03-27 09:52:10 +0100_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-03-27 09:52:50 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds)
2021-03-27 09:54:13 +0100solvr(57e3c46d@87.227.196.109)
2021-03-27 09:55:09 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-27 09:55:28 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-27 09:55:41 +0100idhugo_(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 260 seconds)
2021-03-27 09:59:09 +0100wonko7(~wonko7@62.115.229.50)
2021-03-27 09:59:46 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2021-03-27 10:03:05 +0100rajivr(uid269651@gateway/web/irccloud.com/x-ntrjiqavhvendslg)
2021-03-27 10:04:34 +0100stree(~stree@68.36.8.116)
2021-03-27 10:04:48 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
2021-03-27 10:10:58 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
2021-03-27 10:15:08 +0100L1Cafe(~L1Cafe@kydara.com)
2021-03-27 10:19:14 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-27 10:23:13 +0100noexcept(~noexcept@2a03:b0c0:3:d0::33:9001) (Read error: Connection reset by peer)
2021-03-27 10:24:10 +0100noexcept(~noexcept@2a03:b0c0:3:d0::33:9001)
2021-03-27 10:24:28 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
2021-03-27 10:29:30 +0100fendor(~fendor@91.141.1.158.wireless.dyn.drei.com)
2021-03-27 10:30:58 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2021-03-27 10:33:41 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-03-27 10:40:47 +0100graf_blutwurst(~user@2001:171b:226e:adc0:8507:60c2:4c0f:8c17)
2021-03-27 10:44:39 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
2021-03-27 10:49:29 +0100ubert1(~Thunderbi@p200300ecdf25d92dca5b76fffe29f233.dip0.t-ipconnect.de)
2021-03-27 10:49:45 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2021-03-27 10:50:01 +0100poscat(~poscat@2408:8207:482f:e9a0::1)
2021-03-27 10:54:42 +0100Guest55480(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
2021-03-27 10:59:29 +0100royal_screwup213(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-27 11:00:26 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
2021-03-27 11:01:13 +0100acidjnk_new(~acidjnk@p200300d0c72b9512d8aaf3880c64deb7.dip0.t-ipconnect.de)
2021-03-27 11:03:06 +0100OscarZ(~oscarz@95.175.104.239) (Quit: Leaving)
2021-03-27 11:03:28 +0100xiinotulp(~q@ppp-223-24-171-44.revip6.asianet.co.th) (Quit: Leaving)
2021-03-27 11:04:16 +0100hackagescroll-list 1.0.0.1 - This package provides functions for relocate an item within a list. https://hackage.haskell.org/package/scroll-list-1.0.0.1 (fesanmar)
2021-03-27 11:05:20 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds)
2021-03-27 11:05:39 +0100average(uid473595@gateway/web/irccloud.com/x-ylpgkoygduwnhrcd) (Quit: Connection closed for inactivity)
2021-03-27 11:09:23 +0100supercoven(~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi)
2021-03-27 11:10:53 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
2021-03-27 11:13:18 +0100frozenErebus(~frozenEre@37.231.244.249)
2021-03-27 11:14:04 +0100apeyroux(~alex@78.20.138.88.rev.sfr.net)
2021-03-27 11:15:29 +0100wonko7(~wonko7@62.115.229.50) (Ping timeout: 246 seconds)
2021-03-27 11:16:01 +0100molehillish(~molehilli@2600:8800:8d06:1800:f8ba:265:7129:d312)
2021-03-27 11:16:18 +0100toorevitimirp(~tooreviti@117.182.181.200) (Ping timeout: 240 seconds)
2021-03-27 11:16:46 +0100hackagepostgresql-pure 0.2.3.0 - pure Haskell PostgreSQL driver https://hackage.haskell.org/package/postgresql-pure-0.2.3.0 (kakkun61)
2021-03-27 11:16:59 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-03-27 11:20:30 +0100Franciman(~francesco@host-79-53-62-46.retail.telecomitalia.it)
2021-03-27 11:20:34 +0100molehillish(~molehilli@2600:8800:8d06:1800:f8ba:265:7129:d312) (Ping timeout: 258 seconds)
2021-03-27 11:22:58 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
2021-03-27 11:26:47 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-03-27 11:29:01 +0100frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 260 seconds)
2021-03-27 11:29:49 +0100jakalx(~jakalx@base.jakalx.net) ()
2021-03-27 11:34:02 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2021-03-27 11:34:56 +0100jakalx(~jakalx@base.jakalx.net)
2021-03-27 11:35:06 +0100frozenErebus(~frozenEre@37.231.244.249)
2021-03-27 11:39:33 +0100hexfive(~hexfive@50.35.83.177) (Quit: i must go. my people need me.)
2021-03-27 11:40:09 +0100frozenErebus(~frozenEre@37.231.244.249) (Remote host closed the connection)
2021-03-27 11:41:16 +0100frozenErebus(~frozenEre@37.231.244.249)
2021-03-27 11:46:09 +0100frozenErebus(~frozenEre@37.231.244.249) (Remote host closed the connection)
2021-03-27 11:46:31 +0100frozenErebus(~frozenEre@37.231.244.249)
2021-03-27 11:48:27 +0100heatsink(~heatsink@2600:1700:bef1:5e10:1cfc:5265:7008:dc13) (Remote host closed the connection)
2021-03-27 11:48:43 +0100ADG1089(~aditya@27.58.165.185)
2021-03-27 11:49:18 +0100apeyroux(~alex@78.20.138.88.rev.sfr.net) (Ping timeout: 240 seconds)
2021-03-27 11:50:46 +0100hackagehakyll-filestore 0.1.9 - FileStore utilities for Hakyll https://hackage.haskell.org/package/hakyll-filestore-0.1.9 (aergus)
2021-03-27 11:52:07 +0100royal_screwup213(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-27 11:52:07 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-27 11:52:26 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-27 11:52:27 +0100royal_screwup213(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-27 11:52:56 +0100frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 246 seconds)
2021-03-27 11:54:14 +0100frozenErebus(~frozenEre@37.231.244.249)
2021-03-27 11:58:41 +0100frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 240 seconds)
2021-03-27 11:59:01 +0100Sorny(~Sornaensi@077213203030.dynamic.telenor.dk)
2021-03-27 11:59:44 +0100frozenErebus(~frozenEre@37.231.244.249)
2021-03-27 12:02:11 +0100Sorna(~Sornaensi@85.203.36.113) (Ping timeout: 240 seconds)
2021-03-27 12:04:26 +0100dyeplexer(~lol@unaffiliated/terpin)
2021-03-27 12:04:27 +0100irc_user(uid423822@gateway/web/irccloud.com/x-sjzuqoxkghghfafu) (Quit: Connection closed for inactivity)
2021-03-27 12:06:46 +0100frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 260 seconds)
2021-03-27 12:11:14 +0100LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection)
2021-03-27 12:11:15 +0100Chai-T-Rex(~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection)
2021-03-27 12:11:48 +0100Chai-T-Rex(~ChaiTRex@gateway/tor-sasl/chaitrex)
2021-03-27 12:12:35 +0100__monty__(~toonn@unaffiliated/toonn)
2021-03-27 12:12:49 +0100stree(~stree@68.36.8.116) (Ping timeout: 260 seconds)
2021-03-27 12:13:59 +0100LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao)
2021-03-27 12:16:08 +0100ubert1(~Thunderbi@p200300ecdf25d92dca5b76fffe29f233.dip0.t-ipconnect.de) (Remote host closed the connection)
2021-03-27 12:20:25 +0100lampowner(~xblow@2a02:2168:b03:3b74::1)
2021-03-27 12:22:35 +0100siers(~ij@2a03:b0c0:1:e0::366:f001) (Changing host)
2021-03-27 12:22:35 +0100siers(~ij@NixOS/user/siers)
2021-03-27 12:23:48 +0100lampowner(~xblow@2a02:2168:b03:3b74::1) (Remote host closed the connection)
2021-03-27 12:25:01 +0100vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2021-03-27 12:25:36 +0100stree(~stree@68.36.8.116)
2021-03-27 12:27:45 +0100lampowner(~xblow@2a02:2168:b03:3b74::1)
2021-03-27 12:30:14 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-27 12:32:23 +0100xsperry(~as@unaffiliated/xsperry)
2021-03-27 12:34:27 +0100geekosaur(ac3a5766@172.58.87.102)
2021-03-27 12:36:14 +0100lateef(~lateef@2603-6080-6703-48f7-99a5-8367-daa2-03dd.res6.spectrum.com) (Quit: lateef)
2021-03-27 12:37:09 +0100frozenErebus(~frozenEre@37.231.244.249)
2021-03-27 12:37:44 +0100unyu(~pyon@unaffiliated/pyon) (Quit: brb)
2021-03-27 12:38:06 +0100gnumonic(~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2021-03-27 12:39:56 +0100Pickchea(~private@unaffiliated/pickchea)
2021-03-27 12:40:49 +0100son0p(~son0p@181.58.39.182)
2021-03-27 12:42:00 +0100frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 265 seconds)
2021-03-27 12:42:45 +0100travisci(ac3a61ab@172.58.97.171)
2021-03-27 12:43:55 +0100royal_screwup213(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-27 12:43:55 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-27 12:44:15 +0100royal_screwup213(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-27 12:44:15 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-27 12:46:54 +0100 <maerwald> is there a function somewhere that does: encodeChar :: Char -> [Word16]
2021-03-27 12:48:12 +0100drbean_(~drbean@TC210-63-209-214.static.apol.com.tw)
2021-03-27 12:48:50 +0100heatsink(~heatsink@2600:1700:bef1:5e10:1cfc:5265:7008:dc13)
2021-03-27 12:51:23 +0100travisci(ac3a61ab@172.58.97.171) (Quit: Connection closed)
2021-03-27 12:51:28 +0100Synthetica(uid199651@gateway/web/irccloud.com/x-lnpmltxyeixgvflc)
2021-03-27 12:53:43 +0100heatsink(~heatsink@2600:1700:bef1:5e10:1cfc:5265:7008:dc13) (Ping timeout: 258 seconds)
2021-03-27 12:56:19 +0100travisci(ac3a61ab@172.58.97.171)
2021-03-27 12:58:55 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 265 seconds)
2021-03-27 13:01:19 +0100drbean_(~drbean@TC210-63-209-214.static.apol.com.tw) (Read error: Connection reset by peer)
2021-03-27 13:01:46 +0100hackagettc 0.4.0.0 - Textual Type Classes https://hackage.haskell.org/package/ttc-0.4.0.0 (TravisCardwell)
2021-03-27 13:02:46 +0100hackagecabal-rpm 2.0.8 - RPM packaging tool for Haskell Cabal-based packages https://hackage.haskell.org/package/cabal-rpm-2.0.8 (JensPetersen)
2021-03-27 13:03:42 +0100LKoen(~LKoen@191.254.88.92.rev.sfr.net) (Remote host closed the connection)
2021-03-27 13:04:43 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-03-27 13:10:20 +0100idhugo_(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
2021-03-27 13:13:39 +0100travisci(ac3a61ab@172.58.97.171) (Quit: Connection closed)
2021-03-27 13:14:21 +0100graf_blutwurst(~user@2001:171b:226e:adc0:8507:60c2:4c0f:8c17) (Remote host closed the connection)
2021-03-27 13:14:43 +0100 <Xnuk> Can I check optimizaion flag in -XCPP ?
2021-03-27 13:14:59 +0100 <__monty__> maerwald: Why Word16? Sounds like you're trying to pull UTF-16 shenanigans that won't work.
2021-03-27 13:15:27 +0100 <geekosaur> Xnuk, no, it's not exposed as a cpp macro
2021-03-27 13:17:21 +0100 <Xnuk> :(
2021-03-27 13:18:10 +0100drbean_(~drbean@TC210-63-209-56.static.apol.com.tw)
2021-03-27 13:18:14 +0100Benzi-Junior(~BenziJuni@88-149-67-143.du.xdsl.is)
2021-03-27 13:19:05 +0100 <geekosaur> you could "package" optimization and a reflection into cpp together via cabal flags, although there'd be no guarantee that someone else used them
2021-03-27 13:20:26 +0100peanut_(~peanut_@2a02:8388:a101:2600:d2a4:3e0:301f:c8cf)
2021-03-27 13:23:48 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection)
2021-03-27 13:28:27 +0100ADG1089(~aditya@27.58.165.185) (Remote host closed the connection)
2021-03-27 13:30:35 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-27 13:30:35 +0100royal_screwup213(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-27 13:30:54 +0100royal_screwup213(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-27 13:30:54 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-27 13:35:36 +0100 <geekosaur> I'd have questions about how to represent "almost" states, since e.g. -O1 is shorthand for a bunch of different optimization flags
2021-03-27 13:38:43 +0100Kaiepi(~Kaiepi@47.54.252.148)
2021-03-27 13:42:59 +0100 <cjay> can cabal somehow run a single haskell file that uses a package not included with ghc? so something like "stack --package"?
2021-03-27 13:44:10 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-03-27 13:47:25 +0100 <__monty__> It definitely did at some point, https://github.com/haskell/cabal/pull/5483 Can't find docs on it anymore though.
2021-03-27 13:47:59 +0100renzhi(~renzhi@modemcable070.17-177-173.mc.videotron.ca)
2021-03-27 13:48:58 +0100royal_screwup213(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-27 13:48:58 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-27 13:49:18 +0100royal_screwup213(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-27 13:49:18 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-27 13:50:17 +0100 <cjay> oh thanks, that magic comment seems to work
2021-03-27 13:50:37 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit)
2021-03-27 13:50:37 +0100royal_screwup213(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit)
2021-03-27 13:50:56 +0100royal_screwup213(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-27 13:50:57 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-27 13:51:23 +0100 <__monty__> \o/
2021-03-27 13:53:00 +0100Alleria_(~AllahuAkb@2603-7000-3040-0000-eded-286a-fe45-12eb.res6.spectrum.com) (Read error: Connection reset by peer)
2021-03-27 13:53:23 +0100Alleria_(~AllahuAkb@2603-7000-3040-0000-e90c-4968-5b06-a6fe.res6.spectrum.com)
2021-03-27 13:53:33 +0100 <cjay> HIE can't seem to deal with it though, so no editor integration
2021-03-27 13:53:57 +0100Dykam_(Dykam@dykam.nl) (Quit: Dykam_)
2021-03-27 13:54:15 +0100Dykam(Dykam@dykam.nl)
2021-03-27 13:54:59 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 265 seconds)
2021-03-27 13:55:18 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2021-03-27 13:55:26 +0100 <__monty__> Path of least resistance is definitely to just have a full cabal project.
2021-03-27 13:55:34 +0100royal_screwup213(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 252 seconds)
2021-03-27 13:55:58 +0100fryguybob(~fryguybob@cpe-74-65-31-113.rochester.res.rr.com)
2021-03-27 13:58:11 +0100 <cjay> yeah. it's just nice for small example files that can be easily shared.
2021-03-27 13:59:06 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2021-03-27 13:59:38 +0100 <L29Ah> runhaskell(1)?
2021-03-27 13:59:47 +0100 <cjay> I just figured out that UnliftIO.Exception.catch behaves differently than Control.Exception.catch, it just ignores async exceptions. pain. that cost me at least half an hour because I assumed it's just a drop-in replacement like the rest of the lib..
2021-03-27 14:00:17 +0100 <geekosaur> L29Ah, the question was about exposing additional cabal packages to such a script
2021-03-27 14:01:02 +0100 <cjay> yeah, maybe it could be fed some internal package db of cabal, but that would be dirty I think
2021-03-27 14:02:11 +0100 <geekosaur> cabal exec does that but it still needs to be told which packages to put into said db
2021-03-27 14:02:39 +0100 <geekosaur> (there is no master db that can be exposed, the problems with that kind of db are why cabal and stack exist)
2021-03-27 14:03:20 +0100zebrag(~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr)
2021-03-27 14:06:39 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-27 14:07:55 +0100 <__monty__> cjay: From what I've picked up in this channel it's probably because the other catch doesn't deal with async exceptions properly either. The probably figured better not to than fail in weird and unexpected ways.
2021-03-27 14:07:55 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2021-03-27 14:07:56 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
2021-03-27 14:10:56 +0100Rudd0(~Rudd0@185.189.115.103) (Ping timeout: 265 seconds)
2021-03-27 14:11:05 +0100 <cjay> :/
2021-03-27 14:13:21 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 265 seconds)
2021-03-27 14:13:55 +0100TheScoop(~TheScoop@unaffiliated/tryte)
2021-03-27 14:14:06 +0100raichoo(~raichoo@dslb-092-073-193-252.092.073.pools.vodafone-ip.de)
2021-03-27 14:14:17 +0100 <__monty__> (Best to wait for confirmation of this from someone who actually knows what they're talking about but it's definitely the vibe I've gotten from async exception discussion.)
2021-03-27 14:15:22 +0100 <cjay> yeah thanks
2021-03-27 14:18:41 +0100RusAlex(~Chel@unaffiliated/rusalex) (Read error: Connection reset by peer)
2021-03-27 14:18:45 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Ping timeout: 240 seconds)
2021-03-27 14:19:21 +0100 <cjay> the unliftio docs have me confused.. they make it sound like one should never be using throwTo, but don't explain what one should do instead
2021-03-27 14:19:25 +0100RusAlex(~Chel@unaffiliated/rusalex)
2021-03-27 14:19:59 +0100ericsagnes(~ericsagne@2405:6580:0:5100:eee0:b3e1:482f:12f7) (Ping timeout: 245 seconds)
2021-03-27 14:20:27 +0100son0p(~son0p@181.58.39.182) (Quit: Lost terminal)
2021-03-27 14:20:35 +0100 <cjay> I need a way for child threads to communicate errors back to the parent thread, I don't think that can be done with Async or something like that
2021-03-27 14:20:35 +0100unyu(~pyon@unaffiliated/pyon)
2021-03-27 14:20:59 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
2021-03-27 14:21:00 +0100 <cjay> having the parent thread poll for the status of the chlid thread sucks
2021-03-27 14:21:10 +0100Kaiepi(~Kaiepi@47.54.252.148) (Ping timeout: 260 seconds)
2021-03-27 14:23:28 +0100 <maerwald> __monty__: why would that not work
2021-03-27 14:23:48 +0100 <maerwald> that's exactly what Text does: https://hackage.haskell.org/package/text-1.2.4.1/docs/src/Data.Text.Internal.Unsafe.Char.html#unsa…
2021-03-27 14:24:57 +0100 <__monty__> Because you have to be really careful not to break up codepoints.
2021-03-27 14:25:10 +0100 <__monty__> UTF-16 is not a fixed-width encoding.
2021-03-27 14:25:24 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-03-27 14:26:13 +0100 <maerwald> I can't follow. Unicode codepoint to UTF16 seems like a well defined thing
2021-03-27 14:26:47 +0100 <__monty__> Sure, but some codepoints require two Word16s to be represented.
2021-03-27 14:27:02 +0100 <geekosaur> did you notice he asked for a list of Word16?
2021-03-27 14:27:20 +0100Kaiepi(~Kaiepi@47.54.252.148)
2021-03-27 14:28:01 +0100berberman(~berberman@unaffiliated/berberman) (Ping timeout: 258 seconds)
2021-03-27 14:28:05 +0100 <__monty__> Yes, but I was thinking of Char as python does it. Apologies.
2021-03-27 14:28:24 +0100berberman(~berberman@unaffiliated/berberman)
2021-03-27 14:30:15 +0100Logio_Logio
2021-03-27 14:30:27 +0100zeromus1(~zeromus@217.146.82.202) (Remote host closed the connection)
2021-03-27 14:31:35 +0100zaquest(~notzaques@5.128.210.178) (Quit: Leaving)
2021-03-27 14:32:00 +0100ericsagnes(~ericsagne@2405:6580:0:5100:7ad7:6b13:eb4:f58c)
2021-03-27 14:33:41 +0100stree(~stree@68.36.8.116) (Ping timeout: 240 seconds)
2021-03-27 14:33:54 +0100zaquest(~notzaques@5.128.210.178)
2021-03-27 14:35:55 +0100LKoen(~LKoen@191.254.88.92.rev.sfr.net)
2021-03-27 14:36:51 +0100jscarmona1(~jscarmona@37.120.211.188)
2021-03-27 14:37:35 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
2021-03-27 14:37:40 +0100aarvar(~foewfoiew@2601:602:a080:fa0:e589:d5cd:80fb:258d) (Quit: Leaving.)
2021-03-27 14:41:16 +0100hackageheyting-algebras 0.2.0.1 - Heyting and Boolean algebras https://hackage.haskell.org/package/heyting-algebras-0.2.0.1 (coot)
2021-03-27 14:42:06 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2021-03-27 14:44:57 +0100Deide(~Deide@217.155.19.23)
2021-03-27 14:44:58 +0100alx741(~alx741@186.178.109.231)
2021-03-27 14:46:52 +0100stree(~stree@68.36.8.116)
2021-03-27 14:48:19 +0100geekosaur(ac3a5766@172.58.87.102) (Quit: Connection closed)
2021-03-27 14:50:33 +0100drbean_(~drbean@TC210-63-209-56.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2021-03-27 14:53:28 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-03-27 14:54:59 +0100son0p(~son0p@181.136.122.143)
2021-03-27 14:55:08 +0100Tario(~Tario@201.192.165.173)
2021-03-27 14:55:19 +0100LKoen(~LKoen@191.254.88.92.rev.sfr.net) (Remote host closed the connection)
2021-03-27 14:55:31 +0100liyang(~liyang@90.253.54.54) (Ping timeout: 248 seconds)
2021-03-27 14:56:27 +0100Guest86381(~textual@2603-7000-3040-0000-b985-54e1-77ea-63be.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-27 15:00:03 +0100Alleria(~textual@2603-7000-3040-0000-b985-54e1-77ea-63be.res6.spectrum.com)
2021-03-27 15:00:27 +0100AlleriaGuest88512
2021-03-27 15:00:53 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-27 15:02:39 +0100kav(~kari@dsl-hkibng42-56733f-225.dhcp.inet.fi) (Ping timeout: 265 seconds)
2021-03-27 15:04:26 +0100Guest88512(~textual@2603-7000-3040-0000-b985-54e1-77ea-63be.res6.spectrum.com) (Ping timeout: 258 seconds)
2021-03-27 15:05:56 +0100ryxai(~textual@pool-71-183-41-241.nycmny.fios.verizon.net)
2021-03-27 15:06:40 +0100molehillish(~molehilli@2600:8800:8d06:1800:f8ba:265:7129:d312)
2021-03-27 15:08:49 +0100lampowner(~xblow@2a02:2168:b03:3b74::1) (Remote host closed the connection)
2021-03-27 15:10:46 +0100hiroaki(~hiroaki@2a02:8108:8c40:2bb8:586e:5159:6fa7:bad0) (Ping timeout: 240 seconds)
2021-03-27 15:11:09 +0100molehillish(~molehilli@2600:8800:8d06:1800:f8ba:265:7129:d312) (Ping timeout: 250 seconds)
2021-03-27 15:11:55 +0100ryxai(~textual@pool-71-183-41-241.nycmny.fios.verizon.net) (Quit: Textual IRC Client: www.textualapp.com)
2021-03-27 15:13:08 +0100Pickchea(~private@unaffiliated/pickchea) (Ping timeout: 246 seconds)
2021-03-27 15:15:01 +0100 <peanut_> what is a function type constructor
2021-03-27 15:15:19 +0100Kaiepi(~Kaiepi@47.54.252.148) (Remote host closed the connection)
2021-03-27 15:17:52 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-03-27 15:19:32 +0100Alleria__(~textual@mskresolve-a.mskcc.org)
2021-03-27 15:23:12 +0100hiroaki(~hiroaki@2a02:8108:8c40:2bb8:48b8:55e3:ebc5:16b6)
2021-03-27 15:25:38 +0100zebrag(~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-27 15:26:19 +0100zebrag(~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr)
2021-03-27 15:26:43 +0100kritzefitz(~kritzefit@212.86.56.80)
2021-03-27 15:28:09 +0100 <cjay> peanut_: (->) in type signatures I think
2021-03-27 15:29:01 +0100 <peanut_> :t map
2021-03-27 15:29:03 +0100 <lambdabot> (a -> b) -> [a] -> [b]
2021-03-27 15:29:12 +0100 <peanut_> like that (a -> b)?
2021-03-27 15:29:44 +0100 <cjay> that is a function type, the function type constructor applied to two type variables
2021-03-27 15:29:44 +0100 <peanut_> though i think thats just a function type
2021-03-27 15:29:57 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Remote host closed the connection)
2021-03-27 15:30:03 +0100 <cjay> :kind (->)
2021-03-27 15:30:10 +0100 <cjay> :t (->)
2021-03-27 15:30:12 +0100 <lambdabot> error: parse error on input ‘->’
2021-03-27 15:30:30 +0100cjayslaps lambdabot
2021-03-27 15:30:38 +0100 <peanut_> lol
2021-03-27 15:30:43 +0100 <cjay> ghci can do :kind
2021-03-27 15:30:51 +0100 <enikar> % :kind (->)
2021-03-27 15:30:51 +0100 <yahb> enikar: * -> * -> *
2021-03-27 15:32:07 +0100mrchampion(~mrchampio@38.18.109.23)
2021-03-27 15:32:28 +0100 <enikar> yahb works is a ghci :)
2021-03-27 15:32:35 +0100 <peanut_> ooh its straight up just "(->)"
2021-03-27 15:32:50 +0100 <peanut_> that makes more sense now, thanks
2021-03-27 15:32:52 +0100 <enikar> oops s/works//
2021-03-27 15:32:59 +0100 <cjay> :)
2021-03-27 15:34:36 +0100s00pcan(~chris@075-133-056-178.res.spectrum.com) (Ping timeout: 260 seconds)
2021-03-27 15:34:39 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2021-03-27 15:34:43 +0100frozenErebus(~frozenEre@37.231.244.249)
2021-03-27 15:34:46 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-03-27 15:37:14 +0100 <cjay> Man, I wonder what was going on in the heads of whoever made unliftio. The safe-exceptions package of the same company has a catchAsync, and they admit themselves that it is needed in the README. But UnliftIO.Exception just omits any way to catch async exceptions.
2021-03-27 15:37:29 +0100 <cjay> so weird
2021-03-27 15:37:44 +0100malumore(~malumore@151.62.126.8)
2021-03-27 15:38:18 +0100 <cjay> unlifting the catch from base manually is easy, but omitting it suggests that one should not be using it, which as far as I understand it, is just wrong
2021-03-27 15:42:46 +0100hackagemath-functions 0.3.4.2 - Collection of tools for numeric computations https://hackage.haskell.org/package/math-functions-0.3.4.2 (AlexeyKhudyakov)
2021-03-27 15:44:16 +0100urodna(~urodna@unaffiliated/urodna)
2021-03-27 15:45:33 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Read error: Connection reset by peer)
2021-03-27 15:49:01 +0100hc(~hc@fsfe/hc) (Quit: leaving)
2021-03-27 15:49:09 +0100frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 268 seconds)
2021-03-27 15:50:17 +0100hc(~hc@fsfe/hc)
2021-03-27 15:51:47 +0100ajc(~ajc@69.231.232.79) (Remote host closed the connection)
2021-03-27 15:52:12 +0100ajc(~ajc@69.231.232.79)
2021-03-27 15:54:05 +0100Pickchea(~private@unaffiliated/pickchea)
2021-03-27 15:56:56 +0100kritzefitz(~kritzefit@212.86.56.80) (Ping timeout: 252 seconds)
2021-03-27 15:57:29 +0100acidjnk_new(~acidjnk@p200300d0c72b9512d8aaf3880c64deb7.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2021-03-27 15:57:49 +0100frozenErebus(~frozenEre@37.231.244.249)
2021-03-27 16:04:40 +0100carlomagno(~cararell@148.87.23.11)
2021-03-27 16:07:16 +0100hackageslick 1.1.1.0 - A quick & easy static site builder built with shake and pandoc. https://hackage.haskell.org/package/slick-1.1.1.0 (ChrisPenner)
2021-03-27 16:10:06 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-27 16:10:58 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-27 16:16:07 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
2021-03-27 16:16:48 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-27 16:16:48 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2021-03-27 16:16:50 +0100Varis(~Tadas@unaffiliated/varis)
2021-03-27 16:20:58 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds)
2021-03-27 16:21:09 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-03-27 16:21:21 +0100mouseghost(~draco@87-206-9-185.dynamic.chello.pl)
2021-03-27 16:21:22 +0100mouseghost(~draco@87-206-9-185.dynamic.chello.pl) (Changing host)
2021-03-27 16:21:22 +0100mouseghost(~draco@wikipedia/desperek)
2021-03-27 16:21:28 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-27 16:25:37 +0100zebrag(~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-27 16:25:59 +0100zebrag(~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr)
2021-03-27 16:26:57 +0100s00pcan(~chris@075-133-056-178.res.spectrum.com)
2021-03-27 16:27:52 +0100jlamothe(~jlamothe@198.251.55.207) (Quit: leaving)
2021-03-27 16:28:26 +0100raym(~ray@115.187.32.14) (Quit: leaving)
2021-03-27 16:28:38 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-03-27 16:31:34 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-03-27 16:33:21 +0100 <maerwald> How would one construct a filepath according to the abstract filepath proposal from a ByteString. On Unix you have two choices: `id` or a random encoding (utf8). On Windows, you must encode as utf16LE (ascii is a possibility too, but MS is deprecating those syscalls afaiu)
2021-03-27 16:34:09 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2021-03-27 16:34:14 +0100 <maerwald> it seems you could go for id for unix and lenientDecode on windows, but that doesn't seem well defined either
2021-03-27 16:34:57 +0100 <maerwald> Maybe FilePath -- seems ridiculous, when it can only fail on one platform
2021-03-27 16:35:30 +0100jophish(~jophish@li1766-207.members.linode.com)
2021-03-27 16:37:07 +0100borne(~fritjof@200116b8640fd800f7ed9fd86a2491f0.dip.versatel-1u1.de)
2021-03-27 16:37:47 +0100gxt(~gxt@gateway/tor-sasl/gxt)
2021-03-27 16:38:24 +0100tpefreedom(~tsomers@184-157-240-110.dyn.centurytel.net)
2021-03-27 16:41:18 +0100frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 240 seconds)
2021-03-27 16:42:42 +0100apeyroux(~alex@78.20.138.88.rev.sfr.net)
2021-03-27 16:42:45 +0100apeyroux(~alex@78.20.138.88.rev.sfr.net) (Client Quit)
2021-03-27 16:47:40 +0100ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-03-27 16:47:51 +0100jlamothe(~jlamothe@198.251.55.207)
2021-03-27 16:50:35 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-27 16:50:58 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-03-27 16:50:58 +0100kiweun(~kiweun@2607:fea8:2a62:9600:31a8:b768:9c51:16bb)
2021-03-27 16:52:58 +0100ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
2021-03-27 16:53:18 +0100conal(~conal@192.145.118.89) (Quit: Computer has gone to sleep.)
2021-03-27 16:54:36 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-27 16:54:38 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 240 seconds)
2021-03-27 16:54:41 +0100stree(~stree@68.36.8.116) (Ping timeout: 240 seconds)
2021-03-27 16:55:01 +0100ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-03-27 16:56:21 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-03-27 16:56:50 +0100plakband(~plakband@softbank126227040096.bbtec.net)
2021-03-27 16:58:50 +0100conal(~conal@64.71.133.70)
2021-03-27 16:59:09 +0100ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 246 seconds)
2021-03-27 17:00:04 +0100 <plakband> Does someone have a recommendation for how to best generate LLVM from Haskell? The llvm-hs package seems outdated and a little light on documentation, am I better off just using the bindings directly?
2021-03-27 17:00:13 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2021-03-27 17:00:18 +0100darkcodi[m](darkcodima@gateway/shell/matrix.org/x-dwlebpymojvmimkd) (Quit: Idle for 30+ days)
2021-03-27 17:01:31 +0100_bin_(~bin@2600:1700:10a1:38d0:f5fc:8391:811:f23a) (Quit: ZNC - https://znc.in)
2021-03-27 17:01:58 +0100_bin(~bin@75-54-107-59.lightspeed.hstntx.sbcglobal.net)
2021-03-27 17:03:21 +0100conal(~conal@64.71.133.70) (Ping timeout: 246 seconds)
2021-03-27 17:03:28 +0100conal_(~conal@192.145.118.149)
2021-03-27 17:06:14 +0100peanut_(~peanut_@2a02:8388:a101:2600:d2a4:3e0:301f:c8cf) (Quit: Leaving)
2021-03-27 17:06:16 +0100hackagedhall-openapi 1.0.0 - Convert an OpenAPI specification to a Dhall package https://hackage.haskell.org/package/dhall-openapi-1.0.0 (GabrielGonzalez)
2021-03-27 17:06:38 +0100 <_bin> c
2021-03-27 17:06:42 +0100geekosaur(82650c7a@130.101.12.122)
2021-03-27 17:07:02 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:16f:a8e3:b3e2:cec6)
2021-03-27 17:08:15 +0100stree(~stree@68.36.8.116)
2021-03-27 17:08:16 +0100frozenErebus(~frozenEre@37.231.244.249)
2021-03-27 17:13:10 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
2021-03-27 17:15:33 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Ping timeout: 240 seconds)
2021-03-27 17:16:06 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 268 seconds)
2021-03-27 17:16:38 +0100Rudd0(~Rudd0@185.189.115.103)
2021-03-27 17:19:37 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-03-27 17:21:02 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2021-03-27 17:21:22 +0100stef204(~stef204@unaffiliated/stef-204/x-384198)
2021-03-27 17:22:03 +0100kav(~kari@dsl-hkibng42-56733f-225.dhcp.inet.fi)
2021-03-27 17:24:38 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net)
2021-03-27 17:25:16 +0100xff0x(~xff0x@2001:1a81:5267:7900:f33d:bbef:8155:bb1d) (Ping timeout: 240 seconds)
2021-03-27 17:25:21 +0100LKoen(~LKoen@191.254.88.92.rev.sfr.net)
2021-03-27 17:25:38 +0100zebrag(~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-27 17:25:58 +0100zebrag(~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr)
2021-03-27 17:27:28 +0100xff0x(xff0x@gateway/vpn/mullvad/xff0x)
2021-03-27 17:29:27 +0100solarion(~solarion@fsf/member/solarion)
2021-03-27 17:29:37 +0100solarionSolarion
2021-03-27 17:29:47 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-27 17:30:59 +0100gioyik(~gioyik@gateway/tor-sasl/gioyik)
2021-03-27 17:33:04 +0100stef204(~stef204@unaffiliated/stef-204/x-384198) (Quit: WeeChat 3.1)
2021-03-27 17:34:29 +0100LKoen(~LKoen@191.254.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2021-03-27 17:39:21 +0100 <ephemient> maerwald: Microsoft is gradually making it possible to use UTF-8 with the old -A (non-widechar) API: https://docs.microsoft.com/en-us/windows/uwp/design/globalizing/use-utf8-code-page
2021-03-27 17:39:38 +0100 <xerox_> by what magic `instance Read X where readPrec = ...' only works when you import GHC.Read? (is that even the right way to go about it? it's just what I found, trying to follow the advice in the Prelude docs about implementing readPrec instead of readsPrec)
2021-03-27 17:40:15 +0100 <ephemient> so I'd say it's the opposite of being deprecated
2021-03-27 17:40:58 +0100elliott_(~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
2021-03-27 17:40:59 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2021-03-27 17:42:09 +0100 <ephemient> xerox_: Prelude exports Read(readsPrec, readList) - it doesn't export Read(readPrec). if you want to, it would be better to import it via Text.Read
2021-03-27 17:42:21 +0100p8m(p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 260 seconds)
2021-03-27 17:42:46 +0100p8m(p8m@gateway/vpn/protonvpn/p8m)
2021-03-27 17:43:16 +0100 <c_wraith> xerox_: that's why the error message says it's not a *visible* member
2021-03-27 17:44:09 +0100jamm_(~jamm@unaffiliated/jamm)
2021-03-27 17:44:17 +0100jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-03-27 17:45:16 +0100 <xerox_> gotcha, appreciate it
2021-03-27 17:45:32 +0100hidedagger(~nate@unaffiliated/hidedagger) (Ping timeout: 265 seconds)
2021-03-27 17:46:11 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2021-03-27 17:46:17 +0100son0p(~son0p@181.136.122.143) (Quit: Lost terminal)
2021-03-27 17:46:18 +0100zaquest(~notzaques@5.128.210.178) (Read error: Connection reset by peer)
2021-03-27 17:47:08 +0100zaquest(~notzaques@5.128.210.178)
2021-03-27 17:48:31 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-27 17:49:29 +0100madjest14(~Android@2a02-a420-47-b3b2-8077-257-ad0b-f19d.mobile6.kpn.net)
2021-03-27 17:49:41 +0100madjestic(~Android@86-88-72-244.fixed.kpn.net) (Ping timeout: 240 seconds)
2021-03-27 17:50:39 +0100ukari(~ukari@unaffiliated/ukari) (Remote host closed the connection)
2021-03-27 17:52:22 +0100geekosaur(82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
2021-03-27 17:52:44 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds)
2021-03-27 17:53:05 +0100wonko7(~wonko7@62.115.229.50)
2021-03-27 17:56:41 +0100xff0x(xff0x@gateway/vpn/mullvad/xff0x) (Ping timeout: 240 seconds)
2021-03-27 17:57:36 +0100p8m(p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 246 seconds)
2021-03-27 17:58:43 +0100xff0x(~xff0x@2001:1a81:5267:7900:f33d:bbef:8155:bb1d)
2021-03-27 17:59:00 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
2021-03-27 17:59:44 +0100geekosaur(82650c7a@130.101.12.122)
2021-03-27 18:03:54 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2021-03-27 18:07:38 +0100rajivr(uid269651@gateway/web/irccloud.com/x-ntrjiqavhvendslg) (Quit: Connection closed for inactivity)
2021-03-27 18:10:59 +0100 <maerwald> ephemient: that doesn't change the base problem: how to deal with invalid unicode data
2021-03-27 18:11:17 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds)
2021-03-27 18:11:57 +0100 <ephemient> I mean, even on Linux where the API doesn't enforce valid Unicode, it's entirely possible that the filesystem you're working on does... so you have to handle invalid filenames at that point regardless
2021-03-27 18:12:31 +0100 <maerwald> ephemient: on unix, filenames are char[]
2021-03-27 18:12:57 +0100 <maerwald> the only invalid bytes are '/' and \0
2021-03-27 18:13:07 +0100 <ephemient> yes, but if the user has a NTFS filesystem mounted, you can't create invalid filenames - you'll get an error at open time
2021-03-27 18:13:22 +0100DavidEichmann(~david@47.27.93.209.dyn.plus.net) (Remote host closed the connection)
2021-03-27 18:13:28 +0100 <ephemient> also on macos - also has UNIX-like char[] filenames, but performs Unicode normalization on it
2021-03-27 18:13:48 +0100 <maerwald> linux doesn't perform unicode normalization though
2021-03-27 18:14:43 +0100 <geekosaur> filesystems can though, and iirc there's at least one hfs+ driver out there
2021-03-27 18:14:47 +0100 <ephemient> and macos's normalization rules are also different on HFS+ and AFS...
2021-03-27 18:15:08 +0100 <maerwald> so: BytesString to FilePath conversion on unix systems cannot fail, but it can fail on windows. The question is how to abstract over that
2021-03-27 18:15:24 +0100 <ephemient> you have to worry about whether the whole encode+open sequence can fail
2021-03-27 18:15:34 +0100 <ephemient> why do anything special about filename encoding failure?
2021-03-27 18:16:09 +0100 <maerwald> geekosaur: what's relevant is what the syscalls accept
2021-03-27 18:16:41 +0100 <ephemient> maerwald: you don't know what the syscalls accept, there's restrictions beyond char[]
2021-03-27 18:16:56 +0100 <maerwald> ephemient: what restriction is there on linux?
2021-03-27 18:17:12 +0100 <ephemient> depends on the filesystems in use
2021-03-27 18:17:49 +0100 <ephemient> Linux can mount FAT and NTFS filesystems, which will apply those rules, and FUSE filesystems which can do anything
2021-03-27 18:18:16 +0100 <ephemient> there isn't a global PATH_MAX but different filesystems have internal limits
2021-03-27 18:19:11 +0100elliott_(~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Quit: WeeChat 3.1)
2021-03-27 18:19:29 +0100 <maerwald> well, I'm not sure I want to do anything about that... following POSIX, everything except null byte and '/' is allowed
2021-03-27 18:19:50 +0100 <ephemient> POSIX allows for systems to apply more restrictions than that
2021-03-27 18:20:02 +0100 <maerwald> yes, but that's up to the user to ensure
2021-03-27 18:20:11 +0100 <maerwald> not to a library implementing FilePath type
2021-03-27 18:20:24 +0100 <maerwald> you can consider what filesystem you support
2021-03-27 18:20:34 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in)
2021-03-27 18:20:44 +0100elliott_(~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
2021-03-27 18:21:03 +0100 <ephemient> in practice Gnome presumes that file paths are UTF-8 encoded and KDE assumes that file paths are $LOCALE encoded (which is going to be UTF-8 these days)
2021-03-27 18:21:19 +0100 <maerwald> yeah, I want to avoid exactly those assumptions
2021-03-27 18:21:43 +0100frozenErebus(~frozenEre@37.231.244.249) (Quit: leaving)
2021-03-27 18:21:47 +0100 <ephemient> you will have to handle unexpected failures later, regardless of what you assume up front
2021-03-27 18:21:55 +0100 <maerwald> the question now is how to unify over windows and unix (given that we assume all ByteStrings are valid on unix)
2021-03-27 18:22:15 +0100 <maerwald> when converting FROM ByteString
2021-03-27 18:22:19 +0100jakalx(~jakalx@base.jakalx.net) ("Error from remote client")
2021-03-27 18:23:22 +0100 <ephemient> I would leave it as a bytestring until open() time, which can fail due to encoding *or* system-specific reasons
2021-03-27 18:23:48 +0100ddellacosta(~ddellacos@86.106.143.92)
2021-03-27 18:24:00 +0100 <maerwald> this is what I've done: https://git.io/JYsjV
2021-03-27 18:25:34 +0100gentauro(~gentauro@unaffiliated/gentauro) (Quit: leaving)
2021-03-27 18:25:37 +0100zebrag(~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-27 18:25:46 +0100MrMobius(~MrMobius@208.58.206.154) (Ping timeout: 245 seconds)
2021-03-27 18:25:53 +0100 <maerwald> FileSystem support is up to an application to worry about imo. E.g. some applications don't support AUFS, because it breaks `rename` sometimes (you need portable file copy).
2021-03-27 18:26:00 +0100zebrag(~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr)
2021-03-27 18:26:41 +0100 <ephemient> I don't see why you need detect invalid Windows filenames earlier than `open` time
2021-03-27 18:26:44 +0100MrMobius(~MrMobius@208.58.206.154)
2021-03-27 18:26:54 +0100 <maerwald> ephemient: that's the invariant for the type
2021-03-27 18:26:56 +0100 <ephemient> you can't detect many cases of invalid filenames without trying to `open` them, across all OSes
2021-03-27 18:27:09 +0100gxt(~gxt@gateway/tor-sasl/gxt) (Ping timeout: 240 seconds)
2021-03-27 18:27:13 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-27 18:27:18 +0100 <maerwald> did you read the abstract filepath proposal?
2021-03-27 18:27:20 +0100pera(~pera@unaffiliated/pera)
2021-03-27 18:28:33 +0100ddellacosta(~ddellacos@86.106.143.92) (Ping timeout: 265 seconds)
2021-03-27 18:28:33 +0100gentauro(~gentauro@unaffiliated/gentauro)
2021-03-27 18:29:13 +0100gxt(~gxt@gateway/tor-sasl/gxt)
2021-03-27 18:29:22 +0100 <ephemient> `data WindowsFilePath = WFP ByteArray# -- UTF16 data` doesn't seem like the right thing to do, to me
2021-03-27 18:29:42 +0100 <maerwald> well, I'm implementing it, so this is assumed as correct
2021-03-27 18:31:54 +0100 <maerwald> I'm less worried about the internal representation decisions, but how the abstraction will play out (or if there's no reasonable one). Converting from ByteString is one of those things that can't be properly abstracted over. Another option is to just refer ppl to the internals if they need that kind of thing
2021-03-27 18:32:59 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
2021-03-27 18:33:16 +0100 <maerwald> that's why there are 2 constructors
2021-03-27 18:33:38 +0100 <maerwald> so you don't accidentially write one codepath if you start matching on the raw data
2021-03-27 18:34:14 +0100jakalx(~jakalx@base.jakalx.net)
2021-03-27 18:35:02 +0100 <ephemient> if I were targeting W10+ only, I'd use UTF-8 across all platforms, period
2021-03-27 18:36:14 +0100vicfred(vicfred@gateway/vpn/mullvad/vicfred)
2021-03-27 18:36:30 +0100 <ephemient> with older Windows in the mix... `data WindowsFilePath = WFPW {- UTF-16 -} | WFPA {- UTF-8 -}` I guess. a bit unfortunate in that it would require a custom Eq that uses the current codepage for conversion
2021-03-27 18:37:49 +0100d34df00d(~d34df00d@104-14-27-213.lightspeed.austtx.sbcglobal.net)
2021-03-27 18:37:52 +0100 <d34df00d> Hi!
2021-03-27 18:38:11 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
2021-03-27 18:40:31 +0100madjest14(~Android@2a02-a420-47-b3b2-8077-257-ad0b-f19d.mobile6.kpn.net) (Ping timeout: 276 seconds)
2021-03-27 18:41:24 +0100 <maerwald> ephemient: rust does a very similar thing to the abstract filepath proposal, see OsString. It's Vec<u8> on unix and WTF-8 (more lax utf-8) on windows
2021-03-27 18:41:51 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal)
2021-03-27 18:42:29 +0100 <maerwald> but it is more than about filepaths, so it's not a clean abstraction
2021-03-27 18:43:07 +0100 <maerwald> https://doc.rust-lang.org/std/ffi/index.html#conversions is also interesting
2021-03-27 18:43:38 +0100 <maerwald> following that, they would only expose `fromByteString` on unix via CPP ifdef
2021-03-27 18:44:09 +0100paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Remote host closed the connection)
2021-03-27 18:45:16 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-27 18:45:47 +0100curl(5ce955fb@gateway/web/cgi-irc/kiwiirc.com/ip.92.233.85.251)
2021-03-27 18:46:22 +0100geekosaur(82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
2021-03-27 18:47:11 +0100Pickchea(~private@unaffiliated/pickchea) (Ping timeout: 240 seconds)
2021-03-27 18:47:41 +0100ezrakilty(~ezrakilty@97-113-58-224.tukw.qwest.net)
2021-03-27 18:47:56 +0100 <curl> is there a name for the first argument of (a->(o,a)) -> a -> [o]
2021-03-27 18:48:42 +0100 <curl> or of that function?
2021-03-27 18:49:18 +0100pupuupup(~pupuupup@node-bv.pool-125-24.dynamic.totinternet.net)
2021-03-27 18:49:56 +0100 <maerwald> https://hackage.haskell.org/package/fixed-vector-1.2.0.0/docs/Data-Vector-Fixed.html#v:unfoldr
2021-03-27 18:49:58 +0100 <maerwald> unfold?
2021-03-27 18:50:46 +0100hackagezenacy-unicode 1.0.1 - Unicode utilities for Haskell https://hackage.haskell.org/package/zenacy-unicode-1.0.1 (mlcfp)
2021-03-27 18:50:47 +0100 <curl> :t unfoldr
2021-03-27 18:50:48 +0100 <lambdabot> (b -> Maybe (a, b)) -> b -> [a]
2021-03-27 18:51:01 +0100 <curl> yeah i see
2021-03-27 18:51:03 +0100 <curl> thanks
2021-03-27 18:51:46 +0100hackagezenacy-html 2.0.3 - A standard compliant HTML parsing library https://hackage.haskell.org/package/zenacy-html-2.0.3 (mlcfp)
2021-03-27 18:52:12 +0100 <curl> i guess i can always use Just to make the maybe version
2021-03-27 18:53:47 +0100heatsink(~heatsink@2600:1700:bef1:5e10:1cfc:5265:7008:dc13)
2021-03-27 18:54:15 +0100 <curl> how do i compose things like that together? i guess i need a fold inbetween to use fusion
2021-03-27 18:55:39 +0100paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com)
2021-03-27 18:55:55 +0100plakband(~plakband@softbank126227040096.bbtec.net) (Quit: WeeChat 2.9)
2021-03-27 18:55:57 +0100 <curl> probably just successive traversals and mappings, but i want the data to feed through one element at a time through some kind of sequence of processes each of which has its own memory state
2021-03-27 18:56:15 +0100 <curl> at least notionally
2021-03-27 18:56:36 +0100 <curl> or, because that can be a way of looking at it, that maybe there is a way of coding that is like that
2021-03-27 18:56:45 +0100gioyik(~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 240 seconds)
2021-03-27 18:57:23 +0100 <curl> does that make sense? feeding the data one element at a time through some kind of stationary bunch of functions
2021-03-27 18:57:28 +0100 <maerwald> > unfoldr (\b -> if b < 5 then Just (b, b + 1) else Nothing) 1
2021-03-27 18:57:31 +0100 <lambdabot> [1,2,3,4]
2021-03-27 18:58:02 +0100 <maerwald> b is your state
2021-03-27 18:58:18 +0100 <maerwald> `Nothing` aborts the loop
2021-03-27 18:58:34 +0100 <curl> :t mapAccumr undefined undefined $ unfoldr (\b -> if b < 5 then Just (b, b + 1) else Nothing) 1
2021-03-27 18:58:35 +0100 <lambdabot> error:
2021-03-27 18:58:36 +0100 <lambdabot> • Variable not in scope: mapAccumr :: t0 -> t1 -> [a0] -> t
2021-03-27 18:58:36 +0100 <lambdabot> • Perhaps you meant one of these:
2021-03-27 18:59:22 +0100heatsink(~heatsink@2600:1700:bef1:5e10:1cfc:5265:7008:dc13) (Ping timeout: 276 seconds)
2021-03-27 19:02:22 +0100ddellacosta(~ddellacos@86.106.143.66)
2021-03-27 19:02:27 +0100 <curl> > mapAccumR (\x y -> (x+1,x+y)) 0 $ unfoldr (\b -> if b < 5 then Just (b, b + 1) else Nothing) 1
2021-03-27 19:02:29 +0100 <lambdabot> (4,[4,4,4,4])
2021-03-27 19:02:56 +0100geekosaur(82650c7a@130.101.12.122)
2021-03-27 19:03:16 +0100borne(~fritjof@200116b8640fd800f7ed9fd86a2491f0.dip.versatel-1u1.de) (Ping timeout: 240 seconds)
2021-03-27 19:03:24 +0100supersven[m](supersvenm@gateway/shell/matrix.org/x-wgclishhljzvmcme)
2021-03-27 19:03:38 +0100 <curl> > mapAccumL (\x y -> (x+1,x+y)) 0 $ unfoldr (\b -> if b < 5 then Just (b, b + 1) else Nothing) 1
2021-03-27 19:03:41 +0100 <lambdabot> (4,[1,3,5,7])
2021-03-27 19:04:11 +0100 <curl> see how the 0 enters and acts as a state undergoing +1
2021-03-27 19:04:52 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2021-03-27 19:05:24 +0100 <curl> so you see the idea of "composing" these things together, with them aech having their own state?
2021-03-27 19:06:10 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-03-27 19:06:55 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-27 19:06:56 +0100ddellacosta(~ddellacos@86.106.143.66) (Ping timeout: 260 seconds)
2021-03-27 19:07:19 +0100e(e@freenode/staff/spy.edk) (Quit: edk)
2021-03-27 19:07:27 +0100 <curl> i guess there is some condition of the first argument of mapAccumL where it can factorise over 2 mapAccumL's in series
2021-03-27 19:08:24 +0100 <curl> giving some rewrite rule that mashed them all into one call to mapAccumL
2021-03-27 19:08:34 +0100 <curl> or even by fusion right into the unfold
2021-03-27 19:09:01 +0100 <curl> mashes*
2021-03-27 19:09:07 +0100ddellacosta(~ddellacos@86.106.143.27)
2021-03-27 19:09:33 +0100 <curl> :t mapAccumL
2021-03-27 19:09:35 +0100 <lambdabot> Traversable t => (a -> b -> (a, c)) -> a -> t b -> (a, t c)
2021-03-27 19:09:47 +0100 <curl> they are all these things of type (a -> b -> (a, c))
2021-03-27 19:10:06 +0100 <curl> `a' is acting as the state there
2021-03-27 19:10:44 +0100 <curl> though i prefer (i -> s -> (o,s)) = State s i o
2021-03-27 19:11:28 +0100 <curl> the proposal is there should be some kind of fusion for states being sequentially composed down into an unfold
2021-03-27 19:11:59 +0100 <curl> i guess this already happens with Traversable somehow
2021-03-27 19:12:06 +0100 <ephemient> > let (_, fib) = mapAccumL (\a b -> (a + b, a)) 1 (0:fib) in 0:fib
2021-03-27 19:12:08 +0100 <lambdabot> [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,...
2021-03-27 19:12:20 +0100 <__minoru__shirae> curl: "one element at a time" - in haskell you don't have to build the whole list to start handling its elements
2021-03-27 19:12:35 +0100 <curl> its a notion embodied in the fusion
2021-03-27 19:12:42 +0100 <curl> its how you can get it down to an unfold
2021-03-27 19:13:11 +0100ddellacosta(~ddellacos@86.106.143.27) (Ping timeout: 240 seconds)
2021-03-27 19:13:19 +0100 <curl> you think of the sequence of composed states processing one value at a time, and this sequence being composed down to one action by the fusion
2021-03-27 19:13:31 +0100 <ephemient> > unfoldr (Just . \(a, b) -> (a, (b, a + b))) (0, 1)
2021-03-27 19:13:33 +0100 <lambdabot> [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,...
2021-03-27 19:14:06 +0100dxld(~dxld@rush.pub.dxld.at) (Ping timeout: 245 seconds)
2021-03-27 19:14:23 +0100 <curl> right, you should alsways be able to rewrite any mapAccumL over any unfolded list, into just one unfold
2021-03-27 19:14:45 +0100 <__minoru__shirae> curl: you mean functions with signature "a -> m ()", right?
2021-03-27 19:14:55 +0100 <curl> no...
2021-03-27 19:15:05 +0100 <curl> not sure where you got that from
2021-03-27 19:15:22 +0100 <__minoru__shirae> curl: "you think of the sequence of composed states processing one value at a time, and this sequence being composed down to one action by the fusion"
2021-03-27 19:15:28 +0100knupfer(~Thunderbi@dynamic-046-114-151-080.46.114.pool.telefonica.de)
2021-03-27 19:15:39 +0100dxld(~dxld@rush.pub.dxld.at)
2021-03-27 19:15:41 +0100 <__minoru__shirae> what is the signature of that action?
2021-03-27 19:15:54 +0100 <curl> well just one state i guess
2021-03-27 19:16:12 +0100 <curl> states i was writing (i -> s -> (o,s))
2021-03-27 19:16:18 +0100dyeplexer(~lol@unaffiliated/terpin) (Remote host closed the connection)
2021-03-27 19:16:21 +0100stree(~stree@68.36.8.116) (Ping timeout: 268 seconds)
2021-03-27 19:16:50 +0100 <curl> which is backwards of how they appear in mapAccumL as (a -> b -> (a,c))
2021-03-27 19:17:02 +0100 <curl> :t mapAccumL
2021-03-27 19:17:04 +0100 <lambdabot> Traversable t => (a -> b -> (a, c)) -> a -> t b -> (a, t c)
2021-03-27 19:17:53 +0100e(e@freenode/staff/spy.edk)
2021-03-27 19:18:24 +0100 <curl> basically you have a bunch of i's and o's that have to match up, and a bunch of s's which are grouped together into one effective state
2021-03-27 19:18:55 +0100codygman__(~user@47.186.207.161)
2021-03-27 19:18:56 +0100Sornaensis(~Sornaensi@185.217.117.65)
2021-03-27 19:18:59 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2021-03-27 19:20:18 +0100 <curl> like, 2 mapAccumL in series is like one with the pair of the states of each as its state
2021-03-27 19:21:55 +0100 <curl> anyway, even if you dont think of the elements being processed one at a time going through the states, the states still end up in a list more or less, so there is still the idea of this processor that the elements are being fed through
2021-03-27 19:22:26 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2021-03-27 19:22:28 +0100 <curl> i guess i should distinguish between states and state functions...
2021-03-27 19:22:38 +0100idhugo_(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds)
2021-03-27 19:22:41 +0100Sorny(~Sornaensi@077213203030.dynamic.telenor.dk) (Ping timeout: 265 seconds)
2021-03-27 19:22:45 +0100 <curl> states s, state function i -> s -> (o,s)
2021-03-27 19:23:25 +0100 <monochrom> Perhaps you like "state transition function".
2021-03-27 19:23:26 +0100 <curl> a sequence of state functions becomes a state function with a list of states as its state
2021-03-27 19:23:31 +0100 <__minoru__shirae> how about the obvisous solution, calling mapAccumL, then taking its result and then calling the next mapAccumL on it
2021-03-27 19:23:50 +0100 <curl> yeah thats how they compose
2021-03-27 19:23:55 +0100 <curl> in sequence or series
2021-03-27 19:24:33 +0100 <curl> so mapAccumL takes both the state function and the state and then is a function in one argument ready for sequential composition
2021-03-27 19:24:34 +0100 <monochrom> If you re-imagine the "a -> t b -> (a, t c)" part to be "(a, t b) -> (a, t c)", you can use vanilla "." for chaining.
2021-03-27 19:25:24 +0100 <curl> an uncurried state function
2021-03-27 19:25:34 +0100 <curl> fine
2021-03-27 19:25:37 +0100zebrag(~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-27 19:25:58 +0100zebrag(~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr)
2021-03-27 19:26:09 +0100 <curl> so then each state and state function together, with mapAccumL partially applied, all dotted together
2021-03-27 19:26:21 +0100 <__minoru__shirae> using this approach you can build one chain of handlers, how about linking those chains into trees?
2021-03-27 19:26:21 +0100 <curl> and that should be with a rewrite to an unfold
2021-03-27 19:26:54 +0100NinjaTrappeur(~ninja@2001:913:5200:200::) (Quit: WeeChat 3.1)
2021-03-27 19:26:56 +0100 <curl> and that would be inductivly written just needing to match one dot to then work on any number in a sequence
2021-03-27 19:27:13 +0100NinjaTrappeur(~ninja@unaffiliated/ninjatrappeur)
2021-03-27 19:27:14 +0100madjestic(~Android@86-88-72-244.fixed.kpn.net)
2021-03-27 19:27:18 +0100 <curl> __minoru__shirae: trees of outputs or inputs or both?
2021-03-27 19:27:19 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:16f:a8e3:b3e2:cec6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-27 19:27:42 +0100 <__minoru__shirae> I mean graphs of processing steps
2021-03-27 19:27:51 +0100 <curl> in either case you output or have input of pairs or lists
2021-03-27 19:28:08 +0100 <curl> as edges to the consequent verticies
2021-03-27 19:28:40 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 268 seconds)
2021-03-27 19:28:44 +0100 <curl> lists of outputs or inputs, not trees, sorry
2021-03-27 19:28:55 +0100 <curl> but that ends up like a tree
2021-03-27 19:29:07 +0100stree(~stree@68.36.8.116)
2021-03-27 19:29:20 +0100 <curl> very difficult
2021-03-27 19:29:31 +0100 <curl> impossible to have both branching outputs and inputs
2021-03-27 19:29:40 +0100 <curl> makes a graph that cant be easily represented in haskell
2021-03-27 19:29:43 +0100 <curl> big problem
2021-03-27 19:29:51 +0100 <curl> no solution as yet
2021-03-27 19:29:52 +0100 <__minoru__shirae> and siblings just call mapAccumL on the same input independently of each other, right?
2021-03-27 19:30:01 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:16f:a8e3:b3e2:cec6)
2021-03-27 19:30:09 +0100jess(jess@freenode/staff/jess) ()
2021-03-27 19:30:23 +0100 <curl> the states are kept separate yes
2021-03-27 19:30:23 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-03-27 19:30:32 +0100 <curl> they just kind of sit over the nodes in the graph
2021-03-27 19:30:40 +0100 <curl> inputs and outputs as edges between
2021-03-27 19:31:07 +0100 <curl> there must be some zipping
2021-03-27 19:31:19 +0100 <curl> you would have to do that with type level lengths
2021-03-27 19:31:32 +0100 <curl> since you would be zipping up into a list not a tuple
2021-03-27 19:31:57 +0100 <curl> so the mapAccumL can opperate on just one list from a list of inputs
2021-03-27 19:32:22 +0100 <curl> many input edges in a list, each having a list to stream over
2021-03-27 19:32:38 +0100 <curl> so you zip them up and stream over them
2021-03-27 19:32:52 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-27 19:32:54 +0100 <curl> but at the outputs its more complicated, since you have to unzip them and send them to the correct place
2021-03-27 19:33:38 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2021-03-27 19:33:52 +0100 <curl> which requires representation of a graph
2021-03-27 19:34:15 +0100 <curl> which you cant do in GADTs like you can Trees
2021-03-27 19:34:30 +0100 <curl> "upwards edges" being unrepresentable
2021-03-27 19:34:45 +0100 <curl> only branches below so to speak
2021-03-27 19:35:29 +0100jb55(~jb55@gateway/tor-sasl/jb55)
2021-03-27 19:36:34 +0100 <curl> you can fan out easily though, with no recombination, no lists as inputs, so that lists of outputs are only ever acted on by unique consumers
2021-03-27 19:37:08 +0100codygman__(~user@47.186.207.161) (Remote host closed the connection)
2021-03-27 19:37:32 +0100codygman__(~user@47.186.207.161)
2021-03-27 19:37:36 +0100 <curl> can this be called a composition algebra?
2021-03-27 19:37:54 +0100average(uid473595@gateway/web/irccloud.com/x-cgevxjwlwytwuber)
2021-03-27 19:38:28 +0100 <curl> im not sure how to compare it with pipes or conduit for that kind of graph based streaming functions
2021-03-27 19:38:44 +0100 <curl> but the composed mapAccumL functions seems much more natural
2021-03-27 19:39:08 +0100 <curl> if we ignore trying to work with branching
2021-03-27 19:39:24 +0100 <curl> but i guess you have to have that for the API to be complete
2021-03-27 19:39:45 +0100 <curl> but then have to faff around with zipping and unzipping all these argument lists over a graph somehow
2021-03-27 19:40:38 +0100 <curl> maybe there is a more natural way to represent this kind of branching of composed functions...
2021-03-27 19:40:48 +0100 <curl> like lambda syntax or something
2021-03-27 19:41:44 +0100 <curl> i mean, if this API didnt have branching it would just be category, with (.)
2021-03-27 19:41:59 +0100 <curl> category + branching seems cool
2021-03-27 19:42:36 +0100minoru_shiraeesh(~shiraeesh@46.34.207.84)
2021-03-27 19:42:47 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-27 19:42:52 +0100 <curl> polyvariadic category?
2021-03-27 19:42:59 +0100__minoru__shirae(~shiraeesh@77.94.25.214) (Ping timeout: 265 seconds)
2021-03-27 19:43:38 +0100 <curl> its a shame the dots it needs are the complicated owl like structures that are so difficult to parse from pointless style
2021-03-27 19:43:51 +0100 <curl> :t ((.).(.))
2021-03-27 19:43:52 +0100 <lambdabot> (b -> c) -> (a1 -> a2 -> b) -> a1 -> a2 -> c
2021-03-27 19:44:36 +0100 <curl> even fixed points of states
2021-03-27 19:44:44 +0100 <curl> composing them with themselves a bunch of times
2021-03-27 19:44:52 +0100 <curl> like an unrolled recursive function
2021-03-27 19:44:58 +0100ddellaco_(~ddellacos@86.106.143.144)
2021-03-27 19:45:19 +0100jamm_(~jamm@unaffiliated/jamm)
2021-03-27 19:45:31 +0100 <curl> if you can only have trees and not have self reference to make graphs then you cant get recursive reference
2021-03-27 19:46:35 +0100 <curl> so then haskell syntax is richer than such a tree
2021-03-27 19:47:09 +0100 <curl> and to represent what we need, to have recursive functions and manage the syntax of programs somehow represented over a graph
2021-03-27 19:47:09 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds)
2021-03-27 19:47:24 +0100 <curl> is to represent a lazy functional langauge
2021-03-27 19:47:38 +0100 <curl> started from fusion of states in a graph
2021-03-27 19:48:00 +0100 <curl> now a functional language gets states on its functions
2021-03-27 19:48:17 +0100 <curl> ie, variable programs
2021-03-27 19:48:34 +0100 <curl> thats what this graph of state functions basically represents
2021-03-27 19:48:54 +0100carlomagno(~cararell@148.87.23.11) (Ping timeout: 246 seconds)
2021-03-27 19:48:57 +0100 <curl> thinking of states pared with state functions as basically being like variable functions
2021-03-27 19:49:00 +0100carlomagno1(~cararell@148.87.23.11)
2021-03-27 19:49:01 +0100 <curl> functions with memory
2021-03-27 19:49:11 +0100 <curl> leading to functional program with memory at the functions
2021-03-27 19:49:31 +0100jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 245 seconds)
2021-03-27 19:49:35 +0100 <curl> but trying to represent this on a graph in a GADT seems impossible
2021-03-27 19:50:39 +0100 <curl> ie Haskell itself cant express the structure needed for its own abstract syntax in its recursive state. it probably just evaluates all the references into a big tree
2021-03-27 19:51:01 +0100 <curl> and never bothers trying to have it in a grpah like thing as the recursive tree proper
2021-03-27 19:51:22 +0100 <curl> which means if we *could* get a proper graph thing, then it could probably make a nice layer in GHC
2021-03-27 19:51:36 +0100 <curl> and that then we could work with this kind of syntax tree on an actual graph
2021-03-27 19:51:51 +0100 <curl> when we interface with GHC's intermediate structures
2021-03-27 19:52:12 +0100 <geekosaur> I thought STG level was a graph
2021-03-27 19:52:17 +0100 <curl> not sure if its a few language extensions away from folding in on itself...
2021-03-27 19:52:32 +0100 <curl> maybe they do the graph thing properly, but not in haskell syntax
2021-03-27 19:52:34 +0100heatsink(~heatsink@2600:1700:bef1:5e10:1cfc:5265:7008:dc13)
2021-03-27 19:52:47 +0100 <curl> its not a GADT we can work with *as a graph*
2021-03-27 19:53:00 +0100 <curl> like a GADT is *of a tree*
2021-03-27 19:53:21 +0100 <curl> but if there was one, idk, maybe the STG thing would be easier to represent
2021-03-27 19:53:24 +0100 <curl> and work with
2021-03-27 19:54:05 +0100 <curl> and then that this GADT++ language extension would cause a possibly large refactoring of intermediate graph structures of haskell syntax
2021-03-27 19:54:27 +0100 <curl> which i guess requires the graph for its recursive nature and lazy evaluation
2021-03-27 19:54:29 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:16f:a8e3:b3e2:cec6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-27 19:55:39 +0100 <curl> all it needs is some kind of way of referencing positions in the tree during their GADT construction
2021-03-27 19:56:20 +0100 <curl> as if they were records
2021-03-27 19:56:56 +0100 <curl> like as if they were so dependently typed as that their accessing could be used throughout the tree in a typesafe way, but that it was elevated atually into the language syntax
2021-03-27 19:57:36 +0100 <curl> lists being built from Sum types, dont get nice records
2021-03-27 19:58:47 +0100 <curl> sum-records could make record-lists, and these at syntax level could be used in GADTs to refer to other parts of themselves by the other records, for "closing edges"
2021-03-27 19:59:43 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:16f:a8e3:b3e2:cec6)
2021-03-27 19:59:53 +0100p8m(p8m@gateway/vpn/protonvpn/p8m)
2021-03-27 20:00:20 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-03-27 20:00:26 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-27 20:00:54 +0100 <curl> the good thing about it being its supposed to support haskell syntax
2021-03-27 20:01:16 +0100 <curl> so you shuold as a result of this referencing, be able to write recursive programs properly onto the GADT syntax tree
2021-03-27 20:01:49 +0100 <curl> and be unable to do this in a normal GADT
2021-03-27 20:03:15 +0100 <curl> as a result of not being able to say while writing the GADT, "the contents thats going here is a copy of some other recursive call to another part of this structure"
2021-03-27 20:04:03 +0100codygman__(~user@47.186.207.161) (Remote host closed the connection)
2021-03-27 20:04:24 +0100codygman__(~user@47.186.207.161)
2021-03-27 20:04:37 +0100 <curl> eg i should be able to say that the list of branches contains only one branch, and the tree it references is *this node*
2021-03-27 20:05:06 +0100 <curl> at that point, by saying that, forcing the element to have infinite depth
2021-03-27 20:05:18 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 2.8)
2021-03-27 20:05:34 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 260 seconds)
2021-03-27 20:05:50 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-dvleaosxdfpycapj)
2021-03-27 20:06:55 +0100 <curl> i just thought of this sum-records thing now btw, but it kind of makes clearer how such a reference would be made (specifying "this node")
2021-03-27 20:07:46 +0100Reggie_(~reggie@c-73-83-218-159.hsd1.wa.comcast.net)
2021-03-27 20:07:53 +0100 <curl> i managed to encode haskell datatypes with records as a datatype ok
2021-03-27 20:08:12 +0100 <curl> maybe it would be possible to implement this sum-records like that aswell
2021-03-27 20:08:25 +0100 <curl> sounds like too much work for me
2021-03-27 20:08:57 +0100 <curl> https://gist.github.com/fog-hs/19abbf2ee8cf1f9f0c39abf0772da34e
2021-03-27 20:09:20 +0100idhugo_(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
2021-03-27 20:09:35 +0100 <curl> a pair ended up being like;
2021-03-27 20:09:36 +0100 <curl> FSum HList ('Sum_T name '[ '(name, '[a,b])])
2021-03-27 20:09:50 +0100 <curl> that name is the records implementation
2021-03-27 20:10:39 +0100 <curl> it says its a sum of just one thing, so there is no choice, so even product types are sums of products
2021-03-27 20:11:29 +0100 <curl> the first name parameter to Sum_T says thats which its "pointing to" like a type level Either thing
2021-03-27 20:12:17 +0100 <curl> you actually need that when extending to lists of choices, otherwise you cant write things like fromLeft properly
2021-03-27 20:12:31 +0100 <curl> fromLeft being unsafe
2021-03-27 20:12:52 +0100notzmv(~zmv@unaffiliated/zmv) (Ping timeout: 252 seconds)
2021-03-27 20:13:07 +0100 <curl> ie Either *not* having a type specifying if its left or right is actually the exception because its so short that the unsafe things are allowed
2021-03-27 20:14:11 +0100 <curl> notice how the "product" part of;
2021-03-27 20:14:12 +0100 <curl> FSum HList ('Sum_T name '[ '(name, '[a,b])])
2021-03-27 20:14:18 +0100Reggie_(~reggie@c-73-83-218-159.hsd1.wa.comcast.net) (Ping timeout: 268 seconds)
2021-03-27 20:14:21 +0100 <curl> which is just '[a.b]
2021-03-27 20:14:40 +0100 <curl> as the parameters to a typed list (sum of *products*)
2021-03-27 20:14:55 +0100 <curl> so the contents are unlabled, name only apearing on the sum type
2021-03-27 20:15:55 +0100idhugo_(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Remote host closed the connection)
2021-03-27 20:16:22 +0100idhugo_(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
2021-03-27 20:16:33 +0100 <curl> so im saying that if i zip a list of names there too, so that instead of mimicing haskell syntax, i get records than now extend over both sum and product layers, so should go right down through the GADT, and every position should then have an index
2021-03-27 20:17:01 +0100 <curl> and that then this thing should be able to repreesnt the graph
2021-03-27 20:17:31 +0100ukari(~ukari@unaffiliated/ukari)
2021-03-27 20:17:40 +0100Lycurgus(~niemand@98.4.120.166)
2021-03-27 20:17:45 +0100 <curl> which i guess it would do by having a choice to refer to parts of itslef instead of values at the records at heach sum-product layer
2021-03-27 20:18:08 +0100codygman__(~user@47.186.207.161) (Remote host closed the connection)
2021-03-27 20:18:11 +0100 <curl> ie instead of defining *new* records below
2021-03-27 20:18:23 +0100 <curl> while writing the GADT
2021-03-27 20:18:39 +0100codygman__(~user@47.186.207.161)
2021-03-27 20:18:50 +0100 <curl> (which has become a deep process, instead of writing the layers separately )
2021-03-27 20:19:50 +0100Ariakenom(~Ariakenom@2001:9b1:efb:fc00:b497:8c3b:17d1:d29)
2021-03-27 20:20:56 +0100 <amx> are there strict versions of && and || in a commonly used library? just so I don't ship redundant code.
2021-03-27 20:21:05 +0100minoru_shiraeesh(~shiraeesh@46.34.207.84) (Ping timeout: 268 seconds)
2021-03-27 20:21:33 +0100 <curl> i guess you get something like various levels of scope, including "top level" by having branches appearing without being used by a function that can be refered to by other parts
2021-03-27 20:21:37 +0100 <monochrom> I haven't seen one. But I haven't looked at many common libraries either.
2021-03-27 20:21:43 +0100 <curl> sry
2021-03-27 20:23:10 +0100 <monochrom> And I think adding your own two lines of code still beats pulling in one more library to only use two lines of it.
2021-03-27 20:23:18 +0100 <amx> most def
2021-03-27 20:24:37 +0100 <curl> what do Sum branches in programs correspond to?
2021-03-27 20:25:10 +0100 <curl> sometimes different code? if statements?
2021-03-27 20:25:12 +0100 <monochrom> Although, http://hackage.haskell.org/packages/search?terms=strict can be useful if you need more strict types and/or functions.
2021-03-27 20:25:17 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
2021-03-27 20:25:24 +0100Pickchea(~private@unaffiliated/pickchea)
2021-03-27 20:25:36 +0100zebrag(~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-27 20:25:59 +0100zebrag(~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr)
2021-03-27 20:26:26 +0100 <curl> oh, no its even more cool, its like different branches on pattern matching and stuff
2021-03-27 20:26:52 +0100 <curl> different instances i guess too
2021-03-27 20:28:27 +0100 <curl> id really like to see some simple recursive program with pattern matching, like map, written onto this kind of GADT + referencing
2021-03-27 20:29:24 +0100 <curl> to see what a recursive functional program looks like in a syntax tree that is able to handle recursive references
2021-03-27 20:29:51 +0100idhugo_(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 246 seconds)
2021-03-27 20:32:45 +0100 <curl> i guess fib is the normal example...
2021-03-27 20:33:05 +0100 <curl> how do you write that on a graphy tree?
2021-03-27 20:33:57 +0100 <curl> (ie one where you can refer to any other place by name)
2021-03-27 20:35:17 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-03-27 20:35:41 +0100pupuupup(~pupuupup@node-bv.pool-125-24.dynamic.totinternet.net) (Ping timeout: 240 seconds)
2021-03-27 20:38:05 +0100codygman__(~user@47.186.207.161) (Ping timeout: 265 seconds)
2021-03-27 20:39:56 +0100vgtw(~vgtw@gateway/tor-sasl/vgtw) (Remote host closed the connection)
2021-03-27 20:41:21 +0100Lord_of_Life_(~Lord@unaffiliated/lord-of-life/x-0885362)
2021-03-27 20:41:28 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 265 seconds)
2021-03-27 20:42:47 +0100Lord_of_Life_Lord_of_Life
2021-03-27 20:43:56 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:16f:a8e3:b3e2:cec6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-27 20:45:16 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:16f:a8e3:b3e2:cec6)
2021-03-27 20:45:25 +0100ajc_(~ajc@69.231.232.79)
2021-03-27 20:46:03 +0100gioyik(~gioyik@gateway/tor-sasl/gioyik)
2021-03-27 20:51:29 +0100txb920(5af6ddfd@90.246.221.253)
2021-03-27 20:53:18 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 246 seconds)
2021-03-27 20:54:20 +0100jakalx(~jakalx@base.jakalx.net) ()
2021-03-27 20:57:38 +0100sillyotter(~sillyotte@cpe-74-137-150-154.kya.res.rr.com)
2021-03-27 20:57:40 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:16f:a8e3:b3e2:cec6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-27 20:57:51 +0100sillyotter(~sillyotte@cpe-74-137-150-154.kya.res.rr.com) (Client Quit)
2021-03-27 20:58:46 +0100 <dgpratt> I'm looking at trying to incorporate some flavor of direnv into a nix-based toolchain I'm setting up, but there seem to be several choices, any of them favored or disfavored by any of you folks?
2021-03-27 21:02:53 +0100erisco(~erisco@d24-57-249-233.home.cgocable.net)
2021-03-27 21:02:55 +0100machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-03-27 21:06:18 +0100tpefreedom(~tsomers@184-157-240-110.dyn.centurytel.net) (Quit: Leaving)
2021-03-27 21:08:48 +0100txb920(5af6ddfd@90.246.221.253) (Quit: Connection closed)
2021-03-27 21:20:07 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:16f:a8e3:b3e2:cec6)
2021-03-27 21:21:44 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-03-27 21:22:34 +0100hexfive(~hexfive@50.35.83.177)
2021-03-27 21:23:24 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
2021-03-27 21:24:11 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:16f:a8e3:b3e2:cec6) (Client Quit)
2021-03-27 21:25:36 +0100zebrag(~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-27 21:25:58 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:16f:a8e3:b3e2:cec6)
2021-03-27 21:25:58 +0100zebrag(~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr)
2021-03-27 21:26:00 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:16f:a8e3:b3e2:cec6) (Client Quit)
2021-03-27 21:28:26 +0100geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-03-27 21:28:48 +0100Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net)
2021-03-27 21:30:18 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-03-27 21:32:18 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
2021-03-27 21:32:49 +0100curl(5ce955fb@gateway/web/cgi-irc/kiwiirc.com/ip.92.233.85.251) (Quit: Connection closed)
2021-03-27 21:34:36 +0100vgtw(~vgtw@gateway/tor-sasl/vgtw)
2021-03-27 21:35:55 +0100vchlup_(~vchlup@nat.brnet.cz) (Remote host closed the connection)
2021-03-27 21:36:48 +0100vchlup(~vchlup@nat.brnet.cz)
2021-03-27 21:36:52 +0100Erutuon(~Erutuon@97-116-16-233.mpls.qwest.net)
2021-03-27 21:36:58 +0100stree(~stree@68.36.8.116) (Ping timeout: 240 seconds)
2021-03-27 21:37:44 +0100Pickchea(~private@unaffiliated/pickchea) (Quit: Leaving)
2021-03-27 21:37:45 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-27 21:37:56 +0100Tario(~Tario@201.192.165.173)
2021-03-27 21:38:38 +0100jakalx(~jakalx@base.jakalx.net)
2021-03-27 21:38:50 +0100Rudd0(~Rudd0@185.189.115.103) (Ping timeout: 246 seconds)
2021-03-27 21:42:57 +0100Erutuon_(~Erutuon@97-116-16-233.mpls.qwest.net)
2021-03-27 21:45:12 +0100supercoven(~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-03-27 21:46:29 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Quit: Lost terminal)
2021-03-27 21:46:58 +0100heatsink(~heatsink@2600:1700:bef1:5e10:1cfc:5265:7008:dc13) (Remote host closed the connection)
2021-03-27 21:47:16 +0100hackagelanguage-js 0.3.0 - javascript parser for es6 and es7. https://hackage.haskell.org/package/language-js-0.3.0 (diasbruno)
2021-03-27 21:47:47 +0100 <maralorn> Wow, either curl is having an amazing monologue in the backlog or the matrix bridge is yet again swallowing participants.
2021-03-27 21:48:39 +0100Alleria__(~textual@mskresolve-a.mskcc.org) (Ping timeout: 268 seconds)
2021-03-27 21:50:15 +0100 <monochrom> Their gist url betrays that they're fog again.
2021-03-27 21:50:20 +0100stree(~stree@68.36.8.116)
2021-03-27 21:50:42 +0100vgtw(~vgtw@gateway/tor-sasl/vgtw) (Quit: ZNC - https://znc.in)
2021-03-27 21:51:29 +0100 <monochrom> But what does "matrix bridge swallows participants" mean? Sounds very either cannibalizing or Greek mythology.
2021-03-27 21:52:03 +0100 <monochrom> "Kronos was the first matrix bridge" >:)
2021-03-27 21:53:52 +0100 <maralorn> monochrom: Ah, oh, I see.
2021-03-27 21:55:46 +0100malumore(~malumore@151.62.126.8) (Remote host closed the connection)
2021-03-27 21:55:56 +0100 <monochrom> "fog is co-Kronos" >:) >:)
2021-03-27 21:56:06 +0100malumore(~malumore@151.62.126.8)
2021-03-27 21:56:34 +0100 <maralorn> monochrom: The bridge forwards messages to matrix by creating one proxy user on the matrix side per irc nick. But sometimes there is a bug where a user fails to join the matrix channel. Then all their messages don‘t make it to the matrix side. I have no clue how often this happens. But sometimes I can tell by weird monologues that look like they should be dialogues.
2021-03-27 21:57:20 +0100 <monochrom> Oh! Aliasing.
2021-03-27 21:57:56 +0100 <maerwald> Matrix is kinda awful
2021-03-27 21:58:57 +0100 <monochrom> Err nevermind. Lost messages.
2021-03-27 21:59:36 +0100 <monochrom> But it really was a monologue in the curl case.
2021-03-27 21:59:58 +0100 <monochrom> Anyone who want them banned, just let me know. >:)
2021-03-27 22:03:22 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-03-27 22:03:28 +0100_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-03-27 22:04:38 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-03-27 22:07:22 +0100s00pcan(~chris@075-133-056-178.res.spectrum.com) (Remote host closed the connection)
2021-03-27 22:08:19 +0100molehillish(~molehilli@2600:8800:8d06:1800:6438:fe04:a25d:577)
2021-03-27 22:08:48 +0100vgtw(~vgtw@gateway/tor-sasl/vgtw)
2021-03-27 22:11:01 +0100Erutuon(~Erutuon@97-116-16-233.mpls.qwest.net) (Quit: WeeChat 2.8)
2021-03-27 22:13:11 +0100notzmv(~zmv@unaffiliated/zmv)
2021-03-27 22:14:09 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
2021-03-27 22:14:22 +0100vchlup_(~vchlup@nat.brnet.cz)
2021-03-27 22:14:40 +0100vchlup(~vchlup@nat.brnet.cz) (Read error: Connection reset by peer)
2021-03-27 22:17:46 +0100hackagepolysemy-log 0.1.0.0 - Polysemy effects for logging https://hackage.haskell.org/package/polysemy-log-0.1.0.0 (tek)
2021-03-27 22:18:31 +0100Alleria(~textual@2603-7000-3040-0000-eca8-d3b7-f438-6f95.res6.spectrum.com)
2021-03-27 22:18:54 +0100AlleriaGuest68469
2021-03-27 22:21:09 +0100vgtw(~vgtw@gateway/tor-sasl/vgtw) (Ping timeout: 240 seconds)
2021-03-27 22:21:10 +0100knupfer(~Thunderbi@dynamic-046-114-151-080.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2021-03-27 22:22:59 +0100Guest68469(~textual@2603-7000-3040-0000-eca8-d3b7-f438-6f95.res6.spectrum.com) (Ping timeout: 252 seconds)
2021-03-27 22:23:00 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-03-27 22:23:46 +0100codygman__(~user@47.186.207.161)
2021-03-27 22:27:29 +0100Alleria__(~textual@2603-7000-3040-0000-eca8-d3b7-f438-6f95.res6.spectrum.com)
2021-03-27 22:30:49 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-27 22:31:02 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-27 22:35:06 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-03-27 22:35:43 +0100fendor_(~fendor@77.119.130.155.wireless.dyn.drei.com)
2021-03-27 22:35:48 +0100codygman__(~user@47.186.207.161) (Remote host closed the connection)
2021-03-27 22:36:08 +0100codygman__(~user@47.186.207.161)
2021-03-27 22:36:12 +0100son0p(~son0p@181.136.122.143)
2021-03-27 22:36:32 +0100puke(~vroom@217.138.252.168) (Quit: puke)
2021-03-27 22:37:58 +0100fendor(~fendor@91.141.1.158.wireless.dyn.drei.com) (Ping timeout: 240 seconds)
2021-03-27 22:39:10 +0100Lycurgus(~niemand@98.4.120.166) (Quit: Exeunt)
2021-03-27 22:40:28 +0100malumore(~malumore@151.62.126.8) (Ping timeout: 268 seconds)
2021-03-27 22:43:21 +0100puke(~vroom@217.138.252.196)
2021-03-27 22:45:28 +0100vchlup__(~vchlup@nat.brnet.cz)
2021-03-27 22:46:06 +0100vchlup_(~vchlup@nat.brnet.cz) (Read error: Connection reset by peer)
2021-03-27 22:47:41 +0100heatsink(~heatsink@2600:1700:bef1:5e10:1cfc:5265:7008:dc13)
2021-03-27 22:50:53 +0100heatsink_(~heatsink@2600:1700:bef1:5e10:1cfc:5265:7008:dc13)
2021-03-27 22:50:56 +0100heatsink(~heatsink@2600:1700:bef1:5e10:1cfc:5265:7008:dc13) (Remote host closed the connection)
2021-03-27 22:51:10 +0100dpl__(~dpl@77.121.78.163)
2021-03-27 22:52:41 +0100vchlup__(~vchlup@nat.brnet.cz) (Ping timeout: 240 seconds)
2021-03-27 22:52:55 +0100 <maralorn> maerwald: Actually at this point the freenode-bridge is the weak link. Matrix itself works pretty nicely.
2021-03-27 22:53:32 +0100s00pcan(~chris@075-133-056-178.res.spectrum.com)
2021-03-27 22:55:16 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 268 seconds)
2021-03-27 22:55:29 +0100vchlup(~vchlup@nat.brnet.cz)
2021-03-27 22:59:33 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:16f:a8e3:b3e2:cec6)
2021-03-27 23:00:12 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 268 seconds)
2021-03-27 23:00:37 +0100Rudd0(~Rudd0@185.189.115.108)
2021-03-27 23:03:09 +0100 <xerox_> say I have a bijective mapping between a contiguous [a..b] (a<b) and a subset of Int⨯Int, can I use a pattern synonym to go between those?
2021-03-27 23:04:17 +0100 <xerox_> pattern Foo i <- Bar (x,y) where ... has me stuck as to where to put the function (Int,Int)->Int to get from (x,y) to i
2021-03-27 23:04:58 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-03-27 23:06:01 +0100tpefreedom(~tsomers@184-157-240-110.dyn.centurytel.net)
2021-03-27 23:06:12 +0100 <xerox_> whereas the continuation where Foo = g seems reasonable for the opposite Int->(Int,Int) function
2021-03-27 23:06:40 +0100int-esurreptitiously drops some red pills.
2021-03-27 23:06:59 +0100tpefreedom(~tsomers@184-157-240-110.dyn.centurytel.net) (Client Quit)
2021-03-27 23:07:04 +0100 <xerox_> (:
2021-03-27 23:07:14 +0100 <monochrom> free red pills for everyone
2021-03-27 23:07:34 +0100 <Franciman> do you have any black pill?
2021-03-27 23:11:03 +0100 <juri_> I prefer arduinos.
2021-03-27 23:11:14 +0100wonko7(~wonko7@62.115.229.50) (Ping timeout: 246 seconds)
2021-03-27 23:11:58 +0100tpefreedom(~tsomers@184-157-240-110.dyn.centurytel.net)
2021-03-27 23:15:45 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:16f:a8e3:b3e2:cec6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-27 23:16:20 +0100Franciman(~francesco@host-79-53-62-46.retail.telecomitalia.it) (Quit: Leaving)
2021-03-27 23:18:41 +0100 <xerox_> ah the answer is a view pattern: pattern Foo i <- (f -> (x,y)) where Foo = g
2021-03-27 23:18:55 +0100 <xerox_> err, f -> i, you get the idea
2021-03-27 23:20:19 +0100 <dmj`> pattern synonyms and view patterns both probably just desugar into case statements and function applications, so regular ol' case statement would work just fine
2021-03-27 23:22:26 +0100ezrakilty(~ezrakilty@97-113-58-224.tukw.qwest.net) (Remote host closed the connection)
2021-03-27 23:24:27 +0100Sorna(~Sornaensi@077213203030.dynamic.telenor.dk)
2021-03-27 23:24:46 +0100Sorny(~Sornaensi@45.41.132.136)
2021-03-27 23:25:36 +0100zebrag(~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-27 23:25:58 +0100zebrag(~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr)
2021-03-27 23:28:38 +0100Sorna(~Sornaensi@077213203030.dynamic.telenor.dk) (Ping timeout: 240 seconds)
2021-03-27 23:28:42 +0100Sornaensis(~Sornaensi@185.217.117.65) (Ping timeout: 265 seconds)
2021-03-27 23:30:31 +0100azure1(~azure@103.154.230.130) (Read error: Connection reset by peer)
2021-03-27 23:30:41 +0100azure1(~azure@103.154.230.130)
2021-03-27 23:33:38 +0100codygman__(~user@47.186.207.161) (Ping timeout: 240 seconds)
2021-03-27 23:36:00 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2021-03-27 23:39:39 +0100jscarmona1(~jscarmona@37.120.211.188) (Remote host closed the connection)
2021-03-27 23:39:49 +0100dave_uy1(~david@108.61.193.26)
2021-03-27 23:40:17 +0100byorgey(~byorgey@155.138.238.211) (Ping timeout: 246 seconds)
2021-03-27 23:40:25 +0100byorgey(~byorgey@155.138.238.211)
2021-03-27 23:40:43 +0100wonko7(~wonko7@62.115.229.50)
2021-03-27 23:40:49 +0100dave_uy(~david@108.61.193.26) (Ping timeout: 276 seconds)
2021-03-27 23:41:50 +0100irc_user(uid423822@gateway/web/irccloud.com/x-qzrrxhbhoabztmbj)
2021-03-27 23:43:18 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-27 23:48:38 +0100vchlup(~vchlup@nat.brnet.cz) (Ping timeout: 240 seconds)
2021-03-27 23:48:41 +0100locrian9(~mike@99-153-255-194.lightspeed.irvnca.sbcglobal.net)
2021-03-27 23:49:17 +0100jrm2(~jrm@freebsd/developer/jrm)
2021-03-27 23:50:22 +0100vchlup(~vchlup@nat.brnet.cz)
2021-03-27 23:50:52 +0100jathan(~jathan@69.61.93.38) (Quit: WeeChat 2.3)
2021-03-27 23:51:00 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-03-27 23:52:44 +0100s00pcan(~chris@075-133-056-178.res.spectrum.com) (Remote host closed the connection)
2021-03-27 23:53:40 +0100tpefreedom(~tsomers@184-157-240-110.dyn.centurytel.net) (Remote host closed the connection)
2021-03-27 23:55:35 +0100davidfetter1(~davidfett@37.120.211.188)
2021-03-27 23:57:13 +0100wonko7(~wonko7@62.115.229.50) (Ping timeout: 265 seconds)
2021-03-27 23:58:35 +0100acidjnk_new(~acidjnk@p200300d0c72b9586d8aaf3880c64deb7.dip0.t-ipconnect.de)
2021-03-27 23:58:40 +0100stree(~stree@68.36.8.116) (Ping timeout: 265 seconds)
2021-03-27 23:58:41 +0100jedai(~jedai@lfbn-dij-1-708-251.w90-100.abo.wanadoo.fr) (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/)