EDSL for nested data parallel programming