Camelia, the Perl 6 bug

IRC log for #parrot, 2011-10-06

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:19 dalek rakudo/nom: dc9ffc4 | jnthn++ | src/ops/perl6.ops:
00:19 dalek rakudo/nom: Avoid spending so much time in realloc. Shaves another ~12% off 'for 1..1000000 { $i++ }'.
00:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dc9ffc44e3
00:37 whiteknight joined #parrot
00:39 whiteknight good evening, #parrot
00:41 cotto hi whiteknight
00:41 sorear hello whiteknight.
00:41 whiteknight hello cotto, sorear. How are you two doing tonight?
00:43 sorear I'm good
00:43 whiteknight sucks about Steve Jobs
00:44 whiteknight I'm hardly an apple fanboi
00:44 schmooster joined #parrot
01:01 * cotto heads home
01:38 benabik joined #parrot
01:38 benabik ~~
02:01 cotto ~~
02:16 benabik I find it amusing the the Planet Parrot RSS shortens my entire blog post to the TL;DR paragraph.
02:34 * benabik needs to teach Vim that .md means markdown, not modula2
02:35 cotto you may think that now, but wait until you really need to edit some modula2 code
02:35 benabik … right
02:37 cotto happens all the time
02:56 dalek PACT: 340008c | benabik++ | TODO.md:
02:56 dalek PACT: TODO: Add notes about PACT languages
02:56 dalek PACT:
02:56 dalek PACT: Having a language at each level will be instructive and useful.  Also
02:56 dalek PACT: add to documentation the idea that PACT assembly is intended to be
02:56 dalek PACT: also implemented in C and used in favor of PIR.
02:56 dalek PACT: review: https://github.com/parrot/PACT/commit/340008ce34
03:03 cotto 0 stories on hacker news about not Steve Jobs
03:03 benabik Yeah, that'll happen.
03:04 cotto not terribly surprising
03:16 dalek PACT: 761bdf6 | benabik++ | nodes.md:
03:16 dalek PACT: Remove equivocation about a layer below POST
03:16 dalek PACT:
03:16 dalek PACT: A CFG based model is nearly a requirement for nearly any reasonably
03:16 dalek PACT: complex code analysis.  Make there be One True CFG model so the wheel
03:16 dalek PACT: doesn't have to be reinvented any time someone wants to write complex
03:16 dalek PACT: optimizations.  Also, ideally we'll be implementing complex
03:16 dalek PACT: optimizations so let's not start by shooting ourselves in the foot.
03:16 dalek PACT: review: https://github.com/parrot/PACT/commit/761bdf6cd6
03:16 dalek PACT: 0d50888 | benabik++ | stages.md:
03:16 dalek PACT: Additional thoughts on stages
03:16 dalek PACT: review: https://github.com/parrot/PACT/commit/0d50888f6c
03:33 benabik I want to keep tweaking those docs, but I'm not sure how much more I can do without either feedback from others or starting to implement something.  And tomorrow I should probably get started on homework and studying for my midterm.
03:33 benabik And right now, I should sleep.  'night
03:56 cotto 'night
03:56 cotto also, don't wait too long for feedback
04:26 plobsing cotto: I've been thinking about how dis and m0 are similar. If they're similar, is there a reason why m0 is not dis? There are other systems out there with strong similarities to m0 (as I understand it). Why not any of them?
04:28 plobsing for example, I just read about the Mite VM (http://rrt.sc3d.org/Software/Mite/), whose stated goals are nearly identical to m0.
04:31 nbrown joined #parrot
04:38 silug joined #parrot
04:39 cotto plobsing, that's be great.  I'd love to not have us write and debug M0 if it's not necessary.
04:40 cotto plobsing++
04:45 plobsing I am nothing if not lazy.
05:17 alvis joined #parrot
05:18 rfw joined #parrot
05:45 SHODAN joined #parrot
06:15 l3l1p joined #parrot
07:30 baest joined #parrot
07:53 baest joined #parrot
08:04 lucian joined #parrot
08:55 dalek rakudo/convergent-num-rat: 0e351b2 | moritz++ | src/core/Num.pm:
08:55 dalek rakudo/convergent-num-rat: try not to loop infinitely in Num.Rat
08:55 dalek rakudo/convergent-num-rat: review: https://github.com/rakudo/rakudo/commit/0e351b2aec
09:08 cotto plobsing, I'm curious how you found mite.  It looks like its build depends on a tool that's no longer available ("nuweb"), but I'll plan on plundering it for ideas.
09:11 ambs joined #parrot
10:01 preflex_ joined #parrot
10:59 mj41 joined #parrot
11:37 Psyche^ joined #parrot
11:52 benabik joined #parrot
11:53 benabik o/ #parrot
12:02 plobsing cotto: I found mite while going deep into the google results for dis. The guy's thesis mentions dis a few times.
12:05 whiteknight joined #parrot
12:12 gbacon joined #parrot
12:15 plobsing cotto: as for the nuweb problem, a sourceforge project by the same name seems to have activity within the last year.
12:16 bluescreen joined #parrot
13:18 whiteknight joined #parrot
13:18 whiteknight good morning, #parrot
13:18 benabik o/ whiteknight
13:18 whiteknight Here's an interesting link about PHP: http://seldo.com/weblog/2011/08/11/p​hp_needs_to_die_what_will_replace_it
13:20 whiteknight hello benabik
13:27 bluescreen joined #parrot
14:02 dalek rakudo/eval-throws: 817dcc2 | moritz++ | src/core/Exception.pm:
14:02 dalek rakudo/eval-throws: make Exception False for now
14:02 dalek rakudo/eval-throws: review: https://github.com/rakudo/rakudo/commit/817dcc277f
14:02 dalek rakudo/eval-throws: f56944f | moritz++ | docs/ChangeLog:
14:02 dalek rakudo/eval-throws: update ChangeLog
14:02 dalek rakudo/eval-throws: review: https://github.com/rakudo/rakudo/commit/f56944fa96
14:49 lucian joined #parrot
14:56 bluescreen joined #parrot
15:06 dmalcolm joined #parrot
15:10 mtk joined #parrot
15:13 dalek rakudo/nom: 1c2c2d4 | moritz++ | src/Perl6/Actions.pm:
15:13 dalek rakudo/nom: do not complain about double declared anon variables
15:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1c2c2d4545
16:45 l3l1p joined #parrot
16:51 mj41 joined #parrot
16:56 dodathome joined #parrot
17:05 fperrad joined #parrot
17:10 pyrimidine joined #parrot
17:11 pyrimidine joined #parrot
17:34 davidfetter joined #parrot
17:34 contingencyplan joined #parrot
18:10 cotto ~~
18:10 cotto plobsing: any luck getting it to build?
18:15 nine Why does the headerizer not pick up my new function?
18:15 whiteknight nine: have you made it angry?
18:15 whiteknight nine: it might not recognize the formatting. It's pretty particular
18:15 cotto headerizer is quite picky
18:18 nine Ah, now it worked
18:18 cotto it's fun like that
18:32 cotto whiteknight: I wasn't impressed by that article.  Anyone who says anything good about pear hasn't seen cpan.
18:34 cotto It's very interesting to think about what's made PHP so popular and how to work with those forces to produce and popularize a superior replacement.
18:35 whiteknight cotto: it's not really in competition with cpan because they're two different languages
18:35 cotto whiteknight: sure
18:35 whiteknight if cpan wasn't enough to keep the web from moving from perl to php, the relative merits of pear vs cpan don't factor in at all
18:35 cotto whiteknight: exactly
18:36 cotto same for language elegance, modularity, consistency, etc
18:36 whiteknight nowhere in there does he even say that php is better than perl, only that it was more suited to the problem domain
18:37 whiteknight for some features like unicode, PHP gives up and says it's impossible. Perl says that it's perfectly possible, but extremely hard to do right and you're better off not bothering
18:38 atrodo I like how he says that perl's features made web development insecure
18:38 whiteknight there is a certain amount of unnecessary perl bashing in the article, sure.
18:39 whiteknight but there is clearly more php bashing, and a few other random drive-by targets
18:42 nine I found him too fixed on the language having to support his problem domain perfectly. That's perfectly possible using libraries and frameworks. Having them baked into the language itself does not improve things.
18:42 whiteknight the underlying point is a good one though: There aren't any good, modern programming languages that have a fundamental focus on the domain of website creation
18:43 whiteknight PHP certainly targets a particular niche, but arguably PHP is a generation or two behind other modern dynamic programming languages
18:43 cotto not a hard argument
18:43 whiteknight something with PHP's focus but a feature set more similar to python, ruby, or scala would be a compelling choice for many
19:01 nine Who'd have thought? preempting a task actually seems to be easier than a task giving up on it's own free will (think sleep op). In the latter case, I can't just restrict it to the topmost runloop.
19:12 whiteknight I believe it
19:13 whiteknight giving up means exiting runops and needing to perform a bunch of bookkeeping
19:15 nine no problem at all in the outermost runloop...but as soon as it's an inner one, I'm back to square one again
19:18 whiteknight help us O'M0 kenobi, you're our only hope
19:21 whiteknight nested runloops are such a big goddamned problem. I really wish they had been avoided from the start
19:23 nine This whole thing would have been almost trivial if not for them. But they are a fact right now
19:25 whiteknight yeah
19:34 nine The only workaround that comes to my mind is to forget concurrency and really sleep on a sleep op in a nested runloop
19:35 nine Sucks and cannot possibly be a persisting solution. But may do for now to at least allow the 90% we have to be used, leaving the real solution for later (probably when M0 arrives)
19:47 whiteknight yeah, if we have to do that, do that
19:47 whiteknight what's most important for us now is to get a basic idea of the kinds of behaviors we want, and get a decent enough API so we know what behavior to preserve and reproduce when we switch out the internals for something better
19:48 whiteknight In short, what we most need are good ideas
19:49 bluescreen joined #parrot
19:53 nine And we are more likely to get those when people start using concurrency features and run into problems
19:54 nine Well, I'm off to bed for now. Good night.
19:54 tadzik o/
21:00 soh_cah_toa joined #parrot
21:01 RobertLJ joined #parrot
21:18 soh_cah_toa_ joined #parrot
21:20 l3l1p joined #parrot
21:49 Coke joined #parrot
21:58 RobertLJ left #parrot
22:23 benabik Do Parrot strings share buffers?  i.e. if I have a very large string and do `$S1 = substr $S0, 128, 256` does that $S1 allocate memory or just reference $S0?
22:31 soh_cah_toa_ that's a good question...
22:33 alvis joined #parrot
22:35 benabik If not, I wonder if that's a big chunk of the memory usage of something like Rakudo's setting, since PCT nodes store the snippet of source that created them.
22:35 * benabik is back to wanting to implement Ropes.
22:35 soh_cah_toa_ benabik: Ropes?
22:36 benabik aloha: ropes?
22:36 aloha benabik: I give up.
22:36 benabik aloha: ropes are a data structure to store and edit large strings.
22:36 aloha benabik: Okay.
22:36 benabik aloha: ropes are also http://en.wikipedia.org/wi​ki/Rope_(computer_science)
22:36 aloha benabik: Okay.
22:36 benabik soh_cah_toa_: ^^
22:36 cotto was it you that said that every implementation of ropes is broken?
22:37 benabik I don't think so…  I find them a very interesting data structure.
22:37 soh_cah_toa_ indeed
22:41 cotto I'm not criticizing the idea.  It looks like fun.
23:07 soh_cah_toa_ error:imcc:syntax error, unexpected DOT ('.')
23:07 soh_cah_toa_ in file '(file unknown)' line 254744173
23:07 soh_cah_toa_ sigh...
23:07 cotto I laugh and I cry.
23:08 * soh_cah_toa_ has no energy left to hate imcc with
23:18 dalek PACT: 433a6ea | benabik++ | compiling.md:
23:18 dalek PACT: Compiling: Errors, Warnings, and multiple outputs
23:18 dalek PACT:
23:18 dalek PACT: One of the more frustrating things about PCT as a HLL developer was
23:18 dalek PACT: always the extra verbose and non-informative messages that occurred
23:18 dalek PACT: because an exception was thrown.  So include error and warning
23:18 dalek PACT: handling in the system from step one.
23:18 dalek PACT:
23:18 dalek PACT: Also, a single linear set of stages doesn't actually reflect how a
23:18 dalek PACT: compiler works, so add some thoughts on the matter.
23:18 dalek PACT: review: https://github.com/parrot/PACT/commit/433a6ea3b6
23:22 * benabik hopes someone is finding this interesting.
23:26 aloha joined #parrot
23:30 not_gerd joined #parrot
23:30 not_gerd hello, #parrot
23:32 not_gerd cotto, plobsing: just took a look at Mite, but I don't think it's a good fit for parrot
23:32 not_gerd in particular, I don't like that arithmetics are done with pointer-size precision and that it's stack-based (which is bad for CPS)
23:34 cotto not_gerd: stack-based is a killer
23:36 cotto register VMs aren't all that common
23:37 not_gerd cotto: one can work around that by elevating values from stack to heap as needed (afaik the Lua VM does that when you take a closure), but it's definitely sub-optimal if you want to base your control flow on CPS
23:44 aloha joined #parrot

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced