2021/07/22

2021-07-22 00:00:12 +0200 <janus> arkanoid: do you know about 'flip' ?
2021-07-22 00:00:35 +0200 <monochrom> or x.logBase(2)
2021-07-22 00:01:45 +0200 <janus> or ",".join(array) hehehe
2021-07-22 00:01:50 +0200 <sm> this probably works, but wouldn't be idiomatic: foo&fooDoSomething a b
2021-07-22 00:01:51 +0200 <monochrom> haha
2021-07-22 00:02:10 +0200 <janus> i think that ordering has probably caused the most bikeshedding, measured in hours. if you consider how popular python is
2021-07-22 00:03:59 +0200Null_A(~null_a@2601:645:8700:2290:5d44:532d:1cae:2f91)
2021-07-22 00:04:25 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-22 00:05:09 +0200Guest68(~Guest68@ppp046176105030.access.hol.gr) (Quit: Client closed)
2021-07-22 00:06:22 +0200Cajun(~Cajun@ip98-163-211-112.no.no.cox.net)
2021-07-22 00:06:34 +0200h98(~h98@187.83.249.216.dyn.smithville.net)
2021-07-22 00:08:14 +0200Bayes(~Bayes@user/bayes) (Quit: Connection closed)
2021-07-22 00:11:27 +0200pesada(~agua@191.177.175.57)
2021-07-22 00:12:04 +0200agua(~agua@2804:18:4e:2dda:1:0:4058:6b7c) (Read error: Connection reset by peer)
2021-07-22 00:12:08 +0200Core2909(~agua@2804:18:4e:2dda:1:0:4058:6b7c)
2021-07-22 00:13:57 +0200Null_A(~null_a@2601:645:8700:2290:5d44:532d:1cae:2f91) (Remote host closed the connection)
2021-07-22 00:14:00 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2021-07-22 00:15:29 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-22 00:15:45 +0200pesada(~agua@191.177.175.57) (Ping timeout: 255 seconds)
2021-07-22 00:19:01 +0200kayprish(~kayprish@cable-188-2-229-172.dynamic.sbb.rs) (Remote host closed the connection)
2021-07-22 00:19:21 +0200favonia(~favonia@user/favonia)
2021-07-22 00:19:44 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-07-22 00:19:53 +0200Null_A(~null_a@2601:645:8700:2290:c911:1c05:b98d:d069)
2021-07-22 00:20:18 +0200 <dsal> arkanoid: You can add packages, but I don't know what Data.List.Stack is, so it may not be actively hiding it from you.
2021-07-22 00:20:45 +0200 <geekosaur> are you sure that's not Data.List.Split?
2021-07-22 00:22:04 +0200zfnmxt(~zfnmxtzfn@2001:470:69fc:105::2b32) (Quit: Reconnecting)
2021-07-22 00:22:21 +0200zfnmxt(~zfnmxtzfn@2001:470:69fc:105::2b32)
2021-07-22 00:22:34 +0200 <arkanoid> sorry, I mistyped, I just mean Data.List.Split
2021-07-22 00:23:21 +0200zfnmxt(~zfnmxtzfn@2001:470:69fc:105::2b32) (Client Quit)
2021-07-22 00:23:28 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-22 00:23:35 +0200tomboy64(~tomboy64@user/tomboy64) (Ping timeout: 255 seconds)
2021-07-22 00:23:37 +0200zfnmxt(~zfnmxtzfn@2001:470:69fc:105::2b32)
2021-07-22 00:23:57 +0200 <geekosaur> install the "split" package
2021-07-22 00:23:58 +0200zfnmxt(~zfnmxtzfn@2001:470:69fc:105::2b32) (Changing host)
2021-07-22 00:23:58 +0200zfnmxt(~zfnmxtzfn@user/zfnmxt)
2021-07-22 00:24:23 +0200zangi(~zangi@103.154.230.230) (Ping timeout: 265 seconds)
2021-07-22 00:25:10 +0200zangi(~zangi@103.154.230.230)
2021-07-22 00:25:53 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 252 seconds)
2021-07-22 00:26:22 +0200dextaa(~DV@37.201.214.197) (Ping timeout: 246 seconds)
2021-07-22 00:27:45 +0200 <arkanoid> and also edit the .cabal file. I might be cheating, but that's ok
2021-07-22 00:27:48 +0200waleee(~waleee@h-98-128-228-119.na.cust.bahnhof.se)
2021-07-22 00:27:56 +0200 <zangi> can I use monad to repeat f in this `(f . f . f . f) x`?
2021-07-22 00:28:06 +0200dextaa(~DV@aftr-37-201-214-197.unity-media.net)
2021-07-22 00:28:52 +0200ph88^(~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de)
2021-07-22 00:30:22 +0200 <sm> it doesn't apparently require a monad
2021-07-22 00:30:30 +0200 <sm> https://hoogle.haskell.org/?hoogle=Int+-%3E+%28a+-%3E+a%29+-%3E+a+-%3E+a&scope=set%3Astackage shows some implementations
2021-07-22 00:30:40 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds)
2021-07-22 00:30:51 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 258 seconds)
2021-07-22 00:30:58 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-22 00:32:08 +0200ph88(~ph88@2a02:8109:9e00:7e5c:c502:f058:b589:c70c) (Ping timeout: 255 seconds)
2021-07-22 00:33:16 +0200 <ph88^> i made this Dockerfile to build haskell static binary https://bpa.st/LNHQ when i run the command stack build --ghc-options '-static -optl-static -split-sections' --docker --docker-image "haskell-build" i get this message https://bpa.st/6OFA how can i make it work with the right version ?
2021-07-22 00:33:41 +0200 <monochrom> Haha I found a typo in the Haskell 2010 Report. ascSymbol has U+22C6 ⋆ where it should have U+002A *
2021-07-22 00:34:23 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection)
2021-07-22 00:34:41 +0200 <ph88^> maerwald, ^ ?
2021-07-22 00:35:09 +0200 <sm> what's your platform ph88^ ?
2021-07-22 00:35:27 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-22 00:35:28 +0200 <ph88^> for building the docker image ? ubuntu 20.04 inside of virtualbox
2021-07-22 00:35:30 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds)
2021-07-22 00:35:47 +0200 <zangi> sm: what if f in `nest n f x` has type `Monad m => a -> m a`
2021-07-22 00:35:59 +0200 <sm> what does `arch` say ?
2021-07-22 00:36:31 +0200 <sm> seems odd that there wouldn't be a ghc 8.10 binary. Is your stack up to date ?
2021-07-22 00:37:00 +0200 <sm> maybe it's confused by this -ncurses6 suffix
2021-07-22 00:37:55 +0200 <maerwald[m]> ph88^: I've never used stack --docker
2021-07-22 00:38:03 +0200 <ph88^> sm arch run where ? Maybe you missed that i'm building from a docker container ?
2021-07-22 00:38:10 +0200tomboy64(~tomboy64@user/tomboy64)
2021-07-22 00:38:19 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-22 00:38:32 +0200 <ph88^> maerwald[m], what would you do ? download your project code and do the build with Dockerfile commands ?
2021-07-22 00:38:34 +0200 <sm> ph88^: wherever you're running that stack command, run `arch` ?
2021-07-22 00:38:50 +0200 <ph88^> sm x86_64
2021-07-22 00:38:56 +0200 <maerwald[m]> ph88^: yeah
2021-07-22 00:39:36 +0200 <maerwald[m]> I've done that before. It works.
2021-07-22 00:40:38 +0200 <maerwald[m]> ph88^: also, you need to adjust PATH
2021-07-22 00:41:04 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-07-22 00:41:28 +0200 <ph88^> maybe because i never ran this command, thus no system ghc was found inside docker container ? https://gist.github.com/hasufell/f0893abfbba63ac4ea40feb0520946ee#file-dockerfile-L10
2021-07-22 00:41:57 +0200 <ph88^> maerwald[m], how to adjust path ?
2021-07-22 00:42:20 +0200 <ph88^> i'm not sure between the difference of ghcup set ghc and these commands here https://github.com/haskell-works/cabal-cache/blob/66252484c7d0dbcb79b082ac95cb83213cdc892f/.circle…
2021-07-22 00:42:35 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Remote host closed the connection)
2021-07-22 00:43:21 +0200shutdown_-h_now(~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl) (Ping timeout: 268 seconds)
2021-07-22 00:43:45 +0200DNH(~DNH@2a02:8108:1100:16d8:808b:9f4a:c222:7def) (Quit: Textual IRC Client: www.textualapp.com)
2021-07-22 00:43:57 +0200 <ph88^> building the container with ghcup seems to have gone well btw https://bpa.st/L3MA
2021-07-22 00:45:38 +0200xff0x_(~xff0x@2001:1a81:530d:8900:cddd:a545:4e9e:a55d) (Ping timeout: 255 seconds)
2021-07-22 00:46:15 +0200zebrag(~chris@user/zebrag)
2021-07-22 00:46:32 +0200xff0x_(~xff0x@2001:1a81:530d:8900:7530:d6ba:9d47:69d1)
2021-07-22 00:46:38 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Remote host closed the connection)
2021-07-22 00:47:11 +0200 <maerwald[m]> You can also add BOOTSTRAP_HASKELL_INSTALL_STACK=yes
2021-07-22 00:48:00 +0200 <maerwald[m]> /root/.ghcup/bin needs to be in PATH
2021-07-22 00:48:18 +0200 <maerwald[m]> See the link earlier
2021-07-22 00:48:38 +0200agua(~agua@191.177.175.57)
2021-07-22 00:49:08 +0200 <ph88^> not sure if i need stack to be installed in the container, when on the host stack is using the container to build stuff .. but ok
2021-07-22 00:50:31 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-22 00:50:35 +0200 <maerwald[m]> I always forget how to set PATH in a docker build. There are always caveats.
2021-07-22 00:50:44 +0200Vajb(~Vajb@85-76-37-76-nat.elisa-mobile.fi)
2021-07-22 00:51:18 +0200 <ph88^> ye i'm not even sure what shell alpine is running there .. i'm trying to find out .. everytime restarting the docker image build and download ghc over again o_O
2021-07-22 00:51:32 +0200lavaman(~lavaman@98.38.249.169)
2021-07-22 00:52:12 +0200Core2909(~agua@2804:18:4e:2dda:1:0:4058:6b7c) (Ping timeout: 245 seconds)
2021-07-22 00:52:14 +0200 <maerwald[m]> Docker is amazing
2021-07-22 00:52:17 +0200 <maerwald[m]> Lol
2021-07-22 00:52:46 +0200 <yushyin> changed my mind
2021-07-22 00:53:22 +0200 <arkanoid> try nix shell or nix + docker, it is even better
2021-07-22 00:55:06 +0200 <dsal> nix + docker?
2021-07-22 00:55:59 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 255 seconds)
2021-07-22 00:56:05 +0200 <maerwald[m]> The worst of both worlds
2021-07-22 00:58:21 +0200shutdown_-h_now(~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl)
2021-07-22 00:58:33 +0200 <arkanoid> Not really. It generates the smallest images. https://nixos.org/guides/building-and-running-docker-images.html
2021-07-22 00:59:20 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
2021-07-22 00:59:45 +0200 <ph88^> seems alpine is running "ash" shell (never heard of) and only rc/profile file available by default lives under /etc/profile
2021-07-22 01:00:19 +0200 <janus> there are many minimalist shells forcing people to avoid bashisms
2021-07-22 01:00:19 +0200 <Arahael> arkanoid: even without nix, docker is small enough.
2021-07-22 01:00:26 +0200 <janus> probably a secret plot of the BSDers
2021-07-22 01:01:36 +0200 <arkanoid> Arahael: it depends on the context. Containers != docker, and they run on raspberry too.
2021-07-22 01:03:15 +0200 <janus> so when you say nix+docker, what do you mean? using nix to build an OCI image?
2021-07-22 01:03:44 +0200aegon(~mike@174.127.249.180)
2021-07-22 01:05:30 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Ping timeout: 240 seconds)
2021-07-22 01:06:59 +0200 <janus> docker is a tricky term, very polymorphic :O
2021-07-22 01:07:03 +0200terrorjack(~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com) (Quit: Ping timeout (120 seconds))
2021-07-22 01:07:06 +0200ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Quit: Ping timeout (120 seconds))
2021-07-22 01:07:13 +0200spirgel_(spirgel@gateway/vpn/protonvpn/spirgel)
2021-07-22 01:07:16 +0200ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2021-07-22 01:07:31 +0200 <arkanoid> use nix to build the minimum environment to run your process in a reproducible way, then pack it wherever you need. If you need to use layers, just take the dependency graph and draw a line where you need
2021-07-22 01:07:45 +0200davl(~davl@207.154.228.18) (Read error: Connection reset by peer)
2021-07-22 01:07:56 +0200haasn(~nand@haasn.dev) (Remote host closed the connection)
2021-07-22 01:08:00 +0200terrorjack(~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com)
2021-07-22 01:08:04 +0200davl(~davl@207.154.228.18)
2021-07-22 01:08:07 +0200connrs(~connrs@user/connrs) (Quit: ZNC 1.8.2 - https://znc.in)
2021-07-22 01:08:07 +0200hexology(~hexology@user/hexology) (Quit: hex on you ...)
2021-07-22 01:08:15 +0200haasn(~nand@haasn.dev)
2021-07-22 01:08:15 +0200 <arkanoid> https://grahamc.com/blog/nix-and-layered-docker-images
2021-07-22 01:08:26 +0200connrs(~connrs@user/connrs)
2021-07-22 01:08:26 +0200hexology(~hexology@user/hexology)
2021-07-22 01:08:57 +0200 <Arahael> arkanoid: yeah, well, i'm referring to docker. :)
2021-07-22 01:09:08 +0200 <ph88^> damn, i added the ghcup stuff to $PATH and still can't find ghc :(
2021-07-22 01:09:50 +0200pesada(~agua@2804:18:4e:2dda:1:0:4058:6b7c)
2021-07-22 01:10:12 +0200zangi(~zangi@103.154.230.230) (Quit: zangi)
2021-07-22 01:10:25 +0200 <janus> arkanoid: intersting post! thanks
2021-07-22 01:10:26 +0200spirgel(spirgel@gateway/vpn/protonvpn/spirgel) (Ping timeout: 252 seconds)
2021-07-22 01:12:37 +0200jeetelongname(~jeet@host-89-241-98-229.as13285.net)
2021-07-22 01:13:05 +0200agua(~agua@191.177.175.57) (Ping timeout: 255 seconds)
2021-07-22 01:13:15 +0200 <janus> ph88^: did you remember to do "source ~/.bashrc" or the equivalent on your shell?
2021-07-22 01:13:27 +0200 <arkanoid> I'm puzzled if a newcomer should prefer Text over String or not
2021-07-22 01:13:33 +0200 <janus> ph88^: if i do "which ghci" , i get /home/janus/.ghcup/bin/ghci
2021-07-22 01:14:36 +0200cjb(~cjb@user/cjb)
2021-07-22 01:14:42 +0200 <ph88^> janus, doesn't the profile get reloaded when the docker container is started ?
2021-07-22 01:15:21 +0200 <geekosaur> if you described ash correctly earlier, it has to be run as a login shell to read /etc/profile
2021-07-22 01:15:29 +0200jeetelongnameyeetaditya
2021-07-22 01:15:38 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-07-22 01:15:52 +0200 <janus> right, maybe there is a way to inspect the ENTRYPOINT to check it... hmm
2021-07-22 01:15:52 +0200 <arkanoid> also, are all literal strings always of String type? Do I have to Data.Text.pack them all?
2021-07-22 01:16:11 +0200 <janus> arkanoid: there is an extension called OverloadedStrings
2021-07-22 01:16:16 +0200 <geekosaur> arkanoid, see the OverloadedStrings extension
2021-07-22 01:16:23 +0200yeetadityayeet
2021-07-22 01:16:24 +0200 <ph88^> geekosaur, where would it look when running this shell not as login shell ?
2021-07-22 01:16:29 +0200 <arkanoid> thanks!
2021-07-22 01:16:53 +0200yeetjeetelongname
2021-07-22 01:17:00 +0200 <geekosaur> ph88^, if it's a minimalist Bourne-compatible shell, it doesn't have a startup file at all
2021-07-22 01:17:08 +0200earthy(~arthurvl@2001:984:275b:1:ba27:ebff:fea0:40b0) (Ping timeout: 255 seconds)
2021-07-22 01:17:42 +0200 <geekosaur> you would have to arrange for $PATH to be set some other way, or run it as a login shell (ash -l, one hopes)
2021-07-22 01:17:48 +0200 <janus> ph88^: you could try "cat /proc/self/cmdline", and see if it has the -l param
2021-07-22 01:17:55 +0200 <janus> % readFile /proc/self/cmdline
2021-07-22 01:17:56 +0200 <yahb> janus: ; <interactive>:40:11: error: Variable not in scope: proc :: FilePath -> IO String; <interactive>:40:16: error: Variable not in scope: self :: FilePath -> IO String; <interactive>:40:21: error: Variable not in scope: cmdline :: FilePath -> IO String
2021-07-22 01:18:02 +0200 <geekosaur> (if it's really minimalist you'd have to symlink it to -ash and run it that way)
2021-07-22 01:18:31 +0200 <geekosaur> quotes are a thing, janus
2021-07-22 01:18:52 +0200favonia(~favonia@user/favonia) (Ping timeout: 245 seconds)
2021-07-22 01:18:52 +0200 <geekosaur> % readFile "/proc/self/cmdline"
2021-07-22 01:18:53 +0200 <yahb> geekosaur: "/srv/sandbox/root/usr/lib/ghc-9.0.1/bin/ghc\NUL-B/srv/sandbox/root/usr/lib/ghc-9.0.1\NUL--interactive\NUL-v0\NUL-ghci-script\NUL/srv/sandbox/root/usr/lib/run/ghci-init\NUL-tmpdir\NUL/srv/sandbox/root/data/tmp/\NUL-odir\NUL/srv/sandbox/root/data/tmp/\NUL-hidir\NUL/srv/sandbox/root/data/tmp/\NUL-ignore-dot-ghci\NUL-package\NULghc\NUL+RTS\NUL-M200M\NUL-V0\NUL-C0\NUL-K100M\NUL"
2021-07-22 01:19:50 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 255 seconds)
2021-07-22 01:19:51 +0200 <geekosaur> you could also just start the list of commands with ". /etc/profile"
2021-07-22 01:20:22 +0200favonia(~favonia@user/favonia)
2021-07-22 01:20:30 +0200 <janus> but it is a shell built-in, will that work? would be weird if docker knows the shell builtins
2021-07-22 01:20:49 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-22 01:21:01 +0200 <janus> oooh ok it is an interactive shell, i get it
2021-07-22 01:21:09 +0200 <janus> thought you meant putting it in the Dockerfile
2021-07-22 01:21:51 +0200 <geekosaur> I did but you have a list of commands to be run in various contexts and I was suggesting putting that at the beginning of the list
2021-07-22 01:22:16 +0200 <ph88^> maybe i should go with this rather than try to make my own Dockerfile https://hub.docker.com/r/fpco/alpine-haskell-stack
2021-07-22 01:23:50 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds)
2021-07-22 01:24:19 +0200shutdown_-h_now(~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl) (Ping timeout: 250 seconds)
2021-07-22 01:24:43 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-22 01:24:57 +0200Cajun(~Cajun@ip98-163-211-112.no.no.cox.net) (Quit: Client closed)
2021-07-22 01:26:31 +0200jeetelongname(~jeet@host-89-241-98-229.as13285.net) (Remote host closed the connection)
2021-07-22 01:26:34 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
2021-07-22 01:26:46 +0200jeetelongname(~jeet@host-89-241-98-229.as13285.net)
2021-07-22 01:28:35 +0200 <Boarders> is there a lensy variant of the state function from the MonadState typeclass that operates on something you have a lens into
2021-07-22 01:28:52 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 245 seconds)
2021-07-22 01:28:59 +0200ski(~ski@ed-3358-10.studat.chalmers.se) (Ping timeout: 268 seconds)
2021-07-22 01:29:37 +0200ski(~ski@ed-3358-10.studat.chalmers.se)
2021-07-22 01:30:11 +0200shutdown_-h_now(~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl)
2021-07-22 01:30:40 +0200 <Boarders> or alternatively is there a += that also returns the old value
2021-07-22 01:31:52 +0200 <arkanoid> what's the quickest way to test a function in a module? I'm working with vscode + haskell extension, but I feel that adding a main is not the haskell way
2021-07-22 01:32:34 +0200 <dsal> arkanoid: are you doing exercism? It comes with a test suite.
2021-07-22 01:33:48 +0200 <Boarders> arkanoid: load in repl?
2021-07-22 01:34:07 +0200 <dsal> @check (3 `notElem`)
2021-07-22 01:34:09 +0200 <lambdabot> *** Failed! Falsifiable (after 13 tests and 4 shrinks):
2021-07-22 01:34:09 +0200 <lambdabot> [2,-3,-12,-9,10,10,-10,3,-6,-10,12,11]
2021-07-22 01:34:10 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 252 seconds)
2021-07-22 01:34:11 +0200 <jeetelongname> arkanoid: yeah I was about to reccomend using ghci
2021-07-22 01:34:21 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-22 01:34:33 +0200 <dsal> That's not the best shrinking. But super impressed how quickcheck proved me wrong when I thought 3 couldn't be in a list.
2021-07-22 01:34:40 +0200 <arkanoid> dsal: yes, I do check the results of the required func with stack test. But if I add other funcs I should also modify the test case and so on. Not really so quick
2021-07-22 01:34:51 +0200 <dsal> arkanoid: You can add to the test cases.
2021-07-22 01:35:23 +0200 <dsal> But yeah, you can just pull up ghci (`stack ghci` should work) and `:r` whenever you change code.
2021-07-22 01:35:30 +0200 <dsal> emacs will often do the right thing.
2021-07-22 01:35:46 +0200 <arkanoid> dsal, thanks!
2021-07-22 01:35:53 +0200 <dsal> I've been meaning to try hls again. It's a ridiculously complicated set of things for some reason.
2021-07-22 01:36:12 +0200tremon(~tremon@217-63-61-89.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in)
2021-07-22 01:36:15 +0200 <dsal> arkanoid: If you bring in quickcheck, you can do quick property tests even.
2021-07-22 01:36:59 +0200dibblego(~dibblego@122-199-1-30.ip4.superloop.com)
2021-07-22 01:36:59 +0200dibblego(~dibblego@122-199-1-30.ip4.superloop.com) (Changing host)
2021-07-22 01:36:59 +0200dibblego(~dibblego@haskell/developer/dibblego)
2021-07-22 01:37:00 +0200 <dsal> @check \x y -> let s = x + y in s > x && s > y
2021-07-22 01:37:01 +0200 <lambdabot> *** Failed! Falsifiable (after 1 test):
2021-07-22 01:37:01 +0200 <lambdabot> 0 0
2021-07-22 01:37:08 +0200 <dsal> `0 0` to you, quickcheck
2021-07-22 01:37:48 +0200 <arkanoid> if I do "stack ghci" I get prelude shell, but my functions seems not imported, even after :r
2021-07-22 01:38:10 +0200 <dsal> Huh. Oh, are you writing them in the Main module?
2021-07-22 01:38:33 +0200 <dsal> Does `:l app/Main.hs` work? I think it might not.
2021-07-22 01:39:04 +0200 <dsal> When I'm being lazy, I'll just paste in stuff with GHCI multiline stuff: `:{\n` [paste] `:}\n`
2021-07-22 01:39:18 +0200 <arkanoid> wait, I wan not exporting all the function in module declaration
2021-07-22 01:39:26 +0200 <arkanoid> s/wan/was
2021-07-22 01:40:06 +0200 <dsal> You can just get rid of the () thing in the declaration.
2021-07-22 01:40:19 +0200 <arkanoid> now I got there, but literal strings are still converted to [Char], even if I do have {-# LANGUAGE OverloadedStrings #-} on top (and it works with stack test)
2021-07-22 01:40:27 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Remote host closed the connection)
2021-07-22 01:40:40 +0200 <dsal> Literal strings are [Char]
2021-07-22 01:41:02 +0200 <dsal> Do you expect them to be something else? Or do you mean in your ghci session?
2021-07-22 01:41:08 +0200 <dsal> `:set -X OverloadedStrings`
2021-07-22 01:41:17 +0200 <dsal> There's not supposed to be a space there.
2021-07-22 01:41:34 +0200 <dsal> `:set -XXXStraightEdgeXXX`
2021-07-22 01:41:59 +0200 <arkanoid> i mean in the ghci session. With the build it works
2021-07-22 01:42:13 +0200 <dsal> Yeah, so you need to set that for your GHCI session, not just the particular file you loaded.
2021-07-22 01:42:25 +0200 <dsal> Different files often use different language features.
2021-07-22 01:42:34 +0200 <arkanoid> yeah! it works
2021-07-22 01:43:02 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 245 seconds)
2021-07-22 01:43:20 +0200 <arkanoid> you were saying about quickcheck, it that a bot?
2021-07-22 01:43:35 +0200chomwitt(~chomwitt@ppp-94-67-220-135.home.otenet.gr) (Remote host closed the connection)
2021-07-22 01:43:48 +0200 <janus> @package QuickCheck
2021-07-22 01:43:48 +0200 <lambdabot> https://hackage.haskell.org/package/QuickCheck
2021-07-22 01:44:19 +0200 <jeetelongname> @help
2021-07-22 01:44:19 +0200 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
2021-07-22 01:44:24 +0200 <jeetelongname> @list
2021-07-22 01:44:24 +0200 <lambdabot> What module? Try @listmodules for some ideas.
2021-07-22 01:44:24 +0200acidjnk(~acidjnk@p200300d0c72b9516f180e3afe24121d7.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2021-07-22 01:44:40 +0200 <arkanoid> oh! Monkey test but monkeys have phds!
2021-07-22 01:44:54 +0200 <dsal> arkanoid: QuickCheck is ye olde property testing. It's a religion.
2021-07-22 01:45:01 +0200retroid_(~retro@97e2ba5d.skybroadband.com) (Ping timeout: 268 seconds)
2021-07-22 01:45:16 +0200 <janus> damn straight, and since it involves lawless typeclasses, it is heresy :O
2021-07-22 01:45:49 +0200 <dsal> Back in the day, people used to write tests by thinking about input and output to their stuff and writing code that would take that input and verify they got the output they expected. Such madness.
2021-07-22 01:46:21 +0200 <janus> in that what grandpa meant when he said "unit test"?
2021-07-22 01:46:48 +0200 <dsal> Yeah. They'd test like, one thing and be done. Rarely writing tests like this:
2021-07-22 01:46:49 +0200 <dsal> @check \x -> abs (x :: Int8) >= 0
2021-07-22 01:46:51 +0200 <lambdabot> +++ OK, passed 100 tests.
2021-07-22 01:46:53 +0200 <dsal> yay!
2021-07-22 01:46:54 +0200 <dsal> @check \x -> abs (x :: Int8) >= 0
2021-07-22 01:46:56 +0200 <lambdabot> *** Failed! Falsifiable (after 74 tests):
2021-07-22 01:46:56 +0200 <lambdabot> -128
2021-07-22 01:47:09 +0200 <dsal> oh no! It turns out the absolute value of a number isn't always >= 0!
2021-07-22 01:47:34 +0200 <janus> aah, so a unit test is a property test parameterized by unit, aka (). got it
2021-07-22 01:47:51 +0200 <dsal> @check (== ())
2021-07-22 01:47:53 +0200 <lambdabot> +++ OK, passed 100 tests.
2021-07-22 01:47:57 +0200 <dsal> Yay! My unit tests pass.
2021-07-22 01:47:58 +0200 <arkanoid> I'm having those kind of insight while reading "category theory for programmers". I feel like I should have read this back when I was an university students. Now it's kinda late and I've too much python in my veins and I need a complete reformat
2021-07-22 01:48:06 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-07-22 01:48:29 +0200lbseale(~lbseale@user/ep1ctetus) (Quit: Client closed)
2021-07-22 01:48:42 +0200 <dsal> arkanoid: There's a variety of videos like this: https://www.youtube.com/watch?v=hXnS_Xjwk2Y
2021-07-22 01:49:16 +0200 <janus> arkanoid: i tried reading it when i was a university student doing python and i didn't have the patience for it :P
2021-07-22 01:49:43 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-07-22 01:49:57 +0200 <dsal> arkanoid: I did something like this in python in... the past: http://dustin.sallings.org/2010/10/27/breakdancer.html
2021-07-22 01:50:13 +0200 <dsal> TL;DR: if you only write tests for things you think of, your customers find your bugs.
2021-07-22 01:50:53 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-07-22 01:51:03 +0200aplainze1akind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-07-22 01:51:24 +0200 <arkanoid> I've been a videogame programmer for the majority of my professional life. I kinda know what real users can test that internal testing won't even think possible doing
2021-07-22 01:51:46 +0200 <geekosaur> human fuzzers unite!
2021-07-22 01:52:01 +0200 <dsal> I'd *really* like coverage directed fuzzing for my property tests.
2021-07-22 01:52:25 +0200 <dsal> I think go might get that soon. I've used some of the early versions of it. It's terribly slow and a terrible API, but I think they may have figured it out.
2021-07-22 01:52:45 +0200 <janus> are you referring to afl?
2021-07-22 01:53:43 +0200 <dsal> Yeah, it might be related to that. It's abstracted away at work so I don't actually know what the mechanism was.
2021-07-22 01:54:13 +0200 <dsal> It's incredibly slow and the API was incredibly bad, but you could do things that are super difficult to even think about.
2021-07-22 01:55:23 +0200mrkajetanp_(~mrkajetan@2a01:4b00:ea36:6c00:7994:941c:3f5d:2b88) (Ping timeout: 255 seconds)
2021-07-22 01:55:32 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-07-22 01:55:42 +0200mrkajetanp(~mrkajetan@2a01:4b00:ea36:6c00:7994:941c:3f5d:2b88)
2021-07-22 01:55:57 +0200zgrep(~zgrep@user/zgrep) (Quit: It's a quitter's world.)
2021-07-22 01:56:36 +0200zgrep(~zgrep@user/zgrep)
2021-07-22 02:00:29 +0200 <arkanoid> dsal: thanks for the video! I've been zapping through some different videos about haskell and haskell history, just to get a comfortable context around this new side project of mine. Would you suggest some particular good videos about haskell or functional programming in general, just like the one you just shared
2021-07-22 02:00:48 +0200 <sm> arkanoid, two other things you might like are doctest and ghcid -T
2021-07-22 02:00:57 +0200berberman(~berberman@user/berberman) (Ping timeout: 245 seconds)
2021-07-22 02:01:15 +0200berberman(~berberman@user/berberman)
2021-07-22 02:01:53 +0200 <sm> I wouldn't be surprised if there's a vscode haskell feature/extension to run tests continuously, too
2021-07-22 02:02:11 +0200 <sm> if not, there ought to be
2021-07-22 02:03:27 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 245 seconds)
2021-07-22 02:04:28 +0200 <arkanoid> doctest! Interesting! I've been doing those for a while in my imperative past, but I've developed some kind of skepticism for huge source code files made 80% of comments (just general speaking, I have almost zero experience with haskell and functional programming in general)
2021-07-22 02:05:09 +0200 <arkanoid> my stack environment doesn not have ghcid executable
2021-07-22 02:05:27 +0200 <geekosaur> ghcid is a separate package
2021-07-22 02:06:23 +0200 <geekosaur> it's a little thing that runs ghci on your package every time something changes, to catch newly introduced bugs
2021-07-22 02:06:36 +0200retroid_(~retro@97e2ba5d.skybroadband.com)
2021-07-22 02:07:31 +0200 <arkanoid> this is sweet! I'm going to try this right now
2021-07-22 02:07:47 +0200mthvedt(uid501949@id-501949.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-22 02:08:45 +0200jmorris(uid433911@id-433911.stonehaven.irccloud.com)
2021-07-22 02:09:50 +0200favonia(~favonia@user/favonia) (Ping timeout: 252 seconds)
2021-07-22 02:10:24 +0200Atum_(~IRC@user/atum/x-2392232)
2021-07-22 02:10:42 +0200favonia(~favonia@user/favonia)
2021-07-22 02:11:44 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-22 02:12:39 +0200 <arkanoid> well it seems doing the same thing I'm getting from vscode + extension, but having it separately in a terminal enables tmux with vim + ghcid! Thanks a lot
2021-07-22 02:13:30 +0200retroid_(~retro@97e2ba5d.skybroadband.com) (Ping timeout: 240 seconds)
2021-07-22 02:16:34 +0200 <monochrom> My http://www.vex.net/~trebla/haskell/forwardconstraint/ForwardConstraint.hs is 90% comments.
2021-07-22 02:20:16 +0200shutdown_-h_now(~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl) (Ping timeout: 256 seconds)
2021-07-22 02:20:22 +0200ph88^(~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2021-07-22 02:20:52 +0200 <Boarders> I am converting some code from MonadReader to MonadState
2021-07-22 02:21:00 +0200 <Boarders> is there a convenient way to update the local function
2021-07-22 02:21:09 +0200 <Boarders> at present I am writing three lines where I use modifying
2021-07-22 02:21:16 +0200 <Boarders> but wondered if there is something slicker
2021-07-22 02:21:25 +0200 <Boarders> (modifying from lens but that part doesn't matter)
2021-07-22 02:22:56 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-07-22 02:23:32 +0200Erutuon(~Erutuon@user/erutuon)
2021-07-22 02:24:15 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-22 02:26:06 +0200shutdown_-h_now(~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl)
2021-07-22 02:28:00 +0200 <sm> you can always keep doctests in a separate file. downside is you probably won't write tests
2021-07-22 02:32:02 +0200 <adamCS> stateLocal f x = do {old <- get; modify f; result <- x; put old; return result; }
2021-07-22 02:32:24 +0200 <adamCS> Boarders: ^. But I think you already are doing something like that?
2021-07-22 02:34:08 +0200hexfive(~eric@50.35.83.177)
2021-07-22 02:35:45 +0200spirgel_(spirgel@gateway/vpn/protonvpn/spirgel) ()
2021-07-22 02:36:20 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-22 02:42:42 +0200earthy(~arthurvl@2001:984:275b:1:ba27:ebff:fea0:40b0)
2021-07-22 02:42:44 +0200 <Boarders> that is my conclusion too adamCS
2021-07-22 02:42:46 +0200 <Boarders> thanks
2021-07-22 02:43:12 +0200 <arkanoid> I feel like using pack and unpack functions too much while forcing my functions to handle text manipulation using the Text type instead of String
2021-07-22 02:44:06 +0200 <arkanoid> can I use (head:tail) pattern patch for Text too?
2021-07-22 02:44:15 +0200 <arkanoid> *match
2021-07-22 02:44:58 +0200 <geekosaur> no
2021-07-22 02:45:07 +0200 <dsal> arkanoid: yeah (though not with that syntax). But also, don't use string
2021-07-22 02:45:21 +0200 <Boarders> adamCS: do you know if this will be massively wasteful computationally?
2021-07-22 02:46:00 +0200 <PotatoHatsue> use Text.uncons with ViewPatterns
2021-07-22 02:46:05 +0200 <sm> i don't agree with blanket "don't use string", everything is a trade off
2021-07-22 02:46:22 +0200 <dsal> stripPrefix :: Text -> Text -> Maybe Text
2021-07-22 02:46:32 +0200 <arkanoid> dsal: but if I have to make first character uppercase, would you still use Text?
2021-07-22 02:46:41 +0200 <dsal> Well, if you're converting between string and text a lot, you could just not use text. :)
2021-07-22 02:47:51 +0200 <dsal> > T.toTitle (T.pack "there's a thing for title stuff")
2021-07-22 02:47:53 +0200 <lambdabot> "There's A Thing For Title Stuff"
2021-07-22 02:47:57 +0200 <dsal> Otherwise, you could just make the thing you need.
2021-07-22 02:48:07 +0200 <h98> anyone know if something like this is possible with quantifiers? https://paste.tomsmeding.com/ZBwdMcJB (question at the bottom)
2021-07-22 02:48:32 +0200 <dsal> (I use String a lot, but, you know... 🤠)
2021-07-22 02:49:10 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2021-07-22 02:49:17 +0200 <sm> when string is good, use string. for newcomers, given current haskell ecosystem, string is great
2021-07-22 02:50:09 +0200 <arkanoid> what do you mean by "given curent haskell ecosystem"?
2021-07-22 02:50:19 +0200 <arkanoid> is it polluted?
2021-07-22 02:50:22 +0200 <dsal> String is the default and lots of stuff uses it.
2021-07-22 02:50:39 +0200 <dsal> Also, Text isn't the only alternative to String and sometimes Text is wrong.
2021-07-22 02:50:52 +0200shutdown_-h_now(~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl) (Ping timeout: 256 seconds)
2021-07-22 02:51:07 +0200 <arkanoid> What doesn it mean "Subject to fusion"?
2021-07-22 02:51:15 +0200 <sm> string works out of the box and is easy to understand. text doesn't and isn't
2021-07-22 02:51:29 +0200 <dsal> arkanoid: fusion is optimization magic
2021-07-22 02:51:58 +0200 <dsal> e.g., `map f . filter g` can be fused into a single pass
2021-07-22 02:52:09 +0200 <arkanoid> sm: I am feeling exactly that, like not being in the place where a newbie should be
2021-07-22 02:52:11 +0200 <sm> once you're using a lot of libs with text based apis it's different
2021-07-22 02:58:37 +0200shutdown_-h_now(~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl)
2021-07-22 03:01:01 +0200xkuru(~xkuru@user/xkuru) (Quit: Unvirtualizing)
2021-07-22 03:01:54 +0200 <arkanoid> what's the correct function to join/concat [String] into String without separator?
2021-07-22 03:02:12 +0200 <arkanoid> kinda flat?
2021-07-22 03:02:17 +0200viluon(uid453725@id-453725.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-22 03:02:18 +0200 <geekosaur> concat?
2021-07-22 03:02:24 +0200 <sm> really what we need is a default TextString that scales smoothly from drop dead easy and simple to industrial strength
2021-07-22 03:02:32 +0200waleee(~waleee@h-98-128-228-119.na.cust.bahnhof.se) (Ping timeout: 252 seconds)
2021-07-22 03:02:37 +0200 <geekosaur> :t concat
2021-07-22 03:02:38 +0200 <lambdabot> Foldable t => t [a] -> [a]
2021-07-22 03:02:58 +0200 <infinisil> :t join
2021-07-22 03:02:59 +0200 <lambdabot> Monad m => m (m a) -> m a
2021-07-22 03:03:18 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-22 03:06:10 +0200 <arkanoid> thanks
2021-07-22 03:06:48 +0200 <geekosaur> there's also mconcat which is a little more general
2021-07-22 03:06:50 +0200chris_(~chris@81.96.113.213)
2021-07-22 03:06:52 +0200 <geekosaur> :t mconcat
2021-07-22 03:06:53 +0200 <lambdabot> Monoid a => [a] -> a
2021-07-22 03:08:22 +0200 <infinisil> :t fold
2021-07-22 03:08:23 +0200 <lambdabot> (Foldable t, Monoid m) => t m -> m
2021-07-22 03:08:28 +0200 <infinisil> Or even more general ^
2021-07-22 03:10:09 +0200 <arkanoid> I've yet to face Monoids/Monads/Applications, but they are the main reason I'm teaching myself haskell (I want to be a better imperative programmer by learning how to push effects on the edge)
2021-07-22 03:10:49 +0200 <arkanoid> to match the first, the second and the tail is (a,(b,tail)) ?
2021-07-22 03:11:30 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-22 03:11:43 +0200 <dsal> arkanoid: fold
2021-07-22 03:12:13 +0200Guest84(~Guest84@199.19.226.242)
2021-07-22 03:12:20 +0200 <dsal> I'm slow today.
2021-07-22 03:12:22 +0200 <dibblego> (a:b:tail)
2021-07-22 03:12:37 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-22 03:13:08 +0200 <jeetelongname> ??
2021-07-22 03:13:46 +0200h98(~h98@187.83.249.216.dyn.smithville.net) (Quit: Client closed)
2021-07-22 03:14:12 +0200 <geekosaur> I think they were first asking in the context of Text, not String?
2021-07-22 03:15:08 +0200 <arkanoid> now I've reverted to String
2021-07-22 03:15:29 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-22 03:15:49 +0200favonia(~favonia@user/favonia)
2021-07-22 03:16:21 +0200retroid_(~retro@97e2ba5d.skybroadband.com)
2021-07-22 03:18:36 +0200pavonia(~user@user/siracusa)
2021-07-22 03:20:26 +0200xff0x_(~xff0x@2001:1a81:530d:8900:7530:d6ba:9d47:69d1) (Ping timeout: 255 seconds)
2021-07-22 03:22:12 +0200xff0x_(~xff0x@2001:1a81:5345:c200:35ab:ec93:2501:2232)
2021-07-22 03:22:39 +0200agua(~agua@2804:14c:8793:8e2f:6091:e445:c3bf:d39e)
2021-07-22 03:23:10 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 256 seconds)
2021-07-22 03:23:49 +0200zeenk(~zeenk@2a02:2f04:a008:d600:18f2:3421:bac6:8f38) (Quit: Konversation terminated!)
2021-07-22 03:25:51 +0200 <Boarders> this question might be sort of nonsense but is there any version of having Reader where if you throw an error you also get access to the local environment at that point?
2021-07-22 03:26:06 +0200pesada(~agua@2804:18:4e:2dda:1:0:4058:6b7c) (Ping timeout: 255 seconds)
2021-07-22 03:26:07 +0200 <Boarders> I don't really want state because I don't want to do stateful things other than that
2021-07-22 03:27:10 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-22 03:27:55 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-22 03:28:48 +0200 <dsal> State has a lot of downsides.
2021-07-22 03:29:13 +0200 <dsal> I'm not sure what you mean by throwing an error, though. You can do `ReaderT ExceptT` I assume.
2021-07-22 03:30:17 +0200 <arkanoid> is there a builtin function that filters a list in order until a condition is met on an element? I've built mine, but I'm interested in knowing
2021-07-22 03:31:01 +0200 <dibblego> @type find
2021-07-22 03:31:02 +0200 <lambdabot> Foldable t => (a -> Bool) -> t a -> Maybe a
2021-07-22 03:31:17 +0200dajoer(~david@user/gvx)
2021-07-22 03:31:22 +0200 <dibblego> > find even [1,3,5,7,8,3,5]
2021-07-22 03:31:24 +0200 <lambdabot> Just 8
2021-07-22 03:31:28 +0200 <dibblego> > find even [1,3,5,7]
2021-07-22 03:31:30 +0200 <lambdabot> Nothing
2021-07-22 03:34:13 +0200 <arkanoid> and to return [1,3,5,7] instead of Just 8? (elements up to found one)
2021-07-22 03:34:26 +0200Deide(~Deide@user/deide) (Quit: Seeee yaaaa)
2021-07-22 03:35:00 +0200 <geekosaur> > takeWhile odd [1,3,5,7,8,3,5]
2021-07-22 03:35:02 +0200 <lambdabot> [1,3,5,7]
2021-07-22 03:37:38 +0200 <dsal> > takeWhile (not . even) [1,3,5,7,8,3,5] -- if you want to think about it that way
2021-07-22 03:37:40 +0200 <lambdabot> [1,3,5,7]
2021-07-22 03:41:05 +0200 <arkanoid> yeah! very nice
2021-07-22 03:42:55 +0200Null_A(~null_a@2601:645:8700:2290:c911:1c05:b98d:d069) (Remote host closed the connection)
2021-07-22 03:43:48 +0200 <arkanoid> and to return 8,5,3? Like "discard until condition"
2021-07-22 03:45:32 +0200 <arkanoid> or "filter with stop condition"
2021-07-22 03:49:37 +0200Axman6(~Axman6@user/axman6)
2021-07-22 03:50:44 +0200 <monochrom> dropWhile
2021-07-22 03:51:32 +0200Atum_(~IRC@user/atum/x-2392232) (Quit: Atum_)
2021-07-22 03:52:23 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-22 03:53:44 +0200smichel17(~smichel17@c-73-68-217-18.hsd1.ma.comcast.net) (Quit: smichel17)
2021-07-22 03:57:16 +0200Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net)
2021-07-22 03:57:51 +0200 <sm> see also break, span, partition
2021-07-22 04:00:34 +0200Codaraxis(~Codaraxis@user/codaraxis) (Ping timeout: 240 seconds)
2021-07-22 04:00:44 +0200 <arkanoid> thanks (also for your patience)
2021-07-22 04:01:13 +0200Guest84(~Guest84@199.19.226.242) (Quit: Client closed)
2021-07-22 04:09:30 +0200td_(~td@muedsl-82-207-238-072.citykom.de) (Ping timeout: 240 seconds)
2021-07-22 04:10:44 +0200alx741(~alx741@186.178.108.210) (Quit: alx741)
2021-07-22 04:11:35 +0200td_(~td@94.134.91.91)
2021-07-22 04:15:08 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2021-07-22 04:16:40 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds)
2021-07-22 04:16:40 +0200Lord_of_Life_Lord_of_Life
2021-07-22 04:19:07 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
2021-07-22 04:21:11 +0200cjb(~cjb@user/cjb) (Quit: rcirc on GNU Emacs 28.0.50)
2021-07-22 04:22:12 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 245 seconds)
2021-07-22 04:23:06 +0200 <dsal> Or just read Data.List docs. :) And maybe Foldable.
2021-07-22 04:25:23 +0200 <sm> and the split library. (List part deux)
2021-07-22 04:25:41 +0200 <sm> it's never "just" with Haskell :)
2021-07-22 04:26:31 +0200 <dsal> Ha. Yeah. "Oh, you think you've read all the docs? ..."
2021-07-22 04:26:36 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
2021-07-22 04:29:39 +0200 <arkanoid> well, I've finally succeeded in passing the test for my first haskell program. Also first use of Maybe monad! No bind yet and surely I've been missing all possible chances to write better code, but this made my day https://exercism.io/tracks/haskell/exercises/acronym/solutions/fd01b2dda63344518e86b263aaeac983
2021-07-22 04:29:51 +0200 <jeetelongname> hoogle is a wonderful reasourse if you have not checked it out
2021-07-22 04:30:03 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-22 04:30:10 +0200 <arkanoid> yeah I've been using it quite a lot on the last couple hours
2021-07-22 04:30:30 +0200 <sm> congrats!
2021-07-22 04:31:22 +0200 <arkanoid> any suggestion is welcome!
2021-07-22 04:31:38 +0200 <sm> maybe too late now, but I enjoyed project euler in the beginning - it was more about numbers, which were easier
2021-07-22 04:32:25 +0200 <jeetelongname> another reasourse I have been using is https://www.cis.upenn.edu/~cis194/spring13/lectures.html its a uni course that takes you through the basics to monads. all with reasources and assignments
2021-07-22 04:32:49 +0200 <arkanoid> sm: I've consumed project euler back in the days of my advanced programming classes. We used python metaprogramming and aspectj (java)
2021-07-22 04:33:13 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2021-07-22 04:33:13 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (cadmium.libera.chat (Nickname regained by services)))
2021-07-22 04:33:13 +0200finn_elijaFinnElija
2021-07-22 04:33:37 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Remote host closed the connection)
2021-07-22 04:33:40 +0200 <glguy> If you're looking for exercises to learn on I thought the previous advent of code was pretty good https://adventofcode.com/2019 and it has a nice feature that year where half the problems built on the same "virtual machine" so you got a chance to reuse some code across problems
2021-07-22 04:34:03 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-22 04:34:15 +0200 <sm> that is waay harder for a haskell beginner...
2021-07-22 04:35:07 +0200 <glguy> euler won't give you very much haskell learning opportunity and the advent of code problems aren't generally that hard
2021-07-22 04:35:12 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
2021-07-22 04:35:19 +0200 <sm> ha says you :)
2021-07-22 04:35:32 +0200 <jeetelongname> hackerrank would probably be a better fit. tho the templates are way to overcomplicated and its just easier to replace them
2021-07-22 04:35:39 +0200 <glguy> half the problems that year are stand-alone and the other half has some common code to share which I think it way better for learning than starting over every time
2021-07-22 04:35:59 +0200 <arkanoid> I like the exercism way to teach
2021-07-22 04:36:13 +0200 <arkanoid> it gives some context with test code and tools
2021-07-22 04:37:02 +0200 <sm> each at the proper tiem
2021-07-22 04:37:06 +0200 <sm> time
2021-07-22 04:37:17 +0200 <jeetelongname> I have a bone to pick with AOC. I swear it made my blood pressure rise a good couple of units just to try and solve the problem in one day
2021-07-22 04:37:34 +0200 <arkanoid> when I think adventofcode I feel like want use my main language
2021-07-22 04:37:44 +0200 <sm> clash of code teaches only certain small skills, but is fun
2021-07-22 04:38:59 +0200 <jeetelongname> AOC was meant to be my way of picking up a new language (ruby in this case (this was before I was enlightened go easy on me)) but I just got bogged down in the problems and didn't learn all to much
2021-07-22 04:39:00 +0200 <sm> exercism, project euler, advent of code, hackerrank, clash of code.. any notable others ?
2021-07-22 04:39:02 +0200fresheyeball(~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
2021-07-22 04:39:41 +0200 <arkanoid> I just want to learn how to write more pure code in other imperative languages, and >>= there too
2021-07-22 04:40:12 +0200 <keltono> arkanoid: nice solution! one thing I would note is that you didn't need to define consumeWhile
2021-07-22 04:40:18 +0200 <keltono> @hoogle dropWhile
2021-07-22 04:40:28 +0200lavaman(~lavaman@98.38.249.169)
2021-07-22 04:40:30 +0200 <sm> didn't johann tibbell or someone make a learn-haskell-by-making-a-game thing ?
2021-07-22 04:41:54 +0200jeetelongname(~jeet@host-89-241-98-229.as13285.net) (oh wow I need to sleep. Night!)
2021-07-22 04:43:20 +0200 <sm> can't find it
2021-07-22 04:43:21 +0200 <arkanoid> keltono: thanks! Actually I forgot to replace at the end (I reinvented the wheel before finding out dropWhile)
2021-07-22 04:45:04 +0200 <arkanoid> need some sleep now. It has been a pleasure to learn so many things in a short time. I swear I've skimmed Data.List, Data.String and Data.Char days ago, but once you get into the editor it's another story
2021-07-22 04:45:14 +0200 <sm> no Joachim Breitner. https://haskell-via-sokoban.nomeata.de
2021-07-22 04:47:46 +0200paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Remote host closed the connection)
2021-07-22 04:48:24 +0200msr(~msr@user/msr)
2021-07-22 04:50:26 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-22 04:50:50 +0200favonia(~favonia@user/favonia)
2021-07-22 04:52:04 +0200paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com)
2021-07-22 05:00:02 +0200haasn(~nand@haasn.dev) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
2021-07-22 05:00:09 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-22 05:00:33 +0200favonia(~favonia@user/favonia)
2021-07-22 05:01:07 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 268 seconds)
2021-07-22 05:01:25 +0200haasn(~nand@haasn.dev)
2021-07-22 05:03:40 +0200 <dsal> arkanoid: AoC is usually super fun. Last year seemed strangely easy, but you get to make the problems harder if you want. e.g., I often made parser problems where there weren't any.
2021-07-22 05:03:44 +0200 <dsal> :t concatMap
2021-07-22 05:03:45 +0200 <lambdabot> Foldable t => (a -> [b]) -> t a -> [b]
2021-07-22 05:03:49 +0200 <dsal> :t foldMap
2021-07-22 05:03:50 +0200 <lambdabot> (Foldable t, Monoid m) => (a -> m) -> t a -> m
2021-07-22 05:04:47 +0200 <dsal> `wordAcronym [a] = [a | isUpper a]` is an interesting way to write that.
2021-07-22 05:06:28 +0200 <dsal> @src takeWhile
2021-07-22 05:06:29 +0200 <lambdabot> takeWhile _ [] = []
2021-07-22 05:06:29 +0200 <lambdabot> takeWhile p (x:xs) | p x = x : takeWhile p xs
2021-07-22 05:06:29 +0200 <lambdabot> | otherwise = []
2021-07-22 05:10:17 +0200Codaraxis__(~Codaraxis@141.98.255.143)
2021-07-22 05:11:14 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds)
2021-07-22 05:13:10 +0200ishutin_(~ishutin@193-110-63-61.cable-modem.hdsnet.hu)
2021-07-22 05:13:53 +0200soft-warm(~soft-warm@2600:8801:db01:8f0:2b46:c2bc:f21e:3c72)
2021-07-22 05:14:06 +0200Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 255 seconds)
2021-07-22 05:14:42 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 245 seconds)
2021-07-22 05:16:34 +0200derelict(~derelict@user/derelict) (Ping timeout: 240 seconds)
2021-07-22 05:16:37 +0200hgolden(~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Quit: Konversation terminated!)
2021-07-22 05:16:48 +0200ishutin(~ishutin@85-238-93-30.pool.digikabel.hu) (Ping timeout: 265 seconds)
2021-07-22 05:16:51 +0200fradet(~fradet@216.252.75.247) (Quit: leaving)
2021-07-22 05:17:34 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-22 05:18:09 +0200msr(~msr@user/msr) (Ping timeout: 255 seconds)
2021-07-22 05:18:23 +0200fradet(~fradet@216.252.75.247)
2021-07-22 05:19:51 +0200hgolden(~hgolden2@cpe-172-114-84-61.socal.res.rr.com)
2021-07-22 05:22:17 +0200cjb(~cjb@user/cjb)
2021-07-22 05:24:00 +0200talismanick(~user@2601:644:8502:d700::f19d)
2021-07-22 05:30:45 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Remote host closed the connection)
2021-07-22 05:32:31 +0200zaquest(~notzaques@5.128.210.178) (Quit: Leaving)
2021-07-22 05:32:48 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
2021-07-22 05:32:53 +0200derelict(~derelict@user/derelict)
2021-07-22 05:33:42 +0200zaquest(~notzaques@5.128.210.178)
2021-07-22 05:34:41 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2021-07-22 05:35:09 +0200stevenxl(uid133530@id-133530.highgate.irccloud.com)
2021-07-22 05:47:57 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-22 05:49:07 +0200falafel_(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-22 05:52:48 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 255 seconds)
2021-07-22 05:55:12 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com) ()
2021-07-22 05:58:08 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2021-07-22 06:14:45 +0200tnks_tnks
2021-07-22 06:16:54 +0200derelict(~derelict@user/derelict) (Quit: WeeChat 3.2)
2021-07-22 06:21:58 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-07-22 06:23:00 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-22 06:24:47 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-22 06:31:03 +0200hiruji(~hiruji@user/hiruji) (Ping timeout: 255 seconds)
2021-07-22 06:32:51 +0200michalz(~michalz@185.246.204.62)
2021-07-22 06:43:36 +0200qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: closed)
2021-07-22 06:44:14 +0200qrpnxz(~qrpnxz@user/qrpnxz)
2021-07-22 06:44:18 +0200qrpnxz(~qrpnxz@user/qrpnxz) ()
2021-07-22 06:44:54 +0200qrpnxz(~qrpnxz@user/qrpnxz)
2021-07-22 06:51:49 +0200eL_Bart0(eL_Bart0@dietunichtguten.org) (Read error: Connection reset by peer)
2021-07-22 06:52:49 +0200eL_Bart0(eL_Bart0@dietunichtguten.org)
2021-07-22 06:57:09 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds)
2021-07-22 07:03:30 +0200cjb(~cjb@user/cjb) (Ping timeout: 246 seconds)
2021-07-22 07:05:30 +0200catern(~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) (Ping timeout: 240 seconds)
2021-07-22 07:08:32 +0200cjb(~cjb@user/cjb)
2021-07-22 07:08:46 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
2021-07-22 07:10:15 +0200monochrom(trebla@216.138.220.146) (Quit: NO CARRIER)
2021-07-22 07:12:00 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-22 07:15:15 +0200isekaijin(~pyon@user/pyon)
2021-07-22 07:15:46 +0200favonia(~favonia@user/favonia)
2021-07-22 07:16:35 +0200isekaijin(~pyon@user/pyon) (Client Quit)
2021-07-22 07:17:22 +0200sheepduck(~sheepduck@user/sheepduck) (Remote host closed the connection)
2021-07-22 07:18:01 +0200isekaijin(~pyon@user/pyon)
2021-07-22 07:25:22 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-22 07:29:32 +0200monochrom(trebla@216.138.220.146)
2021-07-22 07:30:27 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 255 seconds)
2021-07-22 07:31:51 +0200jneira(~jneira@212.8.115.226)
2021-07-22 07:32:43 +0200isekaijin(~pyon@user/pyon) (Quit: WeeChat 3.2)
2021-07-22 07:34:07 +0200unyu(~pyon@user/pyon)
2021-07-22 07:42:09 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-07-22 07:44:34 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2021-07-22 07:46:50 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 255 seconds)
2021-07-22 07:49:09 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es)
2021-07-22 07:49:10 +0200Vajb(~Vajb@85-76-37-76-nat.elisa-mobile.fi) (Read error: Connection reset by peer)
2021-07-22 07:49:18 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-22 07:51:23 +0200johnw(~johnw@2600:1700:cf00:db0:4c55:69bc:4e4d:1c90) (Quit: ZNC - http://znc.in)
2021-07-22 07:54:56 +0200stevenxl(uid133530@id-133530.highgate.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-22 07:57:45 +0200falafel_(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 265 seconds)
2021-07-22 08:02:01 +0200unyu(~pyon@user/pyon) (Quit: WeeChat 3.2)
2021-07-22 08:02:17 +0200shriekingnoise(~shrieking@186.137.144.80) (Quit: Quit)
2021-07-22 08:09:23 +0200Null_A(~null_a@2601:645:8700:2290:c911:1c05:b98d:d069)
2021-07-22 08:12:32 +0200chris_(~chris@81.96.113.213)
2021-07-22 08:21:22 +0200michalz(~michalz@185.246.204.62) (Ping timeout: 245 seconds)
2021-07-22 08:22:07 +0200Null_A(~null_a@2601:645:8700:2290:c911:1c05:b98d:d069) (Remote host closed the connection)
2021-07-22 08:23:30 +0200Null_A(~null_a@2601:645:8700:2290:c911:1c05:b98d:d069)
2021-07-22 08:25:22 +0200chele(~chele@user/chele)
2021-07-22 08:26:24 +0200michalz(~michalz@185.246.204.58)
2021-07-22 08:30:18 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-22 08:31:02 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-22 08:32:19 +0200favonia(~favonia@user/favonia)
2021-07-22 08:34:44 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-07-22 08:35:03 +0200ubert(~Thunderbi@178.165.183.24.wireless.dyn.drei.com)
2021-07-22 08:36:45 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-07-22 08:39:44 +0200Flonk(~Flonk@ec2-52-40-29-25.us-west-2.compute.amazonaws.com) (Read error: Connection reset by peer)
2021-07-22 08:39:56 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-22 08:40:17 +0200Flonk(~Flonk@ec2-52-40-29-25.us-west-2.compute.amazonaws.com)
2021-07-22 08:42:29 +0200favonia(~favonia@user/favonia)
2021-07-22 08:43:09 +0200[exa](exa@user/exa/x-3587197) (Quit: Reconnecting)
2021-07-22 08:43:15 +0200[exa](exa@srv3.blesmrt.net)
2021-07-22 08:43:31 +0200[exa](exa@srv3.blesmrt.net) (Changing host)
2021-07-22 08:43:31 +0200[exa](exa@user/exa/x-3587197)
2021-07-22 08:52:16 +0200Vq(~vq@90-227-195-41-no77.tbcn.telia.com) (Quit: Client restart)
2021-07-22 08:52:37 +0200Vq(~vq@90-227-195-41-no77.tbcn.telia.com)
2021-07-22 08:53:37 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-22 08:57:08 +0200fendor(~fendor@77.119.210.38.wireless.dyn.drei.com)
2021-07-22 09:02:18 +0200talismanick(~user@2601:644:8502:d700::f19d) (Ping timeout: 240 seconds)
2021-07-22 09:02:21 +0200ph88^(~ph88@2a02:8109:9e00:7e5c:4c3:7ef8:c703:fb12)
2021-07-22 09:04:11 +0200unyu(~pyon@user/pyon)
2021-07-22 09:05:25 +0200catern(~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407)
2021-07-22 09:06:23 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Read error: Connection reset by peer)
2021-07-22 09:06:50 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-07-22 09:09:55 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-07-22 09:10:26 +0200smtnet3(~asdfasdfa@202.36.244.28) (Read error: Connection reset by peer)
2021-07-22 09:10:48 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-22 09:11:07 +0200favonia(~favonia@user/favonia)
2021-07-22 09:13:20 +0200curiousgay(~curiousga@77-120-144-167.kha.volia.net) (Ping timeout: 268 seconds)
2021-07-22 09:19:41 +0200ft(~ft@shell.chaostreff-dortmund.de) (Quit: Reconnecting)
2021-07-22 09:19:51 +0200ft(~ft@shell.chaostreff-dortmund.de)
2021-07-22 09:20:18 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-22 09:20:36 +0200favonia(~favonia@user/favonia)
2021-07-22 09:24:33 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:7187:828c:38f7:dc68)
2021-07-22 09:26:15 +0200fef(~thedawn@user/thedawn)
2021-07-22 09:27:05 +0200ub(~Thunderbi@91.141.40.166.wireless.dyn.drei.com)
2021-07-22 09:27:38 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds)
2021-07-22 09:28:16 +0200ubert(~Thunderbi@178.165.183.24.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
2021-07-22 09:28:16 +0200ububert
2021-07-22 09:29:02 +0200cfricke(~cfricke@user/cfricke)
2021-07-22 09:29:42 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2021-07-22 09:35:04 +0200Ariakenom(~Ariakenom@c83-255-154-140.bredband.tele2.se)
2021-07-22 09:36:51 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-07-22 09:42:17 +0200smtnet3(~asdfasdfa@202.36.244.28)
2021-07-22 09:45:14 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-22 09:45:15 +0200hughjfchen(~hughjfche@vmi556545.contaboserver.net) (Quit: WeeChat 2.8)
2021-07-22 09:45:26 +0200jumper149(~jumper149@80.240.31.34)
2021-07-22 09:46:38 +0200aman(~aman@user/aman)
2021-07-22 09:49:30 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-22 09:49:44 +0200cjb(~cjb@user/cjb) (Quit: rcirc on GNU Emacs 28.0.50)
2021-07-22 09:52:02 +0200favonia(~favonia@user/favonia)
2021-07-22 09:56:28 +0200zeenk(~zeenk@2a02:2f04:a008:d600:18f2:3421:bac6:8f38)
2021-07-22 09:57:15 +0200jakalx(~jakalx@base.jakalx.net)
2021-07-22 09:58:57 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-22 09:59:21 +0200favonia(~favonia@user/favonia)
2021-07-22 10:06:35 +0200hendursa1(~weechat@user/hendursaga)
2021-07-22 10:06:36 +0200jle`(~justin@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 255 seconds)
2021-07-22 10:07:12 +0200dunj3(~dunj3@2001:16b8:3001:6100:b447:1fd4:5e4:c9b1)
2021-07-22 10:08:59 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 244 seconds)
2021-07-22 10:09:19 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-22 10:12:49 +0200ozzymcduff(~mathieu@81-234-151-21-no94.tbcn.telia.com)
2021-07-22 10:13:00 +0200ubert1(~Thunderbi@91.141.40.166.wireless.dyn.drei.com)
2021-07-22 10:13:20 +0200chris_(~chris@81.96.113.213)
2021-07-22 10:13:58 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com)
2021-07-22 10:14:43 +0200ubert(~Thunderbi@91.141.40.166.wireless.dyn.drei.com) (Ping timeout: 250 seconds)
2021-07-22 10:16:26 +0200ubert(~Thunderbi@178.165.186.232.wireless.dyn.drei.com)
2021-07-22 10:16:48 +0200jle`(~justin@cpe-23-240-75-236.socal.res.rr.com)
2021-07-22 10:17:48 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-07-22 10:17:48 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-07-22 10:17:51 +0200allbery_bgeekosaur
2021-07-22 10:18:07 +0200ubert1(~Thunderbi@91.141.40.166.wireless.dyn.drei.com) (Ping timeout: 258 seconds)
2021-07-22 10:23:21 +0200phma(phma@2001:5b0:211f:e4d8:6e5e:7ad2:e1a9:776d) (Read error: Connection reset by peer)
2021-07-22 10:24:18 +0200phma(phma@2001:5b0:212a:a908:914b:947b:7a62:29b3)
2021-07-22 10:25:28 +0200berberman_(~berberman@user/berberman)
2021-07-22 10:25:40 +0200acidjnk(~acidjnk@p200300d0c72b9516f180e3afe24121d7.dip0.t-ipconnect.de)
2021-07-22 10:26:18 +0200berberman(~berberman@user/berberman) (Ping timeout: 240 seconds)
2021-07-22 10:29:06 +0200jle`(~justin@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 255 seconds)
2021-07-22 10:29:14 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-07-22 10:31:05 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-22 10:34:23 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-07-22 10:35:43 +0200favonia(~favonia@user/favonia)
2021-07-22 10:43:29 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-22 10:46:19 +0200jippiedoe(~david@2a02-a44c-e14e-1-ffb4-d6eb-4999-9833.fixed6.kpn.net)
2021-07-22 10:49:13 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-22 10:50:53 +0200laprice(~laprice@c-71-238-52-236.hsd1.or.comcast.net)
2021-07-22 10:54:16 +0200soft-warm(~soft-warm@2600:8801:db01:8f0:2b46:c2bc:f21e:3c72) (Ping timeout: 246 seconds)
2021-07-22 10:54:37 +0200jchia(~jchia@64.52.84.46)
2021-07-22 10:55:12 +0200mei(~mei@user/mei) (Quit: mei)
2021-07-22 10:55:52 +0200jle`(~justin@cpe-23-240-75-236.socal.res.rr.com)
2021-07-22 10:56:24 +0200jchia(~jchia@64.52.84.46) (Client Quit)
2021-07-22 10:56:37 +0200jchia(~jchia@64.52.84.46)
2021-07-22 10:57:20 +0200notzmv(~zmv@user/notzmv) (Read error: Connection reset by peer)
2021-07-22 10:58:58 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-07-22 10:59:20 +0200jchia[m](~jchiamatr@2001:470:69fc:105::c50b)
2021-07-22 10:59:33 +0200jchia(~jchia@64.52.84.46) (Client Quit)
2021-07-22 11:01:32 +0200jiribenes(~jiribenes@rosa.jiribenes.com) (Remote host closed the connection)
2021-07-22 11:01:46 +0200jiribenes(~jiribenes@rosa.jiribenes.com)
2021-07-22 11:04:07 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
2021-07-22 11:05:33 +0200hpc(~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 255 seconds)
2021-07-22 11:05:34 +0200Arahael(~arahael@60-242-119-83.tpgi.com.au) (Ping timeout: 268 seconds)
2021-07-22 11:07:35 +0200pesada(~agua@2804:18:4e:2dda:1:0:4058:6b7c)
2021-07-22 11:08:52 +0200mcfrdy(~mcfrdy@user/mcfrdy)
2021-07-22 11:10:37 +0200agua(~agua@2804:14c:8793:8e2f:6091:e445:c3bf:d39e) (Ping timeout: 250 seconds)
2021-07-22 11:10:44 +0200Kaipi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Read error: Connection reset by peer)
2021-07-22 11:12:05 +0200 <raehik> Why is ScopedTypeVariables not default when using TypeApplications? I never recognise the error message when you try to use a type variable not in scope
2021-07-22 11:12:29 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-07-22 11:12:39 +0200 <raehik> few hours wasted due to a lang pragma that I somehow thought was default. gah
2021-07-22 11:13:22 +0200 <Taneb> I think TypeApplication is often very useful even without ScopedTypeVariables
2021-07-22 11:14:55 +0200 <raehik> I think I'm mostly just mad, the syntax ("types in the function!") made me think I could use type vars. even used explicit forall thinking that would help
2021-07-22 11:15:08 +0200Null_A(~null_a@2601:645:8700:2290:c911:1c05:b98d:d069) (Remote host closed the connection)
2021-07-22 11:16:39 +0200degraafk_(sid71464@id-71464.tooting.irccloud.com) (Ping timeout: 252 seconds)
2021-07-22 11:17:12 +0200hendi(sid489601@id-489601.tooting.irccloud.com) (Ping timeout: 252 seconds)
2021-07-22 11:18:03 +0200hendi(sid489601@id-489601.tooting.irccloud.com)
2021-07-22 11:18:07 +0200degraafk_(sid71464@id-71464.tooting.irccloud.com)
2021-07-22 11:19:21 +0200Arahael(~arahael@203-206-93-248.tpgi.com.au)
2021-07-22 11:28:05 +0200favonia(~favonia@user/favonia) (Ping timeout: 252 seconds)
2021-07-22 11:28:29 +0200favonia(~favonia@user/favonia)
2021-07-22 11:33:00 +0200azeem(~azeem@dynamic-adsl-84-220-213-65.clienti.tiscali.it) (Ping timeout: 255 seconds)
2021-07-22 11:34:13 +0200azeem(~azeem@176.201.2.247)
2021-07-22 11:34:45 +0200viluon(uid453725@id-453725.brockwell.irccloud.com)
2021-07-22 11:36:00 +0200ukari(~ukari@user/ukari) (Remote host closed the connection)
2021-07-22 11:36:11 +0200Ariakenom(~Ariakenom@c83-255-154-140.bredband.tele2.se) (Ping timeout: 250 seconds)
2021-07-22 11:36:14 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-22 11:38:10 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-07-22 11:39:18 +0200mc47(~mc47@xmonad/TheMC47)
2021-07-22 11:39:48 +0200 <jchia[m]> Any reason to not always ScopedTypeVariables, though? It's one of my standard extensions to use.
2021-07-22 11:40:27 +0200 <jchia[m]> I just have it in a list of extensions I always enable whether or not the code actually uses it.
2021-07-22 11:40:39 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 255 seconds)
2021-07-22 11:47:26 +0200hpc(~juzz@ip98-169-35-13.dc.dc.cox.net)
2021-07-22 11:49:39 +0200azeem(~azeem@176.201.2.247) (Ping timeout: 255 seconds)
2021-07-22 11:51:35 +0200ukari(~ukari@user/ukari)
2021-07-22 11:53:59 +0200azeem(~azeem@176.201.2.247)
2021-07-22 11:54:56 +0200qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-07-22 11:55:10 +0200qrpnxz(~qrpnxz@user/qrpnxz)
2021-07-22 11:55:30 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-22 11:56:36 +0200qrpnxz(~qrpnxz@user/qrpnxz) ()
2021-07-22 11:59:15 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.2)
2021-07-22 12:00:07 +0200favonia(~favonia@user/favonia)
2021-07-22 12:01:06 +0200jmct_(sid160793@id-160793.tinside.irccloud.com) (Ping timeout: 240 seconds)
2021-07-22 12:01:33 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2021-07-22 12:02:15 +0200jmct_(sid160793@id-160793.tinside.irccloud.com)
2021-07-22 12:03:29 +0200gehmehgeh(~user@user/gehmehgeh)
2021-07-22 12:04:59 +0200HotblackDesiato(~HotblackD@gateway/tor-sasl/hotblackdesiato) (Remote host closed the connection)
2021-07-22 12:05:24 +0200HotblackDesiato(~HotblackD@gateway/tor-sasl/hotblackdesiato)
2021-07-22 12:05:51 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 255 seconds)
2021-07-22 12:06:19 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-22 12:07:06 +0200 <kuribas> Why does GHC.Records have getField, but no setField?
2021-07-22 12:07:33 +0200jumper149(~jumper149@80.240.31.34) (Quit: WeeChat 3.2)
2021-07-22 12:08:43 +0200 <maerwald> https://github.com/ghc-proposals/ghc-proposals/pull/158
2021-07-22 12:09:16 +0200 <maerwald> https://gitlab.haskell.org/ghc/ghc/-/issues/16232
2021-07-22 12:11:46 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-22 12:13:08 +0200jippiedoe(~david@2a02-a44c-e14e-1-ffb4-d6eb-4999-9833.fixed6.kpn.net) (Quit: Leaving)
2021-07-22 12:16:34 +0200 <arkanoid> I'm probably solving the problem wrong, but is there a way to swap the arguments of a 2 arguments function (actually elem)?
2021-07-22 12:18:05 +0200Atum_(~IRC@user/atum/x-2392232)
2021-07-22 12:18:09 +0200 <raehik> jchia[m]: yeah it's going in my standard list from now. I played with it before and hesitated, but I keep having to re-state constraints for helper functions etc, and now this heh
2021-07-22 12:18:11 +0200Hanicef(~hanicef@78-71-43-30-no260.tbcn.telia.com)
2021-07-22 12:18:27 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-22 12:19:25 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-22 12:20:54 +0200 <arkanoid> oh, just found that "`elem` x" makes a partial on the second argument
2021-07-22 12:21:01 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
2021-07-22 12:21:20 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-22 12:21:49 +0200Vajb(~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01)
2021-07-22 12:23:12 +0200qrpnxz(~qrpnxz@user/qrpnxz)
2021-07-22 12:23:39 +0200favonia(~favonia@user/favonia)
2021-07-22 12:24:13 +0200hiruji(~hiruji@user/hiruji)
2021-07-22 12:26:00 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds)
2021-07-22 12:29:20 +0200yo_(~0xfe0@2405:201:5502:d69:ad6c:9daa:d1e4:a3ce)
2021-07-22 12:29:29 +0200hpc(~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 250 seconds)
2021-07-22 12:31:21 +0200MQ-17J(~MQ-17J@8.21.10.15)
2021-07-22 12:32:12 +0200yo(~0xfe0@2405:201:5502:d69:c32:8cab:cb7:332d) (Ping timeout: 245 seconds)
2021-07-22 12:36:05 +0200Hanicef(~hanicef@78-71-43-30-no260.tbcn.telia.com) (Quit: leaving)
2021-07-22 12:36:57 +0200Vajb(~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01) (Read error: Connection reset by peer)
2021-07-22 12:37:06 +0200Hanicef(~hanicef@78-71-43-30-no260.tbcn.telia.com)
2021-07-22 12:38:01 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-22 12:39:44 +0200 <ph88^> how can i fix these linker errors ? https://bpa.st/FNPQ
2021-07-22 12:40:58 +0200 <ph88^> btw on first line at the end "4 files" etc, that can be ignored
2021-07-22 12:42:07 +0200smichel17(~smichel17@c-73-68-217-18.hsd1.ma.comcast.net)
2021-07-22 12:43:34 +0200 <ph88^> "it was easy, and I was surprised" https://github.com/commercialhaskell/stack/issues/3420#issuecomment-481980763
2021-07-22 12:44:18 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-22 12:44:42 +0200favonia(~favonia@user/favonia)
2021-07-22 12:46:15 +0200hpc(~juzz@ip98-169-35-13.dc.dc.cox.net)
2021-07-22 12:46:54 +0200bitmapper(uid464869@id-464869.tooting.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-22 12:50:24 +0200Hanicef(~hanicef@78-71-43-30-no260.tbcn.telia.com) (Quit: leaving)
2021-07-22 12:56:49 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 258 seconds)
2021-07-22 12:58:21 +0200azeem(~azeem@176.201.2.247) (Ping timeout: 258 seconds)
2021-07-22 12:58:36 +0200azeem(~azeem@176.201.2.247)
2021-07-22 12:59:04 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-22 12:59:15 +0200PinealGlandOptic(~PinealGla@37.115.210.35) (Quit: leaving)
2021-07-22 13:00:19 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-22 13:02:49 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2021-07-22 13:03:19 +0200notzmv(~zmv@user/notzmv)
2021-07-22 13:04:53 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 252 seconds)
2021-07-22 13:07:33 +0200AlexNoo_(~AlexNoo@178.34.162.117)
2021-07-22 13:07:45 +0200ukari(~ukari@user/ukari) (Remote host closed the connection)
2021-07-22 13:07:56 +0200favonia(~favonia@user/favonia) (Ping timeout: 272 seconds)
2021-07-22 13:08:15 +0200favonia(~favonia@user/favonia)
2021-07-22 13:08:40 +0200ukari(~ukari@user/ukari)
2021-07-22 13:09:30 +0200Alex_test(~al_test@178.34.161.231) (Ping timeout: 265 seconds)
2021-07-22 13:10:14 +0200AlexZenon(~alzenon@178.34.161.231) (Ping timeout: 258 seconds)
2021-07-22 13:11:00 +0200AlexNoo(~AlexNoo@178.34.161.231) (Ping timeout: 258 seconds)
2021-07-22 13:11:18 +0200mr-red(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-22 13:12:35 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 252 seconds)
2021-07-22 13:13:15 +0200Alex_test(~al_test@178.34.162.117)
2021-07-22 13:14:00 +0200AlexZenon(~alzenon@178.34.162.117)
2021-07-22 13:14:31 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-07-22 13:15:54 +0200mr-red(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 240 seconds)
2021-07-22 13:16:11 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it) (Client Quit)
2021-07-22 13:21:54 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-22 13:21:57 +0200azeem(~azeem@176.201.2.247) (Ping timeout: 276 seconds)
2021-07-22 13:22:52 +0200azeem(~azeem@176.201.2.247)
2021-07-22 13:24:25 +0200favonia(~favonia@user/favonia)
2021-07-22 13:26:35 +0200dunj3(~dunj3@2001:16b8:3001:6100:b447:1fd4:5e4:c9b1) (Ping timeout: 255 seconds)
2021-07-22 13:33:13 +0200awth13(~user@user/awth13) (Read error: Connection reset by peer)
2021-07-22 13:33:27 +0200awth13(~user@user/awth13)
2021-07-22 13:34:23 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
2021-07-22 13:36:54 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-07-22 13:38:02 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-22 13:38:44 +0200azeem(~azeem@176.201.2.247) (Ping timeout: 255 seconds)
2021-07-22 13:42:32 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2021-07-22 13:43:07 +0200azeem(~azeem@176.201.2.247)
2021-07-22 13:48:11 +0200 <arkanoid> now sure when I should use let and when I should use where
2021-07-22 13:51:45 +0200johnw(~johnw@2600:1700:cf00:db0:b972:d95b:bd23:4be)
2021-07-22 13:52:01 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2021-07-22 13:54:06 +0200azeem(~azeem@176.201.2.247) (Ping timeout: 252 seconds)
2021-07-22 13:55:03 +0200azeem(~azeem@176.201.2.247)
2021-07-22 13:59:32 +0200azeem(~azeem@176.201.2.247) (Ping timeout: 256 seconds)
2021-07-22 13:59:47 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-22 14:01:13 +0200mei(~mei@user/mei)
2021-07-22 14:01:29 +0200fef(~thedawn@user/thedawn) (Ping timeout: 244 seconds)
2021-07-22 14:03:32 +0200azeem(~azeem@176.201.2.247)
2021-07-22 14:05:18 +0200sndr(~sander@user/sander) (Quit: So long! :))
2021-07-22 14:06:35 +0200sander(~sander@user/sander)
2021-07-22 14:07:36 +0200argento(~argent0@168-227-96-53.ptr.westnet.com.ar)
2021-07-22 14:14:21 +0200fef(~thedawn@user/thedawn)
2021-07-22 14:20:19 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-07-22 14:21:53 +0200artagnon(sid7560@id-7560.tooting.irccloud.com) ()
2021-07-22 14:29:08 +0200jippiedoe(~david@2a02-a44c-e14e-1-9a5a-f445-7fbc-9e55.fixed6.kpn.net)
2021-07-22 14:33:49 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
2021-07-22 14:34:42 +0200azeem(~azeem@176.201.2.247) (Ping timeout: 245 seconds)
2021-07-22 14:39:29 +0200azeem(~azeem@176.201.2.247)
2021-07-22 14:44:00 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-07-22 14:45:22 +0200fluffyballoon(~fluffybal@pat-verona-l.epic.com) (Quit: Client closed)
2021-07-22 14:45:41 +0200fluffyballoon(~fluffybal@pat-verona-l.epic.com)
2021-07-22 14:46:04 +0200azeem(~azeem@176.201.2.247) (Ping timeout: 258 seconds)
2021-07-22 14:47:32 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-22 14:49:08 +0200azeem(~azeem@176.201.2.247)
2021-07-22 14:51:39 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Client Quit)
2021-07-22 14:52:23 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-22 14:53:19 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com)
2021-07-22 14:53:55 +0200jneira(~jneira@212.8.115.226) (Quit: Client closed)
2021-07-22 14:55:00 +0200Brianmancer(~Neuromanc@user/briandamag) (Read error: Connection reset by peer)
2021-07-22 14:55:47 +0200AlexNoo_AlexNoo
2021-07-22 14:56:19 +0200dolio(~dolio@130.44.130.54) (Quit: ZNC 1.8.2 - https://znc.in)
2021-07-22 14:56:25 +0200shanemikel(~shanemike@desk.roadwar.net) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
2021-07-22 14:56:25 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 258 seconds)
2021-07-22 14:56:26 +0200urdh(~urdh@user/urdh) (Quit: Boom!)
2021-07-22 14:56:44 +0200shanemikel(~shanemike@desk.roadwar.net)
2021-07-22 14:57:06 +0200bsima1(~bsima@simatime.com)
2021-07-22 14:57:34 +0200anderson(~ande@134.209.221.71) (Remote host closed the connection)
2021-07-22 14:57:34 +0200glider(~glider@user/glider) (Quit: ZNC 1.9.x-git-111-f2cdc3db - https://znc.in)
2021-07-22 14:57:55 +0200anderson(~ande@134.209.221.71)
2021-07-22 14:58:39 +0200dolio(~dolio@130.44.130.54)
2021-07-22 14:58:44 +0200blades(~blades@204.48.29.163) (Ping timeout: 265 seconds)
2021-07-22 14:59:13 +0200bsima(~bsima@simatime.com) (Ping timeout: 265 seconds)
2021-07-22 14:59:15 +0200urdh(~urdh@user/urdh)
2021-07-22 14:59:34 +0200blades(~blades@204.48.29.163)
2021-07-22 14:59:57 +0200glider(~glider@user/glider)
2021-07-22 15:01:09 +0200alx741(~alx741@186.178.108.210)
2021-07-22 15:04:53 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-22 15:06:33 +0200 <delYsid> > flip elem [1,2,3] 2
2021-07-22 15:06:35 +0200 <lambdabot> True
2021-07-22 15:06:43 +0200 <delYsid> arkanoid: ^
2021-07-22 15:06:51 +0200 <delYsid> :t flip
2021-07-22 15:06:52 +0200 <lambdabot> (a -> b -> c) -> b -> a -> c
2021-07-22 15:07:01 +0200 <arkanoid> thanks!
2021-07-22 15:07:35 +0200Bayes(~Bayes@ics177-97.icsincorporated.com)
2021-07-22 15:07:54 +0200 <delYsid> and
2021-07-22 15:08:01 +0200Bayes(~Bayes@ics177-97.icsincorporated.com) (Changing host)
2021-07-22 15:08:01 +0200Bayes(~Bayes@user/bayes)
2021-07-22 15:08:05 +0200 <delYsid> > (`elem` [1,2,3]) 2
2021-07-22 15:08:07 +0200 <lambdabot> True
2021-07-22 15:08:17 +0200 <delYsid> which you already discovered
2021-07-22 15:09:06 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2021-07-22 15:12:11 +0200juhp(~juhp@128.106.188.220) (Quit: juhp)
2021-07-22 15:12:24 +0200juhp(~juhp@128.106.188.220)
2021-07-22 15:14:29 +0200jay_invariant(~jay@c-24-4-6-169.hsd1.ca.comcast.net)
2021-07-22 15:15:06 +0200slycelote_(~slycelote@user/slycelote)
2021-07-22 15:16:00 +0200bbhoss_(sid18216@id-18216.tinside.irccloud.com)
2021-07-22 15:16:01 +0200qontinuum_(qontinuum@user/qontinuum)
2021-07-22 15:16:03 +0200derelict(~derelict@user/derelict)
2021-07-22 15:16:07 +0200davl_(~davl@207.154.228.18)
2021-07-22 15:16:09 +0200maerwald_(~maerwald@mail.hasufell.de)
2021-07-22 15:16:15 +0200hsiktas_(sid224847@id-224847.tooting.irccloud.com)
2021-07-22 15:16:25 +0200ubert1(~Thunderbi@178.165.186.232.wireless.dyn.drei.com)
2021-07-22 15:16:34 +0200dminuoso_(~dminuoso@static.88-198-218-68.clients.your-server.de)
2021-07-22 15:16:37 +0200tbg(~trueboxgu@user/trueboxguy)
2021-07-22 15:16:39 +0200hexology-(~hexology@user/hexology)
2021-07-22 15:16:41 +0200dragesti-(~znc@user/dragestil)
2021-07-22 15:16:42 +0200viluon_(uid453725@id-453725.brockwell.irccloud.com)
2021-07-22 15:17:03 +0200koz-(~koz@121.99.240.58)
2021-07-22 15:17:35 +0200Flonk2(~Flonk@ec2-52-40-29-25.us-west-2.compute.amazonaws.com)
2021-07-22 15:17:43 +0200dy`(~dy@user/dy)
2021-07-22 15:17:56 +0200wolfshappen_(~waff@irc.furworks.de)
2021-07-22 15:18:09 +0200haasn`(~nand@haasn.dev)
2021-07-22 15:18:09 +0200NieDzejkob_(~quassel@195.149.98.3)
2021-07-22 15:18:14 +0200connrs_(~connrs@user/connrs)
2021-07-22 15:18:19 +0200sshine_(~simon@hubris.eta.solutions)
2021-07-22 15:18:22 +0200tlaxkit(~hexchat@170.253.46.216)
2021-07-22 15:18:28 +0200wz1000_(~zubin@static.11.113.47.78.clients.your-server.de)
2021-07-22 15:18:30 +0200bastelfreak1(~bastelfre@basteles-bastelknecht.bastelfreak.org)
2021-07-22 15:18:32 +0200ethan1(~ethan@2604:a880:800:10::79f:8001)
2021-07-22 15:18:33 +0200m811(~user@93-181-35-213.dyn.estpak.ee)
2021-07-22 15:18:35 +0200tlax_(tlax@kapsi.fi)
2021-07-22 15:18:36 +0200dkeohane1(~dkeohane@ec2-18-189-29-140.us-east-2.compute.amazonaws.com)
2021-07-22 15:18:37 +0200Patternm1ster(~georg@li1192-118.members.linode.com)
2021-07-22 15:18:40 +0200dragesti-dragestil`
2021-07-22 15:18:44 +0200hexology(~hexology@user/hexology) (Ping timeout: 255 seconds)
2021-07-22 15:18:44 +0200hsiktas(uid224847@id-224847.tooting.irccloud.com) (Ping timeout: 255 seconds)
2021-07-22 15:18:44 +0200trueboxguy(~trueboxgu@user/trueboxguy) (Ping timeout: 255 seconds)
2021-07-22 15:18:45 +0200monochrom(trebla@216.138.220.146) (Ping timeout: 255 seconds)
2021-07-22 15:18:45 +0200swistak(~swistak@185.21.216.141) (Ping timeout: 255 seconds)
2021-07-22 15:18:45 +0200qontinuum(qontinuum@user/qontinuum) (Ping timeout: 255 seconds)
2021-07-22 15:18:45 +0200ubert(~Thunderbi@178.165.186.232.wireless.dyn.drei.com) (Ping timeout: 255 seconds)
2021-07-22 15:18:45 +0200dkeohane(~dkeohane@ec2-18-189-29-140.us-east-2.compute.amazonaws.com) (Ping timeout: 255 seconds)
2021-07-22 15:18:45 +0200Unhammer(~Unhammer@user/unhammer) (Ping timeout: 255 seconds)
2021-07-22 15:18:46 +0200hexfive(~eric@50.35.83.177) (Ping timeout: 255 seconds)
2021-07-22 15:18:46 +0200connrs(~connrs@user/connrs) (Ping timeout: 255 seconds)
2021-07-22 15:18:46 +0200tomboy64(~tomboy64@user/tomboy64) (Ping timeout: 255 seconds)
2021-07-22 15:18:46 +0200moll(~user@93-181-35-213.dyn.estpak.ee) (Ping timeout: 255 seconds)
2021-07-22 15:18:46 +0200_xor(~xor@74.215.232.67) (Ping timeout: 255 seconds)
2021-07-22 15:18:46 +0200Hafydd(~Hafydd@user/hafydd) (Ping timeout: 255 seconds)
2021-07-22 15:18:46 +0200amk(~amk@176.61.106.150) (Ping timeout: 255 seconds)
2021-07-22 15:18:46 +0200zyklotomic(~ethan@2604:a880:800:10::79f:8001) (Ping timeout: 255 seconds)
2021-07-22 15:18:46 +0200Patternmaster(~georg@li1192-118.members.linode.com) (Ping timeout: 255 seconds)
2021-07-22 15:18:46 +0200noctux(~noctux@user/noctux) (Ping timeout: 255 seconds)
2021-07-22 15:18:46 +0200amanr(~therojjha@20.204.87.0) (Ping timeout: 255 seconds)
2021-07-22 15:18:46 +0200koolazer(~koo@user/koolazer) (Ping timeout: 255 seconds)
2021-07-22 15:18:46 +0200synthmeat(~synthmeat@user/synthmeat) (Ping timeout: 255 seconds)
2021-07-22 15:18:46 +0200cocreature(~moritz@2a03:b0c0:3:d0::c8:f001) (Ping timeout: 255 seconds)
2021-07-22 15:18:46 +0200dminuoso(~dminuoso@user/dminuoso) (Ping timeout: 255 seconds)
2021-07-22 15:18:46 +0200phaazon(~phaazon@2001:41d0:a:fe76::1) (Ping timeout: 255 seconds)
2021-07-22 15:18:46 +0200javran(~javran@c-98-207-169-40.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2021-07-22 15:18:46 +0200sander(~sander@user/sander) (Ping timeout: 255 seconds)
2021-07-22 15:18:47 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-22 15:18:47 +0200viluon(uid453725@id-453725.brockwell.irccloud.com) (Ping timeout: 255 seconds)
2021-07-22 15:18:47 +0200ozzymcduff(~mathieu@81-234-151-21-no94.tbcn.telia.com) (Ping timeout: 255 seconds)
2021-07-22 15:18:47 +0200Flonk(~Flonk@ec2-52-40-29-25.us-west-2.compute.amazonaws.com) (Ping timeout: 255 seconds)
2021-07-22 15:18:47 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Ping timeout: 255 seconds)
2021-07-22 15:18:47 +0200haasn(~nand@haasn.dev) (Ping timeout: 255 seconds)
2021-07-22 15:18:47 +0200davl(~davl@207.154.228.18) (Ping timeout: 255 seconds)
2021-07-22 15:18:47 +0200jolly(~jolly@63-97-42-210-ama.pathwayz.com) (Ping timeout: 255 seconds)
2021-07-22 15:18:47 +0200slycelote(~slycelote@user/slycelote) (Ping timeout: 255 seconds)
2021-07-22 15:18:47 +0200vysn(~vysn@user/vysn) (Ping timeout: 255 seconds)
2021-07-22 15:18:48 +0200tlax(tlax@kapsi.fi) (Ping timeout: 255 seconds)
2021-07-22 15:18:48 +0200bbhoss(sid18216@id-18216.tinside.irccloud.com) (Ping timeout: 255 seconds)
2021-07-22 15:18:48 +0200acid(~acid@user/acid) (Ping timeout: 255 seconds)
2021-07-22 15:18:48 +0200NieDzejkob(~quassel@195.149.98.3) (Ping timeout: 255 seconds)
2021-07-22 15:18:48 +0200dmwit(~dmwit@pool-108-18-198-142.washdc.fios.verizon.net) (Ping timeout: 255 seconds)
2021-07-22 15:18:48 +0200maerwald(~maerwald@user/maerwald) (Ping timeout: 255 seconds)
2021-07-22 15:18:48 +0200jay-invariant(~jay@c-24-4-6-169.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2021-07-22 15:18:48 +0200lechner(~lechner@debian/lechner) (Ping timeout: 255 seconds)
2021-07-22 15:18:48 +0200bastelfreak(~bastelfre@basteles-bastelknecht.bastelfreak.org) (Ping timeout: 255 seconds)
2021-07-22 15:18:49 +0200vjoki(~vjoki@2a00:d880:3:1::fea1:9ae) (Ping timeout: 255 seconds)
2021-07-22 15:18:49 +0200wz1000(~zubin@static.11.113.47.78.clients.your-server.de) (Ping timeout: 255 seconds)
2021-07-22 15:18:49 +0200troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 255 seconds)
2021-07-22 15:18:49 +0200sshine(~simon@hubris.eta.solutions) (Ping timeout: 255 seconds)
2021-07-22 15:18:49 +0200wolfshappen(~waff@irc.furworks.de) (Ping timeout: 255 seconds)
2021-07-22 15:18:49 +0200lep(~lep@94.31.86.183) (Ping timeout: 255 seconds)
2021-07-22 15:18:49 +0200koz(~koz@121.99.240.58) (Ping timeout: 255 seconds)
2021-07-22 15:18:49 +0200Jonno_FTW(~come@user/jonno-ftw/x-0835346) (Ping timeout: 255 seconds)
2021-07-22 15:18:49 +0200dragestil(~znc@user/dragestil) (Ping timeout: 255 seconds)
2021-07-22 15:18:49 +0200dy(~dy@user/dy) (Ping timeout: 255 seconds)
2021-07-22 15:18:49 +0200beaky(~beaky@2a03:b0c0:0:1010::1e:a001) (Ping timeout: 255 seconds)
2021-07-22 15:18:49 +0200juhp(~juhp@128.106.188.220) (Ping timeout: 255 seconds)
2021-07-22 15:18:49 +0200Cale(~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (Ping timeout: 255 seconds)
2021-07-22 15:18:50 +0200monochrom(trebla@216.138.220.146)
2021-07-22 15:18:50 +0200javran(~javran@c-98-207-169-40.hsd1.ca.comcast.net)
2021-07-22 15:18:50 +0200amanr(~therojjha@20.204.87.0)
2021-07-22 15:18:50 +0200phaazon(~phaazon@2001:41d0:a:fe76::1)
2021-07-22 15:18:50 +0200lep(~lep@94.31.86.183)
2021-07-22 15:18:50 +0200_xor(~xor@74.215.232.67)
2021-07-22 15:18:50 +0200hsiktas_hsiktas
2021-07-22 15:18:50 +0200bbhoss_bbhoss
2021-07-22 15:18:50 +0200viluon_viluon
2021-07-22 15:18:50 +0200ubert1ubert
2021-07-22 15:18:50 +0200Flonk2Flonk
2021-07-22 15:18:50 +0200dragestil`dragestil
2021-07-22 15:18:50 +0200lechner(~lechner@letbox-vps.us-core.com)
2021-07-22 15:18:52 +0200lechner(~lechner@letbox-vps.us-core.com) (Changing host)
2021-07-22 15:18:52 +0200lechner(~lechner@debian/lechner)
2021-07-22 15:18:55 +0200connrs_connrs
2021-07-22 15:18:57 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-07-22 15:18:59 +0200Jonno_FTW(~come@api.carswap.me)
2021-07-22 15:19:00 +0200dmwit(~dmwit@pool-108-18-198-142.washdc.fios.verizon.net)
2021-07-22 15:19:00 +0200haasn`haasn
2021-07-22 15:19:02 +0200troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2021-07-22 15:19:09 +0200vysn(~vysn@user/vysn)
2021-07-22 15:19:32 +0200amk(~amk@176.61.106.150)
2021-07-22 15:19:33 +0200noctux(~noctux@user/noctux)
2021-07-22 15:19:33 +0200beaky(~beaky@2a03:b0c0:0:1010::1e:a001)
2021-07-22 15:19:34 +0200acid(~acid@user/acid)
2021-07-22 15:19:36 +0200Cale(~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com)
2021-07-22 15:19:37 +0200sander(~sander@user/sander)
2021-07-22 15:19:45 +0200hexfive(~eric@50.35.83.177)
2021-07-22 15:19:54 +0200vjoki(~vjoki@2a00:d880:3:1::fea1:9ae)
2021-07-22 15:19:55 +0200cocreature(~moritz@2a03:b0c0:3:d0::c8:f001)
2021-07-22 15:20:02 +0200jolly(~jolly@63-97-42-210-ama.pathwayz.com)
2021-07-22 15:20:05 +0200Hafydd(~Hafydd@user/hafydd)
2021-07-22 15:20:07 +0200Unhammer(~Unhammer@user/unhammer)
2021-07-22 15:20:09 +0200synthmeat(~synthmeat@user/synthmeat)
2021-07-22 15:20:14 +0200koolazer(~koo@user/koolazer)
2021-07-22 15:20:28 +0200favonia(~favonia@user/favonia)
2021-07-22 15:20:45 +0200swistak(~swistak@185.21.216.141)
2021-07-22 15:20:57 +0200tomboy64(~tomboy64@user/tomboy64)
2021-07-22 15:21:19 +0200mikoto-chan(~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be)
2021-07-22 15:21:22 +0200maerwald_maerwald
2021-07-22 15:21:38 +0200maerwald(~maerwald@mail.hasufell.de) (Changing host)
2021-07-22 15:21:38 +0200maerwald(~maerwald@user/maerwald)
2021-07-22 15:23:32 +0200ozzymcduff(~mathieu@81-234-151-21-no94.tbcn.telia.com)
2021-07-22 15:24:58 +0200Guest9(~Guest9@103.240.169.34)
2021-07-22 15:27:27 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-22 15:27:51 +0200favonia(~favonia@user/favonia)
2021-07-22 15:30:54 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-22 15:31:09 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-07-22 15:32:34 +0200azeem(~azeem@176.201.2.247) (Ping timeout: 265 seconds)
2021-07-22 15:35:29 +0200azeem(~azeem@176.201.2.247)
2021-07-22 15:36:59 +0200jmorris(uid433911@id-433911.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-22 15:37:38 +0200delYsid(~user@84-115-55-45.cable.dynamic.surfer.at) (ERC (IRC client for Emacs 27.1.50))
2021-07-22 15:38:11 +0200 <arkanoid> how to split a list every X elements? for example "foobarbaz" 3 would be ["foo", "bar", "baz"]
2021-07-22 15:39:52 +0200 <dminuoso_> Roll your own
2021-07-22 15:39:58 +0200 <Clint> arkanoid: https://hackage.haskell.org/package/split-0.2.3.4/docs/Data-List-Split.html
2021-07-22 15:40:00 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-07-22 15:40:35 +0200 <arkanoid> chunksOf!
2021-07-22 15:49:22 +0200azeem(~azeem@176.201.2.247) (Ping timeout: 240 seconds)
2021-07-22 15:51:22 +0200son0p(~ff@181.136.122.143)
2021-07-22 15:53:13 +0200azeem(~azeem@176.201.2.247)
2021-07-22 15:54:20 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-22 15:57:40 +0200dminuoso_dminuoso
2021-07-22 16:02:35 +0200bastelfreak1bastelfreak
2021-07-22 16:03:40 +0200Guest9(~Guest9@103.240.169.34) (Quit: Connection closed)
2021-07-22 16:04:07 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-22 16:04:34 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-07-22 16:06:05 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Quit: ZNC 1.8.2 - https://znc.in)
2021-07-22 16:07:10 +0200alx741_(~alx741@186.178.108.210)
2021-07-22 16:07:15 +0200dminuoso(~dminuoso@static.88-198-218-68.clients.your-server.de) (Changing host)
2021-07-22 16:07:15 +0200dminuoso(~dminuoso@user/dminuoso)
2021-07-22 16:07:32 +0200alx741(~alx741@186.178.108.210) (Read error: Connection reset by peer)
2021-07-22 16:07:45 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-07-22 16:08:38 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-07-22 16:11:05 +0200terrorjack(~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com) (Remote host closed the connection)
2021-07-22 16:12:01 +0200terrorjack(~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com)
2021-07-22 16:15:07 +0200 <adamCS> Boarders: sorry! Had to go. I don't know if there's cost to that vs. local. Performance of the various effect systems is extremely tricky and difficult to test in isolation. Though I think you can profile your own case if you think it's an issue. I'
2021-07-22 16:15:41 +0200 <adamCS> Boarders: I'm inclined to think it's unlikely to matter in most cases but I don't know how you are using it.
2021-07-22 16:15:42 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com)
2021-07-22 16:20:11 +0200 <adamCS> Boarders: As to your other question, you could catch everything and then rethrow a custom exception type which holds a copy of the environment. But catching everything is not usually what you want. Do you know what exception is being thrown that leads you to want to know about the local environment at that point?
2021-07-22 16:20:38 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 256 seconds)
2021-07-22 16:21:00 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-22 16:21:25 +0200favonia(~favonia@user/favonia)
2021-07-22 16:21:26 +0200terrorjack(~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com) (Remote host closed the connection)
2021-07-22 16:21:47 +0200azeem(~azeem@176.201.2.247) (Ping timeout: 252 seconds)
2021-07-22 16:22:07 +0200ub(~Thunderbi@178.165.186.232.wireless.dyn.drei.com)
2021-07-22 16:22:23 +0200terrorjack(~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com)
2021-07-22 16:22:51 +0200azeem(~azeem@176.201.2.247)
2021-07-22 16:23:22 +0200shriekingnoise(~shrieking@186.137.144.80)
2021-07-22 16:25:25 +0200unyu(~pyon@user/pyon) (Read error: Connection reset by peer)
2021-07-22 16:28:26 +0200 <Boarders> adamCS: it is for a compiler architecture, you want to throw a compiler error but also for the purpose of error reporting to also get the local environment when that error was thrown
2021-07-22 16:28:33 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-22 16:28:33 +0200 <Boarders> (e.g. so you can see variables in scope and other stuff)
2021-07-22 16:29:30 +0200 <Boarders> and I don't mean IO errors really here, just the Exception monad
2021-07-22 16:30:30 +0200 <adamCS> Boarders: Right. So then you could maybe do "ExceptT Reader"?
2021-07-22 16:30:53 +0200 <adamCS> Oh. Maybe not.
2021-07-22 16:31:45 +0200terrorjack(~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com) (Remote host closed the connection)
2021-07-22 16:32:18 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-07-22 16:32:33 +0200 <Boarders> no, reader will not allow you to surface the env
2021-07-22 16:32:43 +0200terrorjack(~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com)
2021-07-22 16:32:50 +0200 <Boarders> my point was that you need state for that
2021-07-22 16:32:53 +0200 <Boarders> but it seems overkill
2021-07-22 16:32:55 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it) (Quit: ZNC 1.8.2 - https://znc.in)
2021-07-22 16:33:02 +0200acidjnk_new(~acidjnk@p200300d0c72b958851fb9d80c066df0b.dip0.t-ipconnect.de)
2021-07-22 16:33:18 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
2021-07-22 16:33:35 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-22 16:35:39 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-07-22 16:35:57 +0200acidjnk(~acidjnk@p200300d0c72b9516f180e3afe24121d7.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2021-07-22 16:37:02 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Client Quit)
2021-07-22 16:37:12 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-07-22 16:37:41 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-22 16:38:04 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Client Quit)
2021-07-22 16:38:27 +0200 <adamCS> Boarders: Why doesn't it work to have a custom exception type which holds a copy of the env? Then you catch what you need to, get the env at that point, and rethrow your type with the copy of the env.
2021-07-22 16:38:49 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-07-22 16:39:28 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-07-22 16:39:31 +0200ub(~Thunderbi@178.165.186.232.wireless.dyn.drei.com) (Ping timeout: 250 seconds)
2021-07-22 16:39:32 +0200Sgeo(~Sgeo@user/sgeo)
2021-07-22 16:40:17 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-22 16:41:15 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.2)
2021-07-22 16:41:40 +0200 <Boarders> that is one option
2021-07-22 16:42:14 +0200terrorjack(~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com) (Remote host closed the connection)
2021-07-22 16:43:06 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it) (Client Quit)
2021-07-22 16:43:06 +0200crazazy(~user@2001:1c00:831:4700:3b4a:a6aa:91da:4816)
2021-07-22 16:43:09 +0200terrorjack(~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com)
2021-07-22 16:43:29 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-07-22 16:43:48 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-07-22 16:46:17 +0200unyu(~pyon@user/pyon)
2021-07-22 16:47:44 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it) (Read error: Connection reset by peer)
2021-07-22 16:48:02 +0200acidjnk_new(~acidjnk@p200300d0c72b958851fb9d80c066df0b.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2021-07-22 16:48:31 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-07-22 16:50:14 +0200tlaxkit(~hexchat@170.253.46.216) (Quit: Leaving)
2021-07-22 16:51:39 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 250 seconds)
2021-07-22 16:52:21 +0200terrorjack(~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com) (Remote host closed the connection)
2021-07-22 16:53:18 +0200terrorjack(~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com)
2021-07-22 16:54:40 +0200favonia(~favonia@user/favonia) (Ping timeout: 272 seconds)
2021-07-22 16:55:26 +0200favonia(~favonia@user/favonia)
2021-07-22 16:56:19 +0200Null_A(~null_a@2601:645:8700:2290:cc41:848b:cba0:322d)
2021-07-22 16:58:15 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it) (Quit: ZNC 1.8.2 - https://znc.in)
2021-07-22 17:00:11 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-22 17:00:23 +0200Nux(~Nux@165.89.93.209.dyn.plus.net)
2021-07-22 17:01:14 +0200NuxNuxular
2021-07-22 17:02:32 +0200jolly(~jolly@63-97-42-210-ama.pathwayz.com) (Quit: Connection closed)
2021-07-22 17:02:39 +0200terrorjack(~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com) (Remote host closed the connection)
2021-07-22 17:03:17 +0200 <Nuxular> I'm looking for a second opinion on this: https://github.com/reanimate/reanimate/discussions/210
2021-07-22 17:03:23 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-22 17:03:35 +0200terrorjack(~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com)
2021-07-22 17:05:16 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-07-22 17:09:04 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
2021-07-22 17:12:42 +0200terrorjack(~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com) (Remote host closed the connection)
2021-07-22 17:13:38 +0200terrorjack(~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com)
2021-07-22 17:15:29 +0200MoC(~moc@user/moc)
2021-07-22 17:16:13 +0200 <maerwald> Nuxular: it's total nonsense (the unsafePerformIO)
2021-07-22 17:16:21 +0200jolly(~jolly@208.180.97.158)
2021-07-22 17:16:35 +0200 <maerwald> there are several file operations involved, which can fail depending on platform, filesystem state etc
2021-07-22 17:17:14 +0200hendursa1(~weechat@user/hendursaga) (Quit: hendursa1)
2021-07-22 17:17:39 +0200hendursaga(~weechat@user/hendursaga)
2021-07-22 17:20:04 +0200 <maerwald> I replied
2021-07-22 17:20:11 +0200mikoto-chan(~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be) (Quit: mikoto-chan)
2021-07-22 17:21:03 +0200 <Nuxular> yeah thanks
2021-07-22 17:22:37 +0200favonia(~favonia@user/favonia) (Ping timeout: 245 seconds)
2021-07-22 17:23:47 +0200favonia(~favonia@user/favonia)
2021-07-22 17:25:08 +0200dolio(~dolio@130.44.130.54) (Quit: ZNC 1.8.2 - https://znc.in)
2021-07-22 17:25:25 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-22 17:25:35 +0200dunj3(~dunj3@2001:16b8:3001:6100:b447:1fd4:5e4:c9b1)
2021-07-22 17:28:04 +0200dolio(~dolio@130.44.130.54)
2021-07-22 17:30:20 +0200cuz(~user@38.140.58.234)
2021-07-22 17:31:14 +0200dolio(~dolio@130.44.130.54) (Read error: Connection reset by peer)
2021-07-22 17:31:29 +0200dolio(~dolio@130.44.130.54)
2021-07-22 17:31:33 +0200ethan1(~ethan@2604:a880:800:10::79f:8001) (WeeChat 2.8)
2021-07-22 17:33:54 +0200Deide(~Deide@217.155.19.23)
2021-07-22 17:33:54 +0200Deide(~Deide@217.155.19.23) (Changing host)
2021-07-22 17:33:54 +0200Deide(~Deide@user/deide)
2021-07-22 17:35:48 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-22 17:36:20 +0200lavaman(~lavaman@98.38.249.169)
2021-07-22 17:36:35 +0200jolly(~jolly@208.180.97.158) (Quit: Connection closed)
2021-07-22 17:39:16 +0200agua(~agua@2804:18:49:b25b:1:0:4435:6601)
2021-07-22 17:39:34 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-22 17:40:29 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-22 17:41:06 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2021-07-22 17:41:23 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-22 17:42:10 +0200favonia(~favonia@user/favonia) (Ping timeout: 272 seconds)
2021-07-22 17:42:25 +0200 <viluon> so my HLS is looking for GHC 8.11... Anyone had this issue?
2021-07-22 17:42:29 +0200favonia(~favonia@user/favonia)
2021-07-22 17:42:38 +0200pesada(~agua@2804:18:4e:2dda:1:0:4058:6b7c) (Ping timeout: 255 seconds)
2021-07-22 17:43:01 +0200 <viluon> https://www.irccloud.com/pastebin/tPLlznpu/stack-output
2021-07-22 17:43:34 +0200 <viluon> ^ output of `stack exec ghc -- --numeric-version`, HLS invokes that but with `--silent`
2021-07-22 17:43:51 +0200 <viluon> (this is in VS code, if that makes a difference)
2021-07-22 17:44:01 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-07-22 17:44:39 +0200 <c_wraith> X.odd versions of GHC are development versions. somehow you've told stack that you want to use a development version of GHC.
2021-07-22 17:45:15 +0200 <c_wraith> That's also a really old development version
2021-07-22 17:45:25 +0200 <c_wraith> That branch was later renamed 9.0 for release
2021-07-22 17:46:27 +0200bsima1bsima
2021-07-22 17:46:34 +0200 <viluon> c_wraith: thanks! The project I'm trying to work with is here https://github.com/grin-compiler/ghc-whole-program-compiler-project/tree/master/external-stg-inter…
2021-07-22 17:47:42 +0200 <viluon> judging by the resolver, shouldn't it be asking for 8.8.4 instead? I don't see what could change the desired GHC version like this
2021-07-22 17:47:55 +0200mr-red(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-22 17:48:20 +0200 <viluon> it seems that the issue is with my local config though, the project builds in my terminal but not in the VS Code terminal
2021-07-22 17:48:28 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2021-07-22 17:49:14 +0200 <c_wraith> Hmm. Maybe VS Code isn't running it from the right current directory somehow?
2021-07-22 17:49:16 +0200 <viluon> oh, I think I know what's wrong. I opened the root project's folder, and HLS is trying to work from there
2021-07-22 17:49:24 +0200mr-red(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Read error: Connection reset by peer)
2021-07-22 17:49:26 +0200 <viluon> yep, current dir issue as you suspected
2021-07-22 17:49:28 +0200 <viluon> thank you c_wraith !
2021-07-22 17:49:45 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 276 seconds)
2021-07-22 17:49:47 +0200mr-red(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-07-22 17:51:30 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-22 17:51:37 +0200jippiedoe(~david@2a02-a44c-e14e-1-9a5a-f445-7fbc-9e55.fixed6.kpn.net) (Ping timeout: 268 seconds)
2021-07-22 17:53:48 +0200favonia(~favonia@user/favonia)
2021-07-22 17:53:53 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-22 17:55:51 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-22 17:57:04 +0200chomwitt(~chomwitt@2a02:587:dc0e:ef00:12c3:7bff:fe6d:d374)
2021-07-22 17:57:33 +0200 <maerwald> Nuxular: I'd not use any library from that maintainer tbh
2021-07-22 17:57:41 +0200 <maerwald> that's a pretty awful position
2021-07-22 17:57:56 +0200 <maerwald> you can't trust any of the API if that's how they understand haskell
2021-07-22 17:58:16 +0200Bayes48(~Bayes@ics177-97.icsincorporated.com)
2021-07-22 17:58:16 +0200Bayes48(~Bayes@ics177-97.icsincorporated.com) (Client Quit)
2021-07-22 17:58:45 +0200 <maerwald> if you must though, look at `evaluate` and `force`, which allows you to force the exceptions
2021-07-22 17:59:43 +0200 <maerwald> I'm literally creeped out
2021-07-22 17:59:53 +0200 <maerwald> I hope this isn't common on hackage
2021-07-22 18:00:09 +0200terrorjack(~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com) (Remote host closed the connection)
2021-07-22 18:00:34 +0200ukari(~ukari@user/ukari) (Remote host closed the connection)
2021-07-22 18:00:45 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-22 18:01:20 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:7187:828c:38f7:dc68) (Ping timeout: 252 seconds)
2021-07-22 18:01:22 +0200terrorjack(~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com)
2021-07-22 18:01:31 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-22 18:02:11 +0200chris_(~chris@81.96.113.213)
2021-07-22 18:04:06 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.2)
2021-07-22 18:04:20 +0200ukari(~ukari@user/ukari)
2021-07-22 18:05:08 +0200lavaman(~lavaman@98.38.249.169)
2021-07-22 18:05:12 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-22 18:05:44 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-07-22 18:06:03 +0200 <dsal> I just read that bug. That's really weird.
2021-07-22 18:06:20 +0200lbseale(~lbseale@user/ep1ctetus)
2021-07-22 18:08:45 +0200 <EvanR> yep... the operation is literally doing I/O so really needs IO xD
2021-07-22 18:08:59 +0200 <maerwald> but it returns the same filepath IF there is no error
2021-07-22 18:09:16 +0200ub(~Thunderbi@178.165.186.232.wireless.dyn.drei.com)
2021-07-22 18:09:43 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
2021-07-22 18:10:01 +0200 <maerwald> whether that filepath points to anything is another story
2021-07-22 18:10:17 +0200 <EvanR> getting the filepath out can't be the main point here xD
2021-07-22 18:10:28 +0200 <maerwald> lol
2021-07-22 18:11:02 +0200 <EvanR> someone submit a pull request that updates the developer
2021-07-22 18:11:30 +0200 <maerwald> why not have: svgAsPng :: SVG -> L.ByteString
2021-07-22 18:11:31 +0200azeem(~azeem@176.201.2.247) (Read error: Connection reset by peer)
2021-07-22 18:11:35 +0200 <maerwald> and then let the user deal with files
2021-07-22 18:11:45 +0200azeem(~azeem@dynamic-adsl-84-220-213-65.clienti.tiscali.it)
2021-07-22 18:12:17 +0200 <maerwald> clearly, I want to do my own file handling code in light of these revelations
2021-07-22 18:14:11 +0200 <maerwald> this made me angry, I'll go for a walk, lol
2021-07-22 18:14:27 +0200 <Nuxular> maerwald: Ha sorry about that
2021-07-22 18:14:41 +0200 <EvanR> is the whole API like this or
2021-07-22 18:14:50 +0200 <Nuxular> I found out about this package from a 3blue1brown video: https://youtu.be/ojjzXyQCzso?t=1157
2021-07-22 18:15:14 +0200chele(~chele@user/chele) (Remote host closed the connection)
2021-07-22 18:15:18 +0200 <maerwald> I mean, the rest of the codebase doesn't look like it's written by a newbie, so that makes me double confused
2021-07-22 18:15:39 +0200 <Nuxular> I'm thinking I might use diagrams instead for what I'm trying to do
2021-07-22 18:15:51 +0200 <maerwald> and whether this is something I have to audit my libraries for
2021-07-22 18:16:59 +0200 <maerwald> I'd go so far to say that may be a reason to flag a package on hackage for removal :p
2021-07-22 18:19:12 +0200 <EvanR> hold on a sec while I set up a torches and pitchforks sales page
2021-07-22 18:19:34 +0200 <maerwald> Nuxular: I spent the entire day working out file system operation issues on windows, carefully checking exception types, testing on different conditions, carefully handling corner cases etc etc. And now this.
2021-07-22 18:19:45 +0200 <maerwald> :D
2021-07-22 18:19:48 +0200 <Nuxular> :D
2021-07-22 18:21:42 +0200xlei(znc@pool-68-129-84-118.nycmny.fios.verizon.net) (Excess Flood)
2021-07-22 18:22:15 +0200 <EvanR> it does raise some philosophical issues, like, what are the semantics of IO. I find it odd we are dwelling on how likely it is it returns the same value for a given input
2021-07-22 18:22:49 +0200 <EvanR> or, what's purity
2021-07-22 18:23:06 +0200 <glguy> maerwald: putStrLn :: String -> ()
2021-07-22 18:23:15 +0200 <glguy> I mean, it always returns (), why bother with the IO?
2021-07-22 18:24:37 +0200 <dminuoso> maerwald: Did you want to go out for a walk?
2021-07-22 18:24:40 +0200 <dminuoso> :-)
2021-07-22 18:25:24 +0200xlei(znc@pool-68-129-84-118.nycmny.fios.verizon.net)
2021-07-22 18:27:38 +0200ub(~Thunderbi@178.165.186.232.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
2021-07-22 18:27:45 +0200juhp(~juhp@128.106.188.220)
2021-07-22 18:34:36 +0200azeem(~azeem@dynamic-adsl-84-220-213-65.clienti.tiscali.it) (Ping timeout: 252 seconds)
2021-07-22 18:35:13 +0200argento(~argent0@168-227-96-53.ptr.westnet.com.ar) (Ping timeout: 250 seconds)
2021-07-22 18:35:54 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 276 seconds)
2021-07-22 18:36:15 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-07-22 18:39:40 +0200 <Nuxular> EvanR: I wasn't so concerned with philosophical implications as much as knowing what the compiler is going to decide to do if it thinks that value is pure.
2021-07-22 18:39:47 +0200azeem(~azeem@176.201.2.247)
2021-07-22 18:39:48 +0200chomwitt(~chomwitt@2a02:587:dc0e:ef00:12c3:7bff:fe6d:d374) (Ping timeout: 276 seconds)
2021-07-22 18:40:34 +0200 <Nuxular> I'm not familiar with force and evaluate so I'll look into those thanks
2021-07-22 18:40:46 +0200justsome1(~justsomeg@user/justsomeguy)
2021-07-22 18:41:09 +0200 <Nuxular> (though I still think I'm going to just use a different package)
2021-07-22 18:41:35 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 255 seconds)
2021-07-22 18:42:55 +0200koz-koz
2021-07-22 18:43:07 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-07-22 18:44:25 +0200 <EvanR> that's a shame this package seems cool
2021-07-22 18:45:08 +0200 <nshepperd> this presents an obvious performance optimisation: just return the file path without doing all that expensive I/O. the denotational semantics are the same but now it's way faster
2021-07-22 18:46:42 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-22 18:47:01 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-22 18:47:24 +0200chris_(~chris@81.96.113.213)
2021-07-22 18:49:16 +0200favonia(~favonia@user/favonia)
2021-07-22 18:50:06 +0200 <c_wraith> Also, the assertion is false
2021-07-22 18:50:17 +0200 <c_wraith> That function depends on the current directory
2021-07-22 18:50:23 +0200 <c_wraith> you can change that at runtmie
2021-07-22 18:50:31 +0200 <c_wraith> or runtime, if you like spelling accurately
2021-07-22 18:51:07 +0200 <c_wraith> Oh, I guess it's less clear than that
2021-07-22 18:52:24 +0200 <c_wraith> Ok, it depends on the XDG environment variables. those aren't likely to change at run time, but can change between runs of the program
2021-07-22 18:52:25 +0200 <shapr> run TMI, the new post mortem group?
2021-07-22 18:54:31 +0200yo_yo
2021-07-22 18:55:02 +0200 <c_wraith> can you alter the current process's environment variables at runtime?
2021-07-22 18:56:13 +0200azeem(~azeem@176.201.2.247) (Read error: Connection reset by peer)
2021-07-22 18:56:41 +0200 <yo> Hi guys, I'm new to Haskell, I tried writing recursive nth Fibonacci number function, but it seems to run too slow, even slower than slowest languages out there.
2021-07-22 18:56:53 +0200 <davean> maerwald: That is the most egregious issue I've ever seen in Haskell
2021-07-22 18:56:55 +0200 <c_wraith> hey... https://hackage.haskell.org/package/base-4.15.0.0/docs/System-Environment.html#v:setEnv
2021-07-22 18:57:08 +0200 <c_wraith> congratulations, the function doesn't even always return the same thing!
2021-07-22 18:57:10 +0200azeem(~azeem@dynamic-adsl-84-220-213-65.clienti.tiscali.it)
2021-07-22 18:57:33 +0200 <c_wraith> so the defense is just factually incorrect
2021-07-22 18:58:01 +0200Achylles(~Achylles_@2804:431:d724:510f:d7b1:4ecb:6877:1a1a)
2021-07-22 18:58:08 +0200mr-red(~drd@93-39-151-19.ip76.fastwebnet.it) (Read error: Connection reset by peer)
2021-07-22 18:58:16 +0200 <yo> https://pastebin.com/4FfCZTDA that's how I wrote it
2021-07-22 18:58:18 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 240 seconds)
2021-07-22 18:58:38 +0200 <Nuxular> EvanR: It seems cool to me too and I appreciate the effort they've put into creating it despite it's misguided notion of purity.
2021-07-22 18:58:48 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-22 18:58:57 +0200 <Nuxular> Nobody would bat an eyelid if it were written most other languages out there
2021-07-22 18:59:17 +0200 <c_wraith> yo: well, it is an exponential-time algorithm. if you're running it in ghci... well, ghci isn't known for trying to be fast.
2021-07-22 18:59:35 +0200 <c_wraith> yo: but even if you compiled it, it's *still* exponential time
2021-07-22 18:59:39 +0200econo(uid147250@user/econo)
2021-07-22 19:00:12 +0200 <yo> fib 41 is taking three seconds in Julia, and over 5 mins in ghci
2021-07-22 19:00:25 +0200 <yo> maybe I should compile it and check
2021-07-22 19:00:53 +0200mr-red(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-07-22 19:01:50 +0200 <c_wraith> I don't think any current hardware will run that algorithm in 3 seconds on 41 as the input.
2021-07-22 19:02:14 +0200 <c_wraith> hmm. Maybe that's right on the edge of possible
2021-07-22 19:03:52 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 272 seconds)
2021-07-22 19:05:11 +0200 <davean> ooh thats a very lazy definition
2021-07-22 19:05:57 +0200 <davean> Yah, you either want to be more eager, or optimize that
2021-07-22 19:06:09 +0200 <davean> I'm a little shocked that didn't blow out stack
2021-07-22 19:06:38 +0200jneira_(~jneira_@28.red-80-28-169.staticip.rima-tde.net) (Quit: Ping timeout (120 seconds))
2021-07-22 19:07:21 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-07-22 19:08:02 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-22 19:08:38 +0200 <davean> yo: That definition can't possibly run in a sane time on any computer currently existing.
2021-07-22 19:08:57 +0200Franciman(~francesco@openglass.it) (WeeChat 2.3)
2021-07-22 19:09:30 +0200yo(~0xfe0@2405:201:5502:d69:ad6c:9daa:d1e4:a3ce) (Ping timeout: 256 seconds)
2021-07-22 19:10:33 +0200mr-red(~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 265 seconds)
2021-07-22 19:10:54 +0200 <davean> yo: your julia definition must be semanticly different.
2021-07-22 19:11:14 +0200mr-red(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-22 19:11:24 +0200dajoer(~david@user/gvx) (Quit: leaving)
2021-07-22 19:12:00 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 252 seconds)
2021-07-22 19:12:06 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-07-22 19:12:28 +0200 <c_wraith> Eh, I think it's possible for a modern CPU to advance a counter F(41) times in 3 seconds.
2021-07-22 19:12:39 +0200 <c_wraith> If you remove all the function call overhead somehow
2021-07-22 19:13:08 +0200 <c_wraith> Because any other algorithm should be *way* faster than 3 seconds.
2021-07-22 19:15:54 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-22 19:15:56 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-22 19:16:10 +0200 <c_wraith> davean: why would it blow out the stack? the maximum depth is 41
2021-07-22 19:16:47 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-22 19:16:56 +0200 <davean> c_wraith: walking the adds - and infact it does for me
2021-07-22 19:17:10 +0200 <c_wraith> the adds should mirror the recursive structure
2021-07-22 19:17:17 +0200 <int-e> laziness is a wonderful thing
2021-07-22 19:17:21 +0200 <davean> test.hs: stack overflow
2021-07-22 19:17:30 +0200 <davean> So that preduction is correct for me
2021-07-22 19:17:34 +0200 <[exa]> yorick: mind sharing the julia version? (/me curious)
2021-07-22 19:17:47 +0200 <[exa]> (ah yo left, sorry for hilite)
2021-07-22 19:18:17 +0200favonia(~favonia@user/favonia)
2021-07-22 19:19:04 +0200mr-red(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 272 seconds)
2021-07-22 19:20:03 +0200ubert(~Thunderbi@178.165.186.232.wireless.dyn.drei.com) (Remote host closed the connection)
2021-07-22 19:20:18 +0200 <davean> c_wraith: so note the error with the precident in the recursive calls to fib
2021-07-22 19:20:22 +0200 <int-e> uh ... fib n-1
2021-07-22 19:20:33 +0200 <c_wraith> *oh*. that's the problem.
2021-07-22 19:20:40 +0200 <davean> I was trying to call it out subtily so they'd notice
2021-07-22 19:20:59 +0200 <davean> I didn't just want to give the answer away, but apparently they left
2021-07-22 19:21:08 +0200 <int-e> c_wraith: Right. I couldn't poke any hole in your argument so I decided to look at the actual code :P
2021-07-22 19:21:10 +0200 <c_wraith> I was trying to figure out what int-e was talking about, as laziness is irrelevant to the stack use depth there
2021-07-22 19:21:39 +0200 <davean> Yah I said a few things, that looked closer
2021-07-22 19:21:43 +0200 <davean> *then
2021-07-22 19:21:57 +0200 <davean> And changed my covnersation
2021-07-22 19:22:00 +0200 <c_wraith> so yeah, *that* algorithm can't finish in finite time on any processor :)
2021-07-22 19:22:14 +0200 <int-e> it works for two values of n ;)
2021-07-22 19:22:29 +0200 <c_wraith> but we were assuming 41!
2021-07-22 19:23:13 +0200chomwitt(~chomwitt@ppp-94-67-220-135.home.otenet.gr)
2021-07-22 19:23:35 +0200 <davean> Once you fix it, making it stricted DOES speed it up, as does optimization, I spotted the structure before I parsed it fully. It runs under 1 second when minorly fixed
2021-07-22 19:24:43 +0200 <int-e> let f 0 = id; f 1 = (+1); f n = f (n-1) . f (n-2) in f 40 0 --> *** Exception: stack overflow
2021-07-22 19:24:46 +0200 <int-e> ;-)
2021-07-22 19:25:01 +0200 <int-e> (if you try hard enough...)
2021-07-22 19:25:27 +0200qrpnxz(~qrpnxz@user/qrpnxz) (Disconnected: No route to host)
2021-07-22 19:28:22 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
2021-07-22 19:30:27 +0200 <arkanoid> is "where" block to be considered as a container for private functions?
2021-07-22 19:32:02 +0200 <glguy> private definitions in general, not necessarily functions
2021-07-22 19:33:17 +0200fef(~thedawn@user/thedawn) (Quit: Leaving)
2021-07-22 19:36:34 +0200 <dsal> where and let are interchangeable a lot of the time, but where is a bit nicer when they're roughly equivalent. Sometimes you have to use let.
2021-07-22 19:41:30 +0200__monty__(~toonn@user/toonn)
2021-07-22 19:42:32 +0200Morrow(~MorrowM_@147.161.8.143)
2021-07-22 19:43:14 +0200Morrow_(~MorrowM_@147.161.8.143)
2021-07-22 19:46:20 +0200azeem(~azeem@dynamic-adsl-84-220-213-65.clienti.tiscali.it) (Ping timeout: 256 seconds)
2021-07-22 19:47:17 +0200azeem(~azeem@176.201.2.247)
2021-07-22 19:47:33 +0200justsome1(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1)
2021-07-22 19:48:17 +0200notzmv(~zmv@user/notzmv)
2021-07-22 19:49:54 +0200cuz(~user@38.140.58.234) (Ping timeout: 240 seconds)
2021-07-22 19:50:51 +0200dunj3(~dunj3@2001:16b8:3001:6100:b447:1fd4:5e4:c9b1) (Remote host closed the connection)
2021-07-22 19:51:03 +0200 <sm> I wish to use small where blocks in the middle of a function all the time - eg at end of a line - but this is never allowed, right ?
2021-07-22 19:51:48 +0200 <sm> or where is it allowed ? Have been confused about this a long time
2021-07-22 19:52:02 +0200 <__monty__> sm: Only at the end of a definition IIRC.
2021-07-22 19:52:12 +0200 <Clint> gotta use let instead
2021-07-22 19:52:17 +0200 <sm> thanks, that's what I thought
2021-07-22 19:54:29 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-22 19:56:03 +0200azeem(~azeem@176.201.2.247) (Read error: Connection reset by peer)
2021-07-22 19:56:11 +0200 <dsal> Sometimes I put where clauses in my where clauses just so I can yo dawg.
2021-07-22 19:56:57 +0200favonia(~favonia@user/favonia)
2021-07-22 19:57:19 +0200azeem(~azeem@dynamic-adsl-84-220-213-65.clienti.tiscali.it)
2021-07-22 20:00:43 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-07-22 20:01:48 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-22 20:02:15 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-22 20:04:24 +0200Achylles(~Achylles_@2804:431:d724:510f:d7b1:4ecb:6877:1a1a) (Remote host closed the connection)
2021-07-22 20:04:38 +0200Achylles(~Achylles_@2804:431:d724:510f:d7b1:4ecb:6877:1a1a)
2021-07-22 20:04:50 +0200 <sm> I do that a lot, makes it easier to extract sub functions
2021-07-22 20:07:06 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 265 seconds)
2021-07-22 20:16:28 +0200jolly(~jolly@208.180.97.158)
2021-07-22 20:16:30 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-22 20:16:44 +0200Erutuon(~Erutuon@user/erutuon)
2021-07-22 20:17:18 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 276 seconds)
2021-07-22 20:17:38 +0200jespada(~jespada@90.254.247.46) (Ping timeout: 252 seconds)
2021-07-22 20:19:26 +0200doyougnu(~user@c-73-25-202-122.hsd1.or.comcast.net)
2021-07-22 20:19:48 +0200jespada(~jespada@90.254.247.46)
2021-07-22 20:20:00 +0200ubert(~Thunderbi@178.115.32.89.wireless.dyn.drei.com)
2021-07-22 20:21:58 +0200viluon(uid453725@id-453725.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-22 20:26:12 +0200cuz(~user@38.140.58.234)
2021-07-22 20:28:51 +0200terrorjack(~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com) (Read error: Connection reset by peer)
2021-07-22 20:30:01 +0200terrorjack(~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com)
2021-07-22 20:30:50 +0200cuz(~user@38.140.58.234) (Ping timeout: 252 seconds)
2021-07-22 20:32:08 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-22 20:32:53 +0200ec(~ec@gateway/tor-sasl/ec)
2021-07-22 20:33:46 +0200soft-warm(~soft-warm@2600:8801:db01:8f0:2b46:c2bc:f21e:3c72)
2021-07-22 20:34:13 +0200doyougnu(~user@c-73-25-202-122.hsd1.or.comcast.net) (Remote host closed the connection)
2021-07-22 20:35:25 +0200Nuxular(~Nux@165.89.93.209.dyn.plus.net) (Quit: Client closed)
2021-07-22 20:36:39 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-22 20:37:36 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-22 20:38:01 +0200h98(~h98@187.83.249.216.dyn.smithville.net)
2021-07-22 20:38:02 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-22 20:39:07 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-22 20:39:13 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-22 20:41:19 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds)
2021-07-22 20:42:33 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-07-22 20:46:51 +0200mr-red(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-22 20:49:23 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 255 seconds)
2021-07-22 20:51:30 +0200byorgey(~byorgey@155.138.238.211) (Remote host closed the connection)
2021-07-22 20:55:09 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-07-22 20:56:29 +0200doyougnu(~user@c-73-25-202-122.hsd1.or.comcast.net)
2021-07-22 20:57:04 +0200 <maerwald> sm: where clauses are a little bit like nested if-then-else in imperative languages. The scope becomes too wide
2021-07-22 20:57:11 +0200 <dminuoso> sm: You could always insert a stub `case () of ... where` :-P
2021-07-22 20:57:13 +0200 <maerwald> but I also like them
2021-07-22 20:57:37 +0200mr-red(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 245 seconds)
2021-07-22 20:57:54 +0200 <maerwald> I'd like where-clauses with functions that don't have access to the top-level parameters...
2021-07-22 20:58:42 +0200 <maerwald> like: this is a set of "private" functions that I need here
2021-07-22 20:58:53 +0200 <maerwald> and I can be sure that no scope leaks in
2021-07-22 20:58:58 +0200 <maerwald> no-scoped
2021-07-22 20:59:00 +0200 <maerwald> lol
2021-07-22 20:59:06 +0200zebrag(~chris@user/zebrag)
2021-07-22 21:00:40 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-07-22 21:01:06 +0200nvmd(~nvmd@user/nvmd) (Quit: Later, nerds.)
2021-07-22 21:02:01 +0200 <zzz> are tyoe declarations curried?
2021-07-22 21:02:20 +0200 <zzz> let me rephrase that
2021-07-22 21:02:32 +0200 <zzz> are type synonym declarations curried?
2021-07-22 21:03:00 +0200 <crazazy> zzz: they are
2021-07-22 21:03:30 +0200 <ph88^> anyone know how i can fix these linker errors ? https://bpa.st/FNPQ
2021-07-22 21:03:33 +0200 <zzz> so type Grid = M.Map (Int,Int) === type Grid a = M.Map (Int,Int) a
2021-07-22 21:03:34 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
2021-07-22 21:04:31 +0200hegstal(~hegstal@2a02:c7f:7604:8a00:9af4:e021:9dca:50c4)
2021-07-22 21:04:44 +0200 <Morrow_> I thought type synonyms had to be fully saturated?
2021-07-22 21:05:32 +0200 <h98> think Grid just has kind * -> ... in both cases
2021-07-22 21:05:52 +0200adanwan_(~adanwan@gateway/tor-sasl/adanwan)
2021-07-22 21:06:11 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 244 seconds)
2021-07-22 21:06:39 +0200 <Morrow_> Yes but in the second case I can't write class C Grid where ... while in the first case I can.
2021-07-22 21:06:42 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 244 seconds)
2021-07-22 21:06:44 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-07-22 21:06:47 +0200 <tomsmeding> Morrow_: when _applying_ a type synonym, you hvae to pass all parameters
2021-07-22 21:06:57 +0200 <tomsmeding> all parameters of the type synonym, that is
2021-07-22 21:07:02 +0200 <nshepperd> they're not exactly equivalent. the eta expanded one can not be used in f Grid
2021-07-22 21:07:21 +0200 <tomsmeding> doesn't mean that the type synonym itself can't be "curried", i.e. not be of kind *
2021-07-22 21:08:31 +0200 <tomsmeding> so yeah zzz: if you use the 'type Grid a' version, you'll always have to give that argument to Grid; with the first version, you can just use 'Grid' by itself
2021-07-22 21:08:40 +0200hendursaga(~weechat@user/hendursaga)
2021-07-22 21:10:04 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-22 21:10:27 +0200zmt01(~zmt00@user/zmt00)
2021-07-22 21:11:14 +0200chris_(~chris@81.96.113.213)
2021-07-22 21:12:58 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-22 21:13:18 +0200Morrow(~MorrowM_@147.161.8.143) (Read error: Connection reset by peer)
2021-07-22 21:13:23 +0200favonia(~favonia@user/favonia)
2021-07-22 21:13:36 +0200Morrow(~MorrowM_@147.161.8.143)
2021-07-22 21:14:13 +0200zmt00(~zmt00@user/zmt00) (Ping timeout: 268 seconds)
2021-07-22 21:15:04 +0200ikex1(ash@user/ikex)
2021-07-22 21:16:13 +0200ikex(~ash@user/ikex) (Ping timeout: 265 seconds)
2021-07-22 21:16:13 +0200ikex1ikex
2021-07-22 21:20:46 +0200MoC(~moc@user/moc) (Quit: Konversation terminated!)
2021-07-22 21:22:38 +0200favonia(~favonia@user/favonia) (Ping timeout: 252 seconds)
2021-07-22 21:22:57 +0200favonia(~favonia@user/favonia)
2021-07-22 21:23:44 +0200argento(~argent0@168-227-97-29.ptr.westnet.com.ar)
2021-07-22 21:23:59 +0200ubert(~Thunderbi@178.115.32.89.wireless.dyn.drei.com) (Remote host closed the connection)
2021-07-22 21:27:40 +0200burnside_(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-22 21:27:40 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Read error: Connection reset by peer)
2021-07-22 21:32:13 +0200lavaman(~lavaman@98.38.249.169)
2021-07-22 21:32:31 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-07-22 21:32:42 +0200favonia(~favonia@user/favonia) (Ping timeout: 276 seconds)
2021-07-22 21:37:15 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 276 seconds)
2021-07-22 21:37:24 +0200favonia(~favonia@user/favonia)
2021-07-22 21:39:06 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-22 21:40:39 +0200Achylles(~Achylles_@2804:431:d724:510f:d7b1:4ecb:6877:1a1a) (Quit: Leaving)
2021-07-22 21:40:57 +0200chris_(~chris@81.96.113.213)
2021-07-22 21:47:08 +0200 <arkanoid> general question: why is haskell platfom so large on disk?
2021-07-22 21:47:32 +0200 <arkanoid> stack shows me ~2GB for each installed version
2021-07-22 21:47:43 +0200 <arkanoid> that's not a problem, just a curiosity
2021-07-22 21:48:23 +0200 <maerwald> yes, a single GHC installation is around 2gb
2021-07-22 21:48:48 +0200Pickchea(~private@user/pickchea)
2021-07-22 21:49:35 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it) (Quit: ZNC 1.8.2 - https://znc.in)
2021-07-22 21:50:20 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-22 21:50:29 +0200argento(~argent0@168-227-97-29.ptr.westnet.com.ar) (Quit: leaving)
2021-07-22 21:52:10 +0200jneira_(~jneira_@28.red-80-28-169.staticip.rima-tde.net)
2021-07-22 21:52:58 +0200 <arkanoid> but why that big? docs are ~ 300MB
2021-07-22 21:53:56 +0200 <arkanoid> the libs are incredibly large compared to any other programming environment
2021-07-22 21:55:30 +0200 <h98> https://stackoverflow.com/questions/48756089/why-is-a-fresh-install-of-haskell-stack-and-ghc-so-la…
2021-07-22 21:57:01 +0200 <h98> from what I understood from several of these posts, the answer was "static linking + duplication"
2021-07-22 21:58:30 +0200dhil(~dhil@195.213.192.47)
2021-07-22 21:58:38 +0200 <dsal> Making tiny files isn't a priority.
2021-07-22 22:01:41 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Ping timeout: 252 seconds)
2021-07-22 22:04:58 +0200juhp(~juhp@128.106.188.220) (Ping timeout: 240 seconds)
2021-07-22 22:05:09 +0200Null_A(~null_a@2601:645:8700:2290:cc41:848b:cba0:322d) (Remote host closed the connection)
2021-07-22 22:05:44 +0200Null_A(~null_a@2601:645:8700:2290:cc41:848b:cba0:322d)
2021-07-22 22:06:06 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-22 22:06:38 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 252 seconds)
2021-07-22 22:07:19 +0200juhp(~juhp@128.106.188.220)
2021-07-22 22:10:24 +0200Null_A(~null_a@2601:645:8700:2290:cc41:848b:cba0:322d) (Ping timeout: 276 seconds)
2021-07-22 22:13:18 +0200burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-07-22 22:13:18 +0200burnside_(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Read error: Connection reset by peer)
2021-07-22 22:13:30 +0200 <Hecate> hai
2021-07-22 22:13:35 +0200 <Hecate> I haz trouble with megaparsec :<
2021-07-22 22:13:39 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 276 seconds)
2021-07-22 22:13:41 +0200ph88^(~ph88@2a02:8109:9e00:7e5c:4c3:7ef8:c703:fb12) (Remote host closed the connection)
2021-07-22 22:13:50 +0200 <Hecate> https://gist.github.com/Kleidukos/8acc9eb159f2e65f7c9250e73e1e8bb9 <- I want to parse this SQL file according to the type I define in the parser just below
2021-07-22 22:14:18 +0200shapr`(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-07-22 22:14:35 +0200 <Hecate> and while I can properly use line-based parsers, I have trouble expressing "Just pick that chunk of text spanning multiple lines that end either with the next section or end of the file
2021-07-22 22:14:39 +0200 <dminuoso> arkanoid: At least the libraries in GHC itself come in all 4 flavors static, dynamic, profiled and GHCi. Since GHC itself is a library too, this quickly racks up space.
2021-07-22 22:15:23 +0200 <dminuoso> Though, I think GHC uses dynamic linking nowadays?
2021-07-22 22:15:47 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 255 seconds)
2021-07-22 22:16:04 +0200shapr`shapr
2021-07-22 22:16:05 +0200 <yushyin> ldd =ghc
2021-07-22 22:16:07 +0200 <yushyin> not a dynamic executable
2021-07-22 22:16:27 +0200 <yushyin> ^^
2021-07-22 22:16:31 +0200 <yushyin> :)
2021-07-22 22:16:34 +0200ph88^(~ph88@2a02:8109:9e00:7e5c:4c3:7ef8:c703:fb12)
2021-07-22 22:16:56 +0200 <Hecate> yushyin: tssss
2021-07-22 22:17:34 +0200 <dminuoso> Ah, so that means in addition to those 4 GHC library versions, we have a the static binary of it lying around too.
2021-07-22 22:17:38 +0200 <dminuoso> So much space..
2021-07-22 22:21:13 +0200 <Hecate> if anyone knows a bit about parser combinators, this would be really helpful :P
2021-07-22 22:21:46 +0200Null_A(~null_a@2601:645:8700:2290:b5ac:63df:d679:fb5d)
2021-07-22 22:22:19 +0200 <dminuoso> Hecate: Take a BNF grammar for your sql flavour, turn it into right recursive if need be, and then directly translate into megaparsec?
2021-07-22 22:23:18 +0200 <yushyin> dminuoso: oh, looks like i don't know my own ghc installation well enough. behind =ghc there is only a shell script, the real executable is actually dynamically linked
2021-07-22 22:23:32 +0200 <dminuoso> yushyin: Heh. :)
2021-07-22 22:23:37 +0200 <dminuoso> yushyin: Are you on nixos?
2021-07-22 22:24:09 +0200 <yushyin> no, it's from ghcup
2021-07-22 22:24:31 +0200 <dminuoso> Ah. Is that ghc shell script what ghcup modifies?
2021-07-22 22:24:36 +0200 <maerwald> no
2021-07-22 22:24:58 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:6c9:24d2:a2c6:1c69)
2021-07-22 22:25:56 +0200 <dminuoso> Hecate: Or, maybe I misread your question. Your mistake is not using `lexeme` at all. :)
2021-07-22 22:28:23 +0200qontinuum_(qontinuum@user/qontinuum) (Quit: See ya)
2021-07-22 22:28:38 +0200 <yushyin> dminuoso: https://paste.xinu.at/DtO7w7/ is the shell script :) in $PATH
2021-07-22 22:28:40 +0200qontinuum(qontinuum@user/qontinuum)
2021-07-22 22:28:52 +0200 <maerwald> yushyin: no
2021-07-22 22:29:00 +0200 <maerwald> in PATH is only a symlink
2021-07-22 22:29:08 +0200 <maerwald> that shell script is from GHC itself
2021-07-22 22:29:21 +0200 <yushyin> well yes, i resolved the symlink
2021-07-22 22:32:06 +0200 <yushyin> the point was that my attempt to run ldd on a shell script is rather useless :D
2021-07-22 22:32:22 +0200 <maerwald> it would work on windows
2021-07-22 22:32:27 +0200 <maerwald> try installing windows
2021-07-22 22:32:29 +0200 <maerwald> xD
2021-07-22 22:32:59 +0200 <arkanoid> thanks for the explanations. If it's all statically linked, I now understand how thinks stacks up to 2GB :D
2021-07-22 22:33:32 +0200 <maerwald> on windows those are not shell scripts but .exe files
2021-07-22 22:33:52 +0200acidjnk_new(~acidjnk@p200300d0c72b958874b654708e10a316.dip0.t-ipconnect.de)
2021-07-22 22:33:57 +0200 <maerwald> and they are perfectly relocatable
2021-07-22 22:34:14 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection)
2021-07-22 22:34:27 +0200 <maerwald> everyone should use windows these days
2021-07-22 22:36:29 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-07-22 22:37:34 +0200 <zzz> tomsmeding: i found this out because i wanted a Foldable instance and i needed a * -> *. I don't really know what I'm doing, just found out i nedded TypeSynonymInstances and FlexibleInstances
2021-07-22 22:38:11 +0200 <zzz> for overleading toList
2021-07-22 22:39:22 +0200 <zzz> i usually avoid extensions
2021-07-22 22:39:46 +0200 <tomsmeding> zzz: TypeSynonymInstances for, well, making an instance for a type synonym (which is exactly equivalent to making an instance for the type that the synonym rewrites to)
2021-07-22 22:40:14 +0200 <tomsmeding> FlexibleInstances for making an instance for 'Map k' where 'k' is not a type variable but a more specific type
2021-07-22 22:40:29 +0200 <tomsmeding> those extensions are very benign as far as I understand
2021-07-22 22:40:46 +0200 <tomsmeding> if you want to avoid using extensions here, use a newtype instead of a type synonym
2021-07-22 22:40:50 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-22 22:40:53 +0200Null_A(~null_a@2601:645:8700:2290:b5ac:63df:d679:fb5d) (Remote host closed the connection)
2021-07-22 22:41:03 +0200dagit(~dagit@2601:1c2:1b7f:9fa0:9903:10ed:1152:1e02)
2021-07-22 22:42:44 +0200smichel17(~smichel17@c-73-68-217-18.hsd1.ma.comcast.net) (Good Bye)
2021-07-22 22:42:54 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-07-22 22:43:03 +0200 <zzz> tomsmeding: maybe i should. i would need GeneralizedNewtypeDeriving
2021-07-22 22:43:13 +0200 <zzz> though
2021-07-22 22:43:44 +0200Null_A(~null_a@2601:645:8700:2290:b5ac:63df:d679:fb5d)
2021-07-22 22:44:08 +0200 <zzz> i think
2021-07-22 22:44:18 +0200 <tomsmeding> that's true, using a newtype forces you to re-implement the API of the wrapped type, including instances (for which GeneralizedNewtypeDeriving is a shortcut)
2021-07-22 22:44:56 +0200 <tomsmeding> though you can also use DerivingVia instead of GeneralizedNewtypeDeriving
2021-07-22 22:45:34 +0200 <zzz> looking into it
2021-07-22 22:45:37 +0200 <tomsmeding> newtype Grid = Grid (M.Map (Int,Int)) deriving (Functor, Foldable) via (M.Map (Int,Int))
2021-07-22 22:45:49 +0200 <tomsmeding> which is a bit more explicit, if you like that
2021-07-22 22:45:53 +0200 <tomsmeding> https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/deriving_via.html?highlight=derivingvia
2021-07-22 22:45:54 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:6c9:24d2:a2c6:1c69) (Quit: WeeChat 2.8)
2021-07-22 22:46:58 +0200favonia(~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-22 22:47:48 +0200favonia(~favonia@user/favonia)
2021-07-22 22:49:35 +0200zopsi(zopsi@2600:3c00::f03c:91ff:fe14:551f)
2021-07-22 22:49:49 +0200 <zzz> thanks
2021-07-22 22:53:29 +0200Null_A(~null_a@2601:645:8700:2290:b5ac:63df:d679:fb5d) (Remote host closed the connection)
2021-07-22 22:53:39 +0200 <dsal> Hecate: lexeme runs a parser and then throws away any whitespace after it, so the next parser is ready to run with.
2021-07-22 22:55:05 +0200henrylaxen(~henrylaxe@199.58.86.204)
2021-07-22 22:55:31 +0200terrorjack(~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com) (Read error: Connection reset by peer)
2021-07-22 22:56:05 +0200favonia(~favonia@user/favonia) (Ping timeout: 250 seconds)
2021-07-22 22:56:23 +0200favonia(~favonia@user/favonia)
2021-07-22 22:56:41 +0200terrorjack(~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com)
2021-07-22 22:57:08 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
2021-07-22 23:00:00 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-07-22 23:02:30 +0200ephemient(uid407513@id-407513.tooting.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-22 23:02:45 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-22 23:04:23 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-22 23:04:50 +0200MQ-17J(~MQ-17J@8.21.10.15) (Ping timeout: 252 seconds)
2021-07-22 23:06:53 +0200favonia(~favonia@user/favonia)
2021-07-22 23:07:10 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2021-07-22 23:07:28 +0200Null_A(~null_a@2601:645:8700:2290:b5ac:63df:d679:fb5d)
2021-07-22 23:10:04 +0200pesada(~agua@2804:14c:8793:8e2f:6091:e445:c3bf:d39e)
2021-07-22 23:10:22 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-07-22 23:11:54 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 240 seconds)
2021-07-22 23:12:59 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
2021-07-22 23:13:30 +0200agua(~agua@2804:18:49:b25b:1:0:4435:6601) (Ping timeout: 240 seconds)
2021-07-22 23:14:30 +0200shapr`(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-07-22 23:14:48 +0200agua(~agua@2804:18:49:b25b:1:0:4435:6601)
2021-07-22 23:16:05 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 265 seconds)
2021-07-22 23:16:29 +0200Core7286(~agua@2804:18:49:5505:1:0:456a:29dd)
2021-07-22 23:18:27 +0200pesada(~agua@2804:14c:8793:8e2f:6091:e445:c3bf:d39e) (Ping timeout: 245 seconds)
2021-07-22 23:19:24 +0200agua(~agua@2804:18:49:b25b:1:0:4435:6601) (Ping timeout: 256 seconds)
2021-07-22 23:21:02 +0200Null_A(~null_a@2601:645:8700:2290:b5ac:63df:d679:fb5d) (Remote host closed the connection)
2021-07-22 23:21:47 +0200ph88^(~ph88@2a02:8109:9e00:7e5c:4c3:7ef8:c703:fb12) (Ping timeout: 245 seconds)
2021-07-22 23:24:16 +0200Bayes(~Bayes@user/bayes) (Quit: Connection closed)
2021-07-22 23:24:17 +0200msr(~msr@2603-8081-8f00-5c00-0000-0000-0000-0007.res6.spectrum.com)
2021-07-22 23:24:29 +0200shapr`shapr
2021-07-22 23:27:39 +0200Null_A(~null_a@2601:645:8700:2290:b5ac:63df:d679:fb5d)
2021-07-22 23:29:19 +0200agua(~agua@2804:14c:8793:8e2f:6091:e445:c3bf:d39e)
2021-07-22 23:32:26 +0200Core7286(~agua@2804:18:49:5505:1:0:456a:29dd) (Ping timeout: 256 seconds)
2021-07-22 23:32:51 +0200mnrmnaugh(~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net)
2021-07-22 23:33:31 +0200lavaman(~lavaman@98.38.249.169)
2021-07-22 23:36:52 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-07-22 23:37:54 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-07-22 23:39:39 +0200meinside_(uid24933@id-24933.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-22 23:41:19 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-07-22 23:41:28 +0200michalz(~michalz@185.246.204.58) (Remote host closed the connection)
2021-07-22 23:44:39 +0200hiruji(~hiruji@user/hiruji) (Ping timeout: 252 seconds)
2021-07-22 23:48:48 +0200forell(~forell@user/forell) (Quit: ZNC - https://znc.in)
2021-07-22 23:49:37 +0200forell(~forell@user/forell)
2021-07-22 23:52:25 +0200crazazy(~user@2001:1c00:831:4700:3b4a:a6aa:91da:4816) (Remote host closed the connection)
2021-07-22 23:54:50 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 268 seconds)
2021-07-22 23:56:42 +0200shapr`(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-07-22 23:58:02 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 245 seconds)
2021-07-22 23:59:16 +0200shapr`shapr