1. 15 Apr, 2019 4 commits
    • Waylon Cude's avatar
      Changed docker image location (again) · 854b6405
      Waylon Cude authored
      I put the wrong path in last time, hopefully this one works
      854b6405
    • Waylon Cude's avatar
      Changed docker image for CI · 12e171ab
      Waylon Cude authored
      CI was failing because I was using an old, now unsupported docker image
      for rust. The CI script has been changed to use the official,
      supported image.
      12e171ab
    • Waylon Cude's avatar
      Changed docker image for CI · 1f7bcf09
      Waylon Cude authored
      CI was failing because I was using an old, now unsupported docker image
      for rust. The CI script has been changed to use the official,
      supported image.
      1f7bcf09
    • Waylon Cude's avatar
      Added README and updated dependencies · 812bb004
      Waylon Cude authored
      There's now some documentation on llambdai in the form of a README. This
      could probably be expanded in the future with more information from the
      manual.
      
      `cargo update` was ran and everything appears to be working fine.
      812bb004
  2. 26 Apr, 2018 1 commit
    • Waylon Cude's avatar
      Added alternate strings · 370a19b7
      Waylon Cude authored
      These strings are created with the single quote character. This lets you
      create strings that contain the double quote character, but not a mix.
      This is a fairly hacky fix, and I really need to figure out how to
      escape characters within strings, but it's useful enough to include it
      now. New tests were also added, the comment removal logic was modified
      to support these new strings, and the `num_to_char` function was
      modified to be able to output double qoutes.
      370a19b7
  3. 10 Feb, 2018 1 commit
    • Waylon Cude's avatar
      Added tables · 2d114699
      Waylon Cude authored
      Tables were added, you can only create whole tables and get the values
      from them right now.
      This is to allow behaviour similar to structs,
      mutating tables will be allowed soon.
      Dot notation is also planned.
      Three new tests were added for tables.
      2d114699
  4. 03 Feb, 2018 5 commits
    • Waylon Cude's avatar
      Added a new builtin, iflt · 1f751d77
      Waylon Cude authored
      This lets you branch between three statements at once instead of just
      two. This was mainly implemented to make binary search easier, in
      preparation for rewriting the num_to_char function.
      
      There were three new tests added for this builtin
      1f751d77
    • Waylon Cude's avatar
      Various attempts at speeding up string conversion · a8c73b1a
      Waylon Cude authored
      num_to_char now checks against lowercase letters first to reduce the
      number of recursions in those cases. `list_to_string` now traverses once
      instead of twice. There's now a `rev_list_to_string` function that
      reverses the order it puts a string together without doing any extra
      traversing
      a8c73b1a
    • Waylon Cude's avatar
      Removed more clones in cons · 64ef439a
      Waylon Cude authored
      Cons cloned both of its elements for no reason and those clones have
      been removed
      64ef439a
    • Waylon Cude's avatar
      Removed a couple unneed clones · 1c4a1887
      Waylon Cude authored
      There's two less clones now when entering lambdas, and another clone now
      only happens when there's actually an error instead of once for every
      argument to every lambda.
      
      Theres also some extra comments documenting my journey through removing
      clones and the lifetime for the COW map of variables got renamed to be
      more descriptive
      1c4a1887
    • Waylon Cude's avatar
      Added reverse function · 0f9594e3
      Waylon Cude authored
      I rewrote foldr to make it cleaner and added foldl. I added a reverse
      function for lists that makes use of foldl. Tests were added for all of
      these functions.
      0f9594e3
  5. 02 Feb, 2018 1 commit
  6. 01 Feb, 2018 2 commits
    • Waylon Cude's avatar
      Moved tests into their own folder · 91e81a08
      Waylon Cude authored
      Tests are now in their own folder, this makes the splitting of tests
      into multiple files much easier. Tests for the standard library are now
      in their own file, and the result category of tests is now named core as
      it tests core language functionality.
      91e81a08
    • Waylon Cude's avatar
      Added list_to_string function · 08b11e53
      Waylon Cude authored
      This will make printing the output from `read` significantly easier, and
      allow some conversion between string types
      08b11e53
  7. 31 Jan, 2018 2 commits
  8. 27 Jan, 2018 1 commit
    • Waylon Cude's avatar
      Added ability to grow stack · 8c7d279a
      Waylon Cude authored
      The stack now grows larger whenever the interpreter recurses down the
      AST. This fixes programs segfaulting, the newly added num_to_char was
      prone to this.
      
      A num_to_char function was added/finished that converts numbers to
      strings. Another test was added for this function.
      
      Cargo dependencies were updated
      8c7d279a
  9. 25 Jan, 2018 4 commits
    • Waylon Cude's avatar
      Renamed utility to util · 78665d27
      Waylon Cude authored
      Also added an eq function and tests for eq and not
      
      util is significantly easier to type than utility and is what I
      instintively type, so I shortened the name of the lib from std::utility
      to std::util
      78665d27
    • Waylon Cude's avatar
      Added better number handling · 38defa19
      Waylon Cude authored
      Now empty space shouldn't be interpreted as a number
      38defa19
    • Waylon Cude's avatar
      Better error handling · ed96860e
      Waylon Cude authored
      llambdai now takes advantage of parse errors implementing display. This
      should make errors parsing significantly easier to read and understand.
      ed96860e
    • Waylon Cude's avatar
      Updated lalrpop, added string lib · 3ae7f8c8
      Waylon Cude authored
      Llambdai is now using the current version of lalrpop, this should give
      better error messages.
      
      There is now a std::string and std::utility library, with a `not`
      function and a partially implemented `num_to_char`
      3ae7f8c8
  10. 29 Sep, 2017 2 commits
  11. 26 Sep, 2017 1 commit
  12. 27 Jul, 2017 3 commits
  13. 26 Jul, 2017 1 commit
  14. 18 Jun, 2017 1 commit
  15. 17 Jun, 2017 1 commit
    • Waylon Cude's avatar
      Great macro rewrite · d51761b2
      Waylon Cude authored
      Rewrote builder to use macros, it is much more concise now
      
      Also did some inital work on IO stuff
      d51761b2
  16. 16 Jun, 2017 4 commits
  17. 14 Jun, 2017 1 commit
    • Waylon Cude's avatar
      Improved parser · 14f6b2b6
      Waylon Cude authored
      Parser now supports functions being called infix style with ``
      
      You also don't have to have parenthesis around the first apply
      14f6b2b6
  18. 12 Jun, 2017 1 commit
  19. 11 Jun, 2017 3 commits
  20. 10 Jun, 2017 1 commit
    • Waylon Cude's avatar
      Build script no longer force rebuilds · 7597ae21
      Waylon Cude authored
      Before, the project would build every single time because of an option
      in the build.rs script. This option has now been turned off.
      
      WARNING: This might break CI!
      7597ae21