2024/12/28

Newest at the top

2024-12-28 19:00:40 +0100euleritian(~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) (Ping timeout: 272 seconds)
2024-12-28 18:58:48 +0100 <prsteele> I'm trying to figure out if there's a reasonable way to annotate locally-bound functions in the ST monad. Examples at https://paste.tomsmeding.com/cjXBqns9
2024-12-28 18:57:08 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds)
2024-12-28 18:57:00 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-28 18:55:52 +0100prsteele(~prsteele@pool-173-48-172-223.bstnma.fios.verizon.net)
2024-12-28 18:55:51 +0100tabemann__(~tabemann@2600:1700:7990:24e0:ada6:84a7:3e7e:966c)
2024-12-28 18:52:36 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-28 18:52:06 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Quit: WeeChat 4.4.2)
2024-12-28 18:51:19 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2024-12-28 18:49:28 +0100Xe(~Xe@perl/impostor/xe) Xe
2024-12-28 18:49:24 +0100tabemann__(~tabemann@2600:1700:7990:24e0:12b1:e4e1:19de:88e5) (Remote host closed the connection)
2024-12-28 18:42:53 +0100rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-06-76-69-85-220.dsl.bell.ca) (Ping timeout: 245 seconds)
2024-12-28 18:40:57 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com) lisbeths
2024-12-28 18:40:18 +0100Xe(~Xe@perl/impostor/xe) (Quit: ZNC 1.9.1 - https://znc.in)
2024-12-28 18:40:12 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2024-12-28 18:39:29 +0100Everything(~Everythin@195.138.86.118) Everything
2024-12-28 18:39:11 +0100ubert(~Thunderbi@p200300ecdf117c91b816f4b90c54fbf2.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2024-12-28 18:39:11 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-28 18:34:34 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-28 18:31:07 +0100 <enikar> I'm just lazier than haskell. Where haskell says ok, I'll do it later and ends up evaluating everything to print results, I say ok, I'll print the result maybe another day and take a rest :D
2024-12-28 18:30:43 +0100 <plitter> monochrom: I thought this already was lazy https://termbin.com/sz27 :)
2024-12-28 18:26:18 +0100 <plitter> To be fair, it is not just laziness. (at least for me who is not yet used to haskell) More like working hard to hardly work! Investment in the future :P
2024-12-28 18:23:45 +0100 <enikar> laziness is sometimes very usefull
2024-12-28 18:22:49 +0100 <enikar> monochrom: nice, it's a good idea. I just wondered if i could let haskell do the job with lazy evaluation and recursive definition :)
2024-12-28 18:22:20 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-28 18:20:55 +0100Xe(~Xe@perl/impostor/xe) Xe
2024-12-28 18:19:43 +0100 <monochrom> Similarly, you can let Haskell do dynamic programming for you by using a lazy array/vector!
2024-12-28 18:19:21 +0100Xe(~Xe@perl/impostor/xe) (Quit: ZNC 1.9.1 - https://znc.in)
2024-12-28 18:18:49 +0100 <monochrom> i.e., it is OK to have resolvable self reference such as: m = Map.fromList [(1, "a"), (2, (m!1) ++ "b"]
2024-12-28 18:17:53 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-28 18:17:37 +0100acidjnk_new3(~acidjnk@p200300d6e7283f42bc4ebb891d7561a4.dip0.t-ipconnect.de) acidjnk
2024-12-28 18:17:37 +0100 <monochrom> If you use Data.Map.Lazy, lazy evaluation will figure out the dependency for you. >:)
2024-12-28 18:17:02 +0100 <enikar> remain to solve the dependency graph
2024-12-28 18:15:05 +0100 <enikar> plitter: to solve I'd probably use a Map. The key will be variable name, and the value just the value of this variable ;)
2024-12-28 18:13:26 +0100 <monochrom> Hot take: You don't even need overloaded record dot, you can just write "myrecord & myfield".
2024-12-28 18:12:35 +0100 <plitter> Thanks everyone! AoC solved!
2024-12-28 18:12:31 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-28 18:10:31 +0100stiell(~stiell@gateway/tor-sasl/stiell) stiell
2024-12-28 18:05:46 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-28 18:01:40 +0100 <monochrom> (or actual record type system --- but I sneakily classify that as static semantics, therefore still covered haha)
2024-12-28 18:00:30 +0100 <monochrom> I like record syntax, it is not a wart, and it is pretty much compatible with e.g. SML record syntax. The wart is in the semantics --- lacking actual record semantics.
2024-12-28 17:52:49 +0100 <monochrom> loonycyborg: I have a hunch that the real cause is that indentation desugars to {foo ; bar; } but record syntax wants {foo , bar}, i.e., the {} part is fine, the issue is with ; vs , and also extra ;
2024-12-28 17:36:34 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-28 17:35:16 +0100 <plitter> ok, I'll try to find the other keywords, fixing the amount of let and maybe outside of main :) thanks for the suggestions!
2024-12-28 17:34:04 +0100lxsameer(~lxsameer@Serene/lxsameer) (Quit: WeeChat 4.4.2)
2024-12-28 17:33:11 +0100euleritian(~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de)
2024-12-28 17:32:50 +0100euleritian(~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) (Ping timeout: 252 seconds)
2024-12-28 17:32:15 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-28 17:31:27 +0100 <enikar> maybe don't do all the stuff in main will help
2024-12-28 17:31:14 +0100 <int-e> (and there are more keywords to find)