Fork me on GitHub
#off-topic
<
2017-02-11
>
dpsutton18:02:53

does anyone know how much strange loop tickets were in 2016?

fellshard20:02:46

If that subreddit is about the collapse of civilization, it should probably concern itself greatly with the collapse of civility.

akiroz21:02:07

Can't agree more. It's probably the one of the main reasons why nobody cares about Dart lang, it's better than JS in every way, created by the same team who worked on V8... but it doesn't interop with JS directly, runs on its own runtime (which is included in a variant of Chromium called Dartium) and uses its own package manager. Also one of my many excuese for still not using Haskell or erlang, they're pretty much on their own unlike Clojure.

akiroz21:02:54

As for Python.... It still blows my mind how such a HUGE user-base is still using a pretty much "broken" package manager. Then goes on to workaround the problem by creating virtual environments or docker images.

akiroz22:02:02

Ohh.... and don't even get me started on breakages in python.... It's like JS but without semver, any changes in version numbers of all your deps and the runtime could potentially break your code.

qqq22:02:24

@akiroz: the thing that scares me most about python is how it's iterable / lists work

qqq22:02:03

in most functional langauges, we can do something like

(let [a (some lazy seq)
  b (map first a)
  c (map second a)]
and it behaves as expected, in my uses of python, c ends up being empty list, because b "consumed" the iterable

qqq22:02:45

this scares me to no end as I'm trying to do "equational reasoning", and pure-looking lines are suddenly now modifying stuff behind my back all the time

seylerius22:02:25

Good god, I hate trying to reload these prepaid cards. And there's no where in my county to buy a moneypak. It's looking like the only way to reload the prepaid card without having it present is a moneypak, and I can't even buy one without driving two hours. WTF?

akiroz22:02:37

@qqq oh yeah, mutable data.... but that's not only python. You just can't treat python like a FP language.

seylerius22:02:43

I'll give a $75 prepaid visa to anyone who'll give me the number of a $75 moneypak (of course, I expect the value of the moneypak to be $75 less the fees to buy one).

seylerius22:02:02

Can't even use the prepaid visa online to refill the damn walmart prepaid moneycard.

seylerius22:02:55

Flipping madness.

qqq22:02:47

@akiroz: if it wasn't called map/filter, I'd be okay with it; it was just surprising that map/filter consumed iterabes

qqq22:02:14

@seylerius : I can't help you; but what are moneypak, and what stupid financial red tape does this get around?

seylerius22:02:00

qqq: MoneyPak is a greendot thing that refills greendot-compatible prepaid debit cards. My gf has a walmart moneycard (which is greendot-compatible) and is in another state. I'm trying to put money on it.

qqq22:02:57

okay, and I guess greendot's API prevents you from using the $75 prepaid to refill a moneypak card

seylerius22:02:52

Yep. Can't buy moneypaks online, can't refill greendot-compatible cards directly online.

seylerius23:02:30

So I've got a $75 prepaid visa, and no way to put its money onto that card.

akiroz23:02:44

@qqq I remembered Guido (python's creator) once proposed to drop lambdas, map, filter, and reduce from python 3.x in favor of list comprehensions.

akiroz23:02:33

reduce was successfully pulled from the standard lib because non-FP programmers were just using it as a loop.

qqq23:02:52

@akiroz: between (1) not having some functions and (2) defining some functions with same name but diferent semantics from scheme, I'd strongly prefer (1)

qqq23:02:33

with python, I'm constantly paranoid about: does this line really mean what it looks like it means?

akiroz23:02:12

Hmmm.... maybe I'm used reading JS where nothing means what they seem. When I read code, I usually need to ask myself "If I was the runtime, how would I run this code?"

akiroz23:02:32

Especially when dealing with pseudo-OOP code in ES6...

qqq23:02:58

@akiroz: so in ocaml, haskell, scheme, clojure, lisp, c++ stl, and even elisp, when I see (map f list) it's (1) for every element in list, run f(x) (2) keep list on changed then in python it's: well, if list is an iterable, it's now empty, f-u

akiroz23:02:04

well.... since in python-land "iterable" means "some stateful function you can call multiple times to get different values out"