Talk:F Sharp (programming language)

message: The article says that F# Interactive is only available on Windows but I've been working through tutorials on Ubuntu using fsharpi:
  <me>@<myhost>:~$ lsb_release -a
  No LSB modules are available.
  Distributor ID: Ubuntu
  Description:    Ubuntu 18.10
  Release:        18.10
  Codename:       cosmic
  <me>@<myhost>:~$ fsharpi
  
  Microsoft (R) F# Interactive version 4.1
  Copyright (c) Microsoft Corporation. All Rights Reserved.
  
  For help type #help;;
  
  > 3+4;;
  val it : int = 7
Adrian85716 (talk) 01:10, 10 November 2018 (UTC)
thread_title:  Interactive Only On Windows? 

message: The first paragraph in the Overview section is a mess. I don't know what it's trying to say or I'd fix it. Someone who knows about F# should get on that. :-)  —Preceding unsigned comment added by 71.8.227.34 (talk) 20:26, 28 August 2009 (UTC)
replies: text: Fixed, now it is similar to C# and others. Pavel Vozenilek 18:40, 6 December 2005 (UTC)
thread_title:  Comment 

message: Not if someone uses "DirectX, Windows Forms, and ASP.NET" in it - an easy trap, which microsoft is setting up with these "#" languages, but arguably not the fault of the language.  I don't know how cross-platform "Gtk#" is.  In any case, as I said adding citation-needed, "one has to doubt how cross-platform a Microsoft product is. Someone find an independent source that explains exactly what platforms [F#] works on, how well, and how freely!"  E.g. can I easily start making GUIs with F# on PowerPC NetBSD without agreeing to any non-free licenses? (presuming I already have a generic powerpc netbsd system and know how to use it) And if I do, what systems will those GUI programs then run on, and how easily? —Isaac Dupree(talk) 14:21, 17 July 2007 (UTC)
replies: text: Would something like this satisfy you? You also mentioned Gtk_Sharp, it *is* cross-platform, read the article. I'm not sure why you raise the "non-free" issue, F# can be used freely, read the license agreement. Mono (software) is a free implementation of the CLI on which compiled F# applications *do* run. 222.225.196.13 13:14, 4 August 2007 (UTC)

text: You should be able to create GUI programs with F# on PowerPC NetBSD system and run it without much problems. Both PowerPC and NetBSD are supported Mono platforms. Sanxiyn 07:16, 14 August 2007 (UTC)
replies: text:  Actually, the F# compiler itself runs on mono --SealedSun (talk) 13:11, 30 December 2007 (UTC)
thread_title:  "Cross-platform"? 

message: A good start, but it seems that there's still quite a lot of things missing. For one thing, many features that make F# remarkable in its family aren't covered - for example, active patterns aren't even mentioned, and there's no explanation that both sequence comprehensions and async workflows are just specific applications of the "computation expression" language feature, which is user-extensible (see ), and how it all relates to monads.
I think the differences between F# and other ML languages (such as lack of functors and structural typing) also deserve their own section.
Light syntax should be mentioned, as #light is present in the examples.  —Preceding unsigned comment added by 193.87.80.3 (talk) 09:33, 26 May 2009 (UTC)
thread_title:  What's missing 

message: * Every statement in F#, including if statements and loops, are composable expressions with a definite return type as well. isn't it "every statement is"? --195.50.80.2 (talk) 08:58, 25 June 2009 (UTC)
replies: text: by 75.42.158.92 () 11:16, 17 September 2009 (UTC)
thread_title:  Number Agreement 

message: All the first three examples seems to be the same thing in the following section:
(* print a list of numbers recursively *)
let rec printList lst =
    match lst with 
    | [] -> ()
    | h :: t -> 
        printf "%d\n" h
        printList t
 
(* Same thing, using matching against list elements *)
let rec printList2 l =
    match l with
    | []     -> ()
    | h :: t -> printfn "%A" h
                printList2 t
 
(* Using shorthand for match *)
let rec printList3 = function
    | []     -> ()
    | h :: t -> printfn "%A" h
                printList3 t
 
(* Or, using a higher-order function *)
let printlist4 lst = List.iter (printfn "%A") lst
Did somebody break this part in purpose?  —Preceding unsigned comment added by 149.169.164.142 (talk) 20:50, 25 April 2011 (UTC)
replies: text: this entire 4-examples on printing a list doesn't really add any value -- the other examples already show both recursive and iterative ways or writing fibonacci  173.165.30.89 (talk) 01:33, 10 March 2012 (UTC)
thread_title:  Examples 

message: Most of this article sounds as if an article about ML in general had been taken and had all instances of ML replaced with F#. Even half of the examples might as well be OCaml examples. Perhaps it would be better if half this article were thrown out and the remains were merged into a subsection of OCaml? It seems like it would fit well alongside MetaOCaml. Aij (talk) 21:09, 26 July 2011 (UTC)
thread_title:  Why is this article about ML? 

message: The link to the F# Survival Guide is broken (all other links I can find, including the corresponding link on Microsoft's F# site, appear to be broken too, so it looks as if this web book is not currently available).
Digitig (talk) 23:52, 20 October 2011 (UTC)
thread_title:  Broken External Link 

message: The article currently says "The F# extended type system is implemented as generic .NET types". IMHO this is at best unclear, and at worst plain wrong. You can write both polymorphic and non-polymorphic types in F#, the type system is pretty much the same as any other statically typed language in .NET. And why does it say "implemented"? What does implementation have to do?  — Preceding unsigned comment added by Mausch11 (talk • contribs) 15:51, 3 August 2012 (UTC)
thread_title:  Extended type system 

message: "F# also allows extending the syntax to support embedding custom domain-specific languages within the F# language itself.". The F# syntax does allow easy implementations of EDSLs, but F# does not allow syntax extensions. Examples of syntax extensions would be Nemerle's macros, Camlp4 and Template Haskell. F# does not have anything like that. Mausch11 (talk) 15:55, 3 August 2012 (UTC)
thread_title:  Extending syntax 

message: This code is incredibly inefficient. It uses a separate sieve of Eratosthenes for every number in the range, making it O(n*sqrt(n)*m) where m is the range size, instead of O(sqrt(n)*m). Terrible illustration of the parallelism features.  — Preceding unsigned comment added by Geoffroy Carrier (talk • contribs) 11:38, 20 January 2013 (UTC)
thread_title:  primes code example 

message: http://blogs.msdn.com/b/fsharpteam/archive/2013/11/28/announcing-the-f-3-1-compiler-library-code-drop-from-the-visual-f-tools-team-at-microsoft.aspx  — Preceding unsigned comment added by 60.241.96.32 (talk) 23:51, 11 January 2014 (UTC)
thread_title:  Latest stable release was not in 2012 

message: On the one hand, I'm glad that the dict keyword was mentioned since I didn't know about it. But why is it listed as an imperative feature? After all, the resulting IDictionary is readonly and therefore it's basically a kind of function declaration.Noblethrasher (talk) 04:38, 14 February 2014 (UTC)
thread_title:  Hash tables as an Imperative Language Feature? 

message: Microsoft recently released the Q# language (https://en.wikipedia.org/wiki/Q_Sharp), the syntax of which was modeled primarily on F#  — Preceding unsigned comment added by Pheidias (talk • contribs) 17:49, 31 January 2018 (UTC)
thread_title:  Add Q Sharp to list of influenced languages