# checking native implementation first
@USE
366_dir/test.p
# parser implementation of native ^use[] logic
@use[name;options][origin;mi;first;path]
$result[]
^if(^name.left(1) eq '/'){
^include[$name]
}{
$origin[$options.origin]
^if(!def $origin){
$mi[^reflection:method_info[$caller.method]]
$origin[$mi.file]
}
$origin[/^origin.mid(^request:document-root.length[])]
$first[^file:dirname[$origin]/$name]
^if(-f $first){
^include[$first]
}($CLASS_PATH is table && $CLASS_PATH){
^CLASS_PATH.menu{
$path[$CLASS_PATH.path/$name]
^if(-f $path){
^include[$path]
$name[]
^break[]
}
}
^if(def $name){
^throw[use;'$name' not found along ^$MAIN:CLASS_PATH]
}
}{
^throw[use;'$name' usage failed - no ^$MAIN:CLASS_PATH were specified]
}
}
@include[filename][file]
$filename[^filename.replace[//;/]]
^if(!$USED.$filename){
$file[^file::load[text;$filename]]
^process[$MAIN:CLASS]{^taint[as-is][$file.text]}[ $.file[$filename] ]
$USED[$USED $.$filename(true)]
}
@main[]
native LOG: $LOG
$LOG[]
^use[366_dir/test.p]
parser LOG: $LOG
E-mail: