2021/12/22

2021-12-22 00:00:26 +0100Bartol(~andbartol@user/Bartol) (Remote host closed the connection)
2021-12-22 00:01:03 +0100 <geekosaur> hm, you may have an old let's encrypt root certificate
2021-12-22 00:01:22 +0100 <geekosaur> the original expired back in august
2021-12-22 00:02:19 +0100 <geekosaur> I don't know how you would update your system's certificate store to get updated root certificates
2021-12-22 00:02:44 +0100 <Guest|47> I first updated cabal with "cabal install cabal-install"
2021-12-22 00:02:53 +0100 <Guest|47> Not sure if it is related to cabal though
2021-12-22 00:02:57 +0100 <geekosaur> it's not
2021-12-22 00:03:01 +0100 <geekosaur> this is related to curl
2021-12-22 00:03:55 +0100ProfSimm(~ProfSimm@87.227.196.109)
2021-12-22 00:04:02 +0100sprout(~quassel@2a02:a467:ccd6:1:bc5b:dbe0:79e5:a909) (Ping timeout: 268 seconds)
2021-12-22 00:04:20 +0100emf(~emf@2620:10d:c091:480::1:cf46) (Quit: emf)
2021-12-22 00:04:49 +0100emf(~emf@2620:10d:c091:480::1:cf46)
2021-12-22 00:06:48 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:84c9:5514:9bd3:b2f5) (Remote host closed the connection)
2021-12-22 00:11:11 +0100max22-(~maxime@2a01cb0883359800cf3672742e8ded0b.ipv6.abo.wanadoo.fr) (Quit: Leaving)
2021-12-22 00:11:39 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Quit: This computer has gone to sleep)
2021-12-22 00:11:43 +0100 <geekosaur> https://curl.se/ca/cacert.pem is the latest certificate store. you can download this using a browser and then add --cacert=cacert.pem after --tlsv1.2
2021-12-22 00:11:53 +0100ksqsf(~user@134.209.106.31)
2021-12-22 00:12:46 +0100 <geekosaur> (if your browser doesn't put it in the current directory then you may need to point to it, e.g. --cacert=~/Downloads/cacert.pem)
2021-12-22 00:14:20 +0100 <hpc> i am surprised your os updates haven't already packaged the new cert
2021-12-22 00:14:44 +0100 <geekosaur> so am I tbh
2021-12-22 00:14:51 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-12-22 00:15:32 +0100sprout(~quassel@2a02:a467:ccd6:1:bc5b:dbe0:79e5:a909)
2021-12-22 00:16:52 +0100ksqsf(~user@134.209.106.31) (Ping timeout: 256 seconds)
2021-12-22 00:18:16 +0100 <Guest|47> Oh thanks for the help, I'll try that.
2021-12-22 00:18:26 +0100slowButPresent(~slowButPr@user/slowbutpresent)
2021-12-22 00:18:39 +0100 <Guest|47> I just reinstalled Curl thinking that would do something positive - it did nothing
2021-12-22 00:19:01 +0100 <Guest|47> Then I tried:
2021-12-22 00:19:02 +0100 <Guest|47> HOMEBREW_FORCE_BREWED_CURL=1
2021-12-22 00:19:02 +0100 <Guest|47> also to no avail
2021-12-22 00:20:06 +0100sprout(~quassel@2a02:a467:ccd6:1:bc5b:dbe0:79e5:a909) (Ping timeout: 260 seconds)
2021-12-22 00:21:17 +0100emf(~emf@2620:10d:c091:480::1:cf46) (Ping timeout: 240 seconds)
2021-12-22 00:22:34 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:84c9:5514:9bd3:b2f5)
2021-12-22 00:22:43 +0100 <zero> i never remember how to set a constant inside a list compreension
2021-12-22 00:23:00 +0100rusty(~rustyboy@82.77.225.165) (Quit: Leaving)
2021-12-22 00:23:10 +0100 <zero> [ (x,y) | x <- ss , y <- ss , let ss = [1..5] ] ?
2021-12-22 00:23:52 +0100 <geekosaur> hm, either one might be using apple's certs instead
2021-12-22 00:24:04 +0100 <geekosaur> although one would think apple would have updated by now, too
2021-12-22 00:24:34 +0100 <geekosaur> zero, should be, yes
2021-12-22 00:24:50 +0100 <geekosaur> > [ (x,y) | x <- ss , y <- ss , let ss = [1..5] ]
2021-12-22 00:24:51 +0100 <lambdabot> error:
2021-12-22 00:24:51 +0100 <lambdabot> • Variable not in scope: ss :: [a]
2021-12-22 00:24:51 +0100 <lambdabot> • Perhaps you meant ‘s’ (imported from Debug.SimpleReflect)error:
2021-12-22 00:25:08 +0100 <geekosaur> mm, I think it's not in scope yet for those
2021-12-22 00:25:44 +0100 <zero> > [ (x,y) | let ss = [0..2] , x <- ss , y <- ss ]
2021-12-22 00:25:46 +0100 <lambdabot> [(0,0),(0,1),(0,2),(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)]
2021-12-22 00:25:55 +0100 <zero> ah that was it
2021-12-22 00:26:15 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-12-22 00:27:49 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 00:27:50 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 00:28:17 +0100CiaoSen(~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2021-12-22 00:28:34 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 00:28:34 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 00:28:45 +0100 <sshine> > (,) <$> [0..2] <*> [0..2]
2021-12-22 00:28:46 +0100 <lambdabot> [(0,0),(0,1),(0,2),(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)]
2021-12-22 00:29:36 +0100 <sshine> > liftA2 (,) [0..2] [0..2]
2021-12-22 00:29:37 +0100 <lambdabot> [(0,0),(0,1),(0,2),(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)]
2021-12-22 00:30:57 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2021-12-22 00:31:22 +0100lavaman(~lavaman@98.38.249.169)
2021-12-22 00:31:26 +0100foul_owl(~kerry@94.140.8.107)
2021-12-22 00:31:58 +0100pfurla(~pfurla@2804:14d:5c5a:9a78:dc7f:5982:796e:a1e5)
2021-12-22 00:32:13 +0100Morrow(~quassel@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 240 seconds)
2021-12-22 00:32:56 +0100ksqsf(~user@134.209.106.31)
2021-12-22 00:34:10 +0100 <yin> i'm trying the Data.Graph.AStar from the astar library and it's SLOOOOWWW
2021-12-22 00:34:40 +0100 <yin> so slow
2021-12-22 00:34:45 +0100 <janus> yin: did you see that glguy wrote his own astar for aoc?
2021-12-22 00:34:55 +0100 <yin> no!
2021-12-22 00:35:05 +0100 <yin> i want to see it!
2021-12-22 00:35:29 +0100Morrow(~quassel@bzq-110-168-31-106.red.bezeqint.net)
2021-12-22 00:35:56 +0100 <g> https://glguy.net/advent2021/lib/Advent-Search.html#v:astar click "source"
2021-12-22 00:36:06 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
2021-12-22 00:36:32 +0100 <yin> that's it. if i have a son i'm naming him Eric
2021-12-22 00:37:37 +0100ksqsf(~user@134.209.106.31) (Ping timeout: 240 seconds)
2021-12-22 00:43:10 +0100ksqsf(~user@134.209.106.31)
2021-12-22 00:44:35 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: closed)
2021-12-22 00:44:46 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 00:45:17 +0100wolfshappen(~waff@irc.furworks.de) (Ping timeout: 240 seconds)
2021-12-22 00:46:38 +0100 <jackdk> https://hackage.haskell.org/package/search-algorithms-0.3.1/docs/Algorithm-Search.html#v:aStar I like this library for search stuff
2021-12-22 00:46:45 +0100 <jackdk> haven't benchmarked it though
2021-12-22 00:51:19 +0100Guest|47(~Guest|47@c-73-221-44-172.hsd1.wa.comcast.net) (Quit: Connection closed)
2021-12-22 00:52:16 +0100wolfshappen(~waff@irc.furworks.de)
2021-12-22 00:57:12 +0100 <EvanR> I copy pasted the Astar from wikipedia
2021-12-22 00:57:16 +0100 <EvanR> no idea how it works
2021-12-22 00:58:10 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-22 00:58:10 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-12-22 00:58:10 +0100wroathe(~wroathe@user/wroathe)
2021-12-22 00:59:06 +0100acidjnk(~acidjnk@p200300d0c7271e256ce23fbe5bf2eea3.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2021-12-22 01:00:37 +0100chomwitt(~chomwitt@94.66.63.187) (Ping timeout: 240 seconds)
2021-12-22 01:01:23 +0100Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 268 seconds)
2021-12-22 01:01:42 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2021-12-22 01:03:20 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2021-12-22 01:08:29 +0100hololeap(~hololeap@user/hololeap) (Remote host closed the connection)
2021-12-22 01:08:57 +0100slaydr(~seriley@45.131.194.254) (Quit: leaving)
2021-12-22 01:09:43 +0100Guest4242(~Guest4242@78.198.4.122)
2021-12-22 01:11:01 +0100hololeap(~hololeap@user/hololeap)
2021-12-22 01:11:15 +0100Morrow(~quassel@bzq-110-168-31-106.red.bezeqint.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-12-22 01:14:49 +0100fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-12-22 01:15:01 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-22 01:15:01 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-12-22 01:15:01 +0100wroathe(~wroathe@user/wroathe)
2021-12-22 01:16:11 +0100 <EvanR> is there something weird about how defining equations sometimes require this idea of "what order do you try them in" to make sense
2021-12-22 01:16:12 +0100euandreh(~euandreh@2804:14c:33:9fe5:1bce:ba7c:3f01:c9f3) (Ping timeout: 268 seconds)
2021-12-22 01:16:28 +0100 <EvanR> other times they don't
2021-12-22 01:16:57 +0100 <EvanR> in math they would call bullshit on such definitions
2021-12-22 01:17:26 +0100 <geekosaur> patternmatching can't be smart like humans, it has to rely on humans to order things
2021-12-22 01:19:12 +0100fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 256 seconds)
2021-12-22 01:24:03 +0100 <yin> EvanR: how long did it take you to calc part2 ?
2021-12-22 01:24:18 +0100 <EvanR> what day
2021-12-22 01:24:30 +0100 <yin> the pathfinding day
2021-12-22 01:24:33 +0100 <yin> huh..
2021-12-22 01:24:35 +0100 <yin> 15
2021-12-22 01:24:50 +0100 <EvanR> it took a second or two
2021-12-22 01:25:12 +0100 <yin> well i'm doing something wrong then
2021-12-22 01:26:06 +0100 <EvanR> oh part 2, it took a little longer, iirc
2021-12-22 01:26:30 +0100 <EvanR> not so long that I did this \o/ cancelled it and looked for some other solution
2021-12-22 01:26:39 +0100 <yin> tests ok for both parts, part1 is fast but part2 is going on 7 minutes and counting... i tried both libraries aStar and dijkstra
2021-12-22 01:26:42 +0100 <EvanR> which doesn't take long
2021-12-22 01:27:01 +0100 <EvanR> when stuff may take a while I make sure to put print out of progress somehow
2021-12-22 01:27:42 +0100 <EvanR> the performance of astar apparently depends on the quality of the h function
2021-12-22 01:27:50 +0100 <yin> tbf i'm on 32bit 1G Ram
2021-12-22 01:29:56 +0100 <dsal> My day 15 various timing things: https://www.irccloud.com/pastebin/SFN8Et1K/day15.txt
2021-12-22 01:30:45 +0100 <dsal> c is A* Data.Graph.AStar where b is my own Dijkstra implementation.
2021-12-22 01:31:29 +0100 <dsal> (These tests are concurrent, so the timing interfere)
2021-12-22 01:31:37 +0100jkaye(~jkaye@2601:281:8300:7530:e0f7:dc28:dd0d:f0d5) (Ping timeout: 240 seconds)
2021-12-22 01:32:36 +0100 <dsal> part 2 spoiler: part2 = part1b . embiggen . gridToMap
2021-12-22 01:33:28 +0100 <dsal> I don't even remember this one. I should sleep more.
2021-12-22 01:33:32 +0100 <EvanR> spoiler: print =<< solve =<< getData
2021-12-22 01:36:43 +0100 <monochrom> Haha that's like Feynman's method written in Haskell.
2021-12-22 01:36:48 +0100 <dsal> haha
2021-12-22 01:37:05 +0100 <monochrom> 1. Read the input carefully. 2. Compute very hard. 3. Print the output.
2021-12-22 01:37:16 +0100 <hpc> i have that on my whiteboard
2021-12-22 01:37:25 +0100 <zero> i suffer from aoc amnesia, where my memory resets every 2 stars
2021-12-22 01:37:37 +0100 <dsal> If I switch from lazy map to strict map, it goes from almost instantly to just hangs.
2021-12-22 01:37:38 +0100 <hpc> along with "every impossible problem has an impossible cause" and "asking for help is the original proof of work protocol"
2021-12-22 01:37:59 +0100 <dsal> zero: I keep seeing people say, "This is exactly probably X from year Y" and I don't even remember there being a year Y.
2021-12-22 01:38:27 +0100 <monochrom> Yeah if you use Map for lazy person's dynamic programming, it is imperative to use lazy Map.insert.
2021-12-22 01:38:57 +0100 <zero> dsal: that might be cause for concern
2021-12-22 01:39:15 +0100 <dsal> I'm just using Map.fromList with Map.! inside a list comprehension.
2021-12-22 01:39:21 +0100 <dsal> (for The Embiggening)
2021-12-22 01:39:55 +0100 <monochrom> Yeah, that.
2021-12-22 01:39:59 +0100 <dsal> I've wasted time trying to get lazy maps to do my bidding on a couple of these problems where there were loops.
2021-12-22 01:40:02 +0100 <zero> my embiggening: unions [ S.map (\((x,y),c) -> ((x + side * x',y + side * y'),iterate suc c !! (x'+y'))) g | let ss = [0..4] , x' <- ss , y' <- ss ]
2021-12-22 01:40:13 +0100 <monochrom> byorgey really likes to promote that simple trick.
2021-12-22 01:40:32 +0100 <dsal> zero: Mine's way more lines than yours. I wrote a minivan.
2021-12-22 01:41:18 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-22 01:41:18 +0100 <zero> the trick is to own one wide screen
2021-12-22 01:46:24 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 268 seconds)
2021-12-22 01:46:37 +0100ksqsf(~user@134.209.106.31) (Ping timeout: 240 seconds)
2021-12-22 01:49:58 +0100Guest|47(~Guest|47@c-73-221-44-172.hsd1.wa.comcast.net)
2021-12-22 01:53:32 +0100pfurla(~pfurla@2804:14d:5c5a:9a78:dc7f:5982:796e:a1e5) (Quit: gone to sleep. ZZZzzz…)
2021-12-22 01:54:25 +0100 <EvanR> One Wide Trick
2021-12-22 01:54:47 +0100 <EvanR> your monitor will hate it
2021-12-22 01:57:15 +0100 <zero> i'm not too ashamed of my day 14 solution (protein insertion)
2021-12-22 01:57:17 +0100 <zero> https://paste.jrvieira.com/1640134606624
2021-12-22 01:58:45 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-22 02:00:20 +0100pfurla(~pfurla@189.60.63.81)
2021-12-22 02:04:04 +0100euandreh(~euandreh@2804:14c:33:9fe5:157f:fad:702e:d7a)
2021-12-22 02:10:17 +0100ksqsf(~user@134.209.106.31)
2021-12-22 02:13:13 +0100 <EvanR> I feel like I'm playing clue or mastermind reading this pattern matching code
2021-12-22 02:13:37 +0100 <EvanR> https://paste.tomsmeding.com/Bcx0Usru after the first line, c is not Air... after the second d is not Air...
2021-12-22 02:15:18 +0100ksqsf(~user@134.209.106.31) (Ping timeout: 256 seconds)
2021-12-22 02:16:30 +0100 <EvanR> I hope I'm accurately appreciating how much if then statements it's not
2021-12-22 02:18:32 +0100mk-fg(~mk-fg@46.48.96.28)
2021-12-22 02:18:59 +0100Axma99203(~Axman6@user/axman6)
2021-12-22 02:19:37 +0100mk-fg(~mk-fg@46.48.96.28) ()
2021-12-22 02:21:14 +0100jkaye(~jkaye@2601:281:8300:7530:6da5:b4a4:e0e4:a76e)
2021-12-22 02:21:16 +0100Axman6(~Axman6@user/axman6) (Ping timeout: 260 seconds)
2021-12-22 02:22:12 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 02:22:14 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 02:23:27 +0100 <geekosaur> Guest|47, have you tried loading the URL curl can't open with a browser and saving it to a file?
2021-12-22 02:27:45 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 250 seconds)
2021-12-22 02:28:11 +0100waleee(~waleee@h-98-128-229-110.NA.cust.bahnhof.se)
2021-12-22 02:30:23 +0100 <Guest|47> geekosaur, I had updates on my OS turn off.
2021-12-22 02:30:24 +0100 <Guest|47> I just finished:
2021-12-22 02:30:25 +0100 <Guest|47> updating OS
2021-12-22 02:30:25 +0100 <Guest|47> installing haskell package with curl
2021-12-22 02:30:38 +0100 <Guest|47> ghcup tui does nothing in bash
2021-12-22 02:30:53 +0100 <geekosaur> did you add it to your PATH?
2021-12-22 02:31:10 +0100 <Guest|47> and  running ghci still shows version 8.4.2
2021-12-22 02:31:21 +0100 <geekosaur> export PATH=$HOME/.ghcup/bin:$PATH
2021-12-22 02:31:25 +0100doyougnu(~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
2021-12-22 02:31:31 +0100 <Guest|47> I don't quite understand your question...
2021-12-22 02:32:28 +0100 <geekosaur> run the command I just gave you, in bash. the one starting with "export"
2021-12-22 02:32:31 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 02:32:31 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 02:32:37 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-12-22 02:32:55 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 02:32:56 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 02:33:38 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 02:33:38 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 02:33:52 +0100 <Guest|47> okay that worked
2021-12-22 02:34:40 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 02:34:40 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 02:34:44 +0100 <geekosaur> then you'll want to edit ~/.bash_profile to add that command to it, so future shells you open know about ghcup
2021-12-22 02:36:59 +0100jeetelongname(~jeet@88-111-159-26.dynamic.dsl.as9105.com) (Ping timeout: 268 seconds)
2021-12-22 02:38:37 +0100incertia(~incertia@d4-50-26-103.nap.wideopenwest.com) (Ping timeout: 240 seconds)
2021-12-22 02:38:37 +0100 <Guest|47> >> ~/.bash_profile
2021-12-22 02:38:37 +0100 <Guest|47> -bash: /Users/mainUser/.bash_profile: Permission denied
2021-12-22 02:39:28 +0100 <geekosaur> it's not generally runnable. you want to *edit* it
2021-12-22 02:39:56 +0100incertia(~incertia@d4-50-26-103.nap.wideopenwest.com)
2021-12-22 02:39:59 +0100ksqsf(~user@134.209.106.31)
2021-12-22 02:40:11 +0100 <Guest|47> okay i'll give it a go
2021-12-22 02:40:19 +0100 <yin> how do i tell ghc what i want my literal types to default to?
2021-12-22 02:41:09 +0100 <yin> `default Num Int` ?
2021-12-22 02:41:50 +0100 <geekosaur> `default (Int, Double)` or similar
2021-12-22 02:43:40 +0100 <zero> what does it mean?
2021-12-22 02:43:48 +0100 <geekosaur> Guest|47, open -e ~/.bash_profile
2021-12-22 02:44:19 +0100 <Guest|47> then paste,
2021-12-22 02:44:19 +0100 <Guest|47>  export PATH=$HOME/.ghcup/bin:$PATH
2021-12-22 02:44:20 +0100 <Guest|47> into the file?
2021-12-22 02:44:25 +0100 <geekosaur> yes
2021-12-22 02:44:37 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:84c9:5514:9bd3:b2f5) (Remote host closed the connection)
2021-12-22 02:44:58 +0100 <geekosaur> zero, it means, for any typeclass instance it has not yet managed to resolve to a type, first try Int, then Double
2021-12-22 02:45:20 +0100ksqsf(~user@134.209.106.31) (Ping timeout: 256 seconds)
2021-12-22 02:45:29 +0100 <geekosaur> with various ghc extensions this list gets extended
2021-12-22 02:47:51 +0100 <geekosaur> https://www.haskell.org/onlinereport/haskell2010/haskellch4.html#x10-790004.3.4 discusses the default declaration
2021-12-22 02:48:18 +0100angerman(sid209936@id-209936.ilkley.irccloud.com) ()
2021-12-22 02:48:51 +0100 <dsal> I usually just tell it what I want, but I can see a few places that might help.
2021-12-22 02:51:06 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-12-22 02:51:29 +0100 <Guest|47> geekosaur, can you recommend resource for better understanding the PATH business you led me through? How did you even come up with
2021-12-22 02:51:29 +0100 <Guest|47> "export PATH=$HOME/.ghcup/bin:$PATH"? was it a lucky guess?
2021-12-22 02:52:05 +0100 <geekosaur> I've been using systems like this for, uh, over 35 years :) and I know where ghcup installs itself
2021-12-22 02:52:14 +0100danso(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 260 seconds)
2021-12-22 02:52:19 +0100Tuplanolla(~Tuplanoll@91-159-68-169.elisa-laajakaista.fi) (Quit: Leaving.)
2021-12-22 02:52:51 +0100 <geekosaur> https://www.cs.purdue.edu/homes/bb/cs348/www-S08/unix_path.html is one resource
2021-12-22 02:53:20 +0100ph88(~ph88@ip5f5af068.dynamic.kabel-deutschland.de) (Quit: Leaving)
2021-12-22 02:53:53 +0100 <geekosaur> mm, actually I'm up to 40 years now
2021-12-22 02:54:11 +0100 <zero> thanks! dsal i just want various list of strings (show <$> [n..m]) and it get's annoying
2021-12-22 02:54:12 +0100 <Guest|47> Okay, experience is sensible reason. thanks for the extra resource though
2021-12-22 02:56:08 +0100 <pfurla-matrix> geekosaur: I got my first copy of Linux in 40 floppy disks in '95
2021-12-22 02:57:02 +0100 <zero> i copied the binary from a radio transmission in morse code
2021-12-22 02:57:06 +0100 <geekosaur> so did I. I started out on a dialup TRS-80 Model 16 running Xenix though
2021-12-22 02:58:18 +0100 <EvanR> 40 years ... dang so since the 60s
2021-12-22 02:58:20 +0100 <sm> Commodore PET and Sinclair ZX80 user checking in!
2021-12-22 02:58:33 +0100 <zero> EvanR: right?
2021-12-22 02:58:35 +0100 <EvanR> lol
2021-12-22 02:58:40 +0100shailangsa_(~shailangs@host109-159-108-207.range109-159.btcentralplus.com) ()
2021-12-22 02:59:40 +0100 <geekosaur> mm?
2021-12-22 02:59:44 +0100 <geekosaur> > 2021 - 1981
2021-12-22 02:59:45 +0100 <lambdabot> 40
2021-12-22 03:00:01 +0100 <EvanR> forgot it was the future for a second
2021-12-22 03:00:09 +0100 <geekosaur> 60s would be when I was born :)
2021-12-22 03:00:19 +0100 <EvanR> :tron:
2021-12-22 03:00:31 +0100ksqsf(~user@134.209.106.31)
2021-12-22 03:03:34 +0100 <EvanR> I also regularly think of the 80s when anyone says "20 years ago"
2021-12-22 03:03:44 +0100 <zero> > let _ !- y = 2000 - y in 2021 - 40
2021-12-22 03:03:46 +0100 <lambdabot> 1981
2021-12-22 03:04:00 +0100 <zero> > let _ !- y = 2000 - y in 2021 !- 40
2021-12-22 03:04:02 +0100 <lambdabot> 1960
2021-12-22 03:04:59 +0100 <EvanR> what in the
2021-12-22 03:05:07 +0100 <EvanR> math
2021-12-22 03:05:23 +0100 <dsal> Math and time were generally easier around 2000
2021-12-22 03:05:35 +0100 <zero> no no no
2021-12-22 03:05:38 +0100 <zero> Y2k
2021-12-22 03:05:44 +0100ksqsf(~user@134.209.106.31) (Ping timeout: 256 seconds)
2021-12-22 03:06:07 +0100 <dsal> Yeah, that had a bit of an effect, I guess
2021-12-22 03:06:20 +0100 <zero> people arguing about when was it *really* the turn of the millennium
2021-12-22 03:06:33 +0100 <zero> was there year 0 ?
2021-12-22 03:06:42 +0100 <zero> did it really matter?
2021-12-22 03:06:51 +0100 <zero> all the calendar patches
2021-12-22 03:07:19 +0100 <zero> then somehow a single second was added to a random year
2021-12-22 03:07:20 +0100 <EvanR> lambdabot doesn't have Data.Time :(
2021-12-22 03:07:49 +0100 <zero> like wtf? i miss the 90s
2021-12-22 03:07:53 +0100 <zero> simpler times
2021-12-22 03:07:55 +0100 <EvanR> said no one ever
2021-12-22 03:08:10 +0100ksqsf(~user@134.209.106.31)
2021-12-22 03:08:43 +0100 <zero> anyways it's now T-what? to Metaverse?
2021-12-22 03:09:15 +0100 <zero> maybe we should start cunting backwards
2021-12-22 03:09:34 +0100 <zero> counting
2021-12-22 03:09:48 +0100 <zero> damned 'o' key..
2021-12-22 03:09:53 +0100 <zero> i should shut up
2021-12-22 03:10:08 +0100 <Guest|47> Do the creators of haskell hang out here?
2021-12-22 03:10:26 +0100 <Guest|47> vague question
2021-12-22 03:10:48 +0100 <geekosaur> I don't think any of them are on IRC
2021-12-22 03:11:08 +0100 <Guest|47> Sounds like something a creator would say...
2021-12-22 03:11:31 +0100 <yin> lol what's happening today? :D
2021-12-22 03:11:44 +0100geekosaurdidn't discover haskell until 2006
2021-12-22 03:12:26 +0100 <zero> > 2021 - 2006 -- just so you know
2021-12-22 03:12:27 +0100 <lambdabot> 15
2021-12-22 03:12:37 +0100ksqsf(~user@134.209.106.31) (Ping timeout: 240 seconds)
2021-12-22 03:12:37 +0100mvk(~mvk@2607:fea8:5cdd:f000::917a) (Ping timeout: 240 seconds)
2021-12-22 03:12:59 +0100 <EvanR> like 20 years ago
2021-12-22 03:13:16 +0100 <int-e> 20 years ago, 2006 was in the far future
2021-12-22 03:14:34 +0100Guest|47AlpacaPrince
2021-12-22 03:15:01 +0100 <int-e> . o O ( "far future" = "after the next general election" )
2021-12-22 03:15:37 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 240 seconds)
2021-12-22 03:16:04 +0100dsalsings “in the year two thousand…”
2021-12-22 03:16:29 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-12-22 03:18:49 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2021-12-22 03:19:36 +0100euouae(~euouae@user/euouae)
2021-12-22 03:20:39 +0100 <yin> dsal: read my mind. love how he kept doing it years after
2021-12-22 03:21:07 +0100 <dsal> yin: ha, yeah, that just made it better
2021-12-22 03:22:17 +0100mvk(~mvk@2607:fea8:5cdd:f000::917a)
2021-12-22 03:22:42 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:84c9:5514:9bd3:b2f5)
2021-12-22 03:24:57 +0100jkaye(~jkaye@2601:281:8300:7530:6da5:b4a4:e0e4:a76e) (Ping timeout: 240 seconds)
2021-12-22 03:26:25 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-12-22 03:29:42 +0100 <AlpacaPrince> upon updating haskell, the final prompt says:
2021-12-22 03:29:42 +0100 <AlpacaPrince> "If you are new to Haskell, check out https://www.haskell.org/ghcup/install/#first-steps"
2021-12-22 03:30:06 +0100 <AlpacaPrince> then:
2021-12-22 03:30:07 +0100 <dsal> AlpacaPrince: What does "updating haskell" mean?
2021-12-22 03:30:20 +0100 <AlpacaPrince> This will generate the following files:
2021-12-22 03:30:21 +0100 <AlpacaPrince> tree
2021-12-22 03:30:21 +0100 <AlpacaPrince> .
2021-12-22 03:30:22 +0100 <AlpacaPrince> ├── app
2021-12-22 03:30:22 +0100 <AlpacaPrince> │ └── Main.hs
2021-12-22 03:30:23 +0100 <AlpacaPrince> ├── CHANGELOG.md
2021-12-22 03:30:23 +0100 <AlpacaPrince> └── myfirstapp.cabal
2021-12-22 03:30:24 +0100 <AlpacaPrince> app/Main.hs is where your package’s code lives.
2021-12-22 03:30:42 +0100 <AlpacaPrince> by updating haskell I mean:
2021-12-22 03:30:43 +0100 <AlpacaPrince> curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
2021-12-22 03:31:06 +0100 <dsal> You mean installing ghcup?
2021-12-22 03:31:11 +0100 <zero> ha!
2021-12-22 03:31:20 +0100 <zero> AlpacaPrince: run ghcup tui
2021-12-22 03:31:51 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
2021-12-22 03:31:52 +0100 <AlpacaPrince> Yes, only I already had it installed, so it felt more like updating to me- though computers don't share my sentiment of feelings.
2021-12-22 03:32:00 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 276 seconds)
2021-12-22 03:32:21 +0100 <AlpacaPrince> The point I'm getting at, is that my tree lacks app >> main.hs
2021-12-22 03:32:24 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2021-12-22 03:32:33 +0100 <zero> AlpacaPrince: it can be confusing having multiple installations of ghc or whatever in different places
2021-12-22 03:33:11 +0100 <AlpacaPrince> ...after running :
2021-12-22 03:33:11 +0100 <AlpacaPrince> cabal init -n
2021-12-22 03:33:12 +0100 <AlpacaPrince> ...that is
2021-12-22 03:33:18 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds)
2021-12-22 03:34:03 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2021-12-22 03:35:17 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2021-12-22 03:36:33 +0100 <euouae> Are you saying that `cabal init` doesn't generate an app/Main.hs for you?
2021-12-22 03:36:58 +0100ksqsf(~user@134.209.106.31)
2021-12-22 03:37:02 +0100 <AlpacaPrince> Yes.
2021-12-22 03:37:29 +0100 <EvanR> I think I've had that happen
2021-12-22 03:37:29 +0100 <zero> what's the -n flag?
2021-12-22 03:37:50 +0100 <euouae> zero just use `cabal init --help` and see for yourself
2021-12-22 03:38:10 +0100 <AlpacaPrince> Also, I'm uncertain why ghcup prompts me to use `cabal init` when it is an overly complicated way to just save a text.hs and run that instead?
2021-12-22 03:38:12 +0100 <euouae> AlpacaPrince can you pastebin an example invocation? `mkdir foo; cd foo; cabal init; ls *`
2021-12-22 03:38:38 +0100shailangsa(~shailangs@host109-159-108-207.range109-159.btcentralplus.com)
2021-12-22 03:38:45 +0100 <zero> oops i was looking in the wrong place
2021-12-22 03:38:54 +0100 <euouae> Use https://paste.tomsmeding.com to paste
2021-12-22 03:42:00 +0100ksqsf(~user@134.209.106.31) (Ping timeout: 256 seconds)
2021-12-22 03:42:36 +0100 <AlpacaPrince> euouae what do you want me to paste into that?
2021-12-22 03:43:02 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-22 03:43:03 +0100 <euouae> AlpacaPrince the output of the commands I wrote above
2021-12-22 03:43:52 +0100ksqsf(~user@134.209.106.31)
2021-12-22 03:47:10 +0100 <AlpacaPrince> it says that foo is already in use by another package on Hackage
2021-12-22 03:47:29 +0100 <euouae> Please paste the output of the commands in the link
2021-12-22 03:47:47 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 252 seconds)
2021-12-22 03:48:07 +0100fef(~thedawn@user/thedawn)
2021-12-22 03:48:25 +0100khumba(~khumba@user/khumba)
2021-12-22 03:49:17 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 240 seconds)
2021-12-22 03:50:49 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-12-22 03:50:51 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 276 seconds)
2021-12-22 03:51:00 +0100danso(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
2021-12-22 03:52:05 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-12-22 03:52:10 +0100 <AlpacaPrince> I did
2021-12-22 03:52:25 +0100 <euouae> and now you can share the generated link here
2021-12-22 03:53:22 +0100 <AlpacaPrince> https://paste.tomsmeding.com/DceZ4mht/raw/1
2021-12-22 03:53:54 +0100 <euouae> That's not the command I told you to run
2021-12-22 03:53:54 +0100waleee(~waleee@h-98-128-229-110.NA.cust.bahnhof.se) (Ping timeout: 256 seconds)
2021-12-22 03:54:46 +0100 <AlpacaPrince> euouae 18:38:13
2021-12-22 03:54:47 +0100 <AlpacaPrince> AlpacaPrince can you pastebin an example invocation? `mkdir foo; cd foo; cabal init; ls *`
2021-12-22 03:55:02 +0100xff0x(~xff0x@port-92-195-26-37.dynamic.as20676.net) (Ping timeout: 256 seconds)
2021-12-22 03:55:04 +0100 <euouae> There is no need to repeat messages on IRC
2021-12-22 03:55:21 +0100 <AlpacaPrince> good point.
2021-12-22 03:56:20 +0100 <AlpacaPrince> this command?cabal init --help
2021-12-22 03:56:38 +0100 <euouae> You used the -n flag and I did not include ti
2021-12-22 03:56:44 +0100xff0x(~xff0x@2001:1a81:5290:1c00:7707:2a36:9641:195d)
2021-12-22 03:57:19 +0100 <euouae> In any case, you may delete the `foo` directory and instead do `mkdir foo665; cd foo665; cabal init; ls *` and paste the results as before in the website linked
2021-12-22 03:58:54 +0100 <AlpacaPrince> oh I see, I tried that too (without -n) and got:
2021-12-22 03:58:55 +0100 <AlpacaPrince> https://paste.tomsmeding.com/tnaJZ5pW/raw/1
2021-12-22 03:59:46 +0100 <int-e> pfffffffft, read the error
2021-12-22 04:01:51 +0100 <AlpacaPrince> Using cabal init seems like it over complicates learning to write haskell code. I don't want to blindly brush `cabal init` off as being "useless to me" before I know for sure that it is.
2021-12-22 04:01:51 +0100 <AlpacaPrince> Basically I'm just going through "learn you a haskell for great good" and for the first four chapters I was just making new .hs files for each chapter to practice code for easy execution, now I'm prompted by haskell  (after reinstallation, in hopes to be able to download Euterpea and HSoM libraries) to try this `cabal init' method that seems
2021-12-22 04:01:52 +0100 <AlpacaPrince> overly complicated with no benefit. Should I just continue with my clunky method of making .hs files and practicing haskell that way, or is cabal init something I should be using now?
2021-12-22 04:02:07 +0100 <int-e> oh, it's just a warning
2021-12-22 04:02:58 +0100 <int-e> what's the version of that cabal-install?
2021-12-22 04:03:13 +0100 <monochrom> Most favourite toy Haskell package name: foo. Most favourite toy Unix program name: test.
2021-12-22 04:04:08 +0100 <euouae> AlpacaPrince if you plan to share a program with the world at some point, you need to do it through a distribution channel; those channels in the programming world are typically utilizing package managers and servers that packages may be uploaded/downloaded to/from.
2021-12-22 04:05:22 +0100 <euouae> AlpacaPrince `Cabal is a system for building and packaging Haskell libraries and programs.` (from haskell.org/cabal) and https://hackage.haskell.org/ is the server where packages may be downloaded from and uploaded to
2021-12-22 04:06:09 +0100 <euouae> AlpacaPrince the fun of learning programming doesn't compare to the "fun" of learning how to share your code, and is obviously a more advanced topic. So you can be the judge of when it is necessary to learn these things.
2021-12-22 04:06:38 +0100 <int-e> (Works for me with cabal-install 3.6.2.0 on Linux.)
2021-12-22 04:07:38 +0100 <AlpacaPrince> >> cabal -V
2021-12-22 04:07:39 +0100 <AlpacaPrince> cabal-install version 3.6.2.0
2021-12-22 04:07:39 +0100 <AlpacaPrince> compiled using version 3.6.2.0 of the Cabal library
2021-12-22 04:09:47 +0100 <AlpacaPrince> thanks euouae, that makes it clear that I currently don't need the cabal service (despite it not making the app directory and main.hs like the main tutorial said it should).
2021-12-22 04:10:07 +0100 <euouae> It's because you're using a name that is already in use
2021-12-22 04:10:35 +0100 <euouae> but since you don't need cabal, that's good.
2021-12-22 04:10:58 +0100 <int-e> Ah, no, it doesn't work for me. I suck at testing, evidently.
2021-12-22 04:11:24 +0100 <int-e> So that name clash is a fatal error.
2021-12-22 04:12:02 +0100 <int-e> well, that is ridiculous
2021-12-22 04:12:31 +0100 <AlpacaPrince> hmm, yeah I don't need it so I don't want to occupy available public names for the sake of practice.... but maybe now is the time to acquire AlpacaPrince while it's available...
2021-12-22 04:13:30 +0100 <AlpacaPrince> (...dry humor)
2021-12-22 04:13:51 +0100 <int-e> the thing is, it's not really difficult to rename a package after the fact. a bit annoying (you have to both rename and edit the .cabal file, and possibly other packages if you depend on it yourself)
2021-12-22 04:13:56 +0100 <euouae> int-e My main beef with languages and package managers is that there's no security framework in place for updates
2021-12-22 04:14:29 +0100 <euouae> so hijacking an account and pushing malware is possible in python, haskell, rust etc
2021-12-22 04:14:53 +0100 <AlpacaPrince> you mean false updates could happen?
2021-12-22 04:14:56 +0100 <int-e> Oh, I'm missing that the hackage package will conflict with build planning.
2021-12-22 04:14:58 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-22 04:15:38 +0100 <monochrom> Yeah, suppose you depend on xxx, and xxx depends on foo. Um, which foo again? :)
2021-12-22 04:15:50 +0100 <euouae> AlpacaPrince If you're interested in the topic, see https://theupdateframework.io/
2021-12-22 04:16:27 +0100 <int-e> So you wouldn't be able to depend on it anyway. Now who was the evil person to upload a package with that name... dons? :-/
2021-12-22 04:16:37 +0100 <euouae> I'm somewhat interested but I'm just learning about cryptography and related things, so I don't know how much I can involve myself in this stuff. But it's notable that the above languages lack mechanisms to ensure the esecurity of the users
2021-12-22 04:16:56 +0100 <int-e> (it's funny that uploader != author here)
2021-12-22 04:17:12 +0100 <monochrom> Perhaps someone should create https://hackage.haskell.org/package/test , too >:)
2021-12-22 04:18:03 +0100 <euouae> cybersquatting is fun and games until you can't compile your package
2021-12-22 04:18:03 +0100 <int-e> and bar and fred and barney and xyzzy and frotz and... uh... I forget what others
2021-12-22 04:18:13 +0100 <euouae> quux
2021-12-22 04:18:40 +0100 <monochrom> Paper soccer. Interesting.
2021-12-22 04:18:46 +0100 <AlpacaPrince> so in layman terms, is cabal a pipeline for sharing and updating programs to publicly executable locations?
2021-12-22 04:18:56 +0100Axma99203Axman6
2021-12-22 04:19:24 +0100td_(~td@muedsl-82-207-238-131.citykom.de) (Ping timeout: 256 seconds)
2021-12-22 04:20:00 +0100 <euouae> AlpacaPrince they're called software repositories and they contain various peoples' programming projects. There's some automation for quickly downloading them and so on
2021-12-22 04:20:56 +0100td_(~td@94.134.91.68)
2021-12-22 04:20:57 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
2021-12-22 04:21:22 +0100 <monochrom> No, Hackage is the software repository.
2021-12-22 04:21:47 +0100 <int-e> Ah, http://www.catb.org/jargon/html/M/metasyntactic-variable.html looks like a proper late 90s website.
2021-12-22 04:25:20 +0100 <int-e> Oh I didn't remember the jab at Python in there :)
2021-12-22 04:26:57 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
2021-12-22 04:28:00 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-22 04:28:00 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-12-22 04:28:00 +0100wroathe(~wroathe@user/wroathe)
2021-12-22 04:28:33 +0100fef(~thedawn@user/thedawn) (Ping timeout: 276 seconds)
2021-12-22 04:28:38 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4)
2021-12-22 04:29:38 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-22 04:32:13 +0100chozorho(~chozorho@2601:146:300:c30::d1a0)
2021-12-22 04:32:32 +0100 <AlpacaPrince> do you know how to exit this situation:
2021-12-22 04:32:32 +0100 <AlpacaPrince> >> cd "folder name with spaces               --forgot to add closing parentheses
2021-12-22 04:32:33 +0100 <AlpacaPrince> >                                                               -- now we are in nebulous single > territory...
2021-12-22 04:32:48 +0100 <AlpacaPrince> without closing terminal...
2021-12-22 04:33:02 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 260 seconds)
2021-12-22 04:33:03 +0100lavaman(~lavaman@98.38.249.169)
2021-12-22 04:33:04 +0100 <EvanR> you could try control C
2021-12-22 04:33:22 +0100 <EvanR> or Escape
2021-12-22 04:33:22 +0100 <AlpacaPrince> That is the solution, thank you
2021-12-22 04:33:41 +0100 <AlpacaPrince> what is the point of:
2021-12-22 04:33:41 +0100 <AlpacaPrince> >
2021-12-22 04:34:00 +0100 <chozorho> It probably indicates that they're quoting somebody else's post
2021-12-22 04:34:09 +0100 <chozorho> wait
2021-12-22 04:34:14 +0100 <chozorho> maybe not
2021-12-22 04:34:18 +0100 <chozorho> forgive me, I'm new
2021-12-22 04:34:19 +0100 <AlpacaPrince> I mean inside of bash
2021-12-22 04:34:23 +0100 <dsal> > print "It's OK"
2021-12-22 04:34:24 +0100 <lambdabot> <IO ()>
2021-12-22 04:34:26 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2021-12-22 04:34:29 +0100 <chozorho> ohh that's redirected output
2021-12-22 04:34:44 +0100 <chozorho> like... if instead of outputting stuff to stdout, you can redirect it to a file
2021-12-22 04:34:56 +0100 <euouae> bash is off topic and your answer is wrong chozorho
2021-12-22 04:34:58 +0100 <AlpacaPrince> is <|O ()> and emoji?
2021-12-22 04:35:00 +0100 <chozorho> you can also use `tee` to -
2021-12-22 04:35:02 +0100 <AlpacaPrince> an*
2021-12-22 04:35:28 +0100zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2021-12-22 04:35:45 +0100 <chozorho> erm... I don't see how it's wrong but ok
2021-12-22 04:35:48 +0100 <EvanR> the shell... big topic
2021-12-22 04:36:20 +0100 <monochrom> No one reads the question, eh?
2021-12-22 04:37:07 +0100 <monochrom> In bash, the prompt > means bash thinks your previous line didn't finish your command, it now invites you to go on.
2021-12-22 04:37:08 +0100 <EvanR> AlpacaPrince, does your font really make <IO ()> look like <|O ()>
2021-12-22 04:37:10 +0100 <euouae> chozorho well it's wrong because the original issue was about multiline input, but it's also wrong that you participate in offtopic discussion... the original issue simply should not had been brought up here and the proper response is to point out that it is off topic
2021-12-22 04:37:32 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2021-12-22 04:37:54 +0100 <EvanR> shit the topic police showed up, run
2021-12-22 04:38:10 +0100euouae(~euouae@user/euouae) ( )
2021-12-22 04:39:31 +0100 <AlpacaPrince> Monochrom that is enlightening, thank you. I'll be more cognizant of topic.
2021-12-22 04:40:03 +0100 <AlpacaPrince> EvanR, yes.
2021-12-22 04:40:37 +0100jespada(~jespada@87.74.33.157) (Ping timeout: 240 seconds)
2021-12-22 04:40:37 +0100 <EvanR> you should fix your font, since I in IO is a capital I
2021-12-22 04:40:38 +0100 <monochrom> No worries, it was a fair question in the midst of using the "cd sakldjf; cabal init" idiom.
2021-12-22 04:40:41 +0100 <EvanR> um... Eye
2021-12-22 04:40:48 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-22 04:40:48 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-12-22 04:40:48 +0100wroathe(~wroathe@user/wroathe)
2021-12-22 04:40:56 +0100fef(~thedawn@user/thedawn)
2021-12-22 04:41:30 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2021-12-22 04:42:34 +0100 <AlpacaPrince> Well it is the brow of the emoji, but I now get your point. capital i, not a vertical bar.
2021-12-22 04:43:06 +0100jespada(~jespada@87.74.33.157)
2021-12-22 04:43:06 +0100 <EvanR> also personally I didn't see any emoji
2021-12-22 04:43:28 +0100 <EvanR> unlike this one 😎
2021-12-22 04:43:52 +0100 <EvanR> some irc client friction going on I presume
2021-12-22 04:45:51 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 268 seconds)
2021-12-22 04:53:50 +0100Erutuon(~Erutuon@user/erutuon)
2021-12-22 04:56:08 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 04:56:09 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 04:56:20 +0100xff0x(~xff0x@2001:1a81:5290:1c00:7707:2a36:9641:195d) (Ping timeout: 268 seconds)
2021-12-22 04:56:50 +0100xff0x(~xff0x@2001:1a81:5290:1c00:7789:5df4:4cdc:7899)
2021-12-22 04:58:53 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 04:58:53 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 05:01:32 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 240 seconds)
2021-12-22 05:04:10 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-12-22 05:05:06 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 05:05:06 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 05:14:56 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
2021-12-22 05:17:19 +0100fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-12-22 05:17:57 +0100notzmv(~zmv@user/notzmv)
2021-12-22 05:21:03 +0100jinsun__(~quassel@user/jinsun)
2021-12-22 05:21:20 +0100jinsun__(~quassel@user/jinsun) (Client Quit)
2021-12-22 05:21:37 +0100fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 240 seconds)
2021-12-22 05:22:57 +0100jinsun(~quassel@user/jinsun) (Ping timeout: 240 seconds)
2021-12-22 05:24:42 +0100yin(~yin@user/zero) (Ping timeout: 268 seconds)
2021-12-22 05:26:13 +0100deadmarshal(~deadmarsh@95.38.229.128)
2021-12-22 05:26:14 +0100ksqsf(~user@134.209.106.31) (Ping timeout: 252 seconds)
2021-12-22 05:29:05 +0100fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-12-22 05:29:15 +0100 <AlpacaPrince> take 2 [1,13..]
2021-12-22 05:30:19 +0100 <pfurla-matrix> [1,13]
2021-12-22 05:30:23 +0100 <AlpacaPrince> > take 2 [1,13..]
2021-12-22 05:30:24 +0100 <lambdabot> [1,13]
2021-12-22 05:33:58 +0100 <ChaiTRex> Is there some nice way to do `filter ((== 8) . sum) . sequence` on a [[Word]] (i.e., everything is nonnegative) such that it short circuits lists that begin with a sum that's too high. Like if the elements produced by sequence are [1, 9, ...], when it sees 1, 9 are the first elements, it should stop processing elements that start with 1, 9 and go to some other starting two elements?
2021-12-22 05:34:39 +0100 <ChaiTRex> I could write a function to do it, but I was wondering if there's something built in that I don't know about.
2021-12-22 05:37:04 +0100 <EvanR> how would you ever write a function like that that will work from within the filter callback
2021-12-22 05:37:07 +0100 <EvanR> even*
2021-12-22 05:37:28 +0100x88x88x(~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb)
2021-12-22 05:37:56 +0100 <EvanR> you mean it looks ahead before you even sum
2021-12-22 05:38:30 +0100 <ChaiTRex> I don't mean it has to use sequence or filter.
2021-12-22 05:39:27 +0100 <ChaiTRex> I mean to replace that with something that short circuits instead. It would look ahead. If the first element in the [Word]s produced by sequence is higher than 8, it throws away that first element.
2021-12-22 05:39:43 +0100 <ChaiTRex> If the first two elements sum to higher than 8, it goes to the next second element.
2021-12-22 05:39:50 +0100obfusk(~quassel@a82-161-150-56.adsl.xs4all.nl) (Quit: No Ping reply in 180 seconds.)
2021-12-22 05:39:59 +0100 <ChaiTRex> Let me see if I can write the function.
2021-12-22 05:41:08 +0100obfusk(~quassel@a82-161-150-56.adsl.xs4all.nl)
2021-12-22 05:46:16 +0100 <int-e> > map reverse $ filter ((== 8) . sum) . foldM (\b -> filter ((<= 8) . sum) . fmap (:b)) [] $ [[0,1,2],[0,2,4],[0,3,9]]
2021-12-22 05:46:17 +0100 <lambdabot> [[1,4,3]]
2021-12-22 05:48:49 +0100 <EvanR> you can also just stick another filter in front
2021-12-22 05:48:56 +0100 <int-e> I don't know. I tend to write manual recursions for these things
2021-12-22 05:49:27 +0100 <int-e> which make it easier to stick in things like partial sums
2021-12-22 05:50:18 +0100 <int-e> also, for a fixed sum in particular I'd probably do some meet-in-the-middle stuff.
2021-12-22 05:50:35 +0100 <int-e> (if performance of that enumeration is critical)
2021-12-22 05:50:54 +0100sprout(~quassel@2a02:a467:ccd6:1:bc5b:dbe0:79e5:a909)
2021-12-22 05:54:57 +0100deadmarshal(~deadmarsh@95.38.229.128) (Ping timeout: 240 seconds)
2021-12-22 05:55:13 +0100deadmarshal(~deadmarsh@95.38.229.128)
2021-12-22 05:56:37 +0100slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-12-22 05:57:13 +0100yauhsien(~yauhsien@2402:7500:5e5:1e81:bd32:4029:4cc:7e5a)
2021-12-22 05:58:53 +0100 <AlpacaPrince> Anyone here have experience with Euterpea or HSoM?
2021-12-22 06:00:11 +0100 <AlpacaPrince> As a new user to Haskell, I'm trying to figure out if these libraries are evening functioning/operational.
2021-12-22 06:09:17 +0100yauhsien(~yauhsien@2402:7500:5e5:1e81:bd32:4029:4cc:7e5a) (Ping timeout: 240 seconds)
2021-12-22 06:11:06 +0100acidsys(~LSD@2.lsd.systems) (Excess Flood)
2021-12-22 06:11:40 +0100acidsys(~LSD@2.lsd.systems)
2021-12-22 06:14:42 +0100 <ChaiTRex> int-e: Thanks! I was able to reduce the partial sum repeated calculations.
2021-12-22 06:14:45 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-12-22 06:14:50 +0100 <ChaiTRex> > map (reverse . tail) . filter ((== 8) . head) . foldM (\ (sum:ys) xs -> filter ((<= 8) . head) . fmap (\ x -> (sum + x):x:ys) $ xs) [0] $ [[0,1,2],[0,2,4],[0,3,9]]
2021-12-22 06:14:51 +0100 <lambdabot> [[1,4,3]]
2021-12-22 06:16:35 +0100 <Square> could you write a standalone deriving statement for all members of a type family?
2021-12-22 06:16:41 +0100analognoise(~analognoi@185.202.221.238)
2021-12-22 06:19:03 +0100fef(~thedawn@user/thedawn) (Ping timeout: 276 seconds)
2021-12-22 06:25:32 +0100x_kuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2021-12-22 06:25:32 +0100statusbot4(~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Read error: Connection reset by peer)
2021-12-22 06:25:40 +0100statusbot(~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com)
2021-12-22 06:26:20 +0100deadmarshal(~deadmarsh@95.38.229.128) (Ping timeout: 256 seconds)
2021-12-22 06:28:39 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-22 06:28:43 +0100 <lyxia> uh, you might want to be more specific because deriving is commonly associated with data, not type families.
2021-12-22 06:30:54 +0100fizbin_(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-12-22 06:31:35 +0100 <Square> lyxia, Atm, i feel unable to be more specific. Struggling with create a Show-like class and make it fly using generics and I somehow end up needing to specify things for the URec data family. =D
2021-12-22 06:31:45 +0100 <Square> creating*
2021-12-22 06:31:49 +0100fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Read error: Connection reset by peer)
2021-12-22 06:32:22 +0100 <Square> specify things = provide instances
2021-12-22 06:33:08 +0100pfurla_(~pfurla@2804:18:5822:8094:5d30:a5f7:fbaf:167c)
2021-12-22 06:33:08 +0100pfurla(~pfurla@189.60.63.81) (Ping timeout: 256 seconds)
2021-12-22 06:33:24 +0100analognoise(~analognoi@185.202.221.238) (Quit: Leaving)
2021-12-22 06:34:16 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2021-12-22 06:38:07 +0100analognoise(~analognoi@185.202.221.238)
2021-12-22 06:39:45 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2021-12-22 06:45:45 +0100 <int-e> ChaiTRex: oh abusing (:) as an ordered pair, nasty :P
2021-12-22 06:47:51 +0100xff0x(~xff0x@2001:1a81:5290:1c00:7789:5df4:4cdc:7899) (Ping timeout: 245 seconds)
2021-12-22 06:49:04 +0100xff0x(~xff0x@2001:1a81:5290:1c00:9996:3caa:8169:8a61)
2021-12-22 06:50:01 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 06:51:44 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 06:51:45 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 06:52:16 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: closed)
2021-12-22 06:52:25 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 06:53:39 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 06:53:39 +0100emf(~emf@2620:10d:c091:480::1:3408)
2021-12-22 06:53:43 +0100pfurla(~pfurla@2804:14d:5c5a:9a78:1daa:99f1:8d08:c258)
2021-12-22 06:53:53 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2021-12-22 06:54:59 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-12-22 06:55:15 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 06:55:41 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 06:56:43 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 06:56:45 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 06:57:14 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: closed)
2021-12-22 06:57:16 +0100pfurla__(~pfurla@2804:18:5822:8094:2d64:e7e1:c381:269f)
2021-12-22 06:57:17 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 06:57:18 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 06:57:43 +0100dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 250 seconds)
2021-12-22 06:57:44 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 06:57:49 +0100pfurla_(~pfurla@2804:18:5822:8094:5d30:a5f7:fbaf:167c) (Ping timeout: 268 seconds)
2021-12-22 06:58:37 +0100pfurla(~pfurla@2804:14d:5c5a:9a78:1daa:99f1:8d08:c258) (Ping timeout: 240 seconds)
2021-12-22 06:59:17 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 06:59:37 +0100emf(~emf@2620:10d:c091:480::1:3408) (Ping timeout: 240 seconds)
2021-12-22 06:59:51 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 07:00:03 +0100deadmarshal(~deadmarsh@95.38.229.128)
2021-12-22 07:00:07 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-22 07:01:26 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 07:01:32 +0100pfurla__(~pfurla@2804:18:5822:8094:2d64:e7e1:c381:269f) (Ping timeout: 240 seconds)
2021-12-22 07:01:57 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 07:03:32 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 07:03:49 +0100pfurla(~pfurla@2804:14d:5c5a:9a78:74e3:e9be:881c:edd5)
2021-12-22 07:03:59 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-12-22 07:04:03 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 07:04:04 +0100dibblego(~dibblego@122-199-1-30.ip4.superloop.com)
2021-12-22 07:04:04 +0100dibblego(~dibblego@122-199-1-30.ip4.superloop.com) (Changing host)
2021-12-22 07:04:04 +0100dibblego(~dibblego@haskell/developer/dibblego)
2021-12-22 07:05:36 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 07:06:12 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 07:07:45 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 07:08:22 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 07:09:56 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 07:10:15 +0100phma(phma@2001:5b0:211f:1938:f16a:3063:a09d:1c4c) (Read error: Connection reset by peer)
2021-12-22 07:10:17 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 07:10:35 +0100ksqsf(~user@134.209.106.31)
2021-12-22 07:11:09 +0100phma(~phma@2001:5b0:210d:e448:bd04:4091:a4d4:4fae)
2021-12-22 07:11:15 +0100dirtcastle(~dirtcastl@103.43.203.229)
2021-12-22 07:11:54 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 07:12:21 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 07:13:55 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 07:14:20 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 07:15:56 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 07:16:24 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 07:17:59 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 07:18:30 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 07:20:04 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 07:20:37 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 07:21:39 +0100Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
2021-12-22 07:22:11 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 07:22:36 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 07:24:10 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 07:24:41 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 07:26:15 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 07:26:45 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 07:27:17 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-22 07:28:21 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 07:28:48 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 07:30:24 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 07:30:45 +0100fizbin_(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-12-22 07:30:51 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 07:32:29 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 07:32:52 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 07:33:57 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-12-22 07:34:28 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 07:34:32 +0100dirtcastle(~dirtcastl@103.43.203.229) (Remote host closed the connection)
2021-12-22 07:35:04 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 07:38:14 +0100mbuf(~Shakthi@171.61.232.157)
2021-12-22 07:38:19 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
2021-12-22 07:38:32 +0100deadmarshal(~deadmarsh@95.38.229.128) (Ping timeout: 240 seconds)
2021-12-22 07:39:12 +0100Morrow(~quassel@bzq-110-168-31-106.red.bezeqint.net)
2021-12-22 07:39:47 +0100khumba(~khumba@user/khumba) ()
2021-12-22 07:40:51 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2021-12-22 07:42:14 +0100shailangsa(~shailangs@host109-159-108-207.range109-159.btcentralplus.com) (Ping timeout: 268 seconds)
2021-12-22 07:42:20 +0100zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2021-12-22 07:45:50 +0100zaquest(~notzaques@5.130.79.72)
2021-12-22 07:50:22 +0100Erutuon(~Erutuon@user/erutuon)
2021-12-22 07:50:57 +0100 <AlpacaPrince> > xs = [(1,1), (1,2), (1,3)]
2021-12-22 07:50:57 +0100 <AlpacaPrince> >sumxs = [a+b | (a,b) <- xs]
2021-12-22 07:50:58 +0100 <lambdabot> <hint>:1:4: error: parse error on input ‘=’
2021-12-22 07:52:05 +0100 <AlpacaPrince> I suppose lambda bot cannot have user defined variables...
2021-12-22 07:52:23 +0100 <AlpacaPrince> > foo = 7
2021-12-22 07:52:24 +0100 <AlpacaPrince> > foo
2021-12-22 07:52:25 +0100 <lambdabot> <hint>:1:5: error: parse error on input ‘=’
2021-12-22 07:52:26 +0100 <lambdabot> error:
2021-12-22 07:52:26 +0100 <lambdabot> • Variable not in scope: foo
2021-12-22 07:52:26 +0100 <lambdabot> • Perhaps you meant ‘for’ (imported from Data.Traversable)
2021-12-22 07:54:41 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2021-12-22 07:56:54 +0100 <AlpacaPrince> regarding pattern matching in list comprehension, "Learn you a haskell for great good" says:
2021-12-22 07:56:55 +0100 <AlpacaPrince> "Should a pattern match fail, it will just move on to the next element."
2021-12-22 07:56:55 +0100 <AlpacaPrince> so I try to put it to the test by putting a pair of strings in a list of pairs, and the module does not even load.
2021-12-22 07:57:15 +0100 <AlpacaPrince> ghci> let xs = [(1,3), (4,3), (2,4), (5,3), (5,6), (3,1)]
2021-12-22 07:57:16 +0100 <AlpacaPrince> ghci> [a+b | (a,b) <- xs]
2021-12-22 07:57:16 +0100 <AlpacaPrince> [4,7,6,8,11,4]
2021-12-22 07:58:37 +0100 <AlpacaPrince> that is the code that does work, but replace one pair from xs with (Char, Char) or even (Char, Int) and it does not run. It seems like it should just be a False pair and get skipped.
2021-12-22 07:59:20 +0100 <pavonia> The elements all still have to have the same type
2021-12-22 07:59:59 +0100puke(~puke@user/puke) (Quit: puke)
2021-12-22 08:00:04 +0100 <pavonia> But try something like [ (a, 3) | (a, 3) <- xs ]
2021-12-22 08:01:33 +0100ksqsf(~user@134.209.106.31) (Ping timeout: 256 seconds)
2021-12-22 08:01:41 +0100puke(~puke@user/puke)
2021-12-22 08:02:00 +0100pfurla_(~pfurla@2804:14d:5c5a:9a78:6ce0:1b08:23ee:4eaf)
2021-12-22 08:03:14 +0100 <int-e> does this exist somewhere in base? xs <||> ys = if null xs then xs else ys
2021-12-22 08:03:34 +0100 <int-e> uh
2021-12-22 08:03:49 +0100 <int-e> I swapped xs and ys in the results: xs <||> ys = if null xs then ys else xs
2021-12-22 08:05:37 +0100pfurla(~pfurla@2804:14d:5c5a:9a78:74e3:e9be:881c:edd5) (Ping timeout: 240 seconds)
2021-12-22 08:08:29 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-22 08:09:29 +0100 <AlpacaPrince> pavonia yes this seems to produce the effect the author indicates
2021-12-22 08:12:15 +0100 <AlpacaPrince> int-e I'm not sure how to even test your code. I did type it into ghci and it gave no error, but it also produced no return.
2021-12-22 08:12:57 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-12-22 08:13:56 +0100deadmarshal(~deadmarsh@95.38.229.128)
2021-12-22 08:15:09 +0100 <int-e> AlpacaPrince: that wasn't for you. but when you typed that into ghci, it defined an infix operator <||>, so for example :t (<||>) will print its type.
2021-12-22 08:15:40 +0100 <g> int-e: in readp it's like <++, biased choice
2021-12-22 08:15:57 +0100 <g> I think LogicT has an operator for it
2021-12-22 08:16:09 +0100 <int-e> > let xs <||> ys = if null xs then ys else xs in ([] <||> [1,2,3], [42] <||> [1,2,3])
2021-12-22 08:16:11 +0100 <lambdabot> ([1,2,3],[42])
2021-12-22 08:16:38 +0100jinsun(~quassel@user/jinsun)
2021-12-22 08:18:17 +0100deadmarshal(~deadmarsh@95.38.229.128) (Ping timeout: 240 seconds)
2021-12-22 08:19:05 +0100phma_(~phma@2001:5b0:210d:e448:bd04:4091:a4d4:4fae)
2021-12-22 08:19:31 +0100 <int-e> Oh I guess I could cobble it together with Data.Monoid.First
2021-12-22 08:19:50 +0100phma(~phma@2001:5b0:210d:e448:bd04:4091:a4d4:4fae) (Ping timeout: 260 seconds)
2021-12-22 08:20:12 +0100shailangsa_(~shailangs@host109-159-108-207.range109-159.btcentralplus.com)
2021-12-22 08:21:56 +0100gehmehgeh(~user@user/gehmehgeh)
2021-12-22 08:21:57 +0100shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2021-12-22 08:23:36 +0100deadmarshal(~deadmarsh@95.38.229.128)
2021-12-22 08:24:46 +0100deech`(~user@024-217-244-075.res.spectrum.com) (Ping timeout: 256 seconds)
2021-12-22 08:27:08 +0100deech`(~user@024-217-244-075.res.spectrum.com)
2021-12-22 08:28:41 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-12-22 08:28:58 +0100img(~img@user/img)
2021-12-22 08:30:13 +0100 <dsal> I'm always surprised when <|> or <!> don't do that.
2021-12-22 08:32:05 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2021-12-22 08:32:29 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-12-22 08:34:47 +0100lavaman(~lavaman@98.38.249.169)
2021-12-22 08:37:15 +0100deadmarshal(~deadmarsh@95.38.229.128) (Ping timeout: 256 seconds)
2021-12-22 08:38:57 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-12-22 08:41:21 +0100shailangsa_(~shailangs@host109-159-108-207.range109-159.btcentralplus.com) ()
2021-12-22 08:41:25 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Ping timeout: 268 seconds)
2021-12-22 08:41:39 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2021-12-22 08:42:08 +0100_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-12-22 08:42:42 +0100sagax(~sagax_nb@user/sagax) (Ping timeout: 260 seconds)
2021-12-22 08:44:28 +0100deadmarshal(~deadmarsh@95.38.229.128)
2021-12-22 08:45:40 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:84c9:5514:9bd3:b2f5) (Remote host closed the connection)
2021-12-22 08:56:52 +0100 <int-e> > _2 (\x -> [x, x+1]) (1,2,3)
2021-12-22 08:56:54 +0100 <lambdabot> [(1,2,3),(1,3,3)]
2021-12-22 08:59:58 +0100pfurla_(~pfurla@2804:14d:5c5a:9a78:6ce0:1b08:23ee:4eaf) (Ping timeout: 260 seconds)
2021-12-22 09:02:33 +0100chomwitt(~chomwitt@ppp-2-85-245-134.home.otenet.gr)
2021-12-22 09:03:41 +0100dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2021-12-22 09:05:41 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2021-12-22 09:08:35 +0100jonathanx(~jonathan@217-210-129-139-no2450.tbcn.telia.com)
2021-12-22 09:11:13 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Remote host closed the connection)
2021-12-22 09:11:59 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-22 09:14:17 +0100pfurla(~pfurla@2804:14d:5c5a:9a78:6ce0:1b08:23ee:4eaf)
2021-12-22 09:17:47 +0100jonathanx(~jonathan@217-210-129-139-no2450.tbcn.telia.com) (Ping timeout: 252 seconds)
2021-12-22 09:21:19 +0100shailangsa(~shailangs@host109-159-108-207.range109-159.btcentralplus.com)
2021-12-22 09:21:52 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2021-12-22 09:21:57 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Remote host closed the connection)
2021-12-22 09:27:45 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-12-22 09:31:02 +0100darchitect(~darchitec@2a00:23c6:3584:df00:7dec:bf13:8fa:748c) (Ping timeout: 240 seconds)
2021-12-22 09:31:16 +0100fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-12-22 09:35:04 +0100pfurla(~pfurla@2804:14d:5c5a:9a78:6ce0:1b08:23ee:4eaf) (Quit: gone to sleep. ZZZzzz…)
2021-12-22 09:35:17 +0100fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 240 seconds)
2021-12-22 09:45:51 +0100neurocyte0132889(~neurocyte@IP-045014189127.dynamic.medianet-world.de)
2021-12-22 09:45:51 +0100neurocyte0132889(~neurocyte@IP-045014189127.dynamic.medianet-world.de) (Changing host)
2021-12-22 09:45:51 +0100neurocyte0132889(~neurocyte@user/neurocyte)
2021-12-22 09:46:04 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4)
2021-12-22 09:46:09 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-12-22 09:46:49 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-22 09:48:17 +0100deadmarshal(~deadmarsh@95.38.229.128) (Ping timeout: 240 seconds)
2021-12-22 09:50:17 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4) (Ping timeout: 240 seconds)
2021-12-22 09:51:22 +0100max22-(~maxime@2a01cb08833598002412bf121caf815d.ipv6.abo.wanadoo.fr)
2021-12-22 09:51:28 +0100chozorho(~chozorho@2601:146:300:c30::d1a0) (Quit: WeeChat 3.0)
2021-12-22 09:57:53 +0100darchitect(~darchitec@82-132-213-95.dab.02.net)
2021-12-22 09:59:47 +0100dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2021-12-22 10:01:35 +0100danso(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 268 seconds)
2021-12-22 10:03:57 +0100neurocyte0132889(~neurocyte@user/neurocyte) (Ping timeout: 256 seconds)
2021-12-22 10:05:38 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827)
2021-12-22 10:06:29 +0100cosimone(~user@93-47-230-208.ip115.fastwebnet.it)
2021-12-22 10:08:12 +0100neurocyte0132889(~neurocyte@IP-045014189127.dynamic.medianet-world.de)
2021-12-22 10:08:12 +0100neurocyte0132889(~neurocyte@IP-045014189127.dynamic.medianet-world.de) (Changing host)
2021-12-22 10:08:12 +0100neurocyte0132889(~neurocyte@user/neurocyte)
2021-12-22 10:09:37 +0100dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 268 seconds)
2021-12-22 10:11:01 +0100pfurla(~pfurla@2804:14d:5c5a:9a78:6ce0:1b08:23ee:4eaf)
2021-12-22 10:12:13 +0100dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2021-12-22 10:13:02 +0100shriekingnoise(~shrieking@186.137.144.80) (Quit: Quit)
2021-12-22 10:13:02 +0100dirtcastle(~dirtcastl@103.43.203.229)
2021-12-22 10:14:37 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 240 seconds)
2021-12-22 10:15:02 +0100 <AlpacaPrince> is there a way to convert a pair into a list?
2021-12-22 10:15:23 +0100 <AlpacaPrince> (1,3) into [1,3]
2021-12-22 10:16:06 +0100danso(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
2021-12-22 10:16:47 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-12-22 10:17:49 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-12-22 10:17:50 +0100allbery_b(~geekosaur@xmonad/geekosaur)
2021-12-22 10:17:53 +0100allbery_bgeekosaur
2021-12-22 10:20:17 +0100danso(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 240 seconds)
2021-12-22 10:21:19 +0100danso(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
2021-12-22 10:22:32 +0100deadmarshal(~deadmarsh@95.38.229.128)
2021-12-22 10:22:57 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Remote host closed the connection)
2021-12-22 10:27:31 +0100acidjnk(~acidjnk@p200300d0c7271e256ce23fbe5bf2eea3.dip0.t-ipconnect.de)
2021-12-22 10:28:53 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
2021-12-22 10:29:06 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-22 10:31:02 +0100Codaraxis(~Codaraxis@user/codaraxis)
2021-12-22 10:32:29 +0100 <carbolymer> AlpacaPrince: Not really, unless you mean type level list, then it should
2021-12-22 10:32:34 +0100Bartol(~Bartol@user/Bartol)
2021-12-22 10:32:59 +0100 <carbolymer> AlpacaPrince: you'd need to make sure that all tuple elements are of the same type
2021-12-22 10:33:38 +0100 <carbolymer> AlpacaPrince: well... I assumed you don't want `[fst pair, snd pair`
2021-12-22 10:33:44 +0100 <carbolymer> ]
2021-12-22 10:34:17 +0100wolfshappen(~waff@irc.furworks.de) (Ping timeout: 240 seconds)
2021-12-22 10:34:57 +0100mvk(~mvk@2607:fea8:5cdd:f000::917a) (Ping timeout: 240 seconds)
2021-12-22 10:35:14 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Quit: coot)
2021-12-22 10:35:54 +0100 <AlpacaPrince> carbolymer: that would probably work. I'm trying to pattern match with lists comprehension.
2021-12-22 10:36:31 +0100 <AlpacaPrince> carbolymer: basically trying to use x:xs in the case where xs is a list of pairs
2021-12-22 10:36:46 +0100nckxnckxmas
2021-12-22 10:43:13 +0100dirtcastle(~dirtcastl@103.43.203.229) (Quit: Quit)
2021-12-22 10:43:35 +0100Erutuon(~Erutuon@user/erutuon)
2021-12-22 10:44:05 +0100 <AlpacaPrince> > zip [1..] [10,20..90]
2021-12-22 10:44:06 +0100 <lambdabot> [(1,10),(2,20),(3,30),(4,40),(5,50),(6,60),(7,70),(8,80),(9,90)]
2021-12-22 10:44:28 +0100 <AlpacaPrince> into:
2021-12-22 10:44:29 +0100 <AlpacaPrince> > [[fst a, snd a] | a <- zip [1..] [10,20..90]]
2021-12-22 10:44:30 +0100 <lambdabot> [[1,10],[2,20],[3,30],[4,40],[5,50],[6,60],[7,70],[8,80],[9,90]]
2021-12-22 10:46:22 +0100danso(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 260 seconds)
2021-12-22 10:49:50 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-12-22 11:03:01 +0100sprout(~quassel@2a02:a467:ccd6:1:bc5b:dbe0:79e5:a909) (Ping timeout: 240 seconds)
2021-12-22 11:05:20 +0100 <int-e> > zipWith (\a b -> [a,b]) [1..] "Hello"
2021-12-22 11:05:21 +0100 <lambdabot> error:
2021-12-22 11:05:21 +0100 <lambdabot> • No instance for (Num Char) arising from the literal ‘1’
2021-12-22 11:05:21 +0100 <lambdabot> • In the expression: 1
2021-12-22 11:05:22 +0100 <int-e> :P
2021-12-22 11:05:28 +0100 <int-e> > zipWith (\a b -> [a,b]) [1..] [2,3,5]
2021-12-22 11:05:29 +0100 <lambdabot> [[1,2],[2,3],[3,5]]
2021-12-22 11:11:51 +0100irfan(~irfan@user/irfan)
2021-12-22 11:15:12 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2021-12-22 11:16:22 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Remote host closed the connection)
2021-12-22 11:18:03 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827)
2021-12-22 11:19:16 +0100 <xsperry> @pl (\a b -> [a,b])
2021-12-22 11:19:16 +0100 <lambdabot> (. return) . (:)
2021-12-22 11:19:22 +0100 <xsperry> ^_^
2021-12-22 11:19:24 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Remote host closed the connection)
2021-12-22 11:19:38 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2021-12-22 11:20:31 +0100 <AlpacaPrince> From Learn you a haskell for great good:
2021-12-22 11:20:31 +0100 <AlpacaPrince> "If you want to bind, say, the first three elements to variables and the rest of the list to another variable, you can use something like x:y:z:zs. It will only match against lists that have three elements or more."
2021-12-22 11:20:44 +0100 <AlpacaPrince> what is a simple example of this?
2021-12-22 11:21:01 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
2021-12-22 11:21:01 +0100Lord_of_Life_Lord_of_Life
2021-12-22 11:21:21 +0100Tuplanolla(~Tuplanoll@91-159-68-169.elisa-laajakaista.fi)
2021-12-22 11:22:01 +0100 <Taneb> > let shuffleFirstThree (x:y:z:zs) = (z:x:y:zs); shuffleFirstThree zs = zs in shuffleFirstThree "lpAacaPrince"
2021-12-22 11:22:02 +0100 <lambdabot> "AlpacaPrince"
2021-12-22 11:22:58 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Remote host closed the connection)
2021-12-22 11:23:22 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827)
2021-12-22 11:28:48 +0100danso(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
2021-12-22 11:29:00 +0100 <AlpacaPrince> Taneb
2021-12-22 11:29:01 +0100 <AlpacaPrince> *Main> zs = [7,8,9]
2021-12-22 11:29:01 +0100 <AlpacaPrince> *Main> shuffleFirstThree zs = zs in shuffleFirstThree
2021-12-22 11:29:02 +0100 <AlpacaPrince> <interactive>:110:27: error: parse error on input ‘in’
2021-12-22 11:29:36 +0100 <geekosaur> "let" is not optional if you're using "in"
2021-12-22 11:30:24 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-22 11:30:25 +0100 <AlpacaPrince> I first did:
2021-12-22 11:30:26 +0100 <AlpacaPrince> *Main> shuffleFirstThree (2:4:6:[7,8,9])
2021-12-22 11:30:26 +0100 <AlpacaPrince> [6,2,4,7,8,9]
2021-12-22 11:30:35 +0100 <AlpacaPrince> *Main> let shuffleFirstThree (x:y:z:zs) = (z:x:y:zs)
2021-12-22 11:30:56 +0100 <AlpacaPrince> let command was first in my order of operations
2021-12-22 11:31:57 +0100deadmarshal(~deadmarsh@95.38.229.128) (Ping timeout: 240 seconds)
2021-12-22 11:33:33 +0100 <xsperry> either write that definition in a file, where you can use newlines, or copy/paste entire Taneb's line to ghci
2021-12-22 11:33:50 +0100 <geekosaur> "let <bindings> in <expression>" is an expression, not a command that can be split up like that
2021-12-22 11:34:16 +0100 <xsperry> this works too:
2021-12-22 11:34:24 +0100 <xsperry> GHCI> let shuffleFirstThree (x:y:z:zs) = (z:x:y:zs); shuffleFirstThree zs = zs
2021-12-22 11:34:29 +0100 <xsperry> GHCI> shuffleFirstThree [1,2,3,4]
2021-12-22 11:35:17 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 252 seconds)
2021-12-22 11:38:32 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-12-22 11:38:47 +0100 <AlpacaPrince> I see now, thanks.
2021-12-22 11:38:57 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 11:39:16 +0100 <AlpacaPrince> The part that i'm focusing on is:
2021-12-22 11:39:16 +0100 <AlpacaPrince> "x:y:z:zs. It will only match against lists that have three elements or more."
2021-12-22 11:39:30 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 11:40:15 +0100kranius(~kranius@user/kranius)
2021-12-22 11:40:56 +0100 <geekosaur> % shuffleFirstThree (x:y:z:xs) = (z:x:y:zs)
2021-12-22 11:40:56 +0100 <yahb> geekosaur: ; <interactive>:220:39: error:; * Variable not in scope: zs :: [a]; * Perhaps you meant one of these: `z' (line 220), `xs' (line 220), `s' (line 206)
2021-12-22 11:41:04 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 11:41:04 +0100 <geekosaur> % shuffleFirstThree (x:y:z:xs) = (z:x:y:xs)
2021-12-22 11:41:04 +0100 <yahb> geekosaur:
2021-12-22 11:41:18 +0100 <geekosaur> % shuffleFirstThree [1,2]
2021-12-22 11:41:18 +0100 <yahb> geekosaur: *** Exception: <interactive>:221:1-41: Non-exhaustive patterns in function shuffleFirstThree
2021-12-22 11:41:39 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 11:42:11 +0100 <geekosaur> to understand this, you have to understand that a list like [1,2,3] is internally represented as (1:2:3:[])
2021-12-22 11:43:01 +0100 <geekosaur> > 1 : [2,3]
2021-12-22 11:43:02 +0100 <lambdabot> [1,2,3]
2021-12-22 11:43:13 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 11:43:48 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Remote host closed the connection)
2021-12-22 11:44:54 +0100 <geekosaur> > (1:2:3:[])
2021-12-22 11:44:56 +0100 <lambdabot> [1,2,3]
2021-12-22 11:45:00 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-12-22 11:45:05 +0100 <xsperry> AlpacaPrince, do you understand this function? isZero 0 = True; isZero _ = False
2021-12-22 11:45:24 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 11:45:52 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 11:47:29 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 11:47:57 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 11:48:05 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4)
2021-12-22 11:48:08 +0100 <AlpacaPrince> I see they are both Bool
2021-12-22 11:48:36 +0100 <AlpacaPrince> They seem like a long way to write True and False
2021-12-22 11:48:52 +0100 <AlpacaPrince> xsperry
2021-12-22 11:49:32 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 11:50:07 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 11:51:24 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-12-22 11:51:41 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 11:52:17 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4) (Ping timeout: 240 seconds)
2021-12-22 11:52:18 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 11:53:52 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 11:54:25 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 11:54:39 +0100 <geekosaur> well, except (a) it's "backwards" (b) you cannot use a number in place of a Bool in Haskell
2021-12-22 11:54:58 +0100 <geekosaur> > if 1 then "a" else "b" -- type error
2021-12-22 11:54:59 +0100 <lambdabot> error:
2021-12-22 11:54:59 +0100 <lambdabot> • No instance for (Num Bool) arising from the literal ‘1’
2021-12-22 11:54:59 +0100 <lambdabot> • In the expression: 1
2021-12-22 11:55:34 +0100 <geekosaur> (numbers are handled specially in Haskell so you get a slightly weird error)
2021-12-22 11:56:01 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 11:56:34 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 11:58:11 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 11:58:24 +0100deadmarshal(~deadmarsh@95.38.229.128)
2021-12-22 11:58:43 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 11:59:22 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 268 seconds)
2021-12-22 12:00:18 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:00:46 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:01:52 +0100pfurla(~pfurla@2804:14d:5c5a:9a78:6ce0:1b08:23ee:4eaf) (Quit: gone to sleep. ZZZzzz…)
2021-12-22 12:02:22 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:02:57 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:03:18 +0100m1dnight(~christoph@christophe.dev) (Quit: WeeChat 3.1)
2021-12-22 12:04:31 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:04:37 +0100m1dnight(~christoph@christophe.dev)
2021-12-22 12:05:05 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:05:45 +0100 <xsperry> AlpacaPrince, it is a single function, not two functions. top definition is executed only if passed argument is 0, second matches everything else. pattern matching is checked from top to bottom
2021-12-22 12:06:41 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:07:09 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:07:24 +0100 <xsperry> s/executed/evaluated
2021-12-22 12:08:04 +0100zardoz2(~bc8147f2@cerf.good1.com)
2021-12-22 12:08:32 +0100zer0bitz(~zer0bitz@2001:2003:f444:a000:e954:6a22:3202:5b23)
2021-12-22 12:08:42 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:09:17 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:10:46 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-12-22 12:10:51 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:11:27 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:12:00 +0100 <AlpacaPrince> xsperry, I see, it is only false if order switches.
2021-12-22 12:13:02 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:13:17 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-12-22 12:13:39 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Remote host closed the connection)
2021-12-22 12:14:15 +0100 <AlpacaPrince> I was expecting 1==True would evaluate True.
2021-12-22 12:15:15 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:15:16 +0100 <geekosaur> it's possible to arrange for that, but it just makes for more silent type mismatches without adding any useful functionality so we don't
2021-12-22 12:15:43 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:17:16 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:17:50 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:18:34 +0100 <AlpacaPrince> is isZero 0=True; isZero_ = False  useful outside of being instructional?
2021-12-22 12:18:40 +0100 <zardoz2> AlpacaPrince, yes isZero _ matches every value, so isZero 0 = True is never reached
2021-12-22 12:18:49 +0100dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 256 seconds)
2021-12-22 12:19:26 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:19:34 +0100 <zardoz2> the concept is. pattern matching is used all the time in haskell
2021-12-22 12:19:53 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:21:11 +0100ProfSimm(~ProfSimm@87.227.196.109)
2021-12-22 12:21:27 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:21:30 +0100yin(~yin@user/zero)
2021-12-22 12:21:58 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:23:32 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:23:37 +0100 <geekosaur> note the space between "isZero" and "_"
2021-12-22 12:23:48 +0100 <geekosaur> the "_" is a wildcard pattern that matches anything
2021-12-22 12:23:51 +0100 <AlpacaPrince> geekosaur it was helpful to see (1:2:3:[4,5,6,7]), the parentheses solved some confusion.
2021-12-22 12:23:59 +0100 <AlpacaPrince> there is no space
2021-12-22 12:24:06 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:24:28 +0100 <geekosaur> [22 10:45:06] <xsperry> AlpacaPrince, do you understand this function? isZero 0 = True; isZero _ = False
2021-12-22 12:24:50 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Quit: coot)
2021-12-22 12:25:16 +0100 <AlpacaPrince> oh I noticed it wrong
2021-12-22 12:25:41 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:26:17 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:26:18 +0100hololeap(~hololeap@user/hololeap) (Ping timeout: 276 seconds)
2021-12-22 12:27:52 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:28:16 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:29:51 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:30:23 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:31:00 +0100 <zero> True
2021-12-22 12:31:08 +0100 <AlpacaPrince> without a space it is just part of the function name, _
2021-12-22 12:31:56 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:32:23 +0100 <AlpacaPrince> xsperry i'm now prepared to answer your question.
2021-12-22 12:32:24 +0100 <AlpacaPrince> yes, I do understand this function.
2021-12-22 12:32:30 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:32:39 +0100 <zardoz2> AlpacaPrince try this: https://paste.tomsmeding.com/lQa26HTa
2021-12-22 12:32:56 +0100 <zardoz2> and then try putting line 3 (f x = "value is " ++ show 0) at the top
2021-12-22 12:33:24 +0100 <zardoz2> that should have been f x = "value is " ++ show x
2021-12-22 12:34:06 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:34:08 +0100kranius(~kranius@user/kranius) (Ping timeout: 252 seconds)
2021-12-22 12:34:21 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827)
2021-12-22 12:34:33 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:35:52 +0100jkaye(~jkaye@2601:281:8300:7530:6aeb:18f5:2700:2624)
2021-12-22 12:36:08 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:36:08 +0100 <AlpacaPrince> it would always be "value is 0"
2021-12-22 12:36:12 +0100lavaman(~lavaman@98.38.249.169)
2021-12-22 12:36:21 +0100machinedgod(~machinedg@24.105.81.50)
2021-12-22 12:36:22 +0100 <AlpacaPrince> Why can the x not be replaced with _
2021-12-22 12:36:29 +0100kranius(~kranius@162.19.149.77.rev.sfr.net)
2021-12-22 12:36:40 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:36:44 +0100 <zardoz2> it can, but I wanted to write this: f x = "value is " ++ show x
2021-12-22 12:36:48 +0100 <zardoz2> show x, not show 0
2021-12-22 12:36:53 +0100 <geekosaur> because _ is anonymous. you need to name it to use it
2021-12-22 12:37:10 +0100 <zardoz2> if you use the value you need a name
2021-12-22 12:37:19 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Client Quit)
2021-12-22 12:37:31 +0100 <AlpacaPrince> okay i'll try those things
2021-12-22 12:38:13 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:38:22 +0100yin(~yin@user/zero) (Ping timeout: 260 seconds)
2021-12-22 12:38:41 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:40:13 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827)
2021-12-22 12:40:16 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:40:17 +0100jkaye(~jkaye@2601:281:8300:7530:6aeb:18f5:2700:2624) (Ping timeout: 240 seconds)
2021-12-22 12:40:44 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:40:55 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2021-12-22 12:42:18 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:42:37 +0100kranius(~kranius@162.19.149.77.rev.sfr.net) (Ping timeout: 240 seconds)
2021-12-22 12:42:56 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:44:31 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:44:56 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:45:42 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-22 12:46:33 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:46:56 +0100sprout(~quassel@2a02:a467:ccd6:1:bc5b:dbe0:79e5:a909)
2021-12-22 12:47:06 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:47:44 +0100 <AlpacaPrince> is it possible to open the source code for the definition of _ in haskell?
2021-12-22 12:48:03 +0100kranius(~kranius@162.19.149.77.rev.sfr.net)
2021-12-22 12:48:04 +0100 <AlpacaPrince> ...or any function for that matter.
2021-12-22 12:48:41 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:49:12 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:50:48 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:50:53 +0100 <sshine> AlpacaPrince, yes?
2021-12-22 12:51:20 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:51:21 +0100dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2021-12-22 12:51:31 +0100 <sshine> AlpacaPrince, _ isn't a function, but since it is defined in the compiler, you can find either the place it is defined as a syntactic element, or the places that refer to it in the process of compilation.
2021-12-22 12:52:04 +0100 <AlpacaPrince> zardoz2 https://paste.tomsmeding.com/eFgi1uCb/raw/1
2021-12-22 12:52:57 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:53:22 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:54:56 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:55:31 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:55:57 +0100xff0x(~xff0x@2001:1a81:5290:1c00:9996:3caa:8169:8a61) (Ping timeout: 240 seconds)
2021-12-22 12:56:03 +0100 <zardoz2> AlpacaPrince, ghci tells you that other two matches are redundant, because "g x" matches everything. put it at the bottom
2021-12-22 12:56:34 +0100 <AlpacaPrince> I've tried a bunch of variations on:
2021-12-22 12:56:34 +0100 <AlpacaPrince> :browse _
2021-12-22 12:56:35 +0100 <AlpacaPrince> and
2021-12-22 12:56:35 +0100 <AlpacaPrince> :def [_]
2021-12-22 12:57:06 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:57:13 +0100xff0x(~xff0x@2001:1a81:5290:1c00:5bd7:cadf:8543:27d3)
2021-12-22 12:57:41 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 12:57:59 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-12-22 12:59:15 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 12:59:25 +0100kranius(~kranius@162.19.149.77.rev.sfr.net) (Ping timeout: 240 seconds)
2021-12-22 12:59:36 +0100deadmarshal(~deadmarsh@95.38.229.128) (Ping timeout: 256 seconds)
2021-12-22 12:59:50 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Remote host closed the connection)
2021-12-22 12:59:53 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2021-12-22 13:00:25 +0100jespada(~jespada@87.74.33.157) (Ping timeout: 268 seconds)
2021-12-22 13:01:23 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:02:04 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:02:35 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-12-22 13:02:49 +0100 <zardoz2> _ is a variable place holder name when you don't care about value, and just want to match everything. it avoids "unused variable" warning
2021-12-22 13:02:55 +0100jespada(~jespada@87.74.33.157)
2021-12-22 13:03:13 +0100 <tomsmeding> AlpacaPrince: in haskell, patterns are tried from top to bottom. When calling e.g. `g 10`, we first try to match `10` against the pattern `x`; this succeeds, so we take that option. When calling `g 1`, we first try to match `1` against the pattern `x`; this succeeds, so we take that option.
2021-12-22 13:03:29 +0100 <tomsmeding> If you want the other two cases to take precedence, you have to put then above the `g x` case.
2021-12-22 13:03:31 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2021-12-22 13:03:38 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:04:13 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:04:20 +0100 <tomsmeding> and ghci is aware of this rule, and already sees that the `g 1` and `g 2` cases can never be reached in your code, because the `g x` case will already handle everything. So it gives you those warnings
2021-12-22 13:05:46 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:06:21 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-12-22 13:06:24 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:06:33 +0100Vajb(~Vajb@2001:999:62:f3d1:4390:fbed:1f9b:9d03)
2021-12-22 13:07:38 +0100mestre(~mestre@191.177.175.57)
2021-12-22 13:07:58 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:08:28 +0100 <AlpacaPrince> Got it. I was trying the variation of mismatching the order; putting the catch all at the top of the pattern. Interesting that Ghci gives warnings for the pattern being defined in the wrong order while still letting the program execute.
2021-12-22 13:08:36 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:08:43 +0100 <dminuoso> AlpacaPrince: Well its not defined in the "wrong order"
2021-12-22 13:09:03 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-12-22 13:09:34 +0100 <dminuoso> In fact, there are some good reasons to have such "dead" code"
2021-12-22 13:10:03 +0100 <AlpacaPrince> The program still runs, it just never reaches any definitions past g x
2021-12-22 13:10:05 +0100 <AlpacaPrince> hmm
2021-12-22 13:10:14 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:10:41 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:10:42 +0100 <AlpacaPrince> so g x could be overridden in certain cases, then allowing g 1 and g 2 to be "discovered" by the code?
2021-12-22 13:11:23 +0100 <dminuoso> AlpacaPrince: Yeah. You could for example have some `f x | True = ... | otherwise = ...` style of code, where by commenting out the `| True` branch you alter the behavior for debugging.
2021-12-22 13:11:29 +0100 <dminuoso> (Or perhaps via a C macro)
2021-12-22 13:11:47 +0100 <dminuoso> Granted, for this particular usage we have a magical primitive to let GHC know not to report errors.
2021-12-22 13:12:15 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:12:31 +0100 <zardoz2> there's no way to reach g 1 and g 2, unless you comment out g x, or move it to the bottom
2021-12-22 13:12:43 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:12:47 +0100 <dminuoso> AlpacaPrince: Another thing is, pattern coverage checking has historically been very error prone because it's a very non-trivial problem, it was filled with false positives.
2021-12-22 13:12:59 +0100 <dminuoso> So by default promoting this to an error would cause a lot of grief
2021-12-22 13:13:20 +0100 <dminuoso> But since have drastically improved in recent GHC versions.
2021-12-22 13:14:20 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:14:48 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:16:03 +0100tewrdh^(~tewrdh@64.253.22.77)
2021-12-22 13:16:23 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:16:50 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:18:08 +0100danso(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 252 seconds)
2021-12-22 13:18:23 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:18:37 +0100mestre(~mestre@191.177.175.57) (Remote host closed the connection)
2021-12-22 13:18:39 +0100danso(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
2021-12-22 13:18:57 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:19:37 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-12-22 13:20:30 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:21:05 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:22:40 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:23:08 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:24:26 +0100kranius(~kranius@162.19.149.77.rev.sfr.net)
2021-12-22 13:24:30 +0100darchitect(~darchitec@82-132-213-95.dab.02.net) (Read error: Connection reset by peer)
2021-12-22 13:24:40 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:25:12 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:26:46 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:26:56 +0100danso(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 268 seconds)
2021-12-22 13:27:20 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:27:24 +0100danso(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
2021-12-22 13:28:35 +0100chomwitt(~chomwitt@ppp-2-85-245-134.home.otenet.gr) (Ping timeout: 252 seconds)
2021-12-22 13:28:57 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:29:04 +0100benin(~benin@183.82.27.57)
2021-12-22 13:29:27 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:30:58 +0100kuribas(~user@ptr-25vy0i6xaq2sd6gk5rt.18120a2.ip6.access.telenet.be)
2021-12-22 13:31:04 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:31:37 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:32:57 +0100xff0x(~xff0x@2001:1a81:5290:1c00:5bd7:cadf:8543:27d3) (Ping timeout: 240 seconds)
2021-12-22 13:33:13 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:33:37 +0100danso(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 240 seconds)
2021-12-22 13:33:44 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:33:52 +0100fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-12-22 13:33:55 +0100xff0x(~xff0x@2001:1a81:5290:1c00:cc0:4c26:7636:4d9e)
2021-12-22 13:34:59 +0100deadmarshal(~deadmarsh@95.38.229.128)
2021-12-22 13:35:18 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:35:37 +0100danso(~danso@d67-193-121-2.home3.cgocable.net)
2021-12-22 13:35:48 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:37:24 +0100synthmeat(~synthmeat@user/synthmeat) (Quit: WeeChat 3.0)
2021-12-22 13:37:25 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:37:52 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:38:08 +0100fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 256 seconds)
2021-12-22 13:39:26 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:39:57 +0100danso(~danso@d67-193-121-2.home3.cgocable.net) (Ping timeout: 240 seconds)
2021-12-22 13:40:02 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:40:28 +0100danso(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
2021-12-22 13:41:35 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:42:03 +0100ubert(~Thunderbi@p200300ecdf0994cb1dfd4ca95c98fa37.dip0.t-ipconnect.de)
2021-12-22 13:42:14 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:43:48 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:44:17 +0100chomwitt(~chomwitt@2a02:587:dc1c:a00:12c3:7bff:fe6d:d374)
2021-12-22 13:44:27 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:46:01 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:46:38 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:48:12 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:48:50 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:49:44 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4)
2021-12-22 13:50:24 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:51:01 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:52:14 +0100dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.3)
2021-12-22 13:52:38 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:52:38 +0100dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2021-12-22 13:53:04 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Remote host closed the connection)
2021-12-22 13:53:57 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4) (Ping timeout: 240 seconds)
2021-12-22 13:54:38 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:55:14 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:56:18 +0100xff0x(~xff0x@2001:1a81:5290:1c00:cc0:4c26:7636:4d9e) (Ping timeout: 260 seconds)
2021-12-22 13:56:49 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:57:08 +0100xff0x(~xff0x@2001:1a81:5290:1c00:a0e1:b3e2:3952:22f)
2021-12-22 13:57:28 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:59:00 +0100chomwitt(~chomwitt@2a02:587:dc1c:a00:12c3:7bff:fe6d:d374) (Ping timeout: 268 seconds)
2021-12-22 13:59:02 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 13:59:41 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 13:59:58 +0100chomwitt(~chomwitt@2a02:587:dc1c:a00:12c3:7bff:fe6d:d374)
2021-12-22 14:00:15 +0100max22-(~maxime@2a01cb08833598002412bf121caf815d.ipv6.abo.wanadoo.fr) (Ping timeout: 268 seconds)
2021-12-22 14:01:15 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:01:51 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:02:48 +0100ub(~Thunderbi@p548c8cd6.dip0.t-ipconnect.de)
2021-12-22 14:03:04 +0100ubert(~Thunderbi@p200300ecdf0994cb1dfd4ca95c98fa37.dip0.t-ipconnect.de) (Remote host closed the connection)
2021-12-22 14:03:04 +0100ububert
2021-12-22 14:03:26 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:03:28 +0100sagax(~sagax_nb@user/sagax)
2021-12-22 14:04:02 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:05:37 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:06:09 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:07:37 +0100Akiva(~Akiva@user/Akiva) (Ping timeout: 256 seconds)
2021-12-22 14:07:37 +0100chomwitt(~chomwitt@2a02:587:dc1c:a00:12c3:7bff:fe6d:d374) (Ping timeout: 240 seconds)
2021-12-22 14:07:45 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:08:17 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:09:50 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:10:22 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:10:54 +0100coolnickname(uid531864@user/coolnickname) (Quit: Connection closed for inactivity)
2021-12-22 14:11:56 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:12:33 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:14:10 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:14:38 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:16:10 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:16:41 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:16:57 +0100rembo10(~rembo10@remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
2021-12-22 14:17:17 +0100pfurla(~pfurla@2804:14d:5c5a:9a78:6ce0:1b08:23ee:4eaf)
2021-12-22 14:18:02 +0100rembo10(~rembo10@remulis.com)
2021-12-22 14:18:15 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:18:45 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:19:21 +0100danso(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 268 seconds)
2021-12-22 14:20:05 +0100deadmarshal(~deadmarsh@95.38.229.128) (Ping timeout: 256 seconds)
2021-12-22 14:20:18 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:20:55 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Remote host closed the connection)
2021-12-22 14:21:46 +0100 <AlpacaPrince> > :doc length
2021-12-22 14:21:47 +0100 <lambdabot> <hint>:1:1: error: parse error on input ‘:’
2021-12-22 14:22:01 +0100 <AlpacaPrince> doc length
2021-12-22 14:22:11 +0100 <AlpacaPrince> : doc length
2021-12-22 14:22:19 +0100 <AlpacaPrince> >: doc length
2021-12-22 14:22:29 +0100 <AlpacaPrince> > :doc length
2021-12-22 14:22:30 +0100 <lambdabot> <hint>:1:1: error: parse error on input ‘:’
2021-12-22 14:22:31 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:22:58 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:23:23 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Remote host closed the connection)
2021-12-22 14:23:58 +0100 <dminuoso> AlpacaPrince: Use % instead
2021-12-22 14:24:28 +0100 <dminuoso> AlpacaPrince: > invokes lambdabot which is a rather custom thing. % invokes yahb on the other hand, which is an IRC client bolted onto GHCi
2021-12-22 14:24:32 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:24:43 +0100 <dminuoso> Also, you can use a direct message/query to talk to yahb directly for experimentation
2021-12-22 14:25:07 +0100 <AlpacaPrince> yahb %:doc length
2021-12-22 14:25:10 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:25:19 +0100 <AlpacaPrince> yahb % :doc length
2021-12-22 14:25:35 +0100 <AlpacaPrince> % :doc length yahb
2021-12-22 14:25:35 +0100 <yahb> AlpacaPrince: ; <interactive>:1:8: error: parse error on input `yahb'
2021-12-22 14:25:51 +0100 <AlpacaPrince> %:doc length yahb
2021-12-22 14:26:03 +0100 <AlpacaPrince> % >:doc length yahb
2021-12-22 14:26:03 +0100 <yahb> AlpacaPrince: ; <interactive>:227:1: error: parse error on input `>:'
2021-12-22 14:26:14 +0100 <AlpacaPrince> % :browse length yahb
2021-12-22 14:26:14 +0100 <yahb> AlpacaPrince: syntax: :browse <module>
2021-12-22 14:26:22 +0100 <dminuoso> % :doc length
2021-12-22 14:26:22 +0100 <yahb> dminuoso: Returns the size/length of a finite structure as an 'Int'. The; default implementation just counts elements starting with the left-most.; Instances for structures that can compute the element count faster; than via element-by-element counting, should provide a specialised; implementation.; ==== __Examples__; Basic usage:; >>> length []; 0; >>> length ['a', 'b', 'c']; 3; >>> length [1..]; * H
2021-12-22 14:26:30 +0100 <AlpacaPrince> % :browse length yahb
2021-12-22 14:26:30 +0100 <yahb> AlpacaPrince: syntax: :browse <module>
2021-12-22 14:26:35 +0100 <dminuoso> AlpacaPrince: Try `/query yahb` to experiment without adding noise to the channel
2021-12-22 14:26:44 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:26:47 +0100 <dminuoso> Also consider using `ghci` instead :)
2021-12-22 14:26:53 +0100 <dminuoso> In your favourite terminal
2021-12-22 14:27:21 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:28:54 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:29:05 +0100dan-so(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
2021-12-22 14:29:09 +0100chomwitt(~chomwitt@2a02:587:dc1c:a00:12c3:7bff:fe6d:d374)
2021-12-22 14:29:30 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:31:04 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:31:43 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:33:03 +0100irfan(~irfan@user/irfan) (Quit: leaving)
2021-12-22 14:33:17 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:33:17 +0100dan-so(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 240 seconds)
2021-12-22 14:33:41 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:34:03 +0100dan-so(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
2021-12-22 14:34:49 +0100kranius(~kranius@162.19.149.77.rev.sfr.net) (Ping timeout: 256 seconds)
2021-12-22 14:35:14 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:35:49 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:36:02 +0100econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-12-22 14:36:53 +0100rembo10(~rembo10@remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
2021-12-22 14:37:22 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:37:58 +0100rembo10(~rembo10@remulis.com)
2021-12-22 14:37:58 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:39:32 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:39:52 +0100dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.3)
2021-12-22 14:40:05 +0100dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2021-12-22 14:40:13 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:41:47 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:42:19 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:43:52 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:44:28 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:45:01 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827)
2021-12-22 14:46:02 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:46:30 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:48:08 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:48:37 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:49:42 +0100max22-(~maxime@2a01cb088335980001474809897dc97d.ipv6.abo.wanadoo.fr)
2021-12-22 14:50:10 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:50:41 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:52:16 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:52:36 +0100AlpacaPrince(~Guest|47@c-73-221-44-172.hsd1.wa.comcast.net) (Quit: Connection closed)
2021-12-22 14:52:40 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:54:12 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:54:53 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:56:27 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:56:54 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:58:04 +0100Guest|47(~Guest|47@c-73-221-44-172.hsd1.wa.comcast.net)
2021-12-22 14:58:28 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 14:59:06 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 14:59:10 +0100Guest|47pringlePie
2021-12-22 14:59:42 +0100neverfindme(~hayden@158.123.160.43)
2021-12-22 15:00:15 +0100deadmarshal(~deadmarsh@95.38.229.128)
2021-12-22 15:00:39 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 15:00:59 +0100dan-so(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 252 seconds)
2021-12-22 15:01:11 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 15:01:22 +0100dan-so(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
2021-12-22 15:02:44 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 15:03:11 +0100Vajb(~Vajb@2001:999:62:f3d1:4390:fbed:1f9b:9d03) (Read error: Connection reset by peer)
2021-12-22 15:03:12 +0100fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-12-22 15:03:17 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 15:03:19 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2021-12-22 15:03:50 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-12-22 15:04:30 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2021-12-22 15:04:51 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 15:05:19 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 15:06:52 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 15:07:34 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 15:08:13 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Quit: coot)
2021-12-22 15:08:20 +0100zardoz2(~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Ping timeout))
2021-12-22 15:09:10 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 15:09:50 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 15:09:56 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2021-12-22 15:09:57 +0100 <pringlePie> in the same way documentation can be called with
2021-12-22 15:09:58 +0100 <pringlePie> :doc ++
2021-12-22 15:09:58 +0100 <pringlePie> how can I add documentation for my own functions, that can be called by GHCi?
2021-12-22 15:10:02 +0100dan-so(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 260 seconds)
2021-12-22 15:10:19 +0100arjun(~arjun@user/arjun)
2021-12-22 15:10:29 +0100dan-so(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
2021-12-22 15:11:12 +0100kranius(~kranius@162.19.149.77.rev.sfr.net)
2021-12-22 15:11:25 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 15:11:52 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 15:13:26 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 15:14:00 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 15:15:34 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 15:16:05 +0100kranius(~kranius@162.19.149.77.rev.sfr.net) (Ping timeout: 268 seconds)
2021-12-22 15:16:09 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 15:16:15 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-22 15:16:56 +0100dan-so(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 252 seconds)
2021-12-22 15:17:09 +0100dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3)
2021-12-22 15:17:42 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 15:17:53 +0100neverfindme(~hayden@158.123.160.43) (Ping timeout: 256 seconds)
2021-12-22 15:18:19 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 15:19:54 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2021-12-22 15:20:22 +0100yin(~yin@user/zero)
2021-12-22 15:20:32 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2021-12-22 15:22:59 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-12-22 15:24:14 +0100shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-12-22 15:24:41 +0100dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2021-12-22 15:24:57 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Remote host closed the connection)
2021-12-22 15:25:53 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2021-12-22 15:28:42 +0100CiaoSen(~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2021-12-22 15:28:53 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827)
2021-12-22 15:30:37 +0100yin(~yin@user/zero) (Ping timeout: 240 seconds)
2021-12-22 15:34:04 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-22 15:38:10 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Remote host closed the connection)
2021-12-22 15:38:17 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2021-12-22 15:38:51 +0100deadmarshal(~deadmarsh@95.38.229.128) (Ping timeout: 256 seconds)
2021-12-22 15:39:14 +0100pringlePie(~Guest|47@c-73-221-44-172.hsd1.wa.comcast.net) (Quit: Connection closed)
2021-12-22 15:42:37 +0100fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-12-22 15:43:24 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827)
2021-12-22 15:44:27 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-12-22 15:45:12 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-22 15:45:12 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-12-22 15:45:12 +0100wroathe(~wroathe@user/wroathe)
2021-12-22 15:50:29 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-12-22 15:51:14 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-12-22 15:52:51 +0100yin(~yin@user/zero)
2021-12-22 15:52:57 +0100jinsun(~quassel@user/jinsun) (Ping timeout: 240 seconds)
2021-12-22 15:54:25 +0100pfurla(~pfurla@2804:14d:5c5a:9a78:6ce0:1b08:23ee:4eaf) (Quit: Textual IRC Client: www.textualapp.com)
2021-12-22 15:55:25 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2021-12-22 15:58:08 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2021-12-22 15:58:26 +0100ProfSimm(~ProfSimm@87.227.196.109)
2021-12-22 15:59:35 +0100dan-so(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
2021-12-22 15:59:50 +0100Guest4242(~Guest4242@78.198.4.122) (Quit: Client closed)
2021-12-22 16:01:16 +0100fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-12-22 16:04:37 +0100xff0x(~xff0x@2001:1a81:5290:1c00:a0e1:b3e2:3952:22f) (Ping timeout: 240 seconds)
2021-12-22 16:07:21 +0100darchitect(~darchitec@2a00:23c6:3584:df00:7dec:bf13:8fa:748c)
2021-12-22 16:07:44 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-12-22 16:09:06 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-12-22 16:09:59 +0100xff0x(~xff0x@2001:1a81:5290:1c00:a0e1:b3e2:3952:22f)
2021-12-22 16:10:59 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-12-22 16:12:12 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2021-12-22 16:15:30 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Remote host closed the connection)
2021-12-22 16:19:37 +0100x88x88x(~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb) (Ping timeout: 240 seconds)
2021-12-22 16:19:58 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 16:19:59 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 16:20:29 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: closed)
2021-12-22 16:20:53 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 16:22:03 +0100x88x88x(~x88x88x@149.28.53.172)
2021-12-22 16:23:18 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 268 seconds)
2021-12-22 16:25:55 +0100gehmehgeh(~user@user/gehmehgeh) (Remote host closed the connection)
2021-12-22 16:26:36 +0100gehmehgeh(~user@user/gehmehgeh)
2021-12-22 16:30:08 +0100Sgeo(~Sgeo@user/sgeo)
2021-12-22 16:30:37 +0100yin(~yin@user/zero) (Ping timeout: 240 seconds)
2021-12-22 16:30:53 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827)
2021-12-22 16:31:03 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-22 16:31:30 +0100jinsun(~quassel@user/jinsun)
2021-12-22 16:37:20 +0100evocatus(~evocatus@62.182.78.42)
2021-12-22 16:37:51 +0100lavaman(~lavaman@98.38.249.169)
2021-12-22 16:40:16 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-22 16:40:16 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-12-22 16:40:16 +0100wroathe(~wroathe@user/wroathe)
2021-12-22 16:42:19 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2021-12-22 16:45:09 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2021-12-22 16:47:03 +0100lavaman(~lavaman@98.38.249.169)
2021-12-22 16:47:48 +0100yin(~yin@user/zero)
2021-12-22 16:48:37 +0100acidjnk(~acidjnk@p200300d0c7271e256ce23fbe5bf2eea3.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2021-12-22 16:51:42 +0100 <gentauro> so I need to build `network-3.1.1.1` which is broken in `https://www.stackage.org/lts-18.19` but fixed in `nightly`. Is there a way to specify this in `stack.yaml`?
2021-12-22 16:51:55 +0100neverfindme(~hayden@158.123.160.43)
2021-12-22 16:52:49 +0100neverfindme(~hayden@158.123.160.43) (Remote host closed the connection)
2021-12-22 16:57:16 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-12-22 16:59:24 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Quit: coot)
2021-12-22 16:59:50 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2021-12-22 17:00:17 +0100yin(~yin@user/zero) (Ping timeout: 240 seconds)
2021-12-22 17:01:43 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 17:01:44 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 17:02:22 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 17:02:23 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 17:02:51 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 17:02:51 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 17:05:00 +0100phma_(~phma@2001:5b0:210d:e448:bd04:4091:a4d4:4fae) (Read error: Connection reset by peer)
2021-12-22 17:06:08 +0100phma_(~phma@2001:5b0:210f:6808:2fd4:ecc8:b8ea:8fba)
2021-12-22 17:08:35 +0100phma_phma
2021-12-22 17:09:31 +0100alfonsox(~quassel@103.92.42.192)
2021-12-22 17:14:03 +0100jespada(~jespada@87.74.33.157) (Ping timeout: 256 seconds)
2021-12-22 17:14:20 +0100kranius(~kranius@162.19.149.77.rev.sfr.net)
2021-12-22 17:14:51 +0100ph88(~ph88@ip5f5af068.dynamic.kabel-deutschland.de)
2021-12-22 17:15:27 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4)
2021-12-22 17:16:15 +0100jespada(~jespada@87.74.33.157)
2021-12-22 17:19:50 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 17:19:50 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 17:23:59 +0100arjun(~arjun@user/arjun) (Ping timeout: 252 seconds)
2021-12-22 17:24:37 +0100x88x88x(~x88x88x@149.28.53.172) (Ping timeout: 240 seconds)
2021-12-22 17:25:01 +0100neverfindme(~hayden@158.123.160.43)
2021-12-22 17:25:23 +0100deadmarshal(~deadmarsh@95.38.229.128)
2021-12-22 17:25:37 +0100kranius(~kranius@162.19.149.77.rev.sfr.net) (Ping timeout: 240 seconds)
2021-12-22 17:27:50 +0100mbuf(~Shakthi@171.61.232.157) (Quit: Leaving)
2021-12-22 17:29:55 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 17:29:55 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 17:30:22 +0100ubert(~Thunderbi@p548c8cd6.dip0.t-ipconnect.de) (Remote host closed the connection)
2021-12-22 17:31:55 +0100x88x88x(~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb)
2021-12-22 17:32:38 +0100neverfindme(~hayden@158.123.160.43) (Remote host closed the connection)
2021-12-22 17:32:55 +0100neverfindme(~hayden@158.123.160.43)
2021-12-22 17:33:03 +0100neverfindme(~hayden@158.123.160.43) (Remote host closed the connection)
2021-12-22 17:33:36 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-12-22 17:33:38 +0100evocatus(~evocatus@62.182.78.42) (Quit: Leaving)
2021-12-22 17:35:35 +0100doyougnu(~doyougnu@c-73-25-202-122.hsd1.or.comcast.net)
2021-12-22 17:36:14 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 17:36:14 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 17:36:54 +0100timCF(~timCF@m91-129-100-224.cust.tele2.ee)
2021-12-22 17:37:20 +0100timCF(~timCF@m91-129-100-224.cust.tele2.ee) (Client Quit)
2021-12-22 17:38:02 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 240 seconds)
2021-12-22 17:39:03 +0100kranius(~kranius@162.19.149.77.rev.sfr.net)
2021-12-22 17:39:16 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 17:39:17 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 17:40:03 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 17:40:03 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 17:40:42 +0100stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2021-12-22 17:41:04 +0100stiell(~stiell@gateway/tor-sasl/stiell)
2021-12-22 17:45:56 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2021-12-22 17:46:14 +0100ProfSimm(~ProfSimm@87.227.196.109)
2021-12-22 17:46:47 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-22 17:47:21 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 17:47:22 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 17:48:58 +0100xff0x(~xff0x@2001:1a81:5290:1c00:a0e1:b3e2:3952:22f) (Remote host closed the connection)
2021-12-22 17:49:15 +0100xff0x(~xff0x@2001:1a81:5290:1c00:1cc4:2a6e:2e3f:d394)
2021-12-22 17:49:38 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
2021-12-22 17:50:14 +0100kranius(~kranius@162.19.149.77.rev.sfr.net) (Changing host)
2021-12-22 17:50:14 +0100kranius(~kranius@user/kranius)
2021-12-22 17:52:18 +0100yin(~yin@user/zero)
2021-12-22 17:53:02 +0100 <sm> g'day all
2021-12-22 17:53:40 +0100 <sm> gentauro:
2021-12-22 17:53:40 +0100 <sm> extra-deps:
2021-12-22 17:53:40 +0100 <sm> - network-3.1.1.1
2021-12-22 17:53:56 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2021-12-22 17:54:51 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-12-22 17:55:34 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 17:55:35 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 17:56:51 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2021-12-22 17:56:59 +0100chexum_(~quassel@gateway/tor-sasl/chexum)
2021-12-22 17:56:59 +0100alfonsox(~quassel@103.92.42.192) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-12-22 17:57:41 +0100yin(~yin@user/zero) (Ping timeout: 256 seconds)
2021-12-22 17:59:21 +0100 <EvanR> is there a cool way to do a cross join of two lists, like a list comprehension, but exclude the middle diagonal and one of the halves
2021-12-22 17:59:42 +0100 <EvanR> ok middle is redundant
2021-12-22 18:01:26 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2021-12-22 18:01:40 +0100 <monochrom> Which half of [(x,y) | x<-[1,2], y<-['a', 'b', 'c']] do you want to receive?
2021-12-22 18:01:53 +0100 <EvanR> I guess x = y
2021-12-22 18:01:58 +0100 <EvanR> xs = ys
2021-12-22 18:02:08 +0100 <monochrom> But x==y is a type error.
2021-12-22 18:02:10 +0100 <EvanR> not two different lists
2021-12-22 18:02:13 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-12-22 18:02:19 +0100 <EvanR> same list with itself
2021-12-22 18:03:49 +0100xff0x(~xff0x@2001:1a81:5290:1c00:1cc4:2a6e:2e3f:d394) (Ping timeout: 268 seconds)
2021-12-22 18:04:37 +0100xff0x(~xff0x@2001:1a81:5290:1c00:84df:602d:a0a9:8535)
2021-12-22 18:05:14 +0100kuribas(~user@ptr-25vy0i6xaq2sd6gk5rt.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2021-12-22 18:05:25 +0100 <int-e> > [(x,y) | x:xs <- tails [1,2,3], y <- xs]
2021-12-22 18:05:26 +0100 <lambdabot> [(1,2),(1,3),(2,3)]
2021-12-22 18:05:48 +0100 <monochrom> Ah, nice.
2021-12-22 18:06:10 +0100 <EvanR> i will now steal that and then understand it, in that order
2021-12-22 18:06:17 +0100x88x88x(~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb) (Ping timeout: 240 seconds)
2021-12-22 18:09:41 +0100yin(~yin@user/zero)
2021-12-22 18:10:30 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-12-22 18:12:02 +0100deadmarshal(~deadmarsh@95.38.229.128) (Ping timeout: 240 seconds)
2021-12-22 18:12:56 +0100gehmehgeh(~user@user/gehmehgeh) (Remote host closed the connection)
2021-12-22 18:12:58 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Remote host closed the connection)
2021-12-22 18:13:01 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 18:13:02 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 18:13:39 +0100gehmehgeh(~user@user/gehmehgeh)
2021-12-22 18:14:59 +0100 <glguy> I feel like today's problem deserves to be generalized to n-dimensions with a nice typed vector
2021-12-22 18:15:41 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 18:15:41 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 18:16:05 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 18:16:05 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 18:16:23 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 256 seconds)
2021-12-22 18:16:59 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-12-22 18:18:24 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 18:18:25 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 18:18:50 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2021-12-22 18:19:26 +0100 <EvanR> today's problem is kicking my ass
2021-12-22 18:20:33 +0100jeetelongname(~jeet@88-111-159-26.dynamic.dsl.as9105.com)
2021-12-22 18:20:37 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-12-22 18:20:42 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 18:20:43 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 18:21:10 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 18:21:10 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 18:22:38 +0100x88x88x(~x88x88x@149.28.53.172)
2021-12-22 18:23:33 +0100analognoise1(~analognoi@ip98-176-154-48.sd.sd.cox.net)
2021-12-22 18:23:42 +0100yin(~yin@user/zero) (Ping timeout: 260 seconds)
2021-12-22 18:25:32 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-22 18:27:03 +0100Cale(~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Remote host closed the connection)
2021-12-22 18:27:53 +0100analognoise(~analognoi@185.202.221.238) (Ping timeout: 268 seconds)
2021-12-22 18:28:40 +0100analognoise(~analognoi@91.196.220.236)
2021-12-22 18:30:20 +0100Cale(~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com)
2021-12-22 18:30:35 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-12-22 18:31:02 +0100 <sshine> can I, in any way, do pub const FOO: BigInt = ...? -- I feel like n.into() and BigInt::new(Sign::Plus, vec![n]) both complain about const-time allocation being a problem.
2021-12-22 18:31:35 +0100 <sshine> I've found this thing: https://gitlab.com/hjiayz/const_num_bigint -- but it doesn't come with a lot of explanation, I'm not sure it's a good approach.
2021-12-22 18:32:07 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
2021-12-22 18:32:15 +0100analognoise1(~analognoi@ip98-176-154-48.sd.sd.cox.net) (Ping timeout: 256 seconds)
2021-12-22 18:32:15 +0100 <geekosaur> channel?
2021-12-22 18:32:17 +0100 <sshine> oops, wrong channel :)
2021-12-22 18:33:24 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Remote host closed the connection)
2021-12-22 18:33:51 +0100emf(~emf@2620:10d:c091:480::1:44aa)
2021-12-22 18:35:58 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: closed)
2021-12-22 18:36:09 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 18:37:24 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4) (Remote host closed the connection)
2021-12-22 18:39:42 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827)
2021-12-22 18:40:17 +0100Tuplanolla(~Tuplanoll@91-159-68-169.elisa-laajakaista.fi) (Ping timeout: 240 seconds)
2021-12-22 18:40:31 +0100emf_(~emf@2620:10d:c091:480::1:44aa)
2021-12-22 18:40:56 +0100 <glguy> OK, generalizing day 22 to n-dimensions actually made the program shorter
2021-12-22 18:41:12 +0100 <glguy> (and a tiny bit faster in my benchmark)
2021-12-22 18:41:14 +0100 <gentauro> sshine: what is that programming language?
2021-12-22 18:41:24 +0100 <glguy> https://glguy.net/advent2021/Day22/Main.html
2021-12-22 18:41:26 +0100 <gentauro> sshine: seems like a horrible syntax
2021-12-22 18:41:57 +0100emf(~emf@2620:10d:c091:480::1:44aa) (Ping timeout: 240 seconds)
2021-12-22 18:42:48 +0100 <sshine> gentauro, it's Haskell.
2021-12-22 18:43:21 +0100 <gentauro> sshine: more like Hask-LEL
2021-12-22 18:43:37 +0100 <sshine> gentauro, you just need {-# LANGUAGE RustySyntax #-}
2021-12-22 18:43:55 +0100BrokenClutch(~pioneer@2804:d41:c2a7:d800:e627:b00b:2c62:134)
2021-12-22 18:44:23 +0100 <gentauro> sshine: is that the PRAGMA that when used, God kills a kitten? :'(
2021-12-22 18:44:26 +0100gentauroGG kittens
2021-12-22 18:45:22 +0100 <BrokenClutch> After scheme, I've started to like these functional languages thingy. After haskell I'm actually addicted.
2021-12-22 18:45:22 +0100 <BrokenClutch> Does haskell works well with reactive functional programming?
2021-12-22 18:45:34 +0100deadmarshal(~deadmarsh@95.38.229.128)
2021-12-22 18:46:37 +0100 <EvanR> FRP's brand was stolen from the haskell sphere for nefarious purposes elsewhere, elm, etc
2021-12-22 18:47:56 +0100 <BrokenClutch> oh my god, almost learned Elm, thanks brother for keeping me away from heresy.
2021-12-22 18:48:04 +0100 <EvanR> lol
2021-12-22 18:48:59 +0100 <EvanR> https://github.com/gelisam/frp-zoo
2021-12-22 18:49:21 +0100 <gentauro> BrokenClutch: Do a Google on "Ivan Perez FRP" (he is currently a researcher at NASA)
2021-12-22 18:49:23 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-12-22 18:49:23 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Remote host closed the connection)
2021-12-22 18:49:24 +0100 <gentauro> ;)
2021-12-22 18:49:37 +0100slowButPresent(~slowButPr@user/slowbutpresent)
2021-12-22 18:50:29 +0100 <gentauro> sm: `extra-deps: - network-3.1.1.1` why would this make any difference?
2021-12-22 18:51:59 +0100 <sm> gentauro, formatting may not have come through accurately. The stack user guide makes it clear
2021-12-22 18:52:41 +0100 <geekosaur> I do not understand "broken" vs. "fixed"
2021-12-22 18:52:57 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 18:52:57 +0100 <sm> in short, if you want a version other than the one in your chosen snapshot, listing a different version in extra-deps often works
2021-12-22 18:52:57 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 18:53:30 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: closed)
2021-12-22 18:53:36 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 18:53:50 +0100Akiva(~Akiva@user/Akiva)
2021-12-22 18:54:11 +0100 <BrokenClutch> EvanR: The guy has a fedora, should I trust him?
2021-12-22 18:54:37 +0100emf_(~emf@2620:10d:c091:480::1:44aa) (Ping timeout: 240 seconds)
2021-12-22 18:56:05 +0100 <gentauro> sm: but the version is *broken* for the `lts`
2021-12-22 18:56:11 +0100 <gentauro> but not for `nightly
2021-12-22 18:56:31 +0100 <gentauro> my question was, is it possible to use `lts` but for a single package use the package from `nightly`?
2021-12-22 18:56:34 +0100 <gentauro> :)
2021-12-22 18:56:35 +0100Tuplanolla(~Tuplanoll@91-159-69-214.elisa-laajakaista.fi)
2021-12-22 18:56:52 +0100gentauroperhaps point to a git repo or something like that?
2021-12-22 18:56:54 +0100 <geekosaur> the versions will be the same, unless something is especially perverse (and I'd expect it'd have been rejected in that case)
2021-12-22 18:57:10 +0100 <geekosaur> are you sure this brokenness is not because of compiler version?
2021-12-22 18:57:22 +0100 <gentauro> geekosaur: that could be as well
2021-12-22 18:57:51 +0100 <sm> not if it's broken.. what do you mean by that ?
2021-12-22 18:58:12 +0100 <gentauro> sm: `-- While building package network-3.1.1.1 (scroll up to its section to see the error) using:`
2021-12-22 18:58:24 +0100 <gentauro> like "not building" :)
2021-12-22 18:58:26 +0100 <geekosaur> hm, on hackage 3.1.1.1 is marked as deprecated
2021-12-22 18:58:43 +0100 <sm> you must be aware this is not enough information to help you :)
2021-12-22 18:58:59 +0100 <sshine> BrokenClutch, while there are FRP libraries in Haskell, I can't think of any killer libraries except perhaps Brick: https://github.com/jtdaugherty/brick
2021-12-22 18:59:02 +0100 <sm> @where paste
2021-12-22 18:59:02 +0100 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2021-12-22 18:59:38 +0100x88x88x(~x88x88x@149.28.53.172) (Ping timeout: 260 seconds)
2021-12-22 19:01:07 +0100 <geekosaur> I would suggest putting 3.1.2.0 in extra-deps and adjusting any other dependencies as needed
2021-12-22 19:01:15 +0100 <gentauro> I have added `Latest on Hackage:3.1.2.5` instead of `https://www.stackage.org/lts-18.19/package/network-3.1.1.1`
2021-12-22 19:01:21 +0100 <geekosaur> but yes, we need more information
2021-12-22 19:01:22 +0100 <gentauro> as an extra-dep
2021-12-22 19:01:34 +0100 <gentauro> pehaps that helps
2021-12-22 19:01:46 +0100 <EvanR> sshine, BrokenClutch there's reflex
2021-12-22 19:02:51 +0100 <geekosaur> I find it odd that a stackage lts depends on a deprecated package
2021-12-22 19:02:55 +0100 <gentauro> perhaps using `allow-newer: true` in the `stack.yaml` would go for the newest packages?
2021-12-22 19:03:29 +0100emf(~emf@2620:10d:c091:480::1:44aa)
2021-12-22 19:03:59 +0100 <sm> geekosaur yes that seems unfortunate, I guess it was found buggy and deprecated after the lts
2021-12-22 19:04:13 +0100 <sm> I hit that too
2021-12-22 19:04:38 +0100 <sm> lts's can be updated, I think, maybe it just hasn't happened
2021-12-22 19:05:26 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-12-22 19:06:54 +0100x88x88x(~x88x88x@149.28.53.172)
2021-12-22 19:07:08 +0100BenSimms[m](~simmsb@2001:470:69fc:105::1:55c3)
2021-12-22 19:07:08 +0100econo(uid147250@user/econo)
2021-12-22 19:07:15 +0100 <gentauro> geekosaur: I don't think an LTS should be updated as such without `bumping` a minor version number right?
2021-12-22 19:07:35 +0100 <geekosaur> that's what I would expect
2021-12-22 19:07:44 +0100 <gentauro> `lts-18.19` with deprecated package -> `lts-18.20` without deprecated?
2021-12-22 19:07:45 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 19:08:18 +0100 <geekosaur> wondering if they got themselves stuck because nightly is already 9.0.1 which is buggy and probably going nowhere
2021-12-22 19:08:27 +0100coolnickname(uid531864@user/coolnickname)
2021-12-22 19:08:47 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 19:09:22 +0100 <gentauro> is it `FP Complete` that decides over `stack` or is it "the community"?
2021-12-22 19:09:26 +0100BenSimms[m]simmsb
2021-12-22 19:10:17 +0100fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-12-22 19:10:33 +0100 <geekosaur> the community, I gather, but they have specific guidelines as to how things are done
2021-12-22 19:10:47 +0100 <geekosaur> so a new package has to be tested in the nightlies before it gets promoted to an lts
2021-12-22 19:10:58 +0100 <geekosaur> but the nightly is stuck on 9.0.1
2021-12-22 19:10:59 +0100 <gentauro> go it
2021-12-22 19:11:11 +0100 <gentauro> I mean, "got it" :)
2021-12-22 19:11:15 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 19:11:15 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 19:11:25 +0100benin(~benin@183.82.27.57) (Quit: The Lounge - https://thelounge.chat)
2021-12-22 19:12:28 +0100analognoise1(~analognoi@2600:8801:8c26:9e00:9810:dcc2:3d73:bd7a)
2021-12-22 19:12:34 +0100 <geekosaur> 8.10.5-8.10.7 really should never have happened
2021-12-22 19:13:08 +0100 <geekosaur> they were released after 9.0.1 and added a major new feature, and completely hosed versioning for everyone else
2021-12-22 19:13:26 +0100benin(~benin@183.82.27.57)
2021-12-22 19:13:28 +0100 <sm> gentauro: there's a bunch of stackage maintainers, working in the stackage repo. It's somewhat, not very active. I think as geekosaur said they are somewhat blocked by the state of ghc
2021-12-22 19:13:28 +0100fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-12-22 19:13:43 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 19:13:43 +0100 <gentauro> sm: :o
2021-12-22 19:13:43 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 19:13:48 +0100 <gentauro> good to know
2021-12-22 19:14:12 +0100 <sm> and, the state of packages building with newer ghc.. it's kind of circular
2021-12-22 19:14:42 +0100 <sm> still, I'm sure there's a solution for your build issue. It might be to use a newer nightly instead of lts, for now
2021-12-22 19:16:07 +0100analognoise(~analognoi@91.196.220.236) (Ping timeout: 250 seconds)
2021-12-22 19:17:34 +0100analognoise(~analognoi@23.105.41.153)
2021-12-22 19:18:10 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 19:18:11 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 19:19:37 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 19:19:38 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 19:20:03 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-22 19:20:30 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 19:20:30 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 19:20:53 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 19:20:53 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 19:20:57 +0100analognoise1(~analognoi@2600:8801:8c26:9e00:9810:dcc2:3d73:bd7a) (Ping timeout: 240 seconds)
2021-12-22 19:21:15 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 19:21:15 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 19:22:07 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 19:22:07 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 19:22:29 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 19:22:30 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 19:22:55 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 19:22:55 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 19:24:05 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 19:24:08 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 19:24:12 +0100 <jneira[m]> today i tried to use head.hackage with stack and no way, could be it even possible?
2021-12-22 19:24:57 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2021-12-22 19:25:37 +0100CiaoSen(~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2021-12-22 19:25:54 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 19:25:55 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 19:26:27 +0100kranius(~kranius@user/kranius) (Ping timeout: 268 seconds)
2021-12-22 19:27:00 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 19:27:01 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 19:27:17 +0100emf(~emf@2620:10d:c091:480::1:44aa) (Ping timeout: 240 seconds)
2021-12-22 19:27:34 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 19:27:35 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 19:27:42 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2021-12-22 19:27:52 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-12-22 19:28:11 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-12-22 19:28:17 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 19:28:18 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 19:29:17 +0100 <geekosaur> https://github.com/commercialhaskell/stack/issues/3844 does this look familiar?
2021-12-22 19:29:25 +0100__monty__(~toonn@user/toonn)
2021-12-22 19:29:37 +0100 <geekosaur> otherwise I think you'll have to show what you tried and what went wrong
2021-12-22 19:29:40 +0100 <geekosaur> @where paste
2021-12-22 19:29:41 +0100 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2021-12-22 19:31:10 +0100phma_(phma@2001:5b0:211c:9c18:ac13:6342:6a86:65e4)
2021-12-22 19:31:52 +0100 <jneira[m]> geekosaur: i tried something similar with 2 package indices, but stack told me you can use only one (although it is a list?)
2021-12-22 19:32:02 +0100 <jneira[m]> maybe i misinterpreted the error msg
2021-12-22 19:32:37 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-12-22 19:32:49 +0100 <jneira[m]> an then i rea in docs:
2021-12-22 19:32:49 +0100 <jneira[m]> > Since Stack 1.11, this field may only be used to specify a single package index, which must use the Hackage Security format
2021-12-22 19:32:50 +0100 <lambdabot> <hint>:1:17: error: parse error on input ‘,’
2021-12-22 19:33:20 +0100phma(~phma@2001:5b0:210f:6808:2fd4:ecc8:b8ea:8fba) (Read error: Connection reset by peer)
2021-12-22 19:34:02 +0100 <jneira[m]> if you set only head.hackage it does not find packages cause it is a overlay
2021-12-22 19:35:32 +0100chomwitt(~chomwitt@2a02:587:dc1c:a00:12c3:7bff:fe6d:d374) (Ping timeout: 240 seconds)
2021-12-22 19:35:37 +0100emf(~emf@2620:10d:c091:480::1:44aa)
2021-12-22 19:35:42 +0100mvk(~mvk@2607:fea8:5cdd:f000::917a)
2021-12-22 19:36:26 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-12-22 19:37:38 +0100jeetelongname(~jeet@88-111-159-26.dynamic.dsl.as9105.com) (Ping timeout: 252 seconds)
2021-12-22 19:38:37 +0100chomwitt(~chomwitt@2a02:587:dc1c:a00:12c3:7bff:fe6d:d374)
2021-12-22 19:39:31 +0100justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 250 seconds)
2021-12-22 19:40:28 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Remote host closed the connection)
2021-12-22 19:43:47 +0100pavonia(~user@user/siracusa)
2021-12-22 19:44:15 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 19:44:16 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 19:44:47 +0100deadmarshal(~deadmarsh@95.38.229.128) (Ping timeout: 256 seconds)
2021-12-22 19:45:20 +0100xkuru(~xkuru@user/xkuru)
2021-12-22 19:47:09 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-12-22 19:47:18 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 19:47:18 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 19:47:38 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 19:47:38 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 19:52:57 +0100Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 240 seconds)
2021-12-22 19:53:15 +0100neurocyte0132889(~neurocyte@user/neurocyte) (Read error: Connection reset by peer)
2021-12-22 19:53:52 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2021-12-22 19:54:11 +0100ProfSimm(~ProfSimm@87.227.196.109)
2021-12-22 19:54:26 +0100neurocyte0132889(~neurocyte@IP-045014189127.dynamic.medianet-world.de)
2021-12-22 19:54:26 +0100neurocyte0132889(~neurocyte@IP-045014189127.dynamic.medianet-world.de) (Changing host)
2021-12-22 19:54:26 +0100neurocyte0132889(~neurocyte@user/neurocyte)
2021-12-22 19:54:41 +0100yin(~yin@user/zero)
2021-12-22 19:54:49 +0100 <jneira[m]> hmm maybe adding the src tarballs from the repo in extra-deps? will try
2021-12-22 19:56:04 +0100kranius(~kranius@162.19.149.77.rev.sfr.net)
2021-12-22 19:56:44 +0100kranius(~kranius@162.19.149.77.rev.sfr.net) (Changing host)
2021-12-22 19:56:44 +0100kranius(~kranius@user/kranius)
2021-12-22 19:57:43 +0100Maxdamantus(~Maxdamant@user/maxdamantus)
2021-12-22 19:58:40 +0100BrokenClutch(~pioneer@2804:d41:c2a7:d800:e627:b00b:2c62:134) (Quit: Leaving.)
2021-12-22 19:59:49 +0100kaph(~kaph@net-2-47-236-216.cust.vodafonedsl.it)
2021-12-22 20:03:09 +0100max22-(~maxime@2a01cb088335980001474809897dc97d.ipv6.abo.wanadoo.fr) (Ping timeout: 250 seconds)
2021-12-22 20:05:20 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 20:05:21 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 20:05:45 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 20:05:45 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 20:06:41 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2021-12-22 20:07:00 +0100ProfSimm(~ProfSimm@87.227.196.109)
2021-12-22 20:13:57 +0100yin(~yin@user/zero) (Ping timeout: 240 seconds)
2021-12-22 20:13:57 +0100x88x88x(~x88x88x@149.28.53.172) (Ping timeout: 240 seconds)
2021-12-22 20:15:00 +0100emf(~emf@2620:10d:c091:480::1:44aa) (Read error: Connection reset by peer)
2021-12-22 20:17:40 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-22 20:18:07 +0100 <energizer> ghci seems like a reasonable repl. i assume it's missing something important so people don't want to use it for serious repling like they do with lisps. what is it missing?
2021-12-22 20:18:56 +0100 <geekosaur> sane multiline handling, for one
2021-12-22 20:19:28 +0100 <monochrom> I don't use a Lisp REPL for multiline, either.
2021-12-22 20:19:35 +0100 <geekosaur> since haskell uses layout by default, you kinda want reasonable multiline input where you can use layout. ghci provides two ways to do this and both kinda suck
2021-12-22 20:19:51 +0100 <monochrom> In fact I challenge the premise. What data do you have that says people don't use ghci?
2021-12-22 20:19:51 +0100 <g> It's better to do multiple line stuff in an editor in both
2021-12-22 20:19:58 +0100 <geekosaur> in particular you can't arrow up and edit a previous line
2021-12-22 20:20:28 +0100emf(~emf@2620:10d:c091:480::1:e0fe)
2021-12-22 20:20:35 +0100 <geekosaur> I use ghci but I use it on something I've entered using an editor instead of typing definitions directly into it
2021-12-22 20:21:06 +0100 <geekosaur> you also can't enter a bunch of definitions and then save the result to a file afterward
2021-12-22 20:21:12 +0100 <monochrom> REPLing is so commonly demanded that "cabal repl" and "stack repl" exist and were implemented with great pain.
2021-12-22 20:21:55 +0100 <energizer> geekosaur: yeah idk what the general name for "sending lines from editor to inferior repl process" is
2021-12-22 20:22:46 +0100 <monochrom> OK so this is an echo chamber "conversation"
2021-12-22 20:22:58 +0100 <energizer> monochrom?
2021-12-22 20:23:15 +0100 <monochrom> "I will ignore all doubts against my premise."
2021-12-22 20:23:49 +0100 <monochrom> Not the first time anyway.
2021-12-22 20:23:50 +0100 <energizer> monochrom: you made your point, give it a minute to settle before attacking please
2021-12-22 20:24:13 +0100mimmy(~mimmy@69.174.8.146)
2021-12-22 20:25:57 +0100x88x88x(~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb)
2021-12-22 20:26:49 +0100shaprawakens
2021-12-22 20:26:53 +0100 <shapr> people not being nice?
2021-12-22 20:26:56 +0100 <energizer> there are many livestreams of lisp/python/whatever developers interactively exploring data as part of their workflow. are there any such videos for haskell?
2021-12-22 20:26:58 +0100shaprhugs people
2021-12-22 20:27:37 +0100 <shapr> energizer: have you seen https://las.rs/blog/haskell-as-shell.html ? could be related?
2021-12-22 20:27:47 +0100 <geekosaur> possibly not, but that doesn't mean we don't do it
2021-12-22 20:28:11 +0100 <Cale> energizer: People use ghci constantly... I don't know why you'd expect otherwise.
2021-12-22 20:28:22 +0100 <shapr> I'd use GHCi for all my dev if I could easily file out definitions into a file, same as when I wrote python for a living.
2021-12-22 20:28:36 +0100 <geekosaur> was in a discussion earlier today elsewhere where it was pointed out that lisp/python/clojure/etc. folks always think they invented that idea
2021-12-22 20:28:46 +0100 <geekosaur> when it's been around for years
2021-12-22 20:29:19 +0100 <geekosaur> we just don't see any need to pretend we invented the idea and need to advertise it
2021-12-22 20:29:30 +0100 <shapr> energizer: does IHaskell fit into the repl box?
2021-12-22 20:30:09 +0100 <energizer> when was ghci released?
2021-12-22 20:30:20 +0100kranius(~kranius@user/kranius) (Quit: leaving)
2021-12-22 20:30:34 +0100 <monochrom> IMO DrRacket, Mathematica notebooks, IPython, and IHaskell are no longer REPL. They exceed REPL by far.
2021-12-22 20:31:00 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-12-22 20:31:50 +0100 <monochrom> REPL is when you are confined to a VT100.
2021-12-22 20:31:58 +0100max22-(~maxime@2a01cb0883359800bfc539327e2fa08b.ipv6.abo.wanadoo.fr)
2021-12-22 20:33:16 +0100 <energizer> shapr: that post is nice. i often wonder why people dont use haskell for their system shell. based on that post i think the answer is that there's no good syntax for it
2021-12-22 20:33:22 +0100 <monochrom> Mathematica already coined the name "notebook" for this, long before the rest of DrRacket and IPython IThis IThat. I say we can call this "notebook".
2021-12-22 20:33:25 +0100 <geekosaur> looks like ghci was introduced in ghc5
2021-12-22 20:33:39 +0100 <energizer> (which isn't the conclusion it arrives at but i do)
2021-12-22 20:34:20 +0100 <energizer> monochrom: that is a good point
2021-12-22 20:34:45 +0100 <monochrom> And exploring data during programming, I think it's already part of Jackson Structured Design way back.
2021-12-22 20:35:08 +0100 <shapr> energizer: last I looked into GHCi, it works by compiling pieces and dynamically loading them. That needs extra support, so is often not present on uncommon architectures
2021-12-22 20:35:08 +0100 <monochrom> No one is going to get the credit except Jackson.
2021-12-22 20:35:25 +0100 <monochrom> BTW fun fact, his full name is Michael Jackson, no joke.
2021-12-22 20:36:02 +0100 <monochrom> In 2000 I had the honour to meet him. Same summer school when SPJ gave the Awkward Squad lectures.
2021-12-22 20:36:07 +0100Erutuon(~Erutuon@user/erutuon)
2021-12-22 20:36:34 +0100 <geekosaur> shapr, not quite. it compiles to bytecode by default, which works fine. what does not automatically work on weird architectures is anything that wants to load external libraries for FFI
2021-12-22 20:36:48 +0100 <shapr> ah, thanks for the details
2021-12-22 20:36:50 +0100 <monochrom> And stupid me, when I met him I failed to connect him to "wait, are you Jackson as in Jackson Structure Design/Programming?"
2021-12-22 20:37:32 +0100 <energizer> geekosaur: what happens to the bytecode?
2021-12-22 20:37:52 +0100 <shapr> energizer: seems reasonable to me that whitespace syntax makes multi-line repl difficult
2021-12-22 20:38:22 +0100 <shapr> as far as I know the curly brace and semicolon syntax is still supported, maybe that'd be more repl friendly?
2021-12-22 20:38:42 +0100 <geekosaur> it's executed and discarded. a way to save and load it has been a low priority ghc ticket for years; you can't even save source currently, what point is bytecode?
2021-12-22 20:39:15 +0100 <shapr> energizer: at least for me, I write functions in emacs, and hit C-c C-l to dump the open buffer into ghci, that works well
2021-12-22 20:39:18 +0100 <geekosaur> it's still supported but less familiar to most folks, especially since once you switch to it you can't stop using it
2021-12-22 20:39:32 +0100 <shapr> haskell-language-server makes everything easier, I don't need ghci or ghcid much at all
2021-12-22 20:39:36 +0100 <geekosaur> so you also have to use brace syntax with a let inside a do, for example
2021-12-22 20:39:38 +0100 <energizer> geekosaur: i mean is there a bytecode vm or does the bytecode get compiled to native
2021-12-22 20:39:47 +0100 <geekosaur> there is a bytecode vm
2021-12-22 20:39:56 +0100 <geekosaur> it's also used by template haskell
2021-12-22 20:40:41 +0100 <shapr> energizer: oh, have you tried haskell-language-server ? if not, it's really amazing
2021-12-22 20:42:20 +0100 <energizer> i guess what i'm trying to get at is, what about lisp/python/whatever is more suitable for interactive exploration than what haskell offers
2021-12-22 20:43:02 +0100x88x88x(~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb) (Ping timeout: 240 seconds)
2021-12-22 20:43:47 +0100 <shapr> I can't think of any reason that would be true?
2021-12-22 20:44:05 +0100 <geekosaur> neither can I
2021-12-22 20:44:08 +0100 <shapr> not saying it isn't, just seems like they're equally powerful to me?
2021-12-22 20:44:18 +0100 <geekosaur> do you have a reason to think they are?
2021-12-22 20:44:34 +0100 <shapr> I did ~20 years of professional python before doing professional Haskell, I'd prefer to use Haskell for data exploration for a variety of reasons
2021-12-22 20:44:50 +0100 <shapr> mind you, python has lots of libraries that Haskell doesn't
2021-12-22 20:44:53 +0100 <geekosaur> the only reasons I can think of are (a) compiled instead of interpreted by default (b) not dynamically typed
2021-12-22 20:45:01 +0100 <energizer> one is that in python the compiler won't fail to infer, it'll just go
2021-12-22 20:45:03 +0100 <geekosaur> but neither is actually a problem
2021-12-22 20:45:28 +0100 <geekosaur> python will also happily accept unexpected Nones
2021-12-22 20:45:34 +0100 <geekosaur> and give you garbage
2021-12-22 20:45:40 +0100 <shapr> energizer: I think 'just go' has caused me the most problems in my professional python career.
2021-12-22 20:45:54 +0100 <energizer> i'm not asking "why is haskell better for interactive" i'm asking "why is python better for interactive"
2021-12-22 20:46:00 +0100shaprthinks
2021-12-22 20:46:10 +0100 <shapr> I guess I'm not convinced it is?
2021-12-22 20:46:19 +0100 <shapr> What do you see that supports that hypothesis?
2021-12-22 20:46:23 +0100 <energizer> s/why/in what ways is/
2021-12-22 20:47:12 +0100 <shapr> I'd agree with what geekosaur just said
2021-12-22 20:47:22 +0100 <shapr> Python will give you possibly incorrect results with less work
2021-12-22 20:47:39 +0100 <energizer> that aint what im asking
2021-12-22 20:47:56 +0100shaprtries to read again
2021-12-22 20:48:05 +0100 <energizer> gimme the python pros column
2021-12-22 20:48:18 +0100 <energizer> not the python cons column
2021-12-22 20:48:34 +0100 <shapr> python pros: jupyter, lots of libraries, easy to find on stackoverflow
2021-12-22 20:48:57 +0100 <energizer> i'm not seeing how compiled/interpreted would matter
2021-12-22 20:49:14 +0100 <shapr> matters a bunch when your dataset is large
2021-12-22 20:49:40 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4)
2021-12-22 20:49:45 +0100 <energizer> geekosaur gave it as a python pro i think
2021-12-22 20:49:55 +0100 <monochrom> codeworld proves that python is not better for interactive.
2021-12-22 20:50:09 +0100 <geekosaur> why are you asking haskell folks why python is better?
2021-12-22 20:50:28 +0100 <energizer> cuz python folks dont know haskell
2021-12-22 20:50:38 +0100 <shapr> ha, good point
2021-12-22 20:51:01 +0100 <shapr> python has way more libraries for uncommon file formats and network protocols
2021-12-22 20:51:11 +0100 <monochrom> Well, DrRacket already proves that. But I want a statically typed proof.
2021-12-22 20:51:16 +0100x88x88x(~x88x88x@149.28.53.172)
2021-12-22 20:51:17 +0100emf(~emf@2620:10d:c091:480::1:e0fe) (Ping timeout: 240 seconds)
2021-12-22 20:51:19 +0100 <shapr> that's the biggest python advantage I see
2021-12-22 20:51:58 +0100 <shapr> energizer: do you write both Python and Haskell?
2021-12-22 20:52:13 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-12-22 20:52:26 +0100 <shapr> Python was my favorite language for a long time, but Haskell has overtaken that
2021-12-22 20:52:27 +0100 <monochrom> And there is also an interactive website that provides even a dependently typed proof. It uses Lean the math theorem prover.
2021-12-22 20:53:13 +0100 <monochrom> https://leanprover.github.io/live/latest/
2021-12-22 20:53:57 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4) (Ping timeout: 240 seconds)
2021-12-22 20:54:09 +0100 <monochrom> Although, when I first googled "try lean", I discovered that now we also have an abused drug called "lean".
2021-12-22 20:54:16 +0100 <monochrom> What can't we have nice things.
2021-12-22 20:54:19 +0100 <shapr> energizer: personally, I want to get more differential dataflow support in my every day life. I it'll be a better tool for many things I do.
2021-12-22 20:54:43 +0100 <monochrom> You give a name to your hard-won theorem prover, now suddenly it is also the name of a drug.
2021-12-22 20:55:02 +0100 <energizer> my experience with theorem provers is that they require enormous work to get results
2021-12-22 20:56:13 +0100 <energizer> sure the results are correct but do i really need to cover all the cases in the first draft
2021-12-22 20:56:21 +0100 <geekosaur> proofs are never easy, that's why we have tools to help with them
2021-12-22 20:56:33 +0100 <monochrom> No no no...
2021-12-22 20:56:47 +0100 <monochrom> proofs are never easy, that's why we let only humans check them >:)
2021-12-22 20:56:52 +0100 <energizer> not needing a proof to get something running is even easier
2021-12-22 20:57:26 +0100 <monochrom> I mean, correct programs are never easy, that's why we are complacent with incorrect programs.
2021-12-22 20:57:39 +0100 <energizer> i think that's the answer to my question
2021-12-22 20:57:56 +0100 <monochrom> And Curry-Howard says why the two phenomena are the two sides of the same coin.
2021-12-22 20:57:57 +0100deadmarshal(~deadmarsh@95.38.229.128)
2021-12-22 20:58:32 +0100 <geekosaur> and why dynamic typed systems that don't warn you about an unexpected nil/None/whatever are so popular, you can pretend errors don't exist (right up until they bite you in the butt)
2021-12-22 20:58:33 +0100 <energizer> when i'm developing interactively, i dont want to be interrupted by an annoying program asking for a proof of cases i dont care about
2021-12-22 20:58:48 +0100 <energizer> or proof that ive satisfied all the properties
2021-12-22 20:59:30 +0100 <energizer> i just want to roll, i'll clean it up after i verify i'm on the right track
2021-12-22 21:00:00 +0100 <shapr> in my experience, GHC checking for unhandled cases is a sweet spot between a proof and a dynamic language like Python
2021-12-22 21:00:02 +0100 <geekosaur> and then you never do because it works well enough
2021-12-22 21:00:13 +0100 <geekosaur> see also: there is nothing so permanent as a temporary hack
2021-12-22 21:01:01 +0100 <geekosaur> (is my sysadmin hat showing? :)
2021-12-22 21:01:38 +0100 <shapr> they quickly become load bearing hacks
2021-12-22 21:01:51 +0100 <pragma-> if it ain't broke
2021-12-22 21:01:53 +0100 <shapr> we have several of those in the work codebase
2021-12-22 21:02:17 +0100deadmarshal(~deadmarsh@95.38.229.128) (Ping timeout: 240 seconds)
2021-12-22 21:02:20 +0100 <monochrom> A proof-heavy system is only as restrictive as what you promise it.
2021-12-22 21:02:32 +0100 <shapr> energizer: will you do a write-up of your findings? I'd be interested in reading it.
2021-12-22 21:02:51 +0100 <monochrom> So I relax that restriction by promising less at the beginning. I can promise more when I am ready for more.
2021-12-22 21:03:18 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 260 seconds)
2021-12-22 21:03:55 +0100 <energizer> shapr: i'm sure i wont have any novel conclusions, i'm just trying to catch up
2021-12-22 21:03:57 +0100 <monochrom> You don't want to prove that your function works for all cases? Well don't promise "all cases" in the first place.
2021-12-22 21:04:07 +0100 <shapr> energizer: if you want to learn about languages further into proof land, agda is informative.
2021-12-22 21:05:00 +0100 <energizer> shapr: yeah the whole family of fancy type systems seems interesting
2021-12-22 21:05:15 +0100juhp(~juhp@128.106.188.82) (Ping timeout: 256 seconds)
2021-12-22 21:05:15 +0100 <energizer> agda idris lean coq
2021-12-22 21:05:17 +0100zincy(~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807)
2021-12-22 21:05:20 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4)
2021-12-22 21:05:56 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827)
2021-12-22 21:06:35 +0100zincy(~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807) (Remote host closed the connection)
2021-12-22 21:07:07 +0100zincy(~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807)
2021-12-22 21:07:52 +0100juhp(~juhp@128.106.188.82)
2021-12-22 21:08:39 +0100nvmd(~nvmd@user/nvmd) (Quit: Later, nerds.)
2021-12-22 21:08:42 +0100dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.3)
2021-12-22 21:08:52 +0100justsomeguy(~justsomeg@user/justsomeguy)
2021-12-22 21:10:51 +0100zincy(~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807) (Remote host closed the connection)
2021-12-22 21:11:05 +0100zincy(~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807)
2021-12-22 21:13:29 +0100vicfred(~vicfred@user/vicfred)
2021-12-22 21:15:02 +0100doyougnu(~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
2021-12-22 21:15:37 +0100wolfshappen(~waff@irc.furworks.de)
2021-12-22 21:19:02 +0100Guest|47(~Guest|47@c-73-221-44-172.hsd1.wa.comcast.net)
2021-12-22 21:21:26 +0100darkstardevx(~darkstard@50.39.115.145)
2021-12-22 21:22:53 +0100darkstardevx(~darkstard@50.39.115.145) (Remote host closed the connection)
2021-12-22 21:23:17 +0100darkstardevx(~darkstard@50.39.115.145)
2021-12-22 21:23:59 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-12-22 21:24:23 +0100Guest|47space_llama
2021-12-22 21:25:39 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2021-12-22 21:36:49 +0100zincy(~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807) (Remote host closed the connection)
2021-12-22 21:37:02 +0100zincy(~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807)
2021-12-22 21:37:15 +0100 <EvanR> energizer, have you heard of this feature in ghc where type errors are delayed until some point at runtime
2021-12-22 21:37:38 +0100 <EvanR> haven't used it, but it fits the problem of "I just want to run the program NOW"
2021-12-22 21:37:54 +0100notzmv(~zmv@user/notzmv)
2021-12-22 21:38:11 +0100 <EvanR> i.e. part of your program could run but the whole thing is still broken
2021-12-22 21:39:10 +0100 <EvanR> seems handy and appealing to pythonic sensibilities
2021-12-22 21:39:47 +0100ph88(~ph88@ip5f5af068.dynamic.kabel-deutschland.de) (Quit: Leaving)
2021-12-22 21:42:58 +0100 <tomsmeding> -fdefer-type-errors
2021-12-22 21:43:24 +0100 <tomsmeding> see also the more restricted -fdefer-typed-holes
2021-12-22 21:44:10 +0100 <EvanR> oh that's a good one... I put a _ and now I don't even get other errors xD
2021-12-22 21:44:57 +0100mimmy(~mimmy@69.174.8.146) (Ping timeout: 240 seconds)
2021-12-22 21:46:22 +0100lavaman(~lavaman@98.38.249.169)
2021-12-22 21:50:49 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
2021-12-22 21:53:03 +0100space_llama(~Guest|47@c-73-221-44-172.hsd1.wa.comcast.net) (Quit: Connection closed)
2021-12-22 21:53:19 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Remote host closed the connection)
2021-12-22 21:57:11 +0100jackson99(~bc8147f2@83.167.180.121)
2021-12-22 21:57:17 +0100dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3)
2021-12-22 22:05:00 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-12-22 22:05:21 +0100tewrdh^(~tewrdh@64.253.22.77) (Remote host closed the connection)
2021-12-22 22:05:45 +0100_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-12-22 22:06:49 +0100amk(~amk@109.255.169.126) (Remote host closed the connection)
2021-12-22 22:08:17 +0100amk(~amk@109.255.169.126)
2021-12-22 22:10:30 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827)
2021-12-22 22:10:40 +0100 <EvanR> I tried an algebraic solution to todays puzzle
2021-12-22 22:10:46 +0100 <EvanR> did not work:tm:
2021-12-22 22:11:03 +0100CiaoSen(~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2021-12-22 22:11:56 +0100mimmy(~mimmy@69.174.8.146)
2021-12-22 22:13:11 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-12-22 22:16:17 +0100benin(~benin@183.82.27.57) (Quit: The Lounge - https://thelounge.chat)
2021-12-22 22:16:37 +0100mimmy(~mimmy@69.174.8.146) (Ping timeout: 240 seconds)
2021-12-22 22:16:48 +0100jgeerds(~jgeerds@55d4ac73.access.ecotel.net)
2021-12-22 22:17:43 +0100benin(~benin@183.82.27.57)
2021-12-22 22:22:04 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-12-22 22:22:22 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2021-12-22 22:23:01 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4) (Remote host closed the connection)
2021-12-22 22:24:40 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-12-22 22:24:57 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 22:24:57 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 22:25:49 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 22:25:50 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 22:26:21 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 22:26:22 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 22:26:47 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 22:26:47 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 22:28:53 +0100 <d34df00d> Alrighty, I have a small problem where I need to foldMap over a list, but with access to not just the current element, but, potentially, left and right neightbour of each element (except the first and last one).
2021-12-22 22:29:05 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 22:29:05 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 22:29:25 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2021-12-22 22:30:07 +0100 <d34df00d> zippers look relevant, but a couple of libraries I looked at don't provide the map-into-a-monoid-and-concat primitive.
2021-12-22 22:31:12 +0100 <Rembane> d34df00d: zip3 xs (tail xs) (tail . tail $ xs)
2021-12-22 22:31:25 +0100mimmy(~mimmy@69.174.8.146)
2021-12-22 22:32:11 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 22:32:11 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 22:32:13 +0100 <Rembane> d34df00d: That might help you, but it's not as fancy as what you were after.
2021-12-22 22:32:38 +0100 <d34df00d> Hmm, I came up with zipping together xs, tail (inits xs) and init (tails xs)
2021-12-22 22:33:03 +0100 <d34df00d> Yours looks somewhat similar, I think. Also, yep, I was curious if I'm reinventing the wheel, or if there is an abstraction I could use.
2021-12-22 22:33:18 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 22:33:19 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 22:33:40 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 22:33:41 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 22:34:04 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 22:34:05 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 22:34:21 +0100 <justsomeguy> Haskellbook says "Haskell has native recursion based on the same principle as the Y combinator". (Source here: https://gist.github.com/kingparra/a0600fe64999c391c320058aa0072125) What does that mean?
2021-12-22 22:35:05 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 22:35:05 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 22:35:19 +0100 <justsomeguy> In that gist, I added a comment with my stab at an explanation of that quote, but I feel like I'm missing something.
2021-12-22 22:35:30 +0100Hafydd(~Hafydd@user/hafydd) (Quit: WeeChat 3.3)
2021-12-22 22:35:35 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 22:35:36 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 22:35:55 +0100mimmy(~mimmy@69.174.8.146) (Ping timeout: 256 seconds)
2021-12-22 22:37:10 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 22:37:11 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 22:37:43 +0100 <monochrom> I think it is either false or requires a very postmodern definition of "same principles".
2021-12-22 22:38:49 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-12-22 22:39:07 +0100 <monochrom> So let me start from the most anal and see if I can progress (regress?) to the most lax.
2021-12-22 22:39:28 +0100 <monochrom> The Y combinator is untypable in Haskell. So it is irrelevant right there.
2021-12-22 22:39:44 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 22:39:45 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 22:39:59 +0100 <justsomeguy> There are a lot of quotes like that in this book ... I think the intention is to relate how the evaluation strategy of LC is a useful mental model for how Haskell evaluates, but sometimes it's frustrating because it seems like some of these are factually incorrect.
2021-12-22 22:40:07 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 22:40:08 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 22:40:50 +0100 <monochrom> But you can work around by introducing a few newtype wrappings and unwrappings. It is not too bad. Then you can have an edited version of the Y combinator in Haskell.
2021-12-22 22:40:59 +0100 <justsomeguy> I did find a definition of Y in haskell, but it requires unsafeCoerce: y = \f -> (\x -> f (x' x)) (\x -> f (x' x))
2021-12-22 22:41:01 +0100 <justsomeguy> where x' = unsafeCoerce x
2021-12-22 22:41:03 +0100 <justsomeguy> y
2021-12-22 22:41:10 +0100 <tomsmeding> I mean, the primary characteristic of the Y combinator is that Y f = f (Y f); and such a function does indeed exist: it's Data.Function.fix, defined as, you guessed it, fix f = f (fix f)
2021-12-22 22:41:17 +0100 <monochrom> But then, this still doesn't mean that Haskell's native recursion is actually defined in terms of that.
2021-12-22 22:41:44 +0100 <justsomeguy> Right, that what I'm wondering about. ...
2021-12-22 22:42:16 +0100 <monochrom> OK right, the next laxation is "we just mean that the fixed-point equation is solvable, and Y is one way to solve that equation".
2021-12-22 22:42:19 +0100 <tomsmeding> you need the weird structure of the standard Y combinator (which is untypeable in Haskell) because you don't have direct recursion in the standard lambda calculs
2021-12-22 22:42:29 +0100random-jellyfish(~random-je@user/random-jellyfish)
2021-12-22 22:42:46 +0100 <monochrom> But Y is by far not the only solution, not even in the untyped lambda calculus in the book's chapter 1.
2021-12-22 22:43:12 +0100Hafydd(~Hafydd@user/hafydd)
2021-12-22 22:43:14 +0100 <geekosaur> I have this feeling it's really talking about letrec
2021-12-22 22:43:30 +0100 <geekosaur> but that's an odd way of putting it
2021-12-22 22:43:44 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 22:43:45 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 22:43:47 +0100 <tomsmeding> geekosaur: yeah, then it's doing the reader a disservice by saying that it's the same principle as the Y combinator
2021-12-22 22:43:52 +0100 <monochrom> This is a pretty broad disease. People cite Y as though it is the only solution. NO. There is an honest difference between "fixed point combinator" and Y.
2021-12-22 22:44:00 +0100 <tomsmeding> it's not, though it can be used to the same end
2021-12-22 22:44:14 +0100mcglk(~mcglk@131.191.49.120) (Read error: Connection reset by peer)
2021-12-22 22:44:15 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 22:44:16 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 22:44:18 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-12-22 22:44:25 +0100 <monochrom> In the same sense as "white horse is not horse" (white horses don't stand for all horses), Y is not fixed-point combinator.
2021-12-22 22:44:32 +0100 <tomsmeding> monochrom: are there any in the untyped lambda calculus that are typeable in Haskell?
2021-12-22 22:44:49 +0100 <monochrom> No. They all rely on \x -> x x
2021-12-22 22:44:56 +0100 <tomsmeding> makes sense
2021-12-22 22:45:23 +0100mcglk(~mcglk@131.191.49.120)
2021-12-22 22:46:11 +0100acidjnk(~acidjnk@p200300d0c7271e77d154eb1f1200bcdb.dip0.t-ipconnect.de)
2021-12-22 22:46:19 +0100 <monochrom> Alternatively, if you delete recursive bindings and recursive data type definitions from Haskell, you end up with something less powerful than System F, and System F doesn't have \x -> x x, we know this because every program in System F terminates.
2021-12-22 22:46:30 +0100 <tomsmeding> (are there any in the simply-typed lambda calculus? No, because STLC is total)
2021-12-22 22:46:45 +0100 <tomsmeding> (or, perhaps, _therefore_ STLC is total)
2021-12-22 22:46:45 +0100 <monochrom> Yeah, like that kind of arguments.
2021-12-22 22:47:19 +0100 <tomsmeding> (not sure you can sensibly put a causality relation there)
2021-12-22 22:47:41 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 22:47:42 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 22:48:13 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-22 22:48:21 +0100 <monochrom> The most lax level is to first acknowledge that Haskell has syntactic recursion, which is by far totally not the point of any fixed-point combinator (which spares you from syntactic recursion).
2021-12-22 22:49:20 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
2021-12-22 22:49:22 +0100 <monochrom> And then the semantics of Haskell goes on to map syntactic recursion to the use of a fixed-point combinator (and we don't care which). As alluded in the Haskell Report.
2021-12-22 22:49:54 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 22:49:55 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 22:50:15 +0100 <monochrom> So yeah, one point down for HFFP.
2021-12-22 22:50:20 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 22:50:21 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 22:50:32 +0100kjak(~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Remote host closed the connection)
2021-12-22 22:50:41 +0100 <monochrom> It uses a good pedogogical strategy, but it gets a couple of facts wrong.
2021-12-22 22:51:24 +0100 <monochrom> Although, hiding behind the façade of "same" "principle" you can make any claim you like.
2021-12-22 22:51:42 +0100 <monochrom> http://www.vex.net/~trebla/humour/tautologies.html #0
2021-12-22 22:52:02 +0100 <justsomeguy> There are a few mroe like this. From ch1 "Functional programming languages are all based on the lambda calculus.". Apparently the original lisp is based on McCarthys thesis.
2021-12-22 22:52:06 +0100 <justsomeguy> *more
2021-12-22 22:52:40 +0100 <justsomeguy> Thank you for clearing that up, monochrom
2021-12-22 22:52:54 +0100Guest|47(~Guest|47@c-73-221-44-172.hsd1.wa.comcast.net)
2021-12-22 22:53:03 +0100Guest|47space_llama
2021-12-22 22:53:18 +0100 <monochrom> Oh, that one I have no objection.
2021-12-22 22:53:54 +0100 <monochrom> Lisp's primary concern was cons cell. FP is only its secondary concern.
2021-12-22 22:54:04 +0100 <tomsmeding> though it's fairly easy to be "based on" the lambda calculus :p
2021-12-22 22:54:20 +0100 <Rembane> Maybe it's harder to not be based on the lambda calculus?
2021-12-22 22:54:32 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 22:54:33 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 22:54:41 +0100 <tomsmeding> C isn't in any reasonable way, I guess
2021-12-22 22:54:42 +0100 <justsomeguy> So your position is that Lisp isn't a functional lanauge, then? (I would say it isn't purely functional, but it's still functional.)
2021-12-22 22:55:23 +0100regr(~regr@2a02:a466:cf4f:1:cbe9:8a75:f9d2:f3e4)
2021-12-22 22:55:31 +0100 <monochrom> I would pin Backus language "FP" as the 1st functional programming language. And it uses so many ideas from lambda calculus that I would not object to "based on that".
2021-12-22 22:55:35 +0100 <oats> you can write some really imperative code in some lisps
2021-12-22 22:55:55 +0100 <monochrom> But if you don't accept that, I have a weaker stance.
2021-12-22 22:55:59 +0100zincy(~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807) (Remote host closed the connection)
2021-12-22 22:55:59 +0100 <oats> lisp-family languages tend to be more expression-oriented, but idk if that can qualify it as functional
2021-12-22 22:56:03 +0100 <tomsmeding> I mean, to be "based on" the lambda calculus, you need variables (only basically removes assembly and forth-likes from the list of candidates), function application (same), and inline functions (removes a couple more, but leaves almost any language that is still receiving updates today)
2021-12-22 22:56:03 +0100 <geekosaur> you can write some really imperative code in haskell
2021-12-22 22:56:31 +0100 <oats> new rule, lambda calculus is the only functional language :P
2021-12-22 22:57:08 +0100 <Rembane> tomsmeding: So having a language that with some effort can be turned into lambda calculus doesn't count? :)
2021-12-22 22:57:15 +0100 <tomsmeding> geekosaur: I wonder if our students, who are learning Haskell as a second language after an imperative one, would find that a consolation :p
2021-12-22 22:57:16 +0100 <monochrom> Landin taught us to explain programming languages by a lambda calculus on steroid. ("The Next 700 Programming Languages.") So a revisionist would say that FPLs are based on that, retrospectively.
2021-12-22 22:57:26 +0100 <tomsmeding> Rembane: such as?
2021-12-22 22:57:47 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 22:57:47 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 22:58:27 +0100 <monochrom> But Landin in that paper used lambda calculus to explain Algol, not very functional. So there. >:)
2021-12-22 22:58:52 +0100 <tomsmeding> lol
2021-12-22 22:59:07 +0100 <monochrom> Basically the paper covers everything except the Prolog camp...
2021-12-22 22:59:27 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 22:59:27 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 23:00:35 +0100 <space_llama> GHCi, version 8.10.7: https://www.haskell.org/ghc/ :? for help
2021-12-22 23:00:36 +0100 <space_llama> Prelude> import Graphics.Glass
2021-12-22 23:00:36 +0100 <space_llama> <no location info>: error:
2021-12-22 23:00:37 +0100 <space_llama>     Could not find module ‘Graphics.Glass’
2021-12-22 23:00:37 +0100 <space_llama>     It is not a module in the current program, or in any known package.
2021-12-22 23:01:02 +0100 <tomsmeding> try Graphics.Gloss
2021-12-22 23:01:08 +0100 <space_llama> where does Graphics need to reside on my computer for ghci to see it?
2021-12-22 23:02:00 +0100 <tomsmeding> you need to create a project, either with stack or cabal, and add the 'gloss' package as a dependency; or you need to start a ghci shell via stack or cabal with the 'gloss' package as a dependency
2021-12-22 23:02:35 +0100 <tomsmeding> or you use an old-fashioned way of using cabal and install the library globally :p
2021-12-22 23:02:42 +0100darkstardevx(~darkstard@50.39.115.145) (Read error: Connection reset by peer)
2021-12-22 23:03:04 +0100 <tomsmeding> space_llama: do you have experience with python virtualenv, or rust, or nodejs?
2021-12-22 23:03:39 +0100 <space_llama> I did not use cabal. I downloaded a .tar.gz file directly from https://hackage.haskell.org/package/gloss
2021-12-22 23:03:56 +0100 <tomsmeding> you should use cabal (or stack) :)
2021-12-22 23:04:08 +0100 <tomsmeding> unless you have a good reason not to, and you probably don't
2021-12-22 23:04:11 +0100 <space_llama> I have about 8 hours experience on python. Mostly have used Matlab
2021-12-22 23:04:22 +0100mimmy(~mimmy@69.174.8.146)
2021-12-22 23:04:25 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 23:04:26 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 23:04:41 +0100 <tomsmeding> I believe with python, you put dependencies in requirements.txt, right?
2021-12-22 23:04:43 +0100 <tomsmeding> or something like that
2021-12-22 23:04:58 +0100 <Rembane> tomsmeding: What monochrom said about Landin, Algol and lambda calculus. That should mean that C can be turned into lambda calculus too. Or explained by it.
2021-12-22 23:05:00 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 23:05:01 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 23:05:06 +0100 <tomsmeding> (actually virtualenv is not really a good example, forget that)
2021-12-22 23:05:22 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 23:05:23 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 23:05:34 +0100 <space_llama> so how do I know what command to type into shell to download the graphics.gloss package via cabal?
2021-12-22 23:05:43 +0100 <tomsmeding> Rembane: not having read the paper (sorry), I wouldn't accept that as an argument why Algol/C is "based on" LC :p
2021-12-22 23:06:36 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 23:06:37 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 23:06:54 +0100 <tomsmeding> space_llama: the easiest way to start a ghci session with access to 'gloss', is 'cabal repl -b gloss'
2021-12-22 23:07:07 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 23:07:08 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 23:07:14 +0100space_llama(~Guest|47@c-73-221-44-172.hsd1.wa.comcast.net) (Quit: Connection closed)
2021-12-22 23:07:17 +0100 <Rembane> tomsmeding: That's reasonable. I must admit that I did a silly amount of handwaving there.
2021-12-22 23:07:21 +0100 <tomsmeding> if you want to actually write a .hs file that uses gloss, create a new directory and put a suitable yourprojct.cabal file in it
2021-12-22 23:07:26 +0100 <oats> poor space_llama
2021-12-22 23:07:26 +0100 <tomsmeding> oh by space_llama
2021-12-22 23:07:28 +0100 <sclv> space_llama: downloading it won't help. you need to build it (and to build it you need to build and link its dependencies, and their dependencies, etc). so that's why we use package managers like cabal to manage all that
2021-12-22 23:07:30 +0100 <tomsmeding> *bye
2021-12-22 23:07:35 +0100Guest|47(~Guest|47@c-73-221-44-172.hsd1.wa.comcast.net)
2021-12-22 23:07:39 +0100Guest|47space_llama
2021-12-22 23:07:39 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 23:07:40 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 23:07:41 +0100 <sclv> oh lol
2021-12-22 23:07:48 +0100 <sclv> space_llama: downloading it won't help. you need to build it (and to build it you need to build and link its dependencies, and their dependencies, etc). so that's why we use package managers like cabal to manage all that
2021-12-22 23:08:00 +0100 <tomsmeding> space llama is lost in space
2021-12-22 23:08:08 +0100 <oats> space_llama, please trust us, it's worth it to learn to use the toolin
2021-12-22 23:08:08 +0100 <space_llama> oops I just held power instead of delete key and logged off computer...
2021-12-22 23:08:10 +0100 <oats> *tooling
2021-12-22 23:08:10 +0100 <sclv> so `cabal repl -b gloss` as suggested starts an interactive ghci session with a build dependency on gloss
2021-12-22 23:08:11 +0100 <oats> lol
2021-12-22 23:08:27 +0100 <tomsmeding> oops :p
2021-12-22 23:08:36 +0100 <tomsmeding> what sclv says
2021-12-22 23:08:43 +0100 <sclv> and that fetches and build and brings into scope all the stuff gloss needs and builds gloss and makes it available to the ghci session
2021-12-22 23:08:56 +0100 <sclv> and then to use it in a file, use a cabal project as suggested
2021-12-22 23:08:57 +0100mimmy(~mimmy@69.174.8.146) (Ping timeout: 240 seconds)
2021-12-22 23:11:05 +0100kmein(~weechat@user/kmein) (Quit: ciao kakao)
2021-12-22 23:11:25 +0100kmein(~weechat@user/kmein)
2021-12-22 23:12:09 +0100 <tomsmeding> space_llama: can start with this I guess https://paste.tomsmeding.com/M70m4yk4
2021-12-22 23:13:04 +0100 <tomsmeding> (sorry for the poor spacing in the cabal file, that tab should be 4 spaces)
2021-12-22 23:13:25 +0100 <space_llama> well it did a bunch of installing, building, completed, starting, haddock business for 30+ lines
2021-12-22 23:14:48 +0100 <justsomeguy> If your prefer stack, you can run stack ghci -package gloss for the same effect.
2021-12-22 23:15:14 +0100 <justsomeguy> (Though, honestly, I think it makes more sense to learn cabal first.)
2021-12-22 23:16:16 +0100 <space_llama> now the terminal browser is flickering its heading title between "ghc", "clang" and something else " ... cabal reple -b gloss" and all my typed commands do nothing.
2021-12-22 23:16:31 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-22 23:16:31 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-12-22 23:16:31 +0100wroathe(~wroathe@user/wroathe)
2021-12-22 23:16:44 +0100 <tomsmeding> is it showing you a ghci prompt?
2021-12-22 23:16:50 +0100 <space_llama> no
2021-12-22 23:16:55 +0100 <sclv> if its still flickering between stuff thats because its still building?
2021-12-22 23:17:05 +0100 <tomsmeding> sounds like it
2021-12-22 23:17:08 +0100fizbin(~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
2021-12-22 23:17:18 +0100 <sclv> it might just not be printing loglines as frequently
2021-12-22 23:17:22 +0100 <tomsmeding> what is the last line it printed space_llama
2021-12-22 23:17:40 +0100 <space_llama> last4:
2021-12-22 23:17:40 +0100tomsmedingsuspects "Building OpenGLRaw"
2021-12-22 23:17:42 +0100 <space_llama> Building OpenGLRaw-3.3.4.1 (lib)
2021-12-22 23:17:43 +0100 <space_llama> Haddock bmp-1.2.6.3 (all, legacy fallback)
2021-12-22 23:17:43 +0100 <space_llama> Installing bmp-1.2.6.3 (all, legacy fallback)
2021-12-22 23:17:44 +0100 <space_llama> Completed bmp-1.2.6.3 (all, legacy fallback)
2021-12-22 23:17:46 +0100 <tomsmeding> bpp,
2021-12-22 23:17:48 +0100 <tomsmeding> *boom
2021-12-22 23:17:56 +0100 <tomsmeding> OpenGLRaw takes a while :p
2021-12-22 23:18:03 +0100darkstardevx(~darkstard@50.39.115.145)
2021-12-22 23:18:05 +0100 <sclv> right its building all this stuff in parallel, and now everything left is blocked on a really big complicated package
2021-12-22 23:18:13 +0100mimmy(~mimmy@69.174.8.146)
2021-12-22 23:18:23 +0100 <tomsmeding> (not sure if OpenGLRaw is _complicated_ per se, but it for sure is big)
2021-12-22 23:20:38 +0100 <justsomeguy> geekosaur: I think you said that you have a feeling the book is talking about letrec indirectly, earlier. What do you mean by that? Also, what is letrec?
2021-12-22 23:21:01 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2021-12-22 23:21:06 +0100 <tomsmeding> some languages make a distinction between recursive let (called letrec) and non-recursive let (callet let)
2021-12-22 23:21:13 +0100 <tomsmeding> in haskell, all lets are recursive
2021-12-22 23:21:20 +0100 <tomsmeding> IIRC scheme makes a distinction
2021-12-22 23:21:42 +0100 <geekosaur> yes, that
2021-12-22 23:22:04 +0100 <geekosaur> which means that if you refer to a binding on both sides of an equal sign, they're the same binding
2021-12-22 23:22:17 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-12-22 23:22:20 +0100 <geekosaur> which means it's a recursive binding that refers to itself
2021-12-22 23:22:38 +0100 <geekosaur> this is not the Y combinator, though
2021-12-22 23:23:08 +0100 <tomsmeding> it's recursive bindings, with which you can implement a fixpoint combinator :)
2021-12-22 23:23:26 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4)
2021-12-22 23:24:18 +0100 <monochrom> Fortunately, you can define and use Y directly in Scheme.
2021-12-22 23:24:45 +0100 <monochrom> Or better yet, another fixed-point combinator, one that is more friendly to eager languages.
2021-12-22 23:25:06 +0100doyougnu(~doyougnu@c-73-25-202-122.hsd1.or.comcast.net)
2021-12-22 23:25:37 +0100justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.3)
2021-12-22 23:26:00 +0100 <monochrom> You would still prefer letrec for efficiency.
2021-12-22 23:26:17 +0100yin(~yin@user/zero)
2021-12-22 23:27:11 +0100 <monochrom> My idea of "the principle of Y" is not the fact that it solves the fixed-point equation, but how it does it, why it works.
2021-12-22 23:27:28 +0100 <monochrom> It (and other solutions) come down to something like \x -> x x
2021-12-22 23:27:37 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4) (Ping timeout: 240 seconds)
2021-12-22 23:27:50 +0100 <tomsmeding> probably if you would ask the author of that book this question, in isolation, they would agree
2021-12-22 23:28:03 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-12-22 23:28:38 +0100 <monochrom> That, in turn, comes down to: Let D be the semantic domain of your untyped lambda calculus. Then D is order-isomorphic to the CPO of continuous functions D->D.
2021-12-22 23:29:33 +0100timCF(~timCF@m91-129-100-224.cust.tele2.ee)
2021-12-22 23:29:44 +0100tomsmedinggoes off to bed
2021-12-22 23:30:27 +0100gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-12-22 23:32:50 +0100 <timCF> Hello! Does anybody have an idea how to write conditional type class constraints, based on Data.Type.Equality.== result? Something like if result is 'True then use one constraint, if result is 'False - use another constraint? Basically type-level if-then-else expression for constaints.
2021-12-22 23:32:57 +0100sprout(~quassel@2a02:a467:ccd6:1:bc5b:dbe0:79e5:a909) (Ping timeout: 240 seconds)
2021-12-22 23:41:39 +0100kmein(~weechat@user/kmein) (Ping timeout: 256 seconds)
2021-12-22 23:42:57 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-12-22 23:44:08 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-12-22 23:45:56 +0100regr(~regr@2a02:a466:cf4f:1:cbe9:8a75:f9d2:f3e4) (WeeChat 2.8)
2021-12-22 23:46:20 +0100sprout(~quassel@2a02:a467:ccd6:1:bc5b:dbe0:79e5:a909)
2021-12-22 23:51:18 +0100sprout(~quassel@2a02:a467:ccd6:1:bc5b:dbe0:79e5:a909) (Ping timeout: 260 seconds)
2021-12-22 23:52:53 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-22 23:52:55 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-22 23:53:53 +0100kmein(~weechat@user/kmein)
2021-12-22 23:56:17 +0100yin(~yin@user/zero) (Ping timeout: 240 seconds)
2021-12-22 23:57:54 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4)