Linssit ohjelmoinnissa - Kauppinen, Janne (2016)
Ohjelmoinnissa on usein tilanteita, joissa kaksi toisiinsa yhteyksissä olevaa rakennetta on sidoksissa toisiinsa niin, että muutokset yhteen rakenteeseen heijastuvat asianmukaisesti myös toiseen rakenteeseen. Tässä tutkielmassa käsitellään datamallien välistä transformointia kaksisuuntaisten transformaatioiden näkökulmasta. Tekstissä käydään läpi erityisen tarkasti eräs kaksisuuntainen transformaatio, nimeltään linssit, ja tutkitaan linssien rakenteita ja ominaisuuksia. Linssien yhteydessä käydään läpi alunperin relaatiotietokannoista tullut termi näkymänpäivitysongelma, joka on yleistettävissä datamallien välisiin transformaatioihin. Linssit ovat vielä tällä hetkellä melko harvinaisia ohjelmoinnissa, mutta nykyään on olemassa ohjelmointikieliä, jotka perustuvat kokonaan linsseihin. Lisäksi Haskelissa on tarjolla laaja linssikirjasto.