[prev in list] [next in list] [prev in thread] [next in thread] 

List:       haskell-fr
Subject:    [Haskell-fr] lagrange
From:       westondan () imageworks ! com (Dan Weston)
Date:       2007-09-25 21:00:07
Message-ID: 46F9AE53.8020605 () imageworks ! com
[Download RAW message or body]

 > Ce d?pend de ce que le ($) a une pr?c?dence inf?rieure ? celle de (.),
 > fix?e ? 9 dans le Pr?lude par "infixr 9 .", pars? comme:
 >
 >  (addition a . addition) b $ c

Evidemment je voulais ?crire:

 >  (addition a . addition b) $ c

Dan Weston wrote:
> 
>  > addition a $ addition b c
> 
> Aussi on voit parfois
> 
>   addition a $ addition b $ c
> 
> Ce dernier d?pend de ce que le ($) s'associe vers la droite, fix? dans 
> le Pr?lude par le r ? la fin de infixr, pars? comme:
> 
>  addition a $ (addition b $ c)
> 
> Le plus souvent, je vois
> 
>   addition a . addition b $ c
> 
> Ce d?pend de ce que le ($) a une pr?c?dence inf?rieure ? celle de (.), 
> fix?e ? 9 dans le Pr?lude par "infixr 9 .", pars? comme:
> 
>  (addition a . addition) b $ c
> 
> Enfin, il faut trouver un style qui te conviennes et y tenir. Moi, je 
> pr?f?re ce dernier.
> 
> Dan
> 
> Olivier Thauvin wrote:
>> Le mardi 25 septembre 2007, Dan Weston a ?crit :
>>> L'op?rateur ($) n'est que l'application (d'une fonction) ? basse
>>> pr?c?dence, dont la d?finition est assez simple:
>>>
>>> infixr 0  $
>>> f $ x = f x
>>>
>>> C'est la premi?re ligne qui co?te. La pr?c?dence de l'application est 10
>>> (la plus haute), tandis que la pr?c?dence de ($) est 0 (la plus basse).
>>>
>>> E.g.,  f . g . h . k $ x = f (g (h (k x)))
>>>
>>> ($) sert ? obvier aux parenth?ses et ? un style point-free qui est (pour
>>> moi au moins) plus compr?hensible et ?l?gant, mais tous les deux sont
>>> traduits identiquement.
>>
>> Si je peux me permettre, je vais donner un exemple extr?mement simple:
>>
>> addition a b = a + b
>>
>> addition a addition c d
>>
>> Sur cette deuxi?me ligne, haskell va r?ler du style "addition prends 2 
>> arguments, pas 4". Le '$' permet d'?crire:
>>
>> addition a $ addition b c
>>
>> on a alors "a" et "addition b c", ce qui ne fait plus que deux 
>> argument au premier "addition".
>>
>> Le '.' j'ai encore du mal ;)
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Haskell-fr mailing list
>> Haskell-fr@haskell.org
>> http://www.haskell.org/mailman/listinfo/haskell-fr
> 
> 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic