Automatic programming with semantic streams