izpis_h1_title_alt

Prevajalnik iz Haskell Core v JavaScript
ID BAJT, ANDRAŽ (Author), ID Kukar, Matjaž (Mentor) More about this mentor... This link opens in a new window

.pdfPDF - Presentation file, Download (446,77 KB)
MD5: C6A0F4408A53BDD19790785488694E7B
PID: 20.500.12556/rul/1a6a4c2d-2e91-4582-a896-371751972bc1

Abstract
Zasnovali in implementirali smo prevajalnik iz Haskellove vmesne kode Haskell Core v JavaScript. Cilj prevajalnika je možnost uporabe visokonivojskih zmogljivosti Haskella za razvoj JavaScript aplikacij. V uvodu spoznamo prednosti in slabosti obeh jezikov ter razkorak med njima. Predstavili smo posebnosti in semantiko jezika Haskell Core ter podrobneje samo implementacijo prevajanja posameznih konstruktov. Razložili smo ne-striktnost in njeno simuliranje v striktnem jeziku, definirali smo sistem in predstavitev algebraičnih podatkovnih tipov ter primerjavo vzorcev. Zasnovali smo lastno vmesno kodo kot korak med ne-striktnim funkcijskim jezikom in striktnim imperativnim. Razvili smo tudi potreben sistem izvajanja za JavaScript in delovanje prevedenih programov preverili v več spletnih brskalnikih.

Language:Slovenian
Keywords:prevajalnik, Haskell, Haskell Core, JavaScript, funkcijsko programiranje
Work type:Bachelor thesis/paper
Organization:FRI - Faculty of Computer and Information Science
Year:2014
PID:20.500.12556/RUL-29533 This link opens in a new window
Publication date in RUL:22.09.2014
Views:2474
Downloads:418
Metadata:XML RDF-CHPDL DC-XML DC-RDF
:
Copy citation
Share:Bookmark and Share

Secondary language

Language:English
Title:A compiler for Haskell Core targeting JavaScript
Abstract:
We designed and implemented a compiler for Haskell's immediate representation Haskell Core to JavaScript. Purpose of this compiler is the ability to use high level Haskell to develop JavaScript applications. We introduce ups and downs of both languages as well as the gap between them. We present features and semantics of the language Haskell Core and implementation of compilation of separate constructs in more detail. We explain non-strictness and its simulation in a strict language, define a system and representation for algebraic datatypes as well as pattern matching. We designed immediate representation to serve as a step between a non-strict functional language and a strict imperative one. We also developed the required runtime system for JavaScript and tested the compiled programs in several web browsers.

Keywords:compiler, Haskell, Haskell Core, JavaScript, functional programming

Similar documents

Similar works from RUL:
Similar works from other Slovenian collections:

Back