Logs on 2025-05-06 (liberachat/#haskell)
| 00:06:26 | × | euleritian quits (~euleritia@ip2504e858.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 00:06:47 | → | euleritian joins (~euleritia@dynamic-176-000-054-143.176.0.pool.telefonica.de) |
| 00:07:50 | × | Katarushisu quits (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Ping timeout: 260 seconds) |
| 00:07:52 | × | euleritian quits (~euleritia@dynamic-176-000-054-143.176.0.pool.telefonica.de) (Read error: Connection reset by peer) |
| 00:08:09 | → | euleritian joins (~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) |
| 00:12:00 | → | xff0x joins (~xff0x@2405:6580:b080:900:2b75:7056:1970:c58f) |
| 00:15:28 | × | acidjnk_new3 quits (~acidjnk@p200300d6e71c4f8221d365420023dfe1.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
| 00:30:43 | → | Katarushisu joins (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) |
| 00:35:02 | → | sajenim joins (~sajenim@user/sajenim) |
| 00:38:40 | × | xff0x quits (~xff0x@2405:6580:b080:900:2b75:7056:1970:c58f) (Ping timeout: 272 seconds) |
| 00:40:56 | → | xff0x joins (~xff0x@2405:6580:b080:900:bd8f:49eb:d362:d8a3) |
| 00:47:19 | × | Katarushisu quits (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Ping timeout: 276 seconds) |
| 00:52:36 | × | greber_ quits (~greber@82.148.184.53) (Remote host closed the connection) |
| 01:04:36 | → | Katarushisu joins (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) |
| 01:12:40 | → | j1n37- joins (~j1n37@user/j1n37) |
| 01:12:48 | × | j1n37 quits (~j1n37@user/j1n37) (Ping timeout: 252 seconds) |
| 01:25:19 | × | droideqa quits (uid499291@user/droideqa) (Quit: Connection closed for inactivity) |
| 01:28:34 | → | joeyadams joins (~textual@syn-162-154-010-038.res.spectrum.com) |
| 01:29:17 | → | j1n37 joins (~j1n37@user/j1n37) |
| 01:29:57 | × | j1n37- quits (~j1n37@user/j1n37) (Ping timeout: 248 seconds) |
| 01:34:13 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 248 seconds) |
| 01:36:51 | <Square2> | Re: "<monochrom> \∩/ ::: also works " <-- where is that function defined? |
| 01:39:00 | <Square2> | It's simple to roll your own, but I just assumed it would be in base somewhere |
| 02:14:18 | × | td_ quits (~td@i5387090D.versanet.de) (Ping timeout: 244 seconds) |
| 02:16:05 | → | td_ joins (~td@i53870907.versanet.de) |
| 02:20:49 | × | tabaqui quits (~tabaqui@167.71.80.236) (Ping timeout: 245 seconds) |
| 02:22:52 | × | td_ quits (~td@i53870907.versanet.de) (Ping timeout: 276 seconds) |
| 02:24:21 | → | td_ joins (~td@i5387093E.versanet.de) |
| 02:27:26 | <monochrom> | It is user-definable. |
| 03:01:51 | → | winniequinn joins (~winniequi@user/winniequinn) |
| 03:07:59 | → | tavare joins (~tavare@user/tavare) |
| 03:09:04 | × | tavare quits (~tavare@user/tavare) (Remote host closed the connection) |
| 03:12:48 | × | winniequinn quits (~winniequi@user/winniequinn) (Quit: nyaa~) |
| 03:17:01 | × | jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 272 seconds) |
| 03:18:44 | → | jmcantrell joins (~weechat@user/jmcantrell) |
| 03:32:08 | × | jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 252 seconds) |
| 03:35:27 | → | jmcantrell joins (~weechat@user/jmcantrell) |
| 03:35:27 | → | bitmapper joins (uid464869@id-464869.lymington.irccloud.com) |
| 03:39:34 | × | jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 245 seconds) |
| 03:41:47 | → | jmcantrell joins (~weechat@user/jmcantrell) |
| 03:44:19 | → | j1n37- joins (~j1n37@user/j1n37) |
| 03:44:32 | × | dutchie quits (~dutchie@user/dutchie) (Remote host closed the connection) |
| 03:45:05 | → | aforemny_ joins (~aforemny@2001:9e8:6cc8:6800:9956:496f:fbf1:8d53) |
| 03:45:25 | × | j1n37 quits (~j1n37@user/j1n37) (Ping timeout: 276 seconds) |
| 03:45:33 | → | dutchie joins (~dutchie@user/dutchie) |
| 03:46:04 | × | aforemny quits (~aforemny@2001:9e8:6ce9:ae00:f066:85cb:935a:63da) (Ping timeout: 276 seconds) |
| 04:01:07 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 04:07:03 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 272 seconds) |
| 04:08:00 | → | prdak joins (~Thunderbi@user/prdak) |
| 04:08:21 | → | Garbanzo joins (~Garbanzo@2602:304:6eac:dc10::46) |
| 04:12:43 | × | prdak quits (~Thunderbi@user/prdak) (Ping timeout: 276 seconds) |
| 04:22:11 | × | joeyadams quits (~textual@syn-162-154-010-038.res.spectrum.com) (Quit: Textual IRC Client: www.textualapp.com) |
| 04:22:28 | × | jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 276 seconds) |
| 04:24:08 | → | jmcantrell joins (~weechat@user/jmcantrell) |
| 04:32:29 | × | talismanick quits (~user@2601:644:937c:ed10::ae5) (Ping timeout: 260 seconds) |
| 04:59:05 | → | werneta joins (~werneta@syn-071-083-160-242.res.spectrum.com) |
| 05:00:23 | × | manwithluck quits (~manwithlu@2a09:bac5:5081:2dc::49:f6) (Remote host closed the connection) |
| 05:00:33 | → | manwithluck joins (~manwithlu@2a09:bac5:5081:2dc::49:f6) |
| 05:03:30 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 05:18:06 | → | takuan joins (~takuan@d8D86B601.access.telenet.be) |
| 05:27:16 | × | la1n quits (~la1n@81.222.178.255) (Read error: Connection reset by peer) |
| 05:29:06 | × | euleritian quits (~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 05:30:02 | → | euleritian joins (~euleritia@dynamic-176-006-138-148.176.6.pool.telefonica.de) |
| 05:36:17 | × | euleritian quits (~euleritia@dynamic-176-006-138-148.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 05:36:36 | → | euleritian joins (~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) |
| 05:52:56 | × | hgolden quits (~hgolden@2603:8000:9d00:3ed1:88e0:76ff:fe9c:b21e) (Remote host closed the connection) |
| 06:01:55 | × | echoreply quits (~echoreply@45.32.163.16) (Quit: WeeChat 2.8) |
| 06:02:52 | → | echoreply joins (~echoreply@45.32.163.16) |
| 06:05:08 | → | hgolden joins (~hgolden@2603:8000:9d00:3ed1:88e0:76ff:fe9c:b21e) |
| 06:16:00 | → | prdak joins (~Thunderbi@user/prdak) |
| 06:32:48 | × | prdak quits (~Thunderbi@user/prdak) (Read error: Connection reset by peer) |
| 06:33:25 | → | prdak joins (~Thunderbi@user/prdak) |
| 06:33:51 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 06:36:28 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
| 06:36:47 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 06:39:20 | → | tromp joins (~textual@2001:1c00:3487:1b00:cdc3:f42b:30fc:1c61) |
| 06:41:00 | × | euleritian quits (~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) (Ping timeout: 276 seconds) |
| 06:42:53 | → | euleritian joins (~euleritia@dynamic-176-006-138-148.176.6.pool.telefonica.de) |
| 06:44:33 | × | jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 248 seconds) |
| 06:49:38 | × | Garbanzo quits (~Garbanzo@2602:304:6eac:dc10::46) (Remote host closed the connection) |
| 06:57:51 | → | acidjnk_new3 joins (~acidjnk@p200300d6e71c4f5329ce7e116cdf4532.dip0.t-ipconnect.de) |
| 07:00:00 | × | caconym7 quits (~caconym@user/caconym) (Quit: bye) |
| 07:00:39 | → | caconym7 joins (~caconym@user/caconym) |
| 07:03:50 | → | __monty__ joins (~toonn@user/toonn) |
| 07:10:19 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 07:19:32 | × | prdak quits (~Thunderbi@user/prdak) (Quit: prdak) |
| 07:19:54 | → | prdak joins (~Thunderbi@user/prdak) |
| 07:20:40 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 07:26:12 | → | fp joins (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) |
| 07:29:19 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 07:32:45 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 07:34:04 | × | m1dnight quits (~m1dnight@d8D861908.access.telenet.be) (Ping timeout: 252 seconds) |
| 07:34:28 | → | m1dnight joins (~m1dnight@d8D861908.access.telenet.be) |
| 07:40:41 | <[exa]> | I'm getting a linker error when trying to build static binaries in github CI (on ubuntu-latest): "error: relocation refers to local symbol ".text" [1], which is defined in a discarded section". Did anyone see anything such? (mainly, any guess on where to start debugging?) |
| 07:41:02 | <[exa]> | locally it works OK (on debian tho, should I assume this to be ubuntu-caused weirdness?) |
| 07:43:01 | <[exa]> | (tail of the build log with the yuge link command here, if anyone enjoys reading these things: https://paste.tomsmeding.com/dac7Oswb ) |
| 07:43:52 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer) |
| 07:51:24 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 08:02:21 | × | hgolden quits (~hgolden@2603:8000:9d00:3ed1:88e0:76ff:fe9c:b21e) (Ping timeout: 252 seconds) |
| 08:02:21 | → | merijn joins (~merijn@77.242.116.146) |
| 08:03:53 | → | hgolden joins (~hgolden@2603:8000:9d00:3ed1:88e0:76ff:fe9c:b21e) |
| 08:10:29 | × | acidjnk_new3 quits (~acidjnk@p200300d6e71c4f5329ce7e116cdf4532.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
| 08:12:32 | <tomsmeding> | [exa]: did you see that warning about dlopen? |
| 08:13:08 | <tomsmeding> | and the 10 similar warnings below it |
| 08:13:12 | <tomsmeding> | lines 25-35 |
| 08:13:20 | <tomsmeding> | oh and more lol |
| 08:13:34 | × | euleritian quits (~euleritia@dynamic-176-006-138-148.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 08:13:52 | → | euleritian joins (~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) |
| 08:14:07 | <tomsmeding> | [exa]: I'm not sure, but I wouldn't discard the possibility that this error depends on the glibc version |
| 08:14:35 | JuanDaugherty | is now known as ColinRobinson |
| 08:15:31 | <tomsmeding> | [exa]: but those warnings rather explicitly tell you that what you're trying to do isn't helpful |
| 08:15:37 | → | acidjnk joins (~acidjnk@p200300d6e71c4f53bcc85498df75fec7.dip0.t-ipconnect.de) |
| 08:19:05 | × | tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 08:19:44 | × | prdak quits (~Thunderbi@user/prdak) (Read error: Connection reset by peer) |
| 08:19:48 | <[exa]> | tomsmeding: yeah, but otherwise it works perfectly despite the warnings :) |
| 08:20:15 | <tomsmeding> | because on the other system you have a compatible glibc version, presumably |
| 08:20:34 | <tomsmeding> | try running the executable on a musl system, or a system with a much older glibc than the one you built on |
| 08:20:52 | <[exa]> | ofc there it dies, that's ok |
| 08:21:06 | <tomsmeding> | ... but if you allow that, why do static linking of glibc in the first place |
| 08:22:00 | <[exa]> | can I somehow pick which libraries I want to have packed as static? |
| 08:23:02 | <tomsmeding> | with gcc, you can, apparently |
| 08:23:32 | <tomsmeding> | you're right that this may be hard or impossible through ghc |
| 08:23:40 | → | chele joins (~chele@user/chele) |
| 08:23:52 | → | CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) |
| 08:24:23 | <[exa]> | kinda wondering, can I take the dynamic executable and just somehow pack some of the libraries to it? |
| 08:25:28 | <tomsmeding> | that's apparently hard |
| 08:25:38 | <tomsmeding> | https://unix.stackexchange.com/questions/685255/create-an-statically-linked-executable-from-a-dynamically-linked-executable-and |
| 08:25:56 | <[exa]> | whew https://github.com/sigurd-dev/mkblob |
| 08:28:56 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 08:29:10 | × | tromp quits (~textual@2001:1c00:3487:1b00:cdc3:f42b:30fc:1c61) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 08:29:28 | <[exa]> | well I guess I'll do the trick with LD_LIBRARY_PATH and some scriptage |
| 08:30:08 | <tomsmeding> | that is probably saner |
| 08:30:14 | × | fp quits (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) (Read error: Connection reset by peer) |
| 08:30:17 | → | fp1 joins (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) |
| 08:30:23 | <tomsmeding> | than some random tool from an executable uploaded to github with "Add files for upload" |
| 08:30:34 | <[exa]> | true. |
| 08:32:34 | fp1 | is now known as fp |
| 08:52:08 | × | fp quits (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) (Ping timeout: 244 seconds) |
| 09:09:40 | → | j1n37 joins (~j1n37@user/j1n37) |
| 09:10:54 | × | j1n37- quits (~j1n37@user/j1n37) (Ping timeout: 265 seconds) |
| 09:12:45 | → | prdak joins (~Thunderbi@user/prdak) |
| 09:15:34 | → | fp joins (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) |
| 09:16:21 | × | michalz quits (~michalz@185.246.207.217) (Ping timeout: 252 seconds) |
| 09:17:50 | → | michalz joins (~michalz@185.246.207.221) |
| 09:19:40 | × | fp quits (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) (Client Quit) |
| 09:19:44 | → | fp1 joins (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) |
| 09:22:03 | fp1 | is now known as fp |
| 09:25:27 | × | prdak quits (~Thunderbi@user/prdak) (Read error: Connection reset by peer) |
| 09:34:55 | → | tromp joins (~textual@2001:1c00:3487:1b00:cdc3:f42b:30fc:1c61) |
| 09:44:40 | × | euleritian quits (~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 09:45:42 | → | euleritian joins (~euleritia@dynamic-176-006-138-148.176.6.pool.telefonica.de) |
| 10:02:37 | × | michalz quits (~michalz@185.246.207.221) (Ping timeout: 252 seconds) |
| 10:05:55 | × | fp quits (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) (Ping timeout: 252 seconds) |
| 10:06:06 | → | fp joins (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) |
| 10:06:30 | → | michalz joins (~michalz@185.246.207.218) |
| 10:08:46 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 10:10:18 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 276 seconds) |
| 10:12:51 | × | euleritian quits (~euleritia@dynamic-176-006-138-148.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 10:13:08 | → | euleritian joins (~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) |
| 10:24:50 | × | fp quits (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) (Ping timeout: 244 seconds) |
| 10:25:41 | × | j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 10:29:16 | → | j1n37 joins (~j1n37@user/j1n37) |
| 10:33:06 | → | fp joins (~Thunderbi@2001:708:20:1406::10c5) |
| 10:35:14 | × | rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
| 10:35:52 | → | rvalue joins (~rvalue@user/rvalue) |
| 10:36:29 | → | prdak joins (~Thunderbi@user/prdak) |
| 10:44:28 | × | euleritian quits (~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds) |
| 10:45:44 | → | euleritian joins (~euleritia@77.23.248.100) |
| 10:50:28 | × | euleritian quits (~euleritia@77.23.248.100) (Ping timeout: 272 seconds) |
| 10:51:17 | → | euleritian joins (~euleritia@dynamic-176-006-138-148.176.6.pool.telefonica.de) |
| 10:51:29 | → | haritz joins (~hrtz@152.37.68.178) |
| 10:51:29 | × | haritz quits (~hrtz@152.37.68.178) (Changing host) |
| 10:51:29 | → | haritz joins (~hrtz@user/haritz) |
| 10:55:51 | × | euleritian quits (~euleritia@dynamic-176-006-138-148.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 10:56:42 | → | euleritian joins (~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) |
| 10:58:52 | → | chele_ joins (~chele@user/chele) |
| 11:00:05 | × | caconym7 quits (~caconym@user/caconym) (Quit: bye) |
| 11:01:35 | × | chele quits (~chele@user/chele) (Ping timeout: 265 seconds) |
| 11:01:39 | × | euleritian quits (~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) (Ping timeout: 276 seconds) |
| 11:01:54 | × | michalz quits (~michalz@185.246.207.218) (Read error: Connection reset by peer) |
| 11:02:16 | → | caconym7 joins (~caconym@user/caconym) |
| 11:02:29 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 11:02:41 | → | euleritian joins (~euleritia@77.23.248.100) |
| 11:03:43 | → | michalz joins (~michalz@185.246.207.222) |
| 11:08:24 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 11:09:20 | → | j1n37- joins (~j1n37@user/j1n37) |
| 11:09:25 | × | fp quits (~Thunderbi@2001:708:20:1406::10c5) (Quit: fp) |
| 11:09:48 | × | j1n37 quits (~j1n37@user/j1n37) (Ping timeout: 265 seconds) |
| 11:10:41 | → | fp joins (~Thunderbi@2001:708:20:1406::10c5) |
| 11:11:17 | × | euleritian quits (~euleritia@77.23.248.100) (Ping timeout: 248 seconds) |
| 11:12:21 | → | euleritian joins (~euleritia@dynamic-176-006-138-148.176.6.pool.telefonica.de) |
| 11:22:29 | × | acidjnk quits (~acidjnk@p200300d6e71c4f53bcc85498df75fec7.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 11:25:10 | → | acidjnk joins (~acidjnk@p200300d6e71c4f53e574b8a80288d07c.dip0.t-ipconnect.de) |
| 11:28:27 | <yin> | which other popular languages feature automatic currying? |
| 11:28:34 | → | tabaqui joins (~tabaqui@167.71.80.236) |
| 11:31:20 | <tomsmeding> | ocaml, presumably |
| 11:39:09 | <tomsmeding> | languages are generally not so deluded as to think that partially applying a function, and actually calling it, are similar operationally |
| 11:43:10 | × | j1n37- quits (~j1n37@user/j1n37) (Ping timeout: 276 seconds) |
| 11:44:21 | → | j1n37 joins (~j1n37@user/j1n37) |
| 11:44:58 | <[exa]> | forth |
| 11:44:59 | [exa] | runs |
| 11:46:28 | × | tromp quits (~textual@2001:1c00:3487:1b00:cdc3:f42b:30fc:1c61) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 11:50:51 | → | tromp joins (~textual@2001:1c00:3487:1b00:cdc3:f42b:30fc:1c61) |
| 12:00:46 | → | zmt00 joins (~zmt00@user/zmt00) |
| 12:02:32 | × | zmt01 quits (~zmt00@user/zmt00) (Ping timeout: 252 seconds) |
| 12:08:50 | → | tolgo joins (~Thunderbi@199.115.144.130) |
| 12:09:21 | × | tolgo quits (~Thunderbi@199.115.144.130) (Client Quit) |
| 12:17:03 | × | acidjnk quits (~acidjnk@p200300d6e71c4f53e574b8a80288d07c.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
| 12:21:25 | × | euleritian quits (~euleritia@dynamic-176-006-138-148.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 12:21:30 | × | prdak quits (~Thunderbi@user/prdak) (Read error: Connection reset by peer) |
| 12:21:42 | → | euleritian joins (~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) |
| 12:24:45 | → | acidjnk joins (~acidjnk@p200300d6e71c4f530114fa8f2e8a4c12.dip0.t-ipconnect.de) |
| 12:28:10 | → | jespada joins (~jespada@r179-25-149-142.dialup.adsl.anteldata.net.uy) |
| 12:29:39 | × | Square2 quits (~Square4@user/square) (Ping timeout: 260 seconds) |
| 12:30:16 | → | ubert joins (~Thunderbi@2a02:8109:ab8a:5a00:70a8:360f:569f:e3f9) |
| 12:37:07 | × | euleritian quits (~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 12:37:42 | → | euleritian joins (~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) |
| 12:51:36 | → | weary-traveler joins (~user@user/user363627) |
| 12:53:59 | → | ttybitnik joins (~ttybitnik@user/wolper) |
| 12:56:38 | → | gorignak joins (~gorignak@user/gorignak) |
| 13:00:17 | → | comerijn joins (~merijn@77.242.116.146) |
| 13:02:54 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds) |
| 13:03:46 | <mauke> | yin: I had a prototype implementation for Perl, but they didn't like my suggested f($x)($y) calling syntax :-( |
| 13:12:54 | → | j1n37- joins (~j1n37@user/j1n37) |
| 13:13:29 | × | j1n37 quits (~j1n37@user/j1n37) (Ping timeout: 268 seconds) |
| 13:15:28 | × | AlexZenon quits (~alzenon@5.139.233.9) (Ping timeout: 265 seconds) |
| 13:17:03 | <lortabac> | I've just discovered that UTCTime doesn't enforce any invariant on the number of seconds in a day |
| 13:18:03 | <lortabac> | you can do for example (UTCTime date (secondsToDiffTime 1000000)) and it will gladly accept it |
| 13:18:18 | <lortabac> | and then it shows it as 2025-05-06 23:59:913660 UTC |
| 13:18:47 | <tomsmeding> | I mean, how can a data type enforce invariants |
| 13:19:06 | <lortabac> | by providing a smart constructor |
| 13:19:46 | <lortabac> | I don't know, it seems strange to me that you are allowed to create such a date |
| 13:20:02 | → | AlexZenon joins (~alzenon@5.139.233.9) |
| 13:20:49 | <tomsmeding> | you could (n `addUTCTime` UTCTime date 0) |
| 13:21:14 | <tomsmeding> | if wrapping is the behaviour that you want |
| 13:22:34 | <lortabac> | I already have a solution for my specific problem. I'm mostly wondering whether this is a good API for time |
| 13:23:04 | <lortabac> | and how an impossible date would behave in various scenarios and conversions |
| 13:23:24 | <tomsmeding> | 'time' itself seems to use utcTimeToPosixSeconds a lot |
| 13:23:50 | <tomsmeding> | but yeah, I agree that a smart constructor that implements wrapping behaviour would have been neater |
| 13:26:54 | <yin> | lortabac: the UTC standart itself does not enforce it |
| 13:27:04 | <lortabac> | if I do (posixSecondsToUTCTime $ utcTimeToPOSIXSeconds impossibleTime) it gives me the next day at 00:00:00 |
| 13:27:59 | <yin> | lortabac: *standard. meaning if the future it's possible for us to add an arbitrary number of seconds to a day. we routinely have leap seconds |
| 13:28:21 | <lortabac> | yin: right, it makes sense |
| 13:28:38 | <lortabac> | still, utcTimeToPOSIXSeconds seems to enforce a limit |
| 13:29:25 | <lortabac> | I wonder if it handles leap seconds correctly |
| 13:30:11 | <lortabac> | posixDayLength is hard-coded as 86400 seconds |
| 13:30:25 | × | j1n37- quits (~j1n37@user/j1n37) (Ping timeout: 276 seconds) |
| 13:30:43 | <yin> | 100000 seconds is just about 11 days and a half. we've famously skipped 10 days in 1582 :) |
| 13:31:05 | → | j1n37 joins (~j1n37@user/j1n37) |
| 13:31:25 | <lortabac> | :) |
| 13:31:26 | <yin> | or 11 days in 1752 |
| 13:31:51 | <yin> | for the british empire |
| 13:32:33 | <tomsmeding> | lortabac: UTC does not include leap seconds |
| 13:32:40 | <tomsmeding> | uh |
| 13:32:42 | <tomsmeding> | that makes no sense |
| 13:32:47 | <tomsmeding> | a posix timestamp does not include leap seconds, there, that does |
| 13:33:32 | <tomsmeding> | that means that conversion between UTC time and a POSIX timestamp does not need to care about leap seconds |
| 13:33:43 | <df> | I thought it was TAI that didn't include leap seconds |
| 13:34:06 | <df> | but I've no idea which one posix timestamps are based on |
| 13:34:24 | <tomsmeding> | iirc TAI just trudges on, regardless of what we pesky humans do with calendars and leap seconds |
| 13:34:43 | <tomsmeding> | whereas UTC actually intends to match what humans do, so when there's a leap second, you have two seconds with the same UTC time |
| 13:34:53 | <tomsmeding> | (after wrapping, perhaps) |
| 13:35:03 | <tomsmeding> | POSIX timestamps match UTC |
| 13:35:19 | <yin> | tomsmeding: that's not true |
| 13:35:30 | <yin> | no 2 seconds have the same timestamp in UTC |
| 13:35:35 | tomsmeding | should probably have looked things up |
| 13:35:42 | <df> | tbh I'm not sure if posix has been updated to be 64 bit |
| 13:36:04 | <tomsmeding> | yin: so what happens at a leap second, do you get :60 in the UTC time? |
| 13:36:16 | <yin> | yes |
| 13:36:29 | <tomsmeding> | https://en.wikipedia.org/wiki/Leap_second#Binary_representation |
| 13:36:40 | <lortabac> | so in this sense UTCTime is right in not wrapping |
| 13:36:43 | <tomsmeding> | yin: fair correction, but does not change my conclusion |
| 13:36:52 | <lortabac> | but then utcTimeToPosixSeconds is wrong |
| 13:37:13 | × | CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 265 seconds) |
| 13:37:41 | <yin> | hence my comments about how the permissive UTCTime implementation makes sense |
| 13:38:01 | <tomsmeding> | lortabac: POSIX does not count leap seconds, so as long as you only use the additional freedom in UTCTime to set the seconds field to 60 in case of a leap second, utcTimeToPosixSeconds is actually correct |
| 13:38:18 | <yin> | lortabac: Posix time does not account for leap seconds |
| 13:38:27 | <yin> | exactly |
| 13:38:41 | <tomsmeding> | if you set the seconds field to some other value then you're inputting a non-existent UTC time, and utcTimeToPosixSeconds... something |
| 13:38:52 | <tomsmeding> | s/something/does something/ |
| 13:39:40 | <tomsmeding> | though this means that utcTimeToPosixSeconds is apparently (according to wikipedia) inconsistent with Linux: > Some computer operating systems, in particular Linux, assign to the leap second the counter value of the preceding, 23:59:59 second (59–59–0 sequence) |
| 13:40:01 | <tomsmeding> | (see the link I just posted) |
| 13:40:48 | <yin> | sometimes i wonder how useful this time thing we invented really is |
| 13:40:56 | <lortabac> | utcTimeToPosixSeconds uses the 59–0–0 sequence |
| 13:43:02 | <lortabac> | maybe it would be simpler to have N months of fixed length + a final month that ends when the solar year ends |
| 13:43:20 | <yin> | this is actually a question i like to ask people. how important do you feel, in a profession setting, synchronoyus communication is? |
| 13:44:00 | <tomsmeding> | it's important to have it available -- some things are best discussed synchronously |
| 13:44:13 | <lortabac> | sometimes it's important |
| 13:45:59 | <yin> | i get from "it's so unprofessional when i try to call a colleague at 9:01 and they don't answer because they're late" to "i don't answer phones at work and it's rude to interrupt other people's flow because whatever you need from me, you can ask it in an email" |
| 13:47:33 | <lortabac> | regarding phone, I just never answer :) |
| 13:48:32 | <lortabac> | but for example in case of an incident I set up a war room to discuss synchronously, because time matters in that case |
| 13:48:59 | <yin> | tomsmeding: i agree. but then you can arrange for a meeting "when the sun hits the sidewalk" or some universal time that doesn't have to be this mess |
| 13:49:39 | <haskellbridge> | <maerwald> if you work with other engineers on the same thing, you better have synchronous ad-hoc communication |
| 13:51:05 | <haskellbridge> | <maerwald> what I don't like is when people don't reply to my PR comments, unless I call them on facetime or whatever... stop being lazy |
| 13:51:09 | <yin> | haskellbridge: maerwald: github does a good enough job at getting around that |
| 13:51:21 | <haskellbridge> | <maerwald> no |
| 13:51:51 | <yin> | did i just ping haskellbridge? :p |
| 13:51:57 | × | euleritian quits (~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) (Ping timeout: 276 seconds) |
| 13:51:59 | <haskellbridge> | <maerwald> pair programming, brainstorming together, etc. does not work on github |
| 13:52:07 | → | euleritian joins (~euleritia@dynamic-176-006-138-148.176.6.pool.telefonica.de) |
| 13:52:27 | <yin> | true |
| 13:52:41 | <tomsmeding> | yin: I never connected messy UTC time to synchronous communication :p |
| 13:52:59 | <tomsmeding> | and in any case, if there is a connection, it's between messy time and _planning_ |
| 13:53:06 | <tomsmeding> | the communication itself is separate |
| 13:53:18 | tomsmeding | will be afk for a while |
| 13:53:32 | <haskellbridge> | <maerwald> but collaboration in professional setting is mostly dead... people always get pieces of work that they can implement independently and then every team member gets their epics and your grind on your own without any real design or code collaboration |
| 13:53:42 | <haskellbridge> | <maerwald> programming is boring this way |
| 13:54:02 | <yin> | tomsmeding: oh i mean "time" in general |
| 13:54:52 | <yin> | like the need for two people to independently agree on "what time it is now" |
| 13:55:12 | <yin> | messy UTC is just a result of that |
| 13:56:39 | <yin> | maerwald: i have come to accept that programming is boring any way |
| 13:57:30 | <haskellbridge> | <maerwald> time for a career change |
| 13:57:58 | <yin> | there's that concept again |
| 13:58:25 | <haskellbridge> | <maerwald> you can become an LLM input engineer |
| 13:58:32 | <df> | yin: easily solved, I looked up the time earlier and wrote it down |
| 13:58:59 | <df> | it's 11:27:23 AM |
| 14:00:24 | <yin> | df: ok i wrote it down too |
| 14:00:46 | <df> | ok, so we're sychronised, problem solved ;) |
| 14:00:49 | <yin> | i'm also telling all my contacts |
| 14:01:01 | <yin> | wait |
| 14:01:03 | → | danza joins (~danza@user/danza) |
| 14:01:20 | <yin> | done. they also wrote it down and will spread the word |
| 14:01:30 | <yin> | we'll all be on the same time... soon |
| 14:02:03 | × | danza quits (~danza@user/danza) (Remote host closed the connection) |
| 14:02:08 | <df> | good work, we can synchronise the entire world if we try |
| 14:02:13 | <df> | time is an illusion anyway |
| 14:05:09 | <yin> | won't we miss async communication though? oh no what have we done? |
| 14:05:47 | <df> | ... c'mon, somebody's gotta complete the douglas adams quote |
| 14:06:16 | × | hughjfchen quits (~hughjfche@vmi2417424.contaboserver.net) (Ping timeout: 244 seconds) |
| 14:07:08 | × | comerijn quits (~merijn@77.242.116.146) (Read error: Connection reset by peer) |
| 14:07:26 | → | merijn joins (~merijn@77.242.116.146) |
| 14:07:33 | → | hughjfchen joins (~hughjfche@vmi2417424.contaboserver.net) |
| 14:08:15 | <df> | yin: made life easier for a bunch of programmers? ordering events might be tricky though, I admit |
| 14:08:25 | <yin> | "quickly, there's no time!" |
| 14:08:25 | <yin> | wait no, that was Doc Brown |
| 14:09:08 | <df> | but time has never been very reliable for that anyway, that's why we invented vector clocks etc |
| 14:16:10 | × | euleritian quits (~euleritia@dynamic-176-006-138-148.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 14:16:27 | → | euleritian joins (~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) |
| 14:19:43 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 14:25:06 | × | ColinRobinson quits (~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org)) |
| 14:32:54 | × | tromp quits (~textual@2001:1c00:3487:1b00:cdc3:f42b:30fc:1c61) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 14:40:37 | × | fp quits (~Thunderbi@2001:708:20:1406::10c5) (Ping timeout: 276 seconds) |
| 14:54:01 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 244 seconds) |
| 14:55:59 | × | ttybitnik quits (~ttybitnik@user/wolper) (Quit: Fading out...) |
| 15:04:44 | → | tromp joins (~textual@2001:1c00:3487:1b00:cdc3:f42b:30fc:1c61) |
| 15:06:41 | → | connrs joins (~connrs@user/connrs) |
| 15:11:16 | <haskellbridge> | <Liamzee> things that happen to you in life: |
| 15:11:50 | <haskellbridge> | <Liamzee> "When you realize that Gabriella Gonzalez's haskellforall.com blog is actually a pun on explicit universal quantification" |
| 15:13:01 | <haskellbridge> | <Liamzee> had a disaster with LLM just now, I was looking for Haskell-themed website names, oriented around the arrow from the initial object |
| 15:13:47 | <haskellbridge> | <Liamzee> Claude and Deepseek convinced me and each other that Zeromorph was a good name, when it refers to a constant and co-constant morphism. facepalm |
| 15:17:43 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 15:22:00 | <haskellbridge> | <Liamzee> dotmorphism is okay? |
| 15:22:00 | × | euleritian quits (~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 15:22:49 | → | euleritian joins (~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) |
| 15:27:08 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.5.2) |
| 15:32:12 | → | lbseale joins (~quassel@user/ep1ctetus) |
| 15:32:12 | × | tv quits (~tv@user/tv) (Read error: Connection reset by peer) |
| 15:32:45 | → | jespada_ joins (~jespada@r179-24-30-150.dialup.adsl.anteldata.net.uy) |
| 15:33:14 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 15:35:12 | × | jespada quits (~jespada@r179-25-149-142.dialup.adsl.anteldata.net.uy) (Ping timeout: 252 seconds) |
| 15:45:42 | × | chele_ quits (~chele@user/chele) (Ping timeout: 276 seconds) |
| 15:49:27 | × | adamCS quits (~adamCS@70.19.85.77) (Remote host closed the connection) |
| 15:50:56 | → | adamCS joins (~adamCS@70.19.85.77) |
| 15:54:35 | × | acidjnk quits (~acidjnk@p200300d6e71c4f530114fa8f2e8a4c12.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 15:59:37 | × | ubert quits (~Thunderbi@2a02:8109:ab8a:5a00:70a8:360f:569f:e3f9) (Quit: ubert) |
| 16:21:08 | × | tromp quits (~textual@2001:1c00:3487:1b00:cdc3:f42b:30fc:1c61) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 16:23:37 | → | tromp joins (~textual@2001:1c00:3487:1b00:cdc3:f42b:30fc:1c61) |
| 16:24:39 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 268 seconds) |
| 16:31:58 | × | tabaqui quits (~tabaqui@167.71.80.236) (Ping timeout: 252 seconds) |
| 16:45:23 | <ski> | yin : fwiw, Haskell does not "feature automatic currying" |
| 16:46:04 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 16:46:49 | × | rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
| 16:47:01 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 16:47:04 | × | werneta quits (~werneta@syn-071-083-160-242.res.spectrum.com) (Ping timeout: 252 seconds) |
| 16:47:30 | → | rvalue joins (~rvalue@user/rvalue) |
| 16:49:56 | <int-e> | heh but maybe you could make the argument that the "S" in "STG" is a form of automatic uncurrying |
| 16:51:10 | → | machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net) |
| 16:51:12 | <int-e> | (Though that's GHC territory, not Haskell per se.) |
| 16:56:49 | <EvanR> | currying ... the implementation of multi-argument functions as nested single argument functions. Haskell only has single argument functions then GHC can take the liberty of implementing them as multiargument functions. The exact opposite! |
| 17:08:20 | × | euleritian quits (~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 17:08:39 | → | euleritian joins (~euleritia@dynamic-176-006-138-148.176.6.pool.telefonica.de) |
| 17:08:44 | JuanDaugherty | is now known as ColinRobinson |
| 17:10:56 | → | thelounge9847 joins (~thelounge@host-176-38-28-247.b026.la.net.ua) |
| 17:11:55 | <int-e> | EvanR: exactly |
| 17:13:26 | → | acidjnk joins (~acidjnk@p200300d6e71c4f5301468c1cc0256076.dip0.t-ipconnect.de) |
| 17:15:09 | → | ttybitnik joins (~ttybitnik@user/wolper) |
| 17:15:33 | × | thelounge9847 quits (~thelounge@host-176-38-28-247.b026.la.net.ua) (Quit: The Lounge - https://thelounge.chat) |
| 17:16:21 | → | amadaluzia joins (~amadaluzi@user/amadaluzia) |
| 17:18:51 | × | ColinRobinson quits (~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org)) |
| 17:19:12 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 17:23:44 | × | sajenim quits (~sajenim@user/sajenim) (Ping timeout: 252 seconds) |
| 17:24:25 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 17:25:48 | → | Guest708 joins (~John@host-176-38-28-247.b026.la.net.ua) |
| 17:27:09 | <c_wraith> | huh. Ok, having learned how BangPatterns works in let/where bindings, I actually like it a lot better than I do in function heads |
| 17:27:39 | <c_wraith> | I probably should have learned this 10 years ago. Or more. |
| 17:28:06 | <tomsmeding> | what's the revelation? |
| 17:30:27 | <c_wraith> | that compilation inserts calls to seq for each !. ie, let !foo = bar in baz is equivalent to let foo = bar in foo `seq` baz |
| 17:31:39 | <tomsmeding> | and bangs in function heads interact with pattern matching, right? |
| 17:31:40 | → | tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
| 17:31:44 | <c_wraith> | yeah |
| 17:31:59 | <tomsmeding> | at least the pattern converage checker explicitly deals with them |
| 17:32:50 | <c_wraith> | My issue with the use in function heads is that usually it's happening a step too late. Like, I'd rather ensure I'm passing a value that's already evaluated than making sure it's evaluated when the function examines it |
| 17:33:19 | × | Guest708 quits (~John@host-176-38-28-247.b026.la.net.ua) (Quit: Leaving) |
| 17:33:33 | tomsmeding | feels that's connected more to programming style than language semantics |
| 17:33:40 | × | krei-se- quits (~krei-se@p200300f1cfff35bada9ef3fffe7fdac8.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 17:33:58 | <c_wraith> | It's mostly about making things easy for the compiler |
| 17:34:14 | <c_wraith> | Don't require it to get strictness analysis correct, just do it correctly yourself |
| 17:34:30 | <c_wraith> | It makes your code much more resilient to compiler heuristic changes |
| 17:35:01 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 17:35:52 | → | bdmg_ joins (~myJebba@177.138.161.234) |
| 17:36:54 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 17:37:09 | <c_wraith> | (though the compiler *does* still need to get the evaluation order correct with seq, and sometimes it doesn't) |
| 17:40:05 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 17:41:46 | × | tromp quits (~textual@2001:1c00:3487:1b00:cdc3:f42b:30fc:1c61) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:46:19 | <haskellbridge> | <yin> ski: fair |
| 17:50:47 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 17:51:33 | → | krei-se joins (~krei-se@p200300f1cfff12b8da9ef3fffe7fdac8.dip0.t-ipconnect.de) |
| 17:52:24 | → | e69a756 joins (~e69a756@user/e69a756) |
| 17:54:34 | → | econo_ joins (uid147250@id-147250.tinside.irccloud.com) |
| 17:55:06 | → | jmcantrell joins (~weechat@user/jmcantrell) |
| 17:57:52 | → | tromp joins (~textual@2001:1c00:3487:1b00:cdc3:f42b:30fc:1c61) |
| 17:57:58 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 18:02:28 | ← | e69a756 parts (~e69a756@user/e69a756) () |
| 18:08:49 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 18:12:32 | → | prdak joins (~Thunderbi@user/prdak) |
| 18:12:34 | × | euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.) |
| 18:13:36 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 18:16:32 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 18:17:16 | × | prdak quits (~Thunderbi@user/prdak) (Ping timeout: 252 seconds) |
| 18:20:30 | → | Sorevian joins (~Sorevian@2a01:4b00:869f:4100:3142:dca3:9a6b:93c3) |
| 18:20:36 | × | Sorevian quits (~Sorevian@2a01:4b00:869f:4100:3142:dca3:9a6b:93c3) (Client Quit) |
| 18:20:47 | → | Sorevian joins (~Sorevian@2a01:4b00:869f:4100:3142:dca3:9a6b:93c3) |
| 18:21:30 | → | euphores joins (~SASL_euph@user/euphores) |
| 18:21:36 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 18:26:25 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 18:26:26 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds) |
| 18:29:34 | × | euleritian quits (~euleritia@dynamic-176-006-138-148.176.6.pool.telefonica.de) (Ping timeout: 260 seconds) |
| 18:31:05 | → | euleritian joins (~euleritia@dynamic-176-006-136-107.176.6.pool.telefonica.de) |
| 18:37:26 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 18:42:47 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 18:47:59 | × | euleritian quits (~euleritia@dynamic-176-006-136-107.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 18:48:17 | → | euleritian joins (~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) |
| 18:49:34 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 268 seconds) |
| 18:53:12 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 18:58:16 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 19:00:02 | × | caconym7 quits (~caconym@user/caconym) (Quit: bye) |
| 19:00:41 | → | caconym7 joins (~caconym@user/caconym) |
| 19:06:38 | × | bdmg_ quits (~myJebba@177.138.161.234) (Read error: Connection reset by peer) |
| 19:08:58 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 19:11:04 | → | tabaqui joins (~tabaqui@167.71.80.236) |
| 19:16:37 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 19:17:31 | × | shr\ke quits (~shrike@user/shrke:31298) (Ping timeout: 276 seconds) |
| 19:20:46 | → | amadaluzia_ joins (~amadaluzi@user/amadaluzia) |
| 19:21:06 | → | emmanuelux joins (~emmanuelu@user/emmanuelux) |
| 19:21:32 | → | shr\ke joins (~shrike@user/paxhumana) |
| 19:21:32 | × | shr\ke quits (~shrike@user/paxhumana) (Changing host) |
| 19:21:32 | → | shr\ke joins (~shrike@user/shrke:31298) |
| 19:24:17 | → | sprotte24 joins (~sprotte24@p200300d16f36aa00202cf2be69d2c7e4.dip0.t-ipconnect.de) |
| 19:25:22 | × | amadaluzia_ quits (~amadaluzi@user/amadaluzia) (Ping timeout: 272 seconds) |
| 19:28:05 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 19:33:12 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 19:35:45 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 19:36:29 | → | mistivia_ joins (~mistivia@user/mistivia) |
| 19:36:49 | × | mistivia quits (~mistivia@user/mistivia) (Ping timeout: 252 seconds) |
| 19:38:42 | × | Sorevian quits (~Sorevian@2a01:4b00:869f:4100:3142:dca3:9a6b:93c3) (Quit: Client closed) |
| 19:39:51 | → | Sorevian joins (~Sorevian@2a01:4b00:869f:4100:3142:dca3:9a6b:93c3) |
| 19:42:29 | × | Sorevian quits (~Sorevian@2a01:4b00:869f:4100:3142:dca3:9a6b:93c3) (Client Quit) |
| 19:43:52 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 19:44:16 | → | Sorevian joins (~Sorevian@2a01:4b00:869f:4100:3142:dca3:9a6b:93c3) |
| 19:47:06 | × | euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.) |
| 19:48:31 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 19:50:41 | → | rvalue- joins (~rvalue@user/rvalue) |
| 19:51:30 | × | rvalue quits (~rvalue@user/rvalue) (Ping timeout: 252 seconds) |
| 19:54:55 | → | euphores joins (~SASL_euph@user/euphores) |
| 19:59:24 | rvalue- | is now known as rvalue |
| 19:59:35 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 20:04:38 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 20:06:47 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 20:07:46 | → | target_i joins (~target_i@user/target-i/x-6023099) |
| 20:08:06 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Client Quit) |
| 20:08:26 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 20:15:23 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 20:18:06 | → | machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net) |
| 20:19:37 | → | pavonia joins (~user@user/siracusa) |
| 20:20:50 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 20:22:50 | × | EvanR quits (~EvanR@user/evanr) (Quit: Leaving) |
| 20:26:02 | → | EvanR joins (~EvanR@user/evanr) |
| 20:29:05 | → | tv joins (~tv@user/tv) |
| 20:31:11 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 20:32:47 | <hellwolf> | is there any relation between "IO (a -> b)" and "a -> IO b" in any way? |
| 20:33:04 | <davean> | hellwolf: No really. |
| 20:33:41 | <davean> | hellwolf: There is SOME connection of course - there is some connection between any two types - And there can be a way to transform the first into the second. What are you looking for? |
| 20:33:55 | <davean> | I don't think there is any place you'd have to sensibly choose between them for example. |
| 20:33:57 | <hellwolf> | fmap (\f -> f a) (something :: IO (a -> b))? |
| 20:34:13 | <hellwolf> | but converse probably doesn't work |
| 20:34:43 | <davean> | Oh conversion works, it just doesn't do anytihng I'd ever expect to be sensible |
| 20:35:32 | <hellwolf> | I have a -> m b, but my type needs m (a -> b) |
| 20:35:51 | <davean> | well that you can convert. |
| 20:35:52 | <davean> | er |
| 20:35:54 | <davean> | sorryu |
| 20:35:57 | <davean> | Thats not what I meant to say |
| 20:36:06 | <davean> | Thats NOT something you can convert |
| 20:36:16 | <davean> | Not unless you enumerate all As |
| 20:36:20 | <davean> | *all 'a's |
| 20:37:54 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 20:38:10 | <davean> | The conversion only makes sense in the other direction |
| 20:38:13 | <EvanR> | do the two types be construed as being some kind of modal logic |
| 20:38:40 | <EvanR> | a -> m b, m (a -> b) |
| 20:38:54 | <int-e> | :t readFile |
| 20:38:54 | <EvanR> | if so maybe there is a logical connection between them |
| 20:38:55 | <lambdabot> | FilePath -> IO String |
| 20:39:20 | <int-e> | (trying to squeeze that safely into IO (FilePath -> String) is obviously not possible) |
| 20:39:37 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 20:39:39 | <int-e> | (short of reading all conceivable files which would be insane) |
| 20:39:50 | <EvanR> | bingo |
| 20:39:57 | <EvanR> | that's what it does |
| 20:40:04 | <davean> | but concievable. Actually its not that insane, I've actually done that using the filesystem directly on a transactional FS |
| 20:40:22 | <davean> | Reading a stream of transactions to keep it updated. |
| 20:40:51 | <davean> | Also do that regularly with git backing it, feed both into the head of a Reflex network. |
| 20:41:26 | <davean> | the filesystem version is for live edits |
| 20:41:27 | <hellwolf> | if m is a contravariant maybe; but that's not my case, m is just a regular functor/monad. |
| 20:41:39 | <int-e> | those are restricted scenarios compared to reading an arbitrary text file |
| 20:42:01 | <davean> | int-e: sorta, I mean it just changes the root to / |
| 20:42:11 | <davean> | which is ... fine? |
| 20:42:17 | <davean> | Large though |
| 20:42:26 | <EvanR> | I found the forms https://en.wikipedia.org/wiki/Modal_logic#Intuitive_problems_with_deontic_logic |
| 20:42:39 | <hellwolf> | so, I guess I can say that type system is telling me off, I must obey. Who needs dependency types. |
| 20:42:45 | <davean> | but this is why I said the conversion only really works in one direction |
| 20:42:59 | <davean> | hellwolf: or you're wrong about what the API is capible of |
| 20:43:13 | <davean> | hellwolf: It could be telling you off, or it could be telling you you're wrong. |
| 20:43:20 | <hellwolf> | I hope I am, I am doing the API. |
| 20:43:35 | <hellwolf> | I am juggling balls. |
| 20:46:51 | × | krei-se quits (~krei-se@p200300f1cfff12b8da9ef3fffe7fdac8.dip0.t-ipconnect.de) (Quit: ZNC 1.9.1 - https://znc.in) |
| 20:47:39 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Quit: ljdarj) |
| 20:49:13 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 20:54:13 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 20:58:35 | → | j1n37- joins (~j1n37@user/j1n37) |
| 20:58:46 | → | krei-se joins (~krei-se@p50829f98.dip0.t-ipconnect.de) |
| 20:59:05 | × | amadaluzia quits (~amadaluzi@user/amadaluzia) (Ping timeout: 244 seconds) |
| 20:59:29 | × | j1n37 quits (~j1n37@user/j1n37) (Ping timeout: 260 seconds) |
| 20:59:33 | → | amadaluzia joins (~amadaluzi@user/amadaluzia) |
| 21:01:11 | <hellwolf> | that deontic logic reference is a rabbit hole... |
| 21:01:20 | <hellwolf> | not sure how it's related, but the shape does look the same. |
| 21:01:53 | <hellwolf> | As a straw man category theorists would likely to say, it may be an example of some category. |
| 21:04:43 | <geekosaur> | I'm confused. looks to me like you're trying to shove a Monad into an Applicative-shaped hole |
| 21:05:10 | × | takuan quits (~takuan@d8D86B601.access.telenet.be) (Remote host closed the connection) |
| 21:05:17 | × | Sorevian quits (~Sorevian@2a01:4b00:869f:4100:3142:dca3:9a6b:93c3) (Quit: Client closed) |
| 21:06:12 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 21:08:41 | <tomsmeding> | hellwolf: if you end up needing to shove an `a -> IO b` in an `IO (a -> b)`-shaped hole, then you either need to make the effects in the function you have in hand independent of its `a` input, or, if that cannot be done, change the type of the hole |
| 21:09:16 | <tomsmeding> | while this was kind of already said by other people above, I just wanted to summarise :p |
| 21:09:38 | <EvanR> | ok what if you go the other way |
| 21:09:53 | <EvanR> | is it a free forgetful situation xD |
| 21:10:07 | <tomsmeding> | EvanR: you have an `IO (a -> b)` and you need to shove it into an `a -> IO b`-shaped hole? |
| 21:10:12 | <EvanR> | yeah |
| 21:10:27 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 21:10:35 | <EvanR> | going the first way you're restricted in the kind of effects you can do |
| 21:10:40 | → | j1n37 joins (~j1n37@user/j1n37) |
| 21:10:51 | <tomsmeding> | if you're in an IO context, you can `\mf -> do f <- mf; return (pure . f)` |
| 21:10:58 | <tomsmeding> | if you're not, then it doesn't work |
| 21:11:04 | × | j1n37- quits (~j1n37@user/j1n37) (Ping timeout: 252 seconds) |
| 21:11:31 | <tomsmeding> | or you would duplicate the effects, which is in general not what you want (but it may be acceptable in some specific circumstances) |
| 21:12:00 | <tomsmeding> | so as was said already, neither direction is something you can always do :p |
| 21:12:08 | <EvanR> | right |
| 21:12:20 | <EvanR> | though what you CAN do ... is kind of hard to determine without defined IO |
| 21:13:52 | <monochrom> | I guess [a->b] -> a->[b] shows the problem, or at least why you must sacrifice something. |
| 21:14:29 | × | amadaluzia quits (~amadaluzi@user/amadaluzia) (Ping timeout: 248 seconds) |
| 21:14:30 | <tomsmeding> | the `IO (FilePath -> String)` example also illustrated it quite well, I think |
| 21:14:37 | <tomsmeding> | ("that's not readFile") |
| 21:15:02 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 21:17:04 | <tomsmeding> | monochrom: actually, your function is quite okay |
| 21:17:07 | <tomsmeding> | :t (.) <$> flip map <*> const (flip id) |
| 21:17:08 | <lambdabot> | [a -> b] -> a -> [b] |
| 21:17:23 | × | Moyst quits (~moyst@user/moyst) (Ping timeout: 244 seconds) |
| 21:17:25 | <monochrom> | I am now trying to reconcile that with how sometimes we say that Monad is an upgrade of Applicative by upgrading M (a -> b) -> M a -> M b to (a -> M b) -> M a -> M b. |
| 21:17:26 | <tomsmeding> | (clearly this is better than |
| 21:17:27 | <tomsmeding> | :t \l x -> map ($ x) l |
| 21:17:28 | <lambdabot> | [a -> b] -> a -> [b] |
| 21:17:42 | <tomsmeding> | ... oh, in my local ghci the latter version had differently-named type variables) |
| 21:19:04 | <tomsmeding> | monochrom: if you are already in an M context, then you can convert easily from M (a -> b) to a -> M b; to use your types, you are indeed in an M context |
| 21:20:19 | → | Moyst joins (~moyst@user/moyst) |
| 21:20:42 | <tomsmeding> | being in an M context does not help for going the other way |
| 21:21:02 | <tomsmeding> | hence if you could use (<*>), you can also use (>>=); but if you were using (>>=), you can't necessarily use (<*>) instead |
| 21:21:12 | <tomsmeding> | it's consistent. :) |
| 21:21:19 | <monochrom> | Right, cannot convert <*> to >>= |
| 21:21:32 | <tomsmeding> | (the other way round) |
| 21:21:38 | <tomsmeding> | oh |
| 21:21:40 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 21:21:40 | <tomsmeding> | sure |
| 21:21:44 | <monochrom> | >:) |
| 21:22:00 | <tomsmeding> | cannot convert <*> to >>=, and cannot convert users of >>= to users of <*> |
| 21:22:06 | <tomsmeding> | stupid dualities |
| 21:22:25 | <tomsmeding> | "cannot implement >>= using <*>" is clearer, IMO |
| 21:23:08 | × | tromp quits (~textual@2001:1c00:3487:1b00:cdc3:f42b:30fc:1c61) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:23:37 | <monochrom> | Was just talking with a friend who teaches computability and NP-completeness, so let me close with "cannot reduce >>= to <*>" for extra confusion! |
| 21:24:24 | → | tromp joins (~textual@2001:1c00:3487:1b00:cdc3:f42b:30fc:1c61) |
| 21:24:34 | tomsmeding | is off to bed, that's enough |
| 21:26:48 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 21:27:53 | <hellwolf> | wow, you guys are fast. |
| 21:28:24 | <hellwolf> | fwiw, I used IO just to make it clear it was a monad; but it's actually a State or just a m. |
| 21:28:41 | <hellwolf> | But related to the quest, but not the same problem. I made something type-check, but not sure what I am doing completely. maybe I shoudl to go to bed too |
| 21:28:50 | <monochrom> | "that escalated quickly" >:) |
| 21:37:12 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 21:37:55 | → | Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
| 21:38:30 | → | amadaluzia joins (~amadaluzi@user/amadaluzia) |
| 21:40:40 | → | fantom joins (~fantom@33be818f.skybroadband.com) |
| 21:41:58 | × | a_fantom quits (~fantom@33be818f.skybroadband.com) (Ping timeout: 244 seconds) |
| 21:42:11 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 21:46:39 | → | MariaRira39 joins (~MariaRira@host-79-43-27-181.retail.telecomitalia.it) |
| 21:48:43 | × | MariaRira39 quits (~MariaRira@host-79-43-27-181.retail.telecomitalia.it) (Client Quit) |
| 21:52:59 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 21:57:57 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 21:59:10 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 22:08:46 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 22:10:21 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 22:11:04 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 276 seconds) |
| 22:13:46 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 22:16:31 | → | prdak joins (~Thunderbi@user/prdak) |
| 22:20:35 | × | amadaluzia quits (~amadaluzi@user/amadaluzia) (Read error: Connection reset by peer) |
| 22:20:40 | × | prdak quits (~Thunderbi@user/prdak) (Ping timeout: 252 seconds) |
| 22:20:54 | → | amadaluzia joins (~amadaluzi@user/amadaluzia) |
| 22:22:13 | × | tromp quits (~textual@2001:1c00:3487:1b00:cdc3:f42b:30fc:1c61) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:24:17 | → | tromp joins (~textual@2001:1c00:3487:1b00:cdc3:f42b:30fc:1c61) |
| 22:24:33 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 22:25:37 | × | target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 22:29:37 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 22:36:10 | × | tromp quits (~textual@2001:1c00:3487:1b00:cdc3:f42b:30fc:1c61) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:40:21 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 22:42:12 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 264 seconds) |
| 22:42:28 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 22:42:31 | <hellwolf> | https://x.com/deusaquilus/status/1919866616331800614 shots fired at monad; why do people keep coming up with syntax just to hide things? |
| 22:43:22 | hellwolf | looking at the mirror, but feeling content that it's all {-# LANGUAGE ... #-} to blame. |
| 22:43:43 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 22:43:59 | <EvanR> | IO as an example monad might not be wise, at some point someone questioned if it was even a monad xD |
| 22:45:18 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 22:45:43 | <hellwolf> | does it looks like a monad, and quarks like a monad? |
| 22:46:05 | <hellwolf> | (though monad is supposed to be an ugly fish) |
| 22:46:24 | <hellwolf> | there is a crypto bro project called monad. but don't look it up, it might ruin your day. |
| 22:46:45 | hellwolf | feel self-deprecating about being in the crypto again. |
| 22:47:55 | <monochrom> | What is crypto bro? |
| 22:49:40 | <hellwolf> | crypto project that has a bro vibe. |
| 22:50:21 | × | drewr quits (~drew@user/drewr) (Ping timeout: 252 seconds) |
| 22:52:31 | → | sayurc joins (~sayurc@169.150.203.34) |
| 22:53:47 | <monochrom> | You know, I agree with that post, and take it to its logical conclusion: Just write SQL itself, it is literally 100% better than any encoding of SQL. |
| 22:55:16 | × | gentauro quits (~gentauro@user/gentauro) (Ping timeout: 276 seconds) |
| 22:55:17 | → | Lears joins (~Leary@user/Leary/x-0910699) |
| 22:56:09 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 22:57:04 | → | mistivia joins (~mistivia@user/mistivia) |
| 22:57:35 | × | mistivia_ quits (~mistivia@user/mistivia) (Read error: Connection reset by peer) |
| 22:57:41 | <haskellbridge> | <Liamzee> you still need to deserialize the return types |
| 22:58:28 | × | Leary quits (~Leary@user/Leary/x-0910699) (Read error: Connection reset by peer) |
| 22:58:52 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
| 22:59:23 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 23:00:36 | <hellwolf> | So, what do you think of quasiquote template haskell based approach? |
| 23:00:40 | <monochrom> | Just for the sake of being the devil's advocate: Why? |
| 23:00:48 | → | Square joins (~Square@user/square) |
| 23:01:01 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 244 seconds) |
| 23:01:04 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 23:01:14 | → | gentauro joins (~gentauro@user/gentauro) |
| 23:01:36 | <hellwolf> | what do you mean? |
| 23:01:50 | <monochrom> | Why do I still need to deserialize the return types. |
| 23:02:15 | <monochrom> | Deserialize to what, and who needs it, and why. |
| 23:02:36 | <haskellbridge> | <Liamzee> to Haskell types, I mean, the result of the query |
| 23:03:01 | × | sprout quits (~sprout@2a02-a448-3a80-0-c61c-b515-5509-58e7.fixed6.kpn.net) (Ping timeout: 268 seconds) |
| 23:03:05 | <monochrom> | Why to Haskell types? Why not get rid of even that Haskell program, for example? |
| 23:03:48 | <haskellbridge> | <Liamzee> too obviously socratic |
| 23:04:01 | <monochrom> | Maybe I should describe one of my use cases. |
| 23:04:34 | → | sprout joins (~sprout@84-80-106-227.fixed.kpn.net) |
| 23:04:56 | <int-e> | You could simply not answer inane "what do you think of" questions that are asked without motivation or other direction or context that would confine the scope of the answer. |
| 23:05:34 | <monochrom> | I have a lot of student marks to process. Various marking platforms give me student marks as CSV. In the past I wrote my own Haskell program with cassava to read, compute, write. But I can see a future where I just use sqlite, in fact even just the sqlite command line. My Haskell program will be obsoleted. |
| 23:06:22 | <monochrom> | Read: My role as a Haskell programmer to maintain that Haskell code is also obsoleted. |
| 23:06:44 | <haskellbridge> | <Liamzee> advantages of such an approach: simplicity. disadvantages of such an approach: how performant is going straight through the database? how safe is using sqlite instead? |
| 23:06:45 | <EvanR> | the grass is always greener |
| 23:06:59 | <haskellbridge> | <Liamzee> If I say "Scanners Live in Vain", would anyone get the reference? |
| 23:07:11 | <EvanR> | I keep all my accounts for self employment in sqlite and then came to same conclusion, why? |
| 23:07:15 | <haskellbridge> | <Liamzee> nope, and that just makes me annoying |
| 23:07:16 | <int-e> | . o O ( meet my haymaker ) |
| 23:07:47 | <EvanR> | some other thing would have been easier since I wouldn't have to maintain it |
| 23:10:12 | → | j1n37- joins (~j1n37@user/j1n37) |
| 23:10:36 | × | shr\ke quits (~shrike@user/shrke:31298) (Ping timeout: 252 seconds) |
| 23:10:41 | × | j1n37 quits (~j1n37@user/j1n37) (Ping timeout: 248 seconds) |
| 23:10:53 | × | sprotte24 quits (~sprotte24@p200300d16f36aa00202cf2be69d2c7e4.dip0.t-ipconnect.de) (Quit: Leaving) |
| 23:11:56 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 23:17:06 | → | bdmg_ joins (~myJebba@177.138.161.234) |
| 23:18:35 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 23:20:41 | → | shr\ke joins (~shrike@user/paxhumana) |
| 23:20:41 | × | shr\ke quits (~shrike@user/paxhumana) (Changing host) |
| 23:20:41 | → | shr\ke joins (~shrike@user/shrke:31298) |
| 23:23:34 | × | Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 23:25:10 | <haskellbridge> | <Liamzee> oh, and to fill out the useless reference, "Scanners Live in Vain" refers to a short story by a US army intelligence guy (who was also a disclosed CIA officer after his death) about a fraternity of space pilots who went grueling and dehumanizing hardship to safely chaperone people across worlds. One day, someone invents a technological workaround that renders their job irrelevant, so they connive to have the guy... |
| 23:25:15 | <haskellbridge> | ... murdered and his project covered up. Of course, it's a pulp science fiction story, so their plot is foiled, but to some extent it seems relevant to modern software development, no? |
| 23:25:50 | <haskellbridge> | <Liamzee> /s/ who went/ who went through/ |
| 23:26:23 | geekosaur | was afk but knew the reference |
| 23:26:35 | <geekosaur> | Vonnegut's first story iirc |
| 23:26:53 | <haskellbridge> | <Liamzee> no, Cordwainer Smith / Paul Linebarger (real name, wrote under pseudonyms due to the nature of his work) |
| 23:27:04 | <geekosaur> | ah, whoops |
| 23:27:15 | <geekosaur> | too many old SF shorts writers |
| 23:29:57 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 23:33:43 | <hellwolf> | question to emacs user again: why haskell-mode does not indent function parameters in new lines? |
| 23:34:03 | <hellwolf> | *in the next line? not sure how to speak english anymore |
| 23:34:26 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 23:34:32 | <hellwolf> | https://paste.tomsmeding.com/vDyxr8yb |
| 23:34:48 | <hellwolf> | I don't find this default indentation experience (using <tab>) is very nice. |
| 23:37:28 | <hellwolf> | just tried out https://ormolu-live.tweag.io to see the difference |
| 23:38:17 | <hellwolf> | hmm, not sure I like ormolu one neither, but certainly looks nicer than mine. |
| 23:42:10 | → | j1n37 joins (~j1n37@user/j1n37) |
| 23:44:02 | × | j1n37- quits (~j1n37@user/j1n37) (Ping timeout: 276 seconds) |
| 23:45:27 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 23:50:12 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 23:54:45 | × | adamCS quits (~adamCS@70.19.85.77) (Ping timeout: 244 seconds) |
| 23:59:18 | <haskellbridge> | <sm> cool SF reference, and speaking of which, I just found this fine story on HN: |
| 23:59:18 | <haskellbridge> | https://standardebooks.org/ebooks/e-m-forster/short-fiction/text/the-machine-stops |
All times are in UTC on 2025-05-06.