Usually, if you want to refer to data files etc relative to the current module's file, a good solution is to use `define-runtime-path`. It uses `#%variable-reference` as the basis for its implementation, but adds other features like cooperation with `raco exe` (see docs for `define-runtime-path` near "an executable creator").
Ryan On Thu, Aug 26, 2021 at 4:51 PM Jeff Henrikson <[email protected]> wrote: > Racket users, > > Many software applications use their location in the filesystem to > establish filesystem relationships between their executable file, their > configuration and their data. For this purpose, C provides the first > element of the string array provided to main, python provides __file__, > bash provides ${BASH_SOURCE[0]}, etc. > > Racket strips said value before current-command-line-arguments receives > the subsequent command-line arguments from the operating system. > > A related value can be pulled from syntax-source as follows: > > (define-syntax (get-current-source stx) > (datum->syntax > (quote-syntax here) > (syntax-source stx) > stx)) > > Macro get-current-source works as intended if called at program startup > and the program is compiled on the fly with: > > racket program.rkt > > However get-current-source has the unintended property of memorizing the > original source location if the program is compiled with raco exe (and then > moved). > Is there a way in racket to obtain the path of the application program? > > > Jeff Henrikson > > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/racket-users/a076dfa2-d1a5-3cda-72ae-a30cdb91dc31%40gmail.com > <https://groups.google.com/d/msgid/racket-users/a076dfa2-d1a5-3cda-72ae-a30cdb91dc31%40gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/CANy33q%3D-suP4a_GKtBeBYWUS6P%3D-WNvDo5mFa1cAgFWUi6bEYQ%40mail.gmail.com.

