A language for attributed definitions