News for hackers. Stuff that matters.

mirman

what sorta moat do you have now that openai’s got eyes?
Re:A green threading library with true concurrency for Python on Tuesday August 20, 2013 @01:46PM (#6245305)
Do you have any reasoning behind that opinion, or is it just unfounded religious zeal?

Why should somebody who wants to use threading have to know how to write a preemptive scheduler? If you want a tutorial in addition to the library thats fine, but many good tutorials also release their code as libraries. In open source world, releasing code as a library does not mean having to keep people from understanding the workings of that code. Why should people HAVE to learn how the code works to use it though?

Re:A green threading library with true concurrency for Python on Saturday August 17, 2013 @09:03AM (#6228978)
So number of lines of code makes a library a joke? One of the most commonly used Haskell libraries is only 25.

http://hackage.haskell.org/packages/archive/forkable-monad/0...

Also, this doesn't implement some stuff from gevent, it implements some stuff over and using gevent.

This is a library that can be used to supplement any implementation.

If I'd had the option to switch us to stackless easily, and I could guarantee it was as fast, worked with all the libraries, and was as stable, I probably wouldn't have written this. I imagine that there are a lot of people in the same boat, where switching interpreters isn't really an option.

- here actually negates the ordering of the numbers in the list. -1.0.0 === 0.0.1.
Technically no, you can't have two things happening concurrently and but not finishing in the same time period.

But what a "thing" and how long a period is are up for grabs. If we choose period to be anything longer than 1 millisecond, then this library will finish executing both things in that time period.

http://stackoverflow.com/questions/1050222/concurrency-vs-pa...

No offense taken - both of these are obviously visibly delicate.

There is a version in the history that used Greenlet instead of gevent which was potentially a bit less delicate, but it required wrapping of the main file and didn't work with time.sleep, and I didn't feel like it was worth writing my own locks, semaphores, mutexes, pipes and whatnot.

waitAll gone. Before I put it in any package managers it will get style guided. This is currently on version -1.0.0.
The lack of options for parallel (and non-parallel) concurrency is, along with other things, feeding the high defection rate to many other languages.
Fewer explicit yields & no monkey patching necessary for IO performing libraries.