The Artima Developer Community
Sponsored Link

Weblogs Forum
Implementing Programming Language Tools in C#

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Christopher Diggins

Posts: 1215
Nickname: cdiggins
Registered: Feb, 2004

Implementing Programming Language Tools in C# (View in Weblogs)
Posted: Oct 29, 2011 9:44 AM
Reply to this message Reply
My passion is implementing programming languages. While the languages I have created (e.g. Cat and Heron) haven't exploded in popularity, I have learned a few things along the way and I've decided to share some of it back with the community.

My passion for designing and implementing programming languages started about 15 years ago, when it dawned on me, just how many common programming bugs were the results of how languages were designed. As a hobby I designed and implemented two languages: Heron and Cat.

Cat received some minor recognition. There have been nearly 4000 downloads, a couple of mentions in articles, and it has inspired other typed functional stack-based languages. Heron on the other hand has gone largely unnoticed.

Heron has been under development for about 10 years. The goal was to make a successful main-stream language with similar characteristics to C# and Scala. Last year I rewrote Heron from scratch, and the design reached a point that I was happy with. Some of my favorite features of Heron:

  • Recognizable syntax for C, C++, Java, and JavaScript programmers.
  • Modules as first-class objects
  • Well-structured file layout
  • Meta-programming system based on tree rewriting
  • Static + dynamic typing
  • First class list type
  • Support for both object-oriented and functional programming techniques

Once I was ready to start telling the world about Heron I asked myself a tough question: how could I convince a working programmer to use such an immature new language regardless of how great the feature set was? There were no libraries or tools, the implementation had poor performance, and was probably full of bugs! I decided to put Heron on the shelf until I find the time to make an implementation that programmers might seriously consider using.

For now I've decided to focus on sharing some of what I've learned over the last 15 years with the community as an article Implementing Programming Language Tools in C# 4.0. I hope to eventually build the material up into a book as well.

Topic: "The Power of Hybridization" Video from CERN Previous Topic   Next Topic Topic: Big Python

Sponsored Links


Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use