Hacker News new | comments | show | ask | jobs | submit | ekiru's comments login

I haven't been using Perl 6 lately, but, as of a few years ago when I did, some of the more notably unusual features or planned features were:

* Grapheme-level string processing, even when there's no pre-composed Unicode codepoint for the grapheme. I think Swift is now doing this, too, but I'm not sure if anyone else is.

* Perl 6's grammars are to an extension of parsing expression grammars what the regular expressions in Perl 5/Ruby/JavaScript/etc. are to an extension of regular expressions. One can use PEGs (or other grammar formalisms) in any language with a library or code generator, but, with a few exceptions like Parsec, it's usually not nearly as convenient.

* Roles, similar to the traits concept developed by Nathanael Schärli, Stéphane Ducasse, Oscar Nierstrasz, and Andrew P. Black (and present under that name in e.g. Squeak Smalltalk and PHP since 5.4). Roles/traits are similar to mixin-style multiple inheritance, except that, when including multiple traits with conflicting methods, the including class must explicitly resolve the conflict. Mixin-style systems use an implicit linearized method-resolution order, which is more fragile because newly added methods in earlier mixins can silently override methods of the same name from another mixin that the caller was actually intending to call.

* Multiple dispatch is not unique to Perl 6, but it's not especially common, and it's very convenient.

* Configurable object representations. For example, a class can be defined to use the default P6opaque representation, which is I think usually implemented as a pretty standard struct-like representation with properties at fixed offsets. Other possibilities might be a hash table representation, where an object is represented by a hash table and attribute access is done by accessing the values of appropriate keys in the hash table. If one wants to forgo the optimizations allowed by fixed representations, one can even define a class with `is repr(*)` to allow individual objects of the class to be created with different representations.

The article you linked to does not say that the Griffiths claims caffeine dependence is "purely psychological" in the sense that you appear to be using it as an opposite of physical dependence. The article states that Griffiths thinks that caffeine dependence should be considered a psychological disorder, like other substance addictions.

If you look at the sources the Wikipedia articles cites for its mentions of Griffiths, the National Geographic article compares caffeine addiction to heroin addiction and attributes to Griffiths a claim that as little as half a cup of coffee a day can produce physical dependence. The paper appears to agree, from the information in the abstract.


10 base-36 digits is only around 52 bits, compared to the 112 random bits in a UUIDv4. 2^52 might be enough for particular use-cases, but it's nowhere near a UUID in terms of randomness. Even 10 base-64 digits is only 60 bits.


Although I don't agree with any of those premises, that debate is not one-sidedly poorly supported. A lot of the opposing arguments prove too much.

For example, a common remark in discussions on relevant topics are paraphrases of that "those who would give up essential liberty" quote. Yet, those comments appear much less frequently of discussions of other sacrifices of liberty for the sake of security.


The World Bank periodically adjusts the threshold upwards for this reason. In 1990, they used $1/day. In 2008, they adjusted it to $1.25/day. Now they are adjusting it to $1.90/day.


And you imagine that in 25 year the total inflation was only of 90%?


I tend to think that the World Bank adjusts this amount in an appropriate manner. If you think their methodology is wrong, you should explain why.


Why shouldn't be you explaning why do you believe in their methodology? That's crazy. You don't even know what methodology they use and you are taking your time to defend them here.


Because the World Bank is a large organization with many paid staff tasked with devising and implementing their methodology.

You're two random people on the Internet.

I'm siding with the World Bank, not with the internet commenter who demands another internet commenter defend experts.

You're the one making the extraordinary claim here.


According to this, it was less (82%): http://www.usinflationcalculator.com/ (select 1990-2015)


If you pick an inflation calculator (for US), you will find that $1.00 of 1990 is actually $1.82 of 2015. So the inflation is less than 90%.



Of course, if you live in Venezuela, things are different, but World Bank uses US$.

edit: only now noticed that this was mentioned already in an earlier comment by oblio.


I don't know, but your previous comment implied that they weren't adjusting for inflation at all.

It's possible that they are failing to adjust for inflation sufficiently, but that claim needs support. How much inflation was there between 1990 and 2015? Why does it differ from their calculation?


This should not be "inflation" but "price change for very basic needs"


Although "<name in other thread>, looks like you've been hellbanned by the evil mods!" comments are bad, I'm not sure I've seen them. I have seen comments like "<name in other thread, you appear to have been hellbanned", but I think they were sometimes warranted. The moderators do sometimes make mistakes, and IIUC the normal way to resolve them is: user realizes they are hellbanned, mails the mods asking about it, and the mods, if they feel the user should not be hellbanned, unbans them. Alerting commenters that one thinks may have been banned by mistake of their ban can either speeds this process along or wastes comment space and moderator attention, depending on whether one is correct.

I agree that hopefully vouching will kill the "<name>, you appear to have been hellbanned" comments, though.


This is a bit tangential, but which are the credible open-source competitors to IDA and the arguably best currently-available assembler you're referring to?


He's talking about HopperApp.


dbus signals can be multicast. Specifically, dbus signals without a destination are routed to all connections with match rules (added with org.freedesktop.DBus.AddMatch on the message bus) which match the signal.


Neither the Wikimedia Foundation nor the Wikipedia editors participating in the linked discussion seem to think that domain name supplier is a community matter.

As far as I can tell, this was a decision of the Wikimedia Foundation, and the resulting action will be taken by the Wikimedia Foundation.


Smalltalk requires explicit labeling of all but the first argument (though they are ordered) for keyword messages. Good naming conventions can make this enjoyable (at least subjectively).

In a hashmap based lisp, I'd expect defun to look something like

(define-function: (foo-with-a: a b: b c: c) with-body: ...)

Of course, since you're using an unordered representation, one could instead say (with-body: ... define-function: (c: c b: b foo-with-a: a)), which is significantly more confusing. This also means you probably can't do implicit progn.

progn in general will probably be unpleasant, unfortunately, unless one includes syntactic sugar for ordered sequences, which might defeat the purpose of an associative-array-based Lisp.

The first thing I've noticed about a vector-based Lisp is that you actually need primitive integers so that you can do indexing, which isn't the case with cons-cell based Lisps.



Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact