Posts

Showing posts with the label fsharp

Trying to get F# working on the Raspberry Pi

The Raspberry Pi uses an older ARMv6 core which is not well supported by modern software. In particular, Mono's JIT apparently doesn't support the hardware-accelerated floating point instructions used by that version of the ARM instruction set. The solution is apparently to use the soft-float version of Raspian that emulates floating point instructions in software (which will be extremely slow). However, trying to compile the current version of the F# sources on Github using the stock Mono (2.10.8) fails with the following null reference exception from within the F# compiler: error FS0193: internal error: Object reference not set to an instance of an object Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object   at Microsoft.FSharp.Core.FSharpFunc`2[Microsoft.FSharp.Collections.FSharpList`1[System.String],System.String].InvokeFast[CcuThunk] (Microsoft.FSharp.Core.FSharpFunc`2 func, Microsoft.FSharp.Collections.FSharpList`1 arg1...

Red Gate on concurrent programming

Amidst the excitement around the new support for asynchronous programming in C# 5, Alex Davies of Red Gate software writes: " Before C# 5, I think I was about the only person in the world who really cared about asynchronous programming " In fact, many of our 1,000 corporate clients have been developing concurrent programs on .NET over the past two years. The world's foremost supplier of electronic trading and order matching software for brokers, exchanges and traders in the energy industry recently rewrote their trading user interface using async. The UK's largest insurance company provide life insurance quotes on-line using async. They are all doing this using  F#  because it has supported async out-of-the-box since it was first released in Visual Studio 2010. Even if you intend to write your asynchronous programs in C# 5, we recommend taking a look at how people have been writing asynchronous programs on .NET using  F#  including the following F#.NET Journal...

Pros and cons of OCaml

The advantages and disadvantages of the OCaml programming language. Pros: More powerful type inference than any other language: OCaml even infers union and class types! Powerful module system lets you parameterize modules over other modules easily and safely with full compile-time checking and minimal run-time overhead. Structural typing of modules, polymorphic variants and classes improves brevity, closing the gap with dynamic languages, but can obfuscate error messages. Powerful integrated macro system lets you alter the language's syntax on-the-fly and write parsers quickly and easily. Good serial performance from the x64 code gen. Easy-to-use REPL. Lots of high-quality tools and libraries. Cons: No overloading can make numerical code over many different types (e.g. complex numbers, vectors and matrices) tedious. Poor multicore support means poor performance on today's computers. Some basic functionality missing (e.g. no 32-bit floats, no try .. finally construct...