From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Damien Mattei Newsgroups: gmane.lisp.guile.user Subject: Re: GOOPS question Date: Sun, 2 May 2021 12:14:37 +0200 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="25813"; mail-complaints-to="usenet@ciao.gmane.io" To: guile-user Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Sun May 02 12:15:50 2021 Return-path: Envelope-to: guile-user@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ld98g-0006cF-1y for guile-user@m.gmane-mx.org; Sun, 02 May 2021 12:15:50 +0200 Original-Received: from localhost ([::1]:45308 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ld98e-0006Xv-V1 for guile-user@m.gmane-mx.org; Sun, 02 May 2021 06:15:48 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:47222) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ld97o-0006Xd-18 for guile-user@gnu.org; Sun, 02 May 2021 06:14:56 -0400 Original-Received: from mail-io1-xd34.google.com ([2607:f8b0:4864:20::d34]:44646) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ld97k-0002F5-QR for guile-user@gnu.org; Sun, 02 May 2021 06:14:55 -0400 Original-Received: by mail-io1-xd34.google.com with SMTP id p8so1842161iol.11 for ; Sun, 02 May 2021 03:14:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=HPJkOVOKvs1lIQUTcsw1lWWrQFcffZL4cyQofbvBT+Y=; b=T5ln2sVu2Bj4Ow0n5aUkD+yHJjS9K8yVmZa1TFAD4o55g4jSv9birvZYgkL2mZQQ24 iGuQRcCFmAszIOSPX0GbmimUrcYeZqh+Fl6/wIo8zwdKOMeG5YtufKqDlipn/8/oKClk 8PhHUmkzhHb6kEYDBLSnXMyBdQ8puxweAVlsUDzhoZ0pIyKDqkKZjLH5FoFJnIH7/Kje pJmxQsHQPllOVD4WObEIz5DS7Wp+SkXaAmMWtqOuoy5Of+m8KfIFKUflkhmeOQehd0A+ tFBPVAIdH0VP9Em+6QLYQPqGmAdq3bq9i7fysFVrmw0ToHbhzhvR+G76lvMHZS6p7xmu PIdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=HPJkOVOKvs1lIQUTcsw1lWWrQFcffZL4cyQofbvBT+Y=; b=VKgcoV9MhElU28F+lpSekAg2DXWzOKhaD3nJMwDddidDNEm2ONitujncBXHiwuxm9m v9C1eoh4aEKb65Ri291hhUczPTJjoDvaSxS4DDLSsTcHdOdCrjq8DYqpBYbykm7SCKYS W6KwAyyirR5EkfpLt2oXv2/KEeGWOZ9GJj032xOEhZGb9mNF3wIDtgrESaLfp+t0iZE5 UtUbeyZIj6RUTOvnGQA6cBkM+1Kd21WS0OjhJZslgvVqk877SHqpC1qSLC3rYifBgD13 C65KdEV11hMLlP69XlY66lfz8VPEh5OiD6QX4NN7E1ajPc6OPo1UHN3WI+XXqpAOVoYZ Qxaw== X-Gm-Message-State: AOAM5307B0mJ9VZ4n73LGjd4NusZVS9o8LVOhr82bYM3uYhEw5xLrxt+ 5KKUQdM/Xi+h02RmhPxcsbL+2l0MvTn2a0eiU+NMGx+1bOZ8aQ== X-Google-Smtp-Source: ABdhPJx+T+qGGDEf+6N9WdoY4BRS6nY11mVOujX11ZZ0lsEWloIctqKki9BmlID4H+x9o+BLygUUhynWKjzeEa385cU= X-Received: by 2002:a05:6638:3048:: with SMTP id u8mr13247522jak.91.1619950489200; Sun, 02 May 2021 03:14:49 -0700 (PDT) In-Reply-To: Received-SPF: pass client-ip=2607:f8b0:4864:20::d34; envelope-from=damien.mattei@gmail.com; helo=mail-io1-xd34.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.23 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-mx.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.io gmane.lisp.guile.user:17495 Archived-At: i use now the good way to loadmodule: scheme@(guile-user)> (set! %load-path (reverse (cons "." (reverse %load-path)))) scheme@(guile-user)> %load-path $1 = ("/usr/local/Cellar/guile/2.2.6/share/guile/2.2" "/usr/local/Cellar/guile/2.2.6/share/guile/site/2.2" "/usr/local/Cellar/guile/2.2.6/share/guile/site" "/usr/local/Cellar/guile/2.2.6/share/guile" ".") scheme@(guile-user)> (use-modules (gvector)) ;;; note: source file ./gvector.scm ;;; newer than compiled /Users/mattei/.cache/guile/ccache/2.2-LE-8-3.A/Volumes/Mojave/Users/mattei/Dropbox/git/library-FunctProg/gvector.scm.go ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 ;;; or pass the --no-auto-compile argument to disable. ;;; compiling ./gvector.scm ;;; compiled /Users/mattei/.cache/guile/ccache/2.2-LE-8-3.A/Volumes/Mojave/Users/mattei/Dropbox/git/library-FunctProg/gvector.scm.go scheme@(guile-user)> (define c2 (make )) ;;; :4:11: warning: possibly unbound variable `make' :4:0: In procedure module-lookup: Unbound variable: make Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue. scheme@(guile-user) [1]> module was not in %load-path but yet another problem that does not exist outside module when simply including files.... On Sun, May 2, 2021 at 2:07 AM Damien Mattei wrote: > seems your template isn't working: > > scheme@(guile-user)> (load "gvector.scm") > > ;;; note: source file > /Volumes/Mojave/Users/mattei/Dropbox/git/library-FunctProg/gvector.scm > > ;;; newer than compiled > /Users/mattei/.cache/guile/ccache/2.2-LE-8-3.A/Volumes/Mojave/Users/mattei/Dropbox/git/library-FunctProg/gvector.scm.go > > ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 > > ;;; or pass the --no-auto-compile argument to disable. > > ;;; compiling > /Volumes/Mojave/Users/mattei/Dropbox/git/library-FunctProg/gvector.scm > > ;;; compiled > /Users/mattei/.cache/guile/ccache/2.2-LE-8-3.A/Volumes/Mojave/Users/mattei/Dropbox/git/library-FunctProg/gvector.scm.go > > scheme@(guile-user)> (define c2 (make )) > > ;;; :2:11: warning: possibly unbound variable `make' > > ;;; :2:11: warning: possibly unbound variable `' > > :2:0: In procedure module-lookup: Unbound variable: make > > > Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue. > > scheme@(guile-user) [1]> ,bt > > In current input: > > 2:0 0 (_) > > but things go well if i remove module part and add: > > (use-modules (oop goops) > (oop goops describe)) > > scheme@(guile-user)> (load "gvector.scm") > > ;;; note: source file > /Volumes/Mojave/Users/mattei/Dropbox/git/library-FunctProg/gvector.scm > > ;;; newer than compiled > /Users/mattei/.cache/guile/ccache/2.2-LE-8-3.A/Volumes/Mojave/Users/mattei/Dropbox/git/library-FunctProg/gvector.scm.go > > ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 > > ;;; or pass the --no-auto-compile argument to disable. > > ;;; compiling > /Volumes/Mojave/Users/mattei/Dropbox/git/library-FunctProg/gvector.scm > > ;;; > /Volumes/Mojave/Users/mattei/Dropbox/git/library-FunctProg/gvector.scm:21:2: > warning: possibly unbound variable `orig:vector-length' > > ;;; > /Volumes/Mojave/Users/mattei/Dropbox/git/library-FunctProg/gvector.scm:26:2: > warning: possibly unbound variable `orig:vector-set!' > > ;;; > /Volumes/Mojave/Users/mattei/Dropbox/git/library-FunctProg/gvector.scm:31:2: > warning: possibly unbound variable `orig:vector-ref' > > ;;; compiled > /Users/mattei/.cache/guile/ccache/2.2-LE-8-3.A/Volumes/Mojave/Users/mattei/Dropbox/git/library-FunctProg/gvector.scm.go > > scheme@(guile-user)> (define c2 (make )) > > scheme@(guile-user)> c2 > > $1 = #< 109e82500> > > scheme@(guile-user)> (describe c2) > > #< 109e82500> is an instance of class > > Slots are: > > v = #(# # # # > # # # #) > > length = 0 > > probably a module issue.... but i never use them with this Scheme > otherwise things go well (in other file ....) > Damien > > On Fri, Apr 30, 2021 at 9:55 AM Mikael Djurfeldt > wrote: > >> Hi! >> >> I attach a template which you could build on. Please post your class when >> you're done. :) >> >> Best regards, >> Mikael >> >> On Fri, Apr 30, 2021 at 1:11 AM Damien Mattei >> wrote: >> >>> hi, >>> i want to create a growable vector class in Guile, >>> such as std::vector or python list, >>> first i do not know if it exist already? seems not >>> >>> i want to use GOOPS but i do not understand how the superclass could be >>> accessed,used, instanciate... >>> for example in the doc there is: >>> (define-class () r i #:name "Complex") >>> >>> seems superclass is of no use >>> >>> for my growable vector i would like to use array as superclass? >>> but perhaps should it be just a slot as array are a subset of growable >>> array ,so a subclass >>> >>> anyway if i write something ike that: >>> (define-class () ..... >>> how can i use the object? >>> >>> i think perhaps i should not define a superclass or as super >>> class.... >>> any advice welcome... >>> >>> Damien >>> >>