Earlier quoted context omitted.
F#'s features don't feel that useful after working in OCaml though. I've tried it for various projects, but OCaml is honestly just as good in all those situations. I wonder if there's some specific type of project where F#'s features will really shine.
I can imagine the .NET interop is a big deal, especially if you need to do anything on Windows. Also, parallelism can be occasionally useful.
A deep dive into Multicore OCaml garbage collector
91–97 of 97 posts
Re: A deep dive into Multicore OCaml garbage collector
#92Earlier quoted context omitted.
If you compare the two it's obvious the F# author blatantly copied as much as he possibly could.
> it's obvious the F# author blatantly copied That's a really unfortunate choice of words. It almost makes him look like he stole something in the middle of the night and never gave anyone credit. Don Syme worked on Project 7 which brought Generics to .NET, and then spoke with Leroy and others to bring OCaml to this environment. The next logical step was to implement an OCaml- style language directly, and the OCaml d…
And come on, "bringing this class of languages into the .NET space" sounds far different than "porting a copy of a language to .NET that's 95% the same."
No, he didn't steal something in the middle of the night without giving credit, but that quote is still pretty disingenuous sounding. It's more like he copied OCaml and then only gave credit for using a similar style.
Re: A deep dive into Multicore OCaml garbage collector
#93Earlier quoted context omitted.
> it's obvious the F# author blatantly copied That's a really unfortunate choice of words. It almost makes him look like he stole something in the middle of the night and never gave anyone credit. Don Syme worked on Project 7 which brought Generics to .NET, and then spoke with Leroy and others to bring OCaml to this environment. The next logical step was to implement an OCaml- style language directly, and the OCaml d…
That quote is an unfortunate choice of words! "an OCaml- style language" could be something as different as Haskell or SML, which are far more easily identified as different than OCaml. Instead he made something that looks 95% the same. And come on, "bringing this class of languages into the .NET space" sounds far different than "porting a copy of a language to .NET that's 95% the same." No, he didn't steal something…
That "5%" of F# that you imply is different from OCaml involved redoing the entire .NET framework, getting generics into it.
For example, look at the early papers (from 2001) on "ILX: Extending the .NET Common IL for Functional Language Interoperability", they considered Haskell, OCaml and ML. The compiler was written in Haskell. Or "Transposing F to C#: Expressivity of parametric polymorphism in an object-oriented language".
See Don Syme's talk on F# (https://www.infoq.com/presentations/F-Sharp-History-Today-To...).
Re: A deep dive into Multicore OCaml garbage collector
#94Earlier quoted context omitted.
How does the whitespace sensitivity make it immediately worse?
Unless experienced, you have no clue how a piece of code will be parsed. With ocaml, where is very little ambiguity; and indentation tools can take care of proper formatting, you only need to break lines. And it can be pretty bad with haskell, which has complex semantics compared to, say, python. With whitespace sensitive syntax, I feel like in the dark age of manual indentation.
Re: A deep dive into Multicore OCaml garbage collector
#95Earlier quoted context omitted.
IMHO, it's not so much that as the ASCII operator galore. $, , the horrible lambda syntax... Sometimes it looks an opinionated Perl.
I don't know if you've worked with a production Haskell code base but it cannot be over stated what a poor decision operator overloading is. if they got rid of that it would immediately make Haskell an order of magnitude more practical
Do you mean user-defined operators, or do you mean operators whose type has a typeclass context?
Re: A deep dive into Multicore OCaml garbage collector
#96Earlier quoted context omitted.
> or why I should try Haskell instead Haskell has some nice things going for it. Its syntax is cleaner than OCaml's, for example. Still, it makes some things (like having a mutable variable, or a hash table) much harder than they should be. It's worthwhile looking at both over some rainy weekends. Whichever you end up preferring, you'll have learned useful things about both languages. (OCaml is better, though ;-)) >…
> Haskell has some nice things going for it. Its syntax is cleaner than OCaml's, for example. While I find the ocaml syntax very far from perfect, the whitespace sensitivity of Haskell makes it immediately worse. What a silly design.
It's interesting because (presumably) reasonable people really disagree on these issues.
Re: A deep dive into Multicore OCaml garbage collector
#97Earlier quoted context omitted.
That quote is an unfortunate choice of words! "an OCaml- style language" could be something as different as Haskell or SML, which are far more easily identified as different than OCaml. Instead he made something that looks 95% the same. And come on, "bringing this class of languages into the .NET space" sounds far different than "porting a copy of a language to .NET that's 95% the same." No, he didn't steal something…
Well, you are just piling on more unfortunate choices of words. You are accusing him of dishonesty ("then only gave credit"), and laziness; your "95% the same" comment implies that you think of a language only at the syntax level. That "5%" of F# that you imply is different from OCaml involved redoing the entire .NET framework, getting generics into it. For example, look at the early papers (from 2001) on "ILX: Exten…
And you are continuing to bend over backwards to misconstrue what I've said. I don't know why you're being this obtuse.
> You are accusing him of dishonesty ("then only gave credit"), and laziness
Not quite...I'm sure he's been open about what he did. Your own quote said, "to implement an OCaml- style language" when what he did seemed like a lot more than just that. What I am saying is that people who say it's just in the style of OCaml aren't accurately describing it. And I never said it wasn't a lot of work, or that it indicated laziness.
> your "95% the same" comment implies that you think of a language only at the syntax level.
Fine, if you want to believe that it doesn't bother me. But you sure are continuing to put a lot of words in my mouth here.
> That "5%" of F# that you imply is different from OCaml involved redoing the entire .NET framework, getting generics into it.
I wasn't talking about that and I never said there wasn't a lot of work there. That really has no bearing on how similar F# looks to OCaml. This has to be some blatant logical fallacy, like you moving the goalposts to now include this part, too.
It's been a week and you're clearly not interested in any discussion. Just moveon.org.