Interesting...I think you're the only one :) (or at least, you're the only one I know of)
It seems much easier for me to read forward: On Mon, Mar 21, 2011 at 5:48 PM, Rémi Forax <[email protected]> wrote: >> MethodHandle handle = Binder >> .from(String.class, Integer.class, Float.class, >> String.class) ...starting with (String, Integer, Float)String >> .drop(0, 2) ...drop at index zero, two elements, producing (String)String >> .reorder(0, 0) ...use element 0 twice, producing (String, String)String >> .invoke(target); ...invoke from this point > Am I the only one to have the brain wired backward ? > To understand your first example, I had to read your binder from the bottom > to the top. > I hope that's because I'm used to use the mh API. Permute is especially confusing (to me) because you're not permuting the arguments of the target handle, you're permuting incoming arguments based on a method type so that they match the target handle. Specifying the incoming handle is perhaps the most cumbersome part, and that disappears completely in the above example (since it can be determined from the previous calls). And then when combining multiple handles that all have to go backward, I often (usually!) forget what indices I should be using, what the handle type is at various points, and so on. The above example flows more naturally (to me!) with incoming arguments being massaged toward an eventual target. - Charlie _______________________________________________ mlvm-dev mailing list [email protected] http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
