Blogg

Här finns tekniska artiklar, presentationer och nyheter om arkitektur och systemutveckling. Håll dig uppdaterad, följ oss på Twitter

Callista medarbetare Andreas Mossljung

Scala Exchange, dag 1 - Kategoriteori

// Andreas Mossljung

Nu är första dagen av två på konferensen Scala Exchange i ett julpyntat London avslutad och det är dags att sammanfatta dagens intryck.

En del sessioner har varit väldigt hands on som exempelvis Noel Markhams introduktion till Scala JS, ett ramverk för att översätta Scala till Javascript. Han demonstrerade med livekodning hur man kan koppla en HTML canvas till sin scalakod och där styra enkla geometriska figurer. Det är imponerande hur väl översättningen till Javascript fungerar, upplevelsen som utvecklare blir precis som när man kodar “vanlig” Scala fast resultatet blir Javascript. sbt kompilerar som vanligt i realtid så det är bara att ladda om i browsern för att se resultatet.

Renato Cavalcanti höll en session om DDD och betydelsen av en god domänmodell i funktionell programmering. Han diskuterade vikten av att använda bra namn och visade exempel på hur trassligt det kan bli annars med nästlade Future, Try och Either. Misslyckande med att bygga en bra domänmodell med namn från sin domän och typer som väl representerar modellen var något som Renato lyfte fram som något som ofta medför svårtolkad kod som förvirrar den som än ny inom Scala.

Bartosz Milewski

Dagens höjdpunkt var annars de lite mer teoretiska sessionerna om kategoriteori. Ämnet var nytt för mig och jag uppskattade mycket Bartosz Milewskis keynote. Bartosz har en imponerande bakgrund inom såväl matematik, teoretisk fysik och programmering. I sin presentation utgick han från den grundläggande matematiken inom kategoriteori och ur den härledde han ett typsystem. Mycket förenklat kan man säga att om man utgår från objekten Void (0) och Unity (1) kan man sedan beskriva alla andra typer genom morfismer (illustreras som pilar) mellan objekten. Man behöver alltså inte gå in på hur typerna i sig är beskrivna utan det räcker att specificera deras relation med andra typer. Det kan ibland vara intressant att gå ner några abstraktionslager från teknikerna man jobbar med till vardags för att få en djupare föresåelse och väcka nya tankebanor till liv. Jag rekomenderar att lägga en timme på videon från presentationen som finns här.

Bartosz keynote följdes upp av en lite mer tillämpad session inom samma ämne med Daniela Sfregola där vi fick lära oss hur man kan bygga sitt eget bibliotek kring kategoriteori i Scala utan att gå in så mycket på matematiken bakom.

Dagen avslutades sedan med pizza, öl och arkadspel i Skills Matter:s lokaler. Med tillbaka till hotellet följde också Noel Welsh och Dave Curnells helt nya bok “Scala with cats” där man kan läsa mer om ramverket Cats som implementerar principerna bakom kategoriteori i Scala.

Scala with Cats

Tack för att du läser Callistas blogg.
Hjälp oss att nå ut med information genom att dela nyheter och artiklar i ditt nätverk.

Kommentarer