2021-12-22 00:00:26 +0100 | Bartol | (~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 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) |
2021-12-22 00:04:02 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:bc5b:dbe0:79e5:a909) (Ping timeout: 268 seconds) |
2021-12-22 00:04:20 +0100 | emf | (~emf@2620:10d:c091:480::1:cf46) (Quit: emf) |
2021-12-22 00:04:49 +0100 | emf | (~emf@2620:10d:c091:480::1:cf46) |
2021-12-22 00:06:48 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:84c9:5514:9bd3:b2f5) (Remote host closed the connection) |
2021-12-22 00:11:11 +0100 | max22- | (~maxime@2a01cb0883359800cf3672742e8ded0b.ipv6.abo.wanadoo.fr) (Quit: Leaving) |
2021-12-22 00:11:39 +0100 | Midjak | (~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 +0100 | ksqsf | (~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 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-12-22 00:15:32 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:bc5b:dbe0:79e5:a909) |
2021-12-22 00:16:52 +0100 | ksqsf | (~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 +0100 | slowButPresent | (~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 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:bc5b:dbe0:79e5:a909) (Ping timeout: 260 seconds) |
2021-12-22 00:21:17 +0100 | emf | (~emf@2620:10d:c091:480::1:cf46) (Ping timeout: 240 seconds) |
2021-12-22 00:22:34 +0100 | eggplantade | (~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 +0100 | rusty | (~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 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-12-22 00:27:49 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 00:27:50 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 00:28:17 +0100 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2021-12-22 00:28:34 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 00:28:34 +0100 | qrpnxz | (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 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
2021-12-22 00:31:22 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-22 00:31:26 +0100 | foul_owl | (~kerry@94.140.8.107) |
2021-12-22 00:31:58 +0100 | pfurla | (~pfurla@2804:14d:5c5a:9a78:dc7f:5982:796e:a1e5) |
2021-12-22 00:32:13 +0100 | Morrow | (~quassel@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 240 seconds) |
2021-12-22 00:32:56 +0100 | ksqsf | (~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 +0100 | Morrow | (~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 +0100 | lavaman | (~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 +0100 | ksqsf | (~user@134.209.106.31) (Ping timeout: 240 seconds) |
2021-12-22 00:43:10 +0100 | ksqsf | (~user@134.209.106.31) |
2021-12-22 00:44:35 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: closed) |
2021-12-22 00:44:46 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 00:45:17 +0100 | wolfshappen | (~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 +0100 | Guest|47 | (~Guest|47@c-73-221-44-172.hsd1.wa.comcast.net) (Quit: Connection closed) |
2021-12-22 00:52:16 +0100 | wolfshappen | (~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 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-22 00:58:10 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-22 00:58:10 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-22 00:59:06 +0100 | acidjnk | (~acidjnk@p200300d0c7271e256ce23fbe5bf2eea3.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
2021-12-22 01:00:37 +0100 | chomwitt | (~chomwitt@94.66.63.187) (Ping timeout: 240 seconds) |
2021-12-22 01:01:23 +0100 | Gurkenglas | (~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 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2021-12-22 01:08:29 +0100 | hololeap | (~hololeap@user/hololeap) (Remote host closed the connection) |
2021-12-22 01:08:57 +0100 | slaydr | (~seriley@45.131.194.254) (Quit: leaving) |
2021-12-22 01:09:43 +0100 | Guest4242 | (~Guest4242@78.198.4.122) |
2021-12-22 01:11:01 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-12-22 01:11:15 +0100 | Morrow | (~quassel@bzq-110-168-31-106.red.bezeqint.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-12-22 01:14:49 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-22 01:15:01 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-22 01:15:01 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-22 01:15:01 +0100 | wroathe | (~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 +0100 | euandreh | (~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 +0100 | fizbin | (~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 +0100 | jkaye | (~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 +0100 | yauhsien | (~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 +0100 | yauhsien | (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 268 seconds) |
2021-12-22 01:46:37 +0100 | ksqsf | (~user@134.209.106.31) (Ping timeout: 240 seconds) |
2021-12-22 01:49:58 +0100 | Guest|47 | (~Guest|47@c-73-221-44-172.hsd1.wa.comcast.net) |
2021-12-22 01:53:32 +0100 | pfurla | (~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 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-22 02:00:20 +0100 | pfurla | (~pfurla@189.60.63.81) |
2021-12-22 02:04:04 +0100 | euandreh | (~euandreh@2804:14c:33:9fe5:157f:fad:702e:d7a) |
2021-12-22 02:10:17 +0100 | ksqsf | (~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 +0100 | ksqsf | (~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 +0100 | mk-fg | (~mk-fg@46.48.96.28) |
2021-12-22 02:18:59 +0100 | Axma99203 | (~Axman6@user/axman6) |
2021-12-22 02:19:37 +0100 | mk-fg | (~mk-fg@46.48.96.28) () |
2021-12-22 02:21:14 +0100 | jkaye | (~jkaye@2601:281:8300:7530:6da5:b4a4:e0e4:a76e) |
2021-12-22 02:21:16 +0100 | Axman6 | (~Axman6@user/axman6) (Ping timeout: 260 seconds) |
2021-12-22 02:22:12 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 02:22:14 +0100 | qrpnxz | (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 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 250 seconds) |
2021-12-22 02:28:11 +0100 | waleee | (~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 +0100 | doyougnu | (~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 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 02:32:31 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 02:32:37 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-12-22 02:32:55 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 02:32:56 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 02:33:38 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 02:33:38 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 02:33:52 +0100 | <Guest|47> | okay that worked |
2021-12-22 02:34:40 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 02:34:40 +0100 | qrpnxz | (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 +0100 | jeetelongname | (~jeet@88-111-159-26.dynamic.dsl.as9105.com) (Ping timeout: 268 seconds) |
2021-12-22 02:38:37 +0100 | incertia | (~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 +0100 | incertia | (~incertia@d4-50-26-103.nap.wideopenwest.com) |
2021-12-22 02:39:59 +0100 | ksqsf | (~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 +0100 | eggplantade | (~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 +0100 | ksqsf | (~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 +0100 | angerman | (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 +0100 | burnsidesLlama | (~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 +0100 | danso | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 260 seconds) |
2021-12-22 02:52:19 +0100 | Tuplanolla | (~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 +0100 | ph88 | (~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 +0100 | shailangsa_ | (~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 +0100 | ksqsf | (~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 +0100 | ksqsf | (~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 +0100 | ksqsf | (~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 +0100 | geekosaur | didn'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 +0100 | ksqsf | (~user@134.209.106.31) (Ping timeout: 240 seconds) |
2021-12-22 03:12:37 +0100 | mvk | (~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 +0100 | Guest|47 | AlpacaPrince |
2021-12-22 03:15:01 +0100 | <int-e> | . o O ( "far future" = "after the next general election" ) |
2021-12-22 03:15:37 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 240 seconds) |
2021-12-22 03:16:04 +0100 | dsal | sings “in the year two thousand…” |
2021-12-22 03:16:29 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-12-22 03:18:49 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-12-22 03:19:36 +0100 | euouae | (~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 +0100 | mvk | (~mvk@2607:fea8:5cdd:f000::917a) |
2021-12-22 03:22:42 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:84c9:5514:9bd3:b2f5) |
2021-12-22 03:24:57 +0100 | jkaye | (~jkaye@2601:281:8300:7530:6da5:b4a4:e0e4:a76e) (Ping timeout: 240 seconds) |
2021-12-22 03:26:25 +0100 | burnsidesLlama | (~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 +0100 | burnsidesLlama | (~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 +0100 | jpds | (~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 +0100 | jpds | (~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 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds) |
2021-12-22 03:34:03 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2021-12-22 03:35:17 +0100 | wroathe | (~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 +0100 | ksqsf | (~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 +0100 | shailangsa | (~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 +0100 | ksqsf | (~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 +0100 | yauhsien | (~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 +0100 | ksqsf | (~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 +0100 | yauhsien | (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
2021-12-22 03:48:07 +0100 | fef | (~thedawn@user/thedawn) |
2021-12-22 03:48:25 +0100 | khumba | (~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 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 276 seconds) |
2021-12-22 03:51:00 +0100 | danso | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) |
2021-12-22 03:52:05 +0100 | FinnElija | (~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 +0100 | waleee | (~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 +0100 | xff0x | (~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 +0100 | xff0x | (~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 +0100 | yauhsien | (~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 +0100 | Axma99203 | Axman6 |
2021-12-22 04:19:24 +0100 | td_ | (~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 +0100 | td_ | (~td@94.134.91.68) |
2021-12-22 04:20:57 +0100 | coot | (~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 +0100 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 240 seconds) |
2021-12-22 04:28:00 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-22 04:28:00 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-22 04:28:00 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-22 04:28:33 +0100 | fef | (~thedawn@user/thedawn) (Ping timeout: 276 seconds) |
2021-12-22 04:28:38 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) |
2021-12-22 04:29:38 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-22 04:32:13 +0100 | chozorho | (~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 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
2021-12-22 04:33:03 +0100 | lavaman | (~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 +0100 | whatsupdoc | (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 +0100 | zebrag | (~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 +0100 | lavaman | (~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 +0100 | euouae | (~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 +0100 | jespada | (~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 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-22 04:40:48 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-22 04:40:48 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-22 04:40:56 +0100 | fef | (~thedawn@user/thedawn) |
2021-12-22 04:41:30 +0100 | yauhsien | (~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 +0100 | jespada | (~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 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
2021-12-22 04:53:50 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2021-12-22 04:56:08 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 04:56:09 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 04:56:20 +0100 | xff0x | (~xff0x@2001:1a81:5290:1c00:7707:2a36:9641:195d) (Ping timeout: 268 seconds) |
2021-12-22 04:56:50 +0100 | xff0x | (~xff0x@2001:1a81:5290:1c00:7789:5df4:4cdc:7899) |
2021-12-22 04:58:53 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 04:58:53 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 05:01:32 +0100 | notzmv | (~zmv@user/notzmv) (Ping timeout: 240 seconds) |
2021-12-22 05:04:10 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-22 05:05:06 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 05:05:06 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 05:14:56 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
2021-12-22 05:17:19 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-22 05:17:57 +0100 | notzmv | (~zmv@user/notzmv) |
2021-12-22 05:21:03 +0100 | jinsun__ | (~quassel@user/jinsun) |
2021-12-22 05:21:20 +0100 | jinsun__ | (~quassel@user/jinsun) (Client Quit) |
2021-12-22 05:21:37 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 240 seconds) |
2021-12-22 05:22:57 +0100 | jinsun | (~quassel@user/jinsun) (Ping timeout: 240 seconds) |
2021-12-22 05:24:42 +0100 | yin | (~yin@user/zero) (Ping timeout: 268 seconds) |
2021-12-22 05:26:13 +0100 | deadmarshal | (~deadmarsh@95.38.229.128) |
2021-12-22 05:26:14 +0100 | ksqsf | (~user@134.209.106.31) (Ping timeout: 252 seconds) |
2021-12-22 05:29:05 +0100 | fizbin | (~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 +0100 | x88x88x | (~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 +0100 | obfusk | (~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 +0100 | obfusk | (~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 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:bc5b:dbe0:79e5:a909) |
2021-12-22 05:54:57 +0100 | deadmarshal | (~deadmarsh@95.38.229.128) (Ping timeout: 240 seconds) |
2021-12-22 05:55:13 +0100 | deadmarshal | (~deadmarsh@95.38.229.128) |
2021-12-22 05:56:37 +0100 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2021-12-22 05:57:13 +0100 | yauhsien | (~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 +0100 | yauhsien | (~yauhsien@2402:7500:5e5:1e81:bd32:4029:4cc:7e5a) (Ping timeout: 240 seconds) |
2021-12-22 06:11:06 +0100 | acidsys | (~LSD@2.lsd.systems) (Excess Flood) |
2021-12-22 06:11:40 +0100 | acidsys | (~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 +0100 | bitdex | (~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 +0100 | analognoise | (~analognoi@185.202.221.238) |
2021-12-22 06:19:03 +0100 | fef | (~thedawn@user/thedawn) (Ping timeout: 276 seconds) |
2021-12-22 06:25:32 +0100 | x_kuru | (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
2021-12-22 06:25:32 +0100 | statusbot4 | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Read error: Connection reset by peer) |
2021-12-22 06:25:40 +0100 | statusbot | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) |
2021-12-22 06:26:20 +0100 | deadmarshal | (~deadmarsh@95.38.229.128) (Ping timeout: 256 seconds) |
2021-12-22 06:28:39 +0100 | yauhsien | (~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 +0100 | fizbin_ | (~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 +0100 | fizbin | (~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 +0100 | pfurla_ | (~pfurla@2804:18:5822:8094:5d30:a5f7:fbaf:167c) |
2021-12-22 06:33:08 +0100 | pfurla | (~pfurla@189.60.63.81) (Ping timeout: 256 seconds) |
2021-12-22 06:33:24 +0100 | analognoise | (~analognoi@185.202.221.238) (Quit: Leaving) |
2021-12-22 06:34:16 +0100 | yauhsien | (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2021-12-22 06:38:07 +0100 | analognoise | (~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 +0100 | xff0x | (~xff0x@2001:1a81:5290:1c00:7789:5df4:4cdc:7899) (Ping timeout: 245 seconds) |
2021-12-22 06:49:04 +0100 | xff0x | (~xff0x@2001:1a81:5290:1c00:9996:3caa:8169:8a61) |
2021-12-22 06:50:01 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 06:51:44 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 06:51:45 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 06:52:16 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: closed) |
2021-12-22 06:52:25 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 06:53:39 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 06:53:39 +0100 | emf | (~emf@2620:10d:c091:480::1:3408) |
2021-12-22 06:53:43 +0100 | pfurla | (~pfurla@2804:14d:5c5a:9a78:1daa:99f1:8d08:c258) |
2021-12-22 06:53:53 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2021-12-22 06:54:59 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-12-22 06:55:15 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 06:55:41 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 06:56:43 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 06:56:45 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 06:57:14 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: closed) |
2021-12-22 06:57:16 +0100 | pfurla__ | (~pfurla@2804:18:5822:8094:2d64:e7e1:c381:269f) |
2021-12-22 06:57:17 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 06:57:18 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 06:57:43 +0100 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 250 seconds) |
2021-12-22 06:57:44 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 06:57:49 +0100 | pfurla_ | (~pfurla@2804:18:5822:8094:5d30:a5f7:fbaf:167c) (Ping timeout: 268 seconds) |
2021-12-22 06:58:37 +0100 | pfurla | (~pfurla@2804:14d:5c5a:9a78:1daa:99f1:8d08:c258) (Ping timeout: 240 seconds) |
2021-12-22 06:59:17 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 06:59:37 +0100 | emf | (~emf@2620:10d:c091:480::1:3408) (Ping timeout: 240 seconds) |
2021-12-22 06:59:51 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 07:00:03 +0100 | deadmarshal | (~deadmarsh@95.38.229.128) |
2021-12-22 07:00:07 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-22 07:01:26 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 07:01:32 +0100 | pfurla__ | (~pfurla@2804:18:5822:8094:2d64:e7e1:c381:269f) (Ping timeout: 240 seconds) |
2021-12-22 07:01:57 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 07:03:32 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 07:03:49 +0100 | pfurla | (~pfurla@2804:14d:5c5a:9a78:74e3:e9be:881c:edd5) |
2021-12-22 07:03:59 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-12-22 07:04:03 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 07:04:04 +0100 | dibblego | (~dibblego@122-199-1-30.ip4.superloop.com) |
2021-12-22 07:04:04 +0100 | dibblego | (~dibblego@122-199-1-30.ip4.superloop.com) (Changing host) |
2021-12-22 07:04:04 +0100 | dibblego | (~dibblego@haskell/developer/dibblego) |
2021-12-22 07:05:36 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 07:06:12 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 07:07:45 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 07:08:22 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 07:09:56 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 07:10:15 +0100 | phma | (phma@2001:5b0:211f:1938:f16a:3063:a09d:1c4c) (Read error: Connection reset by peer) |
2021-12-22 07:10:17 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 07:10:35 +0100 | ksqsf | (~user@134.209.106.31) |
2021-12-22 07:11:09 +0100 | phma | (~phma@2001:5b0:210d:e448:bd04:4091:a4d4:4fae) |
2021-12-22 07:11:15 +0100 | dirtcastle | (~dirtcastl@103.43.203.229) |
2021-12-22 07:11:54 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 07:12:21 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 07:13:55 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 07:14:20 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 07:15:56 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 07:16:24 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 07:17:59 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 07:18:30 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 07:20:04 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 07:20:37 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 07:21:39 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2021-12-22 07:22:11 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 07:22:36 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 07:24:10 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 07:24:41 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 07:26:15 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 07:26:45 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 07:27:17 +0100 | yauhsien | (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) |
2021-12-22 07:28:21 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 07:28:48 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 07:30:24 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 07:30:45 +0100 | fizbin_ | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-12-22 07:30:51 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 07:32:29 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 07:32:52 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 07:33:57 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-12-22 07:34:28 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 07:34:32 +0100 | dirtcastle | (~dirtcastl@103.43.203.229) (Remote host closed the connection) |
2021-12-22 07:35:04 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 07:38:14 +0100 | mbuf | (~Shakthi@171.61.232.157) |
2021-12-22 07:38:19 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 256 seconds) |
2021-12-22 07:38:32 +0100 | deadmarshal | (~deadmarsh@95.38.229.128) (Ping timeout: 240 seconds) |
2021-12-22 07:39:12 +0100 | Morrow | (~quassel@bzq-110-168-31-106.red.bezeqint.net) |
2021-12-22 07:39:47 +0100 | khumba | (~khumba@user/khumba) () |
2021-12-22 07:40:51 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-12-22 07:42:14 +0100 | shailangsa | (~shailangs@host109-159-108-207.range109-159.btcentralplus.com) (Ping timeout: 268 seconds) |
2021-12-22 07:42:20 +0100 | zaquest | (~notzaques@5.130.79.72) (Remote host closed the connection) |
2021-12-22 07:45:50 +0100 | zaquest | (~notzaques@5.130.79.72) |
2021-12-22 07:50:22 +0100 | Erutuon | (~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 +0100 | coot | (~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 +0100 | puke | (~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 +0100 | ksqsf | (~user@134.209.106.31) (Ping timeout: 256 seconds) |
2021-12-22 08:01:41 +0100 | puke | (~puke@user/puke) |
2021-12-22 08:02:00 +0100 | pfurla_ | (~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 +0100 | pfurla | (~pfurla@2804:14d:5c5a:9a78:74e3:e9be:881c:edd5) (Ping timeout: 240 seconds) |
2021-12-22 08:08:29 +0100 | merijn | (~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 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-12-22 08:13:56 +0100 | deadmarshal | (~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 +0100 | jinsun | (~quassel@user/jinsun) |
2021-12-22 08:18:17 +0100 | deadmarshal | (~deadmarsh@95.38.229.128) (Ping timeout: 240 seconds) |
2021-12-22 08:19:05 +0100 | phma_ | (~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 +0100 | phma | (~phma@2001:5b0:210d:e448:bd04:4091:a4d4:4fae) (Ping timeout: 260 seconds) |
2021-12-22 08:20:12 +0100 | shailangsa_ | (~shailangs@host109-159-108-207.range109-159.btcentralplus.com) |
2021-12-22 08:21:56 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2021-12-22 08:21:57 +0100 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
2021-12-22 08:23:36 +0100 | deadmarshal | (~deadmarsh@95.38.229.128) |
2021-12-22 08:24:46 +0100 | deech` | (~user@024-217-244-075.res.spectrum.com) (Ping timeout: 256 seconds) |
2021-12-22 08:27:08 +0100 | deech` | (~user@024-217-244-075.res.spectrum.com) |
2021-12-22 08:28:41 +0100 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-12-22 08:28:58 +0100 | img | (~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 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2021-12-22 08:32:29 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2021-12-22 08:34:47 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-22 08:37:15 +0100 | deadmarshal | (~deadmarsh@95.38.229.128) (Ping timeout: 256 seconds) |
2021-12-22 08:38:57 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
2021-12-22 08:41:21 +0100 | shailangsa_ | (~shailangs@host109-159-108-207.range109-159.btcentralplus.com) () |
2021-12-22 08:41:25 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Ping timeout: 268 seconds) |
2021-12-22 08:41:39 +0100 | tzh | (~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 +0100 | sagax | (~sagax_nb@user/sagax) (Ping timeout: 260 seconds) |
2021-12-22 08:44:28 +0100 | deadmarshal | (~deadmarsh@95.38.229.128) |
2021-12-22 08:45:40 +0100 | eggplantade | (~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 +0100 | pfurla_ | (~pfurla@2804:14d:5c5a:9a78:6ce0:1b08:23ee:4eaf) (Ping timeout: 260 seconds) |
2021-12-22 09:02:33 +0100 | chomwitt | (~chomwitt@ppp-2-85-245-134.home.otenet.gr) |
2021-12-22 09:03:41 +0100 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) |
2021-12-22 09:05:41 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2021-12-22 09:08:35 +0100 | jonathanx | (~jonathan@217-210-129-139-no2450.tbcn.telia.com) |
2021-12-22 09:11:13 +0100 | yauhsien | (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-12-22 09:11:59 +0100 | yauhsien | (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) |
2021-12-22 09:14:17 +0100 | pfurla | (~pfurla@2804:14d:5c5a:9a78:6ce0:1b08:23ee:4eaf) |
2021-12-22 09:17:47 +0100 | jonathanx | (~jonathan@217-210-129-139-no2450.tbcn.telia.com) (Ping timeout: 252 seconds) |
2021-12-22 09:21:19 +0100 | shailangsa | (~shailangs@host109-159-108-207.range109-159.btcentralplus.com) |
2021-12-22 09:21:52 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2021-12-22 09:21:57 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) (Remote host closed the connection) |
2021-12-22 09:27:45 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-12-22 09:31:02 +0100 | darchitect | (~darchitec@2a00:23c6:3584:df00:7dec:bf13:8fa:748c) (Ping timeout: 240 seconds) |
2021-12-22 09:31:16 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-22 09:35:04 +0100 | pfurla | (~pfurla@2804:14d:5c5a:9a78:6ce0:1b08:23ee:4eaf) (Quit: gone to sleep. ZZZzzz…) |
2021-12-22 09:35:17 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 240 seconds) |
2021-12-22 09:45:51 +0100 | neurocyte0132889 | (~neurocyte@IP-045014189127.dynamic.medianet-world.de) |
2021-12-22 09:45:51 +0100 | neurocyte0132889 | (~neurocyte@IP-045014189127.dynamic.medianet-world.de) (Changing host) |
2021-12-22 09:45:51 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) |
2021-12-22 09:46:04 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4) |
2021-12-22 09:46:09 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-12-22 09:46:49 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-22 09:48:17 +0100 | deadmarshal | (~deadmarsh@95.38.229.128) (Ping timeout: 240 seconds) |
2021-12-22 09:50:17 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4) (Ping timeout: 240 seconds) |
2021-12-22 09:51:22 +0100 | max22- | (~maxime@2a01cb08833598002412bf121caf815d.ipv6.abo.wanadoo.fr) |
2021-12-22 09:51:28 +0100 | chozorho | (~chozorho@2601:146:300:c30::d1a0) (Quit: WeeChat 3.0) |
2021-12-22 09:57:53 +0100 | darchitect | (~darchitec@82-132-213-95.dab.02.net) |
2021-12-22 09:59:47 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2021-12-22 10:01:35 +0100 | danso | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 268 seconds) |
2021-12-22 10:03:57 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) (Ping timeout: 256 seconds) |
2021-12-22 10:05:38 +0100 | coot | (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) |
2021-12-22 10:06:29 +0100 | cosimone | (~user@93-47-230-208.ip115.fastwebnet.it) |
2021-12-22 10:08:12 +0100 | neurocyte0132889 | (~neurocyte@IP-045014189127.dynamic.medianet-world.de) |
2021-12-22 10:08:12 +0100 | neurocyte0132889 | (~neurocyte@IP-045014189127.dynamic.medianet-world.de) (Changing host) |
2021-12-22 10:08:12 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) |
2021-12-22 10:09:37 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 268 seconds) |
2021-12-22 10:11:01 +0100 | pfurla | (~pfurla@2804:14d:5c5a:9a78:6ce0:1b08:23ee:4eaf) |
2021-12-22 10:12:13 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2021-12-22 10:13:02 +0100 | shriekingnoise | (~shrieking@186.137.144.80) (Quit: Quit) |
2021-12-22 10:13:02 +0100 | dirtcastle | (~dirtcastl@103.43.203.229) |
2021-12-22 10:14:37 +0100 | werneta | (~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 +0100 | danso | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) |
2021-12-22 10:16:47 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2021-12-22 10:17:49 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-12-22 10:17:50 +0100 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-12-22 10:17:53 +0100 | allbery_b | geekosaur |
2021-12-22 10:20:17 +0100 | danso | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 240 seconds) |
2021-12-22 10:21:19 +0100 | danso | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) |
2021-12-22 10:22:32 +0100 | deadmarshal | (~deadmarsh@95.38.229.128) |
2021-12-22 10:22:57 +0100 | yauhsien | (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-12-22 10:27:31 +0100 | acidjnk | (~acidjnk@p200300d0c7271e256ce23fbe5bf2eea3.dip0.t-ipconnect.de) |
2021-12-22 10:28:53 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 256 seconds) |
2021-12-22 10:29:06 +0100 | yauhsien | (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) |
2021-12-22 10:31:02 +0100 | Codaraxis | (~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 +0100 | Bartol | (~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 +0100 | wolfshappen | (~waff@irc.furworks.de) (Ping timeout: 240 seconds) |
2021-12-22 10:34:57 +0100 | mvk | (~mvk@2607:fea8:5cdd:f000::917a) (Ping timeout: 240 seconds) |
2021-12-22 10:35:14 +0100 | coot | (~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 +0100 | nckx | nckxmas |
2021-12-22 10:43:13 +0100 | dirtcastle | (~dirtcastl@103.43.203.229) (Quit: Quit) |
2021-12-22 10:43:35 +0100 | Erutuon | (~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 +0100 | danso | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 260 seconds) |
2021-12-22 10:49:50 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-22 11:03:01 +0100 | sprout | (~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 +0100 | irfan | (~irfan@user/irfan) |
2021-12-22 11:15:12 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) |
2021-12-22 11:16:22 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) (Remote host closed the connection) |
2021-12-22 11:18:03 +0100 | coot | (~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 +0100 | yauhsien | (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-12-22 11:19:38 +0100 | Lord_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 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds) |
2021-12-22 11:21:01 +0100 | Lord_of_Life_ | Lord_of_Life |
2021-12-22 11:21:21 +0100 | Tuplanolla | (~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 +0100 | coot | (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Remote host closed the connection) |
2021-12-22 11:23:22 +0100 | coot | (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) |
2021-12-22 11:28:48 +0100 | danso | (~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 +0100 | yauhsien | (~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 +0100 | deadmarshal | (~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 +0100 | yauhsien | (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
2021-12-22 11:38:32 +0100 | tromp | (~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 +0100 | betelgeuse9 | (~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 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 11:40:15 +0100 | kranius | (~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 +0100 | betelgeuse9 | (~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 +0100 | betelgeuse9 | (~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 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 11:43:48 +0100 | betelgeuse9 | (~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 +0100 | tromp | (~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 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 11:45:52 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 11:47:29 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 11:47:57 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 11:48:05 +0100 | eggplantade | (~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 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 11:50:07 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 11:51:24 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-12-22 11:51:41 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 11:52:17 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4) (Ping timeout: 240 seconds) |
2021-12-22 11:52:18 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 11:53:52 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 11:54:25 +0100 | betelgeuse9 | (~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 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 11:56:34 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 11:58:11 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 11:58:24 +0100 | deadmarshal | (~deadmarsh@95.38.229.128) |
2021-12-22 11:58:43 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 11:59:22 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 268 seconds) |
2021-12-22 12:00:18 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 12:00:46 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 12:01:52 +0100 | pfurla | (~pfurla@2804:14d:5c5a:9a78:6ce0:1b08:23ee:4eaf) (Quit: gone to sleep. ZZZzzz…) |
2021-12-22 12:02:22 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 12:02:57 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 12:03:18 +0100 | m1dnight | (~christoph@christophe.dev) (Quit: WeeChat 3.1) |
2021-12-22 12:04:31 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 12:04:37 +0100 | m1dnight | (~christoph@christophe.dev) |
2021-12-22 12:05:05 +0100 | betelgeuse9 | (~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 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 12:07:09 +0100 | betelgeuse9 | (~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 +0100 | zardoz2 | (~bc8147f2@cerf.good1.com) |
2021-12-22 12:08:32 +0100 | zer0bitz | (~zer0bitz@2001:2003:f444:a000:e954:6a22:3202:5b23) |
2021-12-22 12:08:42 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 12:09:17 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 12:10:46 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-12-22 12:10:51 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 12:11:27 +0100 | betelgeuse9 | (~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 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 12:13:17 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-12-22 12:13:39 +0100 | betelgeuse9 | (~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 +0100 | betelgeuse9 | (~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 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 12:17:16 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 12:17:50 +0100 | betelgeuse9 | (~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 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 256 seconds) |
2021-12-22 12:19:26 +0100 | betelgeuse9 | (~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 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 12:21:11 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) |
2021-12-22 12:21:27 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 12:21:30 +0100 | yin | (~yin@user/zero) |
2021-12-22 12:21:58 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 12:23:32 +0100 | betelgeuse9 | (~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 +0100 | betelgeuse9 | (~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 +0100 | coot | (~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 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 12:26:17 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 12:26:18 +0100 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
2021-12-22 12:27:52 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 12:28:16 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 12:29:51 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 12:30:23 +0100 | betelgeuse9 | (~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 +0100 | betelgeuse9 | (~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 +0100 | betelgeuse9 | (~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 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 12:34:08 +0100 | kranius | (~kranius@user/kranius) (Ping timeout: 252 seconds) |
2021-12-22 12:34:21 +0100 | coot | (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) |
2021-12-22 12:34:33 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 12:35:52 +0100 | jkaye | (~jkaye@2601:281:8300:7530:6aeb:18f5:2700:2624) |
2021-12-22 12:36:08 +0100 | betelgeuse9 | (~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 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-22 12:36:21 +0100 | machinedgod | (~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 +0100 | kranius | (~kranius@162.19.149.77.rev.sfr.net) |
2021-12-22 12:36:40 +0100 | betelgeuse9 | (~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 +0100 | coot | (~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 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 12:38:22 +0100 | yin | (~yin@user/zero) (Ping timeout: 260 seconds) |
2021-12-22 12:38:41 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 12:40:13 +0100 | coot | (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) |
2021-12-22 12:40:16 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 12:40:17 +0100 | jkaye | (~jkaye@2601:281:8300:7530:6aeb:18f5:2700:2624) (Ping timeout: 240 seconds) |
2021-12-22 12:40:44 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 12:40:55 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2021-12-22 12:42:18 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 12:42:37 +0100 | kranius | (~kranius@162.19.149.77.rev.sfr.net) (Ping timeout: 240 seconds) |
2021-12-22 12:42:56 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 12:44:31 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 12:44:56 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 12:45:42 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-22 12:46:33 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 12:46:56 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:bc5b:dbe0:79e5:a909) |
2021-12-22 12:47:06 +0100 | betelgeuse9 | (~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 +0100 | kranius | (~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 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 12:49:12 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 12:50:48 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 12:50:53 +0100 | <sshine> | AlpacaPrince, yes? |
2021-12-22 12:51:20 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 12:51:21 +0100 | dschrempf | (~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 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 12:53:22 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 12:54:56 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 12:55:31 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 12:55:57 +0100 | xff0x | (~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 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 12:57:13 +0100 | xff0x | (~xff0x@2001:1a81:5290:1c00:5bd7:cadf:8543:27d3) |
2021-12-22 12:57:41 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 12:57:59 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-12-22 12:59:15 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 12:59:25 +0100 | kranius | (~kranius@162.19.149.77.rev.sfr.net) (Ping timeout: 240 seconds) |
2021-12-22 12:59:36 +0100 | deadmarshal | (~deadmarsh@95.38.229.128) (Ping timeout: 256 seconds) |
2021-12-22 12:59:50 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Remote host closed the connection) |
2021-12-22 12:59:53 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-12-22 13:00:25 +0100 | jespada | (~jespada@87.74.33.157) (Ping timeout: 268 seconds) |
2021-12-22 13:01:23 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:02:04 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 13:02:35 +0100 | Vajb | (~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 +0100 | jespada | (~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 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-12-22 13:03:38 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:04:13 +0100 | betelgeuse9 | (~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 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:06:21 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-12-22 13:06:24 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 13:06:33 +0100 | Vajb | (~Vajb@2001:999:62:f3d1:4390:fbed:1f9b:9d03) |
2021-12-22 13:07:38 +0100 | mestre | (~mestre@191.177.175.57) |
2021-12-22 13:07:58 +0100 | betelgeuse9 | (~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 +0100 | betelgeuse9 | (~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 +0100 | burnsidesLlama | (~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 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:10:41 +0100 | betelgeuse9 | (~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 +0100 | betelgeuse9 | (~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 +0100 | betelgeuse9 | (~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 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:14:48 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 13:16:03 +0100 | tewrdh^ | (~tewrdh@64.253.22.77) |
2021-12-22 13:16:23 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:16:50 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 13:18:08 +0100 | danso | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 252 seconds) |
2021-12-22 13:18:23 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:18:37 +0100 | mestre | (~mestre@191.177.175.57) (Remote host closed the connection) |
2021-12-22 13:18:39 +0100 | danso | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) |
2021-12-22 13:18:57 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 13:19:37 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-12-22 13:20:30 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:21:05 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 13:22:40 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:23:08 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 13:24:26 +0100 | kranius | (~kranius@162.19.149.77.rev.sfr.net) |
2021-12-22 13:24:30 +0100 | darchitect | (~darchitec@82-132-213-95.dab.02.net) (Read error: Connection reset by peer) |
2021-12-22 13:24:40 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:25:12 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 13:26:46 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:26:56 +0100 | danso | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 268 seconds) |
2021-12-22 13:27:20 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 13:27:24 +0100 | danso | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) |
2021-12-22 13:28:35 +0100 | chomwitt | (~chomwitt@ppp-2-85-245-134.home.otenet.gr) (Ping timeout: 252 seconds) |
2021-12-22 13:28:57 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:29:04 +0100 | benin | (~benin@183.82.27.57) |
2021-12-22 13:29:27 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 13:30:58 +0100 | kuribas | (~user@ptr-25vy0i6xaq2sd6gk5rt.18120a2.ip6.access.telenet.be) |
2021-12-22 13:31:04 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:31:37 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 13:32:57 +0100 | xff0x | (~xff0x@2001:1a81:5290:1c00:5bd7:cadf:8543:27d3) (Ping timeout: 240 seconds) |
2021-12-22 13:33:13 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:33:37 +0100 | danso | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 240 seconds) |
2021-12-22 13:33:44 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 13:33:52 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-22 13:33:55 +0100 | xff0x | (~xff0x@2001:1a81:5290:1c00:cc0:4c26:7636:4d9e) |
2021-12-22 13:34:59 +0100 | deadmarshal | (~deadmarsh@95.38.229.128) |
2021-12-22 13:35:18 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:35:37 +0100 | danso | (~danso@d67-193-121-2.home3.cgocable.net) |
2021-12-22 13:35:48 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 13:37:24 +0100 | synthmeat | (~synthmeat@user/synthmeat) (Quit: WeeChat 3.0) |
2021-12-22 13:37:25 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:37:52 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 13:38:08 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 256 seconds) |
2021-12-22 13:39:26 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:39:57 +0100 | danso | (~danso@d67-193-121-2.home3.cgocable.net) (Ping timeout: 240 seconds) |
2021-12-22 13:40:02 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 13:40:28 +0100 | danso | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) |
2021-12-22 13:41:35 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:42:03 +0100 | ubert | (~Thunderbi@p200300ecdf0994cb1dfd4ca95c98fa37.dip0.t-ipconnect.de) |
2021-12-22 13:42:14 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 13:43:48 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:44:17 +0100 | chomwitt | (~chomwitt@2a02:587:dc1c:a00:12c3:7bff:fe6d:d374) |
2021-12-22 13:44:27 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 13:46:01 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:46:38 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 13:48:12 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:48:50 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 13:49:44 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4) |
2021-12-22 13:50:24 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:51:01 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 13:52:14 +0100 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.3) |
2021-12-22 13:52:38 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:52:38 +0100 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) |
2021-12-22 13:53:04 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Remote host closed the connection) |
2021-12-22 13:53:57 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4) (Ping timeout: 240 seconds) |
2021-12-22 13:54:38 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:55:14 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 13:56:18 +0100 | xff0x | (~xff0x@2001:1a81:5290:1c00:cc0:4c26:7636:4d9e) (Ping timeout: 260 seconds) |
2021-12-22 13:56:49 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:57:08 +0100 | xff0x | (~xff0x@2001:1a81:5290:1c00:a0e1:b3e2:3952:22f) |
2021-12-22 13:57:28 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 13:59:00 +0100 | chomwitt | (~chomwitt@2a02:587:dc1c:a00:12c3:7bff:fe6d:d374) (Ping timeout: 268 seconds) |
2021-12-22 13:59:02 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 13:59:41 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 13:59:58 +0100 | chomwitt | (~chomwitt@2a02:587:dc1c:a00:12c3:7bff:fe6d:d374) |
2021-12-22 14:00:15 +0100 | max22- | (~maxime@2a01cb08833598002412bf121caf815d.ipv6.abo.wanadoo.fr) (Ping timeout: 268 seconds) |
2021-12-22 14:01:15 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:01:51 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:02:48 +0100 | ub | (~Thunderbi@p548c8cd6.dip0.t-ipconnect.de) |
2021-12-22 14:03:04 +0100 | ubert | (~Thunderbi@p200300ecdf0994cb1dfd4ca95c98fa37.dip0.t-ipconnect.de) (Remote host closed the connection) |
2021-12-22 14:03:04 +0100 | ub | ubert |
2021-12-22 14:03:26 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:03:28 +0100 | sagax | (~sagax_nb@user/sagax) |
2021-12-22 14:04:02 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:05:37 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:06:09 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:07:37 +0100 | Akiva | (~Akiva@user/Akiva) (Ping timeout: 256 seconds) |
2021-12-22 14:07:37 +0100 | chomwitt | (~chomwitt@2a02:587:dc1c:a00:12c3:7bff:fe6d:d374) (Ping timeout: 240 seconds) |
2021-12-22 14:07:45 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:08:17 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:09:50 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:10:22 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:10:54 +0100 | coolnickname | (uid531864@user/coolnickname) (Quit: Connection closed for inactivity) |
2021-12-22 14:11:56 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:12:33 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:14:10 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:14:38 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:16:10 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:16:41 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:16:57 +0100 | rembo10 | (~rembo10@remulis.com) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-12-22 14:17:17 +0100 | pfurla | (~pfurla@2804:14d:5c5a:9a78:6ce0:1b08:23ee:4eaf) |
2021-12-22 14:18:02 +0100 | rembo10 | (~rembo10@remulis.com) |
2021-12-22 14:18:15 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:18:45 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:19:21 +0100 | danso | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 268 seconds) |
2021-12-22 14:20:05 +0100 | deadmarshal | (~deadmarsh@95.38.229.128) (Ping timeout: 256 seconds) |
2021-12-22 14:20:18 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:20:55 +0100 | betelgeuse9 | (~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 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:22:58 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:23:23 +0100 | coot | (~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 +0100 | betelgeuse9 | (~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 +0100 | betelgeuse9 | (~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 +0100 | betelgeuse9 | (~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 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:28:54 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:29:05 +0100 | dan-so | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) |
2021-12-22 14:29:09 +0100 | chomwitt | (~chomwitt@2a02:587:dc1c:a00:12c3:7bff:fe6d:d374) |
2021-12-22 14:29:30 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:31:04 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:31:43 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:33:03 +0100 | irfan | (~irfan@user/irfan) (Quit: leaving) |
2021-12-22 14:33:17 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:33:17 +0100 | dan-so | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 240 seconds) |
2021-12-22 14:33:41 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:34:03 +0100 | dan-so | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) |
2021-12-22 14:34:49 +0100 | kranius | (~kranius@162.19.149.77.rev.sfr.net) (Ping timeout: 256 seconds) |
2021-12-22 14:35:14 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:35:49 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:36:02 +0100 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2021-12-22 14:36:53 +0100 | rembo10 | (~rembo10@remulis.com) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-12-22 14:37:22 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:37:58 +0100 | rembo10 | (~rembo10@remulis.com) |
2021-12-22 14:37:58 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:39:32 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:39:52 +0100 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.3) |
2021-12-22 14:40:05 +0100 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) |
2021-12-22 14:40:13 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:41:47 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:42:19 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:43:52 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:44:28 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:45:01 +0100 | coot | (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) |
2021-12-22 14:46:02 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:46:30 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:48:08 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:48:37 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:49:42 +0100 | max22- | (~maxime@2a01cb088335980001474809897dc97d.ipv6.abo.wanadoo.fr) |
2021-12-22 14:50:10 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:50:41 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:52:16 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:52:36 +0100 | AlpacaPrince | (~Guest|47@c-73-221-44-172.hsd1.wa.comcast.net) (Quit: Connection closed) |
2021-12-22 14:52:40 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:54:12 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:54:53 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:56:27 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:56:54 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:58:04 +0100 | Guest|47 | (~Guest|47@c-73-221-44-172.hsd1.wa.comcast.net) |
2021-12-22 14:58:28 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 14:59:06 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 14:59:10 +0100 | Guest|47 | pringlePie |
2021-12-22 14:59:42 +0100 | neverfindme | (~hayden@158.123.160.43) |
2021-12-22 15:00:15 +0100 | deadmarshal | (~deadmarsh@95.38.229.128) |
2021-12-22 15:00:39 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 15:00:59 +0100 | dan-so | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 252 seconds) |
2021-12-22 15:01:11 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 15:01:22 +0100 | dan-so | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) |
2021-12-22 15:02:44 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 15:03:11 +0100 | Vajb | (~Vajb@2001:999:62:f3d1:4390:fbed:1f9b:9d03) (Read error: Connection reset by peer) |
2021-12-22 15:03:12 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-22 15:03:17 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 15:03:19 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-12-22 15:03:50 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-12-22 15:04:30 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-12-22 15:04:51 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 15:05:19 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 15:06:52 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 15:07:34 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 15:08:13 +0100 | coot | (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Quit: coot) |
2021-12-22 15:08:20 +0100 | zardoz2 | (~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Ping timeout)) |
2021-12-22 15:09:10 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 15:09:50 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 15:09:56 +0100 | coot | (~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 +0100 | dan-so | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 260 seconds) |
2021-12-22 15:10:19 +0100 | arjun | (~arjun@user/arjun) |
2021-12-22 15:10:29 +0100 | dan-so | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) |
2021-12-22 15:11:12 +0100 | kranius | (~kranius@162.19.149.77.rev.sfr.net) |
2021-12-22 15:11:25 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 15:11:52 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 15:13:26 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 15:14:00 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 15:15:34 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 15:16:05 +0100 | kranius | (~kranius@162.19.149.77.rev.sfr.net) (Ping timeout: 268 seconds) |
2021-12-22 15:16:09 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 15:16:15 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-22 15:16:56 +0100 | dan-so | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 252 seconds) |
2021-12-22 15:17:09 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
2021-12-22 15:17:42 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 15:17:53 +0100 | neverfindme | (~hayden@158.123.160.43) (Ping timeout: 256 seconds) |
2021-12-22 15:18:19 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 15:19:54 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
2021-12-22 15:20:22 +0100 | yin | (~yin@user/zero) |
2021-12-22 15:20:32 +0100 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
2021-12-22 15:22:59 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-12-22 15:24:14 +0100 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
2021-12-22 15:24:41 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2021-12-22 15:24:57 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) (Remote host closed the connection) |
2021-12-22 15:25:53 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-12-22 15:28:42 +0100 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2021-12-22 15:28:53 +0100 | coot | (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) |
2021-12-22 15:30:37 +0100 | yin | (~yin@user/zero) (Ping timeout: 240 seconds) |
2021-12-22 15:34:04 +0100 | yauhsien | (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) |
2021-12-22 15:38:10 +0100 | coot | (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Remote host closed the connection) |
2021-12-22 15:38:17 +0100 | yauhsien | (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
2021-12-22 15:38:51 +0100 | deadmarshal | (~deadmarsh@95.38.229.128) (Ping timeout: 256 seconds) |
2021-12-22 15:39:14 +0100 | pringlePie | (~Guest|47@c-73-221-44-172.hsd1.wa.comcast.net) (Quit: Connection closed) |
2021-12-22 15:42:37 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-12-22 15:43:24 +0100 | coot | (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) |
2021-12-22 15:44:27 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-12-22 15:45:12 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-22 15:45:12 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-22 15:45:12 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-22 15:50:29 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-22 15:51:14 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-12-22 15:52:51 +0100 | yin | (~yin@user/zero) |
2021-12-22 15:52:57 +0100 | jinsun | (~quassel@user/jinsun) (Ping timeout: 240 seconds) |
2021-12-22 15:54:25 +0100 | pfurla | (~pfurla@2804:14d:5c5a:9a78:6ce0:1b08:23ee:4eaf) (Quit: Textual IRC Client: www.textualapp.com) |
2021-12-22 15:55:25 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2021-12-22 15:58:08 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
2021-12-22 15:58:26 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) |
2021-12-22 15:59:35 +0100 | dan-so | (~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) |
2021-12-22 15:59:50 +0100 | Guest4242 | (~Guest4242@78.198.4.122) (Quit: Client closed) |
2021-12-22 16:01:16 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-22 16:04:37 +0100 | xff0x | (~xff0x@2001:1a81:5290:1c00:a0e1:b3e2:3952:22f) (Ping timeout: 240 seconds) |
2021-12-22 16:07:21 +0100 | darchitect | (~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 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-12-22 16:09:59 +0100 | xff0x | (~xff0x@2001:1a81:5290:1c00:a0e1:b3e2:3952:22f) |
2021-12-22 16:10:59 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-12-22 16:12:12 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-12-22 16:15:30 +0100 | coot | (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Remote host closed the connection) |
2021-12-22 16:19:37 +0100 | x88x88x | (~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb) (Ping timeout: 240 seconds) |
2021-12-22 16:19:58 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 16:19:59 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 16:20:29 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: closed) |
2021-12-22 16:20:53 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 16:22:03 +0100 | x88x88x | (~x88x88x@149.28.53.172) |
2021-12-22 16:23:18 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
2021-12-22 16:25:55 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2021-12-22 16:26:36 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2021-12-22 16:30:08 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2021-12-22 16:30:37 +0100 | yin | (~yin@user/zero) (Ping timeout: 240 seconds) |
2021-12-22 16:30:53 +0100 | coot | (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) |
2021-12-22 16:31:03 +0100 | yauhsien | (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) |
2021-12-22 16:31:30 +0100 | jinsun | (~quassel@user/jinsun) |
2021-12-22 16:37:20 +0100 | evocatus | (~evocatus@62.182.78.42) |
2021-12-22 16:37:51 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-22 16:40:16 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-22 16:40:16 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-22 16:40:16 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-22 16:42:19 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2021-12-22 16:45:09 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2021-12-22 16:47:03 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-22 16:47:48 +0100 | yin | (~yin@user/zero) |
2021-12-22 16:48:37 +0100 | acidjnk | (~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 +0100 | neverfindme | (~hayden@158.123.160.43) |
2021-12-22 16:52:49 +0100 | neverfindme | (~hayden@158.123.160.43) (Remote host closed the connection) |
2021-12-22 16:57:16 +0100 | burnsidesLlama | (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-12-22 16:59:24 +0100 | coot | (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Quit: coot) |
2021-12-22 16:59:50 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) |
2021-12-22 17:00:17 +0100 | yin | (~yin@user/zero) (Ping timeout: 240 seconds) |
2021-12-22 17:01:43 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 17:01:44 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 17:02:22 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 17:02:23 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 17:02:51 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 17:02:51 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 17:05:00 +0100 | phma_ | (~phma@2001:5b0:210d:e448:bd04:4091:a4d4:4fae) (Read error: Connection reset by peer) |
2021-12-22 17:06:08 +0100 | phma_ | (~phma@2001:5b0:210f:6808:2fd4:ecc8:b8ea:8fba) |
2021-12-22 17:08:35 +0100 | phma_ | phma |
2021-12-22 17:09:31 +0100 | alfonsox | (~quassel@103.92.42.192) |
2021-12-22 17:14:03 +0100 | jespada | (~jespada@87.74.33.157) (Ping timeout: 256 seconds) |
2021-12-22 17:14:20 +0100 | kranius | (~kranius@162.19.149.77.rev.sfr.net) |
2021-12-22 17:14:51 +0100 | ph88 | (~ph88@ip5f5af068.dynamic.kabel-deutschland.de) |
2021-12-22 17:15:27 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4) |
2021-12-22 17:16:15 +0100 | jespada | (~jespada@87.74.33.157) |
2021-12-22 17:19:50 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 17:19:50 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 17:23:59 +0100 | arjun | (~arjun@user/arjun) (Ping timeout: 252 seconds) |
2021-12-22 17:24:37 +0100 | x88x88x | (~x88x88x@149.28.53.172) (Ping timeout: 240 seconds) |
2021-12-22 17:25:01 +0100 | neverfindme | (~hayden@158.123.160.43) |
2021-12-22 17:25:23 +0100 | deadmarshal | (~deadmarsh@95.38.229.128) |
2021-12-22 17:25:37 +0100 | kranius | (~kranius@162.19.149.77.rev.sfr.net) (Ping timeout: 240 seconds) |
2021-12-22 17:27:50 +0100 | mbuf | (~Shakthi@171.61.232.157) (Quit: Leaving) |
2021-12-22 17:29:55 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 17:29:55 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 17:30:22 +0100 | ubert | (~Thunderbi@p548c8cd6.dip0.t-ipconnect.de) (Remote host closed the connection) |
2021-12-22 17:31:55 +0100 | x88x88x | (~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb) |
2021-12-22 17:32:38 +0100 | neverfindme | (~hayden@158.123.160.43) (Remote host closed the connection) |
2021-12-22 17:32:55 +0100 | neverfindme | (~hayden@158.123.160.43) |
2021-12-22 17:33:03 +0100 | neverfindme | (~hayden@158.123.160.43) (Remote host closed the connection) |
2021-12-22 17:33:36 +0100 | burnsidesLlama | (~burnsides@dhcp168-011.wadham.ox.ac.uk) |
2021-12-22 17:33:38 +0100 | evocatus | (~evocatus@62.182.78.42) (Quit: Leaving) |
2021-12-22 17:35:35 +0100 | doyougnu | (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) |
2021-12-22 17:36:14 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 17:36:14 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 17:36:54 +0100 | timCF | (~timCF@m91-129-100-224.cust.tele2.ee) |
2021-12-22 17:37:20 +0100 | timCF | (~timCF@m91-129-100-224.cust.tele2.ee) (Client Quit) |
2021-12-22 17:38:02 +0100 | burnsidesLlama | (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 240 seconds) |
2021-12-22 17:39:03 +0100 | kranius | (~kranius@162.19.149.77.rev.sfr.net) |
2021-12-22 17:39:16 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 17:39:17 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 17:40:03 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 17:40:03 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 17:40:42 +0100 | stiell | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2021-12-22 17:41:04 +0100 | stiell | (~stiell@gateway/tor-sasl/stiell) |
2021-12-22 17:45:56 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
2021-12-22 17:46:14 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) |
2021-12-22 17:46:47 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-22 17:47:21 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 17:47:22 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 17:48:58 +0100 | xff0x | (~xff0x@2001:1a81:5290:1c00:a0e1:b3e2:3952:22f) (Remote host closed the connection) |
2021-12-22 17:49:15 +0100 | xff0x | (~xff0x@2001:1a81:5290:1c00:1cc4:2a6e:2e3f:d394) |
2021-12-22 17:49:38 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
2021-12-22 17:50:14 +0100 | kranius | (~kranius@162.19.149.77.rev.sfr.net) (Changing host) |
2021-12-22 17:50:14 +0100 | kranius | (~kranius@user/kranius) |
2021-12-22 17:52:18 +0100 | yin | (~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 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2021-12-22 17:54:51 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-12-22 17:55:34 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 17:55:35 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 17:56:51 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2021-12-22 17:56:59 +0100 | chexum_ | (~quassel@gateway/tor-sasl/chexum) |
2021-12-22 17:56:59 +0100 | alfonsox | (~quassel@103.92.42.192) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-12-22 17:57:41 +0100 | yin | (~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 +0100 | bitdex | (~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 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-12-22 18:02:19 +0100 | <EvanR> | same list with itself |
2021-12-22 18:03:49 +0100 | xff0x | (~xff0x@2001:1a81:5290:1c00:1cc4:2a6e:2e3f:d394) (Ping timeout: 268 seconds) |
2021-12-22 18:04:37 +0100 | xff0x | (~xff0x@2001:1a81:5290:1c00:84df:602d:a0a9:8535) |
2021-12-22 18:05:14 +0100 | kuribas | (~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 +0100 | x88x88x | (~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb) (Ping timeout: 240 seconds) |
2021-12-22 18:09:41 +0100 | yin | (~yin@user/zero) |
2021-12-22 18:10:30 +0100 | burnsidesLlama | (~burnsides@dhcp168-011.wadham.ox.ac.uk) |
2021-12-22 18:12:02 +0100 | deadmarshal | (~deadmarsh@95.38.229.128) (Ping timeout: 240 seconds) |
2021-12-22 18:12:56 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2021-12-22 18:12:58 +0100 | yauhsien | (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-12-22 18:13:01 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 18:13:02 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 18:13:39 +0100 | gehmehgeh | (~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 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 18:15:41 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 18:16:05 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 18:16:05 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 18:16:23 +0100 | burnsidesLlama | (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 256 seconds) |
2021-12-22 18:16:59 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-12-22 18:18:24 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 18:18:25 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 18:18:50 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-12-22 18:19:26 +0100 | <EvanR> | today's problem is kicking my ass |
2021-12-22 18:20:33 +0100 | jeetelongname | (~jeet@88-111-159-26.dynamic.dsl.as9105.com) |
2021-12-22 18:20:37 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-12-22 18:20:42 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 18:20:43 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 18:21:10 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 18:21:10 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 18:22:38 +0100 | x88x88x | (~x88x88x@149.28.53.172) |
2021-12-22 18:23:33 +0100 | analognoise1 | (~analognoi@ip98-176-154-48.sd.sd.cox.net) |
2021-12-22 18:23:42 +0100 | yin | (~yin@user/zero) (Ping timeout: 260 seconds) |
2021-12-22 18:25:32 +0100 | yauhsien | (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) |
2021-12-22 18:27:03 +0100 | Cale | (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Remote host closed the connection) |
2021-12-22 18:27:53 +0100 | analognoise | (~analognoi@185.202.221.238) (Ping timeout: 268 seconds) |
2021-12-22 18:28:40 +0100 | analognoise | (~analognoi@91.196.220.236) |
2021-12-22 18:30:20 +0100 | Cale | (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) |
2021-12-22 18:30:35 +0100 | tzh | (~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 +0100 | Midjak | (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) |
2021-12-22 18:32:15 +0100 | analognoise1 | (~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 +0100 | coot | (~coot@89-64-85-93.dynamic.chello.pl) (Remote host closed the connection) |
2021-12-22 18:33:51 +0100 | emf | (~emf@2620:10d:c091:480::1:44aa) |
2021-12-22 18:35:58 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: closed) |
2021-12-22 18:36:09 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 18:37:24 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4) (Remote host closed the connection) |
2021-12-22 18:39:42 +0100 | coot | (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) |
2021-12-22 18:40:17 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-169.elisa-laajakaista.fi) (Ping timeout: 240 seconds) |
2021-12-22 18:40:31 +0100 | emf_ | (~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 +0100 | emf | (~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 +0100 | BrokenClutch | (~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 +0100 | gentauro | GG 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 +0100 | deadmarshal | (~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 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-12-22 18:49:23 +0100 | yauhsien | (~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 +0100 | slowButPresent | (~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 +0100 | qrpnxz | (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 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 18:53:30 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: closed) |
2021-12-22 18:53:36 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 18:53:50 +0100 | Akiva | (~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 +0100 | emf_ | (~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 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-214.elisa-laajakaista.fi) |
2021-12-22 18:56:52 +0100 | gentauro | perhaps 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 +0100 | x88x88x | (~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 +0100 | emf | (~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 +0100 | burnsidesLlama | (~burnsides@dhcp168-011.wadham.ox.ac.uk) |
2021-12-22 19:06:54 +0100 | x88x88x | (~x88x88x@149.28.53.172) |
2021-12-22 19:07:08 +0100 | BenSimms[m] | (~simmsb@2001:470:69fc:105::1:55c3) |
2021-12-22 19:07:08 +0100 | econo | (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 +0100 | qrpnxz | (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 +0100 | coolnickname | (uid531864@user/coolnickname) |
2021-12-22 19:08:47 +0100 | qrpnxz | (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 +0100 | BenSimms[m] | simmsb |
2021-12-22 19:10:17 +0100 | fizbin | (~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 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 19:11:15 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 19:11:25 +0100 | benin | (~benin@183.82.27.57) (Quit: The Lounge - https://thelounge.chat) |
2021-12-22 19:12:28 +0100 | analognoise1 | (~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 +0100 | benin | (~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 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-22 19:13:43 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 19:13:43 +0100 | <gentauro> | sm: :o |
2021-12-22 19:13:43 +0100 | qrpnxz | (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 +0100 | analognoise | (~analognoi@91.196.220.236) (Ping timeout: 250 seconds) |
2021-12-22 19:17:34 +0100 | analognoise | (~analognoi@23.105.41.153) |
2021-12-22 19:18:10 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 19:18:11 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 19:19:37 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 19:19:38 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 19:20:03 +0100 | yauhsien | (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) |
2021-12-22 19:20:30 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 19:20:30 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 19:20:53 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 19:20:53 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 19:20:57 +0100 | analognoise1 | (~analognoi@2600:8801:8c26:9e00:9810:dcc2:3d73:bd7a) (Ping timeout: 240 seconds) |
2021-12-22 19:21:15 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 19:21:15 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 19:22:07 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 19:22:07 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 19:22:29 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 19:22:30 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 19:22:55 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 19:22:55 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 19:24:05 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 19:24:08 +0100 | qrpnxz | (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 +0100 | yauhsien | (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2021-12-22 19:25:37 +0100 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2021-12-22 19:25:54 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 19:25:55 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 19:26:27 +0100 | kranius | (~kranius@user/kranius) (Ping timeout: 268 seconds) |
2021-12-22 19:27:00 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 19:27:01 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 19:27:17 +0100 | emf | (~emf@2620:10d:c091:480::1:44aa) (Ping timeout: 240 seconds) |
2021-12-22 19:27:34 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 19:27:35 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 19:27:42 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2021-12-22 19:27:52 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-12-22 19:28:11 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2021-12-22 19:28:17 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 19:28:18 +0100 | qrpnxz | (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 +0100 | phma_ | (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 +0100 | eggplantade | (~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 +0100 | phma | (~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 +0100 | chomwitt | (~chomwitt@2a02:587:dc1c:a00:12c3:7bff:fe6d:d374) (Ping timeout: 240 seconds) |
2021-12-22 19:35:37 +0100 | emf | (~emf@2620:10d:c091:480::1:44aa) |
2021-12-22 19:35:42 +0100 | mvk | (~mvk@2607:fea8:5cdd:f000::917a) |
2021-12-22 19:36:26 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-12-22 19:37:38 +0100 | jeetelongname | (~jeet@88-111-159-26.dynamic.dsl.as9105.com) (Ping timeout: 252 seconds) |
2021-12-22 19:38:37 +0100 | chomwitt | (~chomwitt@2a02:587:dc1c:a00:12c3:7bff:fe6d:d374) |
2021-12-22 19:39:31 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 250 seconds) |
2021-12-22 19:40:28 +0100 | coot | (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Remote host closed the connection) |
2021-12-22 19:43:47 +0100 | pavonia | (~user@user/siracusa) |
2021-12-22 19:44:15 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 19:44:16 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 19:44:47 +0100 | deadmarshal | (~deadmarsh@95.38.229.128) (Ping timeout: 256 seconds) |
2021-12-22 19:45:20 +0100 | xkuru | (~xkuru@user/xkuru) |
2021-12-22 19:47:09 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-12-22 19:47:18 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 19:47:18 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 19:47:38 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 19:47:38 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 19:52:57 +0100 | Maxdamantus | (~Maxdamant@user/maxdamantus) (Ping timeout: 240 seconds) |
2021-12-22 19:53:15 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) (Read error: Connection reset by peer) |
2021-12-22 19:53:52 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
2021-12-22 19:54:11 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) |
2021-12-22 19:54:26 +0100 | neurocyte0132889 | (~neurocyte@IP-045014189127.dynamic.medianet-world.de) |
2021-12-22 19:54:26 +0100 | neurocyte0132889 | (~neurocyte@IP-045014189127.dynamic.medianet-world.de) (Changing host) |
2021-12-22 19:54:26 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) |
2021-12-22 19:54:41 +0100 | yin | (~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 +0100 | kranius | (~kranius@162.19.149.77.rev.sfr.net) |
2021-12-22 19:56:44 +0100 | kranius | (~kranius@162.19.149.77.rev.sfr.net) (Changing host) |
2021-12-22 19:56:44 +0100 | kranius | (~kranius@user/kranius) |
2021-12-22 19:57:43 +0100 | Maxdamantus | (~Maxdamant@user/maxdamantus) |
2021-12-22 19:58:40 +0100 | BrokenClutch | (~pioneer@2804:d41:c2a7:d800:e627:b00b:2c62:134) (Quit: Leaving.) |
2021-12-22 19:59:49 +0100 | kaph | (~kaph@net-2-47-236-216.cust.vodafonedsl.it) |
2021-12-22 20:03:09 +0100 | max22- | (~maxime@2a01cb088335980001474809897dc97d.ipv6.abo.wanadoo.fr) (Ping timeout: 250 seconds) |
2021-12-22 20:05:20 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 20:05:21 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 20:05:45 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 20:05:45 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 20:06:41 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
2021-12-22 20:07:00 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) |
2021-12-22 20:13:57 +0100 | yin | (~yin@user/zero) (Ping timeout: 240 seconds) |
2021-12-22 20:13:57 +0100 | x88x88x | (~x88x88x@149.28.53.172) (Ping timeout: 240 seconds) |
2021-12-22 20:15:00 +0100 | emf | (~emf@2620:10d:c091:480::1:44aa) (Read error: Connection reset by peer) |
2021-12-22 20:17:40 +0100 | merijn | (~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 +0100 | emf | (~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 +0100 | mimmy | (~mimmy@69.174.8.146) |
2021-12-22 20:25:57 +0100 | x88x88x | (~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb) |
2021-12-22 20:26:49 +0100 | shapr | awakens |
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 +0100 | shapr | hugs 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 +0100 | kranius | (~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 +0100 | tromp | (~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 +0100 | max22- | (~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 +0100 | Erutuon | (~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 +0100 | x88x88x | (~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 +0100 | shapr | thinks |
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 +0100 | shapr | tries 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 +0100 | eggplantade | (~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 +0100 | x88x88x | (~x88x88x@149.28.53.172) |
2021-12-22 20:51:17 +0100 | emf | (~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 +0100 | merijn | (~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 +0100 | eggplantade | (~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 +0100 | deadmarshal | (~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 +0100 | deadmarshal | (~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 +0100 | notzmv | (~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 +0100 | juhp | (~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 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807) |
2021-12-22 21:05:20 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4) |
2021-12-22 21:05:56 +0100 | coot | (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) |
2021-12-22 21:06:35 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807) (Remote host closed the connection) |
2021-12-22 21:07:07 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807) |
2021-12-22 21:07:52 +0100 | juhp | (~juhp@128.106.188.82) |
2021-12-22 21:08:39 +0100 | nvmd | (~nvmd@user/nvmd) (Quit: Later, nerds.) |
2021-12-22 21:08:42 +0100 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.3) |
2021-12-22 21:08:52 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-12-22 21:10:51 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807) (Remote host closed the connection) |
2021-12-22 21:11:05 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807) |
2021-12-22 21:13:29 +0100 | vicfred | (~vicfred@user/vicfred) |
2021-12-22 21:15:02 +0100 | doyougnu | (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) (Ping timeout: 240 seconds) |
2021-12-22 21:15:37 +0100 | wolfshappen | (~waff@irc.furworks.de) |
2021-12-22 21:19:02 +0100 | Guest|47 | (~Guest|47@c-73-221-44-172.hsd1.wa.comcast.net) |
2021-12-22 21:21:26 +0100 | darkstardevx | (~darkstard@50.39.115.145) |
2021-12-22 21:22:53 +0100 | darkstardevx | (~darkstard@50.39.115.145) (Remote host closed the connection) |
2021-12-22 21:23:17 +0100 | darkstardevx | (~darkstard@50.39.115.145) |
2021-12-22 21:23:59 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-12-22 21:24:23 +0100 | Guest|47 | space_llama |
2021-12-22 21:25:39 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-12-22 21:36:49 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807) (Remote host closed the connection) |
2021-12-22 21:37:02 +0100 | zincy | (~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 +0100 | notzmv | (~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 +0100 | ph88 | (~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 +0100 | mimmy | (~mimmy@69.174.8.146) (Ping timeout: 240 seconds) |
2021-12-22 21:46:22 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-22 21:50:49 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 250 seconds) |
2021-12-22 21:53:03 +0100 | space_llama | (~Guest|47@c-73-221-44-172.hsd1.wa.comcast.net) (Quit: Connection closed) |
2021-12-22 21:53:19 +0100 | coot | (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Remote host closed the connection) |
2021-12-22 21:57:11 +0100 | jackson99 | (~bc8147f2@83.167.180.121) |
2021-12-22 21:57:17 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
2021-12-22 22:05:00 +0100 | burnsidesLlama | (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-12-22 22:05:21 +0100 | tewrdh^ | (~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 +0100 | amk | (~amk@109.255.169.126) (Remote host closed the connection) |
2021-12-22 22:08:17 +0100 | amk | (~amk@109.255.169.126) |
2021-12-22 22:10:30 +0100 | coot | (~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 +0100 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2021-12-22 22:11:56 +0100 | mimmy | (~mimmy@69.174.8.146) |
2021-12-22 22:13:11 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-12-22 22:16:17 +0100 | benin | (~benin@183.82.27.57) (Quit: The Lounge - https://thelounge.chat) |
2021-12-22 22:16:37 +0100 | mimmy | (~mimmy@69.174.8.146) (Ping timeout: 240 seconds) |
2021-12-22 22:16:48 +0100 | jgeerds | (~jgeerds@55d4ac73.access.ecotel.net) |
2021-12-22 22:17:43 +0100 | benin | (~benin@183.82.27.57) |
2021-12-22 22:22:04 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-12-22 22:22:22 +0100 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) |
2021-12-22 22:23:01 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4) (Remote host closed the connection) |
2021-12-22 22:24:40 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2021-12-22 22:24:57 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 22:24:57 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 22:25:49 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 22:25:50 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 22:26:21 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 22:26:22 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 22:26:47 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 22:26:47 +0100 | qrpnxz | (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 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 22:29:05 +0100 | qrpnxz | (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 +0100 | mimmy | (~mimmy@69.174.8.146) |
2021-12-22 22:32:11 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 22:32:11 +0100 | qrpnxz | (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 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 22:33:19 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 22:33:40 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 22:33:41 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 22:34:04 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 22:34:05 +0100 | qrpnxz | (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 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 22:35:05 +0100 | qrpnxz | (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 +0100 | Hafydd | (~Hafydd@user/hafydd) (Quit: WeeChat 3.3) |
2021-12-22 22:35:35 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 22:35:36 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 22:35:55 +0100 | mimmy | (~mimmy@69.174.8.146) (Ping timeout: 256 seconds) |
2021-12-22 22:37:10 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 22:37:11 +0100 | qrpnxz | (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 +0100 | tromp | (~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 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 22:39:45 +0100 | qrpnxz | (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 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 22:40:08 +0100 | qrpnxz | (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 +0100 | random-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 +0100 | Hafydd | (~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 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 22:43:45 +0100 | qrpnxz | (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 +0100 | mcglk | (~mcglk@131.191.49.120) (Read error: Connection reset by peer) |
2021-12-22 22:44:15 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 22:44:16 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 22:44:18 +0100 | burnsidesLlama | (~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 +0100 | mcglk | (~mcglk@131.191.49.120) |
2021-12-22 22:46:11 +0100 | acidjnk | (~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 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 22:47:42 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 22:48:13 +0100 | merijn | (~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 +0100 | burnsidesLlama | (~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 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 22:49:55 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 22:50:15 +0100 | <monochrom> | So yeah, one point down for HFFP. |
2021-12-22 22:50:20 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 22:50:21 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 22:50:32 +0100 | kjak | (~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 +0100 | Guest|47 | (~Guest|47@c-73-221-44-172.hsd1.wa.comcast.net) |
2021-12-22 22:53:03 +0100 | Guest|47 | space_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 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 22:54:33 +0100 | qrpnxz | (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 +0100 | regr | (~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 +0100 | zincy | (~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 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 22:57:47 +0100 | qrpnxz | (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 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 22:59:27 +0100 | qrpnxz | (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 +0100 | darkstardevx | (~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 +0100 | mimmy | (~mimmy@69.174.8.146) |
2021-12-22 23:04:25 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 23:04:26 +0100 | qrpnxz | (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 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 23:05:01 +0100 | qrpnxz | (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 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 23:05:23 +0100 | qrpnxz | (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 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 23:06:37 +0100 | qrpnxz | (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 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 23:07:08 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 23:07:14 +0100 | space_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 +0100 | Guest|47 | (~Guest|47@c-73-221-44-172.hsd1.wa.comcast.net) |
2021-12-22 23:07:39 +0100 | Guest|47 | space_llama |
2021-12-22 23:07:39 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 23:07:40 +0100 | qrpnxz | (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 +0100 | mimmy | (~mimmy@69.174.8.146) (Ping timeout: 240 seconds) |
2021-12-22 23:11:05 +0100 | kmein | (~weechat@user/kmein) (Quit: ciao kakao) |
2021-12-22 23:11:25 +0100 | kmein | (~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 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-22 23:16:31 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-22 23:16:31 +0100 | wroathe | (~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 +0100 | fizbin | (~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 +0100 | tomsmeding | suspects "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 +0100 | darkstardevx | (~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 +0100 | mimmy | (~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 +0100 | wroathe | (~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 +0100 | merijn | (~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 +0100 | eggplantade | (~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 +0100 | doyougnu | (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) |
2021-12-22 23:25:37 +0100 | justsomeguy | (~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 +0100 | yin | (~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 +0100 | eggplantade | (~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 +0100 | burnsidesLlama | (~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 +0100 | timCF | (~timCF@m91-129-100-224.cust.tele2.ee) |
2021-12-22 23:29:44 +0100 | tomsmeding | goes off to bed |
2021-12-22 23:30:27 +0100 | gehmehgeh | (~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 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:bc5b:dbe0:79e5:a909) (Ping timeout: 240 seconds) |
2021-12-22 23:41:39 +0100 | kmein | (~weechat@user/kmein) (Ping timeout: 256 seconds) |
2021-12-22 23:42:57 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
2021-12-22 23:44:08 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-12-22 23:45:56 +0100 | regr | (~regr@2a02:a466:cf4f:1:cbe9:8a75:f9d2:f3e4) (WeeChat 2.8) |
2021-12-22 23:46:20 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:bc5b:dbe0:79e5:a909) |
2021-12-22 23:51:18 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:bc5b:dbe0:79e5:a909) (Ping timeout: 260 seconds) |
2021-12-22 23:52:53 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection) |
2021-12-22 23:52:55 +0100 | qrpnxz | (abc4f95c31@user/qrpnxz) |
2021-12-22 23:53:53 +0100 | kmein | (~weechat@user/kmein) |
2021-12-22 23:56:17 +0100 | yin | (~yin@user/zero) (Ping timeout: 240 seconds) |
2021-12-22 23:57:54 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4) |