Peel the asparagus and cut off the woody ends. Place peels and ends in a saucepan with 6 cups water and simmer 20 minutes. Strain and keep the cooking water, discarding the peels and ends.
Cut the asparagus into small pieces and place in the saucepan with the retaining cooking water. Season with sugar and salt to taste. Simmer 20 minutes until asparagus is soft.
In a separate saucepan, melt the butter and add the flour. Cook, stirring, until a light roux is formed. Strain the asparagus cooking water in and beat well with a whisk to remove lumps. Simmer 10 minutes until soup thickens. Add asparagus pieces and lemon juice and bring to a simmer again.
Beat the egg yolk with the cream. Remove soup from the heat and carefully pour in the cream, stirring. Season with salt, white pepper and sugar as needed and serve.