Hacker Newsnew | past | comments | ask | show | jobs | submit | IggleSniggle's commentslogin

Source?

Caveat emptor, I'm not a Haskeller, just an admirer. But Haskell let's you run functions over the type system itself very elegantly, so you can have a type that is derived from a type that composes three types that are derived from several functions' declared runtime behavior. This kind of type inference can provide arbitrarily rich information about anything in the entire program, letting you encode more than just range-types etc at compile time.

This comes with some design drawbacks. I think Rust's borrow checker would be implementable but unreasonable in Haskell: Haskell already does lazy-evaluation on types to enable its arbitrary depth of type expressivity. But the borrow checker also wouldn't really make sense for Haskell because the default programming model uses a GC. I think Linear Haskell might be a kind of Rust-in-Haskell, though.

Again, caveat emptor.


Great story thanks for sharing


Depends. Within the US, there are data export laws that could make the "whoever" part illegal. There are also conspiracy to commit a crime laws that could imply liability. There are also laws that could make performing/demonstrating certain exploits illegal, even if divulging it isn't. That could result in some legal gray area. IANAL but have worked in this domain. Obviously different jurisdictions may handle such issues differently from one another.


What do you recommend if I've been regularly producing blog-length posts in Slack for years, no LLM present? It's where I write man...should I quit that out? I try to be information dense...


If you're writing it, that's not a slop grenade. From the page:

> They asked you because they wanted your human judgment.


To me, you are describing a fluency problem. I don't know you or how fluent you are in code, but what you have described is the case where I have no problem with LLMs: translating from a native language to some other language.

If you are using LLMs to precisely translate a set of requirements into code, I don't really see a problem with that. If you are using LLMs to generate code that "does something" and you don't really understand what you were asking for nor how to evaluate whether the code produced matched what you wanted, then I have a very big problem with that for the same reasons you outline around prose: did you actually mean to say what you eventually said?

Of course something will get lost in any translation, but that's also true of translating your intent from brain to language in the first place, so I think affordances can be made.


I think it's worth remembering that this was a storage procedure that was also already abnormal/odd because of the specifics of the existing shielding. I think it's somewhat understandable for a technician to trust that the chemists know what they're doing in that kind of circumstance. If they had concerns, they may have even voiced them, but as is often the case, if the authority confirms that even though it's strange it's correct, it's not surprising that a technician would follow the directive. Even the authority figure may have verbally confirmed, "you said an organic absorbent??" "Yes, that's right, inorganic absorbent." Maybe even in a meeting that was meant to clarify written procedures.


Compiled Lua vs LuaJIT is a major example imho, but maybe it's not especially pertinent given the looseness of the Lua language. I do think it demonstrates that the concept that it is possible to have a tighter type-system at runtime than at compile time (that can in turn result in real performant benefits) is a sound concept, however.


The major Javascript engines already have the concept of a type system that applies at runtime. Their JITs will learn the 'shapes' of objects that commonly go through hot-path functions and will JIT against those with appropriate bailout paths to slower dynamic implementations in case a value with an unexpected 'shape' ends up being used instead.

There's a lot of lore you pick up with Javascript when you start getting into serious optimization with it; and one of the first things you learn in that area is to avoid changing the shapes of your objects because it invalidates JIT assumptions and results in your code running slower -- even though it's 100% valid Javascript.


Totally agree on js, but it doesn't have the same easy same-language comparison that you get from compiled Lua vs LuaJIT. Although I suppose you could pre-compile JavaScript to a binary with eg QuickJS but I don't think this is as apples-to-apples comparison as compiled Lua to LuaJIT.


I simply choose to believe that people do this out of a place of genuine curiosity / excitement to share knowledge. I believe this approach of assuming the best of intentions is even in the HN guidelines! Or maybe it was just the old Reddit ones from long long ago when Reddit was more like what HN is now. Either way, maintaining the background assumption, even when it is challenging to do so, makes HN a far more pleasant place to inhabit.


But they said it sends them to Netfçix? That seems incorrect


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: