Parrot 3.6.0 "P�jaros del Caribe" released | parrot.org | Log: irclog.perlgeek.de/parrot/today | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 13 August 2011.
00:47 RobertLJ joined 01:12 Khisanth joined
dalek kudo/nom: a98e265 | Coke++ | t/spectest.data:
run fudged test
01:17
02:04 worr joined
lucian bah. 35s for build&test is annoying me a lot 02:10
tadzik heh, you should try developing rakudo/nom 02:16
lucian or not :) 02:20
tadzik :)
it's like 10 minutes to build and 25 to spectest 02:21
02:21 woosley joined
lucian wow 02:21
sorear better than master, last time I tried that it was 30/120 02:23
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 kudo/nom: 02e5a62 | tadzik++ | src/Perl6/Actions.pm:
Merge twines properly in paragraph blocks
kudo/nom: 5f145c6 | tadzik++ | lib/Pod/To/Text.pm:
Implement simple FormattinCode handling in Pod::To::Text
kudo/nom: 7810da2 | tadzik++ | src/Perl6/Actions.pm:
Fix and improve merge_twines
kudo/nom: 8da71aa | tadzik++ | src/Perl6/ (2 files):
Move Pod-related methods from Actions.pm to Pod.pm
02:25
lucian tadzik: yeah, i have 512mb 02:27
uh, parrot master i mean 02:28
03:24 nbrown joined 04:14 rfw joined 04:42 preflex_ joined
cotto ~~ 04:44
tadzik ~~
05:09 Kulag joined 05:23 SHODAN joined 05:28 Kulag joined 05:31 nbrown joined 05:49 SHODAN joined 06:38 cotto joined 08:10 cotto joined 08:18 contingencyplan joined 08:35 cotto joined
cotto is watching masak++'s first talk 08:40
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
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
jaffa4 hi 09:14
what is .lex in pir?
cotto jaffa4, it's a lexical variable 09:18
jaffa4 ok. .sub 'a' :outer('foo')? will a inherit all lexicals in foo? 09:20
cotto jaffa4, something like that.
jaffa4 but .local would not be accessable, right? 09:21
cotto .local is just a register 09:25
so no
10:09 M_o_C joined 10:44 cotto joined 11:26 Kulag joined 11:29 |newbie| joined 12:00 JimmyZ joined 12:09 RobertLJ joined 12:15 whiteknight joined 12:21 cottoo joined
whiteknight good morning, #parrot 12:23
cottoo hio whiteknight 12:35
cottoo isn't used to being ahead of whiteknight wrt timezones
hio whiteknight
silly conf wifi
whiteknight hello 12:36
what conference are you at?
cottoo yapc::eu
riga, latvia
whiteknight oh nice 12:37
cottoo great perl6 hacker population here
I got to spend dinner with jnthn, masak and pmichaud last night.
whiteknight very cool 12:38
whiteknight is envious
atrodo =~ 12:40
whiteknight talking about anything cool or important?
cottoo jnthn had an excellent talk about recent Rakudo stuff
I'm pretty sure it was recorded
12:41 bluescreen joined
cottoo whiteknight, some important questions regarding how type information will flow from HLL down to M0 12:41
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:43
cotto I need to read up on type systems. 12:44
whiteknight general changes to packfiles as well, would always be appreciated
since I'm doing so much work relating to them
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
cotto ok
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:46
6model does that for class definitions, but I want to extend out to MultiSub and NameSpace as well 12:47
the packfile loader building all those things automatically is a huge mess, and a big hit to startup performance
12:49 dafrito joined
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.
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
the namespaces sort them out depending on flag. Ignoring :anon, making :method invisible, etc
If we stop the packfile loader from auto-jamming things into namespaces, we can get rid of all those flags 12:52
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
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:53
In jnthns view, I think, Creating constants at compile-time and deserializing them fully-formed at runtime is preferrable 12:55
I can't imagine he wants IMCC to have any more weird magic
or the packfile loader
cotto likely enough 12:56
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:57
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.
not that updating nqp will necessarily be easy
whiteknight the Rakudo source may not contain any hand-written PIR code, but somewhere along the line they are generating swaths of it 13:01
I don't think they have the ability to generate pbc directly yet 13:02
cotto definitely
I'm just saying that Rakudo itself won't need to care.
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
cotto nqp and PCT will
whiteknight right
I don't really differentiate between "Rakudo" and "The parts of the Rakudo toolchain maintained by Rakudo hackers" 13:04
cotto They live as separate projects but the hackers are the same. 13:05
well, nqp has a subset of Rakudo's hackers
whiteknight they're all cogs of the greater Rakudo machine 13:20
cotto it's a pretty cool machine 13:21
msg soh_cah_toa search.cpan.org/~book/System-Comman...Command.pm might be handy 13:29
aloha OK. I'll deliver the message.
cotto that might not be as helpful at this stage though 13:30
bubaflub ~ 13:38
13:44 lucian joined 13:53 mj41 joined 13:54 ambs joined 14:09 M_o_C joined 14:12 M_o_C joined
cotto A gci student is giving a lightning talk. This is pretty cool. 14:13
wesjdj 14:14
tadzik++ is giving one now 14:15
dalek kudo/nom: 9e8adcc | (Solomon Foster)++ | src/core/ (4 files):
cotan and acotan.
14:19
kudo/nom: 4ace1ce | (Solomon Foster)++ | src/core/ (5 files):
sinh and asinh.
kudo/nom: ed58a59 | (Solomon Foster)++ | t/spectest.data:
Turn on cotan.t and sinh.t.
14:38 ambs joined
dalek kudo/nom: c468ac6 | jonathan++ | src/Perl6/Actions.pm:
Fix up an outer lexical link.
15:05
kudo/nom: a802b66 | jonathan++ | src/Perl6/SymbolTable.pm:
Cut down on code generated for setting natively typed attrs in deserialization (saves about 800KB off the generated PIR for the setting).
15:06 dmalcolm joined
dalek kudo/nom: 89a2cda | Coke++ | t/spectest.data:
track failure modes
15:19
kudo/nom: 9802d3e | (Solomon Foster)++ | src/core/ (4 files):
cosh and acosh.
15:32
kudo/nom: e8a10fb | (Solomon Foster)++ | src/core/ (4 files):
tanh and atanh.
kudo/nom: 342e6d9 | (Solomon Foster)++ | src/core/ (5 files):
sech and asech, slightly reorder the methods in Real.
kudo/nom: 4a2f261 | (Solomon Foster)++ | t/spectest.data:
Turn on cosh.t, tanh. and sech.t.
15:59 TonyC joined 16:03 snarkyboojum_ joined 16:04 rdesfo joined, nopaste joined 16:21 davidfetter joined 16:42 theory joined
dalek kudo/nom: a61f7d4 | (Solomon Foster)++ | src/core/ (5 files):
cosech and acosech.
16:49
kudo/nom: df103f0 | (Solomon Foster)++ | src/core/ (5 files):
cotanh and acotanh.
kudo/nom: 96ba89b | (Solomon Foster)++ | t/spectest.data:
Turn on cosech.t and cotanh.t.
17:00 mj41 joined
moritz smolder? 17:13
whiteknight aloha smolder?
aloha whiteknight: smolder is not automatic, but smolder clients can be
whiteknight awesome
moritz aloha: smolder results?
aloha moritz: Search me, bub.
moritz aloha: smolder results is at smolder.parrot.org/ 17:16
aloha moritz: Okay.
17:21 lucian joined
benabik o/ 17:25
17:29 jevin joined
whiteknight hello benabik 17:35
benabik whiteknight: What's happening?
whiteknight benabik: nothing much. you? 17:36
benabik whiteknight: Morning jiu-jitsu ran long… Going to dig into a few bits of documentation today. 17:37
whiteknight awesome 17:38
benabik Part of which will be a list of "yeah, this could probably use work" 17:40
whiteknight yeah, it's an important list 17:43
benabik A long list.
sorear Who did kid51 send PaFo invites to? 17:50
17:53 jsut joined 18:07 rdesfo joined
sorear I got a message for parrot-legal@, probably Bcc'd, a couple days ago 18:15
I don't *think* I'm subscribed to parrot-legal@
dafrito sorear, I got a PaFo invite a couple days ago which I replied to 18:32
18:37 Coke joined 19:00 bluescreen joined
moritz sorear: to people that appear in the commit log, apparently 19:18
Coke moritz: not everyone, surely. 19:31
19:35 cotto joined
cotto ~~ 19:36
dafrito, ping 19:39
aloha, clock?
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
lucian is there anything in winxed/rosella for debug traces? 19:56
whiteknight what do you mean?
lucian i guess a nice logger 19:57
to replace some say()s
whiteknight This is the closest that Rosella provides: github.com/Whiteknight/Rosella/blo...rot.winxed
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
try_report executes a function, and prints a proper backtrace if there's an unhandled exception
lucian hmm. might be useful
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
lucian whiteknight: i just want a replacement for say() that only prints in some sort of debug mode
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
benabik Also, a ready function that prints to STDERR is handy.
whiteknight Winxed has a cry() builtin
it's like say(), but tattle-tales to stderr
benabik NotFound++
lucian whiteknight: hmm. is that stderr?
whiteknight lucian: yeah, I think so
lucian right, cool. whiteknight++ NotFound++
thanks
whiteknight NotFound++ indeed
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
benabik: if it's integrated with winxed, it could be 0cost
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
lucian benabik: yes
but i'm not particularly worried about such overhead
whiteknight Something like #ifdef DEBUG ... #endif, but with better syntax that could be controlled by a flag
benabik lucian: I was thinking of something like log4j.
debug { /* code that's only run if compiled with --debug */ } 20:03
whiteknight benabik: yeah, exactly
lucian benabik: log4j is ok
benabik Or DEBUGGING { } to make it obvious.
lucian or even better, static if (debug) { }
benabik (static if)++
whiteknight I could hack together something like that tonight.
lucian likes D's static if
whiteknight of course, it's up to NotFound to accept the pull request or not
20:03 cotto joined
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
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
*if* the dead code eliminator is smart enough, as I think it is
lucian right, that'd work too
if(__debug__) 20:06
where __debug__ gets defined by some compile switch
whiteknight In terms of the Winxed parser, it's probably easiest to implement something like DEBUG <BLOCK>
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.
dalek kudo/nom: 7128da1 | moritz++ | NOMMAP.markdown:
note a known segfault
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
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
but if a global flag were turned off, the library did nothing. Not zero cost, but very cheap
What about a syntax like DEBUG: <statement> 20:10
because that could be a single statement or a block
lucian whiteknight: i don't particularly like that option 20:11
whiteknight well, it doesn't particularly like you 20:12
so neener, neener
:)
I can look into a static if also, and maybe some functionality to define symbolic constants on the commandline
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
lucian essentially, it's just better syntax for #ifdef 20:19
20:20 mj41 joined
whiteknight right 20:22
What I did like about the C preprocessor syntax, if anything, was that it was set aside from the normal code and visually distinct
lucian shrugs 20:23
i find "static" distinct enough i guess
20:24 cotto joined
whiteknight if you have a good syntax highligher, that problem mostly goes away by itself 20:25
I suspect Notfound is going to object to the "static if" syntax, because of the dead code elimination optimizations
lucian right
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
you would probably need to do that for each file
lucian yeah, doing it for every file doesn't sound great 20:29
since my setup.winxed concats files anyway, might be able to do it there
whiteknight ah yeah, that's a good point
lucian parrot really needs a module system
ingy last -h
whiteknight lucian: Suggestions and designs welcome 20:30
benabik Wasn't there something called plumage?
whiteknight benabik: yeah
whiteknight has to sign off and go now. Will be on later to chat more
lucian benabik: afaict it's a package manager
Tene_ That's right. 20:32
20:40 RobertLJ joined
dafrito cotto, late pong 21:02
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:04
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:17
cotto dafrito, sigh 21:22
dafrito cotto, I generated a patch for the version parts from parrot to head: fpaste.org/rETZ/
it's mostly 2.02, with some stuff backported, I believe 21:23
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
21:26 rdesfo joined 21:27 rdesfo left
cotto dafrito, I'm glad you enjoy it. 21:34
21:42 theory joined
tcurtis ~~ 21:42
21:50 Psyche^ joined 22:03 rfw joined 22:30 nbrown joined
Coke ponders trying to cut a release from windows. 22:48
22:51 kid51 joined
lucian wants if-let in winxed! 22:55
or at least ?. 22:56
23:21 preflex joined 23:22 whiteknight joined
whiteknight good evening, #parrot 23:23
lucian whiteknight: evening 23:26
whiteknight hello lucian. How are you doing since I last saw you? 23:27
lucian alright, i guess
i'm getting most test passing again, without a fundamentally flawed design 23:28
so if i fix the bugs now, i should be left with a fully correct (albeit incomplete) python object model
whiteknight awesome. Correctness is always a good milestone 23:31
lucian meh. way too late 23:33
i should've pestered john more about 6model
sorear jnthn__? 23:34
lucian yes
whiteknight lucian: make sure to learn the lesson. Spend the rest of your life pestering everybody 23:35
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
lucian yep. i suck at timing 23:39
whiteknight I don't know when NotFound gets back 23:42
I would really like to talk to him about some debug stuff before I go blinding implementing things
blindly 23:46
dalek nxed/lambda_syntax: cec5954 | Whiteknight++ | / (2 files):
Merge branch 'nf_master' into lambda_syntax
lucian whiteknight: i have a makeshift solution for now: less 23:48
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
and less can hide stderr with R
whiteknight conditional compilation is a very useful tool, and having debugging diagnostics is an important tool
dalek nxed/multi_syntax: c23371e | Whiteknight++ | / (2 files):
Merge branch 'nf_master' into multi_syntax
23:55 RobertLJ_ joined