I’m also on Mastodon as https://hachyderm.io/@BoydStephenSmithJr .

  • 2 Posts
  • 257 Comments
Joined 3 years ago
cake
Cake day: October 2nd, 2023

help-circle
  • I came to say something similar: if a flaming head fell into the cooling tower, it would just fall down to the bottom surface and not interact with anything more explosive than a steam pipe (on only then if it impacted the inside of the tower.

    The flaming head in the comic continues to burn without fuel or oxygen, but a normal flame might even be put out by the intake breeze at ground level.


  • bss03@infosec.pubtoComic Strips@lemmy.worldVolume
    link
    fedilink
    English
    arrow-up
    12
    ·
    6 days ago

    Large dynamic range is a good thing, in audio and video. There are a number of ways to reduce dynamic range, if you really need to. Expanding dynamic range after capture is possible, too, but more fraught.

    Shannon information theory gives us ways to perfectly reconstruct the lower range version from an expanded range version, but it also guarantees that reconstructing the higher range version from a reduced range version cannot be perfectly accurate across all inputs. (Assuming a fixed output range capability.)








  • I want a language with an internal/core calculus of GRTT with a specific grading that I believe will provide both optimal evaluation and prompt resource release. You aren’t going to get that by building on top of another language.

    Of course you could do it as a library for another language, but the few values you could lift/lower and the necessary analysis do to bidirectional type inference/checking mean that you are writing a compile phase whether you call it that or not. In theory, you might save on the tokenizer/parser, but those are trivial to write. You might be able to reuse parts of the API/ABI, which could be an advantage if the underlying language has a good, stable one that can reflect your linking/calling/passing restrictions; but that’s not likely.






  • If you read the literature, particularly “Types and Programming Language”, you’ll find that “dynamic typing” isn’t even considered typing. If you can have a type error at runtime you’ve defeated the reason to add a type system: to reduce runtime errors. The hope is that “well-typed programs don’t go wrong” tho there are some limits to what any type system can do (e.g. Rice’s Theorem).

    That said. Static v. Dynamic is much more precise than Strong v. Weak and should be preferred.

    Implicit v. Manifest is less useful just because it’s a broad spectrum, basically inculcating how much type inference is done and “how much” generally depends a lot the input program(s). Haskell does whole-program inference, tho GHC (the only Haskell compiler) has a number of syntactic forms that can’t be inferred. Scala only does local inference. C doesn’t infer types, though is gets close with how it treats functions with no-argument in the prototype and varargs stuff. C++ uses auto for some type inference, which is still somewhat manifest, but also mostly implicit.

    I think weak typing is a good name for when there are invisible coercions, but that doesn’t actually have much to do with proper types.

    Anyway, great comment, If more people would use static/dynamic and explicit/implicit instead of strong/weak, there’d be less miscommunication.