Sachverhalt: A. Am 3. April 2008 wurde X._ infolge eines polizeilich observierten Drogengeschäfts, bei dem er einem polizeilichen Scheinkäufer Kokain verkaufen wollte, verhaftet. Die Polizei stellte bei ihm 183 Gramm Kokain sicher. In der anschliessenden polizeilichen Einvernahme gab er zudem an, in den 2 bis 3 Monaten vor der Verhaftung ca. 50 Gramm Kokain verkauft zu haben. In der Hafteinvernahme stellte er diesen Handel wieder in Abrede und machte bezüglich des bei ihm sichergestellten Kokains geltend, es habe nicht ihm gehört; er habe es kurz vorher von Y._ - seinem ebenfalls verhafteten Begleiter - erhalten. Mit Verfügung vom 7. April 2008 versetzte der Haftrichter am Bezirksgericht Zürich X._ in Untersuchungshaft. Am 25. April 2008 stellte X._ ein Haftentlassungsgesuch mit der Begründung, es sei offenbar ein verdeckter Ermittler zum Einsatz gekommen, für welchen keine richterliche Bewilligung vorgelegen habe. B. Mit Verfügung vom 30. April 2008 wies der Haftrichter das Haftentlassungsgesuch ab. Er bejahte den dringenden Tatverdacht und Kollusionsgefahr. Den Einwand, es habe eine nicht richterlich genehmigte und damit unverwertbare verdeckte Ermittlung stattgefunden, wies er zurück. Er befand, der Einsatz des polizeilichen Scheinkäufers im vorliegenden Fall werde vom Bundesgesetz vom 20. Juni 2003 über die verdeckte Ermittlung (BVE; SR 312.8) nicht erfasst; eine richterliche Genehmigung sei daher nicht erforderlich gewesen. C. X._ führt Beschwerde in Strafsachen mit dem Antrag, die Verfügung des Haftrichters vom 30. April 2008 sei aufzuheben; er sei umgehend aus der Haft zu entlassen. D. Die Staatsanwaltschaft Zürich-Limmat hat sich vernehmen lassen mit dem Antrag, die Beschwerde abzuweisen. Der Haftrichter hat auf Gegenbemerkungen verzichtet. X._ hat eine Replik eingereicht. Er hält an seinen Anträgen fest. 