Logs on 2022-10-10 (liberachat/#haskell)
| 00:00:18 | <dminuoso> | An error however will, in the absence of recovery primitives, just fail through Alternative/MonadPlus |
| 00:01:01 | <ski> | hm .. not quite seeing why "Exceeding available buffer length, setting position out of bounds" should backtrack to another branch |
| 00:01:36 | <dminuoso> | This is exploratory at the moment |
| 00:01:48 | <ski> | mhm |
| 00:02:25 | × | Guest6 quits (~Guest6@2a01cb0408ee9900a77feef9a14c5040.ipv6.abo.wanadoo.fr) (Quit: Client closed) |
| 00:02:45 | → | nate1 joins (~nate@98.45.169.16) |
| 00:02:56 | → | natechan joins (~nate@98.45.169.16) |
| 00:03:16 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 00:06:58 | <EvanR> | do Happy and or Alex outperform the classic monadic parser combinator libs you mentioned |
| 00:07:59 | <EvanR> | i assume this was the case at some point because it was used in GHC |
| 00:08:03 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 265 seconds) |
| 00:08:28 | <geekosaur> | I think someone said it had for them recently in here? |
| 00:08:39 | <dminuoso> | They still are used in GHC |
| 00:09:12 | <geekosaur> | this isn't really that surprising to me, happy is just less convenient than whipping up a quick parser in megaparsec or etc. |
| 00:09:48 | <dminuoso> | megaparsec is quite slow |
| 00:09:51 | → | mixphix joins (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
| 00:10:02 | <dminuoso> | The worst part is that it has essentially every single binding marked with INLINE |
| 00:10:12 | <dminuoso> | Which can even trivial parsers take several minutes to compile |
| 00:10:18 | <EvanR> | 😱 |
| 00:10:37 | <EvanR> | actually, that must be what I noticed |
| 00:10:48 | <EvanR> | rebuilding my program if the parser changed is like, whole seconds |
| 00:11:10 | <dminuoso> | Things like asum with a lot of branches are particularly bad |
| 00:11:35 | <dminuoso> | But I guess there's only so much you can do if you rely on GHC to make your parser go fast |
| 00:12:18 | <EvanR> | that's how you know you're doing something high level |
| 00:12:42 | → | califax joins (~califax@user/califx) |
| 00:13:29 | <EvanR> | if it takes significant time to compile |
| 00:13:57 | <EvanR> | and it can't be any faster xD |
| 00:14:08 | <EvanR> | (kolmogorov time complexity or something) |
| 00:15:51 | × | mixphix quits (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds) |
| 00:16:20 | × | natechan quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 00:24:22 | → | mixphix joins (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
| 00:37:07 | × | mixphix quits (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds) |
| 00:37:26 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
| 00:38:31 | × | Cale quits (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Read error: Connection reset by peer) |
| 00:46:11 | × | mvk quits (~mvk@2607:fea8:5ce3:8500::a80f) (Ping timeout: 260 seconds) |
| 00:51:33 | → | rockystone joins (~rocky@user/rockymarine) |
| 00:52:36 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds) |
| 00:53:32 | → | Cale joins (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) |
| 00:54:00 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 00:55:49 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
| 00:58:45 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
| 01:00:02 | × | beteigeuze quits (~Thunderbi@2001:8a0:61b5:6101:9233:19e9:6537:6e73) (Ping timeout: 268 seconds) |
| 01:04:28 | × | shapr quits (~user@68.54.166.125) (Remote host closed the connection) |
| 01:05:45 | × | spaced quits (uid572193@id-572193.ilkley.irccloud.com) (Changing host) |
| 01:05:45 | → | spaced joins (uid572193@user/spaced) |
| 01:06:19 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 01:08:36 | → | rockystone joins (~rocky@user/rockymarine) |
| 01:11:56 | × | LukeHoersten quits (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 01:13:47 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 265 seconds) |
| 01:21:02 | × | edrx quits (~Eduardo@2804:56c:d2d3:4800:cf7d:b421:4c3a:392e) (Remote host closed the connection) |
| 01:23:25 | → | mixphix joins (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
| 01:26:01 | × | zns quits (~zns@user/zns) (Quit: zzz) |
| 01:26:29 | → | rockystone joins (~rocky@user/rockymarine) |
| 01:30:35 | → | burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
| 01:34:02 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
| 01:36:34 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 01:47:34 | → | rockystone joins (~rocky@user/rockymarine) |
| 01:49:42 | × | zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection) |
| 01:50:42 | → | zaquest joins (~notzaques@5.130.79.72) |
| 02:02:32 | → | ubert1 joins (~Thunderbi@77.119.192.27.wireless.dyn.drei.com) |
| 02:03:15 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Quit: Lost terminal) |
| 02:03:29 | × | waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 250 seconds) |
| 02:04:01 | × | ubert quits (~Thunderbi@178.115.74.207.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
| 02:04:02 | ubert1 | is now known as ubert |
| 02:05:46 | × | causal quits (~user@50.35.83.177) (Quit: WeeChat 3.6) |
| 02:07:14 | × | ddellacosta quits (~ddellacos@89.45.224.218) (Ping timeout: 268 seconds) |
| 02:08:32 | × | raehik1 quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
| 02:09:02 | → | ddellacosta joins (~ddellacos@143.244.47.82) |
| 02:13:14 | × | Guest3 quits (~Guest3@dynamic-077-180-146-126.77.180.pool.telefonica.de) (Ping timeout: 252 seconds) |
| 02:16:41 | × | hololeap quits (~quassel@user/hololeap) (Quit: Bye) |
| 02:17:44 | → | hololeap joins (~quassel@user/hololeap) |
| 02:31:31 | × | califax quits (~califax@user/califx) (Ping timeout: 258 seconds) |
| 02:34:50 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 02:34:56 | → | califax joins (~califax@user/califx) |
| 02:34:59 | × | burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 265 seconds) |
| 02:37:39 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 258 seconds) |
| 02:37:58 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:39:56 | × | BusConscious quits (~martin@ip-046-223-162-236.um13.pools.vodafone-ip.de) (Ping timeout: 260 seconds) |
| 02:41:54 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 02:42:35 | × | terrorjack quits (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat) |
| 02:43:33 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 02:43:34 | → | terrorjack joins (~terrorjac@2a01:4f8:1c1e:509a::1) |
| 02:43:56 | → | kenran joins (~user@user/kenran) |
| 02:44:13 | × | Cale quits (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Read error: Connection reset by peer) |
| 02:46:49 | × | ddellacosta quits (~ddellacos@143.244.47.82) (Ping timeout: 268 seconds) |
| 02:47:20 | → | frost joins (~frost@user/frost) |
| 02:48:46 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 258 seconds) |
| 02:56:40 | → | mvk joins (~mvk@2607:fea8:5ce3:8500::a80f) |
| 02:59:01 | × | td_ quits (~td@94.134.91.56) (Ping timeout: 252 seconds) |
| 02:59:01 | → | Cale joins (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) |
| 03:00:00 | × | Taneb quits (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (Quit: I seem to have stopped.) |
| 03:00:32 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 03:01:01 | → | td_ joins (~td@muedsl-82-207-238-191.citykom.de) |
| 03:01:13 | → | Taneb joins (~Taneb@runciman.hacksoc.org) |
| 03:01:46 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 03:03:17 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 03:12:42 | × | mixphix quits (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 268 seconds) |
| 03:13:04 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 03:13:20 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
| 03:14:46 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 03:18:47 | → | nate1 joins (~nate@98.45.169.16) |
| 03:27:15 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
| 03:29:33 | → | rockystone joins (~rocky@user/rockymarine) |
| 03:31:30 | → | zns joins (~zns@user/zns) |
| 03:34:29 | × | zns quits (~zns@user/zns) (Client Quit) |
| 03:34:52 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
| 03:38:34 | → | rockystone joins (~rocky@user/rockymarine) |
| 03:40:29 | × | troydm quits (~troydm@host-176-37-124-197.b025.la.net.ua) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset) |
| 03:41:27 | → | troydm joins (~troydm@host-176-37-124-197.b025.la.net.ua) |
| 03:44:17 | → | mixphix joins (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
| 03:45:34 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 03:47:26 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 03:51:05 | × | mixphix quits (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds) |
| 03:52:36 | → | Kath42 joins (~Kath42@174-21-171-250.tukw.qwest.net) |
| 03:56:48 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 03:58:05 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 03:58:38 | → | user___ joins (~user@2806:104e:1b:4099:398e:7bac:b20e:4f52) |
| 03:58:58 | × | user___ quits (~user@2806:104e:1b:4099:398e:7bac:b20e:4f52) (Client Quit) |
| 04:01:30 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Client Quit) |
| 04:03:38 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 04:06:57 | → | nate1 joins (~nate@98.45.169.16) |
| 04:11:25 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 246 seconds) |
| 04:12:50 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 04:16:48 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 04:16:58 | → | mixphix joins (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
| 04:21:31 | × | mixphix quits (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds) |
| 04:22:02 | → | mbuf joins (~Shakthi@49.205.87.31) |
| 04:35:11 | × | kenran quits (~user@user/kenran) (Remote host closed the connection) |
| 04:36:10 | <pareto-optimal-d> | There was a book or draft on learning Haskell posted to r/haskell in the past 6 months that went a different direction than most learning materials and taught fundamentals/theory stuff first... does anyone recall it's name? I can't seem to find it. |
| 04:36:41 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 04:36:47 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 265 seconds) |
| 04:38:47 | <jackdk> | https://haskellbook.com/ ? |
| 04:39:01 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 04:39:25 | <pareto-optimal-d> | No, this was just a website and it said "this is just a draft" and wasn't totally complete. I remembered about it today and realized I'd forgotten how to find it again :D |
| 04:39:36 | <jackdk> | hm, don't know then. Sorry. |
| 04:39:46 | <janus> | pareto-optimal-d: https://www.reddit.com/r/haskell/comments/xrd29a/practical_haskell_3rd_edition_is_out/ |
| 04:39:54 | <pareto-optimal-d> | No problem, thanks for trying to help. |
| 04:41:36 | <pareto-optimal-d> | janus: No, thanks for throwing it out. That type of book or "get programming with Haskell" is the opposite approach from this one that I read... I know with this few clues it's a longshot but was hoping someone else might remember these characteristics. |
| 04:48:55 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
| 04:50:27 | <pareto-optimal-d> | Now that I think about it after searching some more, I think it was "teach category theory first then Haskell" if that rings any bells. |
| 04:51:35 | <jackdk> | The closest thing I know of is: https://www.youtube.com/watch?v=Y5YCE_mVjvg&list=PLhgq-BqyZ7i7MTGhUROZy3BOICnVixETS |
| 04:52:16 | <pareto-optimal-d> | Not the one stuck in my memory, but I've added that to my watch later :D |
| 04:52:34 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 04:53:18 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 04:53:42 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 04:58:39 | <pareto-optimal-d> | Found it! https://leanpub.com/magicalhaskell/read |
| 04:59:11 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 05:00:35 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 05:01:52 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 05:11:25 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 05:14:02 | → | nate1 joins (~nate@98.45.169.16) |
| 05:14:12 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 05:19:45 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 05:21:55 | → | mixphix joins (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
| 05:26:31 | × | mixphix quits (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 268 seconds) |
| 05:29:00 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
| 05:30:29 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 05:32:07 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 05:34:22 | × | califax quits (~califax@user/califx) (Ping timeout: 258 seconds) |
| 05:34:50 | → | califax joins (~califax@user/califx) |
| 05:37:03 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 05:37:20 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 05:38:01 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:38:27 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 05:39:24 | → | rosalind joins (rosalind@id-194105.uxbridge.irccloud.com) |
| 05:40:34 | → | BusConscious joins (~martin@ip-046-223-162-236.um13.pools.vodafone-ip.de) |
| 05:40:39 | → | rockystone joins (~rocky@user/rockymarine) |
| 05:46:29 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 05:48:29 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 05:53:05 | → | kenran joins (~user@user/kenran) |
| 05:58:35 | → | nate1 joins (~nate@98.45.169.16) |
| 05:58:59 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 06:00:45 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 06:03:04 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 246 seconds) |
| 06:03:53 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 06:08:40 | × | raym quits (~aritra@user/raym) (Ping timeout: 246 seconds) |
| 06:09:46 | → | raym joins (~aritra@user/raym) |
| 06:11:53 | → | razetime joins (~quassel@117.193.4.83) |
| 06:15:49 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 06:16:59 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 06:19:26 | × | kenran quits (~user@user/kenran) (Remote host closed the connection) |
| 06:19:40 | → | kenran joins (~user@user/kenran) |
| 06:22:01 | × | johnjaye quits (~pi@173.209.64.74) (Ping timeout: 268 seconds) |
| 06:22:17 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 258 seconds) |
| 06:23:29 | → | johnjaye joins (~pi@173.209.64.74) |
| 06:29:56 | × | kenran quits (~user@user/kenran) (Remote host closed the connection) |
| 06:30:59 | → | kenran joins (~user@user/kenran) |
| 06:31:35 | → | dextaa joins (~dextaa@user/dextaa) |
| 06:33:49 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 06:34:25 | → | rockymarine[m] joins (~rockymari@2001:470:69fc:105::2:9a0c) |
| 06:35:09 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 06:35:29 | → | zeenk joins (~zeenk@2a02:2f04:a20a:3e00:5712:52b0:ca1d:bc63) |
| 06:36:04 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 06:36:14 | → | FlaminWalrus joins (~user@wsip-24-248-9-71.br.br.cox.net) |
| 06:37:38 | → | burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
| 06:42:23 | × | burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 268 seconds) |
| 06:43:43 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:4e96:406f:211e:cbd4) |
| 06:49:09 | × | BusConscious quits (~martin@ip-046-223-162-236.um13.pools.vodafone-ip.de) (Ping timeout: 268 seconds) |
| 06:50:34 | → | titibandit joins (~titibandi@xdsl-89-0-65-2.nc.de) |
| 06:51:09 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 265 seconds) |
| 06:54:22 | → | gmg joins (~user@user/gehmehgeh) |
| 06:55:16 | → | Midjak joins (~Midjak@82.66.147.146) |
| 06:56:22 | → | acidjnk joins (~acidjnk@p200300d6e7137a503d80e44891d38f9e.dip0.t-ipconnect.de) |
| 07:01:36 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 07:02:14 | → | burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
| 07:03:11 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 07:08:13 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 07:09:27 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 07:16:37 | → | johnw joins (~johnw@2600:1700:cf00:db0:c408:2164:6157:6eb5) |
| 07:20:30 | <dminuoso> | How exactly do GHC exceptions work? If I pry an IO open and manually pass the state tokens through, will that preserve the semantics of the exception? |
| 07:21:42 | × | califax quits (~califax@user/califx) (Ping timeout: 258 seconds) |
| 07:24:33 | <johnw> | what are the semantics of the exception? |
| 07:24:43 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 07:25:46 | → | califax joins (~califax@user/califx) |
| 07:25:56 | <dminuoso> | Well I dont want them to be swallowed for starters |
| 07:26:12 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 07:30:18 | <johnw> | have you already seen http://research.microsoft.com/en-us/um/people/simonpj/papers/imprecise-exn.htm? |
| 07:33:37 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 07:35:19 | × | burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Remote host closed the connection) |
| 07:35:36 | × | cafce25 quits (~cafce25@2001:a62:153a:a201:4317:4122:7383:8e29) (Quit: Client closed) |
| 07:36:38 | → | sammelweis_ joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 07:37:39 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 248 seconds) |
| 07:39:08 | <dminuoso> | Im not entirely sure this is relevant, as that paper talks about pure exceptions. |
| 07:39:34 | <dminuoso> | raiseIO# :: a -> State# RealWorld -> (#State# RealWorld, b#) |
| 07:39:54 | <dminuoso> | But that primop's existence suggests it ties this exception throwing semantics regularly into IO |
| 07:40:11 | <dminuoso> | So unIO'ing should not affect them |
| 07:40:57 | <dminuoso> | Otherwise much of GHC.PrimopWrappers would not be usable inside IO |
| 07:42:23 | × | arahael quits (~arahael@61.68.183.79) (Ping timeout: 265 seconds) |
| 07:42:37 | × | sammelweis_ quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 07:43:10 | × | titibandit quits (~titibandi@xdsl-89-0-65-2.nc.de) (Remote host closed the connection) |
| 07:43:54 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 07:46:02 | <johnw> | ok, it was something that turned up when searching for "semantics of GHC exceptions", but I haven't read it thoroughly |
| 07:46:29 | → | kuribas joins (~user@ptr-17d51ep16a0mmacta57.18120a2.ip6.access.telenet.be) |
| 07:47:30 | × | gmg quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 07:48:44 | → | gmg joins (~user@user/gehmehgeh) |
| 07:50:20 | <kuribas> | Are haskellers absolutely insane? Is the only reason I like haskell because I am insane? |
| 07:50:57 | <kuribas> | I just came across the Urbit jobpost, and then I found this: https://wejn.org/2021/02/urbit-good-bad-insane/ |
| 07:52:26 | <kuribas> | But it seems like every other haskell job is like this, either a bitcoin scam, a fast financial speculation algorithm, or some loan algorithm to test for rich people. |
| 07:52:40 | <kuribas> | It looks more than 50% even. |
| 07:52:57 | → | chele joins (~chele@user/chele) |
| 07:53:07 | <kuribas> | I always somewhat believed in haskell, that you can use equational reasoning and scientific methods to get more correct programs. |
| 07:54:10 | <kuribas> | Haskellers think of themselves as being superior to other languages, but where is the proof? Where are the people building stuff that beats stuff written in other languages? |
| 07:54:52 | → | arahael joins (~arahael@210.185.98.153) |
| 07:55:08 | × | ph88 quits (~ph88@2a02:8109:9e00:71d0:6e37:2605:3bb:94a8) (Ping timeout: 268 seconds) |
| 07:55:37 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 07:57:35 | → | fserucas joins (~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) |
| 07:58:26 | <maerwald[m]> | The problem is idealistic people shitposting on every hiring thread |
| 07:59:21 | <probie> | Hasura uses Haskell, and I haven't heard anything particularly bad about them |
| 07:59:34 | → | tobiasBora joins (~tobiasBor@109.190.253.14) |
| 08:00:13 | × | stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 08:00:17 | <dminuoso> | .----------` |
| 08:00:34 | <dminuoso> | Oops. Cleaning my keyboard sorry! |
| 08:01:19 | → | stiell_ joins (~stiell@gateway/tor-sasl/stiell) |
| 08:02:02 | → | cfricke joins (~cfricke@user/cfricke) |
| 08:02:57 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 08:03:45 | <dr_merijn> | kuribas: Logistics for Target! |
| 08:04:14 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 08:04:22 | <dminuoso> | Mmm, is there actually good reasons to use Data.Map in the presence of unordered-containers? |
| 08:04:28 | <dr_merijn> | Also, (bike)parking facility occupation checking |
| 08:04:52 | <dr_merijn> | dminuoso: Is there a good reason to use unordered-containers in the presence of Data.Map? |
| 08:04:52 | <dminuoso> | Especially with k~String, Data.Map seems like an incredibly dull choice |
| 08:04:53 | × | tobiasBora quits (~tobiasBor@109.190.253.14) (Quit: Client closed) |
| 08:05:13 | → | lucques joins (~lucques@2a02:3033:41a:a07:fef7:a1b5:b24:6488) |
| 08:05:19 | → | tobiasBora joins (~tobiasBor@109.190.253.14) |
| 08:05:27 | <dr_merijn> | Data.Map's complexity is much more predictable then unordered-containers |
| 08:06:57 | <dminuoso> | With String you pay a very dear price on repeated char-per-char comparisons though |
| 08:07:13 | <dminuoso> | If your map is of non-trivial size, this can be a limiting factor |
| 08:09:07 | <dr_merijn> | I guess, but then you gotta hope String's Hashable is cheap and high quality (no clue, but I recall ghcide having problems due to a shitty Hashable instance being derived) |
| 08:09:10 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 08:10:12 | <kuribas> | probie: yeah, but hasura basically amounts to throwing away all FP good practices, and implement a graphql API on the database directly. |
| 08:10:24 | <dminuoso> | Well, due to how String works its a foldl' with some hashing functino over each character, where each characters ord is used as a hash itself |
| 08:10:26 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 08:10:44 | <dminuoso> | (But you *can* use T.Text though) |
| 08:11:26 | × | lucques quits (~lucques@2a02:3033:41a:a07:fef7:a1b5:b24:6488) (Quit: Leaving) |
| 08:11:43 | <dminuoso> | And for that its offloaded to https://github.com/haskell-unordered-containers/hashable/blob/master/cbits/fnv.c#L41-L49 |
| 08:12:21 | <dminuoso> | So its just FNV1 directly on the bytearray buffer |
| 08:12:25 | → | lucques joins (~lucques@2a02:3033:41a:a07:fef7:a1b5:b24:6488) |
| 08:13:28 | <dminuoso> | Extra benefit is that this will compile into an extremely tight loop on - if you have short keys - just as single cache line. |
| 08:14:17 | → | lucques_ joins (~lucques@2a02:3033:41a:a07:fef7:a1b5:b24:6488) |
| 08:14:25 | × | lucques quits (~lucques@2a02:3033:41a:a07:fef7:a1b5:b24:6488) (Client Quit) |
| 08:15:17 | × | stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 08:15:54 | → | stiell_ joins (~stiell@gateway/tor-sasl/stiell) |
| 08:16:53 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 08:17:34 | <kuribas> | dr_merijn: you're not actually writing haskell, are you? |
| 08:18:55 | <kuribas> | (for money) |
| 08:19:22 | dminuoso | writes Haskell at his day job and it is not finance |
| 08:19:44 | dminuoso | is writing a network protocol library right now |
| 08:20:48 | <opqdonut> | can you guarantee the protocol won't be used for finance?-) |
| 08:21:18 | <dminuoso> | Not unless someone decides to run a blockchain using RADIUS as an underlying network protocol. :> |
| 08:21:26 | <dminuoso> | But we've all seen crazy... |
| 08:21:38 | <dr_merijn> | kuribas: It Depends (TM) |
| 08:22:07 | <dr_merijn> | I'm spending non-zero work hours writing Haskell, because no one can stop me :p |
| 08:22:13 | × | ft quits (~ft@p3e9bc57b.dip0.t-ipconnect.de) (Quit: leaving) |
| 08:22:31 | <kuribas> | throw away scripts? |
| 08:23:29 | <dr_merijn> | Depends on your definition of throwaway |
| 08:23:38 | <dr_merijn> | And some of my colleagues are working on longer Haskell projects |
| 08:23:45 | <kuribas> | ah cool |
| 08:24:05 | → | [exa] joins (exa@user/exa/x-3587197) |
| 08:24:33 | <dr_merijn> | but getting funding to take that more seriously is tricky due to the way our budget(s) are allocated |
| 08:26:22 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 08:31:19 | × | Kath42 quits (~Kath42@174-21-171-250.tukw.qwest.net) (Remote host closed the connection) |
| 08:33:23 | → | mixphix joins (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
| 08:34:24 | × | tobiasBora quits (~tobiasBor@109.190.253.14) (Quit: Ping timeout (120 seconds)) |
| 08:37:32 | → | MajorBiscuit joins (~MajorBisc@145.94.167.158) |
| 08:38:16 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:50e1:7448:ac98:298f) (Remote host closed the connection) |
| 08:44:04 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 08:45:08 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 08:46:52 | × | mixphix quits (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 246 seconds) |
| 08:48:24 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:4e96:406f:211e:cbd4) (Ping timeout: 264 seconds) |
| 08:49:43 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 08:49:45 | → | mixphix joins (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
| 08:51:39 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 08:52:10 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 258 seconds) |
| 08:54:56 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 08:56:58 | → | teo joins (~teo@user/teo) |
| 08:59:51 | × | mixphix quits (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 268 seconds) |
| 09:01:21 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 09:02:32 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 09:10:00 | → | odnes joins (~odnes@5-203-217-113.pat.nym.cosmote.net) |
| 09:11:42 | → | burnsidesLlama joins (~burnsides@client-8-82.eduroam.oxuni.org.uk) |
| 09:14:35 | → | beteigeuze joins (~Thunderbi@bl14-81-220.dsl.telepac.pt) |
| 09:20:22 | → | nate1 joins (~nate@98.45.169.16) |
| 09:24:53 | → | mixphix joins (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
| 09:25:17 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 09:26:36 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 09:26:47 | × | adium quits (adium@user/adium) (Ping timeout: 265 seconds) |
| 09:29:07 | × | mixphix quits (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 248 seconds) |
| 09:29:39 | × | burnsidesLlama quits (~burnsides@client-8-82.eduroam.oxuni.org.uk) (Remote host closed the connection) |
| 09:30:05 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 09:32:07 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 09:34:31 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 09:37:00 | × | lucques_ quits (~lucques@2a02:3033:41a:a07:fef7:a1b5:b24:6488) (Ping timeout: 264 seconds) |
| 09:38:38 | × | Taneb quits (~Taneb@runciman.hacksoc.org) (Quit: I seem to have stopped.) |
| 09:38:44 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:9960:b0f8:561f:a74b) |
| 09:39:44 | → | Taneb joins (~Taneb@runciman.hacksoc.org) |
| 09:41:10 | → | burnsidesLlama joins (~burnsides@client-8-82.eduroam.oxuni.org.uk) |
| 09:43:26 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:9960:b0f8:561f:a74b) (Ping timeout: 260 seconds) |
| 09:43:38 | × | razetime quits (~quassel@117.193.4.83) (Ping timeout: 268 seconds) |
| 09:44:08 | → | razetime joins (~quassel@117.254.34.90) |
| 09:47:55 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 09:48:04 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 09:49:09 | <kuribas> | Where can you find a haskell job that isn't bullshit blockchain crap? |
| 09:49:27 | <kuribas> | are at least a job where they let me do some haskell, even if it's not the main thing. |
| 09:49:37 | <dminuoso> | Do you have networking experience? |
| 09:49:43 | dminuoso | knows a place :> |
| 09:50:16 | <kuribas> | a bit |
| 09:50:50 | <kuribas> | but I can learn :) |
| 09:52:46 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 09:53:08 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 09:56:39 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 09:57:06 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 09:58:13 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 10:01:18 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Remote host closed the connection) |
| 10:01:22 | → | Pickchea joins (~private@user/pickchea) |
| 10:01:41 | <kuribas> | dminuoso: are you hiring? |
| 10:02:15 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 10:09:49 | <probie> | Bellroy might still be hiring (they're an Australian company that sells wallets and bags, but their software is written Haskell) |
| 10:13:29 | <vaibhavsagar[m]> | kuribas: Mercury (a banking stack for startups) is hiring - https://mercury.com/jobs |
| 10:13:42 | → | CiaoSen joins (~Jura@p200300c95700eb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 10:14:01 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds) |
| 10:15:27 | <tdammers> | kuribas: going to events like zurihac, munihac, haskellxchange, etc., often unveils golden opportunities too |
| 10:16:10 | <kuribas> | tdammers: yeah |
| 10:16:39 | <tdammers> | though in general, it's still a relatively slow moving market, so you need to bring some patience to the table |
| 10:18:46 | → | yuzhao joins (~yuzhao@36.112.45.72) |
| 10:18:59 | × | troydm quits (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 265 seconds) |
| 10:19:37 | <FlaminWalrus> | You can also grow the market yourself, and create jobs you're looking for. If you're struggling to find a job doing something you believe is economically valuable (such as making better, safer, faster, and more extensible software with Haskell), that means existing firms are leaving marginal utility on the table for you utilize. |
| 10:20:01 | × | yuzhao quits (~yuzhao@36.112.45.72) (Client Quit) |
| 10:21:27 | <kuribas> | FlaminWalrus: I don't get that. firms only want to use "safe" stacks, like Java or javascript. |
| 10:21:54 | <FlaminWalrus> | Yes. And if they're wrong for doing that, it's an opportunity for you to displace them. |
| 10:21:56 | → | lucques joins (~lucques@dynamic-046-114-088-103.46.114.pool.telefonica.de) |
| 10:22:24 | <kuribas> | FlaminWalrus: My impression is that noone care. They all have their own "bubble" that they want to work in. |
| 10:22:39 | <kuribas> | FlaminWalrus: Except if they are already invested in FP and static types. |
| 10:22:40 | <tdammers> | that only works if you're in a position to found a startup, and equipped with the business skills to pull it off |
| 10:23:54 | <tdammers> | I totally agree that in certain problem domains, Haskell can be a startup's secret superweapon, but even then, finding gaps in the market is a bit of a guessing game, and if you guess wrong, you'll have sunk a bunch of savings and a couple years of your life into a hopeless project |
| 10:24:00 | <razetime> | are there any tools for finding fp related conferences nearby |
| 10:24:04 | × | shriekingnoise quits (~shrieking@186.137.167.202) (Quit: Quit) |
| 10:25:17 | <razetime> | i only know about functionalconf, which happens once a year here. |
| 10:28:19 | → | fserucas_ joins (~fserucas@74.47.115.89.rev.vodafone.pt) |
| 10:29:16 | × | fserucas quits (~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Read error: Connection reset by peer) |
| 10:29:58 | <dminuoso> | kuribas: Not actively at the moment. If someone already had good networking experience (L2/L3VPN over EVPN, general MP-BGP, that sort of thing) alongside, we would probably consider it. Equipping someone with these bits takes just a lot of time, especially because documentation is extremely sparse and poorly written. |
| 10:31:04 | <kuribas> | dminuoso: yeah, that makes sense |
| 10:31:47 | <FlaminWalrus> | tdammers: the market is a genetic algorithm for solving the problem of efficient production. Being the beneficial mutation isn't trival of course, but neither is finding a Haskell job, apparently. The fact remains that individuals accurately identifying inefficiencies and taking risks to resolve them is the only way any change occurs, full stop; I've found that pointing out to people that the market is 2-sided, with buyers and sellers, |
| 10:31:47 | <FlaminWalrus> | and their woes as a seller (of labor, in this case) imply an opportunity for them to take advantage of a labor surplus as a buyer tends to actually _clarify_ reasoning about their sellers' woes. |
| 10:32:32 | <tdammers> | of course. all I'm saying is that it takes more than just the right idea at the right time to succeed as a startup founder |
| 10:33:04 | → | adium joins (adium@user/adium) |
| 10:33:38 | <tdammers> | it's not enough to figure out how to make electric light; you also need the business instincts of a Mr Edison to make it into a viable business |
| 10:33:58 | <FlaminWalrus> | Absolutely. However, the requisite capital and management competence can be bought, provided the parties can be convinced of the soundness of the idea. |
| 10:34:32 | <FlaminWalrus> | E.g. an inventor's retainer-royalty model |
| 10:34:34 | <tdammers> | which means you need to be enough of a salesperson to sell the idea |
| 10:34:53 | → | __monty__ joins (~toonn@user/toonn) |
| 10:35:55 | <tdammers> | I have literally been in this position, where I had an idea (build a semi-automatic legal reasoning system to enable computer-aided workflows for lawyers and paralegals), but failed to sell it to the right people, and then a couple months later a startup somewhere did exactly that, independently. |
| 10:36:52 | <FlaminWalrus> | Would it have been better had you not tried to sell it? |
| 10:37:14 | <tdammers> | the result would have been the exact same, minus some effort on my side |
| 10:37:38 | → | kdaishi joins (~Thunderbi@2a0c:5bc0:40:2e2f:b6bb:664c:380b:dc65) |
| 10:38:15 | <kuribas> | tdammers: yeah, having good salepeople is possible more important than having robust software. |
| 10:38:21 | <kuribas> | sadly |
| 10:38:58 | <tdammers> | I mean, I could have sunk a lot more effort into the "selling" part, you know, find the right lawyer person to team up with, build some kind of POC, and then go door to door with it until someone bites |
| 10:39:34 | <kuribas> | tdammers: s/could/should |
| 10:40:04 | <tdammers> | actually, s/could/couldn't/, because I was not in a position to sink several months' worth of unpaid full-time labor into it |
| 10:40:38 | <FlaminWalrus> | That's the niche venture capital exists to fill |
| 10:40:54 | <tdammers> | nobody is throwing VC at you for just an idea |
| 10:41:20 | <FlaminWalrus> | I believe that is mostly the point, no? |
| 10:41:39 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.5) |
| 10:41:53 | <tdammers> | you don't have to have a viable business yet, but you still have to have enough to convince them that you're committed, and that there's more to it than a shower thought |
| 10:42:05 | <FlaminWalrus> | You might need some market research, to do the convincing that the spot in the market exists |
| 10:42:10 | × | frost quits (~frost@user/frost) (Ping timeout: 252 seconds) |
| 10:42:25 | <FlaminWalrus> | What was the biotech company that was a literal scam and got tens of billions? |
| 10:42:41 | <FlaminWalrus> | The one that promised a machine to do like 10-in-1 blood tests? |
| 10:43:13 | <FlaminWalrus> | The requirements to exhibit an actual technical solution are slimmer than you might think |
| 10:43:36 | <FlaminWalrus> | Theranos, that was it |
| 10:43:40 | <tdammers> | maybe |
| 10:44:50 | <FlaminWalrus> | (raised $400M$, valued at $9B) |
| 10:45:16 | <tdammers> | but even then, you still have to do a lot of work to get anywhere |
| 10:45:36 | <FlaminWalrus> | That's as close to a sociological axiom as anything I've heard |
| 10:46:37 | <tdammers> | point being, you won't get VC on just the idea. you have to actively reach out to a lot of people, you have to prepare something like a business plan, you have to do market research, etc. etc. |
| 10:46:56 | <tdammers> | all that is a gamble, it's not guaranteed at all that anyone will bite |
| 10:47:33 | → | mixphix joins (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
| 10:48:01 | <FlaminWalrus> | You'll have to do a lot of work and take on a lot of risk regardless; being fatalist about the possibility of founding a company is counterproductive. Does one value that work and risk more than the continuation of the status quo or not? |
| 10:49:05 | <tdammers> | Getting a job tends to come with a much smaller risk. Just saying. |
| 10:49:20 | <dminuoso> | Continuation ruins lifes. GHC should emit danger warnings when using them. |
| 10:49:41 | <__monty__> | Yeah, much better to get closure. |
| 10:49:48 | <dminuoso> | I was nearly convinced it would improve the reading style. Turns out, I cant even figure out how to write them right. |
| 10:50:25 | × | kdaishi quits (~Thunderbi@2a0c:5bc0:40:2e2f:b6bb:664c:380b:dc65) (Read error: Connection reset by peer) |
| 10:50:34 | → | kdaishi1 joins (~Thunderbi@2a0c:5bc0:40:2e2f:b6bb:664c:380b:dc65) |
| 10:52:01 | × | mixphix quits (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds) |
| 10:52:53 | kdaishi1 | is now known as kdaishi |
| 10:53:58 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 10:54:20 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Remote host closed the connection) |
| 10:55:44 | × | burnsidesLlama quits (~burnsides@client-8-82.eduroam.oxuni.org.uk) (Remote host closed the connection) |
| 10:56:38 | → | M3g-mentok[m] joins (~M3g-mento@2001:470:69fc:105::2:9a49) |
| 11:00:51 | → | frost joins (~frost@user/frost) |
| 11:01:47 | → | jinsun__ joins (~jinsun@user/jinsun) |
| 11:01:47 | × | jinsun quits (~jinsun@user/jinsun) (Killed (iridium.libera.chat (Nickname regained by services))) |
| 11:01:47 | jinsun__ | is now known as jinsun |
| 11:04:57 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 11:04:57 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Read error: Connection reset by peer) |
| 11:09:29 | → | raehik1 joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 11:14:31 | → | yuzhao joins (~yuzhao@36.112.45.72) |
| 11:14:45 | × | qrpnxz quits (~qrpnxz@fsf/member/qrpnxz) (Ping timeout: 252 seconds) |
| 11:15:10 | → | qrpnxz joins (~qrpnxz@fsf/member/qrpnxz) |
| 11:16:11 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 11:17:56 | → | mixphix joins (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
| 11:22:05 | × | mixphix quits (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds) |
| 11:22:47 | → | chomwitt joins (~chomwitt@2a02:587:dc0c:c200:b8b0:dc:a578:bfaa) |
| 11:23:12 | × | yuzhao quits (~yuzhao@36.112.45.72) (Ping timeout: 264 seconds) |
| 11:23:42 | × | kenran quits (~user@user/kenran) (Remote host closed the connection) |
| 11:24:26 | → | yuzhao joins (~yuzhao@36.112.45.72) |
| 11:26:14 | → | kenran joins (~user@user/kenran) |
| 11:27:31 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 11:32:46 | × | kdaishi quits (~Thunderbi@2a0c:5bc0:40:2e2f:b6bb:664c:380b:dc65) (Ping timeout: 246 seconds) |
| 11:41:30 | <tomsmeding> | dminuoso: as in the Cont monad, or continuations in general? |
| 11:43:32 | × | dextaa quits (~dextaa@user/dextaa) (Remote host closed the connection) |
| 11:44:23 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:9618:2735:ae9e:6c5) |
| 11:47:12 | × | yuzhao quits (~yuzhao@36.112.45.72) (Ping timeout: 264 seconds) |
| 11:50:11 | → | mixphix joins (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
| 11:50:32 | → | nate1 joins (~nate@98.45.169.16) |
| 11:50:41 | → | yuzhao joins (~yuzhao@36.112.45.72) |
| 11:50:56 | <kuribas> | OMG, like 90% of the interesting haskell jobs turn out to be "blockchain" solutions. |
| 11:51:15 | <tdammers> | follow the money |
| 11:51:48 | <dr_merijn> | Incorrect |
| 11:51:58 | <dr_merijn> | 90% of publically advertised Haskell jobs are blockchain :p |
| 11:52:03 | <dr_merijn> | That's not the same thing |
| 11:52:23 | <tdammers> | and yeah, that |
| 11:52:26 | <dr_merijn> | The non-quack jobs get filled fast (potentially before being advertised, even) |
| 11:52:35 | <dr_merijn> | So only the quack jobs remain to fill the listings |
| 11:52:47 | <tdammers> | this goes for all programming jobs, really |
| 11:52:56 | <tdammers> | the publicly advertised ones are "leftovers" |
| 11:52:57 | <dr_merijn> | You could move to Alaska, if those guys are still looking? xD |
| 11:53:48 | × | raehik1 quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds) |
| 11:55:33 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 11:55:45 | × | yuzhao quits (~yuzhao@36.112.45.72) (Ping timeout: 268 seconds) |
| 11:55:51 | <tomsmeding> | O.o |
| 11:55:52 | → | raehik1 joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 11:57:13 | <dr_merijn> | I think that was Target too? |
| 11:57:28 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 11:57:38 | <dr_merijn> | It was basically "Alaska, no remote, but we're so desperate we'll even take people with no Haskell experience and teach you" :p |
| 11:58:21 | <tdammers> | desperate enough to teach people Haskell, but not so desperate as to teach people video chat and email |
| 11:59:56 | × | Lycurgus quits (~juan@user/Lycurgus) (Client Quit) |
| 12:00:25 | <kuribas> | lol |
| 12:02:29 | <hpc> | that's pretty standard |
| 12:03:00 | <hpc> | like being desperate to hire more people, but not desperate enough to leave a job posting open after it's been filled |
| 12:04:15 | × | frost quits (~frost@user/frost) (Quit: Client closed) |
| 12:04:53 | <dr_merijn> | My current org stopped posting jobs and applications rounds at all, since the applicant quality was so low, simply moved to "always hiring" and largely through word of mouth |
| 12:05:00 | × | mixphix quits (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 268 seconds) |
| 12:05:02 | <tdammers> | or "we would really really like to hire you, and we can offer you more money, but you have to come in to work at 9:00 sharp, 9:15 is entirely impossible, no matter how reasonable your reasons" |
| 12:06:17 | → | mixphix joins (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
| 12:07:46 | <hpc> | and not 8:59, excepting that thou proceed directly to 9:00 :P |
| 12:08:39 | <tdammers> | I actually declined the job because they wouldn't budge on that one |
| 12:09:39 | <hpc> | i had something like that for a java job where they used macs exclusively - no linux or windows and you had to use eclipse too |
| 12:10:02 | <hpc> | so i would have been stuck learning to press windows-1 whenever i wanted to autocomplete something :( |
| 12:10:36 | × | beteigeuze quits (~Thunderbi@bl14-81-220.dsl.telepac.pt) (Ping timeout: 264 seconds) |
| 12:10:49 | <tdammers> | "here's your work computer, no you cannot have root, no you cannot install anything on it, if you need anything, just tell us, and we'll install it for you within 6 work days" |
| 12:11:07 | <tdammers> | (where "tell us" means "file a ticket", and "within 6 work days" means "whenever we feel like it") |
| 12:11:22 | × | Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Quit: o/) |
| 12:11:51 | <hpc> | 6 to 8 business weeks |
| 12:12:32 | <tdammers> | also the timer doesn't start ticking until you boss has signed off on your request |
| 12:12:48 | <hpc> | s/your boss/the change management team/ |
| 12:15:06 | → | Sciencentistguy joins (~sciencent@hacksoc/ordinary-member) |
| 12:15:32 | <tomsmeding> | shove in a linux live usb |
| 12:16:19 | <tomsmeding> | the easiest way to get root on your work machine here at my place seems to be to request linux (as opposed to the standard, which is windows) |
| 12:21:48 | × | mixphix quits (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Quit: leaving) |
| 12:23:06 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 12:24:19 | × | leah2 quits (~leah@vuxu.org) (Ping timeout: 244 seconds) |
| 12:25:22 | → | leah2 joins (~leah@vuxu.org) |
| 12:25:41 | × | leah2 quits (~leah@vuxu.org) (Remote host closed the connection) |
| 12:25:41 | → | yuzhao joins (~yuzhao@36.112.45.72) |
| 12:27:56 | → | leah2 joins (~leah@vuxu.org) |
| 12:29:13 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 12:29:28 | → | ozkutuk joins (~ozkutuk@176.240.173.153) |
| 12:35:48 | × | leah2 quits (~leah@vuxu.org) (Ping timeout: 264 seconds) |
| 12:39:56 | <dminuoso> | tomsmeding: manual continuations. |
| 12:40:12 | <dminuoso> | But it turns out writing myself some `newtype ExStateT s e m a = ExStateT { runExStateT :: forall r. s -> (e -> m r) -> (s -> a -> m r) -> m r }` makes me go sane again. |
| 12:40:21 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 12:40:50 | <dminuoso> | Come to think of it, the `m` is quite useless. |
| 12:41:30 | <dminuoso> | I suppose its just convenient for stacking transformers, but I dont use those. |
| 12:42:07 | <dminuoso> | Continuations are best hidden from code logic, they make most code very incomprehensible. |
| 12:42:13 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 250 seconds) |
| 12:44:44 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 12:46:16 | <tomsmeding> | dminuoso: have you ever spoken with JS developers? Callbacks are their breakfast and callbacks = continuations |
| 12:47:05 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 12:47:21 | <tomsmeding> | I don't find continuations very unreadable but that's mosty in the case where there's exactly one; i.e. where you haven't CPS'ed a sum type |
| 12:47:25 | <dminuoso> | In a strict language they tend to be not as harmful |
| 12:47:30 | <dr_merijn> | tomsmeding: Callbacks are continuations, but worse :p |
| 12:47:49 | → | leah2 joins (~leah@vuxu.org) |
| 12:49:19 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 12:50:32 | <dminuoso> | I mean evil constructs like callCC just dont really exist in JavaScript. |
| 12:53:41 | → | odnes_ joins (~odnes@5-203-217-113.pat.nym.cosmote.net) |
| 12:55:44 | → | disco-dave[m] joins (~disco-dav@2001:470:69fc:105::2:1892) |
| 12:55:56 | <kuribas> | you need to understand continuations in order to read ghc assembly code. |
| 12:56:48 | × | odnes quits (~odnes@5-203-217-113.pat.nym.cosmote.net) (Ping timeout: 264 seconds) |
| 12:58:23 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 13:01:23 | → | burnsidesLlama joins (~burnsides@client-8-82.eduroam.oxuni.org.uk) |
| 13:02:02 | <dminuoso> | Speaking of continuations, say Im using `Data.HashMap.lookup :: (Eq k, Hashable k) => k -> HashMap k v -> Maybe v` - is there some trick to ensure no intermediate Just/Nothing will actually be created? |
| 13:02:34 | <kuribas> | dminuoso: look at core to see if it is actually created? |
| 13:03:09 | <kuribas> | that depends on lookup being inlined though... |
| 13:03:31 | <dminuoso> | Well, Im rather interested in tractable optimizations |
| 13:03:33 | <kuribas> | dminuoso: but then, is this really a bottleneck? |
| 13:03:42 | <dminuoso> | No, this is just exploration |
| 13:04:01 | <dminuoso> | lookup# :: (Eq k, Hashable k) => k -> HashMap k v -> (# (# #) | v #) |
| 13:04:18 | <dminuoso> | Mmm. |
| 13:04:34 | <kuribas> | why even bother then |
| 13:04:37 | <dminuoso> | It's a shame all these libraries do not expose their internals |
| 13:04:43 | <dminuoso> | Because it's fun? |
| 13:05:41 | <dminuoso> | But to be fair, in a high volume situation, this is likely a a problem yes. Im encoding an Int-indexed tree as a recursive HashMap |
| 13:05:54 | <dminuoso> | So to descend the tree, I will do a lot of nested M.lookup |
| 13:07:17 | <kuribas> | hard to say without profiling |
| 13:07:45 | <dminuoso> | Sure, but as I have pointed out the primary reason is not an actual performance concern. |
| 13:10:34 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 13:12:52 | × | razetime quits (~quassel@117.254.34.90) (Ping timeout: 246 seconds) |
| 13:22:20 | <dr_merijn> | dminuoso: How high volume? |
| 13:22:47 | → | jero98772 joins (~jero98772@2800:484:1d80:d8ce:3490:26c5:1782:da8c) |
| 13:25:35 | × | lucques quits (~lucques@dynamic-046-114-088-103.46.114.pool.telefonica.de) (Ping timeout: 268 seconds) |
| 13:27:10 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 13:28:47 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 13:31:16 | <ski> | dminuoso : do you have left-nested/associated `(>>=)' on `Maybe' ? |
| 13:34:16 | × | MajorBiscuit quits (~MajorBisc@145.94.167.158) (Ping timeout: 268 seconds) |
| 13:34:53 | → | ph88 joins (~ph88@2a02:8109:9e00:71d0:7166:ab0e:b806:c76c) |
| 13:35:33 | → | tgi joins (~tgi@189.180.118.117) |
| 13:35:35 | <lyxia> | Are there other examples of lazy data structures with a complexity proof using Okasaki's banker's method besides the queues from his thesis? |
| 13:40:49 | × | burnsidesLlama quits (~burnsides@client-8-82.eduroam.oxuni.org.uk) (Read error: Connection reset by peer) |
| 13:42:27 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:9960:b0f8:561f:a74b) |
| 13:43:42 | → | burnsidesLlama joins (~burnsides@client-8-82.eduroam.oxuni.org.uk) |
| 13:46:54 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:9960:b0f8:561f:a74b) (Ping timeout: 264 seconds) |
| 13:47:05 | → | jonathanx_ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 13:47:17 | × | jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 252 seconds) |
| 13:49:52 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 13:49:52 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 13:49:52 | → | wroathe joins (~wroathe@user/wroathe) |
| 13:50:01 | <dminuoso> | ski: Are you thinking of codensity? |
| 13:50:10 | → | causal joins (~user@50.35.83.177) |
| 13:50:19 | <dminuoso> | And yes |
| 13:52:14 | <ski> | yes. and also of "Multi-return function call" by Olin Shivers,David Fisher in 2004-09,2006-0[79] at <https://www.ccs.neu.edu/home/shivers/citations.html#mrlc> |
| 13:53:04 | <ski> | (which is what i think of, cue the term "unboxed sum type" .. not being what `UnboxedSumTypes' give you) |
| 13:54:30 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 13:54:38 | × | mc47 quits (~mc47@xmonad/TheMC47) (Client Quit) |
| 14:05:37 | × | zaquest quits (~notzaques@5.130.79.72) (Ping timeout: 252 seconds) |
| 14:05:47 | → | odnes__ joins (~odnes@5-203-217-113.pat.nym.cosmote.net) |
| 14:06:19 | × | odnes_ quits (~odnes@5-203-217-113.pat.nym.cosmote.net) (Read error: Connection reset by peer) |
| 14:08:16 | × | jero98772 quits (~jero98772@2800:484:1d80:d8ce:3490:26c5:1782:da8c) (Ping timeout: 260 seconds) |
| 14:10:01 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
| 14:17:49 | → | zaquest joins (~notzaques@5.130.79.72) |
| 14:17:54 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:9618:2735:ae9e:6c5) (Quit: WeeChat 2.8) |
| 14:18:35 | → | zer0bitz joins (~zer0bitz@2001:2003:f748:2000:bc16:3d64:146f:ea3e) |
| 14:20:56 | → | jero98772 joins (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) |
| 14:21:17 | × | nshepperd2 quits (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (Quit: Ping timeout (120 seconds)) |
| 14:21:35 | → | beteigeuze joins (~Thunderbi@bl14-81-220.dsl.telepac.pt) |
| 14:24:21 | → | nshepperd2 joins (~nshepperd@li364-218.members.linode.com) |
| 14:29:52 | × | rosalind quits (rosalind@id-194105.uxbridge.irccloud.com) (Quit: bbl) |
| 14:30:27 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 14:33:09 | jinsun | is now known as Guest8471 |
| 14:33:09 | → | jinsun__ joins (~jinsun@user/jinsun) |
| 14:33:10 | × | Guest8471 quits (~jinsun@user/jinsun) (Killed (copper.libera.chat (Nickname regained by services))) |
| 14:33:10 | jinsun__ | is now known as jinsun |
| 14:38:35 | → | razetime joins (~quassel@117.254.34.90) |
| 14:39:25 | × | kenran quits (~user@user/kenran) (Remote host closed the connection) |
| 14:42:13 | → | natechan joins (~nate@98.45.169.16) |
| 14:43:35 | → | zns joins (~zns@user/zns) |
| 14:45:45 | × | dr_merijn quits (~dr_merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 14:46:24 | → | lucques joins (~lucques@dynamic-046-114-088-103.46.114.pool.telefonica.de) |
| 14:47:19 | × | burnsidesLlama quits (~burnsides@client-8-82.eduroam.oxuni.org.uk) (Remote host closed the connection) |
| 14:49:36 | × | mvk quits (~mvk@2607:fea8:5ce3:8500::a80f) (Ping timeout: 264 seconds) |
| 14:53:43 | → | rosalind joins (rosalind@id-194105.uxbridge.irccloud.com) |
| 14:54:48 | × | jespada quits (~jespada@nmal-24-b2-v4wan-166357-cust1764.vm24.cable.virginm.net) (Read error: Connection reset by peer) |
| 14:55:30 | → | jespada joins (~jespada@nmal-24-b2-v4wan-166357-cust1764.vm24.cable.virginm.net) |
| 15:03:12 | × | zns quits (~zns@user/zns) (Quit: zzz) |
| 15:03:27 | → | zns joins (~zns@user/zns) |
| 15:04:37 | × | zns quits (~zns@user/zns) (Client Quit) |
| 15:04:58 | × | Midjak quits (~Midjak@82.66.147.146) (Ping timeout: 268 seconds) |
| 15:09:42 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 15:11:54 | → | dr_merijn joins (~dr_merijn@86-86-29-250.fixed.kpn.net) |
| 15:18:37 | × | lucques quits (~lucques@dynamic-046-114-088-103.46.114.pool.telefonica.de) (Quit: Leaving) |
| 15:18:58 | <dminuoso> | The haddock of unsafeDupablePerformIO mentions "It may even happen that one of the duplicated IO actions is only run partially, and then interrupted in the middle without an exception being raised" |
| 15:19:20 | <dminuoso> | What might cause such an IO action to only run partially? |
| 15:20:35 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 15:21:04 | → | nate1 joins (~nate@98.45.169.16) |
| 15:21:25 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 15:22:48 | → | zer0bitz_ joins (~zer0bitz@2001:2003:f748:2000:bc16:3d64:146f:ea3e) |
| 15:22:56 | × | zer0bitz quits (~zer0bitz@2001:2003:f748:2000:bc16:3d64:146f:ea3e) (Ping timeout: 260 seconds) |
| 15:23:46 | <EvanR> | is there ever a guarantee that a complex IO action runs "all the way"? |
| 15:24:18 | <EvanR> | why transactions exist etc |
| 15:26:30 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 15:27:42 | <EvanR> | sorry that doesn't explain any additional inexplicable "ghosting" ghc might do to your actions |
| 15:31:59 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 15:32:13 | <c_wraith> | I suspect it has to do with two threads both entering the thunk and then one of them getting canceled after the other completes. |
| 15:32:52 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 15:33:59 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 15:35:04 | <EvanR> | treat my IO action as pure, very pure |
| 15:39:03 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:9960:b0f8:561f:a74b) |
| 15:40:19 | × | odnes__ quits (~odnes@5-203-217-113.pat.nym.cosmote.net) (Quit: Leaving) |
| 15:40:24 | → | kenran joins (~user@user/kenran) |
| 15:43:02 | → | son0p joins (~ff@181.136.122.143) |
| 15:43:38 | <dminuoso> | c_wraith: Does GHC have some such signalling mechanism? |
| 15:43:49 | <dminuoso> | Or is it just some theoretical construct that, at some point, may be added? |
| 15:45:15 | <geekosaur> | actually IIRC it's a construct that was removed |
| 15:46:29 | <geekosaur> | they decided that racing two identical pure (or "pure" given unsafeDupablePerformIO) actions was cheaper than either locking or canceling one on completion of the other |
| 15:47:17 | <c_wraith> | Pieces for it exist - <<loop>> detection still involves tracking what thunks a blocked thread has entered. But I wouldn't be surprised that it was determined too expensive to clean up the non-deadlock cases |
| 15:47:21 | → | nate1 joins (~nate@98.45.169.16) |
| 15:47:51 | × | rosalind quits (rosalind@id-194105.uxbridge.irccloud.com) (Quit: Yawn) |
| 15:48:06 | <EvanR> | so basically, if evaluating something once is good. Twice might be better |
| 15:48:12 | <EvanR> | two evaluations is better than one |
| 15:48:23 | <geekosaur> | not so much better as irrelevant |
| 15:48:38 | <geekosaur> | and preventing it more expensive than letting it happen |
| 15:48:44 | <EvanR> | interesting |
| 15:49:27 | <dminuoso> | So even the possibility of being aborted (!) has some subtle side effects. This means I have to be super careful how memory allocation occurs. |
| 15:49:44 | <lyxia> | maybe there are also weird exit conditions in FFI |
| 15:50:02 | <geekosaur> | there is such a thing as interruptible FFI |
| 15:50:26 | <geekosaur> | (GHC extension not specified in the standard) |
| 15:50:45 | <dminuoso> | But interruptible is just something with respect to mask right? |
| 15:50:59 | <geekosaur> | but honestly, if you';re doing unsafe*PerformIO, you shouldn't be doing allocation |
| 15:51:03 | <dminuoso> | The mere wording of unsafeDupablePerformIO suggests that if its aborted, the mechanism might not even be an async exception. |
| 15:51:11 | <dminuoso> | (as that would be catchable by bracket) |
| 15:51:12 | → | mr_mxyzptlk joins (~Srain@2806:266:48a:240:a579:dfff:fd47:c997) |
| 15:51:33 | <geekosaur> | iirc it's actually a signal, since C calls have no clue about masks or etc. |
| 15:52:29 | <c_wraith> | geekosaur: unsafe IO allocating isn't a big deal unless you're using the evil version from bytestring. |
| 15:53:04 | <c_wraith> | geekosaur: if your code can leak foreign memory on exceptions, it can do that whether you use unsafePerformIO or not |
| 15:53:41 | <geekosaur> | true |
| 15:53:54 | <dminuoso> | c_wraith: If I infer some comments from dfeuer correctly, if you use unsafeDupablePerformIO, allocate unpinned memory and then get cancelled you [have leaked memory] |
| 15:54:43 | <c_wraith> | unpinned.. foreign memory? I might believe that. But normal GHC allocation is also unpinned. :P |
| 15:54:47 | → | zebra joins (~zebra@202.91.42.5) |
| 15:54:58 | <dminuoso> | Things like allocaBytes are pinned though. |
| 15:55:43 | × | kenran quits (~user@user/kenran) (Remote host closed the connection) |
| 15:55:46 | → | MajorBiscuit joins (~MajorBisc@145.94.167.158) |
| 15:55:54 | × | MajorBiscuit quits (~MajorBisc@145.94.167.158) (Client Quit) |
| 15:56:05 | <EvanR> | how does one lose unpinned memory |
| 15:56:13 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 15:56:28 | <c_wraith> | Yeah, but I want to make a point in the other direction. *any* allocation inside bytestring's evil unsafe IO is fragile. Even GHC's own allocation. |
| 15:56:45 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 15:57:00 | <dminuoso> | Well, Im just talking unsafeDupablePerformIO, but accursedUnutterablePerform. The latter is completely evil for different reasons. |
| 15:57:06 | <dminuoso> | s/but/not/ |
| 15:57:48 | <dminuoso> | EvanR: I do not know, honestly. Im tempted to poke dfeuer and see whether he can clarify |
| 15:58:00 | <dminuoso> | https://stackoverflow.com/a/64398915 |
| 15:58:03 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds) |
| 15:58:05 | <dminuoso> | This was his message, for clarity |
| 15:59:10 | <EvanR> | that looks like malloc |
| 15:59:13 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.6) |
| 15:59:22 | <EvanR> | if you malloc something, then get aborted yeah |
| 16:00:10 | <dminuoso> | His wording strongly suggests its not about malloc, its about pinned or unpinned memory |
| 16:01:11 | <dminuoso> | [...] the instances defined in memory all seem fine—they too allocate pinned memory. But the class does not document this as a requirement [...] |
| 16:01:15 | <EvanR> | no one mentions unpinned memory at any point, as if it's not even a thing xD |
| 16:01:28 | <dminuoso> | Heh |
| 16:03:00 | <c_wraith> | well, foreign buffers are the big deal. and an unpinned foreign buffer is... not something I see a use for offhand |
| 16:03:46 | <dminuoso> | Fair, those make perfecft sense without second thought. |
| 16:07:54 | → | zns joins (~zns@user/zns) |
| 16:08:59 | × | zns quits (~zns@user/zns) (Client Quit) |
| 16:09:10 | → | zns joins (~zns@user/zns) |
| 16:09:24 | × | CiaoSen quits (~Jura@p200300c95700eb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 16:10:12 | → | nschoe joins (~q@141.101.51.197) |
| 16:13:16 | <dminuoso> | So mallocForeignPtrBtes seems benign inside unsafeDupablePerformIO, since its just newPinnedByteArray# under the hood. |
| 16:13:27 | <dminuoso> | *mallocForeignPtrBytes |
| 16:13:34 | → | coot joins (~coot@213.134.171.3) |
| 16:13:35 | × | zebra quits (~zebra@202.91.42.5) (Quit: Client closed) |
| 16:13:57 | → | hochata joins (~user@user/hochata) |
| 16:15:32 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:9960:b0f8:561f:a74b) (Remote host closed the connection) |
| 16:18:16 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:6640:d6a5:6547:23ed) |
| 16:18:36 | → | Tuplanolla joins (~Tuplanoll@91-159-69-34.elisa-laajakaista.fi) |
| 16:19:10 | × | coot quits (~coot@213.134.171.3) (Remote host closed the connection) |
| 16:19:31 | → | zebra joins (~zebra@202.91.41.13) |
| 16:21:00 | × | kuribas quits (~user@ptr-17d51ep16a0mmacta57.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
| 16:23:19 | → | Midjak joins (~Midjak@82.66.147.146) |
| 16:27:15 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 16:28:46 | × | Franciman quits (~Franciman@mx1.fracta.dev) (Read error: Connection reset by peer) |
| 16:30:48 | → | michalz joins (~michalz@185.246.207.205) |
| 16:32:32 | → | jinsun__ joins (~jinsun@user/jinsun) |
| 16:32:32 | jinsun | is now known as Guest4490 |
| 16:32:32 | × | Guest4490 quits (~jinsun@user/jinsun) (Killed (sodium.libera.chat (Nickname regained by services))) |
| 16:32:32 | jinsun__ | is now known as jinsun |
| 16:35:46 | → | econo joins (uid147250@user/econo) |
| 16:36:35 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:6640:d6a5:6547:23ed) (Quit: WeeChat 2.8) |
| 16:37:25 | × | teo quits (~teo@user/teo) (Ping timeout: 268 seconds) |
| 16:42:17 | × | nschoe quits (~q@141.101.51.197) (Ping timeout: 268 seconds) |
| 16:43:17 | <EvanR> | hmm, can I not get a `op` b c d to parse as (a `op` b) c d using sufficiently high precedence |
| 16:43:55 | × | zebra quits (~zebra@202.91.41.13) (Quit: Client closed) |
| 16:44:59 | × | fserucas_ quits (~fserucas@74.47.115.89.rev.vodafone.pt) (Quit: Leaving) |
| 16:47:00 | <pavonia> | I don't think so, function application always binds strongest |
| 16:47:27 | <EvanR> | fair |
| 16:48:06 | × | leah2 quits (~leah@vuxu.org) (Ping timeout: 260 seconds) |
| 16:48:07 | <geekosaur> | right, you can't specify a precedence that matches or beats the built-in stuff |
| 16:48:18 | <geekosaur> | (application, record updates, etc.) |
| 16:49:08 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 16:53:23 | → | loras joins (~bc@c-73-139-125-125.hsd1.fl.comcast.net) |
| 16:54:00 | → | Franciman joins (~Franciman@mx1.fracta.dev) |
| 16:59:41 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 17:00:44 | × | Midjak quits (~Midjak@82.66.147.146) (Read error: Connection reset by peer) |
| 17:01:10 | → | Midjak joins (~Midjak@82.66.147.146) |
| 17:01:54 | → | leah2 joins (~leah@vuxu.org) |
| 17:03:33 | × | tgi quits (~tgi@189.180.118.117) (Remote host closed the connection) |
| 17:03:50 | → | tgi joins (~tgi@189.180.118.117) |
| 17:05:03 | tgi | is now known as thegeekinside |
| 17:05:12 | → | rockystone joins (~rocky@user/rockymarine) |
| 17:05:54 | × | thegeekinside quits (~tgi@189.180.118.117) (Remote host closed the connection) |
| 17:06:13 | → | thegeekinside joins (~thegeekin@189.180.118.117) |
| 17:07:03 | → | ft joins (~ft@p3e9bc57b.dip0.t-ipconnect.de) |
| 17:07:15 | ← | thegeekinside parts (~thegeekin@189.180.118.117) () |
| 17:08:37 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:11:19 | × | Midjak quits (~Midjak@82.66.147.146) (Read error: Connection reset by peer) |
| 17:11:48 | → | Midjak joins (~Midjak@82.66.147.146) |
| 17:13:32 | → | thegeekinside joins (~thegeekin@189.180.118.117) |
| 17:13:42 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 17:13:55 | × | thegeekinside quits (~thegeekin@189.180.118.117) (Remote host closed the connection) |
| 17:14:16 | → | thegeekinside joins (~thegeekin@189.180.118.117) |
| 17:16:02 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:9960:b0f8:561f:a74b) |
| 17:17:11 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 17:18:40 | → | vorpuni joins (~pvorp@2001:861:3881:c690:6d50:829f:f2b1:8790) |
| 17:19:56 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:9960:b0f8:561f:a74b) (Remote host closed the connection) |
| 17:19:59 | → | mvk joins (~mvk@2607:fea8:5ce3:8500::a80f) |
| 17:21:11 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:9960:b0f8:561f:a74b) |
| 17:22:36 | → | shriekingnoise joins (~shrieking@186.137.167.202) |
| 17:24:40 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 17:24:41 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 17:24:41 | → | wroathe joins (~wroathe@user/wroathe) |
| 17:25:00 | × | loras quits (~bc@c-73-139-125-125.hsd1.fl.comcast.net) (Quit: Leaving) |
| 17:27:31 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 17:27:38 | × | thegeekinside quits (~thegeekin@189.180.118.117) (Remote host closed the connection) |
| 17:29:26 | → | thegeekinside joins (~thegeekin@189.180.118.117) |
| 17:30:17 | <monochrom> | Worst of both worlds: Unpinned buffer but its address is stored in a pinned object so the buffer is movable and the C side can still find it. >:) |
| 17:30:50 | → | burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
| 17:32:33 | → | littlefinger joins (~littlefin@38.142.23.50) |
| 17:32:49 | → | kora9 joins (~kora@185.224.57.161) |
| 17:34:34 | <kora9> | Hi. I'm using cabal-install 3.2.0.0 and cabal update downloading 01-index.tar.gz is taking forever. I'm on a train so not able to update too much right now, is it possible for me to manually download 01-index.tar.gz and place it/unpack it somewhere for cabal to detect it? (It seems to download faster in a web browser) |
| 17:35:25 | × | burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 268 seconds) |
| 17:36:40 | <davean> | kora9: yes, ~/.cabal/packages/hackage.haskell.org/ but I don't recomend it - a browser shouldn't be faster and it is large |
| 17:36:53 | × | beteigeuze quits (~Thunderbi@bl14-81-220.dsl.telepac.pt) (Ping timeout: 265 seconds) |
| 17:37:11 | <kora9> | davean: Oh, would you know roughly how large? |
| 17:37:19 | <davean> | if you have it downloaded already cabal only fetches more of it, doesn't download it again |
| 17:37:34 | <davean> | a bit over 100MiB |
| 17:38:14 | <kora9> | I don't have a local index so it's fetching it from scratch. Ah ok, 100MiB will probably take a few minutes on this connection. Thanks for the help :-) |
| 17:39:26 | <geekosaur> | cabal does tend to be a bit slow about it since it's processing as it goes instead of downloading all at once and processing after, iirc. newer versions are somewhat better about it (current cabal is 3.8.1.0) |
| 17:40:40 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 17:41:33 | <kora9> | geekosaur: Right, I noticed it's piping it directly from curl and I did see a few github bugs about cabal and speed. I assumed it would be fixed after a cabal update of cabal |
| 17:42:44 | × | littlefinger quits (~littlefin@38.142.23.50) (Ping timeout: 252 seconds) |
| 17:44:14 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds) |
| 17:45:17 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 17:46:57 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 17:47:16 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 246 seconds) |
| 17:48:08 | × | kora9 quits (~kora@185.224.57.161) (Quit: WeeChat 3.5) |
| 17:52:17 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds) |
| 17:52:35 | × | hochata quits (~user@user/hochata) (Ping timeout: 268 seconds) |
| 17:52:56 | × | Midjak quits (~Midjak@82.66.147.146) (Read error: Connection reset by peer) |
| 17:54:46 | × | zaquest quits (~notzaques@5.130.79.72) (Ping timeout: 265 seconds) |
| 17:55:53 | × | mbuf quits (~Shakthi@49.205.87.31) (Quit: Leaving) |
| 17:56:52 | <davean> | ksu: cabal update doesn't update cabal, just its dataset |
| 17:58:27 | × | thegeekinside quits (~thegeekin@189.180.118.117) (Remote host closed the connection) |
| 18:00:34 | × | arkeet quits (~arkeet@moriya.ca) (Ping timeout: 265 seconds) |
| 18:00:58 | → | thegeekinside joins (~thegeekin@189.180.118.117) |
| 18:04:05 | → | burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
| 18:06:44 | → | zaquest joins (~notzaques@5.130.79.72) |
| 18:10:07 | → | Midjak joins (~Midjak@82.66.147.146) |
| 18:11:12 | × | burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 264 seconds) |
| 18:12:34 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:9960:b0f8:561f:a74b) (Remote host closed the connection) |
| 18:15:19 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 18:20:27 | × | razetime quits (~quassel@117.254.34.90) (Remote host closed the connection) |
| 18:21:48 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds) |
| 18:23:46 | × | thegeekinside quits (~thegeekin@189.180.118.117) (Remote host closed the connection) |
| 18:24:09 | → | thegeekinside joins (~thegeekin@189.180.118.117) |
| 18:24:34 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 18:28:26 | × | thegeekinside quits (~thegeekin@189.180.118.117) (Remote host closed the connection) |
| 18:28:53 | → | argento joins (~argent0@191.81.194.124) |
| 18:32:03 | × | raehik1 quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 248 seconds) |
| 18:32:21 | × | mvk quits (~mvk@2607:fea8:5ce3:8500::a80f) (Ping timeout: 250 seconds) |
| 18:33:02 | <argento> | hello, what's the proper way to concatenate parsers? E.g: to parse 1.23, `many1' digit <??> char '.' <??> many1' digit`. Where <??> is the operator I'm missing. |
| 18:34:14 | <EvanR> | >> |
| 18:34:35 | → | zebrag joins (~chris@user/zebrag) |
| 18:35:11 | <argento> | Thanks |
| 18:35:22 | <EvanR> | in this case << would also work xD |
| 18:37:28 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 18:38:20 | → | thegeekinside joins (~thegeekin@189.180.118.117) |
| 18:40:43 | × | thegeekinside quits (~thegeekin@189.180.118.117) (Remote host closed the connection) |
| 18:40:58 | → | thegeekinside joins (~thegeekin@189.180.118.117) |
| 18:41:18 | → | troydm joins (~troydm@host-176-37-124-197.b025.la.net.ua) |
| 18:41:22 | × | thegeekinside quits (~thegeekin@189.180.118.117) (Remote host closed the connection) |
| 18:43:53 | → | thegeekinside joins (~thegeekin@189.180.118.117) |
| 18:44:08 | → | nschoe joins (~q@2a01:e0a:8e:a190:ef30:9c9d:b81a:a11) |
| 18:44:09 | × | nschoe quits (~q@2a01:e0a:8e:a190:ef30:9c9d:b81a:a11) (Client Quit) |
| 18:44:40 | → | LisaLiz joins (~KELEBEK@95.70.185.133) |
| 18:45:17 | × | LisaLiz quits (~KELEBEK@95.70.185.133) (Client Quit) |
| 18:47:52 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds) |
| 18:48:39 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 18:48:45 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 18:52:45 | → | burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
| 18:53:17 | <monochrom> | But I suppose you also want the digits themselves. pure (\x _ y -> x is "1" and y is "23" what do you want to do with them?) <*> many1 digit <*> char '>' <*> many1 digit |
| 18:54:13 | × | son0p quits (~ff@181.136.122.143) (Ping timeout: 265 seconds) |
| 18:54:24 | → | beteigeuze joins (~Thunderbi@89.187.168.40) |
| 18:55:35 | <argento> | monochrom: I want exactly that: `x <> '.':y`. I thought there was a way to lift the `<>` |
| 18:56:09 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 18:56:26 | → | DDR joins (~DDR@2604:3d08:4c7f:8250:79f3:1c2b:2580:abd1) |
| 18:56:39 | <monochrom> | (\x _ y -> x <> "." <> y) |
| 18:57:20 | <monochrom> | A very good tutorial for your parser library would explain what are pure and <*> and why you need them. |
| 18:57:24 | × | burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 268 seconds) |
| 18:57:35 | × | beteigeuze quits (~Thunderbi@89.187.168.40) (Remote host closed the connection) |
| 18:57:49 | <monochrom> | Although, very good tutorials don't exist. Only mediocre ones do. |
| 18:58:01 | <monochrom> | At least, not free of charge. |
| 18:58:12 | × | lottaquestions_ quits (~nick@2607:fa49:503e:7100:17df:3c92:219a:a0dd) (Quit: Konversation terminated!) |
| 18:58:29 | → | lottaquestions_ joins (~nick@2607:fa49:503e:7100:253:563:daad:1d7e) |
| 18:59:35 | <EvanR> | applicative tutorial pro, first month's free, check promocode in the description |
| 19:00:49 | × | zns quits (~zns@user/zns) (Quit: zzz) |
| 19:01:07 | <monochrom> | Well yeah but just as I don't want to bring up "Monad" in an IO tutorial, I don't want to bring up "Applicative" in a parser tutorial. |
| 19:01:17 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds) |
| 19:01:29 | <zzz> | wait, people are learning parser combinators before Applicative? |
| 19:01:47 | <monochrom> | People are learning lists and maybes before Functor, too. |
| 19:01:50 | <EvanR> | examples before the general theorem, concrete before abstract |
| 19:02:28 | <monochrom> | You also learned integers before monoids and groups and rings. You also learned rational numbers before fields. |
| 19:02:42 | <monochrom> | Hell, you also learned natural numbers before integers. |
| 19:02:48 | <zzz> | yes and i consider that bad |
| 19:03:02 | <EvanR> | you're right, it's illogical |
| 19:03:09 | <monochrom> | You also learned Chess rules before learning "strategies" "control the centre". |
| 19:03:14 | <EvanR> | I will never understand humans |
| 19:03:37 | <monochrom> | What do you think would be a good order then? |
| 19:04:00 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 19:04:51 | <zzz> | ins this specific case of learning Haskell, i would think what makes most sense is understanding the Prelude before random libraries |
| 19:04:58 | <monochrom> | Category theory in kindergarten? Universal algebra in primary and secondary school? Rings and fields in university? Then finally rational numbers and integers themselves in grad school, for those who actually want grade school and get admitted? |
| 19:05:25 | <EvanR> | evolution of a haskell programmer |
| 19:06:44 | <EvanR> | you finally made it to the level data Nat = Z | S Nat |
| 19:06:44 | <monochrom> | So basically only people with MSc and PhD know how to make sense of "I earned $40 today and spend $20 today"? |
| 19:06:46 | <zzz> | i don't think learning order should be disctated by "level of abstraction", but let's not get derailed here |
| 19:07:08 | <monochrom> | Although, that is already happening as a status quo, so meh. |
| 19:08:09 | <zzz> | lol, no PhD student earns $40 a day :D |
| 19:08:37 | <Digit> | asked them all? |
| 19:09:14 | <monochrom> | Oh, that's an example of a very good day when the PhD student has had a private tutoring customer. |
| 19:09:36 | <zzz> | yeah, teaching Applicatives |
| 19:09:40 | <zzz> | ka-tching |
| 19:10:11 | × | thegeekinside quits (~thegeekin@189.180.118.117) (Remote host closed the connection) |
| 19:10:12 | <monochrom> | And also has had free pizza from a seminar so it's only $20 spent that day haha. |
| 19:10:25 | <monochrom> | perhaps s/haha/sosad/ heh |
| 19:10:38 | × | madnight quits (~madnight@static.59.103.201.195.clients.your-server.de) (Quit: ZNC 1.7.1 - https://znc.in) |
| 19:10:56 | <EvanR> | the music at the end of incredible hulk tv show |
| 19:11:07 | → | thegeekinside joins (~thegeekin@189.180.118.117) |
| 19:13:01 | <monochrom> | I can agree about Prelude before parsers. But even within Prelude I still want to teach [], Maybe, IO before FAM. |
| 19:15:29 | → | zns joins (~zns@user/zns) |
| 19:16:48 | <EvanR> | [] Maybe IO are pretty simple and important as they stand. Another one is using :t to ask for the type of things. And a lot of stuff, including Prelude operators report Applicative... |
| 19:17:52 | <EvanR> | so either you explain that or give them the baby prelude with specialized things |
| 19:18:26 | <geekosaur> | and that gives you Haskell98 with map specialized to [] |
| 19:18:42 | <geekosaur> | whereas earlier versions map was fmap |
| 19:20:21 | × | raym quits (~aritra@user/raym) (Ping timeout: 260 seconds) |
| 19:20:30 | <EvanR> | yeah we actually have the baby prelude in that case |
| 19:21:21 | <geekosaur> | and used to have it in more cases, but it's been turning away from that. FTP, the reintroduction (behind an extension) of monad comprehensions, etc. |
| 19:21:36 | × | asivitz quits (uid178348@id-178348.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
| 19:22:48 | → | pavonia joins (~user@user/siracusa) |
| 19:24:36 | → | burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
| 19:25:59 | → | raym joins (~aritra@user/raym) |
| 19:29:01 | × | burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 244 seconds) |
| 19:31:57 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds) |
| 19:33:26 | <johnw> | does anyone have an example of testing a servant API without using socket? I.e., just direct function calls? |
| 19:33:56 | × | jackhill quits (~jackhill@kalessin.dragonsnail.net) (Remote host closed the connection) |
| 19:37:16 | × | argento quits (~argent0@191.81.194.124) (Ping timeout: 260 seconds) |
| 19:37:44 | × | jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
| 19:38:03 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 19:38:03 | → | jinsun joins (~jinsun@user/jinsun) |
| 19:38:34 | → | gqplox joins (~textual@97e654ef.skybroadband.com) |
| 19:38:35 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 19:39:04 | → | jackhill joins (~jackhill@kalessin.dragonsnail.net) |
| 19:41:15 | <gqplox> | Hi |
| 19:42:04 | <gqplox> | I'm trying to write map but I can't get it working, here is my code http://sprunge.us/xcmdIP |
| 19:42:33 | jackhill | is now known as KM4MBG |
| 19:43:06 | KM4MBG | is now known as jackhill |
| 19:43:42 | <gqplox> | Why does it say that couldn't match expected a0 -> b0 with actual [a]? |
| 19:43:45 | <gqplox> | Oh wait dumb mistake |
| 19:43:49 | <gqplox> | Hahah my bad sorry |
| 19:43:59 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 19:44:51 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 19:48:00 | <dminuoso> | johnw: While the code is proprietary, we do it in one of our projects. |
| 19:52:32 | <johnw> | dminuoso: was it very difficult to setup? Was it mainly providing a mocked version of HasServer? |
| 19:52:45 | <dminuoso> | Huh? |
| 19:53:24 | <johnw> | dminuoso: how did you setup your servant testing minus sockets? |
| 19:54:38 | <dminuoso> | johnw: So we use the generics (since that's the only sane way to use servant) interface, then its as simple as just `ma_findService (mailService user) ...` |
| 19:54:40 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 19:55:41 | <dminuoso> | Where `mailService :: ApiUser -> MailAPI AsServerF`, and `ma_findService :: MailAPI AsServerF -> ApiUser -> Uid -> FreyjaM MailService` |
| 19:56:35 | <dminuoso> | There's no need for any server to run, you can just call that function, and run that monad in whatever setting you want |
| 19:57:00 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 19:58:20 | <dminuoso> | Even without a custom monad, you can just runHandler' it |
| 19:59:17 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 19:59:23 | <dminuoso> | It's also how we trivially implement a fully flegded client: |
| 20:00:01 | <dminuoso> | `mailClient :: MailAPI (AsClientT ClientM); mailClient = genericClient; cm_findService :: Uid -> ClientM MailService; cm_findService = ma_findService mailClient` |
| 20:00:08 | <dminuoso> | It's really the same interface |
| 20:01:35 | × | mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Read error: Connection reset by peer) |
| 20:02:14 | → | mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
| 20:03:46 | × | jonathanx_ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 246 seconds) |
| 20:08:15 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
| 20:10:06 | × | ph88 quits (~ph88@2a02:8109:9e00:71d0:7166:ab0e:b806:c76c) (Quit: Leaving) |
| 20:11:58 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 20:16:22 | <johnw> | thank you! |
| 20:26:51 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 260 seconds) |
| 20:27:19 | × | shailangsa quits (~shailangs@86.159.49.5) (Ping timeout: 252 seconds) |
| 20:27:38 | × | jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
| 20:27:54 | → | jinsun joins (~jinsun@user/jinsun) |
| 20:28:58 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 20:29:59 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 20:30:12 | → | raehik1 joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 20:31:01 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 20:34:26 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 20:37:11 | × | johnw quits (~johnw@2600:1700:cf00:db0:c408:2164:6157:6eb5) (Quit: ZNC - http://znc.in) |
| 20:37:13 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 244 seconds) |
| 20:38:52 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 20:38:56 | → | talismanick joins (~talismani@5.187.27.20) |
| 20:41:19 | × | zer0bitz_ quits (~zer0bitz@2001:2003:f748:2000:bc16:3d64:146f:ea3e) (Read error: Connection reset by peer) |
| 20:41:27 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 20:43:25 | × | talismanick quits (~talismani@5.187.27.20) (Ping timeout: 244 seconds) |
| 20:43:46 | × | vorpuni quits (~pvorp@2001:861:3881:c690:6d50:829f:f2b1:8790) (Ping timeout: 260 seconds) |
| 20:45:16 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 20:45:21 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:9960:b0f8:561f:a74b) |
| 20:46:11 | → | nate1 joins (~nate@98.45.169.16) |
| 20:47:17 | → | rockystone joins (~rocky@user/rockymarine) |
| 20:49:37 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:9960:b0f8:561f:a74b) (Ping timeout: 244 seconds) |
| 20:51:21 | × | nate1 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
| 20:54:08 | → | dsrt^ joins (~dsrt@c-76-17-6-165.hsd1.ga.comcast.net) |
| 20:55:05 | → | beteigeuze joins (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) |
| 20:55:21 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 20:55:49 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt juan@acm.org) |
| 20:59:42 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 21:00:56 | × | phma quits (~phma@host-67-44-208-36.hnremote.net) (Read error: Connection reset by peer) |
| 21:01:51 | → | phma joins (~phma@2001:5b0:210f:49a8:1266:723e:2abd:17a6) |
| 21:01:54 | → | son0p joins (~ff@181.136.122.143) |
| 21:07:37 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 21:08:46 | × | Franciman quits (~Franciman@mx1.fracta.dev) (Read error: Connection reset by peer) |
| 21:09:26 | → | shailangsa joins (~shailangs@host86-159-49-5.range86-159.btcentralplus.com) |
| 21:10:01 | → | Franciman joins (~Franciman@mx1.fracta.dev) |
| 21:14:41 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
| 21:15:14 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 21:17:11 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 21:22:53 | → | hochata joins (~user@user/hochata) |
| 21:27:19 | → | rockystone joins (~rocky@user/rockymarine) |
| 21:28:26 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 21:28:54 | → | rosalind joins (rosalind@id-194105.uxbridge.irccloud.com) |
| 21:30:26 | ← | smol-hors parts (sid524992@smol/hors) () |
| 21:32:11 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
| 21:34:33 | × | Franciman quits (~Franciman@mx1.fracta.dev) (Read error: Connection reset by peer) |
| 21:35:46 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:37:05 | → | codaraxis___ joins (~codaraxis@user/codaraxis) |
| 21:37:52 | × | codaraxis__ quits (~codaraxis@user/codaraxis) (Read error: Connection reset by peer) |
| 21:38:49 | → | rockystone joins (~rocky@user/rockymarine) |
| 21:40:48 | → | Franciman joins (~Franciman@mx1.fracta.dev) |
| 21:47:04 | × | michalz quits (~michalz@185.246.207.205) (Remote host closed the connection) |
| 21:51:48 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 21:59:58 | × | Tuplanolla quits (~Tuplanoll@91-159-69-34.elisa-laajakaista.fi) (Quit: Leaving.) |
| 22:00:12 | × | finsternis quits (~X@23.226.237.192) (Read error: Connection reset by peer) |
| 22:01:01 | × | lottaquestions_ quits (~nick@2607:fa49:503e:7100:253:563:daad:1d7e) (Ping timeout: 246 seconds) |
| 22:02:33 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 268 seconds) |
| 22:03:20 | → | ozkutuk[m] joins (~ozkutuktc@2001:470:69fc:105::2:9af8) |
| 22:07:08 | → | jmd_ joins (~jmdaemon@user/jmdaemon) |
| 22:07:47 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 252 seconds) |
| 22:12:52 | × | foul_owl quits (~kerry@174-21-75-230.tukw.qwest.net) (Ping timeout: 265 seconds) |
| 22:14:00 | × | hochata quits (~user@user/hochata) (Remote host closed the connection) |
| 22:17:42 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
| 22:18:10 | × | zns quits (~zns@user/zns) (Quit: zzz) |
| 22:18:32 | → | zns joins (~zns@user/zns) |
| 22:18:39 | × | ozkutuk[m] quits (~ozkutuktc@2001:470:69fc:105::2:9af8) (Quit: Reconnecting) |
| 22:18:53 | → | ozkutuk[m] joins (~ozkutuktc@2001:470:69fc:105::2:9af8) |
| 22:18:57 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 22:19:56 | × | ozkutuk[m] quits (~ozkutuktc@2001:470:69fc:105::2:9af8) (Client Quit) |
| 22:20:12 | → | ozkutuk[m] joins (~ozkutuk@2001:470:69fc:105::2:9af8) |
| 22:20:41 | × | ozkutuk[m] quits (~ozkutuk@2001:470:69fc:105::2:9af8) (Client Quit) |
| 22:20:55 | → | ozkutuk[m] joins (~ozkutuk@2001:470:69fc:105::2:9af8) |
| 22:23:45 | → | beteigeuze1 joins (~Thunderbi@89.187.168.50) |
| 22:24:50 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds) |
| 22:25:16 | × | beteigeuze quits (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Ping timeout: 260 seconds) |
| 22:25:17 | beteigeuze1 | is now known as beteigeuze |
| 22:25:50 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 22:26:56 | → | foul_owl joins (~kerry@23.82.194.107) |
| 22:28:16 | → | mvk joins (~mvk@2607:fea8:5ce3:8500::a80f) |
| 22:35:27 | × | ozkutuk[m] quits (~ozkutuk@2001:470:69fc:105::2:9af8) (Quit: Reconnecting) |
| 22:35:29 | × | jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
| 22:35:44 | → | jinsun joins (~jinsun@user/jinsun) |
| 22:35:45 | → | ozkutuk[m] joins (~ozkutukm]@2001:470:69fc:105::2:9af8) |
| 22:37:39 | × | zns quits (~zns@user/zns) (Quit: zzz) |
| 22:38:10 | × | xff0x quits (~xff0x@ai071162.d.east.v6connect.net) (Ping timeout: 268 seconds) |
| 22:39:18 | × | ozkutuk[m] quits (~ozkutukm]@2001:470:69fc:105::2:9af8) (Client Quit) |
| 22:39:32 | → | ozkutuk[m] joins (~ozkutuk@2001:470:69fc:105::2:9af8) |
| 22:43:15 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 22:47:25 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 244 seconds) |
| 22:48:45 | → | rockystone joins (~rocky@user/rockymarine) |
| 22:50:33 | → | TonyStone joins (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) |
| 22:53:06 | × | rockystone quits (~rocky@user/rockymarine) (Ping timeout: 244 seconds) |
| 22:53:32 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 22:54:30 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 22:54:55 | × | raehik1 quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds) |
| 22:57:15 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 22:58:00 | × | acidjnk quits (~acidjnk@p200300d6e7137a503d80e44891d38f9e.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 22:58:38 | → | rockystone joins (~rocky@user/rockymarine) |
| 23:01:03 | → | xff0x joins (~xff0x@2405:6580:b080:900:ea80:7ffc:2e04:51ee) |
| 23:02:07 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 23:02:42 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 23:04:19 | → | ph88 joins (~ph88@2a02:8109:9e00:71d0:7166:ab0e:b806:c76c) |
| 23:05:38 | × | zeenk quits (~zeenk@2a02:2f04:a20a:3e00:5712:52b0:ca1d:bc63) (Quit: Konversation terminated!) |
| 23:08:03 | × | perrierjouet quits (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.6) |
| 23:09:24 | × | chomwitt quits (~chomwitt@2a02:587:dc0c:c200:b8b0:dc:a578:bfaa) (Ping timeout: 264 seconds) |
| 23:09:33 | → | jmorris joins (uid537181@id-537181.uxbridge.irccloud.com) |
| 23:09:42 | → | perrierjouet joins (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) |
| 23:10:37 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
| 23:14:51 | × | xff0x quits (~xff0x@2405:6580:b080:900:ea80:7ffc:2e04:51ee) (Ping timeout: 260 seconds) |
| 23:15:47 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 248 seconds) |
| 23:16:20 | → | xff0x joins (~xff0x@ai071162.d.east.v6connect.net) |
| 23:18:08 | → | argento joins (~argent0@191.81.194.124) |
| 23:19:25 | × | DDR quits (~DDR@2604:3d08:4c7f:8250:79f3:1c2b:2580:abd1) (Ping timeout: 246 seconds) |
| 23:20:40 | × | causal quits (~user@50.35.83.177) (Quit: WeeChat 3.6) |
| 23:22:38 | → | causal joins (~user@50.35.83.177) |
| 23:32:01 | → | burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
| 23:32:16 | → | ddellacosta joins (~ddellacos@86.106.143.227) |
| 23:32:19 | → | finsternis joins (~X@23.226.237.192) |
| 23:32:47 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 23:32:47 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 23:32:47 | → | wroathe joins (~wroathe@user/wroathe) |
| 23:38:36 | × | burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 268 seconds) |
| 23:42:33 | × | Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
| 23:48:56 | → | dcoutts__ joins (~duncan@host86-163-164-210.range86-163.btcentralplus.com) |
| 23:51:36 | × | dcoutts_ quits (~duncan@host86-170-66-8.range86-170.btcentralplus.com) (Ping timeout: 260 seconds) |
All times are in UTC on 2022-10-10.