Extending the Cascading Style Sheets (CSS) Language with Programming Constructs

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Master's thesis

Date

2015-09-18

Department

Major/Subject

Service Design and Engineering

Mcode

SCI3022

Degree programme

Master's Programme in ICT Innovation

Language

en

Pages

53+20

Series

Abstract

I designed the FunCSS programming language, which is a Turing-complete extension of the Cascading Styles Sheets language. It lets web developers define custom functions using JavaScript code fragments. Contrary to other CSS extensions, FunCSS is compiled to JavaScript and executed in the web browser. FunCSS can simplify the implementation of modern web designs which contain interactive animations. I designed the sytnax of FunCSS based on a survey that I conducted among web developers, to optimize its syntax for developer comfort. I designed FunCSS with the long-term goal to turn it into a platform for web browser compatibility libraries. FunCSS has become an interesting language by itself. It combines the rule-based and the functional reactive programming paradigms. The type system of FunCSS is based on regular grammars, and its elemental types include untagged union types, physical units of measure and percentages.

---

Description

Supervisor

Saikkonen, Heikki

Thesis advisor

Kitlei, Róbert

Keywords

CSS, web design, web animation, functional reactive programming, rule-based programming, programming language design

Other note

Citation