Open EvanKirshenbaum opened 5 months ago
This issue was referenced by the following commits before migration:
Thinking about the interaction, a bit, I think that I want the built-ins to return functionals with incomplete arguments, so that you can say, e.g.,
add(w, 5uL of r1)
add(w, 5uL)
w : add(5uL of r1)
That is, if you only provide the liquid or volume, you get a function that takes a pipetting target and returns no value.
Thinking a bit more (and as a prompt for a new issue), it might be useful to have it be a general feature that if you use some distinguishing value for an argument to a function call (say _
), you get a function that binds all of the other values and takes a value for that position. That is, add(_, vol)
would be return a function that took an argument of the appropriate type and called add
with the volume bound as the second parameter.
Back in June (before my hours got reduced), I was working on #147, which was essentially this issue, but the implementation got tacked onto the end of #164, reifying off-board locations in the main body of the MPAM. Things have changed enough on the master branch that I don't want to take the time to try and get that stable and finished, but now that the OSU folks want to actually use macros that involve (manual) pipetting, it would be nice to re-import the macro language changes.
For reference, here's the original comment from #147:
Migrated from internal repository. Originally created by @EvanKirshenbaum on Jan 30, 2023 at 10:49 AM PST.