mirror of
https://codeberg.org/ProgramSnail/lang_2023.git
synced 2025-12-15 19:38:44 +00:00
variable namespace, function declaration fixes
This commit is contained in:
parent
c31b20fa24
commit
f973f65b5b
17 changed files with 511 additions and 98 deletions
|
|
@ -2,10 +2,7 @@ typeclass Copy =
|
|||
& copy : Copy -> Copy
|
||||
|
||||
typeclass (Ord : #Eq) =
|
||||
& ( < ) : Ord -> Ord -> Bool
|
||||
& ( > ) : Ord -> Ord -> Bool
|
||||
& ( <= ) : Ord -> Ord -> Bool
|
||||
& ( >= ) : Ord -> Ord -> Bool
|
||||
& is_less_then : Ord -> Bool
|
||||
|
||||
typeclass (D : #A #B #C) 'A 'B =
|
||||
& do_something : Unit -> (& 'A & 'B)
|
||||
|
|
@ -13,8 +10,17 @@ typeclass (D : #A #B #C) 'A 'B =
|
|||
typeclass E 'A =
|
||||
& do_something : Unit -> 'A
|
||||
|
||||
namespace const ord : Ord {
|
||||
def ( <= ) : a b = (a < b) || (a == b)
|
||||
def ( > ) : a b = !(a <= b)
|
||||
def ( >= ) : a b = !(a < b)
|
||||
}
|
||||
decl ( == ) ('A : #Ord) : 'A -> 'A -> Bool
|
||||
def ( == ) : a b = a.is_equal_to b
|
||||
|
||||
decl ( < ) ('A : #Ord) : 'A -> 'A -> Bool
|
||||
def ( < ) : a b = a.is_less_then b
|
||||
|
||||
decl ( > ) ('A : #Ord) : 'A -> 'A -> Bool
|
||||
def ( > ) : a b = !(a <= b)
|
||||
|
||||
decl ( <= ) ('A : #Ord) : 'A -> 'A -> Bool
|
||||
def ( <= ) : a b = (a < b) || (a == b)
|
||||
|
||||
decl ( >= ) ('A : #Ord) : 'A -> 'A -> Bool
|
||||
def ( >= ) : a b = !(a < b)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue