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

espbook

 

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


Microsoft Introduces Vector Abstractions Library For .NET
21/11/2024

Microsoft has announced a preview release of the Microsoft Extensions VectorData Abstractions library, which can be used to help integrate vector stores into .NET applications and libraries.



Apache Lucene Improves Sparce Indexing
22/10/2024

Apache Lucene 10 has been released. The updated version adds a new IndexInput prefetch API, support for sparse indexing on doc values, and upgraded Snowball dictionaries resulting in improved tokeniza [ ... ]


More News


Banner


Microsoft Introduces Vector Abstractions Library For .NET
21/11/2024

Microsoft has announced a preview release of the Microsoft Extensions VectorData Abstractions library, which can be used to help integrate vector stores into .NET applications and libraries.



Apache Lucene Improves Sparce Indexing
22/10/2024

Apache Lucene 10 has been released. The updated version adds a new IndexInput prefetch API, support for sparse indexing on doc values, and upgraded Snowball dictionaries resulting in improved tokeniza [ ... ]


More News

Last Updated ( Monday, 30 January 2012 )