From dbc3a556409828176e900c2ef70d1fe60095b340 Mon Sep 17 00:00:00 2001 From: mariari Date: Fri, 8 Nov 2024 13:40:36 +0800 Subject: [PATCH] Move Phead to List Base --- Stdlib/Data/List.juvix | 5 ----- Stdlib/Data/List/Base.juvix | 6 ++++++ 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Stdlib/Data/List.juvix b/Stdlib/Data/List.juvix index f62aa06d..0091378d 100644 --- a/Stdlib/Data/List.juvix +++ b/Stdlib/Data/List.juvix @@ -16,11 +16,6 @@ import Stdlib.Trait.Foldable open using { fromPolymorphicFoldable; }; ---- 𝒪(1). Partial function that returns the first element of a ;List;. -phead {A} {{Partial}} : List A -> A - | (x :: _) := x - | nil := fail "head: empty list"; - instance eqListI {A} {{Eq A}} : Eq (List A) := let diff --git a/Stdlib/Data/List/Base.juvix b/Stdlib/Data/List/Base.juvix index bc8d0900..425a850b 100644 --- a/Stdlib/Data/List/Base.juvix +++ b/Stdlib/Data/List/Base.juvix @@ -7,6 +7,7 @@ import Stdlib.Function open; import Stdlib.Data.Nat.Base open; import Stdlib.Data.Maybe.Base open; import Stdlib.Trait.Ord open; +import Stdlib.Trait.Partial open; import Stdlib.Data.Pair.Base open; --- 𝒪(𝓃). Returns ;true; if the given object elem is in the ;List;. @@ -165,6 +166,11 @@ head {A} (defaultValue : A) (list : List A) : A := | x :: _ := x | nil := defaultValue; +--- 𝒪(1). Partial function that returns the first element of a ;List;. +phead {A} {{Partial}} : List A -> A + | (x :: _) := x + | nil := fail "head: empty list"; + syntax iterator any {init := 0; range := 1}; --- 𝒪(𝓃). Returns ;true; if at least one element of the ;List; satisfies the predicate.