<!--DEBUG:--><!--DEBUG:dc3-united-states-software-in-english-pdf-2--><!--DEBUG:--><!--DEBUG:dc3-united-states-software-in-english-pdf-2--><!--DEBUG-spv-->{"id":427585,"date":"2017-01-25T12:32:00","date_gmt":"2017-01-25T08:32:00","guid":{"rendered":"http:\/\/nhub.news\/?p=427585"},"modified":"2017-01-25T12:27:04","modified_gmt":"2017-01-25T10:27:04","slug":"f-4-1-brings-improvements-and-interoperation-with-c-7","status":"publish","type":"post","link":"http:\/\/nhub.news\/fr\/2017\/01\/f-4-1-brings-improvements-and-interoperation-with-c-7\/","title":{"rendered":"F# 4.1 Brings Improvements and Interoperation with C# 7"},"content":{"rendered":"<p style=\"text-align: justify;\"><img style=\"float: left; padding: 5px;\" width=\"300px\" src=\"https:\/\/cdn.infoq.com\/statics_s2_20170124-0303\/styles\/i\/logo-big.jpg\" alt=\"NewsHub\" border=\"0\" \/>F# 4.1 brings improvements to the language. It is distributed trough the Microsoft tools for F#, which are stated to ship later this year. This version enables support for struct tuples, interoperation with C# 7 and by-ref returns. <br \/>Tuples are commonly used in F#, as the syntax and type inference make them easy to use. They are reference types, stored on the heap. F# 4.1 brings struct tuples, stored on the stack. This have performance benefits for certain scenarios, such as allocating a large number of small tuples. <br \/>To support the ValueTuple type, tuple types, tuple expressions and tuple patterns can now be annotated with the struct keyword. <br \/>Interoperation with C# 7 also works using the struct keyword. <br \/>In addition to tuples, record types and discriminated unions cam also be represented as value types. It required the struct annotation. <br \/>F# 4.1 also brings by-ref returns. F# already has support for ref locals but had no support for consuming or generating byref-returning methods. <br \/>By-ref returns can also be consumed from a C# method. <br \/>In addition to the F# source code on GitHub, the language specifications are also available publicly for more informations.<\/p>\n<div id=\"td_post_ranks\" class=\"td-post-comments\" style=\"vertical-align: middle;\">\n<div style=\"float: left;\">\nSimilarity rank: 0\n<\/div>\n<\/div>\n<p><script>\njQuery(function() {\nvar mainContentMetaInfo = '.td-post-header .meta-info';\nvar tdPostRanks = '#td_post_ranks';\nif (jQuery(tdPostRanks).length) {\n    var tdPostRanksHtml = jQuery(tdPostRanks).get(0).outerHTML;\n    if (typeof tdPostRanksHtml != 'undefined') {\n        jQuery(tdPostRanks).remove();\n        jQuery(mainContentMetaInfo).append(tdPostRanksHtml);\n    }\n}\n});\n<\/script><span>&copy; Source: <a href=\"http:\/\/www.infoq.com\/news\/2017\/01\/fsharp-4-1?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=news\" target=\"_blank\">http:\/\/www.infoq.com\/news\/2017\/01\/fsharp-4-1?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=news<\/a><br \/>All rights are reserved and belongs to a source media.<\/span><\/p>\n<script>jQuery(function(){jQuery(\"#td_post_ranks\").remove();});<\/script><script>jQuery(function(){jQuery(\".td-post-content\").find(\"p\").find(\"img\").hide();});<\/script>","protected":false},"excerpt":{"rendered":"<p>F# 4.1 brings improvements to the language. It is distributed trough the Microsoft tools for F#, which are stated to ship later this year. This version enables support for struct tuples, interoperation with C# 7 and by-ref returns. Tuples are commonly used in F#, as the syntax and type inference make them easy to use. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":427584,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[93],"tags":[],"_links":{"self":[{"href":"http:\/\/nhub.news\/fr\/wp-json\/wp\/v2\/posts\/427585"}],"collection":[{"href":"http:\/\/nhub.news\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/nhub.news\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/nhub.news\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/nhub.news\/fr\/wp-json\/wp\/v2\/comments?post=427585"}],"version-history":[{"count":1,"href":"http:\/\/nhub.news\/fr\/wp-json\/wp\/v2\/posts\/427585\/revisions"}],"predecessor-version":[{"id":427586,"href":"http:\/\/nhub.news\/fr\/wp-json\/wp\/v2\/posts\/427585\/revisions\/427586"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/nhub.news\/fr\/wp-json\/wp\/v2\/media\/427584"}],"wp:attachment":[{"href":"http:\/\/nhub.news\/fr\/wp-json\/wp\/v2\/media?parent=427585"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/nhub.news\/fr\/wp-json\/wp\/v2\/categories?post=427585"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/nhub.news\/fr\/wp-json\/wp\/v2\/tags?post=427585"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}