data una funzione per l'uso infisso:`argomenti flip` di linea applicazione infisso
let f a b = (a+10, b)
f 4 5
=> (14,5)
4 `f` 5
=> (14,5)
Gli argomenti possono essere capovolte attraverso la definizione di una funzione di supporto:
let g = flip f
4 `g` 5
=> (15,4)
E 'possibile fare questo in linea ?
4 `flip f` 5
=> parse error on input `f'
4 `(flip f)` 5
=> parse error on input `('
mio caso d'uso è Control.Arrow.first
. Invece di
(+10) `first` (7,8)
(17,8)
io preferirei una soluzione-application-stile in avanti come
(7,8) `forwardFirst` (+10)
senza bisogno di scrivere
let forwardFirst = flip first
Qual è il tuo usa il caso per voler fare questo, dato che hai già definito 'g'? –
Ho appena aggiunto il mio caso d'uso. :) –
Questa non è una risposta diretta alla tua domanda, ma puoi scriverla come '(7,8) e _1% ~ (+10)' usando l'obiettivo. Certo, puoi semplicemente usare '&' e scriverlo come '(7,8) e primo (+10)'. È qualcosa di simile a quello che vuoi? – snak