parallel languages overview