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.