Home liberachat/#haskell: Logs Calendar

Logs on 2026-04-08 (liberachat/#haskell)

00:00:57 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
00:05:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
00:06:53 _testytest joins (19541d7ff8@irc.cheogram.com)
00:07:30 × craunts795335385 quits (~craunts@152.32.99.2) (Quit: The Lounge - https://thelounge.chat)
00:08:16 arandombit joins (~arandombi@user/arandombit)
00:16:26 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
00:21:40 × arandombit quits (~arandombi@user/arandombit) (Remote host closed the connection)
00:23:06 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
00:25:17 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
00:28:17 × tremon quits (~tremon@83.80.159.219) (Remote host closed the connection)
00:28:48 × xff0x quits (~xff0x@ai112096.d.east.v6connect.net) (Ping timeout: 255 seconds)
00:29:32 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
00:30:42 × acidjnk_new3 quits (~acidjnk@p200300d6e700e57155f396ad0c3fa022.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
00:33:01 arandombit joins (~arandombi@user/arandombit)
00:38:19 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 244 seconds)
00:46:42 peterbecich joins (~Thunderbi@71.84.33.135)
00:49:35 × traxex quits (traxex@user/traxex) (Ping timeout: 252 seconds)
01:06:26 arandombit joins (~arandombi@user/arandombit)
01:10:44 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 245 seconds)
01:11:04 xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
01:30:15 × vetkat quits (~vetkat@user/vetkat) (Read error: Connection reset by peer)
01:30:28 vetkat joins (~vetkat@user/vetkat)
01:30:54 × emmanuelux quits (~em@user/emmanuelux) (Quit: bye)
01:32:40 emmanuelux joins (~em@user/emmanuelux)
01:34:20 × emmanuelux quits (~em@user/emmanuelux) (Client Quit)
01:37:14 emmanuelux joins (~em@user/emmanuelux)
01:53:50 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
01:58:18 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
02:07:15 × peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 245 seconds)
02:09:19 merijn joins (~merijn@62.45.136.136)
02:13:58 × merijn quits (~merijn@62.45.136.136) (Ping timeout: 256 seconds)
02:21:03 pyook joins (~puke@user/puke)
02:21:03 puke is now known as Guest4209
02:21:03 pyook is now known as puke
02:23:18 × Guest4209 quits (~puke@user/puke) (Ping timeout: 250 seconds)
02:27:22 merijn joins (~merijn@62.45.136.136)
02:32:06 × merijn quits (~merijn@62.45.136.136) (Ping timeout: 255 seconds)
02:33:06 jmcantrell_ joins (~weechat@user/jmcantrell)
02:42:42 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
02:46:57 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
02:58:03 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
03:04:53 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
03:13:43 test-account joins (~test-acco@142.171.233.104)
03:15:44 test-account parts (~test-acco@142.171.233.104) ()
03:16:06 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
03:16:47 test-account joins (~test-acco@142.171.233.104)
03:20:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
03:21:51 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
03:25:51 test-account parts (~test-acco@142.171.233.104) ()
03:31:29 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
03:35:39 × nek0 quits (~nek0@user/nek0) (Quit: The Lounge - https://thelounge.chat)
03:36:08 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
03:40:18 × machinedgod quits (~machinedg@d172-219-48-230.abhsia.telus.net) (Ping timeout: 268 seconds)
03:41:52 nek0 joins (~nek0@user/nek0)
03:43:36 × dutchie quits (~dutchie@user/dutchie) (Remote host closed the connection)
03:44:57 dutchie joins (~dutchie@user/dutchie)
04:02:12 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
04:02:28 takuan joins (~takuan@d8D86B9E9.access.telenet.be)
04:06:33 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
04:08:59 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
04:13:38 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
04:24:19 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
04:26:01 karenw joins (~karenw@user/karenw)
04:27:07 peterbecich joins (~Thunderbi@71.84.33.135)
04:29:05 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
04:33:58 michalz joins (~michalz@185.246.207.221)
04:34:15 × haritz quits (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
04:39:42 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
04:42:49 × Googulator quits (~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu) (Quit: Client closed)
04:43:04 Googulator joins (~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu)
04:46:39 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
04:56:42 × puke quits (~puke@user/puke) (Ping timeout: 250 seconds)
04:57:45 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
05:00:00 poscat0x04 joins (~poscat@user/poscat)
05:02:07 × poscat quits (~poscat@user/poscat) (Ping timeout: 264 seconds)
05:02:10 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
05:08:19 synchrom1 joins (~john@2406:5a00:2412:2c00:915:5a48:7d6a:9a9f)
05:09:47 uli-fem joins (~uli-fem@115.128.112.118)
05:10:48 × synchromesh quits (~john@2406:5a00:2412:2c00:915:5a48:7d6a:9a9f) (Ping timeout: 246 seconds)
05:13:07 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
05:17:43 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
05:21:50 × takuan quits (~takuan@d8D86B9E9.access.telenet.be) (Ping timeout: 245 seconds)
05:24:02 × jmcantrell_ quits (~weechat@user/jmcantrell) (Ping timeout: 244 seconds)
05:25:06 × peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 248 seconds)
05:26:27 Lears joins (~Leary@user/Leary/x-0910699)
05:27:36 × Leary quits (~Leary@user/Leary/x-0910699) (Ping timeout: 246 seconds)
05:38:48 Lears is now known as Leary
05:41:07 × uli-fem quits (~uli-fem@115.128.112.118) (Ping timeout: 264 seconds)
05:43:51 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
05:48:07 × tusko quits (~uwu@user/tusko) (Remote host closed the connection)
05:48:14 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
05:48:25 tusko joins (~uwu@user/tusko)
05:56:18 peterbecich joins (~Thunderbi@71.84.33.135)
05:59:14 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
06:00:58 × divlamir quits (~divlamir@user/divlamir) (Read error: Connection reset by peer)
06:01:06 divlamir_ joins (~divlamir@user/divlamir)
06:01:57 divlamir_ is now known as divlamir
06:03:53 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
06:09:56 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
06:12:02 × tusko quits (~uwu@user/tusko) (Remote host closed the connection)
06:12:14 tusko joins (~uwu@user/tusko)
06:14:43 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
06:25:18 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
06:25:22 × Pozyomka quits (~pyon@user/pyon) (Ping timeout: 248 seconds)
06:31:57 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
06:39:39 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
06:43:21 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
06:43:21 × peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 248 seconds)
06:47:45 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
06:48:16 × YoungFrog quits (~youngfrog@2a02:a03f:ca07:f900:4452:7d8d:4d90:7a3c) (Ping timeout: 276 seconds)
06:50:52 tromp joins (~textual@2001:1c00:340e:2700:40b:fee9:5f81:6c1f)
06:51:06 YoungFrog joins (~youngfrog@2a02:a03f:ca07:f900:2d0c:5918:2bfa:eb5e)
06:57:19 CiaoSen joins (~Jura@p549cb690.dip0.t-ipconnect.de)
06:58:43 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
07:03:14 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
07:05:47 sord937 joins (~sord937@gateway/tor-sasl/sord937)
07:12:17 sord937_ joins (~sord937@gateway/tor-sasl/sord937)
07:15:31 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 265 seconds)
07:18:59 <gentauro> % concat $ Just []
07:18:59 <yahb2> []
07:19:06 <gentauro> % concat $ Nothing
07:19:06 <yahb2> []
07:22:37 acidjnk_new3 joins (~acidjnk@p200300d6e700e57180608d91043d28ce.dip0.t-ipconnect.de)
07:32:53 <ski> > concat [[[],[1,2],[3,4,5]],[[6,7,8,9],[10,11,12,13,14]],[[15,16,17,18,19,20]],[]]
07:32:55 <lambdabot> [[],[1,2],[3,4,5],[6,7,8,9],[10,11,12,13,14],[15,16,17,18,19,20]]
07:32:57 <ski> > map concat [[[],[1,2],[3,4,5]],[[6,7,8,9],[10,11,12,13,14]],[[15,16,17,18,19,20]],[]]
07:32:58 <lambdabot> [[1,2,3,4,5],[6,7,8,9,10,11,12,13,14],[15,16,17,18,19,20],[]]
07:40:46 × tromp quits (~textual@2001:1c00:340e:2700:40b:fee9:5f81:6c1f) (Quit: My iMac has gone to sleep. ZZZzzz…)
07:43:31 merijn joins (~merijn@77.242.116.146)
07:44:12 × p3n quits (~p3n@217.198.124.246) (Quit: ZNC 1.10.1 - https://znc.in)
07:47:28 tromp joins (~textual@2001:1c00:340e:2700:40b:fee9:5f81:6c1f)
07:48:16 p3n joins (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1)
07:52:30 × CiaoSen quits (~Jura@p549cb690.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
08:05:11 × sus032 quits (zero@user/zeromomentum) (Quit: the lounge - https://webirc.envs.net)
08:06:21 sus0322 joins (zero@user/zeromomentum)
08:10:34 × emmanuelux quits (~em@user/emmanuelux) (Quit: bye)
08:14:52 CiaoSen joins (~Jura@p549cb690.dip0.t-ipconnect.de)
08:20:25 × ft quits (~ft@p508db341.dip0.t-ipconnect.de) (Quit: leaving)
08:34:14 Square2 joins (~Square4@user/square)
08:37:28 × acidjnk_new3 quits (~acidjnk@p200300d6e700e57180608d91043d28ce.dip0.t-ipconnect.de) (Ping timeout: 276 seconds)
08:53:55 × YoungFrog quits (~youngfrog@2a02:a03f:ca07:f900:2d0c:5918:2bfa:eb5e) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in)
08:54:15 YoungFrog joins (~youngfrog@2a02:a03f:ca07:f900:2d0c:5918:2bfa:eb5e)
08:55:05 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 265 seconds)
09:00:50 ec joins (~ec@gateway/tor-sasl/ec)
09:08:08 × tessier_ quits (~tessier@ip68-8-117-219.sd.sd.cox.net) (Ping timeout: 268 seconds)
09:08:46 arandombit joins (~arandombi@2a02:2455:8656:7100:99bb:9d74:9380:7c76)
09:08:46 × arandombit quits (~arandombi@2a02:2455:8656:7100:99bb:9d74:9380:7c76) (Changing host)
09:08:46 arandombit joins (~arandombi@user/arandombit)
09:08:55 × arandombit quits (~arandombi@user/arandombit) (Remote host closed the connection)
09:12:45 traxex joins (traxex@user/traxex)
09:13:19 Dirk48 joins (~Dirk48@2a02:3100:89f6:c400:ee84:4a50:9d4c:364c)
09:17:20 × tromp quits (~textual@2001:1c00:340e:2700:40b:fee9:5f81:6c1f) (Read error: Connection reset by peer)
09:17:37 Guest64 joins (~Guest64@p5488236d.dip0.t-ipconnect.de)
09:22:45 × pandeyan quits (~pandeyan@192-184-251-84.fiber.dynamic.sonic.net) (Quit: ZNC 1.10.1 - https://znc.in)
09:24:17 anpad joins (~pandeyan@user/anpad)
09:29:19 tessier joins (~tessier@ip68-8-117-219.sd.sd.cox.net)
09:34:50 × jle` quits (~jle`@2603:8001:3b00:11:178c:4665:41b7:a15e) (Ping timeout: 256 seconds)
09:40:41 fp1 joins (~Thunderbi@staff237.kora-dyn.aalto.fi)
09:56:33 __monty__ joins (~toonn@user/toonn)
10:03:27 × CiaoSen quits (~Jura@p549cb690.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
10:05:09 CiaoSen joins (~Jura@p549cb690.dip0.t-ipconnect.de)
10:05:11 puke joins (~puke@user/puke)
10:11:33 × CiaoSen quits (~Jura@p549cb690.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
10:14:33 × xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 248 seconds)
10:23:37 rscastilho1 joins (~rscastilh@189.61.152.230)
10:27:17 × rscastilho1 quits (~rscastilh@189.61.152.230) ()
10:46:29 arandombit joins (~arandombi@user/arandombit)
10:51:47 srazkvt joins (~sarah@user/srazkvt)
11:07:28 Pozyomka joins (~pyon@user/pyon)
11:08:27 Teching joins (~Teching@206.57.199.232)
11:10:30 CiaoSen joins (~Jura@p549cb690.dip0.t-ipconnect.de)
11:13:03 xff0x joins (~xff0x@ai112096.d.east.v6connect.net)
11:14:41 haritz joins (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8)
11:14:41 × haritz quits (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host)
11:14:41 haritz joins (~hrtz@user/haritz)
11:15:49 <gentauro> % newtype FooBar = FooBar { foobar :: [Int] }; concatMap foobar Nothing; concatMap foobar $ Just $ FooBar []
11:15:49 <yahb2> <interactive>:47:46: error: [GHC-25277] ; Parse error: module header, import declaration ; or top-level declaration expected.
11:16:02 <gentauro> % newtype FooBar = FooBar { foobar :: [Int] }; concatMap foobar Nothing
11:16:02 <yahb2> <interactive>:49:46: error: [GHC-25277] ; Parse error: module header, import declaration ; or top-level declaration expected.
11:16:17 <gentauro> % newtype FooBar = FooBar { foobar :: [Int] }
11:16:17 <yahb2> <no output>
11:16:28 <gentauro> % concatMap foobar Nothing
11:16:28 <yahb2> []
11:16:36 <gentauro> % concatMap foobar $ Just $ FooBar []
11:16:36 <yahb2> []
11:16:39 <gentauro> % concatMap foobar $ Just $ FooBar [42]
11:16:39 <yahb2> [42]
11:17:45 × Teching quits (~Teching@206.57.199.232) (Quit: Client closed)
11:20:38 × synchrom1 quits (~john@2406:5a00:2412:2c00:915:5a48:7d6a:9a9f) (Read error: Connection reset by peer)
11:22:05 synchromesh joins (~john@2406:5a00:2412:2c00:8174:9ae9:efe0:c152)
11:36:31 <ski> at least write `f . g $ x', rather than `f $ g $ x'
11:36:56 ski would write `(f . g) x' or `f (g x)'
11:40:47 <ski> (if you write `f . g . h $ x', you can (because `.' is associative, `(f . g) . h = f . (g . h)') factor out `f . g' or `g . h' or `f . g . h' into its own definition. with `f $ g $ h $ x' you can't quite as easily do that refactoring (`$' is not associative))
12:07:52 × srazkvt quits (~sarah@user/srazkvt) (Quit: Konversation terminated!)
12:08:11 srazkvt joins (~sarah@user/srazkvt)
12:09:40 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
12:09:44 × arandombit quits (~arandombi@user/arandombit) (Remote host closed the connection)
12:10:14 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
12:16:22 tremon joins (~tremon@83.80.159.219)
12:20:19 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
12:23:24 agincio joins (~agincio@200.16.31.57)
12:41:07 arandombit joins (~arandombi@2a02:2455:8656:7100:f194:7daa:6f2:9206)
12:41:07 × arandombit quits (~arandombi@2a02:2455:8656:7100:f194:7daa:6f2:9206) (Changing host)
12:41:07 arandombit joins (~arandombi@user/arandombit)
12:42:56 × agincio quits (~agincio@200.16.31.57) (Quit: Client closed)
12:56:25 DetourNe- joins (~DetourNet@user/DetourNetworkUK)
12:56:28 × DetourNetworkUK quits (~DetourNet@user/DetourNetworkUK) (Read error: Connection reset by peer)
12:58:40 DetourNe- is now known as DetourNetworkUK
13:05:40 rekahsoft joins (~rekahsoft@bras-base-orllon1103w-grc-20-76-67-111-168.dsl.bell.ca)
13:10:17 × mangoiv quits (~mangoiv@user/mangoiv) (Quit: The Lounge - https://thelounge.chat)
13:11:11 mangoiv joins (~mangoiv@2a01:4f9:c012:6c0e::)
13:12:51 <tomsmeding> ski: on the other hand, in write-only code like something typed into ghci, the pattern "f $" is compositional, whereas with "f . g $ x" the operator to use depends on whether it's the last function to apply or any other
13:13:57 × Guest64 quits (~Guest64@p5488236d.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
13:16:47 × mangoiv quits (~mangoiv@2a01:4f9:c012:6c0e::) (Changing host)
13:16:47 mangoiv joins (~mangoiv@user/mangoiv)
13:18:59 ski would simply not use `$' at all, there
13:20:19 tomsmeding too
13:21:46 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
13:41:40 <gentauro> ski: what's F# pipe-opeator in Haskell? I recall they ported it so you could read code from left-to-right, top-down, just like you read "plain inglés"
13:41:59 <[exa]> gentauro: (&) ?
13:54:54 rscastilho1 joins (~rscastilh@user/rscastilho1)
14:03:07 × fp1 quits (~Thunderbi@staff237.kora-dyn.aalto.fi) (Ping timeout: 276 seconds)
14:11:42 <ski> "plain inglés" ?
14:11:45 × puke quits (~puke@user/puke) (Remote host closed the connection)
14:12:11 puke joins (~puke@user/puke)
14:13:26 × rscastilho1 quits (~rscastilh@user/rscastilho1) ()
14:13:35 × puke quits (~puke@user/puke) (Max SendQ exceeded)
14:14:05 puke joins (~puke@user/puke)
14:19:04 × Pozyomka quits (~pyon@user/pyon) (Quit: WeeChat 4.9.0)
14:19:15 AlexNoo_ joins (~AlexNoo@178.34.150.135)
14:19:50 × puke quits (~puke@user/puke) (Remote host closed the connection)
14:22:15 × AlexZenon quits (~alzenon@85.174.183.185) (Ping timeout: 268 seconds)
14:23:07 × AlexNoo quits (~AlexNoo@85.174.183.185) (Ping timeout: 264 seconds)
14:23:51 qqq joins (~qqq@185.54.23.237)
14:24:22 × Dirk48 quits (~Dirk48@2a02:3100:89f6:c400:ee84:4a50:9d4c:364c) (Ping timeout: 245 seconds)
14:26:58 × CiaoSen quits (~Jura@p549cb690.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
14:28:47 AlexZenon joins (~alzenon@178.34.150.135)
14:33:23 × DetourNetworkUK quits (~DetourNet@user/DetourNetworkUK) (Read error: Connection reset by peer)
14:34:48 DetourNetworkUK joins (~DetourNet@user/DetourNetworkUK)
14:36:42 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
14:39:20 jmcantrell_ joins (~weechat@user/jmcantrell)
14:42:16 machinedgod joins (~machinedg@d172-219-48-230.abhsia.telus.net)
14:44:27 Pozyomka joins (~pyon@user/pyon)
14:44:46 × Pozyomka quits (~pyon@user/pyon) (Client Quit)
14:47:55 Pozyomka joins (~pyon@user/pyon)
14:49:48 squid64 joins (~user@fsf/member/squid64)
14:53:06 danza joins (~danza@user/danza)
14:57:45 L29Ah joins (~L29Ah@wikipedia/L29Ah)
14:59:41 × arandombit quits (~arandombi@user/arandombit) (Remote host closed the connection)
15:04:54 Square3 joins (~Square@user/square)
15:07:49 × Square2 quits (~Square4@user/square) (Ping timeout: 245 seconds)
15:17:49 × itaipu quits (~itaipu@168.121.97.28) (Ping timeout: 272 seconds)
15:20:42 puke joins (~puke@user/puke)
15:23:39 <gentauro> [exa]: oh yeah, that's the one -> https://hackage-content.haskell.org/package/base-4.22.0.0/docs/Data-Function.html#v:-38-
15:25:19 <haskellbridge> <Bowuigi> Certified spanglish moment
15:26:52 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
15:28:37 <gentauro> Bowuigi: yes
15:28:59 <gentauro> ski: likes to code one way, and I code another
15:29:30 <gentauro> I wonder if it would be possible to have truly "semantic versining" in Haskell, just like `unison` has it -> «Semantic version control. Unison's version control is language-aware. There are no conflicts due to code formatting or whitespace, order of imports, order of definitions in a file, or any other differences that aren't semantically meaningful»
15:29:40 gentauro source: https://www.unison-lang.org/docs/what-problems-does-unison-solve/
15:30:00 itaipu joins (~itaipu@168.121.97.28)
15:31:09 Guest64 joins (~Guest64@p200300d91f498053c05238efee75214e.dip0.t-ipconnect.de)
15:31:34 × Guest64 quits (~Guest64@p200300d91f498053c05238efee75214e.dip0.t-ipconnect.de) (Client Quit)
15:31:44 Guest64 joins (~Guest64@p200300d91f498053c05238efee75214e.dip0.t-ipconnect.de)
15:32:48 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
15:42:51 × Guest64 quits (~Guest64@p200300d91f498053c05238efee75214e.dip0.t-ipconnect.de) (Quit: Client closed)
15:45:14 × rainbyte quits (~rainbyte@181.47.219.3) (Read error: Connection reset by peer)
15:46:12 rainbyte joins (~rainbyte@181.47.219.3)
15:47:04 Guest95 joins (~Guest62@p200300ca8f150300cb59ac8b4a97ad67.dip0.t-ipconnect.de)
15:50:32 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 256 seconds)
15:52:20 <danza> haskell already has semantic versioning, as far as i understand it. Version numbers should reflect a version's compatibility
15:53:09 <danza> some languages (elm?) have the version numbers calculated automatically depending on interface changes, but that's another story
15:55:25 <geekosaur> different application of "semantic": you're talking about exposed API, the usage here is code meaning whether exposed or not
15:56:46 <geekosaur> the former impacts compatibility, the latter is about VCS thrashing
15:58:15 <danza> oh i see. Cheers geekosaur
15:59:29 <geekosaur> so for a concrete example, cabal is still using an ancient fourmolu because if/when we upgrade and reformat the code base, backports will conflict due to whitespace changes and possibly line splitting
15:59:48 <geekosaur> this wouldn't happen with semantics-aware VC
16:00:07 × jmcantrell_ quits (~weechat@user/jmcantrell) (Ping timeout: 276 seconds)
16:00:25 <danza> yeah makes sense
16:01:30 <danza> but having a version control tool that is language-specific sounds too demanding to me. I would rather live without the feature
16:02:11 <c_wraith> the point of comparison, Unison, is an unusual one. It's not actually the version control that does that. It's the language itself.
16:02:44 <c_wraith> function calls are content-addressable.
16:02:48 AlexNoo_ is now known as AlexNoo
16:03:55 <c_wraith> this has its own downsides. If there's a bug in a function, fixing it means updating every place it was called by content.
16:07:27 <c_wraith> It also has awkward limitations. I believe it supports alpha renaming when determining if code is "the same", but not most other trivial refactorings of the token sequence.
16:08:18 <gentauro> danza: Elm has `syntactic versioning`. I think `unison` is the only one with "real" semantic versining
16:08:53 <c_wraith> I understand why. The problem quickly becomes intractable. But then you start to feel the limits in a way then doesn't seem much like an actual improvement.
16:09:07 <c_wraith> *that doesn't
16:10:33 <c_wraith> I really think gofmt is a better solution to the same problem. And I really don't like gofmt.
16:10:43 <gentauro> c_wraith: and danza I recall from a talk (example). If somebody defineds additions as `sum x y = x + y` and another person does it as `add a b = (+) a b`, then they have the same semantic versioning and would result in the same number (hash)
16:11:40 <danza> well that's what c_wraith has been chatting about, content-addressing
16:11:43 gentauro I'm guessing they have someking of "common ground" (for the sake of the example https://en.wikipedia.org/wiki/De_Bruijn_index) and that's how they can see if two snippets are the same
16:12:19 arandombit joins (~arandombi@user/arandombit)
16:14:33 <raincomplex> equivalence of two programs is undecidable in general, right
16:15:40 <c_wraith> yes
16:16:18 <c_wraith> and even a small set of simple transformations results in a massive potential combinatoric explosion
16:17:30 <c_wraith> (some things you can canonicalize away, like fully saturated prefix vs infix application. But other things aren't so easy.)
16:18:09 × danza quits (~danza@user/danza) (Remote host closed the connection)
16:20:14 × gmg quits (~user@user/gehmehgeh) (Ping timeout: 265 seconds)
16:22:19 gmg joins (~user@user/gehmehgeh)
16:22:50 acidjnk_new3 joins (~acidjnk@p200300d6e700e5545ef09a087c16a42c.dip0.t-ipconnect.de)
16:23:53 <gentauro> c_wraith: FP app -> de-Brujin index -> SKI -> normalize (optimal reduction/transformation): https://tromp.github.io/cl/cl.html
16:24:56 <gentauro> I'm just not aware if this only work for "very simple" logic
16:28:42 <c_wraith> It works decently well for structural changes, even things like pulling a subexpression into a local binding.
16:29:29 <c_wraith> But it can't handle any kind of change that relies on semantic properties.
16:29:37 qqq_ joins (~qqq@185.54.23.237)
16:31:05 <c_wraith> Is a + b the same as b + a? How about a + a and 2 * a?
16:31:36 <EvanR> pulls out a cross indexed table of "kinds of sameness"
16:32:03 <c_wraith> oh, deMorgan's laws!
16:32:33 <EvanR> definitional equality, propositional equality, etc
16:32:59 × qqq quits (~qqq@185.54.23.237) (Ping timeout: 267 seconds)
16:34:02 <c_wraith> It's not tractable to handle most of those equivalences in practical terms... well before you reach the undecidable cases.
16:35:07 × qqq_ quits (~qqq@185.54.23.237) (Ping timeout: 264 seconds)
16:35:40 qqq joins (~qqq@194.124.210.29)
16:39:06 × Guest95 quits (~Guest62@p200300ca8f150300cb59ac8b4a97ad67.dip0.t-ipconnect.de) (Quit: Client closed)
16:46:56 malte joins (~malte@mal.tc)
17:07:38 × srazkvt quits (~sarah@user/srazkvt) (Quit: Konversation terminated!)
17:13:12 <gentauro> c_wraith: I'm assuming that if they use the built-in operator `+` (which is commutative) well then it would be "the same". However, this will only work for very formal languages …
17:26:43 jle` joins (~jle`@2603:8001:3b00:11:2d70:9f38:ba84:72d9)
17:27:33 internatetional joins (~nate@180.243.3.227)
17:28:36 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
17:28:59 × internatetional quits (~nate@180.243.3.227) (Client Quit)
17:30:36 <gentauro> oh found it, IFCP 2016 (JP). Now we just add a bit of HoTT to find the equivalent paths and all good -> https://youtu.be/caSOTjr1z18?t=796 (13:16 ish)
17:36:28 st_aldini joins (~Betterbir@2605:a601:a07c:7426:a9c5:df0c:3e0f:b451)
17:39:51 L29Ah joins (~L29Ah@wikipedia/L29Ah)
17:41:55 ft joins (~ft@p508db341.dip0.t-ipconnect.de)
17:44:30 mngr_jia joins (~Username@2001:fd8:2746:575:79b7:eb57:cd2a:6b84)
17:44:32 mngr_jia hi, you want to earn huge money without any investments? check if legit.. https://tinyurl.com/4vhpsdkt
17:44:41 mngr_jia hi, you want to earn huge money without any investments? check if legit.. https://tinyurl.com/4vhpsdkt
17:44:49 mngr_jia parts (~Username@2001:fd8:2746:575:79b7:eb57:cd2a:6b84) (Closing Window)
17:55:56 srazkvt joins (~sarah@user/srazkvt)
18:01:39 Dirk48 joins (~Dirk48@2a02:3100:89f6:c400:ee84:4a50:9d4c:364c)
18:04:38 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 265 seconds)
18:04:55 × juri_ quits (~juri@217-114-215-140.pool.ovpn.com) (Ping timeout: 276 seconds)
18:05:05 ec joins (~ec@gateway/tor-sasl/ec)
18:06:24 juri_ joins (~juri@212.86.60.92)
18:08:06 × m quits (~travltux@user/travltux) (Quit: WeeChat 4.7.2)
18:09:17 m joins (~travltux@user/travltux)
18:11:59 × juri_ quits (~juri@212.86.60.92) (Ping timeout: 272 seconds)
18:12:52 juri_ joins (~juri@217-114-215-140.pool.ovpn.com)
18:14:51 × rekahsoft quits (~rekahsoft@bras-base-orllon1103w-grc-20-76-67-111-168.dsl.bell.ca) (Ping timeout: 255 seconds)
18:29:43 × qqq quits (~qqq@194.124.210.29) (Ping timeout: 264 seconds)
18:31:21 qqq joins (~qqq@185.54.23.237)
18:43:15 × Dirk48 quits (~Dirk48@2a02:3100:89f6:c400:ee84:4a50:9d4c:364c) (Quit: Client closed)
18:44:12 × st_aldini quits (~Betterbir@2605:a601:a07c:7426:a9c5:df0c:3e0f:b451) (Quit: st_aldini)
18:45:04 alter2000 joins (~alter2000@user/alter2000)
18:55:31 jmcantrell_ joins (~weechat@user/jmcantrell)
18:56:55 divlamir_ joins (~divlamir@user/divlamir)
18:59:43 × divlamir quits (~divlamir@user/divlamir) (Ping timeout: 264 seconds)
18:59:43 divlamir_ is now known as divlamir
19:07:40 Square2 joins (~Square4@user/square)
19:09:37 × Square3 quits (~Square@user/square) (Ping timeout: 272 seconds)
19:14:42 divlamir_ joins (~divlamir@user/divlamir)
19:16:20 × sord937_ quits (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection)
19:17:20 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
19:17:20 sord937 joins (~sord937@gateway/tor-sasl/sord937)
19:17:51 × divlamir quits (~divlamir@user/divlamir) (Ping timeout: 255 seconds)
19:17:51 divlamir_ is now known as divlamir
19:20:23 target_i joins (~target_i@user/target-i/x-6023099)
19:22:14 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
19:22:15 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 245 seconds)
19:24:27 × target_i quits (~target_i@user/target-i/x-6023099) (Ping timeout: 246 seconds)
19:25:42 target_i joins (~target_i@user/target-i/x-6023099)
19:27:11 emmanuelux joins (~em@user/emmanuelux)
19:33:07 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
19:38:06 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
19:38:06 × jmcantrell_ quits (~weechat@user/jmcantrell) (Ping timeout: 255 seconds)
19:39:46 × synchromesh quits (~john@2406:5a00:2412:2c00:8174:9ae9:efe0:c152) (Read error: Connection reset by peer)
19:40:58 synchromesh joins (~john@2406:5a00:2412:2c00:8174:9ae9:efe0:c152)
19:48:53 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
19:55:39 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
19:56:02 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 248 seconds)
19:56:16 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
19:59:09 Lord_of_Life_ is now known as Lord_of_Life
19:59:45 <EvanR> gentauro, nice framework, very powerful (and so universal decidability of equivalences is out the window)
20:03:56 arandombit joins (~arandombi@user/arandombit)
20:06:57 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
20:11:34 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
20:13:38 × Chai-T-Rex quits (~ChaiTRex@user/chaitrex) (Quit: Chai-T-Rex)
20:18:31 × jreicher quits (~joelr@user/jreicher) (Quit: In transit)
20:21:38 × karenw quits (~karenw@user/karenw) (Ping timeout: 248 seconds)
20:22:43 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
20:27:41 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
20:28:17 × michalz quits (~michalz@185.246.207.221) (Remote host closed the connection)
20:32:39 jmcantrell_ joins (~weechat@user/jmcantrell)
20:33:49 × srazkvt quits (~sarah@user/srazkvt) (Quit: Konversation terminated!)
20:37:50 emmanuelux_ joins (~em@2a02-8440-2506-0788-32cb-9733-4bb5-4804.rev.sfr.net)
20:38:10 × emmanuelux quits (~em@user/emmanuelux) (Ping timeout: 248 seconds)
20:38:53 merijn joins (~merijn@62.45.136.136)
20:43:30 × merijn quits (~merijn@62.45.136.136) (Ping timeout: 248 seconds)
20:43:57 emmanuelux joins (~em@user/emmanuelux)
20:44:44 × emmanuelux_ quits (~em@2a02-8440-2506-0788-32cb-9733-4bb5-4804.rev.sfr.net) (Ping timeout: 252 seconds)
20:54:17 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
20:59:26 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
21:10:05 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
21:14:51 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
21:16:15 × Hafydd quits (~Hafydd@user/hafydd) (Ping timeout: 244 seconds)
21:17:16 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 268 seconds)
21:17:42 arandombit joins (~arandombi@user/arandombit)
21:20:17 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
21:25:52 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
21:26:06 jreicher joins (~joelr@user/jreicher)
21:27:14 × itaipu quits (~itaipu@168.121.97.28) (Ping timeout: 248 seconds)
21:29:29 Hafydd joins (~Hafydd@user/hafydd)
21:32:33 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
21:36:41 pavonia joins (~user@user/siracusa)
21:43:54 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
21:48:18 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
21:59:25 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
22:05:03 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
22:12:02 × Hafydd quits (~Hafydd@user/hafydd) (Ping timeout: 248 seconds)
22:15:14 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
22:20:06 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
22:24:34 Hafydd joins (~Hafydd@user/hafydd)
22:24:42 × haritz quits (~hrtz@user/haritz) (Ping timeout: 246 seconds)
22:26:14 haritz joins (~hrtz@140.228.70.141)
22:27:57 × haritz quits (~hrtz@140.228.70.141) (Changing host)
22:27:57 haritz joins (~hrtz@user/haritz)
22:28:39 × jmcantrell_ quits (~weechat@user/jmcantrell) (Ping timeout: 255 seconds)
22:29:17 × haritz quits (~hrtz@user/haritz) (Excess Flood)
22:29:29 peterbecich joins (~Thunderbi@71.84.33.135)
22:31:01 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
22:31:13 haritz joins (~hrtz@140.228.70.141)
22:32:55 × haritz quits (~hrtz@140.228.70.141) (Changing host)
22:32:55 haritz joins (~hrtz@user/haritz)
22:35:51 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
22:38:32 × haritz quits (~hrtz@user/haritz) (Read error: Connection reset by peer)
22:38:43 haritzondo joins (~hrtz@140.228.70.141)
22:39:33 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
22:46:48 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
22:47:34 ChaiTRex joins (~ChaiTRex@user/chaitrex)
22:51:04 × Square2 quits (~Square4@user/square) (Remote host closed the connection)
22:51:18 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
22:51:39 Square2 joins (~Square4@user/square)
22:56:53 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
22:57:04 × redshuffle quits (~quassel@45.43.70.75) (Remote host closed the connection)
22:57:12 redshuffle joins (~quassel@45.43.70.75)
22:57:14 ChaiTRex joins (~ChaiTRex@user/chaitrex)
22:57:18 Sgeo joins (~Sgeo@user/sgeo)
23:03:28 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
23:06:40 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
23:10:10 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
23:16:37 × alter2000 quits (~alter2000@user/alter2000) (Quit: WeeChat 4.8.1)
23:21:29 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
23:26:27 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
23:36:14 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
23:36:34 ChaiTRex joins (~ChaiTRex@user/chaitrex)
23:36:59 × Square2 quits (~Square4@user/square) (Ping timeout: 245 seconds)
23:37:18 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
23:40:12 × peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 255 seconds)
23:42:34 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
23:50:51 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
23:55:35 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
23:59:12 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)

All times are in UTC on 2026-04-08.