2026/04/30

Newest at the top

2026-04-30 12:06:30 +0000r1bilski(~r1bilski@user/r1bilski) r1bilski
2026-04-30 12:06:30 +0000r1bilski(~r1bilski@user-31-175-22-58.play-internet.pl) (Changing host)
2026-04-30 12:06:30 +0000r1bilski(~r1bilski@user-31-175-22-58.play-internet.pl)
2026-04-30 12:05:53 +0000nunggu(~q@user/nunggu) nunggu
2026-04-30 11:58:49 +0000Pozyomka(~pyon@user/pyon) pyon
2026-04-30 11:58:17 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2026-04-30 11:54:24 +0000Googulator56Googulator
2026-04-30 11:53:14 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 11:48:57 +0000DetourNe-DetourNetworkUK
2026-04-30 11:47:20 +0000chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-04-30 11:47:17 +0000Googulator(~Googulato@78-131-16-66.pool.digikabel.hu) (Ping timeout: 245 seconds)
2026-04-30 11:47:05 +0000misterfish(~misterfis@84.53.85.146) misterfish
2026-04-30 11:47:00 +0000DetourNetworkUK(~DetourNet@user/DetourNetworkUK) (Read error: Connection reset by peer)
2026-04-30 11:46:38 +0000DetourNe-(~DetourNet@user/DetourNetworkUK) DetourNetworkUK
2026-04-30 11:44:55 +0000phm(~peter@fsf/member/phm) phm
2026-04-30 11:44:16 +0000phm(~peter@fsf/member/phm) (Quit: leaving)
2026-04-30 11:43:42 +0000Googulator56(~Googulato@84-236-65-50.pool.digikabel.hu)
2026-04-30 11:40:44 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-04-30 11:37:14 +0000kimiamania40(~67ff9c51@user/kimiamania) kimiamania
2026-04-30 11:36:10 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-30 11:35:59 +0000kimiamania40(~67ff9c51@user/kimiamania) (Quit: PegeLinux)
2026-04-30 11:31:41 +0000dcb(~dcb@user/dcb) (Quit: MSN Messenger v1.9.1)
2026-04-30 11:29:40 +0000r1bilski(~r1bilski@user/r1bilski) (Ping timeout: 265 seconds)
2026-04-30 11:28:42 +0000misterfish(~misterfis@84.53.85.146) (Ping timeout: 246 seconds)
2026-04-30 11:20:35 +0000xff0x(~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp)
2026-04-30 11:18:13 +0000tremon(~tremon@83.80.159.219) tremon
2026-04-30 11:18:12 +0000 <lortabac> I don't know, I'm just listing various alternatives to type classes :)
2026-04-30 11:17:52 +0000Pozyomka(~pyon@user/pyon) (Quit: fuck logind)
2026-04-30 11:17:51 +0000 <lortabac> I'm not sure, but I think Scala does something like this
2026-04-30 11:16:59 +0000misterfish(~misterfis@84.53.85.146) misterfish
2026-04-30 11:16:32 +0000r1bilski(~r1bilski@user/r1bilski) r1bilski
2026-04-30 11:16:17 +0000 <lortabac> (this means no global coherence)
2026-04-30 11:16:16 +0000 <hadronized> I am not sure to understand your last point with implicit parameters
2026-04-30 11:15:30 +0000 <lortabac> other question: is it important that the implementation is chosen statically? Or would a solution based on rank-n types + implicit parameters fit your specs too?
2026-04-30 11:12:17 +0000 <lortabac> or would you e.g. have all the instances of "+" in the same place?
2026-04-30 11:11:38 +0000 <lortabac> should generic functions be extensible, like type classes?
2026-04-30 11:10:39 +0000 <lortabac> unless you specify the details, it's impossible to find an answer to your question
2026-04-30 11:10:17 +0000 <hadronized> and then there’s usage, where you actually mark a function as polymorphic
2026-04-30 11:10:15 +0000 <lortabac> there are different solutions to the problem of "generic" programming, but they depend on the exact specs
2026-04-30 11:09:57 +0000 <hadronized> there’s the « codegen » aspect, where we could be happy with just macros
2026-04-30 11:09:28 +0000 <hadronized> Hare doesn’t have any and requires codegen to be explict, for instance
2026-04-30 11:09:20 +0000 <hadronized> generic programming is just how you generate code at compile-time for different types / values known at compile-time
2026-04-30 11:09:01 +0000 <hadronized> I like to think of generic programming by extending C, basically
2026-04-30 11:08:29 +0000 <lortabac> "generic" can mean so many different things, I don't think it's a particularly useful definition
2026-04-30 11:08:26 +0000 <hadronized> Zig is interesting with its reflection, but I know I won’t go that route because it’d mean a nightmare for people consuming those functions
2026-04-30 11:08:04 +0000 <hadronized> I’m trying to list all the possible ways to do « generic code »
2026-04-30 11:07:52 +0000 <hadronized> but I think we are already too close to the details
2026-04-30 11:07:35 +0000 <hadronized> yes
2026-04-30 11:07:21 +0000 <lortabac> does the method have a different implementation for each type?
2026-04-30 11:06:55 +0000 <hadronized> which can cause accidental implementations, and thus is not a super good idea