2025/06/03

Newest at the top

2025-06-03 21:10:52 +0200divya(divya@140.238.251.170) (Ping timeout: 252 seconds)
2025-06-03 21:10:32 +0200merijn(~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 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-03 21:07:03 +0200sabathan2(~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 +0200Lycurgus(~juan@user/Lycurgus) Lycurgus
2025-06-03 21:05:18 +0200merijn(~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 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-03 21:01:51 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-03 21:00:42 +0200caconym7(~caconym@user/caconym) caconym
2025-06-03 21:00:03 +0200caconym7(~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 +0200sawilagar(~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 +0200trickard(~trickard@cpe-57-98-47-163.wireline.com.au)
2025-06-03 20:54:44 +0200trickard(~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-06-03 20:54:41 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-06-03 20:54:23 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-03 20:54:01 +0200sabathan2(~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 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-06-03 20:51:39 +0200DigitteknohippieDigit
2025-06-03 20:49:43 +0200merijn(~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 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-03 20:48:36 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer)
2025-06-03 20:48:07 +0200euphores(~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 +0200Digit(~user@user/digit) (Ping timeout: 268 seconds)
2025-06-03 20:42:46 +0200euphores(~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