From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?UTF-8?Q?Kovacsics_R=C3=B3bert?= Newsgroups: gmane.lisp.guile.user Subject: Modules and GOOPS Date: Wed, 27 Jul 2016 18:53:47 +0100 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: ger.gmane.org 1469642079 23529 80.91.229.3 (27 Jul 2016 17:54:39 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 27 Jul 2016 17:54:39 +0000 (UTC) To: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Wed Jul 27 19:54:34 2016 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1bST2P-0003L3-UO for guile-user@m.gmane.org; Wed, 27 Jul 2016 19:54:34 +0200 Original-Received: from localhost ([::1]:48043 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bST2L-0005fV-V5 for guile-user@m.gmane.org; Wed, 27 Jul 2016 13:54:29 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53629) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bST21-0005fQ-CV for guile-user@gnu.org; Wed, 27 Jul 2016 13:54:10 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bST1z-0005Et-HW for guile-user@gnu.org; Wed, 27 Jul 2016 13:54:08 -0400 Original-Received: from mail-vk0-x22f.google.com ([2607:f8b0:400c:c05::22f]:35447) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bST1z-0005EQ-DB for guile-user@gnu.org; Wed, 27 Jul 2016 13:54:07 -0400 Original-Received: by mail-vk0-x22f.google.com with SMTP id w127so14793381vkh.2 for ; Wed, 27 Jul 2016 10:54:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to; bh=16nwDAGMlhfWYoLAcsTuAeKaTYMN1G4g6MbtAwNOz5M=; b=esVmoqB29RH8Gj11HztiRDcIHwaSCqL2+/wroTleD2oaDvadWVfVGqJLrIJJbZrYmT Yeg5PehOj7/aXeePUVrkUPturmPJzUj7Ro8IoWoIk6E5Fr+3BY5vCNKoCsaYJ+gt5Mpo nV97a3FpTiTtxL3u0cuChAuGNa+XBmDegDa8a+wFCOaXsUNqkhbIzBCPlB+qFd/aMkEX 49ZvWh53TJsyU2YhvOrWXkGz03U7WUMKzSy0tBIrM9mYb6Q3Z9W7ej1gN5rGOona29nh Ce+G+GIQ6d80/dsc+kE5y00ZZqQ7u0SM2Epq5T8yGI+FGUD9IOi68zs6UhGib+jvUOsT wErA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=16nwDAGMlhfWYoLAcsTuAeKaTYMN1G4g6MbtAwNOz5M=; b=KsDb7UamIy/we7iLK2vY/o9Va1jK6o26LEBTST7eHWQVbzhYwUw2VqjxRZSXftGl4W cj+o0mED/QsWtRWgJTK/RxekoVjBrU5q4Vbx6ZlQWVDfcCX7ACmyi1JinUuA3H9ZVWOP anTVeiSq2HZ3JSO5CET1IB6hvHJDeUaxnsRHsK0XB2qyMwzXewiPxnRe/wgG31sYcA2s QWBmjSxoPiQss6nrLbpGPjBfghi6OEslv/jgGoNwZfLxZ7mXYwdoIU8SW3zk3EWPAcoi wIFmNpiCyPKhiYby52kHaNzzTfBSmrtx9mlc5T6vOkR3l8IfC4gjnfRBAh189EHH1OG2 TWeQ== X-Gm-Message-State: AEkooutzNybOORw1AgTrviukeKEvbRMcvdFDNya2jZMubxgNuBn+py4YPOGzsDO2K4vH7u8ZJqGjMtBu7xfLoQ== X-Received: by 10.31.33.3 with SMTP id h3mr13889083vkh.59.1469642046478; Wed, 27 Jul 2016 10:54:06 -0700 (PDT) Original-Received: by 10.103.100.195 with HTTP; Wed, 27 Jul 2016 10:53:47 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2607:f8b0:400c:c05::22f X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.org gmane.lisp.guile.user:12800 Archived-At: Hello! I have trouble with getting GOOPS and modules to co-operate. What I am trying to do is to have 'A subclass B' where A is something akin to an abstract class, that is it has generic "x" for which it provides no implementation. This is my minimum broken example: ; = (define-module (mbe a) #:use-module (oop goops) #:export ( x y)) (define-class ()) (define-generic x) (define-generic y) (define-method (y (a )) (display (x a))) ; = (define-module (mbe b) #:use-module (oop goops) #:use-module (mbe a) #:export ( x)) (define-class ()) (define-method (x (b )) 'b) ; = (define-module (mbe test) #:use-module (oop goops) #:use-module (mbe a) #:use-module (mbe b) #:duplicates (merge-generics)) (y (make )) and when I type "(use-modules (mbe test))" in guile, I get While compiling expression: ERROR: No applicable method for #< x (0)> in call (x #< 23ccdd0>) (which shows that the generic function "x" has no implementation as far as I can work it out, due to accessibility. When I don't use separate modules, it works.) Am I using the right sort of approach? I was thinking modules, for extensibility.