| 2024-02-28 00:05:25 +0000 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 255 seconds) |
| 2024-02-28 00:11:35 +0000 | Typedfern | (~Typedfern@82.red-83-37-31.dynamicip.rima-tde.net) (Ping timeout: 252 seconds) |
| 2024-02-28 00:14:36 +0000 | Square2 | (~Square4@user/square) (Ping timeout: 268 seconds) |
| 2024-02-28 00:14:47 +0000 | rvalue | (~rvalue@user/rvalue) |
| 2024-02-28 00:20:23 +0000 | Sgeo | (~Sgeo@user/sgeo) |
| 2024-02-28 00:25:57 +0000 | Typedfern | (~Typedfern@237.red-83-37-37.dynamicip.rima-tde.net) |
| 2024-02-28 00:29:57 +0000 | yoo | (~yo0O0o@104.28.194.104) |
| 2024-02-28 00:42:00 +0000 | janus | (janus@anubis.0x90.dk) |
| 2024-02-28 00:42:34 +0000 | <janus> | can I, in Haskell pass an IO function that only takes stuff like CInt, Ptr CChar and so on, as a FunPtr argument to a C function? |
| 2024-02-28 00:43:29 +0000 | fryguybob | (~fryguybob@024-094-050-022.inf.spectrum.com) (Ping timeout: 252 seconds) |
| 2024-02-28 00:43:56 +0000 | mud | (~mud@user/kadoban) (Quit: quit) |
| 2024-02-28 00:46:37 +0000 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 264 seconds) |
| 2024-02-28 00:50:12 +0000 | fryguybob | (~fryguybob@024-094-050-022.inf.spectrum.com) |
| 2024-02-28 00:54:04 +0000 | <glguy> | janus: yes, you can |
| 2024-02-28 00:54:57 +0000 | <glguy> | (looking for a URL to give you) |
| 2024-02-28 00:55:49 +0000 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
| 2024-02-28 00:56:31 +0000 | <glguy> | https://www.haskell.org/onlinereport/haskell2010/haskellch8.html#x15-1610008.5 and look for "dynamic wrapper" |
| 2024-02-28 00:57:25 +0000 | <glguy> | and when you're done with the FunPtr https://hackage.haskell.org/package/base-4.19.1.0/docs/Foreign-Ptr.html#v:freeHaskellFunPtr |
| 2024-02-28 01:01:05 +0000 | Typedfern | (~Typedfern@237.red-83-37-37.dynamicip.rima-tde.net) (Ping timeout: 252 seconds) |
| 2024-02-28 01:03:33 +0000 | <janus> | oh perfect! hadn't considered that this would be in the report |
| 2024-02-28 01:14:03 +0000 | Typedfern | (~Typedfern@82.red-83-37-24.dynamicip.rima-tde.net) |
| 2024-02-28 01:16:37 +0000 | yoo | (~yo0O0o@104.28.194.104) (Ping timeout: 264 seconds) |
| 2024-02-28 01:28:01 +0000 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 2024-02-28 01:28:36 +0000 | yoo | (~yo0O0o@104.28.194.105) |
| 2024-02-28 01:32:28 +0000 | thegeekinside | (~thegeekin@189.217.83.221) (Read error: Connection reset by peer) |
| 2024-02-28 01:36:57 +0000 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
| 2024-02-28 01:46:46 +0000 | yoo | (~yo0O0o@104.28.194.105) (Ping timeout: 246 seconds) |
| 2024-02-28 01:55:22 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds) |
| 2024-02-28 01:55:38 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
| 2024-02-28 02:02:24 +0000 | pointlessslippe1 | (~pointless@212.82.82.3) (Ping timeout: 255 seconds) |
| 2024-02-28 02:06:45 +0000 | pointlessslippe1 | (~pointless@212.82.82.3) |
| 2024-02-28 02:07:36 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 2024-02-28 02:10:01 +0000 | bontaq | (~user@ool-45779c03.dyn.optonline.net) (Ping timeout: 264 seconds) |
| 2024-02-28 02:19:13 +0000 | Fijxu | (~Fijxu@user/fijxu) (Quit: XD!!) |
| 2024-02-28 02:21:25 +0000 | xff0x | (~xff0x@ai082039.d.east.v6connect.net) (Ping timeout: 264 seconds) |
| 2024-02-28 02:22:55 +0000 | Fijxu | (~Fijxu@user/fijxu) |
| 2024-02-28 02:27:01 +0000 | puke | (~puke@user/puke) (Remote host closed the connection) |
| 2024-02-28 02:29:27 +0000 | puke | (~puke@user/puke) |
| 2024-02-28 02:37:56 +0000 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 2024-02-28 02:40:01 +0000 | puke | (~puke@user/puke) (Ping timeout: 264 seconds) |
| 2024-02-28 02:44:20 +0000 | sroso | (~sroso@user/SrOso) (Quit: Leaving :)) |
| 2024-02-28 02:45:31 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
| 2024-02-28 02:47:34 +0000 | sroso | (~sroso@user/SrOso) |
| 2024-02-28 02:50:00 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 268 seconds) |
| 2024-02-28 02:54:49 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
| 2024-02-28 02:56:13 +0000 | otto_s | (~user@p5b044e86.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 2024-02-28 02:57:12 +0000 | jmdaemon | (~jmdaemon@user/jmdaemon) |
| 2024-02-28 02:57:42 +0000 | otto_s | (~user@p4ff27821.dip0.t-ipconnect.de) |
| 2024-02-28 03:05:57 +0000 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 2024-02-28 03:13:34 +0000 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 2024-02-28 03:14:13 +0000 | td_ | (~td@i53870934.versanet.de) (Ping timeout: 264 seconds) |
| 2024-02-28 03:14:22 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds) |
| 2024-02-28 03:16:00 +0000 | td_ | (~td@i5387090D.versanet.de) |
| 2024-02-28 03:19:01 +0000 | aforemny | (~aforemny@2001:9e8:6cef:7500:df27:86b4:bafb:ef5b) (Ping timeout: 264 seconds) |
| 2024-02-28 03:19:10 +0000 | aforemny_ | (~aforemny@2001:9e8:6cce:d000:eabb:a6cd:24c6:a0ff) |
| 2024-02-28 03:27:40 +0000 | jargon | (~jargon@111.sub-174-205-228.myvzw.com) |
| 2024-02-28 03:35:17 +0000 | shapr` | (~user@c-24-218-186-89.hsd1.ma.comcast.net) (Ping timeout: 240 seconds) |
| 2024-02-28 03:37:56 +0000 | malte | (~malte@mal.tc) (Ping timeout: 256 seconds) |
| 2024-02-28 03:40:47 +0000 | falafel | (~falafel@wsip-98-160-52-184.dc.dc.cox.net) |
| 2024-02-28 03:42:13 +0000 | malte | (~malte@mal.tc) |
| 2024-02-28 03:47:25 +0000 | sroso | (~sroso@user/SrOso) (Quit: Leaving :)) |
| 2024-02-28 03:48:23 +0000 | sroso | (~sroso@user/SrOso) |
| 2024-02-28 03:54:47 +0000 | Luj | (~Luj@2a01:e0a:5f9:9681:535f:4048:fd0:e283) (Quit: Ping timeout (120 seconds)) |
| 2024-02-28 03:55:07 +0000 | Luj | (~Luj@2a01:e0a:5f9:9681:5718:f097:e277:c029) |
| 2024-02-28 04:03:39 +0000 | falafel | (~falafel@wsip-98-160-52-184.dc.dc.cox.net) (Remote host closed the connection) |
| 2024-02-28 04:17:10 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 2024-02-28 04:17:34 +0000 | lisq | (~quassel@lis.moe) (Ping timeout: 268 seconds) |
| 2024-02-28 04:19:04 +0000 | lisq | (~quassel@lis.moe) |
| 2024-02-28 04:24:03 +0000 | gorignak | (~gorignak@user/gorignak) |
| 2024-02-28 04:35:17 +0000 | jargon | (~jargon@111.sub-174-205-228.myvzw.com) (Remote host closed the connection) |
| 2024-02-28 04:48:08 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2024-02-28 04:48:49 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
| 2024-02-28 04:50:42 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
| 2024-02-28 04:50:54 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
| 2024-02-28 04:53:00 +0000 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Read error: Connection reset by peer) |
| 2024-02-28 04:53:21 +0000 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
| 2024-02-28 04:55:34 +0000 | aforemny | (~aforemny@i59F516CF.versanet.de) |
| 2024-02-28 04:55:40 +0000 | aforemny_ | (~aforemny@2001:9e8:6cce:d000:eabb:a6cd:24c6:a0ff) (Ping timeout: 255 seconds) |
| 2024-02-28 04:56:13 +0000 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 264 seconds) |
| 2024-02-28 05:10:23 +0000 | jrm2 | (~jrm@user/jrm) |
| 2024-02-28 05:10:57 +0000 | jrm | (~jrm@user/jrm) (Ping timeout: 256 seconds) |
| 2024-02-28 05:12:02 +0000 | jrm2 | jrm |
| 2024-02-28 05:12:15 +0000 | euleritian | (~euleritia@dynamic-176-006-177-152.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 2024-02-28 05:12:32 +0000 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 2024-02-28 05:16:14 +0000 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 260 seconds) |
| 2024-02-28 05:20:29 +0000 | igemnace | (~ian@user/igemnace) |
| 2024-02-28 05:27:39 +0000 | defanor_ | (~defanor@tart.uberspace.net) |
| 2024-02-28 05:31:51 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
| 2024-02-28 05:39:02 +0000 | julie_pilgrim | (~julie_pil@user/julie-pilgrim/x-1240752) |
| 2024-02-28 05:39:48 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
| 2024-02-28 05:43:38 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 2024-02-28 05:55:11 +0000 | lockywolf | (~lockywolf@public.lockywolf.net) (Killed (ozone (No Spam))) |
| 2024-02-28 05:55:28 +0000 | lockywolf | (~lockywolf@public.lockywolf.net) |
| 2024-02-28 05:58:40 +0000 | sroso | (~sroso@user/SrOso) (Quit: Leaving :)) |
| 2024-02-28 06:00:19 +0000 | sroso | (~sroso@user/SrOso) |
| 2024-02-28 06:06:30 +0000 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 2024-02-28 06:11:07 +0000 | michalz | (~michalz@185.246.207.222) |
| 2024-02-28 06:13:57 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
| 2024-02-28 06:17:24 +0000 | zetef | (~quassel@95.77.17.251) |
| 2024-02-28 06:17:24 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
| 2024-02-28 06:22:17 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds) |
| 2024-02-28 06:30:00 +0000 | michalz | (~michalz@185.246.207.222) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2024-02-28 06:32:18 +0000 | julie_pilgrim | (~julie_pil@user/julie-pilgrim/x-1240752) (Remote host closed the connection) |
| 2024-02-28 06:32:49 +0000 | michalz | (~michalz@185.246.207.197) |
| 2024-02-28 06:38:15 +0000 | zetef | (~quassel@95.77.17.251) (Ping timeout: 255 seconds) |
| 2024-02-28 06:38:36 +0000 | danza | (~francesco@ba-19-155-200.service.infuturo.it) |
| 2024-02-28 06:39:38 +0000 | echoreply | (~echoreply@45.32.163.16) (Quit: WeeChat 2.8) |
| 2024-02-28 06:40:34 +0000 | echoreply | (~echoreply@45.32.163.16) |
| 2024-02-28 06:59:29 +0000 | acidjnk | (~acidjnk@p200300d6e737e7563c535b90a1f52aa7.dip0.t-ipconnect.de) |
| 2024-02-28 07:04:22 +0000 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds) |
| 2024-02-28 07:06:18 +0000 | Flow | (~none@gentoo/developer/flow) (Quit: WeeChat 4.1.2) |
| 2024-02-28 07:07:02 +0000 | Flow | (~none@gentoo/developer/flow) |
| 2024-02-28 07:08:51 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
| 2024-02-28 07:09:23 +0000 | m5zs7k | (aquares@web10.mydevil.net) (Ping timeout: 256 seconds) |
| 2024-02-28 07:09:26 +0000 | euleritian | (~euleritia@dynamic-176-006-177-152.176.6.pool.telefonica.de) |
| 2024-02-28 07:09:31 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
| 2024-02-28 07:14:14 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 268 seconds) |
| 2024-02-28 07:22:16 +0000 | m5zs7k | (aquares@web10.mydevil.net) |
| 2024-02-28 07:23:11 +0000 | danza | (~francesco@ba-19-155-200.service.infuturo.it) (Ping timeout: 268 seconds) |
| 2024-02-28 07:27:44 +0000 | down200 | (~down200@shell.lug.mtu.edu) (Ping timeout: 252 seconds) |
| 2024-02-28 07:31:10 +0000 | down200 | (~down200@shell.lug.mtu.edu) |
| 2024-02-28 07:34:08 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 2024-02-28 07:35:34 +0000 | oneeyedalien | (~oneeyedal@user/oneeyedalien) |
| 2024-02-28 07:37:10 +0000 | jle` | (~jle`@2603-8001-3b02-84d4-a02d-ef9e-4d2d-943a.res6.spectrum.com) (Quit: WeeChat 4.2.1) |
| 2024-02-28 07:39:34 +0000 | jle` | (~jle`@2603-8001-3b02-84d4-9b67-becf-c72f-15e3.res6.spectrum.com) |
| 2024-02-28 07:47:19 +0000 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
| 2024-02-28 08:02:37 +0000 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
| 2024-02-28 08:03:02 +0000 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
| 2024-02-28 08:03:03 +0000 | sroso | (~sroso@user/SrOso) (Read error: Connection reset by peer) |
| 2024-02-28 08:03:35 +0000 | chexum | (~quassel@gateway/tor-sasl/chexum) |
| 2024-02-28 08:06:23 +0000 | oo_miguel | (~Thunderbi@78-11-181-16.static.ip.netia.com.pl) |
| 2024-02-28 08:06:37 +0000 | sroso | (~sroso@user/SrOso) |
| 2024-02-28 08:07:42 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-02-28 08:16:33 +0000 | Miroboru | (~myrvoll@178-164-114.82.3p.ntebredband.no) |
| 2024-02-28 08:17:32 +0000 | emmanuelux | (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
| 2024-02-28 08:18:05 +0000 | CiaoSen | (~Jura@2a05:5800:2d6:e700:e6b9:7aff:fe80:3d03) |
| 2024-02-28 08:18:29 +0000 | kuribas | (~user@2a02:1808:8c:525f:3605:2624:9302:ebf4) |
| 2024-02-28 08:21:20 +0000 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2024-02-28 08:25:04 +0000 | sam113101 | (~sam@modemcable146.137-200-24.mc.videotron.ca) (Remote host closed the connection) |
| 2024-02-28 08:25:13 +0000 | sam113101 | (~sam@modemcable146.137-200-24.mc.videotron.ca) |
| 2024-02-28 08:26:07 +0000 | acidjnk_new | (~acidjnk@p200300d6e737e7563c535b90a1f52aa7.dip0.t-ipconnect.de) |
| 2024-02-28 08:26:16 +0000 | acidjnk | (~acidjnk@p200300d6e737e7563c535b90a1f52aa7.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
| 2024-02-28 08:34:48 +0000 | fronzl | (~user@p5b0f33a3.dip0.t-ipconnect.de) |
| 2024-02-28 08:38:37 +0000 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
| 2024-02-28 08:44:32 +0000 | euleritian | (~euleritia@dynamic-176-006-177-152.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 2024-02-28 08:44:50 +0000 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 2024-02-28 08:48:04 +0000 | kuribas | (~user@2a02:1808:8c:525f:3605:2624:9302:ebf4) (Remote host closed the connection) |
| 2024-02-28 08:49:47 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
| 2024-02-28 08:52:40 +0000 | danse-nr3 | (~danse@ba-19-155-200.service.infuturo.it) |
| 2024-02-28 08:54:55 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 272 seconds) |
| 2024-02-28 08:56:35 +0000 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
| 2024-02-28 08:57:13 +0000 | _xor | (~xor@ip-208-102-243-175.dynamic.fuse.net) (Read error: Connection reset by peer) |
| 2024-02-28 08:57:56 +0000 | tomboy64 | (~tomboy64@user/tomboy64) (Ping timeout: 252 seconds) |
| 2024-02-28 08:59:43 +0000 | _xor | (~xor@ip-208-102-243-175.dynamic.fuse.net) |
| 2024-02-28 09:03:39 +0000 | danse-nr3 | (~danse@ba-19-155-200.service.infuturo.it) (Remote host closed the connection) |
| 2024-02-28 09:04:01 +0000 | danse-nr3 | (~danse@ba-19-155-200.service.infuturo.it) |
| 2024-02-28 09:04:20 +0000 | sroso | (~sroso@user/SrOso) (Quit: Leaving :)) |
| 2024-02-28 09:04:49 +0000 | sroso | (~sroso@user/SrOso) |
| 2024-02-28 09:06:42 +0000 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
| 2024-02-28 09:08:13 +0000 | dsrt^ | (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Ping timeout: 264 seconds) |
| 2024-02-28 09:10:02 +0000 | Benzi-Junior | (~BenziJuni@232-148-209-31.dynamic.hringdu.is) (Ping timeout: 252 seconds) |
| 2024-02-28 09:10:57 +0000 | tomboy64 | (~tomboy64@user/tomboy64) |
| 2024-02-28 09:18:29 +0000 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
| 2024-02-28 09:23:53 +0000 | danse-nr3 | (~danse@ba-19-155-200.service.infuturo.it) (Remote host closed the connection) |
| 2024-02-28 09:24:18 +0000 | drdo3 | (~drdo@bl14-14-49.dsl.telepac.pt) |
| 2024-02-28 09:25:32 +0000 | gmg | (~user@user/gehmehgeh) |
| 2024-02-28 09:25:35 +0000 | drdo | (~drdo@bl14-14-49.dsl.telepac.pt) (Ping timeout: 268 seconds) |
| 2024-02-28 09:25:35 +0000 | drdo3 | drdo |
| 2024-02-28 09:27:39 +0000 | chele | (~chele@user/chele) |
| 2024-02-28 09:29:49 +0000 | sroso | (~sroso@user/SrOso) (Quit: Leaving :)) |
| 2024-02-28 09:30:11 +0000 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
| 2024-02-28 09:30:23 +0000 | danse-nr3 | (~danse@ba-19-155-200.service.infuturo.it) |
| 2024-02-28 09:30:49 +0000 | tzh | (~tzh@c-73-164-206-160.hsd1.or.comcast.net) (Quit: zzz) |
| 2024-02-28 09:30:58 +0000 | gmg | (~user@user/gehmehgeh) |
| 2024-02-28 09:33:50 +0000 | average | (uid473595@user/average) (Quit: Connection closed for inactivity) |
| 2024-02-28 09:42:12 +0000 | ft | (~ft@p508db2e6.dip0.t-ipconnect.de) (Quit: leaving) |
| 2024-02-28 09:43:52 +0000 | sroso | (~sroso@user/SrOso) |
| 2024-02-28 09:49:13 +0000 | mjacob_ | (~mjacob@adrastea.uberspace.de) (Read error: Connection reset by peer) |
| 2024-02-28 09:54:54 +0000 | mjacob | (~mjacob@adrastea.uberspace.de) |
| 2024-02-28 09:56:25 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 246 seconds) |
| 2024-02-28 10:00:41 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
| 2024-02-28 10:04:16 +0000 | fronzl | (~user@p5b0f33a3.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 2024-02-28 10:05:22 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 268 seconds) |
| 2024-02-28 10:05:38 +0000 | __monty__ | (~toonn@user/toonn) |
| 2024-02-28 10:06:53 +0000 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 240 seconds) |
| 2024-02-28 10:15:10 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 2024-02-28 10:24:48 +0000 | zer0bitz | (~zer0bitz@user/zer0bitz) (Ping timeout: 256 seconds) |
| 2024-02-28 10:27:09 +0000 | zer0bitz | (~zer0bitz@user/zer0bitz) |
| 2024-02-28 10:29:43 +0000 | danse-nr3 | (~danse@ba-19-155-200.service.infuturo.it) (Read error: Connection reset by peer) |
| 2024-02-28 10:30:22 +0000 | danse-nr3 | (~danse@an-19-162-127.service.infuturo.it) |
| 2024-02-28 10:33:12 +0000 | mulk | (~mulk@pd9514745.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 2024-02-28 10:36:15 +0000 | Nikopol | (nikopol@user/astrorigin) (Ping timeout: 272 seconds) |
| 2024-02-28 10:36:55 +0000 | mulk | (~mulk@pd9514e24.dip0.t-ipconnect.de) |
| 2024-02-28 10:37:00 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-02-28 10:40:12 +0000 | Nikopol | (nikopol@user/astrorigin) |
| 2024-02-28 10:40:31 +0000 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds) |
| 2024-02-28 10:46:30 +0000 | Square2 | (~Square4@user/square) |
| 2024-02-28 10:46:37 +0000 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:d931:6fb2:1f6f:56aa) (Ping timeout: 264 seconds) |
| 2024-02-28 10:47:47 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-02-28 10:48:59 +0000 | <danse-nr3> | a code formatter like ourmolu collapses all inputs to a single output. Is this a type of morphism? |
| 2024-02-28 10:50:09 +0000 | <danse-nr3> | hmm not "all" technically ... |
| 2024-02-28 10:50:55 +0000 | <probie> | Are you looking for the word "idempotent", or something else? |
| 2024-02-28 10:51:15 +0000 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:4142:543a:fbbd:3f06) |
| 2024-02-28 10:51:43 +0000 | <danse-nr3> | that's what i came from, but someone said idempotent does not state anything about different inputs bringing same output |
| 2024-02-28 10:52:22 +0000 | oneeyedalien | (~oneeyedal@user/oneeyedalien) (Quit: Leaving) |
| 2024-02-28 10:52:48 +0000 | <danse-nr3> | this reminds me of a non-surjective function, but i do not know whether is there a more specific concept |
| 2024-02-28 10:54:33 +0000 | <danse-nr3> | huh non-injective maybe ... multitasking does not help with recalling math concepts ): |
| 2024-02-28 10:55:15 +0000 | <danse-nr3> | not bijective for sure XD |
| 2024-02-28 10:55:26 +0000 | <dminuoso> | non-surjective and non-injective. |
| 2024-02-28 10:55:42 +0000 | <dminuoso> | (Im not aware of any specific term for that combination) |
| 2024-02-28 10:55:45 +0000 | <probie> | A stable code formatter like Ormolu is non-injective (two source files can map the same result) non-surjective (there are source files that can't be produced) idempotent (running it twice is the same as running it once) function. But "most" functions are both non-injective and non-surjective, so it's not particularly note-worthy |
| 2024-02-28 10:55:57 +0000 | <danse-nr3> | non-injective, thanks probie |
| 2024-02-28 10:56:38 +0000 | <dminuoso> | The closest notion of somehow tossing away information I know of is forgetful functors in category theory. |
| 2024-02-28 10:56:51 +0000 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:4142:543a:fbbd:3f06) (Ping timeout: 268 seconds) |
| 2024-02-28 10:56:52 +0000 | <dminuoso> | But that's not even mildly useful if we dont start out with categories to begin with |
| 2024-02-28 10:57:07 +0000 | <danse-nr3> | interesting i will look that up when i will have time, cheers |
| 2024-02-28 10:58:07 +0000 | <dminuoso> | danse-nr3: Perhaps the better description is not that it "throws away information", but rather that it "preserves" information. |
| 2024-02-28 10:59:09 +0000 | <danse-nr3> | noted |
| 2024-02-28 10:59:21 +0000 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:4142:543a:fbbd:3f06) |
| 2024-02-28 11:01:46 +0000 | <opqdonut> | a formatter is a projection: it is an idempotent mapping to a subset |
| 2024-02-28 11:02:47 +0000 | <danse-nr3> | well spotted ... a projection is probably what clicked to me |
| 2024-02-28 11:06:10 +0000 | <ncf> | "retraction" also comes to mind |
| 2024-02-28 11:06:36 +0000 | <danse-nr3> | huh? Looking that up... |
| 2024-02-28 11:06:55 +0000 | kronicmage | (~kronicmag@neotame.csclub.uwaterloo.ca) (Ping timeout: 255 seconds) |
| 2024-02-28 11:07:09 +0000 | <danse-nr3> | this https://en.wikipedia.org/wiki/Section_(category_theory) ? |
| 2024-02-28 11:07:20 +0000 | <ncf> | yes |
| 2024-02-28 11:07:33 +0000 | <danse-nr3> | interesting, thanks |
| 2024-02-28 11:08:06 +0000 | <ncf> | with X := String and Y := AST-with-comments or something |
| 2024-02-28 11:08:44 +0000 | kronicmage | (~kronicmag@neotame.csclub.uwaterloo.ca) |
| 2024-02-28 11:09:34 +0000 | <ncf> | (in fancy terms, this is a splitting of the idempotent formatting function) |
| 2024-02-28 11:09:53 +0000 | <danse-nr3> | o.o |
| 2024-02-28 11:09:56 +0000 | xff0x | (~xff0x@ai082039.d.east.v6connect.net) |
| 2024-02-28 11:10:13 +0000 | <danse-nr3> | if i add that to the stash of stuff to study, surely some day it will make any sense to me |
| 2024-02-28 11:10:31 +0000 | <ncf> | https://ncatlab.org/nlab/show/idempotent |
| 2024-02-28 11:14:59 +0000 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 264 seconds) |
| 2024-02-28 11:16:14 +0000 | sroso | (~sroso@user/SrOso) (Quit: Leaving :)) |
| 2024-02-28 11:17:22 +0000 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:4142:543a:fbbd:3f06) (Quit: ubert) |
| 2024-02-28 11:26:15 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 255 seconds) |
| 2024-02-28 11:35:51 +0000 | ph88^ | (~ph88@2a02:8109:9e26:c800:b36c:4250:a2e0:f38d) |
| 2024-02-28 11:37:51 +0000 | teo | (~teo@user/teo) |
| 2024-02-28 11:37:57 +0000 | <ph88^> | does anyone have an idea how to solve this issue with using the type constraint? https://github.com/haskell-effectful/effectful/discussions/204 |
| 2024-02-28 11:46:04 +0000 | puke | (~puke@user/puke) |
| 2024-02-28 11:53:08 +0000 | ph88_ | (~ph88@2a02:8109:9e26:c800:2e55:526f:a486:95bf) |
| 2024-02-28 11:56:49 +0000 | ph88^ | (~ph88@2a02:8109:9e26:c800:b36c:4250:a2e0:f38d) (Ping timeout: 264 seconds) |
| 2024-02-28 11:57:40 +0000 | ph88^ | (~ph88@2a02:8109:9e26:c800:8a14:b17:1b0c:ea92) |
| 2024-02-28 11:57:42 +0000 | <probie> | ph88^: what do you expect to happen if `es` contains another `State`? |
| 2024-02-28 11:58:19 +0000 | alexherbo2 | (~alexherbo@2a02-8440-3241-a025-1d43-7b36-43f5-0bad.rev.sfr.net) |
| 2024-02-28 11:58:34 +0000 | ph88_ | (~ph88@2a02:8109:9e26:c800:2e55:526f:a486:95bf) (Ping timeout: 246 seconds) |
| 2024-02-28 11:59:19 +0000 | ph88_ | (~ph88@2a02:8109:9e26:c800:16fb:846f:303b:b33f) |
| 2024-02-28 11:59:51 +0000 | CiaoSen | (~Jura@2a05:5800:2d6:e700:e6b9:7aff:fe80:3d03) (Ping timeout: 272 seconds) |
| 2024-02-28 12:00:11 +0000 | <ph88_> | probie, match on the inner type of State |
| 2024-02-28 12:00:35 +0000 | <ph88_> | probie, and in case there are two State with the same inner type i don't know enough about effectful on how that should be handled |
| 2024-02-28 12:01:31 +0000 | <probie> | but it can't do the first, because it doesn't know that the `v` in your call to `bar` is meant to be `Double` |
| 2024-02-28 12:01:56 +0000 | <probie> | you might be able to resolve this if you change the type of `bar` to `forall v e es a. (State v :> es, Error e :> es) => Eff es a` and then `baz = foo 0.0 (bar @Double @String)` |
| 2024-02-28 12:02:13 +0000 | ph88^ | (~ph88@2a02:8109:9e26:c800:8a14:b17:1b0c:ea92) (Ping timeout: 256 seconds) |
| 2024-02-28 12:08:27 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 2024-02-28 12:10:46 +0000 | <Heffalump> | jackdk: yeah, I struggled to figure out how to override it with a custom manager - in principle you can use defaultClientParams but just switching to that without making any other changes went wrong anyway |
| 2024-02-28 12:11:06 +0000 | chiselfuse | (~chiselfus@user/chiselfuse) (Ping timeout: 260 seconds) |
| 2024-02-28 12:11:34 +0000 | gmg | (~user@user/gehmehgeh) (Ping timeout: 260 seconds) |
| 2024-02-28 12:11:34 +0000 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds) |
| 2024-02-28 12:11:34 +0000 | pastly | (~pastly@gateway/tor-sasl/pastly) (Ping timeout: 260 seconds) |
| 2024-02-28 12:12:02 +0000 | chexum | (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 260 seconds) |
| 2024-02-28 12:12:16 +0000 | alexherbo2 | (~alexherbo@2a02-8440-3241-a025-1d43-7b36-43f5-0bad.rev.sfr.net) (Remote host closed the connection) |
| 2024-02-28 12:12:17 +0000 | chexum | (~quassel@gateway/tor-sasl/chexum) |
| 2024-02-28 12:13:14 +0000 | chiselfuse | (~chiselfus@user/chiselfuse) |
| 2024-02-28 12:13:48 +0000 | gmg | (~user@user/gehmehgeh) |
| 2024-02-28 12:16:39 +0000 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
| 2024-02-28 12:18:47 +0000 | pastly | (~pastly@gateway/tor-sasl/pastly) |
| 2024-02-28 12:19:46 +0000 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:ddb0:cba8:992d:fa6b) |
| 2024-02-28 12:21:01 +0000 | alexherbo2 | (~alexherbo@2a02-8440-3241-a025-1d43-7b36-43f5-0bad.rev.sfr.net) |
| 2024-02-28 12:22:11 +0000 | danse-nr3 | (~danse@an-19-162-127.service.infuturo.it) (Ping timeout: 264 seconds) |
| 2024-02-28 12:23:24 +0000 | Guest9 | (~Guest9@165.225.106.173) |
| 2024-02-28 12:24:56 +0000 | alexherbo2 | (~alexherbo@2a02-8440-3241-a025-1d43-7b36-43f5-0bad.rev.sfr.net) (Remote host closed the connection) |
| 2024-02-28 12:25:15 +0000 | alexherbo2 | (~alexherbo@2a02-8440-3241-a025-1d43-7b36-43f5-0bad.rev.sfr.net) |
| 2024-02-28 12:25:55 +0000 | igemnace | (~ian@user/igemnace) (Read error: Connection reset by peer) |
| 2024-02-28 12:26:00 +0000 | <leah2> | very random question maybe: when you write code with lots of $ or ., do you write(!) it from left to right? |
| 2024-02-28 12:27:20 +0000 | ph88^ | (~ph88@2a02:8109:9e26:c800:db68:7ede:746b:23cf) |
| 2024-02-28 12:28:08 +0000 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: Textual IRC Client: www.textualapp.com) |
| 2024-02-28 12:28:09 +0000 | <jackdk> | . and $, unless the expression gets big and >>= is involved, in which case I like to try and maintain a unidirectional data flow |
| 2024-02-28 12:28:42 +0000 | <Guest9> | If you have cabal, and have the source code for a cabal package, how do you install it? |
| 2024-02-28 12:28:43 +0000 | <Guest9> | The package I'm talking about is : https://hackage.haskell.org/package/fast-tags-2.0.2/src/ |
| 2024-02-28 12:29:01 +0000 | <leah2> | jackdk: my question aims how you write the code, not which construct you use |
| 2024-02-28 12:29:35 +0000 | <ph88^> | probie, https://pastebin.com/38UXgMM9 |
| 2024-02-28 12:29:59 +0000 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 2024-02-28 12:30:54 +0000 | ph88_ | (~ph88@2a02:8109:9e26:c800:16fb:846f:303b:b33f) (Ping timeout: 268 seconds) |
| 2024-02-28 12:30:54 +0000 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
| 2024-02-28 12:30:59 +0000 | <jackdk> | ah hm. Unless it's so simple that it can come straight from my brain to my fingers, I tend to write it right-to-left. I write down what I have like `_ $ foo` and work my way through, narrowing the type in the hole as I go: `f . _ $ foo` -> `f . _ . h $ foo` -> `f . g . h $ foo` -> ` f .g $ h foo` etc |
| 2024-02-28 12:31:46 +0000 | gmg | (~user@user/gehmehgeh) |
| 2024-02-28 12:33:10 +0000 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Client Quit) |
| 2024-02-28 12:33:36 +0000 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 2024-02-28 12:38:39 +0000 | <ncf> | i write code inside-out and counterclockwise |
| 2024-02-28 12:42:11 +0000 | wootehfoot | (~wootehfoo@user/wootehfoot) |
| 2024-02-28 12:43:04 +0000 | igemnace | (~ian@user/igemnace) |
| 2024-02-28 12:44:10 +0000 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 2024-02-28 12:44:10 +0000 | chiselfuse | (~chiselfus@user/chiselfuse) (Read error: Connection reset by peer) |
| 2024-02-28 12:44:10 +0000 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
| 2024-02-28 12:44:10 +0000 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 2024-02-28 12:44:25 +0000 | chexum | (~quassel@gateway/tor-sasl/chexum) |
| 2024-02-28 12:44:50 +0000 | chiselfuse | (~chiselfus@user/chiselfuse) |
| 2024-02-28 12:44:57 +0000 | gmg | (~user@user/gehmehgeh) |
| 2024-02-28 12:46:02 +0000 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
| 2024-02-28 12:55:57 +0000 | azimut | (~azimut@gateway/tor-sasl/azimut) |
| 2024-02-28 12:56:43 +0000 | ph88 | (~ph88@2a02:8109:9e26:c800:8ede:73b0:bb5c:daa3) (Remote host closed the connection) |
| 2024-02-28 12:57:01 +0000 | ph88 | (~ph88@2a02:8109:9e26:c800:6088:3c01:97a2:ea63) |
| 2024-02-28 12:58:00 +0000 | bontaq | (~user@ool-45779c03.dyn.optonline.net) |
| 2024-02-28 12:59:38 +0000 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 260 seconds) |
| 2024-02-28 12:59:56 +0000 | ec | (~ec@gateway/tor-sasl/ec) |
| 2024-02-28 13:00:26 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
| 2024-02-28 13:04:16 +0000 | danse-nr3 | (~danse@151.35.185.185) |
| 2024-02-28 13:04:43 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 246 seconds) |
| 2024-02-28 13:07:36 +0000 | Guest9 | (~Guest9@165.225.106.173) (Quit: Client closed) |
| 2024-02-28 13:16:01 +0000 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds) |
| 2024-02-28 13:17:30 +0000 | euleritian | (~euleritia@dynamic-176-006-186-165.176.6.pool.telefonica.de) |
| 2024-02-28 13:18:42 +0000 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving) |
| 2024-02-28 13:23:21 +0000 | Silver_X | (~Silver_X@182.178.140.49) |
| 2024-02-28 13:27:19 +0000 | destituion | (~destituio@2a02:2121:34a:61a6:4e6d:b1ea:af4:eb36) (Ping timeout: 255 seconds) |
| 2024-02-28 13:27:49 +0000 | destituion | (~destituio@85.221.111.174) |
| 2024-02-28 13:37:57 +0000 | RedNifre | (~RedNifre@dslb-002-206-059-238.002.206.pools.vodafone-ip.de) |
| 2024-02-28 13:38:01 +0000 | <RedNifre> | Hello! |
| 2024-02-28 13:38:21 +0000 | <danse-nr3> | o/ |
| 2024-02-28 13:38:22 +0000 | <RedNifre> | What would be a good name for a function that kinda maps ALL values of a variable sized tuple? |
| 2024-02-28 13:38:37 +0000 | <danse-nr3> | might still exist |
| 2024-02-28 13:38:41 +0000 | <RedNifre> | It can't be map, since map would only map one value, to make it monadic, right? |
| 2024-02-28 13:38:47 +0000 | <danse-nr3> | oh, variable sized |
| 2024-02-28 13:38:53 +0000 | <RedNifre> | maybe multiMap? |
| 2024-02-28 13:39:02 +0000 | <RedNifre> | It's not really a Haskell question, more like an FP question. |
| 2024-02-28 13:39:17 +0000 | Silver_X | (~Silver_X@182.178.140.49) (Read error: Connection reset by peer) |
| 2024-02-28 13:39:21 +0000 | <danse-nr3> | still sounds like an fmap to me, but someone else might know better |
| 2024-02-28 13:39:22 +0000 | <RedNifre> | Basically, I have this variable sized tuple with values of different types, since they are the arguments for a database query. |
| 2024-02-28 13:39:36 +0000 | <RedNifre> | And I now want to make sure that all passed values of type YearMonth fall into a specified range. |
| 2024-02-28 13:39:48 +0000 | <danse-nr3> | different types? |
| 2024-02-28 13:40:08 +0000 | <RedNifre> | So something like args.multiMap { when(it) { is yearMonth -> clamp(it); else -> it }} |
| 2024-02-28 13:40:33 +0000 | <RedNifre> | Yeah, different types. I would inspect the type at runtime and only clamp the YearMonth values and leave the rest. |
| 2024-02-28 13:40:34 +0000 | <danse-nr3> | could you write the type signature? Or you want to discuss it in an untyped language? |
| 2024-02-28 13:41:58 +0000 | <RedNifre> | The type signature is kinda Tuple* ( ?* ) -> (? -> same or modified YearMonth) -> Tuple* (?* same types, except the YearMonths now have a different value) |
| 2024-02-28 13:42:27 +0000 | <RedNifre> | For example ("Hello", 2080-10) -> ("Hello", 2024-2) |
| 2024-02-28 13:42:57 +0000 | <danse-nr3> | does this have anything to do with haskell? |
| 2024-02-28 13:43:09 +0000 | <RedNifre> | Or also ("Some more args", 123, 2090-3, 999, 2040-2) -> ("Some more args", 123, 2024-2, 999, 2024-2) |
| 2024-02-28 13:43:28 +0000 | <danse-nr3> | i am not familiar with Tuple* (?*) syntax |
| 2024-02-28 13:43:33 +0000 | <RedNifre> | No, as I said, it's more of an FP or naming question. It's a bit like mapping the values of the tuple, but it's not a strict monadic map. |
| 2024-02-28 13:44:15 +0000 | <sshine> | sounds like something you might do with sum types, or instances of a type class, or record types. |
| 2024-02-28 13:44:18 +0000 | <RedNifre> | Basically, I'm asking about a good name for a function that would take a tuple and a "mapping" function and returns a tuple of the same type, where some of the values in the tuple are now changed, but still have the same type |
| 2024-02-28 13:44:39 +0000 | <sshine> | RedNifre, have you investigated record types? |
| 2024-02-28 13:45:42 +0000 | <RedNifre> | Sure, but that's not what this is about, since I'm dealing with tuples here. |
| 2024-02-28 13:45:47 +0000 | alexherbo2 | (~alexherbo@2a02-8440-3241-a025-1d43-7b36-43f5-0bad.rev.sfr.net) (Remote host closed the connection) |
| 2024-02-28 13:46:08 +0000 | <danse-nr3> | in haskell i guess it would probably be record types and a class as sshine mentioned. In general functional programming, i am not aware of any related concept |
| 2024-02-28 13:46:09 +0000 | alexherbo2 | (~alexherbo@220.12.23.93.rev.sfr.net) |
| 2024-02-28 13:46:35 +0000 | <RedNifre> | So I have some tuples and a function of type YearMonth -> YearMonth and I'm looking for what you would call it if you applied that function to all the values in the Tuple of type YearMonth and got a modified Tuple back. |
| 2024-02-28 13:47:02 +0000 | <RedNifre> | Hm, how about calling it multiMap? partialMap? crazyMap? |
| 2024-02-28 13:47:27 +0000 | <danse-nr3> | well a map usually refers to an exposed parameter |
| 2024-02-28 13:47:40 +0000 | <danse-nr3> | and a functor |
| 2024-02-28 13:48:02 +0000 | <RedNifre> | Right, map is wrong here, because when mapping a tuple, it can only affect one value in the tuple or it would not be correct. |
| 2024-02-28 13:50:09 +0000 | <dminuoso> | RedNifre: We have a notion of Bifunctor (and accordingly bimap). |
| 2024-02-28 13:50:10 +0000 | <RedNifre> | Hm, in Ramda it's something like "adjust", maybe I just name it that. |
| 2024-02-28 13:50:20 +0000 | <dminuoso> | I guess you could generalize this into N-functor and n-map? |
| 2024-02-28 13:50:32 +0000 | <RedNifre> | Is there also TriFunctor and VariableSizeFunctor with variableSizeMap? |
| 2024-02-28 13:50:37 +0000 | <RedNifre> | hm! |
| 2024-02-28 13:50:47 +0000 | <RedNifre> | nMap sounds interesting. |
| 2024-02-28 13:51:04 +0000 | <danse-nr3> | code that abstracts over map size is very rare in haskell |
| 2024-02-28 13:51:19 +0000 | <danse-nr3> | sorry, tuple size |
| 2024-02-28 13:51:41 +0000 | __monty__ | (~toonn@user/toonn) (Ping timeout: 268 seconds) |
| 2024-02-28 13:54:49 +0000 | <dminuoso> | RedNifre: Writing an a typeclass Multifunctor might be a fun excercise. |
| 2024-02-28 13:55:37 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 2024-02-28 13:56:15 +0000 | <lortabac> | RedNifre: I'd call it 'tmap', 'mapT' or 'mapTuple' |
| 2024-02-28 13:58:03 +0000 | <danse-nr3> | can it even work without something more encapsulated than a tuple though? |
| 2024-02-28 14:02:51 +0000 | <lortabac> | danse-nr3: I remember seeing different n-ary functor proposals, they were all quite complex |
| 2024-02-28 14:05:02 +0000 | <sshine> | RedNifre, you say records are irrelevant because you're dealing with tuples. but you know that tuples are just records with numbers instead of names? |
| 2024-02-28 14:05:31 +0000 | Guest50 | (~Guest15@105.112.248.197) |
| 2024-02-28 14:06:45 +0000 | <jackdk> | check out Control.Lens.Each from package lens |
| 2024-02-28 14:07:01 +0000 | <sshine> | sounds lensy actually, yes |
| 2024-02-28 14:08:37 +0000 | <sshine> | RedNifre, sometimes when you traverse syntax trees, you may want a specialised map function that addresses each node of some kind in arbitrary places of a tree. here's an example: https://hackage.haskell.org/package/futhark-0.25.13/docs/Futhark-IR-Traversals.html -- and a smaller derivation of that strategy: https://github.com/sshine/evm-opcodes/blob/main/src/EVM/Opcode/Traversal.hs |
| 2024-02-28 14:09:37 +0000 | <jackdk> | uniplate and friends are worth looking at too |
| 2024-02-28 14:09:43 +0000 | <sshine> | RedNifre, if you're not looking for a generalised map function that works for any type in any position in any structured type, then you could go with a specialised map function that works for a concrete type in any position. |
| 2024-02-28 14:10:14 +0000 | <danse-nr3> | i think we lost RedNifre already |
| 2024-02-28 14:10:22 +0000 | Guest62 | (~Guest62@2406:7400:56:348a:945b:9e1e:cc22:9187) |
| 2024-02-28 14:11:23 +0000 | mulk | (~mulk@pd9514e24.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 2024-02-28 14:11:43 +0000 | <sshine> | RedNifre, you can achieve this flexibility a lot easier in loosely typed languages. "feed it anything and let a run-time check iterate over the different options". for example, you wouldn't loop over a variable amount of tuple fields in Haskell, but you might in Python. |
| 2024-02-28 14:13:12 +0000 | <jackdk> | You can build all sorts of cool stuff out of generics, Typeable, etc, but it's rarely the best option |
| 2024-02-28 14:13:24 +0000 | <Guest50> | Hello everyone, |
| 2024-02-28 14:13:24 +0000 | <Guest50> | I hope this message finds you well. My name is Jesse Amos, and I'm thrilled to share that I've successfully completed the Haskell course! I'm now embarking on a personal project and am eager to find a mentor and friend who wouldn't mind me reaching out with questions as I navigate through challenges. Your guidance and insights would mean a lot to |
| 2024-02-28 14:13:25 +0000 | <Guest50> | me. Looking forward to connecting with someone willing to share their expertise. Thanks a bunch! |
| 2024-02-28 14:14:11 +0000 | shapr | (~user@c-24-218-186-89.hsd1.ma.comcast.net) |
| 2024-02-28 14:14:26 +0000 | <danse-nr3> | "the" haskell course? |
| 2024-02-28 14:15:23 +0000 | <Guest50> | not really i finish "Haskell MOOC" course |
| 2024-02-28 14:15:48 +0000 | <Guest50> | and i want to embark on build a personal project |
| 2024-02-28 14:16:01 +0000 | <Guest50> | before starting an internship |
| 2024-02-28 14:16:22 +0000 | mulk | (~mulk@pd9514e24.dip0.t-ipconnect.de) |
| 2024-02-28 14:19:41 +0000 | <danse-nr3> | welcome to haskell then. About your personal project, i suggest to start small |
| 2024-02-28 14:20:26 +0000 | <shapr> | hi! I like Haskell! |
| 2024-02-28 14:23:24 +0000 | thegeekinside | (~thegeekin@189.217.83.221) |
| 2024-02-28 14:24:23 +0000 | <Guest50> | Â I'm also looking for a mentor and a friend that can guide me through my journey of Haskell. someone that i can ask questions and will be patient with me as i grow into a more proficient developer in Haskell |
| 2024-02-28 14:25:01 +0000 | <danse-nr3> | well you can hang around here. Maybe get a libera user name so that we can recognize you easier |
| 2024-02-28 14:25:11 +0000 | dsrt^ | (~cd@c-98-242-74-66.hsd1.ga.comcast.net) |
| 2024-02-28 14:25:49 +0000 | <darkling> | Guest50: I don't think anybody is going to agree to that kind of commitment as a "named contact" for you, but if you just ask any questions you have in here, then you'll usually get an answer from someone knowledgable. |
| 2024-02-28 14:27:23 +0000 | <Guest50> | I'm also wondering if they is a what app group consist with Haskell developer that i could join since i'm more active on What app social media :] |
| 2024-02-28 14:28:03 +0000 | <Guest50> | I totally agree with you darkling |
| 2024-02-28 14:33:01 +0000 | <danse-nr3> | not aware of any whatsapp group, but there is reddit and, i think, discord, which might work easier on your phone |
| 2024-02-28 14:34:59 +0000 | <Guest50> | okay it totally cool danse-nr3 can you send a link to me or something i will actually really appreciate it |
| 2024-02-28 14:35:28 +0000 | <danse-nr3> | oh they are easy to find |
| 2024-02-28 14:40:17 +0000 | <Guest50> | Okay danse-nr3 i found one already on reddit |
| 2024-02-28 14:40:24 +0000 | <danse-nr3> | v |
| 2024-02-28 14:41:10 +0000 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
| 2024-02-28 14:43:14 +0000 | __monty__ | (~toonn@user/toonn) |
| 2024-02-28 14:44:44 +0000 | billchenchina | (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) |
| 2024-02-28 14:44:52 +0000 | billchenchina | (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Remote host closed the connection) |
| 2024-02-28 14:46:01 +0000 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 264 seconds) |
| 2024-02-28 14:48:44 +0000 | euleritian | (~euleritia@dynamic-176-006-186-165.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 2024-02-28 14:49:01 +0000 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 2024-02-28 14:50:13 +0000 | __monty__ | (~toonn@user/toonn) (Ping timeout: 264 seconds) |
| 2024-02-28 14:59:44 +0000 | teo | (~teo@user/teo) () |
| 2024-02-28 15:09:15 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-02-28 15:09:38 +0000 | CiaoSen | (~Jura@2a05:5800:2d6:e700:e6b9:7aff:fe80:3d03) |
| 2024-02-28 15:10:47 +0000 | Guest62 | (~Guest62@2406:7400:56:348a:945b:9e1e:cc22:9187) (Ping timeout: 250 seconds) |
| 2024-02-28 15:10:52 +0000 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds) |
| 2024-02-28 15:11:19 +0000 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
| 2024-02-28 15:12:10 +0000 | danse-nr3 | (~danse@151.35.185.185) (Ping timeout: 255 seconds) |
| 2024-02-28 15:12:29 +0000 | euleritian | (~euleritia@dynamic-176-006-186-165.176.6.pool.telefonica.de) |
| 2024-02-28 15:14:37 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-02-28 15:18:07 +0000 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 260 seconds) |
| 2024-02-28 15:20:44 +0000 | haftl | (~user@user/haftl) |
| 2024-02-28 15:23:16 +0000 | [[PSYCHIATRIST | (~PSYCHIAT@46.197.13.252) |
| 2024-02-28 15:25:20 +0000 | wootehfoot | (~wootehfoo@user/wootehfoot) (Ping timeout: 260 seconds) |
| 2024-02-28 15:26:34 +0000 | danza | (~francesco@151.35.185.185) |
| 2024-02-28 15:29:22 +0000 | zmt00 | (~zmt00@user/zmt00) |
| 2024-02-28 15:30:26 +0000 | <kuribas> | There is "Functional Programming" on discord |
| 2024-02-28 15:30:30 +0000 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Quit: So long and thanks for all the fish) |
| 2024-02-28 15:34:23 +0000 | kupi | (uid212005@id-212005.hampstead.irccloud.com) |
| 2024-02-28 15:39:27 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.1.1) |
| 2024-02-28 15:41:23 +0000 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
| 2024-02-28 15:44:50 +0000 | vulpine | (xfnw@tilde.team) (Quit: Connection reset by purr) |
| 2024-02-28 15:46:04 +0000 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 268 seconds) |
| 2024-02-28 15:46:12 +0000 | bontaq | (~user@ool-45779c03.dyn.optonline.net) (Remote host closed the connection) |
| 2024-02-28 15:49:36 +0000 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 2024-02-28 15:51:17 +0000 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 2024-02-28 15:53:34 +0000 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
| 2024-02-28 15:55:55 +0000 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 2024-02-28 15:58:17 +0000 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 2024-02-28 16:00:42 +0000 | <juri_> | you could also join some haskell project. most people are willing to tolerate a lot for another developer. |
| 2024-02-28 16:01:59 +0000 | danza | (~francesco@151.35.185.185) (Ping timeout: 252 seconds) |
| 2024-02-28 16:02:21 +0000 | Guest50 | (~Guest15@105.112.248.197) (Ping timeout: 250 seconds) |
| 2024-02-28 16:03:35 +0000 | destituion | (~destituio@85.221.111.174) (Ping timeout: 264 seconds) |
| 2024-02-28 16:07:06 +0000 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
| 2024-02-28 16:11:26 +0000 | destituion | (~destituio@2a02:2121:34a:61a6:3256:75da:727b:1921) |
| 2024-02-28 16:12:22 +0000 | danza | (~francesco@151.35.185.185) |
| 2024-02-28 16:20:56 +0000 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
| 2024-02-28 16:25:57 +0000 | bontaq | (~user@ool-45779c03.dyn.optonline.net) |
| 2024-02-28 16:26:49 +0000 | Guest58 | (~Guest58@188.120.100.237) |
| 2024-02-28 16:32:45 +0000 | <RedNifre> | No, you didn't lose me. |
| 2024-02-28 16:35:09 +0000 | <RedNifre> | It's just that Kotlin has a function called "copy" for records, where you specify which fields you want to "modify" as in Person.copy(lastName = "Smith"). Since my usecase for creating a modified copy of a tuple is very similar, I went with calling it "copy", but instead of naming fields, you provide a function that will be executed for every value in the tuple and hopefully returns the correct |
| 2024-02-28 16:35:11 +0000 | <RedNifre> | type (this is not type checked automatically, since I think it's impossible, at least in Kotlin). |
| 2024-02-28 16:36:05 +0000 | danza | (~francesco@151.35.185.185) (Ping timeout: 252 seconds) |
| 2024-02-28 16:36:15 +0000 | Silver_X | (~Silver_X@182.178.140.49) |
| 2024-02-28 16:37:45 +0000 | <Guest58> | What's currently considered the best tool for (semi-)automating the job of interfacing a C library through the FFI, I've tried c2hs, c2hsc and HSFFIG, but they all seem severely bit-rotten to the point where I can't even seem to build them |
| 2024-02-28 16:37:46 +0000 | <EvanR> | if every component of the tuple has the same type, you can use a Vector or V2 V3 V4 etc from linear package |
| 2024-02-28 16:37:50 +0000 | <RedNifre> | So in pseudo Kotlin, the code now reads fixedQuery = brokenQuery.copy( args = brokenQuery.args.copy(fixTime) ). The second copy is the weird "map tuple" part, but it reads okayish, at least in my opinion. |
| 2024-02-28 16:37:57 +0000 | <EvanR> | then you can fmap the components |
| 2024-02-28 16:38:17 +0000 | Guest30 | (~Guest58@188.120.100.237) |
| 2024-02-28 16:38:29 +0000 | <RedNifre> | The tuples are variable width and variable type and I want to limit all values of type YearMonth to not be in the future. |
| 2024-02-28 16:38:38 +0000 | <RedNifre> | And it's done already, so it's all good :) |
| 2024-02-28 16:38:47 +0000 | <RedNifre> | Thank you to everyone who chimed in! |
| 2024-02-28 16:39:44 +0000 | <Guest30> | What's currently considered the best tool for (semi-)automating the job of interfacing a C library through the FFI? I've tried c2hs, c2hsc and HSFFIG, but they all seem severely bit-rotten to the point where I can't even seem to build them |
| 2024-02-28 16:39:56 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Ping timeout: 252 seconds) |
| 2024-02-28 16:41:14 +0000 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 2024-02-28 16:41:30 +0000 | Guest30 | (~Guest58@188.120.100.237) (Client Quit) |
| 2024-02-28 16:41:47 +0000 | [[PSYCHIATRIST | (~PSYCHIAT@46.197.13.252) (Ping timeout: 250 seconds) |
| 2024-02-28 16:42:13 +0000 | Guest58 | (~Guest58@188.120.100.237) (Ping timeout: 250 seconds) |
| 2024-02-28 16:42:37 +0000 | <cheater> | Haskell Developers Announce Discovery of Industry Programmer Who Gives a Shit |
| 2024-02-28 16:43:26 +0000 | <cheater> | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaand he's gone |
| 2024-02-28 16:43:36 +0000 | <cheater> | back to sulking, everyone |
| 2024-02-28 16:45:13 +0000 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 2024-02-28 16:47:37 +0000 | <Silver_X> | That was a good read |
| 2024-02-28 16:48:11 +0000 | CiaoSen | (~Jura@2a05:5800:2d6:e700:e6b9:7aff:fe80:3d03) (Ping timeout: 260 seconds) |
| 2024-02-28 16:51:36 +0000 | danse-nr3 | (~danse@151.35.185.185) |
| 2024-02-28 16:52:25 +0000 | Guest58 | (~Guest58@188.120.100.237) |
| 2024-02-28 16:52:38 +0000 | wootehfoot | (~wootehfoo@user/wootehfoot) |
| 2024-02-28 16:53:11 +0000 | Lycurgus | (~georg@user/Lycurgus) (Quit: leaving) |
| 2024-02-28 16:54:17 +0000 | alexherbo2 | (~alexherbo@220.12.23.93.rev.sfr.net) (Remote host closed the connection) |
| 2024-02-28 16:54:38 +0000 | alexherbo2 | (~alexherbo@2a02-8440-3241-a025-503a-5ce6-b6b2-07fb.rev.sfr.net) |
| 2024-02-28 16:56:58 +0000 | carbolymer | (~carbolyme@dropacid.net) (Remote host closed the connection) |
| 2024-02-28 16:58:03 +0000 | chele | (~chele@user/chele) (Remote host closed the connection) |
| 2024-02-28 17:02:49 +0000 | danse-nr3 | (~danse@151.35.185.185) (Ping timeout: 264 seconds) |
| 2024-02-28 17:03:19 +0000 | danse-nr3 | (~danse@151.35.204.200) |
| 2024-02-28 17:07:14 +0000 | glguy | (g@libera/staff/glguy) (Quit: Quit) |
| 2024-02-28 17:09:14 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
| 2024-02-28 17:12:33 +0000 | glguy | (g@libera/staff/glguy) |
| 2024-02-28 17:17:45 +0000 | Silver_X | (~Silver_X@182.178.140.49) (Quit: Leaving) |
| 2024-02-28 17:19:57 +0000 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 255 seconds) |
| 2024-02-28 17:25:33 +0000 | Guest58 | (~Guest58@188.120.100.237) (Ping timeout: 250 seconds) |
| 2024-02-28 17:26:49 +0000 | danse-nr3 | (~danse@151.35.204.200) (Ping timeout: 264 seconds) |
| 2024-02-28 17:27:36 +0000 | g | (g@libera/staff/glguy) (Remote host closed the connection) |
| 2024-02-28 17:30:36 +0000 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1)) |
| 2024-02-28 17:32:29 +0000 | __monty__ | (~toonn@user/toonn) |
| 2024-02-28 17:33:34 +0000 | ak-1 | (~ak-1@ip-037-201-198-027.um10.pools.vodafone-ip.de) |
| 2024-02-28 17:34:18 +0000 | alexherbo2 | (~alexherbo@2a02-8440-3241-a025-503a-5ce6-b6b2-07fb.rev.sfr.net) (Remote host closed the connection) |
| 2024-02-28 17:36:19 +0000 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
| 2024-02-28 17:37:06 +0000 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Remote host closed the connection) |
| 2024-02-28 17:41:24 +0000 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
| 2024-02-28 17:41:35 +0000 | g | (glguy@libera/staff/glguy) |
| 2024-02-28 17:41:51 +0000 | notzmv | (~daniel@user/notzmv) (Ping timeout: 272 seconds) |
| 2024-02-28 17:41:53 +0000 | g | (glguy@libera/staff/glguy) () |
| 2024-02-28 17:42:19 +0000 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:ddb0:cba8:992d:fa6b) (Remote host closed the connection) |
| 2024-02-28 17:43:40 +0000 | wootehfoot | (~wootehfoo@user/wootehfoot) (Ping timeout: 246 seconds) |
| 2024-02-28 17:44:51 +0000 | euphores | (~SASL_euph@user/euphores) |
| 2024-02-28 17:46:55 +0000 | danse-nr3 | (~danse@151.35.204.200) |
| 2024-02-28 17:46:55 +0000 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 272 seconds) |
| 2024-02-28 17:49:22 +0000 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 2024-02-28 17:49:31 +0000 | euleritian | (~euleritia@dynamic-176-006-186-165.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 2024-02-28 17:49:47 +0000 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 2024-02-28 17:49:52 +0000 | ec | (~ec@gateway/tor-sasl/ec) |
| 2024-02-28 17:50:23 +0000 | tzh | (~tzh@c-73-164-206-160.hsd1.or.comcast.net) |
| 2024-02-28 17:50:31 +0000 | rvalue | (~rvalue@user/rvalue) |
| 2024-02-28 17:53:37 +0000 | Guest62 | (~Guest62@2406:7400:56:348a:945b:9e1e:cc22:9187) |
| 2024-02-28 17:53:53 +0000 | Guest62 | (~Guest62@2406:7400:56:348a:945b:9e1e:cc22:9187) (Client Quit) |
| 2024-02-28 17:55:27 +0000 | ak-1 | (~ak-1@ip-037-201-198-027.um10.pools.vodafone-ip.de) (Quit: Client closed) |
| 2024-02-28 18:05:14 +0000 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
| 2024-02-28 18:08:41 +0000 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
| 2024-02-28 18:11:38 +0000 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
| 2024-02-28 18:12:22 +0000 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
| 2024-02-28 18:13:26 +0000 | igemnace | (~ian@user/igemnace) (Quit: WeeChat 4.2.1) |
| 2024-02-28 18:13:30 +0000 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Remote host closed the connection) |
| 2024-02-28 18:14:03 +0000 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
| 2024-02-28 18:16:52 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-02-28 18:17:19 +0000 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Client Quit) |
| 2024-02-28 18:18:29 +0000 | Square2 | (~Square4@user/square) (Ping timeout: 256 seconds) |
| 2024-02-28 18:18:54 +0000 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 255 seconds) |
| 2024-02-28 18:31:30 +0000 | sadie-sorceress | (~sadie-sor@199.96.191.158) |
| 2024-02-28 18:32:31 +0000 | infinity0 | Guest2606 |
| 2024-02-28 18:32:32 +0000 | Guest2606 | (~infinity0@pwned.gg) (Killed (iridium.libera.chat (Nickname regained by services))) |
| 2024-02-28 18:32:41 +0000 | infinity0 | (~infinity0@pwned.gg) |
| 2024-02-28 18:39:14 +0000 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
| 2024-02-28 18:39:39 +0000 | sadie-sorceress | (~sadie-sor@199.96.191.158) (Ping timeout: 250 seconds) |
| 2024-02-28 18:41:19 +0000 | infinity0 | (~infinity0@pwned.gg) (Remote host closed the connection) |
| 2024-02-28 18:41:43 +0000 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
| 2024-02-28 18:42:27 +0000 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Client Quit) |
| 2024-02-28 18:42:31 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-02-28 18:43:14 +0000 | kupi | (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 2024-02-28 18:43:26 +0000 | infinity0 | (~infinity0@pwned.gg) |
| 2024-02-28 18:47:43 +0000 | danse-nr3 | (~danse@151.35.204.200) (Ping timeout: 272 seconds) |
| 2024-02-28 18:48:44 +0000 | notzmv | (~daniel@user/notzmv) |
| 2024-02-28 18:51:36 +0000 | target_i | (~target_i@217.175.14.39) |
| 2024-02-28 18:51:56 +0000 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 252 seconds) |
| 2024-02-28 18:53:01 +0000 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
| 2024-02-28 18:57:30 +0000 | sadie-sorceress | (~sadie-sor@199.96.191.158) |
| 2024-02-28 19:02:22 +0000 | sadie-sorceress | (~sadie-sor@199.96.191.158) (Client Quit) |
| 2024-02-28 19:06:41 +0000 | phma | (~phma@host-67-44-208-86.hnremote.net) (Read error: Connection reset by peer) |
| 2024-02-28 19:06:53 +0000 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 240 seconds) |
| 2024-02-28 19:07:44 +0000 | phma | (~phma@host-67-44-208-71.hnremote.net) |
| 2024-02-28 19:08:12 +0000 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
| 2024-02-28 19:11:49 +0000 | tri_ | (~tri@ool-18bbef1a.static.optonline.net) |
| 2024-02-28 19:13:03 +0000 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 272 seconds) |
| 2024-02-28 19:13:28 +0000 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 2024-02-28 19:16:31 +0000 | tri_ | (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 255 seconds) |
| 2024-02-28 19:25:31 +0000 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
| 2024-02-28 19:26:20 +0000 | thegeekinside | (~thegeekin@189.217.83.221) (Remote host closed the connection) |
| 2024-02-28 19:37:37 +0000 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 2024-02-28 19:39:48 +0000 | ph88^ | (~ph88@2a02:8109:9e26:c800:db68:7ede:746b:23cf) (Remote host closed the connection) |
| 2024-02-28 19:41:54 +0000 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
| 2024-02-28 19:42:25 +0000 | ski | (~ski@ext-1-033.eduroam.chalmers.se) (Ping timeout: 264 seconds) |
| 2024-02-28 19:43:49 +0000 | ski | (~ski@ext-1-033.eduroam.chalmers.se) |
| 2024-02-28 19:44:08 +0000 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 2024-02-28 19:44:17 +0000 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Remote host closed the connection) |
| 2024-02-28 19:44:30 +0000 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
| 2024-02-28 19:46:04 +0000 | [[PSYCHIATRIST | (~PSYCHIAT@46.197.13.252) |
| 2024-02-28 19:53:28 +0000 | jargon | (~jargon@111.sub-174-205-228.myvzw.com) |
| 2024-02-28 19:57:07 +0000 | [[PSYCHIATRIST | (~PSYCHIAT@46.197.13.252) (Quit: Client closed) |
| 2024-02-28 20:03:53 +0000 | [[PSYCHIATRIST | (~PSYCHIAT@46.197.13.252) |
| 2024-02-28 20:04:52 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
| 2024-02-28 20:17:48 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
| 2024-02-28 20:29:44 +0000 | vulpine | (xfnw@tilde.team) |
| 2024-02-28 20:39:51 +0000 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
| 2024-02-28 20:51:55 +0000 | pyooque | (~puke@user/puke) |
| 2024-02-28 20:51:55 +0000 | puke | Guest2325 |
| 2024-02-28 20:51:55 +0000 | pyooque | puke |
| 2024-02-28 20:53:29 +0000 | oo_miguel | (~Thunderbi@78-11-181-16.static.ip.netia.com.pl) (Ping timeout: 252 seconds) |
| 2024-02-28 20:54:19 +0000 | Guest2325 | (~puke@user/puke) (Ping timeout: 256 seconds) |
| 2024-02-28 20:55:22 +0000 | zetef | (~quassel@95.77.17.251) |
| 2024-02-28 20:58:36 +0000 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
| 2024-02-28 21:01:53 +0000 | ft | (~ft@p508db2e6.dip0.t-ipconnect.de) |
| 2024-02-28 21:05:49 +0000 | <energizer> | the higher-order-function way of writing a for loop is foldr/foldl. what is the higher-order-function way of writing `while x < 1000 { x = x * 2 }`? |
| 2024-02-28 21:06:31 +0000 | <glguy> | > until (>= 1000) (*2) 1 |
| 2024-02-28 21:06:32 +0000 | <lambdabot> | 1024 |
| 2024-02-28 21:07:19 +0000 | euphores | (~SASL_euph@user/euphores) |
| 2024-02-28 21:08:19 +0000 | <energizer> | ah nice |
| 2024-02-28 21:08:57 +0000 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds) |
| 2024-02-28 21:09:10 +0000 | euleritian | (~euleritia@dynamic-176-006-186-165.176.6.pool.telefonica.de) |
| 2024-02-28 21:09:48 +0000 | wootehfoot | (~wootehfoo@user/wootehfoot) |
| 2024-02-28 21:09:51 +0000 | emmanuelux | (~emmanuelu@user/emmanuelux) |
| 2024-02-28 21:12:01 +0000 | <energizer> | what about the scan version of that, returning the list of intermediate results? |
| 2024-02-28 21:12:47 +0000 | <int-e> | > takeWhile (< 1000) $ iterate (*2) 1 |
| 2024-02-28 21:12:48 +0000 | <lambdabot> | [1,2,4,8,16,32,64,128,256,512] |
| 2024-02-28 21:13:11 +0000 | Katarushisu1 | (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Ping timeout: 264 seconds) |
| 2024-02-28 21:13:12 +0000 | <int-e> | (not quite right, I know) |
| 2024-02-28 21:13:21 +0000 | <int-e> | :t unfoldr |
| 2024-02-28 21:13:22 +0000 | <lambdabot> | (b -> Maybe (a, b)) -> b -> [a] |
| 2024-02-28 21:13:39 +0000 | <int-e> | (unfoldr is so unwieldy) |
| 2024-02-28 21:14:31 +0000 | target_i | (~target_i@217.175.14.39) (Quit: leaving) |
| 2024-02-28 21:15:03 +0000 | zetef | (~quassel@95.77.17.251) (Remote host closed the connection) |
| 2024-02-28 21:15:35 +0000 | <Rembane> | :i until |
| 2024-02-28 21:15:56 +0000 | <Rembane> | Hm... nope. I need to alias unfoldr with unwieldr though. |
| 2024-02-28 21:16:17 +0000 | <c_wraith> | unfoldr is a demonstration of how anamorphisms can be a lot more awkward than catmorphisms |
| 2024-02-28 21:16:20 +0000 | gmg | (~user@user/gehmehgeh) |
| 2024-02-28 21:17:40 +0000 | <c_wraith> | a catamorphism can deconstruct a sum type just by using multiple parameters. an anamorphism requires an argument that produces sums to build a sum type. |
| 2024-02-28 21:18:09 +0000 | <energizer> | i think scanuntil would be `(a -> Bool) -> (a -> a) -> a -> [a]` ? |
| 2024-02-28 21:19:22 +0000 | <Rembane> | c_wraith: Is that why the hof in unfoldr gives Maybe (a, b)? |
| 2024-02-28 21:19:30 +0000 | <c_wraith> | yes |
| 2024-02-28 21:19:32 +0000 | [[PSYCHIATRIST | (~PSYCHIAT@46.197.13.252) (Quit: Client closed) |
| 2024-02-28 21:19:50 +0000 | <Rembane> | Got it. |
| 2024-02-28 21:19:53 +0000 | <c_wraith> | I suppose you could CPS it. |
| 2024-02-28 21:20:12 +0000 | <c_wraith> | But then the type would look... uh... even more unwieldy |
| 2024-02-28 21:22:05 +0000 | <int-e> | we should all remember that explicit recursion is always an option |
| 2024-02-28 21:22:08 +0000 | <Rembane> | There's a certain allure with a maximum cursed anamorphism |
| 2024-02-28 21:22:44 +0000 | jmdaemon | (~jmdaemon@user/jmdaemon) |
| 2024-02-28 21:25:14 +0000 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
| 2024-02-28 21:25:48 +0000 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection) |
| 2024-02-28 21:25:59 +0000 | gmg | (~user@user/gehmehgeh) |
| 2024-02-28 21:26:35 +0000 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
| 2024-02-28 21:31:43 +0000 | <c_wraith> | > let ana :: (forall r. b -> r -> (a -> b -> r) -> r) -> b -> [a]; ana f x = f x [] (\a b -> a : ana f b) in ana (\x nil cons -> if x > 5 then nil else cons x (x + 1)) 0 |
| 2024-02-28 21:31:44 +0000 | <lambdabot> | [0,1,2,3,4,5] |
| 2024-02-28 21:32:19 +0000 | <c_wraith> | the type is only a little impenetrable |
| 2024-02-28 21:33:32 +0000 | <c_wraith> | huh. I'm like one step away from rediscovering fodlr/build fusion |
| 2024-02-28 21:33:38 +0000 | <c_wraith> | *foldr/build |
| 2024-02-28 21:34:43 +0000 | Katarushisu1 | (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) |
| 2024-02-28 21:35:56 +0000 | <int-e> | :t GHC.Base.build |
| 2024-02-28 21:35:57 +0000 | <lambdabot> | (forall b. (a -> b -> b) -> b -> b) -> [a] |
| 2024-02-28 21:37:27 +0000 | wootehfoot | (~wootehfoo@user/wootehfoot) (Ping timeout: 272 seconds) |
| 2024-02-28 21:37:29 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 2024-02-28 21:39:57 +0000 | Katarushisu1 | (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat) |
| 2024-02-28 21:41:30 +0000 | turlando | (~turlando@user/turlando) (Remote host closed the connection) |
| 2024-02-28 21:42:04 +0000 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 2024-02-28 21:42:45 +0000 | turlando | (~turlando@user/turlando) |
| 2024-02-28 21:43:35 +0000 | hiredman | (~hiredman@frontier1.downey.family) (Ping timeout: 260 seconds) |
| 2024-02-28 21:43:57 +0000 | Katarushisu1 | (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) |
| 2024-02-28 21:48:10 +0000 | <c_wraith> | foldr/build is sort of a specific example of a hylomorphism. So it makes sense that you end up sort of close to it when you're playing with list cata/ana |
| 2024-02-28 21:52:43 +0000 | pavonia | (~user@user/siracusa) |
| 2024-02-28 21:53:06 +0000 | michalz | (~michalz@185.246.207.197) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2024-02-28 21:53:36 +0000 | Lycurgus | (~georg@user/Lycurgus) |
| 2024-02-28 21:53:42 +0000 | thegeekinside | (~thegeekin@189.217.83.221) |
| 2024-02-28 21:56:35 +0000 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) |
| 2024-02-28 22:12:00 +0000 | hiredman | (~hiredman@frontier1.downey.family) |
| 2024-02-28 22:21:25 +0000 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 264 seconds) |
| 2024-02-28 22:24:53 +0000 | haftl | (~user@user/haftl) (Remote host closed the connection) |
| 2024-02-28 22:25:11 +0000 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
| 2024-02-28 22:35:33 +0000 | Square2 | (~Square4@user/square) |
| 2024-02-28 22:43:07 +0000 | acidjnk_new | (~acidjnk@p200300d6e737e7563c535b90a1f52aa7.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 2024-02-28 22:43:30 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
| 2024-02-28 22:46:34 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-02-28 22:54:33 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 2024-02-28 22:55:28 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
| 2024-02-28 23:00:09 +0000 | julie_pilgrim | (~julie_pil@user/julie-pilgrim/x-1240752) |
| 2024-02-28 23:05:06 +0000 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
| 2024-02-28 23:06:57 +0000 | glguy | (g@libera/staff/glguy) (Quit: Quit) |
| 2024-02-28 23:08:02 +0000 | glguy | (g@libera/staff/glguy) |
| 2024-02-28 23:16:01 +0000 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
| 2024-02-28 23:21:57 +0000 | bontaq | (~user@ool-45779c03.dyn.optonline.net) (Ping timeout: 272 seconds) |
| 2024-02-28 23:23:47 +0000 | julie_pilgrim | (~julie_pil@user/julie-pilgrim/x-1240752) (Remote host closed the connection) |
| 2024-02-28 23:23:52 +0000 | Sgeo | (~Sgeo@user/sgeo) |
| 2024-02-28 23:24:08 +0000 | julie_pilgrim | (~julie_pil@user/julie-pilgrim/x-1240752) |
| 2024-02-28 23:26:00 +0000 | fraznel | (~fuag1@c-73-221-56-19.hsd1.wa.comcast.net) |
| 2024-02-28 23:27:07 +0000 | <fraznel> | hey all, i've been digging into the ghc alternatives and its very cool! I'm going off of haskell_ghc_illustrated for ghc 9 and it's mostly clicking but unclear around the stm data structure and atomically |
| 2024-02-28 23:28:20 +0000 | <fraznel> | during an atomically box with multiple TVars, where do the intermediary thunks get stored and how is the Invariant check queue handled so that its an atomic commit on all at once, is there a lock per atomically block that itself aquires all locks of all tvars before commiting a block otherwise goes into a retry? Are tvar thunks evaluated fully before a commit? etc |
| 2024-02-28 23:29:14 +0000 | <fraznel> | i see trec entries being added but its unclear how the multiple potential futures of those vars are represented or how the final invariant check is resolved. It's fine if the answer is "go look at the data structure source" but thought maybe there was a quicker answer here |
| 2024-02-28 23:29:47 +0000 | <fraznel> | s/ghc alternatives/ghc internals/g |
| 2024-02-28 23:30:50 +0000 | <fraznel> | actually it looks like the trecentries are those temporaries and it looks like possible the atomically box can be pre-empted into a retry by involved tvars changing maybe... Just not clear how the final commit is done atomically across all tvars involved |
| 2024-02-28 23:32:45 +0000 | julie_pilgrim | (~julie_pil@user/julie-pilgrim/x-1240752) (Remote host closed the connection) |
| 2024-02-28 23:35:17 +0000 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Remote host closed the connection) |
| 2024-02-28 23:40:18 +0000 | <glguy> | fraznel: are you basically looking for a paper that describes how STM is implemented? |
| 2024-02-28 23:41:59 +0000 | tri | (~tri@ool-18bbef1a.static.optonline.net) |
| 2024-02-28 23:46:23 +0000 | <fraznel> | no, just thought someone here might be like. oh yeah, they do take locks on all tvars prior to commits |
| 2024-02-28 23:46:36 +0000 | <fraznel> | but like i said, comfy reading the source if thats the best place to find things out too |
| 2024-02-28 23:48:11 +0000 | <fraznel> | happy to read a paper if there is one as well. But thought it was worth a shot asking in the channel before digging through the implementation |
| 2024-02-28 23:49:18 +0000 | <EvanR> | I think transactions which don't overlap in any way won't block each other, one of the whole points of STM |
| 2024-02-28 23:49:39 +0000 | <EvanR> | so no taking all locks on all TVars ever |
| 2024-02-28 23:49:47 +0000 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 264 seconds) |
| 2024-02-28 23:51:44 +0000 | <fraznel> | Yes but there has to be a reconciliation on multiple tvar atomically blocks on final commit still in some form, whether its with something like barriers / fences etc or locks. From what I understand now its an optimistic work model where they check if vars have been modified on final commit and rerun if needed with a possible pre-emption on involved vars changing during work |
| 2024-02-28 23:56:47 +0000 | bontaq | (~user@ool-45779c03.dyn.optonline.net) |