From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail.toke.dk; spf=pass (mailfrom) smtp.mailfrom=irif.fr (client-ip=2001:660:3301:8000::1:2; helo=korolev.univ-paris7.fr; envelope-from=jch@irif.fr; receiver=) Authentication-Results: mail.toke.dk; dkim=pass (2048-bit key; unprotected) header.d=irif.fr header.i=@irif.fr header.a=rsa-sha256 header.s=dkim-irif header.b=BNGt6Vex Received: from korolev.univ-paris7.fr (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]) by mail.toke.dk (Postfix) with ESMTPS id D7FCE989332 for ; Tue, 12 Jul 2022 18:18:29 +0200 (CEST) Received: from potemkin.univ-paris7.fr (potemkin.univ-paris7.fr [IPv6:2001:660:3301:8000::1:1]) by korolev.univ-paris7.fr (8.14.4/8.14.4/relay1/82085) with ESMTP id 26CGISnn029748 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 12 Jul 2022 18:18:28 +0200 Received: from mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [81.194.30.253]) by potemkin.univ-paris7.fr (8.14.4/8.14.4/relay2/82085) with ESMTP id 26CGISZ0030415; Tue, 12 Jul 2022 18:18:28 +0200 Received: from mailhub.math.univ-paris-diderot.fr (localhost [127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTP id 6429EE07CB; Tue, 12 Jul 2022 18:18:28 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=irif.fr; h= content-type:content-type:mime-version:user-agent:references :in-reply-to:subject:subject:from:from:message-id:date:date :received:received; s=dkim-irif; t=1657642707; x=1658506708; bh= f1wbD0lbTn6orPMbx2nLoJdnhvhiCVHbeubisTbtC+U=; b=BNGt6VexXyqZnsHj p8Ig21v4N1pkTZhLkv5nfyDRWtotijFWw5Ey8gyTjy1HeNygDhfYZviTBqIzvP3T uz3YCXW+KGavr80JrldF9McmZfcc4ogdoScCxgrWNoMR5T6wTcyDUBLmcoXS5Ld5 jam2b4OhsD8so7I75uWH/w6uUCFIDG87QeIhVKjNWpgzXcq0gVbJQKaBQP1EWj38 FDICNOjY9e/aPB0kNVujri/cIy/22S0R0/JKxvFzIGlTAES/2sUbOYJY9uiDPPHQ sEy5+aLaOTMRQuOzO+qbmDnEmINgqe0QG3mdQZM7PSvLLHU+tCV4E9QZ1gLqBvw+ iMSIAw== X-Virus-Scanned: amavisd-new at math.univ-paris-diderot.fr Received: from mailhub.math.univ-paris-diderot.fr ([127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id hiYCFyxy74T0; Tue, 12 Jul 2022 18:18:27 +0200 (CEST) Received: from pirx.irif.fr (unknown [78.194.40.74]) (Authenticated sender: jch) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id 01089E07C5; Tue, 12 Jul 2022 18:18:26 +0200 (CEST) Date: Tue, 12 Jul 2022 18:18:21 +0200 Message-ID: <87k08i8fua.wl-jch@irif.fr> From: Juliusz Chroboczek To: Dave Taht In-Reply-To: References: <87lesy8h7s.wl-jch@irif.fr> User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/27.1 Mule/6.0 MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]); Tue, 12 Jul 2022 18:18:28 +0200 (CEST) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (potemkin.univ-paris7.fr [194.254.61.141]); Tue, 12 Jul 2022 18:18:28 +0200 (CEST) X-Miltered: at korolev with ID 62CD9ED4.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)! X-Miltered: at potemkin with ID 62CD9ED4.001 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)! X-j-chkmail-Enveloppe: 62CD9ED4.000 from potemkin.univ-paris7.fr/potemkin.univ-paris7.fr/null/potemkin.univ-paris7.fr/ X-j-chkmail-Enveloppe: 62CD9ED4.001 from mailhub.math.univ-paris-diderot.fr/mailhub.math.univ-paris-diderot.fr/null/mailhub.math.univ-paris-diderot.fr/ X-j-chkmail-Score: MSGID : 62CD9ED4.000 on korolev.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000 X-j-chkmail-Score: MSGID : 62CD9ED4.001 on potemkin.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000 X-j-chkmail-Status: Ham X-j-chkmail-Status: Ham Message-ID-Hash: TK4QNSO3J5EIQXKMLT7R5OHNLGLPCJ6F X-Message-ID-Hash: TK4QNSO3J5EIQXKMLT7R5OHNLGLPCJ6F X-MailFrom: jch@irif.fr X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: galene@lists.galene.org X-Mailman-Version: 3.3.5 Precedence: list Subject: [Galene] OT: generics [was: Heads up: Galene now requires Go 1.16] List-Id: =?utf-8?q?Gal=C3=A8ne_videoconferencing_server_discussion_list?= Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: > btw, what are your feelings about go generics? They are smartly done, unlike C++ generics they don't impose a single implementation strategy. They're done in Church style (where instantiation consists in passing a type parameter), while I tend to prefer Curry style (where instantiation is modelled as a case of subtyping). They don't support specialisation (where the user writes a specially optimised implementation for the types they really care about), which might or might not be a limitation. We'll see if we get any nice libraries. I'd love to see an implementation of B-trees with good cache locality that is type-safe and efficient at all types. -- Juliusz