Live data from Hacker News

Viewing profile — arc619

arc619

HN member
Joined
Fri, Jun 21, 2019, 5:08 PM UTC
HN karma
170
Public activity
54 items

About arc619

No profile information was provided.

Recent public activity

  1. comment
    Comment #44693439

    Nim too, as it can use Zig as a compiler. There's also https://github.com/treeform/shady to compile Nim to GLSL. Also, more generally, there's an LLVM-IR->SPIR-V compiler that you …

  2. comment
  3. comment
    Comment #40554563

    Behaviours don't have to be decoupled from the data they operate on. If I write a procedure that takes a particular data type as a parameter, it's a form of coupling. However, ther…

  4. comment
    Comment #40553822

    Unfortunately, while OOP promises code reuse, it usually makes it worse by introducing boundaries as static architecture. OOP's core tenet of "speciating" processing via inheritanc…

  5. comment
    Comment #40275949

    > It will not emit warnings saying it did that. You're right. I was sure I read that it would announce when it does a copy over a sink but now I look for it I can't find it! > The …

  6. comment
    Comment #40267757

    Nim is stack allocated unless you specifically mark a type as a reference, and "does not use classical GC algorithms anymore but is based on destructors and move semantics": https:…

  7. comment
    Comment #40265605

    Although it's not as extensive as Rust's lifetime management, Nim manages to infer lifetimes without specific syntax, so is it really a syntax issue? As you say, though, C++ templa…

  8. comment
    Comment #40180298

    To be fair, you've posted a toy example. Real games are often chains of dependent systems, and as complexity increases, clean threading opportunities decrease. So, while yes it's n…

  9. comment
    Comment #39867744

    Native Nim libs are definitely nicer, but being able to output C/C++/JS/LLVM-IR with nice FFI means you can access those ecosystems natively too. It's one reason the language has b…

  10. comment
    Comment #38892010

    Personally, I think Python's success is down to the productivity of its peudocode-like syntax letting you hack prototypes out fast and easy. In turn, that makes building libraries …

  11. comment
    Comment #37737673

    Interestingly, Delphi Pascal has a single pass compiler with generics, though I'm not sure about type inference. I was under the impression Go originally avoided generics more for …

  12. comment
    Comment #36961770

    Shoot me an email at arctsint@proton.me Cheers!

  13. comment
    Comment #36958459

    Types are stack allocated by default. "var data: MyObject" is on the stack. "var arr: array[1000, MyObject]" is allocated on the stack sequentially. Only dynamic seq or ref types u…

  14. comment
    Comment #36958320

    Reference semantics are part of the type. So "var i: int" is value, "var i: ref int" is a heap allocated reference that's deterministically managed like a borrow checked smart poin…

  15. comment
    Comment #36958133

    Too much string copying iirc. It was written a while ago. Hopefully it'll get updated/replaced some time, but there's plenty of faster 3rd party ones already.

  16. comment
    Comment #36958009

    Of all the recent changes, default values is my favorite. Aside from generally useful and further reducing the need for initialisation boilerplate, I lets us guarantee valid state …

  17. comment
    Comment #36957792

    Looking forward to trying out this release! After programming professionally for 25 years, IMO Nim really is the best of all worlds. Easy to write like Python, strongly typed but w…

  18. comment
    Comment #36615081

    I should add that Nim still still has a 'separate language' for types, so doesn't quite fit OP's bill. Nevertheless, it's quite easy to build type constructs using statically resol…

  19. comment
    Comment #36602661

    > Eventually we need to make type systems just metaprogramming using the primary language Nim is like this and its fantastic. None of the weird special rules for metaprogramming, j…

  20. comment
    Comment #35940493

    That was fascinating, thanks. Please do consider posting this here as its own article, it would be interesting to read others comments. My reading of this - and please correct me i…

  21. comment
    Comment #35753972

    What you describe sounds like experiments with "generative agents". Check out https://arxiv.org/abs/2304.03442

  22. comment
    Comment #35460341

    Your argument applies to style sensitivity as well to be fair - do you search for 'MyTestFunction' or 'my_TestFunction'... or was it 'My_TestFunction', maybe 'm_Y_tEsT_fUnCtION'? S…

  23. comment
    Comment #35334735

    > That's a a compelling argument: GC/RC w/ stack allocation where possible. Indeed, it's a great combination that means you're productive and performant without really trying most …

  24. comment
    Comment #35330612

    Also, aside from the fact GC is optional in Nim, what are you thinking of that cant be done with a GC?

  25. comment
    Comment #35330573

    Nim uses stack allocated value types by default, and GC (or ptr) is an optional tag to the type definition. GC types use borrow & move analysis like rust (not as good yet tho) so i…