From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ciao.gmane.io (ciao.gmane.io [116.202.254.214]) by sourceware.org (Postfix) with ESMTPS id 01A503857B86 for ; Wed, 31 Aug 2022 07:13:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 01A503857B86 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=m.gmane-mx.org Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1oTHv2-0001b9-Mq for kawa@sourceware.org; Wed, 31 Aug 2022 09:13:48 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: kawa@sourceware.org From: Helmut Eller Subject: Re: The Expression problem Date: Wed, 31 Aug 2022 09:13:44 +0200 Message-ID: References: <51486d80-0d3f-aa47-caca-9b23b2618174@bothner.com> Mime-Version: 1.0 Content-Type: text/plain User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cancel-Lock: sha1:0Gtmz+F9WZrv86meBz7aJoePg8o= X-Spam-Status: No, score=-0.4 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,NML_ADSP_CUSTOM_MED,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: > I think Common Lisp generics are problematic if you have a module system > (or library system to use R7RS terminology) based on static name resolution. > CL generics assume a generic function is global, and as each module is loaded > it dynamically adds methods to the generic procedure. This is powerful, > but seems contrary to modern module system. I've thought a bit about > how best to > specify multi-methods in a more disciplined way. It's not an easy problem. I'm not sure what this has do with static name resolution specifically, but I note that the Julia language seems to be somewhat successful (ie. popular) with multi-methods that aren't all that different from Common Lisp's generic functions. It also seems me that the team behind the Fortress language tried pretty hard to come up with a static type system for multi-methods. They made some progress, but in the end they failed. I think that for Kawa a Julia-style approach would be "good enough". Especially, as one can use Java interfaces in places where static typing is a concern. Helmut