Monday, 18 June 2007

Using the built-in Data Structures

The F#.NET Journal recently published its fifth article, on data structures:

"The .NET framework provides a wide variety of mutable data structures and the F# standard library supplements these with several immutable data structures that provide elegant functional interfaces. This article describes many of the built-in data structures, how they are used and when they are most applicable..."

To read the rest of this article, subscribe to The F#.NET Journal today!


Anonymous said...

Hey Jon,

Are you so jazzed about Jocaml that you have forsaken us over here in the F# world?

I would also like to ask you about your thoughts about how the ocamlP3/jocaml multi-process implementations compare to F# (in terms of performance, ease of use)?

Is it true that jocaml relies on the Unix fork process command and thus cannot be ported to Windows?


Jon Harrop said...

Far from it! We're working hard to release more F# products!

As I recently discovered, there is no panacea when it comes to concurrency. I find the trade-offs involved and the solutions chosen by the big players very interesting. From my point of view, the approaches taken by Java and .NET (heavyweight threads and a concurrent GC) are not future proof. Specifically in the context of functional programming (fast allocating, short-lived values), they will not be effective for >8 cores which we will hit in 3 under years.

I'll post a Flying Frog Blog article giving more detail...

Anonymous said...

Yes I agree completely, thread (or process) independent gc seems to have some big advantages over a send all threads to “safe point” and collect model.
I would imagine that there is a certain extra overhead to all those separate garbage collectors. I’ll have to keep my eye out for your Flying Frog Blog article.

As a side note, I do enjoy the way you get ‘em all riled up over at comp.lang.lisp