2022-07-29 00:02:37 +0200 | dcoutts_ | (~duncan@host86-149-51-106.range86-149.btcentralplus.com) |
2022-07-29 00:03:05 +0200 | JannisO | (~JannisO@dyndsl-089-166-213-108.ewe-ip-backbone.de) (Ping timeout: 252 seconds) |
2022-07-29 00:04:11 +0200 | dcoutts | (~duncan@host86-167-90-210.range86-167.btcentralplus.com) (Ping timeout: 252 seconds) |
2022-07-29 00:04:13 +0200 | <hpc> | the precursor paper to that is even cooler, they had to figure out how to get the system to oscillate between states over time without losing energy |
2022-07-29 00:18:54 +0200 | onosendi | (sid552923@user/onosendi) |
2022-07-29 00:19:12 +0200 | sonologico | (~raphael@dhcp-077-251-118-129.chello.nl) (Ping timeout: 245 seconds) |
2022-07-29 00:19:55 +0200 | <onosendi> | Is there linting in Haskell, like JavaScript's ESLint? Style guide? I'm just using haskell-language-server as of now. |
2022-07-29 00:20:40 +0200 | <geekosaur> | you may want to install hlint |
2022-07-29 00:20:46 +0200 | <maralorn> | onosendi: There are formaters and there is hlint. Both should be enabled by default when using hls. |
2022-07-29 00:20:47 +0200 | <geekosaur> | HLS will use it if it finds it |
2022-07-29 00:21:28 +0200 | <maralorn> | hls doesn‘t look for it. hls is either linked against it or it isn‘t. The default binaries you get via ghcup are. |
2022-07-29 00:21:39 +0200 | <geekosaur> | (actually I think hlint is still disabled by default if you are using ghc 9.2.x?) |
2022-07-29 00:21:53 +0200 | <maralorn> | That’s true. |
2022-07-29 00:22:23 +0200 | <onosendi> | Hmm, so `brew install hlint` ? |
2022-07-29 00:22:36 +0200 | <geekosaur> | wonder if that's because it will recommend eta reduction when that can cause problems with simplified subsumption? |
2022-07-29 00:22:58 +0200 | <maralorn> | No clue about mac. But if it finds something, then that will probaly work. |
2022-07-29 00:23:11 +0200 | <maralorn> | Then you do `hlint **/*.hs` |
2022-07-29 00:24:28 +0200 | k8yun__ | (~k8yun@user/k8yun) |
2022-07-29 00:24:59 +0200 | jargon | (~jargon@184.101.188.251) |
2022-07-29 00:25:25 +0200 | <maralorn> | Hm, at least on master hlint is supposed to support all support ghc versions and is enabled for all of them in the cabal file. |
2022-07-29 00:25:40 +0200 | <onosendi> | Anyone using nvim by any chance? |
2022-07-29 00:26:28 +0200 | <maralorn> | I did for a long time. |
2022-07-29 00:26:38 +0200 | <maralorn> | Others certainly do. |
2022-07-29 00:27:29 +0200 | <onosendi> | maralorn: do you happen to have your old dots on github, that used hls? |
2022-07-29 00:27:57 +0200 | k8yun_ | (~k8yun@user/k8yun) (Ping timeout: 245 seconds) |
2022-07-29 00:30:04 +0200 | <maralorn> | onosendi: I use nixos + home-manager, so yeah, but the syntax might annoy you a lot: https://git.maralorn.de/nixos-config/tree/home-manager/roles/neovim/default.nix |
2022-07-29 00:30:54 +0200 | <maralorn> | I use hls with coc, which is probably not the best solution if you start from scratch today. I configured this when nvim had no builtin lsp support. |
2022-07-29 00:31:12 +0200 | <maralorn> | Really I shouldn‘t even have posted this, it’s a bad example.^^ |
2022-07-29 00:31:51 +0200 | <maralorn> | onosendi: Have you had a look at this? https://haskell-language-server.readthedocs.io/en/latest/configuration.html?highlight=neovim#vim-o… |
2022-07-29 00:31:51 +0200 | <onosendi> | Yeah, I'm using lsp. |
2022-07-29 00:31:59 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-07-29 00:32:00 +0200 | yin | (~yin@user/zero) (Ping timeout: 268 seconds) |
2022-07-29 00:32:15 +0200 | <onosendi> | maralorn: Yeah, I was just looking at that. |
2022-07-29 00:32:57 +0200 | coco | (~coco@212-51-146-199.fiber7.init7.net) (Ping timeout: 245 seconds) |
2022-07-29 00:33:16 +0200 | younder | (~younder@33.51-174-155.customer.lyse.net) (Quit: Connection closed) |
2022-07-29 00:34:37 +0200 | dcoutts | (~duncan@host86-149-51-106.range86-149.btcentralplus.com) |
2022-07-29 00:36:27 +0200 | dcoutts_ | (~duncan@host86-149-51-106.range86-149.btcentralplus.com) (Ping timeout: 252 seconds) |
2022-07-29 00:36:28 +0200 | <onosendi> | I'm a JavaScript dev, and I've been studying FP for a few months. I've learned basic stuff, like functors, monads, monoids, semigroups, etc. However, there isn't any realworld FP JS code to look at, to see how each of these things are actually implemented. So, I figured the best way is to learn Haskell, to learn how to think more declaratively. Do you guys have any advice on where to start? I'm |
2022-07-29 00:36:30 +0200 | <onosendi> | literally brand new to this. |
2022-07-29 00:37:07 +0200 | dcoutts_ | (~duncan@host86-149-51-106.range86-149.btcentralplus.com) |
2022-07-29 00:38:43 +0200 | <geekosaur> | possibly you want to look at purescript, which uses many of the same idioms (minus laziness) and compiles to JS |
2022-07-29 00:39:12 +0200 | dcoutts | (~duncan@host86-149-51-106.range86-149.btcentralplus.com) (Ping timeout: 245 seconds) |
2022-07-29 00:39:53 +0200 | son0p | (~ff@181.136.122.143) |
2022-07-29 00:41:57 +0200 | dcoutts_ | (~duncan@host86-149-51-106.range86-149.btcentralplus.com) (Ping timeout: 252 seconds) |
2022-07-29 00:44:56 +0200 | dcoutts | (~duncan@host86-171-59-92.range86-171.btcentralplus.com) |
2022-07-29 00:45:09 +0200 | <sm> | read code of a bunch of haskell projects ? |
2022-07-29 00:45:58 +0200 | <sm> | https://wiki.haskell.org/How_to_read_Haskell, https://wiki.haskell.org/Learn_Haskell_in_10_minutes |
2022-07-29 00:46:09 +0200 | yin | (~yin@user/zero) |
2022-07-29 00:47:09 +0200 | <sm> | or of https://hackage.haskell.org/package/base-4.16.3.0/docs/Prelude.html |
2022-07-29 00:48:07 +0200 | coco | (~coco@212-51-146-199.fiber7.init7.net) |
2022-07-29 00:48:52 +0200 | cbdlt^ | (~cbdlt@50-242-35-142-static.hfc.comcastbusiness.net) |
2022-07-29 00:50:37 +0200 | dcoutts_ | (~duncan@host86-150-41-142.range86-150.btcentralplus.com) |
2022-07-29 00:51:07 +0200 | dcoutts | (~duncan@host86-171-59-92.range86-171.btcentralplus.com) (Ping timeout: 252 seconds) |
2022-07-29 00:52:19 +0200 | Guest3 | (~textual@pool-100-11-18-203.phlapa.fios.verizon.net) |
2022-07-29 00:52:26 +0200 | Guest3 | (~textual@pool-100-11-18-203.phlapa.fios.verizon.net) (Changing host) |
2022-07-29 00:52:26 +0200 | Guest3 | (~textual@user/polo) |
2022-07-29 00:52:31 +0200 | Guest3 | Gambino |
2022-07-29 00:53:12 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:357f:5f50:899a:d5a4) |
2022-07-29 00:55:52 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 245 seconds) |
2022-07-29 00:57:38 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:357f:5f50:899a:d5a4) (Ping timeout: 255 seconds) |
2022-07-29 00:59:33 +0200 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 252 seconds) |
2022-07-29 01:01:22 +0200 | coco | (~coco@212-51-146-199.fiber7.init7.net) (Quit: WeeChat 3.5) |
2022-07-29 01:04:38 +0200 | dcoutts__ | (~duncan@host86-150-41-142.range86-150.btcentralplus.com) |
2022-07-29 01:06:31 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
2022-07-29 01:07:15 +0200 | dcoutts_ | (~duncan@host86-150-41-142.range86-150.btcentralplus.com) (Ping timeout: 252 seconds) |
2022-07-29 01:07:49 +0200 | jumper149 | (~jumper149@base.felixspringer.xyz) (Quit: WeeChat 3.5) |
2022-07-29 01:08:20 +0200 | yvan-sraka | (uid419690@id-419690.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2022-07-29 01:10:16 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 01:16:25 +0200 | yin | (~yin@user/zero) (Ping timeout: 252 seconds) |
2022-07-29 01:16:55 +0200 | enemeth79 | (uid309041@id-309041.lymington.irccloud.com) |
2022-07-29 01:17:59 +0200 | yin | (~yin@user/zero) |
2022-07-29 01:18:16 +0200 | Gambino | (~textual@user/polo) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-07-29 01:18:21 +0200 | stiell | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2022-07-29 01:19:28 +0200 | stiell | (~stiell@gateway/tor-sasl/stiell) |
2022-07-29 01:20:34 +0200 | inversed | (~inversed@0545c13e.skybroadband.com) (Ping timeout: 244 seconds) |
2022-07-29 01:20:43 +0200 | cbdlt^ | (~cbdlt@50-242-35-142-static.hfc.comcastbusiness.net) (Ping timeout: 268 seconds) |
2022-07-29 01:21:55 +0200 | alp_ | (~alp@user/alp) |
2022-07-29 01:22:03 +0200 | alp__ | (~alp@user/alp) (Remote host closed the connection) |
2022-07-29 01:22:03 +0200 | Luj | (~Luj@2a01:e0a:5f9:9681:7a1a:a15b:364:89d8) (Quit: Ping timeout (120 seconds)) |
2022-07-29 01:22:15 +0200 | Luj | (~Luj@2a01:e0a:5f9:9681:abed:9db1:6133:89ac) |
2022-07-29 01:22:56 +0200 | Kaiepi | (~Kaiepi@156.34.47.253) (Read error: Connection reset by peer) |
2022-07-29 01:23:21 +0200 | Kaiepi | (~Kaiepi@156.34.47.253) |
2022-07-29 01:33:22 +0200 | k8yun__ | (~k8yun@user/k8yun) (Ping timeout: 245 seconds) |
2022-07-29 01:40:56 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2022-07-29 01:41:17 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 245 seconds) |
2022-07-29 01:42:03 +0200 | dcoutts | (~duncan@host86-150-41-142.range86-150.btcentralplus.com) |
2022-07-29 01:43:17 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-07-29 01:44:07 +0200 | Guest3 | (~textual@pool-100-11-18-203.phlapa.fios.verizon.net) |
2022-07-29 01:44:08 +0200 | bilegeek | (~bilegeek@2600:1008:b009:a40a:238d:fd4d:a133:b04d) |
2022-07-29 01:44:47 +0200 | naso | (~naso@193-116-244-197.tpgi.com.au) |
2022-07-29 01:58:05 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-07-29 01:58:05 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-07-29 01:58:05 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-07-29 02:00:40 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-07-29 02:02:00 +0200 | califax | (~califax@user/califx) |
2022-07-29 02:03:35 +0200 | <slack1256> | geekosaur: After convincing stack to build using ghc-9.2.3 I discovered the leak. I did not sleep yesterday because today I had a demo. But atleast I can finally present this. Thank you soo much for you advice, I am literally weeping :'-) |
2022-07-29 02:03:44 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::311d) |
2022-07-29 02:05:20 +0200 | Guest3 | (~textual@pool-100-11-18-203.phlapa.fios.verizon.net) (Quit: Textual IRC Client: www.textualapp.com) |
2022-07-29 02:05:36 +0200 | Guest3 | (~textual@pool-100-11-18-203.phlapa.fios.verizon.net) |
2022-07-29 02:05:57 +0200 | jinsun__ | (~jinsun@user/jinsun) |
2022-07-29 02:05:57 +0200 | jinsun | Guest123 |
2022-07-29 02:05:57 +0200 | jinsun__ | jinsun |
2022-07-29 02:09:39 +0200 | Guest123 | (~jinsun@user/jinsun) (Ping timeout: 244 seconds) |
2022-07-29 02:10:02 +0200 | Haskelytic | (~Haskelyti@118.179.211.17) |
2022-07-29 02:12:47 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-07-29 02:12:50 +0200 | Guest3 | (~textual@pool-100-11-18-203.phlapa.fios.verizon.net) (Quit: Textual IRC Client: www.textualapp.com) |
2022-07-29 02:15:45 +0200 | Haskelytic | (~Haskelyti@118.179.211.17) (Quit: Ping timeout (120 seconds)) |
2022-07-29 02:17:56 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 02:18:58 +0200 | zeenk | (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!) |
2022-07-29 02:19:06 +0200 | hgolden | (~hgolden2@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection) |
2022-07-29 02:20:02 +0200 | dvdrw | (~dvdrw@user/dvdrw) (Ping timeout: 245 seconds) |
2022-07-29 02:22:03 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-07-29 02:22:44 +0200 | hgolden | (~hgolden2@cpe-172-251-233-141.socal.res.rr.com) |
2022-07-29 02:24:10 +0200 | hgolden | (~hgolden2@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection) |
2022-07-29 02:24:38 +0200 | slack1256 | (~slack1256@191.126.99.71) (Remote host closed the connection) |
2022-07-29 02:26:02 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 02:26:39 +0200 | hgolden | (~hgolden2@cpe-172-251-233-141.socal.res.rr.com) |
2022-07-29 02:28:04 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-07-29 02:29:20 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
2022-07-29 02:30:38 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-07-29 02:34:38 +0200 | stiell | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2022-07-29 02:35:06 +0200 | k8yun__ | (~k8yun@user/k8yun) |
2022-07-29 02:35:12 +0200 | stiell | (~stiell@gateway/tor-sasl/stiell) |
2022-07-29 02:37:32 +0200 | qhong | (~qhong@rescomp-21-400677.stanford.edu) (Read error: Connection reset by peer) |
2022-07-29 02:37:38 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2022-07-29 02:37:41 +0200 | qhong | (~qhong@rescomp-21-400677.stanford.edu) |
2022-07-29 02:39:39 +0200 | k8yun__ | (~k8yun@user/k8yun) (Ping timeout: 268 seconds) |
2022-07-29 02:39:55 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-07-29 02:40:41 +0200 | Haskelytic | (~Haskelyti@118.179.211.17) |
2022-07-29 02:43:07 +0200 | cbdlt^ | (~cbdlt@50-242-35-142-static.hfc.comcastbusiness.net) |
2022-07-29 02:45:02 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds) |
2022-07-29 02:46:36 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2022-07-29 02:47:08 +0200 | stiell | (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 268 seconds) |
2022-07-29 02:50:17 +0200 | <albet70> | joinCont :: ((a->b) -> (a->b)->c) -> (a->b)->c, is that joinCont == const? |
2022-07-29 02:51:05 +0200 | <Axman6> | :t const `asTypeOf` (undefined :: ((a->b) -> (a->b)->c) -> (a->b)->c) |
2022-07-29 02:51:07 +0200 | <lambdabot> | error: |
2022-07-29 02:51:07 +0200 | <lambdabot> | • Occurs check: cannot construct the infinite type: |
2022-07-29 02:51:07 +0200 | <lambdabot> | c ~ (a -> b) -> (a -> b) -> c |
2022-07-29 02:51:40 +0200 | <Axman6> | making it const seems like it would be pretty useless |
2022-07-29 02:52:10 +0200 | <Axman6> | try to write joinCont f k = ??? using both f and k |
2022-07-29 02:53:25 +0200 | <albet70> | I don't know how... |
2022-07-29 02:53:35 +0200 | <albet70> | :t const |
2022-07-29 02:53:36 +0200 | <lambdabot> | a -> b -> a |
2022-07-29 02:53:49 +0200 | <Axman6> | what is the type of f? |
2022-07-29 02:54:36 +0200 | <albet70> | f :: a->b; k :: (a->b)->c |
2022-07-29 02:54:54 +0200 | <Axman6> | no |
2022-07-29 02:55:06 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:357f:5f50:899a:d5a4) |
2022-07-29 02:55:11 +0200 | <Axman6> | look at the type again, and pay attention to the brackets |
2022-07-29 02:56:12 +0200 | <albet70> | f :: ((a->b) -> (a->b)->c); k:: a->b |
2022-07-29 02:56:20 +0200 | <Axman6> | correct |
2022-07-29 02:56:39 +0200 | <Axman6> | so, what is the type of the (first) argument to f? do you have something of that type? |
2022-07-29 02:57:08 +0200 | <albet70> | joinCont f k = f k k? |
2022-07-29 02:57:16 +0200 | <Axman6> | does that type check? |
2022-07-29 02:57:57 +0200 | <Axman6> | :t let joinCont :: ((a->b) -> (a->b)->c) -> (a->b)->c; joinCont f k = f k k in joinCont |
2022-07-29 02:57:58 +0200 | <lambdabot> | ((a -> b) -> (a -> b) -> c) -> (a -> b) -> c |
2022-07-29 02:58:04 +0200 | <Axman6> | looks pretty good to me |
2022-07-29 02:58:09 +0200 | cbdlt^ | (~cbdlt@50-242-35-142-static.hfc.comcastbusiness.net) (Ping timeout: 268 seconds) |
2022-07-29 02:59:36 +0200 | <albet70> | @djinn ((a -> b) -> (a -> b) -> c) -> (a -> b) -> c |
2022-07-29 02:59:36 +0200 | <lambdabot> | f a b = a b b |
2022-07-29 03:00:13 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:357f:5f50:899a:d5a4) (Ping timeout: 272 seconds) |
2022-07-29 03:00:23 +0200 | <Axman6> | :t join @((->) a) |
2022-07-29 03:00:25 +0200 | <lambdabot> | error: parse error on input ‘->’ |
2022-07-29 03:00:29 +0200 | <Axman6> | % :t join @((->) a) |
2022-07-29 03:00:34 +0200 | <Axman6> | % :t join @((->) Int) |
2022-07-29 03:00:34 +0200 | <yahb2> | <interactive>:1:1: error: Variable not in scope: join |
2022-07-29 03:00:44 +0200 | Axman6 | glares |
2022-07-29 03:05:33 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
2022-07-29 03:07:03 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2022-07-29 03:07:03 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-07-29 03:07:03 +0200 | noteness | (~noteness@user/noteness) (Remote host closed the connection) |
2022-07-29 03:07:03 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2022-07-29 03:07:03 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-07-29 03:07:03 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2022-07-29 03:07:04 +0200 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2022-07-29 03:07:40 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-07-29 03:07:51 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2022-07-29 03:07:52 +0200 | noteness | (~noteness@user/noteness) |
2022-07-29 03:07:54 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-07-29 03:07:54 +0200 | califax | (~califax@user/califx) |
2022-07-29 03:08:08 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-07-29 03:08:12 +0200 | gmg | (~user@user/gehmehgeh) |
2022-07-29 03:08:48 +0200 | <albet70> | join : (w -> (w -> a)) -> w -> a |
2022-07-29 03:09:15 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 260 seconds) |
2022-07-29 03:09:26 +0200 | <Axman6> | if you look closely, you should see those are the same function,. but joinCont has a slightly more specific type, where w ~ a -> b |
2022-07-29 03:10:25 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-07-29 03:10:50 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-07-29 03:11:06 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-07-29 03:13:47 +0200 | xff0x | (~xff0x@ae129043.dynamic.ppp.asahi-net.or.jp) (Ping timeout: 245 seconds) |
2022-07-29 03:14:37 +0200 | <hasbae> | I'm exploring the ghc source repo, and trying to find the file(s) that contain the code for readFile https://hackage.haskell.org/package/base-4.16.3.0/docs/src/System.IO.html#readFile. I've got the latest commit fc23b5ed0f7924308040bf4163fc0a6da176feed from https://gitlab.haskell.org/ghc/ghc.git, but I can't find where readFile is defined. |
2022-07-29 03:14:54 +0200 | hsw | (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) (Remote host closed the connection) |
2022-07-29 03:14:59 +0200 | nerdypepper | (~nerdypepp@user/nerdypepper) (Quit: bye) |
2022-07-29 03:15:31 +0200 | <hasbae> | am i looking in the right place? |
2022-07-29 03:16:14 +0200 | nerdypepper | (~nerdypepp@user/nerdypepper) |
2022-07-29 03:17:14 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-07-29 03:21:30 +0200 | jinsun__ | (~jinsun@user/jinsun) |
2022-07-29 03:21:30 +0200 | jinsun | Guest9702 |
2022-07-29 03:21:30 +0200 | jinsun__ | jinsun |
2022-07-29 03:23:29 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:357f:5f50:899a:d5a4) |
2022-07-29 03:23:50 +0200 | naso | (~naso@193-116-244-197.tpgi.com.au) (Remote host closed the connection) |
2022-07-29 03:24:03 +0200 | Guest9702 | (~jinsun@user/jinsun) (Ping timeout: 244 seconds) |
2022-07-29 03:24:40 +0200 | naso | (~naso@193-116-244-197.tpgi.com.au) |
2022-07-29 03:24:45 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Ping timeout: 268 seconds) |
2022-07-29 03:25:16 +0200 | <albet70> | > join (*) fmap [1..6] |
2022-07-29 03:25:18 +0200 | <lambdabot> | error: |
2022-07-29 03:25:18 +0200 | <lambdabot> | • Couldn't match type ‘[a0]’ with ‘a -> b’ |
2022-07-29 03:25:18 +0200 | <lambdabot> | Expected type: ((a -> b) -> f a -> f b) -> [a0] -> f a -> f b |
2022-07-29 03:25:57 +0200 | <albet70> | > join fmap (*) [1..6] |
2022-07-29 03:25:59 +0200 | <lambdabot> | error: |
2022-07-29 03:25:59 +0200 | <lambdabot> | • Couldn't match type ‘[a]’ with ‘[a] -> [a]’ |
2022-07-29 03:25:59 +0200 | <lambdabot> | Expected type: ([a] -> [a] -> [a]) -> [a] -> [a] |
2022-07-29 03:26:01 +0200 | <byorgey> | hasbae: I think there is a separate repo for the base package somewhere |
2022-07-29 03:26:25 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-07-29 03:26:41 +0200 | <byorgey> | oh, never mind, https://hackage.haskell.org/package/base suggests it is in that repo under libraries/base |
2022-07-29 03:26:49 +0200 | califax | (~califax@user/califx) |
2022-07-29 03:27:24 +0200 | <byorgey> | hasbae: https://gitlab.haskell.org/ghc/ghc/-/blob/master/libraries/base/System/IO.hs#L340 |
2022-07-29 03:27:43 +0200 | <albet70> | what's the scenario join used for? |
2022-07-29 03:27:45 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-07-29 03:29:12 +0200 | naso | (~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 245 seconds) |
2022-07-29 03:29:31 +0200 | dknite | (~dknite@49.37.45.188) (Read error: Connection reset by peer) |
2022-07-29 03:29:44 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-07-29 03:30:00 +0200 | naso | (~naso@193-116-244-197.tpgi.com.au) |
2022-07-29 03:30:41 +0200 | <hasbae> | byorgey: now i've found it, thanks! |
2022-07-29 03:32:27 +0200 | dknite | (~dknite@223.191.52.173) |
2022-07-29 03:32:50 +0200 | <byorgey> | happy to help! |
2022-07-29 03:33:36 +0200 | <albet70> | > join (fmap (+)) [1..6] |
2022-07-29 03:33:38 +0200 | <lambdabot> | error: |
2022-07-29 03:33:38 +0200 | <lambdabot> | • Couldn't match type ‘[a0]’ with ‘[a0] -> a’ |
2022-07-29 03:33:38 +0200 | <lambdabot> | Expected type: [a0] -> [a0] -> a -> a |
2022-07-29 03:34:37 +0200 | <Haskelytic> | albet70: what are you trying to do? |
2022-07-29 03:35:05 +0200 | k8yun__ | (~k8yun@user/k8yun) |
2022-07-29 03:35:10 +0200 | <albet70> | I'd like to which scenario join would use for |
2022-07-29 03:35:30 +0200 | <albet70> | please help |
2022-07-29 03:35:45 +0200 | <Axman6> | > join ["hello",", world!" |
2022-07-29 03:35:47 +0200 | <lambdabot> | <hint>:1:25: error: |
2022-07-29 03:35:47 +0200 | <lambdabot> | parse error (possibly incorrect indentation or mismatched brackets) |
2022-07-29 03:35:47 +0200 | <hasbae> | when there's an import like "import Data.ByteString.Lazy", does the name with the dots between it correspond to some directory path like <some dir>/Data/ByteString/Lazy? |
2022-07-29 03:35:52 +0200 | <Axman6> | > join (+) 7 |
2022-07-29 03:35:54 +0200 | <lambdabot> | 14 |
2022-07-29 03:35:57 +0200 | <Axman6> | > join ["hello",", world!'] |
2022-07-29 03:35:59 +0200 | <lambdabot> | <hint>:1:26: error: |
2022-07-29 03:35:59 +0200 | <lambdabot> | lexical error in string/character literal at end of input |
2022-07-29 03:36:03 +0200 | <Axman6> | > join ["hello",", world!"] |
2022-07-29 03:36:05 +0200 | <lambdabot> | "hello, world!" |
2022-07-29 03:36:05 +0200 | k8yun__ | (~k8yun@user/k8yun) (Remote host closed the connection) |
2022-07-29 03:36:10 +0200 | <Haskelytic> | :t join |
2022-07-29 03:36:11 +0200 | <lambdabot> | Monad m => m (m a) -> m a |
2022-07-29 03:36:17 +0200 | <Axman6> | > join (Just (Just 7)) |
2022-07-29 03:36:19 +0200 | <lambdabot> | Just 7 |
2022-07-29 03:36:24 +0200 | <Axman6> | > join (Just Nothing) |
2022-07-29 03:36:26 +0200 | <lambdabot> | Nothing |
2022-07-29 03:36:42 +0200 | <Haskelytic> | join combines monadic contexts |
2022-07-29 03:36:54 +0200 | <Haskelytic> | `m (m a)` goes to `m a` |
2022-07-29 03:37:13 +0200 | <Haskelytic> | so for list it takes `[[a]]` to `[a] |
2022-07-29 03:37:32 +0200 | king_gs | (~Thunderbi@2806:103e:29:a1b3:d33d:90f:3255:af90) |
2022-07-29 03:37:33 +0200 | <Haskelytic> | i.e. concatentation |
2022-07-29 03:37:56 +0200 | <Haskelytic> | for `Maybe` it takes `Maybe (Maybe a)` to `Maybe a` |
2022-07-29 03:38:14 +0200 | <Axman6> | for functions, it takes a -> a -> b to a -> b |
2022-07-29 03:38:34 +0200 | <jackdk> | hasbae: `Data/ByteString/Lazy.hs`. If you want the ancient source: http://web.archive.org/web/20100703071858/http://www.haskell.org/hierarchical-modules/hier.pdf |
2022-07-29 03:39:18 +0200 | <albet70> | > join (*) <$> [1..6] |
2022-07-29 03:39:19 +0200 | <lambdabot> | [1,4,9,16,25,36] |
2022-07-29 03:40:28 +0200 | <albet70> | join (*) <$> x == join ((*) <$>) x? |
2022-07-29 03:40:40 +0200 | lys | (~lys@user/lys) |
2022-07-29 03:40:56 +0200 | <albet70> | i don't understand the syntax here |
2022-07-29 03:41:05 +0200 | <hasbae> | jackdk: are you implying that it's deprecated, ie no longer part of Base? |
2022-07-29 03:41:18 +0200 | <Haskelytic> | @albet |
2022-07-29 03:41:18 +0200 | <lambdabot> | Maybe you meant: let leet |
2022-07-29 03:41:25 +0200 | <hasbae> | as in why do I need to look at ancient source to find it |
2022-07-29 03:41:26 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 03:41:38 +0200 | <Haskelytic> | albet70: the first one creates a squaring function basically |
2022-07-29 03:41:43 +0200 | <Haskelytic> | :t (*) |
2022-07-29 03:41:44 +0200 | <lambdabot> | Num a => a -> a -> a |
2022-07-29 03:41:47 +0200 | <Haskelytic> | :t join (*) |
2022-07-29 03:41:48 +0200 | <lambdabot> | Num a => a -> a |
2022-07-29 03:42:04 +0200 | <Haskelytic> | the monad here is `(->) a` |
2022-07-29 03:42:39 +0200 | <Haskelytic> | so `(*)` can be seen as `(->) a ( (->) a a )` |
2022-07-29 03:43:06 +0200 | <Haskelytic> | running `join (*)` collapses the monad `m = (->) a` part |
2022-07-29 03:44:45 +0200 | <hasbae> | if so, that's a good explanation for why I can't find it in the current repo. Possibly a hidden danger of reading blog posts from 2014 |
2022-07-29 03:45:15 +0200 | <jackdk> | hasbae: It's been this way for so long (e.g., GHC5) that nobody keeps the spec around anymore except wayback, apparently |
2022-07-29 03:45:18 +0200 | <Axman6> | base IIRC has been split into several smaller packages these days |
2022-07-29 03:45:39 +0200 | <jackdk> | to be clear, this is the layout that we still use. |
2022-07-29 03:46:25 +0200 | <albet70> | join (*) <$> x == ( join (*)) <$> x == liftM2 (*) x x? |
2022-07-29 03:47:29 +0200 | cirilla | (sid194105@user/lys) |
2022-07-29 03:47:44 +0200 | king_gs | (~Thunderbi@2806:103e:29:a1b3:d33d:90f:3255:af90) (Quit: king_gs) |
2022-07-29 03:50:17 +0200 | <hasbae> | > import Data.ByteString.Lazy |
2022-07-29 03:50:19 +0200 | <lambdabot> | <hint>:1:1: error: parse error on input ‘import’ |
2022-07-29 03:50:25 +0200 | <hasbae> | import Data.ByteString.Lazy |
2022-07-29 03:50:31 +0200 | <hasbae> | :i readFile |
2022-07-29 03:52:52 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-07-29 03:53:13 +0200 | califax | (~califax@user/califx) |
2022-07-29 03:53:32 +0200 | <Haskelytic> | albet70: `liftM2 (*) x x` lifts `(*)` into the list `[]` monad, so you don't get the same behavior as `join (*) <$> x`, which is using the function monad |
2022-07-29 03:53:49 +0200 | <hasbae> | I don't understand how readFile is defined in System.IO, yet I can import it with Data.ByteString.Lazy |
2022-07-29 03:54:30 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2022-07-29 03:55:37 +0200 | <jackdk> | because there's also a readFile defined in that module. |
2022-07-29 03:56:54 +0200 | <hasbae> | ok, different readFiles |
2022-07-29 03:57:19 +0200 | <hasbae> | where is the module Data.ByteString.Lazy defined? |
2022-07-29 03:58:53 +0200 | <hasbae> | is it not part of Base, and that's why I don't see it in the Base repo? |
2022-07-29 03:59:42 +0200 | <hasbae> | must be it, it has its own repo https://github.com/haskell/bytestring |
2022-07-29 04:00:13 +0200 | dcoutts__ | (~duncan@host86-150-41-142.range86-150.btcentralplus.com) (Remote host closed the connection) |
2022-07-29 04:00:21 +0200 | dcoutts | (~duncan@host86-150-41-142.range86-150.btcentralplus.com) (Remote host closed the connection) |
2022-07-29 04:00:37 +0200 | dcoutts__ | (~duncan@host86-150-41-142.range86-150.btcentralplus.com) |
2022-07-29 04:00:43 +0200 | dcoutts | (~duncan@host86-150-41-142.range86-150.btcentralplus.com) |
2022-07-29 04:01:43 +0200 | <hasbae> | note to self: next time just read the hackage page |
2022-07-29 04:01:45 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 268 seconds) |
2022-07-29 04:02:58 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-07-29 04:03:26 +0200 | zaquest | (~notzaques@5.130.79.72) (Remote host closed the connection) |
2022-07-29 04:05:17 +0200 | cbdlt^ | (~cbdlt@50-242-35-142-static.hfc.comcastbusiness.net) |
2022-07-29 04:06:35 +0200 | enemeth79 | (uid309041@id-309041.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2022-07-29 04:07:21 +0200 | enemeth79 | (uid309041@id-309041.lymington.irccloud.com) |
2022-07-29 04:07:30 +0200 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-07-29 04:08:27 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 268 seconds) |
2022-07-29 04:12:59 +0200 | gurkenglas | (~gurkengla@p548ac71b.dip0.t-ipconnect.de) |
2022-07-29 04:13:33 +0200 | naso | (~naso@193-116-244-197.tpgi.com.au) () |
2022-07-29 04:14:49 +0200 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2022-07-29 04:16:27 +0200 | cbdlt^ | (~cbdlt@50-242-35-142-static.hfc.comcastbusiness.net) (Ping timeout: 252 seconds) |
2022-07-29 04:17:51 +0200 | lys | (~lys@user/lys) (Ping timeout: 276 seconds) |
2022-07-29 04:21:56 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-07-29 04:23:32 +0200 | califax | (~califax@user/califx) |
2022-07-29 04:23:33 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2022-07-29 04:23:33 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2022-07-29 04:23:33 +0200 | finn_elija | FinnElija |
2022-07-29 04:28:21 +0200 | _xor | (~xor@74.215.182.83) |
2022-07-29 04:33:07 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
2022-07-29 04:34:18 +0200 | alp_ | (~alp@user/alp) (Ping timeout: 244 seconds) |
2022-07-29 04:35:54 +0200 | zaquest | (~notzaques@5.130.79.72) |
2022-07-29 04:37:36 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-07-29 04:38:00 +0200 | cbdlt^ | (~cbdlt@50-242-35-142-static.hfc.comcastbusiness.net) |
2022-07-29 04:43:37 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-07-29 04:46:17 +0200 | td_ | (~td@muedsl-82-207-238-045.citykom.de) (Ping timeout: 245 seconds) |
2022-07-29 04:46:53 +0200 | gurkenglas | (~gurkengla@p548ac71b.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2022-07-29 04:48:06 +0200 | td_ | (~td@muedsl-82-207-238-203.citykom.de) |
2022-07-29 04:48:30 +0200 | hasbae | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) (WeeChat 3.5) |
2022-07-29 04:50:55 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 252 seconds) |
2022-07-29 04:51:04 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-29 04:52:10 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-07-29 04:52:10 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-07-29 04:52:10 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-07-29 04:52:19 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 268 seconds) |
2022-07-29 04:53:19 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-07-29 04:57:51 +0200 | <albet70> | I see, join (*) == \x -> (*) x x |
2022-07-29 04:58:43 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 04:58:47 +0200 | <albet70> | join (*) <$> xs == fmap (\x -> (*) x x) xs |
2022-07-29 05:00:27 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
2022-07-29 05:07:03 +0200 | cbdlt^ | (~cbdlt@50-242-35-142-static.hfc.comcastbusiness.net) (Ping timeout: 252 seconds) |
2022-07-29 05:07:07 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 245 seconds) |
2022-07-29 05:09:10 +0200 | cbdlt^ | (~cbdlt@50-242-35-142-static.hfc.comcastbusiness.net) |
2022-07-29 05:11:19 +0200 | <Haskelytic> | yep |
2022-07-29 05:11:59 +0200 | <albet70> | @djinn ((_1 -> _2) -> a) -> (a -> (_1 -> _2) -> b) -> (_1 -> _2) -> b |
2022-07-29 05:12:00 +0200 | <lambdabot> | Cannot parse command |
2022-07-29 05:12:03 +0200 | <Haskelytic> | it's easier to see why `join (*)` gives you a squaring function if you understand the `(->) a` monad |
2022-07-29 05:12:43 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Remote host closed the connection) |
2022-07-29 05:12:50 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 05:12:57 +0200 | yin | (~yin@user/zero) (Ping timeout: 245 seconds) |
2022-07-29 05:14:05 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Remote host closed the connection) |
2022-07-29 05:14:37 +0200 | yin | (~yin@user/zero) |
2022-07-29 05:14:57 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 05:23:59 +0200 | Vajb | (~Vajb@n1zigc3rgo9mpde2w-1.v6.elisa-mobile.fi) (Read error: Connection reset by peer) |
2022-07-29 05:24:44 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) |
2022-07-29 05:28:22 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 245 seconds) |
2022-07-29 05:30:06 +0200 | <albet70> | that (->) _ is Reader, (->) (_ -> _) is Cont, so I wonder is that all monads can be expressed by (->) form? |
2022-07-29 05:32:56 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds) |
2022-07-29 05:37:17 +0200 | cirilla | (sid194105@user/lys) () |
2022-07-29 05:42:39 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 05:42:53 +0200 | zebrag | (~chris@user/zebrag) (Read error: Connection reset by peer) |
2022-07-29 05:50:09 +0200 | jargon | (~jargon@184.101.188.251) (Remote host closed the connection) |
2022-07-29 05:50:47 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::311d) (Ping timeout: 244 seconds) |
2022-07-29 05:52:14 +0200 | <qrpnxz> | type NotCont a = (? -> ?) -> a |
2022-07-29 05:52:34 +0200 | <qrpnxz> | type Cont r a = (a -> r) -> r |
2022-07-29 05:58:44 +0200 | yin | (~yin@user/zero) (Quit: Lost terminal) |
2022-07-29 06:02:57 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-07-29 06:03:38 +0200 | Vajb | (~Vajb@n1zigc3rgo9mpde2w-1.v6.elisa-mobile.fi) |
2022-07-29 06:04:23 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-07-29 06:06:20 +0200 | <Axman6> | albet70: http://blog.sigfpe.com/2008/12/mother-of-all-monads.html?m=0 |
2022-07-29 06:07:57 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::311d) |
2022-07-29 06:08:10 +0200 | califax | (~califax@user/califx) (Ping timeout: 268 seconds) |
2022-07-29 06:08:43 +0200 | califax | (~califax@user/califx) |
2022-07-29 06:16:35 +0200 | enemeth79 | (uid309041@id-309041.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2022-07-29 06:28:40 +0200 | irfan | (~irfan@user/irfan) |
2022-07-29 06:33:34 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-07-29 06:35:12 +0200 | yauhsien | (~yauhsien@61-231-60-109.dynamic-ip.hinet.net) |
2022-07-29 06:40:48 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-07-29 06:41:33 +0200 | califax | (~califax@user/califx) |
2022-07-29 06:45:02 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-07-29 06:48:10 +0200 | yauhsien | (~yauhsien@61-231-60-109.dynamic-ip.hinet.net) (Ping timeout: 268 seconds) |
2022-07-29 06:51:55 +0200 | mncheck-m | (~mncheck@193.224.205.254) (Read error: Connection reset by peer) |
2022-07-29 06:51:58 +0200 | Haskelytic | (~Haskelyti@118.179.211.17) (Ping timeout: 252 seconds) |
2022-07-29 06:52:39 +0200 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 252 seconds) |
2022-07-29 06:55:34 +0200 | cbdlt^ | (~cbdlt@50-242-35-142-static.hfc.comcastbusiness.net) (Ping timeout: 268 seconds) |
2022-07-29 06:57:16 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 07:01:11 +0200 | Gambino | (~textual@user/polo) |
2022-07-29 07:01:41 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-07-29 07:04:13 +0200 | raym | (~raym@user/raym) |
2022-07-29 07:07:07 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 245 seconds) |
2022-07-29 07:09:23 +0200 | cyphase | (~cyphase@user/cyphase) |
2022-07-29 07:15:20 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 07:16:43 +0200 | Gambino | (~textual@user/polo) (Ping timeout: 272 seconds) |
2022-07-29 07:18:38 +0200 | yin | (~yin@user/zero) |
2022-07-29 07:20:31 +0200 | Haskelytic | (~Haskelyti@118.179.211.17) |
2022-07-29 07:22:10 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 268 seconds) |
2022-07-29 07:24:34 +0200 | <Haskelytic> | `type ReaderT r m a = r -> m a` whereas `type MaybeT m a = m (Maybe a)` |
2022-07-29 07:25:49 +0200 | <Haskelytic> | interesting that ReaderT composes `(->) r` after `m` |
2022-07-29 07:26:15 +0200 | <Haskelytic> | but MaybeT composes `m` after `Maybe` |
2022-07-29 07:26:32 +0200 | bilegeek | (~bilegeek@2600:1008:b009:a40a:238d:fd4d:a133:b04d) (Quit: Leaving) |
2022-07-29 07:29:55 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2022-07-29 07:30:43 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-07-29 07:32:19 +0200 | gmg | (~user@user/gehmehgeh) |
2022-07-29 07:35:13 +0200 | inversed | (~inversed@90.209.137.56) |
2022-07-29 07:35:47 +0200 | Guest3_ | (~textual@pool-100-11-18-203.phlapa.fios.verizon.net) |
2022-07-29 07:36:28 +0200 | jese | (~nikola@178-221-253-164.dynamic.isp.telekom.rs) |
2022-07-29 07:38:34 +0200 | <jese> | i have a wrapper function around a C function, and where the C function accepts const char* the wrapper accepts String. how can i pass NULL to this function through wrapper? |
2022-07-29 07:39:09 +0200 | <c_wraith> | You can't. |
2022-07-29 07:39:16 +0200 | <c_wraith> | You'd need a different wrapper. |
2022-07-29 07:40:21 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-07-29 07:42:53 +0200 | Guest3_ | (~textual@pool-100-11-18-203.phlapa.fios.verizon.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-07-29 07:44:38 +0200 | MajorBiscuit | (~MajorBisc@c-001-028-058.client.tudelft.eduvpn.nl) |
2022-07-29 07:55:23 +0200 | machinedgod | (~machinedg@d172-219-86-154.abhsia.telus.net) |
2022-07-29 07:56:03 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-07-29 07:56:34 +0200 | califax | (~califax@user/califx) |
2022-07-29 08:03:20 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-07-29 08:04:04 +0200 | califax | (~califax@user/califx) |
2022-07-29 08:04:39 +0200 | <Christoph[m]> | <c_wraith> "You'd need a different wrapper." <- Like a wrapper that takes a `Maybe String` and translates `Nothing` into `NULL`? |
2022-07-29 08:04:56 +0200 | <c_wraith> | that would be one approach, yes |
2022-07-29 08:06:46 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2022-07-29 08:07:55 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-07-29 08:09:08 +0200 | mbuf | (~Shakthi@122.165.55.71) |
2022-07-29 08:09:42 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2022-07-29 08:09:43 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2022-07-29 08:10:04 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-07-29 08:10:52 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2022-07-29 08:11:45 +0200 | benin0 | (~benin@183.82.26.87) |
2022-07-29 08:17:31 +0200 | michalz | (~michalz@185.246.204.75) |
2022-07-29 08:19:37 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 245 seconds) |
2022-07-29 08:21:31 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-204.elisa-laajakaista.fi) |
2022-07-29 08:21:48 +0200 | Haskelytic | (~Haskelyti@118.179.211.17) (Ping timeout: 252 seconds) |
2022-07-29 08:25:52 +0200 | chomwitt | (~chomwitt@2a02:587:dc00:5a00:ef54:f708:6c70:62e3) |
2022-07-29 08:30:11 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::311d) (Ping timeout: 272 seconds) |
2022-07-29 08:31:52 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-07-29 08:32:12 +0200 | acidjnk | (~acidjnk@p200300d6e70586975cbe70e1c6972498.dip0.t-ipconnect.de) |
2022-07-29 08:36:10 +0200 | alternateved | (~user@staticline-31-183-144-54.toya.net.pl) |
2022-07-29 08:36:37 +0200 | yvan-sraka | (uid419690@id-419690.lymington.irccloud.com) |
2022-07-29 08:38:56 +0200 | gurkenglas | (~gurkengla@84.138.199.27) |
2022-07-29 08:45:31 +0200 | tcard | (~tcard@p945242-ipngn9701hodogaya.kanagawa.ocn.ne.jp) (Quit: Leaving) |
2022-07-29 08:45:58 +0200 | yauhsien | (~yauhsien@61-231-60-109.dynamic-ip.hinet.net) |
2022-07-29 08:48:41 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 08:50:37 +0200 | tcard | (~tcard@p945242-ipngn9701hodogaya.kanagawa.ocn.ne.jp) |
2022-07-29 08:53:40 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-07-29 08:53:52 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:a442:f89a:164c:a1c) |
2022-07-29 08:54:33 +0200 | sandydoo | (~sandydoo@185.209.196.136) |
2022-07-29 08:54:35 +0200 | <jackdk> | This might have been lost in a scrollback, but is there a settled state-of-the-art binary serialisation library? I am interesting in parsing and tinkering with old game file formats |
2022-07-29 08:54:59 +0200 | shriekingnoise | (~shrieking@186.137.167.202) (Quit: Quit) |
2022-07-29 08:55:09 +0200 | joo-_ | (~joo-_@fsf/member/joo--) (Quit: leaving) |
2022-07-29 08:57:03 +0200 | lemonsni- | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Ping timeout: 268 seconds) |
2022-07-29 08:57:32 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 245 seconds) |
2022-07-29 08:58:28 +0200 | Guest3_ | (~textual@pool-100-11-18-203.phlapa.fios.verizon.net) |
2022-07-29 08:58:47 +0200 | yauhsien | (~yauhsien@61-231-60-109.dynamic-ip.hinet.net) (Ping timeout: 245 seconds) |
2022-07-29 08:58:53 +0200 | <Axman6> | binary gets you long way, cereal also exists |
2022-07-29 08:59:15 +0200 | <jackdk> | I am aware of the existence of both, how do I choose between them? |
2022-07-29 08:59:33 +0200 | <Axman6> | IIRC the main difference was strict vs lazy for the bytestrings |
2022-07-29 08:59:39 +0200 | causal | (~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0e) (Quit: WeeChat 3.5) |
2022-07-29 08:59:54 +0200 | <Axman6> | cborg/serialise did its own thing IIRC |
2022-07-29 09:00:15 +0200 | eod|fserucas_ | (~eod|fseru@83.223.227.100) |
2022-07-29 09:05:28 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 245 seconds) |
2022-07-29 09:09:21 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-07-29 09:10:10 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-29 09:13:16 +0200 | Haskelytic | (~Haskelyti@118.179.211.17) |
2022-07-29 09:13:47 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 245 seconds) |
2022-07-29 09:14:04 +0200 | chele | (~chele@user/chele) |
2022-07-29 09:20:25 +0200 | dknite | (~dknite@223.191.52.173) (Read error: Connection reset by peer) |
2022-07-29 09:20:30 +0200 | acidjnk | (~acidjnk@p200300d6e70586975cbe70e1c6972498.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2022-07-29 09:21:03 +0200 | dknite | (~dknite@203.110.242.103) |
2022-07-29 09:23:59 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-07-29 09:25:11 +0200 | dknite | (~dknite@203.110.242.103) (Ping timeout: 252 seconds) |
2022-07-29 09:25:43 +0200 | dknite | (~dknite@223.191.52.173) |
2022-07-29 09:28:59 +0200 | acidjnk | (~acidjnk@p200300d6e7058697f9c73f5459b42564.dip0.t-ipconnect.de) |
2022-07-29 09:29:08 +0200 | Guest3_ | (~textual@pool-100-11-18-203.phlapa.fios.verizon.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-07-29 09:29:10 +0200 | zeenk | (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) |
2022-07-29 09:31:39 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 09:34:43 +0200 | sandydoo | (~sandydoo@185.209.196.136) (Ping timeout: 252 seconds) |
2022-07-29 09:36:02 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-07-29 09:38:25 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2022-07-29 09:38:46 +0200 | zmt00 | (~zmt00@user/zmt00) (Read error: Connection reset by peer) |
2022-07-29 09:39:28 +0200 | sandydoo | (~sandydoo@185.209.196.136) |
2022-07-29 09:39:33 +0200 | ccntrq | (~Thunderbi@exit-3.office.han.de.mhd.medondo.com) |
2022-07-29 09:39:47 +0200 | zmt00 | (~zmt00@user/zmt00) |
2022-07-29 09:41:27 +0200 | eod|fserucas__ | (~eod|fseru@83.223.227.100) |
2022-07-29 09:41:36 +0200 | JannisO | (~JannisO@dyndsl-089-166-213-108.ewe-ip-backbone.de) |
2022-07-29 09:43:47 +0200 | eod|fserucas_ | (~eod|fseru@83.223.227.100) (Ping timeout: 245 seconds) |
2022-07-29 09:43:53 +0200 | eod|fserucas | (~eod|fseru@83.223.227.100) (Ping timeout: 252 seconds) |
2022-07-29 09:44:19 +0200 | eod|fserucas | (~eod|fseru@83.223.227.100) |
2022-07-29 09:44:54 +0200 | Guest3 | (~textual@pool-100-11-18-203.phlapa.fios.verizon.net) |
2022-07-29 09:48:08 +0200 | jese | (~nikola@178-221-253-164.dynamic.isp.telekom.rs) (Quit: leaving) |
2022-07-29 09:50:27 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 09:52:38 +0200 | nschoe | (~quassel@178.251.84.79) |
2022-07-29 09:54:09 +0200 | naso | (~naso@193-116-244-197.tpgi.com.au) |
2022-07-29 09:56:43 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 252 seconds) |
2022-07-29 09:58:47 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-29 10:00:08 +0200 | Guest3 | (~textual@pool-100-11-18-203.phlapa.fios.verizon.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-07-29 10:00:42 +0200 | vpan | (~0@212.117.1.172) |
2022-07-29 10:01:48 +0200 | comerijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-07-29 10:04:53 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
2022-07-29 10:06:16 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2022-07-29 10:09:00 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-07-29 10:21:19 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2022-07-29 10:21:40 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-07-29 10:23:31 +0200 | crazazy | (~user@130.89.171.62) |
2022-07-29 10:35:06 +0200 | dextaa | (~DV@user/dextaa) (Ping timeout: 268 seconds) |
2022-07-29 10:37:21 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:357f:5f50:899a:d5a4) (Remote host closed the connection) |
2022-07-29 10:37:42 +0200 | alp_ | (~alp@user/alp) |
2022-07-29 10:37:59 +0200 | <albet70> | :t (>>=) @((->)_) |
2022-07-29 10:38:00 +0200 | <lambdabot> | error: parse error on input ‘->’ |
2022-07-29 10:38:09 +0200 | gurkenglas | (~gurkengla@84.138.199.27) (Ping timeout: 252 seconds) |
2022-07-29 10:38:43 +0200 | <albet70> | (>>=) @((->)_) :: (_-> a)->(a -> _ -> b) _ -> b |
2022-07-29 10:39:09 +0200 | <albet70> | (>>=) = \g -> \f -> \x -> f (g x) x |
2022-07-29 10:40:34 +0200 | <albet70> | (>>=) @((->)(_->_)) :: ((_1 -> _2) -> a) -> (a -> (_1 -> _2) -> b) -> (_1 -> _2) -> b |
2022-07-29 10:41:00 +0200 | <albet70> | (>>=) = \g -> \f -> k -> f (g k) k |
2022-07-29 10:41:23 +0200 | <albet70> | why this Read and Cont are same? |
2022-07-29 10:44:18 +0200 | CiaoSen | (~Jura@p200300c9570ffb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-07-29 10:48:57 +0200 | <int-e> | :t They're both Read, there's only theo one Monad instance for (->) r |
2022-07-29 10:48:58 +0200 | <lambdabot> | error: parse error on input ‘,’ |
2022-07-29 10:49:01 +0200 | <int-e> | Err. |
2022-07-29 10:50:58 +0200 | <tomsmeding> | newtype Cont r a = Cont ((a -> r) -> r) |
2022-07-29 10:51:59 +0200 | <tomsmeding> | So (>>=) on Cont r a would have the following type, if we unwrap the newtype: ((a -> r) -> r) -> (a -> (b -> r) -> r) -> (b -> r) -> r |
2022-07-29 10:52:21 +0200 | <tomsmeding> | @djinn ((a -> r) -> r) -> (a -> (b -> r) -> r) -> (b -> r) -> r |
2022-07-29 10:52:21 +0200 | <lambdabot> | f a b c = a (\ d -> b d c) |
2022-07-29 10:52:34 +0200 | ubert | (~Thunderbi@178.115.57.195.wireless.dyn.drei.com) |
2022-07-29 10:52:43 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:357f:5f50:899a:d5a4) |
2022-07-29 10:52:46 +0200 | <tomsmeding> | @djinn (r -> a) -> (a -> r -> b) -> r -> b -- reader |
2022-07-29 10:52:46 +0200 | <lambdabot> | Cannot parse command |
2022-07-29 10:52:58 +0200 | <tomsmeding> | @djinn (r -> a) -> (a -> r -> b) -> r -> b |
2022-07-29 10:52:58 +0200 | <lambdabot> | f a b c = b (a c) c |
2022-07-29 10:53:06 +0200 | <tomsmeding> | Quite different :) |
2022-07-29 10:53:14 +0200 | <tomsmeding> | albet70: ^ |
2022-07-29 10:53:51 +0200 | <int-e> | :t \f g cont -> f (\x -> g x cont) -- those names are a bit better |
2022-07-29 10:53:52 +0200 | <lambdabot> | ((t1 -> t2) -> t3) -> (t1 -> t4 -> t2) -> t4 -> t3 |
2022-07-29 10:54:15 +0200 | <int-e> | (The type really doesn't help though because it's too general) |
2022-07-29 10:54:34 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-07-29 10:55:22 +0200 | <tomsmeding> | "do f, then (in its continuation) do g x, then (in its continuation) do the remainer of the computation" |
2022-07-29 10:56:27 +0200 | naso | (~naso@193-116-244-197.tpgi.com.au) (Remote host closed the connection) |
2022-07-29 10:56:30 +0200 | <int-e> | Anyway, the Cont newtype wrapper isn't just for show, it's required to select a different Monad instance. |
2022-07-29 10:57:12 +0200 | __monty__ | (~toonn@user/toonn) |
2022-07-29 10:57:17 +0200 | yauhsien | (~yauhsien@61-231-60-109.dynamic-ip.hinet.net) |
2022-07-29 10:59:46 +0200 | Guest3 | (~textual@pool-100-11-18-203.phlapa.fios.verizon.net) |
2022-07-29 11:00:10 +0200 | steshaw[m] | (~steshawma@2001:470:69fc:105::1:a963) (Quit: You have been kicked for being idle) |
2022-07-29 11:00:11 +0200 | Las[m] | (~lasmatrix@2001:470:69fc:105::74e) (Quit: You have been kicked for being idle) |
2022-07-29 11:00:25 +0200 | ollenurb[m] | (~ollenurbm@2001:470:69fc:105::2:39d2) (Quit: You have been kicked for being idle) |
2022-07-29 11:01:25 +0200 | naso | (~naso@193-116-244-197.tpgi.com.au) |
2022-07-29 11:01:30 +0200 | cirilla | (sid194105@user/lys) |
2022-07-29 11:02:14 +0200 | JannisO | (~JannisO@dyndsl-089-166-213-108.ewe-ip-backbone.de) (Ping timeout: 268 seconds) |
2022-07-29 11:04:55 +0200 | Guest3 | (~textual@pool-100-11-18-203.phlapa.fios.verizon.net) (Ping timeout: 252 seconds) |
2022-07-29 11:07:52 +0200 | califax | (~califax@user/califx) (Ping timeout: 268 seconds) |
2022-07-29 11:08:30 +0200 | califax | (~califax@user/califx) |
2022-07-29 11:09:38 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-07-29 11:10:06 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-07-29 11:10:06 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2022-07-29 11:10:06 +0200 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2022-07-29 11:10:06 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2022-07-29 11:10:38 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-07-29 11:10:44 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-07-29 11:10:52 +0200 | yauhsien | (~yauhsien@61-231-60-109.dynamic-ip.hinet.net) (Ping timeout: 268 seconds) |
2022-07-29 11:11:05 +0200 | gmg | (~user@user/gehmehgeh) |
2022-07-29 11:11:21 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-07-29 11:13:39 +0200 | alternateved | (~user@staticline-31-183-144-54.toya.net.pl) (Quit: Fading out...) |
2022-07-29 11:13:41 +0200 | dknite | (~dknite@223.191.52.173) (Read error: Connection reset by peer) |
2022-07-29 11:15:06 +0200 | dknite | (~dknite@223.191.52.173) |
2022-07-29 11:17:18 +0200 | dknite | (~dknite@223.191.52.173) (Read error: Connection reset by peer) |
2022-07-29 11:18:16 +0200 | Simon59 | (~Simon@2a02:810d:1540:5e75:e45f:ea67:bf35:add9) |
2022-07-29 11:19:10 +0200 | dknite | (~dknite@223.191.52.173) |
2022-07-29 11:21:25 +0200 | <Simon59> | Dear lovely people. I'm trying to understand when we can use foldl und foldr equally and when not. |
2022-07-29 11:21:25 +0200 | <Simon59> | I know that foldl does not work with endless lists. |
2022-07-29 11:21:26 +0200 | <Simon59> | 1) Why can we instantiate Foldable with BB a and foldlBB here? |
2022-07-29 11:21:26 +0200 | <Simon59> | 2) And why can we implement reverse also with foldl (even though it could be given an endless list? |
2022-07-29 11:21:27 +0200 | <Simon59> | 3) How would the implementation with foldl instead look like? |
2022-07-29 11:21:27 +0200 | <Simon59> | https://paste.tomsmeding.com/KviiLese |
2022-07-29 11:23:01 +0200 | <comerijn> | Simon59: Generally whenever you want foldl, you really want foldl' (i.e. strict foldl) |
2022-07-29 11:23:04 +0200 | <[exa]> | BB is a binary tree right? |
2022-07-29 11:23:20 +0200 | <Simon59> | Yes |
2022-07-29 11:23:38 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 11:23:39 +0200 | <comerijn> | Simon59: But do you know *why* foldl does not work with endless lists? |
2022-07-29 11:23:48 +0200 | comerijn | merijn |
2022-07-29 11:23:48 +0200 | alternateved | (~user@staticline-31-183-144-54.toya.net.pl) |
2022-07-29 11:24:12 +0200 | <Simon59> | comerijn I see, however we were not really dealing with foldl' in university. |
2022-07-29 11:24:13 +0200 | <Simon59> | Because it would just fold endlessly? |
2022-07-29 11:24:18 +0200 | <merijn> | > foldr f z [a,b,c] |
2022-07-29 11:24:20 +0200 | <lambdabot> | f a (f b (f c z)) |
2022-07-29 11:24:23 +0200 | <[exa]> | Simon59: in that case the difference between foldr and foldl is basically none (the tree can be infinite to the left just as weel to the right) |
2022-07-29 11:24:25 +0200 | <merijn> | > foldl f z [a,b,c] |
2022-07-29 11:24:26 +0200 | <lambdabot> | f (f (f z a) b) c |
2022-07-29 11:24:43 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:357f:5f50:899a:d5a4) (Remote host closed the connection) |
2022-07-29 11:25:01 +0200 | <merijn> | Simon59: Compare those two outputs and really ponder what it means in a context of lazy evaluation (i.e. when does/doesn't 'f' force its result, and how does that affect the traversal?) |
2022-07-29 11:25:06 +0200 | <Simon59> | [exa]so why would foldl work then? |
2022-07-29 11:26:01 +0200 | <[exa]> | Simon59: a typical list would be isomorphic to a BB that only has the "right" branches. You can see there that foldl can still break because it tries to reach that right branch, but foldr can process the root and decide to quit. |
2022-07-29 11:26:43 +0200 | <[exa]> | Simon59: you can make a helper function: flipBB L=L; flipBB K l x r = K (flipBB r) x (flipBB r) |
2022-07-29 11:27:03 +0200 | <[exa]> | foldr and foldl on your BB tree are the same if you flip the BB via this |
2022-07-29 11:27:50 +0200 | <[exa]> | (whoops there's a typo in the definition, last 'r' should be 'l') |
2022-07-29 11:27:58 +0200 | <[exa]> | (but I hope the intuition there is clear) |
2022-07-29 11:28:05 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
2022-07-29 11:28:07 +0200 | <Simon59> | Yes |
2022-07-29 11:28:43 +0200 | coco | (~coco@212-51-146-199.fiber7.init7.net) |
2022-07-29 11:29:26 +0200 | <Simon59> | I'm also wondering about that one. |
2022-07-29 11:29:26 +0200 | <Simon59> | Prof says here that there cannot be an instance of Foldable exclusively with foldlBB. Why? |
2022-07-29 11:29:27 +0200 | <Simon59> | https://paste.tomsmeding.com/DHNTZNVc |
2022-07-29 11:29:45 +0200 | <Simon59> | (Ah, it's just the same one) |
2022-07-29 11:30:02 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 245 seconds) |
2022-07-29 11:31:02 +0200 | <Simon59> | I mean, what else is missing that I can instantiate Foldable? |
2022-07-29 11:31:03 +0200 | <Simon59> | Wouldn't ist just be: |
2022-07-29 11:31:03 +0200 | <Simon59> | instance Foldable BB where |
2022-07-29 11:31:04 +0200 | <Simon59> | foldr = foldlBB? |
2022-07-29 11:31:11 +0200 | <[exa]> | what does "exclusively with foldlBB" mean? |
2022-07-29 11:32:19 +0200 | <Simon59> | These were pretty much the words he used: Is it possible to create a Haskell type of type class Foldable from type BB using only the function foldlBB? |
2022-07-29 11:32:19 +0200 | <Simon59> | type of the type class Foldable? |
2022-07-29 11:32:21 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-07-29 11:33:10 +0200 | <Simon59> | And the answer is apprently: no |
2022-07-29 11:33:25 +0200 | <[exa]> | ah so, good question. I'd say no but you probably want some kind of proof/counter-example right? |
2022-07-29 11:34:26 +0200 | <[exa]> | can you make a BB where foldlBB fails but `foldr` from Foldable should work? |
2022-07-29 11:35:53 +0200 | dknite | (~dknite@223.191.52.173) (Read error: Connection reset by peer) |
2022-07-29 11:36:19 +0200 | <Simon59> | Hmm |
2022-07-29 11:36:27 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 252 seconds) |
2022-07-29 11:36:39 +0200 | dknite | (~dknite@223.191.52.173) |
2022-07-29 11:37:19 +0200 | <Simon59> | The thing that confuses me is that at one point he says it is possible but at another point he says it is NOT possible using ONLY foldlBB. Maybe I get the question wrong. |
2022-07-29 11:37:20 +0200 | <Simon59> | It implies that to do it there is something else requiered. But what? |
2022-07-29 11:37:39 +0200 | <Simon59> | Perhaps also there is a mistake in the solution, I don't know |
2022-07-29 11:38:13 +0200 | <[exa]> | there might be some additional intuition here: https://wiki.haskell.org/Typeclassopedia#Foldable |
2022-07-29 11:39:32 +0200 | <Simon59> | Thanks |
2022-07-29 11:40:14 +0200 | CiaoSen | (~Jura@p200300c9570ffb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Quit: CiaoSen) |
2022-07-29 11:40:48 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 11:41:04 +0200 | <[exa]> | the main intuition there is that with Foldable you should be able to implement `toList` and `toList` gives you a direct way to implement a Foldable. So you may reduce your problem to finding a tree where foldlBB can't be used to convert the tree to a list |
2022-07-29 11:43:06 +0200 | naso | (~naso@193-116-244-197.tpgi.com.au) () |
2022-07-29 11:44:12 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds) |
2022-07-29 11:44:28 +0200 | <Simon59> | Thanks [exa]! |
2022-07-29 11:44:31 +0200 | Simon59 | (~Simon@2a02:810d:1540:5e75:e45f:ea67:bf35:add9) (Quit: Client closed) |
2022-07-29 11:44:37 +0200 | crazazy | (~user@130.89.171.62) (Ping timeout: 245 seconds) |
2022-07-29 11:48:19 +0200 | JannisO | (~JannisO@dyndsl-089-166-213-108.ewe-ip-backbone.de) |
2022-07-29 11:49:01 +0200 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2022-07-29 11:49:48 +0200 | noteness | (~noteness@user/noteness) (Ping timeout: 268 seconds) |
2022-07-29 11:50:16 +0200 | mncheck-m | (~mncheck@193.224.205.254) |
2022-07-29 11:50:33 +0200 | noteness | (~noteness@user/noteness) |
2022-07-29 11:52:59 +0200 | crazazy | (~user@130.89.171.62) |
2022-07-29 11:53:11 +0200 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2022-07-29 11:53:57 +0200 | gmg | (~user@user/gehmehgeh) |
2022-07-29 11:58:17 +0200 | noteness | (~noteness@user/noteness) (Remote host closed the connection) |
2022-07-29 11:58:39 +0200 | noteness | (~noteness@user/noteness) |
2022-07-29 11:58:48 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-07-29 11:58:55 +0200 | JannisO | (~JannisO@dyndsl-089-166-213-108.ewe-ip-backbone.de) (Ping timeout: 260 seconds) |
2022-07-29 12:06:53 +0200 | MajorBiscuit | (~MajorBisc@c-001-028-058.client.tudelft.eduvpn.nl) (Ping timeout: 252 seconds) |
2022-07-29 12:10:16 +0200 | odnes | (~odnes@93-41-2-148.ip79.fastwebnet.it) |
2022-07-29 12:13:55 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-07-29 12:15:19 +0200 | odnes | (~odnes@93-41-2-148.ip79.fastwebnet.it) (Ping timeout: 252 seconds) |
2022-07-29 12:16:45 +0200 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2022-07-29 12:17:38 +0200 | gmg | (~user@user/gehmehgeh) |
2022-07-29 12:19:28 +0200 | noteness | (~noteness@user/noteness) (Remote host closed the connection) |
2022-07-29 12:19:28 +0200 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2022-07-29 12:19:55 +0200 | noteness | (~noteness@user/noteness) |
2022-07-29 12:20:22 +0200 | gmg | (~user@user/gehmehgeh) |
2022-07-29 12:22:59 +0200 | TonyStone | (~TonyStone@2603-7080-8607-c36a-504e-f5c6-7318-fada.res6.spectrum.com) (Ping timeout: 255 seconds) |
2022-07-29 12:24:44 +0200 | Pickchea | (~private@user/pickchea) |
2022-07-29 12:25:08 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:357f:5f50:899a:d5a4) |
2022-07-29 12:27:20 +0200 | nschoe | (~quassel@178.251.84.79) (Ping timeout: 268 seconds) |
2022-07-29 12:28:13 +0200 | cirilla | (sid194105@user/lys) () |
2022-07-29 12:29:39 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:357f:5f50:899a:d5a4) (Ping timeout: 244 seconds) |
2022-07-29 12:31:44 +0200 | dvdrw | (~dvdrw@user/dvdrw) |
2022-07-29 12:31:51 +0200 | chomwitt | (~chomwitt@2a02:587:dc00:5a00:ef54:f708:6c70:62e3) (Ping timeout: 276 seconds) |
2022-07-29 12:33:35 +0200 | gurkenglas | (~gurkengla@p548ac71b.dip0.t-ipconnect.de) |
2022-07-29 12:35:35 +0200 | TonyStone | (~TonyStone@2603-7080-8607-c36a-d0dd-a126-3a7b-298c.res6.spectrum.com) |
2022-07-29 12:37:48 +0200 | <Haskelytic> | `type role ReaderT representational representational nominal` |
2022-07-29 12:38:12 +0200 | <Haskelytic> | I got this after running `:i ReaderT` (ghci) on my own ReaderT implementation |
2022-07-29 12:38:27 +0200 | <Haskelytic> | `newtype ReaderT r m a = ReaderT { runReaderT :: r -> m a }` |
2022-07-29 12:38:42 +0200 | <Haskelytic> | never seen that first line before, what does it mean? |
2022-07-29 12:38:53 +0200 | nschoe | (~quassel@178.251.84.79) |
2022-07-29 12:42:42 +0200 | <_________> | I don't know, but here's the link: https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/roles.html |
2022-07-29 12:43:27 +0200 | <[Leary]> | Haskelytic: In short, it means (Coercible r1 r2, Coercible m1 m2) => Coercible (ReaderT r1 m1 a) (ReaderT r2 m2 a) |
2022-07-29 12:43:55 +0200 | <[Leary]> | See Data.Coerce in base. |
2022-07-29 12:44:26 +0200 | <[Leary]> | Note that it can't coerce over `a` because it doesn't know the type roles for `m`. |
2022-07-29 12:45:02 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 245 seconds) |
2022-07-29 12:48:19 +0200 | <albet70> | tomsmeding, :t (>>=) @((->)(_->_)) isn't right for Cont? |
2022-07-29 12:48:44 +0200 | <albet70> | (>>=) @((->)(_->_)) :: ((_1 -> _2) -> a) -> (a -> (_1 -> _2) -> b) -> (_1 -> _2) -> b |
2022-07-29 12:49:18 +0200 | <albet70> | yours ((a -> r) -> r) -> (a -> (b -> r) -> r) -> (b -> r) -> r |
2022-07-29 12:49:26 +0200 | <albet70> | it's not the same |
2022-07-29 12:52:29 +0200 | irfan | (~irfan@user/irfan) (Quit: leaving) |
2022-07-29 12:52:39 +0200 | alp_ | (~alp@user/alp) (Ping timeout: 276 seconds) |
2022-07-29 12:55:15 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 276 seconds) |
2022-07-29 12:58:51 +0200 | Lycurgus | (~juan@user/Lycurgus) |
2022-07-29 13:00:01 +0200 | <Lycurgus> | the last sentence of https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/roles.html is telling |
2022-07-29 13:00:29 +0200 | <Lycurgus> | particularly the lack of attention to detail reflected in the typo |
2022-07-29 13:06:53 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 13:08:22 +0200 | MajorBiscuit | (~MajorBisc@wlan-145-94-167-213.wlan.tudelft.nl) |
2022-07-29 13:08:54 +0200 | yauhsien | (~yauhsien@61-231-60-109.dynamic-ip.hinet.net) |
2022-07-29 13:11:30 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-07-29 13:16:41 +0200 | zxx7529 | (~Thunderbi@user/zxx7529) |
2022-07-29 13:18:43 +0200 | Lycurgus | (~juan@user/Lycurgus) (Quit: Exeunt juan@acm.org) |
2022-07-29 13:21:19 +0200 | yauhsien | (~yauhsien@61-231-60-109.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
2022-07-29 13:24:28 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 13:29:37 +0200 | chele | (~chele@user/chele) (Ping timeout: 245 seconds) |
2022-07-29 13:29:48 +0200 | zxx7529 | (~Thunderbi@user/zxx7529) (Remote host closed the connection) |
2022-07-29 13:30:01 +0200 | zxx7529 | (~Thunderbi@user/zxx7529) |
2022-07-29 13:30:31 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2022-07-29 13:33:47 +0200 | mncheck-m | (~mncheck@193.224.205.254) (Ping timeout: 245 seconds) |
2022-07-29 13:34:31 +0200 | mncheck-m | (~mncheck@193.224.205.254) |
2022-07-29 13:35:56 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-07-29 13:36:23 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2022-07-29 13:36:23 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2022-07-29 13:36:23 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Read error: Connection reset by peer) |
2022-07-29 13:36:23 +0200 | gmg | (~user@user/gehmehgeh) (Read error: Connection reset by peer) |
2022-07-29 13:36:23 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Read error: Connection reset by peer) |
2022-07-29 13:36:23 +0200 | califax | (~califax@user/califx) (Write error: Connection reset by peer) |
2022-07-29 13:36:49 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-07-29 13:37:06 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-07-29 13:37:12 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-07-29 13:37:17 +0200 | califax | (~califax@user/califx) |
2022-07-29 13:37:19 +0200 | gmg | (~user@user/gehmehgeh) |
2022-07-29 13:40:30 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2022-07-29 13:42:17 +0200 | chele | (~chele@user/chele) |
2022-07-29 13:43:04 +0200 | <tomsmeding> | albet70: no, (_1 -> _2) -> a is not the same as (a -> r) -> r |
2022-07-29 13:43:24 +0200 | <tomsmeding> | The 'a' is in a different position |
2022-07-29 13:43:41 +0200 | crazazy | (~user@130.89.171.62) (Ping timeout: 252 seconds) |
2022-07-29 13:43:56 +0200 | alp_ | (~alp@user/alp) |
2022-07-29 13:44:18 +0200 | <tomsmeding> | (->) (_ -> _) is a special case of the reader monad, (->) r, where reader context value is a function |
2022-07-29 13:46:39 +0200 | Haskelytic | (~Haskelyti@118.179.211.17) (Quit: Client closed) |
2022-07-29 13:47:00 +0200 | Haskelytic | (~Haskelyti@118.179.211.17) |
2022-07-29 13:47:16 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-07-29 13:52:02 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-07-29 13:52:06 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2022-07-29 13:52:20 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-07-29 13:54:56 +0200 | arjun | (~arjun@user/arjun) |
2022-07-29 13:54:58 +0200 | Guest3_ | (~textual@pool-100-11-18-203.phlapa.fios.verizon.net) |
2022-07-29 13:54:59 +0200 | cbdlt^ | (~cbdlt@50-242-35-142-static.hfc.comcastbusiness.net) |
2022-07-29 13:55:38 +0200 | crazazy | (~user@130.89.171.62) |
2022-07-29 13:56:44 +0200 | zxx7529 | (~Thunderbi@user/zxx7529) (Remote host closed the connection) |
2022-07-29 13:56:57 +0200 | zxx7529 | (~Thunderbi@user/zxx7529) |
2022-07-29 13:58:51 +0200 | Guest3_ | (~textual@pool-100-11-18-203.phlapa.fios.verizon.net) (Client Quit) |
2022-07-29 14:00:56 +0200 | zxx7529 | (~Thunderbi@user/zxx7529) (Remote host closed the connection) |
2022-07-29 14:01:09 +0200 | zxx7529 | (~Thunderbi@user/zxx7529) |
2022-07-29 14:03:52 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2022-07-29 14:05:39 +0200 | ridcully_ | (~ridcully@p508ac7ad.dip0.t-ipconnect.de) |
2022-07-29 14:06:37 +0200 | ridcully | (~ridcully@pd951fca3.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2022-07-29 14:06:42 +0200 | Guest3_ | (~textual@pool-100-11-18-203.phlapa.fios.verizon.net) |
2022-07-29 14:06:52 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-07-29 14:08:16 +0200 | <albet70> | then what's the proper way to show >>= type for Cont with @ type application? |
2022-07-29 14:09:01 +0200 | dextaa | (~DV@user/dextaa) |
2022-07-29 14:11:42 +0200 | mncheck | (~mncheck@193.224.205.254) (Remote host closed the connection) |
2022-07-29 14:11:42 +0200 | mncheck-m | (~mncheck@193.224.205.254) (Remote host closed the connection) |
2022-07-29 14:11:42 +0200 | mncheckm | (~mncheck@193.224.205.254) (Remote host closed the connection) |
2022-07-29 14:13:12 +0200 | xff0x | (~xff0x@2405:6580:b080:900:dd91:5944:95b9:3d1c) |
2022-07-29 14:15:52 +0200 | hosk1 | (~goober@90-231-13-185-no3430.tbcn.telia.com) (Ping timeout: 268 seconds) |
2022-07-29 14:18:21 +0200 | yauhsien | (~yauhsien@61-231-60-109.dynamic-ip.hinet.net) |
2022-07-29 14:18:22 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds) |
2022-07-29 14:19:31 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-07-29 14:20:31 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2022-07-29 14:22:12 +0200 | arjun | (~arjun@user/arjun) (Remote host closed the connection) |
2022-07-29 14:22:37 +0200 | arjun | (~arjun@user/arjun) |
2022-07-29 14:27:23 +0200 | hueso | (~root@user/hueso) (Ping timeout: 272 seconds) |
2022-07-29 14:27:33 +0200 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
2022-07-29 14:29:00 +0200 | jespada | (~jespada@181.80.249.105) (Ping timeout: 244 seconds) |
2022-07-29 14:30:52 +0200 | yauhsien | (~yauhsien@61-231-60-109.dynamic-ip.hinet.net) (Ping timeout: 245 seconds) |
2022-07-29 14:30:55 +0200 | dknite | (~dknite@223.191.52.173) (Read error: Connection reset by peer) |
2022-07-29 14:31:12 +0200 | dknite | (~dknite@203.110.242.43) |
2022-07-29 14:32:43 +0200 | jespada | (~jespada@45.162.228.187) |
2022-07-29 14:34:10 +0200 | hueso | (~root@user/hueso) |
2022-07-29 14:35:27 +0200 | dknite | (~dknite@203.110.242.43) (Ping timeout: 245 seconds) |
2022-07-29 14:36:03 +0200 | dknite | (~dknite@223.191.52.173) |
2022-07-29 14:36:11 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-07-29 14:40:52 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Remote host closed the connection) |
2022-07-29 14:41:51 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 14:42:59 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Remote host closed the connection) |
2022-07-29 14:44:07 +0200 | JannisO | (~JannisO@dyndsl-089-166-213-108.ewe-ip-backbone.de) |
2022-07-29 14:44:19 +0200 | jpds1 | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds) |
2022-07-29 14:45:06 +0200 | jpds1 | (~jpds@gateway/tor-sasl/jpds) |
2022-07-29 14:46:50 +0200 | crazazy` | (~user@2001:67c:2564:a307:6d3:b0ff:fef1:40aa) |
2022-07-29 14:47:39 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 272 seconds) |
2022-07-29 14:48:22 +0200 | crazazy | (~user@130.89.171.62) (Ping timeout: 245 seconds) |
2022-07-29 14:49:18 +0200 | crazazy` | (~user@2001:67c:2564:a307:6d3:b0ff:fef1:40aa) (Remote host closed the connection) |
2022-07-29 14:49:39 +0200 | crazazy` | (~user@2001:67c:2564:a307:9deb:8eb4:a8aa:cab2) |
2022-07-29 14:50:46 +0200 | cirilla | (sid194105@id-194105.uxbridge.irccloud.com) |
2022-07-29 14:51:09 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 252 seconds) |
2022-07-29 14:51:14 +0200 | Guest3_ | (~textual@pool-100-11-18-203.phlapa.fios.verizon.net) (Quit: Textual IRC Client: www.textualapp.com) |
2022-07-29 14:51:15 +0200 | cirilla | (sid194105@id-194105.uxbridge.irccloud.com) (Changing host) |
2022-07-29 14:51:15 +0200 | cirilla | (sid194105@user/lys) |
2022-07-29 14:51:50 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 14:52:31 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-07-29 14:53:04 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-29 14:54:50 +0200 | acidjnk | (~acidjnk@p200300d6e7058697f9c73f5459b42564.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2022-07-29 14:56:23 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-07-29 14:57:53 +0200 | jpds1 | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2022-07-29 14:58:18 +0200 | jpds1 | (~jpds@gateway/tor-sasl/jpds) |
2022-07-29 14:58:59 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2022-07-29 14:59:15 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-07-29 15:00:20 +0200 | crazazy`` | (~user@130.89.171.62) |
2022-07-29 15:01:38 +0200 | crazazy` | (~user@2001:67c:2564:a307:9deb:8eb4:a8aa:cab2) (Ping timeout: 240 seconds) |
2022-07-29 15:02:26 +0200 | notzmv | (~zmv@user/notzmv) |
2022-07-29 15:02:58 +0200 | <onosendi> | sm: thanks for the info, at a quick glance these look to be really good. |
2022-07-29 15:06:13 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2022-07-29 15:07:02 +0200 | <sm> | no problem.. which info was that ? |
2022-07-29 15:07:08 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-07-29 15:09:13 +0200 | <sm> | that aarch64-osx/1792f58b94d2366b0239966600cb4a8553d2937527e1b0c8b86822d2c4d84ec5/9.2.2/pkgdb is the same one shown by stack exec -- ghc-pkg list. The latter shows `hledger-1.26.99` installed, but the runghc error mentions `hledger-1.26.99-inplace`. I wonder if that's significant |
2022-07-29 15:09:43 +0200 | <sm> | sorry, mispaste |
2022-07-29 15:10:02 +0200 | acidjnk | (~acidjnk@p200300d6e7058697f9c73f5459b42564.dip0.t-ipconnect.de) |
2022-07-29 15:10:59 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 15:13:04 +0200 | <tomsmeding> | % import Control.Monad.Cont |
2022-07-29 15:13:04 +0200 | <yahb2> | <no output> |
2022-07-29 15:13:07 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2022-07-29 15:13:14 +0200 | <tomsmeding> | % :set -XTypeApplications |
2022-07-29 15:13:14 +0200 | <yahb2> | <no output> |
2022-07-29 15:13:29 +0200 | <tomsmeding> | % :t (>>=) @(Cont _) -- albet70 |
2022-07-29 15:13:29 +0200 | <yahb2> | (>>=) @(Cont _) -- albet70 ; :: Cont _ a -> (a -> Cont _ b) -> Cont _ b |
2022-07-29 15:13:49 +0200 | <tomsmeding> | Then you have to manually unfold Cont |
2022-07-29 15:14:18 +0200 | <tomsmeding> | The reason why you can't do better than this, is that (a -> r) -> r cannot be written as 'f a' for some 'f' |
2022-07-29 15:14:50 +0200 | <tomsmeding> | On the value level, you would write 'f = \a -> (a -> r) -> r', but Haskell has no lambdas on the type level |
2022-07-29 15:14:59 +0200 | <tomsmeding> | Hence, you need to wrap it in a newtype |
2022-07-29 15:15:05 +0200 | Psybur | (~Psybur@c-76-123-45-25.hsd1.va.comcast.net) |
2022-07-29 15:15:18 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2022-07-29 15:15:50 +0200 | <tomsmeding> | What you did is (r1 -> r2) -> a, which can indeed be written as 'f a' for some 'f', namely f = (->) (r1 -> r2) |
2022-07-29 15:16:01 +0200 | Guest1698 | (~Guest1698@20.83.116.49) (Ping timeout: 244 seconds) |
2022-07-29 15:16:29 +0200 | Guest1698 | (~Guest1698@20.83.116.49) |
2022-07-29 15:16:40 +0200 | zxx7529 | (~Thunderbi@user/zxx7529) (Quit: zxx7529) |
2022-07-29 15:22:45 +0200 | hasbae | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2022-07-29 15:30:10 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Remote host closed the connection) |
2022-07-29 15:30:16 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 15:30:45 +0200 | hueso | (~root@user/hueso) (Ping timeout: 252 seconds) |
2022-07-29 15:32:48 +0200 | cirilla | (sid194105@user/lys) (Quit: Dreams like these must die) |
2022-07-29 15:36:15 +0200 | crazazy`` | (~user@130.89.171.62) (Ping timeout: 252 seconds) |
2022-07-29 15:36:41 +0200 | hueso | (~root@user/hueso) |
2022-07-29 15:38:01 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-07-29 15:39:37 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 245 seconds) |
2022-07-29 15:41:45 +0200 | nschoe | (~quassel@178.251.84.79) (Ping timeout: 252 seconds) |
2022-07-29 15:42:02 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-29 15:46:14 +0200 | Pickchea | (~private@user/pickchea) |
2022-07-29 15:46:23 +0200 | WaxCPU | Andrew |
2022-07-29 15:48:05 +0200 | ystael | (~ystael@user/ystael) |
2022-07-29 15:50:11 +0200 | machinedgod | (~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 252 seconds) |
2022-07-29 15:50:39 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-07-29 15:50:39 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-07-29 15:50:39 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-07-29 15:52:56 +0200 | cirilla | (sid194105@id-194105.uxbridge.irccloud.com) |
2022-07-29 15:54:00 +0200 | califax | (~califax@user/califx) (Ping timeout: 268 seconds) |
2022-07-29 15:54:55 +0200 | califax | (~califax@user/califx) |
2022-07-29 15:55:09 +0200 | cirilla | (sid194105@id-194105.uxbridge.irccloud.com) (Changing host) |
2022-07-29 15:55:09 +0200 | cirilla | (sid194105@user/lys) |
2022-07-29 15:55:19 +0200 | dknite | (~dknite@223.191.52.173) (Ping timeout: 252 seconds) |
2022-07-29 15:58:51 +0200 | dknite | (~dknite@223.191.52.173) |
2022-07-29 15:58:59 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
2022-07-29 15:59:12 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 245 seconds) |
2022-07-29 16:01:27 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-29 16:04:12 +0200 | hueso | (~root@user/hueso) (Ping timeout: 245 seconds) |
2022-07-29 16:10:34 +0200 | hueso | (~root@user/hueso) |
2022-07-29 16:11:02 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-07-29 16:11:41 +0200 | PiDelport | (uid25146@id-25146.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2022-07-29 16:11:52 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Remote host closed the connection) |
2022-07-29 16:12:21 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 16:12:23 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Remote host closed the connection) |
2022-07-29 16:12:30 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 16:16:11 +0200 | Inst_ | (~Inst@2601:6c4:4080:3f80:d8ab:2e91:63f7:db6e) |
2022-07-29 16:16:13 +0200 | Inst_ | Inst |
2022-07-29 16:16:17 +0200 | <Inst> | could I get some help with code golf? |
2022-07-29 16:16:18 +0200 | <Inst> | getAny.(Any. isEven <> Any. isOdd) $ 2 |
2022-07-29 16:16:33 +0200 | <Inst> | this works, I get True |
2022-07-29 16:16:51 +0200 | cirilla | (sid194105@user/lys) () |
2022-07-29 16:19:12 +0200 | crazazy`` | (~user@130.89.171.62) |
2022-07-29 16:26:08 +0200 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) |
2022-07-29 16:28:27 +0200 | sandy_doo | (~sandydoo@185.209.196.136) |
2022-07-29 16:29:04 +0200 | zeenk | (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!) |
2022-07-29 16:29:32 +0200 | yauhsien | (~yauhsien@61-231-60-109.dynamic-ip.hinet.net) |
2022-07-29 16:29:43 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-07-29 16:29:53 +0200 | sandydoo | (~sandydoo@185.209.196.136) (Ping timeout: 244 seconds) |
2022-07-29 16:30:24 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 244 seconds) |
2022-07-29 16:31:02 +0200 | alternateved | (~user@staticline-31-183-144-54.toya.net.pl) (Remote host closed the connection) |
2022-07-29 16:32:16 +0200 | ccntrq | (~Thunderbi@exit-3.office.han.de.mhd.medondo.com) (Quit: ccntrq) |
2022-07-29 16:34:20 +0200 | <merijn> | hmm |
2022-07-29 16:34:55 +0200 | yauhsien | (~yauhsien@61-231-60-109.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
2022-07-29 16:34:56 +0200 | <merijn> | if I have a foldMap that I want to intersperse some elements into, I guess I'm mostly screwed and need to hand roll some custom tweaked fold |
2022-07-29 16:35:45 +0200 | zebrag | (~chris@user/zebrag) |
2022-07-29 16:37:06 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Remote host closed the connection) |
2022-07-29 16:37:23 +0200 | <tomsmeding> | Inst: (\x->isEven x||isOdd x) $ 2 |
2022-07-29 16:38:15 +0200 | <tomsmeding> | merijn: if it's really intersperse (i.e. predictably the same thing between every element) you might be able to write a custom monoid that does just that |
2022-07-29 16:39:33 +0200 | <Inst> | tomsmeding: I mean, without a lambda |
2022-07-29 16:39:57 +0200 | <tomsmeding> | liftA2(||)isEven isOdd |
2022-07-29 16:39:58 +0200 | <sm> | today ghcid (run in a stack project) seems to be reacting to file changes, and shows ok/error status correctly in window titlebar, but is not showing any new error output in the console. Does this sound familiar to anyone ? I have not found an issue |
2022-07-29 16:40:04 +0200 | <Inst> | ;_; |
2022-07-29 16:40:11 +0200 | <Inst> | liftA2 I'd consider unreadable ;_; |
2022-07-29 16:40:28 +0200 | <tomsmeding> | Inst: (||)<$>isEven<*>idOdd |
2022-07-29 16:40:28 +0200 | <Inst> | ffff, why do you have to have the Any on Bool? |
2022-07-29 16:40:44 +0200 | <geekosaur> | code golf is not about readability |
2022-07-29 16:41:00 +0200 | <tomsmeding> | Inst: const True |
2022-07-29 16:41:07 +0200 | <Inst> | (||) . isEven <*> isOdd |
2022-07-29 16:41:59 +0200 | <tomsmeding> | sm: never seen that, does ctrl-L do anything (in the ghcid window)? Restarting ghcid? |
2022-07-29 16:42:04 +0200 | xff0x | (~xff0x@2405:6580:b080:900:dd91:5944:95b9:3d1c) (Read error: Connection reset by peer) |
2022-07-29 16:43:06 +0200 | tomsmeding | . o O ( `\_->True` is shorter than `const True` ) |
2022-07-29 16:43:16 +0200 | <tomsmeding> | With the \ |
2022-07-29 16:43:20 +0200 | jinsun | (~jinsun@user/jinsun) (Ping timeout: 244 seconds) |
2022-07-29 16:43:22 +0200 | cbdlt^ | (~cbdlt@50-242-35-142-static.hfc.comcastbusiness.net) (Remote host closed the connection) |
2022-07-29 16:44:01 +0200 | <sm> | tomsmeding: C-l does nothing. Restarting ghcid helps to see a current error - the first output is always correct - but it shows no new output as the file changes |
2022-07-29 16:44:12 +0200 | <sm> | it's weird, I've never seen this before either |
2022-07-29 16:45:30 +0200 | <tomsmeding> | sm: ghcid is correctly updating the terminal title bar? Did you conclusively check this? |
2022-07-29 16:45:45 +0200 | <sm> | yes, I can see the title bar updating |
2022-07-29 16:45:45 +0200 | <tomsmeding> | If so, 🤷♂️ |
2022-07-29 16:45:52 +0200 | <tomsmeding> | That's _really_ odd |
2022-07-29 16:46:29 +0200 | <tomsmeding> | Does plain ghci work on :r |
2022-07-29 16:46:39 +0200 | yin | (~yin@user/zero) (Ping timeout: 252 seconds) |
2022-07-29 16:46:40 +0200 | <tomsmeding> | (well, stack repl, I guess) |
2022-07-29 16:46:51 +0200 | xff0x | (~xff0x@2405:6580:b080:900:8027:7a12:387:4367) |
2022-07-29 16:47:22 +0200 | <sm> | in a terminal, it shows no console output whatsoever. However in an emacs shell, it shows the first line (All good / error), but not the error details. I wonder if it's something to do with ansi |
2022-07-29 16:47:59 +0200 | <tomsmeding> | sm: try piping ghcir through xxd |
2022-07-29 16:48:08 +0200 | <tomsmeding> | *ghcid |
2022-07-29 16:48:39 +0200 | <tomsmeding> | Not very readable, but no ansi sequence interpretation and at least you can see what's written to stdout literally |
2022-07-29 16:48:46 +0200 | <sm> | I added --color=never with no effect, but xxd shows output! |
2022-07-29 16:49:47 +0200 | sm | contemplates the mystery of the world |
2022-07-29 16:49:47 +0200 | Vajb | (~Vajb@n1zigc3rgo9mpde2w-1.v6.elisa-mobile.fi) (Read error: Connection reset by peer) |
2022-07-29 16:50:05 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) |
2022-07-29 16:52:32 +0200 | jespada | (~jespada@45.162.228.187) (Ping timeout: 245 seconds) |
2022-07-29 16:52:42 +0200 | jinsun | (~jinsun@user/jinsun) |
2022-07-29 16:53:17 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:a442:f89a:164c:a1c) (Quit: WeeChat 2.8) |
2022-07-29 16:53:36 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2022-07-29 16:53:36 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 16:53:43 +0200 | <sm> | here's the start of the output when an error is introduced: https://paste.tomsmeding.com/BYmHcrrN |
2022-07-29 16:54:09 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-07-29 16:54:39 +0200 | <tomsmeding> | sm: try `script ghcid`, then kill it after the output becomed wrong, then send me the `typescript` file that it produces |
2022-07-29 16:55:05 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 252 seconds) |
2022-07-29 16:55:15 +0200 | <sm> | the hex looks like ordinary ascii, I have no idea how that could not render |
2022-07-29 16:55:24 +0200 | <tomsmeding> | Wait \e]0;2 wtf is that escape sequence |
2022-07-29 16:55:36 +0200 | <geekosaur> | status bar update |
2022-07-29 16:55:57 +0200 | <geekosaur> | er, title bar for most terminals |
2022-07-29 16:55:58 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-07-29 16:56:15 +0200 | shriekingnoise | (~shrieking@186.137.167.202) |
2022-07-29 16:56:17 +0200 | <sm> | (script breaks ghcid) |
2022-07-29 16:56:24 +0200 | <tomsmeding> | Rip ghcid |
2022-07-29 16:56:42 +0200 | jespada | (~jespada@181.80.249.105) |
2022-07-29 16:57:03 +0200 | <tomsmeding> | geekosaur: thanks TIL (I found it on wikipedia too -- the sequence is \e]0;title text\x07 ) |
2022-07-29 16:57:32 +0200 | <merijn> | tomsmeding: Oh, wait, it's actually a list, not a map I have. So I can just do regular list-y things |
2022-07-29 16:57:40 +0200 | <sm> | ghcid has always worked one way or another.. this is rocking my world |
2022-07-29 16:57:47 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-07-29 16:58:10 +0200 | <tomsmeding> | sm: ghcid probably notices (with isatty(3)) that stdout is not a tty when piped, so disables (apparently not all? Bug?) escape sequences then |
2022-07-29 16:58:38 +0200 | <tomsmeding> | merijn: 🎉 |
2022-07-29 16:59:00 +0200 | dcoutts | (~duncan@host86-150-41-142.range86-150.btcentralplus.com) (Ping timeout: 276 seconds) |
2022-07-29 16:59:01 +0200 | <geekosaur> | the whole point of script is it uses a pty so shouldn't cause that |
2022-07-29 16:59:08 +0200 | <tomsmeding> | Yeah |
2022-07-29 16:59:11 +0200 | <geekosaur> | I'm surprised ghcid would break when used with it |
2022-07-29 16:59:28 +0200 | <tomsmeding> | sm: breaks in what way |
2022-07-29 16:59:38 +0200 | <sm> | (script doesn't break ghcid, I was holding it wrong. Here's what it captured after introducing an error:... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/6663ae133cad3fb2b6c4b1e48d11b084c3f1…) |
2022-07-29 17:00:11 +0200 | <merijn> | tomsmeding: Still tricky, since I need to do things like "find the first and last N entries on the list" |
2022-07-29 17:00:59 +0200 | <tomsmeding> | sm: I don't even see status bar updates in that, just a switch to the alternate screen |
2022-07-29 17:01:00 +0200 | <geekosaur> | that said, I wonder how much ghcid does by opening /dev/tty |
2022-07-29 17:01:11 +0200 | <tomsmeding> | Ooh |
2022-07-29 17:01:11 +0200 | <sm> | (and in emacs, line 11 looks like ^[[?25h) |
2022-07-29 17:01:23 +0200 | <sm> | tomsmeding: I turned those off with --no-title |
2022-07-29 17:01:41 +0200 | <tomsmeding> | Oh oops 25h is "show cursor" |
2022-07-29 17:01:49 +0200 | <tomsmeding> | Ah |
2022-07-29 17:01:54 +0200 | <sm> | and turned off color, so I'm not expecting any ANSI.. except it probably tries to clear screen |
2022-07-29 17:02:01 +0200 | <tomsmeding> | No such thing |
2022-07-29 17:02:17 +0200 | <tomsmeding> | That would be \e[2J |
2022-07-29 17:02:29 +0200 | <tomsmeding> | (\e = ^[) |
2022-07-29 17:03:14 +0200 | <tomsmeding> | sm: perhaps try without --no-title, to see it actually doing something? |
2022-07-29 17:03:24 +0200 | <tomsmeding> | If geekosaur is right though, this won't be productive |
2022-07-29 17:05:27 +0200 | tstat | (~user@user/tstat) |
2022-07-29 17:05:51 +0200 | zxx7529 | (~Thunderbi@user/zxx7529) |
2022-07-29 17:06:10 +0200 | jinsun | (~jinsun@user/jinsun) (Ping timeout: 240 seconds) |
2022-07-29 17:06:30 +0200 | zxx7529 | (~Thunderbi@user/zxx7529) (Client Quit) |
2022-07-29 17:09:20 +0200 | jinsun | (~jinsun@user/jinsun) |
2022-07-29 17:13:02 +0200 | <sm> | thanks all, I have opened https://github.com/ndmitchell/ghcid/issues/362 |
2022-07-29 17:15:50 +0200 | <tomsmeding> | 👍 |
2022-07-29 17:16:38 +0200 | PiDelport | (uid25146@id-25146.lymington.irccloud.com) |
2022-07-29 17:17:26 +0200 | xff0x | (~xff0x@2405:6580:b080:900:8027:7a12:387:4367) (Ping timeout: 244 seconds) |
2022-07-29 17:19:20 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-07-29 17:19:30 +0200 | xff0x | (~xff0x@ae130050.dynamic.ppp.asahi-net.or.jp) |
2022-07-29 17:20:20 +0200 | hgolden | (~hgolden2@cpe-172-251-233-141.socal.res.rr.com) (Quit: Konversation terminated!) |
2022-07-29 17:21:48 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Quit: _) |
2022-07-29 17:21:51 +0200 | vpan | (~0@212.117.1.172) (Quit: Leaving.) |
2022-07-29 17:22:13 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-07-29 17:24:59 +0200 | jinsun__ | (~jinsun@user/jinsun) |
2022-07-29 17:24:59 +0200 | jinsun | (~jinsun@user/jinsun) (Killed (osmium.libera.chat (Nickname regained by services))) |
2022-07-29 17:24:59 +0200 | jinsun__ | jinsun |
2022-07-29 17:26:48 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Quit: Leaving) |
2022-07-29 17:27:21 +0200 | hgolden | (~hgolden2@cpe-172-251-233-141.socal.res.rr.com) |
2022-07-29 17:28:50 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 17:29:52 +0200 | <merijn> | I don't suppose there's a splitAt that splits from the back? |
2022-07-29 17:30:30 +0200 | jinsun__ | (~jinsun@user/jinsun) |
2022-07-29 17:30:30 +0200 | jinsun | Guest7303 |
2022-07-29 17:30:30 +0200 | Guest7303 | (~jinsun@user/jinsun) (Killed (platinum.libera.chat (Nickname regained by services))) |
2022-07-29 17:30:30 +0200 | jinsun__ | jinsun |
2022-07-29 17:31:08 +0200 | <tomsmeding> | merijn: can't do much better than \n l -> splitAt (length l - n) l, implementation-wise |
2022-07-29 17:31:28 +0200 | <merijn> | You can, actually |
2022-07-29 17:31:32 +0200 | <merijn> | But I don't wanna |
2022-07-29 17:31:44 +0200 | <merijn> | You can do it in a single traversal |
2022-07-29 17:32:05 +0200 | <merijn> | Probably less time to copy my implementation of that from gist and inline it somewhere :p |
2022-07-29 17:32:54 +0200 | <tomsmeding> | You can, buy will that be more efficient |
2022-07-29 17:33:03 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-07-29 17:33:18 +0200 | <merijn> | "who knows" :p |
2022-07-29 17:33:38 +0200 | <tomsmeding> | Ah right, |l| + n steps instead of |l| + |l|-n |
2022-07-29 17:33:53 +0200 | <tomsmeding> | So better if n is small |
2022-07-29 17:35:21 +0200 | <dolio> | Also, if you do it the right way, you can avoid pre-forcing the entire list into memory. |
2022-07-29 17:35:39 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-07-29 17:35:48 +0200 | <dolio> | For some cases, at least. |
2022-07-29 17:36:22 +0200 | jpds1 | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds) |
2022-07-29 17:37:06 +0200 | <sm> | tomsmeding: fixed by reinstalling! https://github.com/ndmitchell/ghcid/issues/362#issuecomment-1199556972 |
2022-07-29 17:37:30 +0200 | sm | adds that to "have you turned it off and on" |
2022-07-29 17:38:39 +0200 | acidjnk | (~acidjnk@p200300d6e7058697f9c73f5459b42564.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2022-07-29 17:40:21 +0200 | jpds1 | (~jpds@gateway/tor-sasl/jpds) |
2022-07-29 17:40:33 +0200 | crazazy`` | (~user@130.89.171.62) (Ping timeout: 252 seconds) |
2022-07-29 17:43:37 +0200 | <merijn> | tomsmeding: bleh, I'll just do it myself: https://paste.tomsmeding.com/gRDKljQj :> |
2022-07-29 17:47:51 +0200 | <tomsmeding> | sm: haha! |
2022-07-29 17:48:38 +0200 | <merijn> | dolio: How'd I do? ;) |
2022-07-29 17:50:05 +0200 | <dolio> | Yeah, that's roughly what I was thinking. |
2022-07-29 17:51:00 +0200 | <merijn> | I was too lazy to think how to properly handle the 0 case, so I just special cased it >.> |
2022-07-29 17:52:07 +0200 | yin | (~yin@user/zero) |
2022-07-29 17:52:32 +0200 | <dolio> | I think you don't need it. |
2022-07-29 17:53:05 +0200 | <dolio> | I think you don't need the first case of `go`, either. |
2022-07-29 17:53:40 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2022-07-29 17:54:12 +0200 | eod|fserucas__ | (~eod|fseru@83.223.227.100) (Quit: Leaving) |
2022-07-29 17:54:16 +0200 | eod|fserucas | (~eod|fseru@83.223.227.100) (Quit: Leaving) |
2022-07-29 17:54:41 +0200 | <dolio> | The 0 case prevents rebuilding the list, though, which is nice. |
2022-07-29 17:55:35 +0200 | hgolden | (~hgolden2@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection) |
2022-07-29 17:57:37 +0200 | <merijn> | dolio: You don't, but GHC whines |
2022-07-29 17:58:02 +0200 | <merijn> | oh, wait |
2022-07-29 17:58:14 +0200 | <merijn> | I just need to swap the first two to fix needing the special case! |
2022-07-29 17:58:17 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-07-29 17:58:39 +0200 | <dolio> | You should probably add ~ to the (x:xs) to fix it instead. |
2022-07-29 17:59:16 +0200 | <dolio> | Maybe that doesn't actually do anything better, though. |
2022-07-29 18:00:03 +0200 | dknite | (~dknite@223.191.52.173) (Ping timeout: 245 seconds) |
2022-07-29 18:00:22 +0200 | dknite | (~dknite@223.176.55.39) |
2022-07-29 18:00:29 +0200 | iclanzan[m] | (~iclanzanm@2001:470:69fc:105::2:3a05) (Quit: You have been kicked for being idle) |
2022-07-29 18:00:52 +0200 | hgolden | (~hgolden2@cpe-172-251-233-141.socal.res.rr.com) |
2022-07-29 18:01:00 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2022-07-29 18:01:10 +0200 | MajorBiscuit | (~MajorBisc@wlan-145-94-167-213.wlan.tudelft.nl) (Quit: WeeChat 3.5) |
2022-07-29 18:02:56 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-07-29 18:02:58 +0200 | noteness | (~noteness@user/noteness) (Remote host closed the connection) |
2022-07-29 18:04:05 +0200 | califax | (~califax@user/califx) |
2022-07-29 18:05:41 +0200 | noteness | (~noteness@user/noteness) |
2022-07-29 18:05:53 +0200 | jpds1 | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2022-07-29 18:06:23 +0200 | jpds1 | (~jpds@gateway/tor-sasl/jpds) |
2022-07-29 18:09:53 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 252 seconds) |
2022-07-29 18:11:57 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-29 18:13:34 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 18:16:13 +0200 | Inst | (~Inst@2601:6c4:4080:3f80:d8ab:2e91:63f7:db6e) (Read error: Connection reset by peer) |
2022-07-29 18:16:27 +0200 | <albet70> | so other languages can do lambda on type level? |
2022-07-29 18:16:51 +0200 | sandy_doo | (~sandydoo@185.209.196.136) (Ping timeout: 252 seconds) |
2022-07-29 18:17:07 +0200 | raym | (~raym@user/raym) (Ping timeout: 245 seconds) |
2022-07-29 18:17:11 +0200 | Inst | (~Inst@2601:6c4:4080:3f80:d8ab:2e91:63f7:db6e) |
2022-07-29 18:17:14 +0200 | <merijn> | albet70: Sure |
2022-07-29 18:17:39 +0200 | <albet70> | for example? |
2022-07-29 18:17:44 +0200 | <merijn> | albet70: Agda, Idris, Coq, etc. let you do anything at the type level (i.e. the type level language and expression level language are identical) |
2022-07-29 18:18:00 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-07-29 18:18:11 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-07-29 18:18:47 +0200 | xff0x | (~xff0x@ae130050.dynamic.ppp.asahi-net.or.jp) (Ping timeout: 245 seconds) |
2022-07-29 18:18:50 +0200 | <hasbae> | to use text package, https://hackage.haskell.org/package/text-2.0.1, why is it 'import Data.Text' - why is the name of the package preceded by Data? Is that supposed to mean something? |
2022-07-29 18:19:01 +0200 | <albet70> | because they have a better type system than system F in lambda cube? |
2022-07-29 18:19:04 +0200 | raym | (~raym@user/raym) |
2022-07-29 18:19:31 +0200 | jpds1 | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2022-07-29 18:19:36 +0200 | <geekosaur> | hasbae, because module names don't have to match package names, and the convention is that new data types are added under Data |
2022-07-29 18:19:51 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 18:19:58 +0200 | jpds1 | (~jpds@gateway/tor-sasl/jpds) |
2022-07-29 18:20:39 +0200 | xff0x | (~xff0x@ae132116.dynamic.ppp.asahi-net.or.jp) |
2022-07-29 18:21:15 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Remote host closed the connection) |
2022-07-29 18:21:31 +0200 | <hasbae> | i see. is there a similar convention around the prefix Control? |
2022-07-29 18:21:45 +0200 | <hasbae> | are these conventions explicit somewhere? |
2022-07-29 18:21:47 +0200 | <merijn> | hasbae: Ok, so when hierarchical modules were first introduced, there was a frenzy of making nice hierarchies. Part of that was having a Data (for data) and Control (for "code") top level. Which led to tons of moudles being in Data.X and Control.X even when it doesn't necessarily make a whole lot of sense |
2022-07-29 18:21:47 +0200 | <geekosaur> | yes, that's for control structures of some kind (e.g. Monad) |
2022-07-29 18:21:52 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:357f:5f50:899a:d5a4) |
2022-07-29 18:22:08 +0200 | <geekosaur> | someone pointed you at the paper about modular hierarchies yesterday, I thought? |
2022-07-29 18:22:12 +0200 | <merijn> | But now there's a bunch of code that has been Data.X or Control.X for years, so there's little interest in breaking that |
2022-07-29 18:22:32 +0200 | <geekosaur> | [29 01:38:34] <jackdk> hasbae: `Data/ByteString/Lazy.hs`. If you want the ancient source: http://web.archive.org/web/20100703071858/http://www.haskell.org/hierarchical-modules/hier.pdf |
2022-07-29 18:22:33 +0200 | <merijn> | hasbae: So you end up with a lot of Data/Control stuff for "hysterical raisins" |
2022-07-29 18:22:53 +0200 | <merijn> | hasbae: With no real reason beyond "historical accident" |
2022-07-29 18:22:59 +0200 | cosimone | (~user@93-44-186-171.ip98.fastwebnet.it) (Read error: Connection reset by peer) |
2022-07-29 18:23:46 +0200 | ubert | (~Thunderbi@178.115.57.195.wireless.dyn.drei.com) (Ping timeout: 268 seconds) |
2022-07-29 18:23:52 +0200 | <geekosaur> | well, and some belief about not cluttering the top level. I have a snaking suspicion that'll come back as the hierarchies start to break down again |
2022-07-29 18:24:21 +0200 | <geekosaur> | it makes it more difficult to find things, granting the current hierarchies are not especially useful |
2022-07-29 18:24:39 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-07-29 18:24:49 +0200 | <merijn> | I think other top hierarchies are fine IFF you play nice and don't squat very generic module names |
2022-07-29 18:25:05 +0200 | <hasbae> | ok, i was trying to find the hidden meaning in the hierarchies, and apparently there isn't much of one to be found |
2022-07-29 18:25:07 +0200 | califax | (~califax@user/califx) |
2022-07-29 18:25:19 +0200 | <merijn> | I used Control.Concurrent here: https://hackage.haskell.org/package/broadcast-chan-0.1.0 |
2022-07-29 18:25:37 +0200 | <merijn> | but latest version just uses BroadcastChan instead |
2022-07-29 18:25:41 +0200 | <merijn> | saves typing :p |
2022-07-29 18:25:50 +0200 | <merijn> | hasbae: Pretty much |
2022-07-29 18:26:10 +0200 | <merijn> | Well, at least you can safel consider Text a datatype so Data at least makes some sense |
2022-07-29 18:26:24 +0200 | <merijn> | But why is Monad in Control.Monad, but functor in Data.Functor? |
2022-07-29 18:26:40 +0200 | <merijn> | ?? |
2022-07-29 18:26:40 +0200 | Vajb | (~Vajb@n1zigc3rgo9mpde2w-1.v6.elisa-mobile.fi) |
2022-07-29 18:26:47 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:357f:5f50:899a:d5a4) (Ping timeout: 272 seconds) |
2022-07-29 18:27:48 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-07-29 18:28:15 +0200 | califax | (~califax@user/califx) |
2022-07-29 18:30:05 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 18:31:09 +0200 | irfan | (~irfan@user/irfan) |
2022-07-29 18:34:12 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 245 seconds) |
2022-07-29 18:34:14 +0200 | dknite | (~dknite@223.176.55.39) (Read error: Connection reset by peer) |
2022-07-29 18:35:12 +0200 | <hasbae> | this seems like a good answer to my question: https://stackoverflow.com/questions/33949401/is-there-any-standard-module-namespace-naming-convent… I was also assuming some similarity to the python conventions of packages and modules |
2022-07-29 18:35:33 +0200 | yin | (~yin@user/zero) (Ping timeout: 252 seconds) |
2022-07-29 18:36:49 +0200 | benin08 | (~benin@2401:4900:2324:632a:8150:fd5f:e388:7778) |
2022-07-29 18:36:50 +0200 | dknite | (~dknite@223.176.55.39) |
2022-07-29 18:37:12 +0200 | yin | (~yin@user/zero) |
2022-07-29 18:37:33 +0200 | pgib | (~textual@173.38.117.88) |
2022-07-29 18:39:11 +0200 | benin0 | (~benin@183.82.26.87) (Ping timeout: 268 seconds) |
2022-07-29 18:39:12 +0200 | benin08 | benin0 |
2022-07-29 18:39:39 +0200 | <hololeap> | @src lines |
2022-07-29 18:39:39 +0200 | <lambdabot> | Source not found. Listen, broccoli brains, I don't have time to listen to this trash. |
2022-07-29 18:40:45 +0200 | cosimone | (~user@93-44-186-171.ip98.fastwebnet.it) |
2022-07-29 18:41:33 +0200 | <Haskelytic> | lol |
2022-07-29 18:41:43 +0200 | econo | (uid147250@user/econo) |
2022-07-29 18:43:19 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-07-29 18:43:57 +0200 | <darkling> | Now, really! I've known some very intelligent brassicas... |
2022-07-29 18:44:44 +0200 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 268 seconds) |
2022-07-29 18:45:36 +0200 | benin03 | (~benin@183.82.26.87) |
2022-07-29 18:46:06 +0200 | <[Leary]> | merijn: I'm leery of "single traversal" solutions that duplicate the list in some way, seeming to just traverse it twice in parallel rather than in sequence. I'm not sure this is actually better, but you can write splitAtEnd with foldr: |
2022-07-29 18:46:09 +0200 | <[Leary]> | > (\n xs -> snd $ foldr (\x (i, sp) -> (i+1, (if i < n then second else first) (x:) sp)) (0, ([], [])) xs) 3 [1..9] |
2022-07-29 18:46:12 +0200 | <lambdabot> | ([1,2,3,4,5,6],[7,8,9]) |
2022-07-29 18:47:50 +0200 | benin0 | (~benin@2401:4900:2324:632a:8150:fd5f:e388:7778) (Ping timeout: 260 seconds) |
2022-07-29 18:47:51 +0200 | benin03 | benin0 |
2022-07-29 18:48:26 +0200 | mbuf | (~Shakthi@122.165.55.71) (Quit: Leaving) |
2022-07-29 18:49:10 +0200 | <Haskelytic> | is there any practical difference between `MonadPlus` and `Alternative` |
2022-07-29 18:49:19 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 18:49:40 +0200 | <Haskelytic> | seems like different names for the same thing |
2022-07-29 18:50:37 +0200 | <dolio> | MonadPlus existed for several years before Alternative. |
2022-07-29 18:51:59 +0200 | cyphase | (~cyphase@user/cyphase) |
2022-07-29 18:53:11 +0200 | SamBellamy | (~SamBellam@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) |
2022-07-29 18:54:17 +0200 | <tomsmeding> | Haskelytic: once, Applicative didn't exist |
2022-07-29 18:54:24 +0200 | <geekosaur> | yeh, it's another of those legacy pre-Applicative/Alternative things |
2022-07-29 18:54:41 +0200 | <tomsmeding> | Hence MonadPlus has a Monad superclass, which cannot be downgraded to Applicative without breaking code |
2022-07-29 18:54:57 +0200 | <tomsmeding> | Hence Alternative was created instead |
2022-07-29 18:55:35 +0200 | <tomsmeding> | See also liftM2 / liftA2 |
2022-07-29 18:55:47 +0200 | <tomsmeding> | Though this doesn't explain liftM / fmap |
2022-07-29 18:57:55 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2022-07-29 18:59:43 +0200 | <Franciman> | is there a way to disable monads in haskell? |
2022-07-29 19:00:05 +0200 | <Franciman> | is it possible to have effect systems not using monads at all? |
2022-07-29 19:01:56 +0200 | <tomsmeding> | Fascinating, in Haskell 1.4, Functor and Monad already existed, but Functor had map instead of fmap, and Functor wasn't a superclass of Monad |
2022-07-29 19:02:18 +0200 | <tomsmeding> | Franciman: I'm not sure "disabling monads" is a well-defined thing |
2022-07-29 19:02:27 +0200 | <dolio> | Right, the superclass wasn't there until a few years ago. |
2022-07-29 19:02:52 +0200 | <tomsmeding> | After all, I can always `class IStillWantMyMonad m where return' :: a -> m a ; join :: m (m a) -> m a` |
2022-07-29 19:02:58 +0200 | <Franciman> | tomsmeding: apparently i can't have side effects if I don't use monads |
2022-07-29 19:03:37 +0200 | <Logio> | you can't have side effects without using IO; IO happens to be a monad, but that is orthogonal |
2022-07-29 19:03:45 +0200 | <tomsmeding> | Franciman: you'll have to resort to unsafePerformIO to call the primops, if I'm not mistaken |
2022-07-29 19:06:38 +0200 | <tomsmeding> | dolio: haskell98 didn't even have the superclass!!! |
2022-07-29 19:07:04 +0200 | <dolio> | Right. |
2022-07-29 19:07:52 +0200 | <dolio> | Haskell 98 mostly made a bunch of things worse. :) |
2022-07-29 19:08:15 +0200 | <tomsmeding> | Haskell2010 also didn't? |
2022-07-29 19:08:21 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:357f:5f50:899a:d5a4) |
2022-07-29 19:08:27 +0200 | <tomsmeding> | Did the superclass only get added in FAM? |
2022-07-29 19:08:42 +0200 | <tomsmeding> | I see I started on the wrong end of reports :p |
2022-07-29 19:08:51 +0200 | <dolio> | I think it was part of the 'applicative monad proposal' or whatever. |
2022-07-29 19:08:55 +0200 | <dolio> | Which was after 2010. |
2022-07-29 19:09:32 +0200 | azimut_ | (~azimut@gateway/tor-sasl/azimut) |
2022-07-29 19:09:57 +0200 | <tomsmeding> | Oh right, AMP is what it was called |
2022-07-29 19:10:14 +0200 | <tomsmeding> | I was under the apparently false impression that that just entailed putting Applicative in the middle |
2022-07-29 19:10:22 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Quit: ZNC - https://znc.in) |
2022-07-29 19:10:54 +0200 | <dolio> | Functor was already a superclass of Applicative, I think, so I guess it was automatic in that way. |
2022-07-29 19:12:42 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:357f:5f50:899a:d5a4) (Ping timeout: 264 seconds) |
2022-07-29 19:13:08 +0200 | <tomsmeding> | dolio: this has `class Monad m where` https://www.haskell.org/onlinereport/haskell2010/haskellch13.html#x21-19300013 |
2022-07-29 19:13:50 +0200 | <geekosaur> | right, Functor as prerequisite didn't happen until AMP |
2022-07-29 19:15:35 +0200 | <geekosaur> | Franciman, if you can come up with your own way to enforce sequencing you can use IO without touching its Monad instance (this typically requires writing your own framework using -XMagicHash to pass the sequencing token) |
2022-07-29 19:16:06 +0200 | <Franciman> | thanks |
2022-07-29 19:16:30 +0200 | <geekosaur> | or if you don't care about sequencing you can just use it directly, but you'll probably find that doesn't do what you want |
2022-07-29 19:18:40 +0200 | <hasbae> | why is there no "in" when using let inside a do block? |
2022-07-29 19:18:45 +0200 | alp_ | (~alp@user/alp) (Ping timeout: 260 seconds) |
2022-07-29 19:19:42 +0200 | <geekosaur> | because do syntax adds it for you |
2022-07-29 19:19:55 +0200 | <geekosaur> | `let ...` expands to `let ... in do` |
2022-07-29 19:20:08 +0200 | <geekosaur> | it's a convenience |
2022-07-29 19:20:20 +0200 | <hasbae> | ok, so it really is there. Thanks |
2022-07-29 19:22:30 +0200 | <bollu> | @tapl |
2022-07-29 19:22:30 +0200 | <lambdabot> | Maybe you meant: unpl type tell pl |
2022-07-29 19:22:45 +0200 | <geekosaur> | @where tapl |
2022-07-29 19:22:45 +0200 | <lambdabot> | "Types and Programming Languages" by Benjamin C. Pierce in 2002-02-01 at <https://www.cis.upenn.edu/~bcpierce/tapl/> |
2022-07-29 19:27:10 +0200 | glguy | (x@libera/staff/glguy) (Read error: Connection reset by peer) |
2022-07-29 19:28:01 +0200 | glguy | (x@libera/staff/glguy) |
2022-07-29 19:32:05 +0200 | <Franciman> | geekosaur: are delimited continuations still working in the framework of IO? |
2022-07-29 19:32:35 +0200 | irfan | (~irfan@user/irfan) (Quit: leaving) |
2022-07-29 19:32:46 +0200 | <geekosaur> | I'm the wrong one to ask about that; I barely know what they are |
2022-07-29 19:36:29 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:357f:5f50:899a:d5a4) |
2022-07-29 19:38:04 +0200 | sandy_doo | (~sandydoo@185.209.196.136) |
2022-07-29 19:41:30 +0200 | <tomsmeding> | Franciman: what do you mean with "still working"? GHC doesn't natively support delimited continuations |
2022-07-29 19:41:56 +0200 | <tomsmeding> | (I believe that's a hot topic relating to effect libraries -- which sounds relevant to what you're asking about :p ) |
2022-07-29 19:43:58 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-07-29 19:44:26 +0200 | <glguy> | There was a proposal accepted to add delimited continuation primitives to GHC; I don't know if that ever went anywhere |
2022-07-29 19:44:27 +0200 | arjun | (~arjun@user/arjun) (Quit: tip toe-ing my way outta here) |
2022-07-29 19:46:00 +0200 | SamBellamy | (~SamBellam@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Ping timeout: 252 seconds) |
2022-07-29 19:46:03 +0200 | yvan-sraka | (uid419690@id-419690.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2022-07-29 19:47:35 +0200 | Haskelytic | (~Haskelyti@118.179.211.17) (Quit: Client closed) |
2022-07-29 19:47:56 +0200 | <monochrom> | "in" inside do-notation ruins code layout :) |
2022-07-29 19:48:31 +0200 | <monochrom> | (I just mean aesthetically. I'm sure parsers can be written either way.) |
2022-07-29 19:48:57 +0200 | <[Leary]> | We already have ContT, that's as much delimited continuations as anyone needs. |
2022-07-29 19:48:58 +0200 | azimut_ | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2022-07-29 19:49:07 +0200 | theseb | (~cs@47.220.214.54) |
2022-07-29 19:49:19 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-07-29 19:50:16 +0200 | <theseb> | i love haskell's syntatic purity. Are there any applications where haskell is crushing it and shows that it is so much better than other languages? |
2022-07-29 19:50:21 +0200 | <c_wraith> | So... has 9.2.4 finally fixed all the known code generation bugs in the 9.x series? |
2022-07-29 19:50:53 +0200 | <Franciman> | yes there is an accepted proposal for delconts IIRC |
2022-07-29 19:51:24 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-07-29 19:51:38 +0200 | SamBellamy | (~SamBellam@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) |
2022-07-29 19:52:17 +0200 | benin0 | (~benin@183.82.26.87) (Quit: The Lounge - https://thelounge.chat) |
2022-07-29 19:54:00 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-07-29 19:54:12 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds) |
2022-07-29 19:55:48 +0200 | Midjak | (~Midjak@82.66.147.146) (Quit: Leaving) |
2022-07-29 19:57:32 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
2022-07-29 19:57:43 +0200 | <tomsmeding> | theseb: https://classes.cs.uoregon.edu/16F/cis425/Papers/hudak-jones.pdf second paragraph of section 7 |
2022-07-29 20:00:31 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2022-07-29 20:01:17 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds) |
2022-07-29 20:01:48 +0200 | Lord_of_Life_ | Lord_of_Life |
2022-07-29 20:06:32 +0200 | SamBellamy | (~SamBellam@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Ping timeout: 252 seconds) |
2022-07-29 20:07:52 +0200 | SamBellamy | (~SamBellam@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) |
2022-07-29 20:12:02 +0200 | SamBellamy | (~SamBellam@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Ping timeout: 252 seconds) |
2022-07-29 20:14:46 +0200 | Midjak | (~Midjak@82.66.147.146) |
2022-07-29 20:17:17 +0200 | <theseb> | tomsmeding: thanks! |
2022-07-29 20:17:40 +0200 | <tomsmeding> | This is a classic :) |
2022-07-29 20:17:44 +0200 | janvogt | (~janvogt@ip-046-005-021-186.um12.pools.vodafone-ip.de) |
2022-07-29 20:18:55 +0200 | SamBellamy | (~SamBellam@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) |
2022-07-29 20:19:20 +0200 | <theseb> | tomsmeding: I wonder how Haskell would compare today versus Python |
2022-07-29 20:19:33 +0200 | <theseb> | and common lisp |
2022-07-29 20:20:14 +0200 | <tomsmeding> | How do you mean compare? Performance, popularity, easiness of learning? |
2022-07-29 20:20:32 +0200 | <tomsmeding> | *ease, not easiness, that's not English |
2022-07-29 20:20:40 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 20:21:49 +0200 | janvogt | (~janvogt@ip-046-005-021-186.um12.pools.vodafone-ip.de) (Remote host closed the connection) |
2022-07-29 20:22:22 +0200 | infinity0 | (~infinity0@185.112.146.113) (Remote host closed the connection) |
2022-07-29 20:22:52 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 268 seconds) |
2022-07-29 20:23:32 +0200 | superbil | (~superbil@1-34-176-171.hinet-ip.hinet.net) (Quit: WeeChat 3.5) |
2022-07-29 20:23:46 +0200 | SamBellamy | (~SamBellam@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Ping timeout: 252 seconds) |
2022-07-29 20:24:06 +0200 | noteness | (~noteness@user/noteness) (Ping timeout: 268 seconds) |
2022-07-29 20:24:29 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-07-29 20:25:04 +0200 | superbil | (~superbil@1-34-176-171.hinet-ip.hinet.net) |
2022-07-29 20:25:52 +0200 | mrmonday | (~robert@what.i.hope.is.not.a.tabernaevagant.es) (Quit: .) |
2022-07-29 20:27:09 +0200 | mrmonday | (~robert@what.i.hope.is.not.a.tabernaevagant.es) |
2022-07-29 20:27:16 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:357f:5f50:899a:d5a4) (Remote host closed the connection) |
2022-07-29 20:27:41 +0200 | SamBellamy | (~SamBellam@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) |
2022-07-29 20:27:53 +0200 | infinity0 | (~infinity0@185.112.146.113) |
2022-07-29 20:28:27 +0200 | <glguy> | > compare "Haskell" "Python" |
2022-07-29 20:28:28 +0200 | Guest52 | (~Guest52@46.245.97.156) |
2022-07-29 20:28:29 +0200 | <lambdabot> | LT |
2022-07-29 20:28:38 +0200 | <c_wraith> | sad, but inarguable |
2022-07-29 20:28:50 +0200 | <Guest52> | Hi |
2022-07-29 20:28:56 +0200 | glguy | wonders how vanilla is holding up against chocolate |
2022-07-29 20:28:59 +0200 | maroloccio | (~marolocci@151.75.246.79) |
2022-07-29 20:30:24 +0200 | <c_wraith> | > compare "chocolate" "Vanilla" |
2022-07-29 20:30:26 +0200 | <lambdabot> | GT |
2022-07-29 20:30:28 +0200 | <Guest52> | May I ask about a good source to learn Haskell for an absolute beginner with no programming background here ? |
2022-07-29 20:30:47 +0200 | noteness | (~noteness@user/noteness) |
2022-07-29 20:30:49 +0200 | vglfr | (~vglfr@91.192.47.10) |
2022-07-29 20:33:53 +0200 | yauhsien | (~yauhsien@61-231-60-109.dynamic-ip.hinet.net) |
2022-07-29 20:34:52 +0200 | <c_wraith> | Guest52: this is a fine place to ask that, but I don't have a recommendation on that topic. I'm sure someone else will, but it's apparently a slow time of day |
2022-07-29 20:35:56 +0200 | <Guest52> | is there any prerequisite for learning Haskell? |
2022-07-29 20:37:10 +0200 | <c_wraith> | Just the same as learning any other programming. It really helps to have at least a basic math education, and you can get started way faster if you have any sort of experience breaking things down into steps. |
2022-07-29 20:37:11 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:357f:5f50:899a:d5a4) |
2022-07-29 20:37:59 +0200 | <dsal> | I'd argue that "no programming background" is sometimes an advantage for Haskell. |
2022-07-29 20:37:59 +0200 | <Guest52> | thank you |
2022-07-29 20:38:22 +0200 | yauhsien | (~yauhsien@61-231-60-109.dynamic-ip.hinet.net) (Ping timeout: 245 seconds) |
2022-07-29 20:38:46 +0200 | <Guest52> | I've just try to get familiar with idea of lambda calculus |
2022-07-29 20:39:55 +0200 | <c_wraith> | while lambda calculus is relevant to Haskell, it's not a prereq. I basically learned lambda calculus as a result of learning Haskell. |
2022-07-29 20:40:18 +0200 | <tomsmeding> | The premise of this book is to teach haskell without any required prerequisite knowledge: |
2022-07-29 20:40:18 +0200 | <tomsmeding> | @where hpffp |
2022-07-29 20:40:18 +0200 | <lambdabot> | "Haskell Programming: from first principles - Pure functional programming without fear or frustration" by Chistopher Allen (bitemyapp),Julie Moronuki at <http://haskellbook.com/>,#haskell-beginners |
2022-07-29 20:40:40 +0200 | <tomsmeding> | But I haven't used it myself; I've just seen others talk about it here |
2022-07-29 20:40:53 +0200 | <glguy> | that book was kind of a mess and pretty long for what you got from it |
2022-07-29 20:40:58 +0200 | <tomsmeding> | Ah |
2022-07-29 20:41:17 +0200 | vglfr | (~vglfr@91.192.47.10) (Ping timeout: 245 seconds) |
2022-07-29 20:41:24 +0200 | <EvanR> | was it an attempt at a replacement for Real World Haskell |
2022-07-29 20:42:18 +0200 | vglfr | (~vglfr@91.192.47.10) |
2022-07-29 20:42:19 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:357f:5f50:899a:d5a4) (Ping timeout: 272 seconds) |
2022-07-29 20:43:28 +0200 | <tomsmeding> | I doubt it, was RWH not focusing mostly on tackling the gnarliness of real world problems? |
2022-07-29 20:43:40 +0200 | <EvanR> | that's what youd think |
2022-07-29 20:43:47 +0200 | <EvanR> | from the title alone xD |
2022-07-29 20:44:29 +0200 | <EvanR> | now I can't remember if I looked at the haskell-beginners book (did that channel make it to libera?) |
2022-07-29 20:44:58 +0200 | <glguy> | I don't know if there's an awesome book but the last one I liked was Hutton's Programming in Haskell 2nd ed. -- very possible something better has come out since, but I'm not aware of it |
2022-07-29 20:45:48 +0200 | <tomsmeding> | EvanR: the channel seems to exist, according to alis |
2022-07-29 20:46:13 +0200 | <tomsmeding> | Ah I was confused with Marlow's book, Parallel and Concurrent Programming in Haskell |
2022-07-29 20:46:32 +0200 | <tomsmeding> | Quite the difference :) |
2022-07-29 20:46:41 +0200 | <EvanR> | yes |
2022-07-29 20:47:56 +0200 | <Guest52> | any idea about this book "Christopher Allen, Julie Moronuki - Haskell Programming from first principles (2016)"? |
2022-07-29 20:48:34 +0200 | <EvanR> | that's the book we are now talking about xD |
2022-07-29 20:50:07 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 252 seconds) |
2022-07-29 20:52:16 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-29 20:57:27 +0200 | vglfr | (~vglfr@91.192.47.10) (Read error: Connection reset by peer) |
2022-07-29 20:57:58 +0200 | vglfr | (~vglfr@91.192.47.10) |
2022-07-29 20:58:56 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:357f:5f50:899a:d5a4) |
2022-07-29 21:02:13 +0200 | vglfr | (~vglfr@91.192.47.10) (Read error: Connection reset by peer) |
2022-07-29 21:02:32 +0200 | Ram-Z | (~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 245 seconds) |
2022-07-29 21:03:24 +0200 | vglfr | (~vglfr@91.192.47.10) |
2022-07-29 21:03:48 +0200 | Guest52 | (~Guest52@46.245.97.156) (Quit: Client closed) |
2022-07-29 21:03:49 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-07-29 21:04:42 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2022-07-29 21:09:41 +0200 | <exarkun> | I got a few chapters into the Allen/Moronuki book and then lost steam |
2022-07-29 21:10:06 +0200 | <exarkun> | I had better luck staying motivated by real world software and cis194 |
2022-07-29 21:11:25 +0200 | phma | (~phma@host-67-44-209-50.hnremote.net) (Read error: Connection reset by peer) |
2022-07-29 21:11:59 +0200 | <EvanR> | finding success and failure by moronuki is definitely geared toward specific problems not general theory |
2022-07-29 21:12:48 +0200 | <EvanR> | for beginner from scratch stuff I liked A Gentle Introduction to Haskell (Version 98), still relevant I think |
2022-07-29 21:13:15 +0200 | <merijn> | [Leary]: What makes you say it "duplicates" the list? |
2022-07-29 21:14:15 +0200 | acidjnk | (~acidjnk@p200300d6e7058697f9c73f5459b42564.dip0.t-ipconnect.de) |
2022-07-29 21:17:49 +0200 | phma | (~phma@host-67-44-208-231.hnremote.net) |
2022-07-29 21:19:09 +0200 | <dolio> | merijn: In the case of yours, it is likely comparable to collecting a reversed list instead of `f`, and then reversing it again at the end. |
2022-07-29 21:20:38 +0200 | <[Leary]> | merijn: the fact that `go` traverses both `l` and `drop n l`. I'm aware that the latter is a fragment of the former and there's no actual duplication of memory, but it's still chasing down the pointers twice, right? |
2022-07-29 21:20:56 +0200 | <merijn> | [Leary]: The 2nd time it'll be in cache already, though |
2022-07-29 21:21:05 +0200 | <merijn> | And the real price of pointer chasing is cache misses |
2022-07-29 21:21:24 +0200 | <merijn> | So if you assume the dereference happen shortly after each other, that is cheaper |
2022-07-29 21:21:47 +0200 | <merijn> | Of course if your list is short it'll be in cache entirely after you do "length", so then you gain nothing |
2022-07-29 21:21:53 +0200 | <merijn> | But if your list is giant, it matters |
2022-07-29 21:21:59 +0200 | chomwitt | (~chomwitt@2a02:587:dc00:5a00:3f62:1f2e:7818:a61c) |
2022-07-29 21:22:23 +0200 | sandy_doo | (~sandydoo@185.209.196.136) (Ping timeout: 252 seconds) |
2022-07-29 21:22:33 +0200 | <merijn> | [Leary]: The other difference/benefit is that with this strategy (assuming you don't persist the list like here) the old list can be incrementally GCed |
2022-07-29 21:22:56 +0200 | machinedgod | (~machinedg@d172-219-86-154.abhsia.telus.net) |
2022-07-29 21:23:22 +0200 | <merijn> | Consider the case of "we're looking for 2 equal elements, N spaces apart" (or something like that), you will only have to keep 3 elements of the input list alive (vs the entire list, forced after length, then kept until the 2nd traversal) |
2022-07-29 21:23:30 +0200 | <merijn> | s/3/N/ |
2022-07-29 21:24:12 +0200 | <merijn> | Of course in the case of split specifically, that doesn't help (since you plan to keep the full prefix anyway), but there's other traversals where it does matter) |
2022-07-29 21:24:54 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-07-29 21:25:21 +0200 | <merijn> | At the very least I expect it to be "equivalent in the worst case, asymptotically better in the average" |
2022-07-29 21:26:01 +0200 | vglfr | (~vglfr@91.192.47.10) (Ping timeout: 272 seconds) |
2022-07-29 21:26:31 +0200 | <hasbae> | I'm not a big fan of the Allen/Moronuki book as beginner. I prefer the Graham Hutton book, and the Richard Bird book |
2022-07-29 21:26:53 +0200 | vglfr | (~vglfr@91.192.47.10) |
2022-07-29 21:28:09 +0200 | <hasbae> | as i *attempt* to learn Haskell, the more resources I have the better, as I need to see the same concept explained like five different ways before it starts to click. YMMV |
2022-07-29 21:29:08 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-07-29 21:33:22 +0200 | vglfr | (~vglfr@91.192.47.10) (Ping timeout: 245 seconds) |
2022-07-29 21:34:28 +0200 | <phma> | I've written a small module. Would someone like to look at it? The module comment isn't appearing in Haddock, and I'd like to know if the module is well-written. |
2022-07-29 21:34:37 +0200 | maroloccio | (~marolocci@151.75.246.79) (Ping timeout: 245 seconds) |
2022-07-29 21:34:54 +0200 | <[Leary]> | merijn: I accept you point about cache, or at least I don't know enough to refute it. To be clear, I'm not advocating for the naive versions with `length`; I do expect those to be worse, but my intuition is that a fold (fix'ed if necessary) should be better than this semi-duplication. |
2022-07-29 21:37:00 +0200 | malte | (~malte@mal.tc) (Ping timeout: 260 seconds) |
2022-07-29 21:37:24 +0200 | SamBellamy | (~SamBellam@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection) |
2022-07-29 21:37:42 +0200 | SamBellamy | (~SamBellam@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) |
2022-07-29 21:37:57 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 21:42:07 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 245 seconds) |
2022-07-29 21:42:24 +0200 | hgolden | (~hgolden2@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection) |
2022-07-29 21:42:41 +0200 | vglfr | (~vglfr@91.192.47.10) |
2022-07-29 21:45:47 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:357f:5f50:899a:d5a4) (Remote host closed the connection) |
2022-07-29 21:46:14 +0200 | hgolden | (~hgolden2@cpe-172-251-233-141.socal.res.rr.com) |
2022-07-29 21:46:48 +0200 | <sm> | seen |
2022-07-29 21:46:48 +0200 | <sm> | @where books hasbae ? |
2022-07-29 21:46:48 +0200 | <lambdabot> | See `LYAH',`RWH',`YAHT',`SOE',`HR',`PIH',`TFwH',`wikibook',`PCPH',`HPFFP',`FSAF',`HftVB',`HTAC',`TwT',`FoP',`PFAD',`WYAH',`non-haskell-books'. Also <https://www.vex.net/~trebla/haskell/learn-sources. |
2022-07-29 21:46:48 +0200 | <lambdabot> | html>,<https://www.extrema.is/articles/haskell-books> |
2022-07-29 21:48:56 +0200 | hgolden | (~hgolden2@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection) |
2022-07-29 21:51:13 +0200 | hgolden | (~hgolden2@cpe-172-251-233-141.socal.res.rr.com) |
2022-07-29 21:53:58 +0200 | SamBellamy | (~SamBellam@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Ping timeout: 252 seconds) |
2022-07-29 21:54:27 +0200 | SamBellamy | (~SamBellam@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) |
2022-07-29 21:55:35 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:357f:5f50:899a:d5a4) |
2022-07-29 21:58:12 +0200 | <hasbae> | @TFwH |
2022-07-29 21:58:12 +0200 | <lambdabot> | Unknown command, try @list |
2022-07-29 21:58:19 +0200 | <hasbae> | @where TFwH |
2022-07-29 21:58:19 +0200 | <lambdabot> | "Thinking Functionally with Haskell" by Richard Bird in 2014-10 at <https://www.cs.ox.ac.uk/publications/books/functional/> |
2022-07-29 21:58:22 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-07-29 21:58:28 +0200 | <hasbae> | neat |
2022-07-29 21:58:36 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:357f:5f50:899a:d5a4) (Remote host closed the connection) |
2022-07-29 21:58:51 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-07-29 22:00:02 +0200 | vglfr | (~vglfr@91.192.47.10) (Ping timeout: 245 seconds) |
2022-07-29 22:00:18 +0200 | vglfr | (~vglfr@91.192.47.10) |
2022-07-29 22:00:39 +0200 | yauhsien | (~yauhsien@61-231-30-230.dynamic-ip.hinet.net) |
2022-07-29 22:00:50 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds) |
2022-07-29 22:02:24 +0200 | jargon | (~jargon@184.101.188.251) |
2022-07-29 22:02:37 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-29 22:05:09 +0200 | yauhsien | (~yauhsien@61-231-30-230.dynamic-ip.hinet.net) (Ping timeout: 268 seconds) |
2022-07-29 22:06:05 +0200 | coco | (~coco@212-51-146-199.fiber7.init7.net) (Quit: WeeChat 3.5) |
2022-07-29 22:08:23 +0200 | <koala_man> | hmm. I tried to do some refactoring, added in some new language features, and now my source file has been compiling for 2.5 hours |
2022-07-29 22:09:11 +0200 | Ram-Z | (~Ram-Z@li1814-254.members.linode.com) |
2022-07-29 22:11:45 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 22:12:40 +0200 | SamBellamy | (~SamBellam@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Ping timeout: 252 seconds) |
2022-07-29 22:12:57 +0200 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 245 seconds) |
2022-07-29 22:15:34 +0200 | <Inst> | gah, this is killing me |
2022-07-29 22:25:14 +0200 | tstat | (~user@user/tstat) (Remote host closed the connection) |
2022-07-29 22:25:23 +0200 | SamBellamy | (~SamBellam@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) |
2022-07-29 22:27:36 +0200 | SamBellamy | (~SamBellam@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection) |
2022-07-29 22:27:53 +0200 | SamBellamy | (~SamBellam@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) |
2022-07-29 22:30:28 +0200 | <dsal> | koala_man: Woah. That's pretty hard core. And/or probably broken. |
2022-07-29 22:30:32 +0200 | <dsal> | Unless you don't have a lot of RAM. |
2022-07-29 22:31:32 +0200 | geekosaur | would have stopped it and restarted with some -v and/or -d… options by that point |
2022-07-29 22:35:32 +0200 | <geekosaur> | -ddump-timings -dshow-passes and maybe -dverbose-core2core |
2022-07-29 22:35:39 +0200 | <koala_man> | dsal: I have 24GB. I realized something was wrong after 60 seconds but I left it for five minutes, then went to lunch |
2022-07-29 22:36:23 +0200 | <sm> | which ghc version and platform ? |
2022-07-29 22:36:27 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-07-29 22:36:27 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-07-29 22:36:27 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-07-29 22:37:25 +0200 | <c_wraith> | GHC usually tries pretty hard to fail with some message about what's going on if compilation is taking too log. |
2022-07-29 22:37:26 +0200 | <koala_man> | 8.8.4 on Ubuntu. it was just an experiment and it's not blocking me |
2022-07-29 22:37:37 +0200 | <c_wraith> | It's probably worth a ticket if it's not fixed in newer versions |
2022-07-29 22:37:45 +0200 | <c_wraith> | too *long* |
2022-07-29 22:38:15 +0200 | <c_wraith> | 8.8 is an odd choice, though. 8.10.7 is usually considered pretty solid. |
2022-07-29 22:39:22 +0200 | <geekosaur> | 8.8 is probably what ubuntu packages still |
2022-07-29 22:39:36 +0200 | <geekosaur> | I think they only just upgraded debian unstable |
2022-07-29 22:39:54 +0200 | <c_wraith> | I'm sort of optimistic that 9.2.4 might finally be a production-ready 9.x version. |
2022-07-29 22:40:11 +0200 | <c_wraith> | But we'll have to wait a couple weeks to see if anything comes up, I guess |
2022-07-29 22:41:13 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
2022-07-29 22:43:13 +0200 | <sm> | there have been quite a lot of compilation perf bugs fixed since then |
2022-07-29 22:43:23 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds) |
2022-07-29 22:45:11 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-07-29 22:47:28 +0200 | <koala_man> | I'm trying to test in Docker's haskell:latest but Comcast has decided that I only get 4 Mbps today so it might be a while |
2022-07-29 22:48:55 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
2022-07-29 22:49:06 +0200 | Pickchea | (~private@user/pickchea) |
2022-07-29 22:51:10 +0200 | Guest3 | (~textual@64.145.79.82) |
2022-07-29 22:57:42 +0200 | chomwitt | (~chomwitt@2a02:587:dc00:5a00:3f62:1f2e:7818:a61c) (Ping timeout: 264 seconds) |
2022-07-29 22:59:20 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-07-29 23:01:46 +0200 | Me-me | (~me-me@user/me-me) (Quit: Disconnecting on purpose.) |
2022-07-29 23:02:48 +0200 | Me-me | (~me-me@tunnel690570-pt.tunnel.tserv12.mia1.ipv6.he.net) |
2022-07-29 23:07:16 +0200 | <mrianbloom> | What libraries would you use to implement the concepts from "Scrap your boilerplate"? |
2022-07-29 23:07:45 +0200 | <mrianbloom> | Let me add to that: with GADTs |
2022-07-29 23:12:35 +0200 | alp_ | (~alp@user/alp) |
2022-07-29 23:13:47 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 245 seconds) |
2022-07-29 23:13:56 +0200 | matthewmosior | (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
2022-07-29 23:15:03 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-07-29 23:15:43 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-07-29 23:17:28 +0200 | <dsal> | recursion schemes? |
2022-07-29 23:18:01 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-07-29 23:19:22 +0200 | cbdlt^ | (~cbdlt@50-242-35-142-static.hfc.comcastbusiness.net) |
2022-07-29 23:29:59 +0200 | zebrag | (~chris@user/zebrag) (Ping timeout: 252 seconds) |
2022-07-29 23:30:25 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-07-29 23:31:33 +0200 | michalz | (~michalz@185.246.204.75) (Remote host closed the connection) |
2022-07-29 23:34:18 +0200 | acidjnk | (~acidjnk@p200300d6e7058697f9c73f5459b42564.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2022-07-29 23:34:22 +0200 | acidjnk_new | (~acidjnk@p200300d6e7058697153735ad212ee21c.dip0.t-ipconnect.de) |
2022-07-29 23:35:38 +0200 | matthewmosior | (~matthewmo@173.170.253.91) |
2022-07-29 23:37:03 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-07-29 23:37:10 +0200 | JannisO | (~JannisO@dyndsl-089-166-213-108.ewe-ip-backbone.de) (Ping timeout: 260 seconds) |
2022-07-29 23:40:42 +0200 | Guest3 | (~textual@64.145.79.82) (Quit: Textual IRC Client: www.textualapp.com) |
2022-07-29 23:46:07 +0200 | yin | (~yin@user/zero) (Ping timeout: 252 seconds) |
2022-07-29 23:46:17 +0200 | <mrianbloom> | I'm assuming that the names from the paper have changed a bit and I'm curious what it sort of evolved into. |
2022-07-29 23:46:38 +0200 | theseb | (~cs@47.220.214.54) (Remote host closed the connection) |
2022-07-29 23:47:07 +0200 | <mrianbloom> | Like for example the typeclass Term, is that usually implemented as Data? |
2022-07-29 23:49:36 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
2022-07-29 23:49:37 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 245 seconds) |
2022-07-29 23:52:38 +0200 | maroloccio | (~marolocci@151.75.246.79) |
2022-07-29 23:56:04 +0200 | <koala_man> | in Docker haskell:latest, 9.2.3, ghc appears stuck on "*** Renamer/typechecker [ShellCheck.Parser]". Doesn't matter though, I don't think I was getting anywhere with it |