Hello from Richard Casetta

Hello everyone, my name is Richard Casetta and I’m a software engineer from Paris. I currently work mostly on web applications, automation and infrastructure.

I have always been passionate about making great products, robust and maintainable. As such, I am interested in a lot of subjects which can help me achieve this like Functional Programming, Type Theory, Verification and more recently Programming Languages and DSLs. I also describe myself as a mathematician (or at least a wannabe :stuck_out_tongue:) and read about Category Theory and Algebra for example. I have not a lot of knowledge in all those, but I like it and I love the fact that there are so many interesting things to learn!

Recently, I have had to use tools that help me a lot, but are hard to interact with or lack the guarantee I need (tools that need YAML for example). Following my readings, Language Engineering seems a good place to learn how to try making the interaction easier. For example, is it possible to design a language that interacts with the underlying tool in a simpler/better way? Is it possible to teach the user of the language the concepts she needs to understand the big picture (with great editor support), not being focused on the syntax of the tool? Ideally, the language and tools around it should be able to help the user learn. I would love to try and design such a language!

For now I am going through Types and Programming Languages from Benjamin Pierce and plan to go through Practical Foundations for Programming Languages from Robert Harper next. Afterwards, a book on compilers seems a good fit. But I have no idea what are the tools one use to create a language as I suppose many part have been automated or are easier than starting from scratch. I have heard of language workbenches but do not know what those are. If you have resources for me to read or if you think the resources I plan to read are not the best option, please let me know, I would be glad to discuss these! :slight_smile:

I am very happy to join this community and I look forward to know other people. I also hope I will be able to help in any way.

Thanks,
Richard Casetta

6 Likes

Hello, Richard. Perhaps you can be interested in this collection of videos about the book “Category theory for programmers” that I discovered yesterday.

1 Like

Hello, thanks for your reply! Indeed, this is a great resource :slight_smile:

Hi Richard, I think another good resource on category theory is bartosz milewski website.

For what concerns TAPL I found very useful this repository GitHub - ilya-klyuchnikov/tapl-scala: Code from the book "Types and Programming Languages" in Scala, it seems to me that the code is slightly more readable than the samples from the book.

1 Like

Hello @rcasetta ! Welcome to the community.

The ANTLR Mega Tutorial : (ANTLR - parser generator)

JetBrains MPS :

Eclipse XText:
https://www.eclipse.org/Xtext/documentation/index.html
DSL Engineering by Markus Voelter:

The Definitive ANTLR Reference by Terence Parr.
Language Implementation Patterns by Terence Parr.

1 Like

Hello @davide.lettieri, thanks for your recommendation, I will take a look! Even though I follow the book in Haskell, this will be interesting to see it in Scala.

Hello @Kabi, lots of resources, thanks! I will look into it, they seem to be great starting points :slight_smile:

Hello, @Kabi

I think that the last to links to Terence Parr point to illegally distributed copies of his books.

Kind regards,
Oscar

1 Like

Thank you, @oscaretu . I have deleted the links.