Pit - F# to JavaScript Compiler
Written by Ian Elliot   
Monday, 30 January 2012

Pit is a new open source project that compiles F# to JavaScript.

JavaScript is doing so many amazing things that you have to treat it as a first class high-level language, but for many programmings the idea that it is the new assembler is still sinking in.

There are already a number of languages that compile to JavaScript, including Dart and CoffeeScript, but mostly these are extensions or improvements to JavaScript.

Compiling strongly typed languages into JavaScript is a challenge, but JavaScript is already an object-oriented language and doesn't need to much extra machinery to implement types and class based inheritance. However, JavaScript also has another aspect. You can choose to view it as a functional language if you want to and, with a few additions such as map and apply and so on, it soon begins to look like a perfectly workable functional language.

So why not use it as a target for a compiler for a "real" functional language?

 

 

 

This is exactly what the Pit open source project is all about. Currently at a very conservative version 0.2, it can already be used to compile some quite impressive demos. In addition to working as a standard F# to JavaScript compiler it also can be used as a REPL (Read Evaluate Print Loop) in a browser. The only catch is that the REPL needs Silverlight to work, so it won't work in every browser.The good news is that the compiler produces very readable JavaScript.

 

Fsharppitrepl

 

As well as being an interesting project, and yet another proof of principle that JavaScript is usable as an intermediate language, it is also a potentially useful tool. There are a lot of advanced algorithms implemented in F# and now they can run in a browser as an HTML5 application. It also provides a much bigger platform for F# development. You can now decide to use F# with the expectation that you can develop using Visual Studio and a .NET environment with the idea of providing a web based version with the help of Pit.

Of course, any practical advantages depends on the project continuing until we reach a version 1 or even a version 2. At the moment there seems to be only two active members of the team, so if you think that this is a worthy project you might like to give them a hand.

 

More Information

Pit

Related Articles

JavaScript Inherits the Earth

pico book

 

Comments




or email your comment to: comments@i-programmer.info

 

To be informed about new articles on I Programmer, subscribe to the RSS feed, follow us on Google+, Twitter, Linkedin or Facebook or sign up for our weekly newsletter.

Banner


Grafana 12.1 Adds Monitoring Tool
19/08/2025

Grafana 12.1 has been released, with automated health checks for your Grafana instance, streamlined views in Grafana Alerting, and visualization updates. The release follows the major upgrade to Grafa [ ... ]



With MCP Docs Servers You'll Never Run Out Of Fresh Documentation
14/08/2025

MCP has changed the way you interact with your tools overnight. Now it targets your documentation. Wouldn't be great to have the latest and updated code samples and documentation of your favorite fram [ ... ]


More News


Banner


Grafana 12.1 Adds Monitoring Tool
19/08/2025

Grafana 12.1 has been released, with automated health checks for your Grafana instance, streamlined views in Grafana Alerting, and visualization updates. The release follows the major upgrade to Grafa [ ... ]



With MCP Docs Servers You'll Never Run Out Of Fresh Documentation
14/08/2025

MCP has changed the way you interact with your tools overnight. Now it targets your documentation. Wouldn't be great to have the latest and updated code samples and documentation of your favorite fram [ ... ]


More News

Last Updated ( Monday, 30 January 2012 )