| 2024-04-07 00:00:02 +0000 | mhatta | (~mhatta@www21123ui.sakura.ne.jp) |
| 2024-04-07 00:08:16 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds) |
| 2024-04-07 00:48:28 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 2024-04-07 00:58:31 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
| 2024-04-07 00:59:16 +0000 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds) |
| 2024-04-07 01:02:41 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 252 seconds) |
| 2024-04-07 01:03:43 +0000 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 260 seconds) |
| 2024-04-07 01:09:21 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-04-07 01:12:20 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit) |
| 2024-04-07 01:16:45 +0000 | saftl`` | (~user@p200300f91740f5006069ab261fee2afc.dip0.t-ipconnect.de) |
| 2024-04-07 01:18:11 +0000 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) |
| 2024-04-07 01:18:18 +0000 | saftl | (~user@p200300f9173af1001d6b7e3ec038aab9.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
| 2024-04-07 01:21:45 +0000 | saftl`` | (~user@p200300f91740f5006069ab261fee2afc.dip0.t-ipconnect.de) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1)) |
| 2024-04-07 01:25:08 +0000 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 2024-04-07 01:35:29 +0000 | sadie_ | (~sadie@c-76-155-235-153.hsd1.co.comcast.net) |
| 2024-04-07 01:40:48 +0000 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 255 seconds) |
| 2024-04-07 01:51:05 +0000 | poscat0x04 | (~poscat@user/poscat) |
| 2024-04-07 01:52:11 +0000 | poscat | (~poscat@user/poscat) (Ping timeout: 252 seconds) |
| 2024-04-07 01:55:25 +0000 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) |
| 2024-04-07 01:56:59 +0000 | otto_s | (~user@p4ff27a75.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 2024-04-07 01:58:08 +0000 | otto_s | (~user@p4ff27276.dip0.t-ipconnect.de) |
| 2024-04-07 02:05:03 +0000 | op_4 | (~tslil@user/op-4/x-9116473) (Remote host closed the connection) |
| 2024-04-07 02:05:32 +0000 | op_4 | (~tslil@user/op-4/x-9116473) |
| 2024-04-07 02:11:38 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
| 2024-04-07 02:16:13 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 268 seconds) |
| 2024-04-07 02:16:58 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
| 2024-04-07 02:27:25 +0000 | masterbuilder | (~quassel@user/masterbuilder) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 2024-04-07 02:29:10 +0000 | zetef | (~quassel@5.2.182.99) (Ping timeout: 268 seconds) |
| 2024-04-07 02:30:41 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds) |
| 2024-04-07 02:32:17 +0000 | tri_ | (~tri@ool-18bc2e74.dyn.optonline.net) |
| 2024-04-07 02:32:17 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Read error: Connection reset by peer) |
| 2024-04-07 02:33:14 +0000 | mei | (~mei@user/mei) (Remote host closed the connection) |
| 2024-04-07 02:35:40 +0000 | mei | (~mei@user/mei) |
| 2024-04-07 02:42:43 +0000 | terrorjack | (~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat) |
| 2024-04-07 02:46:07 +0000 | terrorjack | (~terrorjac@2a01:4f8:c17:87f8::) |
| 2024-04-07 02:55:00 +0000 | igemnace | (~ian@user/igemnace) |
| 2024-04-07 02:56:01 +0000 | td_ | (~td@i53870929.versanet.de) (Ping timeout: 272 seconds) |
| 2024-04-07 02:56:35 +0000 | xdminsy | (~xdminsy@117.147.70.203) |
| 2024-04-07 02:57:11 +0000 | td_ | (~td@i53870921.versanet.de) |
| 2024-04-07 03:06:56 +0000 | tri_ | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
| 2024-04-07 03:07:28 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
| 2024-04-07 03:22:22 +0000 | igemnace | (~ian@user/igemnace) (Quit: WeeChat 4.2.1) |
| 2024-04-07 03:22:25 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
| 2024-04-07 03:22:37 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
| 2024-04-07 03:24:23 +0000 | aforemny | (~aforemny@2001:9e8:6cf1:9700:d84c:da2d:5fb6:63cf) |
| 2024-04-07 03:25:48 +0000 | aforemny_ | (~aforemny@2001:9e8:6ccc:cd00:83d5:fd83:d24c:2c05) (Ping timeout: 260 seconds) |
| 2024-04-07 03:47:08 +0000 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
| 2024-04-07 04:09:55 +0000 | travgm | (~travgm@fsf/member/travgm) |
| 2024-04-07 04:25:17 +0000 | byte | (~byte@149.28.222.189) (Ping timeout: 240 seconds) |
| 2024-04-07 04:25:36 +0000 | byte | (~byte@149.28.222.189) |
| 2024-04-07 04:25:41 +0000 | snek | (sid280155@id-280155.lymington.irccloud.com) (Ping timeout: 240 seconds) |
| 2024-04-07 04:25:41 +0000 | tritlo_ | (sid58727@id-58727.hampstead.irccloud.com) (Ping timeout: 240 seconds) |
| 2024-04-07 04:25:41 +0000 | diagprov | (sid348783@user/diagprov) (Ping timeout: 240 seconds) |
| 2024-04-07 04:25:52 +0000 | tritlo_ | (sid58727@id-58727.hampstead.irccloud.com) |
| 2024-04-07 04:26:05 +0000 | scav | (sid309693@user/scav) (Ping timeout: 240 seconds) |
| 2024-04-07 04:26:05 +0000 | integral | (sid296274@user/integral) (Ping timeout: 240 seconds) |
| 2024-04-07 04:26:43 +0000 | scav | (sid309693@user/scav) |
| 2024-04-07 04:27:33 +0000 | integral | (sid296274@user/integral) |
| 2024-04-07 04:28:19 +0000 | snek | (sid280155@id-280155.lymington.irccloud.com) |
| 2024-04-07 04:28:22 +0000 | diagprov | (sid348783@user/diagprov) |
| 2024-04-07 04:30:29 +0000 | mei | (~mei@user/mei) (Remote host closed the connection) |
| 2024-04-07 04:32:55 +0000 | mei | (~mei@user/mei) |
| 2024-04-07 04:52:06 +0000 | n8n | (~n8n@user/n8n) (Quit: WeeChat 4.2.1) |
| 2024-04-07 05:09:30 +0000 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 268 seconds) |
| 2024-04-07 05:11:09 +0000 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 2024-04-07 05:30:14 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
| 2024-04-07 05:43:34 +0000 | qqq | (~qqq@92.43.167.61) |
| 2024-04-07 05:59:01 +0000 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 2024-04-07 05:59:24 +0000 | ec__ | (~ec@gateway/tor-sasl/ec) |
| 2024-04-07 06:00:05 +0000 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 240 seconds) |
| 2024-04-07 06:01:06 +0000 | ec_ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 260 seconds) |
| 2024-04-07 06:01:29 +0000 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
| 2024-04-07 06:02:27 +0000 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
| 2024-04-07 06:07:26 +0000 | gentauro | (~gentauro@user/gentauro) |
| 2024-04-07 06:27:24 +0000 | euphores | (~SASL_euph@user/euphores) |
| 2024-04-07 06:34:35 +0000 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 2024-04-07 06:35:12 +0000 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 2024-04-07 06:39:59 +0000 | ubert1 | (~Thunderbi@p200300ecdf39571b9c90c5889e4dd262.dip0.t-ipconnect.de) |
| 2024-04-07 06:40:52 +0000 | ubert | (~Thunderbi@p200300ecdf395731c4a2a707ba473843.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 2024-04-07 06:40:52 +0000 | ubert1 | ubert |
| 2024-04-07 06:46:40 +0000 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 2024-04-07 06:47:06 +0000 | tzh | (~tzh@c-73-164-206-160.hsd1.or.comcast.net) (Quit: zzz) |
| 2024-04-07 06:54:16 +0000 | bliminse | (~bliminse@user/bliminse) (Quit: leaving) |
| 2024-04-07 06:54:27 +0000 | vnogueira_ | (~vnogueira@user/vnogueira) |
| 2024-04-07 06:55:42 +0000 | ec__ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 260 seconds) |
| 2024-04-07 06:57:14 +0000 | bliminse | (~bliminse@user/bliminse) |
| 2024-04-07 06:57:34 +0000 | vnogueira | (~vnogueira@user/vnogueira) (Ping timeout: 260 seconds) |
| 2024-04-07 07:00:07 +0000 | tt12310 | (~tt1231@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) (Quit: The Lounge - https://thelounge.chat) |
| 2024-04-07 07:00:21 +0000 | jle` | (~jle`@2603-8001-3b02-84d4-fc90-a9ba-a756-93bd.res6.spectrum.com) (Quit: WeeChat 4.2.1) |
| 2024-04-07 07:02:39 +0000 | tt12310 | (~tt1231@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) |
| 2024-04-07 07:10:56 +0000 | nek0 | (~nek0@user/nek0) (Quit: The Lounge - https://thelounge.chat) |
| 2024-04-07 07:13:12 +0000 | michalz | (~michalz@185.246.207.222) |
| 2024-04-07 07:13:40 +0000 | yeitrafferin | (~user@2a04:4540:7210:ce00:a5f0:fa46:a764:974e) |
| 2024-04-07 07:22:25 +0000 | Square2 | (~Square@user/square) |
| 2024-04-07 07:25:32 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-04-07 07:35:22 +0000 | acidjnk_new | (~acidjnk@p5dd87bdf.dip0.t-ipconnect.de) |
| 2024-04-07 07:38:31 +0000 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds) |
| 2024-04-07 07:39:48 +0000 | euleritian | (~euleritia@dynamic-176-006-184-177.176.6.pool.telefonica.de) |
| 2024-04-07 07:41:43 +0000 | philopsos | (~caecilius@user/philopsos) (Ping timeout: 255 seconds) |
| 2024-04-07 07:44:05 +0000 | jle` | (~jle`@2603-8001-3b02-84d4-6afd-70f5-ecb9-5dde.res6.spectrum.com) |
| 2024-04-07 07:47:10 +0000 | fireking04 | (~fireking0@112.206.74.47) |
| 2024-04-07 07:48:46 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-04-07 07:51:52 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-04-07 07:53:39 +0000 | nek0 | (~nek0@2a01:4f8:222:2b41::12) |
| 2024-04-07 07:53:39 +0000 | nek0 | (~nek0@2a01:4f8:222:2b41::12) (Changing host) |
| 2024-04-07 07:53:39 +0000 | nek0 | (~nek0@user/nek0) |
| 2024-04-07 08:06:11 +0000 | jorj | (~jorj@user/jorj) (Quit: jorj) |
| 2024-04-07 08:17:01 +0000 | simendsjo | (~user@84.209.170.3) |
| 2024-04-07 08:18:36 +0000 | zetef | (~quassel@5.2.182.99) |
| 2024-04-07 08:29:49 +0000 | sadie_ | (~sadie@c-76-155-235-153.hsd1.co.comcast.net) (Remote host closed the connection) |
| 2024-04-07 08:32:07 +0000 | arthurvl | (~arthurvl@2a02-a469-f5e2-1-83d2-ca43-57a2-dc81.fixed6.kpn.net) (Quit: ein reboot macht gut) |
| 2024-04-07 08:34:15 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-04-07 08:42:15 +0000 | Cale | (~cale@2607:fea8:995f:f126:15c3:35a5:81ac:187c) (Ping timeout: 256 seconds) |
| 2024-04-07 08:43:48 +0000 | euleritian | (~euleritia@dynamic-176-006-184-177.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 2024-04-07 08:44:07 +0000 | euleritian | (~euleritia@77.22.252.56) |
| 2024-04-07 08:51:03 +0000 | tititest | (~tititest@ip-037-201-154-121.um10.pools.vodafone-ip.de) |
| 2024-04-07 08:51:44 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-04-07 08:53:23 +0000 | oo_miguel | (~Thunderbi@78-11-181-16.static.ip.netia.com.pl) |
| 2024-04-07 08:54:04 +0000 | Cale | (~cale@2607:fea8:995f:f126:15c3:35a5:81ac:187c) |
| 2024-04-07 08:54:33 +0000 | fireking04 | (~fireking0@112.206.74.47) (Quit: Leaving) |
| 2024-04-07 08:56:06 +0000 | euleritian | (~euleritia@77.22.252.56) (Read error: Connection reset by peer) |
| 2024-04-07 08:57:17 +0000 | <mesaoptimizer> | What is the next book you'd recommend after Graham Hutton's textbook? |
| 2024-04-07 08:59:58 +0000 | <mesaoptimizer> | I don't have a concrete goal right now -- I'm mostly exploring Haskell and its concepts and find it fun. I also find myself not really using Haskell to write any useful programs, although I do intend to experiment with using a static-site-generator like hakyll soon |
| 2024-04-07 09:00:55 +0000 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 2024-04-07 09:02:02 +0000 | <tomsmeding> | use it :p |
| 2024-04-07 09:02:34 +0000 | <tomsmeding> | a good way to better understand the ideas is to use them yourself to build programs |
| 2024-04-07 09:02:48 +0000 | <tomsmeding> | the programs don't need to be useful per se ;) |
| 2024-04-07 09:02:59 +0000 | Square2 | (~Square@user/square) (Ping timeout: 264 seconds) |
| 2024-04-07 09:03:41 +0000 | simendsjo | (~user@84.209.170.3) (Ping timeout: 240 seconds) |
| 2024-04-07 09:05:11 +0000 | <tomsmeding> | depending on what you're interested in, ideas could be: a small calculator (which you can extend to a small programming language -- this one allows sticking in a whole bunch of fancy haskell if you want to), Project Euler like things, Advent of Code like things (can get a bit messy, because the problems sometimes are) |
| 2024-04-07 09:05:39 +0000 | int-e | is looking up guides on leaving a cult (sorry, maybe a bit too dark for Sunday) |
| 2024-04-07 09:06:07 +0000 | <int-e> | But there are books on this. :-P |
| 2024-04-07 09:06:54 +0000 | <tomsmeding> | mesaoptimizer: unless you think you like wrangling with effective separation of IO and non-IO code, I don't recommend IO-heavy programs like web scrapers, games, TODO apps, etc. (the standard list of "small things to build" for imperative languages) |
| 2024-04-07 09:07:36 +0000 | <tomsmeding> | there are certainly books on this but I posit that you should do _something_ with what you read if you want to truly understand what you've just read :) |
| 2024-04-07 09:09:17 +0000 | <mesaoptimizer> | tomsmeding: that's useful. I guess I might take a look at hasktorch and mess around with it. For context, jax (the python deep learning library) is what got me enthusiastic about Haskell. |
| 2024-04-07 09:09:53 +0000 | gmg | (~user@user/gehmehgeh) |
| 2024-04-07 09:10:31 +0000 | <tomsmeding> | that's a big library :) |
| 2024-04-07 09:12:19 +0000 | <tomsmeding> | ah there is a tutorial |
| 2024-04-07 09:12:24 +0000 | CiaoSen | (~Jura@2a05:5800:298:af00:e6b9:7aff:fe80:3d03) |
| 2024-04-07 09:16:59 +0000 | CiaoSen | (~Jura@2a05:5800:298:af00:e6b9:7aff:fe80:3d03) (Ping timeout: 260 seconds) |
| 2024-04-07 09:24:02 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-04-07 09:32:31 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-04-07 09:33:27 +0000 | arthurvl | (~arthurvl@2a02-a469-f5e2-1-83d2-ca43-57a2-dc81.fixed6.kpn.net) |
| 2024-04-07 09:33:44 +0000 | sawilagar | (~sawilagar@user/sawilagar) |
| 2024-04-07 09:35:51 +0000 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2024-04-07 09:37:16 +0000 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds) |
| 2024-04-07 09:38:06 +0000 | euleritian | (~euleritia@dynamic-176-006-184-177.176.6.pool.telefonica.de) |
| 2024-04-07 09:39:41 +0000 | Luj | (~Luj@2a01:e0a:5f9:9681:e6d6:c9c5:5502:ad12) |
| 2024-04-07 09:40:56 +0000 | euleritian | (~euleritia@dynamic-176-006-184-177.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 2024-04-07 09:41:13 +0000 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 2024-04-07 09:48:55 +0000 | Square2 | (~Square@user/square) |
| 2024-04-07 09:57:18 +0000 | coldtom | (~coldtom@coldrick.cc) (Quit: Ping timeout (120 seconds)) |
| 2024-04-07 09:57:33 +0000 | coldtom | (~coldtom@coldrick.cc) |
| 2024-04-07 09:58:29 +0000 | Square2 | (~Square@user/square) (Ping timeout: 240 seconds) |
| 2024-04-07 09:59:36 +0000 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
| 2024-04-07 10:11:42 +0000 | yeitrafferin | (~user@2a04:4540:7210:ce00:a5f0:fa46:a764:974e) (Quit: Leaving) |
| 2024-04-07 10:11:49 +0000 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) |
| 2024-04-07 10:15:19 +0000 | sanpo | (~sanpo@user/sanpo) |
| 2024-04-07 10:17:27 +0000 | <Inst> | ugh, given a random generator |
| 2024-04-07 10:18:29 +0000 | <Inst> | how do you, in pointfree or semi point free style, convert it to a list of items generated from the generator? |
| 2024-04-07 10:22:25 +0000 | <ncf> | what's a random generator |
| 2024-04-07 10:22:58 +0000 | <Rembane> | Inst: Do you have an example with the points? |
| 2024-04-07 10:24:22 +0000 | <Inst> | import Control.Arrow ((***), first, second) |
| 2024-04-07 10:24:22 +0000 | <Inst> | genRange :: IO [Int] |
| 2024-04-07 10:24:22 +0000 | <Inst> | genRange = do |
| 2024-04-07 10:24:22 +0000 | <Inst> | initial <- first pure . uniformR (1,20) <$> newStdGen |
| 2024-04-07 10:24:26 +0000 | <Inst> | pure . take 30 . fst $ iterate (uniformR (1,20) =<< )) initial |
| 2024-04-07 10:24:29 +0000 | <Inst> | ugh, should have pastebinned it, too large |
| 2024-04-07 10:24:57 +0000 | <Inst> | i'd rather do it without arrows if possible |
| 2024-04-07 10:27:58 +0000 | <Rembane> | You can use first and second from BiFunctor instead. |
| 2024-04-07 10:31:53 +0000 | <Rembane> | Inst: I think basing your code in the example here should make it a bit more straightforward: https://hackage.haskell.org/package/random-1.2.1.2/docs/System-Random.html#g:2 |
| 2024-04-07 10:32:27 +0000 | <zfnmxt> | I've always wondered why it's `Bifunctor` and not `BiFunctor`. I make that capitalization mistake every time I import it. |
| 2024-04-07 10:32:34 +0000 | <ncf> | this is just replicateM 30 in a state monad |
| 2024-04-07 10:32:47 +0000 | <Rembane> | zfnmxt: Then we're at least two. :) |
| 2024-04-07 10:32:50 +0000 | <ncf> | zfnmxt: because it's bifunctor and not biFunctor? |
| 2024-04-07 10:33:10 +0000 | <ncf> | do you write BiCycle |
| 2024-04-07 10:33:49 +0000 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
| 2024-04-07 10:34:19 +0000 | <zfnmxt> | ncf: You have a point there. And I might write "BiCycle" if the thing I usually have is a Cycle and a BiCycle is somehow a derivative of it where the Bi prefix makes sense. |
| 2024-04-07 10:34:40 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds) |
| 2024-04-07 10:35:26 +0000 | <zfnmxt> | For bifunctor I see the "bi" as a prefix modifier and so in my brain it makes sense to distinguish it from "functor" by capitalizing the "F". But your argument makes sense too. |
| 2024-04-07 10:36:45 +0000 | Lord_of_Life_ | Lord_of_Life |
| 2024-04-07 10:39:02 +0000 | <Inst> | oh doip :( |
| 2024-04-07 10:39:07 +0000 | <Inst> | the unfoldr solution is best |
| 2024-04-07 10:42:02 +0000 | <Inst> | grrr, ugh |
| 2024-04-07 10:42:14 +0000 | <Inst> | i feel like it's cheating to just get out to unfoldr |
| 2024-04-07 10:43:01 +0000 | <Rembane> | Inst: How does it feel like cheating? |
| 2024-04-07 10:45:58 +0000 | <Inst> | i'm just copy pasting from the manual |
| 2024-04-07 10:46:07 +0000 | <Inst> | genRange :: IO [Int] |
| 2024-04-07 10:46:07 +0000 | <Inst> | genRange = do initial <- uniformR (1,20 :: Int) <$> newStdGen |
| 2024-04-07 10:46:07 +0000 | <Inst> | pure . fmap fst . take 30 $ iterate ( uniformR (1,20 :: Int) . snd ) initial |
| 2024-04-07 10:46:59 +0000 | xdminsy | (~xdminsy@117.147.70.203) (Read error: Connection reset by peer) |
| 2024-04-07 10:47:10 +0000 | <Inst> | there, this verrsion has no dependencies other than System.Random |
| 2024-04-07 10:48:00 +0000 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
| 2024-04-07 10:48:02 +0000 | <ncf> | why is that a goal |
| 2024-04-07 10:49:43 +0000 | xdminsy | (~xdminsy@117.147.70.203) |
| 2024-04-07 10:50:02 +0000 | <Inst> | quick and dirty test-writing... which should be handled by Quickcheck, tbh |
| 2024-04-07 10:52:06 +0000 | <Inst> | genRange = fmap fst . iterate ( uniformR (1,20 :: Int) . snd ). uniformR (1,20 :: Int) <$> newStdGen |
| 2024-04-07 10:52:15 +0000 | <Inst> | this works, but i want to get the doubled uniformR out :( |
| 2024-04-07 10:52:57 +0000 | <Inst> | which, incidentally, is the entire point of unfoldr :( |
| 2024-04-07 10:56:11 +0000 | <ncf> | i would really just move to a stateful monad and use replicateM |
| 2024-04-07 10:56:44 +0000 | <ncf> | see the second code snippet in that page |
| 2024-04-07 10:57:24 +0000 | <ncf> | or you know, use randomRs |
| 2024-04-07 10:57:29 +0000 | <ncf> | https://hackage.haskell.org/package/random-1.2.1.2/docs/System-Random.html#v:randomRs |
| 2024-04-07 11:00:50 +0000 | mrmr155334 | (~mrmr@user/mrmr) (Quit: Bye, See ya later!) |
| 2024-04-07 11:10:29 +0000 | <Inst> | randomRs is depreciated |
| 2024-04-07 11:11:52 +0000 | <ncf> | is it? |
| 2024-04-07 11:14:58 +0000 | <tomsmeding> | > Random [ed. the class] exists primarily for backwards compatibility with version 1.1 of this library. |
| 2024-04-07 11:16:10 +0000 | <tomsmeding> | a bit strange that they didn't provide a full set of replacement functions using Uniform (although the missing ones are easily written) |
| 2024-04-07 11:16:19 +0000 | mrmr155334 | (~mrmr@user/mrmr) |
| 2024-04-07 11:19:08 +0000 | son0p | (~ff@191.104.17.254) (Quit: Leaving) |
| 2024-04-07 11:20:22 +0000 | xff0x | (~xff0x@2405:6580:b080:900:2bd3:fa41:7b29:56d9) (Ping timeout: 246 seconds) |
| 2024-04-07 11:20:29 +0000 | <Inst> | no one parallelized quickcheck yet? |
| 2024-04-07 11:20:36 +0000 | <Inst> | I'm testing my mergesort and I think it's space leaking :( |
| 2024-04-07 11:20:45 +0000 | <tomsmeding> | check out hedgehog |
| 2024-04-07 11:21:16 +0000 | xff0x | (~xff0x@2405:6580:b080:900:a090:2214:6013:5d1f) |
| 2024-04-07 11:21:58 +0000 | <ski> | genRange = take 30 . unfoldr (Just . uniformR (1,20)) <$> newStdGen |
| 2024-04-07 11:22:48 +0000 | billchenchina- | (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) |
| 2024-04-07 11:22:52 +0000 | <mesaoptimizer> | "I don’t feel the weight of the world. Because it does not weigh on me." https://www.greaterwrong.com/posts/ur9TCRnHJighHmLCW/on-caring#comment-ZsMLu8JqAiTrATCaL |
| 2024-04-07 11:23:15 +0000 | yeitrafferin | (~user@2a04:4540:7210:ce00:a5f0:fa46:a764:974e) |
| 2024-04-07 11:23:28 +0000 | <mesaoptimizer> | oh jeez, wrong channel sorry guys |
| 2024-04-07 11:23:36 +0000 | <Inst> | which is the right channel? :) |
| 2024-04-07 11:24:04 +0000 | <Inst> | Oh, it's just a lesswrong mirror, not a splinter |
| 2024-04-07 11:24:25 +0000 | <mesaoptimizer> | yeah, an alternative front-end |
| 2024-04-07 11:27:21 +0000 | <Inst> | btw anyone have any idea why it spaceleaks? |
| 2024-04-07 11:27:29 +0000 | <Inst> | of course this isn't as efficient as Data.List.sort |
| 2024-04-07 11:27:31 +0000 | <Inst> | https://paste.tomsmeding.com/kCrIz5tQ |
| 2024-04-07 11:27:41 +0000 | <ski> | Inst : `unfoldr' like above ? |
| 2024-04-07 11:28:12 +0000 | <tomsmeding> | Inst: can you substantiate "space leak"? |
| 2024-04-07 11:28:27 +0000 | <Inst> | well, i have no idea why it's so unperformant |
| 2024-04-07 11:28:30 +0000 | <ski> | strictness annotations on base cases of `merge' are redundant |
| 2024-04-07 11:28:50 +0000 | <Inst> | and they don't really work for list because you just get exposure (usually) of the constructor |
| 2024-04-07 11:29:00 +0000 | <Inst> | thank you for recommending hedgehog |
| 2024-04-07 11:29:07 +0000 | travgm | (~travgm@fsf/member/travgm) (Remote host closed the connection) |
| 2024-04-07 11:29:19 +0000 | <Inst> | i'm getting into testing more professionally, since I'm trying to pick up Julia and make friends with Julia, and you know what their language is notorious for |
| 2024-04-07 11:29:20 +0000 | <tomsmeding> | Inst: why is 'merge' calling mergesort on its arguments at each step of the 'merge' recursion |
| 2024-04-07 11:30:13 +0000 | <tomsmeding> | tip: use view patterns less :p |
| 2024-04-07 11:30:47 +0000 | <Inst> | because i wanted comedy mutual recursion |
| 2024-04-07 11:31:04 +0000 | <Inst> | i've been trolling them by pretending that their terse function notation foo(x,y) indicates pure |
| 2024-04-07 11:31:19 +0000 | <Inst> | then i wrote out everything as a single expression using let |
| 2024-04-07 11:31:39 +0000 | <Inst> | and screwed over their syntax to force a Haskell-like evaluation, which was, of course, utterly unreadable |
| 2024-04-07 11:31:43 +0000 | <Inst> | they didn't bite :( |
| 2024-04-07 11:31:46 +0000 | <Inst> | wanna see? |
| 2024-04-07 11:32:49 +0000 | <tomsmeding> | Inst: https://paste.tomsmeding.com/DeYSb30M |
| 2024-04-07 11:32:53 +0000 | <ski> | Inst : you're repeatedly sorting the tails in `merge', uselessly |
| 2024-04-07 11:33:08 +0000 | <Inst> | ah, thanks |
| 2024-04-07 11:33:22 +0000 | <tomsmeding> | (that's what I was trying to say as well, but less explicitly so that you could figure it out yourself :p) |
| 2024-04-07 11:33:30 +0000 | <ski> | (sorting them when they're already sorted, apart from the initial recursive `mergesort' calls, from `merge') |
| 2024-04-07 11:33:36 +0000 | <Inst> | ummm, i did that, with single recursion |
| 2024-04-07 11:34:43 +0000 | <tomsmeding> | the more interesting question is, what was the complexity of the original algorithm |
| 2024-04-07 11:34:54 +0000 | <Inst> | probably O(n^2)? |
| 2024-04-07 11:34:58 +0000 | <tomsmeding> | far more I think |
| 2024-04-07 11:36:09 +0000 | <Inst> | wait, are there any real ways to get O(k^n)? |
| 2024-04-07 11:36:10 +0000 | xdminsy | (~xdminsy@117.147.70.203) (Ping timeout: 255 seconds) |
| 2024-04-07 11:36:59 +0000 | xdminsy | (~xdminsy@117.147.70.203) |
| 2024-04-07 11:37:23 +0000 | <Inst> | whoops, i mean O(n^n) |
| 2024-04-07 11:37:29 +0000 | <tomsmeding> | think about that one yourself for a while :) |
| 2024-04-07 11:39:14 +0000 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds) |
| 2024-04-07 11:42:39 +0000 | xff0x | (~xff0x@2405:6580:b080:900:a090:2214:6013:5d1f) (Quit: xff0x) |
| 2024-04-07 11:42:51 +0000 | euleritian | (~euleritia@dynamic-176-006-184-177.176.6.pool.telefonica.de) |
| 2024-04-07 11:43:40 +0000 | euleritian | (~euleritia@dynamic-176-006-184-177.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 2024-04-07 11:43:57 +0000 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 2024-04-07 11:44:50 +0000 | <darkling> | A clue for that: you may be interested in Stirling's approximation. |
| 2024-04-07 11:45:43 +0000 | xff0x | (~xff0x@2405:6580:b080:900:bb82:210b:4257:7a0f) |
| 2024-04-07 11:48:53 +0000 | xdminsy | (~xdminsy@117.147.70.203) (Ping timeout: 240 seconds) |
| 2024-04-07 11:48:57 +0000 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 2024-04-07 11:49:16 +0000 | xdminsy | (~xdminsy@117.147.70.203) |
| 2024-04-07 11:50:47 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-04-07 12:05:47 +0000 | <Inst> | yeah, i looked it up, DFS is O(n^n) |
| 2024-04-07 12:06:13 +0000 | <Inst> | btw, quick question, this wouldn't turn on multicore on ghci, right? |
| 2024-04-07 12:06:15 +0000 | <Inst> | ghci -package hedgehog -threaded +RTS -N |
| 2024-04-07 12:06:32 +0000 | <tomsmeding> | have you tried? |
| 2024-04-07 12:06:58 +0000 | <tomsmeding> | I can't figure the math out for the complexity of Inst's original code, and I can't figure out a fit of the timing data either :p |
| 2024-04-07 12:07:37 +0000 | <tomsmeding> | oh I can |
| 2024-04-07 12:10:47 +0000 | <tomsmeding> | the fit is not perfect but I'll accept it as decent |
| 2024-04-07 12:10:58 +0000 | <tomsmeding> | a * n^2 + b * exp(sqrt(n)) |
| 2024-04-07 12:17:23 +0000 | <tomsmeding> | https://tomsmeding.com/vang/5TxoyR/inst-plot.png |
| 2024-04-07 12:17:25 +0000 | <tomsmeding> | without the n^2 term |
| 2024-04-07 12:18:40 +0000 | son0p | (~ff@191.104.17.254) |
| 2024-04-07 12:20:29 +0000 | ubert | (~Thunderbi@p200300ecdf39571b9c90c5889e4dd262.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 2024-04-07 12:22:28 +0000 | acidjnk_new | (~acidjnk@p5dd87bdf.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 2024-04-07 12:24:07 +0000 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds) |
| 2024-04-07 12:25:09 +0000 | euleritian | (~euleritia@dynamic-176-006-184-177.176.6.pool.telefonica.de) |
| 2024-04-07 12:40:33 +0000 | euleritian | (~euleritia@dynamic-176-006-184-177.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 2024-04-07 12:42:31 +0000 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 2024-04-07 13:12:18 +0000 | dbaoty | (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) |
| 2024-04-07 13:17:14 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-04-07 13:21:37 +0000 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds) |
| 2024-04-07 13:21:58 +0000 | euleritian | (~euleritia@dynamic-176-006-184-177.176.6.pool.telefonica.de) |
| 2024-04-07 13:29:39 +0000 | todi | (~todi@p57803331.dip0.t-ipconnect.de) |
| 2024-04-07 13:39:08 +0000 | euleritian | (~euleritia@dynamic-176-006-184-177.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 2024-04-07 13:39:25 +0000 | euleritian | (~euleritia@77.22.252.56) |
| 2024-04-07 13:40:09 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-04-07 13:45:15 +0000 | eugenrh_ | (~eugenrh@2a01:4f9:c011:265::1) (Changing host) |
| 2024-04-07 13:45:15 +0000 | eugenrh_ | (~eugenrh@user/eugenrh) |
| 2024-04-07 13:45:30 +0000 | eugenrh_ | (~eugenrh@user/eugenrh) (Quit: WeeChat 3.7.1) |
| 2024-04-07 13:49:38 +0000 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
| 2024-04-07 13:50:45 +0000 | eugenrh | (~eugenrh@user/eugenrh) |
| 2024-04-07 13:54:22 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-04-07 14:05:33 +0000 | zetef | (~quassel@5.2.182.99) (Remote host closed the connection) |
| 2024-04-07 14:17:07 +0000 | michalz | (~michalz@185.246.207.222) (Ping timeout: 246 seconds) |
| 2024-04-07 14:17:48 +0000 | ec_ | (~ec@gateway/tor-sasl/ec) |
| 2024-04-07 14:22:10 +0000 | __monty__ | (~toonn@user/toonn) |
| 2024-04-07 14:25:28 +0000 | <Inst> | thanks :) |
| 2024-04-07 14:25:46 +0000 | <Inst> | i wonder if i should just memorize the Data.List.sort instead |
| 2024-04-07 14:26:04 +0000 | <Inst> | since that is a canonically good mergesort, no? Btu I'd assume it's limited to laziness |
| 2024-04-07 14:35:19 +0000 | <ski> | "limited to laziness" meaning ? |
| 2024-04-07 14:38:30 +0000 | jrm | (~jrm@user/jrm) (Quit: ciao) |
| 2024-04-07 14:39:59 +0000 | jrm | (~jrm@user/jrm) |
| 2024-04-07 14:43:16 +0000 | target_i | (~target_i@user/target-i/x-6023099) |
| 2024-04-07 14:52:55 +0000 | r5c4571lh01987 | (~rscastilh@179.221.142.8) |
| 2024-04-07 14:54:54 +0000 | michalz | (~michalz@185.246.207.221) |
| 2024-04-07 15:01:01 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-04-07 15:14:20 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-04-07 15:16:18 +0000 | ddellacosta | (~ddellacos@ool-44c73d29.dyn.optonline.net) (Ping timeout: 252 seconds) |
| 2024-04-07 15:19:53 +0000 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving) |
| 2024-04-07 15:21:14 +0000 | poxel | (~lennart@user/poxel) |
| 2024-04-07 15:24:06 +0000 | tititest | (~tititest@ip-037-201-154-121.um10.pools.vodafone-ip.de) (Quit: Leaving.) |
| 2024-04-07 15:28:27 +0000 | paddymahoney | (~paddymaho@99.250.26.190) (Ping timeout: 260 seconds) |
| 2024-04-07 15:30:35 +0000 | michalz | (~michalz@185.246.207.221) (Ping timeout: 264 seconds) |
| 2024-04-07 15:31:16 +0000 | ania123 | (~ania123@94-43-231-47.dsl.utg.ge) |
| 2024-04-07 15:32:05 +0000 | michalz | (~michalz@185.246.207.201) |
| 2024-04-07 15:33:08 +0000 | ania123 | (~ania123@94-43-231-47.dsl.utg.ge) (Client Quit) |
| 2024-04-07 15:36:24 +0000 | paddymahoney | (~paddymaho@99.250.26.190) |
| 2024-04-07 15:37:14 +0000 | acidjnk_new | (~acidjnk@p200300d6e714dc26d1056ca2ae8c08a8.dip0.t-ipconnect.de) |
| 2024-04-07 15:43:12 +0000 | euleritian | (~euleritia@77.22.252.56) (Ping timeout: 255 seconds) |
| 2024-04-07 15:44:34 +0000 | euleritian | (~euleritia@dynamic-176-006-184-177.176.6.pool.telefonica.de) |
| 2024-04-07 15:48:48 +0000 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) (Read error: Connection reset by peer) |
| 2024-04-07 15:49:42 +0000 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) |
| 2024-04-07 15:50:27 +0000 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) (Max SendQ exceeded) |
| 2024-04-07 15:51:17 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-04-07 15:51:27 +0000 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) |
| 2024-04-07 15:55:21 +0000 | euleritian | (~euleritia@dynamic-176-006-184-177.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 2024-04-07 15:55:45 +0000 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 2024-04-07 15:58:48 +0000 | philopsos | (~caecilius@user/philopsos) |
| 2024-04-07 16:03:28 +0000 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
| 2024-04-07 16:04:17 +0000 | tzh | (~tzh@c-73-164-206-160.hsd1.or.comcast.net) |
| 2024-04-07 16:04:42 +0000 | todi | (~todi@p57803331.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 2024-04-07 16:09:08 +0000 | ania123 | (~ania123@94-43-231-47.dsl.utg.ge) |
| 2024-04-07 16:10:29 +0000 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 256 seconds) |
| 2024-04-07 16:28:07 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-04-07 16:29:13 +0000 | son0p | (~ff@191.104.17.254) (Quit: Leaving) |
| 2024-04-07 16:33:35 +0000 | <Inst> | ski: that is to say, the good performance of Haskell mergesort assumes laziness |
| 2024-04-07 16:36:10 +0000 | qqq | (~qqq@92.43.167.61) (Remote host closed the connection) |
| 2024-04-07 16:37:43 +0000 | zetef | (~quassel@5.2.182.99) |
| 2024-04-07 16:41:48 +0000 | rvalue- | (~rvalue@user/rvalue) |
| 2024-04-07 16:42:55 +0000 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 256 seconds) |
| 2024-04-07 16:45:52 +0000 | rvalue- | rvalue |
| 2024-04-07 16:49:52 +0000 | <tomsmeding> | I don't think it does |
| 2024-04-07 16:50:23 +0000 | <tomsmeding> | it's written in such a way that it can produce elements before the whole list has been sorted using laziness |
| 2024-04-07 16:50:31 +0000 | <tomsmeding> | but in a strict language the algorithm would work fine |
| 2024-04-07 16:56:26 +0000 | son0p | (~ff@191.104.17.254) |
| 2024-04-07 16:57:57 +0000 | todi | (~todi@p57803331.dip0.t-ipconnect.de) |
| 2024-04-07 16:59:04 +0000 | ania123 | (~ania123@94-43-231-47.dsl.utg.ge) (Quit: Client closed) |
| 2024-04-07 16:59:34 +0000 | chexum | (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 260 seconds) |
| 2024-04-07 16:59:59 +0000 | chexum | (~quassel@gateway/tor-sasl/chexum) |
| 2024-04-07 17:02:22 +0000 | zetef | (~quassel@5.2.182.99) (Remote host closed the connection) |
| 2024-04-07 17:04:01 +0000 | hocrdoac^ | (~cd@c-98-242-74-66.hsd1.ga.comcast.net) |
| 2024-04-07 17:08:04 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-04-07 17:11:07 +0000 | esph | (~weechat@user/esph) (Ping timeout: 260 seconds) |
| 2024-04-07 17:22:46 +0000 | tititest | (~tititest@ip-037-201-154-121.um10.pools.vodafone-ip.de) |
| 2024-04-07 17:22:56 +0000 | Square2 | (~Square@user/square) |
| 2024-04-07 17:23:28 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-04-07 17:27:25 +0000 | qqq | (~qqq@92.43.167.61) |
| 2024-04-07 17:30:17 +0000 | Rembane | (~Rembane@li346-36.members.linode.com) (Changing host) |
| 2024-04-07 17:30:17 +0000 | Rembane | (~Rembane@user/Rembane) |
| 2024-04-07 17:30:25 +0000 | billchenchina- | (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Quit: Leaving) |
| 2024-04-07 17:32:21 +0000 | sadie-sorceress | (~sadie-sor@c-76-155-235-153.hsd1.co.comcast.net) |
| 2024-04-07 17:33:34 +0000 | <dolio> | Have you heard of Timsort? That is a bottom-up merge sort. |
| 2024-04-07 17:33:43 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 2024-04-07 17:34:18 +0000 | <dolio> | Fancier than the one on on lists in GHC, but similar in strategy. |
| 2024-04-07 17:34:30 +0000 | <dolio> | It was originally written for Python. |
| 2024-04-07 17:35:53 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-04-07 17:37:37 +0000 | sanpo | (~sanpo@user/sanpo) (Quit: Client closed) |
| 2024-04-07 17:39:14 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 260 seconds) |
| 2024-04-07 17:39:42 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-04-07 17:41:30 +0000 | sadie-sorceress | (~sadie-sor@c-76-155-235-153.hsd1.co.comcast.net) (Quit: Client closed) |
| 2024-04-07 17:41:58 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
| 2024-04-07 17:42:36 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 2024-04-07 17:43:06 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
| 2024-04-07 17:47:59 +0000 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
| 2024-04-07 17:53:59 +0000 | esph | (~weechat@user/esph) |
| 2024-04-07 18:00:31 +0000 | r5c4571lh01987 | (~rscastilh@179.221.142.8) (Remote host closed the connection) |
| 2024-04-07 18:02:23 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds) |
| 2024-04-07 18:05:19 +0000 | euphores | (~SASL_euph@user/euphores) |
| 2024-04-07 18:08:45 +0000 | r5c4571lh01987 | (~rscastilh@179.221.142.8) |
| 2024-04-07 18:11:25 +0000 | yeitrafferin | (~user@2a04:4540:7210:ce00:a5f0:fa46:a764:974e) (Quit: Leaving) |
| 2024-04-07 18:11:26 +0000 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 2024-04-07 18:17:44 +0000 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
| 2024-04-07 18:19:09 +0000 | xdminsy | (~xdminsy@117.147.70.203) (Ping timeout: 268 seconds) |
| 2024-04-07 18:20:31 +0000 | xdminsy | (~xdminsy@117.147.70.203) |
| 2024-04-07 18:21:21 +0000 | <c_wraith> | the only real performance issue from Data.List.sort is that it... works on lists. but doing so does allow it to be lazy - generating a prefix of length k is O(n * log k) |
| 2024-04-07 18:22:18 +0000 | akegalj | (~akegalj@141-136-147-171.dsl.iskon.hr) |
| 2024-04-07 18:24:17 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-04-07 18:24:26 +0000 | <sm> | Inst: I hear you about typeclasses. If you haven't already, spending a bit of time with typeclassopedia is a good way to make friends with them |
| 2024-04-07 18:24:34 +0000 | <int-e> | O(n + k log n) |
| 2024-04-07 18:29:59 +0000 | <Inst> | I'm familiar with the standard typeclasses, slightly less familiar with Foldable / Traversable |
| 2024-04-07 18:30:52 +0000 | dtman34 | (~dtman34@c-75-72-163-222.hsd1.mn.comcast.net) (Ping timeout: 268 seconds) |
| 2024-04-07 18:32:12 +0000 | xdminsy | (~xdminsy@117.147.70.203) (Ping timeout: 256 seconds) |
| 2024-04-07 18:33:07 +0000 | xdminsy | (~xdminsy@117.147.70.203) |
| 2024-04-07 18:33:32 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-04-07 18:35:58 +0000 | <Inst> | mildly curious: did anyone try to solve namespacing in Haskell via list / vector abuse? |
| 2024-04-07 18:36:16 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 2024-04-07 18:38:23 +0000 | xdminsy | (~xdminsy@117.147.70.203) (Ping timeout: 264 seconds) |
| 2024-04-07 18:38:42 +0000 | xdminsy | (~xdminsy@117.147.70.203) |
| 2024-04-07 18:38:47 +0000 | <int-e> | please speak plainly |
| 2024-04-07 18:39:22 +0000 | <Inst> | stuff lambdas into vectors |
| 2024-04-07 18:40:08 +0000 | <Inst> | all of them have to be the same type, but it works fine for procedures which can all have a bind type of () |
| 2024-04-07 18:40:23 +0000 | <Inst> | then the name of the vector is a namespace, of sorts |
| 2024-04-07 18:41:10 +0000 | <Inst> | you can pass data between them by having them share a TVar |
| 2024-04-07 18:42:49 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-04-07 18:43:58 +0000 | <Inst> | sorry, i'll probably stop annoying you folks for a while, I need to get my github working again |
| 2024-04-07 18:47:15 +0000 | xdminsy | (~xdminsy@117.147.70.203) (Ping timeout: 255 seconds) |
| 2024-04-07 18:53:29 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-04-07 19:03:16 +0000 | hocrdoac^ | (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Remote host closed the connection) |
| 2024-04-07 19:05:20 +0000 | <monochrom> | We already know stuffing lambdas into a record. Then they don't even have to be the same type. |
| 2024-04-07 19:07:11 +0000 | <monochrom> | BTW this is when one line of sample code (so a formula) is worth a thousand pictures, despite what all you detractors said yesterday. |
| 2024-04-07 19:07:54 +0000 | <monochrom> | "solve namespacing in Haskell via list / vector abuse" may look like only 8 words, but since no one understands it, it may as well be a million words. |
| 2024-04-07 19:08:11 +0000 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 272 seconds) |
| 2024-04-07 19:09:06 +0000 | Sgeo | (~Sgeo@user/sgeo) |
| 2024-04-07 19:09:19 +0000 | <Inst> | foo@[name1, name2, name3] = [fun1, fun2, fun3] |
| 2024-04-07 19:09:33 +0000 | <Inst> | module MyModule (foo) where... |
| 2024-04-07 19:09:53 +0000 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 2024-04-07 19:10:27 +0000 | <Inst> | could set up some newtypes with custom getters and setters |
| 2024-04-07 19:11:06 +0000 | bionade24 | (~quassel@2a03:4000:33:45b::1) (Quit: Apocalypse Incoming!) |
| 2024-04-07 19:11:12 +0000 | <Inst> | typeclass overloaded accessor dot, instances, etc. But it's essentially objects if it's mutable. |
| 2024-04-07 19:11:54 +0000 | bionade24 | (~quassel@2a03:4000:33:45b::1) |
| 2024-04-07 19:12:00 +0000 | <Inst> | I just realized that any language with first-class functions, a sufficiently flexible type system to allow heterogenous lists / arrays, and mutation is an OOP language |
| 2024-04-07 19:12:07 +0000 | <Inst> | but I guess you folks knew that decades ago |
| 2024-04-07 19:12:23 +0000 | <ski> | object-orientation does not require mutability |
| 2024-04-07 19:12:24 +0000 | <Inst> | but take out the mutation, you still have namespacing |
| 2024-04-07 19:12:39 +0000 | <Inst> | what's an example of an OOP language without mutation? |
| 2024-04-07 19:12:57 +0000 | <ski> | Ocaml has OO support for immutable objects |
| 2024-04-07 19:13:21 +0000 | <Inst> | but OO is about encapsulating and managing state |
| 2024-04-07 19:13:27 +0000 | <c_wraith> | I don't see how that idea is functionally different from adding a prefix to a bunch of names. |
| 2024-04-07 19:13:48 +0000 | <ski> | (you can easily compute a clone of the current object, with some (immutable) fields swapped out with other values, and return that from a method) |
| 2024-04-07 19:13:52 +0000 | <c_wraith> | so it's just more typing and language features to avoid choosing unique names |
| 2024-04-07 19:14:08 +0000 | <Inst> | ski: you mean with shadowing? |
| 2024-04-07 19:14:12 +0000 | <ski> | no |
| 2024-04-07 19:14:27 +0000 | <ski> | similar to `foo {x = ...}' in Haskell |
| 2024-04-07 19:14:38 +0000 | <ski> | (but for objects) |
| 2024-04-07 19:14:48 +0000 | <Inst> | essentially method chaining? |
| 2024-04-07 19:14:59 +0000 | <ski> | "but OO is about encapsulating and managing state" -- "instance state" does not need to be mutable |
| 2024-04-07 19:15:16 +0000 | <ski> | no, copy-with-update |
| 2024-04-07 19:15:19 +0000 | <c_wraith> | Inst: look at the String class in just about any language. for performance and reasoning, they tend to be immutable. so you've already seen OO with immutable data. |
| 2024-04-07 19:15:33 +0000 | <Inst> | you need to have a semi-permanent reference, though |
| 2024-04-07 19:16:38 +0000 | <ski> | and i'd replace "heterogenous lists / arrays" with "records" |
| 2024-04-07 19:16:58 +0000 | <Inst> | IIRC a big feature of OOP is extensible records, though |
| 2024-04-07 19:17:15 +0000 | <Inst> | it's really painful to handle without arbitrarily-sized lists / dictionaries |
| 2024-04-07 19:17:50 +0000 | <ski> | O'Haskell / Timber had extensible records |
| 2024-04-07 19:17:51 +0000 | aforemny_ | (~aforemny@i59F516C7.versanet.de) |
| 2024-04-07 19:18:06 +0000 | aforemny | (~aforemny@2001:9e8:6cf1:9700:d84c:da2d:5fb6:63cf) (Ping timeout: 256 seconds) |
| 2024-04-07 19:18:06 +0000 | <ski> | (and subtyping in general) |
| 2024-04-07 19:18:58 +0000 | <ski> | afaiac, mutability is orthogonal to OO |
| 2024-04-07 19:22:21 +0000 | <Inst> | tbh, one question, what is the limit of FP, as in, what can't first-class functions do? About the only limitation I think of Haskell is the inability to parse the innards of function and variable definitions |
| 2024-04-07 19:22:51 +0000 | <Inst> | oh yeah, the dependent types waiting game |
| 2024-04-07 19:23:20 +0000 | <monochrom> | parse? unparse? |
| 2024-04-07 19:23:56 +0000 | <Inst> | iirc template haskell has a missing feature to expand the AST of a function / variable definition |
| 2024-04-07 19:24:07 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds) |
| 2024-04-07 19:24:24 +0000 | <Inst> | i'm also wondering if it's possible, with functions only, to implement yet another type system below the Haskell type system |
| 2024-04-07 19:24:38 +0000 | <monochrom> | below? above? |
| 2024-04-07 19:25:27 +0000 | <Inst> | i mean that, your code wouldn't compile if it doesn't type-check within your custom type system that's not integrated into GHC, but implemented only with Haskell functions |
| 2024-04-07 19:27:42 +0000 | <Inst> | might still be doable by converting every function and value into a tuple |
| 2024-04-07 19:28:04 +0000 | ski | glances around nervously |
| 2024-04-07 19:29:38 +0000 | <c_wraith> | I guess there's some theoretical sense in which every function is a list of tuples, but in general I'd recommend using functions for functions |
| 2024-04-07 19:30:07 +0000 | siw5ohs0 | (~aiw5ohs0@user/aiw5ohs0) |
| 2024-04-07 19:30:54 +0000 | siw5ohs0 | (~aiw5ohs0@user/aiw5ohs0) () |
| 2024-04-07 19:31:32 +0000 | <monochrom> | Every function f can be converted to a tuple (f, ()). This goes for values, too. >:) |
| 2024-04-07 19:31:59 +0000 | <Inst> | i'm sort of surprised no one has tried to build, as a joke, a TypeT monad transformer |
| 2024-04-07 19:39:21 +0000 | <ncf> | a what |
| 2024-04-07 19:40:09 +0000 | <Inst> | a monad transformer that puts code underneath it into a secondary type system |
| 2024-04-07 19:40:24 +0000 | <Inst> | iirc Haskell already has unergonomic simulated dependent types |
| 2024-04-07 19:40:46 +0000 | <ski> | no |
| 2024-04-07 19:43:59 +0000 | <dolio> | Not every function is a list of tuples. |
| 2024-04-07 19:44:09 +0000 | <dolio> | Unless you're in classical fantasy land. |
| 2024-04-07 19:44:44 +0000 | <dolio> | Even then you have to stretch the meaning of 'list' a lot. |
| 2024-04-07 19:49:07 +0000 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
| 2024-04-07 19:51:17 +0000 | __monty__ | (~toonn@user/toonn) |
| 2024-04-07 19:55:51 +0000 | <monochrom> | But that's what I did. I stretched "list" all the way to arbitrary functors to understand the Löb combinator, representable functors, and the Yoneda lemma. :) |
| 2024-04-07 20:01:05 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-04-07 20:04:22 +0000 | tititest | (~tititest@ip-037-201-154-121.um10.pools.vodafone-ip.de) (Quit: Leaving.) |
| 2024-04-07 20:16:35 +0000 | r5c4571lh01987 | (~rscastilh@179.221.142.8) (Remote host closed the connection) |
| 2024-04-07 20:17:13 +0000 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection) |
| 2024-04-07 20:19:54 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2024-04-07 20:41:59 +0000 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 2024-04-07 20:42:17 +0000 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 2024-04-07 20:47:52 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 2024-04-07 20:53:56 +0000 | dbaoty1 | (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) |
| 2024-04-07 20:54:50 +0000 | werneta | (~werneta@071-083-160-242.res.spectrum.com) |
| 2024-04-07 20:55:47 +0000 | dbaoty | (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) (Ping timeout: 264 seconds) |
| 2024-04-07 20:58:24 +0000 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
| 2024-04-07 20:59:17 +0000 | dbaoty | (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) |
| 2024-04-07 21:00:17 +0000 | __monty__ | (~toonn@user/toonn) |
| 2024-04-07 21:01:21 +0000 | dbaoty1 | (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) (Ping timeout: 255 seconds) |
| 2024-04-07 21:14:23 +0000 | qqq | (~qqq@92.43.167.61) (Ping timeout: 264 seconds) |
| 2024-04-07 21:16:46 +0000 | sanpo | (~sanpo@user/sanpo) |
| 2024-04-07 21:20:42 +0000 | Square2 | (~Square@user/square) (Ping timeout: 255 seconds) |
| 2024-04-07 21:22:04 +0000 | qqq | (~qqq@92.43.167.61) |
| 2024-04-07 21:22:49 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 2024-04-07 21:25:36 +0000 | __monty__ | (~toonn@user/toonn) (Ping timeout: 256 seconds) |
| 2024-04-07 21:26:49 +0000 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) |
| 2024-04-07 21:27:15 +0000 | __monty__ | (~toonn@user/toonn) |
| 2024-04-07 21:29:44 +0000 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) (Client Quit) |
| 2024-04-07 21:31:49 +0000 | michalz | (~michalz@185.246.207.201) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2024-04-07 21:35:33 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds) |
| 2024-04-07 21:38:17 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2024-04-07 21:41:22 +0000 | dispater | (~dispater@mail.brprice.uk) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2024-04-07 21:41:22 +0000 | orcus | (~orcus@mail.brprice.uk) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2024-04-07 21:42:43 +0000 | Nixkernal | (~Nixkernal@240.17.194.178.dynamic.wline.res.cust.swisscom.ch) (Ping timeout: 272 seconds) |
| 2024-04-07 21:43:07 +0000 | dispater | (~dispater@mail.brprice.uk) |
| 2024-04-07 21:43:38 +0000 | orcus | (~orcus@mail.brprice.uk) |
| 2024-04-07 21:47:11 +0000 | Inst | (~Inst@user/Inst) (Remote host closed the connection) |
| 2024-04-07 21:54:06 +0000 | target_i | (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 2024-04-07 21:57:27 +0000 | dcoutts | (~duncan@cpc69399-oxfd27-2-0-cust684.4-3.cable.virginm.net) |
| 2024-04-07 21:58:07 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 2024-04-07 22:00:03 +0000 | Inst | (~Inst@user/Inst) |
| 2024-04-07 22:00:18 +0000 | Inst | (~Inst@user/Inst) (Remote host closed the connection) |
| 2024-04-07 22:07:57 +0000 | akegalj | (~akegalj@141-136-147-171.dsl.iskon.hr) (Quit: leaving) |
| 2024-04-07 22:09:51 +0000 | dcoutts_ | (~duncan@cpc69400-oxfd27-2-0-cust750.4-3.cable.virginm.net) |
| 2024-04-07 22:10:28 +0000 | dcoutts | (~duncan@cpc69399-oxfd27-2-0-cust684.4-3.cable.virginm.net) (Ping timeout: 260 seconds) |
| 2024-04-07 22:12:00 +0000 | dcoutts__ | (~duncan@cpc69400-oxfd27-2-0-cust750.4-3.cable.virginm.net) |
| 2024-04-07 22:14:31 +0000 | dcoutts_ | (~duncan@cpc69400-oxfd27-2-0-cust750.4-3.cable.virginm.net) (Ping timeout: 246 seconds) |
| 2024-04-07 22:18:42 +0000 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 2024-04-07 22:18:59 +0000 | euleritian | (~euleritia@77.22.252.56) |
| 2024-04-07 22:19:07 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds) |
| 2024-04-07 22:32:09 +0000 | shoggouth | (uid607148@user/shoggouth) |
| 2024-04-07 22:35:28 +0000 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
| 2024-04-07 22:40:40 +0000 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
| 2024-04-07 22:43:47 +0000 | poxel | (~lennart@user/poxel) (Quit: WeeChat 4.2.1) |
| 2024-04-07 22:48:59 +0000 | sudden | (~cat@user/sudden) (Ping timeout: 260 seconds) |
| 2024-04-07 22:49:14 +0000 | paddymahoney | (~paddymaho@99.250.26.190) (Remote host closed the connection) |
| 2024-04-07 23:05:16 +0000 | sudden | (~cat@user/sudden) |
| 2024-04-07 23:14:13 +0000 | acidjnk_new | (~acidjnk@p200300d6e714dc26d1056ca2ae8c08a8.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 2024-04-07 23:20:25 +0000 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 2024-04-07 23:23:34 +0000 | sawilagar | (~sawilagar@user/sawilagar) (Ping timeout: 255 seconds) |
| 2024-04-07 23:35:39 +0000 | <c_wraith> | are there any pure-haskell syntax highlight projects other than skylighting? |
| 2024-04-07 23:36:36 +0000 | dispater | (~dispater@mail.brprice.uk) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2024-04-07 23:36:37 +0000 | orcus | (~orcus@mail.brprice.uk) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2024-04-07 23:38:20 +0000 | dispater | (~dispater@mail.brprice.uk) |
| 2024-04-07 23:38:51 +0000 | orcus | (~orcus@mail.brprice.uk) |
| 2024-04-07 23:39:16 +0000 | <c_wraith> | I guess there's highlighter2. Which still builds, despite the date on it. |
| 2024-04-07 23:40:06 +0000 | finsternis | (~X@23.226.237.192) (Read error: Connection reset by peer) |
| 2024-04-07 23:45:16 +0000 | ftweedal | (~ftweedal@159.196.12.92) |
| 2024-04-07 23:54:23 +0000 | mesaoptimizer | (~mesaoptim@user/PapuaHardyNet) (Ping timeout: 252 seconds) |
| 2024-04-07 23:59:34 +0000 | forell | (~forell@user/forell) (Quit: ZNC - https://znc.in) |