From 2970520a9592b5c6d45291f54073552a474b71b4 Mon Sep 17 00:00:00 2001 From: Cody Date: Thu, 30 Mar 2023 02:44:54 -0500 Subject: Restructure --- tour/traits.sloth | 34 ---------------------------------- 1 file changed, 34 deletions(-) delete mode 100644 tour/traits.sloth (limited to 'tour/traits.sloth') diff --git a/tour/traits.sloth b/tour/traits.sloth deleted file mode 100644 index 80319de..0000000 --- a/tour/traits.sloth +++ /dev/null @@ -1,34 +0,0 @@ -# Much like Rust's traits or Haskell's type classes sloth uses a trait system for -# polymorphism. -trait BasicTrait { - fn add() -> i32; -} - -trait AddAssign: Add { - fn add_assign(value: i32, rhs: i32) -> i32; -} - -trait Add { - fn add(lhs: i32, rhs: i32) -> i32; - - default impl AddAssign { - fn add_assign(value: i32, rhs: i32) -> i32 { - return add(value, rhs); - } - } -} - -# In order to make implementing traits easier you can automatically derive traits. -# Types will implicitly derive from Debug, Copy, Eq and Ord if possible. -type Person = { - name: String, - age: i32, - hobbies: Set, -}; - -# You can easily derive from more traits using the `derive` keyword. -type Person derives Serialize, Deserialize = { - name: String, - age: i32, - hobbies: Set, -}; -- cgit v1.2.3