<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: smoothdeveloper</title><link>https://news.ycombinator.com/user?id=smoothdeveloper</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 06 Apr 2026 20:52:36 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=smoothdeveloper" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by smoothdeveloper in "Clef Programming Language – A concurrent systems language"]]></title><description><![CDATA[
<p>For GPU, F# has prior art in targeting it, a notable one is <a href="https://developer.nvidia.com/blog/jet-gpu-powered-fulfillment/" rel="nofollow">https://developer.nvidia.com/blog/jet-gpu-powered-fulfillmen...</a><p>I believe it is mostly about intrinsic libraries and developing the code to stick to the idioms of using such libraries; in the context of Clef, maybe the author of this infrastructure is aiming at close interaction between the compiler frontend, a standard GPU programming library and the Clef backend, but I can't really comment on this.<p>What Clef seems to be doing is:
* bringing semantics that are needed for native platform targeting,  expressed with idioms familiar to F# developers (through the type system and the lowering during compilation stages, retaining target specific semantics)
* making the broad F# programming idioms applicable to such targets (when applicable obviously)<p>The website contains a lots of detailed articles about aspects of translating F# constructs to the type of environment this compiler targets, but AFAIR, nothing specific to GPU programming.</p>
]]></description><pubDate>Tue, 17 Feb 2026 20:27:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47052845</link><dc:creator>smoothdeveloper</dc:creator><comments>https://news.ycombinator.com/item?id=47052845</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47052845</guid></item><item><title><![CDATA[New comment by smoothdeveloper in "Clef Programming Language – A concurrent systems language"]]></title><description><![CDATA[
<p>Clef is a new backend for F# language aiming the language at concurrent systems use cases on native targets.</p>
]]></description><pubDate>Tue, 17 Feb 2026 19:58:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=47052397</link><dc:creator>smoothdeveloper</dc:creator><comments>https://news.ycombinator.com/item?id=47052397</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47052397</guid></item><item><title><![CDATA[Clef Programming Language – A concurrent systems language]]></title><description><![CDATA[
<p>Article URL: <a href="https://clef-lang.com/">https://clef-lang.com/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47052396">https://news.ycombinator.com/item?id=47052396</a></p>
<p>Points: 3</p>
<p># Comments: 3</p>
]]></description><pubDate>Tue, 17 Feb 2026 19:58:35 +0000</pubDate><link>https://clef-lang.com/</link><dc:creator>smoothdeveloper</dc:creator><comments>https://news.ycombinator.com/item?id=47052396</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47052396</guid></item><item><title><![CDATA[New comment by smoothdeveloper in "Why F# could be the next mainstream programming language (2024)"]]></title><description><![CDATA[
<p>Are you contributing to FUD? :D</p>
]]></description><pubDate>Sat, 09 Aug 2025 23:14:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=44851253</link><dc:creator>smoothdeveloper</dc:creator><comments>https://news.ycombinator.com/item?id=44851253</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44851253</guid></item><item><title><![CDATA[New comment by smoothdeveloper in "Why F# could be the next mainstream programming language (2024)"]]></title><description><![CDATA[
<p>C# can't fix the wrong defaults, still lots more mutable by default, and statement oriented, as an example.<p>average C# codebase looks different depending language version idioms, not so in F# (because initial release already had >80% of things that C# today doesn't even have and won't be able to fix).<p>But C# is great too, nonetheless.</p>
]]></description><pubDate>Sat, 09 Aug 2025 23:14:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=44851248</link><dc:creator>smoothdeveloper</dc:creator><comments>https://news.ycombinator.com/item?id=44851248</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44851248</guid></item><item><title><![CDATA[New comment by smoothdeveloper in "Why F# could be the next mainstream programming language (2024)"]]></title><description><![CDATA[
<p>Never under-estimates wrong defaults in a language, for example:<p>C++, const modifier, verbose for more correct code (less mutable state, etc.)
Rust, mut modifier, verbose for less correct code<p>C/C++, bothersome to have tight scopped values, due to split of expression & statement
ML languages, nesting of let bound values, everything is tight scoped, even recycling local names non destructively via shadowing.<p>C#: mostly, all flaws of C/C++/Java
F#: mostly all right things of ML, OCaml, Rust<p>F#: Structural comparison of ML types from day 1
C#: just adding records recently; most of libraries, idioms, and semantics geared towards reference comparison<p>idioms<p>C#: mainly OO, noisy syntax, low expressivity (constructing immutable values out of generators or expressions), lots of navigation due to adhoc things needed to be named, poor type inference
F#: data & functions, concise end non noisy syntax, high expressivity (list expressions, computation expression values), less scrolling & navigation, object expression rather than defining type used once, great type inference (less noisy diff on refactorings)<p>etc.<p>So average F# codebase is by construct, more sound, than average C# codebase, however F# code quality may be poor, and C# great, still, more soundness in F#, IMHO.</p>
]]></description><pubDate>Sat, 09 Aug 2025 23:11:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=44851234</link><dc:creator>smoothdeveloper</dc:creator><comments>https://news.ycombinator.com/item?id=44851234</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44851234</guid></item><item><title><![CDATA[New comment by smoothdeveloper in "Why F# could be the next mainstream programming language (2024)"]]></title><description><![CDATA[
<p>You can read this suggestion, and upvote, comment, contribute: <a href="https://github.com/fsharp/fslang-suggestions/issues/1434" rel="nofollow">https://github.com/fsharp/fslang-suggestions/issues/1434</a></p>
]]></description><pubDate>Sat, 09 Aug 2025 05:09:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=44844169</link><dc:creator>smoothdeveloper</dc:creator><comments>https://news.ycombinator.com/item?id=44844169</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44844169</guid></item><item><title><![CDATA[New comment by smoothdeveloper in "Why F# could be the next mainstream programming language (2024)"]]></title><description><![CDATA[
<p>Just a polling of HN hive mind on this critical matter.<p>Worst case, let the "tried F# once/for real" ramblers unload their bag once more :)</p>
]]></description><pubDate>Sat, 09 Aug 2025 02:00:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=44843448</link><dc:creator>smoothdeveloper</dc:creator><comments>https://news.ycombinator.com/item?id=44843448</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44843448</guid></item><item><title><![CDATA[Why F# could be the next mainstream programming language (2024)]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.snork.dev/posts/why-f--could-be-the-next-mainstream-programming-language-.html">https://blog.snork.dev/posts/why-f--could-be-the-next-mainstream-programming-language-.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=44843447">https://news.ycombinator.com/item?id=44843447</a></p>
<p>Points: 50</p>
<p># Comments: 98</p>
]]></description><pubDate>Sat, 09 Aug 2025 02:00:12 +0000</pubDate><link>https://blog.snork.dev/posts/why-f--could-be-the-next-mainstream-programming-language-.html</link><dc:creator>smoothdeveloper</dc:creator><comments>https://news.ycombinator.com/item?id=44843447</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44843447</guid></item><item><title><![CDATA[New comment by smoothdeveloper in "Why F#?"]]></title><description><![CDATA[
<p>One way to look at it, but consuming OOP libraries doesn't turn code into OOP.<p>Also, FSharp.Core (which most F# code leans heavily on) is not OOP at all.<p>F# promotes object programming, doesn't proscribe mutability, encourages function and data approach.<p>It offers simple access to the different paradigms, with some opinionated choices (e.g. preventing leaning on OOP beyond an arbitrary stretch, like no "protected", only explicit interface implementation, etc.).</p>
]]></description><pubDate>Tue, 01 Apr 2025 15:21:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=43547879</link><dc:creator>smoothdeveloper</dc:creator><comments>https://news.ycombinator.com/item?id=43547879</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43547879</guid></item><item><title><![CDATA[New comment by smoothdeveloper in "Why F#?"]]></title><description><![CDATA[
<p>In C#, you can't use the await keyword in a non async method, so I find the argument short sighted.</p>
]]></description><pubDate>Tue, 01 Apr 2025 14:56:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=43547546</link><dc:creator>smoothdeveloper</dc:creator><comments>https://news.ycombinator.com/item?id=43547546</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43547546</guid></item><item><title><![CDATA[New comment by smoothdeveloper in "Fault Report – and alternative to Result in F#"]]></title><description><![CDATA[
<p>/!\ this is just my perspective /!\<p>> would love to know why leaving it unbounded was decided upon. Might be I don't quite grok the culture of F#.<p>You may look at more context in the discussions pertaining to the RFC: <a href="https://github.com/fsharp/fslang-design/blob/main/FSharp-4.1/FS-1004-result-type.md">https://github.com/fsharp/fslang-design/blob/main/FSharp-4.1...</a><p>I think those are the main factors:<p>* "Keep It Simple Stupid" principle<p>* community pressure so that F# libraries could standardise on better things that Choice1Of2 = Ok and Choice2Of2 = Error, or using a bare tuple (which is very not clean for APIs)<p>* F# ought to remain flexible in terms of not pretending of totally abstracting away the fact that most of the dotnet base class library or the overall dotnet ecosystem, uses exceptions, it is not like Result type was created to abstract runtime exceptions away.<p>For all other needs, one is just one wrapper / or abstraction (for library that don't "meet our standards" in terms of exception safety) away, along with a bit of adhoc tooling around leveraging FSharp.Compiler.Service for sake of adding static analysis, for architecture astronauts, dealing with behemoth or safety critical codebases, requiring even more screws turned, but even there, F# (and so many other languages) may not meet the bar if those are the critical properties for a project involving code.<p>Overall, F# is just pragmatic for the 99.99%, and not trying too hard beside the steady core language idioms, and how the organic community wants it over time, to satisfy hypothetical and intellectual pursuits of the highest abstraction and safety.<p>The culture of F# is mostly about throwing productivity parties and being done with it (while not suffering so many of the wrong choices done by C, C++, Java and it's famed sibbling, C#), rather than the higher conceptual type theory perfection that (sometimes ?) lead to code that is not less kludgy, or easier to maintain, in the grand scheme, for the masses of developers, that are not yet expert in Haskell, Scala, etc.<p>It is probably not too dissimilar to OCaml culture, while embracing some aspects that are familiar to more people, due to relationship with dotnet ecosystem.</p>
]]></description><pubDate>Sun, 22 Dec 2024 08:28:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=42485092</link><dc:creator>smoothdeveloper</dc:creator><comments>https://news.ycombinator.com/item?id=42485092</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42485092</guid></item><item><title><![CDATA[New comment by smoothdeveloper in "Gnuplot is not GNU"]]></title><description><![CDATA[
<p>In context of adding burden of having someone to translate for you in Japanese, the statement he made seems good enough and to the point.<p>Maybe you are far too pre-assumtpive that there was any ill effect, or even ill intent, in the statement being made, especially if the same fact is accounted for in gnuplot FAQ.</p>
]]></description><pubDate>Sun, 09 May 2021 14:05:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=27095990</link><dc:creator>smoothdeveloper</dc:creator><comments>https://news.ycombinator.com/item?id=27095990</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27095990</guid></item><item><title><![CDATA[New comment by smoothdeveloper in "In Support of Richard Stallman"]]></title><description><![CDATA[
<p>For people who understand french (or can use translation tool)<p>this is the only account back in 2019 of the events:<p><a href="https://www.lemonde.fr/pixels/article/2019/09/17/richard-stallman-precurseur-du-logiciel-libre-demissionne-du-mit-et-de-la-free-software-foundation_5511466_4408996.html" rel="nofollow">https://www.lemonde.fr/pixels/article/2019/09/17/richard-sta...</a><p>It scores much higher to me on journalism than whatever came in US press.<p>It seems people in US don't value defending free speech, and tend to get offended easily due to taking things only on first degree.<p>In that frame, they should care more about defending the first amendment of their constitution, and try to get other degree when interpreting words they have negative reaction to.<p>I don't know how to solve the issue, but I've started trying tackling some of this in context of code of conducts affecting many sofware communities:<p><a href="https://github.com/ContributorCovenant/contributor_covenant/pull/935" rel="nofollow">https://github.com/ContributorCovenant/contributor_covenant/...</a></p>
]]></description><pubDate>Wed, 07 Apr 2021 08:02:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=26721696</link><dc:creator>smoothdeveloper</dc:creator><comments>https://news.ycombinator.com/item?id=26721696</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26721696</guid></item><item><title><![CDATA[Flips: F# LInear Programming System]]></title><description><![CDATA[
<p>Article URL: <a href="https://flipslibrary.com/">https://flipslibrary.com/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=25106801">https://news.ycombinator.com/item?id=25106801</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 16 Nov 2020 01:09:28 +0000</pubDate><link>https://flipslibrary.com/</link><dc:creator>smoothdeveloper</dc:creator><comments>https://news.ycombinator.com/item?id=25106801</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25106801</guid></item><item><title><![CDATA[New comment by smoothdeveloper in ".NET 5.0"]]></title><description><![CDATA[
<p>The closest thing is <a href="https://github.com/rspeele/Rezoom.SQL" rel="nofollow">https://github.com/rspeele/Rezoom.SQL</a> which once compiled in your F# project, can be used in C# by referencing the generated assembly.<p>Although this is nothing to do with string interpolation, the "typed string interpolation" refer to the F# printf format specifiers.<p>You could also build such tool separately using FSharp.Compiler.Service (possibly using the analyzer infrastructure for ionide: <a href="https://github.com/ionide/FSharp.Analyzers.SDK" rel="nofollow">https://github.com/ionide/FSharp.Analyzers.SDK</a>), AFAIU there will be consolidation of this type of tooling relying on FSharp.Compiler.Service in the future to make this integrated to all F# tooling.</p>
]]></description><pubDate>Wed, 11 Nov 2020 01:14:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=25054427</link><dc:creator>smoothdeveloper</dc:creator><comments>https://news.ycombinator.com/item?id=25054427</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25054427</guid></item><item><title><![CDATA[New comment by smoothdeveloper in "San Francisco apartment rent prices are dropping fast"]]></title><description><![CDATA[
<p>Let the place remain tenantless few more months and they will.</p>
]]></description><pubDate>Thu, 02 Jul 2020 06:59:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=23710677</link><dc:creator>smoothdeveloper</dc:creator><comments>https://news.ycombinator.com/item?id=23710677</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23710677</guid></item><item><title><![CDATA[New comment by smoothdeveloper in "Machine Learning for .NET"]]></title><description><![CDATA[
<p><a href="https://fsprojects.github.io/Paket/paket-generate-load-scripts.html" rel="nofollow">https://fsprojects.github.io/Paket/paket-generate-load-scrip...</a> is probably what you need if you enjoy using fsi and easily reference external libraries from script files.</p>
]]></description><pubDate>Fri, 21 Dec 2018 10:06:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=18732410</link><dc:creator>smoothdeveloper</dc:creator><comments>https://news.ycombinator.com/item?id=18732410</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=18732410</guid></item><item><title><![CDATA[New comment by smoothdeveloper in "Storing C++ Objects in Distributed Memory"]]></title><description><![CDATA[
<p>And even more techniques in F# in it's type system and inlining</p>
]]></description><pubDate>Thu, 13 Dec 2018 01:53:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=18669315</link><dc:creator>smoothdeveloper</dc:creator><comments>https://news.ycombinator.com/item?id=18669315</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=18669315</guid></item><item><title><![CDATA[New comment by smoothdeveloper in "Canada to announce marijuana will be legal by July 1, 2018"]]></title><description><![CDATA[
<p>The reason is probably flowers (cannabis) versus leaves (tobacco)</p>
]]></description><pubDate>Tue, 28 Mar 2017 19:31:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=13979863</link><dc:creator>smoothdeveloper</dc:creator><comments>https://news.ycombinator.com/item?id=13979863</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13979863</guid></item></channel></rss>