2024-07-10 00:02:25 +0200 | cpressey | (~weechat@176.254.71.203) |
2024-07-10 00:04:17 +0200 | rvalue | (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
2024-07-10 00:04:45 +0200 | rvalue | (~rvalue@user/rvalue) |
2024-07-10 00:05:42 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-10 00:19:55 +0200 | acidjnk_new | (~acidjnk@p200300d6e72cfb57c19ed6e10438e1d8.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2024-07-10 00:23:00 +0200 | mikess | (~mikess@user/mikess) (Ping timeout: 268 seconds) |
2024-07-10 00:25:35 +0200 | mikess | (~mikess@user/mikess) |
2024-07-10 00:30:36 +0200 | cpressey | (~weechat@176.254.71.203) (Quit: WeeChat 4.3.0) |
2024-07-10 00:31:18 +0200 | xdminsy | (~xdminsy@117.147.70.227) |
2024-07-10 00:42:28 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2024-07-10 00:49:57 +0200 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2024-07-10 01:01:05 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2024-07-10 01:06:21 +0200 | TimWolla | (~timwolla@2a01:4f8:150:6153:beef::6667) (Server closed connection) |
2024-07-10 01:06:31 +0200 | TimWolla | (~timwolla@2a01:4f8:150:6153:beef::6667) |
2024-07-10 01:07:11 +0200 | mikess | (~mikess@user/mikess) (Ping timeout: 272 seconds) |
2024-07-10 01:09:10 +0200 | mikess | (~mikess@user/mikess) |
2024-07-10 01:15:10 +0200 | <jackdk> | Does there exist some kind of magic horrid low-level function that can test whether of not I'm looking at a thunk or not? I am trying to track down a possible laziness bug |
2024-07-10 01:18:42 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-07-10 01:18:51 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2024-07-10 01:19:17 +0200 | tomku | (~tomku@user/tomku) (Ping timeout: 240 seconds) |
2024-07-10 01:19:20 +0200 | <yin> | jackdk: what have you tried so far? |
2024-07-10 01:19:34 +0200 | tomku | (~tomku@user/tomku) |
2024-07-10 01:19:51 +0200 | <yin> | you can force evaluation with bang patterns, `seq`, or Debug.Trace |
2024-07-10 01:21:13 +0200 | <yin> | a more complex alternative is to compile with profiling enabled and generate a profiling report, if you're comfortable with that |
2024-07-10 01:21:24 +0200 | <ncf> | https://stackoverflow.com/questions/28687384/test-if-a-value-has-been-evaluated-to-weak-head-norma… |
2024-07-10 01:21:26 +0200 | <jackdk> | yin: mostly "look at the code and think really hard", which lead to https://github.com/snoyberg/http-client/issues/538 . But the PR linked to it doesn't show an improvement in the heap profile. (If it were a fix, I would expect it to reduce the heap growth but not resolve it completely - we have another PR coming to fix responses being retained by resourcet |
2024-07-10 01:22:06 +0200 | dsrt^ | (dnfh@c-98-242-74-66.hsd1.ga.comcast.net) |
2024-07-10 01:22:14 +0200 | <jackdk> | Thank you both, there's some good stuff in that SO ilnk |
2024-07-10 01:30:22 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2024-07-10 01:30:22 +0200 | stiell | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2024-07-10 01:30:22 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) (Write error: Connection reset by peer) |
2024-07-10 01:30:37 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2024-07-10 01:30:49 +0200 | stiell | (~stiell@gateway/tor-sasl/stiell) |
2024-07-10 01:31:10 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) |
2024-07-10 01:31:54 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2024-07-10 01:32:19 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-10 01:36:51 +0200 | Square | (~Square@user/square) (Ping timeout: 252 seconds) |
2024-07-10 01:40:14 +0200 | dysthesis | (~dysthesis@user/dysthesis) |
2024-07-10 01:58:29 +0200 | peutri | (~peutri@bobo.desast.re) (Server closed connection) |
2024-07-10 01:58:38 +0200 | peutri | (~peutri@bobo.desast.re) |
2024-07-10 02:18:23 +0200 | <Axman6> | there was something about this on the well-typed blog |
2024-07-10 02:18:53 +0200 | <Axman6> | https://www.well-typed.com/blog/2020/09/nothunks/ |
2024-07-10 02:32:23 +0200 | <jackdk> | Axman6: neat, that's probably worth a look |
2024-07-10 02:33:54 +0200 | dysthesis | (~dysthesis@user/dysthesis) (Ping timeout: 260 seconds) |
2024-07-10 02:48:41 +0200 | gmg | (~user@user/gehmehgeh) |
2024-07-10 02:57:46 +0200 | euleritian | (~euleritia@dynamic-176-000-200-190.176.0.pool.telefonica.de) (Ping timeout: 246 seconds) |
2024-07-10 02:58:09 +0200 | euleritian | (~euleritia@dynamic-176-001-220-133.176.1.pool.telefonica.de) |
2024-07-10 02:58:13 +0200 | <jle`> | yeah if it exists it's probably at well-typed lol |
2024-07-10 03:03:38 +0200 | pointlessslippe1 | (~pointless@212.82.82.3) (Ping timeout: 268 seconds) |
2024-07-10 03:06:13 +0200 | <haskellbridge> | <iqubic (she/her)> Is there a way to take a point free expression and make it not point free? |
2024-07-10 03:06:43 +0200 | <haskellbridge> | <iqubic (she/her)> I'm looking at the function "f = (!! .) . iterate" |
2024-07-10 03:07:01 +0200 | <geekosaur> | @unpl f = (!! .) . iterate |
2024-07-10 03:07:01 +0200 | <lambdabot> | <unknown>.hs:1:3:Parse error: = |
2024-07-10 03:07:07 +0200 | <geekosaur> | @unpl (!! .) . iterate |
2024-07-10 03:07:07 +0200 | <lambdabot> | <unknown>.hs:1:5:Parse error: . |
2024-07-10 03:07:07 +0200 | <haskellbridge> | <iqubic (she/her)> Erm... "f = ((!!) . ) . iterate" |
2024-07-10 03:07:19 +0200 | <haskellbridge> | <iqubic (she/her)> It needs the extra brackets. |
2024-07-10 03:07:22 +0200 | <geekosaur> | @unpl ((!!) .) . iterate |
2024-07-10 03:07:22 +0200 | <lambdabot> | (\ x x0 -> (!!) (iterate x x0)) |
2024-07-10 03:07:35 +0200 | pointlessslippe1 | (~pointless@212.82.82.3) |
2024-07-10 03:07:59 +0200 | <geekosaur> | I believe lambdabot is using a utility you can install locally from Hackage |
2024-07-10 03:08:13 +0200 | <haskellbridge> | <iqubic (she/her)> I would like that. |
2024-07-10 03:08:22 +0200 | <geekosaur> | https://hackage.haskell.org/package/pointfree |
2024-07-10 03:09:36 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) |
2024-07-10 03:11:45 +0200 | <geekosaur> | hm, not for pointful, though |
2024-07-10 03:11:55 +0200 | <geekosaur> | https://hackage.haskell.org/package/lambdabot-haskell-plugins-5.3.1/docs/src/Lambdabot.Plugin.Hask… |
2024-07-10 03:12:32 +0200 | <Leary> | I mean, it /is/ the trivial direction. Basically just inline (.)? |
2024-07-10 03:15:21 +0200 | Square2 | (~Square4@user/square) |
2024-07-10 03:15:26 +0200 | <haskellbridge> | <iqubic (she/her)> What does calling a function as infix do when it has three arguments? |
2024-07-10 03:16:08 +0200 | <geekosaur> | same as calling a prefix function that way does: it's partially applied |
2024-07-10 03:16:15 +0200 | nicole | (ilbelkyr@libera/staff/ilbelkyr) (Read error: Software caused connection abort) |
2024-07-10 03:16:38 +0200 | <haskellbridge> | <iqubic (she/her)> Wait... a -> b -> c -> d = a -> b ->( c -> d) |
2024-07-10 03:17:19 +0200 | nicole | (ilbelkyr@libera/staff/ilbelkyr) |
2024-07-10 03:18:25 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2024-07-10 03:18:56 +0200 | <Axman6> | a -> b -> c -> d === a -> (b -> (c -> d)) |
2024-07-10 03:20:22 +0200 | <geekosaur> | contemplate |
2024-07-10 03:20:25 +0200 | <geekosaur> | :t on |
2024-07-10 03:20:26 +0200 | <lambdabot> | (b -> b -> c) -> (a -> b) -> a -> a -> c |
2024-07-10 03:20:36 +0200 | mikess | (~mikess@user/mikess) (Ping timeout: 268 seconds) |
2024-07-10 03:20:53 +0200 | <Axman6> | > let (!!!) :: a -> b -> c -> (a,b,c); (a !!! b) c = (a,b,c) in (1 !!! True) "wow" |
2024-07-10 03:20:54 +0200 | <lambdabot> | (1,True,"wow") |
2024-07-10 03:21:36 +0200 | <geekosaur> | recalling that it's usually used as e.g. `` compare `on` snd `` |
2024-07-10 03:25:25 +0200 | aforemny_ | (~aforemny@i59F516F8.versanet.de) (Ping timeout: 246 seconds) |
2024-07-10 03:25:42 +0200 | aforemny | (~aforemny@2001:9e8:6cdc:fe00:c401:62ea:26d2:61dd) |
2024-07-10 03:27:46 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2024-07-10 03:29:30 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2024-07-10 03:31:10 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 264 seconds) |
2024-07-10 03:34:05 +0200 | xff0x | (~xff0x@2405:6580:b080:900:d43c:fb27:30d6:fcc3) (Ping timeout: 240 seconds) |
2024-07-10 03:36:56 +0200 | <haskellbridge> | <thirdofmay18081814goya> what are some open-source web frontends (actual frontends, not frameworks) written in haskell? |
2024-07-10 03:37:07 +0200 | biberu | (~biberu@user/biberu) (Server closed connection) |
2024-07-10 03:37:29 +0200 | biberu | (~biberu@user/biberu) |
2024-07-10 03:40:12 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
2024-07-10 03:44:22 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2024-07-10 03:44:57 +0200 | czy | (~user@fortigate.wolfson.cam.ac.uk) |
2024-07-10 03:47:24 +0200 | mikess | (~mikess@user/mikess) |
2024-07-10 03:48:01 +0200 | <jackdk> | Does a web search turn up any promising candidates? I'm not really in that space |
2024-07-10 03:52:17 +0200 | machinedgod | (~machinedg@173.183.246.216) |
2024-07-10 03:52:56 +0200 | <yin> | is it me or lambdabot needs to update its dependencies? |
2024-07-10 03:54:10 +0200 | <geekosaur> | if you were looking at the page I pasted earlier, it's for an old version because there's no docs for the newer ones |
2024-07-10 03:54:34 +0200 | <geekosaur> | that said, there is one dependency that hasn't been updated and lambdabot's current maintainer is trying to get them to update it |
2024-07-10 03:55:28 +0200 | <geekosaur> | and hasn't updated past that point yet |
2024-07-10 03:55:42 +0200 | <geekosaur> | I don't really know the current status though |
2024-07-10 03:56:05 +0200 | ystael | (~ystael@user/ystael) (Ping timeout: 240 seconds) |
2024-07-10 03:56:46 +0200 | <geekosaur> | aside from the updated documentation PR based on the docs I wrote back when I ran it in the early-mid 2000s, I haven't touched it since |
2024-07-10 04:02:31 +0200 | rosco | (~rosco@175.136.155.137) |
2024-07-10 04:08:07 +0200 | acidsys | (~crameleon@openSUSE/member/crameleon) (Server closed connection) |
2024-07-10 04:08:23 +0200 | acidsys | (~crameleon@openSUSE/member/crameleon) |
2024-07-10 04:10:02 +0200 | <yin> | i just tried to install it a while ago with cabal install and was unable due to oeis i think |
2024-07-10 04:12:34 +0200 | euleritian | (~euleritia@dynamic-176-001-220-133.176.1.pool.telefonica.de) (Ping timeout: 264 seconds) |
2024-07-10 04:12:48 +0200 | euleritian | (~euleritia@dynamic-176-002-137-117.176.2.pool.telefonica.de) |
2024-07-10 04:15:50 +0200 | dysthesis | (~dysthesis@user/dysthesis) |
2024-07-10 04:20:34 +0200 | Moyst | (~moyst@user/moyst) (Ping timeout: 256 seconds) |
2024-07-10 04:21:05 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2024-07-10 04:27:12 +0200 | euleritian | (~euleritia@dynamic-176-002-137-117.176.2.pool.telefonica.de) (Ping timeout: 268 seconds) |
2024-07-10 04:27:32 +0200 | euleritian | (~euleritia@dynamic-176-001-133-022.176.1.pool.telefonica.de) |
2024-07-10 04:32:22 +0200 | td_ | (~td@i53870918.versanet.de) (Ping timeout: 264 seconds) |
2024-07-10 04:33:57 +0200 | td_ | (~td@i5387093F.versanet.de) |
2024-07-10 04:37:10 +0200 | machinedgod | (~machinedg@173.183.246.216) (Ping timeout: 264 seconds) |
2024-07-10 04:38:21 +0200 | euleritian | (~euleritia@dynamic-176-001-133-022.176.1.pool.telefonica.de) (Ping timeout: 252 seconds) |
2024-07-10 04:39:17 +0200 | euleritian | (~euleritia@dynamic-176-000-197-069.176.0.pool.telefonica.de) |
2024-07-10 04:40:53 +0200 | <Axman6> | @where pcph |
2024-07-10 04:40:53 +0200 | <lambdabot> | "Parallel and Concurrent Programming in Haskell" by Simon Marlow in 2013 at <http://community.haskell.org/~simonmar/pcph/>,<http://chimera.labs.oreilly.com/books/1230000000929/>,<https://web.archive. |
2024-07-10 04:40:53 +0200 | <lambdabot> | org/web/20180117194842/http://chimera.labs.oreilly.com/books/1230000000929>,<https://www.oreilly.com/library/view/parallel-and-concurrent/9781449335939/> |
2024-07-10 04:44:26 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2024-07-10 04:46:52 +0200 | Batzy | (~quassel@user/batzy) (Server closed connection) |
2024-07-10 04:47:08 +0200 | Batzy | (~quassel@user/batzy) |
2024-07-10 05:12:39 +0200 | dsrt^ | (dnfh@c-98-242-74-66.hsd1.ga.comcast.net) (Remote host closed the connection) |
2024-07-10 05:16:30 +0200 | rosco | (~rosco@175.136.155.137) (Quit: Lost terminal) |
2024-07-10 05:22:42 +0200 | tabaqui | (~root@87.200.123.114) (Ping timeout: 268 seconds) |
2024-07-10 05:27:21 +0200 | tcard__ | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving) |
2024-07-10 05:32:42 +0200 | tcard__ | (~tcard@2400:4051:5801:7500:1e90:74c3:2754:ce8a) |
2024-07-10 05:36:34 +0200 | tabaqui | (~root@87.200.123.114) |
2024-07-10 05:42:54 +0200 | segfaultfizzbuzz | (~segfaultf@23-93-79-84.fiber.dynamic.sonic.net) (Quit: segfaultfizzbuzz) |
2024-07-10 05:45:17 +0200 | yin | (~yin@user/zero) (Ping timeout: 240 seconds) |
2024-07-10 05:52:36 +0200 | yin | (~yin@user/zero) |
2024-07-10 05:55:48 +0200 | Xe | (~cadey@perl/impostor/xe) (Ping timeout: 255 seconds) |
2024-07-10 05:57:00 +0200 | yin | (~yin@user/zero) (Ping timeout: 252 seconds) |
2024-07-10 05:59:39 +0200 | euleritian | (~euleritia@dynamic-176-000-197-069.176.0.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-07-10 05:59:56 +0200 | euleritian | (~euleritia@77.22.252.56) |
2024-07-10 06:01:44 +0200 | aforemny_ | (~aforemny@i59F516EB.versanet.de) |
2024-07-10 06:02:34 +0200 | aforemny | (~aforemny@2001:9e8:6cdc:fe00:c401:62ea:26d2:61dd) (Ping timeout: 246 seconds) |
2024-07-10 06:04:41 +0200 | mauke | (~mauke@user/mauke) (Server closed connection) |
2024-07-10 06:04:50 +0200 | mauke | (~mauke@user/mauke) |
2024-07-10 06:13:24 +0200 | biberu | (~biberu@user/biberu) (Read error: Connection reset by peer) |
2024-07-10 06:23:27 +0200 | biberu | (~biberu@user/biberu) |
2024-07-10 06:29:45 +0200 | cln_ | (cln@wtf.cx) (Server closed connection) |
2024-07-10 06:30:02 +0200 | cln_ | (cln@wtf.cx) |
2024-07-10 06:39:05 +0200 | arkeet | (~arkeet@moriya.ca) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-07-10 06:42:09 +0200 | landonf | (landonf@mac68k.info) (Server closed connection) |
2024-07-10 06:42:17 +0200 | landonf | (landonf@mac68k.info) |
2024-07-10 06:46:33 +0200 | Moyst | (~moyst@user/moyst) |
2024-07-10 06:52:25 +0200 | mulk | (~mulk@p5b2dc1a2.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
2024-07-10 06:58:56 +0200 | barrucadu | (~barrucadu@carcosa.barrucadu.co.uk) (Server closed connection) |
2024-07-10 06:59:11 +0200 | barrucadu | (~barrucadu@carcosa.barrucadu.co.uk) |
2024-07-10 07:03:26 +0200 | arkeet | (~arkeet@moriya.ca) |
2024-07-10 07:05:12 +0200 | rvalue | (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
2024-07-10 07:05:29 +0200 | Square | (~Square@user/square) |
2024-07-10 07:05:51 +0200 | rvalue | (~rvalue@user/rvalue) |
2024-07-10 07:07:46 +0200 | Square2 | (~Square4@user/square) (Ping timeout: 256 seconds) |
2024-07-10 07:10:37 +0200 | euleritian | (~euleritia@77.22.252.56) (Ping timeout: 268 seconds) |
2024-07-10 07:10:49 +0200 | euleritian | (~euleritia@dynamic-176-000-197-069.176.0.pool.telefonica.de) |
2024-07-10 07:13:37 +0200 | euleritian | (~euleritia@dynamic-176-000-197-069.176.0.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-07-10 07:13:54 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-10 07:16:19 +0200 | mulk | (~mulk@p5b2dc1a2.dip0.t-ipconnect.de) |
2024-07-10 07:21:34 +0200 | acidjnk_new | (~acidjnk@p200300d6e72cfb08c14fbc96bb9a0d8c.dip0.t-ipconnect.de) |
2024-07-10 07:22:46 +0200 | dysthesis | (~dysthesis@user/dysthesis) (Ping timeout: 260 seconds) |
2024-07-10 07:44:01 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-07-10 07:53:14 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-07-10 08:00:27 +0200 | forell | (~forell@user/forell) (Ping timeout: 255 seconds) |
2024-07-10 08:03:55 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) (Ping timeout: 272 seconds) |
2024-07-10 08:18:27 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-07-10 08:19:19 +0200 | euleritian | (~euleritia@77.22.252.56) |
2024-07-10 08:19:25 +0200 | Natch | (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) (Ping timeout: 246 seconds) |
2024-07-10 08:21:58 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-10 08:31:33 +0200 | euleritian | (~euleritia@77.22.252.56) (Read error: Connection reset by peer) |
2024-07-10 08:31:40 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-10 08:34:05 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2024-07-10 08:42:10 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-07-10 08:42:53 +0200 | Square | (~Square@user/square) (Ping timeout: 240 seconds) |
2024-07-10 08:42:53 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-10 08:43:46 +0200 | Square | (~Square@user/square) |
2024-07-10 08:48:03 +0200 | mikess | (~mikess@user/mikess) (Ping timeout: 260 seconds) |
2024-07-10 08:48:59 +0200 | rosco | (~rosco@175.136.155.137) |
2024-07-10 08:49:09 +0200 | czy | (~user@fortigate.wolfson.cam.ac.uk) (Ping timeout: 252 seconds) |
2024-07-10 08:50:11 +0200 | mikess | (~mikess@user/mikess) |
2024-07-10 08:52:09 +0200 | phma | (phma@2001:5b0:212a:e8b8:9807:a029:7b5e:a865) (Read error: Connection reset by peer) |
2024-07-10 08:52:17 +0200 | rosco | (~rosco@175.136.155.137) (Client Quit) |
2024-07-10 08:52:53 +0200 | phma | (~phma@host-67-44-208-42.hnremote.net) |
2024-07-10 08:53:42 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 256 seconds) |
2024-07-10 08:56:07 +0200 | czy | (~user@fortigate.wolfson.cam.ac.uk) |
2024-07-10 08:56:44 +0200 | polux | (~polux@51-15-169-172.rev.poneytelecom.eu) (Server closed connection) |
2024-07-10 08:56:57 +0200 | polux | (~polux@51-15-169-172.rev.poneytelecom.eu) |
2024-07-10 08:59:22 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds) |
2024-07-10 09:00:22 +0200 | euleritian | (~euleritia@dynamic-176-000-197-069.176.0.pool.telefonica.de) |
2024-07-10 09:01:04 +0200 | czy | (~user@fortigate.wolfson.cam.ac.uk) (Ping timeout: 256 seconds) |
2024-07-10 09:04:27 +0200 | comonad | (~comonad@p200300d027032c0082816d0f21936a9a.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2024-07-10 09:05:19 +0200 | mud | (~mud@user/kadoban) (Ping timeout: 268 seconds) |
2024-07-10 09:05:57 +0200 | comonad | (~comonad@p200300d027307200d9dc300e6085cadf.dip0.t-ipconnect.de) |
2024-07-10 09:06:43 +0200 | Square | (~Square@user/square) (Ping timeout: 260 seconds) |
2024-07-10 09:11:40 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2024-07-10 09:12:21 +0200 | czy | (~user@fortigate.wolfson.cam.ac.uk) |
2024-07-10 09:12:32 +0200 | euleritian | (~euleritia@dynamic-176-000-197-069.176.0.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-07-10 09:12:50 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-10 09:17:22 +0200 | czy | (~user@fortigate.wolfson.cam.ac.uk) (Ping timeout: 264 seconds) |
2024-07-10 09:22:54 +0200 | <haskellbridge> | <sss1222> good morning and hello :) hope y'all doing well |
2024-07-10 09:23:56 +0200 | <Axman6> | We* are so well (*for some subset of 'We') |
2024-07-10 09:28:31 +0200 | <haskellbridge> | <sss1222> can the we-subset include itself? |
2024-07-10 09:29:17 +0200 | fernando-basso | (~fernando-@2a01:4f9:c012:63d3::1) (Server closed connection) |
2024-07-10 09:29:35 +0200 | fernando-basso | (~fernando-@2a01:4f9:c012:63d3::1) |
2024-07-10 09:30:35 +0200 | czy | (~user@fortigate.wolfson.cam.ac.uk) |
2024-07-10 09:31:06 +0200 | cross | (~cross@spitfire.i.gajendra.net) (Server closed connection) |
2024-07-10 09:31:39 +0200 | cross | (~cross@spitfire.i.gajendra.net) |
2024-07-10 09:33:15 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-07-10 09:33:59 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-10 09:34:12 +0200 | kritzefitz | (~kritzefit@debian/kritzefitz) (Server closed connection) |
2024-07-10 09:34:27 +0200 | kritzefitz | (~kritzefit@debian/kritzefitz) |
2024-07-10 09:35:21 +0200 | czy | (~user@fortigate.wolfson.cam.ac.uk) (Ping timeout: 252 seconds) |
2024-07-10 09:35:46 +0200 | czy | (~user@fortigate.wolfson.cam.ac.uk) |
2024-07-10 09:35:52 +0200 | bliminse | (~bliminse@user/bliminse) (Quit: leaving) |
2024-07-10 09:37:18 +0200 | kronicmage | (~kronicmag@neotame.csclub.uwaterloo.ca) (Server closed connection) |
2024-07-10 09:37:41 +0200 | kronicmage | (~kronicmag@neotame.csclub.uwaterloo.ca) |
2024-07-10 09:41:26 +0200 | tomku | (~tomku@user/tomku) (Remote host closed the connection) |
2024-07-10 09:41:40 +0200 | tomku | (~tomku@user/tomku) |
2024-07-10 09:51:42 +0200 | mreh | (~matthew@host86-160-168-12.range86-160.btcentralplus.com) |
2024-07-10 09:52:06 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2024-07-10 09:52:25 +0200 | YoungFrog | (~youngfrog@2a02:a03f:c9db:fc00:d00c:2e8b:63d8:afbe) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in) |
2024-07-10 09:52:46 +0200 | YoungFrog | (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) |
2024-07-10 09:53:04 +0200 | ft | (~ft@p4fc2ab80.dip0.t-ipconnect.de) (Quit: leaving) |
2024-07-10 09:56:40 +0200 | yin | (~yin@user/zero) |
2024-07-10 09:57:35 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-07-10 10:03:04 +0200 | rosco | (~rosco@175.136.155.137) |
2024-07-10 10:07:08 +0200 | michalz | (~michalz@185.246.207.217) |
2024-07-10 10:09:03 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
2024-07-10 10:10:09 +0200 | danse-prigionier | (~danse-pri@93-34-6-146.ip47.fastwebnet.it) |
2024-07-10 10:11:22 +0200 | danse-prigionier | danse-prisonnier |
2024-07-10 10:11:26 +0200 | kuribas | (~user@2a02:1808:8:dbfe:ec2a:b9af:7d30:2ea3) |
2024-07-10 10:12:57 +0200 | APic | (apic@apic.name) (Server closed connection) |
2024-07-10 10:13:09 +0200 | APic | (apic@apic.name) |
2024-07-10 10:13:15 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-10 10:13:26 +0200 | danse-prisonnier | danse-prison |
2024-07-10 10:14:36 +0200 | kraftwerk28 | (~kraftwerk@164.92.219.160) |
2024-07-10 10:14:45 +0200 | kraftwerk28 | (~kraftwerk@164.92.219.160) (Remote host closed the connection) |
2024-07-10 10:15:26 +0200 | chele | (~chele@user/chele) |
2024-07-10 10:17:43 +0200 | bliminse | (~bliminse@user/bliminse) |
2024-07-10 10:27:42 +0200 | tomsmeding | (~tomsmedin@static.21.109.88.23.clients.your-server.de) (Quit: ZNC 1.9.0 - https://znc.in) |
2024-07-10 10:28:48 +0200 | <kuribas> | I don't understand test fetishes. I get you want a few integration tests, maybe some unit tests on code that has complicated logic, or a difficult (highly optimized) implementation. But it looks to me that full coverage testing is mostly an artifact of the frailty of most programming languages. |
2024-07-10 10:28:59 +0200 | <kuribas> | Especially dynamic languages. |
2024-07-10 10:29:50 +0200 | <danse-prison> | "full test coverage" is something like an unicorn. Of course the extreme case makes little sense to most of us |
2024-07-10 10:30:22 +0200 | <kuribas> | IMO real full coverage means a formal proof. |
2024-07-10 10:30:37 +0200 | <kuribas> | But the reason for "full test coverage" is just how easy it is to break dynamic programs. |
2024-07-10 10:31:02 +0200 | <danse-prison> | if you mean that correctness can be achieved in better ways, i agree. But tests provide something else than correctness as a side effect, good interfaces |
2024-07-10 10:31:06 +0200 | tomsmeding | (~tomsmedin@static.21.109.88.23.clients.your-server.de) |
2024-07-10 10:32:04 +0200 | dhil | (~dhil@2001:8e0:2014:3100:d824:2bdc:f538:dd26) |
2024-07-10 10:32:15 +0200 | <danse-prison> | and are more accessible to newcomers than other means. Considering that stuff like .* is frowned upon because "too abstract"... i don't think many arguments stand |
2024-07-10 10:36:45 +0200 | rosco | (~rosco@175.136.155.137) (Quit: Lost terminal) |
2024-07-10 10:43:11 +0200 | mikess | (~mikess@user/mikess) (Ping timeout: 256 seconds) |
2024-07-10 10:45:21 +0200 | mikess | (~mikess@user/mikess) |
2024-07-10 10:48:36 +0200 | opqdonut | (opqdonut@pseudo.fixme.fi) (Server closed connection) |
2024-07-10 10:48:46 +0200 | opqdonut | (opqdonut@pseudo.fixme.fi) |
2024-07-10 10:50:03 +0200 | ircbrowse_tom | (~ircbrowse@user/tomsmeding/bot/ircbrowse-tom) |
2024-07-10 10:50:04 +0200 | Server | +Cnt |
2024-07-10 10:50:20 +0200 | cfricke | (~cfricke@user/cfricke) |
2024-07-10 10:50:22 +0200 | yahb2 | (~yahb2@user/tomsmeding/bot/yahb2) (Remote host closed the connection) |
2024-07-10 10:50:47 +0200 | yahb2 | (~yahb2@user/tomsmeding/bot/yahb2) |
2024-07-10 10:50:47 +0200 | ChanServ | +v yahb2 |
2024-07-10 10:52:59 +0200 | bsima1 | (9d7e39c8ad@2a03:6000:1812:100::dd) (Server closed connection) |
2024-07-10 10:53:05 +0200 | bsima1 | (9d7e39c8ad@2a03:6000:1812:100::dd) |
2024-07-10 10:59:27 +0200 | finsternis | (~X@23.226.237.192) (Server closed connection) |
2024-07-10 10:59:48 +0200 | finsternis | (~X@23.226.237.192) |
2024-07-10 11:01:34 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2024-07-10 11:01:47 +0200 | gehmehgeh | gmg |
2024-07-10 11:05:23 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-07-10 11:05:30 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-10 11:08:25 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-07-10 11:10:44 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) |
2024-07-10 11:17:28 +0200 | zmt01 | (~zmt00@user/zmt00) |
2024-07-10 11:20:39 +0200 | zmt00 | (~zmt00@user/zmt00) (Ping timeout: 260 seconds) |
2024-07-10 11:21:35 +0200 | <kuribas> | True, sometimes tests can serve as documentation on how to use the API. |
2024-07-10 11:22:13 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds) |
2024-07-10 11:23:01 +0200 | euleritian | (~euleritia@dynamic-176-000-197-069.176.0.pool.telefonica.de) |
2024-07-10 11:23:25 +0200 | euleritian | (~euleritia@dynamic-176-000-197-069.176.0.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-07-10 11:23:44 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-10 11:26:32 +0200 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:c640:cbb1:10f1:eac6) |
2024-07-10 11:29:38 +0200 | gmg | (~user@user/gehmehgeh) (Ping timeout: 260 seconds) |
2024-07-10 11:30:04 +0200 | <haskellbridge> | <sm> They sometimes help force a good API and good internal structure, as types sometimes do |
2024-07-10 11:30:46 +0200 | <haskellbridge> | <sm> And sometimes they're just cost effective when types/proofs aren't |
2024-07-10 11:31:06 +0200 | <haskellbridge> | <sm> They're a tool in the software engineer's toolbox |
2024-07-10 11:34:40 +0200 | <mreh> | unfortunately most developers don't see it that way |
2024-07-10 11:36:11 +0200 | gmg | (~user@user/gehmehgeh) |
2024-07-10 11:37:35 +0200 | <kuribas> | haskellbridge: yeah, tests are a good engineering tool, they are not the catch-all of quality control IMO. |
2024-07-10 11:38:38 +0200 | <mreh> | > Stack failed to create project-level YAML configuration, as it was unable to download the index of available snapshots. |
2024-07-10 11:38:39 +0200 | <lambdabot> | <hint>:1:56: error: parse error on input ‘,’ |
2024-07-10 11:38:42 +0200 | <mreh> | hmm |
2024-07-10 11:39:39 +0200 | <kuribas> | You have (in no particular order): tests, static types, manual testing, code reviews, just wel structured and readable codebases, good documentation, etc... |
2024-07-10 11:39:53 +0200 | <kuribas> | But in so many places all the effort seems to go to tests. |
2024-07-10 11:40:06 +0200 | <danse-prison> | those are not the worst places in my opinion |
2024-07-10 11:40:20 +0200 | <danse-prison> | is there any similar project you can mention? |
2024-07-10 11:40:33 +0200 | <mreh> | where can I report stackage outages? |
2024-07-10 11:40:53 +0200 | <danse-prison> | first you should verify it's their outage probably |
2024-07-10 11:40:56 +0200 | <mreh> | https://haddock.stackage.org/snapshots.json = 404 |
2024-07-10 11:41:04 +0200 | <kuribas> | danse-prison: you mean "extreme go horse" places? |
2024-07-10 11:41:08 +0200 | <mreh> | Connection time out |
2024-07-10 11:41:15 +0200 | <danse-prison> | huh? |
2024-07-10 11:41:18 +0200 | danse-prison | (~danse-pri@93-34-6-146.ip47.fastwebnet.it) (Quit: Client closed) |
2024-07-10 11:41:25 +0200 | <kuribas> | https://medium.com/@dekaah/22-axioms-of-the-extreme-go-horse-methodology-xgh-9fa739ab55b4 |
2024-07-10 11:41:31 +0200 | danse-prigionier | (~danse-pri@93-34-6-146.ip47.fastwebnet.it) |
2024-07-10 11:41:44 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-10 11:41:59 +0200 | mikess | (~mikess@user/mikess) (Ping timeout: 256 seconds) |
2024-07-10 11:43:07 +0200 | danse-prigionier | danse-prison |
2024-07-10 11:43:13 +0200 | <mreh> | I'm pretty sure stackage is having some kind of outage |
2024-07-10 11:44:22 +0200 | <mreh> | their reverse proxy sez so |
2024-07-10 11:45:59 +0200 | <kuribas> | this works for me: https://www.stackage.org/snapshots |
2024-07-10 11:46:00 +0200 | forell | (~forell@user/forell) |
2024-07-10 11:46:32 +0200 | <mreh> | okay, but the command line tool `stack` doesn't use that |
2024-07-10 11:46:52 +0200 | <mreh> | It's trying to fetch this https://haddock.stackage.org/snapshots.json |
2024-07-10 11:46:52 +0200 | <danse-prison> | >> XGH is a fictional methodology that mocks the worst practices of Agile development. It involves doing the first thing that comes to mind, ignoring quality, schedules, tests, and refactoring, and blaming others when things go wrong. |
2024-07-10 11:46:59 +0200 | <danse-prison> | "ignoring tests" |
2024-07-10 11:47:04 +0200 | <danse-prison> | no, i did not mean that |
2024-07-10 11:48:34 +0200 | <mreh> | I always test, every time I run my programs |
2024-07-10 11:48:48 +0200 | <mreh> | (not parodying you) |
2024-07-10 11:49:03 +0200 | czy | (~user@fortigate.wolfson.cam.ac.uk) (Remote host closed the connection) |
2024-07-10 11:49:18 +0200 | czy | (~user@fortigate.wolfson.cam.ac.uk) |
2024-07-10 11:50:36 +0200 | krjst | (~krjst@2604:a880:800:c1::16b:8001) (Server closed connection) |
2024-07-10 11:50:36 +0200 | <danse-prison> | and you let your users test for you as well! That's the rule nowadays |
2024-07-10 11:51:03 +0200 | cfricke | (~cfricke@user/cfricke) (Ping timeout: 256 seconds) |
2024-07-10 11:51:15 +0200 | <danse-prison> | (parodying you) |
2024-07-10 11:51:44 +0200 | krjst | (~krjst@2604:a880:800:c1::16b:8001) |
2024-07-10 11:52:16 +0200 | <mreh> | I make user interfaces, it's natural fit! |
2024-07-10 11:53:12 +0200 | <danse-prison> | yeah, there is so much into a test than just catching errors |
2024-07-10 11:55:32 +0200 | <haskellbridge> | <sm> mreh: you can report in the #haskell-stack:matrix.org (https://matrix.to/#/#haskell-stack:matrix.org) matrix room or in https://github.com/commercialhaskell/stack/issues or comment on threads like https://discourse.haskell.org/t/ann-stack-2-15-3-and-earliers-default-source-for-list-of-stackage-… and... |
2024-07-10 11:55:36 +0200 | <haskellbridge> | ... https://discourse.haskell.org/t/solved-stack-new-and-stack-init-failing-missing-aws-asset-nosuchbu… (if it's the same issue). There's a recent rash of failures due to infrastructure migration breaking urls |
2024-07-10 11:55:52 +0200 | <mreh> | sm: thank you |
2024-07-10 11:56:01 +0200 | <haskellbridge> | <sm> well "rash" is overstating it, but there's a bit of a problem not yet resolved |
2024-07-10 11:58:54 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 268 seconds) |
2024-07-10 12:00:56 +0200 | czy | (~user@fortigate.wolfson.cam.ac.uk) (Remote host closed the connection) |
2024-07-10 12:02:06 +0200 | czy | (~user@fortigate.wolfson.cam.ac.uk) |
2024-07-10 12:02:06 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-07-10 12:02:39 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-10 12:04:58 +0200 | mud | (~mud@user/kadoban) |
2024-07-10 12:06:24 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 256 seconds) |
2024-07-10 12:06:30 +0200 | czy | (~user@fortigate.wolfson.cam.ac.uk) (Remote host closed the connection) |
2024-07-10 12:07:58 +0200 | kmein | (~weechat@user/kmein) (Ping timeout: 246 seconds) |
2024-07-10 12:09:47 +0200 | danse-prison | (~danse-pri@93-34-6-146.ip47.fastwebnet.it) (Quit: Client closed) |
2024-07-10 12:10:09 +0200 | danse-prison | (~danse-pri@93-34-6-146.ip47.fastwebnet.it) |
2024-07-10 12:11:32 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2024-07-10 12:12:26 +0200 | euleritian | (~euleritia@dynamic-176-000-197-069.176.0.pool.telefonica.de) |
2024-07-10 12:12:49 +0200 | Xe | (~cadey@perl/impostor/xe) |
2024-07-10 12:14:00 +0200 | euleritian | (~euleritia@dynamic-176-000-197-069.176.0.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-07-10 12:14:17 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-10 12:14:38 +0200 | tcard__ | (~tcard@2400:4051:5801:7500:1e90:74c3:2754:ce8a) (Quit: Leaving) |
2024-07-10 12:16:21 +0200 | czy | (~user@fortigate.wolfson.cam.ac.uk) |
2024-07-10 12:17:36 +0200 | bah | (~bah@l1.tel) (Quit: leaving) |
2024-07-10 12:19:47 +0200 | ggb | (a62ffbaf4f@2a03:6000:1812:100::3ac) (Server closed connection) |
2024-07-10 12:19:55 +0200 | ggb | (a62ffbaf4f@2a03:6000:1812:100::3ac) |
2024-07-10 12:21:19 +0200 | czy | (~user@fortigate.wolfson.cam.ac.uk) (Ping timeout: 260 seconds) |
2024-07-10 12:24:31 +0200 | cfricke | (~cfricke@user/cfricke) |
2024-07-10 12:25:40 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds) |
2024-07-10 12:26:27 +0200 | euleritian | (~euleritia@dynamic-176-000-197-069.176.0.pool.telefonica.de) |
2024-07-10 12:27:24 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) |
2024-07-10 12:29:10 +0200 | euleritian | (~euleritia@dynamic-176-000-197-069.176.0.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-07-10 12:29:29 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-10 12:36:25 +0200 | <danse-prison> | hmm does this https://vaibhavsagar.com/blog/2024/07/03/ghci-in-the-browser/ work for you? It does not seem to work for me |
2024-07-10 12:38:36 +0200 | <haskellbridge> | <vaibhavsagar> what browser are you using? |
2024-07-10 12:39:39 +0200 | <haskellbridge> | <vaibhavsagar> and how long did you give it to boot up etc.? |
2024-07-10 12:40:59 +0200 | <davean> | danse-prison: It works for me, its just so slow that I only noticed it infact worked because I walked away and came back. |
2024-07-10 12:41:19 +0200 | <davean> | danse-prison: I can't even type in it effectively. |
2024-07-10 12:41:55 +0200 | <davean> | danse-prison: Talking 30 seconds to register a keypress |
2024-07-10 12:43:05 +0200 | <haskellbridge> | <vaibhavsagar> davean: is that on every keypress or is it erratic? |
2024-07-10 12:43:25 +0200 | <haskellbridge> | <vaibhavsagar> because I'm trying it right now and it's inconsistent for me |
2024-07-10 12:44:46 +0200 | <danse-prison> | i'll try opening the page and leaving it sitting for a while then |
2024-07-10 12:45:00 +0200 | <haskellbridge> | <vaibhavsagar> very open to suggestions to make it perform better if you have any, it's more of a proof-of-concept than anything else |
2024-07-10 12:45:07 +0200 | cfricke | (~cfricke@user/cfricke) (Ping timeout: 260 seconds) |
2024-07-10 12:45:24 +0200 | cpressey | (~weechat@176.254.71.203) |
2024-07-10 12:45:38 +0200 | <haskellbridge> | <vaibhavsagar> while GHCi.js is being worked on |
2024-07-10 12:45:44 +0200 | <danse-prison> | yeah it's an hack with great potentialities, thanks for that! |
2024-07-10 12:46:52 +0200 | <danse-prison> | which type of "container" is this? |
2024-07-10 12:47:33 +0200 | <davean> | vaibhavsagar: Not every keypress, but most? |
2024-07-10 12:48:46 +0200 | <haskellbridge> | <vaibhavsagar> danse-prison: it's a Docker image compiled to WASM using "container2wasm" |
2024-07-10 12:49:17 +0200 | <danse-prison> | huh why do you need to compile a whole docker image? |
2024-07-10 12:49:17 +0200 | <haskellbridge> | <vaibhavsagar> here's the source if you're curious: https://github.com/vaibhavsagar/amd64-ghc-wasi-demo |
2024-07-10 12:50:10 +0200 | <haskellbridge> | <vaibhavsagar> my understanding is that GHCi assumes that it is installed on an operating system, otherwise it can't import anything |
2024-07-10 12:50:23 +0200 | <danse-prison> | i see |
2024-07-10 12:50:42 +0200 | <danse-prison> | that's how this works then. Maybe i will not download the ~1G |
2024-07-10 12:50:53 +0200 | <haskellbridge> | <vaibhavsagar> it's more like 220MB |
2024-07-10 12:50:59 +0200 | <haskellbridge> | <vaibhavsagar> but that's fair enough |
2024-07-10 12:51:05 +0200 | <danse-prison> | said 700M in the intro |
2024-07-10 12:51:15 +0200 | <haskellbridge> | <vaibhavsagar> I have since updated it |
2024-07-10 12:51:40 +0200 | <haskellbridge> | <vaibhavsagar> it's ~700MB uncompressed |
2024-07-10 12:51:48 +0200 | <danse-prison> | nice. I didn't know my browser could download a full docker image nowadays |
2024-07-10 12:52:20 +0200 | lukec | (9dfd4d094e@2a03:6000:1812:100::10e) (Server closed connection) |
2024-07-10 12:52:26 +0200 | lukec | (9dfd4d094e@2a03:6000:1812:100::10e) |
2024-07-10 12:52:33 +0200 | <haskellbridge> | <vaibhavsagar> it can download arbitrarily large bundles of WASM, so pretty much the same thing |
2024-07-10 12:53:04 +0200 | <danse-prison> | yeah but didn't know a docker image would be small enough and virtualisable that way |
2024-07-10 12:53:43 +0200 | <danse-prison> | what do you use for an incremental download of "arbitrary" sizes? Websockets? |
2024-07-10 12:53:54 +0200 | <haskellbridge> | <vaibhavsagar> you might enjoy the other demos: https://ktock.github.io/container2wasm-demo |
2024-07-10 12:54:18 +0200 | <danse-prison> | hmm i'm curious but not sure i "enjoy" dockers in my browser just yet ;) |
2024-07-10 12:54:36 +0200 | <haskellbridge> | <vaibhavsagar> it's fun to think of the possibilities |
2024-07-10 12:54:41 +0200 | <haskellbridge> | <vaibhavsagar> I'm more of a Nix guy myself |
2024-07-10 12:55:17 +0200 | <haskellbridge> | <vaibhavsagar> danse-prison: I meant in the same way that you'd download a large .iso, you can download a large file that happens to be WASM |
2024-07-10 12:55:19 +0200 | <danse-prison> | i find lightweight solutions more fun by yeah, i see your points. Having an interpreter in hackage pages is a brilliant idea |
2024-07-10 12:55:33 +0200 | <haskellbridge> | <vaibhavsagar> also in blog posts |
2024-07-10 12:56:02 +0200 | <haskellbridge> | <vaibhavsagar> or academic papers |
2024-07-10 12:56:06 +0200 | <danse-prison> | haskell's blogs don't even have engagement logic nowadays so the hackage one seems more likely to happen |
2024-07-10 12:56:14 +0200 | <danse-prison> | academics hate javascript |
2024-07-10 12:56:25 +0200 | <haskellbridge> | <vaibhavsagar> ah but my blog does have nonzero engagement |
2024-07-10 12:56:36 +0200 | <haskellbridge> | <vaibhavsagar> as evidenced by us having this conversation :) |
2024-07-10 12:57:01 +0200 | xff0x | (~xff0x@ai068022.d.east.v6connect.net) |
2024-07-10 12:57:04 +0200 | <danse-prison> | it's just because i like to hack dead community infrastructure |
2024-07-10 12:57:33 +0200 | <haskellbridge> | <vaibhavsagar> not sure what you mean by that, but it sounds interesting |
2024-07-10 12:57:46 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-10 12:58:02 +0200 | <danse-prison> | speaking of which... |
2024-07-10 12:59:00 +0200 | <davean> | vaibhavsagar: I mean GHCJS is pretty fast, and there are the microinterpriters. Probably more work, but if it did work it would be a lot faster. |
2024-07-10 12:59:14 +0200 | <davean> | Like the thing lambdabot runs off, etc, I forget their names |
2024-07-10 13:00:05 +0200 | <haskellbridge> | <vaibhavsagar> davean: I'd be over the moon if we got GHCi.js working so I could have a Haskell interpreter in the browser |
2024-07-10 13:00:39 +0200 | <haskellbridge> | <vaibhavsagar> but IMHO that's a long way away, and I'm not aware of anyone who is actively working on it right now |
2024-07-10 13:01:41 +0200 | <haskellbridge> | <vaibhavsagar> I've gotten some pretty dismissive answers when I've asked about this exact thing on IRC in the past |
2024-07-10 13:01:52 +0200 | <haskellbridge> | <vaibhavsagar> people telling me it's not possible |
2024-07-10 13:02:08 +0200 | <haskellbridge> | <vaibhavsagar> hence my demonstration that it is |
2024-07-10 13:02:22 +0200 | <tomsmeding> | everything is possible if you will badly enough, and you don't care much about the size of the bundle |
2024-07-10 13:02:33 +0200 | <tomsmeding> | whether it's _practical_ is another matter |
2024-07-10 13:02:49 +0200 | <tomsmeding> | was the idea of GHCi.js that GHCi would be compiled to JS via ghcjs/the JS backend/whatever ? |
2024-07-10 13:03:21 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-10 13:03:39 +0200 | <tomsmeding> | I mean, one could even imagine extending an alternative implementation like microhaskell enough that it can compile GHC and associated libraries, and then interpreting the resulting combinators in JS |
2024-07-10 13:03:48 +0200 | <tomsmeding> | nobody said anything about _performance_, after all |
2024-07-10 13:05:06 +0200 | <haskellbridge> | <vaibhavsagar> the roadmap explicitly says "haskell code interpreter in the browser" https://gitlab.haskell.org/ghc/ghc/-/wikis/javascript-backend/#roadmap |
2024-07-10 13:05:09 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-07-10 13:05:24 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-10 13:06:43 +0200 | danse-prison | (~danse-pri@93-34-6-146.ip47.fastwebnet.it) (Ping timeout: 250 seconds) |
2024-07-10 13:07:53 +0200 | <davean> | vaibhavsagar: ghcjs has been working for years. Its just a fork of GHC. Its used to staticize some of my stuff by moving all the logic to the frontend without code updates. |
2024-07-10 13:07:57 +0200 | Inst_ | (~Inst@user/Inst) |
2024-07-10 13:08:44 +0200 | Moyst | (~moyst@user/moyst) (Ping timeout: 252 seconds) |
2024-07-10 13:08:46 +0200 | <davean> | now, if it supports enough to make any of the haskell sandbox libs turn over is a different matter. |
2024-07-10 13:08:53 +0200 | <davean> | GHC is very much not standard Haskell code. |
2024-07-10 13:10:32 +0200 | CiaoSen | (~Jura@2a05:5800:2b5:3f00:e6b9:7aff:fe80:3d03) |
2024-07-10 13:11:42 +0200 | <Axman6> | vaibhavsagar: I haven't read back through all the chat above on GHCi in the browser, but on Safari I get "Promise Rejection: RangeError: Maximum call stack size exceeded." |
2024-07-10 13:12:50 +0200 | <haskellbridge> | <vaibhavsagar> davean: I've used GHCJS a bunch myself, I'm familiar with it. What it does _not_ provide is an interpreter I can run in the browser |
2024-07-10 13:15:03 +0200 | <Inst_> | EvanR: There's the QQ chat, which I can't seem to get in because my QQ keeps on getting "awaiting verification" |
2024-07-10 13:15:15 +0200 | <Inst_> | the Wechat for Chinese Haskell apparently popcorns every time Anduril gets brought up |
2024-07-10 13:19:12 +0200 | <davean> | vaibhavsagar: Correct, hence all the other stuff I was saying about how you'd have to use it |
2024-07-10 13:20:33 +0200 | rosco | (~rosco@175.136.155.137) |
2024-07-10 13:24:51 +0200 | rosco | (~rosco@175.136.155.137) (Client Quit) |
2024-07-10 13:25:53 +0200 | <haskellbridge> | <vaibhavsagar> oh, I see |
2024-07-10 13:26:28 +0200 | <haskellbridge> | <vaibhavsagar> I wasn't sure what you meant by "sandbox libs" |
2024-07-10 13:26:39 +0200 | <davean> | like hint, etc |
2024-07-10 13:26:47 +0200 | <davean> | There are a number of them |
2024-07-10 13:26:58 +0200 | <haskellbridge> | <vaibhavsagar> yeah, I maintain IHaskell, which also qualifies |
2024-07-10 13:27:48 +0200 | <davean> | Does it? I don't know about its internals |
2024-07-10 13:28:03 +0200 | <davean> | Most of the ones I've seen relie on ghc-lib which is where the challenges would start |
2024-07-10 13:28:21 +0200 | <haskellbridge> | <vaibhavsagar> yup, IHaskell shares a lot of code with GHCi |
2024-07-10 13:28:34 +0200 | <davean> | Never looked at it. |
2024-07-10 13:28:40 +0200 | <haskellbridge> | <vaibhavsagar> and also uses the GHC API directly |
2024-07-10 13:31:56 +0200 | <davean> | Well IIRC GHCJS contains a modified GHC library that runs in JS |
2024-07-10 13:32:20 +0200 | <davean> | SO *if* one could link against *that* well ... but I don't know how cleanly it would work, or if it would be a lot |
2024-07-10 13:32:31 +0200 | <davean> | Its been many years since I looked closely |
2024-07-10 13:40:45 +0200 | kuribas` | (~user@ip-188-118-57-242.reverse.destiny.be) |
2024-07-10 13:41:04 +0200 | kuribas | (~user@2a02:1808:8:dbfe:ec2a:b9af:7d30:2ea3) (Ping timeout: 246 seconds) |
2024-07-10 13:43:29 +0200 | whereiseveryone | (206ba86c98@2a03:6000:1812:100::2e4) (Server closed connection) |
2024-07-10 13:43:36 +0200 | whereiseveryone | (206ba86c98@2a03:6000:1812:100::2e4) |
2024-07-10 13:47:08 +0200 | [exa] | (~exa@user/exa/x-3587197) (Ping timeout: 268 seconds) |
2024-07-10 13:54:57 +0200 | simendsjo | (~user@c-cd76e253.197152-0-69706f6e6c79.bbcust.telenor.se) |
2024-07-10 13:58:23 +0200 | tomku | (~tomku@user/tomku) (Ping timeout: 260 seconds) |
2024-07-10 13:59:51 +0200 | tomku | (~tomku@user/tomku) |
2024-07-10 14:04:12 +0200 | laxmik | (~user@pc192b.fzu.cz) |
2024-07-10 14:07:11 +0200 | cpressey | (~weechat@176.254.71.203) (Ping timeout: 256 seconds) |
2024-07-10 14:15:30 +0200 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 268 seconds) |
2024-07-10 14:15:32 +0200 | rvalue- | (~rvalue@user/rvalue) |
2024-07-10 14:16:11 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) (Quit: WeeChat 4.2.2) |
2024-07-10 14:19:31 +0200 | rvalue- | rvalue |
2024-07-10 14:33:21 +0200 | hololeap | (~quassel@user/hololeap) (Server closed connection) |
2024-07-10 14:33:36 +0200 | hololeap | (~quassel@user/hololeap) |
2024-07-10 14:34:32 +0200 | phaazon | hadronized |
2024-07-10 14:39:44 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
2024-07-10 14:41:08 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2024-07-10 14:43:51 +0200 | [exa] | (~exa@user/exa/x-3587197) |
2024-07-10 14:44:51 +0200 | euleritian | (~euleritia@dynamic-176-000-197-069.176.0.pool.telefonica.de) |
2024-07-10 14:48:35 +0200 | jmcantrell | (644f1bed9a@user/jmcantrell) (Server closed connection) |
2024-07-10 14:48:45 +0200 | jmcantrell | (644f1bed9a@user/jmcantrell) |
2024-07-10 14:49:32 +0200 | JimL | (~quassel@89.162.16.26) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2024-07-10 14:49:49 +0200 | JimL | (~quassel@89.162.16.26) |
2024-07-10 14:52:32 +0200 | <bwe> | does hpack support referencing git refs as dependency? I can't find anything on the docs of it. |
2024-07-10 14:54:50 +0200 | <bwe> | like https://cabal.readthedocs.io/en/3.4/cabal-project.html?highlight=github#specifying-packages-from-r… |
2024-07-10 14:54:56 +0200 | <tomsmeding> | bwe: doesn't hpack simply compile to a .cabal file? .cabal files don't support git dependencies |
2024-07-10 14:55:05 +0200 | <tomsmeding> | the link you pasted is for a cabal.project, which is like stack.yaml |
2024-07-10 14:55:13 +0200 | <tomsmeding> | and, indeed, stack.yaml does support git dependencies |
2024-07-10 14:55:21 +0200 | <bwe> | it's a mess |
2024-07-10 14:55:34 +0200 | <bwe> | tooling, tooling, tooling… |
2024-07-10 14:55:42 +0200 | <tomsmeding> | a .cabal file defines the build configuration and the names of the dependencies for the package |
2024-07-10 14:55:51 +0200 | <tomsmeding> | the cabal.project / stack.yaml file defines where to get all of that _from_ |
2024-07-10 14:56:20 +0200 | sus | (1b7af6299f@user/zeromomentum) (Server closed connection) |
2024-07-10 14:56:29 +0200 | sus | (1b7af6299f@user/zeromomentum) |
2024-07-10 14:56:38 +0200 | <tomsmeding> | it is indeed a bit complicated if you're new to this tooling |
2024-07-10 14:57:02 +0200 | <tomsmeding> | the naming (*.cabal vs "cabal.project") doesn't help :p |
2024-07-10 14:57:38 +0200 | <tomsmeding> | something like "package.cabal" + "configuration.cabal" might have been clearer in retrospect |
2024-07-10 14:58:02 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2024-07-10 14:58:07 +0200 | <tomsmeding> | bwe: are you using stack, or are you using hpack with cabal? |
2024-07-10 14:58:18 +0200 | <bwe> | hpack with cabal |
2024-07-10 14:58:25 +0200 | <tomsmeding> | that is... unusual :) |
2024-07-10 14:58:49 +0200 | <tomsmeding> | but yes, a source-repository-package stanza in a cabal.project is what you're looking for |
2024-07-10 15:00:17 +0200 | <tomsmeding> | bwe: a way to think about this is perhaps that the *.cabal file is the thing that Hackage reads; Hackage does not read cabal.project files |
2024-07-10 15:00:41 +0200 | <tomsmeding> | and packages on Hackage must refer to other Hackage packages only (and external system dependencies); they cannot refer to git dependencies |
2024-07-10 15:01:10 +0200 | <tomsmeding> | thus if you want to do that, you'll need to specify such git dependencies in an additional configuration file that cabal interprets on top of the normal package description |
2024-07-10 15:01:16 +0200 | <tomsmeding> | and that file is cabal.project |
2024-07-10 15:01:28 +0200 | <bwe> | ah that makes sense to me now, thanks for explaining this |
2024-07-10 15:01:36 +0200 | <tomsmeding> | yay! |
2024-07-10 15:01:43 +0200 | <tomsmeding> | I learnt this by osmosis |
2024-07-10 15:01:57 +0200 | <tomsmeding> | *learned? |
2024-07-10 15:02:03 +0200 | <haskellbridge> | <mauke> ... and, unlike in Perl, you cannot depend on modules, only packages |
2024-07-10 15:02:23 +0200 | cpressey | (~weechat@176.254.71.203) |
2024-07-10 15:02:40 +0200 | <tomsmeding> | ah no, learnt is fine |
2024-07-10 15:03:51 +0200 | euleritian | (~euleritia@dynamic-176-000-197-069.176.0.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-07-10 15:04:09 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-10 15:05:41 +0200 | <bwe> | it fetches the repo now fine on `cabal repl`; however the mess is now in version conflicts that are unresolvable :* |
2024-07-10 15:06:05 +0200 | <tomsmeding> | the tooling is not quite clever enough to do that automatically :) |
2024-07-10 15:07:11 +0200 | jleightcap | (7bc4014b62@user/jleightcap) (Server closed connection) |
2024-07-10 15:07:19 +0200 | jleightcap | (7bc4014b62@user/jleightcap) |
2024-07-10 15:07:24 +0200 | cpressey | (~weechat@176.254.71.203) (Quit: WeeChat 4.3.0) |
2024-07-10 15:07:48 +0200 | JimL | (~quassel@89.162.16.26) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2024-07-10 15:08:06 +0200 | JimL | (~quassel@89.162.16.26) |
2024-07-10 15:09:23 +0200 | soverysour | (~soverysou@81.196.150.219) |
2024-07-10 15:09:23 +0200 | soverysour | (~soverysou@81.196.150.219) (Changing host) |
2024-07-10 15:09:23 +0200 | soverysour | (~soverysou@user/soverysour) |
2024-07-10 15:11:15 +0200 | JimL | (~quassel@89.162.16.26) (Client Quit) |
2024-07-10 15:11:34 +0200 | JimL | (~quassel@89.162.16.26) |
2024-07-10 15:13:28 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds) |
2024-07-10 15:14:23 +0200 | soverysour | (~soverysou@user/soverysour) (Ping timeout: 268 seconds) |
2024-07-10 15:14:38 +0200 | JimL | (~quassel@89.162.16.26) (Client Quit) |
2024-07-10 15:14:49 +0200 | euleritian | (~euleritia@dynamic-176-000-197-069.176.0.pool.telefonica.de) |
2024-07-10 15:15:00 +0200 | JimL | (~quassel@89.162.16.26) |
2024-07-10 15:15:02 +0200 | cfricke | (~cfricke@user/cfricke) |
2024-07-10 15:18:18 +0200 | danse-nr3 | (~danse-nr3@host-95-230-160-3.business.telecomitalia.it) |
2024-07-10 15:29:43 +0200 | kmein | (~weechat@user/kmein) |
2024-07-10 15:35:59 +0200 | euleritian | (~euleritia@dynamic-176-000-197-069.176.0.pool.telefonica.de) (Ping timeout: 264 seconds) |
2024-07-10 15:36:39 +0200 | euleritian | (~euleritia@dynamic-176-006-176-108.176.6.pool.telefonica.de) |
2024-07-10 15:38:15 +0200 | <bwe> | ok, I've resolved the conflict now. only missing bit seems to be that repl can't find the module itself. I've removed the package names from .cabal file since it tries to get them from hackage then. what's the right approach then? |
2024-07-10 15:40:31 +0200 | <bwe> | nvm, I needed to add them to .cabal file; it pulls them from the local path I've specified in the cabal.project file! wow, it works! |
2024-07-10 15:41:27 +0200 | laxmik | (~user@pc192b.fzu.cz) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4)) |
2024-07-10 15:50:29 +0200 | <tomsmeding> | right, the packages need to be in the .cabal file as usual; the cabal.project file just overrides where they come from |
2024-07-10 15:51:01 +0200 | <tomsmeding> | I hope you never run into this, but this overriding does _not_ work for dependencies of `build-tool` dependencies of your package |
2024-07-10 15:51:24 +0200 | <tomsmeding> | finding this out cost me a bit of time recently |
2024-07-10 15:52:51 +0200 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) |
2024-07-10 15:59:49 +0200 | ystael | (~ystael@user/ystael) |
2024-07-10 16:00:55 +0200 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving) |
2024-07-10 16:06:19 +0200 | cfricke | (~cfricke@user/cfricke) (Ping timeout: 246 seconds) |
2024-07-10 16:09:34 +0200 | Moyst | (~moyst@user/moyst) |
2024-07-10 16:18:29 +0200 | fn_lumi | (3d621153a5@2a03:6000:1812:100::df7) (Server closed connection) |
2024-07-10 16:18:36 +0200 | fn_lumi | (3d621153a5@2a03:6000:1812:100::df7) |
2024-07-10 16:21:58 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 256 seconds) |
2024-07-10 16:32:49 +0200 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:c640:cbb1:10f1:eac6) (Quit: ubert) |
2024-07-10 16:40:40 +0200 | danse-nr3 | (~danse-nr3@host-95-230-160-3.business.telecomitalia.it) (Quit: Leaving) |
2024-07-10 16:49:04 +0200 | soverysour | (~soverysou@user/soverysour) |
2024-07-10 16:51:02 +0200 | arcadewise | (52968ed80d@2a03:6000:1812:100::3df) (Server closed connection) |
2024-07-10 16:51:09 +0200 | arcadewise | (52968ed80d@2a03:6000:1812:100::3df) |
2024-07-10 16:53:59 +0200 | soverysour | (~soverysou@user/soverysour) (Ping timeout: 264 seconds) |
2024-07-10 17:05:36 +0200 | infinity0 | (~infinity0@pwned.gg) (Ping timeout: 256 seconds) |
2024-07-10 17:07:35 +0200 | Inst_ | Inst |
2024-07-10 17:08:05 +0200 | infinity0 | (~infinity0@pwned.gg) |
2024-07-10 17:08:51 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-10 17:10:31 +0200 | cfricke | (~cfricke@user/cfricke) |
2024-07-10 17:15:31 +0200 | soverysour | (~soverysou@user/soverysour) |
2024-07-10 17:17:23 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) |
2024-07-10 17:24:22 +0200 | <cheater> | how are you, fellow cult members? |
2024-07-10 17:24:47 +0200 | cheater | puts on a spiky pink hat with a green ponpon |
2024-07-10 17:33:04 +0200 | <int-e> | Nono, you want Rust. This here is a cabal. |
2024-07-10 17:34:01 +0200 | <int-e> | (In this picture, Rust is the cargo cult.) |
2024-07-10 17:37:47 +0200 | mikess | (~mikess@user/mikess) |
2024-07-10 17:40:15 +0200 | CiaoSen | (~Jura@2a05:5800:2b5:3f00:e6b9:7aff:fe80:3d03) (Ping timeout: 272 seconds) |
2024-07-10 17:40:28 +0200 | soverysour | (~soverysou@user/soverysour) (Ping timeout: 246 seconds) |
2024-07-10 17:42:01 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-10 17:43:21 +0200 | JuanDaugherty | is just a rank opportunist |
2024-07-10 17:48:45 +0200 | hugo | (znc@quicksilver.lysator.liu.se) (Ping timeout: 256 seconds) |
2024-07-10 17:50:37 +0200 | _0xa_ | (~user@2001:19f0:5001:2ba8:5400:1ff:feda:88fc) (Server closed connection) |
2024-07-10 17:50:48 +0200 | _0xa | (~user@2001:19f0:5001:2ba8:5400:1ff:feda:88fc) |
2024-07-10 17:50:48 +0200 | _0xa | (~user@2001:19f0:5001:2ba8:5400:1ff:feda:88fc) (Changing host) |
2024-07-10 17:50:48 +0200 | _0xa | (~user@user/0xa/x-3134607) |
2024-07-10 17:52:25 +0200 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:c640:cbb1:10f1:eac6) |
2024-07-10 17:55:27 +0200 | kuribas` | (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
2024-07-10 17:56:23 +0200 | simendsjo | (~user@c-cd76e253.197152-0-69706f6e6c79.bbcust.telenor.se) (Ping timeout: 264 seconds) |
2024-07-10 17:58:37 +0200 | <EvanR> | time to rewrite cabal in rust |
2024-07-10 17:59:11 +0200 | <EvanR> | hell rewrite GHC in rust! |
2024-07-10 18:00:21 +0200 | <int-e> | glhf |
2024-07-10 18:00:39 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 4.2.2) |
2024-07-10 18:05:16 +0200 | <mauke> | hell: rewrite ghc in rust |
2024-07-10 18:08:57 +0200 | <cheater> | int-e: oh, you missed the wired article? |
2024-07-10 18:10:38 +0200 | <cheater> | https://www.wired.com/story/inside-the-cult-of-the-haskell-programmer/ |
2024-07-10 18:11:01 +0200 | <int-e> | cheater: I did but I'd maintain my stance regardless. Words matter. |
2024-07-10 18:11:26 +0200 | <cheater> | oh, you're of the "WORDS have MEANING" bent? |
2024-07-10 18:11:41 +0200 | <int-e> | ...why is the code on the title image cut off |
2024-07-10 18:12:19 +0200 | <cheater> | i'm more of the "surfaces and essences by hofstadter" bent. words have no meaning. words have multiple meanings. the meaning depends on the context. |
2024-07-10 18:12:20 +0200 | <int-e> | it's offensive because it's like 6 more characters. |
2024-07-10 18:12:30 +0200 | <cheater> | maybe he copypasted wrong |
2024-07-10 18:12:30 +0200 | <systemfault> | They really don't want us to read the article.... Do you also have that awful neon yellow background on that page? |
2024-07-10 18:13:02 +0200 | <int-e> | I do. I'm about to disable CSS |
2024-07-10 18:13:16 +0200 | <cheater> | it's meant for your average gophers, they're famously color blind |
2024-07-10 18:13:34 +0200 | <mauke> | that reminds me. brb, listening to https://www.youtube.com/watch?v=Tv2l0nrBQ74&list=PL5coPQ2CQKeHq6nZRgLsLMeSbN089wrCa |
2024-07-10 18:13:52 +0200 | <int-e> | and it does not do the thing where you have to scroll down half a mile to skip over the social media icons that are scaled to 100% of the viewport width. yay. |
2024-07-10 18:14:51 +0200 | <cheater> | i love it when that happens |
2024-07-10 18:16:50 +0200 | <int-e> | Hmm no mention of Miranda. |
2024-07-10 18:18:07 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2024-07-10 18:20:33 +0200 | <int-e> | This is so shallow, I thought we were going to dive inside the cabal? |
2024-07-10 18:22:53 +0200 | __monty__ | (~toonn@user/toonn) |
2024-07-10 18:24:33 +0200 | <int-e> | This is like a deep dive on Scientology that gives a bunch of third party opinions and concludes with "people find Elron Hubbub's theories appealing." |
2024-07-10 18:26:19 +0200 | mechap | (~mechap@user/mechap) (Ping timeout: 246 seconds) |
2024-07-10 18:27:10 +0200 | mechap | (~mechap@user/mechap) |
2024-07-10 18:27:25 +0200 | <int-e> | cheater: Anyway, I don't think I had missed anything at all. :-P |
2024-07-10 18:36:26 +0200 | duncan | (c6181279e3@user/meow/duncan) (Server closed connection) |
2024-07-10 18:36:38 +0200 | duncan | (c6181279e3@user/meow/duncan) |
2024-07-10 18:38:56 +0200 | <cheater> | speaking of cults |
2024-07-10 18:39:18 +0200 | <cheater> | one of the mods on the sub just quit because the other mods are turning it into a welcoming party for trolls |
2024-07-10 18:39:35 +0200 | <EvanR> | words have no meaning, only consequences |
2024-07-10 18:39:41 +0200 | <cheater> | lol |
2024-07-10 18:39:53 +0200 | <cheater> | you forgot to crack the whip at the end of that sentence |
2024-07-10 18:40:00 +0200 | <EvanR> | lol |
2024-07-10 18:40:10 +0200 | Moyst_ | (~moyst@user/moyst) |
2024-07-10 18:41:03 +0200 | <EvanR> | orwellian wittgenstein |
2024-07-10 18:41:27 +0200 | <cheater> | thinking more of that old german ad that goes "RUF! MICH! AN!" |
2024-07-10 18:41:32 +0200 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:c640:cbb1:10f1:eac6) (Remote host closed the connection) |
2024-07-10 18:43:42 +0200 | Moyst | (~moyst@user/moyst) (Ping timeout: 252 seconds) |
2024-07-10 18:49:16 +0200 | Natch | (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) |
2024-07-10 18:58:08 +0200 | akspecs | (00cc8321af@sourcehut/user/akspecs) (Server closed connection) |
2024-07-10 18:58:16 +0200 | akspecs | (00cc8321af@sourcehut/user/akspecs) |
2024-07-10 18:59:22 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2024-07-10 19:07:26 +0200 | samhh_ | (7569f027cf@2a03:6000:1812:100::e4) (Server closed connection) |
2024-07-10 19:07:36 +0200 | samhh_ | (7569f027cf@2a03:6000:1812:100::e4) |
2024-07-10 19:12:21 +0200 | xstill_ | (xstill@fimu/xstill) (Server closed connection) |
2024-07-10 19:12:40 +0200 | xstill_ | (xstill@fimu/xstill) |
2024-07-10 19:20:51 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2024-07-10 19:31:37 +0200 | cpressey | (~weechat@176.254.71.203) |
2024-07-10 19:38:21 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2024-07-10 19:41:11 +0200 | jpyamamoto | (~jpyamamot@2806:2f0:92e5:a4e7:7db3:fca:c65b:c605) |
2024-07-10 19:42:00 +0200 | euleritian | (~euleritia@dynamic-176-006-176-108.176.6.pool.telefonica.de) (Ping timeout: 256 seconds) |
2024-07-10 19:43:00 +0200 | euleritian | (~euleritia@dynamic-176-001-136-166.176.1.pool.telefonica.de) |
2024-07-10 19:43:25 +0200 | <jpyamamoto> | Hey, I had a question regarding linear haskell. Do you know how it interacts with list comprehensions? |
2024-07-10 19:43:25 +0200 | <jpyamamoto> | I have the following code, which to my understanding shouldn't compile, since I'm using the argument non-linearly, but it does compile. So I'm not entirely sure what's going on behind the scenes. |
2024-07-10 19:43:26 +0200 | <jpyamamoto> | ```haskell |
2024-07-10 19:43:26 +0200 | <jpyamamoto> | weird :: Int %1 -> [Int] |
2024-07-10 19:43:27 +0200 | <jpyamamoto> | weird x = [x | _ <- [(1 :: Integer) .. 5]] |
2024-07-10 19:43:27 +0200 | <jpyamamoto> | ``` |
2024-07-10 19:44:42 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-07-10 19:45:48 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-10 19:48:30 +0200 | <EvanR> | list comprehension syntax is translated to core haskell through a set of rules https://www.haskell.org/onlinereport/exps.html#sect3.11 |
2024-07-10 19:48:55 +0200 | euleritian | (~euleritia@dynamic-176-001-136-166.176.1.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-07-10 19:49:13 +0200 | euleritian | (~euleritia@77.22.252.56) |
2024-07-10 19:52:00 +0200 | <mauke> | @undo [x | _ <- [(1 :: Integer) .. 5]] |
2024-07-10 19:52:00 +0200 | <lambdabot> | concatMap (\ _ -> [x]) [(1 :: Integer) .. 5] |
2024-07-10 19:52:21 +0200 | <EvanR> | undo undoes list comprehensions, cool |
2024-07-10 19:52:45 +0200 | <jpyamamoto> | Whoah that undo command is nice, didn't know about it |
2024-07-10 19:53:59 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds) |
2024-07-10 19:54:07 +0200 | <jpyamamoto> | That's weird, because when I actually use concatMap, it no longer typechecks |
2024-07-10 19:54:08 +0200 | <jpyamamoto> | ``` |
2024-07-10 19:54:08 +0200 | <jpyamamoto> | weird' :: Int %1 -> [Int] |
2024-07-10 19:54:09 +0200 | <jpyamamoto> | weird' x = concatMap (\_ -> [x]) [(1 :: Integer) .. 5] |
2024-07-10 19:54:09 +0200 | <jpyamamoto> | ``` |
2024-07-10 19:55:58 +0200 | <jle`> | that does seem like a bug then |
2024-07-10 19:56:53 +0200 | <EvanR> | maybe list comprehensions do something else in the face of linear types |
2024-07-10 19:57:01 +0200 | <jle`> | what if you moved the let back out like in the direct desugaring |
2024-07-10 19:57:22 +0200 | <jle`> | weird' x = let f _ = [x] in concatMap f [1..5] |
2024-07-10 20:02:52 +0200 | Square | (~Square@user/square) |
2024-07-10 20:02:59 +0200 | <jpyamamoto> | It doesn't typecheck, though the problem seems to be because of the function `f`, it is inferred to be non-linear |
2024-07-10 20:04:07 +0200 | <cheater> | i had no idea undo did that |
2024-07-10 20:04:11 +0200 | <cheater> | does hls have undo? |
2024-07-10 20:07:22 +0200 | <jpyamamoto> | `f` does not typecheck when using concatMap from base-linear. If I use concatMap from prelude, `x` is not used linearly and doesn't typecheck |
2024-07-10 20:10:50 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-10 20:10:59 +0200 | zlqrvx | (~zlqrvx@user/zlqrvx) (Server closed connection) |
2024-07-10 20:11:20 +0200 | zlqrvx | (~zlqrvx@user/zlqrvx) |
2024-07-10 20:12:32 +0200 | tessier | (~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Server closed connection) |
2024-07-10 20:12:56 +0200 | tessier | (~treed@ec2-184-72-149-67.compute-1.amazonaws.com) |
2024-07-10 20:14:12 +0200 | <cheater> | jpyamamoto: what is the type of concatMap from base-linear? |
2024-07-10 20:16:24 +0200 | <cheater> | ugh. whytf doesn't hackage have linear-base |
2024-07-10 20:17:06 +0200 | <cheater> | you have to select it from the dropdown |
2024-07-10 20:17:07 +0200 | <cheater> | that's stupid |
2024-07-10 20:17:14 +0200 | <cheater> | concatMap :: (a % 1 -> [b]) -> [a] % 1 -> [b] |
2024-07-10 20:17:25 +0200 | <cheater> | :t concatMap |
2024-07-10 20:17:26 +0200 | <lambdabot> | Foldable t => (a -> [b]) -> t a -> [b] |
2024-07-10 20:18:46 +0200 | <cheater> | jpyamamoto: so when you compile that list comprehension, what core output do you get? |
2024-07-10 20:18:52 +0200 | dyniec | (~dyniec@dybiec.info) |
2024-07-10 20:22:08 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
2024-07-10 20:23:06 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2024-07-10 20:23:59 +0200 | cpressey | (~weechat@176.254.71.203) (Ping timeout: 264 seconds) |
2024-07-10 20:24:59 +0200 | Square | (~Square@user/square) (Read error: Connection reset by peer) |
2024-07-10 20:26:17 +0200 | motherfsck | (~motherfsc@user/motherfsck) (Ping timeout: 256 seconds) |
2024-07-10 20:28:17 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
2024-07-10 20:30:04 +0200 | Square | (~Square@user/square) |
2024-07-10 20:32:13 +0200 | target_i | (~target_i@user/target-i/x-6023099) |
2024-07-10 20:35:28 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2024-07-10 20:36:02 +0200 | superbil | (~superbil@114-32-231-70.hinet-ip.hinet.net) (Quit: WeeChat 4.3.3) |
2024-07-10 20:38:51 +0200 | superbil | (~superbil@114-32-231-70.hinet-ip.hinet.net) |
2024-07-10 20:42:12 +0200 | <jpyamamoto> | cheater Took me a while, didn't know how to compile to core. But here is the output: |
2024-07-10 20:42:12 +0200 | <jpyamamoto> | weird :: Int %1 -> [Int] |
2024-07-10 20:42:13 +0200 | <jpyamamoto> | [GblId, |
2024-07-10 20:42:13 +0200 | <jpyamamoto> | Arity=1, |
2024-07-10 20:42:14 +0200 | <jpyamamoto> | Str=<L>, |
2024-07-10 20:42:14 +0200 | <jpyamamoto> | Unf=Unf{Src=<vanilla>, TopLvl=True, |
2024-07-10 20:42:15 +0200 | <jpyamamoto> | Value=True, ConLike=True, WorkFree=True, Expandable=True, |
2024-07-10 20:42:15 +0200 | <jpyamamoto> | Guidance=IF_ARGS [0] 211 0}] |
2024-07-10 20:42:16 +0200 | <jpyamamoto> | weird |
2024-07-10 20:42:16 +0200 | <jpyamamoto> | = \ (x1_a1gj :: Int) -> |
2024-07-10 20:42:17 +0200 | <jpyamamoto> | letrec { |
2024-07-10 20:42:17 +0200 | <jpyamamoto> | go3_X1E [Occ=LoopBreaker, Dmd=SCS(L)] :: Integer -> [Int] |
2024-07-10 20:42:18 +0200 | <jpyamamoto> | [LclId, Arity=1, Str=<1L>, Unf=OtherCon []] |
2024-07-10 20:42:18 +0200 | <jpyamamoto> | go3_X1E |
2024-07-10 20:42:19 +0200 | <jpyamamoto> | = \ (x2_a2te :: Integer) -> |
2024-07-10 20:42:19 +0200 | <jpyamamoto> | case x2_a2te of wild_a2tk { |
2024-07-10 20:42:20 +0200 | <jpyamamoto> | GHC.Num.Integer.IS x3_a2tl -> |
2024-07-10 20:42:20 +0200 | <jpyamamoto> | case ghc-prim:GHC.Prim.># x3_a2tl 5# of { |
2024-07-10 20:42:28 +0200 | <cheater> | homie don't paste shit in here |
2024-07-10 20:42:33 +0200 | <cheater> | use a pastebin pleeeease |
2024-07-10 20:43:06 +0200 | <EvanR> | esp since it's incomplete and the suspense is killing me |
2024-07-10 20:43:07 +0200 | <cheater> | look in the topic for one: /topic |
2024-07-10 20:43:34 +0200 | <cheater> | EvanR: i'm holding my breath and my face is turning purple |
2024-07-10 20:44:22 +0200 | <jpyamamoto> | Sorry, here's the pastebin: https://pastebin.com/FVbH5Abm |
2024-07-10 20:44:43 +0200 | <cheater> | no worries lol |
2024-07-10 20:46:28 +0200 | mreh | (~matthew@host86-160-168-12.range86-160.btcentralplus.com) (Ping timeout: 268 seconds) |
2024-07-10 20:48:32 +0200 | <cheater> | i suggest translating that back to haskell and seeing how that fails if at all |
2024-07-10 20:53:32 +0200 | <cheater> | honestly it sounds like a bug |
2024-07-10 20:53:36 +0200 | <cheater> | i'd report it on haskell-cafe |
2024-07-10 20:56:01 +0200 | yin | (~yin@user/zero) (Ping timeout: 268 seconds) |
2024-07-10 20:56:05 +0200 | dhil | (~dhil@2001:8e0:2014:3100:d824:2bdc:f538:dd26) (Ping timeout: 240 seconds) |
2024-07-10 20:59:19 +0200 | <jpyamamoto> | yeah, at first I thought it was because Int implements the Dupable typeclass, but i just tried using a type that does not implement Dupable, and still works. I think it's a bug |
2024-07-10 21:01:01 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) |
2024-07-10 21:04:27 +0200 | <jle`> | congrats |
2024-07-10 21:12:29 +0200 | mechap | (~mechap@user/mechap) (Ping timeout: 240 seconds) |
2024-07-10 21:22:45 +0200 | <int-e> | desugaring list comprehensions doesn't actually use concatMap... instead it generates ad-hoch recursive functions |
2024-07-10 21:22:53 +0200 | <int-e> | -h |
2024-07-10 21:24:09 +0200 | <int-e> | Or direct foldr/build things if optimization is enabled. |
2024-07-10 21:27:56 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-07-10 21:38:44 +0200 | <int-e> | So instead of that you get ad-hoc generation of constraints for list comprehension here, and evidently that doesn't account for loss of linearity. No clue how that would work :). https://gitlab.haskell.org/ghc/ghc/-/blob/master/compiler/GHC/Tc/Gen/Match.hs?ref_type=heads#L493-… |
2024-07-10 21:38:54 +0200 | mreh | (~matthew@host86-160-168-12.range86-160.btcentralplus.com) |
2024-07-10 21:51:54 +0200 | bilegeek | (~bilegeek@2600:1008:b019:7537:8fbb:bca3:6ac1:6fb0) |
2024-07-10 21:58:38 +0200 | smalltalkman | (uid545680@id-545680.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2024-07-10 22:09:07 +0200 | jpyamamoto | (~jpyamamot@2806:2f0:92e5:a4e7:7db3:fca:c65b:c605) (Quit: Client closed) |
2024-07-10 22:11:40 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-10 22:14:09 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-10 22:15:04 +0200 | soverysour | (~soverysou@81.196.150.219) |
2024-07-10 22:15:04 +0200 | soverysour | (~soverysou@81.196.150.219) (Changing host) |
2024-07-10 22:15:04 +0200 | soverysour | (~soverysou@user/soverysour) |
2024-07-10 22:22:15 +0200 | yin | (~yin@user/zero) |
2024-07-10 22:27:23 +0200 | tmr | (~tamer@5.2.74.82) (Server closed connection) |
2024-07-10 22:27:40 +0200 | tmr | (~tamer@5.2.74.82) |
2024-07-10 22:33:35 +0200 | andrea_r | (~user@93-49-96-212.ip366.fastwebnet.it) (Server closed connection) |
2024-07-10 22:33:53 +0200 | andrea_r | (~user@93-49-96-212.ip366.fastwebnet.it) |
2024-07-10 22:36:47 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-07-10 22:49:05 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 256 seconds) |
2024-07-10 22:55:44 +0200 | cpressey | (~weechat@176.254.71.203) |
2024-07-10 23:00:32 +0200 | cpressey | (~weechat@176.254.71.203) (Ping timeout: 252 seconds) |
2024-07-10 23:05:16 +0200 | yin | (~yin@user/zero) (Ping timeout: 246 seconds) |
2024-07-10 23:19:41 +0200 | euleritian | (~euleritia@77.22.252.56) (Read error: Connection reset by peer) |
2024-07-10 23:20:25 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-07-10 23:20:51 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2024-07-10 23:21:54 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
2024-07-10 23:23:14 +0200 | cpressey | (~weechat@176.254.71.203) |
2024-07-10 23:23:24 +0200 | tomku | (~tomku@user/tomku) (Ping timeout: 268 seconds) |
2024-07-10 23:23:38 +0200 | tomku | (~tomku@user/tomku) |
2024-07-10 23:25:09 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-07-10 23:25:13 +0200 | soverysour | (~soverysou@user/soverysour) (Ping timeout: 256 seconds) |
2024-07-10 23:25:16 +0200 | ft | (~ft@p4fc2ab80.dip0.t-ipconnect.de) |
2024-07-10 23:25:46 +0200 | visilii | (~visilii@213.24.125.33) (Quit: ZNC - https://znc.in) |
2024-07-10 23:28:02 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-07-10 23:31:27 +0200 | pavonia | (~user@user/siracusa) |
2024-07-10 23:32:02 +0200 | jpyamamoto | (~jpyamamot@2806:2f0:92e5:a4e7:7db3:fca:c65b:c605) |
2024-07-10 23:32:47 +0200 | michalz | (~michalz@185.246.207.217) (Quit: ZNC 1.9.0 - https://znc.in) |
2024-07-10 23:33:31 +0200 | jpyamamoto | (~jpyamamot@2806:2f0:92e5:a4e7:7db3:fca:c65b:c605) (Client Quit) |
2024-07-10 23:36:14 +0200 | cpressey | (~weechat@176.254.71.203) (Quit: WeeChat 4.3.0) |
2024-07-10 23:40:39 +0200 | CiaoSen | (~Jura@2a05:5800:2b5:3f00:e6b9:7aff:fe80:3d03) |
2024-07-10 23:42:11 +0200 | erisco | (~erisco@d24-141-66-165.home.cgocable.net) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in) |
2024-07-10 23:43:03 +0200 | erisco | (~erisco@d24-141-66-165.home.cgocable.net) |
2024-07-10 23:45:45 +0200 | target_i | (~target_i@user/target-i/x-6023099) (Quit: leaving) |
2024-07-10 23:49:39 +0200 | dysthesis | (~dysthesis@user/dysthesis) |
2024-07-10 23:50:48 +0200 | yin | (~yin@user/zero) |
2024-07-10 23:58:47 +0200 | mreh | (~matthew@host86-160-168-12.range86-160.btcentralplus.com) (Ping timeout: 264 seconds) |