Live data from Hacker News

Beebo, a wave simulator written in C

git.sr.ht

1–7 of 7 posts

Re: Beebo, a wave simulator written in C

#3
Interesting use of macros to get a generic "result" thingy:

https://git.sr.ht/~willowf/beebo/tree/master/item/src/result...

I think it's cool that stuff like this works in C but my gut feeling is that this isn't going to play well with LSP tools. Are state-of-the-art C LSP servers aware of the preprocessor?

Re: Beebo, a wave simulator written in C

#4
post #3

Interesting use of macros to get a generic "result" thingy: https://git.sr.ht/~willowf/beebo/tree/master/item/src/result... I think it's cool that stuff like this works in C but my gut feeling is that this isn't going to play well with LSP tools. Are state-of-the-art C LSP servers aware of the preprocessor?

I don't see an advantage over C's usual error handling, because this type is lacking the support functions (like bind and fmap in functional languages) or syntax integration (like the try operator in rust) that would make it useful.

Re: Beebo, a wave simulator written in C

#6
post #3

Interesting use of macros to get a generic "result" thingy: https://git.sr.ht/~willowf/beebo/tree/master/item/src/result... I think it's cool that stuff like this works in C but my gut feeling is that this isn't going to play well with LSP tools. Are state-of-the-art C LSP servers aware of the preprocessor?

yes, C LSP servers can deal with the preprocessor just fine, even the trickier C preprocessor "hacks". clangd is built on top of clang, after all.

Re: Beebo, a wave simulator written in C

#7
post #3

Interesting use of macros to get a generic "result" thingy: https://git.sr.ht/~willowf/beebo/tree/master/item/src/result... I think it's cool that stuff like this works in C but my gut feeling is that this isn't going to play well with LSP tools. Are state-of-the-art C LSP servers aware of the preprocessor?

I'm using a current version of VS Code with the IntelliSense mode set to `linux-gcc-x64` and it seems to work quite well actually.