HackerTrans
TopNewTrendsCommentsPastAskShowJobs

smoothdeveloper

no profile record

Submissions

Clef Programming Language – A concurrent systems language

clef-lang.com
3 points·by smoothdeveloper·hace 5 meses·3 comments

comments

smoothdeveloper
·hace 5 meses·discuss
For GPU, F# has prior art in targeting it, a notable one is https://developer.nvidia.com/blog/jet-gpu-powered-fulfillmen...

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.

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)

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.
smoothdeveloper
·hace 5 meses·discuss
Clef is a new backend for F# language aiming the language at concurrent systems use cases on native targets.
smoothdeveloper
·el año pasado·discuss
One way to look at it, but consuming OOP libraries doesn't turn code into OOP.

Also, FSharp.Core (which most F# code leans heavily on) is not OOP at all.

F# promotes object programming, doesn't proscribe mutability, encourages function and data approach.

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.).
smoothdeveloper
·el año pasado·discuss
In C#, you can't use the await keyword in a non async method, so I find the argument short sighted.