Home liberachat/#haskell: Logs Calendar

Logs on 2024-07-31 (liberachat/#haskell)

00:10:59 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds)
00:11:38 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
00:19:32 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
00:22:48 raehik joins (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
00:28:24 tt1231097832 joins (~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee)
00:29:51 × tt123109783 quits (~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee) (Ping timeout: 252 seconds)
00:29:53 tt1231097832 is now known as tt123109783
00:35:31 × wryish quits (~wryish@2605:4c40:119:efa3:0:727d:19eb:1) (Ping timeout: 264 seconds)
00:36:37 <Axman6> raehik: RE: using Integer, remember that Integer is defined as something like data Integer = Small !Int | Large !Sign !Natural, so for 99% of cases you will be using an Int (this is one of the things that's lead to Haskell implementations of the functions found in GMP being faster in many cases, because there's much less bookkeeping)
00:43:19 × CrunchyFlakes quits (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
00:43:47 × tomku quits (~tomku@user/tomku) (Ping timeout: 255 seconds)
00:44:00 tomku joins (~tomku@user/tomku)
00:44:14 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
00:44:49 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds)
00:44:58 euleritian joins (~euleritia@dynamic-176-006-133-039.176.6.pool.telefonica.de)
00:45:51 CrunchyFlakes joins (~CrunchyFl@146.52.130.128)
00:48:16 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 252 seconds)
00:49:03 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
00:49:11 wryish joins (~wryish@2605:4c40:119:efa3:0:727d:19eb:1)
00:52:07 × sp1ff quits (~user@c-73-11-70-111.hsd1.wa.comcast.net) (Read error: Connection reset by peer)
00:52:22 sp1ff joins (~user@c-73-11-70-111.hsd1.wa.comcast.net)
00:56:41 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 265 seconds)
00:57:26 ddellacosta joins (~ddellacos@ool-44c73d29.dyn.optonline.net)
00:59:24 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
01:04:02 × pointlessslippe1 quits (~pointless@212.82.82.3) (Ping timeout: 255 seconds)
01:05:27 pointlessslippe1 joins (~pointless@212.82.82.3)
01:11:59 JuanDaugherty joins (~juan@user/JuanDaugherty)
01:12:18 × machinedgod quits (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 276 seconds)
01:12:38 × ystael quits (~ystael@user/ystael) (Ping timeout: 265 seconds)
01:24:55 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
01:25:04 <raehik> Axman6: yeah thanks, that's something I know but haven't rly internalized
01:30:20 <c_wraith> Unlike Int, though, Integer doesn't unpack into registers nicely with good use patterns
01:30:54 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 260 seconds)
01:32:00 × raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 252 seconds)
01:32:37 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
01:38:52 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 252 seconds)
01:40:31 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
01:48:08 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 255 seconds)
01:48:40 skyesoss joins (~Thunderbi@c-73-208-45-119.hsd1.il.comcast.net)
01:55:14 × xff0x quits (~xff0x@2405:6580:b080:900:9e38:497d:6793:e966) (Ping timeout: 272 seconds)
02:01:22 <Axman6> Not that that's going to matter much in the context of file IO
02:03:00 × ddellacosta quits (~ddellacos@ool-44c73d29.dyn.optonline.net) (Ping timeout: 276 seconds)
02:04:30 ddellacosta joins (~ddellacos@ool-44c73d29.dyn.optonline.net)
02:08:33 × nadja quits (~dequbed@banana-new.kilobyte22.de) (Ping timeout: 252 seconds)
02:08:49 × td_ quits (~td@i53870934.versanet.de) (Ping timeout: 260 seconds)
02:08:51 nadja joins (~dequbed@banana-new.kilobyte22.de)
02:10:15 td_ joins (~td@i53870916.versanet.de)
02:14:44 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
02:22:09 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds)
02:25:31 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 260 seconds)
02:30:29 segfaultfizzbuzz joins (~segfaultf@23-93-79-84.fiber.dynamic.sonic.net)
02:30:55 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 252 seconds)
02:43:32 × terrorjack quits (~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat)
02:44:46 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
02:45:49 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
02:46:22 terrorjack joins (~terrorjac@2a01:4f8:c17:87f8::)
02:51:01 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 248 seconds)
02:52:25 spew joins (~spew@201.141.102.132)
02:54:17 spew_ joins (~spew@201.141.102.132)
02:55:15 × spew quits (~spew@201.141.102.132) (Killed (NickServ (GHOST command used by spew_)))
02:55:21 spew_ is now known as spew
03:04:50 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
03:07:35 × segfaultfizzbuzz quits (~segfaultf@23-93-79-84.fiber.dynamic.sonic.net) (Remote host closed the connection)
03:10:10 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
03:10:54 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 252 seconds)
03:12:21 × aforemny_ quits (~aforemny@2001:9e8:6cfe:4d00:6761:b6ac:73fc:a888) (Ping timeout: 252 seconds)
03:12:45 aforemny joins (~aforemny@2001:9e8:6ce0:2100:2fa7:a1ac:c8c:437)
03:14:28 × hayk quits (~hayk@141.136.90.108) (Quit: hayk)
03:14:31 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
03:17:08 × tabaqui quits (~root@87.200.123.114) (Ping timeout: 252 seconds)
03:21:09 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 260 seconds)
03:21:11 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
03:29:00 × JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
03:32:05 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds)
03:36:33 × dolio quits (~dolio@130.44.140.168) (Quit: ZNC 1.8.2 - https://znc.in)
03:40:00 dolio joins (~dolio@130.44.140.168)
03:44:48 × dolio quits (~dolio@130.44.140.168) (Client Quit)
03:46:37 hayk joins (~hayk@141.136.90.108)
03:47:37 danse-nr3 joins (~danse-nr3@user/danse-nr3)
03:49:58 dolio joins (~dolio@130.44.140.168)
03:51:11 × hayk quits (~hayk@141.136.90.108) (Quit: hayk)
03:52:49 × tt123109783 quits (~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee) (Ping timeout: 248 seconds)
04:01:17 × spew quits (~spew@201.141.102.132) (Read error: Connection reset by peer)
04:06:14 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
04:08:44 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
04:13:46 spew joins (~spew@201.141.102.132)
04:14:49 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 260 seconds)
04:16:09 × spew quits (~spew@201.141.102.132) (Client Quit)
04:30:02 × euleritian quits (~euleritia@dynamic-176-006-133-039.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
04:30:19 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
04:37:02 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
04:37:23 Sgeo joins (~Sgeo@user/sgeo)
04:56:53 × tomku quits (~tomku@user/tomku) (Ping timeout: 248 seconds)
04:57:07 tomku joins (~tomku@user/tomku)
05:02:22 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
05:16:30 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
05:25:09 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 276 seconds)
05:30:04 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
05:44:07 Kryder joins (~Kryder@90.201.223.82)
05:53:20 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
05:53:36 euleritian joins (~euleritia@dynamic-176-006-141-095.176.6.pool.telefonica.de)
05:56:52 × danse-nr3 quits (~danse-nr3@user/danse-nr3) (Quit: on the move)
05:57:48 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:06:08 CiaoSen joins (~Jura@2a05:5800:2d3:d800:e6b9:7aff:fe80:3d03)
06:15:21 × euleritian quits (~euleritia@dynamic-176-006-141-095.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
06:16:31 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
06:17:44 yobson_ joins (~yobson@mail.jotron.com)
06:18:34 euleritian joins (~euleritia@dynamic-176-006-141-095.176.6.pool.telefonica.de)
06:22:16 × todi quits (~todi@p57803331.dip0.t-ipconnect.de) (Quit: ZNC - https://znc.in)
06:23:59 todi joins (~todi@p57803331.dip0.t-ipconnect.de)
06:24:36 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 252 seconds)
06:26:59 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
06:42:30 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
06:45:08 acidjnk joins (~acidjnk@p200300d6e72cfb37989a4326b80d30bf.dip0.t-ipconnect.de)
06:47:26 michalz joins (~michalz@185.246.207.203)
06:49:02 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 265 seconds)
06:50:05 × skyesoss quits (~Thunderbi@c-73-208-45-119.hsd1.il.comcast.net) (Ping timeout: 255 seconds)
07:06:09 machinedgod joins (~machinedg@d173-183-246-216.abhsia.telus.net)
07:06:31 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
07:10:17 × vgtw quits (~vgtw@user/vgtw) (Quit: ZNC - https://znc.in)
07:14:58 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 248 seconds)
07:16:30 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
07:19:27 misterfish joins (~misterfis@84.53.85.146)
07:20:46 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
07:21:12 pieguy128_ joins (~pieguy128@65.93.192.80)
07:21:15 × pieguy128 quits (~pieguy128@bras-base-mtrlpq5031w-grc-45-67-70-24-166.dsl.bell.ca) (Ping timeout: 252 seconds)
07:22:29 danse-nr3 joins (~danse-nr3@user/danse-nr3)
07:25:11 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 255 seconds)
07:25:41 × MadeleineSydney quits (~Thunderbi@c-71-229-185-228.hsd1.co.comcast.net) (Remote host closed the connection)
07:29:16 × euleritian quits (~euleritia@dynamic-176-006-141-095.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
07:30:02 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
07:37:41 oneeyedalien joins (~oneeyedal@user/oneeyedalien)
07:37:44 × oneeyedalien quits (~oneeyedal@user/oneeyedalien) (Max SendQ exceeded)
07:38:24 alexherbo2 joins (~alexherbo@2a02-8440-3218-c520-d177-6cba-1578-0ee5.rev.sfr.net)
07:38:57 oneeyedalien joins (~oneeyedal@user/oneeyedalien)
07:39:02 × oneeyedalien quits (~oneeyedal@user/oneeyedalien) (Max SendQ exceeded)
07:40:19 john2 joins (~john@203.94.52.182)
07:41:19 × john2 quits (~john@203.94.52.182) (Quit: WeeChat 4.0.5)
07:43:03 danse-118 joins (~danse-nr3@user/danse-nr3)
07:43:21 john2 joins (~john@2406:5a00:241a:5600:28be:5350:975b:80b7)
07:43:23 × danse-nr3 quits (~danse-nr3@user/danse-nr3) (Read error: Connection reset by peer)
07:44:04 × john2 quits (~john@2406:5a00:241a:5600:28be:5350:975b:80b7) (Client Quit)
07:50:45 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
07:55:31 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 244 seconds)
07:56:11 JuanDaugherty joins (~juan@user/JuanDaugherty)
08:02:45 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
08:05:42 <kuribas> sbcl lisp automatically does upscaling of integers, so they are small integer by default, but are converted to big integer on overflow.
08:05:59 <kuribas> It's quite performant. But I think ghc doesn't do that.
08:07:12 <Hecate> nor should it, because the behaviour is also quite different with check arithmetic
08:07:17 <Hecate> *checked
08:08:39 chele joins (~chele@user/chele)
08:09:07 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 264 seconds)
08:09:47 <kuribas> I mean, Integer could do something like that to make it more efficient when the values are small.
08:11:31 <kuribas> Rather than always dispatching to GMP, to have special logic and generate optimal assembly.
08:12:31 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
08:13:48 <kuribas> In which case you would only need Int in an inner loop, where it really matters.
08:15:43 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
08:16:41 × ft quits (~ft@p3e9bc4e7.dip0.t-ipconnect.de) (Quit: leaving)
08:16:58 <kuribas> I used to be sceptical, but some testing shows that SBCL is similar to GHC in performance (with explicit annotations).
08:18:54 <JuanDaugherty> it's the default free lisp but you can't rely on just it
08:19:19 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 264 seconds)
08:20:02 <JuanDaugherty> a lot of stuff the compiles uncomplainingly in ACL, LW or whatever wont even in sbcl
08:20:11 <JuanDaugherty> *that compiles
08:20:36 <JuanDaugherty> cl is not like hs in this regard
08:21:52 <JuanDaugherty> insofar as one overdominating implementation
08:22:23 <kuribas> What do you mean? SBCL should be compliant with the clisp spec. But different lisp flavours have often incompatible features.
08:22:26 <kuribas> Like scheme.
08:22:31 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
08:22:57 <JuanDaugherty> the cl spec is a moving target
08:23:29 <JuanDaugherty> i used cmucl until it forked into sbcl
08:24:05 <JuanDaugherty> youd think it would converge to basically unchanging thing but somehow that isnt the case
08:24:24 <JuanDaugherty> after almost 20 y
08:25:13 <JuanDaugherty> it's my default cl, still not same situation as with ghc
08:25:32 <kuribas> Well, I dont' care that much about CLISP, other than being a nice historical artifact. I used to work in a codebases that was full of undocumented DSLs and macros, pretty hard to get into for anyone but the guy who wrote it.
08:25:56 <JuanDaugherty> you've confused clisp
08:26:15 <JuanDaugherty> it's a different lineage and isnt a spec or the basis of one
08:26:34 <kuribas> common-lisp
08:26:41 <kuribas> the language, not the implementation.
08:27:20 cfricke joins (~cfricke@user/cfricke)
08:27:20 <JuanDaugherty> ok, cl, common lisp would be the usage, for the obvious reason of collision with the implementation
08:27:40 <JuanDaugherty> the spec is ansi lisp
08:27:50 <kuribas> Well, this software was basically its own language on top of lisp.
08:28:21 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
08:29:12 <danse-118> to be fair also haskell can get quite far with undocumented stuff. And if you argue that types are documentation by themselves, one could reply any implementation is
08:30:23 <kuribas> Yeah, I find haskell is more restistant to making large undocumented programs. Lisp makes it easy.
08:30:26 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 255 seconds)
08:30:50 <danse-118> i just argued the opposite
08:31:25 <kuribas> I rather take an undocumented haskell program than an undocumented lisp (or other dynamic language) one.
08:31:59 <danse-118> can agree with that, but it's quite subjective
08:32:04 × danse-118 quits (~danse-nr3@user/danse-nr3) (Quit: on the move)
08:32:21 × Square3 quits (~Square4@user/square) (Ping timeout: 276 seconds)
08:32:34 <kuribas> I find that in dynamic languages, people don't try to understand the code, they just run it in the REPL or in the debugger, and try to see how it behaves.
08:32:46 <kuribas> It's a different philosophy.
08:33:15 <Franciman> it's the same in haskell
08:33:32 <Franciman> but in haskell it is much harder to get the code to execute lol
08:33:55 <Lears> People (including myself) do a variant of that in Haskell to. I often just write the simplest code that I know will compile, and write the next-simplest compiling program if the previous didn't do what I wanted.
08:34:03 <Lears> too*
08:34:41 <kuribas> I prefer modular code, where the types give already a lot of information.
08:36:20 <kuribas> But true, lispy languages have the best REPLs.
08:36:57 Square3 joins (~Square4@user/square)
08:38:04 <kuribas> Lears: I find writing new code with a dynamic language, reasonably easy. It gets hard when you need to refactor or change existing code. Especially when you didn't write it.
08:39:25 <kuribas> Lears: I really enjoy typed hole driven programming. I don't even have to write the whole program, just leave parts as holes that are boring but tedious.
08:39:46 <kuribas> I only fill it when I am happy with the structure.
08:41:46 <kuribas> It's just a different style of programming.
08:42:17 <kuribas> In lisp or (dynamic) python, you write your code and as you write it test in the REPL or use unit tests.
08:43:02 <kuribas> As in haskell, I write is much as I can, then do a small test in the REPL (or some unit tests if it the logic is complicated).
08:44:07 JuanDaugherty ftr: https://en.wikipedia.org/wiki/CLISP not to be confused with the lineage of cl that descends from kyoto lisp, the c based lisps as a genre
08:44:30 <kuribas> right
08:45:02 × Square3 quits (~Square4@user/square) (Ping timeout: 265 seconds)
08:45:12 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
08:45:40 john2 joins (~john@2406:5a00:241a:5600:bd8e:6941:a113:3361)
08:46:09 Guest|36 joins (~Guest|36@103.200.86.240)
08:46:19 × Guest|36 quits (~Guest|36@103.200.86.240) (Client Quit)
08:46:34 <kuribas> I think that the need for full unit test coverage on what is mostly CRUD and light data processing, just comes from the frailty of dynamic languages.
08:47:27 <kuribas> For example, in clojure I can have a typo that changes the logic, but may not even trigger a runtime error.
08:47:48 <kuribas> like (:foo_bar mydata), instead of (:foo-bar mydata).
08:48:08 <kuribas> If the first field doesn't exist, it will always return nil.
08:49:01 danse-nr3 joins (~danse-nr3@user/danse-nr3)
08:49:38 <kuribas> I had weird and confusing error messages from misplacing a paren.
08:51:27 <lisbeths> do you folks know if the z combinator works in python?
08:53:21 <kuribas> lisbeths: why wouldn't it?
08:53:47 <lisbeths> I am trying to implement factorial in pure lambda calculus in python but I keep reaching the recursion limit on even the lowest integer input
08:54:10 <danse-nr3> maybe there is some library for trampoline
08:54:12 <kuribas> right, python and recursion don't go so well together.
08:54:21 × JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
08:54:31 <danse-nr3> https://pypi.org/project/trampoline/
08:54:40 <kuribas> > Increasing the recursion limit: Python has a default maximum recursion depth of 1000. If a function exceeds this limit, it can be increased using the sys. setrecursionlimit(n) function
08:54:42 <lambdabot> <hint>:1:46: error: parse error on input ‘default’
08:55:29 <kuribas> https://docs.python.org/3/library/sys.html#sys.setrecursionlimit
08:56:12 <danse-nr3> increasing the limit may not be a great idea if they keep pushing on the stack
08:56:45 <kuribas> This is not production code, right?
08:57:18 john2 is now known as synchromesh
08:57:30 <kuribas> You could write an interpreter in python that doesn't use the stack for recursion.
08:57:47 <danse-nr3> i mean what's wrong with the link above kuribas?
08:58:08 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
08:59:12 <kuribas> danse-nr3: nothing, I haven't looked at it...
08:59:19 euleritian joins (~euleritia@dynamic-176-006-141-095.176.6.pool.telefonica.de)
08:59:45 <kuribas> but yeah, something like that.
09:01:39 skyesoss joins (~Thunderbi@c-73-208-45-119.hsd1.il.comcast.net)
09:07:16 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
09:07:53 × skyesoss quits (~Thunderbi@c-73-208-45-119.hsd1.il.comcast.net) (Ping timeout: 245 seconds)
09:08:07 × euleritian quits (~euleritia@dynamic-176-006-141-095.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
09:08:16 <bwe> newtype Decimal' = Decimal -- I am defining Decimal' to define instances for Decimal; however it requires some argument, why?
09:08:25 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
09:08:51 <kuribas> newtypes are wrappers, here you don't wrap anything.
09:09:05 <kuribas> wrappers at type level, and runtime there is no wrapping.
09:09:19 <bwe> my issue is if I do `newtype Decimal' a = Decimal a`, I need to supply `a` which I don't have.
09:09:31 <kuribas> bwe: maybe you want "newtype Decimal' = Decimal' Decimal"?
09:11:36 <danse-nr3> :t Decimal
09:11:37 <lambdabot> error:
09:11:37 <lambdabot> • Data constructor not in scope: Decimal
09:11:38 <lambdabot> • Perhaps you meant variable ‘decimal’ (imported from Numeric.Lens)
09:12:00 <danse-nr3> hoogle Decimal
09:12:23 <danse-nr3> uff i'd better not
09:16:06 <lisbeths> if I was to take arbitrary lambda expressions and write a compiler that compiled from those lambda expressions to some assembly language, is there a strategy to do that and it would it have any advantage over interpreted lambdas?
09:16:22 <lisbeths> If you are talking about any arbitrary lambda I am not sure it actually (can) be compiled
09:16:30 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
09:16:42 zetef joins (~quassel@2a02:2f00:5202:1200:3fa2:e908:b522:fa2f)
09:16:45 × zetef quits (~quassel@2a02:2f00:5202:1200:3fa2:e908:b522:fa2f) (Client Quit)
09:19:13 __monty__ joins (~toonn@user/toonn)
09:20:03 <bwe> kuribas: that's actually what I want
09:21:21 <kuribas> lisbeths: sure, you could generate python AST, and then use numba to make optimal assembly. But at that point, is python really the right language?
09:21:47 <lisbeths> well the python people are telling me I should not use python to encode the lambdas
09:22:13 <kuribas> lisbeths: but what is the goal, is this just a toy interpreter?
09:22:28 <lisbeths> I am trying to develop an easieness oriented programming language
09:23:09 <kuribas> well, you're on #haskell, I'd say haskell is the better language to make an interpreter or compiler.
09:23:30 <kuribas> First make an interpreter for your language so you know it works, and you can adjust the semantics.
09:23:45 <kuribas> Write an optimal compiler when you're happy with it.
09:24:02 <kuribas> And when your user base > 1 :)
09:25:19 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 264 seconds)
09:25:27 <kuribas> lisbeths: but focus first on designing your language, have a working prototype that can get people interested.
09:26:21 <kuribas> lisbeths: python is already slow and interpreted. If you write another interpreter in it, it will be slow squared.
09:26:58 <Lears> Ultra-hack: secretly transpile your simple language into Haskell and invoke ghc
09:27:06 <lisbeths> the design of the language is complete
09:27:14 <lisbeths> making the an interpreter for it isnt an issue
09:27:22 <lisbeths> it is the idea of compiling a lambda that confuses me
09:27:54 <kuribas> lisbeths: you have a working interpreter?
09:28:17 <lisbeths> yes in python but the z combinator doesnt work on it
09:28:55 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 252 seconds)
09:29:14 <kuribas> yeah, what Leary says :)
09:30:27 <lisbeths> unfortunately ghc is too large for what I want
09:30:34 <lisbeths> thanks though I think my questions ahve been answered
09:30:48 <kuribas> lisbeths: you don't need to ship GHC
09:30:58 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
09:31:06 <lisbeths> perhaps not
09:31:10 <kuribas> If you write an interpreter, chances are the executable is smaller than the python executable.
09:31:26 <kuribas> You could put it in a docker image.
09:32:23 <lisbeths> I think I'm gonna use binary lambda calculus as the interpreter
09:37:27 <kuribas> I would just increase recursion depth and don't worry about it.
09:37:58 <kuribas> Worry about efficiency when your language has adopters.
09:39:40 <lisbeths> the python folks have assured me it isnt good to do deep lambdas in python so I have given up on that
09:40:39 <lisbeths> my target has got to be a very memory and filesize efficient binary that takes a lambda from stdin, interprets it, and prints the result ot stdout, kind of like binary lambda calculus or sector lisp. but haskell could do that too
09:40:57 <lisbeths> has to be under 1 meg
09:41:21 <kuribas> Yeah, if the goal is efficiency, then forget Python.
09:41:40 <lisbeths> the goal is not efficiency in terms of speed performance
09:41:49 <kuribas> memory?
09:41:59 gehmehgeh joins (~user@user/gehmehgeh)
09:42:14 <lisbeths> if we get into my design constraints its gonna be a very long off topic discussion
09:42:24 gehmehgeh is now known as gmg
09:42:44 <lisbeths> ideally it will be under 64 kilobytes in filesize
09:42:46 <kuribas> lisbeths: yeah :) You should pick what are the most familiar with. But you are in #haskell, so I would assume you are familiar with haskell?
09:42:57 <lisbeths> sorry my original question was about lambdas
09:43:14 <kuribas> lisbeths: In that case neither Python nor haskell. Maybe C or rust?
09:43:54 <lisbeths> I am envisioning a kind of a SIMD in fortran :)
09:44:18 oneeyedalien joins (~oneeyedal@user/oneeyedalien)
09:44:20 <kuribas> SIMD isn't going to help a lot with lambda calculus.
09:44:25 <lisbeths> y
09:45:23 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds)
09:46:10 euleritian joins (~euleritia@dynamic-176-006-141-095.176.6.pool.telefonica.de)
09:46:31 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
09:51:55 <kuribas> lisbeths: https://github.com/catseye/minischeme (52kb)
09:52:27 <lisbeths> ty I will review that
09:54:29 hljhcjwzzh joins (~anton@m90-131-33-112.cust.tele2.lt)
09:54:58 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 252 seconds)
09:55:56 <kuribas> lisbeths: this one is 47k (stripped) https://github.com/jiribenes/scheme
09:56:18 <lisbeths> one constraint is I need it to be able to fill its memory container
09:56:49 <kuribas> What does that mean?
09:57:08 × oneeyedalien quits (~oneeyedal@user/oneeyedalien) (Quit: Leaving)
09:57:27 <lisbeths> I want to use 64 terrabytes of swap for lambdas if the user asks for it
09:58:18 <kuribas> You have to try it.
09:59:43 <kuribas> But these requirements are quite wild. Who makes them?
10:00:19 × alexherbo2 quits (~alexherbo@2a02-8440-3218-c520-d177-6cba-1578-0ee5.rev.sfr.net) (Remote host closed the connection)
10:00:44 <lisbeths> These design constraints are decided by a committee of 1
10:01:03 alexherbo2 joins (~alexherbo@2a02-8440-3218-c520-d177-6cba-1578-0ee5.rev.sfr.net)
10:08:10 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 252 seconds)
10:09:15 <kuribas> In that case I would try to find some harder constraints to make your life a pain ;-)
10:15:06 skyesoss joins (~Thunderbi@c-73-208-45-119.hsd1.il.comcast.net)
10:15:54 × CiaoSen quits (~Jura@2a05:5800:2d3:d800:e6b9:7aff:fe80:3d03) (Ping timeout: 260 seconds)
10:18:31 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
10:19:24 × skyesoss quits (~Thunderbi@c-73-208-45-119.hsd1.il.comcast.net) (Ping timeout: 260 seconds)
10:21:08 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2)
10:32:44 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 252 seconds)
10:46:35 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
10:46:45 Guest|71 joins (~Guest|71@88-165-143-97.subs.proxad.net)
10:54:50 lucyy joins (228ee8f0ce@user/lucyy)
10:55:31 ZharMeny joins (~user@user/ZharMeny)
10:56:05 xff0x joins (~xff0x@2405:6580:b080:900:bf97:1fa8:4185:9e6)
10:56:56 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 252 seconds)
11:00:17 CiaoSen joins (~Jura@2a05:5800:2d3:d800:e6b9:7aff:fe80:3d03)
11:00:25 tabaqui joins (~root@87.200.123.114)
11:00:32 × Guest|71 quits (~Guest|71@88-165-143-97.subs.proxad.net) (Quit: Connection closed)
11:07:52 × danse-nr3 quits (~danse-nr3@user/danse-nr3) (Quit: lunch time)
11:08:07 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
11:16:35 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
11:23:18 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 276 seconds)
11:32:12 × tabaqui quits (~root@87.200.123.114) (Ping timeout: 272 seconds)
11:34:28 × hljhcjwzzh quits (~anton@m90-131-33-112.cust.tele2.lt) (Read error: Connection reset by peer)
11:36:37 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
11:39:03 hljhcjwzzh joins (~anton@m90-131-45-211.cust.tele2.lt)
11:41:38 kuribas` joins (~user@d51529C17.access.telenet.be)
11:42:30 × kuribas quits (~user@ptr-17d51emnm92g51m299m.18120a2.ip6.access.telenet.be) (Ping timeout: 252 seconds)
11:45:11 hayk joins (~hayk@141.136.90.108)
11:45:15 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 252 seconds)
11:52:24 × hljhcjwzzh quits (~anton@m90-131-45-211.cust.tele2.lt) (Ping timeout: 252 seconds)
12:03:18 × euleritian quits (~euleritia@dynamic-176-006-141-095.176.6.pool.telefonica.de) (Ping timeout: 252 seconds)
12:07:41 × ddellacosta quits (~ddellacos@ool-44c73d29.dyn.optonline.net) (Ping timeout: 252 seconds)
12:12:30 × alexherbo2 quits (~alexherbo@2a02-8440-3218-c520-d177-6cba-1578-0ee5.rev.sfr.net) (Remote host closed the connection)
12:17:58 × yobson_ quits (~yobson@mail.jotron.com) (Quit: Leaving...)
12:20:23 alexherbo2 joins (~alexherbo@2a02-8440-330e-0e0a-60e8-33b1-b3f8-3bce.rev.sfr.net)
12:26:30 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
12:27:35 × hayk quits (~hayk@141.136.90.108) (Ping timeout: 255 seconds)
12:31:47 hayk joins (~hayk@141.136.90.108)
12:33:36 danse-nr3 joins (~danse-nr3@user/danse-nr3)
12:36:45 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
12:45:12 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 252 seconds)
12:46:44 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
12:53:06 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 248 seconds)
12:54:39 × hayk quits (~hayk@141.136.90.108) (Quit: hayk)
12:56:25 euleritian joins (~euleritia@dynamic-176-000-161-036.176.0.pool.telefonica.de)
12:59:01 hayk joins (~hayk@141.136.90.108)
13:03:19 × euleritian quits (~euleritia@dynamic-176-000-161-036.176.0.pool.telefonica.de) (Ping timeout: 260 seconds)
13:03:21 califax_ joins (~califax@user/califx)
13:03:30 euleritian joins (~euleritia@dynamic-176-002-077-099.176.2.pool.telefonica.de)
13:03:41 × califax quits (~califax@user/califx) (Ping timeout: 260 seconds)
13:03:50 JuanDaugherty joins (~juan@user/JuanDaugherty)
13:04:38 califax_ is now known as califax
13:06:07 × CiaoSen quits (~Jura@2a05:5800:2d3:d800:e6b9:7aff:fe80:3d03) (Ping timeout: 264 seconds)
13:17:38 × euleritian quits (~euleritia@dynamic-176-002-077-099.176.2.pool.telefonica.de) (Ping timeout: 265 seconds)
13:18:32 euleritian joins (~euleritia@dynamic-176-004-145-017.176.4.pool.telefonica.de)
13:37:18 × alexherbo2 quits (~alexherbo@2a02-8440-330e-0e0a-60e8-33b1-b3f8-3bce.rev.sfr.net) (Remote host closed the connection)
13:43:01 × danse-nr3 quits (~danse-nr3@user/danse-nr3) ()
13:48:26 × euleritian quits (~euleritia@dynamic-176-004-145-017.176.4.pool.telefonica.de) (Read error: Connection reset by peer)
13:48:44 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
13:51:37 segfaultfizzbuzz joins (~segfaultf@23-93-79-84.fiber.dynamic.sonic.net)
13:51:58 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
13:57:21 falafel joins (~falafel@2a0c:5a84:e301:4d01::5c13)
13:59:29 alexherbo2 joins (~alexherbo@2a02-8440-330e-0e0a-60e8-33b1-b3f8-3bce.rev.sfr.net)
14:02:45 × nate_b quits (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) (Ping timeout: 252 seconds)
14:05:11 × alexherbo2 quits (~alexherbo@2a02-8440-330e-0e0a-60e8-33b1-b3f8-3bce.rev.sfr.net) (Remote host closed the connection)
14:08:38 nate_b joins (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net)
14:10:11 nate_b parts (~u0_a123@pool-72-74-69-99.bstnma.fios.verizon.net) ()
14:16:31 × JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
14:19:07 raehik joins (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
14:19:43 <haskellbridge> <Bowuigi> lisbeths You could try compiling to combinators if you want to reduce size. Oleg Kiselyov's Eta-optimized algorithm seems to give smaller expressions than the input itself
14:19:55 ystael joins (~ystael@user/ystael)
14:21:51 <haskellbridge> <Bowuigi> Inlining is optional as well, shouldn't be too hard to serialize expressions, then paste them one after the other and then make an index on the header so you can quickly get each definition
14:23:58 <haskellbridge> <Bowuigi> Haven't tried mixing it with SIMD or any other big optimization method yet, but the gains should be decent, a lot of the combinators can be parallelized without issues
14:25:02 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
14:27:51 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
14:35:03 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
14:39:32 × chessai quits (sid225296@id-225296.lymington.irccloud.com) (Quit: Connection closed for inactivity)
14:49:34 × chele quits (~chele@user/chele) (Remote host closed the connection)
14:55:19 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
14:56:34 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
14:58:10 × synchromesh quits (~john@2406:5a00:241a:5600:bd8e:6941:a113:3361) (Read error: Connection reset by peer)
14:59:44 john2 joins (~john@2406:5a00:241a:5600:bd8e:6941:a113:3361)
15:02:48 john4 joins (~john@203.94.52.182)
15:02:57 billchenchina- joins (~billchenc@210.110.131.49)
15:05:04 × john2 quits (~john@2406:5a00:241a:5600:bd8e:6941:a113:3361) (Ping timeout: 260 seconds)
15:05:13 × billchenchina- quits (~billchenc@210.110.131.49) (Client Quit)
15:08:31 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 260 seconds)
15:09:04 jerg joins (~jerg@2001:a61:2553:4500::bb0)
15:09:06 × jerg quits (~jerg@2001:a61:2553:4500::bb0) (Remote host closed the connection)
15:15:33 alexherbo2 joins (~alexherbo@2a02-8440-3200-de93-9920-774e-e427-67e7.rev.sfr.net)
15:19:24 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2)
15:20:10 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
15:20:53 × falafel quits (~falafel@2a0c:5a84:e301:4d01::5c13) (Ping timeout: 244 seconds)
15:21:22 × CrunchyFlakes quits (~CrunchyFl@146.52.130.128) (Read error: Connection reset by peer)
15:22:38 × ThePenguin quits (~ThePengui@cust-95-80-24-166.csbnet.se) (Read error: Connection reset by peer)
15:22:55 danse-nr3 joins (~danse-nr3@user/danse-nr3)
15:23:12 ThePenguin joins (~ThePengui@cust-95-80-24-166.csbnet.se)
15:23:57 CrunchyFlakes joins (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
15:24:37 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:26:36 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 260 seconds)
15:29:58 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds)
15:30:49 euleritian joins (~euleritia@dynamic-176-004-145-017.176.4.pool.telefonica.de)
15:32:37 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 248 seconds)
15:33:01 L29Ah joins (~L29Ah@wikipedia/L29Ah)
15:38:01 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
15:41:59 × alexherbo2 quits (~alexherbo@2a02-8440-3200-de93-9920-774e-e427-67e7.rev.sfr.net) (Remote host closed the connection)
15:42:56 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 260 seconds)
15:44:28 rvalue- joins (~rvalue@user/rvalue)
15:45:15 × rvalue quits (~rvalue@user/rvalue) (Ping timeout: 276 seconds)
15:48:37 rvalue- is now known as rvalue
15:54:00 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
15:58:17 dans76272 joins (~danse-nr3@user/danse-nr3)
15:58:41 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 260 seconds)
15:58:59 × danse-nr3 quits (~danse-nr3@user/danse-nr3) (Read error: Connection reset by peer)
16:00:10 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
16:00:44 michalz_ joins (~michalz@185.246.207.222)
16:02:22 × michalz quits (~michalz@185.246.207.203) (Ping timeout: 252 seconds)
16:02:37 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit)
16:10:28 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
16:12:59 × oo_miguel quits (~Thunderbi@78.10.207.46) (Quit: oo_miguel)
16:17:56 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 260 seconds)
16:21:40 tabaqui joins (~root@87.200.123.114)
16:22:54 × raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 272 seconds)
16:23:52 × ThePenguin quits (~ThePengui@cust-95-80-24-166.csbnet.se) (Remote host closed the connection)
16:24:38 ThePenguin joins (~ThePengui@cust-95-80-24-166.csbnet.se)
16:27:02 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
16:29:22 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
16:32:11 oo_miguel joins (~Thunderbi@78.10.207.46)
16:36:01 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 260 seconds)
16:37:01 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:42:25 raehik joins (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
16:46:17 skyesoss joins (~Thunderbi@128.135.204.35)
16:48:00 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
16:48:51 × euleritian quits (~euleritia@dynamic-176-004-145-017.176.4.pool.telefonica.de) (Ping timeout: 265 seconds)
16:50:17 econo_ joins (uid147250@id-147250.tinside.irccloud.com)
16:52:00 × kuribas` quits (~user@d51529C17.access.telenet.be) (Quit: ERC (IRC client for Emacs 27.1))
16:54:14 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
16:54:41 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 260 seconds)
16:59:45 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
17:00:38 × dans76272 quits (~danse-nr3@user/danse-nr3) (Quit: off)
17:01:53 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
17:04:39 chexum joins (~quassel@gateway/tor-sasl/chexum)
17:05:46 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 260 seconds)
17:11:41 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
17:16:51 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
17:21:50 ft joins (~ft@p3e9bc4e7.dip0.t-ipconnect.de)
17:22:41 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 260 seconds)
17:23:30 Midjak joins (~MarciZ@82.66.147.146)
17:23:34 × oo_miguel quits (~Thunderbi@78.10.207.46) (Quit: oo_miguel)
17:23:41 × misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 255 seconds)
17:28:46 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
17:32:43 spew joins (~spew@201.141.102.132)
17:33:41 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
17:34:24 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
17:35:30 × spew quits (~spew@201.141.102.132) (Client Quit)
17:40:46 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 260 seconds)
17:40:48 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds)
17:43:28 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
17:46:38 spew joins (~spew@201.141.102.132)
17:53:24 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
18:03:07 × raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 264 seconds)
18:07:01 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 260 seconds)
18:12:11 JuanDaugherty joins (~juan@user/JuanDaugherty)
18:19:04 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
18:24:31 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 260 seconds)
18:31:45 × hayk quits (~hayk@141.136.90.108) (Quit: hayk)
18:36:26 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
18:42:01 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 260 seconds)
18:42:04 × tomku quits (~tomku@user/tomku) (Ping timeout: 260 seconds)
18:42:17 tomku joins (~tomku@user/tomku)
18:42:28 × machinedgod quits (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 245 seconds)
18:46:52 hayk joins (~hayk@141.136.90.108)
18:47:21 <constxd> hey bros
18:48:17 <constxd> what is like the canonical example where @ in a pattern is useful
18:48:33 <constxd> like something that's really simple with @ but would be a bit awkward to write without it
18:50:01 target_i joins (~target_i@user/target-i/x-6023099)
18:50:14 <monochrom> bstInsert x t@(Node left key right) | x == key = t
18:50:28 <dolio> tails [] =
18:50:31 <dolio> Oops.
18:50:55 <dolio> @src tails
18:50:55 <lambdabot> tails [] = [[]]
18:50:55 <lambdabot> tails xxs@(_:xs) = xxs : tails xs
18:52:03 × hayk quits (~hayk@141.136.90.108) (Ping timeout: 252 seconds)
18:52:05 <constxd> nice those are both pretty good
18:52:06 <constxd> thanks
18:53:54 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
18:59:18 × spew quits (~spew@201.141.102.132) (Quit: spew)
18:59:31 spew joins (~spew@201.141.102.132)
19:00:06 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 260 seconds)
19:01:19 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
19:07:41 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 260 seconds)
19:21:34 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
19:24:26 <EvanR> any time you want to refer to the very thing you pattern matched, and don't want to reconstruct it long hand. Which is error prone anyway
19:25:04 <EvanR> a case of literal don't repeat yourself
19:27:31 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 260 seconds)
19:29:51 misterfish joins (~misterfis@84.53.85.146)
19:37:39 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
19:38:58 <jle`> i sometimes act as if it can help with sharing too
19:39:11 <jle`> but i feel like ghc is smart enough to do it automatically
19:39:33 × misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 248 seconds)
19:39:39 <EvanR> haha yeah
19:43:51 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 260 seconds)
19:51:27 alexherbo2 joins (~alexherbo@2a02-8440-321c-755c-19f5-1a66-63b5-46f3.rev.sfr.net)
19:54:18 <probie> GHC is "smart enough" to do it automatically, but chooses not to, trusting the programmer
19:54:30 × CrunchyFlakes quits (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Quit: ZNC 1.8.2 - https://znc.in)
19:55:06 CrunchyFlakes joins (~CrunchyFl@146.52.130.128)
19:55:53 <probie> Just like it won't rewrite `f 0 = 1; f n = f (n-1) + f (n-1)` to `f 0 = 1; f n = let x = f (n-1) in x + x`
19:56:10 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
19:59:10 misterfish joins (~misterfis@84.53.85.146)
20:01:21 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 260 seconds)
20:02:17 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
20:03:20 <monochrom> But it rewrites to 2 * f (n-1) under "f :: Int -> Int" and -O. https://play.haskell.org/saved/Ln5njJhL
20:04:36 <monochrom> Ever since https://mail.haskell.org/pipermail/haskell-cafe/2013-April/107775.html , I have learned the hard way that whenever I plan to claim "GHC won't optimize this" I must try it first.
20:05:23 <monochrom> Also whenever I claim "GHC will optimize this". GHC always does the opposite of what you think. OK, what I think.
20:07:15 Square joins (~Square@user/square)
20:08:42 <mauke> "I am saying that if a task uses both the predicates and the extraction functions, then it is much clearer and simpler to use pattern matching." <- even if it is just predicates, pattern matching isn't any more cumbersome
20:08:56 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 260 seconds)
20:09:33 <mauke> if isNothing mx then "nada" else "it is something" vs. case mx of Nothing -> "nada"; Just{} -> "it is something"
20:09:51 × picnoir quits (~picnoir@about/aquilenet/vodoo/NinjaTrappeur) (Quit: WeeChat 4.3.3)
20:11:19 <mauke> > (\case (:){} -> False; _ -> True) [1,2,3]
20:11:20 <lambdabot> False
20:11:31 × mulk quits (~mulk@p5b112b2e.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
20:11:38 picnoir joins (~picnoir@about/aquilenet/vodoo/NinjaTrappeur)
20:12:31 × michalz_ quits (~michalz@185.246.207.222) (Remote host closed the connection)
20:19:06 <probie> monochrom: Perhaps that should be "I must try it _at the point in time I'm claiming it_"
20:20:59 mulk joins (~mulk@p5b112b2e.dip0.t-ipconnect.de)
20:22:10 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
20:23:06 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
20:25:17 <probie> Ah right, I see what's going on. GHC's behaviour hasn't changed per se, it's just that monomorphising it to `Int` (or presumably anything else which is just a constructor wrapping an unboxed type) allows the rewrite
20:28:11 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 260 seconds)
20:33:28 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds)
20:36:12 benkard joins (~mulk@p5b112b2e.dip0.t-ipconnect.de)
20:36:34 × mulk quits (~mulk@p5b112b2e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
20:36:34 benkard is now known as mulk
20:40:00 hayk joins (~hayk@141.136.90.108)
20:40:12 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
20:40:18 × misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 252 seconds)
20:41:19 euleritian joins (~euleritia@dynamic-176-000-149-067.176.0.pool.telefonica.de)
20:46:51 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 260 seconds)
20:47:38 × euleritian quits (~euleritia@dynamic-176-000-149-067.176.0.pool.telefonica.de) (Read error: Connection reset by peer)
20:48:54 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
20:49:17 × alexherbo2 quits (~alexherbo@2a02-8440-321c-755c-19f5-1a66-63b5-46f3.rev.sfr.net) (Remote host closed the connection)
20:50:27 alexherbo2 joins (~alexherbo@2a02-8440-321c-755c-a137-bc25-9803-4558.rev.sfr.net)
20:51:22 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
20:52:19 <monochrom> I'm actually a bit surprised that it does this to Int but not Integer.
20:52:53 <monochrom> For polymorphic (Num a =>) I would understand being conservative.
20:54:00 × alexherbo2 quits (~alexherbo@2a02-8440-321c-755c-a137-bc25-9803-4558.rev.sfr.net) (Remote host closed the connection)
20:54:34 <monochrom> And yeah GHC keeps changing, so you have to re-try every time >:)
20:55:15 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
20:55:34 <monochrom> We already know that, for example, the strength reduction from "mod x 7" to "x * magic number" is showing up in new GHC versions.
20:55:55 <spew> Hello, I'm trying to `cabal install glirc` but the compile step is failing because it seems that warnings are being treated as errors in the C compiler.
20:56:23 <spew> for example "/tmp/ghc153147_0/ghc_220.c:15:160: error: warning: return discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
20:56:53 <spew> fuller log is here: https://gist.github.com/spewspews/ebd212bc82603a1d697855c991573830
20:57:43 <spew> is there a way to specify compiler flags or does someone know where I need to configure this?
20:58:38 <mauke> that's HsOpenSSL, not glirc
20:59:33 <mauke> https://github.com/haskell-cryptography/HsOpenSSL/issues/93
20:59:53 <spew> thank you!
21:03:17 <glguy> spew: I need to make an HsOpenSSL PR, but I have a branch up one sec
21:03:32 <glguy> https://github.com/glguy/HsOpenSSL/tree/glguy/pointer-fixes
21:04:48 <spew> glguy: I appreciate it very much
21:05:44 machinedgod joins (~machinedg@d173-183-246-216.abhsia.telus.net)
21:11:59 <mauke> am annoyed that ConstPtr does not represent a const pointer
21:12:46 <mauke> or as the documentation calls it, "A pointer with the C const qualifier", which it is not
21:13:43 <mauke> also, capi is lucky that no API actually uses volatile qualifiers
21:13:47 <glguy> mauke: because the qualifier is on the type pointed to and not the pointer itself?
21:13:54 <mauke> right
21:14:14 <mauke> "a pointer with the const qualifier" in C syntax would be *const
21:17:32 pavonia joins (~user@user/siracusa)
21:21:27 misterfish joins (~misterfis@84.53.85.146)
21:24:18 <glguy> spew: I'm making HsOpenSSL a submodule to work around it being broken until a new released goes out https://github.com/glguy/irc-core/pull/122
21:24:25 × tcard quits (~tcard@2400:4051:5801:7500:1e90:74c3:2754:ce8a) (Quit: Leaving)
21:24:31 <monochrom> :( :)
21:25:28 <glguy> Good OpenSSL bindings are hard to come by. My other client has its own binding to avoid stuff like this
21:25:40 <spew> glguy: thanks, I subscribed to the PR
21:25:46 <spew> what's the other cilent?
21:26:33 starburst joins (~starburst@2601:602:480:9390::707d)
21:26:47 <glguy> https://github.com/glguy/snowcone - it's more of an automation host and server administration dashboard
21:27:43 <glguy> I sometimes use it as my actual chat client, but it's not really targetted at that usecase
21:32:12 tcard joins (~tcard@p4324234-ipxg22901hodogaya.kanagawa.ocn.ne.jp)
21:39:20 × misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 265 seconds)
21:41:09 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
21:44:48 euleritian joins (~euleritia@dynamic-176-000-149-067.176.0.pool.telefonica.de)
21:44:52 × machinedgod quits (~machinedg@d173-183-246-216.abhsia.telus.net) (Quit: Lost terminal)
21:51:38 × euleritian quits (~euleritia@dynamic-176-000-149-067.176.0.pool.telefonica.de) (Read error: Connection reset by peer)
21:51:56 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
21:53:14 <yin> "a functor is a structure preserving map between objects in different categories, and between their associated morphisms" can anyone give me an example in Haskell of a Functor and what 2 different categories might be?
21:54:11 <EvanR> Functor is between Hask and Hask
21:54:18 <mauke> haskell Functors are endofunctors in that they map between the same category
21:54:25 <mauke> (which might not actually be a category)
21:54:37 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
21:54:41 <yin> ok that's not confusing at all
21:54:46 <mauke> yes
21:54:47 <EvanR> the bad news is they're not different categories, the good news is they're not even categories
21:54:53 <mauke> haha
21:55:10 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
21:55:37 <mauke> but assuming Hask exists, the objects in it are Haskell types
21:55:45 <mauke> and the morphisms are functions
21:55:48 <EvanR> :k Maybe
21:55:49 <lambdabot> * -> *
21:56:02 <EvanR> :t fmap @Maybe
21:56:03 <lambdabot> error:
21:56:04 <lambdabot> Pattern syntax in expression context: fmap@Maybe
21:56:04 <lambdabot> Did you mean to enable TypeApplications?
21:56:08 <EvanR> yes
21:56:16 <mauke> a Haskell Functor turns types into (other) types and functions into (other) functions
21:56:50 <mauke> Maybe is a functor because it turns a type T into another type Maybe T
21:57:14 <mauke> the mapping of functions is done with fmap :: (a -> b) -> (Maybe a -> Maybe b)
21:57:24 falafel joins (~falafel@188.26.220.220)
21:57:25 <EvanR> (a -> b) -> (Maybe a -> Maybe b)
21:57:44 <yin> that makes sense
21:57:57 <yin> but since when are we doubting Hask's existence?
21:58:13 <EvanR> it's morally a category
21:58:17 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
21:58:18 <monochrom> I don't doubt it.
21:58:23 <EvanR> by fast and loose reasoning
21:58:50 <mauke> IIRC it's because we have no semantics and no equality
21:59:07 <monochrom> My impression is that no one has bothered to sit down and write down all the detailed definitions so people are conservative and say we don't have it.
22:00:08 <EvanR> it shouldn't be hard to define Hask in such a way that it is a category and models a subset of haskell
22:00:31 <ncf> Hask = Set
22:00:53 <EvanR> "polymorphism is not set theoretic" xD
22:01:19 <yin> shall we do it?
22:01:42 <mauke> .oO( yaranaika? )
22:01:49 <ncf> 100% of the statements people make about Hask are secretly about Set
22:02:21 <monochrom> Including the one that says "Hask doesn't exist"? XD
22:03:16 <EvanR> Hask is a category and this sentence is false
22:05:46 × falafel quits (~falafel@188.26.220.220) (Remote host closed the connection)
22:08:54 Reinhilde is now known as Ellenor
22:16:41 × gmg quits (~user@user/gehmehgeh) (Ping timeout: 260 seconds)
22:18:49 gmg joins (~user@user/gehmehgeh)
22:20:38 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:27:18 × spew quits (~spew@201.141.102.132) (Remote host closed the connection)
22:28:06 spew joins (~spew@201.141.102.132)
22:29:24 aljazmc joins (~aljazmc@user/aljazmc)
22:30:16 <starburst> how do you guys learn so many words
22:33:21 <yin> starburst: i'm pretty sure most are invented
22:34:05 <starburst> every word was invented i think
22:34:43 <yin> exactly
22:36:37 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
22:36:55 ddellacosta joins (~ddellacos@ool-44c73d29.dyn.optonline.net)
22:37:45 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
22:38:45 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
22:39:01 <monochrom> Firstly, not really "many" words compared to daily natural languages. Secondly, how do "real world people" learn almost ten thousand words in "real world daily" natural languages? By taking 20 years.
22:39:51 <geekosaur> I pick words up from context
22:40:30 <probie> That seems like a perfectly cromulent thing to do
22:41:02 <starburst> youre pretty cromulent yourself..
22:41:05 <Unicorn_Princess> what does 'DH' stand for, in the context of "unifying the ASTs of types and terms in GHC is a huge step in making the compiler frontend DH-ready"?
22:41:18 <monochrom> Right there, I didn't even knew that "cromulent" existed until 5 years ago.
22:41:21 <geekosaur> "dependent haskell"
22:41:25 <Unicorn_Princess> oooh
22:41:30 <Unicorn_Princess> would be nice
22:41:30 <monochrom> How do you native English speakers learn so many English words?
22:42:08 <starburst> i actually only know like 100 words
22:42:09 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
22:42:32 <probie> monochrom: For the most part, by studying Ancient Greek and Latin
22:42:49 <Unicorn_Princess> lmao
22:42:51 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
22:42:58 <EvanR> communication is a language game and by wasting too many words on metacommunication you lose
22:43:43 × acidjnk quits (~acidjnk@p200300d6e72cfb37989a4326b80d30bf.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
22:44:26 <starburst> true you gotta hav game
22:44:34 <ZharMeny> monochrom: i honestly have no idea at one point i was born and some time later i knew english
22:44:46 <Rembane> Haxx!
22:44:50 <ZharMeny> english isn't even a language common in my country
22:45:17 <yin> EvanR: what do you mean by "wasting too many words on metacommunication"?
22:45:32 <EvanR> lol
22:45:39 <yin> :)
22:47:36 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds)
22:49:58 <starburst> like.. saying stuff thats redundant or makes you sound silly
22:50:21 <geekosaur> redundancy has its place, see shannon
22:51:12 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
22:51:58 <EvanR> noisy channel coding theorem
22:52:39 <EvanR> the more noise the harder it is to code
22:52:48 <monochrom> haha
22:53:29 <monochrom> the "haskell code looks like line noise" theorem :)
22:53:44 <c_wraith> When people hear the music I listen to when coding, they ask how I can think while listening to it...
22:53:58 <geekosaur> ^
22:54:47 <yin> white noise is actually really nice for coding
22:55:07 <probie> When you're indoors and feeling cold, you can go outside where it is even colder and then come inside to feel warm. In much the same way, you can write code in J to make everything else look readable
22:55:21 <monochrom> :)
22:55:26 <starburst> how abt harsh noise.. any of you listen to merzbow? >_<
22:55:32 <Rembane> J is excellent in that regard
22:55:39 <ZharMeny> i listen to seximal (also known as senary) fractions interpreted as music
22:55:42 <yin> i like J
22:56:02 <yin> i spent the better part of a month reading NuVoc
22:56:12 <starburst> why does j look like that
22:56:15 <geekosaur> been too long since I played with J. 1985ish?
22:56:24 <geekosaur> shortly after it came out
22:56:30 <yin> i was planning on doing AoC with it
22:56:48 <yin> then Dec 1st i realized i didn't know how to do IO
22:56:49 <starburst> what does she hav to do with this
22:57:12 <geekosaur> (that said, I concluded that APL was far more readable)
22:57:24 <glguy> Is the point of either to be able to read them?
22:57:46 Sgeo joins (~Sgeo@user/sgeo)
22:58:02 <yin> glguy: APL was intended to be very easy to read
22:58:04 <probie> Also, modern APL has dfns, whilst J still refuses to have them
22:59:29 <yin> probie: dfns?
22:59:48 <ZharMeny> just discovered that BQN has a self-hosted compiler
22:59:51 <ZharMeny> why
23:00:41 <ZharMeny> it looks like i opened a file with a wrong encoding
23:00:48 <sprout> lol
23:01:00 <Rembane> Probably because it's more fun to program in BQN than any other language for the people who make BQN. I think Singeli might be involved too though.
23:01:25 <dolio> Hask has all Hask-indexed limits.
23:01:46 <probie> yin: Sort of like the APL-equivalent of a lambda (although you don't get pick the names). e.g. you could write `\x -> x + x + x` in APL as `{⍵ + ⍵ + ⍵}`
23:01:58 <c_wraith> Huh. does GND have issues with MPTCs and fundeps?
23:02:19 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Quit: WeeChat 4.3.5)
23:02:54 <geekosaur> not normally, I mean mtl uses GND a lot with them
23:02:59 stiell joins (~stiell@gateway/tor-sasl/stiell)
23:03:18 <c_wraith> Ok, I guess I need to take the time to actually understand this error message
23:05:01 <c_wraith> Yeah, ok. This is a weakness in GND, but I think attempting to fix it runs the danger of accidental exponential searches.
23:05:30 × euphores quits (~SASL_euph@user/euphores) (Ping timeout: 252 seconds)
23:07:45 <c_wraith> The thing that's different from mtl is that I'm trying to GND an instance over *two* newtypes
23:08:00 <c_wraith> and it's not translating the fundep to both newtypes
23:10:12 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
23:11:39 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds)
23:12:50 euphores joins (~SASL_euph@user/euphores)
23:13:37 machinedgod joins (~machinedg@d173-183-246-216.abhsia.telus.net)
23:14:35 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Client Quit)
23:15:19 Square3 joins (~Square4@user/square)
23:16:48 <mauke> probie: that just looks like perl
23:16:59 <mauke> where all parameter lists are @_
23:18:13 × Square quits (~Square@user/square) (Ping timeout: 248 seconds)
23:19:22 <yin> probie: 5 ({ : x. * y. }) 3 NB. Returns 15
23:21:03 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
23:21:05 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
23:25:31 <yin> iirc
23:26:36 <probie> That gives me a spelling error (on 9.02, which may be a bit out of date)
23:26:50 × juri_ quits (~juri@implicitcad.org) (Ping timeout: 255 seconds)
23:27:29 <probie> apparently it's just `5 {{ x * y }} 3`. Did I somehow completely miss this a few years ago, or is it new?
23:29:09 <yin> not sure. i only dabbled in it for a couple of months a few years ago
23:29:23 <yin> i found the whole ecosystem to be too disorganized
23:29:42 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
23:30:36 <probie> apparently it was added in 902 (which was December 2020), so several years after I last used J for anything other than internet jokes. I will update my complaints about J accordingly
23:36:16 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Quit: WeeChat 4.3.5)
23:38:11 × starburst quits (~starburst@2601:602:480:9390::707d) (Quit: Client closed)
23:39:06 × ystael quits (~ystael@user/ystael) (Ping timeout: 276 seconds)
23:42:34 × machinedgod quits (~machinedg@d173-183-246-216.abhsia.telus.net) (Remote host closed the connection)
23:43:01 × Midjak quits (~MarciZ@82.66.147.146) (Quit: This computer has gone to sleep)
23:48:22 × cheater quits (~Username@user/cheater) (Read error: Connection reset by peer)
23:49:12 cheater joins (~Username@user/cheater)
23:51:21 × ZharMeny quits (~user@user/ZharMeny) (Quit: ,)
23:56:09 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)

All times are in UTC on 2024-07-31.