The analog to the first argument to main in C is (find-system-path 'run-file)
I think that's probably what you want. Something closer to `get-current-source` but adapting to a run-time file is (variable-reference->module-source (#%variable-reference)) Here, `(#%variable-reference)` is the primitive form that obtains a connection to the enclosing module at run time. If you create an executable with `raco exe`, though, the "source" of the module will be a symbolic name instead of a path, because a module that's embedded in an executable doesn't have a file identity anymore. At Thu, 26 Aug 2021 07:51:35 -0700, Jeff Henrikson 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 racket-users+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/racket-users/a076dfa2-d1a5-3cda-72ae-a30cdb91d > c31%40gmail.com. -- 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 racket-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/20210826091451.14%40sirmail.smtps.cs.utah.edu.