  Curated databases have become important sources of information across
scientific disciplines, and due to the manual work of experts, often become
important reference works. Features such as provenance tracking, archiving, and
data citation are widely regarded as important features for curated databases,
but implementing such features is challenging, and small database projects
often lack the resources to do so. A scientific database application is not
just the database itself, but also an ecosystem of web applications to display
the data, and applications supporting data curation. Supporting advanced
curation features requires changing all of these components, and there is
currently no way to provide such capabilities in a reusable way. Cross-tier
programming languages have been proposed to simplify the creation of web
applications, where developers write an application in a single, uniform
language. Consequently, database queries and updates can be written in the same
language as the rest of the program, and at least in principle, it should be
possible to provide curation features reusably via program transformations. As
a first step, it is important to establish that realistic curated databases can
be implemented in a cross-tier programming language. In this paper, we describe
such a case study: reimplementing the web frontend of a real-world scientific
database, the IUPHAR/BPS Guide to Pharmacology (GtoPdb), in the Links
programming language. We show how features such as language-integrated query
simplify the development process, and rule out common errors. We show that the
Links implementation performs fewer database queries, while the time needed to
handle the queries is comparable to the Java version. While there is some
overhead to using Links because of its comparative immaturity compared to Java,
the Links version is viable as a proof-of-concept case study.
