module Klam::Converters::List

Utility methods to convert between Ruby Arrays and Kl Lists

Public Instance Methods

arrayToList(array) click to toggle source
# File lib/klam/converters/list.rb, line 7
def arrayToList(array)
  list = EMPTY_LIST
  (array.length - 1).downto(0) do |index|
    item = array[index]
    item = arrayToList(item) if item.kind_of?(Array)
    list = cons(item, list)
  end
  list
end
listToArray(list) click to toggle source
# File lib/klam/converters/list.rb, line 17
def listToArray(list)
  array = []
  while list != EMPTY_LIST
    item = hd(list)
    item = listToArray(item) if cons?(item) || item == EMPTY_LIST
    array << item
    list = tl(list)
  end
  array
end