Quite often, we might want to work with collections of J scripts which
are outside the standard J system and user directories.

It's quite possible, though obscure, to use introspection (4!:4 and
4!:3) to locate scripts relative to the currently executing script.

It would probably be better to make this be an explicitly supported
feature of J's load verb.

Specifically, I would like to propose that while load is executing,
jpath would expand ~dir/ to be the innermost referenced directory of
the currently executing load.

In other words:something like

load=: {{
  0 load y
:
  fls=. getscripts_j_ y
  fn=. ('script',x#'d')~
  for_fl. fls do.
    SystemFolders_j_=: SystemFolders_j_,~ 'dir';fpath_j_;fl
    if. Displayload_j_ do. echo;fl end.
    if. -. fexist fl do.
      echo 'not found: ',;fl
    end.
    fn fl
    SystemFolders_j_=: (<<<({."1 SystemFolders_j_)i.<'dir') { SystemFolders_j_
    Loaded_j_=: ~. Loaded_j_,fl
  end.
  EMPTY
}}

Thoughts? Objections? Improvements?

Thanks,

-- 
Raul
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to