|
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. |
|||
| dalek | kudo/nom: dc9ffc4 | jnthn++ | src/ops/perl6.ops: Avoid spending so much time in realloc. Shaves another ~12% off 'for 1..1000000 { $i++ }'. |
00:19 | |
|
00:37
whiteknight joined
|
|||
| whiteknight | good evening, #parrot | 00:39 | |
| cotto | hi whiteknight | 00:41 | |
| sorear | hello whiteknight. | ||
| whiteknight | hello cotto, sorear. How are you two doing tonight? | ||
| sorear | I'm good | 00:43 | |
| whiteknight | sucks about Steve Jobs | ||
| I'm hardly an apple fanboi | 00:44 | ||
|
00:44
schmooster joined
|
|||
| cotto heads home | 01:01 | ||
|
01:38
benabik joined
|
|||
| benabik | ~~ | 01:38 | |
| cotto | ~~ | 02:01 | |
| benabik | I find it amusing the the Planet Parrot RSS shortens my entire blog post to the TL;DR paragraph. | 02:16 | |
| benabik needs to teach Vim that .md means markdown, not modula2 | 02:34 | ||
| cotto | you may think that now, but wait until you really need to edit some modula2 code | 02:35 | |
| benabik | … right | ||
| cotto | happens all the time | 02:37 | |
| dalek | CT: 340008c | benabik++ | TODO.md: TODO: Add notes about PACT languages Having a language at each level will be instructive and useful. Also add to documentation the idea that PACT assembly is intended to be also implemented in C and used in favor of PIR. |
02:56 | |
| cotto | 0 stories on hacker news about not Steve Jobs | 03:03 | |
| benabik | Yeah, that'll happen. | ||
| cotto | not terribly surprising | 03:04 | |
| dalek | CT: 761bdf6 | benabik++ | nodes.md: Remove equivocation about a layer below POST A CFG based model is nearly a requirement for nearly any reasonably complex code analysis. Make there be One True CFG model so the wheel doesn't have to be reinvented any time someone wants to write complex optimizations. Also, ideally we'll be implementing complex optimizations so let's not start by shooting ourselves in the foot. |
03:16 | |
| CT: 0d50888 | benabik++ | stages.md: Additional thoughts on stages |
|||
| 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 | |
| And right now, I should sleep. 'night | |||
| cotto | 'night | 03:56 | |
| also, don't wait too long for feedback | |||
| 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:26 | |
| for example, I just read about the Mite VM (rrt.sc3d.org/Software/Mite/), whose stated goals are nearly identical to m0. | 04:28 | ||
|
04:31
nbrown joined
04:38
silug joined
|
|||
| cotto | plobsing, that's be great. I'd love to not have us write and debug M0 if it's not necessary. | 04:39 | |
| plobsing++ | 04:40 | ||
| plobsing | I am nothing if not lazy. | 04:45 | |
|
05:17
alvis joined
05:18
rfw joined
05:45
SHODAN joined
06:15
l3l1p joined
07:30
baest joined
07:53
baest joined
08:04
lucian joined
|
|||
| dalek | kudo/convergent-num-rat: 0e351b2 | moritz++ | src/core/Num.pm: try not to loop infinitely in Num.Rat |
08:55 | |
| 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:08 | |
|
09:11
ambs joined
10:01
preflex_ joined
10:59
mj41 joined
11:37
Psyche^ joined
11:52
benabik joined
|
|||
| benabik | o/ #parrot | 11:53 | |
| plobsing | cotto: I found mite while going deep into the google results for dis. The guy's thesis mentions dis a few times. | 12:02 | |
|
12:05
whiteknight joined
12:12
gbacon joined
|
|||
| plobsing | cotto: as for the nuweb problem, a sourceforge project by the same name seems to have activity within the last year. | 12:15 | |
|
12:16
bluescreen joined
13:18
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 13:18 | |
| benabik | o/ whiteknight | ||
| whiteknight | Here's an interesting link about PHP: seldo.com/weblog/2011/08/11/php_nee...replace_it | ||
| hello benabik | 13:20 | ||
|
13:27
bluescreen joined
|
|||
| dalek | kudo/eval-throws: 817dcc2 | moritz++ | src/core/Exception.pm: make Exception False for now |
14:02 | |
| kudo/eval-throws: f56944f | moritz++ | docs/ChangeLog: update ChangeLog |
|||
|
14:49
lucian joined
14:56
bluescreen joined
15:06
dmalcolm joined
15:10
mtk joined
|
|||
| dalek | kudo/nom: 1c2c2d4 | moritz++ | src/Perl6/Actions.pm: do not complain about double declared anon variables |
15:13 | |
|
16:45
l3l1p joined
16:51
mj41 joined
16:56
dodathome joined
17:05
fperrad joined
17:10
pyrimidine joined
17:11
pyrimidine joined
17:34
davidfetter joined,
contingencyplan joined
|
|||
| cotto | ~~ | 18:10 | |
| plobsing: any luck getting it to build? | |||
| nine | Why does the headerizer not pick up my new function? | 18:15 | |
| whiteknight | nine: have you made it angry? | ||
| nine: it might not recognize the formatting. It's pretty particular | |||
| cotto | headerizer is quite picky | ||
| nine | Ah, now it worked | 18:18 | |
| cotto | it's fun like that | ||
| whiteknight: I wasn't impressed by that article. Anyone who says anything good about pear hasn't seen cpan. | 18:32 | ||
| 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:34 | ||
| whiteknight | cotto: it's not really in competition with cpan because they're two different languages | 18:35 | |
| cotto | whiteknight: sure | ||
| 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 | ||
| cotto | whiteknight: exactly | ||
| 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 | ||
| 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:37 | ||
| 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. | ||
| but there is clearly more php bashing, and a few other random drive-by targets | 18:39 | ||
| 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 | ||
| 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 | ||
| whiteknight | something with PHP's focus but a feature set more similar to python, ruby, or scala would be a compelling choice for many | ||
| 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:01 | |
| whiteknight | I believe it | 19:12 | |
| giving up means exiting runops and needing to perform a bunch of bookkeeping | 19:13 | ||
| 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:15 | |
| whiteknight | help us O'M0 kenobi, you're our only hope | 19:18 | |
| nested runloops are such a big goddamned problem. I really wish they had been avoided from the start | 19:21 | ||
| nine | This whole thing would have been almost trivial if not for them. But they are a fact right now | 19:23 | |
| whiteknight | yeah | 19:25 | |
| 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:34 | |
| 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:35 | ||
| whiteknight | yeah, if we have to do that, do that | 19:47 | |
| 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 | |||
| In short, what we most need are good ideas | 19:48 | ||
|
19:49
bluescreen joined
|
|||
| nine | And we are more likely to get those when people start using concurrency features and run into problems | 19:53 | |
| Well, I'm off to bed for now. Good night. | 19:54 | ||
| tadzik | o/ | ||
|
21:00
soh_cah_toa joined
21:01
RobertLJ joined
21:18
soh_cah_toa_ joined
21:20
l3l1p joined
21:49
Coke joined
21:58
RobertLJ left
|
|||
| 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:23 | |
| soh_cah_toa_ | that's a good question... | 22:31 | |
|
22:33
alvis joined
|
|||
| 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. | |||
| soh_cah_toa_ | benabik: Ropes? | ||
| benabik | aloha: ropes? | 22:36 | |
| aloha | benabik: I give up. | ||
| benabik | aloha: ropes are a data structure to store and edit large strings. | ||
| aloha | benabik: Okay. | ||
| benabik | aloha: ropes are also en.wikipedia.org/wiki/Rope_(computer_science) | ||
| aloha | benabik: Okay. | ||
| benabik | soh_cah_toa_: ^^ | ||
| cotto | was it you that said that every implementation of ropes is broken? | ||
| benabik | I don't think so… I find them a very interesting data structure. | 22:37 | |
| soh_cah_toa_ | indeed | ||
| cotto | I'm not criticizing the idea. It looks like fun. | 22:41 | |
| soh_cah_toa_ | error:imcc:syntax error, unexpected DOT ('.') | 23:07 | |
| in file '(file unknown)' line 254744173 | |||
| sigh... | |||
| cotto | I laugh and I cry. | ||
| soh_cah_toa_ has no energy left to hate imcc with | 23:08 | ||
| dalek | CT: 433a6ea | benabik++ | compiling.md: Compiling: Errors, Warnings, and multiple outputs One of the more frustrating things about PCT as a HLL developer was always the extra verbose and non-informative messages that occurred because an exception was thrown. So include error and warning handling in the system from step one. Also, a single linear set of stages doesn't actually reflect how a compiler works, so add some thoughts on the matter. |
23:18 | |
| benabik hopes someone is finding this interesting. | 23:22 | ||
|
23:26
aloha joined
23:30
not_gerd joined
|
|||
| not_gerd | hello, #parrot | 23:30 | |
| cotto, plobsing: just took a look at Mite, but I don't think it's a good fit for parrot | 23:32 | ||
| 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) | |||
| cotto | not_gerd: stack-based is a killer | 23:34 | |
| register VMs aren't all that common | 23:36 | ||
| 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:37 | |
|
23:44
aloha joined
|
|||