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

I envy your willingness to debate here. It's a pretty hostile place for a position you're defending.

100%. It goes to show you that intelligence is not always deployed with integrity.

Yeah, what a weird comment...


I wonder how do you not understand this was a joke. Did you not fully read it? Or it's just not obvious enough?


There's also this other thing he said: Only a virtuous people are capable of freedom. As nations become corrupt and vicious, they have more need of masters.


In my opinion, grandparents are the worst. They completely spoil them.


Or have bad habits like playing shovelware games on their phones.


Every human being should have the experience of unconditional, unadulterated love from someone else. But not 24 by 7.


I guess you intentionally interact with them (because you like them, you share an interest), but you don't intentionally pretend to be something you are not (even though you know the other person would like that).


I have the same opinion. This is just a normal conversation. If I'm not doing this, I either want to rant to someone or I'm in a so hostile conversation that it doesn't make sense to do it.


Is the battery life better with Graphene?


I would say, similar. In theory it may be slightly worse, because you are not using play services to deliver notifications, but each app does their own fetching (I believe that's how it works), but you will also restrict apps more (due to e.g. being able to restrict network access), so the two sort of cancel out.


Yes unless the app offers Unified Push (like Molly vs Signal).


I see. Thanks for the feedback!


Couldn't the same thing be said about functions that accept allocators?


I start to want a Reader Monad stack for all the stuff I need to thread through all functions.


Yeah, these kinds of "orthogonal" things that you want to set up "on the outside" and then have affect the "inner" code (like allocators, "io" in this case, and maybe also presence/absence of GC, etc.) all seem to cry out for something like Lisp dynamic variables.


A few languages have those, and I don't miss them, because in large codebases it becomes a pain to debug.

xBase, Clipper, Perl, Tcl upvars


It depends on how you do it. XSLT 2.0 had <xsl:tunnel>, where you still had to declare them explicitly as function (well, template) parameters, just with a flag. No explicit control over levels, you just get the most recent one that someone has passed with <xsl:with-param tunnel="yes"> with the matching qualified name.

For something like Zig, it would make sense to go one step further and require them to be declared to be passed, i.e. no "tunneling" through interleaving non-Io functions. But it could still automatically match them e.g. by types, so that any argument of type Io, if marked with some keyword to indicate explicit propagation, would be automatically passed to a call that requires one.


that's basically implicit parameters, the typed, well behaved version of dynamic scoping.


Yep, I believe that's what Scala called that.

And I think we need something like this to get people off globals.


I don't think so because the result of calling an allocator is either you got memory or you don’t, while the IO here will be “it depends”


I don't get it, what's the difference between "got or don't" vs "it depends"?


The allocator’s output is only two: either you get memory or you don’t. To quote GP

> Every function with an IO interface cannot be reasoned about locally because of unexpected interactions with the io parameter input

This means with IO interface is not quiet clear what WILL happen so it “depends”


Useful info. Thanks for sharing!


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

Search: