public inbox for kawa@sourceware.org
 help / color / mirror / Atom feed
From: Damien Mattei <damien.mattei@gmail.com>
To: kawa mailing list <kawa@sourceware.org>,
	Alcides Flores <alcides.fp@gmail.com>
Subject: Re: include files
Date: Sat, 14 Oct 2023 08:53:58 +0200	[thread overview]
Message-ID: <CADEOadfrjJRu4fci8oBUhZttOyUC6W4m2CCGThX767gLSasLLg@mail.gmail.com> (raw)
In-Reply-To: <CADEOade8MDuP2CuU+Ymsi1QyJ0POuXrpKAHJtNTxf-pQhUoWfg@mail.gmail.com>

your solution works with fixing the path to the library dir as shown
in this example and counter-example:

(base) mattei@MacBook-Pro-Touch-Bar AI_Deep_Learning % kawa --r5rs
#|kawa:1|# (require overload)
/dev/tty:1:1: unknown library (overload)
#|kawa:2|# (exit)

(base) mattei@MacBook-Pro-Touch-Bar AI_Deep_Learning % kawa --r5rs
-Dkawa.import.path=".:/Users/mattei/Dropbox/git/Scheme-PLUS-for-Kawa"
#|kawa:1|# (require overload)
/Users/mattei/Library/CloudStorage/Dropbox/git/Scheme-PLUS-for-Kawa/overload.scm:401:10:
warning - no use of
find-getter-and-setter-for-overloaded-square-brackets



also this solution works, including all files without recursive
includes because they are not related to the place of the including
file but from the place of the root dir of the main file.

(require 'srfi-1) ; any,every
(require 'srfi-69) ;; hash table

;; try include , use include-relative if problems
(include "../Scheme-PLUS-for-Kawa/rec.scm") ; rec does  not exist in
Kawa (no SRFI 31)
(include "../Scheme-PLUS-for-Kawa/def.scm")
(include "../Scheme-PLUS-for-Kawa/set-values-plus.scm")
(include "../Scheme-PLUS-for-Kawa/for_next_step.scm")
(include "../Scheme-PLUS-for-Kawa/declare.scm")
(include "../Scheme-PLUS-for-Kawa/condx.scm")
(include "../Scheme-PLUS-for-Kawa/block.scm")
(include "../Scheme-PLUS-for-Kawa/not-equal.scm")
(include "../Scheme-PLUS-for-Kawa/exponential.scm")
(include "../Scheme-PLUS-for-Kawa/while-do-when-unless.scm")
(include "../Scheme-PLUS-for-Kawa/repeat-until.scm")
(include "../Scheme-PLUS-for-Kawa/modulo.scm")
(include "../Scheme-PLUS-for-Kawa/bitwise.scm")


(include "../Scheme-PLUS-for-Kawa/slice.scm")

(include "../Scheme-PLUS-for-Kawa/scheme-infix.scm")

(include "../Scheme-PLUS-for-Kawa/assignment.scm")
(include "../Scheme-PLUS-for-Kawa/apply-square-brackets.scm")

(include "../Scheme-PLUS-for-Kawa/array.scm")


i will soon test the module solution again with 'require o 'import as
i need to port the matrix module from Guile or Racket to Kawa

for now testing with include is more easy.

On Fri, Oct 13, 2023 at 8:59 PM Damien Mattei <damien.mattei@gmail.com> wrote:
>
> i suppose it would work if my files defined modules inside but they
> are just include.
>
> for now the solutions i found are:
> -lauch the app from my Scheme+ directory so Scheme+ could find all its
> include (but if i have other includes from other directory (example
> matrix lib) it will not be possible
> -remove any include containing itself include and put all necessary
> include in the main file
>
> -use real module as java library classes, compile the code and launch
> kawa by java, the problem will then be solved as a java project with
> java solutions available.
>
> i tried  this too with or without success:
>
> kawa --r5rs -Dkawa.import.path=".:/Users/mattei/Dropbox/git/Scheme-PLUS-for-Kawa"
>
> do not works
>
> (base) mattei@MacBook-Pro-Touch-Bar Scheme-PLUS-for-Kawa % pwd
> /Users/mattei/Dropbox/git/Scheme-PLUS-for-Kawa
> kawa --r5rs
> (load "../AI_Deep_Learning/exo_retropropagationNhidden_layers_matrix_v2_by_vectors4kawa+.scm")
>
> works
>
> On Fri, Oct 13, 2023 at 4:27 PM Alcides Flores <alcides.fp@gmail.com> wrote:
> >
> > Hello Damien
> >
> > In the case you mention. Have you tried using require for that? I have always used it successfully in such situations. I.e. importing units/modules in paths relative to the current directory of the module(s).
> >
> > (require "my-scheme-file.scm")
> > (require "some-dir/scheme-file1.scm")
> > (require "another-dir/scheme-file2.scm")
> >
> > Greetings.
> >
> >
> > --
> > Alcides Flores.
> >
> >
> > El vie, oct 13 2023, Damien Mattei via Kawa escribió:
> >
> > > it is a problem i had long time ago on another kawa project, how can i
> > > include a file relative to the included file, it works for first
> > > included file but if the latter included file include another relative
> > > path file it fails:
> > >
> > > #|kawa:4|# (load
> > > "exo_retropropagationNhidden_layers_matrix_v2_by_vectors4kawa+.scm")
> > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Scheme-PLUS-for-Kawa/Scheme+.scm:38:10:
> > > cannot open file "./rec.scm"
> > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Scheme-PLUS-for-Kawa/Scheme+.scm:39:19:
> > > cannot open file "./def.scm"
> > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Scheme-PLUS-for-Kawa/Scheme+.scm:40:19:
> > > cannot open file "./set-values-plus.scm"
> > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Scheme-PLUS-for-Kawa/Scheme+.scm:41:19:
> > > cannot open file "./for_next_step.scm"
> > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Scheme-PLUS-for-Kawa/Scheme+.scm:42:19:
> > > cannot open file "./declare.scm"
> > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Scheme-PLUS-for-Kawa/Scheme+.scm:43:19:
> > > cannot open file "./condx.scm"
> > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Scheme-PLUS-for-Kawa/Scheme+.scm:44:19:
> > > cannot open file "./block.scm"
> > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Scheme-PLUS-for-Kawa/Scheme+.scm:45:19:
> > > cannot open file "./not-equal.scm"
> > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Scheme-PLUS-for-Kawa/Scheme+.scm:46:19:
> > > cannot open file "./exponential.scm"
> > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Scheme-PLUS-for-Kawa/Scheme+.scm:47:19:
> > > cannot open file "./while-do-when-unless.scm"
> > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Scheme-PLUS-for-Kawa/Scheme+.scm:48:19:
> > > cannot open file "./repeat-until.scm"
> > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Scheme-PLUS-for-Kawa/Scheme+.scm:49:19:
> > > cannot open file "./modulo.scm"
> > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Scheme-PLUS-for-Kawa/Scheme+.scm:50:19:
> > > cannot open file "./bitwise.scm"
> > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Scheme-PLUS-for-Kawa/Scheme+.scm:53:19:
> > > cannot open file "./slice.scm"
> > >
> > > file Scheme+.scm:
> > >
> > >
> > > ;; (load "Scheme+.scm")
> > > ;; (load "scheme-infix.scm")
> > > ;; (load "assignment.scm")
> > > ;; (load "apply-square-brackets.scm")
> > > ;; (load "array.scm")
> > >
> > > (require 'srfi-1)
> > > (require 'srfi-69) ;; hash table
> > >
> > > ;; try relative , use include-relative-relative if problems
> > > (include "./rec.scm") ; rec does  not exist in Kawa (no SRFI 31)
> > > (include-relative "./def.scm")
> > > (include-relative "./set-values-plus.scm")
> > > (include-relative "./for_next_step.scm")
> > > (include-relative "./declare.scm")
> > > (include-relative "./condx.scm")
> > > (include-relative "./block.scm")
> > > (include-relative "./not-equal.scm")
> > > (include-relative "./exponential.scm")
> > > (include-relative "./while-do-when-unless.scm")
> > > (include-relative "./repeat-until.scm")
> > > (include-relative "./modulo.scm")
> > > (include-relative "./bitwise.scm")
> > >
> > >
> > > (include-relative "./slice.scm")
> > >
> > > file:  exo_retropropagationNhidden_layers_matrix_v2_by_vectors4kawa+.scm
> > >
> > > ; Deep Learning : back propagation, gradient descent, neural network
> > > with N hidden layers
> > >
> > > ; L'algorithme de rétro-propagation du gradient dans un
> > > ; réseau de neurones avec N couches cachées.
> > >
> > > ;  D. Mattei
> > >
> > >
> > > ; use MacVim to show ALL the characters of this file (not Emacs, not Aquamacs)
> > > ; jeu de couleurs: Torte ou Koehler
> > >
> > > ; use: (load "exo_retropropagationNhidden_layers_matrix_v2_by_vectors4kawa+.scm")
> > >
> > > (include-relative "../Scheme-PLUS-for-Kawa/Scheme+.scm")
> > >
> > > (include-relative "../Scheme-PLUS-for-Kawa/scheme-infix.scm")
> > >
> > > (include-relative "../Scheme-PLUS-for-Kawa/assignment.scm")
> > > (include-relative "../Scheme-PLUS-for-Kawa/apply-square-brackets.scm")
> > >
> > > (include-relative "../Scheme-PLUS-for-Kawa/array.scm")
> > >
> > >
> > > i know i can , and used module for Scheme+ but ,for now i prefer
> > > testing with included files and any way scheme-infix assignment
> > > apply-square-brackets required to be included  at user  or main
> > > definition level as it modify the environment and scheme+ used a
> > > modified reader before that too....

      reply	other threads:[~2023-10-14  6:54 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-13  6:50 Damien Mattei
2023-10-13 14:27 ` Alcides Flores
2023-10-13 18:59   ` Damien Mattei
2023-10-14  6:53     ` Damien Mattei [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CADEOadfrjJRu4fci8oBUhZttOyUC6W4m2CCGThX767gLSasLLg@mail.gmail.com \
    --to=damien.mattei@gmail.com \
    --cc=alcides.fp@gmail.com \
    --cc=kawa@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).