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 <gvector>)) ;;; <stdin>:2:11: warning: possibly unbound variable `make' ;;; <stdin>:2:11: warning: possibly unbound variable `<gvector>' <unnamed port>: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 <gvector>)) scheme@(guile-user)> c2 $1 = #<<gvector> 109e82500> scheme@(guile-user)> (describe c2) #<<gvector> 109e82500> is an instance of class <gvector> Slots are: v = #(#<unspecified> #<unspecified> #<unspecified> #<unspecified> #<unspecified> #<unspecified> #<unspecified> #<unspecified>) 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 <mik...@djurfeldt.com> 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 <damien.mat...@gmail.com> > 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 <my-complex> (<number>) r i #:name "Complex") >> >> seems <number> 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 <gvector> (<array>) ..... >> how can i use the <array> object? >> >> i think perhaps i should not define a superclass or <object> as super >> class.... >> any advice welcome... >> >> Damien >> >