HPInc / HP-Digital-Microfluidics

HP Digital Microfluidics Software Platform and Libraries
MIT License
2 stars 0 forks source link

Distinct injection syntax for pass-through calls #241

Open EvanKirshenbaum opened 5 months ago

EvanKirshenbaum commented 5 months ago

When fixing an extraction point transfer bug (#240), I switched Well.remove() to return the liquid removed rather than itself (because otherwise you can't get it and you can always stash the well away before calling).

This got me thinking that it might be worthwhile to have a separate syntax (::?) for "Call this function and pass this in as the first argument, but just pass the argument through to the next function in the chain rather than using the resulting value". This is the normal value if the function doesn't return a value, but it could be useful to be able to say things like

w :: transfer out(5uL) : dispense drop;

Alternatively, and possibly more clearly, we can use : for this and something like -> to mean "and send the value here".

Migrated from internal repository. Originally created by @EvanKirshenbaum on Feb 07, 2023 at 6:05 PM PST.