Although it is not necessary. Forget . Not required anymore.

2018-07-05 11:35 GMT+03:00 Kostirya <kosti...@gmail.com>:
> Hello. Let's take into account Env to load files in use function?
>
>
>> diff -u FinalPolyML.sml_orig  FinalPolyML.sml
> --- FinalPolyML.sml_orig        2018-07-05 11:17:32.489398000 +0300
> +++ FinalPolyML.sml     2018-07-05 11:20:20.012445000 +0300
> @@ -674,6 +674,7 @@
>      end
>
>      val suffixes = ref ["", ".ML", ".sml"]
> +    val paths = ref ["POLYML_LIB", "SMACKAGE_HOME", "SMACKAGE"]
>
>
>      
> (*****************************************************************************)
> @@ -689,15 +690,20 @@
>          (* We use the functional layer and a reference here rather
> than TextIO.input1 because
>             that requires locking round every read to make it
> thread-safe.  We know there's
>             only one thread accessing the stream so we don't need it here. *)
> -        fun trySuffixes [] =
> +        fun trySuffixes name [] =
>              (* Not found - attempt to open the original and pass back the
>                 exception. *)
>              (TextIO.getInstream(TextIO.openIn originalName), originalName)
> -         |  trySuffixes (s::l) =
> +         |  trySuffixes name (s::l) =
>              (TextIO.getInstream(TextIO.openIn (originalName ^ s)),
> originalName ^ s)
> -                handle IO.Io _ => trySuffixes l
> +                handle IO.Io _ => trySuffixes name l
> +
>          (* First in list is the name with no suffix. *)
> -        val (inStream, fileName) = trySuffixes("" :: ! suffixes)
> +        fun tryPath name [] = trySuffixes name ("" :: ! suffixes)
> +         |  tryPath name (p::ps) = trySuffixes (p ^ name) ("" :: !
> suffixes) handle IO.Io _ => tryPath name ps
> +
> +        val (inStream, fileName) = tryPath originalName (rev (foldl
> (fn (p, r) => case OS.Process.getEnv p of NONE => r | SOME p => p ^
> "/"::r) [""] (!paths)))
> +
>          val stream = ref inStream
>          (* Record the file name.  This allows nested calls to "use" to set 
> the
>             correct path. *)
>>
_______________________________________________
polyml mailing list
polyml@inf.ed.ac.uk
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml

Reply via email to