We consider a large population of firms in a market environment. The firms are divided into a finite set of types, with each type being characterized by a distinct private cost function. Moreover, the firms generate an external cost like pollution in the production process. As a result, the Nash equilibrium outcome is not socially optimal. We propose an evolutionary implementation mechanism to achieve the socially optimal outcome. In contrast to the classical VCG mechanism, evolutionary implementation does not require the planner to know or elicit any private information from firms. By imposing a tax equal to the current external damage being imposed by a firm, the planner can guide the evolution of the society toward the social optimum. The imposition of the tax generates a potential game whose potential function is the social welfare function of the model. Evolutionary dynamics converge to the maximizer of this function thereby evolutionarily implementing the social welfare maximizer.