2025-03-25 00:01:30 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2025-03-25 00:03:30 +0100 | iteratee | (~kyle@199.119.84.78) (Ping timeout: 272 seconds) |
2025-03-25 00:04:14 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-03-25 00:05:48 +0100 | iteratee | (~kyle@199.119.84.78) iteratee |
2025-03-25 00:07:12 +0100 | polyphem | (~rod@p4fc2c5d1.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2025-03-25 00:08:44 +0100 | tromp | (~textual@2001:1c00:3487:1b00:e1c2:84b0:caab:9b02) (Ping timeout: 260 seconds) |
2025-03-25 00:08:44 +0100 | <EvanR> | looks like building mueval is going to be fun |
2025-03-25 00:11:18 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 00:12:47 +0100 | <EvanR> | it builds fine in isolation |
2025-03-25 00:12:49 +0100 | sarna | (~sarna@d168-237.icpnet.pl) (Ping timeout: 260 seconds) |
2025-03-25 00:14:37 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 00:15:33 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 248 seconds) |
2025-03-25 00:17:38 +0100 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) szkl |
2025-03-25 00:18:31 +0100 | <int-e> | EvanR: https://github.com/TerenceNg03/mueval/issues/27 may be relevant |
2025-03-25 00:19:09 +0100 | <int-e> | I've *always* patched mueval for lambdabot because it hard-codes a -static link flag and that causes it to be way slower than the dynamic way |
2025-03-25 00:19:34 +0100 | <EvanR> | thx |
2025-03-25 00:19:48 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-03-25 00:20:53 +0100 | <int-e> | apart from that lambdabot should be fine with ghc-9.10 as released; ghc-9.12 looked out of reach two months ago (too many dependencies broke for me to try to get it to work) |
2025-03-25 00:25:45 +0100 | <EvanR> | and it needs an environment file |
2025-03-25 00:26:18 +0100 | <EvanR> | I'm on GHC 9.6 |
2025-03-25 00:28:09 +0100 | <mauke> | monochrom++ # continuations and stuff |
2025-03-25 00:30:25 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 00:30:34 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2025-03-25 00:31:36 +0100 | <Axman6> | monochrom (\r -> r+1) |
2025-03-25 00:32:05 +0100 | <mauke> | .oO( monochrom succ ) |
2025-03-25 00:33:13 +0100 | <Axman6> | so rude |
2025-03-25 00:35:25 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-03-25 00:37:59 +0100 | <Axman6> | monochrom (negate . pred . negate) |
2025-03-25 00:38:27 +0100 | <EvanR> | the issues tracker mentions creating a GHC environment file by making a dummy cabal project, listing the needed packages in the build-depends, then running cabal new-build "will create the GHC env file" |
2025-03-25 00:38:32 +0100 | <EvanR> | but I see no such file anywhere |
2025-03-25 00:40:04 +0100 | <EvanR> | or is none of this necessary if you fix the -static thing |
2025-03-25 00:40:43 +0100 | <geekosaur> | cabal (new-)build hasn't done that for a long time, I think; you need to use --package-env=… |
2025-03-25 00:44:09 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds) |
2025-03-25 00:46:12 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 00:46:25 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-03-25 00:49:15 +0100 | <EvanR> | cabal build --write-ghc-environment-files=always |
2025-03-25 00:49:41 +0100 | iteratee_ | (~kyle@199.119.84.78) |
2025-03-25 00:50:48 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-03-25 00:52:45 +0100 | <EvanR> | noice... an at least half functional mueval binary |
2025-03-25 00:52:54 +0100 | iteratee | (~kyle@199.119.84.78) (Ping timeout: 272 seconds) |
2025-03-25 00:56:42 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 00:57:45 +0100 | <EvanR> | That explains how lambdabot can evaluate expressions, but how does it infer the types |
2025-03-25 00:57:57 +0100 | <EvanR> | with the :t command |
2025-03-25 00:58:06 +0100 | <int-e> | it uses ghci for that |
2025-03-25 01:00:47 +0100 | sprotte24 | (~sprotte24@p200300d16f03d500a58d694121a6d0cd.dip0.t-ipconnect.de) (Quit: Leaving) |
2025-03-25 01:01:24 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 260 seconds) |
2025-03-25 01:01:33 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2025-03-25 01:01:59 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 01:07:14 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-03-25 01:13:51 +0100 | inca | (~inca@4-138-135-64.gray-ng.dsl.pinetreenetworks.com) (Ping timeout: 252 seconds) |
2025-03-25 01:14:02 +0100 | <EvanR> | it seems --load-file and GHC_ENVIRONMENT= don't work together, throwing a GhcException "Package environment \".ghc.environment.x86_64-linux-9.6.3\" (specified in GHC_ENVIRONMENT) not found" |
2025-03-25 01:14:24 +0100 | infinity0 | (~infinity0@pwned.gg) (Ping timeout: 252 seconds) |
2025-03-25 01:15:22 +0100 | inca | (~inca@4-138-135-64.gray-ng.dsl.pinetreenetworks.com) |
2025-03-25 01:16:27 +0100 | <EvanR> | and apparently isnt required anymore anyway... |
2025-03-25 01:17:45 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 01:19:51 +0100 | inca | (~inca@4-138-135-64.gray-ng.dsl.pinetreenetworks.com) (Ping timeout: 244 seconds) |
2025-03-25 01:20:28 +0100 | sp1ff | (~user@c-67-160-173-55.hsd1.wa.comcast.net) sp1ff |
2025-03-25 01:22:09 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
2025-03-25 01:24:34 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-03-25 01:24:59 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2025-03-25 01:25:23 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
2025-03-25 01:26:16 +0100 | statusbot | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Remote host closed the connection) |
2025-03-25 01:26:31 +0100 | statusbot | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) statusbot |
2025-03-25 01:26:40 +0100 | inca | (~inca@4-138-135-64.gray-ng.dsl.pinetreenetworks.com) |
2025-03-25 01:28:43 +0100 | PotatoGim | (sid99505@id-99505.lymington.irccloud.com) (Ping timeout: 245 seconds) |
2025-03-25 01:30:36 +0100 | PotatoGim | (sid99505@lymington.irccloud.com) PotatoGim |
2025-03-25 01:32:43 +0100 | Square | (~Square@user/square) Square |
2025-03-25 01:34:35 +0100 | infinity0 | (~infinity0@pwned.gg) infinity0 |
2025-03-25 01:35:48 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 01:38:23 +0100 | kh0d | (~kh0d@212.200.65.82) kh0d |
2025-03-25 01:38:28 +0100 | acidjnk | (~acidjnk@p200300d6e71c4f84f984511b1aacfb73.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2025-03-25 01:40:56 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
2025-03-25 01:42:53 +0100 | kh0d | (~kh0d@212.200.65.82) (Ping timeout: 245 seconds) |
2025-03-25 01:42:53 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds) |
2025-03-25 01:43:26 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 01:47:49 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 248 seconds) |
2025-03-25 01:51:35 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 01:53:24 +0100 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 246 seconds) |
2025-03-25 01:54:33 +0100 | xff0x | (~xff0x@2405:6580:b080:900:551a:8945:d45c:6ab4) (Ping timeout: 252 seconds) |
2025-03-25 01:56:21 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-03-25 02:00:36 +0100 | sarna | (~sarna@d192-22.icpnet.pl) sarna |
2025-03-25 02:00:58 +0100 | dsrt^ | (~dsrt@c-71-199-187-173.hsd1.ga.comcast.net) (Read error: Connection reset by peer) |
2025-03-25 02:01:09 +0100 | dsrt^ | (dsrt@c-71-199-187-173.hsd1.ga.comcast.net) |
2025-03-25 02:07:06 +0100 | s3 | (~s3@user/bn) (Ping timeout: 265 seconds) |
2025-03-25 02:07:24 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 02:12:13 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-03-25 02:13:44 +0100 | kh0d | (~kh0d@212.200.65.82) kh0d |
2025-03-25 02:18:32 +0100 | kh0d | (~kh0d@212.200.65.82) (Ping timeout: 244 seconds) |
2025-03-25 02:23:08 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 02:23:31 +0100 | kh0d | (~kh0d@212.200.65.82) kh0d |
2025-03-25 02:27:53 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-03-25 02:29:10 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 02:33:14 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-03-25 02:33:18 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 245 seconds) |
2025-03-25 02:35:23 +0100 | kh0d | (~kh0d@212.200.65.82) (Ping timeout: 245 seconds) |
2025-03-25 02:38:26 +0100 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
2025-03-25 02:38:56 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 02:43:33 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-03-25 02:47:01 +0100 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2025-03-25 02:50:53 +0100 | kh0d | (~kh0d@212.200.65.82) kh0d |
2025-03-25 02:53:11 +0100 | s3 | (~s3@user/bn) bn |
2025-03-25 02:54:43 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 02:56:15 +0100 | kh0d | (~kh0d@212.200.65.82) (Ping timeout: 244 seconds) |
2025-03-25 03:01:13 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-03-25 03:02:53 +0100 | polykernel | (~polykerne@user/polykernel) (Remote host closed the connection) |
2025-03-25 03:03:45 +0100 | polykernel | (~polykerne@user/polykernel) polykernel |
2025-03-25 03:05:33 +0100 | j1n37- | (~j1n37@user/j1n37) (Ping timeout: 244 seconds) |
2025-03-25 03:05:57 +0100 | j1n37 | (~j1n37@user/j1n37) j1n37 |
2025-03-25 03:10:29 +0100 | kh0d | (~kh0d@212.200.65.82) |
2025-03-25 03:12:45 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 03:13:53 +0100 | yaroot | (~yaroot@p3747022-ipxg13101souka.saitama.ocn.ne.jp) (Remote host closed the connection) |
2025-03-25 03:15:14 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 03:15:30 +0100 | emergence | (emergence@vm0.max-p.me) (Quit: emergence) |
2025-03-25 03:15:34 +0100 | kh0d | (~kh0d@212.200.65.82) (Ping timeout: 260 seconds) |
2025-03-25 03:16:38 +0100 | Garbanzo | (~Garbanzo@2602:304:6eac:dc10::2e) |
2025-03-25 03:17:08 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-03-25 03:19:33 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 245 seconds) |
2025-03-25 03:23:13 +0100 | yaroot | (~yaroot@2400:4052:ac0:d901:1cf4:2aff:fe51:c04c) yaroot |
2025-03-25 03:23:34 +0100 | emergence | (thelounge@vm0.max-p.me) emergence |
2025-03-25 03:23:58 +0100 | zlqrvx | (~zlqrvx@101.175.150.247) (Read error: Connection reset by peer) |
2025-03-25 03:24:33 +0100 | zlqrvx | (~zlqrvx@2001:8003:8c8b:e00:374a:bdcb:457c:d1e3) |
2025-03-25 03:25:14 +0100 | kh0d | (~kh0d@212.200.247.164) kh0d |
2025-03-25 03:27:39 +0100 | euphores | (~SASL_euph@user/euphores) (Ping timeout: 260 seconds) |
2025-03-25 03:28:09 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 03:30:23 +0100 | kh0d | (~kh0d@212.200.247.164) (Ping timeout: 245 seconds) |
2025-03-25 03:32:56 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-03-25 03:34:06 +0100 | orslon^ | (~orslon@c-71-199-187-173.hsd1.ga.comcast.net) (Ping timeout: 252 seconds) |
2025-03-25 03:35:14 +0100 | orslon^ | (orslon@c-71-199-187-173.hsd1.ga.comcast.net) |
2025-03-25 03:35:21 +0100 | euphores | (~SASL_euph@user/euphores) euphores |
2025-03-25 03:35:56 +0100 | emergence | (thelounge@vm0.max-p.me) (Quit: emergence) |
2025-03-25 03:37:53 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds) |
2025-03-25 03:38:51 +0100 | emergence | (thelounge@vm0.max-p.me) emergence |
2025-03-25 03:43:35 +0100 | Aspen55 | (~Aspen@2a09:bac2:a7f2:1800::264:bb) |
2025-03-25 03:43:56 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 03:45:23 +0100 | tavare | (~tavare@user/tavare) tavare |
2025-03-25 03:48:33 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
2025-03-25 03:51:03 +0100 | Aspen55 | (~Aspen@2a09:bac2:a7f2:1800::264:bb) (Quit: Client closed) |
2025-03-25 03:58:13 +0100 | <haskellbridge> | <Liamzee> have we gone over this yet? |
2025-03-25 03:58:14 +0100 | <haskellbridge> | <Liamzee> https://web-frameworks-benchmark.netlify.app/result?asc=0&f=axum,actix,servant&l=haskell&metric=to… |
2025-03-25 03:59:43 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 03:59:46 +0100 | kh0d | (~kh0d@212.200.247.164) kh0d |
2025-03-25 04:00:04 +0100 | glguy | (glguy@libera/staff/glguy) (Read error: Connection reset by peer) |
2025-03-25 04:00:59 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 04:01:36 +0100 | glguy | (glguy@libera/staff/glguy) glguy |
2025-03-25 04:02:42 +0100 | <haskellbridge> | <Liamzee> the surprising part is that scotty is beating axum and actix at low scales, when scotty isn't known for its performance |
2025-03-25 04:04:27 +0100 | kh0d | (~kh0d@212.200.247.164) (Ping timeout: 244 seconds) |
2025-03-25 04:04:27 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-03-25 04:05:01 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2025-03-25 04:05:11 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 244 seconds) |
2025-03-25 04:05:27 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) ChaiTRex |
2025-03-25 04:09:37 +0100 | <haskellbridge> | <dmjio> I’d expect servant and Scotty to be the same since they’re both basically warp. A 5x diff is sus |
2025-03-25 04:15:31 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 04:18:07 +0100 | kh0d | (~kh0d@212.200.247.164) kh0d |
2025-03-25 04:20:33 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-03-25 04:28:50 +0100 | <haskellbridge> | <Liamzee> yeah. tbh, full disclosure, both get beaten by ookami and microhttp |
2025-03-25 04:29:12 +0100 | <haskellbridge> | <Liamzee> but generally a high performance haskell library should be able to reach 50% of rust, which is just saying web frameworks need love |
2025-03-25 04:31:17 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 04:36:36 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-03-25 04:36:36 +0100 | werneta | (~werneta@syn-071-083-160-242.res.spectrum.com) werneta |
2025-03-25 04:38:23 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-03-25 04:40:21 +0100 | <haskellbridge> | <dmjio> We can just FFI into the fastest C web server |
2025-03-25 04:41:48 +0100 | <haskellbridge> | <dmjio> And use bytestring builder, with some light staging |
2025-03-25 04:42:06 +0100 | <monochrom> | It would also be most buggy. |
2025-03-25 04:43:29 +0100 | <haskellbridge> | <dmjio> I don’t buy that. C still runs the world |
2025-03-25 04:44:22 +0100 | <monochrom> | But do you buy: The glue code you write for FFI adds one more opportunity for bugs? |
2025-03-25 04:44:50 +0100 | <haskellbridge> | <dmjio> Where are all the rust network stacks. TCP/IP is the global highway of information and it’s predominantly in C |
2025-03-25 04:44:50 +0100 | <monochrom> | IMO that's even more buggy than plain C. |
2025-03-25 04:45:17 +0100 | <haskellbridge> | <dmjio> Rust is trying to make its way into the kernel with great difficulty |
2025-03-25 04:46:23 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 04:48:36 +0100 | <haskellbridge> | <dmjio> It’s too pervasive. Like cobol it’s never going away |
2025-03-25 04:49:20 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 04:50:30 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 246 seconds) |
2025-03-25 04:52:37 +0100 | Square2 | (~Square4@user/square) Square |
2025-03-25 04:54:03 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-03-25 04:54:19 +0100 | <haskellbridge> | <dmjio> monochrom do you buy there is an inverse correlation between the most used software and the most correct software |
2025-03-25 04:55:48 +0100 | Square | (~Square@user/square) (Ping timeout: 245 seconds) |
2025-03-25 04:55:55 +0100 | <haskellbridge> | <Liamzee> why does it have to be linear |
2025-03-25 04:55:59 +0100 | <monochrom> | Sure. |
2025-03-25 05:05:08 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 05:06:20 +0100 | <Axman6> | Well, when first looking at that benchmark, the Servant implementation uses String everywhere... |
2025-03-25 05:07:20 +0100 | <haskellbridge> | <dmjio> Until you can make writing Lean as easy and as familiar as JavaScript, I don’t see the situation changing any time soon. |
2025-03-25 05:07:22 +0100 | <haskellbridge> | I am optimistic about Zig though. You have to keep the foot gun accesible. |
2025-03-25 05:07:33 +0100 | <haskellbridge> | <dmjio> Axman6: Someone is sand baggin’ us |
2025-03-25 05:08:19 +0100 | <haskellbridge> | <dmjio> Zig embodies the Berkeley school philosophy which is why it will continue to succeed. |
2025-03-25 05:09:46 +0100 | <Axman6> | Looking at what the servers actually do, I would be surprised if there's heaps of overhead from using String, but there could be some. Changing it to Text should reduce conversions though |
2025-03-25 05:09:53 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-03-25 05:11:54 +0100 | <monochrom> | Oh Lean will never be as easy as C. Even Haskell will never be. |
2025-03-25 05:12:25 +0100 | <monochrom> | Haskell or similar languages can be a sweet spot of not too many bugs and not too slow. |
2025-03-25 05:14:07 +0100 | <monochrom> | But we don't even need that for the inverse correlation between most used and most correct, no? Social media has also shown us the inverse correlation between most believed and most correct. Like we need to rationalize that. |
2025-03-25 05:20:54 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 05:25:18 +0100 | <haskellbridge> | <Liamzee> also re dmjio: it's possible servant breaks the specialization in warp, but i'm not really familiar with warp in terms of its type architecture |
2025-03-25 05:27:08 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
2025-03-25 05:28:34 +0100 | kh0d | (~kh0d@212.200.247.164) (Ping timeout: 260 seconds) |
2025-03-25 05:31:47 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 05:32:19 +0100 | notdabs | (~Owner@2600:1700:69cf:9000:c43:fe75:997:32d7) (Read error: Connection reset by peer) |
2025-03-25 05:36:01 +0100 | <haskellbridge> | <dmjio> Liamzee: It wouldn’t surprise me at all if HasServer dictionaries weren’t getting specialized given the incremental compilation nature of GHC and cross module inlining limitations. But 5x still sounds heavy. |
2025-03-25 05:36:29 +0100 | <haskellbridge> | <dmjio> monochrom: That’s fair. |
2025-03-25 05:36:38 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 272 seconds) |
2025-03-25 05:37:43 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 05:42:40 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-03-25 05:44:36 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds) |
2025-03-25 05:44:56 +0100 | aforemny_ | (~aforemny@2001:9e8:6cde:a00:bd3b:75a2:c3bc:65be) aforemny |
2025-03-25 05:45:48 +0100 | weary-traveler | (~user@user/user363627) user363627 |
2025-03-25 05:46:42 +0100 | aforemny | (~aforemny@2001:9e8:6cc3:cb00:4bbe:2838:488d:a24d) (Ping timeout: 276 seconds) |
2025-03-25 05:51:02 +0100 | <davean> | dmjio that is also a lot of parsing via a lot of type level implied machinery |
2025-03-25 05:52:38 +0100 | jmcantrell | (~weechat@user/jmcantrell) (Quit: WeeChat 4.5.2) |
2025-03-25 05:53:08 +0100 | <haskellbridge> | <dmjio> The biggest upfront cost is the first request. The graph reduces and subsequent requests do less work |
2025-03-25 05:53:29 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 05:57:34 +0100 | kh0d | (~kh0d@212.200.247.164) kh0d |
2025-03-25 05:57:46 +0100 | <haskellbridge> | <dmjio> Parsing shouldn’t be any different. Servant handlers operate on an already parsed request, much like Scotty |
2025-03-25 05:58:54 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-03-25 06:00:58 +0100 | michalz | (~michalz@185.246.207.197) |
2025-03-25 06:03:46 +0100 | inca | (~inca@4-138-135-64.gray-ng.dsl.pinetreenetworks.com) (Ping timeout: 248 seconds) |
2025-03-25 06:03:48 +0100 | kh0d | (~kh0d@212.200.247.164) (Ping timeout: 244 seconds) |
2025-03-25 06:04:16 +0100 | cross | (~cross@spitfire.i.gajendra.net) (Quit: Lost terminal) |
2025-03-25 06:05:12 +0100 | inca | (~inca@4-138-135-64.gray-ng.dsl.pinetreenetworks.com) |
2025-03-25 06:09:16 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 06:14:08 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-03-25 06:16:32 +0100 | inca | (~inca@4-138-135-64.gray-ng.dsl.pinetreenetworks.com) (Ping timeout: 272 seconds) |
2025-03-25 06:16:51 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 06:16:51 +0100 | inca | (~inca@4-138-135-64.gray-ng.dsl.pinetreenetworks.com) |
2025-03-25 06:21:04 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 244 seconds) |
2025-03-25 06:21:25 +0100 | kh0d | (~kh0d@212.200.247.164) kh0d |
2025-03-25 06:25:03 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 06:30:09 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
2025-03-25 06:31:29 +0100 | kh0d | (~kh0d@212.200.247.164) (Ping timeout: 265 seconds) |
2025-03-25 06:40:26 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 06:45:23 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-03-25 06:56:12 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 07:01:30 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
2025-03-25 07:01:54 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 07:02:24 +0100 | kh0d | (~kh0d@212.200.247.164) |
2025-03-25 07:06:34 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 260 seconds) |
2025-03-25 07:07:28 +0100 | kh0d | (~kh0d@212.200.247.164) (Ping timeout: 245 seconds) |
2025-03-25 07:09:44 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 07:11:29 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-03-25 07:13:28 +0100 | takuan | (~takuan@d8D86B601.access.telenet.be) |
2025-03-25 07:14:21 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
2025-03-25 07:16:46 +0100 | fp | (~Thunderbi@wireless-86-50-141-186.open.aalto.fi) fp |
2025-03-25 07:18:46 +0100 | Garbanzo | (~Garbanzo@2602:304:6eac:dc10::2e) (Remote host closed the connection) |
2025-03-25 07:19:10 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2025-03-25 07:21:00 +0100 | fp | (~Thunderbi@wireless-86-50-141-186.open.aalto.fi) (Ping timeout: 246 seconds) |
2025-03-25 07:21:13 +0100 | kh0d | (~kh0d@212.200.247.164) kh0d |
2025-03-25 07:21:35 +0100 | fp | (~Thunderbi@2001:708:20:1406::1370) fp |
2025-03-25 07:25:30 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 07:26:06 +0100 | kh0d | (~kh0d@212.200.247.164) (Ping timeout: 265 seconds) |
2025-03-25 07:26:39 +0100 | kh0d | (~kh0d@212.200.247.164) |
2025-03-25 07:28:35 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2025-03-25 07:30:13 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-03-25 07:41:16 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 07:42:35 +0100 | petrichor | (~znc-user@user/petrichor) (Ping timeout: 252 seconds) |
2025-03-25 07:43:03 +0100 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds) |
2025-03-25 07:43:13 +0100 | petrichor | (~znc-user@user/petrichor) petrichor |
2025-03-25 07:43:59 +0100 | kh0d | (~kh0d@212.200.247.164) (Ping timeout: 265 seconds) |
2025-03-25 07:46:58 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 07:48:10 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-03-25 07:50:17 +0100 | chele | (~chele@user/chele) chele |
2025-03-25 07:51:13 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 245 seconds) |
2025-03-25 07:54:08 +0100 | ThePenguin9 | (~ThePengui@cust-95-80-24-166.csbnet.se) ThePenguin |
2025-03-25 07:54:30 +0100 | ThePenguin | (~ThePengui@cust-95-80-24-166.csbnet.se) (Read error: Connection reset by peer) |
2025-03-25 07:54:30 +0100 | ThePenguin9 | ThePenguin |
2025-03-25 07:57:01 +0100 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-03-25 07:59:18 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 08:00:02 +0100 | caconym | (~caconym@user/caconym) (Quit: bye) |
2025-03-25 08:01:01 +0100 | caconym | (~caconym@user/caconym) caconym |
2025-03-25 08:03:12 +0100 | random-jellyfish | (~developer@85.50.149.196) random-jellyfish |
2025-03-25 08:03:12 +0100 | random-jellyfish | (~developer@85.50.149.196) (Changing host) |
2025-03-25 08:03:12 +0100 | random-jellyfish | (~developer@user/random-jellyfish) random-jellyfish |
2025-03-25 08:04:19 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-03-25 08:09:12 +0100 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
2025-03-25 08:13:13 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Quit: peterbecich) |
2025-03-25 08:13:40 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-03-25 08:14:56 +0100 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
2025-03-25 08:15:07 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 08:15:14 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds) |
2025-03-25 08:16:19 +0100 | Lord_of_Life_ | Lord_of_Life |
2025-03-25 08:20:32 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
2025-03-25 08:22:46 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) sord937 |
2025-03-25 08:22:49 +0100 | jcarpenter2 | (~lol@2603:3016:1e01:b960:d420:7c16:1b3d:a360) (Ping timeout: 260 seconds) |
2025-03-25 08:25:05 +0100 | jcarpenter2 | (~lol@2603:3016:1e01:b960:842d:fcc5:786c:255c) |
2025-03-25 08:27:41 +0100 | kh0d | (~kh0d@212.200.247.164) |
2025-03-25 08:30:54 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 08:31:44 +0100 | JuanDaugherty | (~juan@user/JuanDaugherty) JuanDaugherty |
2025-03-25 08:32:03 +0100 | kh0d | (~kh0d@212.200.247.164) (Ping timeout: 245 seconds) |
2025-03-25 08:32:23 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 08:33:54 +0100 | p3n | (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Quit: ZNC 1.9.1 - https://znc.in) |
2025-03-25 08:35:48 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-03-25 08:35:54 +0100 | tavare | (~tavare@user/tavare) (Remote host closed the connection) |
2025-03-25 08:36:38 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 245 seconds) |
2025-03-25 08:46:07 +0100 | JuanDaugherty | (~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org)) |
2025-03-25 08:46:30 +0100 | p3n | (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) p3n |
2025-03-25 08:46:43 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 08:50:08 +0100 | cipherrot | (~znc-user@user/petrichor) petrichor |
2025-03-25 08:50:55 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac |
2025-03-25 08:51:25 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds) |
2025-03-25 08:51:31 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-03-25 08:53:19 +0100 | petrichor | (~znc-user@user/petrichor) (Ping timeout: 260 seconds) |
2025-03-25 08:55:25 +0100 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
2025-03-25 08:58:04 +0100 | acidjnk | (~acidjnk@p200300d6e71c4f24c8a043139ebe92bd.dip0.t-ipconnect.de) acidjnk |
2025-03-25 08:59:34 +0100 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod |
2025-03-25 09:02:31 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 09:04:01 +0100 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 248 seconds) |
2025-03-25 09:07:28 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-03-25 09:08:48 +0100 | puke | (~puke@user/puke) (Remote host closed the connection) |
2025-03-25 09:09:40 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
2025-03-25 09:10:44 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 09:13:37 +0100 | puke | (~puke@user/puke) puke |
2025-03-25 09:15:29 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-03-25 09:17:35 +0100 | kh0d | (~kh0d@212.200.247.164) kh0d |
2025-03-25 09:17:47 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 09:22:35 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 265 seconds) |
2025-03-25 09:26:25 +0100 | fp1 | (~Thunderbi@2001:708:150:10::1d80) fp |
2025-03-25 09:28:22 +0100 | fp | (~Thunderbi@2001:708:20:1406::1370) (Ping timeout: 268 seconds) |
2025-03-25 09:28:27 +0100 | fp1 | fp |
2025-03-25 09:34:19 +0100 | kh0d | (~kh0d@212.200.247.164) (Read error: Connection timed out) |
2025-03-25 09:35:58 +0100 | kh0d | (~kh0d@212.200.247.164) |
2025-03-25 09:39:27 +0100 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-03-25 09:43:40 +0100 | fp1 | (~Thunderbi@2001:708:20:1406::1370) fp |
2025-03-25 09:44:05 +0100 | fp | (~Thunderbi@2001:708:150:10::1d80) (Ping timeout: 248 seconds) |
2025-03-25 09:44:05 +0100 | fp1 | fp |
2025-03-25 09:44:36 +0100 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds) |
2025-03-25 09:54:03 +0100 | merijn | (~merijn@77.242.116.146) merijn |
2025-03-25 10:01:34 +0100 | kh0d | (~kh0d@212.200.247.164) (Ping timeout: 260 seconds) |
2025-03-25 10:02:50 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 10:07:32 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 265 seconds) |
2025-03-25 10:14:25 +0100 | petrichor | (~znc-user@user/petrichor) petrichor |
2025-03-25 10:17:41 +0100 | cipherrot | (~znc-user@user/petrichor) (Ping timeout: 248 seconds) |
2025-03-25 10:21:27 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2025-03-25 10:26:52 +0100 | kuribas | (~user@2a02:1808:43:dbd9:6ca7:205b:89ae:6340) kuribas |
2025-03-25 10:30:21 +0100 | jcarpenter2 | (~lol@2603:3016:1e01:b960:842d:fcc5:786c:255c) (Ping timeout: 246 seconds) |
2025-03-25 10:31:40 +0100 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-03-25 10:32:23 +0100 | jcarpenter2 | (~lol@96.78.87.197) |
2025-03-25 10:32:59 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 244 seconds) |
2025-03-25 10:33:26 +0100 | lxsameer | (~lxsameer@Serene/lxsameer) lxsameer |
2025-03-25 10:35:45 +0100 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 248 seconds) |
2025-03-25 10:35:49 +0100 | cipherrot | (~znc-user@user/petrichor) petrichor |
2025-03-25 10:36:49 +0100 | petrichor | (~znc-user@user/petrichor) (Ping timeout: 244 seconds) |
2025-03-25 10:38:35 +0100 | fp | (~Thunderbi@2001:708:20:1406::1370) (Ping timeout: 252 seconds) |
2025-03-25 10:42:44 +0100 | ash3en | (~Thunderbi@89.56.182.235) ash3en |
2025-03-25 10:43:02 +0100 | werneta | (~werneta@syn-071-083-160-242.res.spectrum.com) (Read error: Connection reset by peer) |
2025-03-25 10:43:12 +0100 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-03-25 10:44:06 +0100 | humasect | (~humasect@dyn-192-249-132-2.nexicom.net) humasect |
2025-03-25 10:45:43 +0100 | merijn | (~merijn@77.242.116.146) merijn |
2025-03-25 10:46:48 +0100 | werneta | (~werneta@syn-071-083-160-242.res.spectrum.com) werneta |
2025-03-25 10:48:10 +0100 | ft | (~ft@p508db463.dip0.t-ipconnect.de) (Quit: leaving) |
2025-03-25 10:49:30 +0100 | cipherrot | (~znc-user@user/petrichor) (Ping timeout: 272 seconds) |
2025-03-25 10:49:34 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 10:51:56 +0100 | petrichor | (~znc-user@user/petrichor) petrichor |
2025-03-25 10:52:29 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 265 seconds) |
2025-03-25 10:53:09 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Read error: Connection reset by peer) |
2025-03-25 10:53:10 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2025-03-25 10:53:10 +0100 | califax | (~califax@user/califx) (Remote host closed the connection) |
2025-03-25 10:53:27 +0100 | califax | (~califax@user/califx) califx |
2025-03-25 10:53:38 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) ChaiTRex |
2025-03-25 10:53:51 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
2025-03-25 10:54:34 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 272 seconds) |
2025-03-25 10:54:50 +0100 | fp | (~Thunderbi@130.233.70.95) fp |
2025-03-25 10:56:29 +0100 | merijn | (~merijn@77.242.116.146) merijn |
2025-03-25 10:58:40 +0100 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:102d:f23f:3d0e:5609) ubert |
2025-03-25 10:58:57 +0100 | JuanDaugherty | (~juan@user/JuanDaugherty) JuanDaugherty |
2025-03-25 11:01:55 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 244 seconds) |
2025-03-25 11:03:41 +0100 | merijn | (~merijn@77.242.116.146) merijn |
2025-03-25 11:09:32 +0100 | kh0d | (~kh0d@212.200.247.164) kh0d |
2025-03-25 11:12:43 +0100 | kh0d | (~kh0d@212.200.247.164) (Remote host closed the connection) |
2025-03-25 11:18:37 +0100 | tabaqui | (~tabaqui@167.71.80.236) tabaqui |
2025-03-25 11:20:20 +0100 | kh0d | (~kh0d@212.200.247.164) kh0d |
2025-03-25 11:24:49 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 248 seconds) |
2025-03-25 11:24:58 +0100 | kh0d | (~kh0d@212.200.247.164) (Ping timeout: 245 seconds) |
2025-03-25 11:27:03 +0100 | cipherrot | (~znc-user@user/petrichor) petrichor |
2025-03-25 11:28:46 +0100 | petrichor | (~znc-user@user/petrichor) (Ping timeout: 272 seconds) |
2025-03-25 11:29:08 +0100 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 245 seconds) |
2025-03-25 11:34:38 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 11:35:03 +0100 | ash3en | (~Thunderbi@89.56.182.235) (Ping timeout: 252 seconds) |
2025-03-25 11:36:40 +0100 | merijn | (~merijn@77.242.116.146) merijn |
2025-03-25 11:39:07 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 244 seconds) |
2025-03-25 11:39:40 +0100 | ash3en | (~Thunderbi@89.56.182.235) ash3en |
2025-03-25 11:49:00 +0100 | JuanDaugherty | (~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org)) |
2025-03-25 11:49:02 +0100 | fp | (~Thunderbi@130.233.70.95) (Ping timeout: 265 seconds) |
2025-03-25 11:49:07 +0100 | FragByte | (~christian@user/fragbyte) (Quit: Quit) |
2025-03-25 11:49:43 +0100 | kh0d | (~kh0d@212.200.247.164) kh0d |
2025-03-25 11:51:02 +0100 | FragByte | (~christian@user/fragbyte) FragByte |
2025-03-25 11:51:45 +0100 | dhil | (~dhil@2a0c:b381:52e:3600:4562:2dab:a736:76b0) dhil |
2025-03-25 11:52:33 +0100 | ash3en | (~Thunderbi@89.56.182.235) (Ping timeout: 244 seconds) |
2025-03-25 11:54:19 +0100 | kh0d | (~kh0d@212.200.247.164) (Ping timeout: 244 seconds) |
2025-03-25 11:55:42 +0100 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) (Quit: leaving) |
2025-03-25 11:57:29 +0100 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod |
2025-03-25 12:00:05 +0100 | caconym | (~caconym@user/caconym) (Quit: bye) |
2025-03-25 12:02:16 +0100 | caconym | (~caconym@user/caconym) caconym |
2025-03-25 12:04:27 +0100 | yaroot | (~yaroot@2400:4052:ac0:d901:1cf4:2aff:fe51:c04c) (Read error: Connection reset by peer) |
2025-03-25 12:04:41 +0100 | yaroot | (~yaroot@p3747022-ipxg13101souka.saitama.ocn.ne.jp) yaroot |
2025-03-25 12:16:52 +0100 | j1n37- | (~j1n37@user/j1n37) j1n37 |
2025-03-25 12:17:03 +0100 | j1n37 | (~j1n37@user/j1n37) (Ping timeout: 244 seconds) |
2025-03-25 12:20:03 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 12:24:02 +0100 | xff0x | (~xff0x@2405:6580:b080:900:f588:30f2:ad44:5069) |
2025-03-25 12:24:37 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 248 seconds) |
2025-03-25 12:26:36 +0100 | kuribas` | (~user@ip-188-118-57-242.reverse.destiny.be) kuribas |
2025-03-25 12:28:21 +0100 | kuribas | (~user@2a02:1808:43:dbd9:6ca7:205b:89ae:6340) (Ping timeout: 248 seconds) |
2025-03-25 12:29:57 +0100 | orslon^ | (orslon@c-71-199-187-173.hsd1.ga.comcast.net) (Ping timeout: 248 seconds) |
2025-03-25 12:30:04 +0100 | orslon^ | (dehsou@c-71-199-187-173.hsd1.ga.comcast.net) |
2025-03-25 12:32:08 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 268 seconds) |
2025-03-25 12:36:06 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) wootehfoot |
2025-03-25 12:36:41 +0100 | humasect | (~humasect@dyn-192-249-132-2.nexicom.net) (Quit: Leaving...) |
2025-03-25 12:43:17 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 248 seconds) |
2025-03-25 12:44:19 +0100 | merijn | (~merijn@77.242.116.146) merijn |
2025-03-25 12:46:36 +0100 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds) |
2025-03-25 12:50:24 +0100 | kh0d | (~kh0d@212.200.247.164) kh0d |
2025-03-25 12:51:23 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 265 seconds) |
2025-03-25 12:56:00 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
2025-03-25 12:56:49 +0100 | merijn | (~merijn@77.242.116.146) merijn |
2025-03-25 12:57:02 +0100 | <[exa]> | gah, is there some easily rememberable rule of thumb for monad transformer order? I.e., how to instinctively know whether one wants `StateT s Parser` or `ParserT (State s)` |
2025-03-25 12:57:16 +0100 | <[exa]> | I always have to look at the implementation to just be sure |
2025-03-25 12:59:59 +0100 | pdw | (~user@215.156.62.185.bridgefibre.net) pdw |
2025-03-25 13:04:24 +0100 | <tomsmeding> | @unmtl |
2025-03-25 13:04:24 +0100 | <lambdabot> | err: Parse error: ; |
2025-03-25 13:05:26 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 13:06:29 +0100 | <[exa]> | tomsmeding: yeah that's what I kinda do in head and want to have a shortcut around it |
2025-03-25 13:07:16 +0100 | <tomsmeding> | it's still doing the same thing in the end, but you can think about the eliminator functions: if you have a StateT s Parser, then you'll runStateT and get something in the Parser monad |
2025-03-25 13:07:27 +0100 | <tomsmeding> | whereas if you have a ParserT (State s), you'll run the parser and get something in the state monad back |
2025-03-25 13:07:46 +0100 | <tomsmeding> | this indirectly tells you what the actual semantics of your stack is |
2025-03-25 13:08:01 +0100 | <tomsmeding> | without having to look at the precise implementation of the monad data types |
2025-03-25 13:09:04 +0100 | <tomsmeding> | this is most clear with State and Except -- with StateT s (Except e), you run the state monad and then get an Except out, i.e. you get a state irrespective of whether there was an exception |
2025-03-25 13:09:28 +0100 | <tomsmeding> | with ExceptT e (State s), you run the ExceptT to _maybe_ get a State out |
2025-03-25 13:09:40 +0100 | <tomsmeding> | @unmtl ExceptT e (State s) |
2025-03-25 13:09:40 +0100 | <lambdabot> | err: `ExceptT e (State s)' is not applied to enough arguments, giving `/\A. s -> (Either e A, s)' |
2025-03-25 13:09:42 +0100 | <tomsmeding> | @unmtl ExceptT e (State s) a |
2025-03-25 13:09:42 +0100 | <lambdabot> | s -> (Either e a, s) |
2025-03-25 13:09:48 +0100 | <tomsmeding> | I'm wrong |
2025-03-25 13:09:53 +0100 | <tomsmeding> | disregard all that I say |
2025-03-25 13:09:54 +0100 | kh0d | (~kh0d@212.200.247.164) (Remote host closed the connection) |
2025-03-25 13:09:57 +0100 | <[exa]> | you see, it's friggin confusing |
2025-03-25 13:09:59 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 260 seconds) |
2025-03-25 13:10:03 +0100 | tomsmeding | hides in a corner |
2025-03-25 13:10:28 +0100 | <[exa]> | technically you were right but it just does the other thing |
2025-03-25 13:10:32 +0100 | <[exa]> | I think |
2025-03-25 13:10:43 +0100 | <tomsmeding> | there's a trick I found out a while ago: if you're okay with accessing your monad through mtl classes, then you can use DerivingVia to document what you're doing |
2025-03-25 13:11:13 +0100 | <tomsmeding> | newtype M a = M (s -> (Either e a, s)) deriving (Functor, Applicative, Monad, MonadState s, MonadExcept e) via (ExceptT e (State s) a) |
2025-03-25 13:11:55 +0100 | <tomsmeding> | you don't have to write the methods, but you also get compiler-checked documentation of wtf your monad is actually doing (namely, that type inside the M) |
2025-03-25 13:12:38 +0100 | <tomsmeding> | if you don't need the mtl methods, then honestly just write out the monad manually, using transformers just makes the thing more opaque |
2025-03-25 13:13:02 +0100 | <[exa]> | yeah I see |
2025-03-25 13:13:39 +0100 | <tomsmeding> | [exa]: right, the correct version was: if you have a `MT N a`, then the first eliminator goes `MT N a -> N (M a)` |
2025-03-25 13:14:02 +0100 | <[exa]> | that's ok |
2025-03-25 13:15:53 +0100 | <[exa]> | kinda trying to find the trick that tells the students if the State will get reset by Parser or not. in this case I guess N(M a) says kinda "N dominates M" so the M will get reset if e.g. N backtracks... and now I hope that's right. |
2025-03-25 13:16:31 +0100 | <tomsmeding> | it's rather important whether it's `N (M a)` or `NT M a` |
2025-03-25 13:16:38 +0100 | <tomsmeding> | they behave differently |
2025-03-25 13:16:55 +0100 | <tomsmeding> | case in point: |
2025-03-25 13:16:57 +0100 | kh0d | (~kh0d@212.200.247.164) |
2025-03-25 13:17:02 +0100 | <tomsmeding> | @unmtl ExceptT e (State s) a |
2025-03-25 13:17:02 +0100 | <lambdabot> | s -> (Either e a, s) |
2025-03-25 13:17:08 +0100 | <tomsmeding> | this looks a lot like State s (Either e a) |
2025-03-25 13:18:11 +0100 | <tomsmeding> | I can't help you, sorry |
2025-03-25 13:18:17 +0100 | fp | (~Thunderbi@130.233.70.95) fp |
2025-03-25 13:19:50 +0100 | __monty__ | (~toonn@user/toonn) toonn |
2025-03-25 13:22:04 +0100 | <EvanR> | I'm crippled because the first thing I read about monads was on wikipedia where it stated "writing monad definitions directly is difficult" |
2025-03-25 13:22:23 +0100 | <EvanR> | so now it's difficult forever and I have to rely on transformers xD |
2025-03-25 13:22:30 +0100 | <tomsmeding> | it's the only thing that's actually understandable |
2025-03-25 13:22:33 +0100 | <int-e> | @src forever |
2025-03-25 13:22:33 +0100 | <lambdabot> | forever a = let a' = a >> a' in a' |
2025-03-25 13:22:55 +0100 | <tomsmeding> | EvanR: reinvent all the monads, dig yourself deep into NIH and rewrite all the basic monads |
2025-03-25 13:22:59 +0100 | <tomsmeding> | then you'll understand monads |
2025-03-25 13:23:12 +0100 | <EvanR> | I can write the individual rogues gallery of monads |
2025-03-25 13:23:32 +0100 | <int-e> | EvanR: May I suggest a dose of "You Could Have Invented Monads (And Maybe You Already Have)"? |
2025-03-25 13:23:41 +0100 | <EvanR> | but combining them to get what a combination of transformers would produce |
2025-03-25 13:24:18 +0100 | <tomsmeding> | the trick is to understand why the individual monad implementations do what they do, e.g. why `s -> (a, s)` makes _sense_ as a state monad |
2025-03-25 13:24:25 +0100 | <haskellbridge> | <maerwald> monad stacks are OOP |
2025-03-25 13:24:26 +0100 | <tomsmeding> | then if you want a combination, write the underlying function that does that |
2025-03-25 13:24:42 +0100 | <tomsmeding> | then write the Functor, Applicative, Monad instances for that |
2025-03-25 13:24:42 +0100 | <[exa]> | tomsmeding: yeah maybe I should just draw a very clean picture that the types get flipped when they have the T in them |
2025-03-25 13:24:56 +0100 | <[exa]> | maerwald: nooooooooooooooooooo |
2025-03-25 13:24:56 +0100 | <int-e> | The monad concept is *very* abstract. Work with the instances. |
2025-03-25 13:25:06 +0100 | kh0d | (~kh0d@212.200.247.164) (Remote host closed the connection) |
2025-03-25 13:25:43 +0100 | <EvanR> | it's ridiculous because, despite the claim on 2005 wikipedia, writing individual monad instances isn't very difficult at all. You almost can't mess up |
2025-03-25 13:25:56 +0100 | <EvanR> | because of the types |
2025-03-25 13:26:26 +0100 | <haskellbridge> | <maerwald> Yes, OOP is characterized by clouded control flow and side effect stacked on top of each other. That's exactly what transformers do. |
2025-03-25 13:27:04 +0100 | <haskellbridge> | <maerwald> but we celebrate the "bind" interface and label the whole thing as pure |
2025-03-25 13:27:40 +0100 | <haskellbridge> | <maerwald> no one cares about ergonomics and if your average engineer can actually reason about what happens during execution (don't come with denotational semantics) |
2025-03-25 13:27:47 +0100 | <EvanR> | I wish OOP was as easy as transformers xD |
2025-03-25 13:27:47 +0100 | <tomsmeding> | maerwald: are you complaining about monad transformer stacks like `StateT s (Except e)`, or also about manually-written monads like `newtype M a = M (s -> (Either e a, s))` |
2025-03-25 13:27:58 +0100 | <haskellbridge> | <maerwald> all of it |
2025-03-25 13:28:01 +0100 | <int-e> | EvanR: Well that's assuming you understand types. Those are to-tally inscrutible too and make EVERYBODY™'s eyes bleed. |
2025-03-25 13:30:48 +0100 | kh0d | (~kh0d@212.200.247.164) kh0d |
2025-03-25 13:32:58 +0100 | <haskellbridge> | <Liamzee> maerwald: deep-stacked monad transformers have been known to be a code-smell since like 2011, 2015 at the latest |
2025-03-25 13:33:06 +0100 | <haskellbridge> | <Liamzee> maerwald: |
2025-03-25 13:33:56 +0100 | <haskellbridge> | <Liamzee> at least because of O(n) performance penalties in bind |
2025-03-25 13:34:29 +0100 | hattckory | (~hattckory@70.27.118.207) |
2025-03-25 13:35:15 +0100 | <EvanR> | log n improvement in time to market though, similar to "just write a bunch of python code real fast and ship it" |
2025-03-25 13:35:26 +0100 | <EvanR> | don't worry about what happens down the road |
2025-03-25 13:35:50 +0100 | <haskellbridge> | <Liamzee> afaik isn't that the point of the free monads crowd? |
2025-03-25 13:36:15 +0100 | <haskellbridge> | <Liamzee> i.e, shouldn't free monad interpreter beat mtl in terms of ergonomics? |
2025-03-25 13:37:19 +0100 | <haskellbridge> | <maerwald> Free monads have bad performance |
2025-03-25 13:37:44 +0100 | kh0d | (~kh0d@212.200.247.164) (Remote host closed the connection) |
2025-03-25 13:37:51 +0100 | <EvanR> | there's freeer monad |
2025-03-25 13:37:56 +0100 | <EvanR> | which has some optimizations |
2025-03-25 13:38:04 +0100 | <haskellbridge> | <maerwald> eff was supposed to fix it, but Alexis probably will never finish it |
2025-03-25 13:38:55 +0100 | <haskellbridge> | <magic_rb> Delim conts have some fundamental issues when used within effect systems iirc |
2025-03-25 13:39:41 +0100 | <haskellbridge> | <magic_rb> The current fastest way is either "Reader IO a" or "effectful" which is exactly a "Reader IO a". Risk is you might confuse GHC |
2025-03-25 13:40:31 +0100 | <haskellbridge> | <Liamzee> did you guys take a look at nammayatri? |
2025-03-25 13:41:13 +0100 | <haskellbridge> | <Liamzee> granin seems to have made himself the foremost proponent of free monad interpreters because of his aggressive sell and his work at juspay |
2025-03-25 13:41:37 +0100 | <haskellbridge> | <Liamzee> https://github.com/nammayatri/nammayatri |
2025-03-25 13:41:48 +0100 | <haskellbridge> | <magic_rb> Free monads will be always slow afaiu so their a no go for me |
2025-03-25 13:41:54 +0100 | hattckory | (~hattckory@70.27.118.207) (Ping timeout: 260 seconds) |
2025-03-25 13:42:25 +0100 | <int-e> | EvanR: exercise: relate https://hackage.haskell.org/package/MonadPrompt-1.0.0.5/docs/Control-Monad-Prompt.html#t:Prompt and freeer monads |
2025-03-25 13:43:03 +0100 | <haskellbridge> | <Liamzee> i'm not sure if nammayatri used free monads, though |
2025-03-25 13:44:44 +0100 | <EvanR> | what is the airspeed velocity of a free monad |
2025-03-25 13:45:13 +0100 | <EvanR> | int-e, in the middle of writing a teletype like free monad now! |
2025-03-25 13:45:36 +0100 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-03-25 13:45:44 +0100 | kh0d | (~kh0d@212.200.247.164) kh0d |
2025-03-25 13:48:36 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 268 seconds) |
2025-03-25 13:49:52 +0100 | <EvanR> | I did it and the code looks nothing like free or freer |
2025-03-25 13:50:01 +0100 | <int-e> | TBH I'm just a tad sad that the idea of expressing an API as a GADT seems to be forgotten. (See the example on https://hackage.haskell.org/package/MonadPrompt-1.0.0.5/docs/Control-Monad-Prompt.html ). Free monads do get you the same functionality but you have to work a tad harder. |
2025-03-25 13:50:34 +0100 | kh0d | (~kh0d@212.200.247.164) (Ping timeout: 244 seconds) |
2025-03-25 13:50:41 +0100 | jespada | (~jespada@2800:a4:229c:8a00:e032:2eec:bdbe:deac) jespada |
2025-03-25 13:50:57 +0100 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds) |
2025-03-25 13:51:00 +0100 | <EvanR> | https://paste.tomsmeding.com/pmd8nbPr |
2025-03-25 13:51:51 +0100 | jespada | (~jespada@2800:a4:229c:8a00:e032:2eec:bdbe:deac) (Client Quit) |
2025-03-25 13:52:59 +0100 | kh0d | (~kh0d@212.200.247.164) kh0d |
2025-03-25 13:52:59 +0100 | <tomsmeding> | int-e: it looks to me like that Prompt monad just factors out the commonalities between most (all?) free monads -- the Pure constructor and the continuations on all the effect constructors |
2025-03-25 13:53:02 +0100 | <int-e> | that would be data Tele a where { Put :: Char -> Tele (); Get :: Tele Char } |
2025-03-25 13:53:17 +0100 | <tomsmeding> | (and it's CPS-transformed to make it less readable) |
2025-03-25 13:53:27 +0100 | <tomsmeding> | (and presumably faster) |
2025-03-25 13:53:34 +0100 | <int-e> | tomsmeding: yeah. it *also* predates the popularization of free monads |
2025-03-25 13:53:35 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 13:53:40 +0100 | <tomsmeding> | I see |
2025-03-25 13:54:28 +0100 | <EvanR> | and then what, use another data structure to represent the nesting structure |
2025-03-25 13:54:48 +0100 | <EvanR> | I thought it was an exercise in "writing the monad instance directly" xD |
2025-03-25 13:55:13 +0100 | <tomsmeding> | that exercise stands, and you're doing well with Tele :p |
2025-03-25 13:55:24 +0100 | <EvanR> | oh you're doing the GADT version |
2025-03-25 13:56:09 +0100 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) (Quit: leaving) |
2025-03-25 13:56:45 +0100 | jespada | (~jespada@2800:a4:229c:8a00:e032:2eec:bdbe:deac) jespada |
2025-03-25 13:57:00 +0100 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod |
2025-03-25 13:57:06 +0100 | <tomsmeding> | EvanR: now do nondeterminism ([a]), state (s -> (a, s)), exceptions (Either e a), parsers (String -> Either e (String, a)) |
2025-03-25 13:57:12 +0100 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-03-25 13:57:13 +0100 | <EvanR> | the data type Tele a reminds me of the [Maybe a] from the Stack thing yesterday |
2025-03-25 13:57:27 +0100 | <int-e> | IIRC the relation is that a prompt descriptor (is that a good term?) `P a` translates to the functor `F b = forall a. (a, P a -> b)` for use in a free monad construction. |
2025-03-25 13:57:32 +0100 | <EvanR> | instead of the structure it's the commands |
2025-03-25 13:58:14 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 272 seconds) |
2025-03-25 14:00:05 +0100 | merijn | (~merijn@77.242.116.146) merijn |
2025-03-25 14:00:07 +0100 | <int-e> | Pretty sure that was it. And you can specialize the freeer monad type for that shape of functor and optimize it a little and get the definition that MonadPrompt uses. |
2025-03-25 14:01:16 +0100 | <int-e> | err I'm stupid |
2025-03-25 14:01:28 +0100 | <int-e> | It's `F b = forall a. (P a, a -> b)` |
2025-03-25 14:01:45 +0100 | <tomsmeding> | that feels better, yeah |
2025-03-25 14:01:56 +0100 | <tomsmeding> | I was having doubts but I wasn't sure how to fix it |
2025-03-25 14:01:58 +0100 | <int-e> | The danger of trying to remember things :-) |
2025-03-25 14:02:25 +0100 | <tomsmeding> | the values in the P constructors are the outputs of the effect, the type index is the input for its continuation (the reply) |
2025-03-25 14:02:28 +0100 | <[exa]> | tomsmeding: ohhhhhhhhhhhh I found a rule of thumb! |
2025-03-25 14:02:44 +0100 | <tomsmeding> | s/outputs/inputs/ |
2025-03-25 14:02:44 +0100 | <[exa]> | tomsmeding: "you can't reset IO", which is why IO is always the last thing in stack |
2025-03-25 14:02:46 +0100 | <tomsmeding> | lol |
2025-03-25 14:03:19 +0100 | weary-traveler | (~user@user/user363627) user363627 |
2025-03-25 14:03:21 +0100 | <tomsmeding> | [exa]: so inner things can run outer things strangely (reset, run multiple times, etc.) but outer things cannot influence inner things? |
2025-03-25 14:03:23 +0100 | <Leary> | int-e: AKA `Coyoneda P`. |
2025-03-25 14:04:05 +0100 | <[exa]> | tomsmeding: roughly. |
2025-03-25 14:04:15 +0100 | <tomsmeding> | [exa]: NT M a runs into M (N a), so AT (BT (CT M)) a in the end runs in M |
2025-03-25 14:04:23 +0100 | <haskellbridge> | <alexfmpe> int-e: https://hackage.haskell.org/package/reflex-gadt-api |
2025-03-25 14:05:10 +0100 | ash3en | (~Thunderbi@89.56.182.235) ash3en |
2025-03-25 14:05:18 +0100 | <tomsmeding> | [exa]: I like |
2025-03-25 14:05:20 +0100 | <haskellbridge> | <alexfmpe> (specialized for reflex-dom, just pointing out gadt api isn't quite forgotten) |
2025-03-25 14:06:01 +0100 | <int-e> | alexfmpe: Oh, nice :) |
2025-03-25 14:08:31 +0100 | kh0d | (~kh0d@212.200.247.164) (Remote host closed the connection) |
2025-03-25 14:10:07 +0100 | <Leary> | Some effect systems like 'effectful' are also effectively reviving these "GADT API"; e.g. https://hackage.haskell.org/package/effectful-core-2.5.1.0/docs/Effectful-Dispatch-Dynamic.html |
2025-03-25 14:11:08 +0100 | kh0d | (~kh0d@212.200.247.164) |
2025-03-25 14:12:20 +0100 | <EvanR> | inner and outer "things"? |
2025-03-25 14:12:27 +0100 | <EvanR> | I have another rule of thumb |
2025-03-25 14:12:30 +0100 | <EvanR> | burritos |
2025-03-25 14:12:54 +0100 | <tomsmeding> | everyone who seriously suggests burritos are a good monad intuition are actually burritos themselves |
2025-03-25 14:13:32 +0100 | <EvanR> | and in light of yesterday's discussion of stacks |
2025-03-25 14:13:39 +0100 | <EvanR> | "last in the stack" could mean anything |
2025-03-25 14:14:08 +0100 | <EvanR> | due to your interpretation function producing the opposite order of instructions and LTR RTL language issues |
2025-03-25 14:14:17 +0100 | <tomsmeding> | the "inner" and "outer" here referred to monad transformer stacks like StateT s (ExceptT e IO) a |
2025-03-25 14:14:27 +0100 | <EvanR> | ok now that's a burrito |
2025-03-25 14:14:29 +0100 | <tomsmeding> | where StateT is the outer and IO is the inner |
2025-03-25 14:14:37 +0100 | <tomsmeding> | I think that's fairly unambiguous |
2025-03-25 14:14:46 +0100 | <EvanR> | yes but what is last |
2025-03-25 14:14:46 +0100 | <int-e> | Leary: hmm the example looks dubious (where does m come from?) |
2025-03-25 14:14:52 +0100 | <EvanR> | "innermost" |
2025-03-25 14:14:53 +0100 | <tomsmeding> | EvanR: no one said "last" here |
2025-03-25 14:14:55 +0100 | <int-e> | Leary: but I see what you mean |
2025-03-25 14:14:57 +0100 | <EvanR> | scroll up lol |
2025-03-25 14:15:10 +0100 | <tomsmeding> | oh I see |
2025-03-25 14:15:21 +0100 | <tomsmeding> | okay that last was "inner" |
2025-03-25 14:15:46 +0100 | <EvanR> | the innermost layer of burritos can't be reset |
2025-03-25 14:15:58 +0100 | <int-e> | oh nm |
2025-03-25 14:16:14 +0100 | <int-e> | each value can come with its own m |
2025-03-25 14:16:51 +0100 | <Leary> | Yes, it's just a little higher-order tweak on the same idea. |
2025-03-25 14:20:14 +0100 | <haskellbridge> | <Liamzee> actually, StateT case is sort of confused, no? |
2025-03-25 14:20:55 +0100 | <tomsmeding> | EvanR: case in point why burritos are not appropriate here: if you have StateT s IO a, then even though IO is arguably the "inner" monad here, it's actually the IO burrito that contains the State burrito |
2025-03-25 14:20:59 +0100 | <tomsmeding> | @unmtl StateT s IO a |
2025-03-25 14:20:59 +0100 | <lambdabot> | s -> IO (a, s) |
2025-03-25 14:21:23 +0100 | <tomsmeding> | see, if you just write out `s -> IO (a, s)` all is clear |
2025-03-25 14:21:43 +0100 | <haskellbridge> | <Liamzee> ummmm |
2025-03-25 14:22:04 +0100 | <EvanR> | IO is the crunchy outer layer of the purely functional program burrito, so it's just that the "stack" is upside down |
2025-03-25 14:22:22 +0100 | <haskellbridge> | <Liamzee> IO (s -> (a, s)), s -> (IO a, s) |
2025-03-25 14:22:45 +0100 | <haskellbridge> | <Liamzee> in the case provided by lambdabot, is IO beneath state or is state beneath IO? |
2025-03-25 14:22:59 +0100 | <tomsmeding> | that's up to the blog post writer |
2025-03-25 14:23:24 +0100 | <EvanR> | is the real version of StateT s IO a more like lambdabot or more like Liamzee |
2025-03-25 14:23:29 +0100 | <tomsmeding> | to wit, neither of the options that Liamzee just gave are particularly useful in practice |
2025-03-25 14:23:32 +0100 | <haskellbridge> | <Liamzee> it's lambdabot |
2025-03-25 14:23:40 +0100 | <EvanR> | oh it's two versions from Liamzee |
2025-03-25 14:23:48 +0100 | <tomsmeding> | lambdabot just expands the newtypes |
2025-03-25 14:23:54 +0100 | <haskellbridge> | <Liamzee> i just came up with some nonsense versions to try to illustrate |
2025-03-25 14:24:10 +0100 | <EvanR> | I guess we need to complete all the possibilities |
2025-03-25 14:24:12 +0100 | <haskellbridge> | <Liamzee> how ridiculous the notion of outside and inside can be with some of these monad transformers |
2025-03-25 14:24:14 +0100 | <EvanR> | s -> (a, IO s) |
2025-03-25 14:24:17 +0100 | <haskellbridge> | <Liamzee> you have a data dependency on state |
2025-03-25 14:24:22 +0100 | <tomsmeding> | > newtype StateT s m a = StateT { runStateT :: s -> m (a,s) } |
2025-03-25 14:24:33 +0100 | <haskellbridge> | <Liamzee> then IO wraps the output (a, s) pair |
2025-03-25 14:24:40 +0100 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 244 seconds) |
2025-03-25 14:24:52 +0100 | <tomsmeding> | Liamzee: I agree re ridiculousness of inside/outside, but the original question was about intuition about monad transformer stacks _without_ expanding their definitions |
2025-03-25 14:25:03 +0100 | <EvanR> | "IO wraps the pair" ok now I'm losing it with the burrito analogy, I feel like that might be off the farm |
2025-03-25 14:25:06 +0100 | <tomsmeding> | and as long as you keep the newtypes unexpanded, there's a clear outer/inner in your source text |
2025-03-25 14:25:17 +0100 | <tomsmeding> | even if, operationally, things go weirdly inside out |
2025-03-25 14:25:18 +0100 | <EvanR> | the IO type wraps the product type yes, as far as the types go |
2025-03-25 14:25:56 +0100 | <haskellbridge> | <Liamzee> sorry |
2025-03-25 14:26:10 +0100 | <EvanR> | inside outside is also getting confused more when you get MonadBaseControl which calls the innermost "the base" |
2025-03-25 14:26:12 +0100 | <EvanR> | (I think) |
2025-03-25 14:26:25 +0100 | <EvanR> | is the base inside or outside the building |
2025-03-25 14:26:30 +0100 | <EvanR> | or tower |
2025-03-25 14:26:38 +0100 | kh0d | (~kh0d@212.200.247.164) (Ping timeout: 245 seconds) |
2025-03-25 14:26:49 +0100 | <EvanR> | it's underneath that's for sure |
2025-03-25 14:26:50 +0100 | <tomsmeding> | the "right-hand side" of `let x = a in b` is in the middle |
2025-03-25 14:27:00 +0100 | <tomsmeding> | and the "body" is on the right |
2025-03-25 14:27:27 +0100 | <tomsmeding> | the physical analogy only goes so far |
2025-03-25 14:27:41 +0100 | <tomsmeding> | it's counterproductive to try to stretch it to its limits |
2025-03-25 14:27:53 +0100 | <haskellbridge> | <Liamzee> i guess that's why people say monad transformers are confusing, because the type wrapping of IO doesn't follow the operational wrapping |
2025-03-25 14:28:10 +0100 | <tomsmeding> | not just with IO, that goes for most (all?) monad transformers |
2025-03-25 14:28:15 +0100 | <tomsmeding> | IO is not special here |
2025-03-25 14:28:18 +0100 | <EvanR> | MonadBaseControl would have you believe your "stack" is "based" on IO. But by the previous discussion your program underworld is hanging from the IO planetary crust! |
2025-03-25 14:28:29 +0100 | <EvanR> | I reject "wrapping" |
2025-03-25 14:28:35 +0100 | <EvanR> | because it sounds like values |
2025-03-25 14:28:41 +0100 | kh0d | (~kh0d@212.200.247.164) kh0d |
2025-03-25 14:28:53 +0100 | <EvanR> | x, [x], [[x]], [[[x]]] |
2025-03-25 14:28:56 +0100 | <EvanR> | more wrapping |
2025-03-25 14:29:06 +0100 | <tomsmeding> | just expand all the newtypes and write the underlying function directly, dispense with this discussion |
2025-03-25 14:29:09 +0100 | <EvanR> | but people are probably talking about the type constructors |
2025-03-25 14:30:02 +0100 | <EvanR> | https://paste.tomsmeding.com/NAB9RiFP |
2025-03-25 14:30:40 +0100 | <haskellbridge> | <Liamzee> yeah afaik, monad trans makes no sense without looking at the type definition, i don't think there's a simple rule to predict what the real construction is like until you see it |
2025-03-25 14:31:02 +0100 | <EvanR> | I couldn't call Empty "Nil" no matter how hard I tried. And I wanted to call this type NonDeterm but it was too long and numerous |
2025-03-25 14:31:19 +0100 | <tomsmeding> | what prevented "Nil"? |
2025-03-25 14:31:29 +0100 | <EvanR> | I kept typing Empty into the definitions |
2025-03-25 14:31:34 +0100 | <tomsmeding> | ah :p |
2025-03-25 14:31:38 +0100 | <EvanR> | so eventually I just changed the constructor to Empty |
2025-03-25 14:31:49 +0100 | <tomsmeding> | if you define Semigroup and Monoid instances then you can type 'mempty' instead |
2025-03-25 14:32:02 +0100 | <tomsmeding> | and with an Alternative instance, it could even be 'empty' |
2025-03-25 14:32:19 +0100 | <EvanR> | but it's being pattern matched, does it work as a pattern |
2025-03-25 14:32:24 +0100 | <tomsmeding> | ah, no |
2025-03-25 14:32:32 +0100 | <EvanR> | probably for the best |
2025-03-25 14:34:08 +0100 | <tomsmeding> | EvanR: if you put the 'empty' pattern-matching case last, i.e. after the Cons case, then it does work |
2025-03-25 14:34:11 +0100 | <tomsmeding> | just ignore the GHC warning |
2025-03-25 14:34:29 +0100 | <EvanR> | lol |
2025-03-25 14:34:51 +0100 | <EvanR> | gratuitous newtype |
2025-03-25 14:35:05 +0100 | bliminse | (~bliminse@user/bliminse) bliminse |
2025-03-25 14:35:10 +0100 | <EvanR> | new NonDeterm a = NonDeterm { getPossibilities :: [a] } |
2025-03-25 14:35:19 +0100 | kuribas` | (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)) |
2025-03-25 14:35:41 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) kuribas |
2025-03-25 14:37:17 +0100 | <EvanR> | so you're saying you can combine this monad with others |
2025-03-25 14:37:46 +0100 | <EvanR> | s -> [IO (a, s)] |
2025-03-25 14:37:50 +0100 | kh0d | (~kh0d@212.200.247.164) (Remote host closed the connection) |
2025-03-25 14:38:07 +0100 | <EvanR> | what did I just do |
2025-03-25 14:38:21 +0100 | <tomsmeding> | actually, the proper monad transformer for [a] is rather tricky |
2025-03-25 14:38:22 +0100 | kh0d | (~kh0d@212.200.247.164) kh0d |
2025-03-25 14:38:38 +0100 | <tomsmeding> | you can write what you just did, but it doesn't work well |
2025-03-25 14:38:49 +0100 | <tomsmeding> | https://hackage.haskell.org/package/list-t-1.0.5.7/docs/ListT.html |
2025-03-25 14:38:51 +0100 | Shsl-Junko-POSER | (~Shsl-Junk@50.235.208.178) |
2025-03-25 14:39:20 +0100 | <kuribas> | mixing backtracking with IO also is dangerous... |
2025-03-25 14:39:23 +0100 | <tomsmeding> | to understand what's going on there, note that `data KindOfAList a = KindOfAList (Maybe (a, KindOfAList a))` is essentially equivalent to [a] |
2025-03-25 14:40:52 +0100 | <EvanR> | what is the run function |
2025-03-25 14:41:19 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 14:41:29 +0100 | <EvanR> | uncons :: ListT m a -> m (Maybe (a, ListT m a)) |
2025-03-25 14:41:59 +0100 | <tomsmeding> | the run function of what? |
2025-03-25 14:43:03 +0100 | kh0d | (~kh0d@212.200.247.164) (Ping timeout: 244 seconds) |
2025-03-25 14:43:10 +0100 | cheater | (~Username@user/cheater) cheater |
2025-03-25 14:43:23 +0100 | <EvanR> | @unmtl ListT (State s) a |
2025-03-25 14:43:23 +0100 | <lambdabot> | s -> ([] a, s) |
2025-03-25 14:43:50 +0100 | <EvanR> | @unmtl StateT [] a |
2025-03-25 14:43:50 +0100 | <lambdabot> | err: `StateT [] a' is not applied to enough arguments, giving `/\A. [] -> a (A, [])' |
2025-03-25 14:43:55 +0100 | <EvanR> | @unmtl StateT [] s a |
2025-03-25 14:43:55 +0100 | <lambdabot> | [] -> s (a, []) |
2025-03-25 14:44:15 +0100 | <EvanR> | squint |
2025-03-25 14:44:25 +0100 | <EvanR> | [s -> (a, [])] ? |
2025-03-25 14:44:43 +0100 | <EvanR> | no |
2025-03-25 14:44:59 +0100 | <EvanR> | [] is the wrong kind |
2025-03-25 14:45:56 +0100 | kh0d | (~kh0d@212.200.247.164) |
2025-03-25 14:45:57 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 268 seconds) |
2025-03-25 14:47:38 +0100 | <tomsmeding> | @unmtl StateT s [] a |
2025-03-25 14:47:38 +0100 | <lambdabot> | s -> [] (a, s) |
2025-03-25 14:48:06 +0100 | <tomsmeding> | the "inner monad" is always the penultimate argument, to fit the kind of MonadTrans |
2025-03-25 14:48:14 +0100 | ash3en | (~Thunderbi@89.56.182.235) (Quit: ash3en) |
2025-03-25 14:49:04 +0100 | ash3en | (~Thunderbi@89.56.182.235) ash3en |
2025-03-25 14:49:19 +0100 | <EvanR> | oh [] was a datakind I guess |
2025-03-25 14:49:35 +0100 | <EvanR> | gotta love it |
2025-03-25 14:50:07 +0100 | <EvanR> | the more stuff the compiler accepts the less able it is to notice your nonsense |
2025-03-25 14:51:19 +0100 | <EvanR> | implementing s -> [] (a, s) |
2025-03-25 14:51:24 +0100 | <EvanR> | monad instance |
2025-03-25 14:51:29 +0100 | kh0d | (~kh0d@212.200.247.164) (Remote host closed the connection) |
2025-03-25 14:52:29 +0100 | <tomsmeding> | lambdabot's @unmtl is not smart enough for DataKinds, it just does dumb parsing I think |
2025-03-25 14:52:47 +0100 | <tomsmeding> | it knows `F a b c` as data types, so it translates `[a]` to `[] a` before doing anything |
2025-03-25 14:52:56 +0100 | <tomsmeding> | if the result doesn't kind check, that's up to the user |
2025-03-25 14:53:20 +0100 | <tomsmeding> | rather, if your _input_ to @unmtl doesn't kind check, then garbage-in garbage-out |
2025-03-25 14:54:32 +0100 | <EvanR> | lovely |
2025-03-25 14:54:51 +0100 | <int-e> | I suspect that it barely knows that [] is a type constructor |
2025-03-25 14:55:08 +0100 | <int-e> | @unmtl RWST a a a a a |
2025-03-25 14:55:08 +0100 | <lambdabot> | a -> a -> a (a, a, a) |
2025-03-25 14:55:22 +0100 | <tomsmeding> | @unmtl StateT StateT StateT StateT |
2025-03-25 14:55:22 +0100 | <lambdabot> | err: `StateT' is not applied to enough arguments, giving `/\A B C. A -> B (C, A)' |
2025-03-25 14:55:24 +0100 | <tomsmeding> | oh |
2025-03-25 14:55:47 +0100 | <tomsmeding> | @unmtl StateT F F F |
2025-03-25 14:55:47 +0100 | <lambdabot> | F -> F (F, F) |
2025-03-25 14:56:01 +0100 | <int-e> | Oh, right, it will know the arity of the known MTL transformers. |
2025-03-25 15:00:18 +0100 | jespada | (~jespada@2800:a4:229c:8a00:e032:2eec:bdbe:deac) (Ping timeout: 272 seconds) |
2025-03-25 15:03:10 +0100 | kh0d | (~kh0d@212.200.247.164) kh0d |
2025-03-25 15:03:33 +0100 | jespada | (~jespada@2800:a4:22ac:eb00:e45c:1f6c:60ff:fb6b) jespada |
2025-03-25 15:06:00 +0100 | Shsl-Junko-POSER | (~Shsl-Junk@50.235.208.178) (Quit: Client closed) |
2025-03-25 15:06:21 +0100 | <EvanR> | ok guess I should have done State before doing list state |
2025-03-25 15:06:37 +0100 | <EvanR> | maybe wikipedia was right |
2025-03-25 15:07:27 +0100 | <tomsmeding> | EvanR: the issue is more that [] doesn't lend itself well to making a transformer version |
2025-03-25 15:07:32 +0100 | <int-e> | EvanR: try to get Cont r a right the first time |
2025-03-25 15:07:41 +0100 | <tomsmeding> | State, Except, Reader, Parser etc. work much better as transformers |
2025-03-25 15:07:44 +0100 | <int-e> | first try, that is |
2025-03-25 15:08:10 +0100 | kh0d | (~kh0d@212.200.247.164) (Ping timeout: 265 seconds) |
2025-03-25 15:08:27 +0100 | <EvanR> | continuations. I know this </jurassicpark> |
2025-03-25 15:10:26 +0100 | haetsal | (~quassel@221.138.168.192) (Remote host closed the connection) |
2025-03-25 15:11:14 +0100 | haetsal | (~quassel@221.138.168.192) |
2025-03-25 15:13:58 +0100 | cipherrot | (~znc-user@user/petrichor) (Quit: ZNC 1.8.2 - https://znc.in) |
2025-03-25 15:19:12 +0100 | petrichor | (~znc-user@user/petrichor) petrichor |
2025-03-25 15:24:44 +0100 | zungi | (~tory@user/andrewchawk) andrewchawk |
2025-03-25 15:27:24 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 15:30:08 +0100 | rvalue | (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
2025-03-25 15:30:39 +0100 | rvalue | (~rvalue@user/rvalue) rvalue |
2025-03-25 15:32:12 +0100 | <pdw> | bgamari: In case you missed the date typo at https://www.haskell.org/ghc/, Latest News there lists the recent 9.12.2 release under "14 Mar 2024" (i.e. not '25). The 9.12.2 download page also has "released 14th Mar 2024". |
2025-03-25 15:32:12 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 268 seconds) |
2025-03-25 15:32:27 +0100 | kh0d | (~kh0d@212.200.247.164) |
2025-03-25 15:33:31 +0100 | JuanDaugherty | (~juan@user/JuanDaugherty) JuanDaugherty |
2025-03-25 15:35:45 +0100 | Square2 | (~Square4@user/square) (Ping timeout: 244 seconds) |
2025-03-25 15:36:13 +0100 | acidjnk | (~acidjnk@p200300d6e71c4f24c8a043139ebe92bd.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
2025-03-25 15:37:03 +0100 | kh0d | (~kh0d@212.200.247.164) (Ping timeout: 252 seconds) |
2025-03-25 15:38:17 +0100 | jmcantrell | (~weechat@user/jmcantrell) jmcantrell |
2025-03-25 15:45:19 +0100 | Square | (~Square@user/square) Square |
2025-03-25 15:45:28 +0100 | <mauke> | 9.6.7 doesn't even exist exist |
2025-03-25 15:45:35 +0100 | <mauke> | s/exist$/yet/ |
2025-03-25 15:45:48 +0100 | <tomsmeding> | yes it does |
2025-03-25 15:45:55 +0100 | <tomsmeding> | since, like, yesterday |
2025-03-25 15:46:24 +0100 | <mauke> | not according to the official website |
2025-03-25 15:46:31 +0100 | <EvanR> | shadow versions |
2025-03-25 15:46:34 +0100 | <mauke> | there's no release announcement |
2025-03-25 15:46:44 +0100 | <tomsmeding> | it was on the mailing list and it's in ghcup |
2025-03-25 15:47:17 +0100 | kh0d | (~kh0d@212.200.247.164) kh0d |
2025-03-25 15:47:18 +0100 | <mauke> | the "secret menu" |
2025-03-25 15:48:22 +0100 | <tomsmeding> | other things were also forgotten apparently https://mail.haskell.org/pipermail/ghc-devs/2025-March/021956.html |
2025-03-25 15:48:24 +0100 | <JuanDaugherty> | ghcup doesn wait or smoke test or nuthin? |
2025-03-25 15:48:36 +0100 | <tomsmeding> | it was released and ghcup does smoke test |
2025-03-25 15:48:41 +0100 | <tomsmeding> | it just wasn't posted on haskell.org |
2025-03-25 15:49:08 +0100 | <JuanDaugherty> | makes sense h,o be slow |
2025-03-25 15:49:14 +0100 | <tomsmeding> | there have also been release candidates and the maintainer of ghcup is aware of those, including what the actual difference is between the release candidates and the final release |
2025-03-25 15:49:37 +0100 | <tomsmeding> | if nothing changed between the final RC and the actual release, and the RC was already smoke tested, one doesn't need to wait |
2025-03-25 15:50:28 +0100 | <haskellbridge> | <maerwald> 9.6.7 release manager is in the hospital |
2025-03-25 15:50:48 +0100 | <haskellbridge> | <maerwald> So there might be some rough corners regarding release process |
2025-03-25 15:51:18 +0100 | <tomsmeding> | :/ |
2025-03-25 15:52:34 +0100 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) (Quit: Lost terminal) |
2025-03-25 15:53:20 +0100 | <haskellbridge> | <maerwald> JuanDaugherty: Wait for what? |
2025-03-25 15:53:22 +0100 | <haskellbridge> | <maerwald> Myself? |
2025-03-25 15:53:31 +0100 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
2025-03-25 15:53:51 +0100 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 252 seconds) |
2025-03-25 15:54:19 +0100 | <JuanDaugherty> | haskellbridge <maerwald> y not |
2025-03-25 15:55:03 +0100 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) ezzieyguywuf |
2025-03-25 15:55:05 +0100 | <haskellbridge> | <maerwald> Release announcement went to: ghc-releases, discourse, haskell-cafe and the #haskell-releases:matrix.org channel |
2025-03-25 15:56:06 +0100 | <haskellbridge> | <maerwald> Smoke tests are here https://github.com/haskell/ghcup-metadata/actions/runs/14034851759 |
2025-03-25 15:56:09 +0100 | <JuanDaugherty> | i'm good with 9.6.6, just making convo; is something juicy in the new old branch? |
2025-03-25 15:56:14 +0100 | kh0d | (~kh0d@212.200.247.164) (Ping timeout: 260 seconds) |
2025-03-25 15:56:43 +0100 | acidjnk | (~acidjnk@p200300d6e71c4f24c8a043139ebe92bd.dip0.t-ipconnect.de) acidjnk |
2025-03-25 15:56:50 +0100 | <haskellbridge> | <maerwald> 9.6.6 has a kqueue bug |
2025-03-25 15:57:08 +0100 | <JuanDaugherty> | good to know, ty |
2025-03-25 15:57:29 +0100 | <JuanDaugherty> | for like sparks ans stuff? |
2025-03-25 15:57:36 +0100 | <JuanDaugherty> | *and |
2025-03-25 15:57:41 +0100 | <haskellbridge> | <maerwald> https://downloads.haskell.org/ghc/9.6.7/docs/users_guide/9.6.7-notes.html |
2025-03-25 15:57:52 +0100 | <haskellbridge> | <maerwald> FreeBSD is known to trigger it |
2025-03-25 15:58:14 +0100 | <JuanDaugherty> | but not linux? |
2025-03-25 15:58:41 +0100 | <JuanDaugherty> | (even better to know its on bumfuc OS) |
2025-03-25 15:59:06 +0100 | <haskellbridge> | <maerwald> Check the release notes |
2025-03-25 15:59:57 +0100 | kh0d | (~kh0d@212.200.247.164) kh0d |
2025-03-25 16:00:11 +0100 | <EvanR> | FreeBumfucSD? |
2025-03-25 16:00:48 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 264 seconds) |
2025-03-25 16:01:15 +0100 | werneta | (~werneta@syn-071-083-160-242.res.spectrum.com) (Ping timeout: 252 seconds) |
2025-03-25 16:02:43 +0100 | <EvanR> | birkhoff Basic Geometry 3rd edition is annoying right here: the definition of locus is a figure which includes all the points that satisfy a given condition (or conditions) and no other points. Then regards this as an if and only if, with one direction going "if a point satisfies the condition, it's on the locus" |
2025-03-25 16:03:28 +0100 | <JuanDaugherty> | reviewing that reminded me of how sbcl is always fixin stuff that isn broke in the better cls |
2025-03-25 16:03:33 +0100 | <EvanR> | Then it goes on to prove the converse "if a point satisfies the condition, it lies on the locus" by using "The indirect method. For suppose that the condition is not true..." |
2025-03-25 16:04:02 +0100 | <EvanR> | I'm like that is evident directly from the definition why are you using an indirect method lol |
2025-03-25 16:05:43 +0100 | Square | (~Square@user/square) (Ping timeout: 244 seconds) |
2025-03-25 16:06:03 +0100 | <EvanR> | I wrote that backwards |
2025-03-25 16:06:14 +0100 | <EvanR> | the converse is "if a point lies on the locus, it satisfies the condition" |
2025-03-25 16:06:30 +0100 | <EvanR> | which if locus was a GADT-like thing with constructor OnLocus :: x:Point -> c:Condition x -> Locus c x |
2025-03-25 16:06:35 +0100 | <EvanR> | you would already know that |
2025-03-25 16:06:42 +0100 | kh0d | (~kh0d@212.200.247.164) (Ping timeout: 246 seconds) |
2025-03-25 16:08:01 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2025-03-25 16:08:25 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) ChaiTRex |
2025-03-25 16:09:26 +0100 | ash3en | (~Thunderbi@89.56.182.235) (Quit: ash3en) |
2025-03-25 16:12:21 +0100 | kh0d | (~kh0d@212.200.247.164) |
2025-03-25 16:13:48 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 16:17:53 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 245 seconds) |
2025-03-25 16:19:49 +0100 | kh0d | (~kh0d@212.200.247.164) (Remote host closed the connection) |
2025-03-25 16:20:37 +0100 | kh0d | (~kh0d@212.200.247.164) kh0d |
2025-03-25 16:33:15 +0100 | JuanDaugherty | (~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org)) |
2025-03-25 16:33:42 +0100 | <haskellbridge> | <Liamzee> question about this code |
2025-03-25 16:33:45 +0100 | <haskellbridge> | <Liamzee> https://github.com/nammayatri/nammayatri/blob/main/Backend/app/provider-platform/dynamic-offer-dri… |
2025-03-25 16:34:01 +0100 | <haskellbridge> | <Liamzee> does sendSMS not actually use its where clause? |
2025-03-25 16:34:13 +0100 | <haskellbridge> | <Liamzee> I mean, it calls handler, but I don't think it actually uses the other elements? |
2025-03-25 16:38:25 +0100 | <mauke> | {..} can hide many secrets |
2025-03-25 16:39:01 +0100 | Adeon | (sid418992@id-418992.lymington.irccloud.com) (Ping timeout: 248 seconds) |
2025-03-25 16:39:12 +0100 | <haskellbridge> | <Liamzee> yeah, that's what I'm assuming |
2025-03-25 16:40:03 +0100 | Adeon | (sid418992@id-418992.lymington.irccloud.com) Adeon |
2025-03-25 16:40:46 +0100 | <EvanR> | what does Sms.SmsHandler {..} mean on the right hand side |
2025-03-25 16:40:53 +0100 | <EvanR> | I've seen {..} in a pattern |
2025-03-25 16:41:14 +0100 | <haskellbridge> | <Liamzee> https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/record_wildcards.html |
2025-03-25 16:41:17 +0100 | <mauke> | same thing as in a pattern, but backwards |
2025-03-25 16:41:39 +0100 | <haskellbridge> | <Liamzee> i'm guessing it's somehow allowing the where names to override items |
2025-03-25 16:41:43 +0100 | <haskellbridge> | <Liamzee> interesting technique |
2025-03-25 16:41:52 +0100 | ash3en | (~Thunderbi@89.56.182.235) ash3en |
2025-03-25 16:42:17 +0100 | kh0d | (~kh0d@212.200.247.164) (Quit: Leaving...) |
2025-03-25 16:42:29 +0100 | <mauke> | not much to override if there's nothing there in the first place |
2025-03-25 16:44:06 +0100 | <EvanR> | that is some weird syntax |
2025-03-25 16:44:15 +0100 | <haskellbridge> | <Liamzee> sloccount says it's 290k lines, 250k lines haskell |
2025-03-25 16:44:19 +0100 | <haskellbridge> | <Liamzee> Juspay, very interesting app |
2025-03-25 16:44:39 +0100 | <haskellbridge> | <Liamzee> https://github.com/nammayatri/nammayatri |
2025-03-25 16:45:29 +0100 | <EvanR> | another way to "not repeat yourself" in Foo {a=a, b=b, c=c} is RecordPuns |
2025-03-25 16:46:02 +0100 | <EvanR> | then at least it doesn't seem to be spooky action at a distance |
2025-03-25 16:46:32 +0100 | <haskellbridge> | <Liamzee> they could actually just inline the damn thing |
2025-03-25 16:46:57 +0100 | <EvanR> | that would be too easy to read |
2025-03-25 16:53:30 +0100 | <haskellbridge> | <Liamzee> speaking of galapagos haskell |
2025-03-25 16:53:32 +0100 | <haskellbridge> | <Liamzee> https://so.gitee.com/?q=haskell |
2025-03-25 16:54:02 +0100 | <haskellbridge> | <Liamzee> apparently, #1, China has a policy of supporting FOSS, #2, Gitee is the approved Chinese FOSS repo, #3, you have to be approved by censors before your code posts |
2025-03-25 16:55:18 +0100 | notdabs | (~Owner@2600:1700:69cf:9000:5812:4103:61ba:7880) |
2025-03-25 16:56:15 +0100 | <haskellbridge> | <Liamzee> not sure how mature this package is |
2025-03-25 16:56:17 +0100 | <haskellbridge> | <Liamzee> https://gitee.com/flyingsheeplp/mynes |
2025-03-25 17:00:13 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 17:02:46 +0100 | user363627 | (~user@user/user363627) user363627 |
2025-03-25 17:03:19 +0100 | weary-traveler | (~user@user/user363627) (Ping timeout: 260 seconds) |
2025-03-25 17:04:51 +0100 | <haskellbridge> | <terrorjack> haskell jp community is like a 10x larger galapagos |
2025-03-25 17:05:00 +0100 | <haskellbridge> | <terrorjack> https://haskell.jp |
2025-03-25 17:05:02 +0100 | <haskellbridge> | <Liamzee> you saw my XHS posting, right? |
2025-03-25 17:05:04 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 272 seconds) |
2025-03-25 17:05:08 +0100 | <haskellbridge> | <terrorjack> nah |
2025-03-25 17:05:36 +0100 | <haskellbridge> | <Liamzee> i mean Kazu Yamamoto is like maintaining the network packages |
2025-03-25 17:05:52 +0100 | <haskellbridge> | <Liamzee> and of course, what's his name, mr "implemented goto via free monads" |
2025-03-25 17:05:54 +0100 | <haskellbridge> | <terrorjack> oh wait, you're the guy asking about typeable etc? |
2025-03-25 17:06:02 +0100 | <haskellbridge> | <Liamzee> ;_; |
2025-03-25 17:06:14 +0100 | <haskellbridge> | <Liamzee> so we're in the same wechat, then |
2025-03-25 17:06:44 +0100 | <haskellbridge> | <terrorjack> i see |
2025-03-25 17:06:57 +0100 | sprotte24 | (~sprotte24@p5dd5d056.dip0.t-ipconnect.de) |
2025-03-25 17:07:49 +0100 | <haskellbridge> | <Liamzee> i was more wondering why Haskell is a total abortion in Haskell, like, according to them, EMQ only maintains winterland's legacy systems |
2025-03-25 17:07:58 +0100 | <haskellbridge> | <Liamzee> erm, total abortion in China |
2025-03-25 17:08:53 +0100 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 248 seconds) |
2025-03-25 17:10:27 +0100 | <haskellbridge> | <terrorjack> well it takes someone motivated |
2025-03-25 17:10:39 +0100 | <haskellbridge> | <Liamzee> Vincent Zhang iirc blew up |
2025-03-25 17:10:46 +0100 | <haskellbridge> | <Liamzee> he had a start-up, tried for a few years |
2025-03-25 17:10:52 +0100 | <haskellbridge> | <Liamzee> gave up |
2025-03-25 17:10:54 +0100 | <haskellbridge> | <Liamzee> or what was his name? |
2025-03-25 17:10:56 +0100 | <EvanR> | like lisp was based on church, an american, so lisp took off in america, while ML was based on russel and whitehead, and took off in europe |
2025-03-25 17:11:05 +0100 | <EvanR> | what's china's deal |
2025-03-25 17:11:13 +0100 | sprotte24_ | (~sprotte24@p5dd5d056.dip0.t-ipconnect.de) |
2025-03-25 17:11:16 +0100 | sprotte24_ | (~sprotte24@p5dd5d056.dip0.t-ipconnect.de) (Remote host closed the connection) |
2025-03-25 17:11:25 +0100 | <haskellbridge> | <terrorjack> "using haskell" is not worth a single bullet point in your powerpoint to be shown to vcs obviously |
2025-03-25 17:11:36 +0100 | geekosaur | thinks it more likely that companies want cheap disposable programmers, therefore python and js |
2025-03-25 17:12:02 +0100 | <haskellbridge> | <Liamzee> hey, huawei is a rust supporter |
2025-03-25 17:13:35 +0100 | Googulator | (~Googulato@2a01-036d-0106-01d5-c415-995d-99e3-7810.pool6.digikabel.hu) |
2025-03-25 17:14:06 +0100 | <haskellbridge> | <terrorjack> i've no interest in why haskell has no momentum in china; i do have interest why you're obsessed with haskell in china |
2025-03-25 17:15:10 +0100 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 244 seconds) |
2025-03-25 17:20:16 +0100 | <haskellbridge> | <Liamzee> lots of programmers, lots of increasingly good programmers |
2025-03-25 17:20:45 +0100 | <haskellbridge> | <Liamzee> i see it like Thinkpad, which IBM was profiting off marginally, got bought out by Lenovo, became way more profitable although, obviously, the brand was tarnished somewhat |
2025-03-25 17:21:05 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.5.2) |
2025-03-25 17:21:18 +0100 | <haskellbridge> | <Liamzee> of course, in this scenario, Anduril moved first, and they're funding Well-Typed |
2025-03-25 17:22:22 +0100 | user363627 | weary-traveler |
2025-03-25 17:25:20 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 272 seconds) |
2025-03-25 17:25:29 +0100 | <haskellbridge> | <Liamzee> EvanR: apparently Chinese devs were trained heavily on C++, and one thing to notice is that productivity enhancing tools are less important when you have cheap labor |
2025-03-25 17:25:30 +0100 | LainExperiments | (~LainExper@user/LainExperiments) LainExperiments |
2025-03-25 17:25:53 +0100 | <haskellbridge> | <Liamzee> Indian developers, for instance, make 1/20th the salaries of American developers |
2025-03-25 17:26:22 +0100 | <haskellbridge> | <Liamzee> the cost of labor is much more expensive relative to capital, which probably explains why Huawei and Bytedance went for Rust |
2025-03-25 17:26:29 +0100 | <haskellbridge> | <terrorjack> well then, either some chinese firm needs to make a real profit using haskell, or they need to maintain a fork that they can rebrand as an innovative product to get government grant |
2025-03-25 17:26:40 +0100 | <haskellbridge> | <Liamzee> because Rust essentially has no hardware efficiency cost relative to C++ |
2025-03-25 17:26:42 +0100 | <haskellbridge> | <terrorjack> the latter is much more pragmatic |
2025-03-25 17:27:01 +0100 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
2025-03-25 17:27:03 +0100 | <haskellbridge> | <Liamzee> terrorjack: I'd say, a Chinese firm makes a real profit with a real product, but founders are a bit Haskell-crazy |
2025-03-25 17:27:17 +0100 | <haskellbridge> | <Liamzee> the Chinese are just too pragmatic, I think there were many problems historically with commercial Haskell that enabled only niche use |
2025-03-25 17:27:45 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-03-25 17:27:53 +0100 | <haskellbridge> | <Liamzee> the choice of language in this day and age matters less than what your business plan is and what your organization is |
2025-03-25 17:28:01 +0100 | <haskellbridge> | <terrorjack> wish them all the luck lol |
2025-03-25 17:28:10 +0100 | <EvanR> | this programming language class warfare is unsettling |
2025-03-25 17:28:19 +0100 | <haskellbridge> | <terrorjack> no shortage of hobbyists in school, but as they graduate they need to put food on the table. end of story |
2025-03-25 17:28:42 +0100 | <haskellbridge> | <terrorjack> "programming language class"? sorry? |
2025-03-25 17:29:09 +0100 | <haskellbridge> | <terrorjack> there are only half baked compiler construction classes that waste over half of the time to teach you about automatas and how to write parsers |
2025-03-25 17:29:59 +0100 | <haskellbridge> | <Liamzee> He meant class warfare, but you can see how social class influences the sociology of Haskell, right? |
2025-03-25 17:30:19 +0100 | <EvanR> | that's funny where your parsing of my message stopped |
2025-03-25 17:30:26 +0100 | <EvanR> | it was only 3 more words I promise |
2025-03-25 17:30:53 +0100 | <haskellbridge> | <terrorjack> ah, class warfare as in class struggle |
2025-03-25 17:31:06 +0100 | <EvanR> | I don't know about social class I figured it was more about educational background |
2025-03-25 17:31:13 +0100 | <EvanR> | which I guess could be related |
2025-03-25 17:31:41 +0100 | <haskellbridge> | <Liamzee> one of the drives in Haskell community, I think, is to not be a commodity programmer working an equivalent of 996, which is a potential selling point of Haskell |
2025-03-25 17:32:01 +0100 | <EvanR> | that sounds like "elitism" that we're always getting accused of |
2025-03-25 17:32:32 +0100 | <haskellbridge> | <Liamzee> i'm unsettled too, i guess |
2025-03-25 17:33:04 +0100 | <EvanR> | but getting a better job should be a drive in general regardless of language or field |
2025-03-25 17:33:21 +0100 | euphores | (~SASL_euph@user/euphores) euphores |
2025-03-25 17:33:46 +0100 | <EvanR> | despite what we might hear from the government xD |
2025-03-25 17:34:00 +0100 | merijn | (~merijn@77.242.116.146) merijn |
2025-03-25 17:35:32 +0100 | <haskellbridge> | <Liamzee> iirc the archetypical chinese developer career is that you work your ass off until you're 35, when you can't handle the schedule anymore, then you either retire or move into management |
2025-03-25 17:35:59 +0100 | <haskellbridge> | <Liamzee> pay is supposed to be better than the alternatives |
2025-03-25 17:36:05 +0100 | fp | (~Thunderbi@130.233.70.95) (Ping timeout: 248 seconds) |
2025-03-25 17:36:29 +0100 | <haskellbridge> | <Liamzee> the long-term investment part of haskell, then, is probably not there |
2025-03-25 17:40:11 +0100 | <EvanR> | one area I was wondering about is embedded chips. When the memory is low, haskell has no chance of running aiui |
2025-03-25 17:40:22 +0100 | <EvanR> | though there are DSLs to produce programs for low memory environments |
2025-03-25 17:41:26 +0100 | <EvanR> | with the increased amount of computronium in products this explains a lack of haskell, or opportunity for such safe DSLs |
2025-03-25 17:45:37 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 17:45:39 +0100 | <haskellbridge> | <Liamzee> Travis Whittaker is working on it, and I think that's one thing they're funding Well-Typed for |
2025-03-25 17:45:54 +0100 | <haskellbridge> | <Liamzee> I like Linear Haskell |
2025-03-25 17:49:57 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 246 seconds) |
2025-03-25 17:50:40 +0100 | acidjnk | (~acidjnk@p200300d6e71c4f24c8a043139ebe92bd.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2025-03-25 17:51:40 +0100 | <haskellbridge> | <Liamzee> the unfortunate part, though, is that much of the work will end up being classified |
2025-03-25 17:52:51 +0100 | jespada | (~jespada@2800:a4:22ac:eb00:e45c:1f6c:60ff:fb6b) (Quit: My Mac has gone to sleep. ZZZzzz…) |
2025-03-25 17:54:39 +0100 | ash3en | (~Thunderbi@89.56.182.235) (Ping timeout: 260 seconds) |
2025-03-25 17:55:42 +0100 | LainExperiments | (~LainExper@user/LainExperiments) (Ping timeout: 240 seconds) |
2025-03-25 18:01:02 +0100 | sp1ff | (~user@c-67-160-173-55.hsd1.wa.comcast.net) (Remote host closed the connection) |
2025-03-25 18:03:48 +0100 | <merijn> | EvanR: Just program your chip directly in Haskell ;) |
2025-03-25 18:03:54 +0100 | <merijn> | @where clash |
2025-03-25 18:03:54 +0100 | <lambdabot> | I know nothing about clash. |
2025-03-25 18:03:56 +0100 | <merijn> | aww |
2025-03-25 18:04:05 +0100 | <EvanR> | you mean the hardware design |
2025-03-25 18:04:13 +0100 | <merijn> | yeah |
2025-03-25 18:04:13 +0100 | <merijn> | https://clash-lang.org |
2025-03-25 18:04:34 +0100 | <merijn> | Also, there was a project for low-level Haskell |
2025-03-25 18:05:08 +0100 | <merijn> | I forget the name of the spec |
2025-03-25 18:05:13 +0100 | <mauke> | @where+ clash https://clash-lang.org/ |
2025-03-25 18:05:13 +0100 | <lambdabot> | Okay. |
2025-03-25 18:05:39 +0100 | <EvanR> | cooool |
2025-03-25 18:06:02 +0100 | <merijn> | EvanR: It was a project at the university of Oregon (iirc) |
2025-03-25 18:06:18 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
2025-03-25 18:06:20 +0100 | <merijn> | The project is dead before they did anything in terms of usable artifacts, but the spec is an interesting read |
2025-03-25 18:06:24 +0100 | <merijn> | I just can't remember the bloody name |
2025-03-25 18:06:50 +0100 | <EvanR> | retrocomputing |
2025-03-25 18:06:58 +0100 | <EvanR> | not to be confused with reversible computing |
2025-03-25 18:08:44 +0100 | <merijn> | EvanR: Ah, Habit that was it |
2025-03-25 18:09:04 +0100 | <merijn> | EvanR: https://www.habit-lang.org |
2025-03-25 18:09:51 +0100 | <EvanR> | now I remember that one |
2025-03-25 18:11:23 +0100 | ash3en | (~Thunderbi@89.56.182.235) ash3en |
2025-03-25 18:11:47 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 244 seconds) |
2025-03-25 18:14:44 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 265 seconds) |
2025-03-25 18:16:40 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds) |
2025-03-25 18:18:19 +0100 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
2025-03-25 18:19:10 +0100 | pdw | (~user@215.156.62.185.bridgefibre.net) (Remote host closed the connection) |
2025-03-25 18:19:24 +0100 | zungi | (~tory@user/andrewchawk) (Ping timeout: 264 seconds) |
2025-03-25 18:19:35 +0100 | euphores | (~SASL_euph@user/euphores) euphores |
2025-03-25 18:20:43 +0100 | zungi | (~tory@user/andrewchawk) andrewchawk |
2025-03-25 18:21:12 +0100 | califax | (~califax@user/califx) (Ping timeout: 264 seconds) |
2025-03-25 18:22:28 +0100 | califax | (~califax@user/califx) califx |
2025-03-25 18:28:14 +0100 | <EvanR> | int-e, well my Cont Monad instance typechecked I dunno if it's right though |
2025-03-25 18:28:49 +0100 | <EvanR> | probably wrong |
2025-03-25 18:31:41 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 18:34:20 +0100 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:102d:f23f:3d0e:5609) (Quit: ubert) |
2025-03-25 18:34:32 +0100 | raym | (~ray@user/raym) (Ping timeout: 252 seconds) |
2025-03-25 18:35:46 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 244 seconds) |
2025-03-25 18:36:29 +0100 | raym | (~ray@user/raym) raym |
2025-03-25 18:37:33 +0100 | <cheater> | i thought retrocomputing was where you uncompute data, reversing the entropy gradient compared to normal computing |
2025-03-25 18:38:01 +0100 | Pozyomka | (~pyon@user/pyon) pyon |
2025-03-25 18:38:25 +0100 | Garvita | (~Garvita@103.72.6.69) |
2025-03-25 18:39:17 +0100 | Garvita | gogetter |
2025-03-25 18:39:33 +0100 | <gogetter> | are here any mentors for gsoc? |
2025-03-25 18:40:20 +0100 | Garvita | (~Garvita@103.72.6.69) |
2025-03-25 18:42:02 +0100 | Garvita | gog |
2025-03-25 18:43:56 +0100 | jespada | (~jespada@2800:a4:22ac:eb00:e45c:1f6c:60ff:fb6b) jespada |
2025-03-25 18:44:22 +0100 | <EvanR> | cheater, I said NOT to be confused |
2025-03-25 18:45:01 +0100 | Pozyomka | (~pyon@user/pyon) (Quit: brb) |
2025-03-25 18:45:08 +0100 | <cheater> | sorry, i retrocomputed your sentence and all i got was "those two things are exactly the same." |
2025-03-25 18:46:03 +0100 | Pozyomka | (~pyon@user/pyon) pyon |
2025-03-25 18:51:12 +0100 | siers | (~ij@user/ij) (Ping timeout: 246 seconds) |
2025-03-25 18:51:33 +0100 | siers | (~ij@user/ij) ij |
2025-03-25 18:53:31 +0100 | haskellbridge | (~hackager@syn-024-093-192-219.res.spectrum.com) (Remote host closed the connection) |
2025-03-25 18:57:26 +0100 | gog | (~Garvita@103.72.6.69) (Quit: Client closed) |
2025-03-25 18:57:26 +0100 | gogetter | (~Garvita@103.72.6.69) (Quit: Client closed) |
2025-03-25 18:57:27 +0100 | haskellbridge | (~hackager@syn-024-093-192-219.res.spectrum.com) hackager |
2025-03-25 18:57:27 +0100 | ChanServ | +v haskellbridge |
2025-03-25 18:59:36 +0100 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod |
2025-03-25 19:00:58 +0100 | ash3en | (~Thunderbi@89.56.182.235) (Ping timeout: 272 seconds) |
2025-03-25 19:02:35 +0100 | Sayman | (~Sayman@2401:4900:1ca3:94e0:9065:574c:a43:a4ea) |
2025-03-25 19:04:42 +0100 | <Sayman> | Hi there, as I discussed about the enhancements in yesod framework. So I have submitted my proposal on it after getting an appreciative message from one of you, can you guide me what should be my next step to get selected? |
2025-03-25 19:06:57 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 19:08:01 +0100 | Clint | squints. |
2025-03-25 19:10:37 +0100 | <Sayman> | what do you mean by that? |
2025-03-25 19:10:48 +0100 | Guest76 | (~Guest76@host-79-31-115-228.retail.telecomitalia.it) |
2025-03-25 19:11:03 +0100 | Guest76 | (~Guest76@host-79-31-115-228.retail.telecomitalia.it) () |
2025-03-25 19:11:10 +0100 | ash3en | (~Thunderbi@89.56.182.235) ash3en |
2025-03-25 19:11:55 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-03-25 19:13:46 +0100 | dhil | (~dhil@2a0c:b381:52e:3600:4562:2dab:a736:76b0) (Quit: Leaving) |
2025-03-25 19:14:02 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) Unicorn_Princess |
2025-03-25 19:16:10 +0100 | ash3en | (~Thunderbi@89.56.182.235) (Ping timeout: 272 seconds) |
2025-03-25 19:16:27 +0100 | chele | (~chele@user/chele) (Remote host closed the connection) |
2025-03-25 19:21:06 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 19:21:19 +0100 | <EvanR> | are you an artificial intelligence |
2025-03-25 19:21:41 +0100 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 248 seconds) |
2025-03-25 19:22:45 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 19:23:11 +0100 | <Sayman> | no I am a human being, but yeah if you are asking of an ai student so that's what my current field of studies for graduation |
2025-03-25 19:25:05 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
2025-03-25 19:25:21 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 248 seconds) |
2025-03-25 19:27:44 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-03-25 19:28:30 +0100 | <cheater> | no he's asking if you're a bot because you talk like a bot |
2025-03-25 19:28:50 +0100 | <cheater> | your message was refering to context that wasn't there |
2025-03-25 19:29:00 +0100 | <cheater> | try relaxing a bit and talking like a human being |
2025-03-25 19:29:32 +0100 | <tomsmeding> | calm down a bit. Sayman posted here before -- I remember, but clearly cheater does not |
2025-03-25 19:29:43 +0100 | <EvanR> | yes they did |
2025-03-25 19:30:06 +0100 | <cheater> | i'm calm, just explaining where Evan's comment comes from |
2025-03-25 19:30:07 +0100 | <tomsmeding> | Sayman: on irc, people are far from always actively watching the channel, so if your previous message was a while ago, you can count on it that the readers now will not have the context from last time |
2025-03-25 19:30:26 +0100 | <tomsmeding> | also EvanR: accusing someone of being an AI is rather... rude. |
2025-03-25 19:30:45 +0100 | <tomsmeding> | (or you have a _much_ better opinion of current AI than I do.) |
2025-03-25 19:31:29 +0100 | <cheater> | i don't think he was being fully serious |
2025-03-25 19:31:49 +0100 | <cheater> | but if he was, i suggest we throw Evan into the pit |
2025-03-25 19:31:56 +0100 | <tomsmeding> | Sayman: re "next step to get selected": contact the haskell GSoC people, there ought to be some names or contact details somewhere. No one can guarantee you get selected, obviously -- but it can't hurt to get in touch with actual human beings behind the program |
2025-03-25 19:32:14 +0100 | <tomsmeding> | cheater: fair :) |
2025-03-25 19:32:39 +0100 | <Sayman> | okay but how to get there contacts? |
2025-03-25 19:32:47 +0100 | <tomsmeding> | where did you subit? |
2025-03-25 19:32:50 +0100 | <tomsmeding> | *submit |
2025-03-25 19:33:13 +0100 | <Sayman> | I am sorry I thought I was just talking normally! |
2025-03-25 19:33:20 +0100 | <EvanR> | does half serious get the half-pit |
2025-03-25 19:33:33 +0100 | <tomsmeding> | I think you were. :) |
2025-03-25 19:33:33 +0100 | <Sayman> | I submitted the proposal in GSoC official site |
2025-03-25 19:33:41 +0100 | <Sayman> | after registring |
2025-03-25 19:34:00 +0100 | <Sayman> | *Registering |
2025-03-25 19:34:04 +0100 | <tomsmeding> | I looked here https://summerofcode.withgoogle.com/programs/2025/organizations/haskellorg and found https://summer.haskell.org/contact.html through there |
2025-03-25 19:34:22 +0100 | <tomsmeding> | the haskell.org committee seems a bit broad for this, but given as it's linked here, perhaps they know who to turn to |
2025-03-25 19:34:52 +0100 | <tomsmeding> | this channel is also mentioned there, but this is a general haskell channel -- perhaps you'll accidentally find some GSoC people here too, but not necessarily |
2025-03-25 19:35:34 +0100 | <tomsmeding> | EvanR: perhaps. :P |
2025-03-25 19:35:42 +0100 | <Sayman> | Ohh okay I just posted this here |
2025-03-25 19:35:53 +0100 | <tomsmeding> | EvanR: though not sure what being thrown in a half-pit entails, practically |
2025-03-25 19:36:02 +0100 | <Sayman> | Because I found the link to this chat group in GSoC official site |
2025-03-25 19:36:27 +0100 | <tomsmeding> | this is a good place to ask help about haskell, not about GSoC specifically. :) |
2025-03-25 19:36:42 +0100 | <tomsmeding> | *ask for |
2025-03-25 19:36:58 +0100 | <Sayman> | and fun fact it's midnight in my country and I am just sitting infront of my laptop reading about how people got confuse between a normal human being and a bot :) |
2025-03-25 19:37:09 +0100 | <Sayman> | Ohh okay |
2025-03-25 19:37:14 +0100 | <tomsmeding> | :) |
2025-03-25 19:37:27 +0100 | <tomsmeding> | to be fair, there's too many bots these days, some paranoia is perhaps to be expected :p |
2025-03-25 19:37:30 +0100 | <Sayman> | Now I understoof the general purpose of this community channel |
2025-03-25 19:37:51 +0100 | <tomsmeding> | though asking is unlikely to get an honest answer from a bot, perhaps. |
2025-03-25 19:37:59 +0100 | <Sayman> | tomsmeding I can understand |
2025-03-25 19:38:31 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 19:38:37 +0100 | <EvanR> | tomsmeding, +3 bonus on your roll to get out |
2025-03-25 19:40:06 +0100 | <tomsmeding> | on a d-howmany? |
2025-03-25 19:40:42 +0100 | <EvanR> | 6 |
2025-03-25 19:41:59 +0100 | <tomsmeding> | I guess that would work :p |
2025-03-25 19:45:14 +0100 | jess | (meow@libera/staff/cat/jess) () |
2025-03-25 19:45:29 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-03-25 19:50:05 +0100 | Pixi` | (~Pixi@user/pixi) Pixi |
2025-03-25 19:51:34 +0100 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
2025-03-25 19:52:38 +0100 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2025-03-25 19:53:39 +0100 | Pixi | (~Pixi@user/pixi) (Ping timeout: 260 seconds) |
2025-03-25 19:55:17 +0100 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2025-03-25 19:56:35 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 20:00:01 +0100 | caconym | (~caconym@user/caconym) (Quit: bye) |
2025-03-25 20:00:42 +0100 | caconym | (~caconym@user/caconym) caconym |
2025-03-25 20:01:24 +0100 | zungi | (~tory@user/andrewchawk) (Ping timeout: 264 seconds) |
2025-03-25 20:01:25 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-03-25 20:07:10 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 20:08:36 +0100 | zungi | (~tory@user/andrewchawk) andrewchawk |
2025-03-25 20:10:44 +0100 | glguy_ | (glguy@libera/staff/glguy) glguy |
2025-03-25 20:11:05 +0100 | glguy | (glguy@libera/staff/glguy) (Read error: Connection reset by peer) |
2025-03-25 20:11:21 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 246 seconds) |
2025-03-25 20:13:21 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 20:13:56 +0100 | leah2 | (~leah@vuxu.org) (Ping timeout: 244 seconds) |
2025-03-25 20:18:18 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-03-25 20:19:58 +0100 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2025-03-25 20:20:35 +0100 | crabtastic | (uid695166@id-695166.lymington.irccloud.com) |
2025-03-25 20:21:03 +0100 | Sayman | (~Sayman@2401:4900:1ca3:94e0:9065:574c:a43:a4ea) (Quit: Client closed) |
2025-03-25 20:23:43 +0100 | ash3en | (~Thunderbi@89.56.182.235) ash3en |
2025-03-25 20:24:21 +0100 | ash3en | (~Thunderbi@89.56.182.235) (Client Quit) |
2025-03-25 20:25:44 +0100 | Digitteknohippie | (~user@user/digit) Digit |
2025-03-25 20:26:44 +0100 | leah2 | (~leah@vuxu.org) leah2 |
2025-03-25 20:27:54 +0100 | Digit | (~user@user/digit) (Ping timeout: 260 seconds) |
2025-03-25 20:29:00 +0100 | pavonia | (~user@user/siracusa) siracusa |
2025-03-25 20:29:04 +0100 | AlexZenon | (~alzenon@178.34.150.194) (Ping timeout: 260 seconds) |
2025-03-25 20:29:08 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 20:33:11 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Quit: ljdarj) |
2025-03-25 20:33:31 +0100 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2025-03-25 20:33:52 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-03-25 20:35:01 +0100 | ljdarj1 | (~Thunderbi@user/ljdarj) ljdarj |
2025-03-25 20:35:57 +0100 | ft | (~ft@p508db463.dip0.t-ipconnect.de) ft |
2025-03-25 20:37:42 +0100 | Digitteknohippie | Digit |
2025-03-25 20:37:42 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds) |
2025-03-25 20:37:42 +0100 | ljdarj1 | ljdarj |
2025-03-25 20:38:27 +0100 | chamlis | (~chamlis@user/chamlis) () |
2025-03-25 20:43:37 +0100 | target_i | (~target_i@user/target-i/x-6023099) target_i |
2025-03-25 20:44:57 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 20:47:36 +0100 | AlexZenon | (~alzenon@178.34.150.194) |
2025-03-25 20:49:37 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-03-25 20:52:34 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 20:55:53 +0100 | acidjnk | (~acidjnk@p200300d6e71c4f2435ff52636e0f7274.dip0.t-ipconnect.de) acidjnk |
2025-03-25 20:57:05 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 248 seconds) |
2025-03-25 20:57:09 +0100 | j1n37- | (~j1n37@user/j1n37) (Ping timeout: 248 seconds) |
2025-03-25 20:57:30 +0100 | j1n37 | (~j1n37@user/j1n37) j1n37 |
2025-03-25 20:57:39 +0100 | ash3en | (~Thunderbi@89.56.182.235) ash3en |
2025-03-25 21:00:41 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 21:04:07 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-03-25 21:04:31 +0100 | ash3en | (~Thunderbi@89.56.182.235) (Quit: ash3en) |
2025-03-25 21:05:49 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
2025-03-25 21:14:08 +0100 | infinity0 | (~infinity0@pwned.gg) (Ping timeout: 245 seconds) |
2025-03-25 21:14:21 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 21:21:00 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
2025-03-25 21:21:06 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds) |
2025-03-25 21:30:18 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2025-03-25 21:32:24 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 21:34:35 +0100 | infinity0 | (~infinity0@pwned.gg) infinity0 |
2025-03-25 21:37:07 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-03-25 21:38:19 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 21:42:35 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 244 seconds) |
2025-03-25 21:47:57 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 21:52:37 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-03-25 22:02:16 +0100 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
2025-03-25 22:03:45 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 22:08:40 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-03-25 22:08:56 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2025-03-25 22:09:17 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
2025-03-25 22:13:07 +0100 | jespada | (~jespada@2800:a4:22ac:eb00:e45c:1f6c:60ff:fb6b) (Quit: My Mac has gone to sleep. ZZZzzz…) |
2025-03-25 22:13:57 +0100 | robobub | (uid248673@id-248673.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2025-03-25 22:15:20 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 22:17:00 +0100 | zungi | (~tory@user/andrewchawk) (Ping timeout: 264 seconds) |
2025-03-25 22:17:03 +0100 | gmg | (~user@user/gehmehgeh) gehmehgeh |
2025-03-25 22:19:58 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-03-25 22:24:04 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 22:28:18 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 245 seconds) |
2025-03-25 22:30:00 +0100 | dhil | (~dhil@2a0c:b381:52e:3600:e1a5:fd6:a5ba:3633) dhil |
2025-03-25 22:31:02 +0100 | michalz | (~michalz@185.246.207.197) (Remote host closed the connection) |
2025-03-25 22:31:08 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 22:32:27 +0100 | glguy_ | glguy |
2025-03-25 22:35:47 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2025-03-25 22:36:08 +0100 | haskellbridge | (~hackager@syn-024-093-192-219.res.spectrum.com) (Remote host closed the connection) |
2025-03-25 22:36:09 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-03-25 22:36:10 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
2025-03-25 22:36:35 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-03-25 22:38:43 +0100 | tabaqui | (~tabaqui@167.71.80.236) (Ping timeout: 245 seconds) |
2025-03-25 22:39:39 +0100 | haskellbridge | (~hackager@syn-024-093-192-219.res.spectrum.com) hackager |
2025-03-25 22:39:39 +0100 | ChanServ | +v haskellbridge |
2025-03-25 22:40:34 +0100 | polykernel | (~polykerne@user/polykernel) (Ping timeout: 265 seconds) |
2025-03-25 22:44:42 +0100 | polykernel | (~polykerne@user/polykernel) polykernel |
2025-03-25 22:46:41 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2025-03-25 22:46:56 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 22:48:01 +0100 | JuanDaugherty | (~juan@user/JuanDaugherty) JuanDaugherty |
2025-03-25 22:52:10 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-03-25 22:53:33 +0100 | takuan | (~takuan@d8D86B601.access.telenet.be) (Remote host closed the connection) |
2025-03-25 22:54:19 +0100 | target_i | (~target_i@user/target-i/x-6023099) (Quit: leaving) |
2025-03-25 22:55:08 +0100 | dhil | (~dhil@2a0c:b381:52e:3600:e1a5:fd6:a5ba:3633) (Ping timeout: 244 seconds) |
2025-03-25 22:58:09 +0100 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 248 seconds) |
2025-03-25 23:00:18 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds) |
2025-03-25 23:02:42 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 23:07:59 +0100 | sabathan2 | (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
2025-03-25 23:08:19 +0100 | sabathan | (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Ping timeout: 260 seconds) |
2025-03-25 23:08:22 +0100 | sabathan2 | sabathan |
2025-03-25 23:09:23 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-03-25 23:09:48 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-25 23:14:02 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 244 seconds) |
2025-03-25 23:16:21 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 23:21:03 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
2025-03-25 23:24:58 +0100 | Sgeo | (~Sgeo@user/sgeo) Sgeo |
2025-03-25 23:31:01 +0100 | weary-traveler | (~user@user/user363627) user363627 |
2025-03-25 23:32:08 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 23:32:46 +0100 | otto_s | (~user@p5de2f2e9.dip0.t-ipconnect.de) |
2025-03-25 23:33:41 +0100 | <otto_s> | Hello. |
2025-03-25 23:34:01 +0100 | weary-traveler | (~user@user/user363627) (Client Quit) |
2025-03-25 23:34:21 +0100 | <otto_s> | What is an explanation of the following: ? |
2025-03-25 23:34:25 +0100 | <otto_s> | let x = -1 :: Complex Double |
2025-03-25 23:34:36 +0100 | <otto_s> | let y = (-1):+0 :: Complex Double |
2025-03-25 23:35:12 +0100 | <otto_s> | Then x == y evaluates to True, but log x == log y evaluates to False. |
2025-03-25 23:35:40 +0100 | <otto_s> | (The logs are conjugates of each other.) |
2025-03-25 23:37:03 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-03-25 23:38:14 +0100 | <otto_s> | (And I know that both are in a sense "good" answers of the log function -- that's not my questions.) |
2025-03-25 23:38:37 +0100 | <otto_s> | *-s |
2025-03-25 23:47:52 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-25 23:50:54 +0100 | <EvanR> | > log (-1 :: Complex Double) |
2025-03-25 23:50:55 +0100 | <lambdabot> | 0.0 :+ (-3.141592653589793) |
2025-03-25 23:51:05 +0100 | <EvanR> | > log ((-1) :+ 0 :: Complex Double) |
2025-03-25 23:51:07 +0100 | <lambdabot> | 0.0 :+ 3.141592653589793 |
2025-03-25 23:51:42 +0100 | <EvanR> | > decodeFloat (realPart (-1 :: Complex Double)) |
2025-03-25 23:51:43 +0100 | <lambdabot> | (-4503599627370496,-52) |
2025-03-25 23:51:58 +0100 | <EvanR> | > decodeFloat (realPart ((-1) :+ 0 :: Complex Double)) |
2025-03-25 23:51:59 +0100 | <lambdabot> | (-4503599627370496,-52) |
2025-03-25 23:52:15 +0100 | <EvanR> | > decodeFloat (imaginaryPart (-1 :: Complex Double)) |
2025-03-25 23:52:16 +0100 | <lambdabot> | error: |
2025-03-25 23:52:16 +0100 | <lambdabot> | Variable not in scope: imaginaryPart :: Complex Double -> a0 |
2025-03-25 23:52:46 +0100 | <EvanR> | check the imaginary parts |
2025-03-25 23:53:12 +0100 | <geekosaur> | :t imagPart |
2025-03-25 23:53:13 +0100 | <lambdabot> | Complex a -> a |
2025-03-25 23:54:03 +0100 | <EvanR> | > decodeFloat (imagPart (-1 :: Complex Double)) |
2025-03-25 23:54:05 +0100 | <lambdabot> | (0,0) |
2025-03-25 23:54:15 +0100 | <EvanR> | > decodeFloat (imagPart ((-1) :+ 0 :: Complex Double)) |
2025-03-25 23:54:17 +0100 | <lambdabot> | (0,0) |
2025-03-25 23:54:18 +0100 | <otto_s> | > decodeFloat $ imagPart ((-1) :+ 0) |
2025-03-25 23:54:19 +0100 | <lambdabot> | (0,0) |
2025-03-25 23:54:23 +0100 | <EvanR> | o_O |
2025-03-25 23:54:31 +0100 | <otto_s> | I see no difference! ^^ |
2025-03-25 23:54:35 +0100 | <EvanR> | what is the log function depending on |