Item request has been placed! ×
Item request cannot be made. ×
loading  Processing Request

Extending a Functional Programming Language with Object-Oriented Concepts : A Case Study on Elixir

Item request has been placed! ×
Item request cannot be made. ×
loading   Processing Request
  • المؤلفون: Hermansson, Viggo; Kanerva, Emil
  • نوع التسجيلة:
    Electronic Resource
  • الدخول الالكتروني :
    http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-351540
    TRITA-EECS-EX ; 2024:456
  • معلومة اضافية
    • Additional Titles:
      En Påbyggnad av ett Funktionellt Programspråk med Objektorienterade Koncept : En fallstudie i Elixir
    • Publisher Information:
      KTH, Skolan för elektroteknik och datavetenskap (EECS) Stockholm : KTH Royal Institute of Technology 2024
    • نبذة مختصرة :
      In the world of programming languages, functional and object-oriented languages are often viewed as opposing forces competing for dominance. Functional languages contain immutable data structures as well as a focus on pattern matching and recursion. Object-oriented languages contain objects and classes along with features such as inheritance and polymorphism. In reality, concepts from either are far from incompatible, with many aspects of the functional programming paradigm today finding their way into imperative and object-oriented languages, as well as vice versa. This thesis aims to examine how these two paradigms can be united in a language that does not initially mix the two by extending the functional programming language Elixir with concepts from the object-oriented programming paradigm. Both paradigms were studied and their core features defined, which guided the design of an extension that aims to unite these concepts as intimately as possible. The resulting implementation was evaluated using a set of test programs displaying the extension's features. The limitations of the extension were discussed and the conclusion was drawn that a unification of the two paradigms, functional programming and object-oriented programming, had been achieved through the extension of Elixir.
      Detta examensarbete ämnar djupare utforska koncepten bland de funktionella och objektorienterade programmeringsparadigmen. Funktionella språk innehåller koncept som icke-muterbara datastrutkurer tillsammans med en fokus på mönstermatchning och rekursion. Objektorienterade språk å andra sidan innehåller koncept som objekt och klasser, tillsammans med arv och polymorfism. De två paradigmen anses ofta vara två oförenliga, motgående krafter, men sanningen är långt ifrån sådan, då många olika aspekter av den funktionella paradigmen ofta hittar ett hem i annars objektorienterade programspråk, samt vice versa. Arbetet undersöker därmed möjligheten att förena de två paradigmen, genom att skapa en påbyggnad till det funktionella programspråket Elixir med koncept från den objektorienterade paradigmen. Båda paradigmen undersöktes för att etablera varderas centrala koncept. Dessa koncept användes sedan för att designa och implementera påbyggnaden på ett sätt som förenar koncepten så nära som möjligt. Implementationen utvärderades sedan med en uppsättning program som visar påbyggnadens funktionalitet. Påbyggnadens olika begränsningar diskuterades och slutsatsen drogs att föreningen av de två paradigmen hade uppnåtts genom påbyggnaden till Elixir, på ett sätt som uppfyller kraven som ställdes.
    • الموضوع:
    • Availability:
      Open access content. Open access content
      info:eu-repo/semantics/openAccess
    • Note:
      application/pdf
      English
    • Other Numbers:
      UPE oai:DiVA.org:kth-351540
      1457634318
    • Contributing Source:
      UPPSALA UNIV LIBR
      From OAIster®, provided by the OCLC Cooperative.
    • الرقم المعرف:
      edsoai.on1457634318
HoldingsOnline