From 29933c5087a55999db7257bf767952803c3b344e Mon Sep 17 00:00:00 2001 From: "joel.vonderwe" <joel.von-der-weid@etu.hesge.ch> Date: Thu, 20 Feb 2020 15:58:07 +0100 Subject: [PATCH] Changed Predicate type --- base_tp/src/lambda/lambda.scala | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/base_tp/src/lambda/lambda.scala b/base_tp/src/lambda/lambda.scala index 29b38b5..4582d02 100644 --- a/base_tp/src/lambda/lambda.scala +++ b/base_tp/src/lambda/lambda.scala @@ -12,7 +12,7 @@ object Predicates { * La méthode 'not' retourne un nouveau prédicat dont le résultat * est toujours la négation du résultat de l'argument. */ - def not[A]( p: (A)=>Boolean ): (A)=>Boolean = { (a:A) => + def not[A]( p: P[A] ): P[A] = { (a:A) => !p(a) } @@ -20,7 +20,7 @@ object Predicates { * La méthode 'and' retourne un nouveau prédicat dont le résultat * est toujours la conjonction des résultats des deux arguments. */ - def and[A]( p1: (A)=>Boolean, p2: (A)=>Boolean ): (A)=>Boolean = { (a:A) => + def and[A]( p1: P[A], p2: P[A] ): P[A] = { (a:A) => p1(a) && p2(a) } @@ -28,7 +28,7 @@ object Predicates { * La fonction 'or' retourne un nouveau prédicat dont le résultat * est toujours la disjonction des résultats des deux arguments. */ - def or[A]( p1: (A)=>Boolean, p2: (A)=>Boolean ): (A)=>Boolean = { (a:A) => + def or[A]( p1: P[A], p2: P[A] ): P[A] = { (a:A) => p1(a) || p2(a) } @@ -37,7 +37,7 @@ object Predicates { * résultat est vrai si au moins un des prédicat de l'argument est * vrai. */ - def exists[A]( ps: List[(A)=>Boolean] ): (A)=>Boolean = { (a:A) => + def exists[A]( ps: List[P[A]] ): P[A] = { (a:A) => ps match { case p :: Nil => p(a) case p :: _ if p(a) => true @@ -50,7 +50,7 @@ object Predicates { * résultat est vrai si et seulement si tous les prédicats de * l'argument sont vrais. */ - def forall[A]( ps: List[(A)=>Boolean] ): (A)=>Boolean = { (a:A) => + def forall[A]( ps: List[P[A]] ): P[A] = { (a:A) => ps match { case p :: Nil => p(a) case p :: _ if !p(a) => false -- GitLab