Newest at the top
2025-06-03 21:10:52 +0200 | divya | (divya@140.238.251.170) (Ping timeout: 252 seconds) |
2025-06-03 21:10:32 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-06-03 21:08:36 +0200 | <EvanR> | old lisp doesn't have pattern matching? dang |
2025-06-03 21:07:24 +0200 | sabathan2 | (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
2025-06-03 21:07:03 +0200 | sabathan2 | (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
2025-06-03 21:06:13 +0200 | <EvanR> | so dangerously close to bikeshedding |
2025-06-03 21:05:58 +0200 | <EvanR> | even though it gets the same results |
2025-06-03 21:05:36 +0200 | Lycurgus | (~juan@user/Lycurgus) Lycurgus |
2025-06-03 21:05:18 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-06-03 21:05:03 +0200 | <EvanR> | do you construct a real list and return it or do something more clever, programmer decides |
2025-06-03 21:04:48 +0200 | <EvanR> | in lisp it seems they're talking about the implementation |
2025-06-03 21:04:01 +0200 | <monochrom> | Yeah, that helps. |
2025-06-03 21:03:41 +0200 | <EvanR> | looks like it |
2025-06-03 21:02:29 +0200 | <monochrom> | Can I understand "get named variables for each of the two results" as Lisp having pattern matching but only for multireturn? :) |
2025-06-03 21:02:14 +0200 | sabathan2 | (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
2025-06-03 21:01:51 +0200 | sabathan2 | (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
2025-06-03 21:00:42 +0200 | caconym7 | (~caconym@user/caconym) caconym |
2025-06-03 21:00:03 +0200 | caconym7 | (~caconym@user/caconym) (Quit: bye) |
2025-06-03 20:58:46 +0200 | <EvanR> | if you only wanted 1 result you ignore the other |
2025-06-03 20:57:50 +0200 | sawilagar | (~sawilagar@user/sawilagar) (Read error: Connection reset by peer) |
2025-06-03 20:57:49 +0200 | <EvanR> | addition, multiply with carry, division, |
2025-06-03 20:57:16 +0200 | <EvanR> | also the use cases I'm thinking about, you wouldn't pack them at all like in C, since the primitive ops yields 2 separate results |
2025-06-03 20:55:53 +0200 | <EvanR> | if it's all point free then that's another style and not applicable to mario psuedocode running in 8bit asm |
2025-06-03 20:55:20 +0200 | <EvanR> | and don't have to make up an intermediate name for the packing of them |
2025-06-03 20:55:08 +0200 | <EvanR> | you get named variables for each of the two results |
2025-06-03 20:54:56 +0200 | trickard | (~trickard@cpe-57-98-47-163.wireline.com.au) |
2025-06-03 20:54:44 +0200 | trickard | (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-06-03 20:54:41 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-06-03 20:54:23 +0200 | sabathan2 | (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
2025-06-03 20:54:01 +0200 | sabathan2 | (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
2025-06-03 20:52:52 +0200 | <monochrom> | Apart from scenerios like (* 2 (+ 1 (I-am-multivalued))) meaning the Haskell equivalent of fmap (* 2) (fmap (+ 1) i_am_multivalued), which doesn't need you to manually unpack-repack in intermediate steps. |
2025-06-03 20:52:09 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
2025-06-03 20:51:39 +0200 | Digitteknohippie | Digit |
2025-06-03 20:49:43 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-06-03 20:49:40 +0200 | <monochrom> | I forgot how to use multireturn, even in Lisp. How is it less noisy? |
2025-06-03 20:48:58 +0200 | sabathan2 | (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
2025-06-03 20:48:36 +0200 | sabathan2 | (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
2025-06-03 20:48:07 +0200 | euphores | (~SASL_euph@user/euphores) euphores |
2025-06-03 20:46:40 +0200 | <EvanR> | pattern matching makes up for the lack of multireturn, that would also be cool |
2025-06-03 20:46:34 +0200 | <monochrom> | I see what you mean now. |
2025-06-03 20:44:08 +0200 | <EvanR> | instead of let (r1,r2) = f x y z in ... |
2025-06-03 20:43:46 +0200 | <EvanR> | let p = f x y z in let r1 = fst p; r2 = snd p in ... |
2025-06-03 20:43:31 +0200 | <monochrom> | But I don't reject it. I fully accept "... where (q, r) = divMod x y". I even put that in an exercise for my class. |
2025-06-03 20:42:55 +0200 | Digit | (~user@user/digit) (Ping timeout: 268 seconds) |
2025-06-03 20:42:46 +0200 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
2025-06-03 20:42:35 +0200 | <EvanR> | packing that into a struct and then unpacking it is syntactically noisy and you'd reject that if it were require in haskell |
2025-06-03 20:42:11 +0200 | <EvanR> | quadratic formula might benefit from that or not |
2025-06-03 20:42:04 +0200 | <monochrom> | That's just a struct in C. |
2025-06-03 20:41:47 +0200 | <EvanR> | kind |
2025-06-03 20:41:43 +0200 | <EvanR> | q, r = division of x by y |