<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
This is now filed as enhancement bug 1225 and assigned to you,
Mihael. The description has been revised as you suggested, to
propose that the feature be first done using simple_mapper rather
than a new mapper.<br>
<br>
- Mike<br>
<br>
<span style="color: rgb(0, 0, 0); font-family: Helvetica, Arial,
Geneva; font-size: 17px; font-style: normal; font-variant: normal;
font-weight: bold; letter-spacing: normal; line-height: normal;
orphans: auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
background-color: rgb(208, 208, 208); display: inline !important;
float: none;"><span class="Apple-converted-space"></span></span>
<div class="moz-cite-prefix">On 3/21/14, 8:39 AM, Michael Wilde
wrote:<br>
</div>
<blockquote cite="mid:532C410C.5080309@anl.gov" type="cite">
<div class="moz-text-flowed" style="font-family: -moz-fixed;
font-size: 12px;" lang="x-western">Mihael, All,
<br>
<br>
I'd like to propose a Swift/K feature to provide a reasonable
solution to this very common need for an app to return a
dynamically determined set of files.
<br>
<br>
file dynarry[ ] <runtime; prefix="myoutput.", suffix=".out",
indexes="int">;
<br>
<br>
dynarry = myApp(myArgs);
<br>
<br>
The "runtime" mapper should initially have the same arguments
and semantics (roughly) as simple_mapper, except for two new
arguments:
<br>
<br>
"indexes" which determines how the matched file names will be
indexed in the returned array
<br>
"int" | "string" | "sequential"
<br>
sequential: return the matched files as consecutive integer
indices starting with 0
<br>
int: expect the filename component between prefix and suffix to
be convertible to an integer, and use that as the index
<br>
eg myfile.012.out and myfile.204.out will return an array with
the mapped files at indices 12 and 204.
<br>
string: similar to int but return a string-indexed associative
array.
<br>
"sequential" is simplest and should be the default.
<br>
<br>
"paths" which determines if the match names will be absolute or
relative to the job dir
<br>
paths="relative" | "absolute"
<br>
(may not be needed if this can be determined uniquely based on
the location argument.
<br>
<br>
swiftwrap will allow array variables mapped in this manner to
have any number of files, including zero. I.e. "runtime-mapped"
files should not be listed in the expected output list for an
app invocation. Its up to the users app to ensure that some
files match the pattern. An additional arg could set e.g.
minfiles and/or maxfiles, in which case the wrapper code needs
to validate the count of files matched and returned, but not
their exact names.
<br>
<br>
We can call this mapper "experimental" until we validate its
usability and suitability as a permanent feature. But as we hope
to revise the entire mapper family and semantics, in a sense all
mappers are subject to change.
<br>
<br>
Mihael, is the definition sound, and how long would it take you
to develop it?
<br>
<br>
Thanks,
<br>
<br>
- Mike
<br>
<br>
</div>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Michael Wilde
Mathematics and Computer Science Computation Institute
Argonne National Laboratory The University of Chicago
</pre>
</body>
</html>