Camelia, the Perl 6 bug

IRC log for #parrot, 2011-08-15

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:47 RobertLJ joined #parrot
01:12 Khisanth joined #parrot
01:17 dalek rakudo/nom: a98e265 | Coke++ | t/spectest.data:
01:17 dalek rakudo/nom: run fudged test
01:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a98e265eec
02:04 worr joined #parrot
02:10 lucian bah. 35s for build&test is annoying me a lot
02:16 tadzik heh, you should try developing rakudo/nom
02:20 lucian or not :)
02:20 tadzik :)
02:21 tadzik it's like 10 minutes to build and 25 to spectest
02:21 woosley joined #parrot
02:21 lucian wow
02:23 sorear better than master, last time I tried that it was 30/120
02:24 tadzik but you were able to compile master on some small amount of ram, weren't you? nom needs like 1.5 GBs now
02:24 dalek rakudo/nom: 02e5a62 | tadzik++ | src/Perl6/Actions.pm:
02:24 dalek rakudo/nom: Merge twines properly in paragraph blocks
02:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/02e5a624b1
02:24 dalek rakudo/nom: 5f145c6 | tadzik++ | lib/Pod/To/Text.pm:
02:24 dalek rakudo/nom: Implement simple FormattinCode handling in Pod::To::Text
02:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5f145c647c
02:24 dalek rakudo/nom: 7810da2 | tadzik++ | src/Perl6/Actions.pm:
02:24 dalek rakudo/nom: Fix and improve merge_twines
02:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7810da2eee
02:25 dalek rakudo/nom: 8da71aa | tadzik++ | src/Perl6/ (2 files):
02:25 dalek rakudo/nom: Move Pod-related methods from Actions.pm to Pod.pm
02:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8da71aa387
02:27 lucian tadzik: yeah, i have 512mb
02:28 lucian uh, parrot master i mean
03:24 nbrown joined #parrot
04:14 rfw joined #parrot
04:42 preflex_ joined #parrot
04:44 cotto ~~
04:44 tadzik ~~
05:09 Kulag joined #parrot
05:23 SHODAN joined #parrot
05:28 Kulag joined #parrot
05:31 nbrown joined #parrot
05:49 SHODAN joined #parrot
06:38 cotto joined #parrot
08:10 cotto joined #parrot
08:18 contingencyplan joined #parrot
08:35 cotto joined #parrot
08:40 * cotto is watching masak++'s first talk
08:41 cotto aloha, clock?
08:41 aloha cotto: LAX: Mon, 01:41 PDT / CHI: Mon, 03:41 CDT / NYC: Mon, 04:41 EDT / UTC: Mon, 08:41 UTC / LON: Mon, 09:41 BST / BER: Mon, 10:41 CEST / TOK: Mon, 17:41 JST / SYD: Mon, 18:41 EST
08:41 * cotto isn't entirely sure that finding out what time his brain should think it should be was a good idea
09:13 jaffa4 joined #parrot
09:14 jaffa4 hi
09:14 jaffa4 what is .lex in pir?
09:18 cotto jaffa4, it's a lexical variable
09:20 jaffa4 ok.  .sub 'a' :outer('foo')? will a inherit all lexicals in foo?
09:20 cotto jaffa4, something like that.
09:21 jaffa4 but .local would not be accessable, right?
09:25 cotto .local is just a register
09:25 cotto so no
10:09 M_o_C joined #parrot
10:44 cotto joined #parrot
11:26 Kulag joined #parrot
11:29 |newbie| joined #parrot
12:00 JimmyZ joined #parrot
12:09 RobertLJ joined #parrot
12:15 whiteknight joined #parrot
12:21 cottoo joined #parrot
12:23 whiteknight good morning, #parrot
12:35 cottoo hio whiteknight
12:35 * cottoo isn't used to being ahead of whiteknight wrt timezones
12:35 cottoo hio whiteknight
12:35 cottoo silly conf wifi
12:36 whiteknight hello
12:36 whiteknight what conference are you at?
12:36 cottoo yapc::eu
12:36 cottoo riga, latvia
12:37 whiteknight oh nice
12:37 cottoo great perl6 hacker population here
12:37 cottoo I got to spend dinner with jnthn, masak and pmichaud last night.
12:38 whiteknight very cool
12:38 * whiteknight is envious
12:40 atrodo =~
12:40 whiteknight talking about anything cool or important?
12:40 cottoo jnthn had an excellent talk about recent Rakudo stuff
12:40 cottoo I'm pretty sure it was recorded
12:41 bluescreen joined #parrot
12:41 cottoo whiteknight, some important questions regarding how type information will flow from HLL down to M0
12:43 whiteknight I could get started on the 6model port as early as this week. soh_cah_toa is spearheading the project to get improved debugging information into packfiles. Try to get as much feedback or direction as you can get about either of those two projects as you possibly can
12:44 cotto I need to read up on type systems.
12:44 whiteknight general changes to packfiles as well, would always be appreciated
12:44 whiteknight since I'm doing so much work relating to them
12:45 cotto Do you have any specific 6model questions I could relay to jnthn?
12:45 whiteknight I don't think so, no. I've been in contact with him
12:45 cotto ok
12:46 whiteknight Oh, one thing I really want more input on, and I'm going to need it from you too, is the idea that IMCC should do less building of stuff magically. Things like MultiSubs, Classes, and NameSpaces should be built explicitly at program startup, not built magically by the packfile loader and other bootstrapping mechanisms
12:47 whiteknight 6model does that for class definitions, but I want to extend out to MultiSub and NameSpace as well
12:47 whiteknight the packfile loader building all those things automatically is a huge mess, and a big hit to startup performance
12:49 dafrito joined #parrot
12:50 whiteknight of course, that change is going to cause a hell of a lot of necessary changes to PIR and IMCC, which is where we need input and agreement from pmichaud and jnthn, etc
12:50 cotto That sounds like the opposite of what jnthn was talking about (merging the compile-time model of the code and runtime model), though it's sensible for imcc.
12:51 whiteknight well, sort of. Right now, we specify all sorts of relations with PIR flags like :multi, :method, :nsentry, :anon, etc. The packfile loader loads up subs and jams them all into auto-created namespaces
12:51 whiteknight the namespaces sort them out depending on flag. Ignoring :anon, making :method invisible, etc
12:52 whiteknight If we stop the packfile loader from auto-jamming things into namespaces, we can get rid of all those flags
12:52 whiteknight Then, we can either create and serialize things we want on the compiler side, or we can generate ":init :load" subs to create things at runtime
12:53 whiteknight either solution is preferable to the packfile loader automatically inserting every Sub into a namespace, and having huge wads of logic in NameSpace PMC to sort it all out
12:55 whiteknight In jnthns view, I think, Creating constants at compile-time and deserializing them fully-formed at runtime is preferrable
12:55 whiteknight I can't imagine he wants IMCC to have any more weird magic
12:55 whiteknight or the packfile loader
12:56 cotto likely enough
12:57 whiteknight Anyway, All these changes are going to represent a major upheaval of PIR syntax, and I want to make sure the p6 movers and shakers are on board with that before pushing the idea ahead
12:58 whiteknight I suspect they aren't using NameSpace or MultiSub anyway, so it's probably not going to phase them too much
12:58 cotto jnthn made a point of mentioning that Rakudo doesn't have any PIR code.
12:58 cotto not that updating nqp will necessarily be easy
13:01 whiteknight the Rakudo source may not contain any hand-written PIR code, but somewhere along the line they are generating swaths of it
13:02 whiteknight I don't think they have the ability to generate pbc directly yet
13:02 cotto definitely
13:02 cotto I'm just saying that Rakudo itself won't need to care.
13:02 whiteknight I need to make sure they are cool with having to generate different PIR, if what they are currently generating uses *any* MultiSub or NameSpace features
13:02 cotto nqp and PCT will
13:02 whiteknight right
13:04 whiteknight I don't really differentiate between "Rakudo" and "The parts of the Rakudo toolchain maintained by Rakudo hackers"
13:05 cotto They live as separate projects but the hackers are the same.
13:05 cotto well, nqp has a subset of Rakudo's hackers
13:20 whiteknight they're all cogs of the greater Rakudo machine
13:21 cotto it's a pretty cool machine
13:29 cotto msg soh_cah_toa http://search.cpan.org/~book/System​-Command-1.05/lib/System/Command.pm might be handy
13:29 aloha OK. I'll deliver the message.
13:30 cotto that might not be as helpful at this stage though
13:38 bubaflub ~
13:44 lucian joined #parrot
13:53 mj41 joined #parrot
13:54 ambs joined #parrot
14:09 M_o_C joined #parrot
14:12 M_o_C joined #parrot
14:13 cotto A gci student is giving a lightning talk.  This is pretty cool.
14:14 cotto wesjdj
14:15 cotto tadzik++ is giving one now
14:19 dalek rakudo/nom: 9e8adcc | (Solomon Foster)++ | src/core/ (4 files):
14:19 dalek rakudo/nom: cotan and acotan.
14:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9e8adccb5b
14:19 dalek rakudo/nom: 4ace1ce | (Solomon Foster)++ | src/core/ (5 files):
14:19 dalek rakudo/nom: sinh and asinh.
14:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4ace1ce19a
14:19 dalek rakudo/nom: ed58a59 | (Solomon Foster)++ | t/spectest.data:
14:19 dalek rakudo/nom: Turn on cotan.t and sinh.t.
14:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ed58a5945b
14:38 ambs joined #parrot
15:05 dalek rakudo/nom: c468ac6 | jonathan++ | src/Perl6/Actions.pm:
15:05 dalek rakudo/nom: Fix up an outer lexical link.
15:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c468ac636f
15:05 dalek rakudo/nom: a802b66 | jonathan++ | src/Perl6/SymbolTable.pm:
15:05 dalek rakudo/nom: Cut down on code generated for setting natively typed attrs in deserialization (saves about 800KB off the generated PIR for the setting).
15:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a802b6614d
15:06 dmalcolm joined #parrot
15:19 dalek rakudo/nom: 89a2cda | Coke++ | t/spectest.data:
15:19 dalek rakudo/nom: track failure modes
15:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/89a2cda685
15:32 dalek rakudo/nom: 9802d3e | (Solomon Foster)++ | src/core/ (4 files):
15:32 dalek rakudo/nom: cosh and acosh.
15:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9802d3e536
15:32 dalek rakudo/nom: e8a10fb | (Solomon Foster)++ | src/core/ (4 files):
15:32 dalek rakudo/nom: tanh and atanh.
15:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e8a10fbb87
15:32 dalek rakudo/nom: 342e6d9 | (Solomon Foster)++ | src/core/ (5 files):
15:33 dalek rakudo/nom: sech and asech, slightly reorder the methods in Real.
15:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/342e6d94cf
15:33 dalek rakudo/nom: 4a2f261 | (Solomon Foster)++ | t/spectest.data:
15:33 dalek rakudo/nom: Turn on cosh.t, tanh. and sech.t.
15:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4a2f2613a8
15:59 TonyC joined #parrot
16:03 snarkyboojum_ joined #parrot
16:04 rdesfo joined #parrot
16:04 nopaste joined #parrot
16:21 davidfetter joined #parrot
16:42 theory joined #parrot
16:49 dalek rakudo/nom: a61f7d4 | (Solomon Foster)++ | src/core/ (5 files):
16:49 dalek rakudo/nom: cosech and acosech.
16:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a61f7d4ad6
16:49 dalek rakudo/nom: df103f0 | (Solomon Foster)++ | src/core/ (5 files):
16:49 dalek rakudo/nom: cotanh and acotanh.
16:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/df103f0cf8
16:49 dalek rakudo/nom: 96ba89b | (Solomon Foster)++ | t/spectest.data:
16:49 dalek rakudo/nom: Turn on cosech.t and cotanh.t.
16:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/96ba89bf6b
17:00 mj41 joined #parrot
17:13 moritz smolder?
17:13 whiteknight aloha smolder?
17:13 aloha whiteknight: smolder is not automatic, but smolder clients can be
17:13 whiteknight awesome
17:13 moritz aloha: smolder results?
17:13 aloha moritz: Search me, bub.
17:16 moritz aloha: smolder results is at http://smolder.parrot.org/
17:16 aloha moritz: Okay.
17:21 lucian joined #parrot
17:25 benabik o/
17:29 jevin joined #parrot
17:35 whiteknight hello benabik
17:35 benabik whiteknight: What's happening?
17:36 whiteknight benabik: nothing much. you?
17:37 benabik whiteknight: Morning jiu-jitsu ran long… Going to dig into a few bits of documentation today.
17:38 whiteknight awesome
17:40 benabik Part of which will be a list of "yeah, this could probably use work"
17:43 whiteknight yeah, it's an important list
17:43 benabik A long list.
17:50 sorear Who did kid51 send PaFo invites to?
17:53 jsut joined #parrot
18:07 rdesfo joined #parrot
18:15 sorear I got a message for parrot-legal@, probably Bcc'd, a couple days ago
18:15 sorear I don't *think* I'm subscribed to parrot-legal@
18:32 dafrito sorear, I got a PaFo invite a couple days ago which I replied to
18:37 Coke joined #parrot
19:00 bluescreen joined #parrot
19:18 moritz sorear: to people that appear in the commit log, apparently
19:31 Coke moritz: not everyone, surely.
19:35 cotto joined #parrot
19:36 cotto ~~
19:39 cotto dafrito, ping
19:39 cotto aloha, clock?
19:39 aloha cotto: LAX: Mon, 12:39 PDT / CHI: Mon, 14:39 CDT / NYC: Mon, 15:39 EDT / UTC: Mon, 19:39 UTC / LON: Mon, 20:39 BST / BER: Mon, 21:39 CEST / TOK: Tue, 04:39 JST / SYD: Tue, 05:39 EST
19:39 bluescreen joined #parrot
19:56 lucian is there anything in winxed/rosella for debug traces?
19:56 whiteknight what do you mean?
19:57 lucian i guess a nice logger
19:57 lucian to replace some say()s
19:57 whiteknight This is the closest that Rosella provides: https://github.com/Whiteknight/Rosell​a/blob/master/src/core/Parrot.winxed
19:58 whiteknight get_backtrace_strings() returns a string containing the backtrace at the current location. get_backtrace_ex_strings() returns the backtrace string for an Exception
19:58 whiteknight try_report executes a function, and prints a proper backtrace if there's an unhandled exception
19:58 lucian hmm. might be useful
19:59 * lucian looks for some general logging bits
19:59 whiteknight those are just the few things I needed. I can probably put together more stuff if you have specific requests
19:59 lucian whiteknight: i just want a replacement for say() that only prints in some sort of debug mode
20:00 whiteknight oh. I don't have that yet but it would be trivial for me to put together tonight
20:00 lucian i could write one myself, but i'd rather not reinvent things
20:00 benabik Also, a ready function that prints to STDERR is handy.
20:00 whiteknight Winxed has a cry() builtin
20:00 whiteknight it's like say(), but tattle-tales to stderr
20:00 benabik NotFound++
20:00 lucian whiteknight: hmm. is that stderr?
20:00 whiteknight lucian: yeah, I think so
20:00 lucian right, cool. whiteknight++ NotFound++
20:00 lucian thanks
20:00 whiteknight NotFound++ indeed
20:01 benabik Hm.  A logging system in Parrot isn't a bad idea, although the real trick is making it as low cost as possible when turned off.
20:01 lucian i'll just use that for now, even though it's semantically incorrect
20:01 lucian benabik: if it's integrated with winxed, it could be 0cost
20:02 benabik lucian: Only if it's compile-time on/off.
20:02 whiteknight I've tried before to get NotFound to implement some kind of debugging mode
20:02 lucian benabik: yes
20:02 lucian but i'm not particularly worried about such overhead
20:02 whiteknight Something like #ifdef DEBUG ... #endif, but with better syntax that could be controlled by a flag
20:02 benabik lucian: I was thinking of something like log4j.
20:03 benabik debug { /* code that's only run if compiled with --debug */ }
20:03 whiteknight benabik: yeah, exactly
20:03 lucian benabik: log4j is ok
20:03 benabik Or DEBUGGING { } to make it obvious.
20:03 lucian or even better, static if (debug) { }
20:03 benabik (static if)++
20:03 whiteknight I could hack together something like that tonight.
20:03 * lucian likes D's static if
20:03 whiteknight of course, it's up to NotFound to accept the pull request or not
20:03 cotto joined #parrot
20:04 whiteknight I am not familiar with D. I'll have to look at the static if construct
20:04 lucian whiteknight: it's compile-time if
20:05 whiteknight I know Winxed will do some basic dead code elimination if we have constant expressions in a condition. If we had a way to insert a symbolic constant "DEBUG", the rest should work itself out
20:05 whiteknight *if* the dead code eliminator is smart enough, as I think it is
20:05 lucian right, that'd work too
20:06 lucian if(__debug__)
20:06 lucian where __debug__ gets defined by some compile switch
20:06 whiteknight In terms of the Winxed parser, it's probably easiest to implement something like DEBUG <BLOCK>
20:07 lucian right. that's ok too
20:07 benabik A __debug__ symbol that parses as 0/1 depending on flag would work, iff it will realize it's dead code.
20:07 dalek rakudo/nom: 7128da1 | moritz++ | NOMMAP.markdown:
20:07 dalek rakudo/nom: note a known segfault
20:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7128da1c54
20:07 whiteknight I'll dig through the winxed source and see what I can come up with. NotFound is away, or I would ask him about syntax first
20:07 rdesfo joined #parrot
20:08 benabik (If it doesn't remove the unneeded test "if 1" in debug mode, that's not too bad, but if it won't pull out the whole block on if(0) that's a problem.)
20:08 whiteknight I was playing with a Contract library in Rosella a while back that would do basically a bunch of runtime assertions
20:08 whiteknight but if a global flag were turned off, the library did nothing. Not zero cost, but very cheap
20:10 whiteknight What about a syntax like DEBUG: <statement>
20:10 whiteknight because that could be a single statement or a block
20:11 lucian whiteknight: i don't particularly like that option
20:12 whiteknight well, it doesn't particularly  like you
20:12 whiteknight so neener, neener
20:12 whiteknight :)
20:12 whiteknight I can look into a static if also, and maybe some functionality to define symbolic constants on the commandline
20:15 lucian a static if is more general, which is why i brought it up
20:15 whiteknight I like the idea, I just don't know if the winxed compiler is going to be amenable to the idea of global symbolic constants
20:19 lucian essentially, it's just better syntax for #ifdef
20:20 mj41 joined #parrot
20:22 whiteknight right
20:22 whiteknight What I did like about the C preprocessor syntax, if anything, was that it was set aside from the normal code and visually distinct
20:23 * lucian shrugs
20:23 lucian i find "static" distinct enough i guess
20:24 cotto joined #parrot
20:25 whiteknight if you have a good syntax highligher, that problem mostly goes away by itself
20:25 whiteknight I suspect Notfound is going to object to the "static if" syntax, because of the dead code elimination optimizations
20:25 lucian right
20:26 whiteknight you could probably do something like this yourself in Winxed, Do a "const int DEBUG = 1" at the top of the file, and then "if (DEBUG) { ... }"
20:26 whiteknight you would probably need to do that for each file
20:29 lucian yeah, doing it for every file doesn't sound great
20:29 lucian since my setup.winxed concats files anyway, might be able to do it there
20:29 whiteknight ah yeah, that's a good point
20:29 lucian parrot really needs a module system
20:29 ingy last -h
20:30 whiteknight lucian: Suggestions and designs welcome
20:30 benabik Wasn't there something called plumage?
20:30 whiteknight benabik: yeah
20:30 * whiteknight has to sign off and go now. Will be on later to chat more
20:30 lucian benabik: afaict it's a package manager
20:32 Tene_ That's right.
20:40 RobertLJ joined #parrot
21:02 dafrito cotto, late pong
21:04 cotto dafrito, when looking at Pod::Simple, did you think about figuring out which version what we have is based on and looking at the diff based on that?
21:17 dafrito cotto, I could. Doing a grep shows a few versions, namely 2.02, 1.01, 3.04. I'll check what they're referring to, specifically; 2.02 looks to be the consensus, though
21:22 cotto dafrito, sigh
21:22 dafrito cotto, I generated a patch for the version parts from parrot to head: http://fpaste.org/rETZ/
21:23 dafrito it's mostly 2.02, with some stuff backported, I believe
21:26 dafrito Generating a fake branch of merged changes should shake any Parrot-specific changes out, and it's kind-of fun to do. At least for me, anyway :)
21:26 rdesfo joined #parrot
21:27 rdesfo left #parrot
21:34 cotto dafrito, I'm glad you enjoy it.
21:42 theory joined #parrot
21:42 tcurtis ~~
21:50 Psyche^ joined #parrot
22:03 rfw joined #parrot
22:30 nbrown joined #parrot
22:48 * Coke ponders trying to cut a release from windows.
22:51 kid51 joined #parrot
22:55 * lucian wants if-let in winxed!
22:56 lucian or at least ?.
23:21 preflex joined #parrot
23:22 whiteknight joined #parrot
23:23 whiteknight good evening, #parrot
23:26 lucian whiteknight: evening
23:27 whiteknight hello lucian. How are you doing since I last saw you?
23:27 lucian alright, i guess
23:28 lucian i'm getting most test passing again, without a fundamentally flawed design
23:28 lucian so if i fix the bugs now, i should be left with a fully correct (albeit incomplete) python object model
23:31 whiteknight awesome. Correctness is always a good milestone
23:33 lucian meh. way too late
23:33 lucian i should've pestered john more about 6model
23:34 sorear jnthn__?
23:34 lucian yes
23:35 whiteknight lucian: make sure to learn the lesson. Spend the rest of your life pestering everybody
23:38 lucian whiteknight: that might annoy said everybody
23:38 whiteknight unfortunately the timing just didn't work out. Next summer we should have 6model in core parrot, so our next crop of gsoc students will reap the benefits
23:39 lucian yep. i suck at timing
23:42 whiteknight I don't know when NotFound gets back
23:42 whiteknight I would really like to talk to him about some debug stuff before I go blinding implementing things
23:46 whiteknight blindly
23:46 dalek winxed/lambda_syntax: cec5954 | Whiteknight++ | / (2 files):
23:46 dalek winxed/lambda_syntax: Merge branch 'nf_master' into lambda_syntax
23:46 dalek winxed/lambda_syntax: review: https://github.com/Whiteknig​ht/winxed/commit/cec59548d6
23:48 lucian whiteknight: i have a makeshift solution for now: less
23:49 whiteknight still, it's a feature that I believe the language should have
23:49 lucian i comment out cries i don't care about
23:49 lucian and less can hide stderr with R
23:49 whiteknight conditional compilation is a very useful tool, and having debugging diagnostics is an important tool
23:49 dalek winxed/multi_syntax: c23371e | Whiteknight++ | / (2 files):
23:49 dalek winxed/multi_syntax: Merge branch 'nf_master' into multi_syntax
23:49 dalek winxed/multi_syntax: review: https://github.com/Whiteknig​ht/winxed/commit/c23371e7c5
23:55 RobertLJ_ joined #parrot

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

Parrot | source cross referenced