I keep my cats indoor most of the time, and let them out for an hour or two a day under supervision. They're just as happy as outdoor cats, live longer, and won't commit floof murder. Win win.
@RedwolfPrograms I think this is just that you're used to languages where that is what it means. I'm used to Python and Go, so it's perfectly clear to me
@user Because of lazy evaluation, when a (the one on the RHS of in) is evaluated, it sees "ah, a=b, let me evaluate b", then sees "ah, b is a, let me evaluate a", etc.
@Adám Eh, the colon on the right makes me think that the thing on the right is the subject and it equals the thing on the left, essentially the opposite
@pxeger I don't think this argument is that important. there are good reasons to break from conventions, and most languages are not marketed towards all programmers in general
of course it doesn't have to be infix either. in scheme it's (define var val), in postscript it's val var def, and in forth it's : fn body ; (prefix, postfix, outfix?)
@RedwolfPrograms which is also kind of bad. Ruby's truthiness is better, because everything is truthy except nil (and false itself). That means 0, [], etc. are still all truthy
@RedwolfPrograms Why? What is the relation? I can go about declaring that values are equivalent, but it's arbitrary and not a good model of anything. You can't have true apples, you can't be true meters away from something. It's fine to convert between these types explicitly when needed but implicit conversions like these just push error cases down the road making them harder to identify.
@WheatWizard But you get protection from an extremely rare and easily noticeable and fixable issue, at the cost of having to write more code every time
I'd rather not have anything go to unit tests. There is no good reason to interchange these types values implicitly so the compiler should prevent you from doing so, because either you are doing something you shouldn't be, or you have made a mistake.
@RedwolfPrograms On a big project running code pretty much requires a deployment to staging. I'd really rather not have to go back and fix a tiny error then redeploy, if I can catch it in the compile I absolutely want to.
@RedwolfPrograms My functions often require database connections, authentication services etc. The pure stuff I test easily with unit tests, but a very small amount of logic ends up being pure. And the pure stuff is just less likely to go wrong in the first place.
Or you might have a model that takes 10 minutes to train, and a function that's applied to it after those 10 minutes. Why spend 10 minutes to run tests every time?
@RedwolfPrograms even if they are pure, if they connect with lots of other bits of code (even if they're also pure) which do other things, they're not as easy to test on their own
personally wrt typing, I like dynamic/lazy typing and I like dependent typing (no experience with it though), but I'd rather not be caught in the middle with static typing
I'd describe the way I communicate (and most likely other people) as "markov chain with lots of training and an underlying goal", and that does not work well with English
One annoying thing is not being able to use group things like you would in code with parentheses (but I have no idea how any language would handle nested groups; it'd get really hard to understand real quick)
@RedwolfPrograms "you ain't shit", maybe, because that's basically an idiom for "you're bad" (as well as literally meaning "you're not bad"); "you're not shit" doesn't have the same idiomaticity I think
@RedwolfPrograms Hm, I guess YMMV. I don't have much trouble using English. (Sometimes people have trouble understanding what I say, but I'm sure that's their fault. :P)
@Wezl-acautionarytale I like that English doesn't have different conjugations for verbs depending on gender (and often for number) because it's really annoying
@RedwolfPrograms Doesn't pxeger use their own domain or sth?
@user all of these grammar features help improve redundancy of information, so it's easier to deal with mis-spech or mis-hearing or typos or mis-reading
@Wezl-acautionarytale I would really like it if we had 1st person singular, 2nd person singular, 2nd person plural, 1st person plural including the person you're speaking to, 1st person plural excluding the person you're speaking to, 3rd person singular (gender neutral), and 3rd person plural (gender neutral)
@DLosc :(
Time to learn Mandarin if I can get past the script
@RedwolfPrograms I mean, sending a copy of all email to an advertising network which then automatically (not using "a person who sites there all day", obviously) scans it for keywords
@RedwolfPrograms In this case, you could just say "They broke up with their SO" or "Bob broke up with Alice" (if those are their names), which is not too cumbersome imo
@user by having two gendered pronouns (plus two other 3rd-person ones), it's less often that we have to switch to using actual nouns. If we had only one 3rd-person pronoun, every time we had more than two nouns in a sentence we'd have to keep clarifying whom we were talking about