Write a method for a binary search using recursion.
Implement binary_search(nums, target) for an ascending sorted list of integers. Return the index of target if it exists, or -1 otherwise. The search must narrow the range recursively rather than scanning the array or using a built-in search function.
Input is a list of integers and an integer target. The output is an integer index.
def binary_search(nums, target):