FPish.net - Blog entries tagged 'f#'Blog entries shared on FPish.net by our members and tagged 'f#'.2019226-websharper-4-5-9-released-with-f-anonymous-record-supporthttp://fpish.net/blog/JankoA/id/5730/2019226-websharper-4-5-9-released-with-f-anonymous-record-supportwebsharperf#javascriptc#WebSharper 4.5.9 released with F# anonymous record supportWebSharper 4.5.9 has client-side support for F# anonymous records and build fixes.Tue, 26 Feb 2019 09:39:00 Z2019219-websharper-4-5-8-released-with-visual-studio-2019-supporthttp://fpish.net/blog/JankoA/id/5729/2019219-websharper-4-5-8-released-with-visual-studio-2019-supportwebsharperf#javascriptc#WebSharper 4.5.8 released with Visual Studio 2019 supportWebSharper 4.5.8 has client-side support for FSharp.Core 4.6 functions and templates for VS2019Tue, 26 Feb 2019 09:00:00 Zhttp://tomasp.net/blog/2019/software-engineering/http://tomasp.net/blog/2019/software-engineering/f#What should a Software Engineering course look like?<p>When I joined the <a href="https://www.cs.kent.ac.uk/">School of Computing</a> at the <a href="https://www.kent.ac.uk/">University of
Kent</a>, I was asked what subjects I wanted to teach. One of the topics
I chose was <em>Software Engineering</em>. I spent quite a lot of time reading about the history of
software engineering when working on my paper <a href="/academic/papers/failures/index.html">on programming
errors</a> and I go to a fair number of <a href="http://github.com/tpetricek/Talks">professional
programming conferences</a>, so I thought I can come up
with a good way of teaching it! Yet, I was not quite sure how to go about it or even what
<em>software engineering</em> actually means.</p>
<p>In this blog post, I share my thought process on deciding what to cover in my Software
Engineering module and also a rough list of topics. The introduction explaining <em>why</em> I chose
these and <em>how</em> I structure them is perhaps more important than the list itself, but it
is fairly long, so if you just want to see a list you can
<a href="http://tomasp.net/blog/2019/software-engineering/#fund">skip ahead to Section 2</a> (but please read the
introduction if you want to comment on the list!) I also add a brief reflection on why I think
this is a good approach, referencing a couple of ideas from philosophy of science in <a href="#phil">Section 3</a>.</p>
Fri, 08 Feb 2019 11:22:00 Zhttp://foundation.fsharp.org/applied_fsharp_challengehttp://foundation.fsharp.org/applied_fsharp_challengef#Applied F# Challenge<p>We are happy to announce the first <strong>Applied F# Challenge</strong>, organized by the F# Software Foundation!</p>
<p>F# is a general purpose open-source programming language. It originates from Microsoft Research and is used by many engineers across the globe. We primarily hear about people using F# for web development, analytical programming, and scripting. While those are perfect use cases for F#, there are many more brilliant and less covered scenarios where F# has demonstrated its strength. For example, F# is used in quantum computing, cancer research, bioinformatics, IoT, and other domains that are not typically mentioned as often.</p>
<p>The goal of the Applied F# Challenge is to publicize and promote in-depth technical publications and example code projects that demonstrate significant technical value and unique practical relevance for F#. Your submissions will help the F# Software Foundation to educate engineers across the globe about how F# can be used in advanced, innovative, and mission-critical scenarios.</p>Fri, 01 Feb 2019 21:25:00 Zhttp://foundation.fsharp.org/welcome_to_2019http://foundation.fsharp.org/welcome_to_2019f#Welcome to 2019!<p><span>Happy New Year from the F# Software Foundation!</span></p>
<p><span>2018 has been a great year for the F# community, and 2019 is looking to be even better. Membership in the F# Software Foundation has continued its steady growth, now with over 2,600 members. The <a href="http://fsharp.org/mentorship/index.html">Mentorship Program</a> had another successful round. The <a href="http://foundation.fsharp.org/diversity_program">Community Diversity Program</a> grew, with more conferences offering tickets through the Foundation. We launched the <a href="https://forums.fsharp.org/">F# Community Forums</a>, and have much more planned for the next year.</span></p>Wed, 02 Jan 2019 02:14:00 Z20181219-announcing-try-f-on-webassemblyhttp://fpish.net/blog/adam.granicz/id/5696/20181219-announcing-try-f-on-webassemblywebsharperf#try f#webassemblybolerofcswasmAnnouncing Try F# on WebAssemblyJust a short week ago, we announced the first release of Bolero, enabling full-stack F# web development on WebAssembly. Since then we have been working on a small side project to see what it would take to implement a fully client-side implementation of the F# compiler: basically, to embed FSharp.Compiler.Services (FCS) in a small Bolero application.Wed, 19 Dec 2018 17:55:00 Z20181210-from-enterprise-to-next-generation-web-celebrating-11-years-with-websharperhttp://fpish.net/blog/adam.granicz/id/5679/20181210-from-enterprise-to-next-generation-web-celebrating-11-years-with-websharperwebsharperf#From enterprise to next-generation web: celebrating 11 years with WebSharperA brief outline of the historical circumstances around WebSharper (just some notes in no particular order) that **position it for a bright future outlook**, and a quick glimple of what we are working on with it to advance the current state of F# web programming.Mon, 10 Dec 2018 06:00:00 Zhttp://tomasp.net/blog/2018/write-your-own-excel/http://tomasp.net/blog/2018/write-your-own-excel/f#Write your own Excel in 100 lines of F#<p>I've been teaching F# for over seven years now, both in the public F# FastTrack course that we run
at SkillsMatter in London and in various custom trainings for private companies. Every time I teach
the F# FastTrack course, I modify the material in one way or another. I wrote about some of this
interesting history <a href="#">last year in an fsharpWorks article</a>. The course now has a stable half-day
introduction to the language and a stable focus on the ideas behind functional-first programming,
but there are always new examples and applications that illustrate this style of programming.</p>
<img src="http://tomasp.net/blog/2018/write-your-own-excel/logo.png" class="rdecor" />
<p>When we started, we mostly focused on teaching functional programming concepts that might be useful
even if you use C# and on building analytical components that your could integrate into a larger
.NET solution. Since then, the F# community has matured, established the <a href="http://fsharp.org">F# Software Foundation</a>,
but also built a number of mature end-to-end ecosystems that you can rely on such as <a href="http://fable.io">Fable</a>,
the F# to JavaScript compiler, and <a href="https://safe-stack.github.io">SAFE Stack</a> for full-stack web development.</p>
<p>For the upcoming December course in London, I added a number of demos and hands-on tasks built
using Fable, partly because running F# in a browser is an easy way to illustrate many concepts
and partly because Fable has some amazing functional-first libraries.</p>
<blockquote>
<p><em><i class="fa fa-hand-o-right" style="font-size:110%;margin:0px 5px 0px 0px"></i></em>
If you are interested in learning F# and attending our course, the next <a href="https://skillsmatter.com/courses/473-tomas-petricek-phil-trelford-fast-track-to-fsharp">F# FastTrack</a>
takes place on <strong>6-7 December</strong> in London at SkillsMatter. We also offer custom
on-site trainings. Get in touch at <a href="http://twitter.com/tomaspetricek">@tomaspetricek</a>
or email <a href="mailto:tomas@tomasp.net">tomas@tomasp.net</a> for a 10% discount for the course.</p>
</blockquote>
<p>One of the new samples I want to show, which I also <a href="https://vimeo.com/281241807">live coded at NDC 2018</a>,
is building a simple web-based Excel-like spreadsheet application. The spreadsheet demonstrates
all the great F# features such as domain modeling with types, the power of compositionality
and also how functional-first approach can be amazingly powerful for building user interfaces.</p>
Mon, 12 Nov 2018 12:58:00 Zhttp://sergeytihon.com/?p=5354https://sergeytihon.com/2018/10/22/f-advent-calendar-in-english-2018/f#f# weeklynews:f# weeklyfsadventF# Advent Calendar in English 2018F# Advent Calendar is a long tradition in F# community F# Advent Calendar in English: 2017, 2016, 2015, 2014 F# Advent Calendar (in Japanese): 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010 that became an inspiration for C# Advent Calendar and for Q# Advent Calendar. Advent 2018 is coming, this year we have 54 free slots. Please join, reserve &#8230; <a href="https://sergeytihon.com/2018/10/22/f-advent-calendar-in-english-2018/" class="more-link">Continue reading <span class="screen-reader-text">F# Advent Calendar in English&#160;2018</span></a>Mon, 22 Oct 2018 07:56:00 Zhttp://tomasp.net/blog/2018/programming-interaction/http://tomasp.net/blog/2018/programming-interaction/f#Programming as interaction: A new perspective for programming language research<p>In May, I joined the <a href="https://www.cs.kent.ac.uk/">School of Computing</a> at the <a href="https://www.kent.ac.uk/">University of
Kent</a> as a Lecturer (equivalent of Assistant Professor in some other countries).
When applying for the job, I spent a lot of time thinking about how to best explain the kind of
research that I would like to do. This blog post is a brief summary of my ideas. I'm interested
in way too many things, including <a href="http://tomasp.net/blog/tag/philosophy/">philosophy and design</a> and
<a href="http://tomasp.net/blog/tag/data-journalism/">data journalism</a>, but this post will be mainly about
programming language research. After all, I'm a member of the <a href="https://www.cs.kent.ac.uk/research/groups/plas/">Programming Languages
and Systems group</a>!</p>
<img src="http://tomasp.net/blog/2018/programming-interaction/kent.png" class="rdecor-sm" style="max-width:250px"/>
<p>Unlike some of my <a href="http://tomasp.net/blog/2016/thinking-unthinkable/">other posts about programming languages</a>,
I won't try to convince you that we should be studying programming languages completely differently this
time. Instead, I want to describe <em>one simple trick that will make current programming language
research much more interesting</em>!</p>
<p>A lot of programming language papers today talk about programs and program properties. In
statically typed programming languages, we can check that a program <span class="math">\(e\)</span> has certain type <span class="math">\(\tau\)</span>,
which means that, when the program is run, it will only produce values of the type.
This is very nice, but it misses a fundamental thing about programming. How was this program
<span class="math">\(e\)</span> actually constructed?</p>
<p>When programming, you spend most of your time working with programs that are <em>unfinished</em>. This
means that they do not do what they are supposed to be (eventually) doing and, very often, they
are not well-typed or even syntactically invalid. However, that does not mean that we can afford
to ignore them. In many cases, programmers can even run those programs (using REPL or using a
notebook environment). In other words, programming language research should not study <em>programs</em>,
but should instead study <em>programming</em>!</p>
<blockquote>
<p><em><i class="fa fa-hand-o-right" style="font-size:110%;margin:0px 5px 0px 0px"></i></em>
I'm also writing this because I'll soon be looking for collaborators and PhD students,
so if the ideas in this blog post sound interesting to you or if you've been working on
something related, please let me know! You can get in touch at <a href="http://twitter.com/tomaspetricek">@tomaspetricek</a>
or email <a href="mailto:tomas@tomasp.net">tomas@tomasp.net</a>.</p>
<p>We'll have funding for PhD students from September 2019 and I'm also working on getting money
for a post-doc position. All of these are open ended, so if the blog post made you curious
(and you wouldn't mind living in Canterbury or London), definitely reach out!</p>
</blockquote>
Mon, 08 Oct 2018 11:22:00 Ztag:blogger.com,1999:blog-1033232967128707730.post-4435070678217663131https://kimsereyblog.blogspot.com/2018/09/setup-continuous-integration-and.htmlf#buildfakeappveyor.net coreci/cdSetup Continuous Integration and Deployment for dotnet library with Appveyor and FAKESetup Continuous Integration and Deployment for dotnet library with Appveyor and FAKE
Last week we saw a flow to manage versioning and releases. As a continuation of last week, today I will show how we can setup versioning and releases for open source projects by configuring Appveyor and using FAKE to setup a build script.
Configure AppVeyor
FAKE
1. Configure AppVeyor
Configuring AppVeyor is Fri, 21 Sep 2018 20:44:00 Zhttps://blog.semagle.com/semagle/simple-dsl-for-logging-in-fsharphttps://blog.semagle.com/semagle/simple-dsl-for-logging-in-fsharp.htmlf#semagleSimple DSL for Logging in F#Sun, 17 Jun 2018 22:00:00 Z2018615-create-javascript-libraries-from-your-c-or-f-codehttp://fpish.net/blog/JankoA/id/5601/2018615-create-javascript-libraries-from-your-c-or-f-codewebsharperf#c#Create JavaScript libraries from your C# or F# codeLearn how to use WebSharper's JavaScriptExport feature to create standalone .js files from your .NET projectsFri, 15 Jun 2018 11:08:00 Zhttp://tomasp.net/blog/2018/alien-lambda-calculus/http://tomasp.net/blog/2018/alien-lambda-calculus/f#Would aliens understand lambda calculus?<p>Unless you are a sci-fi author or some secret government agency, the question whether aliens
would understand lambda calculus is probably not your main practical concern. However, the question
is intriguing because it nicely vividly formulates a fundamental question about our formal mathematical
knowledge. Are mathematical theories and results about them <em>invented</em>, i.e. constructed by
humans, or <em>discovered</em>, i.e. are they eternal truths that exist regardless of whether there are
humans to know them?</p>
<img src="http://tomasp.net/blog/2018/alien-lambda-calculus/human.jpg" class="rdecor"
style="width:40%;max-width:400px;margin-left:30px;margin-top:0px;margin-bottom:0px" />
<p>The question makes for a fantastic late night pub debate, but how can we go about answering it using
a more serious methodology? Is there a paper one can read to better understand the problem?
Occasionally, a <a href="https://www.youtube.com/watch?list=PLcGKfGEEONaCIl5eU53uPBnRJ9rbIH32R&amp;v=IOiZatlZtGU">talk</a>
or an <a href="https://www.quora.com/Do-aliens-have-LISP-or-Scheme">online comment</a>
by a computer scientist comments on this question, but way too often, people miss the fact that
the nature of mathematical entities is one of the fundamental questions of <em>philosophy of
mathematics</em>. Alas, all those discussions are carefully hidden in the humanities department!</p>
<p>I believe that knowing a bit about philosophy of mathematics is important if we want to have a
meaningful debate about philosophical questions of mathematics (sic!) and so I did a talk
<a href="https://www.youtube.com/watch?v=JoWH2jNlvQQ">on this very subject at CodeMesh 2017</a>.
This article is slightly refined and hopefully
more polished version of the talk for those who, like me, prefer reading over watching.
Keep in mind that the question about the nature of mathematical entities is one of the fundamental
questions of an <em>entire academic discipline</em>. As such, this article cannot possibly cover all the
relevant discussions. Compared to some other writings in this space, this article is, at least,
based on a couple of philosophical books that, I believe, have useful things to say on the subject!</p>
Tue, 22 May 2018 09:27:00 Zhttp://foundation.fsharp.org/announcing_the_community_forumshttp://foundation.fsharp.org/announcing_the_community_forumsf#Announcing the F# Community Forums<p>One of the main goals of the F# Software Foundation has always been to help bring the F# community together and foster better communication. While the Slack team has been a fantastic mechanism for Members of the Foundation to communicate, it does have quite a few limitations. Members have been requesting an alternative for persistent communication for a long time.</p>
<p>We are happy to announce that we have setup the <a href="https://forums.fsharp.org">F# Community Forums</a> for use by everybody in the F# Community.</p>Fri, 11 May 2018 23:22:00 Zhttp://foundation.fsharp.org/2018_board_of_trustees_campaignhttp://foundation.fsharp.org/2018_board_of_trustees_campaignf#2018 Board of Trustees Campaign<p>The <a href="http://foundation.fsharp.org/2018_board_of_trustees_elections">2018 Board of Trustees election</a> is underway! </p>
<p>Over the last month, the voting members have submitted many nominations for new Board of Trustee members, and sixteen people have agreed to participate in the 2018 election.</p>Fri, 11 May 2018 00:32:00 Zhttp://foundation.fsharp.org/2018_board_of_trustees_electionshttp://foundation.fsharp.org/2018_board_of_trustees_electionsf#2018 Board of Trustees Elections<p>Every year around Spring time, the F# Software Foundation holds elections for its Board of Trustees. The role of the Board is to oversee the vision and mission of the F# Software Foundation, to set the goals, and to appoint officers to run the daily operations as appropriate. It is now time for our members to choose who will represent them as the Board of Trustees for 2018.</p>Thu, 26 Apr 2018 20:55:00 Zhttp://foundation.fsharp.org/2018-04-22-diversity-programhttp://foundation.fsharp.org/2018-04-22-diversity-programf#Diversity opportunity: "Rapid Web Development with F# and the SAFE Stack" workshop<p>The F# Software Foundation diversity program aims at increasing the diversity of its membership. In that context, we started supporting members of underrepresented minorities to attend <a rel="noopener" href="http://foundation.fsharp.org/2018-01-18-diversity-program" target="_blank">conferences</a> and <a rel="noopener" href="http://foundation.fsharp.org/2018-04-13-diversity-program" target="_blank">other community events</a>.<br><br>We are pleased to announce that sponsored (i.e. free entrance to the workshop) tickets are now available for the following event:<br><br><a rel="noopener" href="https://www.eventbrite.co.uk/e/rapid-web-development-with-f-and-the-safe-stack-tickets-44975974350" target="_blank">Rapid Web Development with F# and the SAFE Stack</a>, London, May 21, 2018 (1 ticket).</p>
<p><em>These tickets have been made available due to the generosity of Compositional IT, the host of the event.</em></p>Sun, 22 Apr 2018 18:37:00 Zhttp://foundation.fsharp.org/2018-04-13-diversity-programhttp://foundation.fsharp.org/2018-04-13-diversity-programf#Diversity opportunity: "Capturing Domain Logic in F#" workshop<p>The F# Software Foundation diversity program aims at increasing the diversity of its membership. In that context, we started supporting members of underrepresented minorities to attend <a rel="noopener" href="http://foundation.fsharp.org/2018-01-18-diversity-program" target="_blank">conferences</a> and <a rel="noopener" href="http://foundation.fsharp.org/2017-12-17-diversity-program" target="_blank">other community events</a>.<br><br>We are pleased to announce that sponsored (i.e. free entrance to the workshop) tickets are now available for the following events:<br><br><a rel="noopener" href="https://www.eventbrite.com/e/capturing-domain-logic-in-f-from-types-to-domain-specific-languages-tickets-44370668865" target="_blank">Capturing domain logic in F# – From types to domain specific languages</a>, Seattle, Apr 17, 2018 (1 ticket).</p>
<p><a rel="noopener" href="https://www.eventbrite.com/e/capturing-domain-logic-in-f-from-types-to-domain-specific-languages-tickets-44371205470" target="_blank">Capturing domain logic in F# – From types to domain specific languages</a>, Hoboken, Apr 23, 2018 (1 ticket).</p>
<p><em>These tickets have been made available due to the generosity of fsharpWorks, the host of the event.</em></p>Fri, 13 Apr 2018 21:42:00 Z201849-part-2-model-view-update-mvu-style-apps-with-websharper-uihttp://fpish.net/blog/adam.granicz/id/5561/201849-part-2-model-view-update-mvu-style-apps-with-websharper-uiwebsharperf#elmuimvuPart 2. Model-View-Update (MVU) style apps with WebSharper UIIn this tutorial, you will learn about using WebSharper UI to implement a simple Model-View-Update (MVU) application pattern, similar to the Elm architecture. In subsequent tutorials, you will learn about enhancing this pattern to a full-scale application development architecture (The WebSharper Architecture) that has superior performance and sufficient flexibility to implement any type of web application.Mon, 09 Apr 2018 20:37:00 Z2018327-first-steps-using-html-templates-accessing-form-values-and-wiring-eventshttp://fpish.net/blog/adam.granicz/id/5516/2018327-first-steps-using-html-templates-accessing-form-values-and-wiring-eventswebsharperf#uitemplatingFirst steps: Using HTML templates, accessing form values, and wiring eventsCongratulations on taking the first step to learn WebSharper! We have carefully put together this hands-on tutorial with the aim to help you get started with WebSharper and on your way to learn functional, reactive web development, putting you on a fast track to unleash the real web developer in you. The skills you pick up with WebSharper will make you a better web developer, and the concepts you learn will remain valid and useful with other functional, reactive web frameworks and libraries as well.Tue, 27 Mar 2018 18:57:00 Z2018312-websharper-4-2-4-releasedhttp://fpish.net/blog/JankoA/id/5510/2018312-websharper-4-2-4-releasedwebsharperf#javascriptc#WebSharper 4.2.4 releasedWebSharper 4.1.6 has F# query on the client and net4x builds not depending on netstandardMon, 12 Mar 2018 05:51:00 Zhttp://foundation.fsharp.org/2018-03-08-diversity-programhttp://foundation.fsharp.org/2018-03-08-diversity-programf#Diversity opportunity: "Practical Machine Learning with Functional Programming" workshop<p>The F# Software Foundation diversity program aims at increasing the diversity of its membership. In that context, we started supporting members of underrepresented minorities to attend <a rel="noopener" href="http://foundation.fsharp.org/2018-01-18-diversity-program" target="_blank">conferences</a> and <a rel="noopener" href="http://foundation.fsharp.org/2017-12-17-diversity-program" target="_blank">other community events</a>.<br><br>We are pleased to announce that sponsored (i.e. free entrance to the workshop) tickets are now available for the following event:<br><br><a rel="noopener" href="http://www.avanscoperta.it/en/training/practical-machine-learning-with-functional-programming-workshop/" target="_blank">Practical Machine Learning with Functional Programming</a>, Milan, Apr 9 - 10, 2018 (1 ticket).</p>
<p><em>These tickets have been made available due to the generosity of avanscoperta, the host of the event.</em></p>Thu, 08 Mar 2018 14:59:00 Z2018220-deploying-a-net-core-websharper-site-in-aws-lambdahttp://fpish.net/blog/JankoA/id/5505/2018220-deploying-a-net-core-websharper-site-in-aws-lambdawebsharperf#c#awsserverlessDeploying a .NET Core WebSharper site in AWS LambdaTutorial for instantiating a WebSharper site and configuring it to run on AWS LambdaWed, 21 Feb 2018 03:04:00 Z2018212-websharper-4-2-beta-released-with-net-core-standard-supporthttp://fpish.net/blog/JankoA/id/5502/2018212-websharper-4-2-beta-released-with-net-core-standard-supportwebsharperf#javascriptc#WebSharper 4.2-beta released with .NET Core/Standard supportWebSharper 4.2-beta adds support for .NET Core and compiler configuration via jsonMon, 12 Feb 2018 04:37:00 Z201827-websharper-4-1-6-releasedhttp://fpish.net/blog/JankoA/id/5500/201827-websharper-4-1-6-releasedwebsharperf#javascriptc#WebSharper 4.1.6 releasedWebSharper 4.1.6 has enhancements for bundle projects and bug fixesWed, 07 Feb 2018 06:59:00 Z2018116-websharper-4-1-2-releasedhttp://fpish.net/blog/JankoA/id/5495/2018116-websharper-4-1-2-releasedwebsharperf#javascriptc#WebSharper 4.1.2 releasedWebSharper 4.1.2 has enhancements for C# routing and bug fixesWed, 07 Feb 2018 06:49:00 Zhttp://foundation.fsharp.org/2018-01-18-diversity-programhttp://foundation.fsharp.org/2018-01-18-diversity-programf#Diversity opportunity: F# eXchange 2018<div id="intro" class="intro">
<div class="content">
<p>The F# Software Foundation diversity program aims at increasing the diversity of its membership. In that context, we started supporting members of underrepresented minorities to attend <a rel="noopener" href="http://foundation.fsharp.org/announcing_the_diversity_program" target="_blank">conferences</a> and <a rel="noopener" href="http://foundation.fsharp.org/2017-12-17-diversity-program" target="_blank">other community events</a>.<br><br>We are pleased to announce that sponsored (i.e. free entrance to the conference) tickets are now available for the following event:<br><br><a rel="noopener" href="https://skillsmatter.com/conferences/9419-f-sharp-exchange-2018" target="_blank">F# eXchange 2018</a>, London, Apr 5 - 6, 2018 (2 tickets).</p>
<p><em>These tickets have been made available due to the generosity of Skills Matter, the host of F# eXchange 2018.</em></p>
</div>
</div>Fri, 19 Jan 2018 00:00:00 Z201819-websharper-4-1-1-releasedhttp://fpish.net/blog/JankoA/id/5491/201819-websharper-4-1-1-releasedwebsharperf#javascriptc#WebSharper 4.1.1 releasedWebSharper 4.1.1 expands and fixes multiple client-server featuresTue, 09 Jan 2018 07:11:00 Zhttp://foundation.fsharp.org/welcome_to_2018http://foundation.fsharp.org/welcome_to_2018f#Another New Year for the F# Software Foundation<p><span>Happy New Year from the F# Software Foundation!</span></p>Tue, 02 Jan 2018 04:31:00 Z