@Uriel Because the dfn in ⌽{⍺¨⍵} doesn't have a left argument. the ⌽ will only apply to the result of the dfn. In other words, the curly braces cannot "catch" a function other than as operand. Functions take data as arguments while operators can take both data and functions as operands.
@KritixiLithos But as I responded, a snippet would not even prompt for input, but assume the variables already to have values, as stated by the author of the comment that TN linked to, in a post that that author linked to.
@TwiNight So what exactly is your code? It sure looks like a tradfn body to me!
@TwiNight You can remove +.×1 0J1 and take input as 4-element vectors of xJy Complex numbers in Dyalog APL are the closest thing to tuples (which OP allowed). They are actually implemented as pairs of floats.
Can you run Dyalog APL scripts from the command-line?
I know you can do dyalog workspace.the_extension_for_workspaces_I_forgot_what_it_was for workspaces, but that only enters the interactive session in the workspace
@TwiNight You can pipe into the session, but then you don't need ⎕← either: Try it online!
@KritixiLithos ^
@KritixiLithos .dws and if ⎕LX (Latent Expression) has a value in that workspace, the interpreter will do ⍎⎕LX automatically. You could also pipe in an expression to bootstrap.