plum

#treesitter#compiler#wasm

git clone https://git.pyrossh.dev/plum

A statically typed, imperative programming language inspired by rust, python


plum-tooling/tree-sitter-plum/test/corpus/trait.txt
59e3de6 1
================================================================================
59e3de6 2
trait
59e3de6 3
================================================================================
59e3de6 4
59e3de6 5
trait ToStr =
59e3de6 6
  toStr() -> Str
59e3de6 7
59e3de6 8
trait Animal =
59e3de6 9
  speak() -> Str
59e3de6 10
  legs() -> Int
59e3de6 11
  walk()
59e3de6 12
  eat(food: FoodType) -> Unit
59e3de6 13
59e3de6 14
--------------------------------------------------------------------------------
59e3de6 15
59e3de6 16
(source
59e3de6 17
  (trait
59e3de6 18
    (type_identifier)
59e3de6 19
    (field
59e3de6 20
      (fn_identifier)
8f91d27 21
      (type
59e3de6 22
        (type_identifier))))
59e3de6 23
  (trait
59e3de6 24
    (type_identifier)
59e3de6 25
    (field
59e3de6 26
      (fn_identifier)
8f91d27 27
      (type
59e3de6 28
        (type_identifier)))
59e3de6 29
    (field
59e3de6 30
      (fn_identifier)
8f91d27 31
      (type
59e3de6 32
        (type_identifier)))
59e3de6 33
    (field
59e3de6 34
      (fn_identifier))
59e3de6 35
    (field
59e3de6 36
      (fn_identifier)
59e3de6 37
      (param
59e3de6 38
        (var_identifier)
59e3de6 39
        (type
59e3de6 40
          (type_identifier)))
8f91d27 41
      (type
59e3de6 42
        (type_identifier)))))