From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com [IPv6:2a00:1450:4864:20::630]) by sourceware.org (Postfix) with ESMTPS id 485223858401 for ; Sat, 14 Oct 2023 06:54:11 +0000 (GMT) ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 485223858401 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::630 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1697266453; cv=none; b=u30cOF1xKAWa3vp6PUqUMo//YsmDvnuyoecGQ2xXmxMRMnoYC6hQWCGGPuitEHnUU6aHh/cn61txECn4cYC22yq63uYvAuTo+Q7vrTQct6gS2Uxu/2KSOkQhecpR7X3P7Ycj7ypqdeznXEau1BxuOSu07ZzMugXjffp7pzid9/g= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1697266453; c=relaxed/simple; bh=ePWATPR9eM3Yo4wpD7Z7UZodlrRKcehlkeJzeb+FaDU=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=B0EOx7XSAA2/TEBGpNeTE2VSMIQEWX6U7tzvdYgHqwjP80c89NWMOeyR/bIw7UcK6LpgiERPO1EcGVQQLWX9HmsnWjFDbFHj/BpPHqyuHCs67NLy1Mhw9BLBFudo4QybQmuiIMei2XXa1SNl9KiXOdFcNKj5RZfGqEtD96oGaZ0= ARC-Authentication-Results: i=1; server2.sourceware.org DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 485223858401 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ej1-x630.google.com with SMTP id a640c23a62f3a-9b96c3b4be4so426705666b.1 for ; Fri, 13 Oct 2023 23:54:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1697266450; x=1697871250; darn=sourceware.org; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=8pHlfjpC9bXvH9iuuie7+5wM7Pu4utkd/Fgj5drSPAg=; b=b4XHSpIowXgpZEympUWLcLeiqWd+HB3ec+nFvcAGL1N7bUSGoPToz/GTA88BhZE23A ITkROtgQPs9YkFvOLkJqpGlXG18ntZBbAXsN1gmkAxzCcsWedcA473lTiWOSwo1xFAx+ S7DgBiAprw79rpHUnKkLiARGiVo6N1ISAIYlxHN0Ndxh2+TwQ0WLIiD5wR6h1toMb/Pa LkcseRPlHifAn/s8Fnq5XaKRbeXP8Xn+qGdMlXDwmDtz7Ph4iGskCBG+VJtJm+pvmqF2 5vFb08xEjptEvfipk7w4CP4GKFGFT7IvHh2PQAnNy07J6ZUvu/4CAqQrUvTrpjk94pZe D8BQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697266450; x=1697871250; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8pHlfjpC9bXvH9iuuie7+5wM7Pu4utkd/Fgj5drSPAg=; b=TE+CMQBvWrXUqWlWl3KmDLAsnbgTi2GMtfhjuYmlgPyk8r2ua/t7z5w3gtBzXlfhmB tLVuFOKR76yCM1Hf9wHrxRoO5MobyZnVKprvROwKm4Y2hmKjVUX7BDf/LEH0/IvW4L10 sEnUyxKiJXdT9WmwU8wV/ppFbSJWzv0r9NWHbr3wvgRWa4c7qeOSJJJHjhOtoJLjJM/J 690iL+Xsqn+T6rDV/YRlYUyRpjN4ot0+Ke3LQOe52W3158BjWX8Z9+sOWaeAGEZh4JUF gBplD8+2JqR7B4iKmLcczG6HYBFjg9AWIs4QXcP8MhGQaTCfhhxNO36l8Yln/etwpNnj jeLQ== X-Gm-Message-State: AOJu0YykcOiY8ziwTijz7jx1dAcyzGSvBbdeR6WKnDOSkQdUKCz9EK+d ol9MMxqEC6ARwemPrk/WDkglwyEf14GlAq9D/hjgIgSbS/4= X-Google-Smtp-Source: AGHT+IFMsRe/qWf/8Bxpmn49bETVGkogHjkruRuErWDX/UgAaeUNdEJdn/xUrQM1dVbRK9sxPyFH4MXMz434W+6EWpI= X-Received: by 2002:a17:906:1db2:b0:9ba:2b14:44fb with SMTP id u18-20020a1709061db200b009ba2b1444fbmr12360501ejh.47.1697266449478; Fri, 13 Oct 2023 23:54:09 -0700 (PDT) MIME-Version: 1.0 References: <87ttqu38e2.fsf@gmail.com> In-Reply-To: From: Damien Mattei Date: Sat, 14 Oct 2023 08:53:58 +0200 Message-ID: Subject: Re: include files To: kawa mailing list , Alcides Flores Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-0.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: 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=3D".:/Users/mattei/Dropbox/git/Scheme-PLUS-for-Kawa" #|kawa:1|# (require overload) /Users/mattei/Library/CloudStorage/Dropbox/git/Scheme-PLUS-for-Kawa/overloa= d.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=E2=80=AFPM Damien Mattei 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=3D".:/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_b= y_vectors4kawa+.scm") > > works > > On Fri, Oct 13, 2023 at 4:27=E2=80=AFPM Alcides Flores 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/module= s 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=C3=B3: > > > > > 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 relativ= e > > > path file it fails: > > > > > > #|kawa:4|# (load > > > "exo_retropropagationNhidden_layers_matrix_v2_by_vectors4kawa+.scm") > > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Sc= heme-PLUS-for-Kawa/Scheme+.scm:38:10: > > > cannot open file "./rec.scm" > > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Sc= heme-PLUS-for-Kawa/Scheme+.scm:39:19: > > > cannot open file "./def.scm" > > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Sc= heme-PLUS-for-Kawa/Scheme+.scm:40:19: > > > cannot open file "./set-values-plus.scm" > > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Sc= heme-PLUS-for-Kawa/Scheme+.scm:41:19: > > > cannot open file "./for_next_step.scm" > > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Sc= heme-PLUS-for-Kawa/Scheme+.scm:42:19: > > > cannot open file "./declare.scm" > > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Sc= heme-PLUS-for-Kawa/Scheme+.scm:43:19: > > > cannot open file "./condx.scm" > > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Sc= heme-PLUS-for-Kawa/Scheme+.scm:44:19: > > > cannot open file "./block.scm" > > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Sc= heme-PLUS-for-Kawa/Scheme+.scm:45:19: > > > cannot open file "./not-equal.scm" > > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Sc= heme-PLUS-for-Kawa/Scheme+.scm:46:19: > > > cannot open file "./exponential.scm" > > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Sc= heme-PLUS-for-Kawa/Scheme+.scm:47:19: > > > cannot open file "./while-do-when-unless.scm" > > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Sc= heme-PLUS-for-Kawa/Scheme+.scm:48:19: > > > cannot open file "./repeat-until.scm" > > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Sc= heme-PLUS-for-Kawa/Scheme+.scm:49:19: > > > cannot open file "./modulo.scm" > > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Sc= heme-PLUS-for-Kawa/Scheme+.scm:50:19: > > > cannot open file "./bitwise.scm" > > > /Users/mattei/Library/CloudStorage/Dropbox/git/AI_Deep_Learning/../Sc= heme-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=C3=A9tro-propagation du gradient dans un > > > ; r=C3=A9seau de neurones avec N couches cach=C3=A9es. > > > > > > ; 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_vectors= 4kawa+.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....