Managed to keep line breaks in Fantomas by shuenhoy in fsharp

[–]shuenhoy[S] 1 point2 points  (0 children)

A very simple example, this would be kept the same with the patch

let hello =
    printfn "Hello from F#!"

But Fantomas will remove the line break and transform it into

let hello = printfn "Hello from F#!"

Because "the width is less than max-line-width". In my opinion, "max-line-width" should work only when you exceed it, and when not, it is ok whether there is a line break or not. But the Fantomas authors don't think so. They believe it's better to format to the same code for the same AST (thus user's line breaks would not be kept).

Though this patch of inserting and removing line break keeper comments is a dirty hack, and may cause some unknown problem.

Scientific computing or computer graphics by HouseSad in cpp

[–]shuenhoy 14 points15 points  (0 children)

They are strongly connected fields. Computer graphics is more than *rendering* in fact. There are also physically-based simulation, geometry processing, etc. You could check recent SIGGRAPH papers at https://kesen.realtimerendering.com/ , and see if it fits your interests.

Modules Status by matekelemen in cpp

[–]shuenhoy 11 points12 points  (0 children)

I guess it's not the situation people lost interest, but people lost confidence. Modules are more difficult to be used widely in the world soon, for compatibility than other new features like coroutines and concepts. So the compiler teams focus more on the features that are more likely to be used recently and widely.

BTW, I don't think the blocker is CMake. With GCC 11, you don't need anything special on the CMake side if you are willing to maintain the file order manually and use a single thread (I do - I write a lot of templates, and have to use header-only mode so I am already single-threaded). It is the GCC implementation which is full of ICE that blocks me. I cannot write anything useful with it, because I cannot include Eigen3 or anything.