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-a30cdb91dc31%40gmail.com.

Reply via email to