Programming Languages Delft
DelftPL@akademienl.social

Master thesis by Niels Mook:
Modeling and Analysis of System-on-Chip Address Maps

"This thesis presents a methodology for the formal verification of memory organizations in System-on-Chip (SoC) designs described in IP-XACT. [...] The solution was evaluated using a state-of-the-art mid-size SoC design as a case study."

https://repository.tudelft.nl/record/uuid:7bb3da82-98b7-4b55-a28c-1cfd862afda4

#verification #soc #memory #thesis

July 17, 2024
Programming Languages Delft
DelftPL@akademienl.social

Master thesis by Matteo Meluzzi: Model Checking the XMM Memory Model

"we present our design of a model checker algorithm for the XMM memory model called GenMC-XMM [...] GenMC-XMM is the first multi-execution model checker proven to be sound. We evaluated our tool against the state-of-the-art model checking tools for RC11, IMM, and Weakestmo2."

https://repository.tudelft.nl/record/uuid:93937121-ae62-4253-a716-d3c911d85e9c

#ModelChecking #compilers #multiexecution #thesis

July 03, 2024
DelftPL shared a status by jesper
Jesper Agdakx 🔸
jesper@agda.club
This year I went to my first ZuriHac and gave a lecture titled "Programming and Proving in Agda". It was a introduction to the basics of Agda, dependent types, indexed datatypes, the Curry-Howard correspondence, and equational reasoning for people familiar with Haskell.

You can now watch it in full at youtube.com/watch?v=AVRsH_YH7XU (full playlist with the other talks: youtube.com/playlist?list=PLOvRW_utVPVkQvYyluvXK4rpRMirb--M1). You can also find the lecture notes that I used as a base at github.com/jespercockx/agda-lecture-notes/blob/master/agda.pdf.

I had a lot of fun giving this presentation and got a lot of really interesting questions. Thanks to the organizers for inviting me, and I hope to make it to ZuriHac again in the future!

#Agda #Haskell #ZuriHac
June 27, 2024
Programming Languages Delft
DelftPL@akademienl.social

Master thesis by Ivan Todorov: Modal μ-Calculus for Free

"we present [...] a way of modelling sequential effectful programs, such that the resulting models can be directly translated into runnable programs, thereby guaranteeing the models' accuracy. We achieve this by using algebraic effects, in order to model sequential effectful programs as instances of the coinductive free monad"

#algebraiceffects #freemonads #agda #thesis

https://repository.tudelft.nl/islandora/object/uuid%3A2c078c39-f60d-4c25-9d0e-35fadd67cc5d?collection=education

June 21, 2024
Programming Languages Delft
DelftPL@akademienl.social

Master thesis by Willem Stuijt Giacaman: Can The Language Server Protocol Handle Dependent Types?

"We present the implementation of a prototype LSP server for Agda that leverages scope checking to provide fast and responsive IDE features. [...] Our findings demonstrate that scope checking can serve as a foundation for implementing efficient LSP features in Agda."

https://repository.tudelft.nl/islandora/object/uuid%3A3fdcf54e-ecca-4ae7-be56-bc414217e381?collection=education

#Agda #LSP #dependenttypes #thesis

June 21, 2024
Programming Languages Delft
DelftPL@akademienl.social

ExEl: Building an Elaborator Using Extensible Constraints, by @liesnikov and @jesper in the IFL '23 post-proceedings.

"we present a modular architecture for implementing the transformation from user-friendly surface syntax into a small and well-behaved core language [...] We showcase our design with a proof-of-concept elaborator for a language with dependent types, implicit arguments, higher-order unification, and instance arguments."

https://dl.acm.org/doi/10.1145/3652561.3652565

#agda #dependenttypes

June 20, 2024
Programming Languages Delft
DelftPL@akademienl.social

Master thesis by Kayleigh Lieverse: A Generic Translation from Case Trees to Eliminators.

"We present [..] a type-safe, correct-by construction, generic definition of case trees and an evaluation function that, given an interpretation of such a case tree and an interpretation of the telescope of function arguments, evaluates the output term of the function using only eliminators."

https://repository.tudelft.nl/islandora/object/uuid%3Ae91ef1ea-942e-4f11-a1c4-bb82f444aaed?collection=education

#Agda #formalization #patternmatching #dependenttypes #master

June 18, 2024
Programming Languages Delft
DelftPL@akademienl.social

Master thesis by Eben Rogers: Replication and formalization of (Co)Church encoded shortcut fusion.

"This thesis explores shortcut fusion using (Co)Church encodings based on the work of Harper (2011), focusing on two questions: What is needed to reliably achieve fusion in Haskell, and the correctness of these transformations through a formalization in Agda."

https://repository.tudelft.nl/islandora/object/uuid:7474b56a-345c-42b7-8d07-e7163d1bde05?collection=education

#Agda #Haskell #optimization #formalization #master

June 18, 2024
DelftPL shared a status by jesper
Jesper Agdakx 🔸
jesper@agda.club

We are organizing the FP Dag aka Dutch Functional Programming Day on Friday the 5th of January in Delft. People from neighboring countries are also very welcome to join!

The (soft) registration deadline is on the 22th of December (next Friday), so get your tickets soon!

https://www.tudelft.nl/fpday-2024

#FP #FPDag #FunctionalProgramming #Haskell #OCaml #Scala #Racket #Scheme #Agda #Coq #Idris #Lean #AndAllTheOtherLanguagesIForgot

December 16, 2023
DelftPL shared a status by jesper
Jesper Agdakx 🔸
jesper@agda.club
Tomorrow is already the deadline for the third edition of #WITS, the Workshop on the Implementation of Type Systems, colocated with #POPL 2024 in London. The page limit is one page, but just a single-paragraph abstract with an interesting idea for a talk is also very welcome! In particular contributors to #Haskell #OCaml #Rust #Scala #Coq #Lean #Agda #Idris #Cedille #Arend #CoolTT and even #TypeScript are warmly invited to give a talk about their experiences with implementing type systems.

Call for papers: popl24.sigplan.org/home/wits-2024#Call-for-Participation
Submission link: wits24.hotcrp.com/
November 09, 2023
DelftPL shared a status by DelftPL
Programming Languages Delft
DelftPL@akademienl.social

The Software Technology department at TU Delft is hiring new assistant and associate professors! This is an open call for any research field within one of our groups, so if you are a PL researcher and are interested to join us you are very welcome to apply. You can find more information about the positions and the application procedure at https://www.tudelft.nl/ewi/over-de-faculteit/afdelingen/software-technology/computer-science-open-call.

#ProgrammingLanguages #LanguageEngineering #TypeTheory #Concurrency #OpenPosition

July 24, 2023
DelftPL shared a status by researchsoft
Research Software Alliance
researchsoft@fosstodon.org

ReSA welcomes the Dutch Research Council (NWO) as our latest Organisational Member. Members support us financially to bring #researchsoftware communities together to collaborate on the advancement of the research software ecosystem.

NWO is the main #research funder in #Netherlands & encourages the transition to #openscience, incl open #software. Each year, NWO invests close to 1 billion euros in curiosity-driven research, research related to societal challenges and research infrastructure.

July 27, 2023
Programming Languages Delft
DelftPL@akademienl.social

The Software Technology department at TU Delft is hiring new assistant and associate professors! This is an open call for any research field within one of our groups, so if you are a PL researcher and are interested to join us you are very welcome to apply. You can find more information about the positions and the application procedure at https://www.tudelft.nl/ewi/over-de-faculteit/afdelingen/software-technology/computer-science-open-call.

#ProgrammingLanguages #LanguageEngineering #TypeTheory #Concurrency #OpenPosition

July 24, 2023
Programming Languages Delft
DelftPL@akademienl.social

Getting ready for the thesis defense of Ivar de Bruin on Improving Agda's Module System!

Read the full thesis now at http://resolver.tudelft.nl/uuid:98b8fbf5-33f0-4470-88b0-39a9d526b115

#TUDelft #Agda #Modules

July 05, 2023
Programming Languages Delft
DelftPL@akademienl.social

Excited for the Msc thesis defense on bringing formal verification into widespread programming language ecosystems using Agda2Hs! Full text is available at https://repository.tudelft.nl/islandora/object/uuid%3A4260f3fb-f0dd-4a1c-8097-58855609ba41?collection=education

June 29, 2023
DelftPL shared a status by agdakx

I am listening to the @ttforall podcast with Jimmy Koppel on which parts of CS theory all software engineers should learn about (see also his blog post from 2021 on why programmers should(n't) learn theory). Now I'm curious to learn which parts of "theory" you think are the most useful for a software engineer.

Please boost this so this also finds an audience beyond the types community!

#SoftwareEngineering #Education #TypeTheory #ProgramVerification #AbstractInterpretation #ProofAssistant #HoareLogic #ModelChecking #SMT #OperationalSemantics #CategoryTheory #DomainTheory

June 10, 2023
DelftPL shared a status by ltratt
Laurence Tratt
ltratt@mastodon.social

In my "Why Split Lexing and Parsing In Two" post, I mentioned in a footnote a 2008 interview I'd done with the late Eelco Visser on parsing. Listening back to it highlighted to me his energy and knowledge, but audio-only isn't for everyone -- so I've produced a transcript at https://tratt.net/laurie/blog/2023/my_interview_with_eelco_visser_with_on_parsing.html.

I also included a little bit of background on the interview -- neither Eelco or I really knew what we were doing, but by the end of the interview I think we'd hit our stride.

May 16, 2023
DelftPL shared a status by agdakx

Yesterday, Jonathan Brouwer defended his master thesis on implementing dependently typed languages in the Spoofax language workbench. You can find the pdf at https://repository.tudelft.nl/islandora/object/uuid%3A7bf3c0f5-71fb-4e08-bcdb-1c873c7e1e63

I was really pleasantly surprised at the nice things that modern language workbench technology has on offer, and would definitely consider it when prototyping a new language. The main drawback is the limited control over how implicit arguments are solved, but since a prototype will often not even have implicits, even a basic unifier is nice to have.

One thing I'm still missing is a way to export the specification of the type system to a proof assistant so I can prove things about it. Perhaps Statix2Agda would be a nice topic for another master thesis?

April 27, 2023