Posts

Showing posts from March, 2019

Technical Overview of the CLR

Hi, today’s entry is going to talk about an article called “Technical Overview of the Common Language Runtime (or why the JVM is not my favorite execution environment) written by Erik Meijer and Kim Miller in 2001. Basically, it talks about how in the past years, some language researchers moved to JVM as kind of the delivery vehicle for their language. We know that JVM is a really good target for the Java programming language, but it is not necessarily a good platform for other languages (making an emphasis in the ones that require semantic features that do not appear in Java). And here is when and why the author introduces to us the new Microsoft .NET Common Language Infrastructure (or CLI), designed from the ground to be a multi-language platform.  I want to mention one thing that seemed curious to me, the authors of this paper are Microsoft members (or at least that’s what I saw in their emails at the start of the article). This aspect made me think that obviously, as the authors

Building Server-Side Web Language Processors

Hi, today’s blog entry is going to talk about an article called “Building Server-Side Web Language Processors and once again, the author is our Compilers Design professor Ariel Ortiz. Basically, it talks about and discusses useful insights for instructors who are considering using some kind of web approach in the courses involving language design and implementation. The purpose is to have students build a language processor that runs on the web, rather than on processor that runs on a command-line shell as normally they do. This web tool or web server was used for three different courses: Programming Languages, Language Translators and Software Development Project. I want to mention that from these subjects, I also have taken the first one, while the others are completely new to me, I’ve never heard about them and I think they aren’t imparted anymore, at least not with that name. I found interesting that incorporation of a web-based approach into those courses. Why? Because it inv

Ruby and the Interpreter Pattern

Hi, today's entry is going to talk about an article written by our professor Ariel Ortiz. The article/paper is titled “Language Design and Implementation using Ruby and the Interpreter Pattern “. After reading this paper, I realized some things. First of all, I got really impressed that this paper explains a framework used to teach in a course, in my actual university, that I already took. Second, in the title the Interpreter Pattern is mentioned and actually in another course (from which I also write a blog weekly) we are treating design patterns. It’s important to mention that I’m taking that course now and it is with the same professor.  Basically, The S-expression Interpreter Framework (SIF) is explained in this article as a tool for teaching language design and implementation concepts. This interpreter was written in Ruby to help us, the students, to learn a popular object-oriented dynamic language and language design and implementations concepts. But here is the curious poin