dc.contributor.advisor | Bulej, Lubomír | |
dc.creator | Rozsypal, Lukáš | |
dc.date.accessioned | 2020-07-28T09:58:08Z | |
dc.date.available | 2020-07-28T09:58:08Z | |
dc.date.issued | 2020 | |
dc.identifier.uri | http://hdl.handle.net/20.500.11956/119420 | |
dc.description.abstract | Kampa is a general-purpose programming language. It is imperative, but influenced by functional programming. Its distinguishing features include value types with a concise tuple syntax, immutability that applies recursively, and custom named operators. Clo- sures and first-class functions are a matter of course. Thanks to dependent types, the size of an array may be bound to any immutable variable or field. Arrays can be embed- ded in other data structures. This, in conjunction with dependent types, allows almost arbitrary memory layouts. In addition to the specification, this thesis also provides a proof-of-concept implementation built on top of Truffle. 1 | en_US |
dc.description.abstract | Kampa je všeobecný programovací jazyk. Je imperativní, ale má i rysy funkcionálního programování. Jeho nejzajímavější vlastnosti zahrnují hodnotové typy, zapisované stručně jako n-tice (tuples), rekurzivně platné immutable kvalifikátory a pojmenované operátory. Samozřejmostí je pak zacházení s funkcemi jako s hodnotami a vnitřní funkce s možností využití proměnných z vnější funkce (closures). Díky tzv. závislým typům je možné svázat velikost pole se zvolenou proměnnou. Pole se dají použít i přímo jako součásti jiných datových struktur (nejen jako reference). To ve spojení se závislými typy umožňuje do- sáhnout téměř libovolného rozložení v paměti. Kromě specifikace tato práce zahrnuje i pokusnou implementaci založenou na frameworku Truffle. 1 | cs_CZ |
dc.language | English | cs_CZ |
dc.language.iso | en_US | |
dc.publisher | Univerzita Karlova, Matematicko-fyzikální fakulta | cs_CZ |
dc.subject | Kampa programming language | en_US |
dc.subject | Truffle | en_US |
dc.subject | JIT compiler | en_US |
dc.subject | programovací jazyk Kampa | cs_CZ |
dc.subject | Truffle | cs_CZ |
dc.subject | JIT překladač | cs_CZ |
dc.title | Kampa: an experimental programming language | en_US |
dc.type | bakalářská práce | cs_CZ |
dcterms.created | 2020 | |
dcterms.dateAccepted | 2020-07-07 | |
dc.description.department | Department of Distributed and Dependable Systems | en_US |
dc.description.department | Katedra distribuovaných a spolehlivých systémů | cs_CZ |
dc.description.faculty | Matematicko-fyzikální fakulta | cs_CZ |
dc.description.faculty | Faculty of Mathematics and Physics | en_US |
dc.identifier.repId | 222552 | |
dc.title.translated | Experimentální programovací jazyk Kampa | cs_CZ |
dc.contributor.referee | Bednárek, David | |
thesis.degree.name | Bc. | |
thesis.degree.level | bakalářské | cs_CZ |
thesis.degree.discipline | Programování a softwarové systémy | cs_CZ |
thesis.degree.discipline | Programming and Software Systems | en_US |
thesis.degree.program | Computer Science | en_US |
thesis.degree.program | Informatika | cs_CZ |
uk.thesis.type | bakalářská práce | cs_CZ |
uk.taxonomy.organization-cs | Matematicko-fyzikální fakulta::Katedra distribuovaných a spolehlivých systémů | cs_CZ |
uk.taxonomy.organization-en | Faculty of Mathematics and Physics::Department of Distributed and Dependable Systems | en_US |
uk.faculty-name.cs | Matematicko-fyzikální fakulta | cs_CZ |
uk.faculty-name.en | Faculty of Mathematics and Physics | en_US |
uk.faculty-abbr.cs | MFF | cs_CZ |
uk.degree-discipline.cs | Programování a softwarové systémy | cs_CZ |
uk.degree-discipline.en | Programming and Software Systems | en_US |
uk.degree-program.cs | Informatika | cs_CZ |
uk.degree-program.en | Computer Science | en_US |
thesis.grade.cs | Výborně | cs_CZ |
thesis.grade.en | Excellent | en_US |
uk.abstract.cs | Kampa je všeobecný programovací jazyk. Je imperativní, ale má i rysy funkcionálního programování. Jeho nejzajímavější vlastnosti zahrnují hodnotové typy, zapisované stručně jako n-tice (tuples), rekurzivně platné immutable kvalifikátory a pojmenované operátory. Samozřejmostí je pak zacházení s funkcemi jako s hodnotami a vnitřní funkce s možností využití proměnných z vnější funkce (closures). Díky tzv. závislým typům je možné svázat velikost pole se zvolenou proměnnou. Pole se dají použít i přímo jako součásti jiných datových struktur (nejen jako reference). To ve spojení se závislými typy umožňuje do- sáhnout téměř libovolného rozložení v paměti. Kromě specifikace tato práce zahrnuje i pokusnou implementaci založenou na frameworku Truffle. 1 | cs_CZ |
uk.abstract.en | Kampa is a general-purpose programming language. It is imperative, but influenced by functional programming. Its distinguishing features include value types with a concise tuple syntax, immutability that applies recursively, and custom named operators. Clo- sures and first-class functions are a matter of course. Thanks to dependent types, the size of an array may be bound to any immutable variable or field. Arrays can be embed- ded in other data structures. This, in conjunction with dependent types, allows almost arbitrary memory layouts. In addition to the specification, this thesis also provides a proof-of-concept implementation built on top of Truffle. 1 | en_US |
uk.file-availability | V | |
uk.grantor | Univerzita Karlova, Matematicko-fyzikální fakulta, Katedra distribuovaných a spolehlivých systémů | cs_CZ |
thesis.grade.code | 1 | |
uk.publication-place | Praha | cs_CZ |