In a large mixing bowl, add the butter and icing sugar. Beat on low speed until the sugar has incorporated, then increase the speed to medium-high and beat till the mixture is light and fluffy, scraping down the sides and bottom of the bowl once or twice.
Next, add in the egg and vanilla extract, continue beating at medium-high speed until well incorporated.
Add flour (sifted) in 2 batches, beating on low speed with each addition until the dough looks crumbly.
Using your fingers, bring the mixture together.
Divide the dough into two parts. Shape each half roughly into a square. Flatten it out a bit, wrap it in cling film. Refrigerate the dough for 30 minutes.
Cut the walnuts in halves. Insert half a walnut in the center of the date. Repeat with the rest of the dates and walnut halves.
Preheat the oven to 350° F/180° C for 15 minutes. Work with a portion of the dough. On a clean work surface, roll out the dough to about 1/8 inch in thickness.
If you find that the dough is sticking to the rolling pin, cover it with another parchment paper and continue rolling.
Trim off the edges. Cut into 1.5-inch strips, or as per the size of the dates.
Place a date on one edge of the strip, roll until it is completely wrapped in the dough and has a slight overlap. Cut off the strip, and gently press to seal the roll.
Repeat the same process with the rest of the dough and the dough scraps.
Place it on a baking tray lined with parchment paper or a silicon mat.
Add an egg yolk to a bowl. Add two teaspoons of water, whisk it together.
Brush each roll with egg wash. This is optional, but it adds a lovely golden brown color to the crust. Bake at 350° F/180° C for 20 to 25 minutes or until the top is lightly golden. Baking time will depend upon the thickness of the dough.
Allow the date rolls to cool on the baking tray for 5 minutes. Then transfer to a wire rack, let them cool down completely.