A minimalistic programming language written in C89.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
673 B

  1. fn print_n_utf8 do
  2. print_n_utf8_impl drop
  3. end
  4. # Clones an array, creating a new array
  5. #
  6. # @param array The array to clone into a new array
  7. # @return a new array that contains the same elements as the source array
  8. #
  9. # array -> new_array
  10. fn array.clone do
  11. array.new 2 pluck array.size 0
  12. # array new_array end it
  13. 2 pluck 2 pluck == l jump_if
  14. # array new_array end it
  15. loop:
  16. dup 5 pluck
  17. # array new_array end it it array
  18. array.index 4 pluck
  19. # array new_array end it v new_array
  20. array.push
  21. # array new_array end it
  22. 1 +
  23. 2 pluck 2 pluck > loop jump_if
  24. l: drop drop swap drop
  25. # new_array
  26. end