Home liberachat/#haskell: Logs Calendar

Logs on 2025-10-30 (liberachat/#haskell)

00:02:16 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:07:12 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
00:10:47 Dhark8 joins (~Shark8@c-174-56-102-109.hsd1.nm.comcast.net)
00:12:15 × Dhark8 quits (~Shark8@c-174-56-102-109.hsd1.nm.comcast.net) (Remote host closed the connection)
00:13:03 Dhark8 joins (~Shark8@c-174-56-102-109.hsd1.nm.comcast.net)
00:13:31 × Shark8 quits (~Shark8@c-174-56-102-109.hsd1.nm.comcast.net) (Ping timeout: 264 seconds)
00:14:45 × Dhark8 quits (~Shark8@c-174-56-102-109.hsd1.nm.comcast.net) (Remote host closed the connection)
00:15:33 Dhark8 joins (~Shark8@c-174-56-102-109.hsd1.nm.comcast.net)
00:17:50 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:19:25 LainIwakura joins (~LainIwaku@user/LainIwakura)
00:22:45 OWS joins (~Shark8@c-174-56-102-109.hsd1.nm.comcast.net)
00:23:04 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
00:24:11 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 250 seconds)
00:25:19 × Dhark8 quits (~Shark8@c-174-56-102-109.hsd1.nm.comcast.net) (Ping timeout: 256 seconds)
00:28:46 pavonia_ joins (~user@user/siracusa)
00:30:28 × Eoco quits (~ian@128.101.131.218) (Remote host closed the connection)
00:30:39 Googulator52 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
00:30:40 × Googulator99 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
00:30:57 Eoco joins (~ian@128.101.131.218)
00:31:35 ft_ joins (~ft@p4fc2aaeb.dip0.t-ipconnect.de)
00:31:46 raym_ joins (~ray@user/raym)
00:32:06 GdeVolpi1 joins (~GdeVolpia@user/GdeVolpiano)
00:32:29 connrs_ joins (~connrs@conners.plus.com)
00:33:37 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:36:37 × pavonia quits (~user@user/siracusa) (*.net *.split)
00:36:37 × haltingsolver quits (~cmo@2604:3d09:207f:8000::d1dc) (*.net *.split)
00:36:37 × simplystuart quits (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (*.net *.split)
00:36:37 × ouilemur quits (~jgmerritt@user/ouilemur) (*.net *.split)
00:36:37 × GdeVolpiano quits (~GdeVolpia@user/GdeVolpiano) (*.net *.split)
00:36:37 × bggd quits (~bgg@2a01:e0a:819:1510:f314:af0a:6c28:12ae) (*.net *.split)
00:36:37 × wbrawner quits (~wbrawner@static.56.224.132.142.clients.your-server.de) (*.net *.split)
00:36:37 × Wbooze quits (~wboozE@2a02:8071:57a1:dc0:188e:cf5c:af12:b243) (*.net *.split)
00:36:37 × ft quits (~ft@p4fc2aaeb.dip0.t-ipconnect.de) (*.net *.split)
00:36:37 × ZLima12 quits (~zlima12@user/meow/ZLima12) (*.net *.split)
00:36:37 × raym quits (~ray@user/raym) (*.net *.split)
00:36:37 × synchromesh quits (~john@2406:5a00:2412:2c00:1168:9cdd:93d7:e6c6) (*.net *.split)
00:36:37 × craunts795335385 quits (~craunts@136.158.7.194) (*.net *.split)
00:36:37 × connrs quits (~connrs@user/connrs) (*.net *.split)
00:36:37 × elenril quits (~elenril@tutturu.khirnov.net) (*.net *.split)
00:36:37 × sp1ff quits (~user@2601:1c2:4c00:6820::8bad) (*.net *.split)
00:36:37 × tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (*.net *.split)
00:36:37 × phma quits (~phma@2605:59c8:6211:ff08:7181:51cb:35db:c6be) (*.net *.split)
00:36:37 × tuxpaint quits (~a@2600:3c06::f03c:93ff:fea6:ef0e) (*.net *.split)
00:36:37 × arahael quits (~wetfoot@user/arahael) (*.net *.split)
00:36:37 × ycp quits (~znc@user/dragestil) (*.net *.split)
00:36:37 × xal_ quits (~xal@mx1.xal.systems) (*.net *.split)
00:36:38 ft_ is now known as ft
00:36:38 connrs_ is now known as connrs
00:37:09 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Remote host closed the connection)
00:37:25 emmanuelux joins (~emmanuelu@user/emmanuelux)
00:37:44 a_fantom joins (~fantom@212.228.181.156)
00:37:45 × OWS quits (~Shark8@c-174-56-102-109.hsd1.nm.comcast.net) (Remote host closed the connection)
00:38:38 OWS joins (~Shark8@c-174-56-102-109.hsd1.nm.comcast.net)
00:38:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
00:38:55 × FANTOM quits (~fantom@212.228.181.156) (Ping timeout: 256 seconds)
00:40:09 Dhark8 joins (~Shark8@c-174-56-102-109.hsd1.nm.comcast.net)
00:41:10 qqe joins (~qqq@185.54.23.200)
00:42:14 simplystuart joins (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net)
00:42:14 haltingsolver joins (~cmo@2604:3d09:207f:8000::d1dc)
00:42:14 ouilemur joins (~jgmerritt@user/ouilemur)
00:42:14 bggd joins (~bgg@2a01:e0a:819:1510:f314:af0a:6c28:12ae)
00:42:14 ZLima12 joins (~zlima12@user/meow/ZLima12)
00:42:14 synchromesh joins (~john@2406:5a00:2412:2c00:1168:9cdd:93d7:e6c6)
00:42:14 elenril joins (~elenril@tutturu.khirnov.net)
00:42:14 sp1ff joins (~user@2601:1c2:4c00:6820::8bad)
00:42:14 tcard joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
00:42:14 phma joins (~phma@2605:59c8:6211:ff08:7181:51cb:35db:c6be)
00:42:14 tuxpaint joins (~a@2600:3c06::f03c:93ff:fea6:ef0e)
00:42:14 arahael joins (~wetfoot@user/arahael)
00:42:14 ycp joins (~znc@user/dragestil)
00:42:14 xal_ joins (~xal@mx1.xal.systems)
00:42:18 × ZLima12 quits (~zlima12@user/meow/ZLima12) (Max SendQ exceeded)
00:42:18 × ouilemur quits (~jgmerritt@user/ouilemur) (Max SendQ exceeded)
00:42:26 ZLima12 joins (~zlima12@user/meow/ZLima12)
00:42:41 ouilemur joins (~jgmerritt@user/ouilemur)
00:43:25 × OWS quits (~Shark8@c-174-56-102-109.hsd1.nm.comcast.net) (Ping timeout: 265 seconds)
00:43:27 wbrawner joins (~wbrawner@static.56.224.132.142.clients.your-server.de)
00:44:35 × Dhark8 quits (~Shark8@c-174-56-102-109.hsd1.nm.comcast.net) (Ping timeout: 256 seconds)
00:44:41 Wbooze joins (~wboozE@2a02:8071:57a1:dc0:3827:9244:6b75:269a)
00:46:18 Guest34 joins (~Guest34@2601:14d:4d7e:8f0:f916:ca93:9bc9:f49f)
00:49:28 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:49:40 × wbrawner quits (~wbrawner@static.56.224.132.142.clients.your-server.de) (Ping timeout: 246 seconds)
00:49:49 wbrawner joins (~wbrawner@static.56.224.132.142.clients.your-server.de)
00:53:07 × aku quits (aku@65.108.245.241) (Quit: Lost terminal)
00:53:28 × GdeVolpi1 quits (~GdeVolpia@user/GdeVolpiano) (Ping timeout: 255 seconds)
00:55:40 × Googulator52 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
00:55:48 Googulator65 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
00:55:58 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
01:00:50 GdeVolpiano joins (~GdeVolpia@user/GdeVolpiano)
01:03:43 × xff0x quits (~xff0x@2405:6580:b080:900:e827:de8b:d736:8bef) (Ping timeout: 265 seconds)
01:03:52 aku joins (aku@65.108.245.241)
01:05:00 × haltingsolver quits (~cmo@2604:3d09:207f:8000::d1dc) (Ping timeout: 256 seconds)
01:06:15 haltingsolver joins (~cmo@2604:3d09:207f:8000::d1dc)
01:07:31 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:11:29 × LainIwakura quits (~LainIwaku@user/LainIwakura) (Ping timeout: 250 seconds)
01:12:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
01:15:38 Googulator12 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
01:15:49 × Googulator65 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
01:17:01 × acidjnk quits (~acidjnk@p200300d6e7171950c80ae7d706fe6efe.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
01:20:31 × otto_s quits (~user@p5b044037.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
01:20:47 Googulator31 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
01:20:47 × Googulator12 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
01:22:18 otto_s joins (~user@p4ff27477.dip0.t-ipconnect.de)
01:23:17 × haltingsolver quits (~cmo@2604:3d09:207f:8000::d1dc) (Ping timeout: 260 seconds)
01:27:04 × qqe quits (~qqq@185.54.23.200) (Remote host closed the connection)
01:30:48 × Googulator31 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
01:31:03 Googulator31 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
01:32:19 × Tuplanolla quits (~Tuplanoll@91-159-187-167.elisa-laajakaista.fi) (Quit: Leaving.)
01:35:33 pavonia_ is now known as pavonia
01:35:39 × Googulator31 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Client Quit)
01:35:43 Googulator59 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
01:37:11 × trickard quits (~trickard@cpe-52-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
01:39:43 trickard_ joins (~trickard@cpe-52-98-47-163.wireline.com.au)
02:02:11 meinside- is now known as meinside
02:07:41 xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
02:08:51 LainIwakura joins (~LainIwaku@user/LainIwakura)
02:10:44 Googulator22 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
02:11:18 × Googulator59 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
02:11:36 × LainIwakura quits (~LainIwaku@user/LainIwakura) (Write error: Broken pipe)
02:30:43 Googulator97 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
02:30:45 × Googulator22 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
02:36:35 × gorignak quits (~gorignak@user/gorignak) (Quit: quit)
02:36:52 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:41:54 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
02:42:37 Shark8 joins (~Shark8@c-174-56-102-109.hsd1.nm.comcast.net)
02:45:40 Googulator60 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
02:45:43 × Googulator97 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
02:52:39 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:57:37 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
03:00:12 gorignak joins (~gorignak@user/gorignak)
03:08:12 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:08:16 × trickard_ quits (~trickard@cpe-52-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
03:08:29 trickard_ joins (~trickard@cpe-52-98-47-163.wireline.com.au)
03:13:31 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
03:16:47 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection timed out)
03:18:53 × rekahsoft quits (~rekahsoft@70.51.99.245) (Remote host closed the connection)
03:20:38 Googulator6 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
03:20:40 × Googulator60 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
03:24:00 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:25:38 × Googulator6 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
03:25:45 Googulator6 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
03:28:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
03:34:28 × Googulator6 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
03:34:45 Googulator6 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
03:39:46 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:41:57 × td_ quits (~td@i53870937.versanet.de) (Ping timeout: 256 seconds)
03:43:27 td_ joins (~td@i53870927.versanet.de)
03:45:37 × Googulator6 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
03:45:38 Googulator37 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
03:46:30 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
03:54:01 annamalai joins (~annamalai@157.32.128.210)
03:57:48 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:00:55 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds)
04:01:11 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
04:02:30 Lord_of_Life_ is now known as Lord_of_Life
04:02:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
04:13:36 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:13:53 Googulator62 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
04:17:03 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
04:17:43 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds)
04:17:45 × trickard_ quits (~trickard@cpe-52-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
04:17:49 × Googulator37 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Ping timeout: 250 seconds)
04:17:58 trickard_ joins (~trickard@cpe-52-98-47-163.wireline.com.au)
04:18:48 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
04:19:21 Lord_of_Life_ is now known as Lord_of_Life
04:19:42 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
04:20:29 × ezzieygu1wuf quits (~Unknown@user/ezzieyguywuf) (Ping timeout: 256 seconds)
04:29:24 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:34:40 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
04:35:08 bgt32 joins (~keutoi@106.222.232.60)
04:36:15 aforemny_ joins (~aforemny@i577B137A.versanet.de)
04:37:31 × aforemny quits (~aforemny@2001:9e8:6cf0:1a00:b20d:95e8:54ba:6338) (Ping timeout: 264 seconds)
04:37:31 × synchromesh quits (~john@2406:5a00:2412:2c00:1168:9cdd:93d7:e6c6) (Read error: Connection reset by peer)
04:38:45 synchromesh joins (~john@2406:5a00:2412:2c00:a151:32b5:2959:c671)
04:45:12 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:49:58 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
04:50:45 × jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 252 seconds)
04:51:59 × Guest34 quits (~Guest34@2601:14d:4d7e:8f0:f916:ca93:9bc9:f49f) (Quit: Client closed)
05:00:59 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:05:50 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
05:07:58 craunts795335385 joins (~craunts@136.158.7.194)
05:11:21 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
05:15:45 Googulator44 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
05:15:45 × Googulator62 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
05:16:47 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:22:23 × Googulator44 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
05:22:39 Googulator44 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
05:22:49 × craunts795335385 quits (~craunts@136.158.7.194) (Ping timeout: 256 seconds)
05:22:50 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
05:25:34 × Googulator44 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Client Quit)
05:25:45 Googulator44 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
05:31:55 Lycurgus joins (~juan@user/Lycurgus)
05:34:20 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:39:19 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
05:50:07 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:54:15 × trickard_ quits (~trickard@cpe-52-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
05:54:29 trickard_ joins (~trickard@cpe-52-98-47-163.wireline.com.au)
05:55:10 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
05:55:43 Googulator69 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
05:55:44 × Googulator44 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
06:03:29 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
06:05:54 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:09:17 × xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 256 seconds)
06:11:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
06:14:13 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:18:56 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
06:21:00 × Googulator69 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
06:21:05 Googulator52 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
06:21:06 xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
06:22:23 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
06:23:42 img joins (~img@user/img)
06:25:42 Googulator98 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
06:25:42 × Googulator52 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Client Quit)
06:29:56 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:36:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
06:37:38 × xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 256 seconds)
06:39:24 xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
06:43:00 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
06:47:25 × trickard_ quits (~trickard@cpe-52-98-47-163.wireline.com.au) (Ping timeout: 264 seconds)
06:47:59 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:48:20 trickard_ joins (~trickard@cpe-52-98-47-163.wireline.com.au)
06:49:15 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
06:50:29 trickard_ is now known as trickard
06:50:45 × Googulator98 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
06:50:52 Googulator98 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
06:52:51 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
06:56:50 Square2 joins (~Square4@user/square)
07:01:20 × jreicher quits (~user@user/jreicher) (Quit: Beer)
07:02:00 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:02:51 peterbecich joins (~Thunderbi@172.222.148.214)
07:07:05 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
07:07:49 × annamalai quits (~annamalai@157.32.128.210) (Ping timeout: 264 seconds)
07:11:04 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 256 seconds)
07:16:20 wootehfoot joins (~wootehfoo@user/wootehfoot)
07:17:46 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:18:30 annamalai joins (~annamalai@2409:4042:2595:bd4d::195e:70b1)
07:22:58 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
07:27:42 jreicher joins (~user@user/jreicher)
07:33:37 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:38:23 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
07:41:05 × peterbecich quits (~Thunderbi@172.222.148.214) (Ping timeout: 256 seconds)
07:45:25 monty joins (~user@2601:646:300:83b0:b942:d9b0:5ff4:a7eb)
07:45:58 × monty quits (~user@2601:646:300:83b0:b942:d9b0:5ff4:a7eb) (Quit: ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.2))
07:45:59 × ft quits (~ft@p4fc2aaeb.dip0.t-ipconnect.de) (Quit: leaving)
07:49:21 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:52:24 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
07:54:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
07:57:01 × Arsen quits (arsen@gentoo/developer/managarm.dev.Arsen) (Ping timeout: 264 seconds)
07:57:35 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Remote host closed the connection)
07:57:57 Frostillicus joins (~Frostilli@71.174.119.69)
07:57:59 Arsen joins (arsen@gentoo/developer/managarm.dev.Arsen)
08:03:00 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
08:04:25 × Sgeo_ quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
08:04:53 × bgt32 quits (~keutoi@106.222.232.60) (Ping timeout: 256 seconds)
08:05:40 Googulator3 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
08:05:40 × Googulator98 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
08:06:53 bgt32 joins (~keutoi@106.222.233.20)
08:09:37 × Fijxu quits (~Fijxu@user/fijxu) (Ping timeout: 246 seconds)
08:09:39 srazkvt joins (~sarah@user/srazkvt)
08:10:00 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
08:13:56 tromp joins (~textual@2001:1c00:3487:1b00:5978:a504:f2fd:26f)
08:16:01 × trickard quits (~trickard@cpe-52-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
08:16:16 trickard_ joins (~trickard@cpe-52-98-47-163.wireline.com.au)
08:19:30 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
08:20:03 × jreicher quits (~user@user/jreicher) (Read error: Connection reset by peer)
08:20:41 qqe joins (~qqq@185.54.23.200)
08:22:05 jreicher joins (~user@user/jreicher)
08:25:41 × Googulator3 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
08:25:42 Googulator48 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
08:28:59 trickard__ joins (~trickard@cpe-61-98-47-163.wireline.com.au)
08:29:22 × trickard_ quits (~trickard@cpe-52-98-47-163.wireline.com.au) (Ping timeout: 244 seconds)
08:42:19 × trickard__ quits (~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
08:42:32 trickard_ joins (~trickard@cpe-61-98-47-163.wireline.com.au)
08:45:41 Googulator36 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
08:45:46 × Googulator48 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
08:47:53 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Remote host closed the connection)
08:53:58 × trickard_ quits (~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
08:54:11 trickard_ joins (~trickard@cpe-61-98-47-163.wireline.com.au)
08:56:02 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
08:56:02 × connrs quits (~connrs@conners.plus.com) (Read error: Connection reset by peer)
08:56:04 Googulator11 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
08:56:16 × Googulator36 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
08:58:34 connrs joins (~connrs@user/connrs)
08:59:21 merijn joins (~merijn@77.242.116.146)
09:00:30 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
09:00:30 <kuribas> Let's say I have a TimeSeries as a functor and applicative, so fmap :: (a -> b) -> TimeSeries a -> TimeSeries b, and <*> :: TimeSeries (a -> b) -> TimeSeries a -> TimeSeries b. Can I lift this into an expression AST, where Fmap :: Formula (a -> b) -> Expr a -> Expr b, App :: Expr (a -> b) -> Expr (b)?
09:00:40 × Googulator11 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Client Quit)
09:00:43 <kuribas> Is there an abstraction for this?
09:00:46 Googulator88 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
09:00:54 ChaiTRex joins (~ChaiTRex@user/chaitrex)
09:01:17 <kuribas> Basically I want to describe the timeseries as an abstract expression.
09:01:48 <kuribas> For example, to compile this from a set of expressions to a set database queries.
09:03:10 × qqe quits (~qqq@185.54.23.200) (Quit: Lost terminal)
09:04:14 <tomsmeding> kuribas: sounds like what you're looking for is a free applicative, analogous to a "free monad" for Monad
09:04:27 <tomsmeding> this claims to be one encoding of that https://hackage.haskell.org/package/free-5.2/docs/Control-Applicative-Free.html
09:05:01 × divlamir quits (~divlamir@user/divlamir) (Read error: Connection reset by peer)
09:05:20 divlamir joins (~divlamir@user/divlamir)
09:05:34 <tomsmeding> but what you wrote would work fine too, I think, as long as 1. you add an `Expr a` field to App, and you add some additional constructor for actual operations to be done
09:05:56 <tomsmeding> (plus some Pure :: a -> Expr a)
09:08:06 <kuribas> tomsmeding: then "f" is the Formula language?
09:08:21 <tomsmeding> with that Control.Applicative.Free?
09:08:35 <tomsmeding> f is your underlying Applicative of operations that you want the expression to be able to perform
09:08:40 <tomsmeding> Ap is the expression language
09:09:03 <tomsmeding> f itself can be an expression language too if you wish to make the whole thing symbolic
09:10:38 <tomsmeding> kuribas: have you seen free monads before?
09:11:28 × Frostillicus quits (~Frostilli@71.174.119.69) (Remote host closed the connection)
09:11:50 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
09:12:54 × annamalai quits (~annamalai@2409:4042:2595:bd4d::195e:70b1) (Ping timeout: 256 seconds)
09:18:01 <kuribas> a bit.
09:18:57 <kuribas> So it becomes (data Expr f a)?
09:19:24 <kuribas> Then the abstract version is "Expr Formula a" over some formula language.
09:19:27 <tomsmeding> kuribas: if you want to roll your own, then yes
09:19:39 <kuribas> If I don't?
09:19:47 <tomsmeding> you would use Ap f a :p
09:20:01 <tomsmeding> but if you want to understand what's going on, I do kind of recommend rolling your own
09:20:10 <tomsmeding> it's not hard and makes it more transparent what you're doing precisely
09:20:28 <kuribas> How does my expression language fit in Ap?
09:20:32 <tomsmeding> and then, if you will only ever instantiate f to Formula anyway, you don't even need to parametrise the thing on f
09:20:40 <kuribas> True
09:20:43 Googulator32 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
09:20:45 × Googulator88 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
09:20:55 <tomsmeding> kuribas: that Ap is a little expression language that expresses fmap, pure and <*>
09:20:57 <kuribas> Though I can have a cheap evaluator to test the language.
09:21:08 <tomsmeding> it doesn't express anything else
09:21:25 <tomsmeding> if you want the language to express anything else than those things, that's what f is for
09:22:04 <tomsmeding> if you want to see _how_ it expresses fmap, pure and <*> (though pure is rather obvious), you can look at the Functor and Applicative instance definitions
09:22:57 <tomsmeding> kuribas: what makes me a little unsure about this is that you use "Formula" for the underlying effect. f is supposed to be some kind of effect; "formula" sounds pure
09:23:29 <tomsmeding> from what you initially said, the standard approach would be to have f describe a database query in some sense
09:23:57 <tomsmeding> then Ap grants you the ability to perform multiple database queries and post-process their results with pure functions
09:24:16 <tomsmeding> all while keeping the individual queries performed available in the Ap data structure as f values
09:24:20 Fijxu joins (~Fijxu@user/fijxu)
09:24:45 <tomsmeding> now f doesn't need to be an actual "do the query" effect, it could (e.g.) also just be f ~ Const String, where the String is some SQL
09:25:07 <tomsmeding> (I expect you to want more typing than that, but just as an example)
09:25:51 <kuribas> tomsmeding: well, this language is supposed to be pure.
09:26:02 <tomsmeding> then why are you using applicative functors?
09:26:05 <kuribas> Translation to effects and database queries is done as a later step.
09:26:11 <tomsmeding> oh right
09:26:18 <kuribas> because you suggested it?
09:26:19 <tomsmeding> it's a pure language _modelling_ a semantics which has effects
09:26:31 <tomsmeding> kuribas: well you started with Fmap and App :)
09:26:33 <kuribas> well, computation always has effects.
09:26:43 <tomsmeding> 1 + 1 does not, in the sense in which we usually mean it in haskell
09:26:46 <kuribas> But a SQL query is also pure in semantics.
09:26:50 <kuribas> (excluding insert)
09:27:02 <tomsmeding> no, because it depends on the current state of the database, which is external to the program
09:27:06 <kuribas> tomsmeding: indeed
09:27:31 <tomsmeding> okay, I guess it is pure if you consider the DB's state to be internal to the program state, but since we're doing Haskell and it isn't, it makes sense to consider it external here too
09:27:48 <tomsmeding> okay good I now understand what you mean with Formula then
09:28:07 <tomsmeding> a pure, syntactic representation of an effectful query
09:28:10 <tomsmeding> that works
09:28:39 <kuribas> like data Formula a where AddSeries :: Formula (TimeSeries Double -> TimeSeries Double -> TimeSeries Double)
09:29:00 × tromp quits (~textual@2001:1c00:3487:1b00:5978:a504:f2fd:26f) (Quit: My iMac has gone to sleep. ZZZzzz…)
09:29:06 <tomsmeding> and FromTable :: String -> Formula (TimeSeries Double) ?
09:29:12 <tomsmeding> or something like it
09:30:55 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 264 seconds)
09:30:56 <kuribas> ToQuery :: Ap (TimeSeries Formula a) -> SqlQuery
09:31:33 <kuribas> More likely ToQueries :: [HashMap Text (Ap (TimSeries Formula a))] -> [SqlQuery]
09:32:42 <tomsmeding> okay so here's my confusion, and I think the resolution to it: especially now that you present AddSeries -- a function-typed primitive in your little language -- having a functor-style interface to it feels weird to me, because 1. AddSeries by itself doesn't encode any kind of effect, and 2. being able to inspect that the query does AddSeries by itself is not particularly helpful. Instead, here I
09:32:44 <tomsmeding> would expect you to just have a custom AST that models your query language, with no mention of fmap or such. However, if you want to subsequently embed that little language in Haskell, you'll have to introduce an operator for embedded function application, and lo, perhaps <*> typechecks nicely
09:33:03 <tomsmeding> it would be Ap (TimeSeries Formula) a, but yeah
09:33:21 <tomsmeding> I think I would recommend you roll your own expression data type here instead of reusing Ap
09:33:36 <kuribas> Ah I see. No, I don't want fmap or <*>, but something similar on AST level.
09:33:40 <tomsmeding> right
09:34:13 <tomsmeding> perhaps your custom expression data type ends up having a little substructure that looks a lot like Ap, and if you really want, you can later extract that
09:34:47 <tomsmeding> but the convenience offered by the functions on Ap are probably not worth the semantical overhead of bringing in a free applicative when it "doesn't make any sense" because it's not the standard usage of a free applicative
09:35:19 × finsternis quits (~X@23.226.237.192) (Ping timeout: 240 seconds)
09:35:21 <tomsmeding> now you can still offer fmap and <*> as user API to your library if you want, that's independent from all this
09:35:42 Googulator85 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
09:35:45 × Googulator32 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
09:36:32 <tomsmeding> data Expr a where { Constant :: a -> Expr a ; App :: Expr (a -> b) -> Expr a -> Expr b ; AddSeries :: Expr (TS D -> TS D -> TS D) ; ... }
09:37:12 <tomsmeding> instance Functor Expr where fmap f e = App (Constant f) e
09:37:16 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 256 seconds)
09:37:28 <tomsmeding> instance Applicative Expr where { pure = Constant ; (<*>) = App }
09:38:01 <tomsmeding> from my best understanding of what you want to do, I think this is the most understandable
09:38:14 <kuribas> tomsmeding: the problem with fmap is that it introduces lambdas in my AST, which I cannot transform or inspect.
09:38:21 <tomsmeding> well, yeah
09:38:21 finsternis joins (~X@23.226.237.192)
09:38:38 <kuribas> I want some "lifted fmap", which works over (Formula (a -> b)), not (a -> b)
09:38:44 <tomsmeding> kuribas: but you know that those introduced functions do not perform any query operations
09:39:15 <tomsmeding> kuribas: then presumably you also don't want a general `pure`
09:39:19 <kuribas> Which introduced functions?
09:39:25 <tomsmeding> because `fmap f x = pure f <*> x`
09:39:36 <kuribas> yeah, pure would introduce lambdas.
09:39:38 × bgt32 quits (~keutoi@106.222.233.20) (Ping timeout: 244 seconds)
09:39:46 <tomsmeding> kuribas: you say "lambdas", I say "functions" because not every function is a literal lambda expression :)
09:39:50 <tomsmeding> "closures" is also correct
09:39:55 <kuribas> sure
09:40:03 <kuribas> I did too much Python :)
09:40:20 <kuribas> Though lambdas in python are thorougly broken...
09:40:23 <tomsmeding> right, so if you want <*> but no general pure and no fmap at all, then define your own <*>-like operator
09:40:28 <tomsmeding> $* or something
09:40:32 <tomsmeding> kuribas: they are
09:40:47 <tomsmeding> and forget about Functor and Applicative at all
09:41:26 <tomsmeding> and if you have some `Constant :: ... => a -> Expr a` operation, don't forget to constrain it sufficiently that only constants you actually know how to deal with fit in there :)
09:41:38 <kuribas> I am currently using python for this project, but the language is not very expressive for this timeseries language. I wanted to model it in haskell first.
09:42:00 <kuribas> tomsmeding: indeed, Constant should be limited to some types.
09:42:08 <tomsmeding> doesn't python allow you to override function application on class instances?
09:42:22 <kuribas> yes it does.
09:42:36 <kuribas> I can build a formula language. But I cannot statically type id.
09:42:39 <kuribas> it
09:42:44 <tomsmeding> so that removes the need for a special-purpose application operator (my $*, modelled after <*>)
09:42:49 <tomsmeding> right
09:43:16 × srazkvt quits (~sarah@user/srazkvt) (Quit: Konversation terminated!)
09:43:20 merijn joins (~merijn@77.242.116.146)
09:43:26 <tomsmeding> kuribas: ok so the answer to your initial question is just "yes"
09:43:31 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
09:43:48 × trickard_ quits (~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
09:43:55 <tomsmeding> except that the fact that TimeSeries has fmap and <*> is irrelevant here
09:44:01 trickard_ joins (~trickard@cpe-61-98-47-163.wireline.com.au)
09:44:07 <tomsmeding> Expr will _not_ have fmap and <*>
09:44:16 <kuribas> Maybe I just to Expr f a where PureDouble :: Double -> Expr Double; FMap :: f (a -> b) -> Expr a -> Expr b; FApp :: Expr (a -> b) -> Expr a -> Expr b; ...
09:44:29 <tomsmeding> remove the f argument to Expr
09:44:32 <tomsmeding> but yes, that
09:44:49 <tomsmeding> oh you're using f; why have FMap too?
09:44:53 <kuribas> ah, but I liked the idea that I can use this to reduce to value...
09:44:54 <tomsmeding> isn't FApp enough?
09:45:10 <tomsmeding> what will you instantiate f to?
09:45:47 <kuribas> "Formula" for the AST, "Identity" for the result.
09:46:01 <tomsmeding> how is Formula different from Expr?
09:46:10 <kuribas> maybe not :)
09:46:23 <tomsmeding> I feel like you want your evaluator to be Expr a -> IO a
09:46:48 <kuribas> so FormulaExpr :: Formula a -> Expr a ?
09:46:54 <tomsmeding> what even is Formula lol
09:47:09 <kuribas> tomsmeding: just a finite set of functions.
09:47:14 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Remote host closed the connection)
09:47:24 <kuribas> For example operations supported by a database.
09:47:34 <kuribas> as a GADT
09:47:36 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
09:47:39 <tomsmeding> I would call that Operation, or Function, perhaps
09:47:44 <tomsmeding> PrimOp, maybe
09:47:45 <kuribas> right
09:47:58 <kuribas> It's called formula in our current lisp system :)
09:48:03 <tomsmeding> but in that case: yes
09:48:08 <tomsmeding> ah
09:48:28 <tomsmeding> a "formula", to me, is an expression involving functions and arguments and stuff
09:48:52 <tomsmeding> x^2 + sqrt(y) is a formula; sqrt is a function
09:49:10 <kuribas> Formula a where SumSeries :: Formula ([Series Double] -> Series Double); ...
09:50:13 <tomsmeding> right, so I'll just read DbOperation where you write Formula
09:50:34 <kuribas> No, because it should be abstracted from DB.
09:50:39 × Googulator85 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
09:50:43 Googulator95 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
09:50:46 <merijn> kuribas: So you're just trying to defunctionalize your timeseries operations?
09:50:48 <tomsmeding> okay but it's still an operation, not a combination of operations
09:50:49 <kuribas> And it's pure, not an operation.
09:50:57 <tomsmeding> sqrt is an operation, not a formula
09:51:05 <tomsmeding> sqrt(x) is a formula
09:51:20 <tomsmeding> your Formula has sqrt, not sqrt(x), hence I call it Operation, not Formula :p
09:51:35 <kuribas> But then this is more like a formula, since it doesn't have actual operations?
09:51:55 <kuribas> Anyway, let's call it Function then :)
09:52:06 <tomsmeding> https://github.com/AccelerateHS/accelerate/blob/master/src/Data/Array/Accelerate/AST.hs#L661-L753
09:52:56 <kuribas> What the difference between operation and function?
09:53:04 <tomsmeding> opinion
09:53:14 <tomsmeding> i.e. I don't care
09:53:54 <tomsmeding> I personally like "operation" a little bit more for this because "function" kind of implies to my brain that it's any general function, which it isn't, it's one from a specified set of functions
09:54:08 <kuribas> "From Wikipedia, the free encyclopedia: In mathematics, an operation is a function from a set to itself. For example, an operation on real numbers will take in real numbers and return a real number. An operation can take zero or more input values (also called "operands" or "arguments") to a well-defined output value. The number of operands is the arity of the operation. "
09:54:09 <tomsmeding> but that's details and subjective
09:54:14 <kuribas> Guess they are operations then :)
09:54:48 <kuribas> Because I have a fixed set of supported types.
09:54:51 <tomsmeding> I expect you to also have things like ConvertSeries :: TimeSeries Double -> TimeSeries Float though; is that "from a set to itself"? :p
09:55:04 <kuribas> The set of all supported types.
09:55:13 <kuribas> (timeseries, scalars, ...)
09:55:16 <tomsmeding> that's not what "from a set to itself" means, but I'm okay with it :p
09:55:28 <tomsmeding> (mathematics' "set" is essentially haskell's "type")
09:55:39 <tomsmeding> (insert hand-wave here)
09:56:06 <tomsmeding> but this is all messing around about terminology, are we clear that your original question has been answered?
09:56:28 <kuribas> Sort of :)
09:56:34 <kuribas> I got some good ideas, thanks.
09:57:02 chele joins (~chele@user/chele)
09:59:07 bgt32 joins (~keutoi@106.222.233.20)
10:01:38 × Arsen quits (arsen@gentoo/developer/managarm.dev.Arsen) (Ping timeout: 256 seconds)
10:02:33 Arsen joins (arsen@gentoo/developer/managarm.dev.Arsen)
10:02:52 × Googulator95 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
10:03:09 Googulator95 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
10:03:20 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 256 seconds)
10:03:54 trickard_ is now known as trickard
10:05:28 ru0mad joins (~ru0mad@titan.ruomad.net)
10:05:35 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
10:05:38 <kuribas> I can do all this in python, using dataclasses like "class Apply()", but it kind of makes my head hurt ...
10:05:41 × Googulator95 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Client Quit)
10:05:48 Googulator95 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
10:06:01 <kuribas> Maybe it's a bit better now that python has pattern matching.
10:08:25 × xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 256 seconds)
10:08:27 × ru0mad quits (~ru0mad@titan.ruomad.net) (Client Quit)
10:10:01 <kuribas> Also, with the lack of GADTs and higher kinded types, I cannot statically type this in python.
10:10:56 acidjnk joins (~acidjnk@p200300d6e717193069949166e2561304.dip0.t-ipconnect.de)
10:17:05 <kuribas> tomsmeding: we have a lot of weirder terminology that "formula". Our "raw timeseries information struct" is called DPar, and our "non-compounded indicators" are called "IMPoint".
10:18:39 × jreicher quits (~user@user/jreicher) (Quit: In transit)
10:18:43 annamalai joins (~annamalai@157.32.135.74)
10:20:40 × haskellbridge quits (~hackager@96.28.224.214) (Remote host closed the connection)
10:23:44 haskellbridge joins (~hackager@96.28.224.214)
10:23:44 ChanServ sets mode +v haskellbridge
10:24:52 <kuribas> tomsmeding: and "a collection of indicators related to some device" is called DPoint
10:25:15 <kuribas> I used to be very confused by all those terms.
10:25:23 × Googulator95 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
10:25:41 Googulator95 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
10:27:45 <tomsmeding> kuribas: likely impossible to change now that everyone has been Stockholmed into them :)
10:28:04 <kuribas> very true :)
10:35:17 × annamalai quits (~annamalai@157.32.135.74) (Remote host closed the connection)
10:35:31 annamalai joins (~annamalai@2409:4042:2595:bd4d::195e:70b1)
10:40:18 <kuribas> I feel we are stockholm syndromed in all the complexity of the system.
10:40:49 <kuribas> But then that's probably the same for any legacy production system, where the focus is on delivering new features, rather than keeping the code clean.
10:42:55 <kuribas> I still think we can improve efficiency of development by 10X, by refactoring and cleaning stuff up.
10:45:46 Googulator70 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
10:45:48 × Googulator95 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
10:48:07 <kuribas> It's so monolythic, you cannot understand a small part, without getting the whole system.
10:48:28 jreicher joins (~user@user/jreicher)
10:48:39 <kuribas> Which is also not documented anywhere, since it is proprietary, and created by mostly a single person.
10:49:13 qqe joins (~qqq@185.54.23.200)
10:51:32 tremon joins (~tremon@83.80.159.219)
10:52:06 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds)
10:54:29 <haskellbridge> <Morj> Over the last 6 months I, in a big hurry, solo wrote a monolithic, badly documented system. And now a second guy is working on this, and they are copy-pasting my design mistakes as patterns >_<
10:56:28 merijn joins (~merijn@77.242.116.146)
10:56:56 <kuribas> lol
10:57:06 <kuribas> At least you are honest about those design mistakes :)
11:07:46 × Wbooze quits (~wboozE@2a02:8071:57a1:dc0:3827:9244:6b75:269a) (Quit: Leaving)
11:12:22 × wbrawner quits (~wbrawner@static.56.224.132.142.clients.your-server.de) (Remote host closed the connection)
11:13:47 <dutchie> do i need a newtype to get a Monoid instance for Map a [k] that appends the lists at matching keys?
11:16:26 <jackdk> Yes, or be sure to write `unionWith (<>)` unless you're specifically interfacing with code that uses the `Monoid` interface. There's one in package monoidal-containers.
11:16:43 xff0x joins (~xff0x@2405:6580:b080:900:85d0:1426:7d14:fc4d)
11:20:06 <dutchie> yeah I'm using foldMap so unionWith isn't helpful
11:23:11 <jackdk> You could also try https://hackage.haskell.org/package/reflection-2.1.9/docs/Data-Reflection.html#v:foldMapBy which uses Dark Magic™
11:26:53 <[exa]> Morj: "welcome to production quality" <3
11:30:36 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 256 seconds)
11:31:46 nerdychip joins (~nerdychip@212.129.72.100)
11:31:46 × nerdychip quits (~nerdychip@212.129.72.100) (Changing host)
11:31:46 nerdychip joins (~nerdychip@user/nerdychip)
11:36:24 × trickard quits (~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
11:38:55 trickard_ joins (~trickard@cpe-61-98-47-163.wireline.com.au)
11:40:49 × bgt32 quits (~keutoi@106.222.233.20) (Ping timeout: 264 seconds)
11:42:14 merijn joins (~merijn@77.242.116.146)
11:48:01 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 264 seconds)
11:48:55 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 264 seconds)
11:51:21 craunts795335385 joins (~craunts@136.158.7.194)
11:54:55 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 250 seconds)
11:57:18 merijn joins (~merijn@77.242.116.146)
12:04:11 srazkvt joins (~sarah@user/srazkvt)
12:05:43 × Googulator70 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
12:05:46 Googulator91 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
12:10:16 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
12:14:30 L29Ah joins (~L29Ah@wikipedia/L29Ah)
12:15:19 __monty__ joins (~toonn@user/toonn)
12:22:54 chromoblob joins (~chromoblo@user/chromob1ot1c)
12:24:33 wbrawner joins (~wbrawner@129.146.105.153)
12:27:01 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 264 seconds)
12:34:03 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 256 seconds)
12:34:15 × bggd quits (~bgg@2a01:e0a:819:1510:f314:af0a:6c28:12ae) (Remote host closed the connection)
12:35:41 Googulator87 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
12:35:47 × Googulator91 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
12:37:01 merijn joins (~merijn@77.242.116.146)
12:37:46 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
12:39:31 trickard_ is now known as trickard
12:44:32 FirefoxDeHuk joins (~FirefoxDe@109.108.69.106)
12:44:51 bgt32 joins (~keutoi@106.222.233.20)
12:45:07 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 244 seconds)
12:47:56 × trickard quits (~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
12:48:09 trickard joins (~trickard@cpe-61-98-47-163.wireline.com.au)
12:49:12 × AlexZenon quits (~alzenon@85.174.182.61) (Quit: ;-)
12:49:59 × AlexNoo quits (~AlexNoo@85.174.182.61) (Quit: Leaving)
12:51:19 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
12:54:49 robobub joins (uid248673@id-248673.uxbridge.irccloud.com)
12:55:18 × trickard quits (~trickard@cpe-61-98-47-163.wireline.com.au) (Ping timeout: 252 seconds)
12:58:11 trickard joins (~trickard@cpe-50-98-47-163.wireline.com.au)
13:00:45 Googulator98 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
13:00:45 × Googulator87 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
13:07:26 × qqe quits (~qqq@185.54.23.200) (Remote host closed the connection)
13:10:15 × Googulator98 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
13:10:48 Googulator98 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
13:13:33 × nerdychip quits (~nerdychip@user/nerdychip) (Ping timeout: 265 seconds)
13:14:45 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
13:16:01 Googulator12 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
13:16:23 AlexNoo joins (~AlexNoo@85.174.182.61)
13:16:31 × Googulator98 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
13:19:13 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 264 seconds)
13:20:37 × Googulator12 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Client Quit)
13:20:43 Googulator3 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
13:35:29 AlexZenon joins (~alzenon@85.174.182.61)
13:35:40 × FirefoxDeHuk quits (~FirefoxDe@109.108.69.106) (Quit: Client closed)
13:45:37 × Googulator3 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
13:45:40 Houlton joins (~Houlton@user/Houlton)
13:45:44 Googulator63 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
13:45:56 <kuribas> I did open-source first for a long time, and was shocked about industry.
13:46:14 <kuribas> It's more about kissing peoples asses and churning out features quick, don't mind quality.
13:47:12 <kuribas> If you create code that has little bugs, people don't see it, when it has lots of bugs, people go "look how fast this guy solves bugs"!.
13:48:13 × Houlton quits (~Houlton@user/Houlton) (Client Quit)
13:48:32 <kuribas> Sorry, feeling sarcastic today.
13:53:02 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
13:54:17 inline joins (~inline@2a02:8071:57a1:dc0:680d:95f1:5489:2954)
13:59:23 <TMA> kuribas: it is the same with plumbers... bad plumbers display more effort and are tipped more than competent ones. custom software is a service, performative aspects are therefore much more important there
14:05:51 × inline quits (~inline@2a02:8071:57a1:dc0:680d:95f1:5489:2954) (Quit: Leaving)
14:08:01 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
14:09:14 trickard__ joins (~trickard@cpe-54-98-47-163.wireline.com.au)
14:09:46 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
14:10:33 × trickard quits (~trickard@cpe-50-98-47-163.wireline.com.au) (Ping timeout: 250 seconds)
14:12:52 inline joins (~inline@2a02:8071:57a1:dc0:680d:95f1:5489:2954)
14:13:18 <kuribas> TMA: they do?
14:13:28 × srazkvt quits (~sarah@user/srazkvt) (Ping timeout: 244 seconds)
14:15:28 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
14:15:43 Googulator70 joins (~Googulato@84-236-65-182.pool.digikabel.hu)
14:15:44 × Googulator63 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
14:16:38 Sgeo joins (~Sgeo@user/sgeo)
14:17:31 <kuribas> I suppose I don't know if a plumber did a good job in my home, unless the pipes break some time later.
14:17:40 <TMA> kuribas: it is the theatrical performance that makes the difference. the client needs to see the worker expending the effort
14:18:48 <kuribas> right
14:19:56 <TMA> kuribas: if you don't see the performance, the effect vanishes. I have much lower opinion of the plumber that did some fixing in my mother's flat because I did not see him doing it. my mother has seen him doing it and considered the fix be of higher quality than I would assess
14:21:08 <TMA> software development service is the same: no bugs == no opportunity to show effort fixing them fast == lower perceived value of the service
14:21:33 × noctux quits (~noctux@user/noctux) (Read error: Connection reset by peer)
14:22:17 <tomsmeding> TMA: well spoken
14:22:34 <lortabac> kuribas: it depends on the company and also which industry you are in
14:22:37 <TMA> it is like the LLMs spitting out nonsense and then going "good catch, I goofed"
14:23:23 <tomsmeding> (not sure about that one; that's just annoying)
14:23:41 <lortabac> I can tell you from experience that there are companies where quality is recognized and valued
14:23:58 noctux joins (~noctux@user/noctux)
14:24:34 <tomsmeding> what TMA describes fundamentally comes from a non-knowledgeable person being tasked with assessing value
14:26:45 <kuribas> sadly management are often non-knowledgeable.
14:27:00 <kuribas> It least on technical details of the product.
14:28:25 srazkvt joins (~sarah@user/srazkvt)
14:28:43 <tomsmeding> and perhaps it is that part that most depends on the company, resulting also in lortabac's experience
14:30:28 <lortabac> yes, in my experience a manager with technical competency helps a lot
14:30:43 Googulator12 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
14:30:55 <lortabac> *competence
14:31:22 × Googulator70 quits (~Googulato@84-236-65-182.pool.digikabel.hu) (Quit: Client closed)
14:35:19 <TMA> I have experienced managers that were proud of their domain incompetence. Not being "tainted" by understanding the domain was a virtue to them.
14:36:00 <TMA> Business/economic school graduates, all of them
14:43:08 foo3 joins (~Square@user/square)
14:43:25 <kuribas> Or the domain is not software development. The managers understand their domain, but not how to manage a software team.
14:48:01 × Square2 quits (~Square4@user/square) (Ping timeout: 264 seconds)
14:57:32 × catties quits (~catties@user/meow/catties) (Quit: n_n)
14:57:52 catties joins (~catties@user/meow/catties)
15:00:44 Googulator69 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
15:00:45 × Googulator12 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
15:08:16 jmcantrell joins (~weechat@user/jmcantrell)
15:08:43 <haskellbridge> <Morj> Who is administering the bridge? Since some time ago I don't get @-ed when someone mentions my name on irc, it stays as regular text. I remember it used to work, did something change?
15:15:00 × jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 256 seconds)
15:16:39 <tomsmeding> geekosaur: ^
15:17:39 <geekosaur> it's possible, I update the docker container weekly and heisenbridge has introduced bugs before
15:17:45 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 252 seconds)
15:20:36 machinedgod joins (~machinedg@d75-159-126-101.abhsia.telus.net)
15:20:50 <geekosaur> although I note that I got pinged Matrix-side by Tom's ping; that may mean it only pings if it's the first thing on the line (which mismatches most but not all IRC clients)
15:21:47 <geekosaur> Morj: testing
15:21:54 <tomsmeding> testing for geekosaur
15:22:23 <geekosaur> that one pinged me too
15:22:24 <tomsmeding> I think, by default (not sure to what extent that depends on the client being Element), one's nick is recognised on matrix anywhere in a message
15:22:45 <tomsmeding> to the point that it's even recognised when it occurs in the header of the quote in the plain-text version of a standard reply!
15:22:53 <geekosaur> yes, but the client has to send mentions as part of the message
15:22:55 <tomsmeding> which is why replies ping you
15:23:13 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
15:23:14 <tomsmeding> oh really?
15:23:17 <tomsmeding> oh _mentions_, yes
15:23:35 <geekosaur> you can see this if you look at the original message (don't recall how you do this in Element, it's in the right-click menu in Nheko)
15:23:40 <geekosaur> "view raw message"
15:24:36 <tomsmeding> TIL
15:25:19 <tomsmeding> (it's three-dots menu on a message -> view source)
15:30:34 × srazkvt quits (~sarah@user/srazkvt) (Quit: Konversation terminated!)
15:30:37 × Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 264 seconds)
15:35:56 Maxdamantus joins (~Maxdamant@user/maxdamantus)
15:36:23 <geekosaur> hm, silence suggests Morj didn't get pinged. but they seem to be working in general
15:36:48 <geekosaur> unless it's somehow related to my being on both sides of the bridge (maybe using the wrong side's member list?)
15:36:55 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 264 seconds)
15:37:54 <geekosaur> 21it: around?
15:41:27 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
15:42:44 <haskellbridge> <geekosaur> mmm, raw message shows nothing ☹️
15:42:46 img joins (~img@user/img)
15:45:43 <haskellbridge> <geekosaur> right, but it does for your pings of me. I'll ask upstream
15:46:20 Zemy_ joins (~Zemy@2600:100c:b05a:6015:cc82:41ff:feec:ee96)
15:46:43 michalz joins (~michalz@185.246.207.221)
15:47:28 × Zemy quits (~Zemy@72.178.108.235) (Read error: Connection reset by peer)
15:47:55 Zemy joins (~Zemy@72.178.108.235)
15:50:42 × Zemy_ quits (~Zemy@2600:100c:b05a:6015:cc82:41ff:feec:ee96) (Ping timeout: 256 seconds)
15:51:19 × inline quits (~inline@2a02:8071:57a1:dc0:680d:95f1:5489:2954) (Quit: Leaving)
15:53:32 × chele quits (~chele@user/chele) (Remote host closed the connection)
15:55:04 <geekosaur> there wasn't a bug filed for it, so I filed one (https://github.com/hifi/heisenbridge/issues/310)
15:55:08 inline joins (~inline@2a02:8071:57a1:dc0:5389:5413:4fcb:de9f)
15:56:28 × Googulator69 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
15:56:50 Googulator69 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
15:59:12 × Arsen quits (arsen@gentoo/developer/managarm.dev.Arsen) (Ping timeout: 256 seconds)
16:05:27 FirefoxDeHuk joins (~FirefoxDe@109.108.69.106)
16:05:42 × FirefoxDeHuk quits (~FirefoxDe@109.108.69.106) (Client Quit)
16:09:50 Arsen joins (arsen@gentoo/developer/managarm.dev.Arsen)
16:14:30 × Arsen quits (arsen@gentoo/developer/managarm.dev.Arsen) (Ping timeout: 256 seconds)
16:15:37 × Googulator69 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
16:15:40 Googulator76 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
16:15:55 × Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 264 seconds)
16:17:21 Maxdamantus joins (~Maxdamant@user/maxdamantus)
16:20:42 × Googulator76 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
16:20:49 Googulator9 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
16:21:39 Arsen joins (arsen@gentoo/developer/managarm.dev.Arsen)
16:27:19 Square2 joins (~Square4@user/square)
16:27:41 ljdarj joins (~Thunderbi@user/ljdarj)
16:29:07 turlando joins (~turlando@user/turlando)
16:29:18 × turlando_ quits (~turlando@user/turlando) (Ping timeout: 265 seconds)
16:30:19 × foo3 quits (~Square@user/square) (Ping timeout: 264 seconds)
16:37:59 ljdarj1 joins (~Thunderbi@user/ljdarj)
16:40:50 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds)
16:40:58 ljdarj1 is now known as ljdarj
16:42:41 × ljdarj quits (~Thunderbi@user/ljdarj) (Client Quit)
16:43:11 ljdarj joins (~Thunderbi@user/ljdarj)
16:45:41 × Googulator9 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
16:45:45 Googulator28 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
16:45:57 × ljdarj quits (~Thunderbi@user/ljdarj) (Client Quit)
16:46:10 ljdarj joins (~Thunderbi@user/ljdarj)
16:46:26 × ljdarj quits (~Thunderbi@user/ljdarj) (Client Quit)
16:46:58 ljdarj joins (~Thunderbi@user/ljdarj)
16:52:32 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
16:53:36 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds)
16:54:02 ljdarj1 joins (~Thunderbi@user/ljdarj)
16:55:21 × YoungFrog quits (~youngfrog@2a02:a03f:ca07:f900:3c4e:fa7a:e07a:5a51) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in)
16:55:41 YoungFrog joins (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be)
16:55:56 ljdarj joins (~Thunderbi@user/ljdarj)
16:57:50 ljdarj2 joins (~Thunderbi@user/ljdarj)
16:58:49 × ljdarj1 quits (~Thunderbi@user/ljdarj) (Ping timeout: 264 seconds)
16:59:44 ljdarj1 joins (~Thunderbi@user/ljdarj)
17:00:24 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds)
17:01:17 ljdarj joins (~Thunderbi@user/ljdarj)
17:02:06 × ljdarj2 quits (~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds)
17:04:04 ljdarj2 joins (~Thunderbi@user/ljdarj)
17:04:22 × ljdarj1 quits (~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds)
17:05:30 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds)
17:05:30 ljdarj2 is now known as ljdarj
17:05:42 Googulator14 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
17:05:46 × Googulator28 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
17:08:29 RehAal joins (~RehAal@2a02:3035:669:8f77:85c3:537a:8f03:5d54)
17:09:55 × jcarpenter2 quits (~lol@96.78.87.197) (Ping timeout: 264 seconds)
17:14:19 × RehAal quits (~RehAal@2a02:3035:669:8f77:85c3:537a:8f03:5d54) (Quit: Client closed)
17:15:10 ft joins (~ft@p4fc2aaeb.dip0.t-ipconnect.de)
17:17:02 × bgt32 quits (~keutoi@106.222.233.20) (Ping timeout: 260 seconds)
17:23:09 <haskellbridge> <Morj> geekosaur: I didn't get pinged when you were testing. But geekosаur's ping I see was transformed. So it might just be my nick that's misbehaving, huh
17:24:16 <haskellbridge> <Morj> I have an irc identity with a similar nick, but it's mostly offline. Though I don't remeber getting pinged for it when it was online
17:24:39 <haskellbridge> <Morj> Thanks for testing
17:25:37 Googulator96 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
17:25:44 × Googulator14 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
17:26:14 <geekosaur> "similar" wouldn't do it; the only way it has to relate them is exact matches between IRC nick and Matrix display name
17:26:28 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 256 seconds)
17:26:47 × trickard__ quits (~trickard@cpe-54-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
17:27:01 trickard_ joins (~trickard@cpe-54-98-47-163.wireline.com.au)
17:27:27 <geekosaur> (although in fact it doesn't relate them at all; when that's a problem it's possible to turn on including the Matrix ID for IRC (Matrix already provides ways to get that)
17:28:04 <geekosaur> anyway I reported it, including my suspicion it's passing the wrong side's member list
17:30:39 × Googulator96 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
17:30:44 Googulator7 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
17:31:58 pr1sm joins (~pr1sm@24.91.163.31)
17:45:31 × Googulator7 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
17:45:43 Googulator7 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
17:49:33 × inline quits (~inline@2a02:8071:57a1:dc0:5389:5413:4fcb:de9f) (Quit: Leaving)
17:55:13 nerdychip joins (~nerdychip@212.129.72.100)
17:55:13 × nerdychip quits (~nerdychip@212.129.72.100) (Changing host)
17:55:13 nerdychip joins (~nerdychip@user/nerdychip)
18:10:42 foo3 joins (~Square@user/square)
18:10:44 Googulator54 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
18:10:49 × Googulator7 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
18:11:19 inline joins (~inline@2a02:8071:57a1:dc0:c33:90af:2d70:1d1d)
18:11:48 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3))
18:13:19 × Square2 quits (~Square4@user/square) (Ping timeout: 240 seconds)
18:18:15 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
18:18:34 L29Ah joins (~L29Ah@wikipedia/L29Ah)
18:20:49 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:25:40 Googulator55 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
18:25:40 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
18:25:46 × Googulator54 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
18:31:47 poscat joins (~poscat@user/poscat)
18:33:33 × poscat0x04 quits (~poscat@user/poscat) (Ping timeout: 252 seconds)
18:36:37 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:40:56 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection timed out)
18:41:25 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
18:43:56 × pr1sm quits (~pr1sm@24.91.163.31) (Remote host closed the connection)
18:46:37 Tuplanolla joins (~Tuplanoll@91-159-187-167.elisa-laajakaista.fi)
18:47:50 haltingsolver joins (~cmo@2604:3d09:207f:8000::d1dc)
18:52:01 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:55:08 tromp joins (~textual@2001:1c00:3487:1b00:5978:a504:f2fd:26f)
18:55:50 × tromp quits (~textual@2001:1c00:3487:1b00:5978:a504:f2fd:26f) (Client Quit)
18:56:58 ttybitnik joins (~ttybitnik@user/wolper)
18:57:04 tromp joins (~textual@2001:1c00:3487:1b00:5978:a504:f2fd:26f)
18:58:50 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
19:07:34 L29Ah joins (~L29Ah@wikipedia/L29Ah)
19:08:13 × synchromesh quits (~john@2406:5a00:2412:2c00:a151:32b5:2959:c671) (Read error: Connection reset by peer)
19:08:16 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
19:09:26 synchromesh joins (~john@2406:5a00:2412:2c00:a151:32b5:2959:c671)
19:10:03 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:10:07 L29Ah joins (~L29Ah@wikipedia/L29Ah)
19:14:41 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
19:17:50 rvalue- joins (~rvalue@about/hackers/rvalue)
19:18:55 × rvalue quits (~rvalue@about/hackers/rvalue) (Ping timeout: 264 seconds)
19:18:58 × tromp quits (~textual@2001:1c00:3487:1b00:5978:a504:f2fd:26f) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:20:22 × haltingsolver quits (~cmo@2604:3d09:207f:8000::d1dc) (Ping timeout: 256 seconds)
19:23:38 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:27:16 rvalue- is now known as rvalue
19:28:49 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
19:35:34 × opencircuit_ quits (~quassel@user/opencircuit) (Remote host closed the connection)
19:36:44 opencircuit joins (~quassel@user/opencircuit)
19:39:28 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:44:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
19:45:25 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
19:46:04 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
19:48:52 Sgeo joins (~Sgeo@user/sgeo)
19:55:15 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:56:33 peterbecich joins (~Thunderbi@172.222.148.214)
19:57:01 <segfaultfizzbuzz> what are the norms these days regarding using "ai" to code among good quality professional programmers. is it fine to use or do i need to type everything into my keyboard myself
19:59:08 <EvanR> you will be ridiculed for using your keyboard at all. Voice input to an LLM is the only way to signal how up to date you are
20:00:06 <segfaultfizzbuzz> hahaha... but seriously...?
20:00:08 <EvanR> in the same way that handwriting is not a thing anymore
20:00:10 <haskellbridge> <sm> it varies a lot
20:00:14 <haskellbridge> <loonycyborg> Direct neural uplink better
20:00:19 <geekosaur> ai gets haskell very wrong still
20:00:22 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
20:00:27 <segfaultfizzbuzz> lol yeah sorry i forgot to mention using neuralink while using tesla self driving
20:00:31 <geekosaur> even js needs to be checked
20:00:36 <segfaultfizzbuzz> geekosaur: oh? nice :-)
20:00:43 <haskellbridge> <sm> I don't think you can generalise, it depends what you're doing
20:00:44 <segfaultfizzbuzz> js is awful,... rust is like,... not bad i find
20:01:02 <EvanR> I use it for C and it still needs to be checked, obviously
20:01:22 <geekosaur> the question is what it was trained on. if you have a lot of blog posts by people who're still learning the language, the code the AI will produce will mostly be at their level
20:01:57 <haskellbridge> <sm> yes also the model, the ai-based coding tool, the context, the prompts all matter
20:01:57 <segfaultfizzbuzz> geekosaur: there also is how you prompt,... if your language is better you get better results i think
20:02:04 <geekosaur> keep in mind that current AI still doesn't understand anything; it's a Markov bot with a smarter notion of how language fits together
20:02:24 <haskellbridge> <sm> the coding tools and chat bots are no longer just that
20:02:30 <segfaultfizzbuzz> and then there is architecting your application so that you can kind of limit the damage that can happen, but i would imagine that's the same as structuring code for writing on a team
20:02:34 <geekosaur> which means it's only as good as the Markov chains it can build from its training data
20:02:47 <segfaultfizzbuzz> hahaha markov chains :-) you might not be wrong there
20:03:10 <EvanR> if you start pasting large amounts of code generated by the LLM into the project without understanding any of it, well, it will start to break down, and there's plenty of memes about where this leads
20:03:23 <geekosaur> seriously, it explains a lot of things, including why LLMs in the first place
20:03:35 <segfaultfizzbuzz> geekosaur: why LLMs in the first place? explain?
20:03:43 <geekosaur> and makes a lot of sense if you think about it
20:04:11 <segfaultfizzbuzz> EvanR: yeah i would say that "without understanding any of it" isn't what i do, but it can save me a lot of round trips back and forth from documentation and also it can sometimes stich things nicely (type conversions, etc)
20:04:17 <geekosaur> why large language models are what led to something that comes across as "actual AI"
20:04:54 <segfaultfizzbuzz> roughly speaking if you can write the type signature of your function then ai seems like it can do decently at filling in the rest 50% to 75% of the time...
20:05:00 <EvanR> lol
20:05:01 <segfaultfizzbuzz> or at least that's what i find
20:05:13 <EvanR> no
20:05:21 <segfaultfizzbuzz> EvanR: oh?
20:05:44 <EvanR> the type signature is usually not enough to judge what you want it to do
20:05:52 <EvanR> maybe you mean the carefully chosen name of the function
20:05:56 <segfaultfizzbuzz> type signature plus a description/comment
20:06:17 <segfaultfizzbuzz> yeah sorry, not type signature in isolation, i meant type signature as a hard restriction on the validity of the LLM output, given a reasonable prompt
20:07:35 <EvanR> yeah, trying its own output against the type checker before producing anything, and retrying until it works, explains a lot of the performance I've seen
20:07:45 <EvanR> but I'm not sure if that's a thing
20:07:53 <segfaultfizzbuzz> EvanR: can you elaborate on "a lot of the performance I've seen"
20:08:14 <EvanR> on a particular product preview I was working with
20:08:19 <EvanR> integrated into the IDE
20:08:30 <segfaultfizzbuzz> by performance do you mean like memory and cpu usage?
20:08:32 <EvanR> the haskell code generator started slowing down to unusable after a while
20:09:14 <EvanR> I'm sure cpu usage and memory usage was high but no
20:09:33 <EvanR> code per minute
20:10:00 <fgidim> haskell code into an LLM? :O
20:10:07 <segfaultfizzbuzz> oh you think people are calling some centralized resource over the web at a high rate...?
20:10:12 <EvanR> into, and out of
20:10:25 <segfaultfizzbuzz> what is "the haskell code generator" otherwise?
20:10:27 <geekosaur> I hear of a lot of people using Claude…
20:10:34 <EvanR> I'm not sure how much this product was dependent on remote resources
20:10:37 <geekosaur> Or Copilot
20:10:38 <segfaultfizzbuzz> geekosaur: yep, i do... more specifically claude code
20:10:43 <EvanR> it was more like copilot
20:10:54 <EvanR> but some proprietary thing
20:10:54 <segfaultfizzbuzz> copilot used to be pretty bad, it improved more recently... claude code is better
20:11:03 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:11:38 <segfaultfizzbuzz> i would say like, ignore LLM generated code unless it (1) comes through claude code (2) has some kidn of decent type system which rejects really bad programs and (3) is reasonably well-prompted
20:12:00 <EvanR> and how do you know any of this from the code itself
20:13:32 <segfaultfizzbuzz> EvanR: i don't know, i'm probably not a good enough programmer to tell 75% of the time. there do tend to be high level inconsistencies in how the project concepts work, failures to compose, ... failure to do the right thing,... but yeah i'm not good enough to tell
20:14:14 <segfaultfizzbuzz> that's why i was asking about social norms rather than the code itself :-)
20:14:36 <haskellbridge> <sm> I have experimented a little with claude code; it's super useful including in haskell projects, and definitely not just a markov chain
20:14:57 × annamalai quits (~annamalai@2409:4042:2595:bd4d::195e:70b1) (Ping timeout: 260 seconds)
20:15:32 <haskellbridge> <sm> also probably super bad for the planet until we fix the economic model
20:15:33 Guest25 joins (~Guest24@2803:9800:94c0:9a3b:d823:7586:d4c3:43b8)
20:15:43 <haskellbridge> <sm> (AI generally, not claude code)
20:15:51 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
20:16:19 <EvanR> certain usage for haskell really makes sense. In haskell you tend to accept and support code that is really big and dumb, like translation functions between simple things. They're annoying to type yourself but easy for the LLM. And then it's haskell so such "repeating yourself" code is not bad
20:17:14 <EvanR> a local macro system or something could also do it without requiring said planetary killing engines
20:17:16 <segfaultfizzbuzz> i encountered terrence tao doing vibe proving in lean and that kind of encouraged me to use LLMs more in coding without being quite so shy
20:17:23 target_i joins (~target_i@user/target-i/x-6023099)
20:17:30 <omentic> hi. cabal build has apparently triggered hardware protections for cpu overheating that i didn't even know my computer had. how can i make cabal throttle its builds?
20:17:45 <segfaultfizzbuzz> omentic: out of curiousity are you on AMD?
20:17:59 <omentic> no, intel laptop from 2020
20:18:01 <EvanR> if your CPU can't run at 100% then that's another problem
20:18:18 <EvanR> ventilate the room
20:18:39 <omentic> i've never seen this before in my life. it's very strange... no other build system has done this, not nix, not cargo, not clang
20:18:43 <segfaultfizzbuzz> omentic: i don't know,... thermal paste, maybe BIOS or operating system settings for power efficient mode?
20:18:50 <omentic> and i've compiled chromium on this thing lmao
20:19:00 <segfaultfizzbuzz> i saved a buddy's thinkpad once by re-pasting it after about five years
20:19:02 <EvanR> cabal can't make your CPU more hot than running 100%
20:19:14 <segfaultfizzbuzz> omentic: is this a thinkpad?
20:19:17 <omentic> yeah
20:19:17 <EvanR> though maybe you don't often use all your cores
20:19:29 haltingsolver joins (~cmo@2604:3d09:207f:8000::d1dc)
20:19:31 <segfaultfizzbuzz> yeah, repaste it, get a good thermal paste
20:19:35 <omentic> hmm
20:19:40 <omentic> i think i will not do that lmao
20:19:50 <segfaultfizzbuzz> my buddy's thinkpad would shut down after about an hour's worth of ordinary moderate use like playing videos and stuff
20:20:00 Guest25 is now known as hedgehog99
20:20:02 <segfaultfizzbuzz> omentic: a good thermal paste is like $10
20:20:27 <segfaultfizzbuzz> DM me and i'll tell you how to do it, you also need some isopropyl alcohol and a roll of paper towels,... total cost might be $15 or $20
20:20:56 <omentic> i do not think i want to re-thermal paste my ultrabook to cabal to build
20:20:59 <yushyin> use ptm7950 instead of a paste
20:21:35 <segfaultfizzbuzz> yushyin: yeah thermal pads are cool too but i don't have experience with them
20:21:50 Guest24 joins (~Guest24@2803:9800:94c0:9a3b:d823:7586:d4c3:43b8)
20:22:00 <segfaultfizzbuzz> omentic: the paste will continue to degrade and your problems will get worse
20:22:04 × chiselfuse quits (~chiselfus@user/chiselfuse) (Ping timeout: 272 seconds)
20:22:28 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
20:22:47 chiselfuse joins (~chiselfus@user/chiselfuse)
20:23:14 <segfaultfizzbuzz> omentic: or do what i did and get a desktop :-) i've concluded that the laptop form factor is only useful for SSH
20:23:16 × ttybitnik quits (~ttybitnik@user/wolper) (Ping timeout: 256 seconds)
20:23:26 × Guest24 quits (~Guest24@2803:9800:94c0:9a3b:d823:7586:d4c3:43b8) (Client Quit)
20:23:53 <omentic> segfault: i really **do not** want to re-thermal paste my laptop to fix a cabal build issue that is only present with cabal and no other build system, lol
20:24:05 <EvanR> it's not cabal's fault
20:24:35 <EvanR> just make sure you get proper air flow to the laptop
20:24:39 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:24:48 <omentic> hmm
20:25:27 × hedgehog99 quits (~Guest24@2803:9800:94c0:9a3b:d823:7586:d4c3:43b8) (Ping timeout: 250 seconds)
20:25:32 <haskellbridge> <loonycyborg> I doubt that exact buildsystem matters
20:26:00 <haskellbridge> <loonycyborg> they all eat lot less cpu cycles than actual compile commands
20:26:00 <haskellbridge> <sm> cabal efficiently maximising your processors, eh ? Point a fan at the laptop or build at night ?
20:26:33 <segfaultfizzbuzz> omentic: how much $ do you have for a desktop
20:26:45 <haskellbridge> <sm> blast it with compressed air, maybe you can dislodge some dust :)
20:27:08 × simplystuart quits (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Remote host closed the connection)
20:27:24 <haskellbridge> <sm> or, limit how many processors cabal uses at once with -j
20:27:28 <omentic> dude i am not buying a new computer it is beyond reasonable for me to want to compile a project with three dependencies on my laptop
20:27:30 simplystuart joins (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net)
20:28:06 Lycurgus joins (~juan@user/Lycurgus)
20:28:06 <omentic> sm: i'm thinking that's my problem, yeah. i suspect cargo/clang etc don't use all cores and i've accidentally passed a flag to GHC that's telling it to do so
20:28:11 <omentic> time to read the manual on -threaded
20:28:28 <haskellbridge> <sm> it'll build packages in parallel by default, add -j1 to stop that
20:29:00 ljdarj1 joins (~Thunderbi@user/ljdarj)
20:30:21 <haskellbridge> <sm> I think -threaded is something different, affecting how the program you're building runs
20:30:22 <monochrom> cabal by default looks at your number of cores (even hyperthreads) and potentially builds that many packages in parallel. That can push your CPU. (For me, RAM is my bottleneck, I get thrashing.) So yeah use an explicit -j to limit it. (I use -j2.)
20:30:33 <haskellbridge> <sm> while -j affects cabal build itself
20:31:07 <monochrom> NB. "builds that many packages in parallel" = runs that many instances of GHC in parallel. (You know how much memory that takes, right? :) )
20:31:09 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
20:31:36 <haskellbridge> <sm> also, if it's just three dependencies it's going to be finished relatively soon. Then it's just rebuilding some of your own modules when needed.
20:31:48 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds)
20:31:48 ljdarj1 is now known as ljdarj
20:33:09 <haskellbridge> <sm> for a more general solution, there must be some kind of linux quota system you could use (rlimit ?)
20:33:37 <monochrom> (Hell, I don't add -j2 by hand, I put in ~/.cabal/config "jobs: 2".)
20:34:49 <monochrom> rlimit causes killing processes. as opposed to informing processes to behave.
20:34:59 <haskellbridge> <sm> ack
20:35:18 <haskellbridge> <sm> and I suppose nice doesn't prevent it using 100%
20:35:48 <monochrom> nice prevents it using 100% iff something else of higher priority uses 100%. >:)
20:36:50 <monochrom> You can always run it in VirtualBox. VirtualBox can lie about # of CPUs and speed.
20:37:03 <haskellbridge> <sm> by the way I'll guess those other build systems also use multiple processors, but probably they finish sooner
20:37:08 <omentic> monochrom: re: memory, gulp
20:37:25 × peterbecich quits (~Thunderbi@172.222.148.214) (Ping timeout: 256 seconds)
20:38:43 <haskellbridge> <sm> also does swapping contribute to cpu activity / heat ? building haskell is probably using more memory
20:38:56 <haskellbridge> <sm> avoid swapping
20:39:34 <omentic> what is the -N argument to RTS opts? this page references it, but doesn't define it: https://ghc.gitlab.haskell.org/ghc/doc/users_guide/runtime_control.html
20:40:10 <omentic> i do kind of wonder if fucked-up swap is contributing to only seeing this with cabal
20:40:28 <omentic> if it is using up a bunch of memory and swapping a lot...
20:40:28 <haskellbridge> <sm> you should definitely check, with [h]top
20:40:40 Googulator98 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
20:40:45 × Googulator55 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
20:41:11 <haskellbridge> <sm> +RTS -N is essentially a suggestion of how many cores the program should use, IIRC. But for cabal commands, -j is easier
20:42:25 <monochrom> Telling cabal -N does not limit its -j
20:42:42 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:45:41 × Googulator98 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
20:45:54 Googulator98 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
20:46:30 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 256 seconds)
20:47:37 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
20:48:06 myme1 joins (~myme@2a01:799:d5e:5f00:ffab:db87:b0e2:97dd)
20:48:18 × myme quits (~myme@2a01:799:d5e:5f00:dea7:7da2:d01d:b0f1) (Ping timeout: 244 seconds)
20:48:38 <omentic> hmm, and -j 2 in ghc-options should limit the maximum no. of threads to 2?
20:50:19 L29Ah joins (~L29Ah@wikipedia/L29Ah)
20:50:38 <omentic> mmm. neither the no. of parallel modules nor the no. of threads in use appears to be limited by -j 2 or -j2. weird. maybe -with-rtsopts=-N is overwriting that?
20:51:26 ttybitnik joins (~ttybitnik@user/wolper)
20:52:10 <geekosaur> something else to keep in mind is that limiting GHC's threads will only work if you either limit cabal to one thread or use ghc semaphores (in sufficiently recent ghc)
20:52:33 <omentic> uhhhh, oh that is good to know
20:52:49 <geekosaur> because cabal will spawn as many ghcs as it's allowed to run threads, each of which will use the number of threads you tell it
20:53:16 <geekosaur> with job semaphores the number of concurrently running ghc threads will be limited across the entire build
20:53:45 <omentic> why would you want cabal to use more than one thread if ghc can spawn multiple threads by itself?
20:54:03 <omentic> legacy behavior? or is there an improvement wrt. linking or something
20:54:05 <geekosaur> building multiple dependencies concurrently
20:54:14 myme1 is now known as myme
20:55:12 peterbecich joins (~Thunderbi@172.222.148.214)
20:55:18 <geekosaur> but then you need to arrange for each dependency to use ghc-options
20:55:29 × Googulator98 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
20:55:37 Googulator98 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
20:55:46 <omentic> hm. okay. with ghc-options containing -threaded -j2 -rtsopts -with-rtsopts=-N2 and jobs: 1, i still see cabal building five or six things in parallel and all my cores spinning up...
20:55:50 <geekosaur> if job semaphores are supported, all the ghcs will "check out" threads as available
20:56:07 <geekosaur> check your cabal configuration
20:56:18 <geekosaur> oh wait, you said jobs: 1, sorry
20:56:48 <omentic> looks like jobs: $ncpus in my global cabal config but yeah i've got a line here locally
20:56:51 <geekosaur> I don't normally see things building in parallel with that situation (but I also don't run into it much, I have enough cores that I set jobs: fairly high)
20:58:09 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:58:21 <omentic> urgh
20:58:29 <omentic> okay i will deal with this later, thanks for the pointers
20:59:06 <omentic> oh -- actually before i head out, do you know: is it possible to get some sort of caching working with cabal (or stack) if i've got a package that's not on stackage?
20:59:47 <davean> caching? What caching do you want that cabal doesn't default to doing>
21:00:16 <omentic> well, not building pandoc
21:00:48 Googulator29 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
21:01:04 × Googulator98 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
21:01:20 <monochrom> -j is not a ghc-option
21:01:22 <omentic> this might be a haskell limitation, i'm not sure. but i don't have to build anything locally when all the packages i want are in stackage. that's nice. except right now i've got one package not on stackage
21:02:29 <omentic> monochrom: oh? i saw it in the ghc manual so i thought it'd go in ghc-options. is there another place to put it or is it unsupported with cabal?
21:02:42 <monochrom> jobs: is probably something you should put in the global config because it is about your computer not a particular package or project
21:02:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
21:03:06 <davean> omentic: are you on POSIX or windows? Because POSIX doesn't standardize that as working and its known to be funky.
21:03:23 <omentic> posix. that is very good to know. lmao
21:03:51 <davean> So providing it or not is a matter of how conservitive you are and sure you'll get the ABI stuff matched up right
21:03:52 <omentic> huh, weird the manual does not mention that...
21:04:19 <davean> Like I assure you it 100% breaks every time for my Linux system, but mine isn't the same as yours
21:04:27 <davean> if you're on Debian it'll probably work great
21:05:29 <davean> stackage leans on the "make it easy" side over "get it right" you can provide such a cache for cabal but cabal leans on the "get it right" side
21:05:53 <davean> er, not stackage
21:05:55 <davean> but yah
21:06:19 <davean> So anyway, no one actively provides such a cache for cabal+hackage in general. Its not hard to do but it would be very large.
21:06:48 <omentic> do you know if it is possible to get a partial cache? i.e. cache pandoc but not cache the other dependency i need. or is this impossible wrt. how ghc builds things
21:06:51 <davean> and then sometimes, rarely but it will happen, it'll spit out a binary that doesn't work
21:07:12 <davean> You can only cache it in respect to the otehr things you build so I'm nto sure what the use would be
21:07:29 <monochrom> I don't know how to tell cabal to use stack's cache, or stack to use cabal's cache.
21:07:59 <monochrom> Hell even Thunderbird and Firefox probably don't use each other's cache...
21:09:06 <davean> omentic: very specificly POSIX is a source code level compatability standard, not a binary compatability standard, and distros can and do break binary compatability between them, and some even inside them.
21:09:19 <omentic> i'm surprised that breaks -j
21:09:33 <davean> no I'm talking about a cache
21:10:05 <davean> Like its not actually that much of a deal for most users
21:10:07 <omentic> oh yeah that tracks. but your distinction for a cache would be by cpu architecture + os, right
21:10:24 <davean> Thats not enough, thats just enough MOST of the time
21:11:00 <davean> It can be specific to a given install of an os
21:11:06 <omentic> but also from what you said earlier sounds like ghc needs all dependencies and such for the compiler to do its thing
21:11:26 <davean> GHC works with a consistent set of dependencies
21:11:42 <davean> so it only needs the dependencies of pandoc and your overall project to match
21:11:48 <davean> but it needs an equality match
21:12:07 <davean> I think a *binary result equality match* I THINK but I'm not sure there
21:13:54 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:14:36 <omentic> interesting ok
21:14:51 <davean> You CAN build this cache
21:15:02 <davean> and if you're layering it on top of stackage, the size explosion isn't so bad
21:15:05 <omentic> well, i'll try to fix the parallelism, then try to get caching working, but i'll have to do it a bit later
21:15:17 <omentic> thx for the help here yall
21:15:40 Googulator97 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
21:15:45 <davean> omentic: BTW what makes build times so bad for you? (I didn't read up)
21:16:08 × Googulator29 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
21:16:09 × Googulator97 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Client Quit)
21:16:18 Googulator97 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
21:18:34 × nerdychip quits (~nerdychip@user/nerdychip) (Read error: Connection reset by peer)
21:18:41 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
21:19:06 × ljdarj quits (~Thunderbi@user/ljdarj) (Quit: ljdarj)
21:19:55 × peterbecich quits (~Thunderbi@172.222.148.214) (Ping timeout: 256 seconds)
21:20:45 <haskellbridge> <sm> 2020 intel thinkpad possibly swapping
21:21:25 nerdychip joins (~nerdychip@212.129.72.100)
21:21:25 × nerdychip quits (~nerdychip@212.129.72.100) (Changing host)
21:21:25 nerdychip joins (~nerdychip@user/nerdychip)
21:25:39 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:30:42 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
21:32:24 × haltingsolver quits (~cmo@2604:3d09:207f:8000::d1dc) (Ping timeout: 256 seconds)
21:34:20 haltingsolver joins (~cmo@2604:3d09:207f:8000:d250:ea0c:366a:6e73)
21:35:30 × Googulator97 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
21:35:44 Googulator97 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
21:41:26 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:44:35 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection timed out)
21:44:51 × michalz quits (~michalz@185.246.207.221) (Remote host closed the connection)
21:46:25 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
21:49:11 × nerdychip quits (~nerdychip@user/nerdychip) (Read error: Connection reset by peer)
21:51:51 nerdychip joins (~nerdychip@212.129.72.100)
21:51:51 × nerdychip quits (~nerdychip@212.129.72.100) (Changing host)
21:51:51 nerdychip joins (~nerdychip@user/nerdychip)
21:52:55 weary-traveler joins (~user@user/user363627)
21:54:45 <segfaultfizzbuzz> https://discourse.haskell.org/t/ghc-now-runs-in-your-browser/13169 oh nice :-)
21:55:40 <segfaultfizzbuzz> it needs a dropdown box with some demo programs
21:55:42 Googulator78 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
21:55:47 × Googulator97 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
21:57:10 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:58:46 fp joins (~Thunderbi@216-165-247-67.championbroadband.com)
22:01:20 <segfaultfizzbuzz> i made it render a stierpinski triangle! pretty nice work folks!
22:01:24 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
22:02:08 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
22:04:25 foo3 is now known as Square2
22:12:23 gehmehgeh joins (~user@user/gehmehgeh)
22:12:57 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:13:04 × gmg quits (~user@user/gehmehgeh) (Killed (NickServ (Forcing logout gmg -> gehmehgeh)))
22:13:04 gehmehgeh is now known as gmg
22:13:56 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
22:19:34 × comonad quits (~comonad@p200300d02741a000c6934c09e8b46dfd.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
22:19:49 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
22:20:42 Googulator95 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
22:20:43 × Googulator78 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
22:21:37 × Square2 quits (~Square@user/square) (Ping timeout: 264 seconds)
22:26:39 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:26:52 tromp joins (~textual@2001:1c00:3487:1b00:5978:a504:f2fd:26f)
22:29:35 jmcantrell joins (~weechat@user/jmcantrell)
22:31:32 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
22:38:46 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 244 seconds)
22:40:43 × Googulator95 quits (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu) (Quit: Client closed)
22:40:56 Googulator95 joins (~Googulato@2a01-036d-0106-03fa-9dbb-a0af-2124-a319.pool6.digikabel.hu)
22:42:25 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:42:43 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
22:43:05 × nerdychip quits (~nerdychip@user/nerdychip) (Read error: Connection reset by peer)
22:47:12 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
22:49:42 × haltingsolver quits (~cmo@2604:3d09:207f:8000:d250:ea0c:366a:6e73) (Remote host closed the connection)
22:50:03 haltingsolver joins (~cmo@2604:3d09:207f:8000::d1dc)
22:53:13 × trickard_ quits (~trickard@cpe-54-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
22:53:27 trickard_ joins (~trickard@cpe-54-98-47-163.wireline.com.au)
22:58:11 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:58:24 × jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 244 seconds)
23:03:04 Zemy_ joins (~Zemy@2600:100c:b0a3:ce24:ecdf:96ff:fed5:d79e)
23:03:13 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
23:05:28 nerdychip joins (~nerdychip@212.129.72.100)
23:05:28 × nerdychip quits (~nerdychip@212.129.72.100) (Changing host)
23:05:28 nerdychip joins (~nerdychip@user/nerdychip)
23:07:13 × Zemy quits (~Zemy@72.178.108.235) (Ping timeout: 264 seconds)
23:13:04 × inline quits (~inline@2a02:8071:57a1:dc0:c33:90af:2d70:1d1d) (Quit: Leaving)
23:14:00 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:14:08 inline joins (~inline@2a02:8071:57a1:dc0:c33:90af:2d70:1d1d)
23:14:12 AlexNoo_ joins (~AlexNoo@178.34.160.166)
23:14:38 Zemy joins (~Zemy@mobile-107-80-206-97.mycingular.net)
23:15:48 × fp quits (~Thunderbi@216-165-247-67.championbroadband.com) (Ping timeout: 256 seconds)
23:17:31 × AlexZenon quits (~alzenon@85.174.182.61) (Ping timeout: 246 seconds)
23:17:52 × Zemy_ quits (~Zemy@2600:100c:b0a3:ce24:ecdf:96ff:fed5:d79e) (Ping timeout: 246 seconds)
23:18:01 × AlexNoo quits (~AlexNoo@85.174.182.61) (Ping timeout: 264 seconds)
23:18:17 emmanuelux joins (~emmanuelu@user/emmanuelux)
23:18:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
23:24:29 AlexZenon joins (~alzenon@178.34.160.166)
23:24:37 Zemy_ joins (~Zemy@2600:100c:b0a3:ce24:30bd:a1ff:fe63:415e)
23:26:03 Nachtgespenst joins (~user@user/siracusa)
23:27:40 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:28:00 × Zemy quits (~Zemy@mobile-107-80-206-97.mycingular.net) (Ping timeout: 256 seconds)
23:28:27 × tromp quits (~textual@2001:1c00:3487:1b00:5978:a504:f2fd:26f) (Quit: My iMac has gone to sleep. ZZZzzz…)
23:32:32 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
23:34:44 × pabs3 quits (~pabs3@user/pabs3) (Quit: Don't rest until all the world is paved in moss and greenery.)
23:35:05 Zemy joins (~Zemy@72.176.66.250)
23:37:04 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 256 seconds)
23:38:12 × Zemy_ quits (~Zemy@2600:100c:b0a3:ce24:30bd:a1ff:fe63:415e) (Ping timeout: 256 seconds)
23:39:23 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
23:43:50 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:46:06 pabs3 joins (~pabs3@user/pabs3)
23:54:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
23:55:14 × _________ quits (~nobody@user/noodly) (Ping timeout: 244 seconds)
23:56:04 _________ joins (~nobody@user/noodly)
23:56:33 Zemy_ joins (~Zemy@2600:100c:b0a3:ce24:b0d4:7aff:febe:a1f1)
23:59:23 L29Ah joins (~L29Ah@wikipedia/L29Ah)
23:59:42 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
23:59:44 × Zemy quits (~Zemy@72.176.66.250) (Ping timeout: 256 seconds)

All times are in UTC on 2025-10-30.