Skip to content
Snippets Groups Projects
  1. Dec 16, 2020
  2. Dec 14, 2020
  3. Dec 06, 2020
  4. Sep 14, 2020
  5. Sep 11, 2020
  6. Aug 21, 2020
  7. Aug 02, 2020
  8. Jun 30, 2020
  9. Jun 25, 2020
  10. Jun 22, 2020
  11. Jun 13, 2020
  12. Jun 11, 2020
  13. May 20, 2020
  14. May 02, 2020
  15. May 01, 2020
  16. Apr 21, 2020
  17. Apr 20, 2020
    • matu3ba's avatar
      templates for issues and merge_requests for specific user information and... · f27a1380
      matu3ba authored
      templates for issues and merge_requests for specific user information and better analysis of tradeoffs of certain features
      f27a1380
    • Tom Almeida's avatar
      feat: Make all variables show when running `let`. · 35382090
      Tom Almeida authored and AdminXVII's avatar AdminXVII committed
      Before this patch, `let` only shows string and array variables, whilst
      all mapping types are not shown. In addition, string and array variables
      are separated from each other by comments.
      
      This patch implements a new function on `shell::Variables` that returns
      all the variables in scope and then modifies `Shell::list_vars` to print
      all the variables. The syntax returned is equivalent to the method of
      declaring the variables themselves, however this still results in
      mapping types being indistinguishable from each other by looking at the
      output of `let` (both `HashMap` and `BTreeMap` look the same).
      35382090
    • Tom Almeida's avatar
      feat: Print an error when attempting to assign to a string index · 42e40e90
      Tom Almeida authored and AdminXVII's avatar AdminXVII committed
      Why is this needed?
      Well, at the moment nothing happens when the user tries something along
      the lines of `let some_string[3] = 'v'`, even though we don't allow it.
      The variable itself doesn't change, and we don't print any errors.
      This patch just makes the function that would assign return an error
      instead of silently failing.
      
      Why not implement modifying strings by index?
      Sure, we could do that, but it's not quite as obvious as it seems. We
      support utf8 strings, so modifying the `i`th byte obviously doesn't
      work, and could potentially make the string invalid. Another option
      would be to set the `i`th character to whatever is passed in. This is
      fine in theory, but it would be an `O(N)` operation in the average
      case, and we'd have to shuffle all the following chars either further up
      or further down the string.
      While this may be a desirable ability to eventually have, it will
      require significantly more work and thought around strings in ion than
      simply returning an error.
      42e40e90
    • Tom Almeida's avatar
      feat: Make arrays able to nest · 47bb7068
      Tom Almeida authored and AdminXVII's avatar AdminXVII committed
      Prior to this commit, the following type was considered invalid:
          `[[float]]`
      
      Of course, sometimes it is helpful to have arrays within arrays, and as
      such, this patch allows for nested arrays. To do this, the array types
      in `Primitive` have all been converted to a `Primitive::Array` type,
      that holds a `Box<>` to another `Primitive`. There is - of course - a
      slight performance penalty to be expected with moving to using another
      `Box` for arrays, however after having run the benchmarks, the
      difference appears to be negligible.
      47bb7068
  18. Apr 13, 2020
  19. Mar 22, 2020
  20. Jan 28, 2020
  21. Jan 26, 2020
  22. Jan 22, 2020
  23. Jan 19, 2020
  24. Jan 12, 2020
Loading