2024-02-06 00:02:06 +0100 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2024-02-06 00:03:09 +0100 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-02-06 00:04:03 +0100 | mechap | (~mechap@user/mechap) (Ping timeout: 272 seconds) |
2024-02-06 00:05:30 +0100 | mechap | (~mechap@user/mechap) |
2024-02-06 00:09:53 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-02-06 00:10:30 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2024-02-06 00:12:17 +0100 | Square | (~Square@user/square) (Ping timeout: 272 seconds) |
2024-02-06 00:16:03 +0100 | lottaquestions | (~nick@2607:fa49:503d:b200:5126:8366:8f76:8d51) (Remote host closed the connection) |
2024-02-06 00:16:29 +0100 | lottaquestions | (~nick@2607:fa49:503d:b200:4163:3ce9:6b9:1e91) |
2024-02-06 00:21:17 +0100 | zmt00 | (~zmt00@user/zmt00) (Quit: Leaving) |
2024-02-06 00:24:15 +0100 | zmt00 | (~zmt00@user/zmt00) |
2024-02-06 00:24:31 +0100 | acidjnk_new | (~acidjnk@p200300d6e737e7151d48d69d15fdaa8c.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
2024-02-06 00:26:13 +0100 | mechap | (~mechap@user/mechap) (Ping timeout: 272 seconds) |
2024-02-06 00:27:49 +0100 | mechap | (~mechap@user/mechap) |
2024-02-06 00:27:49 +0100 | mechap | (~mechap@user/mechap) (Client Quit) |
2024-02-06 00:28:03 +0100 | mechap | (~mechap@user/mechap) |
2024-02-06 00:40:49 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.1) |
2024-02-06 00:44:25 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2024-02-06 00:49:23 +0100 | mud | (~mud@user/kadoban) |
2024-02-06 00:51:25 +0100 | JordiGH | (~jordi@user/jordigh) (Ping timeout: 264 seconds) |
2024-02-06 00:52:05 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2024-02-06 00:55:59 +0100 | santiagopim | (~user@90.167.66.131) (Ping timeout: 272 seconds) |
2024-02-06 00:56:32 +0100 | euleritian | (~euleritia@dynamic-176-005-154-182.176.5.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-02-06 00:56:48 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-02-06 01:01:46 +0100 | ubert1 | (~Thunderbi@p200300ecdf1f17e69387a4a1a7bc8e21.dip0.t-ipconnect.de) |
2024-02-06 01:02:57 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds) |
2024-02-06 01:02:57 +0100 | ubert | (~Thunderbi@p200300ecdf1f17a2e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2024-02-06 01:02:57 +0100 | ubert1 | ubert |
2024-02-06 01:03:42 +0100 | euleritian | (~euleritia@dynamic-176-005-154-182.176.5.pool.telefonica.de) |
2024-02-06 01:04:04 +0100 | euleritian | (~euleritia@dynamic-176-005-154-182.176.5.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-02-06 01:04:22 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-02-06 01:11:02 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2024-02-06 01:13:33 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving) |
2024-02-06 01:19:01 +0100 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 246 seconds) |
2024-02-06 01:25:04 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-95.elisa-laajakaista.fi) (Quit: Leaving.) |
2024-02-06 01:25:16 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2024-02-06 01:26:38 +0100 | rvalue | (~rvalue@user/rvalue) |
2024-02-06 01:26:44 +0100 | mud | (~mud@user/kadoban) (Quit: quit) |
2024-02-06 01:27:03 +0100 | mud | (~mud@user/kadoban) |
2024-02-06 01:36:27 +0100 | xff0x | (~xff0x@2405:6580:b080:900:626d:bbc7:8995:51b8) (Ping timeout: 260 seconds) |
2024-02-06 01:38:10 +0100 | xff0x | (~xff0x@2405:6580:b080:900:626d:bbc7:8995:51b8) |
2024-02-06 01:44:51 +0100 | mima | (~mmh@aftr-62-216-211-50.dynamic.mnet-online.de) (Ping timeout: 260 seconds) |
2024-02-06 01:57:17 +0100 | mud | (~mud@user/kadoban) (Quit: quit) |
2024-02-06 02:09:46 +0100 | xff0x | (~xff0x@2405:6580:b080:900:626d:bbc7:8995:51b8) (Ping timeout: 246 seconds) |
2024-02-06 02:11:52 +0100 | xff0x | (~xff0x@2405:6580:b080:900:b52c:33c8:5337:f03e) |
2024-02-06 02:13:23 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) |
2024-02-06 02:18:54 +0100 | JordiGH | (~jordi@user/jordigh) |
2024-02-06 02:30:35 +0100 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 264 seconds) |
2024-02-06 02:41:43 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 255 seconds) |
2024-02-06 02:41:54 +0100 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2024-02-06 02:43:16 +0100 | Lord_of_Life_ | Lord_of_Life |
2024-02-06 02:50:43 +0100 | JordiGH | (~jordi@user/jordigh) (Ping timeout: 256 seconds) |
2024-02-06 02:52:19 +0100 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
2024-02-06 02:56:40 +0100 | JordiGH | (~jordi@user/jordigh) |
2024-02-06 03:01:18 +0100 | mmhat | (~mmh@p200300f1c70328ebee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.2.1) |
2024-02-06 03:02:35 +0100 | TonyStone | (~TonyStone@074-076-057-186.res.spectrum.com) |
2024-02-06 03:13:25 +0100 | JordiGH | (~jordi@user/jordigh) (Ping timeout: 272 seconds) |
2024-02-06 03:21:23 +0100 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 252 seconds) |
2024-02-06 03:24:29 +0100 | otto_s | (~user@p5de2f1f9.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2024-02-06 03:26:34 +0100 | otto_s | (~user@p5b044c4b.dip0.t-ipconnect.de) |
2024-02-06 03:52:41 +0100 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 272 seconds) |
2024-02-06 03:58:57 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2024-02-06 04:04:16 +0100 | mei | (~mei@user/mei) (Ping timeout: 276 seconds) |
2024-02-06 04:16:58 +0100 | JordiGH | (~jordi@user/jordigh) |
2024-02-06 04:27:01 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 276 seconds) |
2024-02-06 04:35:28 +0100 | JordiGH | (~jordi@user/jordigh) (Ping timeout: 276 seconds) |
2024-02-06 04:38:58 +0100 | td_ | (~td@i53870920.versanet.de) (Ping timeout: 264 seconds) |
2024-02-06 04:40:42 +0100 | td_ | (~td@i53870914.versanet.de) |
2024-02-06 04:43:44 +0100 | rvalue | (~rvalue@user/rvalue) |
2024-02-06 04:45:56 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
2024-02-06 04:49:51 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 256 seconds) |
2024-02-06 04:54:49 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2024-02-06 05:00:48 +0100 | TonyStone | (~TonyStone@074-076-057-186.res.spectrum.com) (Quit: Leaving) |
2024-02-06 05:10:49 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds) |
2024-02-06 05:12:56 +0100 | jle` | (~jle`@2603-8001-3b02-84d4-658e-bfb3-e53b-7a11.res6.spectrum.com) |
2024-02-06 05:17:13 +0100 | igemnace | (~ian@user/igemnace) (Quit: WeeChat 4.2.1) |
2024-02-06 05:27:16 +0100 | bilegeek | (~bilegeek@2600:1008:b000:5ca6:a62a:d932:f340:351f) |
2024-02-06 05:32:19 +0100 | mmohammadi9812 | (~mohammad@85.185.33.112) |
2024-02-06 05:32:42 +0100 | jle` | (~jle`@2603-8001-3b02-84d4-658e-bfb3-e53b-7a11.res6.spectrum.com) (Quit: WeeChat 4.2.1) |
2024-02-06 05:36:13 +0100 | jle` | (~jle`@2603-8001-3b02-84d4-658e-bfb3-e53b-7a11.res6.spectrum.com) |
2024-02-06 05:45:40 +0100 | statusbot | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Read error: Connection reset by peer) |
2024-02-06 05:45:40 +0100 | statusbot5 | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) |
2024-02-06 05:54:12 +0100 | aforemny | (~aforemny@2001:9e8:6ce5:8100:8057:709d:76c5:eec) |
2024-02-06 05:54:23 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2024-02-06 05:55:37 +0100 | aforemny_ | (~aforemny@2001:9e8:6cc1:3e00:6eba:7874:227:7b7c) (Ping timeout: 260 seconds) |
2024-02-06 06:01:10 +0100 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2024-02-06 06:22:37 +0100 | jargon | (~jargon@123.sub-174-205-225.myvzw.com) |
2024-02-06 06:32:17 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 272 seconds) |
2024-02-06 06:32:52 +0100 | igemnace | (~ian@user/igemnace) |
2024-02-06 06:34:23 +0100 | mmohammadi9812 | (~mohammad@85.185.33.112) (Remote host closed the connection) |
2024-02-06 06:35:44 +0100 | <lockywolf> | How can I set up my own hackage server? |
2024-02-06 06:36:01 +0100 | <lockywolf> | Is there some guide? |
2024-02-06 06:36:07 +0100 | mulk | (~mulk@pd9514313.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2024-02-06 06:37:05 +0100 | mulk | (~mulk@pd9514313.dip0.t-ipconnect.de) |
2024-02-06 06:55:09 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-02-06 07:04:01 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-02-06 07:04:05 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-02-06 07:05:12 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-02-06 07:09:20 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-02-06 07:10:38 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-02-06 07:11:33 +0100 | bilegeek | (~bilegeek@2600:1008:b000:5ca6:a62a:d932:f340:351f) (Quit: Leaving) |
2024-02-06 07:11:39 +0100 | monochrom | (trebla@216.138.220.146) (Quit: ZNC 1.8.2+deb3.1 - https://znc.in) |
2024-02-06 07:13:25 +0100 | echoreply | (~echoreply@2001:19f0:9002:1f3b:5400:ff:fe6f:8b8d) (Quit: WeeChat 2.8) |
2024-02-06 07:14:47 +0100 | echoreply | (~echoreply@45.32.163.16) |
2024-02-06 07:16:58 +0100 | <[exa]> | lockywolf: more of a mirror or your own package set? |
2024-02-06 07:17:10 +0100 | <[exa]> | (anyway- https://hackage.haskell.org/package/hackage-server ) |
2024-02-06 07:17:14 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2024-02-06 07:17:53 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds) |
2024-02-06 07:18:18 +0100 | euleritian | (~euleritia@dynamic-176-006-199-097.176.6.pool.telefonica.de) |
2024-02-06 07:18:58 +0100 | <lockywolf> | there is a bug in hackage I need to fix |
2024-02-06 07:19:50 +0100 | pastly | (~pastly@gateway/tor-sasl/pastly) (Ping timeout: 255 seconds) |
2024-02-06 07:20:12 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-02-06 07:20:13 +0100 | <[exa]> | lockywolf: in the actual hackage server or in one of the packages? |
2024-02-06 07:20:36 +0100 | <lockywolf> | what does "in one of the packages" mean? |
2024-02-06 07:20:52 +0100 | <[exa]> | e.g. you installed a package from hackage and it has a bug, so you want to patch it |
2024-02-06 07:21:02 +0100 | <lockywolf> | no, I need to patch the hackage server |
2024-02-06 07:21:21 +0100 | <lockywolf> | otherwise I would have said "a bug in a haskell package" |
2024-02-06 07:21:26 +0100 | <[exa]> | ah ok, at that point that's the `hackage-server` package. I guess they accept pull requests somewhere |
2024-02-06 07:22:10 +0100 | zetef | (~quassel@95.77.17.251) |
2024-02-06 07:22:44 +0100 | pastly | (~pastly@gateway/tor-sasl/pastly) |
2024-02-06 07:24:20 +0100 | <lockywolf> | they do, but is there a guide somewhere how to run it? |
2024-02-06 07:24:28 +0100 | <lockywolf> | what database does it use? |
2024-02-06 07:24:32 +0100 | <lockywolf> | which webserver? |
2024-02-06 07:24:40 +0100 | <lockywolf> | or directory structure |
2024-02-06 07:24:50 +0100 | monochrom | (trebla@216.138.220.146) |
2024-02-06 07:26:06 +0100 | <[exa]> | lockywolf: not really explicitly but the github readme looks like it should work |
2024-02-06 07:31:47 +0100 | mjs2600 | (~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net) (Ping timeout: 264 seconds) |
2024-02-06 07:33:19 +0100 | chomwitt | (~chomwitt@2a02:587:7a10:cd00:1ac0:4dff:fedb:a3f1) |
2024-02-06 07:36:08 +0100 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection) |
2024-02-06 07:36:19 +0100 | euleritian | (~euleritia@dynamic-176-006-199-097.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-02-06 07:36:37 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-02-06 07:37:15 +0100 | pruiz | (~user@user/pruiz) |
2024-02-06 07:44:10 +0100 | bilegeek | (~bilegeek@2600:1008:b000:5ca6:a62a:d932:f340:351f) |
2024-02-06 07:48:23 +0100 | CrunchyFlakes | (~CrunchyFl@146.52.130.128) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-02-06 07:51:48 +0100 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) |
2024-02-06 07:53:20 +0100 | chomwitt | (~chomwitt@2a02:587:7a10:cd00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection) |
2024-02-06 07:57:15 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds) |
2024-02-06 07:57:45 +0100 | michalz | (~michalz@185.246.207.193) |
2024-02-06 07:59:22 +0100 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-02-06 08:01:39 +0100 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) |
2024-02-06 08:01:44 +0100 | luna | (bittin@triton.blinkenshell.org) |
2024-02-06 08:05:38 +0100 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2024-02-06 08:11:02 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-02-06 08:11:25 +0100 | Luj | (~Luj@2a01:e0a:5f9:9681:d6b1:fcd4:d7da:98b5) (Quit: Ping timeout (120 seconds)) |
2024-02-06 08:11:43 +0100 | Luj | (~Luj@2a01:e0a:5f9:9681:8e63:773e:be95:32c0) |
2024-02-06 08:14:21 +0100 | michalz | (~michalz@185.246.207.193) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-02-06 08:17:13 +0100 | michalz | (~michalz@185.246.207.222) |
2024-02-06 08:18:42 +0100 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-02-06 08:18:45 +0100 | todi | (~todi@p5dca5fa8.dip0.t-ipconnect.de) (Quit: ZNC - https://znc.in) |
2024-02-06 08:19:11 +0100 | Flow | (~none@gentoo/developer/flow) |
2024-02-06 08:21:10 +0100 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) |
2024-02-06 08:22:50 +0100 | mei | (~mei@user/mei) |
2024-02-06 08:23:06 +0100 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
2024-02-06 08:25:13 +0100 | <lisbeths> | Pls show your support for #lambdacalculus an anonymous untyped community |
2024-02-06 08:33:34 +0100 | mjs2600 | (~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net) |
2024-02-06 08:35:13 +0100 | zetef | (~quassel@95.77.17.251) (Ping timeout: 264 seconds) |
2024-02-06 08:44:32 +0100 | acidjnk_new | (~acidjnk@p200300d6e737e717c47e0b6ac190db01.dip0.t-ipconnect.de) |
2024-02-06 08:53:21 +0100 | xdminsy | (~xdminsy@117.147.71.221) |
2024-02-06 08:57:22 +0100 | mima | (~mmh@aftr-62-216-211-243.dynamic.mnet-online.de) |
2024-02-06 09:02:07 +0100 | chomwitt | (~chomwitt@2a02:587:7a10:cd00:1ac0:4dff:fedb:a3f1) |
2024-02-06 09:03:36 +0100 | cstml | (~cstml@user/cstml) |
2024-02-06 09:04:23 +0100 | cstml | (~cstml@user/cstml) (Client Quit) |
2024-02-06 09:04:42 +0100 | cstml | (~cstml@user/cstml) |
2024-02-06 09:05:11 +0100 | CiaoSen | (~Jura@2a05:5800:281:7e00:e6b9:7aff:fe80:3d03) |
2024-02-06 09:07:04 +0100 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-02-06 09:07:17 +0100 | todi | (~todi@p5dca5fa8.dip0.t-ipconnect.de) |
2024-02-06 09:09:43 +0100 | CrunchyFlakes | (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) |
2024-02-06 09:12:45 +0100 | luna | (bittin@triton.blinkenshell.org) () |
2024-02-06 09:12:49 +0100 | jargon | (~jargon@123.sub-174-205-225.myvzw.com) (Remote host closed the connection) |
2024-02-06 09:14:08 +0100 | chomwitt | (~chomwitt@2a02:587:7a10:cd00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection) |
2024-02-06 09:19:21 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-02-06 09:20:26 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-02-06 09:22:03 +0100 | danse-nr3 | (~danse@rm-19-53-86.service.infuturo.it) |
2024-02-06 09:22:05 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2024-02-06 09:22:19 +0100 | mobounce | (~mobivme@104.28.194.106) |
2024-02-06 09:26:56 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
2024-02-06 09:27:18 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2024-02-06 09:28:02 +0100 | mobounce | (~mobivme@104.28.194.106) (Max SendQ exceeded) |
2024-02-06 09:28:40 +0100 | danse-nr3 | (~danse@rm-19-53-86.service.infuturo.it) (Remote host closed the connection) |
2024-02-06 09:29:04 +0100 | danse-nr3 | (~danse@rm-19-53-86.service.infuturo.it) |
2024-02-06 09:29:51 +0100 | fendor | (~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) |
2024-02-06 09:31:26 +0100 | chomwitt | (~chomwitt@2a02:587:7a10:cd00:1ac0:4dff:fedb:a3f1) |
2024-02-06 09:31:28 +0100 | chomwitt | (~chomwitt@2a02:587:7a10:cd00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection) |
2024-02-06 09:31:35 +0100 | mobounce | (~mobivme@104.28.194.106) |
2024-02-06 09:31:45 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2024-02-06 09:33:15 +0100 | Lycurgus | (~georg@user/Lycurgus) (Quit: leaving) |
2024-02-06 09:40:55 +0100 | zetef | (~quassel@95.77.17.251) |
2024-02-06 09:45:13 +0100 | chomwitt | (~chomwitt@2a02:587:7a10:cd00:1ac0:4dff:fedb:a3f1) |
2024-02-06 09:47:01 +0100 | chomwitt | (~chomwitt@2a02:587:7a10:cd00:1ac0:4dff:fedb:a3f1) (Remote host closed the connection) |
2024-02-06 09:47:51 +0100 | danse-nr3 | (~danse@rm-19-53-86.service.infuturo.it) (Ping timeout: 260 seconds) |
2024-02-06 09:48:15 +0100 | danse-nr3 | (~danse@rm-19-53-86.service.infuturo.it) |
2024-02-06 09:52:35 +0100 | chele | (~chele@user/chele) |
2024-02-06 09:54:33 +0100 | zetef | (~quassel@95.77.17.251) (Ping timeout: 260 seconds) |
2024-02-06 09:56:30 +0100 | mobivme- | (~mobivme@104.28.194.104) |
2024-02-06 09:56:39 +0100 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-02-06 09:59:35 +0100 | mobounce | (~mobivme@104.28.194.106) (Ping timeout: 252 seconds) |
2024-02-06 10:06:39 +0100 | <ncf> | this is getting old |
2024-02-06 10:08:07 +0100 | xdminsy | (~xdminsy@117.147.71.221) (Read error: Connection reset by peer) |
2024-02-06 10:08:53 +0100 | cstml | (~cstml@user/cstml) (Ping timeout: 256 seconds) |
2024-02-06 10:09:20 +0100 | xdminsy | (~xdminsy@117.147.71.221) |
2024-02-06 10:15:26 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2024-02-06 10:16:09 +0100 | lortabac | (~lortabac@217.110.194.173) |
2024-02-06 10:17:07 +0100 | danse-nr3 | (~danse@rm-19-53-86.service.infuturo.it) (Ping timeout: 255 seconds) |
2024-02-06 10:18:06 +0100 | danse-nr3 | (~danse@151.46.181.213) |
2024-02-06 10:19:07 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 260 seconds) |
2024-02-06 10:20:48 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2024-02-06 10:23:08 +0100 | tzh | (~tzh@71.193.181.0) (Quit: zzz) |
2024-02-06 10:28:58 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2024-02-06 10:29:44 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2024-02-06 10:30:23 +0100 | lortabac | (~lortabac@217.110.194.173) (Ping timeout: 252 seconds) |
2024-02-06 10:37:11 +0100 | Square | (~Square@user/square) |
2024-02-06 10:38:32 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2024-02-06 10:39:17 +0100 | ubert | (~Thunderbi@p200300ecdf1f17e69387a4a1a7bc8e21.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2024-02-06 10:39:26 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
2024-02-06 10:39:47 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2024-02-06 10:42:32 +0100 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2024-02-06 10:44:26 +0100 | gentauro | (~gentauro@user/gentauro) |
2024-02-06 10:44:26 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2024-02-06 10:46:53 +0100 | danse-nr3 | (~danse@151.46.181.213) (Ping timeout: 240 seconds) |
2024-02-06 10:53:41 +0100 | danse-nr3 | (~danse@151.46.181.213) |
2024-02-06 10:56:21 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 256 seconds) |
2024-02-06 10:58:31 +0100 | adam-fuks | (~adam-fuks@public-gprs567556.centertel.pl) |
2024-02-06 11:02:43 +0100 | lortabac | (~lortabac@217.110.194.173) |
2024-02-06 11:10:13 +0100 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:c58d:d2f7:44e:5132) |
2024-02-06 11:11:28 +0100 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:c58d:d2f7:44e:5132) (Remote host closed the connection) |
2024-02-06 11:16:51 +0100 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:b79d:3d5b:19c8:ce18) |
2024-02-06 11:22:12 +0100 | Square3 | (~Square4@user/square) |
2024-02-06 11:23:57 +0100 | Square3 | (~Square4@user/square) (Client Quit) |
2024-02-06 11:24:26 +0100 | bilegeek | (~bilegeek@2600:1008:b000:5ca6:a62a:d932:f340:351f) (Quit: Leaving) |
2024-02-06 11:24:26 +0100 | Square3 | (~Square4@user/square) |
2024-02-06 11:25:15 +0100 | Square | (~Square@user/square) (Ping timeout: 256 seconds) |
2024-02-06 11:32:10 +0100 | mmhat | (~mmh@p200300f1c70328ebee086bfffe095315.dip0.t-ipconnect.de) |
2024-02-06 11:34:05 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds) |
2024-02-06 11:34:22 +0100 | euleritian | (~euleritia@dynamic-176-006-193-120.176.6.pool.telefonica.de) |
2024-02-06 11:40:46 +0100 | santiagopim | (~user@90.167.66.131) |
2024-02-06 11:45:58 +0100 | mmohammadi9812 | (~mohammad@85.185.33.238) |
2024-02-06 11:50:12 +0100 | __monty__ | (~toonn@user/toonn) |
2024-02-06 11:51:59 +0100 | lortabac | (~lortabac@217.110.194.173) (Ping timeout: 260 seconds) |
2024-02-06 11:57:33 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2024-02-06 11:58:44 +0100 | euleritian | (~euleritia@dynamic-176-006-193-120.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-02-06 11:59:02 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-02-06 12:02:26 +0100 | zetef | (~quassel@95.77.17.251) |
2024-02-06 12:02:47 +0100 | puke | (~puke@user/puke) (Ping timeout: 252 seconds) |
2024-02-06 12:06:55 +0100 | zetef | (~quassel@95.77.17.251) (Ping timeout: 255 seconds) |
2024-02-06 12:08:58 +0100 | mmohammadi9812 | (~mohammad@85.185.33.238) (Ping timeout: 246 seconds) |
2024-02-06 12:12:27 +0100 | puke | (~puke@user/puke) |
2024-02-06 12:16:57 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds) |
2024-02-06 12:17:38 +0100 | euleritian | (~euleritia@dynamic-176-006-193-120.176.6.pool.telefonica.de) |
2024-02-06 12:24:00 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
2024-02-06 12:24:29 +0100 | euleritian | (~euleritia@dynamic-176-006-193-120.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-02-06 12:24:35 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2024-02-06 12:24:47 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-02-06 12:24:47 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
2024-02-06 12:26:14 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2024-02-06 12:26:30 +0100 | billchenchina | (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) |
2024-02-06 12:26:35 +0100 | CiaoSen | (~Jura@2a05:5800:281:7e00:e6b9:7aff:fe80:3d03) (Ping timeout: 256 seconds) |
2024-02-06 12:27:47 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-02-06 12:28:13 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-02-06 12:31:42 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
2024-02-06 12:32:02 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2024-02-06 12:32:41 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds) |
2024-02-06 12:33:39 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-02-06 12:40:08 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2024-02-06 12:49:28 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2024-02-06 12:50:28 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2024-02-06 12:52:48 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-02-06 12:53:39 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-02-06 13:06:13 +0100 | danse-nr3 | (~danse@151.46.181.213) (Ping timeout: 272 seconds) |
2024-02-06 13:15:03 +0100 | foul_owl | (~kerry@185.216.231.179) (Ping timeout: 260 seconds) |
2024-02-06 13:18:15 +0100 | mei | (~mei@user/mei) (Ping timeout: 272 seconds) |
2024-02-06 13:28:16 +0100 | foul_owl | (~kerry@174-21-148-34.tukw.qwest.net) |
2024-02-06 13:29:01 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds) |
2024-02-06 13:29:21 +0100 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
2024-02-06 13:29:37 +0100 | euleritian | (~euleritia@dynamic-176-006-193-120.176.6.pool.telefonica.de) |
2024-02-06 13:33:50 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2024-02-06 13:34:33 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2024-02-06 13:35:40 +0100 | euleritian | (~euleritia@dynamic-176-006-193-120.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-02-06 13:35:57 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-02-06 13:36:32 +0100 | danse-nr3 | (~danse@151.57.19.6) |
2024-02-06 13:46:58 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2024-02-06 13:47:47 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2024-02-06 13:49:46 +0100 | <haskellbridge> | <Jade> why is this happening: |
2024-02-06 13:49:48 +0100 | <haskellbridge> | <Jade> readFile "foo" >>= \x -> appendFile "foo" "lol" |
2024-02-06 13:49:49 +0100 | <haskellbridge> | <Jade> *** Exception: foo: withFile: resource busy (file is locked) |
2024-02-06 13:50:06 +0100 | <lyxia> | lazy IO is happening |
2024-02-06 13:50:26 +0100 | <haskellbridge> | <Jade> (using `readFile'` has the same exact exception |
2024-02-06 13:50:52 +0100 | <lyxia> | someone else is using that file |
2024-02-06 13:50:59 +0100 | <haskellbridge> | <Jade> nope |
2024-02-06 13:51:07 +0100 | <haskellbridge> | <Jade> just the same process |
2024-02-06 13:51:35 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds) |
2024-02-06 13:51:46 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2024-02-06 13:51:52 +0100 | <haskellbridge> | <Jade> they all work fine by themselves, but using `readFile "foo" >> appendFile "foo" whatever` fails |
2024-02-06 13:52:04 +0100 | <mauke> | the readFile error is expected |
2024-02-06 13:52:12 +0100 | euleritian | (~euleritia@dynamic-176-006-193-120.176.6.pool.telefonica.de) |
2024-02-06 13:52:53 +0100 | <haskellbridge> | <Jade> the error is from the appendFile |
2024-02-06 13:52:57 +0100 | <mauke> | yes |
2024-02-06 13:53:06 +0100 | <sprout> | you probably need to close the file? |
2024-02-06 13:53:12 +0100 | <mauke> | no |
2024-02-06 13:53:13 +0100 | <int-e> | Yes because the file is still open to facilitate lazy IO. |
2024-02-06 13:53:36 +0100 | <haskellbridge> | <Jade> `readFile'` uses `hGetContents'` which closes the file |
2024-02-06 13:53:50 +0100 | <lyxia> | I just did readFile' "foo" >> appendFile "foo" "lol" and it worked. so, try that again? |
2024-02-06 13:54:10 +0100 | <int-e> | The Haskell handle will be in a "semi-closed" state. |
2024-02-06 13:54:27 +0100 | <mauke> | Jade: works here with readFile' |
2024-02-06 13:54:44 +0100 | <int-e> | And readFile' doesn't do lazy IO. |
2024-02-06 13:54:55 +0100 | igemnace | (~ian@user/igemnace) (Read error: Connection reset by peer) |
2024-02-06 13:55:05 +0100 | <haskellbridge> | <Jade> ... now it works too ... |
2024-02-06 13:55:06 +0100 | <haskellbridge> | <Jade> but I can see in my ghci history that I did that exact thing but still got the error |
2024-02-06 13:55:19 +0100 | <mauke> | did you do it immediately after the readFile attempt? |
2024-02-06 13:55:32 +0100 | euleritian | (~euleritia@dynamic-176-006-193-120.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-02-06 13:55:41 +0100 | <haskellbridge> | <Jade> I think so, so it might still have been semiClosed (?) |
2024-02-06 13:55:51 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-02-06 13:55:58 +0100 | <mauke> | yeah, readFile still had the handle open |
2024-02-06 13:56:08 +0100 | <haskellbridge> | <Jade> that makes sense, thank you |
2024-02-06 13:59:11 +0100 | <haskellbridge> | <irregularsphere> prob lazy io |
2024-02-06 13:59:54 +0100 | <haskellbridge> | <irregularsphere> i remember a function that's like `lazy deepseq` but i don't remember the name |
2024-02-06 14:03:23 +0100 | <haskellbridge> | <irregularsphere> actually lazy . deepseq i think |
2024-02-06 14:03:30 +0100 | <haskellbridge> | <irregularsphere> yeah i forgot the exact name |
2024-02-06 14:03:41 +0100 | <haskellbridge> | <irregularsphere> definitely not lazy . deepseq though |
2024-02-06 14:06:58 +0100 | <sprout> | did you change the contents of file 'foo' meanwhile? |
2024-02-06 14:07:10 +0100 | <haskellbridge> | <irregularsphere> thanks sm for posting the link (https://www.fpcomplete.com/haskell/tutorial/all-about-strictness/) it's `force` |
2024-02-06 14:07:11 +0100 | adam-fuks | (~adam-fuks@public-gprs567556.centertel.pl) (Read error: Connection reset by peer) |
2024-02-06 14:07:27 +0100 | <sprout> | when you make file foo empty it might just close the file immediately after a read |
2024-02-06 14:07:34 +0100 | sprout | just guessing here |
2024-02-06 14:08:09 +0100 | <haskellbridge> | <irregularsphere> i think he wants to read a file, append with something, write to file |
2024-02-06 14:10:12 +0100 | <haskellbridge> | <irregularsphere> yea NFData ain't helping this time |
2024-02-06 14:10:17 +0100 | <haskellbridge> | <irregularsphere> just do bangpatterns ig |
2024-02-06 14:10:36 +0100 | <haskellbridge> | <irregularsphere> i'm clueless at this point sorry for the vacuous advice |
2024-02-06 14:11:53 +0100 | igemnace | (~ian@user/igemnace) |
2024-02-06 14:14:16 +0100 | mobivme- | (~mobivme@104.28.194.104) (Remote host closed the connection) |
2024-02-06 14:14:51 +0100 | <danse-nr3> | i wrote this github.com/danse/prototypes/blob/master/Prototypes.hs#L20 long time ago when i had a similar problem. There could be a simpler solution |
2024-02-06 14:15:44 +0100 | <tomsmeding> | danse-nr3: for lines 22-24 one has readFile' now since ghc 9 |
2024-02-06 14:15:51 +0100 | mobivme | (~mobivme@104.28.194.104) |
2024-02-06 14:15:52 +0100 | mobivme | (~mobivme@104.28.194.104) (Changing host) |
2024-02-06 14:15:52 +0100 | mobivme | (~mobivme@user/mobivme) |
2024-02-06 14:15:58 +0100 | <tomsmeding> | and 25-28 looks like writeFile? |
2024-02-06 14:16:42 +0100 | <danse-nr3> | not sure whether i already had readFile and writeFile at the times, but reading and writing were stepping on each other's feet. Some day i will try again, thanks |
2024-02-06 14:18:50 +0100 | <danse-nr3> | oh had not noticed the ' |
2024-02-06 14:18:57 +0100 | <tomsmeding> | yes the ' is essential |
2024-02-06 14:19:02 +0100 | <danse-nr3> | yeah possibly readFile' is all that is needed now |
2024-02-06 14:19:06 +0100 | <tomsmeding> | and is there since ghc 9 |
2024-02-06 14:24:19 +0100 | mmohammadi9812 | (~mohammad@85.185.32.173) |
2024-02-06 14:27:51 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds) |
2024-02-06 14:28:32 +0100 | mobivme | (~mobivme@user/mobivme) (Ping timeout: 252 seconds) |
2024-02-06 14:29:11 +0100 | mobivme | (~mobivme@130.105.162.31) |
2024-02-06 14:31:17 +0100 | mmohammadi9812 | (~mohammad@85.185.32.173) (Ping timeout: 252 seconds) |
2024-02-06 14:32:02 +0100 | euleritian | (~euleritia@dynamic-176-002-146-101.176.2.pool.telefonica.de) |
2024-02-06 14:38:35 +0100 | euleritian | (~euleritia@dynamic-176-002-146-101.176.2.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-02-06 14:38:42 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-02-06 14:38:52 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-02-06 14:40:18 +0100 | underlap | (~underlap@50.224.125.91.dyn.plus.net) |
2024-02-06 14:43:45 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds) |
2024-02-06 14:44:17 +0100 | euleritian | (~euleritia@176.2.146.101) |
2024-02-06 14:44:39 +0100 | euleritian | (~euleritia@176.2.146.101) (Read error: Connection reset by peer) |
2024-02-06 14:44:57 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-02-06 14:56:34 +0100 | adam-fuks | (~adam-fuks@public-gprs567556.centertel.pl) |
2024-02-06 14:56:54 +0100 | <underlap> | I'm trying to understand type inference in Haskell. The wiki page (https://wiki.haskell.org/Type_inference|) talks only about inferring concrete types. But sometimes non-concrete types are inferred. For example, if `f :: Num a => a -> a`, then `map f :: Num a => [a] -> [a]`, so the compiler has inferred the type of `map f` without any concrete |
2024-02-06 14:56:55 +0100 | <underlap> | types being involved. Does anyone know of a better explanation of type inference in Haskell? In searching, I found some pretty deep/impenetrable papers, but not much else. |
2024-02-06 15:00:08 +0100 | mobivme | (~mobivme@130.105.162.31) (Changing host) |
2024-02-06 15:00:08 +0100 | mobivme | (~mobivme@user/mobivme) |
2024-02-06 15:00:49 +0100 | newsham | (~newsham@2603-800c-2c01-6825-0822-71ed-1aa2-f599.res6.spectrum.com) |
2024-02-06 15:02:38 +0100 | <kuribas> | underlap: you can think of constraint resolution as being separate of type inference. |
2024-02-06 15:03:24 +0100 | <kuribas> | underlap: first you infer types using HM, then later you verify the constraints. |
2024-02-06 15:05:48 +0100 | <kuribas> | underlap: or do you mean type variables? What would be the inferred type of "id x = x" without type variables? |
2024-02-06 15:05:55 +0100 | CiaoSen | (~Jura@2a05:5800:281:7e00:e6b9:7aff:fe80:3d03) |
2024-02-06 15:06:11 +0100 | <newsham> | If you wanted to define a function like `f :: (Bounded a, Bounded b) => Int -> (a, b)`, is haskell's type system powerful enough to let you call the `minBound` function parameterized by the `Bounded a` and `Bounded b` types?. Haskell resolves the types for a and b and the dictionaries for Bounded a and Bounded b, but how could you reference them |
2024-02-06 15:06:12 +0100 | <newsham> | inside a function definition? |
2024-02-06 15:07:31 +0100 | mechap | (~mechap@user/mechap) (Ping timeout: 256 seconds) |
2024-02-06 15:07:50 +0100 | danse-nr3 | (~danse@151.57.19.6) (Remote host closed the connection) |
2024-02-06 15:08:13 +0100 | danse-nr3 | (~danse@151.57.19.6) |
2024-02-06 15:09:07 +0100 | <kuribas> | newsham: just call the minBound function? |
2024-02-06 15:09:24 +0100 | <kuribas> | it will take the function from the dictionary based on the inferred type. |
2024-02-06 15:09:24 +0100 | mechap | (~mechap@user/mechap) |
2024-02-06 15:09:30 +0100 | <underlap> | kuribas: I think I understand type variables. I'm not sure I understand the sequence you describe. Are you saying my example demonstrates constraint resolution? That seems to be before (concrete) types are inferred in this case. |
2024-02-06 15:09:55 +0100 | <kuribas> | underlap: by concrete you mean monomorphic? |
2024-02-06 15:10:49 +0100 | <underlap> | I guess so, but I'm actually using the term from the wiki page on type inference. |
2024-02-06 15:11:14 +0100 | <ncf> | that page is not very precise |
2024-02-06 15:11:16 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-02-06 15:11:24 +0100 | <underlap> | ncf: tell me about it :-) |
2024-02-06 15:11:57 +0100 | <mauke> | :t let f n | n == (0 :: Int) = (minBound, minBound) in f |
2024-02-06 15:11:58 +0100 | <lambdabot> | (Bounded a, Bounded b) => Int -> (a, b) |
2024-02-06 15:12:11 +0100 | <kuribas> | underlap: Why would you expect it to infer a monomorphic type, when the function is polymorphic? |
2024-02-06 15:12:21 +0100 | hippoid | (~hippoid@c-98-213-162-40.hsd1.il.comcast.net) (Ping timeout: 260 seconds) |
2024-02-06 15:12:37 +0100 | <kuribas> | underlap: HM inference can infer polymorphic functions. |
2024-02-06 15:12:54 +0100 | <kuribas> | but not rank-N polymorphism. |
2024-02-06 15:13:00 +0100 | <underlap> | ncf: I'm looking for a decent definition of type inference that doesn't involve deep HM papers or 23-part series of articles ;-) |
2024-02-06 15:13:08 +0100 | <ncf> | https://en.wikipedia.org/wiki/Hindley%E2%80%93Milner_type_system ? |
2024-02-06 15:13:13 +0100 | <kuribas> | underlap: well, it infers the type :) |
2024-02-06 15:13:25 +0100 | <kuribas> | underlap: if you don't give a type, it will find it from the context. |
2024-02-06 15:13:49 +0100 | <kuribas> | underlap: the way this works is similar to unification in prolog, if you are familiar with that. |
2024-02-06 15:14:04 +0100 | <underlap> | kuribas: I'm not expecting it to infer a monomorphic type. That's the wiki's idea. |
2024-02-06 15:14:09 +0100 | <newsham> | mauke: sure, but can the function be constructed polymorphically? |
2024-02-06 15:14:12 +0100 | hippoid | (~hippoid@c-98-213-162-40.hsd1.il.comcast.net) |
2024-02-06 15:14:16 +0100 | <mauke> | newsham: ?? |
2024-02-06 15:14:42 +0100 | <underlap> | kuribas: I'm not familiar with prolog. (I only dipped my toe in 30+ years ago) |
2024-02-06 15:15:45 +0100 | <kuribas> | underlap: well, the definition is just that it gives you the type if you give it none. |
2024-02-06 15:16:15 +0100 | billchenchina | (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Remote host closed the connection) |
2024-02-06 15:16:18 +0100 | mei | (~mei@user/mei) |
2024-02-06 15:16:23 +0100 | poscat | (~poscat@user/poscat) (Ping timeout: 252 seconds) |
2024-02-06 15:18:36 +0100 | <newsham> | mauke: notice my original signature `f :: (Bounded a, Bounded b) => Int -> (a, b)` has different a and b. |
2024-02-06 15:18:50 +0100 | <newsham> | and not a return type of (Int, Int) |
2024-02-06 15:19:06 +0100 | <newsham> | hmm.. i'm not asking my question well. |
2024-02-06 15:19:27 +0100 | <newsham> | i'm trying to simpify the question and messing it up. |
2024-02-06 15:19:28 +0100 | <mauke> | <+lambdabot> (Bounded a, Bounded b) => Int -> (a, b) |
2024-02-06 15:19:39 +0100 | <mauke> | what's the difference? |
2024-02-06 15:19:57 +0100 | <underlap> | kuribas: That's a start, but I don't think it's the whole definition. The big question is: which type does it (GHC or the Haskell standard, take your pick) infer in any given situation? (Presumably there are examples where it's not obvious without some understanding of the rules involved.) |
2024-02-06 15:22:24 +0100 | <kuribas> | underlap: the most general type. But not including type extensions like rank-N types. |
2024-02-06 15:25:17 +0100 | <underlap> | kuribas: thanks. I hope that "the most general type" is actually unique in any given situation. Must think more about this. Cheers. |
2024-02-06 15:25:57 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-02-06 15:26:10 +0100 | <ncf> | it is as long as you stick with basic hindley-milner (so, rank-1 polymorphism) |
2024-02-06 15:27:10 +0100 | <underlap> | ncf: that's good to know. If you have a reference for that, I'd appreciate it. |
2024-02-06 15:27:38 +0100 | <newsham> | ok, lets say I want. `f :: (Bounded a, Bounded b) -> Either a b -> (a, b)` with `f _ = (minBound :: a, minBound :: b)` |
2024-02-06 15:28:12 +0100 | <ncf> | underlap: https://en.wikipedia.org/wiki/Principal_type would be a start |
2024-02-06 15:28:39 +0100 | <ncf> | newsham: are you okay with using GHC language extensions? |
2024-02-06 15:28:44 +0100 | <newsham> | hmm.. no thats not a great way to ask this either.. hrm.. |
2024-02-06 15:28:53 +0100 | <ncf> | if so, scoped type variables + explicit foralls + type applications should do it |
2024-02-06 15:28:55 +0100 | <underlap> | ncf: nice! thank you |
2024-02-06 15:29:18 +0100 | <newsham> | yes, haskell extensions are ok |
2024-02-06 15:29:24 +0100 | <mauke> | :t let f x = case x of { Left a -> (a, minBound); Right b -> (minBound, b) } in f |
2024-02-06 15:29:25 +0100 | <lambdabot> | (Bounded b, Bounded a) => Either a b -> (a, b) |
2024-02-06 15:30:16 +0100 | <ncf> | that doesn't seem to fit the spec, mauke |
2024-02-06 15:30:46 +0100 | <ncf> | wait... |
2024-02-06 15:30:52 +0100 | <ncf> | you don't need extensions at all, sorry |
2024-02-06 15:30:52 +0100 | underlap | (~underlap@50.224.125.91.dyn.plus.net) (Quit: Client closed) |
2024-02-06 15:31:49 +0100 | <ncf> | % f :: (Bounded a, Bounded b) => Either a b -> (a, b); f _ = (minBound, minBound) |
2024-02-06 15:31:49 +0100 | <yahb2> | <no output> |
2024-02-06 15:32:02 +0100 | <ncf> | this just works |
2024-02-06 15:32:51 +0100 | <ncf> | newsham: were you asking how to do that without a type signature? |
2024-02-06 15:33:19 +0100 | <newsham> | ok, let me stop trying to dumb down my question and just offer this: https://paste.tomsmeding.com/3BKn3FU4 |
2024-02-06 15:33:19 +0100 | <newsham> | I'm trying to convert Enum/Boundeds, and pairs, and sums into integers. This is more of an exercise for myself than anything else. Since I cant pass around the type class dictionaries directly (at least not without a lot of work), I just started passing around dummy values as a type witness.. but that doesnt work when you get to sum types. |
2024-02-06 15:34:15 +0100 | <newsham> | if haskell had something where I could reference a known type from the signature (ie `minBound :: a` where a is from the constraints) this would be easier. |
2024-02-06 15:35:14 +0100 | <mauke> | it does: scoped type variables |
2024-02-06 15:35:17 +0100 | mmhat | (~mmh@p200300f1c70328ebee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2024-02-06 15:35:28 +0100 | <newsham> | so it sounds like thats what i'm asking about :) |
2024-02-06 15:35:50 +0100 | <newsham> | i'll go read the manual on that. thank you. |
2024-02-06 15:36:13 +0100 | <mauke> | https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/scoped_type_variables.html |
2024-02-06 15:36:29 +0100 | infinity0 | (~infinity0@pwned.gg) (Remote host closed the connection) |
2024-02-06 15:38:12 +0100 | pruiz | (~user@user/pruiz) (Remote host closed the connection) |
2024-02-06 15:38:26 +0100 | pruiz | (~user@user/pruiz) |
2024-02-06 15:39:10 +0100 | <mauke> | :t let f x = minBound `asTypeOf` resultOf f where { resultOf :: (a -> b) -> b; resultOf = undefined } in f |
2024-02-06 15:39:11 +0100 | <lambdabot> | Bounded a1 => a2 -> a1 |
2024-02-06 15:39:21 +0100 | <mauke> | :t let f x = minBound `asTypeOf` resultOf x where { resultOf :: (a -> b) -> b; resultOf = undefined } in f |
2024-02-06 15:39:22 +0100 | <lambdabot> | Bounded a1 => (a2 -> a1) -> a1 |
2024-02-06 15:39:40 +0100 | infinity0 | (~infinity0@pwned.gg) |
2024-02-06 15:44:33 +0100 | acidjnk_new | (~acidjnk@p200300d6e737e717c47e0b6ac190db01.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2024-02-06 15:46:37 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds) |
2024-02-06 15:47:42 +0100 | euleritian | (~euleritia@dynamic-176-001-135-201.176.1.pool.telefonica.de) |
2024-02-06 15:49:44 +0100 | mmhat | (~mmh@p200300f1c7032843ee086bfffe095315.dip0.t-ipconnect.de) |
2024-02-06 15:50:21 +0100 | mxs | (~mxs@user/mxs) (Quit: The Lounge - https://thelounge.chat) |
2024-02-06 15:51:35 +0100 | newsham | (~newsham@2603-800c-2c01-6825-0822-71ed-1aa2-f599.res6.spectrum.com) (Quit: Client closed) |
2024-02-06 15:55:09 +0100 | rekahsoft | (~rekahsoft@70.51.99.248) |
2024-02-06 16:00:20 +0100 | newsham | (~newsham@2603-800c-2c01-6825-0822-71ed-1aa2-f599.res6.spectrum.com) |
2024-02-06 16:00:25 +0100 | <newsham> | thank you, the scoped type variables are working well for me. |
2024-02-06 16:04:45 +0100 | mima | (~mmh@aftr-62-216-211-243.dynamic.mnet-online.de) (Ping timeout: 256 seconds) |
2024-02-06 16:05:22 +0100 | EvanR | (~EvanR@user/evanr) (Remote host closed the connection) |
2024-02-06 16:06:03 +0100 | EvanR | (~EvanR@user/evanr) |
2024-02-06 16:10:47 +0100 | <tomsmeding> | I'm depending on a library exporting a data type with many constructors; in a recent new version, a new constructor was added. I'd like my code to work with both library versions, which is not a problem with CPP, but I'd like to restrict CPP to a small module in my code. Defining a pattern synonym there is annoying because I have to add a COMPLETE pragma with like 30 alternatives. Is there a |
2024-02-06 16:10:49 +0100 | <tomsmeding> | better alternative that I'm missing? |
2024-02-06 16:11:07 +0100 | zetef | (~quassel@95.77.17.251) |
2024-02-06 16:11:28 +0100 | bliminse | (~bliminse@user/bliminse) (Ping timeout: 256 seconds) |
2024-02-06 16:12:25 +0100 | danse-nr3 | (~danse@151.57.19.6) (Ping timeout: 272 seconds) |
2024-02-06 16:12:28 +0100 | pruiz | (~user@user/pruiz) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1)) |
2024-02-06 16:12:46 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) |
2024-02-06 16:13:23 +0100 | bliminse | (~bliminse@user/bliminse) |
2024-02-06 16:13:53 +0100 | zetef | (~quassel@95.77.17.251) (Remote host closed the connection) |
2024-02-06 16:15:14 +0100 | mobivme | (~mobivme@user/mobivme) (Ping timeout: 252 seconds) |
2024-02-06 16:16:42 +0100 | danse-nr3 | (~danse@151.57.19.6) |
2024-02-06 16:17:09 +0100 | <newsham> | yay! thank you mauke! https://paste.tomsmeding.com/zKfjb7V6 |
2024-02-06 16:23:18 +0100 | <newsham> | using undefined feels a little dirty.. but oh well. |
2024-02-06 16:23:58 +0100 | <newsham> | is there a way to make a Numerate instance for Enum without wrapping the types? i tried using the undecidable instances but it blew up in my face. |
2024-02-06 16:28:47 +0100 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2024-02-06 16:33:31 +0100 | gabiruh | (~gabiruh@vps19177.publiccloud.com.br) |
2024-02-06 16:33:40 +0100 | <c_wraith> | newsham: You can avoid using undefined by changing the type of sizeW in several different ways. You could make it `proxy a -> Integer' or `(Integer, Proxy a)' to avoid using extensions. (The different capitalization is intentional) |
2024-02-06 16:35:13 +0100 | <c_wraith> | newsham: or you can use several extensions so that you can define it as `sizeW :: Integer' and then your uses of it will look like `sizeW @(Wrap Bool)' or whatever |
2024-02-06 16:36:38 +0100 | <newsham> | proxy makes sense. I dont understand the @(..). is that an extension? |
2024-02-06 16:36:42 +0100 | <c_wraith> | Yes |
2024-02-06 16:40:12 +0100 | <c_wraith> | You need AllowAmbiguousTypes for the definition to compile, and then TypeApplications for the use to compile |
2024-02-06 16:40:24 +0100 | <newsham> | cool. changed to usiing proxy.. without the \@ extension. |
2024-02-06 16:40:32 +0100 | <c_wraith> | makes sense |
2024-02-06 16:40:48 +0100 | <newsham> | thank you |
2024-02-06 16:41:21 +0100 | <newsham> | is there a reasonable way to do `instance forall a. (Enum a, Bounded a) => Numerate (Wrap a) where` without the Wrap? |
2024-02-06 16:41:24 +0100 | <c_wraith> | And for your other question, no. There's no way to express "everything with an instance of Foo also has an instance of Bar" |
2024-02-06 16:41:48 +0100 | <newsham> | i figured. oh well. |
2024-02-06 16:42:05 +0100 | <c_wraith> | I've come around to thinking that's secretly a good thing, not just technically necessary. |
2024-02-06 16:42:37 +0100 | <c_wraith> | It means types only have instances for stuff that is explicitly specified. |
2024-02-06 16:43:13 +0100 | <c_wraith> | And I've run into some cases where it makes me very happy to know that instances don't just magically appear - you have to opt in |
2024-02-06 16:44:44 +0100 | <newsham> | perhaps a better way would be for me to define Bounded and Enum over pairs and sums, and then write the numerate stuff as parametric polymorphic functions over bounded and enums.. |
2024-02-06 16:45:53 +0100 | <newsham> | impl would be uglier but it wouldnt require wrapped stuff |
2024-02-06 16:48:10 +0100 | <danse-nr3> | you can define instances implied by some other more specific class. For instance you could have that `instance MyClass => Bounded` and `instance MyClass => Enum`, if your class is more specific than those |
2024-02-06 16:50:18 +0100 | <c_wraith> | danse-nr3: You really can't write `instance Foo a => Bar a' in a useful way. It overlaps everything, because instance heads aren't considered. (and can't be, for technical reasons) |
2024-02-06 16:52:00 +0100 | <danse-nr3> | cool i think i saw it around but maybe i am mistaken |
2024-02-06 16:52:29 +0100 | euleritian | (~euleritia@dynamic-176-001-135-201.176.1.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-02-06 16:52:47 +0100 | euleritian | (~euleritia@77.22.252.56) |
2024-02-06 17:03:24 +0100 | acidjnk_new | (~acidjnk@p200300d6e737e714747a0600998052c8.dip0.t-ipconnect.de) |
2024-02-06 17:04:02 +0100 | <newsham> | oh, blah, I remember why i didnt want everything to be Enum.. because Enum converts to Int, not Integer. |
2024-02-06 17:09:28 +0100 | qqq | (~qqq@92.43.167.61) (Remote host closed the connection) |
2024-02-06 17:16:32 +0100 | JordiGH | (~jordi@user/jordigh) |
2024-02-06 17:17:17 +0100 | jelewis2 | (~lewisje@74.215.19.22) (Ping timeout: 240 seconds) |
2024-02-06 17:20:59 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 260 seconds) |
2024-02-06 17:23:50 +0100 | joes_ | (~joes@dyndsl-095-033-021-107.ewe-ip-backbone.de) |
2024-02-06 17:25:17 +0100 | joes_ | (~joes@dyndsl-095-033-021-107.ewe-ip-backbone.de) (Changing host) |
2024-02-06 17:25:17 +0100 | joes_ | (~joes@hardfought/member/joes) |
2024-02-06 17:27:11 +0100 | <haskellbridge> | <Jade> c_wraith: isn't that often the case with list? i.e. `instance Eq a => Eq [a]` |
2024-02-06 17:27:40 +0100 | <haskellbridge> | <Jade> ah no, that is another type entirely |
2024-02-06 17:27:44 +0100 | <haskellbridge> | <Jade> mb |
2024-02-06 17:29:44 +0100 | danse-nr3 | (~danse@151.57.19.6) (Read error: Connection reset by peer) |
2024-02-06 17:29:53 +0100 | danse-nr3 | (~danse@151.43.36.55) |
2024-02-06 17:30:08 +0100 | erty | (~user@user/aeroplane) |
2024-02-06 17:33:40 +0100 | newsham | (~newsham@2603-800c-2c01-6825-0822-71ed-1aa2-f599.res6.spectrum.com) (Quit: Client closed) |
2024-02-06 17:37:16 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) |
2024-02-06 17:51:16 +0100 | CiaoSen | (~Jura@2a05:5800:281:7e00:e6b9:7aff:fe80:3d03) (Ping timeout: 246 seconds) |
2024-02-06 17:51:58 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2024-02-06 17:58:05 +0100 | JordiGH | (~jordi@user/jordigh) (Ping timeout: 240 seconds) |
2024-02-06 18:02:02 +0100 | todi | (~todi@p5dca5fa8.dip0.t-ipconnect.de) (Quit: ZNC - https://znc.in) |
2024-02-06 18:02:39 +0100 | igemnace | (~ian@user/igemnace) (Quit: WeeChat 4.2.1) |
2024-02-06 18:04:52 +0100 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2024-02-06 18:05:09 +0100 | danse-nr3 | (~danse@151.43.36.55) (Ping timeout: 272 seconds) |
2024-02-06 18:09:32 +0100 | benkard | (~mulk@pd9514313.dip0.t-ipconnect.de) |
2024-02-06 18:10:46 +0100 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2024-02-06 18:10:53 +0100 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:b79d:3d5b:19c8:ce18) (Remote host closed the connection) |
2024-02-06 18:11:13 +0100 | mulk | (~mulk@pd9514313.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
2024-02-06 18:11:13 +0100 | benkard | mulk |
2024-02-06 18:20:06 +0100 | joes_ | (~joes@hardfought/member/joes) (Ping timeout: 268 seconds) |
2024-02-06 18:20:49 +0100 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 264 seconds) |
2024-02-06 18:21:59 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Read error: Connection reset by peer) |
2024-02-06 18:22:37 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2024-02-06 18:25:26 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
2024-02-06 18:26:41 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2024-02-06 18:28:36 +0100 | chele | (~chele@user/chele) (Remote host closed the connection) |
2024-02-06 18:33:19 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds) |
2024-02-06 18:33:55 +0100 | ursa-major | (~ursa-majo@37.19.210.36) |
2024-02-06 18:35:22 +0100 | tzh | (~tzh@c-71-193-181-0.hsd1.or.comcast.net) |
2024-02-06 18:41:52 +0100 | JordiGH | (~jordi@user/jordigh) |
2024-02-06 18:42:30 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2024-02-06 18:43:14 +0100 | ursa-major | (~ursa-majo@37.19.210.36) (Quit: WeeChat 4.2.1) |
2024-02-06 18:44:09 +0100 | average | (uid473595@user/average) |
2024-02-06 18:44:56 +0100 | mima | (~mmh@aftr-62-216-211-178.dynamic.mnet-online.de) |
2024-02-06 18:51:41 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 240 seconds) |
2024-02-06 18:53:07 +0100 | euphores | (~SASL_euph@user/euphores) (Remote host closed the connection) |
2024-02-06 18:55:20 +0100 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2024-02-06 18:57:05 +0100 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 272 seconds) |
2024-02-06 18:57:43 +0100 | euleritian | (~euleritia@77.22.252.56) (Ping timeout: 272 seconds) |
2024-02-06 18:58:08 +0100 | euleritian | (~euleritia@dynamic-176-007-001-109.176.7.pool.telefonica.de) |
2024-02-06 19:04:16 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2024-02-06 19:05:40 +0100 | chomwitt | (~chomwitt@2a02:587:7a10:cd00:1ac0:4dff:fedb:a3f1) |
2024-02-06 19:06:04 +0100 | rvalue | (~rvalue@user/rvalue) |
2024-02-06 19:08:31 +0100 | aljazmc | (~aljazmc@user/aljazmc) |
2024-02-06 19:12:50 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2024-02-06 19:14:40 +0100 | fendor | (~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) (Remote host closed the connection) |
2024-02-06 19:15:01 +0100 | moixa | (~moixa@customer-178-16-208-85.stosn.net) |
2024-02-06 19:20:02 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 252 seconds) |
2024-02-06 19:28:29 +0100 | JordiGH | (~jordi@user/jordigh) (Ping timeout: 240 seconds) |
2024-02-06 19:33:35 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) |
2024-02-06 19:34:12 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
2024-02-06 19:35:11 +0100 | pyooque | (~puke@user/puke) |
2024-02-06 19:35:11 +0100 | puke | (~puke@user/puke) (Killed (platinum.libera.chat (Nickname regained by services))) |
2024-02-06 19:35:11 +0100 | pyooque | puke |
2024-02-06 19:35:30 +0100 | <tri> | i have a quick question, is Free monad and Reader monad used regularly in Haskell? That is, they are not the more esoteric side of Haskell? |
2024-02-06 19:35:30 +0100 | puke | (~puke@user/puke) (Remote host closed the connection) |
2024-02-06 19:35:50 +0100 | <tri> | I feel like Reader is the more practical one, how about Free monad? |
2024-02-06 19:35:53 +0100 | <tri> | can i live without it? |
2024-02-06 19:36:09 +0100 | puke | (~puke@user/puke) |
2024-02-06 19:36:20 +0100 | <geekosaur> | free monads are a technique used by some but not by others |
2024-02-06 19:36:21 +0100 | <tri> | I just read briefly about them, so need to gauge to what extent i need to stay dig into them in detrail |
2024-02-06 19:36:24 +0100 | <tri> | detail* |
2024-02-06 19:36:25 +0100 | <geekosaur> | reader is used very widely |
2024-02-06 19:37:00 +0100 | <tri> | thank you |
2024-02-06 19:38:35 +0100 | <geekosaur> | free monads are most useful when you need to introspect the effects to be run within the monad, or want to be able to interpret effects in different monads |
2024-02-06 19:39:21 +0100 | <geekosaur> | (an "effect" being, roughly, anything you would use >>= with) |
2024-02-06 19:39:32 +0100 | <tomsmeding> | free monads have fairly specific uses |
2024-02-06 19:39:53 +0100 | <tomsmeding> | most code will not use them at all, but for particular functionality they are very nice |
2024-02-06 19:40:14 +0100 | <tomsmeding> | tri: the reader monad is a specific example of a monad and is much more generally applicable |
2024-02-06 19:45:10 +0100 | <tri> | tomsmeding: thank you |
2024-02-06 19:45:32 +0100 | <tri> | similar to Reader monad, Writer monad is also widely used right? (I haven't read about it yet) |
2024-02-06 19:45:57 +0100 | <probie> | No, it's rarely used |
2024-02-06 19:48:30 +0100 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2024-02-06 19:48:58 +0100 | <tri> | probie: thank you |
2024-02-06 19:49:45 +0100 | <probie> | If we're being pedantic, `Reader` itself also isn't that common, it's the monad transformer `ReaderT` which is pervasive in the Haskell ecosystem (but you can worry about that when you get to monad transformers). |
2024-02-06 19:52:43 +0100 | <tomsmeding> | I mean, whether Writer is used or not depends a bit on what kind of code you're writing |
2024-02-06 19:53:20 +0100 | <tomsmeding> | if you're writing application software, i.e. "business logic" / "practical code", you're unlikely to see Writer(T) |
2024-02-06 19:54:02 +0100 | <tomsmeding> | in things like a code analysis algorithm, it might occur a bit more often |
2024-02-06 19:54:23 +0100 | <tomsmeding> | but Writer is a simple monad and a good one to practice your understanding of monads with |
2024-02-06 19:54:37 +0100 | <tomsmeding> | the basic version, that is -- not the "CPS version" |
2024-02-06 19:54:50 +0100 | <tomsmeding> | (the "CPS version" is just the state monad with different names on the functions) |
2024-02-06 19:55:47 +0100 | <tomsmeding> | the basic Writer monad is essentially a logging monad, which is intuitive, so that is useful. In practice, if you want to do practical and scalable logging in haskell you'd use something different, but in the traditional functional way of "make it as simple as possible", Writer embodies the idea of "logging" |
2024-02-06 19:57:53 +0100 | euleritian | (~euleritia@dynamic-176-007-001-109.176.7.pool.telefonica.de) (Ping timeout: 272 seconds) |
2024-02-06 19:58:30 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-02-06 19:59:24 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-02-06 19:59:43 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-02-06 20:04:37 +0100 | causal | (~eric@50.35.85.7) |
2024-02-06 20:04:44 +0100 | erty | (~user@user/aeroplane) (Read error: Connection reset by peer) |
2024-02-06 20:06:12 +0100 | <haskellbridge> | <Jade> am I being stupid or does `createFileLink` from the `directory` package not work with relative paths? |
2024-02-06 20:06:18 +0100 | <haskellbridge> | <Jade> on linux* |
2024-02-06 20:06:45 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 272 seconds) |
2024-02-06 20:07:32 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
2024-02-06 20:09:05 +0100 | pavonia | (~user@user/siracusa) |
2024-02-06 20:09:41 +0100 | <ncf> | works for me |
2024-02-06 20:11:51 +0100 | <tomsmeding> | Jade: it probably just calls the linux syscall, meaning that the destination is relative _from the source_ |
2024-02-06 20:11:56 +0100 | <tomsmeding> | not relative from your current working directory |
2024-02-06 20:11:59 +0100 | <tomsmeding> | that may be tripping you up |
2024-02-06 20:12:07 +0100 | <tomsmeding> | (this is the same behaviour as ln(1)) |
2024-02-06 20:12:35 +0100 | Goodbye_Vincent | (cyvahl@freakshells.net) (Ping timeout: 264 seconds) |
2024-02-06 20:19:08 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Remote host closed the connection) |
2024-02-06 20:19:19 +0100 | Pixi` | (~Pixi@user/pixi) |
2024-02-06 20:19:29 +0100 | Goodbye_Vincent | (cyvahl@freakshells.net) |
2024-02-06 20:20:01 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
2024-02-06 20:22:38 +0100 | <mauke> | wasn't there an article somewhere about how Writer is always a space leak and should be replaced by State? |
2024-02-06 20:22:44 +0100 | Pixi | (~Pixi@user/pixi) (Ping timeout: 252 seconds) |
2024-02-06 20:23:15 +0100 | <tomsmeding> | it's why Control.Monad.Trans.Writer.CPS exists |
2024-02-06 20:23:26 +0100 | <tomsmeding> | I remember something like that too |
2024-02-06 20:24:16 +0100 | todi | (~todi@p5dca5fa8.dip0.t-ipconnect.de) |
2024-02-06 20:25:30 +0100 | <sprout> | https://stackoverflow.com/questions/7720929/space-leaks-and-writers-and-sums-oh-my ? |
2024-02-06 20:25:44 +0100 | <probie> | > let f n = tell [n, n+1, n+2] >> f (n+1 :: Integer) in take 20 $ snd $ runWriter (f 1) |
2024-02-06 20:25:46 +0100 | <lambdabot> | [1,2,3,2,3,4,3,4,5,4,5,6,5,6,7,6,7,8,7,8] |
2024-02-06 20:27:39 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 272 seconds) |
2024-02-06 20:30:41 +0100 | <probie> | I think "always a space leak" is a bit much. As long as you consume all the writer's output before looking at the eventual result, and `<>` isn't strict in its right argument for your output's monoid, it's probably fine |
2024-02-06 20:32:38 +0100 | Goodbye_Vincent | (cyvahl@freakshells.net) (Ping timeout: 252 seconds) |
2024-02-06 20:33:03 +0100 | cstml | (~cstml@user/cstml) |
2024-02-06 20:34:07 +0100 | alycidyne | (~kova@user/alycidyne) |
2024-02-06 20:34:11 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2024-02-06 20:34:26 +0100 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2024-02-06 20:34:42 +0100 | <sprout> | only glancing at this. continuations should only move the work from the stack to the heap, isn't this that you need to force the writer to do something and that goes badly with lazy semantics? |
2024-02-06 20:35:11 +0100 | <alycidyne> | Hello, can monads be used to implement a sort of debugger? I was thinking of tracing the different monad values |
2024-02-06 20:36:47 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2024-02-06 20:40:04 +0100 | Goodbye_Vincent | (cyvahl@freakshells.net) |
2024-02-06 20:40:05 +0100 | <EvanR> | Writer and strict Writer both don't act like you would naively think coming from imperative language |
2024-02-06 20:40:32 +0100 | <EvanR> | but the cool part is they have totally non-leaky ways to use them |
2024-02-06 20:42:19 +0100 | <EvanR> | to get the strict updates like imperative programming you can use strict State |
2024-02-06 20:44:33 +0100 | <alycidyne> | EvanR: I see, cool |
2024-02-06 20:44:53 +0100 | <Franciman> | do you think monads in haskell are close to Moggi's original idea? |
2024-02-06 20:45:54 +0100 | <EvanR> | alycidyne, Debug.Trace can print out intermediate values of your computation. ghci has a built-in traditional debugger. |
2024-02-06 20:46:16 +0100 | <EvanR> | that I never learned how to use but it exists |
2024-02-06 20:46:46 +0100 | <EvanR> | ghc-vis is another debugging-like tool |
2024-02-06 20:47:21 +0100 | <mauke> | alycidyne: what do you mean by the monad values? |
2024-02-06 20:47:35 +0100 | tri | (~tri@24.187.239.26) |
2024-02-06 20:48:09 +0100 | <geekosaur> | there's also ghcitui |
2024-02-06 20:49:13 +0100 | xdminsy | (~xdminsy@117.147.71.221) (Read error: Connection reset by peer) |
2024-02-06 20:51:54 +0100 | <alycidyne> | mauke: I will have to go soon, but I assume that monads imply some sort of state threading, and that some magic to make this state accessible/visible would be possible |
2024-02-06 20:52:05 +0100 | Goodbye_Vincent | (cyvahl@freakshells.net) (Ping timeout: 260 seconds) |
2024-02-06 20:52:07 +0100 | <alycidyne> | Then again, my understanding of monads is still fragile |
2024-02-06 20:54:25 +0100 | <mauke> | consider that (->) e is a monad and hence (->) e r (better known as e -> r) is a "monadic action" |
2024-02-06 20:54:45 +0100 | <geekosaur> | the only monad that involves state threading is ST |
2024-02-06 20:55:32 +0100 | <ncf> | ?? |
2024-02-06 20:55:48 +0100 | tri | (~tri@24.187.239.26) (Ping timeout: 268 seconds) |
2024-02-06 20:55:52 +0100 | <geekosaur> | unless you count StateT, which just passes and returns the "state" transparently |
2024-02-06 20:56:13 +0100 | <geekosaur> | @unmtl State s a |
2024-02-06 20:56:13 +0100 | <lambdabot> | s -> (a, s) |
2024-02-06 20:56:18 +0100 | <mauke> | but in ST, the "state" is trivial :-) |
2024-02-06 20:56:28 +0100 | cstml | (~cstml@user/cstml) (Quit: WeeChat 4.1.1) |
2024-02-06 20:56:54 +0100 | <EvanR> | in haskell we value the separation of church and state. Then monads mix them up again as values |
2024-02-06 20:58:27 +0100 | <alycidyne> | I'll sadly have to go, but I've at least written this down, I'll have to get back to this |
2024-02-06 20:58:39 +0100 | <alycidyne> | Thanks for the info nevertheless o/ |
2024-02-06 20:59:28 +0100 | alycidyne | (~kova@user/alycidyne) (Quit: leaving) |
2024-02-06 20:59:46 +0100 | Goodbye_Vincent | (cyvahl@freakshells.net) |
2024-02-06 21:12:26 +0100 | duncan | (~duncan@user/duncan) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-02-06 21:12:27 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
2024-02-06 21:14:47 +0100 | <energizer> | is there a reason why ++ is a good name for the concatenation operator? |
2024-02-06 21:15:25 +0100 | Goodbye_Vincent | (cyvahl@freakshells.net) (Ping timeout: 264 seconds) |
2024-02-06 21:16:39 +0100 | <EvanR> | because it concatenates the two operands? |
2024-02-06 21:17:40 +0100 | <tomsmeding> | you can also use <> if you prefer |
2024-02-06 21:18:11 +0100 | <energizer> | eg it's associative like * usually is but not commutative like + usually is, so i wouldve thought **, but ++ was preferred for some reason |
2024-02-06 21:18:19 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 272 seconds) |
2024-02-06 21:18:59 +0100 | <tomsmeding> | naming is supposed to be intuitive, and for the vast majority of people, list concatenation feels like putting two things together, not like multiplying two things |
2024-02-06 21:19:31 +0100 | <EvanR> | on, I read the question backwards, you're asking why ++ is the symbols for the concatenation operator, not why concatenation operator is the name for ++ |
2024-02-06 21:19:46 +0100 | <haskellbridge> | <magic_rb> python comes in with ** for powers |
2024-02-06 21:19:52 +0100 | <EvanR> | length(a ++ b) = length(a) + length(b) |
2024-02-06 21:20:06 +0100 | <energizer> | yeah but python is uh ynkow |
2024-02-06 21:20:14 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
2024-02-06 21:20:18 +0100 | <energizer> | yeah but python is uh yknow |
2024-02-06 21:20:24 +0100 | <mauke> | > 2 ** 0.5 |
2024-02-06 21:20:26 +0100 | <lambdabot> | 1.4142135623730951 |
2024-02-06 21:20:43 +0100 | <tomsmeding> | well at least exponentiation is higher on the list of hyperoperations than multiplication |
2024-02-06 21:20:49 +0100 | <tomsmeding> | it's like multiplication 2.0 |
2024-02-06 21:20:49 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 256 seconds) |
2024-02-06 21:20:56 +0100 | <EvanR> | length(as x bs) = length(as) * length(bs), where x is cross join |
2024-02-06 21:21:12 +0100 | aljazmc | (~aljazmc@user/aljazmc) (Remote host closed the connection) |
2024-02-06 21:21:36 +0100 | aljazmc | (~aljazmc@user/aljazmc) |
2024-02-06 21:21:55 +0100 | Goodbye_Vincent | (cyvahl@freakshells.net) |
2024-02-06 21:22:27 +0100 | <tomsmeding> | energizer: in group theory in mathematics, groups may be written either additively (with +) or multiplicatively (with *), and the convention is that non-abelian groups (i.e. for a non-commutative operator) are written multiplicatively |
2024-02-06 21:22:35 +0100 | <tomsmeding> | that goes the other way :) |
2024-02-06 21:22:39 +0100 | <tomsmeding> | (source: wikipedia) |
2024-02-06 21:22:53 +0100 | <tomsmeding> | (and memories from uni) |
2024-02-06 21:23:23 +0100 | <energizer> | tomsmeding: that supports * |
2024-02-06 21:23:27 +0100 | <energizer> | for concatenation |
2024-02-06 21:23:49 +0100 | <tomsmeding> | oh right |
2024-02-06 21:24:01 +0100 | <tomsmeding> | well, everything else then :p |
2024-02-06 21:24:05 +0100 | <tomsmeding> | that we've said above |
2024-02-06 21:24:28 +0100 | <tomsmeding> | would you honestly find it more intuitive if concatenation was written with (*)? |
2024-02-06 21:25:40 +0100 | <haskellbridge> | <magic_rb> tomsmeding: what uni taught you group theory and was it in a math degree |
2024-02-06 21:25:58 +0100 | <energizer> | if it were that way from the beginning then i would be used to it of course |
2024-02-06 21:26:04 +0100 | <tomsmeding> | magic_rb: I did a math + CS double undergraduate degree |
2024-02-06 21:26:10 +0100 | <tomsmeding> | so it's unsurprising there was group theory in there |
2024-02-06 21:26:53 +0100 | <haskellbridge> | <magic_rb> ah nice, im at the VU in amsterdam, the math bachelor has group theory, but im scared of the bachelor, i know multiple people from there and not a single one told me its a good idea to do it |
2024-02-06 21:26:55 +0100 | <EvanR> | ++ and cross join corresponds to addition and multiplication formulas above |
2024-02-06 21:27:02 +0100 | <EvanR> | no one is confused about the lack of commutativity |
2024-02-06 21:27:19 +0100 | <tomsmeding> | EvanR: does x distribute over ++ |
2024-02-06 21:27:23 +0100 | <tomsmeding> | is it a semiring |
2024-02-06 21:27:32 +0100 | <EvanR> | when you map it via length yes |
2024-02-06 21:27:48 +0100 | <tomsmeding> | magic_rb: I did my bachelors in Leiden |
2024-02-06 21:27:49 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 272 seconds) |
2024-02-06 21:28:15 +0100 | <tomsmeding> | they have a 240 EC double program |
2024-02-06 21:28:21 +0100 | <haskellbridge> | <magic_rb> oh nice! im planning to do masters in utrecht, they seem to have a programming language focused track iirc |
2024-02-06 21:28:22 +0100 | <tomsmeding> | utrecht also has it iirc |
2024-02-06 21:28:35 +0100 | <haskellbridge> | <magic_rb> yeah well slightly too late for me |
2024-02-06 21:28:36 +0100 | lg188 | (~lg188@82.18.98.230) (Read error: Connection reset by peer) |
2024-02-06 21:28:38 +0100 | <tomsmeding> | magic_rb: they do, and you may even see me pop up at some point lol |
2024-02-06 21:28:44 +0100 | <tomsmeding> | I'm doing a PhD in Utrecht |
2024-02-06 21:28:50 +0100 | <ncf> | ℕ is [()], and i'd definitely expect concatenation to be written + there :) |
2024-02-06 21:29:30 +0100 | <ncf> | (i guess this is the same argument as the length homomorphism) |
2024-02-06 21:29:39 +0100 | <tomsmeding> | in a way :) |
2024-02-06 21:29:40 +0100 | mobivme | (~mobivme@130.105.162.31) |
2024-02-06 21:29:40 +0100 | mobivme | (~mobivme@130.105.162.31) (Changing host) |
2024-02-06 21:29:40 +0100 | mobivme | (~mobivme@user/mobivme) |
2024-02-06 21:29:54 +0100 | <haskellbridge> | <magic_rb> tomsmeding: well, ive still 2 years to go, im extending by one year, the minor i want to do (deep programming) is extremely heavy, but id be down for a meetup for discussions of all things haskell then and now |
2024-02-06 21:30:06 +0100 | <tomsmeding> | what even is "deep programming" |
2024-02-06 21:30:31 +0100 | <tomsmeding> | (also this is slightly offtopic, but the #haskell-offtopic channel isn't mirrored to matrix, is it?) |
2024-02-06 21:32:00 +0100 | <haskellbridge> | <magic_rb> ill list the courses, equational programming (haskell as a tool to teach lambda calculus and basic pure FP), concurrency and multithreading (mt algos in java), advanced network programming (huge info dump and write your own TCP stack), secure programming (write secure code in C and get graded on how fast other students break in + the teacher) and finally compiler construction |
2024-02-06 21:32:00 +0100 | <haskellbridge> | (build your own co… |
2024-02-06 21:32:00 +0100 | <haskellbridge> | <magic_rb> mpiler on an ancient version of LLVM) |
2024-02-06 21:32:09 +0100 | <haskellbridge> | <magic_rb> ill check the offtopic |
2024-02-06 21:32:10 +0100 | <geekosaur> | not presently |
2024-02-06 21:32:16 +0100 | <haskellbridge> | <magic_rb> ah |
2024-02-06 21:32:16 +0100 | <geekosaur> | that could be arranged though |
2024-02-06 21:32:57 +0100 | <haskellbridge> | <magic_rb> i could also relatively quickly bridge it on my side, ill do that, give me a second |
2024-02-06 21:36:12 +0100 | SAJAT | (~sajat@87-97-88-242.pool.digikabel.hu) (Ping timeout: 268 seconds) |
2024-02-06 21:37:47 +0100 | SAJAT | (~sajat@77-234-80-211.pool.digikabel.hu) |
2024-02-06 21:47:15 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
2024-02-06 21:50:14 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Read error: Connection reset by peer) |
2024-02-06 21:50:18 +0100 | tri_ | (~tri@ool-18bbef1a.static.optonline.net) |
2024-02-06 21:56:19 +0100 | tri_ | (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 272 seconds) |
2024-02-06 21:58:11 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 264 seconds) |
2024-02-06 21:59:32 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2024-02-06 22:02:44 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2024-02-06 22:04:52 +0100 | <EvanR> | graded on how fast you can break into securely written C |
2024-02-06 22:06:35 +0100 | <EvanR> | sounds like that will need a harsh curve |
2024-02-06 22:07:43 +0100 | <tomsmeding> | or a _very_ well-constructed assignment |
2024-02-06 22:10:11 +0100 | <sm> | @where+ strictness https://www.fpcomplete.com/haskell/tutorial/all-about-strictness |
2024-02-06 22:10:11 +0100 | <lambdabot> | Done. |
2024-02-06 22:11:08 +0100 | <haskellbridge> | <magic_rb> EvanR its extremely difficult, should be illegal honestly, deep programming is criminally difficult while assuming that the student has full 40 hours per week for it. which is obviously correct, because students as we know dont need to pay rent, or transportation and can live of off nothing but air :) |
2024-02-06 22:12:07 +0100 | <monochrom> | Oh, so "deep programming" just means "40 hours per day"? |
2024-02-06 22:12:27 +0100 | <tomsmeding> | all of university is supposed to mean 40 hours per week |
2024-02-06 22:12:31 +0100 | <tomsmeding> | at least in NL |
2024-02-06 22:12:41 +0100 | <tomsmeding> | not that it's always _true_ |
2024-02-06 22:12:52 +0100 | <tomsmeding> | monochrom: 40 hours per day is maybe a bit much |
2024-02-06 22:13:38 +0100 | <tomsmeding> | in europe we even have a "standardised" system of "credits", indicating the size of the workload for a course in a number of credits |
2024-02-06 22:13:42 +0100 | <EvanR> | yeah it would be outrangeous to ask a student to move to a slower planet |
2024-02-06 22:13:43 +0100 | <monochrom> | That's a reference to twosetviolin lingling40hours :) https://en.wikipedia.org/wiki/TwoSet_Violin |
2024-02-06 22:13:45 +0100 | <tomsmeding> | 1 credit is supposed to be 28 hours |
2024-02-06 22:13:47 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2024-02-06 22:13:58 +0100 | <tomsmeding> | supposed |
2024-02-06 22:14:17 +0100 | <tomsmeding> | an n-credit course in country A is intended to be, but in practice definitely not necessarily, comparable to an n-credit course in country B |
2024-02-06 22:14:23 +0100 | <monochrom> | But work-8-hours-per-day is different from code-8-hours-per-day. |
2024-02-06 22:14:28 +0100 | <haskellbridge> | <magic_rb> the problem is, that 40h / w is not realistic and most of the bachelor understands that, just some professors seem to somehow be disconnected from reality |
2024-02-06 22:14:44 +0100 | <tomsmeding> | hell, two n-credit courses in the same year in the same program at the same university can differ hugely in workload |
2024-02-06 22:15:24 +0100 | <haskellbridge> | <magic_rb> yeah, mostly they try to pair up one very harsh course, with a bs one which can be crammed into one week before the exam |
2024-02-06 22:15:32 +0100 | <haskellbridge> | <magic_rb> but it doesnt always work out sadly |
2024-02-06 22:15:38 +0100 | <tomsmeding> | magic_rb: to change that one would need to change how the european ECTS credit system works in the first place |
2024-02-06 22:16:20 +0100 | <tomsmeding> | or convince the university board that it's not feasible for all courses in a program to have roughly the same workload |
2024-02-06 22:16:33 +0100 | <haskellbridge> | <magic_rb> yeah i know, still annoying tho :) and its very sad to see people that are struggling to make ends meet, or struggling with depression and stuff, being essentially bullied by the system |
2024-02-06 22:16:35 +0100 | liskin | (~liskin@xmonad/liskin) (Quit: liskin) |
2024-02-06 22:16:41 +0100 | <tomsmeding> | which would then mean that they ought to take different amounts of time in of a year, which results in scheduling hell |
2024-02-06 22:16:44 +0100 | <haskellbridge> | <magic_rb> but, like, thats reality ig :/ |
2024-02-06 22:17:21 +0100 | <tomsmeding> | at hogescholen ("university of applied sciences" sometimes) in NL, it's much more common for there to be no well-defined year organsation in semesters/trimesters/quarters |
2024-02-06 22:17:34 +0100 | <tomsmeding> | but instead having courses starting and ending at random times |
2024-02-06 22:17:39 +0100 | <tomsmeding> | you can imagine the scheduling hell |
2024-02-06 22:18:05 +0100 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) (Read error: Connection reset by peer) |
2024-02-06 22:18:05 +0100 | <tomsmeding> | but yeah, I agree, every step of the system is sensible but the result is pretty harsh on students |
2024-02-06 22:18:19 +0100 | <tomsmeding> | if they don't have rich parents |
2024-02-06 22:18:25 +0100 | <haskellbridge> | <magic_rb> scheduling > that does sound awful, for the students too |
2024-02-06 22:18:30 +0100 | <tomsmeding> | yes |
2024-02-06 22:19:06 +0100 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection) |
2024-02-06 22:19:20 +0100 | tomsmeding | has fond memories of Leiden where one got a single-page PDF giving your schedule for the coming semester |
2024-02-06 22:19:21 +0100 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) |
2024-02-06 22:19:34 +0100 | <sm> | @where+ appliedhaskell https://www.fpcomplete.com/haskell/syllabus Applied Haskell syllabus |
2024-02-06 22:19:35 +0100 | <lambdabot> | I will never forget. |
2024-02-06 22:19:57 +0100 | <haskellbridge> | <magic_rb> tomsmeding: again, offtopic btw :) |
2024-02-06 22:20:17 +0100 | <tomsmeding> | it's EvanR's fault |
2024-02-06 22:20:20 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
2024-02-06 22:20:25 +0100 | <haskellbridge> | <magic_rb> :D |
2024-02-06 22:21:04 +0100 | aljazmc | (~aljazmc@user/aljazmc) (Remote host closed the connection) |
2024-02-06 22:21:33 +0100 | aljazmc | (~aljazmc@user/aljazmc) |
2024-02-06 22:23:06 +0100 | mreh | (~matthew@host86-160-168-73.range86-160.btcentralplus.com) |
2024-02-06 22:26:35 +0100 | <EvanR> | don't implicate me bro |
2024-02-06 22:27:21 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 272 seconds) |
2024-02-06 22:27:26 +0100 | liskin | (~liskin@xmonad/liskin) |
2024-02-06 22:27:59 +0100 | Square3 | (~Square4@user/square) (Ping timeout: 272 seconds) |
2024-02-06 22:30:25 +0100 | Benzi-Junior | (~BenziJuni@dsl-149-65-224.hive.is) (Ping timeout: 264 seconds) |
2024-02-06 22:30:50 +0100 | Benzi-Junior | (~BenziJuni@88-149-64-222.du.xdsl.is) |
2024-02-06 22:31:40 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-95.elisa-laajakaista.fi) |
2024-02-06 22:33:22 +0100 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2024-02-06 22:40:20 +0100 | <sm> | where is that excellent paste site that shows code compiled by different ghc versions ? |
2024-02-06 22:40:53 +0100 | todi | (~todi@p5dca5fa8.dip0.t-ipconnect.de) (Quit: ZNC - https://znc.in) |
2024-02-06 22:41:25 +0100 | mobivme | (~mobivme@user/mobivme) (Ping timeout: 246 seconds) |
2024-02-06 22:42:53 +0100 | <monochrom> | https://haskell.godbolt.org/ |
2024-02-06 22:43:55 +0100 | average | (uid473595@user/average) (Quit: Connection closed for inactivity) |
2024-02-06 22:44:22 +0100 | <sm> | woah.. I was thinking of https://play.haskell.org , but that is also cool |
2024-02-06 22:45:25 +0100 | <sm> | @where+ play |
2024-02-06 22:45:25 +0100 | <lambdabot> | It is forgotten. |
2024-02-06 22:46:07 +0100 | <tomsmeding> | sm: it's in the /topic ;) |
2024-02-06 22:46:40 +0100 | <sm> | thanks, that's something my client never shows nowadays |
2024-02-06 22:46:51 +0100 | <tomsmeding> | what client is that? :p |
2024-02-06 22:46:52 +0100 | <sm> | @where+ playground https://play.haskell.org paste code snippets, see it compiled by different ghc versions |
2024-02-06 22:46:52 +0100 | <lambdabot> | Good to know. |
2024-02-06 22:46:58 +0100 | <sm> | erc in emacs |
2024-02-06 22:48:01 +0100 | <tomsmeding> | I guess it only shows on join |
2024-02-06 22:48:25 +0100 | <tomsmeding> | which is not terribly helpful if you have the thing running for longer and/or have multiple autojoin channels on startup |
2024-02-06 22:48:32 +0100 | <sm> | yeah, or when I request it with /topic. Yup. |
2024-02-06 22:50:18 +0100 | <sm> | @where+ godbolt https://haskell.godbolt.org paste code snippets/files, see them compiled by different ghc versions |
2024-02-06 22:50:19 +0100 | <lambdabot> | Done. |
2024-02-06 22:50:27 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
2024-02-06 22:52:58 +0100 | chomwitt | (~chomwitt@2a02:587:7a10:cd00:1ac0:4dff:fedb:a3f1) (Ping timeout: 268 seconds) |
2024-02-06 22:53:24 +0100 | phma | (phma@2001:5b0:215d:dac8:5473:cd1c:1142:a768) (Read error: Connection reset by peer) |
2024-02-06 22:54:21 +0100 | phma | (~phma@host-67-44-208-73.hnremote.net) |
2024-02-06 22:57:05 +0100 | evj | (~evj@2a09:bac5:174a:1ad2::2ac:68) |
2024-02-06 22:58:19 +0100 | aljazmc | (~aljazmc@user/aljazmc) (Remote host closed the connection) |
2024-02-06 22:58:57 +0100 | aljazmc | (~aljazmc@user/aljazmc) |
2024-02-06 23:00:51 +0100 | aljazmc | (~aljazmc@user/aljazmc) (Client Quit) |
2024-02-06 23:05:21 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 272 seconds) |
2024-02-06 23:07:08 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3440-d7d5-14d1-65d1-7cb0-0517.rev.sfr.net) |
2024-02-06 23:08:26 +0100 | califax | (~califax@user/califx) (Ping timeout: 255 seconds) |
2024-02-06 23:09:04 +0100 | califax | (~califax@user/califx) |
2024-02-06 23:09:47 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 255 seconds) |
2024-02-06 23:10:32 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2024-02-06 23:11:03 +0100 | xff0x | (~xff0x@2405:6580:b080:900:b52c:33c8:5337:f03e) (Ping timeout: 272 seconds) |
2024-02-06 23:11:11 +0100 | evj | (~evj@2a09:bac5:174a:1ad2::2ac:68) (Changing host) |
2024-02-06 23:11:11 +0100 | evj | (~evj@user/evj) |
2024-02-06 23:11:34 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) |
2024-02-06 23:12:39 +0100 | xff0x | (~xff0x@2405:6580:b080:900:5fca:dd8c:766e:9634) |
2024-02-06 23:17:28 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2024-02-06 23:19:26 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-02-06 23:20:31 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
2024-02-06 23:22:14 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-02-06 23:22:18 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
2024-02-06 23:23:41 +0100 | mreh | (~matthew@host86-160-168-73.range86-160.btcentralplus.com) (Ping timeout: 240 seconds) |
2024-02-06 23:24:02 +0100 | michalz | (~michalz@185.246.207.222) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-02-06 23:27:07 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 276 seconds) |
2024-02-06 23:27:49 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2024-02-06 23:28:10 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2024-02-06 23:39:05 +0100 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 256 seconds) |
2024-02-06 23:39:06 +0100 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-02-06 23:39:13 +0100 | mechap | (~mechap@user/mechap) (Ping timeout: 256 seconds) |
2024-02-06 23:40:38 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
2024-02-06 23:40:46 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2024-02-06 23:40:51 +0100 | mechap | (~mechap@user/mechap) |
2024-02-06 23:45:15 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 272 seconds) |
2024-02-06 23:46:31 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 272 seconds) |
2024-02-06 23:47:09 +0100 | mei | (~mei@user/mei) (Remote host closed the connection) |
2024-02-06 23:49:33 +0100 | mei | (~mei@user/mei) |
2024-02-06 23:49:41 +0100 | acidjnk_new | (~acidjnk@p200300d6e737e714747a0600998052c8.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2024-02-06 23:50:33 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
2024-02-06 23:50:45 +0100 | Chai-T-Rex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2024-02-06 23:51:22 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2024-02-06 23:56:57 +0100 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2024-02-06 23:57:17 +0100 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 272 seconds) |