Logs on 2023-07-26 (liberachat/#haskell)
| 00:00:05 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (*.net *.split) |
| 00:00:05 | × | notzmv quits (~zmv@user/notzmv) (*.net *.split) |
| 00:00:05 | × | Qudit quits (~user@user/Qudit) (*.net *.split) |
| 00:00:05 | × | DigitalKiwi quits (~kiwi@2604:a880:400:d0::1ca0:e001) (*.net *.split) |
| 00:00:05 | × | _xor quits (~xor@ip-50-5-233-250.dynamic.fuse.net) (*.net *.split) |
| 00:00:05 | × | gentauro quits (~gentauro@user/gentauro) (*.net *.split) |
| 00:00:05 | × | terrorjack quits (~terrorjac@2a01:4f8:c17:87f8::) (*.net *.split) |
| 00:00:05 | × | berberman quits (~berberman@user/berberman) (*.net *.split) |
| 00:00:05 | × | Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (*.net *.split) |
| 00:00:05 | × | NinjaTrappeur quits (~ninja@user/ninjatrappeur) (*.net *.split) |
| 00:00:05 | × | yahb2 quits (~yahb2@2a01:4f8:c0c:5c7b::2) (*.net *.split) |
| 00:00:05 | × | tired- quits (~tired@user/tired) (*.net *.split) |
| 00:00:05 | × | jackdk quits (sid373013@cssa/jackdk) (*.net *.split) |
| 00:00:05 | × | swistak- quits (~swistak@185.21.216.141) (*.net *.split) |
| 00:00:05 | × | ringo___ quits (~ringo@157.230.117.128) (*.net *.split) |
| 00:00:05 | × | krjt quits (~krjst@2604:a880:800:c1::16b:8001) (*.net *.split) |
| 00:00:05 | × | SoF quits (~skius@user/skius) (*.net *.split) |
| 00:00:05 | × | m1dnight quits (~christoph@78-22-4-67.access.telenet.be) (*.net *.split) |
| 00:00:05 | × | [Reinhilde] quits (ellenor@callbox.trd.is) (*.net *.split) |
| 00:00:05 | × | jinsl quits (~jinsl@2408:8207:2550:b730:211:32ff:fec8:6aea) (*.net *.split) |
| 00:00:05 | × | justache quits (~justache@user/justache) (*.net *.split) |
| 00:00:05 | × | dontdieych quits (~alarm@132.226.169.184) (*.net *.split) |
| 00:00:05 | × | andjjj23 quits (~irc@107.170.228.47) (*.net *.split) |
| 00:00:05 | × | NiKaN quits (sid385034@id-385034.helmsley.irccloud.com) (*.net *.split) |
| 00:00:05 | × | joeyh quits (~joeyh@kitenet.net) (*.net *.split) |
| 00:00:05 | × | xelxebar quits (~xelxebar@wilsonb.com) (*.net *.split) |
| 00:00:05 | × | sphynx quits (~xnyhps@2a02:2770:3:0:216:3eff:fe67:3288) (*.net *.split) |
| 00:00:05 | × | gnyeki quits (~gnyeki@user/gnyeki) (*.net *.split) |
| 00:00:05 | × | andreas303 quits (andreas303@is.drunk.and.ready-to.party) (*.net *.split) |
| 00:00:05 | × | edwtjo quits (~edwtjo@fsf/member/edwtjo) (*.net *.split) |
| 00:00:05 | × | gaze___ quits (sid387101@id-387101.helmsley.irccloud.com) (*.net *.split) |
| 00:00:05 | × | davetapley quits (sid666@id-666.uxbridge.irccloud.com) (*.net *.split) |
| 00:00:11 | → | gnyeki joins (~gnyeki@198.74.55.216) |
| 00:00:17 | → | sphynx joins (~xnyhps@2a02:2770:3:0:216:3eff:fe67:3288) |
| 00:00:19 | → | gentauro joins (~gentauro@cgn-cgn11-185-107-12-141.static.kviknet.net) |
| 00:00:23 | → | edwtjo joins (~edwtjo@h-155-4-52-185.A213.priv.bahnhof.se) |
| 00:00:26 | × | gnyeki quits (~gnyeki@198.74.55.216) (Changing host) |
| 00:00:26 | → | gnyeki joins (~gnyeki@user/gnyeki) |
| 00:00:29 | × | gentauro quits (~gentauro@cgn-cgn11-185-107-12-141.static.kviknet.net) (Changing host) |
| 00:00:29 | → | gentauro joins (~gentauro@user/gentauro) |
| 00:00:33 | → | gaze___ joins (sid387101@id-387101.helmsley.irccloud.com) |
| 00:00:44 | × | edwtjo quits (~edwtjo@h-155-4-52-185.A213.priv.bahnhof.se) (Changing host) |
| 00:00:44 | → | edwtjo joins (~edwtjo@fsf/member/edwtjo) |
| 00:00:49 | → | davetapley joins (sid666@id-666.uxbridge.irccloud.com) |
| 00:00:54 | → | jinsl joins (~jinsl@123.120.177.226) |
| 00:00:54 | → | jackdk joins (sid373013@tinside.irccloud.com) |
| 00:01:02 | → | NinjaTrappeur joins (~ninja@hardin.alternativebit.fr) |
| 00:01:03 | → | m1dnight joins (~christoph@78-22-4-67.access.telenet.be) |
| 00:01:06 | → | NiKaN joins (sid385034@id-385034.helmsley.irccloud.com) |
| 00:01:06 | → | Raito_Bezarius joins (~Raito@2001:470:ca5e:dee:f482:b4ff:fe18:2d7d) |
| 00:01:16 | → | joeyh joins (joeyh@2600:3c03::f03c:91ff:fe73:b0d2) |
| 00:01:17 | → | swistak joins (~swistak@185.21.216.141) |
| 00:01:23 | × | jackdk quits (sid373013@tinside.irccloud.com) (Changing host) |
| 00:01:23 | → | jackdk joins (sid373013@cssa/jackdk) |
| 00:01:48 | → | justache joins (~justache@user/justache) |
| 00:01:49 | × | justache quits (~justache@user/justache) (Max SendQ exceeded) |
| 00:01:53 | → | andreas303 joins (andreas303@is.drunk.and.ready-to.party) |
| 00:01:54 | → | tired joins (~tired@user/tired) |
| 00:02:07 | → | jmd_ joins (~jmdaemon@user/jmdaemon) |
| 00:02:14 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 00:02:15 | → | xelxebar joins (~xelxebar@wilsonb.com) |
| 00:02:22 | → | berberman joins (~berberman@user/berberman) |
| 00:02:22 | → | yahb2 joins (~yahb2@2a01:4f8:c0c:5c7b::2) |
| 00:02:40 | → | DigitalKiwi joins (~kiwi@2604:a880:400:d0::1ca0:e001) |
| 00:02:59 | → | andjjj23 joins (~irc@107.170.228.47) |
| 00:03:12 | → | krjt joins (~krjst@2604:a880:800:c1::16b:8001) |
| 00:03:13 | → | dontdieych joins (~alarm@132.226.169.184) |
| 00:03:16 | → | califax joins (~califax@user/califx) |
| 00:03:29 | → | ringo___ joins (~ringo@157.230.117.128) |
| 00:06:35 | → | justache joins (~justache@user/justache) |
| 00:08:11 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz) |
| 00:08:12 | → | arahael_ joins (~arahael@124-149-31-4.dyn.iinet.net.au) |
| 00:09:53 | × | rainbyte quits (~rainbyte@181.31.239.226) (Remote host closed the connection) |
| 00:13:37 | × | perrierjouet quits (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.2) |
| 00:17:30 | → | shriekingnoise joins (~shrieking@186.137.175.87) |
| 00:17:51 | → | perrierjouet joins (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) |
| 00:18:46 | × | Ranhir quits (~Ranhir@157.97.53.139) (Remote host closed the connection) |
| 00:21:26 | → | Ranhir joins (~Ranhir@157.97.53.139) |
| 00:24:57 | × | xff0x quits (~xff0x@2405:6580:b080:900:3abd:5e8:ff1e:4ed) (Ping timeout: 245 seconds) |
| 00:28:54 | → | Reinhilde joins (ellenor@callbox.trd.is) |
| 00:44:04 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 00:50:31 | × | perrierjouet quits (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.2) |
| 00:50:46 | → | perrierjouet joins (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) |
| 00:52:34 | × | jmd_ quits (~jmdaemon@user/jmdaemon) (Ping timeout: 250 seconds) |
| 00:54:49 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds) |
| 01:00:07 | → | dibblego joins (~dibblego@116-255-1-151.ip4.superloop.au) |
| 01:00:07 | × | dibblego quits (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
| 01:00:07 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 01:04:44 | × | mixfix41 quits (~sdeny9ee@user/mixfix41) (Remote host closed the connection) |
| 01:05:41 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 01:07:48 | → | razetime joins (~quassel@117.193.6.220) |
| 01:10:11 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
| 01:11:12 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:12:56 | → | jmd_ joins (~jmdaemon@user/jmdaemon) |
| 01:17:20 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:18:43 | × | sgillespie quits (~sgillespi@c-76-106-206-194.hsd1.fl.comcast.net) (Quit: leaving) |
| 01:22:58 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 01:23:56 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 01:27:32 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 01:32:20 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 01:34:24 | × | phma quits (phma@2001:5b0:210b:9ac8:f297:1dd8:f3f8:b4fd) (Read error: Connection reset by peer) |
| 01:34:52 | → | phma joins (phma@2001:5b0:210b:9ac8:f297:1dd8:f3f8:b4fd) |
| 01:36:43 | <Axman6> | Another day, another tale in the series "Axman6 writes Python and realises just how good we've got it in Haskell". Today's episode: Benchmarking. I just want Criterion, why haven't they just copied it like Rust did? |
| 01:39:23 | × | pandeyan quits (~pandeyan@23-93-120-164.fiber.dynamic.sonic.net) (Quit: ZNC 1.8.2 - https://znc.in) |
| 01:42:32 | × | ft quits (~ft@p3e9bc40d.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 01:44:24 | → | bitmapper joins (uid464869@id-464869.lymington.irccloud.com) |
| 01:44:34 | → | ft joins (~ft@p508dbe23.dip0.t-ipconnect.de) |
| 01:54:14 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:255a:b8f5:5ab9:11d7) |
| 01:58:59 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:255a:b8f5:5ab9:11d7) (Ping timeout: 260 seconds) |
| 02:00:32 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 02:01:04 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 02:01:36 | <lisbeths> | https://is2.4chan.org/g/1690334536755665.jpg |
| 02:10:39 | → | yangby joins (~secret@115.220.174.193) |
| 02:13:07 | × | phma quits (phma@2001:5b0:210b:9ac8:f297:1dd8:f3f8:b4fd) (Read error: Connection reset by peer) |
| 02:13:30 | → | phma joins (~phma@host-67-44-208-59.hnremote.net) |
| 02:14:32 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 02:16:57 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 02:19:40 | × | td_ quits (~td@i5387093B.versanet.de) (Ping timeout: 252 seconds) |
| 02:21:34 | → | td_ joins (~td@i53870902.versanet.de) |
| 02:30:36 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 02:30:36 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:30:37 | finn_elija | is now known as FinnElija |
| 02:36:19 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds) |
| 02:40:22 | → | dibblego joins (~dibblego@116-255-1-151.ip4.superloop.au) |
| 02:40:22 | × | dibblego quits (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
| 02:40:22 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 02:49:18 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
| 02:53:13 | <segfaultfizzbuzz> | python is a very difficult programming language |
| 02:53:50 | → | merijn joins (~merijn@088-129-128-083.dynamic.caiway.nl) |
| 02:55:50 | → | marea_ joins (~francesco@151.43.93.5) |
| 02:59:04 | × | merijn quits (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 03:09:06 | <Nosrep> | hot take of the day |
| 03:11:08 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz) |
| 03:11:28 | <jackdk> | I agree with segfaultfizzbuzz . You have to understand how people might implement language runtimes under time pressure for python (particularly 2.x) to be truly predictable. |
| 03:12:34 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 03:12:55 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 03:15:43 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:255a:b8f5:5ab9:11d7) |
| 03:19:47 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
| 03:30:31 | → | aforemny joins (~aforemny@i59F516D9.versanet.de) |
| 03:31:11 | × | aforemny_ quits (~aforemny@2001:9e8:6cef:e500:89ba:7d36:6a1c:a235) (Ping timeout: 264 seconds) |
| 03:31:43 | → | Angelz joins (Angelz@angelz.oddprotocol.org) |
| 03:33:11 | <probie> | I like how for loops in Python involve the exception handler |
| 03:34:20 | × | bilegeek quits (~bilegeek@2600:1008:b03d:d355:b59:5aff:2f93:e6ef) (Quit: Leaving) |
| 03:34:57 | × | phma quits (~phma@host-67-44-208-59.hnremote.net) (Read error: Connection reset by peer) |
| 03:35:02 | <mauke> | I like how Python claims "explicit is better than implicit", but doesn't let you declare variables |
| 03:35:22 | → | phma joins (phma@2001:5b0:210b:9ac8:f297:1dd8:f3f8:b4fd) |
| 03:36:24 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds) |
| 03:38:31 | × | marea_ quits (~francesco@151.43.93.5) (Remote host closed the connection) |
| 03:40:10 | → | danza joins (~francesco@151.43.93.5) |
| 03:41:17 | × | phma quits (phma@2001:5b0:210b:9ac8:f297:1dd8:f3f8:b4fd) (Read error: Connection reset by peer) |
| 03:41:28 | <glguy> | They explicitly do not allow you to declare local variables [solved] |
| 03:41:40 | → | phma joins (phma@2001:5b0:210b:9ac8:f297:1dd8:f3f8:b4fd) |
| 03:41:58 | <jackdk> | I like how `import this` claims "There should be one-- and preferably only one --obvious way to do it" and then they have a zillion packaging systems |
| 03:43:15 | × | danza quits (~francesco@151.43.93.5) (Read error: Connection reset by peer) |
| 03:43:51 | → | danza joins (~francesco@151.43.81.154) |
| 03:44:42 | → | dibblego joins (~dibblego@116-255-1-151.ip4.superloop.au) |
| 03:44:42 | × | dibblego quits (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
| 03:44:42 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 03:47:08 | <sm> | ooh burn from jackdk |
| 03:47:23 | <probie> | jackdk: think more like a C programmer. Packaging is completely orthogonal to the language |
| 03:47:41 | <jackdk> | True. |
| 03:49:18 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 244 seconds) |
| 03:50:01 | × | danza quits (~francesco@151.43.81.154) (Remote host closed the connection) |
| 03:50:44 | <probie> | At least Haskell only has 2.5 |
| 03:51:10 | <dolio> | I wouldn't worry about that. |
| 03:51:34 | <dolio> | The thing you should take away is that that python 'philosophy' is just wrong, and not even they can escape it. :) |
| 03:51:51 | → | danza joins (~francesco@151.43.81.154) |
| 03:53:13 | × | danza quits (~francesco@151.43.81.154) (Remote host closed the connection) |
| 03:54:21 | → | dibblego joins (~dibblego@116-255-1-151.ip4.superloop.au) |
| 03:54:21 | × | dibblego quits (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
| 03:54:21 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 03:54:27 | → | danza joins (~francesco@151.43.81.154) |
| 03:57:48 | <probie> | That the python 'philosophy' is just wrong is a strong statement. At the end of the day, it's a tool, which mostly gets the job done. That said, I don't have faith in the current direction of the project (sneaking in a "security fix" as a patch version which limits the size of integer literals was too much for me) |
| 03:59:11 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds) |
| 04:01:55 | × | Feuermagier quits (~Feuermagi@user/feuermagier) (Quit: Leaving) |
| 04:02:45 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 04:03:58 | → | dibblego joins (~dibblego@116-255-1-151.ip4.superloop.au) |
| 04:03:58 | × | dibblego quits (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
| 04:03:58 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 04:04:13 | <monochrom> | Recall that Python began as a scripting language. |
| 04:04:49 | <monochrom> | Not surprising that its variable policy is basically the same as shells'. |
| 04:04:58 | × | ddellacosta quits (~ddellacos@146.70.165.154) (Ping timeout: 250 seconds) |
| 04:05:36 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 04:07:09 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 04:07:23 | × | razetime quits (~quassel@117.193.6.220) (Ping timeout: 244 seconds) |
| 04:08:21 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 245 seconds) |
| 04:08:50 | <glguy> | "You are without doubt the worst pirate I've ever heard of!" - "But you have heard of me." ; I bet they aren't trash talking us over on #python |
| 04:10:40 | <monochrom> | I bet every programming channel is fond of trashing-talking any tutorial that uses fibonacci examples, no? :) |
| 04:10:42 | <probie> | That's because not enough of them have experience with Haskell. We need to perform more educational outreach so that more software developers have reasons to trash talk Haskell |
| 04:11:31 | <monochrom> | Even on our own discourse.haskell.org people call for stopping to use fibonacci. |
| 04:11:55 | <monochrom> | What everyone forgets that that the official Python tutorial uses it, too. |
| 04:12:02 | × | danza quits (~francesco@151.43.81.154) (Remote host closed the connection) |
| 04:12:29 | <monochrom> | @quote monochrom fibonacci |
| 04:12:29 | <lambdabot> | monochrom says: the fibonacci sequence is everywhere in nature, for example haskell tutorials and python tutorials |
| 04:12:51 | <probie> | I think we're pretty against fibonacci. After all, GHC has a benchmark suite called NoFib |
| 04:13:19 | → | danza joins (~francesco@151.43.81.154) |
| 04:13:48 | <monochrom> | ugh I need to trash-talk English prepositions. s/stopping to use/stopping using/ |
| 04:17:34 | × | danza quits (~francesco@151.43.81.154) (Remote host closed the connection) |
| 04:18:20 | → | danza joins (~francesco@151.43.81.154) |
| 04:19:13 | <jackdk> | we only calculate factorials around here |
| 04:19:26 | × | danza quits (~francesco@151.43.81.154) (Remote host closed the connection) |
| 04:19:49 | <monochrom> | The fibonacci dispute is just a proxy dispute. |
| 04:20:26 | <dolio> | I mean specifically the, "there should be only one way to do anything," philosophy. |
| 04:20:30 | <glguy> | I prefer to sort lists badly |
| 04:21:06 | <dolio> | There is often no one way to do something that is the best for every situation. |
| 04:22:03 | <monochrom> | The real dispute is between teaching principles (so toy examples are better because focusing on getting the points across) and vocational training (so industrial examples are better because, pardon my biased opinion, enabling cargo culting). |
| 04:25:03 | → | hughjfchen joins (~hughjfche@104.208.72.114) |
| 04:27:43 | × | libertyprime quits (~libertypr@203.96.203.44) (Ping timeout: 258 seconds) |
| 04:30:49 | <probie> | So more tutorials of the form "build a boring crud app"? |
| 04:31:19 | <probie> | I have seen far too many todo lists |
| 04:31:30 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 04:31:41 | <monochrom> | Seriously, if on day one you already throw an industrial example of 1000 lines of code plus 100 lines of "project file" build-info metadata, you cannot honestly believe that you are promoting any understanding in any sense of that word. You're spamming students with code so the only possible outcome is that students get that they should just cargo-cult it all and not care. |
| 04:32:32 | <monochrom> | I mean, I totally do that to get my .procmailrc to do what I want. |
| 04:35:00 | <probie> | To this day, I am still in awe that my brother went through a university degree where the primary teaching language was java, got decent grades but finished unable to answer the question what does "public static void" mean? |
| 04:45:26 | <mauke> | <monochrom> Recall that Python began as a scripting language. <- that doesn't really explain why perl got this right |
| 04:45:49 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds) |
| 04:46:24 | <monochrom> | But it explains why Perl got something else wrong. :) |
| 04:50:41 | → | razetime joins (~quassel@117.193.6.220) |
| 04:52:05 | <arahael_> | monochrom: Savage. |
| 04:52:30 | <arahael_> | Honestly, perl does get a lot right, the biggest issue with it really is that it's /different/ to what are now the mainstream languages. |
| 04:52:35 | → | dibblego joins (~dibblego@116-255-1-151.ip4.superloop.au) |
| 04:52:35 | × | dibblego quits (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
| 04:52:35 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 04:53:58 | → | _xor joins (~xor@ip-50-5-233-250.dynamic.fuse.net) |
| 04:53:58 | <dolio> | You're probably in the wrong channel for people to complain about programming languages just because they're not mainstream. |
| 04:57:31 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds) |
| 05:00:05 | → | trev joins (~trev@user/trev) |
| 05:00:11 | <monochrom> | One bit of scripting language thinking that Perl still retains is reductionism on data structures, i.e., since records/structs can be reduced to hash table with string literals for keys, "let's not bother with an actual record system, just use hash tables when you want a record". |
| 05:01:02 | <monochrom> | And yes I also thinking of set theory as a scripting language because of that. "Just use {{x}, {x,y}} for tuples. Just use a set of those things for functions." |
| 05:02:20 | <monochrom> | To be fair you do get to remind me that at least Perl doesn't reduce all data to strings, unlike shell scripts. |
| 05:02:56 | × | hughjfchen quits (~hughjfche@104.208.72.114) (Ping timeout: 246 seconds) |
| 05:03:06 | <arahael_> | monochrom: Lets not contrast with Haskell, though? ;) |
| 05:03:09 | <monochrom> | But Perl seriously base an entire OO system on that emulation. |
| 05:03:21 | <mauke> | Perl is hardly unique in that |
| 05:03:25 | <monochrom> | I'm merely constrasting with Pascal. Or even just Algol. |
| 05:03:40 | <mauke> | (also, the OO system is orthogonal to hash tables) |
| 05:05:32 | → | dibblego joins (~dibblego@116-255-1-151.ip4.superloop.au) |
| 05:05:32 | × | dibblego quits (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
| 05:05:32 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 05:06:50 | → | razetime_ joins (~quassel@117.254.34.82) |
| 05:06:52 | × | razetime quits (~quassel@117.193.6.220) (Ping timeout: 260 seconds) |
| 05:08:42 | <monochrom> | It's like the period of 1970-2010 is bascially most people creating languages not to build upon Algol, but to rebel against it. Everything that Algol did right, "let's not do that". |
| 05:08:50 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 05:09:09 | <monochrom> | But I guess that parallels atonal music rebelling against tonal music, and rap music rebelling against both. |
| 05:10:19 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds) |
| 05:14:11 | → | dibblego joins (~dibblego@116-255-1-151.ip4.superloop.au) |
| 05:14:11 | × | dibblego quits (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
| 05:14:11 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 05:15:44 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 05:17:10 | → | danse-nr3 joins (~francesco@151.43.81.154) |
| 05:17:55 | <monochrom> | OK I will compensate with "everything great about python". :) I'll name one I like, even though sadly python misses a golden opportunity there. |
| 05:18:30 | <monochrom> | So like I said the other day, python has "e1 if c else e2". It is like C's "c ? e1 : e2" |
| 05:18:52 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 05:19:07 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds) |
| 05:19:19 | <monochrom> | It is also independently equivalent to Hoare's "e1 <| c |> e2", and I like its syntactic symmetry a lot. |
| 05:20:11 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds) |
| 05:20:52 | <monochrom> | At this point you can start treating the middle "if c else" as a compound infix operator. If you consider it infixr, you can "e1 if c else e2 if d else e3". Python does that. |
| 05:21:19 | <mauke> | sweet, middle-endian control flow |
| 05:21:46 | <monochrom> | The missed opportunity though is that since c is protected by "if" and "else" on both sides, why can't c itself be also of the form "x if b else y". >:) |
| 05:22:45 | <mauke> | I see. it requires parens |
| 05:23:13 | <monochrom> | But it shouldn't! "if" and "else" already play the role of parens. |
| 05:23:48 | <monochrom> | The very same way Haskell's and shell script's "if c then" is already parenthesizing c. |
| 05:23:52 | <mauke> | perhaps they thought it would be too visually confusing? didn't keep them from doing it with list comprehensions, though |
| 05:24:14 | → | dibblego joins (~dibblego@116-255-1-151.ip4.superloop.au) |
| 05:24:14 | × | dibblego quits (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
| 05:24:14 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 05:24:54 | <monochrom> | Yes, Python philosophy (which we agree is wrong) does include "if the dictator thinks it's too confusing for his bird brain minions, ban it". |
| 05:25:42 | <arahael_> | mauke: Python already does the 'foo for bar in baz if foobar', though you can't put an 'else' there. |
| 05:25:55 | <arahael_> | monochrom: Guido left. |
| 05:26:19 | <monochrom> | Did the philosophy also leave? |
| 05:26:20 | <arahael_> | monochrom: And I think guiding a language like Guido did has much in it's favour, I wouldn't disparage his work like that. |
| 05:26:22 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 05:26:40 | <mauke> | kind of; python now has an assignment operator |
| 05:28:43 | → | idgaen joins (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 05:30:07 | × | yangby quits (~secret@115.220.174.193) (Ping timeout: 252 seconds) |
| 05:31:13 | <mauke> | [ e^2 for e in range(9) if e if (e > 4 if e % 2 else e < 7) ] |
| 05:31:52 | <mauke> | could be made more confusing by nesting things and using the 'in' operator |
| 05:32:05 | → | yangby joins (~secret@183.128.108.131) |
| 05:32:08 | <mauke> | but it's a good start |
| 05:33:50 | → | simikando joins (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
| 05:34:33 | <mauke> | [ e in [1,2,3] if e > 2 else e in [0,1,2] for e in [2,3,4] if e < 4 if e in [3,2,1] ] # list "comprehension" |
| 05:34:35 | <probie> | arahael_: Is that legal? I thought it _required_ parens |
| 05:35:13 | <probie> | (or brackets or braces, to determine what kind of comprehension it is) |
| 05:36:51 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection) |
| 05:37:01 | <monochrom> | hahaha bravo |
| 05:37:52 | × | razetime_ quits (~quassel@117.254.34.82) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 05:38:07 | → | razetime joins (~quassel@117.254.34.82) |
| 05:38:21 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds) |
| 05:39:09 | <idgaen> | while I slept #haskell became #python? |
| 05:39:51 | <monochrom> | Anyway http://www.cs.utoronto.ca/~trebla/CSCC24-2023-Summer/a3/cscc24-2023-5-a3.pdf is the parsing assignment I gave featuring my generalized if-else syntax. >:) |
| 05:40:26 | <mauke> | [ if e > 2 then e `elem` [1,2,3] else e `elem` [0,1,2] | e <- [2,3,4], e < 4, e `elem` [3,2,1] ] -- I think the Haskell version is much more readable because it uses more punctuation |
| 05:41:32 | <mauke> | monochrom: you're reserving words? coward :-) |
| 05:44:18 | × | ubert quits (~Thunderbi@77.119.204.87.wireless.dyn.drei.com) (Quit: ubert) |
| 05:45:43 | → | dibblego joins (~dibblego@116-255-1-151.ip4.superloop.au) |
| 05:45:43 | × | dibblego quits (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
| 05:45:43 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 05:50:59 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 264 seconds) |
| 05:51:46 | → | dsrt^ joins (~cd@24.125.210.85) |
| 05:53:09 | → | michalz joins (~michalz@185.246.207.218) |
| 05:57:12 | → | dibblego joins (~dibblego@116-255-1-151.ip4.superloop.au) |
| 05:57:12 | × | dibblego quits (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
| 05:57:12 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 05:59:08 | → | misterfish joins (~misterfis@84-53-85-146.bbserv.nl) |
| 06:02:14 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds) |
| 06:02:38 | → | dibblego joins (~dibblego@116-255-1-151.ip4.superloop.au) |
| 06:02:38 | × | dibblego quits (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
| 06:02:38 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 06:05:19 | <arahael_> | probie: Kind of. You can do things like print(foo for foo in 'abc') |
| 06:05:34 | <arahael_> | probie: That'll be pretty pointless, though, because that's a generator expression. |
| 06:09:11 | → | CiaoSen joins (~Jura@2a05:5800:290:5500:664b:f0ff:fe37:9ef) |
| 06:09:49 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds) |
| 06:11:02 | × | misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 260 seconds) |
| 06:11:12 | → | mncheckm joins (~mncheck@193.224.205.254) |
| 06:11:23 | × | simikando quits (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Ping timeout: 244 seconds) |
| 06:13:16 | → | simikando joins (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
| 06:13:41 | × | idgaen quits (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2) |
| 06:13:54 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 260 seconds) |
| 06:14:18 | × | driib quits (~driib@vmi931078.contaboserver.net) (Quit: Ping timeout (120 seconds)) |
| 06:14:49 | → | driib joins (~driib@vmi931078.contaboserver.net) |
| 06:15:28 | → | dibblego joins (~dibblego@116-255-1-151.ip4.superloop.au) |
| 06:15:28 | × | dibblego quits (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
| 06:15:28 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 06:16:25 | → | idgaen joins (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 06:19:56 | → | Guest5267 joins (~finn@176-151-21-224.abo.bbox.fr) |
| 06:20:02 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 246 seconds) |
| 06:23:09 | → | misterfish joins (~misterfis@84-53-85-146.bbserv.nl) |
| 06:24:53 | × | Lears quits (~Leary]@user/Leary/x-0910699) (Read error: Connection reset by peer) |
| 06:24:58 | → | [Leary] joins (~Leary]@user/Leary/x-0910699) |
| 06:29:18 | → | libertyprime joins (~libertypr@203.96.203.44) |
| 06:30:20 | → | dibblego joins (~dibblego@116-255-1-151.ip4.superloop.au) |
| 06:30:21 | × | dibblego quits (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
| 06:30:21 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 06:33:31 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 06:35:02 | → | acidjnk joins (~acidjnk@p200300d6e7072f97b0b55b7471c26b47.dip0.t-ipconnect.de) |
| 06:39:11 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds) |
| 06:42:29 | × | ft quits (~ft@p508dbe23.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 06:44:07 | → | ft joins (~ft@p3e9bcc0e.dip0.t-ipconnect.de) |
| 06:44:28 | → | dibblego joins (~dibblego@116-255-1-151.ip4.superloop.au) |
| 06:44:28 | × | dibblego quits (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
| 06:44:28 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 06:49:47 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 264 seconds) |
| 06:55:37 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Remote host closed the connection) |
| 06:56:01 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 06:56:27 | × | danse-nr3 quits (~francesco@151.43.81.154) (Remote host closed the connection) |
| 06:56:45 | → | coot joins (~coot@89-69-206-216.dynamic.chello.pl) |
| 06:56:50 | → | danse-nr3 joins (~francesco@151.43.81.154) |
| 06:57:09 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 06:59:03 | → | dibblego joins (~dibblego@116-255-1-151.ip4.superloop.au) |
| 06:59:03 | × | dibblego quits (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
| 06:59:03 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 07:01:07 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 07:11:26 | → | fendor joins (~fendor@2a02:8388:1640:be00:1f28:32b1:54ac:a932) |
| 07:12:31 | × | ByronJohnson quits (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) (Ping timeout: 245 seconds) |
| 07:14:27 | <Guest5267> | what's the difference between cabal repl and ghci in a non-cabal directory? |
| 07:15:56 | <sclv> | the latter uses the ambient global packagedb. the former uses a minimal package set and whatever you explicitly set with —build-depends (installing in the store as necessary) |
| 07:16:02 | × | simikando quits (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Ping timeout: 246 seconds) |
| 07:18:09 | <Guest5267> | dexit |
| 07:19:24 | → | ByronJohnson joins (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) |
| 07:19:40 | <Guest5267> | sclv: how to use a local env? |
| 07:19:49 | <Guest5267> | i have cabal install --env . |
| 07:19:56 | <Guest5267> | in a directory |
| 07:20:10 | <sclv> | ghci can take an env file argument |
| 07:20:39 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 07:21:39 | × | misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 244 seconds) |
| 07:30:04 | → | titibandit joins (~titibandi@user/titibandit) |
| 07:34:24 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds) |
| 07:35:12 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:255a:b8f5:5ab9:11d7) (Remote host closed the connection) |
| 07:37:33 | <Guest5267> | i have trouble understanding this piece of code: ("hello" :: T.Text) & ix 1 %%~ \_ -> ("aeiou" :: [Char]) |
| 07:37:49 | <Guest5267> | how does %%~ work here on list |
| 07:38:37 | <danse-nr3> | hmm not sure where %%~ comes from. Do we have hoogle here? |
| 07:39:10 | <danse-nr3> | this one https://hackage.haskell.org/package/lens-5.2.2/docs/Control-Lens-Operators.html#v:-37--37--126- anyways |
| 07:39:10 | <Guest5267> | it's from Control.Lens.Lens |
| 07:39:54 | <jade[m]> | > When applied to a Lens, it can edit the target of the Lens in a structure, extracting a functorial result. |
| 07:39:55 | <lambdabot> | <hint>:1:23: error: parse error on input ‘,’ |
| 07:40:03 | → | dibblego joins (~dibblego@116-255-1-151.ip4.superloop.au) |
| 07:40:04 | × | dibblego quits (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
| 07:40:04 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 07:41:48 | <Guest5267> | ix 1 picks 'e', then how %%~ will substitute it with aeiou and creates 5 strings? |
| 07:42:17 | → | mixfix41 joins (~sdeny9ee@user/mixfix41) |
| 07:43:46 | × | danse-nr3 quits (~francesco@151.43.81.154) (Read error: Connection reset by peer) |
| 07:43:51 | → | danse-nr3_ joins (~francesco@151.43.89.251) |
| 07:44:03 | → | simikando joins (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
| 07:44:13 | → | Guest25 joins (~Guest25@host-82-135-30-3.customer.m-online.net) |
| 07:44:40 | <jade[m]> | think so |
| 07:44:59 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 264 seconds) |
| 07:45:17 | <danse-nr3_> | % import Control.Lens.Operators |
| 07:45:17 | <yahb2> | <no location info>: error: ; Could not find module ‘Control.Lens.Operators’ ; It is not a module in the current program, or in any known package. |
| 07:45:42 | <jackdk> | (%%~) = id |
| 07:47:49 | <jackdk> | so `ix 1 :: (Ixed m, Num (Index m), Applicative f) => (IxValue m -> (f (IxValue m)) -> m -> f m`. So that's a `Traversal' m (IxValue m)` |
| 07:48:33 | → | dibblego joins (~dibblego@116-255-1-151.ip4.superloop.au) |
| 07:48:34 | × | dibblego quits (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
| 07:48:34 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 07:48:54 | <jackdk> | Specialise it to the types in play: `ix 1 :: Applicative f => (Char -> f Char) -> Text -> f Text` or `Traversal' Text Char` |
| 07:52:16 | <Guest5267> | i get the types conversion logic, but why it creates five strings |
| 07:52:29 | × | simikando quits (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Ping timeout: 260 seconds) |
| 07:55:40 | <jackdk> | Guest5267: This is an equivalent function to `ix 1` specialised to `Traversal' Text Char` https://www.irccloud.com/pastebin/v1X5RQb7/Ix1.hs |
| 07:56:28 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 07:56:35 | <jackdk> | In your example, the function you pass in returns a list of five characters, and then the reconstruction `hd : ch' : tl` is mapped across that list to produce the five results |
| 07:59:11 | × | p3n quits (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Quit: ZNC 1.8.2 - https://znc.in) |
| 08:00:44 | × | Guest25 quits (~Guest25@host-82-135-30-3.customer.m-online.net) (Quit: Client closed) |
| 08:01:00 | → | __monty__ joins (~toonn@user/toonn) |
| 08:03:06 | → | p3n joins (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) |
| 08:04:44 | × | shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 260 seconds) |
| 08:06:36 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 08:07:56 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds) |
| 08:08:58 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 08:10:48 | → | Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
| 08:14:00 | → | dibblego joins (~dibblego@116-255-1-151.ip4.superloop.au) |
| 08:14:00 | × | dibblego quits (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
| 08:14:00 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 08:18:15 | → | chele joins (~chele@user/chele) |
| 08:19:19 | × | mixfix41 quits (~sdeny9ee@user/mixfix41) (Ping timeout: 260 seconds) |
| 08:21:36 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 08:24:06 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 08:27:16 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 244 seconds) |
| 08:31:35 | → | misterfish joins (~misterfis@84-53-85-146.bbserv.nl) |
| 08:33:49 | → | dibblego joins (~dibblego@116-255-1-151.ip4.superloop.au) |
| 08:33:49 | × | dibblego quits (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
| 08:33:49 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 08:33:50 | danse-nr3_ | is now known as danse-nr3 |
| 08:34:58 | → | dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
| 08:35:41 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:255a:b8f5:5ab9:11d7) |
| 08:38:17 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds) |
| 08:40:19 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:255a:b8f5:5ab9:11d7) (Ping timeout: 260 seconds) |
| 08:40:57 | × | ft quits (~ft@p3e9bcc0e.dip0.t-ipconnect.de) (Quit: leaving) |
| 08:40:59 | → | blueonyx joins (~blueonyx@user/blueonyx) |
| 08:41:03 | × | blueonyx quits (~blueonyx@user/blueonyx) (Client Quit) |
| 08:42:39 | × | Vq quits (~vq@90-227-195-9-no77.tbcn.telia.com) (Quit: Server maintenance) |
| 08:43:07 | → | aniketd joins (~aniketd@2405:201:d00b:116e:b89a:607:b54e:8ff7) |
| 08:44:01 | → | dibblego joins (~dibblego@116-255-1-151.ip4.superloop.au) |
| 08:44:01 | × | dibblego quits (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
| 08:44:01 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 08:44:14 | × | Guest5267 quits (~finn@176-151-21-224.abo.bbox.fr) (Ping timeout: 246 seconds) |
| 09:02:23 | → | simikando joins (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
| 09:02:34 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 09:03:04 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds) |
| 09:06:56 | → | dibblego joins (~dibblego@116-255-1-151.ip4.superloop.au) |
| 09:06:56 | × | dibblego quits (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
| 09:06:56 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 09:12:02 | × | pieguy128 quits (~pieguy128@bras-base-mtrlpq5031w-grc-54-65-92-160-21.dsl.bell.ca) (Ping timeout: 245 seconds) |
| 09:15:26 | × | econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
| 09:16:14 | × | simikando quits (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Remote host closed the connection) |
| 09:16:57 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 09:18:38 | × | maerwald quits (~maerwald@user/maerwald) (Quit: gone) |
| 09:18:41 | × | perrierjouet quits (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.2) |
| 09:19:49 | → | maerwald joins (~maerwald@mail.hasufell.de) |
| 09:21:47 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
| 09:23:40 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 09:23:54 | × | arahael_ quits (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 252 seconds) |
| 09:24:08 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Read error: Connection reset by peer) |
| 09:24:26 | → | perrierjouet joins (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) |
| 09:24:42 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 09:31:23 | → | pieguy128 joins (~pieguy128@bras-base-mtrlpq5031w-grc-43-67-70-144-186.dsl.bell.ca) |
| 09:33:01 | → | alexherbo2 joins (~alexherbo@2a02-8440-2140-dff9-10d8-0a93-97c2-a448.rev.sfr.net) |
| 09:41:59 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds) |
| 09:42:12 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 09:43:30 | Lord_of_Life_ | is now known as Lord_of_Life |
| 09:45:26 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 09:47:49 | → | ripspin joins (~chatzilla@1.145.170.120) |
| 09:48:17 | → | gurkenglas joins (~gurkengla@dynamic-046-114-093-023.46.114.pool.telefonica.de) |
| 09:55:03 | → | ubert joins (~Thunderbi@91-114-199-188.adsl.highway.telekom.at) |
| 09:57:50 | → | anpad joins (~pandeyan@user/anpad) |
| 10:06:18 | → | hughjfchen joins (~hughjfche@vmi556545.contaboserver.net) |
| 10:10:12 | × | idgaen quits (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2) |
| 10:11:58 | → | simikando joins (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
| 10:12:29 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 260 seconds) |
| 10:15:57 | × | perrierjouet quits (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.2) |
| 10:18:41 | → | perrierjouet joins (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) |
| 10:18:54 | × | CiaoSen quits (~Jura@2a05:5800:290:5500:664b:f0ff:fe37:9ef) (Ping timeout: 260 seconds) |
| 10:23:42 | × | alexherbo2 quits (~alexherbo@2a02-8440-2140-dff9-10d8-0a93-97c2-a448.rev.sfr.net) (Remote host closed the connection) |
| 10:26:00 | <sm> | @where+ lemmy https://lemmy.world/search?q=haskell&type=Communities |
| 10:26:01 | <lambdabot> | Done. |
| 10:30:18 | → | arahael_ joins (~arahael@124-149-31-4.dyn.iinet.net.au) |
| 10:30:34 | → | fweht joins (uid404746@id-404746.lymington.irccloud.com) |
| 10:34:05 | <sm> | @where kbin |
| 10:34:05 | <lambdabot> | https://kbin.social/m/haskell/newest |
| 10:35:23 | <sm> | cc'ing from #Haskell: currently there are 4 Haskell lemmys but kbin is the winner with 177 subscribers, vs https://lemmy.world/c/haskell (83, despite no posts) and https://lemmy.world/c/haskell@lemmy.ml (28) |
| 10:40:57 | <danse-nr3> | uh, is there an uppercase haskell channel? |
| 10:41:50 | <arahael_> | I think IRC chatrooms are case insensitive. |
| 10:42:17 | <geekosaur> | sm means the matrix room |
| 10:42:33 | <danse-nr3> | oh, cheers |
| 10:44:15 | <sm> | yup, just using shorthand for #haskell:matrix.org |
| 10:50:29 | <carbolymer> | I thought that we're bridged to matrix? |
| 10:50:44 | <geekosaur> | until the end of the month |
| 10:50:47 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 10:50:51 | <geekosaur> | but there's a separate matrix room |
| 10:51:33 | <geekosaur> | and a general agreement on both sides that they do not want portaling or plumbing between the teo |
| 10:51:36 | <geekosaur> | *two |
| 10:52:07 | <carbolymer> | by sides you mean libera and matrix? |
| 10:52:12 | <geekosaur> | yes |
| 10:52:32 | <geekosaur> | I am also reasonably certain that we're not plumbing a new room between the two sides either |
| 10:52:48 | <carbolymer> | is portalling a new name for puppetting bridges? |
| 10:53:07 | <geekosaur> | "portaling" and "plumbing" are two different bridging mechanisms |
| 10:53:27 | <geekosaur> | both are puppeting bridges though |
| 10:53:59 | <geekosaur> | https://matrix.org/blog/2023/07/make-sure-libera-bridge-keeps-working/ |
| 10:55:32 | <carbolymer> | ah ok |
| 10:55:52 | <geekosaur> | (tl;dr: "portaling" acts as if libera's a different matrix instance, "plumbing" directly gateways a matrix room to an IRC channel) |
| 10:56:15 | <carbolymer> | on unrelated note: is -fprof-auto introducting overhead for runtime or compilation time? |
| 10:56:28 | <geekosaur> | both but mostly runtime |
| 10:56:33 | <carbolymer> | thx |
| 10:56:39 | <geekosaur> | take a look at -fprof-late in recent ghcs though |
| 10:56:57 | <carbolymer> | I thought so, but wasn't sure |
| 10:58:28 | <sm> | correction: #haskell:matrix.org is not bridged (plumbed) to #haskell on libera. (It used to be plumbed to #haskell on freenode I believe.) #haskell:libera.chat is the portalled view of #haskell on libera (for another few days) |
| 10:58:37 | × | ubert quits (~Thunderbi@91-114-199-188.adsl.highway.telekom.at) (Ping timeout: 260 seconds) |
| 10:59:38 | <sm> | tldr: we have #Haskell matrix room and #haskell libera channel and they're separate |
| 11:00:03 | <sm> | and both quite active |
| 11:06:10 | × | ripspin quits (~chatzilla@1.145.170.120) (Remote host closed the connection) |
| 11:09:09 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 11:11:33 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 11:11:49 | <carbolymer> | and there's discord, discourse, countless lemmy instances and reddit |
| 11:11:58 | <carbolymer> | I'm not sure if such fragmentation is a good thing |
| 11:13:09 | <geekosaur> | the question occurring to me is, how much of it predated the reddit incident? or the twitter (x?) incident? |
| 11:14:41 | <geekosaur> | (sadly I am pretty sure fragmentation is a thing in general) |
| 11:14:47 | <int-e> | . o O ( ex-Twitter ) |
| 11:16:03 | <geekosaur> | as I commented elsewhere, the xkcd about standards generalizes |
| 11:16:11 | → | xff0x joins (~xff0x@2405:6580:b080:900:821d:6393:aa84:7d15) |
| 11:18:29 | → | komikat joins (~user@218.185.248.66) |
| 11:21:41 | × | simikando quits (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Ping timeout: 245 seconds) |
| 11:23:39 | → | Guest5267 joins (~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) |
| 11:25:47 | × | jmd_ quits (~jmdaemon@user/jmdaemon) (Ping timeout: 264 seconds) |
| 11:30:56 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 11:31:35 | → | ubert joins (~Thunderbi@2001:871:263:db64:620f:62b9:b266:476) |
| 11:41:58 | × | aniketd quits (~aniketd@2405:201:d00b:116e:b89a:607:b54e:8ff7) (Quit: Client closed) |
| 11:43:52 | → | danse-nr3_ joins (~francesco@151.43.11.3) |
| 11:43:55 | × | danse-nr3 quits (~francesco@151.43.89.251) (Read error: Connection reset by peer) |
| 11:51:07 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 11:57:24 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz) |
| 11:59:49 | × | arahael_ quits (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 260 seconds) |
| 11:59:49 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 260 seconds) |
| 12:00:34 | → | arahael_ joins (~arahael@124-149-31-4.dyn.iinet.net.au) |
| 12:03:01 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.6) |
| 12:05:16 | <jade[m]> | what's the time complexity of subsequences? |
| 12:05:51 | × | arahael_ quits (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
| 12:08:29 | × | natto quits (~natto@140.238.225.67) (Quit: a.) |
| 12:09:45 | <int-e> | take n . subsequences is O(n) |
| 12:10:13 | → | natto joins (~natto@140.238.225.67) |
| 12:10:18 | <int-e> | though looking at all the elements of the result will be O(n log(n))... there's sharing between them |
| 12:14:49 | → | bontaq joins (~user@ool-45779b84.dyn.optonline.net) |
| 12:15:57 | → | flounders joins (~flounders@24.246.133.1) |
| 12:27:17 | → | CiaoSen joins (~Jura@2a05:5800:290:5500:664b:f0ff:fe37:9ef) |
| 12:32:01 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 12:34:29 | <int-e> | somethiung like https://int-e.eu/~bf3/tmp/subsequences.png |
| 12:34:54 | <int-e> | > subsequences [1..] |
| 12:34:55 | <lambdabot> | [[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3],[4],[1,4],[2,4],[1,2,4],[3,4],[1,3... |
| 12:35:52 | <int-e> | (with the understanding that "2:" is a cons that points to the second element of the input list) |
| 12:36:03 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 12:36:19 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 12:36:46 | <jade[m]> | awesome, thank you very much |
| 12:38:04 | → | simikando joins (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
| 12:39:08 | <int-e> | actually I think the arrows are prettier like this: https://int-e.eu/~bf3/tmp/subsequences2.png |
| 12:39:49 | <int-e> | in that they reflect how the list is built better |
| 12:40:04 | <jade[m]> | mhm |
| 12:40:14 | <jade[m]> | how did you create that graph? |
| 12:40:25 | <int-e> | sorry, I missed an arrow... updated the png |
| 12:40:29 | <jade[m]> | by hand, or do you have something like ghcivis I think it was called |
| 12:40:30 | <int-e> | I'm using xfig here |
| 12:40:45 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 12:40:58 | <jade[m]> | oki |
| 12:41:21 | <int-e> | because I had a particular way in mind in which I wanted to lay out the nodes. |
| 12:43:23 | <jade[m]> | jade[m]: fwiw https://hackage.haskell.org/package/ghc-vis |
| 12:43:26 | × | hughjfchen quits (~hughjfche@vmi556545.contaboserver.net) (Quit: WeeChat 3.7.1) |
| 12:43:35 | <int-e> | for example you can see that there are exavtly two cons cells per list entry. |
| 12:43:42 | → | hughjfchen joins (~hughjfche@vmi556545.contaboserver.net) |
| 12:43:51 | <int-e> | I've heard of ghc-vis |
| 12:44:03 | × | dyniec quits (~dyniec@mail.dybiec.info) (Ping timeout: 244 seconds) |
| 12:44:19 | <int-e> | (except for the very first result, that is, the empty list) |
| 12:46:40 | → | dyniec joins (~dyniec@mail.dybiec.info) |
| 12:48:27 | → | aniketd joins (~aniketd@2405:201:d00b:116e:9de7:8d94:3db0:68dc) |
| 12:51:18 | × | dyniec quits (~dyniec@mail.dybiec.info) (Client Quit) |
| 12:52:56 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 12:56:57 | → | barcisz joins (~barcisz@83.6.202.49.ipv4.supernova.orange.pl) |
| 12:58:59 | → | shriekingnoise joins (~shrieking@186.137.175.87) |
| 13:01:50 | × | simikando quits (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Quit: Leaving) |
| 13:02:27 | × | misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 245 seconds) |
| 13:05:30 | → | ripspin joins (~chatzilla@1.145.147.149) |
| 13:07:57 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz) |
| 13:14:02 | <jade[m]> | what force does the example for scanr in Data.List refer to and why would it be neccesary? |
| 13:14:08 | <jade[m]> | >>> force $ scanr (+) 0 [1..] |
| 13:14:08 | <jade[m]> | *** Exception: stack overflow |
| 13:16:14 | × | danse-nr3_ quits (~francesco@151.43.11.3) (Ping timeout: 260 seconds) |
| 13:18:25 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 13:19:53 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 13:19:56 | <ncf> | any function that forces a list, like length |
| 13:22:00 | <ncf> | well i guess forcing the first element is enough, since this is a right fold |
| 13:23:14 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
| 13:24:27 | × | flounders quits (~flounders@24.246.133.1) (Ping timeout: 260 seconds) |
| 13:25:16 | → | emid joins (~thales@191.180.21.148) |
| 13:26:57 | → | danse-nr3_ joins (~francesco@151.43.11.3) |
| 13:27:11 | <jade[m]> | yeah, I was confused because in the context of a repl where the result is forced anyway as a result of printing this really shouldn't matter, right? |
| 13:37:44 | → | seeg45 joins (~seeg@83.5.105.10.ipv4.supernova.orange.pl) |
| 13:40:11 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:255a:b8f5:5ab9:11d7) |
| 13:41:24 | × | m1dnight quits (~christoph@78-22-4-67.access.telenet.be) (Quit: WeeChat 4.0.1) |
| 13:42:47 | × | ubert quits (~Thunderbi@2001:871:263:db64:620f:62b9:b266:476) (Ping timeout: 258 seconds) |
| 13:44:49 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:255a:b8f5:5ab9:11d7) (Ping timeout: 260 seconds) |
| 13:47:31 | → | qqq joins (~qqq@92.43.167.61) |
| 13:52:26 | → | ubert joins (~Thunderbi@2001:871:263:db64:fa4c:fe7d:466e:4ec0) |
| 13:58:27 | × | CiaoSen quits (~Jura@2a05:5800:290:5500:664b:f0ff:fe37:9ef) (Ping timeout: 244 seconds) |
| 14:00:00 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 244 seconds) |
| 14:01:37 | × | razetime quits (~quassel@117.254.34.82) (Remote host closed the connection) |
| 14:06:44 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 14:10:24 | × | seeg45 quits (~seeg@83.5.105.10.ipv4.supernova.orange.pl) (Quit: Client closed) |
| 14:14:35 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 14:26:14 | → | mikoto-chan joins (~mikoto-ch@dsl-hkibng11-50dcaf-150.dhcp.inet.fi) |
| 14:28:08 | → | idgaen joins (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 14:38:47 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 14:40:17 | × | libertyprime quits (~libertypr@203.96.203.44) (Ping timeout: 260 seconds) |
| 14:44:18 | → | ddellacosta joins (~ddellacos@143.244.47.100) |
| 14:49:46 | → | califax joins (~califax@user/califx) |
| 14:51:21 | × | Guest5267 quits (~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) (Ping timeout: 260 seconds) |
| 14:56:31 | → | misterfish joins (~misterfis@84-53-85-146.bbserv.nl) |
| 15:00:26 | → | m1dnight joins (~christoph@78-22-4-67.access.telenet.be) |
| 15:00:31 | × | m1dnight quits (~christoph@78-22-4-67.access.telenet.be) (Client Quit) |
| 15:00:49 | → | m1dnight joins (~christoph@78-22-4-67.access.telenet.be) |
| 15:01:49 | → | nattiestnate joins (~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) |
| 15:03:38 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 15:04:24 | × | m1dnight quits (~christoph@78-22-4-67.access.telenet.be) (Client Quit) |
| 15:04:51 | → | m1dnight joins (~christoph@78-22-4-67.access.telenet.be) |
| 15:05:03 | × | m1dnight quits (~christoph@78-22-4-67.access.telenet.be) (Client Quit) |
| 15:05:19 | → | m1dnight joins (~christoph@78-22-4-67.access.telenet.be) |
| 15:06:09 | × | nattiestnate quits (~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) (Client Quit) |
| 15:06:24 | → | nattiestnate joins (~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) |
| 15:13:35 | × | titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection) |
| 15:14:55 | × | mikoto-chan quits (~mikoto-ch@dsl-hkibng11-50dcaf-150.dhcp.inet.fi) (Quit: WeeChat 3.8) |
| 15:18:10 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 15:18:32 | → | darchitect joins (~darchitec@2a00:23c6:3584:df01:ace3:21db:4a0c:96b1) |
| 15:19:15 | <ncf> | > fail "foo" :: [()] |
| 15:19:16 | <lambdabot> | [] |
| 15:19:21 | <ncf> | i just got owned by this |
| 15:19:45 | <darchitect> | hey guys - how would describe the difference and relations between type theory and category theory to an enthusiastic non-mathematician (prorammer) |
| 15:19:52 | <darchitect> | hey guys - how would describe the difference and relations between type theory and category theory to an enthusiastic non-mathematician (prgorammer) |
| 15:20:03 | <darchitect> | hey guys - how would describe the difference and relations between type theory and category theory to an enthusiastic non-mathematician (programmer) |
| 15:20:19 | → | seeg42 joins (~seeg@83.5.105.10.ipv4.supernova.orange.pl) |
| 15:20:23 | <darchitect> | (sorry for the repeats) ? |
| 15:20:37 | <dolio> | You don't have to correct your spelling. |
| 15:20:40 | × | fweht quits (uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 15:20:56 | × | seeg42 quits (~seeg@83.5.105.10.ipv4.supernova.orange.pl) (Client Quit) |
| 15:21:05 | <dolio> | Definitely not by repeating the entire message. |
| 15:21:24 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 15:21:26 | <darchitect> | sorry I am new to irc, how do I edit a msg ? |
| 15:21:53 | <geekosaur> | you don't, generally. but you also don't just blast a message back out with a 2-character change. we can deal with typos |
| 15:22:13 | <geekosaur> | if you really must, I'd just have done `*programmer` |
| 15:22:54 | <darchitect> | true that ... too much chatgpt I guess.. |
| 15:23:19 | → | califax joins (~califax@user/califx) |
| 15:23:38 | <ncf> | i would simply send them https://ncatlab.org/nlab/show/relation+between+type+theory+and+category+theory |
| 15:23:49 | <ncf> | (half-joking) |
| 15:24:24 | <jade[m]> | the docs for `union` mention that |
| 15:24:24 | <jade[m]> | > 'union' is productive even if both arguments are infinite. |
| 15:24:24 | <jade[m]> | what is considered as "productive" here, as union of two infinite lists would really just yield the first one by itself |
| 15:24:25 | <lambdabot> | <hint>:1:59: error: |
| 15:24:25 | <lambdabot> | parse error (possibly incorrect indentation or mismatched brackets) |
| 15:25:34 | → | arahael_ joins (~arahael@124-149-31-4.dyn.iinet.net.au) |
| 15:26:04 | <ncf> | productive in the sense that it does not get stuck |
| 15:26:11 | <geekosaur> | "productive" in Haskell generally means "can produce results without traversing all parameters", i.e. produces results lazily |
| 15:26:22 | <jade[m]> | got it, thanks |
| 15:28:40 | <geekosaur> | darchitect, can't speak directly to the general case but I will note that Haskell types almost form a category (`undefined` being an inhabitant of all types breaks this, but there are generalizations of categories that support it) |
| 15:29:41 | <darchitect> | do you guys know other groups for functional programming apart from this one ? (I tried with ocaml, but there are funilly enough only 10 users in there) |
| 15:30:43 | <ncf> | there are 154 users in #ocaml |
| 15:31:27 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 244 seconds) |
| 15:32:30 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 15:32:31 | × | arahael_ quits (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
| 15:32:42 | × | idgaen quits (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2) |
| 15:32:52 | <darchitect> | ncf: wtf, I swear when I checked yesterday it had only about 10 |
| 15:32:56 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 15:33:07 | <ncf> | typed one # too many? |
| 15:33:12 | <darchitect> | probably haha |
| 15:33:57 | <dolio> | It's not undefined that is a problem. The problem is certain operations to 'detect' it. |
| 15:35:48 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 15:36:04 | <dolio> | Or not preserving it in exactly the way the category axioms would require. |
| 15:37:37 | <dolio> | Like, you can tell the difference between undefined and `const undefined`, and (lazy) composition with the identify function gives `const undefined`, so the identity function is not exactly a unit. |
| 15:39:02 | → | arahael_ joins (~arahael@124-149-31-4.dyn.iinet.net.au) |
| 15:39:50 | <dolio> | Many categories have 'an inhabitant of every object' without a problem. |
| 15:43:21 | × | arahael_ quits (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
| 15:43:59 | → | danse-nr3__ joins (~francesco@151.43.64.30) |
| 15:44:05 | × | danse-nr3_ quits (~francesco@151.43.11.3) (Read error: Connection reset by peer) |
| 15:44:10 | × | bitmapper quits (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 15:45:45 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:255a:b8f5:5ab9:11d7) |
| 15:47:46 | <darchitect> | does this make Haskell less "rigorous" than OCaml like Rob Harper says ? |
| 15:50:59 | <c_wraith> | in general, assume zero things Robert Harper says that sound like judgments of Haskell to be true. |
| 15:51:21 | <c_wraith> | His technical remarks about Haskell? They're probably true, at least when he made them. |
| 15:51:54 | <c_wraith> | (the "exceptionally unsafe" thing hasn't been true for many years now, for instance) |
| 15:52:34 | <c_wraith> | But anything that ends with "this is why SML is better" probably has no truth value |
| 15:53:15 | <darchitect> | right |
| 15:53:28 | × | foul_owl quits (~kerry@157.97.134.168) (Ping timeout: 250 seconds) |
| 15:53:59 | <darchitect> | what about the lazy by default vs lazy on demand thing ? |
| 15:54:59 | <c_wraith> | that one gets a lot of arguments by a lot of people. My position basically comes down to "programmers won't do a thing unless forced to", meaning lazy on demand is identical to strict. |
| 15:55:09 | × | barcisz quits (~barcisz@83.6.202.49.ipv4.supernova.orange.pl) (Quit: Connection closed) |
| 15:56:17 | <ncf> | too lazy to be lazy |
| 15:57:32 | <c_wraith> | and back when containers was going through its big laziness debate, it broke my code several times because I was using laziness in ways the authors didn't anticipate when they said "this API can always be strict without breaking anything" |
| 15:58:20 | <c_wraith> | So my opinion of our ability to anticipate how others will use our code is... quite low. |
| 15:58:33 | <c_wraith> | So you should probably default to permissive, instead of having to opt in |
| 15:58:56 | <darchitect> | permissive ? |
| 15:59:57 | <c_wraith> | You can't un-strict an existing function without rewriting it. In many cases you can add strictness without rewriting. |
| 16:00:06 | <sm> | darchitect: https://haskell.foundation/podcast/30/ is a wonderful recent podcast discussing category theory you might enjoy |
| 16:00:41 | <c_wraith> | There are some cases where you can't add strictness without rewriting. For those cases, you should really just offer both versions |
| 16:02:00 | <darchitect> | can you turn strictness on by default in Haskell ? |
| 16:02:25 | <darchitect> | I really love the syntax but I am bit scared the compiler is doing all those things to my code making it harder to reason about perf |
| 16:02:33 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 16:04:45 | <c_wraith> | eh. Not really. There are things like -XStrict, but they're the equivalent of inserting calls to seq at a few clearly-specified locations. Still lots of ways to generate space leaks. |
| 16:05:45 | <dolio> | If Harper used that as an example of Haskell not being "rigorous," it would be very hypocritical, since the reasons behind those things have to do with allowing people to specify the operational behavior they want. And Harper frequently champions operational semantics over denotational ('meaning'). |
| 16:06:14 | <dolio> | There's nothing inherently rigorous about some structure forming a category or not. |
| 16:06:30 | <darchitect> | does OCaml form a cateogry ? |
| 16:06:52 | <darchitect> | also do you mind elaborating the difference between operational and denotational (for a dummy) |
| 16:07:09 | × | aniketd quits (~aniketd@2405:201:d00b:116e:9de7:8d94:3db0:68dc) (Quit: Client closed) |
| 16:07:19 | <dolio> | I don't know. Thinking about OCaml is generally more complicated for things like this. |
| 16:07:29 | × | _d0t quits (~{-d0t-}@user/-d0t-/x-7915216) (Remote host closed the connection) |
| 16:07:40 | → | foul_owl joins (~kerry@185.219.141.162) |
| 16:08:00 | → | byte` joins (~byte@user/byte) |
| 16:08:02 | × | byte quits (~byte@user/byte) (Ping timeout: 246 seconds) |
| 16:08:03 | <darchitect> | what makes it more complicated ? is it because it's less expressive than Haskel or .. ? |
| 16:08:06 | byte` | is now known as byte |
| 16:08:22 | → | _d0t joins (~{-d0t-}@user/-d0t-/x-7915216) |
| 16:08:47 | × | nattiestnate quits (~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) (Quit: WeeChat 4.0.2) |
| 16:08:54 | × | gurkenglas quits (~gurkengla@dynamic-046-114-093-023.46.114.pool.telefonica.de) (Ping timeout: 260 seconds) |
| 16:09:09 | → | nattiestnate joins (~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) |
| 16:10:27 | <dolio> | No, because eagerness means you have two different classes of things that could be 'members of a type' that don't agree. There are values and expressions. |
| 16:11:15 | <darchitect> | doesn't expression evaluate down to values ? |
| 16:11:22 | <dolio> | Infinite loops don't. |
| 16:11:24 | <darchitect> | well either that or they diverge |
| 16:11:26 | <darchitect> | yeah |
| 16:11:36 | → | notzmv joins (~zmv@user/notzmv) |
| 16:11:40 | <c_wraith> | Hey, that's what I always thought of as the big strength of laziness. Expressions aren't privileged with more possible results. |
| 16:12:35 | <darchitect> | what do you mean privileged with more results ? |
| 16:12:46 | <darchitect> | we still have expresssions and values in Haskell right ? |
| 16:12:50 | <c_wraith> | maybe "cursed" would be more accurate. :) |
| 16:12:55 | <darchitect> | and we still have infinite loops ? |
| 16:12:57 | <c_wraith> | I mean expressions can be bottoms. |
| 16:13:04 | <c_wraith> | And so can values. |
| 16:13:07 | <c_wraith> | No difference |
| 16:13:14 | <darchitect> | right |
| 16:13:23 | <darchitect> | but what does it mean for an expression to be a bottom |
| 16:13:34 | <darchitect> | that it will be "evaluated at some later stage" ? |
| 16:13:43 | <c_wraith> | The same thing you said above - evaluation diverges. |
| 16:13:49 | <c_wraith> | The term "bottom" comes from domain theory |
| 16:14:09 | <c_wraith> | It's the "least defined" value, in some sort of lattice of defined-ness |
| 16:14:34 | <c_wraith> | Domain theory is all about making my vagueness there precise. :) |
| 16:14:38 | <darchitect> | I guess I am a bit new to all this so I am still a bit confused about how having this is different between OCaml and Haskell |
| 16:14:59 | × | ubert quits (~Thunderbi@2001:871:263:db64:fa4c:fe7d:466e:4ec0) (Ping timeout: 264 seconds) |
| 16:15:03 | <darchitect> | from what I understand both languages do not form a category ? (i.e. are not "rigorous" as mentioned above) |
| 16:15:52 | <darchitect> | does having a language form a complete category mean there is no infinite loops ? |
| 16:16:01 | <dolio> | No. |
| 16:16:12 | <darchitect> | there are no languages without infinite loops right ? |
| 16:16:20 | <dolio> | Yeah. |
| 16:17:01 | <darchitect> | so there is no languages that form a category ? |
| 16:17:06 | <darchitect> | are * |
| 16:18:13 | <dolio> | Haskell types and functions technically not forming a category is a technical detail that does not materially affect the usefulness of imaginging it actually is a category, because most of the time people don't care about the differences between things that make it technically fail the rules. |
| 16:18:29 | → | junction joins (~junction@finc-16-b2-v4wan-164434-cust415.vm7.cable.virginm.net) |
| 16:18:47 | <darchitect> | is the same true for OCaml then ? |
| 16:19:16 | <dolio> | Assuming it technically isn't one. I don't actually know where the 'naive' thing works in OCaml. |
| 16:19:19 | × | glguy quits (~glguy@libera/staff-emeritus/glguy) (Quit: Quit) |
| 16:19:39 | <darchitect> | the 'naive' thing ? |
| 16:19:39 | <dolio> | Whether it works, even. |
| 16:19:58 | <dolio> | Trying to use types as objects and OCaml functions as arrows. |
| 16:20:06 | <darchitect> | oh right |
| 16:20:35 | <dolio> | When you really dig into things, that is not how people really talk about type theories and stuff categorically. |
| 16:20:50 | <dolio> | They talk about contexts and expressions and substitution and such. |
| 16:21:11 | → | glguy joins (~glguy@libera/staff-emeritus/glguy) |
| 16:21:25 | <darchitect> | (y) |
| 16:22:08 | <junction> | I'm learning Haskell and I've been using the Effectful framework for some projects. I've found it helpful and I'm wondering how to integrate it into one of the lightweight WAI frameworks like Twain (https://github.com/alexmingoia/twain/tree/main). Has anyone done this? Twain has a `ResponderM` monad and I'm thinking of a `Responder` Effect instead. |
| 16:22:30 | <darchitect> | dolio: thanks for taking the time ! |
| 16:22:52 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 16:23:56 | <dolio> | No problem. |
| 16:27:24 | <ncf> | darchitect: proof assistants and other languages based on dependent type theories are usually expected to have semantics in certain "nice" categories (or topoi) |
| 16:28:12 | <ncf> | (e.g. agda) |
| 16:28:38 | × | vulpine quits (xfnw@tilde.team) (Quit: Connection reset by purr) |
| 16:29:08 | × | bontaq quits (~user@ool-45779b84.dyn.optonline.net) (Remote host closed the connection) |
| 16:30:23 | → | vulpine joins (xfnw@tilde.team) |
| 16:30:52 | × | danse-nr3__ quits (~francesco@151.43.64.30) (Ping timeout: 240 seconds) |
| 16:42:08 | → | Guest5267 joins (~finn@176-151-21-224.abo.bbox.fr) |
| 16:44:03 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 16:45:17 | × | npmania quits (~Thunderbi@45.8.223.228) (Quit: npmania) |
| 16:45:53 | → | gurkenglas joins (~gurkengla@dynamic-046-114-093-023.46.114.pool.telefonica.de) |
| 16:46:55 | → | econo_ joins (uid147250@id-147250.tinside.irccloud.com) |
| 16:56:23 | <dolio> | Yeah, they are generally much better behaved than either Haskell or OCaml. |
| 16:56:48 | → | billchenchina joins (~billchenc@2a0c:b641:7a2:320:ee3e:47ca:6070:d71a) |
| 17:01:15 | <dolio> | If you want a taste of the complications that would arise from OCaml, consider that functions act a bit oddly there. You can take the object T to mean 'the values with type T,' but then functions T -> U do not necessarily take values of T to values of U, because they can diverge. So it's actually more like a mapping from values of T to expressions of U (or something more like the Haskell version of 'value'). |
| 17:02:20 | × | junction quits (~junction@finc-16-b2-v4wan-164434-cust415.vm7.cable.virginm.net) (Quit: Client closed) |
| 17:02:33 | <dolio> | But then the category approach to 'elements' is to say they're equivalent to a map `() -> T`. So a categorical "global element" is not necessarily a value. |
| 17:02:40 | × | ripspin quits (~chatzilla@1.145.147.149) (Remote host closed the connection) |
| 17:10:38 | → | junction joins (~junction@finc-16-b2-v4wan-164434-cust415.vm7.cable.virginm.net) |
| 17:10:44 | × | junction quits (~junction@finc-16-b2-v4wan-164434-cust415.vm7.cable.virginm.net) (Client Quit) |
| 17:12:24 | <dolio> | And this is before even thinking about side effects. |
| 17:12:56 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds) |
| 17:14:11 | <dolio> | At least, side effects other than non-termination. In some sense, divergence is more like a side effect in OCaml than Haskell. |
| 17:14:57 | <dolio> | Because we have excluded divergence from the meaning of every object/type. |
| 17:19:57 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 17:21:21 | × | Alex_test quits (~al_test@178.34.162.202) (Quit: ;-) |
| 17:21:40 | → | simikando joins (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
| 17:24:18 | × | AlexZenon quits (~alzenon@178.34.162.202) (Quit: ;-) |
| 17:24:46 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
| 17:29:34 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:35:23 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Quit: _) |
| 17:35:40 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 17:42:31 | × | simikando quits (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Ping timeout: 245 seconds) |
| 17:44:35 | → | AlexZenon joins (~alzenon@178.34.162.202) |
| 17:45:23 | → | Alex_test joins (~al_test@178.34.162.202) |
| 17:45:32 | → | simikando joins (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
| 17:50:25 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 17:50:30 | → | idgaen joins (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 18:00:57 | → | reach joins (~reach@142.198.51.47) |
| 18:01:32 | × | simikando quits (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Ping timeout: 260 seconds) |
| 18:07:48 | → | ubert joins (~Thunderbi@77.119.196.161.wireless.dyn.drei.com) |
| 18:08:11 | → | simikando joins (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
| 18:09:34 | × | nattiestnate quits (~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) (Quit: WeeChat 4.0.2) |
| 18:09:48 | → | nattiestnate joins (~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) |
| 18:10:26 | → | Vq joins (~vq@90-227-195-9-no77.tbcn.telia.com) |
| 18:15:29 | × | fendor quits (~fendor@2a02:8388:1640:be00:1f28:32b1:54ac:a932) (Remote host closed the connection) |
| 18:17:07 | → | reach_ joins (~reach@2605:8d80:680:8add:4838:d31c:befe:b530) |
| 18:18:41 | → | reach__ joins (~reach@bras-base-toroon2643w-grc-02-142-198-51-47.dsl.bell.ca) |
| 18:18:42 | × | reach_ quits (~reach@2605:8d80:680:8add:4838:d31c:befe:b530) (Read error: Connection reset by peer) |
| 18:20:46 | × | reach quits (~reach@142.198.51.47) (Ping timeout: 260 seconds) |
| 18:21:01 | × | thelounge793 quits (~thelounge@2a05:f480:1400:24b2:5400:4ff:fe76:a8f3) (Quit: Ping timeout (120 seconds)) |
| 18:21:19 | → | thelounge793 joins (~thelounge@2a05:f480:1400:24b2:5400:4ff:fe76:a8f3) |
| 18:23:23 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 264 seconds) |
| 18:29:04 | <mauke> | monochrom: "Note that line 6 means that the operands of * and / are unary." <- seems to be both wrong and incorrect |
| 18:29:59 | × | reach__ quits (~reach@bras-base-toroon2643w-grc-02-142-198-51-47.dsl.bell.ca) (Ping timeout: 264 seconds) |
| 18:31:18 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
| 18:33:09 | <mauke> | monochrom: the parens are redundant in b ? x : (c ? y : z) |
| 18:33:37 | × | Guest5267 quits (~finn@176-151-21-224.abo.bbox.fr) (Ping timeout: 260 seconds) |
| 18:34:05 | <glguy> | mauke: I took the first comment to me than given an expression of the form: _ * _ + _ * _ * ... all the _ atoms were the unary non-terminal |
| 18:34:11 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 18:34:30 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 18:34:31 | <glguy> | and the explicit parentheses were to make it easy to read to understand how the stuff associated |
| 18:35:05 | <mauke> | glguy: yeah, but that's line 5 |
| 18:35:41 | <glguy> | Hmm, I see. I guess we're forced to take off some marks on this one |
| 18:37:58 | <mauke> | that's the "wrong" part |
| 18:38:59 | <mauke> | (the "incorrect" part is that the preceding table says * / are left-associative, so in 'a * b * c' one of the operands of the second * is 'a * b', which is not 'unary') |
| 18:40:00 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 18:45:22 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 245 seconds) |
| 18:53:23 | × | trev quits (~trev@user/trev) (Quit: trev) |
| 18:55:08 | → | eggplant_ joins (~Eggplanta@2600:1700:38c5:d800:3401:66dc:a02a:a620) |
| 18:58:39 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:255a:b8f5:5ab9:11d7) (Ping timeout: 260 seconds) |
| 19:04:38 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
| 19:06:33 | → | ft joins (~ft@p3e9bcc0e.dip0.t-ipconnect.de) |
| 19:07:37 | × | simikando quits (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Quit: Leaving) |
| 19:11:13 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 19:14:32 | → | reach__ joins (~reach@2605:8d80:682:da7f:c87a:f6f2:aa93:d6e0) |
| 19:17:43 | → | hugo- joins (znc@verdigris.lysator.liu.se) |
| 19:25:50 | → | simikando joins (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
| 19:26:54 | <monochrom> | It means that you're supposed to write chainl1 (operator "*" *> pure (:*:) <|> operator "/" *> pure (:/:)) unary |
| 19:27:19 | <monochrom> | My wording is correct in the context of my course. |
| 19:28:08 | <monochrom> | redundant parens are for students who aren't familiar with this corner of C syntax |
| 19:29:01 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 19:30:45 | → | Guest5267 joins (~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) |
| 19:36:32 | → | reach_ joins (~reach@142.198.51.47) |
| 19:36:32 | × | reach__ quits (~reach@2605:8d80:682:da7f:c87a:f6f2:aa93:d6e0) (Read error: Connection reset by peer) |
| 19:43:52 | × | reach_ quits (~reach@142.198.51.47) (Ping timeout: 240 seconds) |
| 19:45:54 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 19:47:45 | × | nattiestnate quits (~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) (Quit: WeeChat 4.0.2) |
| 19:48:05 | → | nattiestnate joins (~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) |
| 19:59:49 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection) |
| 20:00:29 | × | yuuta quits (~YuutaW@mail.yuuta.moe) (Ping timeout: 260 seconds) |
| 20:00:46 | <jade[m]> | int-e some basic tests make me doubt that subsequences is `O(n logn)` |
| 20:01:23 | <jade[m]> | the result consists of 2^n elements, so that would be the cost of looking at all? |
| 20:01:39 | jade[m] | sent a code block: https://libera.ems.host/_matrix/media/v3/download/libera.chat/7988b33893bf6fd595c9a4992008228f5c14a8fe |
| 20:02:05 | <int-e> | jade[m]: those 2^n elements are lists of average length n/2. |
| 20:02:06 | × | simikando quits (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Quit: Leaving) |
| 20:02:21 | → | YuutaW joins (~YuutaW@mail.yuuta.moe) |
| 20:02:57 | <int-e> | jade[m]: That doesn't change the fact that *producing* the list takes only k*2^n operations though, thanks to all shared tails. |
| 20:03:10 | <int-e> | For some constant k |
| 20:03:28 | <jade[m]> | okay yeah that makes sense |
| 20:04:00 | <ncf> | but 2^n isn't O(n log n) |
| 20:04:07 | <int-e> | it's a different n |
| 20:04:12 | <ncf> | oh |
| 20:04:46 | <jade[m]> | okay, asked differently - what would be the sensible thing to put in the docs for subsequences? |
| 20:06:14 | → | reach_ joins (~reach@2605:8d80:681:90e7:f13b:3acf:b234:3b1e) |
| 20:07:27 | <int-e> | Well it's a question of attribution. |
| 20:08:01 | <int-e> | I'd attribute O(n) time to `take n . subsequences`, even though the unfolded result is O(n log(n)) in size. |
| 20:08:23 | × | misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 264 seconds) |
| 20:08:34 | <int-e> | (assuming the input list is longer than log_2(n)) |
| 20:09:14 | <darchitect> | hey guys, are there toools to measure the time complexity of a given function in Haskell ? |
| 20:11:14 | <int-e> | jade[m]: for documentation... it seems best to mention both? |
| 20:12:38 | <jade[m]> | sounds about right, thank you |
| 20:17:25 | → | reach__ joins (~reach@bras-base-toroon2643w-grc-02-142-198-51-47.dsl.bell.ca) |
| 20:17:25 | × | reach_ quits (~reach@2605:8d80:681:90e7:f13b:3acf:b234:3b1e) (Read error: Connection reset by peer) |
| 20:18:54 | → | misterfish joins (~misterfis@84-53-85-146.bbserv.nl) |
| 20:20:54 | × | dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 260 seconds) |
| 20:20:59 | × | kilolympus quits (~kilolympu@cpc105064-sgyl40-2-0-cust46.18-2.cable.virginm.net) (Read error: Connection reset by peer) |
| 20:21:37 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 245 seconds) |
| 20:23:22 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 20:25:42 | → | diomacs^ joins (~cd@24.125.210.85) |
| 20:26:17 | → | Inst joins (~Inst@c-76-101-10-131.hsd1.fl.comcast.net) |
| 20:26:32 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 20:27:54 | × | Inst_ quits (~Inst@2601:6c4:4081:2fc0:1cc8:47b:7c0e:fa36) (Ping timeout: 260 seconds) |
| 20:30:51 | × | reach__ quits (~reach@bras-base-toroon2643w-grc-02-142-198-51-47.dsl.bell.ca) (Ping timeout: 260 seconds) |
| 20:32:23 | × | Inst quits (~Inst@c-76-101-10-131.hsd1.fl.comcast.net) (Ping timeout: 264 seconds) |
| 20:34:26 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 20:36:43 | → | hgolden joins (~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com) |
| 20:40:22 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Remote host closed the connection) |
| 20:40:57 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 20:46:21 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 20:46:26 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 20:46:54 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 20:47:09 | × | YuutaW quits (~YuutaW@mail.yuuta.moe) (Ping timeout: 260 seconds) |
| 20:50:32 | × | Guest5267 quits (~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 20:56:03 | × | idgaen quits (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2) |
| 20:56:28 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 20:58:56 | × | coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
| 20:59:25 | → | captnemo joins (~captnemo@193.32.127.239) |
| 20:59:57 | × | captnemo quits (~captnemo@193.32.127.239) (Client Quit) |
| 21:00:05 | → | libertyprime joins (~libertypr@203.96.203.44) |
| 21:11:48 | → | ubert1 joins (~Thunderbi@77.119.169.110.wireless.dyn.drei.com) |
| 21:12:27 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 21:12:31 | × | ubert quits (~Thunderbi@77.119.196.161.wireless.dyn.drei.com) (Ping timeout: 245 seconds) |
| 21:12:32 | ubert1 | is now known as ubert |
| 21:16:57 | × | acidjnk quits (~acidjnk@p200300d6e7072f97b0b55b7471c26b47.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 21:18:11 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:21:27 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 21:22:46 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 260 seconds) |
| 21:23:39 | → | acidjnk joins (~acidjnk@p200300d6e7072f9765319e81e1cbf416.dip0.t-ipconnect.de) |
| 21:26:17 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
| 21:29:41 | → | Qudit joins (~user@user/Qudit) |
| 21:39:09 | → | dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
| 21:43:23 | × | migas quits (~migas@astra4961.startdedicated.net) (Read error: Connection reset by peer) |
| 21:43:36 | → | migas joins (~migas@astra4961.startdedicated.net) |
| 21:50:03 | → | arahael_ joins (~arahael@124-149-31-4.dyn.iinet.net.au) |
| 21:50:59 | × | misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 264 seconds) |
| 21:54:49 | × | arahael_ quits (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 260 seconds) |
| 21:54:57 | × | dtman34 quits (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) (Ping timeout: 245 seconds) |
| 22:02:32 | × | acidjnk quits (~acidjnk@p200300d6e7072f9765319e81e1cbf416.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 22:06:56 | → | arahael_ joins (~arahael@124-149-31-4.dyn.iinet.net.au) |
| 22:08:05 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Quit: Lost terminal) |
| 22:08:32 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 22:10:44 | → | captnemo joins (~captnemo@193.32.127.239) |
| 22:10:57 | × | michalz quits (~michalz@185.246.207.218) (Remote host closed the connection) |
| 22:12:47 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 22:12:47 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 22:12:47 | finn_elija | is now known as FinnElija |
| 22:13:40 | → | dtman34 joins (~dtman34@2601:447:d000:93c9:c692:9cde:8ac4:59a8) |
| 22:14:41 | × | arahael_ quits (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 260 seconds) |
| 22:14:45 | × | captnemo quits (~captnemo@193.32.127.239) (Client Quit) |
| 22:20:07 | → | yaroot_ joins (~yaroot@2400:4052:ac0:d900:1cf4:2aff:fe51:c04c) |
| 22:20:52 | × | yaroot quits (~yaroot@p3269141-ipngn2701souka.saitama.ocn.ne.jp) (Ping timeout: 250 seconds) |
| 22:20:52 | yaroot_ | is now known as yaroot |
| 22:24:13 | → | komikat` joins (~user@218.185.248.66) |
| 22:24:47 | × | ubert quits (~Thunderbi@77.119.169.110.wireless.dyn.drei.com) (Ping timeout: 244 seconds) |
| 22:25:41 | × | komikat quits (~user@218.185.248.66) (Read error: Connection reset by peer) |
| 22:28:52 | → | Guest667 joins (~lol@6.sub-174-215-146.myvzw.com) |
| 22:31:58 | → | Inst joins (~Inst@2601:6c4:4081:2fc0:81e3:495a:25c7:6863) |
| 22:33:20 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 22:36:57 | → | slack1256 joins (~slack1256@186.11.61.14) |
| 22:38:37 | × | mncheckm quits (~mncheck@193.224.205.254) (Ping timeout: 260 seconds) |
| 22:43:21 | → | Guest6443 joins (~lol@211.sub-174-215-144.myvzw.com) |
| 22:44:07 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 22:44:07 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 22:44:07 | finn_elija | is now known as FinnElija |
| 22:45:14 | × | Guest6443 quits (~lol@211.sub-174-215-144.myvzw.com) (Excess Flood) |
| 22:46:47 | × | Guest667 quits (~lol@6.sub-174-215-146.myvzw.com) (Ping timeout: 260 seconds) |
| 22:51:20 | × | emid quits (~thales@191.180.21.148) (Ping timeout: 258 seconds) |
| 22:52:06 | × | Qudit quits (~user@user/Qudit) (Remote host closed the connection) |
| 22:52:07 | <ncf> | is there really no way to make a simple argmin :: Ord a => [a] -> Int based on an indexed traversal or am i being silly |
| 22:53:51 | <ncf> | like why isn't there an iminimumOf |
| 22:54:32 | <ncf> | ah, backlog https://github.com/ekmett/lens/pull/613 |
| 22:55:38 | → | Qudit joins (~user@user/Qudit) |
| 22:59:36 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 260 seconds) |
| 23:00:51 | × | gurkenglas quits (~gurkengla@dynamic-046-114-093-023.46.114.pool.telefonica.de) (Ping timeout: 245 seconds) |
| 23:02:51 | <hpc> | ncf: try zipping the list with [0..] |
| 23:03:40 | <hpc> | oh, you need it lensey |
| 23:04:14 | × | dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 260 seconds) |
| 23:04:16 | <ncf> | no need, just want |
| 23:09:41 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 23:09:41 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 23:09:41 | finn_elija | is now known as FinnElija |
| 23:13:55 | × | glguy quits (~glguy@libera/staff-emeritus/glguy) (Quit: Quit) |
| 23:16:13 | → | glguy joins (~glguy@libera/staff-emeritus/glguy) |
| 23:27:17 | → | mauke_ joins (~mauke@user/mauke) |
| 23:28:54 | × | mauke quits (~mauke@user/mauke) (Ping timeout: 258 seconds) |
| 23:28:54 | mauke_ | is now known as mauke |
| 23:35:16 | → | arahael_ joins (~arahael@124-149-31-4.dyn.iinet.net.au) |
| 23:39:42 | × | arahael_ quits (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 244 seconds) |
| 23:44:29 | → | notzmv joins (~zmv@user/notzmv) |
| 23:57:39 | → | jero98772 joins (~jero98772@2800:484:1d7f:5d36::1) |
All times are in UTC on 2023-07-26.