Edit

kc3-lang/kc3/doc/1_KC3/1.5_List.en.md

Branch :

  • doc/1_KC3/1.5_List.en.md
  • # 1.5 List
    
    Linked lists owning the data (each node contains a couple of tags :
    one for data and one for next pointer.
    
    Regular lists can be :
     - multiple elements : `[1, 2, 3]`
     - an element and a list : `[1 | [2, 3]]`
     - multiple elements and a list : `[1, 2 | [3]]`
     - the empty list : `[]`
    
    Regular lists end with the empty list : `[1] == [1 | []]`.
    
    You can also contruct dotted lists like in Common Lisp where
    the next list pointer is an arbitrary form. E.g. :
     - an element and an element : `[1 | 2]`
     - multiple elements and an element : `[1, 2, 3 | 4]`
     - the empty list and an element : `[[] | 1]`
    
    All these list formats are supported in pattern matching.
    
    ## 1.5.1 Functions
    
    ```elixir
    List List.map (List, Fn)
    ```
    
    ```elixir
    List List.reverse (List)
    ```
    
    ---
    
    Top : [KC3 documentation](/doc/)
    
    Previous : [1.4 Ratio](1.4_Ratio)
    
    Next : [1.6 Variable](1.6_Variable)