In a casserole combine the lamb with enough water to cover, bring to a boil, skimming, and simmer 5 minutes. Drain.
In a casserole set over moderate heat, heat oil until hot. Add onion, celery and carrot and cook, stirring occasionally, for 5 minutes, or until vegetables are softened. Add stock, water, cheesecloth bag, marjoram, reserved lamb and salt to taste. Bring liquid to a boil and simmer, partially covered, for 1 1/2 hours.
Transfer lamb to a platter and strain cooking liquid. Return lamb and cooking liquid to casserole, bring liquid to a boil and add artichokes. Simmer, partially covered, 20 to 25 minutes, or until lamb and artichokes are tender.
In a bowl whisk eggs until thick and light. Whisk in lemon juice and 1 cup of hot stock, a little at a time. Add egg mixture to casserole and simmer over moderately low heat, stirring, until lightly thickened. Do not boil. Before serving stir in fresh dill.