Parrot 3.8.0 "Magrathea" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 29 September 2011.
sorear cotto: cute 00:05
cotto: I think it's more a question of understanding what not to do, and there I think it doesn't quite go far enough 00:06
cotto: I didn't really understand the deal with sequence points until I read a paper on the design and implementation of the Plan 9 68000 C compile 00:07
cotto: it would be nice if they talked in more detail about *why* compilers like to reorder expressions
tip: work out the register allocation for a = b + (c + e) and a = (c + e) + b 00:09
01:09 plobsing joined 01:24 jsut_ joined
dalek rrot: 03681b4 | jkeenan++ | lib/Parrot/Harness/Options.pm:
"Repeated code is a mistake." -- MJD. "This is Perl; when in doubt, use a hash." -- unknown
01:36
kudo/nom: 3e66bdf | Coke++ | t/spectest.data:
track failures, run fudges
01:49
Heuristic branch merge: pushed 1500 commits to parrot/smoke_fulltest by jkeenan 01:58
rrot/smoke_fulltest: 4f133cf | jkeenan++ | config/gen/makefiles/root.in:
Restore erroneous deletions.

Branch should now be up-to-date with master, though 'make smolder_fulltest' still needs work.
02:12
02:18 benabik joined 02:38 Khisanth joined 03:51 TonyC joined 03:52 nopaste joined 04:47 rfw joined 06:51 PacoLinux joined 07:14 preflex_ joined 07:19 autark joined 07:34 mj41 joined 08:16 lucian joined 08:34 mj41 joined 08:48 particle joined 09:24 PacoLinux joined 09:40 tewk joined 09:46 lucian joined 10:18 PacoLinux joined 11:05 PacoLinux joined 11:19 mj41 joined 11:37 Psyche^ joined 11:40 benabik joined 11:46 benabik_ joined, particle1 joined, benabik_school joined
benabik o/ #parrot 11:51
11:51 rfw joined
nine \\o benabik 11:57
benabik nine: what's happening? 11:59
dalek p: 15be997 | mls++ | src/HLL/Compiler.pm:
Do not let control exceptions slip through. Also adds a handle-control hook.
12:02
12:03 rfw joined
nine benabik: quiet day 12:05
benabik Early yet.
(For the US, anyway.) 12:06
nine I will stay quiet today anyway. It's really about time to start studying for that exam tomorrow...
12:08 whiteknight joined
whiteknight good morning, #parrot 12:09
benabik o/ whiteknight! 12:10
nine morning, whiteknight 12:11
whiteknight good morning benabik, nine 12:12
Apparently Dennis Ritchie died today
12:13 SHODAN joined 12:14 ligne joined
nine more like last weekend 12:15
whiteknight whenever
the news items are filling up my rss reader today 12:16
nine still sad
whiteknight indeed
12:29 SHODAN joined 12:34 dngor joined
atrodo =~ 12:45
whiteknight hello atrodo 12:47
benabik error: failed to supply regex to match against $atrodo
atrodo morning whiteknight
=~ m/\\s*awake\\s*/xms
12:50 mtk joined
dalek Heuristic branch merge: pushed 25 commits to parrot/green_threads by Whiteknight 12:53
whiteknight nine: that's a local copy of your green_threads branch. I'm going to try to do some testing on it
12:57 p6eval joined
benabik I really wish the Deep C slide just listed the issues with the code instead of continuing to keep up the "conversation" with idiot man and pedantic lady. 13:06
It was nice at first, but gets tedious after a couple hundred slides.
13:08 awwaiid joined
whiteknight Ubuntu 11.10 seems to be getting some decent reviews 13:19
benabik wishes Ubuntu didn't hide their release notes. 13:24
I'd love a nice link of "What's New" under "Hey, there's a new version!" on the front page.
whiteknight the whats-new page I'm looking at is pretty detail-thin anyway 13:27
benabik wiki.ubuntu.com/OneiricOcelot/ReleaseNotes
whiteknight ah, that's more what I am looking for
benabik I found it by going to the download page, upgrade, and there was a link to the release notes. 13:28
whiteknight wow, some of these changes are pretty impressive 13:30
benabik I like the BKL is dead note.
whiteknight fallback to gnome 3.2 instead of gnome 2.3? that's a nice change
benabik Eh. I've always used k or xubuntu. 13:31
Although, really, these days I'm using ubuntu-minimal + X + wmii + whatever stuff I'm testing. 13:32
The thing I _really_ love about ubuntu is how all these sub-distros are packages.
whiteknight what do you mean? 13:33
benabik On debian, you have a pile of essential and standard packages that just are. Ubuntu has packages like "ubuntu-minimal" that depend on the bare bones.
Switching from kubuntu to xubuntu is as simple as apt-get removing kubuntu and apt-get installing xubuntu. 13:34
whiteknight oh, nice
I'm also looking forward to the new Ubuntu mono font 13:35
benabik It's _very_ nice for me because I like to mark as much as I can "auto-installed" and then use aptitude with a filter of "~i !~M !~v" (installed, not marked auto, not virtual)
With debian, that's a long list of things like cron, init, etc. With ubuntu, that's all under "ubuntu-minimal" 13:36
mono font?
whiteknight yeah, they developed a new monospaced font that looks very nice on the eyes
atrodo everyone has developed a new monospaced font that's nice on the eyes 13:37
whiteknight atrodo: not true. I've seen lots of them that suck massively
atrodo Oh yes, I agree, but Apple, Microsoft, Adobe have all made fonts that aim to do exactly that, with various advantages and disadvantages 13:38
whiteknight but I don't use an operating system from Apple, Microsoft or Adobe
benabik Hm. kubuntu-low-fat-settings is an amusing package. And ubuntu Core is a good idea. (very minimal rootfs image) 13:39
whiteknight just started the upgrade in his VM
if it goes well on the VM, I'll do it on my laptop later tonight or this weekend 13:40
benabik whiteknight: packages.ubuntu.com/oneiric/ubuntu-minimal
whiteknight the VM, unfortunately, doesn't support Unity3D. So I can't do any real testing of UI problems before I upgrade my laptop 13:41
and since interface problems are what I have the most of, that's always obnoxious
benabik Hmph. packages.ubuntu.com doesn't display the metapackages category. But you can find it in aptitude. It's awesome. 13:42
benabik really should get around to moving his VPS to Linode and ubuntu-server.
13:43 PacoLinux joined 13:44 PacoLinux_ joined
benabik Ah. A full list: help.ubuntu.com/community/MetaPackages 13:45
benabik is avoiding his homework. Can you tell?
whiteknight what is the homework? 13:46
benabik I have to draw a petri net for a uber-simple network protocol. Mostly just tedium. Maybe I should start learning how to do complex diagrams in LaTeX.
moritz if you want fast results instead, I could recommend dia or inkscape 13:47
PerlJam inkscape++
benabik moritz: I'm more looking for "interesting".
I've been poking at TikZ. 13:48
moritz in school I've had fun drawing chemical formulas with latex
benabik Did you just use the graphics[x?] package, or did you use something more designed for chemistry? 13:52
moritz the latter 13:53
though I forgot the name, it's about 8 years ago :-) 13:54
benabik Well, I don't need it really, so that's fine. :-D 13:56
Sometimes LaTeX feels like Perl. There tends to be a package for whatever you need.
13:57 schmooster joined
moritz finds latex much less hackable, but that might be due to my lack of deep familiarity 13:58
benabik No. It's just unfriently.
moritz there are people who say that about Perl too :-) 13:59
whiteknight I haven't used anything TeX-related since my days on wikibooks. I don't miss it
benabik No, really. TeX is not a good programming language. LuxTeX sounds awesome though. 14:07
14:19 simcop2387_ joined
nine benabik: openSUSE has the same: I usually install base, kde4, devel_perl, devel_C_C++. Or base and mail_server or whatever and have a very decent package selection to start with. 14:23
whiteknight nine: how soon till the zero-overhead commit? 14:24
benabik nine: Very nice. Ubuntu uses virtual packages for some of those (mail server, etc)… I've never been a fan of RPMs though. apt-get converted me to Debian long long ago. 14:25
14:26 sri joined 14:32 dmalcolm joined 14:39 PacoLinux_ joined
nine whiteknight: should be done this evening 14:41
whiteknight nine: awesome! Obviously, I'm eager 14:42
nine mee too :)
whiteknight did you get that other issue sorted out, trying to manually switch tasks from a nested runloop? 14:47
nine not yet
whiteknight okay, I'm sure that will be an easy fix 14:48
we should probably add a mechanism somewhere for querying the current runloop level, to see if we are on top or not
nine But since you are here: what exactly do I have to do to create a nested runloop?
whiteknight: interp->current_runloop_level? 14:49
whiteknight yeah, but add an op to make that queryable from PIR
nine ah
whiteknight or a method, or a lookup on ParrotInterpreter PMC
basically, the PIR code should be able to ask if we are in a situation where preemption is available/possible
that can come later, but it's something to think about 14:51
moritz there could also be a preempt_if_possible opcode or so 14:52
whiteknight right, that's basically what I'm saying 14:53
nine What I don't like about this: runloops are an implementation detail. One that I hope will vanish someday. Feels not right to embody this in the API
whiteknight some way to alert the user whether we are in a preemption situation
nine: these wouldn't be permanent additions, just temporary workarounds
scheduling a task, or attempting to switch tasks manually should probably return an INTVAL, 0 if failure, 1 otherwise 14:54
obviously, this all requires some thought
if we have working tasks, we can start talking about messages and mailboxes, or other interesting mechanisms 14:56
and obviously lots of other cool things: suspending tasks, serializing tasks to file, etc 15:00
and then the real work of upgrading the system to proper OS-level threading 15:01
moritz I'm curious, what's the use case for green threads?
whiteknight moritz: by themselves? not much 15:02
moritz whiteknight: ok, so they are mostly a stepping stone
whiteknight yeah, exactly. When we add OS-level threads and have a hybrid system, it will be similar to something like python's stackless threads or Erlang's actors 15:03
or, we would have the flexibility to do other things too
nine moritz: one could for example use them to implement Signal handling. sorear thinks signals should be handled in threads instead of (mis-)using exceptions like S17 suggests and I like the idea
moritz nine: good point 15:04
whiteknight green threads basically allow you to schedule logically separate tasks, without worrying about data-sharing overhead from multiple OS threads
nine combined with async I/O they allow event based programming without the mind bending of event based programming :) 15:05
15:11 PacoLinux_ joined
whiteknight oh yes, that too. AIO is something we can seriously pursue now 15:13
I don't think it should be too hard to offload IO requests and only pause the current task, not the current thread
all the major target platforms support AIO at the os level, to varying degrees of suckitude. If we upgrade the scheduler with a routine that checks for IO completion and schedules a task in the current thread, we have AIO 15:14
that's a very small step now, compared to what it would have been a few months ago
actually, there could be a couple behaviors. Either update a status flag, or send a message to an existing task, or schedule a new task 15:15
or just unsuspend the current task and continue like normal
Urg. I updated to Ubuntu 11.10, and now t/pmc/alarm.t is failing on the green_threads branch 15:16
wtf 15:17
nine whiteknight: does it fail every time?
With the zero overhead fix I see a 1/20 chance of the test failing. Have been running a while true ; do ./parrot t/pmc/alarm.t ; done for the last half an hour without the fix to check if it's a regression 15:21
Interestingly, if it fails, it's always after ok 2 - alarm 2 15:22
whiteknight oh, I was doing a parallel test run, so that might have screwed up some timing 15:23
when I prove it normally, it works
15:24 jsut joined
nine The test uses very small timeouts. It could be that it's setting an alarm in the past in some cases. 15:25
whiteknight also, we should add an interface somewhere, like to the scheduler PMC, to change the amount of time between preemptive task switches
setting it to 0 or somethign similar should turn off preemption
nine Yep, exposing the scheduler is on my list of future improvements 15:26
benabik Writing tests for multi-threaded code is difficult.
whiteknight The scheduler needs a hell of a lot of improvements. We should start putting together a tasklist 15:35
Timer PMCs need to be completely rewritten. Right now they are inside-out from what they need to be
The scheduler also needs to get it's grubby hands away from managing exception handlers 15:36
dukeleto ~~ 15:48
whiteknight hello duke
dukeleto whiteknight: mornin'
15:50 sim joined
dukeleto whiteknight: the parrot-dev mailing lists has been too quiet lately 15:51
apathy is deadly 15:52
lucian moritz: green threads tend to have a much lower scheduling overhead (less context switches, mostly). you can spawn much more before your machine dies 15:53
15:59 rblackwe joined
dalek rdinal: 3f1ad53 | dukeleto++ | t/01-stmts.t:
Add failing/exploding tests for parsing negative numbers in parens, lateau++
16:04
16:06 PacoLinux_ joined 16:12 mj41 joined 16:16 lateau joined 16:47 mj41 joined 16:59 fperrad joined 17:01 contingencyplan joined 17:08 not_gerd joined
not_gerd hello, #parrot 17:08
dukeleto not_gerd: howdy 17:11
whiteknight hello not_gerd 17:23
17:26 bluescreen joined 17:27 bluescreen joined
lateau 404 not found on "docs.parrot.org/parrot/latest/html/.../pct/TODO" 17:36
Coke lateau: where was it linked to from? 17:37
lateau I founded this in "docs.parrot.org/parrot/latest/html/...pod.html". Link name is "Assertions"
Coke interesting. the source there is L<Assertions> 17:40
(and there is an Assertions section)
I suspct the pod2html is tagging that with a TODO somehow. 17:41
I don't see an easy fix: please send an email to tickets@parrot.org to open a trac ticket. Thanks.
lateau ok, thanks 17:42
cotto ~~ 17:43
dalek TT #2197 created by Daehyub Kim <lateau@…>++: 404 not found on docs.parrot.org 18:14
TT #2197: trac.parrot.org/parrot/ticket/2197
18:19 Elizabeth joined
Coke lateau++ 18:27
lateau :) 18:41
18:47 not_gerd joined 19:11 whiteknight joined 19:38 PacoLinux joined
dalek sella: 65b0691 | Whiteknight++ | src/event/ (3 files):
Cleanup namespaces for Event
19:44
sella: d1d8243 | Whiteknight++ | src/ (77 files):
Merge branch 'master' of github.com:Whiteknight/Rosella
nine whiteknight: sorry, no commit today. Should have started earlier to study for that exam tomorrow... 19:48
whiteknight nine: that's okay. What is the exam on? 19:49
nine Mathematics
whiteknight oh, one of my favorites. Which subject, specifically?
nine Algebras, complex numbers, isomorphisms, vectors, polynominal rings. Nothing terribly difficult. But I haven't touched this stuff in months... 19:51
whiteknight okay, yeah. That kind of stuff is hard to get into if you haven't played with it in a while 19:52
nine Good thing that I have quite some overtime, so I'll just not work tomorrow and still have some time to study :) 19:53
whiteknight it's as if you planned it 19:56
20:04 schmooster joined
dukeleto ~~ 20:23
nine: what is the name of your math course? 20:24
nine dukeleto: Mathematik 1 - Algebra 20:29
dukeleto: I'm studying software enginnering part time at the University of Applied Sciences in Hagenberg/Austria 20:30
20:34 soh_cah_toa joined
dukeleto nine: awesome. i studied differential equations for a few years in graduate school 20:34
nine: mostly nonlinear hyperbolic ones. I never got to actually take a class that involved rings. What kind of stuff do they cover? 20:35
20:37 Lma joined
Coke I never had to go past introdiffeq, which is good, because that's when the instructors stopped speaking english or generating comprehensible lectures. 20:38
nine dukeleto: well it's pretty much everything leading up to what you need for cryptography.
Coke (at least at RPI)
benabik Modern Algebra was an amazing class. Tought me what math meant. 20:39
nine I would love to have more time for this...
benabik *taught. WTH, fingers? 20:40
nine After learing what fields are, I was really amazed that finite fields do exist
So...off to bed now. Good night #parrot 20:42
cotto 'night nine 20:46
dukeleto benabik: yeah, modern algebra has a lot of amazing nonintuitive truths 20:47
benabik dukeleto: It helped a lot when I studied Crypto many years later. :-D 20:48
dalek rdinal: 8152425 | (Daehyub Kim)++ | / (2 files):
Patch for issue #6

   * almost statments enclosed by '()'
   * some literals enclosed by '()': show t/01-stmts.t for the details
t/01-stmts.t will be failed because I added more test cases cannot be parsed on current cardinal.
20:59
rdinal: b1af3d9 | (Daehyub Kim)++ | t/01-stmts.t:
recover leto's commit on master: 3f1ad535da
rdinal: f48c28b | dukeleto++ | / (2 files):
Merge pull request #16 from lateau/lateau

Patch for issue #6
20:59 bluescreen joined 21:01 hercynium joined 21:07 lateau left 21:12 rfw joined 21:16 mj41 joined 21:20 zpmorgan joined 21:30 mj41 joined 21:39 bluescreen joined 21:47 Lma_ joined 22:11 jevin joined 22:36 whiteknight joined
dalek kudo/nom: ce15be4 | Coke++ | t/spectest.data:
run fudged test
22:38
22:59 dmalcolm joined 23:09 bluescreen_ joined 23:27 Tene joined