Viewing profile — Araq
Araq
HN member- Joined
- Sat, Sep 29, 2012, 10:50 PM UTC
- HN karma
- 44
- Public activity
- 24 items
- HN profile
- View on Hacker News ↗
About Araq
No profile information was provided.
Recent public activity
-
comment
Comment #18087769
Support for embedded is indeed getting into focus. I hope to release an article soon how the '--gc:regions' switch works (which is misnamed, it's a way to do memory management, not…
-
comment
Comment #17474834
I agree that 'discard' is usually a code smell, but how would implicitly ignoring the result be any better? It wouldn't be better at all, and that means Nim's discard feature is ra…
-
comment
Comment #17474501
I'm not following you really. 'discard' is an enforced, explicit statement about that you throw away information/the result of a computation. That's against "nice if you are progra…
-
comment
Comment #17474464
That's true and I wouldn't use the Option type for that either. There is a switch that warns about variables that are not initialized explicitly (including the 'result' variable) a…
-
comment
Comment #14612762
We're slowly getting there though. I hope to release a blog post soon about how it might look like in Nim.
-
comment
Comment #12658736
> But to ask a pointed question, doesn't that mean Nim gets the worst of both worlds? You have both the overhead of updating reference counts and the (relatively long) garbage coll…
-
comment
Comment #12633746
> There are other ways to address this issue. You can do what Swift does and call into libclang so that you can pull out the structure definitions, for instance. Sure and you only …
-
comment
Comment #12619477
Compiling to C vs using LLVM is a complex design tradeoff. For example, the Posix standard specifies a C interface. Quote: "The stat structure shall contain at least the following …
-
comment
Comment #12619177
Good questions. I'm afraid the documentation is seriously out of date about the GC: It used to implement a variant of "trial deletion" so that "never scans the whole heap" used to …
-
comment
Comment #10210799
> The manual even says that just calling printf is actually unsafe as the cstring could be GC'd (but it probably won't). The manual tries very hard to mention corner cases since it…
-
comment
Comment #10209639
> And there's no strong sense of design and elegance. It very much comes off as "here's a bunch of ideas thrown together with the restriction that they all must somehow compile to …
-
comment
Comment #9051068
Shrug , you left out: - Conservative GC marking of the stack. - No stack overflow check in release mode. Compiling to C is not tricky, it is horrible and we don't do it for the fun…
-
comment
Comment #8938260
Well I did my homework. When you find another language that does it in a somewhat similar fashion, I'll happily change the website. ;-) I didn't think Rust counts, but since it's c…
-
comment
Comment #8938208
Disclaimer: I'm the lead designer of Nim. pcwalton's remark is excellent but "automated proof technology" is not a well defined term. What I mean by this is that it goes beyond wha…
-
comment
Comment #8811401
You cannot do these things easily currently since the assignment operator cannot be overloaded. There are ways around it, you can "fix" the broken builtin assignment with a TR macr…
-
comment
Comment #8669246
Thanks for mentioning Nim! :-) I can't say I agree with anything you say though... So only memory safety is C's problem? Not its type system that's very weak in every aspect (not j…
-
comment
Comment #8654684
As the primary author of Nimrod I disagree. ;-) And to be blunt: I know the person has no idea of what he talks about when he uses the word "transpile".
-
comment
Comment #7445411
Nimrod solved that... The solution in a nutshell: If a statement list contains a 'return', it enforces a 'void' context for the statement list, otherwise the statement list has the…
-
comment
Comment #6502404
(Disclaimer: I am the creator of Nimrod.) What you say is entirely correct; however Nimrod's effect system is not tied to any runtime mechanisms like a GC and provides lots of othe…
-
comment
Comment #6277703
Strings should be converted to UTF-8 as part of input validation. For proper input validation we have the taint mode already. Note that often a file does not include any informatio…
-
comment
Comment #6273782
This is very true; however c2nim distinguishes between #def and #define for this reason and this helps a lot. #def means c2nim needs to expand the macro, #define means it's some ma…
-
comment
Comment #5759823
It delivers? Lol. The GC used to suck for 32 bit systems and it still sucks for realtime. As opposed to Nimrod's which pretty much guarantees a maximum pause time of 2 milliseconds…
-
comment
Comment #5745192
Ok, lets see: UTF-16 strings encourage bugs with surrogates. Note that most C# and Java code is notoriously broken wrt those and yet I never hear anybody complain about it. UTF-32 …
-
comment
Comment #5738990
Hello everyone, I'm the designer of Nimrod. I will be glad to answer any questions regarding the language.