Technically this is also possible with for loops, like with OpenMP
Technically this is also possible with for loops, like with OpenMP
Compiler optimizations like function inlining are your friend.
Especially in functional languages, there are a lot of tricks a compiler can use to output more efficient code due to not needing to worry about possible side effects.
Also, in a lot of cases the performance difference does not matter.
Also surely a lot of people would know tar -Create Ze Vucking File and/or tar -Xtract Ze Vucking File
You mean that instead of having a binary blob you have a generator for the data?
Depends on how deep down the rabbit hole you want to go :p
Dogmatic statements like this lead to bad, messy code. I’m a firm believer that you should use whatever style fits the problem most.
Although I agree most code would be better if people followed this dogma, sometimes mutability is just more clean/idiomatic/efficient/…
In functional programming, everything is seen as a mathematical function, which means for a given input there is a given output and there can be no side effects. Changing a variable’s value is considered a side effect and is thus not possible in pure functional programming. To work around this, you typically see a lot of recursive and higher order functions.
Declaring all values as const values is something you would do if you’re a diehard functional programmer, as you won’t mutate any values anyway.
Tar Xtract Ze Vucking File
Edit: apparently someone else already mentioned this, oops
Reed hucks = redux Heather net = ethernet
Oh no, strangers on the internet know I had sex and there were dog-like noises! That’s the exact same as people who know me IRL such as family or coworkers! I shall now sink through the ground in shame!
Maybe they also include the C interop in that library support?
Is that just like the shared memory model of parallel computing or are there any added complications? Have you done this before? Please do share your experiences if so cause now I’m interested :p
FreeRTOS tasks are basically processes, IIRC other rtoses have similar mechanics too
if(condition) statement; Is valid in typical C-style syntax.
if condition { … }
Is invalid in typical C-style syntax
Is there any reason why you didn’t just switch the keyboard layout to US if that’s what you’re used to?
I switched to US at some point because many if the keys for programming were just so much easier to access. If I have to use a pc for any decent amount of time, I just switch the OS layout to US now regardless of the layout that’s printed on the keyboard.
That’s behaviour that’s just part of language design. If you rely on it you should probably check how the language you’re using handles it.
relying on that behaviour sounds a lot like “clever” (read unnecessarily unreadable) code
Flipping burgers is enough to pay for chemotherapy. Src: am european
Oh yeah, it’s actually pretty extensive and expressive. If you’re interested in this sort of stuff it’s worth checking out the IR language reference a bit. Apparently you can even specify the specific garbage collection strategy on a per-function basis if you want to. They do however specify the following: “Note that LLVM itself does not contain a garbage collector, this functionality is restricted to generating machine code which can interoperate with a collector provided externally” (source: https://llvm.org/docs/LangRef.html#garbage-collector-strategy-names )
If you’re interested in this stuff it’s definitely fun to work through a part of that language reference document. It’s pretty approachable. After going through the first few chapters I had some fun writing some IR manually for some toy programs.
LLVM is designed in a very modular way and the LLVM IR allows you to specify e.g. if memory management should be manual/garbage collected.
You could make a frontend (design a language) for LLVM that exposes those options through some compiler directives.
In general I’d heavily recommend looking into LLVM’s documentation.
While you do have a fair point, I was referring to the case where one is basically implementing a map operation as a for loop.