mirror of
https://codeberg.org/ProgramSnail/lang_2023.git
synced 2026-01-04 13:18:14 +00:00
typeclasses can have required methods and required functions
This commit is contained in:
parent
562541087e
commit
4882d458f8
11 changed files with 113 additions and 43 deletions
|
|
@ -1,14 +1,14 @@
|
|||
typeclass Copy =
|
||||
& copy : Copy -> Copy
|
||||
typeclass Default =
|
||||
& default : -> Copy
|
||||
|
||||
typeclass (Ord : #Eq) =
|
||||
& is_less_then : Ord -> Bool
|
||||
& var is_less_then : Ord -> Bool
|
||||
|
||||
typeclass (D : #A #B #C) 'A 'B =
|
||||
& do_something : -> (& 'A & 'B)
|
||||
& var do_something : -> (& 'A & 'B)
|
||||
|
||||
typeclass E 'A =
|
||||
& do_something : -> 'A
|
||||
& var do_something : -> 'A
|
||||
|
||||
decl ( == ) ('A : #Ord) : 'A -> 'A -> Bool
|
||||
def ( == ) : a b = a.is_equal_to: b
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue