Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-01-20

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 lue #| means Pod6 declarator block (there's also #= , which used to be the only way to write them)
00:01 timotimo i think i was missing a my.
00:02 timotimo well, i know i was missing a my, but it seems like that caused the slowdown
00:02 timotimo oh, it may very well have been my levenshtein code that took uber long to find something?
00:02 timotimo i mean the setting is quite huge
00:02 timotimo probably has an insane amount of blocks
00:02 marloshouse joined #perl6
00:11 timotimo i should really see to it that it aborts quicker.
00:13 timotimo good thing people don't seem to use rakudo overnight dP
00:13 timotimo :P
00:13 timotimo at least not such fresh rakudos
00:20 MikeFair joined #perl6
00:35 CiNNiki joined #perl6
00:39 MikeFair_ joined #perl6
00:44 fgomez joined #perl6
00:44 dalek roast: 0acfc00 | (Timo Paulssen)++ | S32-exceptions/misc.t:
00:44 dalek roast: a test for X::Parameter::InvalidType.
00:44 dalek roast: review: https://github.com/perl6/roast/commit/0acfc00c42
01:35 timotimo levenshtein slowed down compilation immensely. tge "abort search" return value was not being honored
01:36 timotimo sloeed it down when there was an error only, of course
01:37 timotimo now I'm commuting and i really want to continue working
01:37 timotimo hacking rakudo is very pleasant once you know what goes where
01:45 For-Odin joined #perl6
01:59 FROGGS_ joined #perl6
02:45 timotimo i'm hopelessly confused. when i throw a X::Undeclared during compilation, the program justcontinues on (apparently forever), using up one full cpu core. what might i be doing wrong?
02:46 sorear If you want it to use both CPU cores, you'll need to run more than one instance of Rakudo, perhaps using make -j
02:46 timotimo haha
02:47 timotimo it would be splendid to use more than one core to compile CORE.setting
02:49 * timotimo distributed debug-say-statements in World::typed_exception
02:58 FROGGS__ joined #perl6
03:01 timotimo it seems to be endless-looping in the .new of some exception.
03:21 Pleiades` joined #perl6
03:36 thou joined #perl6
03:38 orafu joined #perl6
03:41 simcop2387 joined #perl6
03:52 * lue would like to improve nqp's memory usage to speed up CORE.setting
03:55 swarley Can I use recursion in a token definition like this? http://pastebin.com/2k2P8uSU
03:55 swarley Oh, wait that's probably not what I want
03:55 swarley Never mind.
03:56 TimToady recursion is fine if you make progress
03:57 swarley Well looking at it again, it would match \\\\\\\\\\u0013
04:01 TimToady nodnod
04:02 swarley Also, I have a question about the behavior of this (it's in the skeleton generated from mk_language)
04:02 swarley proto token quote { <...> }
04:02 swarley token quote:sym<'> { <?[']> <quote_EXPR: ':q'> }
04:02 swarley Does that call an action as well?
04:02 swarley Or, can it be made to?
04:04 swarley Actually, I'm more confused about the syntax in general
04:05 TimToady one can supply a class that, if it has the same method name, provides the action for that method
04:06 TimToady in smaller parser, one generally just embeds the action in a block
04:06 TimToady <...> is obsolescent though; nowadays one would just use a body of {*}
04:08 swarley It seems as if it's also using an internal default lexical pattern to match against the strings. Since that doesn't appear to be much of a regular expression.
04:09 autumn joined #perl6
04:09 TimToady there's a method quote_EXPR somewhere, probably
04:09 autumn and I here am
04:09 TimToady a little early this year, aren't'cha?
04:09 swarley Ah. I would use it, I'm just concerned as to whether or not it would allow for all of the things ruby allows for within its strings. I suppose I'll have to write my own methods to handle them.
04:10 swarley I just wanted to see if I was doing more work than was necessary.
04:10 TimToady I don't know much about rakudo quote parsing, having only done it STD's way
04:11 autumn ah I would like to know the identity of the person who thought it brilliant to abbreviate 'standard' to 'STD'
04:11 swarley I might look in it to see, I would look at ruby's source, but it doesn't use a lexer actually. It has a specially coded lexer so it's not very easy to tell what it's doing actually.
04:11 swarley Very cryptic code. All of it being embedded within parser.y
04:11 TimToady autumn: that would be me :)
04:11 autumn swarley: hi.
04:12 swarley hi.
04:13 TimToady it's not just a pun on venereal diseases, of course, but also STDOUT and such
04:14 autumn TimToady: I mean the general usage q:
04:14 autumn not merely within Perl's domain
04:15 TimToady oh, well, back in the day, compilers tended to be limited to, like, six character identifiers, so some of the, er, standard abbreviations stuck around
04:15 timotimo because holding on to old things is always good! :)
04:16 swarley I feel that turning this collection of tokens into a full grammar is going to be a week of pain for me.
04:16 * timotimo compiles and spectests his branch again, then pullrequests and then finally goes to bed
04:16 * swarley doesn't have $250 to pay for the ISO specification that has the exact grammar definition
04:16 timotimo going to be able to close one more ticket :D
04:17 timotimo er, i already clicked "send pull request", so the "it also passes the spectests!" in it is ... "optimistical"/"a lie"
04:17 sorear swarley: which ISO spec do you want?
04:17 swarley Ruby's ISO.
04:17 timotimo TimToady: did you see rakudo got a few nicer error messages than STD does? :)
04:17 sorear ah, not one I have :/
04:18 swarley There was a draft available for a while, but the server is locked now
04:18 sorear you should check other standards organisations.
04:18 timotimo swarley: how about visiting a nearby university library or something? i've seen ISO folders in ours (locked behind glass doors, of course)
04:18 TimToady timotimo: STD was meant primarily to be a good example (except where it's a bad example...)
04:18 sorear ECMA has mirrors of quite a few ISO and ANSI documents
04:18 sorear and the mirrors are often free when then originals aren't
04:19 swarley Hm, that might be a good idea.
04:19 swarley Because http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=59579 is quite ridiculous
04:21 swarley Nothing on ECMA
04:21 swarley As far as I can tell.
04:21 timotimo All tests successful. - https://github.com/rakudo/rakudo/pull/98 would love to see this accepted when i wake up tomorrow/today :)
04:22 timotimo r: my $Frob = "frobby frob"; say $frob;
04:22 p6eval rakudo 5a895b: OUTPUT«[31m===[0mSORRY![31m===[0m�Variable '$frob' is not declared. Did you mean '$Frob'?�at /tmp/G0RcV_WxW8:1�------> [32mmy $Frob = "frobby frob"; say $frob[33m�[31m;[0m�    expecting any of:�        postfix�»
04:22 timotimo r: my @arr = 1, 2, 3; say $arr[1];
04:22 p6eval rakudo 5a895b: OUTPUT«[31m===[0mSORRY![31m===[0m�Variable '$arr' is not declared. Did you mean '@arr'?�at /tmp/udCVHJ0WtJ:1�------> [32mmy @arr = 1, 2, 3; say $arr[1][33m�[31m;[0m�    expecting any of:�        postfix�        infix or meta-infix�        infix stopper�        sta…
04:22 timotimo r: class TimToady is Callabel { };
04:22 p6eval rakudo 5a895b: OUTPUT«[31m===[0mSORRY![31m===[0m�'TimToady' cannot inherit from 'Callabel' because it is unknown.�Did you mean 'Callable'?��at /tmp/8O77X5w1h8:1�------> �»
04:22 * timotimo feels like he contributed something
04:23 TimToady timotimo++
04:23 autumn r: timotimo++;
04:23 p6eval rakudo 5a895b: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:�    timotimo used at line 1��»
04:23 timotimo ttyl :]
04:23 preflex joined #perl6
04:23 autumn r: $timotimo = 1; $timotimo++;
04:23 p6eval rakudo 5a895b: OUTPUT«[31m===[0mSORRY![31m===[0m�Variable '$timotimo' is not declared�at /tmp/9RXq69B04a:1�------> [32m$timotimo[33m�[31m = 1; $timotimo++;[0m�    expecting any of:�        postfix�»
04:23 timotimo r: say spit("timotimo", "t")
04:23 p6eval rakudo 5a895b: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:�    spit used at line 1. Did you mean '&split'?��»
04:24 timotimo hm, i wonder...
04:24 timotimo r: my $Frob = "frob"; say "frob is $frob";
04:24 p6eval rakudo 5a895b: OUTPUT«[31m===[0mSORRY![31m===[0m�Variable '$frob' is not declared. Did you mean '$Frob'?�at /tmp/18lVM9xstW:1�------> [32mmy $Frob = "frob"; say "frob is $frob[33m�[31m";[0m�    expecting any of:�        postfix�»
04:24 timotimo oh, that's cool
04:24 timotimo r: say "there is &UC("FOO") to be done!"
04:24 p6eval rakudo 5a895b: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared name:�    &UC used at line 1��»
04:25 timotimo r: say "there is &uC("FOO") to be done!"
04:25 p6eval rakudo 5a895b: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared name:�    &uC used at line 1��»
04:25 timotimo hm. that one's still missing. oh well.
04:25 TimToady need to collect names from outer scopes maybe?
04:27 diakopter r: class TimToady is Stingry { };
04:27 p6eval rakudo 5a895b: OUTPUT«[31m===[0mSORRY![31m===[0m�'TimToady' cannot inherit from 'Stingry' because it is unknown.�Did you mean 'Stringy'?��at /tmp/pLVpFWvQbm:1�------> �»
04:28 diakopter r: class TimToady is Fallafle { };
04:28 p6eval rakudo 5a895b: OUTPUT«[31m===[0mSORRY![31m===[0m�'TimToady' cannot inherit from 'Fallafle' because it is unknown.�Did you mean 'Callable'?��at /tmp/nuSx66n0fy:1�------> �»
04:43 sizz_ joined #perl6
04:49 grondilu joined #perl6
04:51 grondilu Shouldn't there be an "inclusive" form for heredocs?  I mean, where the extracted string contains the end delimitor?
04:52 grondilu could be useful when you want to quote a doc that already has a delimitor, like an ASCII-armored PGP message for instance.
05:04 dalek rakudo/nom: bebe8f9 | (Timo Paulssen)++ | src/Perl6/World.pm:
05:04 dalek rakudo/nom: abort after finding 20 results of any quality.
05:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bebe8f965d
05:04 dalek rakudo/nom: d8df9e5 | (Timo Paulssen)++ | src/Perl6/World.pm:
05:04 dalek rakudo/nom: factor out suggest_typename
05:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d8df9e5b0b
05:04 dalek rakudo/nom: 0fd030a | (Timo Paulssen)++ | src/ (2 files):
05:04 dalek rakudo/nom: added X::Parameter::InvalidType with suggestions.
05:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0fd030a77c
05:04 dalek rakudo/nom: 22e7c10 | (Timo Paulssen)++ | src/Perl6/World.pm:
05:04 dalek rakudo/nom: abort after 1000 fails, too.
05:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/22e7c10148
05:04 dalek rakudo/nom: 933d422 | (Timo Paulssen)++ | src/Perl6/World.pm:
05:04 dalek rakudo/nom: actually abort after 1000 tries now.
05:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/933d422a49
05:04 dalek rakudo/nom: 84271dd | (Timo Paulssen)++ | src/core/ (2 files):
05:04 dalek rakudo/nom: Throw Inheritance::SelfInherit.
05:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/84271ddeea
05:04 dalek rakudo/nom: 8356157 | (Will Coleda)++ | src/ (4 files):
05:04 dalek rakudo/nom: Merge pull request #98 from timo/levenshtein
05:04 dalek rakudo/nom:
05:04 dalek rakudo/nom: More Levenshtein stuff:types in parameters. code cleanups. Self-Inherit error.
05:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8356157078
05:05 [Coke] timotimo++
05:09 For-Odin joined #perl6
05:19 swarley I have no idea how I would begin to make C plugins for ruby able to access the parrot process like they do other ruby interpreters
06:02 For-Odin joined #perl6
06:29 vividsnow joined #perl6
06:32 quester joined #perl6
06:36 am0c joined #perl6
06:38 sevin joined #perl6
06:49 araujo joined #perl6
06:49 araujo joined #perl6
07:13 Pleiades` joined #perl6
07:21 kaare__ joined #perl6
07:30 swarley What does <.term> signify?
07:32 [Coke] timotimo++ # again; this is very awesome.
07:33 [Coke] the . means "don't capture"
07:33 [Coke] <term> is the perl6 rule for a term identifier.
07:33 swarley Oh, what is a term identifier?
07:34 swarley Actually, I see term redefined in this file
07:34 swarley What is a \h escape?
07:34 [Coke] ah, I assumed term was a builtin. if you have a method/regex/rule for term locally, it's that, sure.
07:35 [Coke] \h is horizontal whitespace.
07:35 [Coke] http://perlcabal.org/syn/S05.html is a good place to look up syntax, btw.
07:35 [Coke] I need to sleepnow
07:35 swarley oh good i was looking for a more unified documentation
07:42 SamuraiJack joined #perl6
08:02 moritz \o
08:22 rindolf joined #perl6
08:23 nwc10 sadly it seems to have a somewhat Less Than Awesome side effect *currently*, that I don't know how to fix
08:23 nwc10 in that, one can't build Rakudo with nqp's master.
08:23 nwc10 specifically, the setting.
08:23 nwc10 Stage start      :   0.000elements() not implemented in class 'Mu'
08:23 nwc10 current instr.: 'create_container_descriptor' pc 17240 (src/gen/perl6-symboltable.pir:6246) (src/Perl6/World.pm:1133)
08:24 nwc10 called from Sub 'declare_param' pc 99536 (src/gen/perl6-actions.pir:35781) (src/Perl6/Actions.pm:3056)
08:24 nwc10 ...
08:24 nwc10 oh, naughty terminal. There is newline after 0.000, before elements() not implemented in class 'Mu'
08:25 nwc10 (that's on an x86_64 Linux box with a lot of RAM)
08:35 snearch joined #perl6
08:53 MikeFair___ joined #perl6
09:00 PacoAir joined #perl6
09:02 am0c joined #perl6
09:10 * moritz tries to reproduce
09:17 FROGGS morning
09:22 tadzik good morning
09:22 rindolf Morning.
09:22 tadzik nwc10: oh, on my box that becomes a segfault somehow
09:22 rindolf tadzik: what's up?
09:22 rindolf FROGGS: what's up?
09:22 tadzik rindolf: segfaults :P
09:22 rindolf tadzik: segfaults.
09:23 rindolf Be one with the segfault.
09:24 * moritz also gets 'elements() not implemented in class 'Mu''
09:25 tadzik are you all on debugging builds?
09:25 * moritz isn't
09:25 tadzik hrm
09:25 tadzik I must be simply unlucky :)
09:28 * moritz doesn't see a single call to .elements or nqp::elems or so around the line the backtrace points to
09:31 FROGGS rindolf: just trying to wake up
09:34 rindolf FROGGS: wake up hard. Sleep hard.
09:39 nwc10 tadzik: I get a SEGV on OS X
09:39 nwc10 but the OS X machine has much less ram
09:39 tadzik I've got ~4G here
09:40 nwc10 OS X has ~4G, but is using some of it
09:40 nwc10 x86_64 Linux box I have access to has 64G.
09:47 Psyche^ joined #perl6
09:49 moritz it would be helpful if somebody bisected it
09:56 MayDaniel joined #perl6
10:00 rindolf nwc10: nice!
10:00 GlitchMr I
10:00 GlitchMr I've a small problem - the Levenshtein refuses to work now
10:00 rindolf nwc10: I ran a Freecell solver on an HPC cluster with some nodes that had 512 GB of RAM.
10:00 GlitchMr I'm trying everything. It doesn't work.
10:00 GlitchMr r: Split "a"
10:00 rindolf nwc10: x86-64.
10:00 p6eval rakudo 835615: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared name:�    Split used at line 1��»
10:01 GlitchMr It worked before https://github.com/rakudo/rakudo/pull/98
10:01 rindolf nwc10: well, I did it by proxy.
10:01 nwc10 does the Levenshtein thingy have tests?
10:02 GlitchMr No
10:02 nwc10 ah.
10:02 GlitchMr Oh wait, it does
10:02 GlitchMr https://github.com/rakudo/rakudo/pull/98
10:02 nwc10 aha, better :-)
10:05 GlitchMr The problem with the tests is that they are SKIPPED when the first basic test fails
10:06 GlitchMr r: try eval('my $foo = 10; say $Foo'); say ?$!.^can(<suggestions>)
10:06 p6eval rakudo 835615: OUTPUT«True␤»
10:06 GlitchMr Or perhaps they work...
10:07 GlitchMr r: say $?PERL
10:07 p6eval rakudo 835615: OUTPUT«[31m===[0mSORRY![31m===[0m�Variable '$?PERL' is not declared�at /tmp/oYJas8qrLF:1�------> [32msay $?PERL[33m�[31m<EOL>[0m�    expecting any of:�        postfix�»
10:08 GlitchMr r:  class TimToady is Stingry { };
10:08 p6eval rakudo 835615: OUTPUT«[31m===[0mSORRY![31m===[0m�'TimToady' cannot inherit from 'Stingry' because it is unknown.�Did you mean 'Stringy'?��at /tmp/6ljA_jmxR_:1�------> �»
10:10 jaldhar joined #perl6
10:10 GlitchMr Found the bug
10:10 GlitchMr It seems that function arguments are ignored during the check
10:11 GlitchMr r: sub blah(@variabul) { $variabul[1] }; say blah [1, 2, 3, 4];
10:11 nyuszika7h joined #perl6
10:11 p6eval rakudo 835615: OUTPUT«[31m===[0mSORRY![31m===[0m�Variable '$variabul' is not declared�at /tmp/Fd30JUlmFZ:1�------> [32msub blah(@variabul) { $variabul[1][33m�[31m }; say blah [1, 2, 3, 4];[0m�    expecting any of:�        postfix�        infix or meta-infix�        infix stopper…
10:11 GlitchMr r: sub blah(@variabullll) { my @variabul = @variabullll; $variabul[1] }; say blah [1, 2, 3, 4];
10:11 p6eval rakudo 835615: OUTPUT«[31m===[0mSORRY![31m===[0m�Variable '$variabul' is not declared. Did you mean '@variabul'?�at /tmp/IHa__wLNjj:1�------> [32my @variabul = @variabullll; $variabul[1][33m�[31m }; say blah [1, 2, 3, 4];[0m�    expecting any of:�        postfix�        infix or…
10:12 GlitchMr This should be fixed
10:14 xinming_ joined #perl6
10:16 diakopter GlitchMr: what's wrong with it?
10:17 GlitchMr It doesn't hint variables when they are function arguments.
10:17 diakopter hint?
10:17 GlitchMr Normally, I should receive 'Did you mean '@variabul'?'
10:17 GlitchMr But I don't when @variabul is function argument.
10:17 eternaleye_ joined #perl6
10:18 diakopter oh I see
10:18 zby_home_ joined #perl6
10:19 GlitchMr Hi, zby_home_
10:26 nwc10 found *which* bug? the origin of the SEGV or Mu error? Or the "it's not reporting correctly" that you described eralier?
10:35 GlitchMr It doesn't say 'did you mean'
10:39 * jnthn wonders if the SEGV is due to an NQP change or a Rakudo one
10:41 tadzik nqp
10:41 tadzik I bisected rakudo, all on nqp master, and it was segfaulting even in december revisions
10:41 jnthn elements() not implemented in class 'Mu'
10:42 jnthn yup, got it here too
10:45 FROGGS I dont get it and my nqp is: This is nqp version 2013.01-9-g769044f built on parrot 4.10.0 revision RELEASE_4_10_0
10:46 Pleiades` joined #perl6
10:49 jnthn oh...
10:49 FROGGS ... in case I need to force this bug to happen somehow
10:49 FROGGS *dont*
10:50 jnthn FROGGS: No, you're doing the Sensible Thing and building the NQP in NQP_REVISION.
10:50 moritz NQP 2013.01-9-g769044f blows up
10:50 moritz erm no, 2013.01-15-g2a13778 blows up
10:51 jnthn I figured out wha tit is.
10:51 FROGGS jnthn: yes, I always checkout the revision given by rakudo/tools/...
10:51 moritz so no need to bisect nqp?
10:51 jnthn Last night's round of changes extended the repr API
10:52 jnthn And so to run on latest NQP needs an update in the Rakudo repo too
10:55 jnthn Bisecting will most likely reveal that bb9778 is the one to blame.
10:55 masak good forenoon, #perl6
10:55 jnthn Anyways, working on updating Rakudo for this stuff
10:56 jnthn o/ masak
10:56 rindolf masak: hi.
10:56 FROGGS masak! \o/ :o)
10:56 rindolf masak: what's shaking?
10:56 masak rindolf: breakfast.
10:56 rindolf masak: nice.
10:56 spider-mario joined #perl6
10:56 rindolf masak: what are you having for b-fast?
10:57 * moritz wonders what kind of breakfast shakes
10:57 jnthn moritz: Breakfast eaten during a gentle earthquake.
10:57 Su-Shee moritz: a strawberry or banana milk shake
10:57 * rindolf only had Pitah bread with Hummus.
10:57 masak fried bacon, fried egg, a few hazelnuts and some brie cheese. :)
10:57 Su-Shee I had porridge
10:57 Su-Shee masak: excellent choice.
10:57 rindolf masak: sounds good. Fancy.
10:58 FROGGS porridge++
10:58 masak yeah, I like this breakfast.
10:58 Su-Shee masak: though I hate smelling of fried bacon in the morning.. no breakfast for "after the shower"
10:58 FROGGS I can eat that every morning
10:58 rindolf It was Hummus that we bought from the supermarket - nothing too fancy.
10:58 * moritz had some left-over skuffe kake for breakfast
10:58 FROGGS and (full scottish breakfast)++
10:59 Su-Shee moritz: now you're showing off with your wife's dishes ;)
10:59 moritz Su-Shee: and why not? it was tasty :-)
10:59 Su-Shee moritz: AND US?
10:59 Su-Shee ok, I have koenigsberger klopse for lunch in the kitchen :)
11:00 FROGGS skuffe kake? it's not like shortbread, no?
11:00 moritz Su-Shee: there's other cake left-overs here.. drop by to try them :-)
11:00 moritz phenny: no en "skuffe"?
11:00 phenny moritz: "bucket" (no to en, translate.google.com)
11:00 moritz phenny: nb en "skuffe"?
11:00 phenny moritz: "bucket" (no to en, translate.google.com)
11:00 moritz more like drawer, afaict
11:01 masak Su-Shee: huh. haven't thought much about bacon smell getting stuck on a person...
11:01 Su-Shee masak: one of the most sticky smells after cooking..
11:02 moritz FROGGS: it's a flat chocolate cake, suitable form to be stored in a drawer :-)
11:02 Su-Shee moritz: IKEA CAKE
11:02 FROGGS moritz: like rührkuchen in flat?
11:02 moritz Su-Shee: nah, ikea is Swedish :-)
11:02 moritz FROGGS: yes
11:02 FROGGS k, that settles it ;o)
11:03 Su-Shee if I had money thought the very first thing I'd want is getting served great breakfast - with everything I'm too lazy to do every day - a bowl of fruit salad for example.
11:03 nwc10 not disputing that, but I thought that Ikea was also a closely held Dutch registered non-profit, for the purposes of not paying anyone tax.
11:03 Su-Shee moritz: bah, obviously flat cakes transpire ;)
11:03 FROGGS we made rainbow cake yesterday, for my sons birthday (with smarties and chocolate letters)
11:03 moritz FROGGS: you're missing something by not drooping by tomorrow :-)
11:03 FROGGS moritz: ya ò.ò
11:04 FROGGS ó.ò
11:04 Su-Shee I have soudough bread in the making. :)
11:04 moritz we need to make food&perl6 hackathon someday :-)
11:04 FROGGS btw, for my birthday there is always "death by chocolate"
11:04 FROGGS ohh ya
11:05 tadzik so, when is this German hackathon? :)
11:05 FROGGS food++ => good
11:05 jnthn ooh, a German hackathon? :)
11:05 FROGGS tadzik: I'd vote for feb, so I dont need to wait so long
11:05 Su-Shee_ joined #perl6
11:05 FROGGS but where?
11:05 moritz FROGGS: a friend of mine (experimental physicist, I should add) did some thorough experimental analysis of how much chocolate you can add to the dough before it collapses
11:05 jnthn moritz, nwc10: Think I've got a working fix.
11:06 moritz jnthn: \o/
11:06 moritz FROGGS: well, I toyed with the idea of making one at my place
11:06 moritz so, Fürth
11:06 tadzik FROGGS: 2nd half of Feb would be fine with me
11:06 Su-Shee moritz: haha. that assumes that you need to have something like a dough ;)
11:06 jnthn It was on my todo list for today to update Rakudo to take advantage of the changes, but I'd not quite realized they'd break ability to build on NQP master...
11:07 tadzik FROGGS: and the easter the better, if you know what I mean :)
11:07 Su-Shee moritz: you can bake a mix of beaten eggs and chocolate and sugar.
11:08 moritz heh, easter is an interesting option
11:08 moritz I'll have to check with $wife
11:09 FROGGS it is... easter might work
11:09 tadzik er, I mean on the east
11:09 tadzik eastern germany
11:09 tadzik geographically-wise
11:09 FROGGS moritz: there a CHECK stage in Wife.pm?
11:09 FROGGS ahh
11:09 FROGGS well, would be okay for me ;o)
11:09 * jnthn will not be in this part of the world during this easter
11:09 moritz :(
11:11 GlitchMr rn: https://gist.github.com/4577858
11:11 p6eval rakudo 835615: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:�    binary_search used at lines 2, 10, 11. Did you mean '&binary-search'?��»
11:11 p6eval ..niecza v24-18-gaf64300: OUTPUT«[31m===[0mSORRY![31m===[0m��Undeclared routine:�     'binary_search' used at line 2,10,11��Unhandled exception: Check failed��  at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5) �  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @…
11:12 jnthn moritz: Already had vacation planned at easter for a while, and I'll be in big trouble if I choose a hackathon over it :)
11:12 dalek rakudo/nom: 3c4fd0f | jnthn++ | / (2 files):
11:12 dalek rakudo/nom: Update 6model header and bump NQP_REVISION.
11:12 dalek rakudo/nom:
11:12 dalek rakudo/nom: This tracks the REPR API change, and will allow Rakudo to make use of
11:12 dalek rakudo/nom: it (will happen in future commits).
11:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3c4fd0fb6d
11:12 dalek rakudo/nom: 2752787 | jnthn++ | tools/build/Makefile.in:
11:12 dalek rakudo/nom: Add missing dependency.
11:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2752787787
11:13 tadzik so, end of Feb?
11:13 FROGGS fine for me
11:14 FROGGS who would like to come in general?
11:14 tadzik me
11:14 tadzik \o/
11:14 FROGGS me from berlin, moritz from nuremberg#
11:14 FROGGS Su-Shee from where?
11:14 tadzik berlin I think
11:14 GlitchMr https://gist.github.com/4577858
11:14 GlitchMr I should stop using Jekyll for my blog
11:14 tadzik well, end of Feb is almost march, which is almost GPW
11:15 GlitchMr Because making 10 commits until syntax highlighting works is crazy
11:15 FROGGS well, I dont mind if I had to travel a bit, but if ppl will come by plain, it would be crap for them if we would do it in Leipzig or so
11:15 jnthn Late Feb is probably workable here.
11:16 moritz like, 18th or 25th?
11:16 tadzik 25 more like
11:16 tadzik (for me
11:16 jnthn 256h is far better
11:16 tadzik or maybe 23-24?
11:16 jnthn We have a speaking tour at $dayjob 20th-22nd
11:16 Su-Shee FROGGS: from where what?
11:17 tadzik duh
11:17 moritz tadzik: weekend would be much more workable for me
11:17 FROGGS Su-Shee: where do you live? (if you are interesting to come to a p6hackaton)
11:17 tadzik moritz: yeah, same here
11:17 jnthn Which'll tie myself and masak up. But I could probably fly to Germany on 22nd evening.
11:17 tadzik studying full time and working half time doesn't favour the middle of the week :)
11:18 moritz oh dammit, I was looking at the calendar for 2012
11:18 Su-Shee FROGGS: Berlin, Germany.
11:18 moritz good morning moritz, it's 2013 now!
11:19 tadzik good moritz morning :)
11:19 Su-Shee seems the wife cake didn't really help the brain.. ;)
11:19 moritz Su-Shee: it's no therapeutic cake :-)
11:20 Su-Shee EVERYTHING WITH CHOCOLATE IS THERAPEUTIC :)
11:21 FROGGS even the counselor on the enterprise eats chocolate for that reason
11:21 Su-Shee exactly.
11:21 tadzik Troi?
11:22 FROGGS right
11:22 Su-Shee tadzik: yes.
11:22 FROGGS jnthn / masak: to what city do you fly to cheapest?
11:23 FROGGS if Berlin would be an option... would be cool
11:23 FROGGS Nuremberg is a bit off though ó.ò
11:23 Su-Shee tadzik: there's a scene where she order something like a triple whatever chocolate icecram with chocolate sauce etc etc and the replicator answers "this doesn't confirm to the starfleet standard health whatever" - I'm waitin when this happens in supermarkets :)
11:23 tadzik yay, I understand Star Trek references :)
11:23 Su-Shee FROGGS: generally when it comes to flying the best option in germany is frankfurt.
11:23 FROGGS Su-Shee: she asked it to make a real chocolate ice-cream thingy
11:24 FROGGS _real_
11:24 tadzik Su-Shee: ha-ha
11:24 tadzik eh, that looks a bit ironic. It's not :)
11:24 moritz eeks. I just looked into my calendar, and I have small teeth surgery on Feb 21st
11:25 moritz and it's not clear how well I'll be on the weekend afterwards :(
11:25 FROGGS eeks, indeed
11:25 tadzik :(
11:25 Su-Shee q: I'm hungry and in a bad mood. data: I've observed that counsellor troi eats chocolate icecream when she is in a bad mood. q: I take 5. :)
11:25 FROGGS Q ordered 10
11:26 Su-Shee FROGGS: *sigh* yes, that was totally the point.. he ordered 1
11:26 Su-Shee 10
11:26 FROGGS "I never ate, I am very hungry"
11:26 tadzik q, like the shapeshifter guy?
11:26 tadzik playing games etc?
11:27 Su-Shee tadzik: the shapeshifter guy is Odo in DS9. Q is the omnipotent being in TNG
11:27 tadzik yeah, TNG
11:27 tadzik well, the clotheshifter then :)
11:27 FROGGS Q is even not his name, all of them are Q
11:27 Su-Shee tadzik: man, get an education ;)
11:27 FROGGS hehe, ya
11:27 daniel-s joined #perl6
11:27 tadzik I was mostly right :)
11:28 FROGGS tadzik: we'll teach all the important stuff when you are here
11:28 FROGGS ;o)
11:28 FROGGS like recognizing the klingon background music
11:28 tadzik hehe
11:29 tadzik looking forward to it
11:29 tadzik the star wars soul is dying :P
11:29 tadzik and all because of laziness
11:29 moritz since Q is omnipotent, he/it can also shapeshift
11:29 moritz so tadzik wasn't all too wrong, no?
11:29 moritz :-)
11:30 FROGGS but Q never did that, at least not in front of a cam
11:30 moritz maybe just shy :-)
11:30 FROGGS hehe
11:30 FROGGS maybe
11:31 moritz I mean, we usually don't change in front of the camera either :-)
11:32 FROGGS hmm, I would do it if I could
11:32 tadzik :D
11:32 FROGGS flying to work like a condor or so
11:32 FROGGS the problem might be the heavy laptop there
11:32 tadzik there is this TV ad in Poland recently, about paying with your phone
11:32 moritz .oO( UPS express shipping )
11:33 tadzik it's full of naked people who are paying for everything with their phones
11:33 tadzik the slogan being "you don't have to carry anything", or something of this sort
11:33 tadzik I can't help but wonder, where do they stick up their phones ;_;
11:33 FROGGS *g*
11:33 sorear where did star wars come in?
11:34 FROGGS ya, a nokia 3310 would work, but what about these huge smartphones??
11:34 tadzik maybe that's one of those societes which always carries a phone in their hand, no matter what
11:34 simcop2387 joined #perl6
11:34 tadzik sorear: from me, being a liberal SF fan, and liking both Star Wars and Star Trek :)
11:34 sorear ok, just so long as you don't try to claim they're the same :p
11:35 tadzik hehe, no :) It's mostly Films vs Books comparison
11:35 tadzik under the assumption that Star Wars films are negligible
11:36 FROGGS tadzik: I like star wars too
11:36 FROGGS (and lord of the rings _and_ harry potter)
11:36 tadzik *gasp*
11:36 FROGGS :o)
11:37 FROGGS and simpsons _and_ southpark ages ago
11:37 FROGGS I'm sooo tolerant *g*
11:37 moritz FROGGS: or you just have no taste :-)
11:38 FROGGS no, cant be the reason :o)
11:48 moritz jnthn++ # fix rakudo for newest nom
11:48 moritz s/nom/nqp/
11:51 dalek roast: 53c8fe6 | moritz++ | S32-list/pick.t:
11:51 dalek roast: RT #109586: Range.pick entropy
11:51 dalek roast: review: https://github.com/perl6/roast/commit/53c8fe6a82
11:51 vividsnow joined #perl6
11:53 * jnthn finds a great way to slow Rakudo down lots
11:53 diakopter ?
11:53 jnthn diakopter: Think I accidentally busted meth cache publication while refactoring :)
11:53 diakopter I'll bust your meth cache
11:53 tadzik seems like Rakudo is breaking bad
11:53 jnthn *method o.O
11:54 diakopter you accidentally the publication
11:58 huf joined #perl6
12:00 nwc10 jnthn++ # works on my machine again
12:00 b1rkh0ff joined #perl6
12:01 dalek rakudo/nom: 35b2a92 | jnthn++ | / (4 files):
12:01 dalek rakudo/nom: Start using new REPR compose protocol.
12:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/35b2a920bb
12:01 nwc10 was that premature of me? :-)
12:01 tadzik jnthn++ commits faster than I compile :)
12:02 jnthn nwc10: No, the previous set of commits were the fix to the build breakage.
12:02 moritz tadzik: you should let your computer doe the recompilation for you :-)
12:02 jnthn nwc10: That latest one is me starting to take advantage of the refactor :)
12:02 tadzik but it doesn't segfault now :)
12:02 tadzik moritz: oh, right, I may want to try that :)
12:03 aindilis joined #perl6
12:23 vividsnow joined #perl6
12:48 hds_w joined #perl6
13:27 kivutar joined #perl6
13:41 Pleiades` joined #perl6
13:42 Juerd joined #perl6
13:44 dalek joined #perl6
13:44 p6eval joined #perl6
13:45 sergot joined #perl6
13:45 Util joined #perl6
13:45 [Coke] joined #perl6
13:45 pmichaud joined #perl6
13:45 PerlJam joined #perl6
13:46 tadzik joined #perl6
13:47 hugme joined #perl6
13:49 dalek nqp-jvm-prep: 0d9bfae | jnthn++ | src/org/perl6/nqp/sixmodel/ (2 files):
13:49 dalek nqp-jvm-prep: Eliminate some warnings.
13:49 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/0d9bfae28f
13:49 dalek nqp-jvm-prep: 7d67dbe | jnthn++ | src/org/perl6/nqp/sixmodel/SerializationReader.java:
13:49 dalek nqp-jvm-prep: Fix incorrect read.
13:49 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/7d67dbec3a
13:49 dalek nqp-jvm-prep: 85ebe29 | jnthn++ | src/org/perl6/nqp/sixmodel/SerializationReader.java:
13:49 dalek nqp-jvm-prep: Add some missing reader functionality.
13:49 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/85ebe29560
13:49 dalek nqp-jvm-prep: 9ed3774 | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/P6Opaque.java:
13:49 dalek nqp-jvm-prep: Implement P6opaque REPR data deserialization.
13:49 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/9ed3774b8d
13:54 Chillance joined #perl6
14:09 masak joined #perl6
14:11 vividsnow joined #perl6
14:30 am0c joined #perl6
14:41 phenny joined #perl6
14:48 timotimo moritz: i can take a probably somewhat comfortable train ride to fürth(bay)hbf. how is accomodation handled? are we sufficiently few people so that your floor is enough? :P
14:49 moritz timotimo: I have space for about 3 people (provided two of them share a bed, 140cm wide)
14:50 moritz and maybe a fourth if he is willing to sleep on the floor directly
14:50 timotimo hm, that seems a bit clumped
14:51 timotimo if tadzik, su-shee, jnthn and froggs come, that's already maxed out
14:51 moritz maybe I can organize some friends where others can sleep
14:51 tadzik moritz: I don't mind the floor
14:52 mikemol joined #perl6
14:54 moritz ok, now we still need to find a date
14:54 moritz I guess I'll start a doodle
15:03 timotimo r: class Hackathon is Hackathon { has $.fun; has @.cake; has %.beer; };
15:03 p6eval rakudo 35b2a9: OUTPUT«[31m===[0mSORRY![31m===[0m�'Hackathon' cannot inherit from itself.�at /tmp/mwSYrzuYTv:1�------> �»
15:10 tadzik r: class Hackathon is Kachathon { has $.fun; has @.cake; has %.beer; };
15:10 p6eval rakudo 35b2a9: OUTPUT«[31m===[0mSORRY![31m===[0m�'Hackathon' cannot inherit from 'Kachathon' because it is unknown.�Did you mean 'Hackathon'?��at /tmp/tZPxi0v02Q:1�------> �»
15:10 timotimo oh, well that's not helpful :P
15:11 tadzik it's helpful enough, i guess :)
15:11 timotimo got enough bugs and holes in my code to last me all day
15:11 masak timotimo++
15:11 timotimo r: class Foobar is Barfoo { }
15:11 p6eval rakudo 35b2a9: OUTPUT«[31m===[0mSORRY![31m===[0m�'Foobar' cannot inherit from 'Barfoo' because it is unknown.�at /tmp/XhiGbgxvLa:1�------> �»
15:11 jnthn timotimo: This is nothing, wait until masak starts using it :P
15:11 timotimo yeah, that'd be too far
15:12 masak ;)
15:12 timotimo ehehe, looking forward to it
15:15 timotimo so what's with the interpreter giving null pmc access in get_string messages when using the repl and encountering an error? (any error? compile-time errors only?)
15:16 jnthn timotimo: I don't know; would be good to track that one down.
15:16 timotimo when i start perl6 with --ll-exception and do that, it doesn't show a traceback :(
15:16 timotimo so, a whole bunch of debug say statements? :|
15:17 jnthn Or see if it can be made to show such things with --ll-exception set...
15:18 timotimo the -t parameter to perl6 is woefully useless (it doesn't actually do anything whatsoever)
15:18 jnthn .oO( there's a -t parameter? )
15:19 moritz jnthn, masak, FROGGS, timotimo, tadzik: http://doodle.com/4f2ua4n3mdfir2re
15:19 timotimo perl6 --help claims there is, it's supposedly there to let parrot tracing occur
15:19 jnthn timotimo: oh, it needs some flags
15:19 jnthn try --trace=4
15:20 tadzik huh, how can I tell what I'd be doing in April
15:20 moritz tadzik: there's this thing called a calendar
15:21 timotimo jnthn: that doesn't work, i've been trying -t 1 -t 2 -t 4, -t 6, --trace=4, nothing does anything
15:21 stevan_ joined #perl6
15:21 tadzik moritz: yeah, I know. The thing is, I'm mostly university-driven, and I can't take a vacation from that :/
15:21 tadzik it also has a tendency to announce things ALAP
15:21 tadzik and definitely not in the previous semester
15:22 tadzik anyway, I'll try to fill it as accurately as I can :)
15:22 moritz ++tadzik :-)
15:22 timotimo oh
15:22 timotimo trace does work, but the error happens much too early
15:23 timotimo could have realized that earlier.
15:24 moritz ah, forgot to hilight Su-Shee for http://doodle.com/4f2ua4n3mdfir2re
15:25 Su-Shee what?
15:25 Su-Shee Now I see green ;)
15:26 tadzik moritz: okay, I marked the dates that are probably fine :)
15:26 tadzik I hope nothing pops out
15:28 tadzik now I'm excited :)
15:29 * moritz should implement a doodle (subset) clone in Perl 6
15:31 timotimo i can get lots of traces when i try eval('class A is A { }');, but i get Nil as return value and $! is Any()
15:33 timotimo echo 'class A is A { };' | perl6 --target=parse  ->  Could not locate compile-time value for symbol StaticLexPad  <- could this perhaps be the error that's thrown and then error reporting fails for some unknown reason?
15:34 tadzik moritz: oh yes, and with a sane API
15:34 tadzik like, no OAuth :P
15:34 moritz timotimo: nah, --target=parse always says that
15:35 timotimo ... yay :|
15:35 moritz timotimo: do you have local modifications?
15:35 moritz r: class A is A { }
15:35 p6eval rakudo 35b2a9: OUTPUT«[31m===[0mSORRY![31m===[0m�'A' cannot inherit from itself.�at /tmp/75NWgewT2S:1�------> �»
15:35 moritz that's what I get too
15:35 timotimo even in interactive mode?
15:36 * jnthn gets null PMC access in teh REPL for that
15:36 moritz ah no, I get  "Null PMC access in get_string()"
15:36 jnthn hm, wonder what the condition is for that to happen
15:37 jnthn Other compile time errors don't do this...
15:37 masak r: class B { ... }; class A is B {}; class B is A {}
15:37 p6eval rakudo 35b2a9:  ( no output )
15:38 masak r: class B { ... }; class A is B {}; class B is A {}; say A ~~ B; say B ~~ A
15:38 p6eval rakudo 35b2a9: OUTPUT«No such method 'ACCEPTS' for invocant of type 'B'␤  in block  at /tmp/DEcRqYg7qL:1␤␤»
15:38 masak this feels a little familiar...
15:38 timotimo indirect self-inherit should throw, too, right?
15:38 moritz I guess 'class A is B { }' should die with "Cannot inherit from a stubbed class"
15:38 moritz timotimo: right
15:39 jnthn Yeah, we should ban inheriting from as stubbed class. It makes at least one RT ticket go away.
15:39 jnthn *a
15:39 jnthn Allowing it and making it behave well is...icky.
15:39 moritz jnthn: in world, how do I check if something a symbol is stubbed?
15:39 moritz (or in the actions, or whatever)
15:40 jnthn Probably should be checked in the MOP
15:40 jnthn In add_parent
15:40 jnthn Can check .is_composed
15:40 moritz that's where it's hard to throw typed exceptions right now :(
15:41 moritz that will also forbid  class A { class B is A { } }
15:41 jnthn True.
15:41 moritz (which is a good thing, IMHO :-)
15:41 jnthn But I don't think that works today either.
15:41 jnthn It'll suffer exactly the same problem.
15:42 jnthn Better to forbid it now and liberalize later if we find a sane way, than give people weird errors.
15:43 masak aye.
15:44 * moritz spectests a patch
15:46 timotimo hm, the repl loses $! in between lines. that's a bit annoying
15:52 timotimo well, that makes some kind of sense since the lines are supposed to be full "things" anyway
15:53 timotimo so, since jnthn could just create rakudo::debugger without touching any of the backend, one would be able to build a truly great REPL in the same way, right?
15:54 timotimo if there was a binding from nqp to zeromq, i could try to hook up the ipython frontends (notebook, qtconsole, terminal console) with perl6. that might be neat.
15:55 jnthn timotimo: You can probably explore building an alternative REPL outside of Rakudo/NQP using a similar approach.
15:56 jnthn The debugger actually leaves the repl in place
15:56 timotimo the qtconsole uses pygments to highlight-as-you-type, so we could use hoelzro++ 's work for making that beautiful, too :D
15:57 timotimo what do you mean with "outside of Rakudo/NQP"? you mean just leave a simple stdin/stdout based protocol in place and hook that up to ipythons zeromq protocol in a higher level languane (like python)?
15:58 jnthn timotimo: I mean, without modifying NQP and Rakudo themselves.
15:58 jnthn timotimo: Like I did with the debugger
15:58 timotimo oh. yeah sure
15:58 timotimo is your source code a good read to figure that out?
15:59 vividsnow joined #perl6
15:59 moritz jnthn: meh. BOOTSTRAP.pm doesn't compose the classes it later inherits from
15:59 jnthn I'm not sure about "good", but it's the only thing doing such tricks...
15:59 timotimo right, i'll have a look then :)
15:59 jnthn moritz: ah, dang
15:59 moritz jnthn: which is why you don't have to write 'augment' in the setting
15:59 jnthn moritz: Yeah, and we need it to leave them open. Grr.
15:59 jnthn Right.
16:00 moritz jnthn: so maybe a named param to add_parent that skips the check?
16:00 jnthn moritz: That could work.
16:00 jnthn :force :)
16:00 moritz that was my first though too
16:00 moritz then I thought that :allow_open might be clearer
16:00 SunilJoshi joined #perl6
16:00 b1rkh0ff joined #perl6
16:00 jnthn True
16:02 timotimo jnthn: that actually looks somewhat simple (only looking at the main script right now, though)
16:04 timotimo you wrote the debugger CLI in perl6, so maybe a zavolaj/inline::c binding to zeromq could fit the deal nicely, too :)
16:10 bluescreen10 joined #perl6
16:10 moritz jnthn: next bootstrappy problem: native types (declared in the setting, but before Int/Str/Num are composed)
16:10 moritz maybe I should move them to BOOTSTRAP.pm too?
16:20 jnthn moritz: Maybe, or maybe in the trait_mod check if the current setting is NULL (meaning we're compiling the setting) and pass the allow open flag if so
16:20 timotimo the ipython zeromq protocol already has a "language" field in the kernel information package :D
16:26 stevan_ joined #perl6
16:45 stevan_ joined #perl6
16:49 timotimo so, one important/nice part of the ipython protocol is that a string of code can be sent with the request "is this complete code or should I (the frontend) offer another line of input?". is this doable in perl6 without too much pain?
16:50 jnthn timotimo: STD specifies a mechanism for that; we've not yet ported it.
16:50 jnthn Doing that would allow improving the built-in REPL too ;)
16:52 timotimo can you give an estimate in "newbie-hours"? ;)
16:56 jnthn timotimo: You may wish to do the extension in NQP first. I'd say allow an hour or so to understand what's going on in STD, similar to study the REPL code as it exists today, probably a few hours to get it working in NQP land (note that it's HLL::Compiler that needs the changes so it's easiest to get it done in NQP first), then probably not too long to get Rakudo also updated for it since it should be very similar grammar addition.
16:57 * arnsholt clones NQP onto new work laptop
16:58 rurban1 joined #perl6
16:59 timotimo phew.
16:59 timotimo i wonder if i should start with that, or with binding zeromq, or with building a Compiler that exposes the necessary interface so that a kernel for ipy-zeromq can be built.
17:00 jnthn timotimo: Well, if you do this change you make the built-in REPL immediately better ;)
17:00 * arnsholt perks up
17:00 arnsholt timotimo: What were your plans for ZMQ bindings?
17:02 timotimo arnsholt: this is all still in theoryland. i'd like to bind as much as ZMQ as needed to create an ipython kernel
17:02 arnsholt ipython kernel?
17:03 timotimo yes, ipython has made a split between kernel ("the python interpreter") and frontend ("where the user types and gets output, completions and errors")
17:04 timotimo they are connected via zeromq. if the (rather simple) interface for the kernel is built for rakudo, we'll immediately get support for the ipython notebook (web-app similar to wolfram mathematica and friends), the ipython qtconsole (highlight-as-you-type, embedded images and plots) and the ipython console terminal
17:04 arnsholt Ooooh, that'd be decidedly shiny
17:05 timotimo what's going on with modules.perl.org? it only seems to load the first few kilobytes or something
17:05 arnsholt ZeroMQ bindings via Zavolaj has been on my TODO list for a while, FWIW
17:05 timotimo well, that might answer it.
17:05 timotimo arnsholt: i know nothing about zavolaj. would you be willing to help me with this?
17:05 arnsholt It blocks on a couple of things in the dyncall bits, unfortunately
17:06 timotimo aaw, damn :(
17:06 arnsholt But if you'd be interested in hacking on it, that would be motivation to keep tweaking it =)
17:06 jnthn arnsholt: What bits is it blocking on, ooc?
17:06 arnsholt Zavolaj isn't very complicated to use, as long as you're reasonably familiar with how C works
17:07 arnsholt jnthn: Sized ints in structs/arrays
17:07 timotimo fwiw, the ipython zeromq interface seems to exclusively use the json(?) packed message stuff
17:07 timotimo that may or may not make a difference
17:08 masak joined #perl6
17:08 Util joined #perl6
17:08 arnsholt There's a a bit of code towards the sized stuff in a branch (nqp/dyncall-sizedints IIRC) but I stagnated after some meta-object problems I couldn't quite figure out
17:08 dalek joined #perl6
17:10 jnthn arnsholt: OK. I will need to update the REPRs for the new attribute protocol stuff and may look at sized natives and other such things in Rakudo soon anyway.
17:10 jnthn arnsholt: Will remember to take a peek at the dyncall stuff too
17:10 p6eval joined #perl6
17:11 fuad joined #perl6
17:11 fuad Hello
17:12 masak fuad! \o/
17:12 arnsholt jnthn: That'd be great!
17:12 fuad masak! my friend!
17:12 * masak is indeed fuad's friend
17:12 masak fuad: how are things going? everything fine?
17:12 fuad Nice to see you!
17:12 arnsholt I managed to get most of the way there, but in the end I didn't manage to get the size info out of the types passed to the class >.<
17:13 fuad masak: Everything is fine, thanks bro, how about you ?
17:13 hugme joined #perl6
17:13 masak fuad: everything's fine, squared. :)
17:14 fuad masak: glad to hear :) it was a while haven`t seen you.
17:14 masak well, you don't stop by here often enough.
17:14 masak I'm here all the time. :)
17:14 fuad yes, you re right. :)
17:16 masak fuad: remind me, did you ever download Perl 6 and try it? or do you just come here for the nice people? ;)
17:17 GlitchMr I've made December (the Wiki in Perl 6) long time ago. I have forgot about it, but it still was running on perlcabal.org. It was running for 4 weeks without restarting.
17:17 fuad either one :)
17:17 GlitchMr s/4/5/
17:17 masak GlitchMr: cool.
17:17 masak GlitchMr: means there probably aren't any serious memory leaks :)
17:17 jnthn Not Bad. :)
17:17 GlitchMr Yeah
17:17 cog joined #perl6
17:18 masak GlitchMr: what's the response time? did you do any measurements?
17:18 GlitchMr lolslow
17:18 GlitchMr 2 seconds just to display main page
17:18 GlitchMr s/2/1
17:19 timotimo GlitchMr: there's a memcached package on modules.perl6.org, why don't you roflscale your December with that?
17:20 * masak .oO( 2 seconds! when I grew up, we *wished* it took 2 seconds! )
17:20 GlitchMr Sorry, wrong stats
17:20 GlitchMr Actually it's 1 second
17:20 masak that's almost bearable.
17:20 masak and that's with no FCGI at all, right?
17:21 GlitchMr Well, it's HTTP::Server::Simple Perl 6 module
17:21 timotimo oh, so including interpreter startup time?
17:21 masak right.
17:21 GlitchMr Somehow I wonder how nobody noticed 10% of RAM usage on feather, but whatever
17:22 GlitchMr I forgot about feather and it was running and running...
17:22 masak someone should srsly try to combine Rakudo and FCGI. maybe the response times could even be non-crappy.
17:23 GlitchMr But 10% of RAM usage on machine with 1GB of RAM...
17:24 GlitchMr That wouldn't work at all at my VPS with only 128MB of RAM.
17:28 vividsnow joined #perl6
17:30 arnsholt masak: I've a plan to eventually get ZMQ going and try Mongrel2
17:31 arnsholt Of course, given my tuit supply that might take a while >.<
17:33 * masak nods knowingly
17:33 timotimo arnsholt: is there any p6-ZeroMQ code that you've already written, or have you spent all the p6-zmq tuits on dyncall and friends?
17:34 arnsholt timotimo: No code really worth looking at, I'm afraid
17:35 arnsholt There are two primary tasks in a Net::ZMQ module: 1) Translating the struct defs in libzmq into Perl 6 class Foo is repr('CStruct') { ... } and 2) defining all the functions and their signatures
17:36 arnsholt 1 is the one that blocks on the sized types
17:36 arnsholt Of course 2 isn't much use without 1
17:38 stevan_ joined #perl6
17:39 sivoais joined #perl6
17:40 dalek nqp: d841e27 | jnthn++ | src/HLL/ (2 files):
17:40 dalek nqp: Abstract notion of "pre-compiled".
17:40 dalek nqp:
17:40 dalek nqp: Previously, this has been tied to --target=pir.
17:40 dalek nqp: review: https://github.com/perl6/nqp/commit/d841e27bcd
17:40 dalek nqp: 28de581 | jnthn++ | src/NQP/World.pm:
17:40 dalek nqp: Make add_initializations portable to JVM.
17:40 dalek nqp: review: https://github.com/perl6/nqp/commit/28de5819a6
17:40 dalek nqp: a9a0c04 | jnthn++ | src/ (2 files):
17:40 dalek nqp: Abstract static lexical installation.
17:40 dalek nqp: review: https://github.com/perl6/nqp/commit/a9a0c04441
17:41 chromis left #perl6
17:42 timotimo arnsholt: do you think i'd be better off writing a stdin/stdout-zeromq bridge in python utilising JSON::Tiny and concentrating on Net::ZMQ when a basic prototype is up and running?
17:42 arnsholt Yeah, circumventing the whole ZMQ problem with a shim doesn't sound like a bad idea
17:45 dalek nqp-jvm-prep: 400fea3 | jnthn++ | src/org/perl6/nqp/runtime/ (2 files):
17:45 dalek nqp-jvm-prep: Prepare for supporting static lexicals.
17:45 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/400fea3572
17:45 dalek nqp-jvm-prep: f4f1735 | jnthn++ | nqp-jvm-cc.nqp:
17:45 dalek nqp-jvm-prep: Correctly mark us a pre-compiling.
17:45 dalek nqp-jvm-prep:
17:45 dalek nqp-jvm-prep: This is always the case in a cross-compile situation.
17:45 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/f4f1735add
17:45 dalek nqp-jvm-prep: cb797bb | jnthn++ | / (2 files):
17:45 dalek nqp-jvm-prep: Implement setstaticlex.
17:45 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/cb797bb005
17:45 dalek nqp-jvm-prep: 3fd2ec8 | jnthn++ | lib/QAST/JASTCompiler.nqp:
17:45 dalek nqp-jvm-prep: Turn on compiling post-deserialize tasks.
17:45 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/3fd2ec8777
17:51 arnsholt jnthn: I've started mulling over the dyncall stuff on JVM, FWIW
17:51 arnsholt But decided to hold off on actually implementing anything for the moment
17:56 tadzik joined #perl6
18:00 am0c joined #perl6
18:02 cog joined #perl6
18:09 dalek nqp-jvm-prep: d6264fb | (Jonathan Stafford)++ | / (3 files):
18:09 dalek nqp-jvm-prep: implements nqp::ord
18:09 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/d6264fb196
18:09 dalek nqp-jvm-prep: 9f1bd19 | (Jonathan Stafford)++ | / (3 files):
18:09 dalek nqp-jvm-prep: implements nqp::index
18:09 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/9f1bd1918e
18:09 dalek nqp-jvm-prep: 927ad57 | (Jonathan Stafford)++ | / (3 files):
18:09 dalek nqp-jvm-prep: implements nqp::rindex
18:09 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/927ad57f19
18:09 dalek nqp-jvm-prep: fc88b8e | (Jonathan Stafford)++ | / (2 files):
18:09 dalek nqp-jvm-prep: implements cmp_i, cmp_n, and cmp_s
18:09 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/fc88b8ef33
18:09 dalek nqp-jvm-prep: baa5d7d | (Jonathan Stafford)++ | t/qast_relational.t:
18:09 dalek nqp-jvm-prep: forgot t/qast_relational.t in previous commit
18:09 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/baa5d7db53
18:09 dalek nqp-jvm-prep: aa669d7 | jnthn++ | / (3 files):
18:09 dalek nqp-jvm-prep: implements time_i and time_n
18:10 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/aa669d7ad1
18:10 jnthn oops, that last one shouolda been (Jonathan Stafford)++ also.
18:10 jnthn hmm, I guess cherry-pick --no-commit didn't work out quite as I expected...
18:15 masak seems --no-commit stages the changes from the commit of your choice.
18:15 masak so if you then make a commit, then it's your commit.
18:16 masak hm, maybe commit --amend would've kept around the original author, I dunno.
18:16 jnthn Yeah, I was expecting it to set everything up as a normal cherry-pick and give me a chance to twiddle.
18:16 * masak checks
18:16 jnthn The way it does when you get a conflict and have to resolve it.
18:16 arnsholt I think commit --amend replaces the author and email
18:16 masak ok.
18:17 masak jnthn: you probably could've gotten that effect with a well-placed rebase operation.
18:17 arnsholt At least, IIRC, that's what git says you should do if you've not set name and email in the config file
18:17 * masak asks on #git
18:17 * arnsholt recently set up stuff on a new computer
18:17 arnsholt (Which finally made me set up a dotfiles git repo)
18:18 masak yay
18:18 arnsholt "Your branch is ahead of 'origin/dyncall-sized-num' by 531 commits." Yeah, it's been a while allright
18:18 timotimo :D
18:18 timotimo wow. that's quite some work
18:19 arnsholt All of it someone else's =D =D =D
18:19 jnthn masak: My best guess is that it didn't set CHERRY_PICK_HEAD
18:19 dalek Heuristic branch merge: pushed 532 commits to nqp/dyncall-sized-num by arnsholt
18:20 arnsholt Just one small change was required in my branch to make the code compile, though. And no merge conflicts
18:20 jnthn Wow :)
18:20 jnthn git++
18:20 masak jnthn: yes, an ordinary cherry-pick followed by a commit --amend woulda done what you wanted.
18:21 masak arnsholt: it only replaces author name and email if you do --reset-author, too.
18:21 arnsholt Well, I'm not sure if anyone's touched the dyncall code since I hacked on this last
18:21 arnsholt Or any of the other REPRs (since I have one or two lines of tweaks in all of those)
18:22 jnthn masak: OK, good to know. Thanks :)
18:22 arnsholt masak: Ah, right. Useful knowledge
18:24 jnthn shop, dinner, etc.
18:24 jnthn &
18:26 huf joined #perl6
18:26 Pleiades` joined #perl6
18:27 [particle] joined #perl6
18:27 * moritz finally managed to build something with Lego (though the Duplo variant) that is larger than himself
18:27 benabik O.o
18:27 arnsholt Cool!
18:28 arnsholt Ronja finally big enough for Duplos? =)
18:28 moritz arnsholt: she's been playing with it for quite a while, but she got many more pieces for Christmas. Before it was simply not feasible :-)
18:29 arnsholt Good thing she got more for Christmas, then =D
18:29 moritz "lego bauen" is one of her favorite phrases these days
18:29 moritz arnsholt: actually not my fault :-)
18:30 arnsholt Even better!
18:37 stevan_ joined #perl6
18:39 sevin joined #perl6
18:39 timotimo i wonder if ronja will have to put up with "ronja räubertochter" references when she's in school, or if that will have been completely forgotten until then
18:40 moritz timotimo: I'm pretty sure it won't have been forgotten. But I hope that it's not seen as negative
18:41 donaldh joined #perl6
18:43 moritz timotimo: just as I didn't have a real problem with the "Max und Moritz" referenzes
18:44 moritz s:nth(*-1)/z/c/
18:44 timotimo i got lots of "timon and pumba" flak in (i think it was) elementary school
18:44 moritz timotimo: never even heard of it
18:45 timotimo from disney's the lion king movie
18:45 moritz ah
18:45 moritz conjecture: there are no perfect names
18:45 masak timotimo: surely "forgotten until then" is a bit unrealistic for a timeless classic. :)
18:45 timotimo also, apparently the "lila pause" chocolate bar sounded similar enough to my last name ("Paulssen"), that i got mocked for it, which is really strange to me.
18:45 masak timotimo: teasing isn't so much about name similarity, IME, as about how the teasee responds.
18:46 masak bullys keep going based on the feedback gained from the victim.
18:46 timotimo right, that makes sense
18:46 arnsholt Oh, now I remember why my Rakudo segfaults =D
18:46 masak the subject matter doesn't have to be very coherent.
18:47 arnsholt Always fun coming back to old projects
18:48 Khisanth joined #perl6
18:54 arnsholt Arglebargle! That wasn't it, apparently
18:55 moritz masak: and of course everybody who is different and/or doesn't have a cluster of good friends around them is also a likely target
18:56 masak yeah. though those characteristics apply to me, and I wasn't bullied.
18:59 arnsholt Rakudo, why u segfault?
18:59 tadzik "bullys keep going based on the feedback gained from the victim."
18:59 tadzik try ignoring it, arnsholt ;)
19:00 moritz tadzik++
19:00 arnsholt tadzik: I'm sure that'll do it =D
19:00 arnsholt Just recompile enough times
19:00 tadzik arnsholt: it'll probably stop and move to somebody else :P
19:00 arnsholt But I think I found it for real this time. There are two headers I need to update, not just one
19:01 arnsholt (Since I've changed the layout and size of some core sixmodel things)
19:03 arnsholt Yaaay! No segfault =D
19:03 tadzik \o/
19:04 spider-mario joined #perl6
19:07 Pleiades` joined #perl6
19:18 * arnsholt cargocults code for invoking Parrot methods
19:21 Pleiades` joined #perl6
19:28 For-Odin joined #perl6
19:30 FROGGS good evening
19:31 colomon cargoculting++
19:34 masak FROGGS! \o/
19:36 Pleiades` joined #perl6
19:38 [particle]1 joined #perl6
19:48 Pleiades` joined #perl6
19:49 jaldhar joined #perl6
19:59 timotimo bleh. meant to visit my hackspace, but the ground is frozen solid in places and the trams don't drive
20:00 masak you can hack here with us!
20:01 timotimo sure
20:01 vividsnow joined #perl6
20:01 FROGGS forget python! hack perl 6, resistance is futile :o)
20:03 masak who said anything about python?
20:04 jnthn .oO( frozen ground stops trams? :) )
20:05 timotimo jnthn: the signs said something about "ice rain"
20:05 moritz not frozen ground, but tracks covered with fresh ice
20:06 moritz otoh it doesn't take much to stop the public transport in Berlin :-)
20:07 nwc10 just because that's what happens in London, doesn't mean that it's big and clever, or somethign that other cities should do to
20:07 nwc10 although it seems that this time, it failed to fail
20:07 jnthn nwc10: They just delegated the failing to the airports.
20:07 nwc10 :-)
20:07 krzys_000 joined #perl6
20:14 timotimo "colonpair" refers to things like :foo and :bar<quux>, right?
20:14 jnthn aye
20:15 timotimo is there a name for "::"?
20:17 * masak .oO( it says "the double colon" on its birth certificate, but to me it'll always be "doubbie" )
20:18 geekosaur T_PAAMAYIM_NEKUDOTAYIM :p
20:18 sorear I think colon pair can refer to :: too
20:18 jnthn package separator? :)
20:19 FROGGS namespace separator
20:19 FROGGS package is so perl fivy
20:22 donaldh joined #perl6
20:27 timotimo god, the ipython code is complex
20:27 timotimo lots and lots of indirections
20:28 benabik "All problems in computer science can be solved by another level of indirection"
20:34 rurban1 joined #perl6
20:36 * timotimo reads the docs instead
20:43 dalek nqp-jvm-prep: be9b63b | jnthn++ | t/qast_variable.t:
20:43 dalek nqp-jvm-prep: Test for lexical lookup by name fallback.
20:43 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/be9b63b602
20:43 dalek nqp-jvm-prep: a69f53f | jnthn++ | / (2 files):
20:43 dalek nqp-jvm-prep: Implement various cases of lexical lookup by name.
20:43 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/a69f53fad5
20:48 arnsholt benabik: Except the ones due to much indirection =p
20:49 GlitchMr .u ⇔↔
20:49 phenny U+21D4 LEFT RIGHT DOUBLE ARROW (⇔)
20:49 phenny U+2194 LEFT RIGHT ARROW (↔)
20:50 thou_ joined #perl6
20:51 tadzik ⇔↔ looks like a tiny sword
20:52 arnsholt jnthn: Will the NQP bootstrap be all sad panda if I change the layout and size of struct storage_spec?
20:52 kaare_ joined #perl6
20:52 arnsholt Or, rather, should it?
20:53 GlitchMr std: say 2 == 2 ∧ 3 == 3
20:53 p6eval std 7deb9d7: OUTPUT«[31m===[0mSORRY![31m===[0m�Confused at /tmp/JkC0kk7eS7 line 1:�------> [32msay 2 == 2 [33m�[31m∧ 3 == 3[0m�    expecting any of:�   infix or meta-infix�    infixed function�       statement modifier loop�Parse failed�FAILED 00:00 42m�»
20:53 GlitchMr std: my &infix:<∧> = &infix:<||>; say 2 == 2 ∧ 3 == 3
20:53 p6eval std 7deb9d7: OUTPUT«ok 00:00 46m␤»
20:54 GlitchMr rn: my &infix:<∧> = &infix:<||>; say 2 == 2 ∧ 3 == 3
20:54 p6eval rakudo 35b2a9: OUTPUT«[31m===[0mSORRY![31m===[0m�Two terms in a row�at /tmp/5rYKVr3HYk:1�------> [32mmy &infix:<∧> = &infix:<||>; say 2 == 2 [33m�[31m∧ 3 == 3[0m�    expecting any of:�        postfix�        infix or meta-infix�        infix stopper�        statement end�       …
20:54 p6eval ..niecza v24-18-gaf64300: OUTPUT«[31m===[0mSORRY![31m===[0m��Undeclared routine:�     'infix:<||>' used at line 1��Unhandled exception: Check failed��  at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5) �  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) �  a…
20:55 arnsholt jnthn: Never mind. It's something exploding in the code I added
20:55 jnthn arnsholt: OK. One thing worth noting is that I'm currently trying to kill all the places that make introspection calls from REPRs.
20:56 jnthn arnsholt: In favor of the compose REPR function.
20:56 arnsholt Right. Probably a good idea
20:56 jnthn arnsholt: That is, meta-objects tell the REPR stuff.
20:56 arnsholt Definitely sounds like a good idea
20:56 jnthn I did the refactor last night / today for P6opaque.
20:56 jnthn And updated various bits of NQP and Rakudo to work that way.
20:57 arnsholt Which commits are the relevant ones?
20:57 jnthn I'm thinking that int16, for example, passes the 16-ness that way.
20:57 arnsholt Yeah, that sounds like a good plan
20:58 jnthn And then anything inlining one gets the number of bits by looking at storage_spec
20:58 jnthn .bits
20:58 arnsholt Yup
20:58 jnthn bb97781..2a13778 in nqp
20:58 jnthn 35b2a92 in Rakudo
20:59 dalek nqp-jvm-prep: 98bc4b7 | jnthn++ | docs/ (2 files):
20:59 dalek nqp-jvm-prep: ROADMAP and LHF updates.
20:59 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/98bc4b7c1e
21:01 arnsholt Linus Torvalds can think whatever he wants. GitHub is awesome
21:06 timotimo jnthn: so at the moment you have mostly just qast tests, where you write a qast into the test file and assert it does some sort of thing. how long until qasts generated fro actual nqp can be used for tests? :)
21:07 timotimo it's kind of hard for someone not so involved with how exactly nqp does things to see what nqp-jvm can or can't do so far
21:09 stevan_ joined #perl6
21:10 spider-mario joined #perl6
21:10 jnthn timotimo: nqp nqp-jvm-cc.nqp --setting=NULL -e "nqp::say('hi from JVM')"
21:11 jnthn timotimo: In so far as what it can do: cross-compile pretty much all of the stuff in NQP's src/how directory
21:12 jnthn Next up is porting ModuleLoader, which needs a few other bits implementing. At that point it should be possible to get a basic NQPCORE.setting in place and start cross-compiling and running some of the NQP tests.
21:18 timotimo ooooh, neat
21:22 sevin joined #perl6
21:28 kaare_ joined #perl6
21:33 Pleiades` joined #perl6
21:40 stevan__ joined #perl6
21:40 arnsholt jnthn: This new composition protocol seems decidedly more manageable
21:40 masak rn: role Observer[::T] { method on-next(T) { ... } }; class C does Observer[Int] does Observer[Str] { method on-next(Int) { say "OH HAI!" } }
21:40 p6eval niecza v24-18-gaf64300: OUTPUT«[31m===[0mSORRY![31m===[0m��GLOBAL::T does not name any package at /tmp/YVELYY3oi9 line 1:�------> [32mrole Observer[::T[33m�[31m] { method on-next(T) { ... } }; class C[0m��A type must be provided at /tmp/YVELYY3oi9 line 1:�------> [32mrole Obser…
21:40 p6eval ..rakudo 35b2a9:  ( no output )
21:41 arnsholt Sleepytimes now, but I'll try to hack some more with this in-between slidecrafting tomorrow
21:41 masak is there any way for the role to make sure (when it's composed) that the on-next method takes a parameter of type T?
21:41 jnthn masak: It only works by name so far.
21:42 jnthn masak: Comparing signatures is kinda...well, you know the issues. )
21:42 masak aye.
21:42 masak the above seems a very common thing in Java or C#.
21:42 masak it doesn't seem so easy in Perl 6.
21:42 jnthn Well, also if you were doing parametric interfaces then you'd have to write two methods
21:43 jnthn One for each parameterization of the interface
21:44 jnthn Which also doesn't really fit so well with Perl 6.
21:45 masak it doesn't? I thought multis were a nice fit for that.
21:45 masak multi methods, I mean.
21:46 benabik arnsholt: Hide the too much indirection with a layer of indirection.  ;-)
21:47 masak benabik: someone's been snorting the Design Patterns book again :P
21:47 jnthn You snort it? Darn, all I did over the years was sniff it...
21:48 jnthn masak: Yes, you can, but things relate in different ways.
21:50 * masak gets the feeling he's trying to fit a square pig into a round sty
21:52 jnthn Feed the pig up until it's round
21:57 tadzik unless it's a Minecraft-pig
21:57 masak :P
21:59 masak r: role R[::T] {}; class B {}; class C does R[B] {}; say "alive"
21:59 p6eval rakudo 35b2a9: OUTPUT«alive␤»
21:59 masak r: role R[::T] {}; class B {}; class C is R[B] {}
21:59 p6eval rakudo 35b2a9: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot call 'trait_mod:<is>'; none of these signatures match:�:(Mu:U $child, Mu:U $parent)�:(Attribute:D $attr, :rw(:$rw)!)�:(Attribute:D $attr, :readonly(:$readonly)!)�:(Attribute:D $attr, :box_target(:$box_target)!)�:(Routine:D $r, …
21:59 masak std: role R[::T] {}; class B {}; class C is R[B] {}
21:59 p6eval std 7deb9d7: OUTPUT«ok 00:00 45m␤»
21:59 masak I realize that Rakudo doesn't have much to work with here...
22:00 masak (it's essentially the same situation as earlier, with trait_mod:<is> doing all the heavy lifting, and we shouldn't muck too much with that)
22:00 swarley r: say 3;
22:00 masak ...but I had to realize all on my own that I had used 'is' where I shoulda used 'does'.
22:00 p6eval rakudo 35b2a9: OUTPUT«3␤»
22:00 swarley niecza: say 3;
22:00 p6eval niecza v24-18-gaf64300: OUTPUT«3␤»
22:00 masak jnthn: is that worth a rakudobug, or should I just write code correctly from the beginning? :P
22:00 swarley Oh my, much longer now.
22:01 masak swarley: I'm sorry?
22:01 jnthn masak: um, I thought we should pun the role into a class and inherit from that.
22:01 jnthn masak: So file a "prolly shunt fail at all" bug :)
22:02 swarley The last time I remember playing with p6 I remember niecza being faster than rakudo
22:02 FROGGS nr: say 3
22:02 jnthn swarley: Depends what you're measuring. :)
22:02 p6eval rakudo 35b2a9, niecza v24-18-gaf64300: OUTPUT«3␤»
22:02 FROGGS nr: say time
22:02 p6eval rakudo 35b2a9: OUTPUT«1358719365␤»
22:02 p6eval ..niecza v24-18-gaf64300: OUTPUT«1358719367.1365781␤»
22:02 * masak files a "prolly shunt fail at all" rakudobug
22:04 masak swarley: I don't think you should base implementation speeds off of the results you get back from a bot on IRC, with various latencies involved
22:04 FROGGS and you dont know what the server is doing right now
22:05 swarley I suppose so. I really don't want to build niecza right now though
22:06 * masak waves the magic wand at swarley that frees him of this responsibility
22:07 swarley :o
22:07 masak no-one can claim that we here on #perl6 aren't fair and just. or that our pixie dust is anything less than top-notch.
22:27 swarley ./src/parser/grammar.pg:    ['%q'|'%Q'] <.before <[<[_|({]>> <quote_expression: :qq>
22:27 swarley What is the before that's being referenced?
22:27 swarley I don't see it defined in the source tree
22:27 timotimo it should be a method of the class. maybe derived?
22:28 timotimo er, hold on, that's no tit
22:28 swarley Well, a grep from the top level shows it referenced only in that grammar file but it is never explicitly defined
22:28 aindilis joined #perl6
22:29 jnthn swarley: Wait, .pg?
22:29 * jnthn gets curious what swarley is using...
22:29 swarley Yeah, I'm looking at parrot/cardinal
22:29 swarley I'm rewriting a ruby implementation for parrot with the more modern PCT
22:30 swarley I'm just trying to decipher what it's doing
22:30 swarley r: say /<.before>/
22:30 p6eval rakudo 35b2a9: OUTPUT«␤»
22:31 jnthn I suspect it's a built-in of sorts
22:31 timotimo have you tried the rakudo debugger?
22:31 timotimo it can debug grammars and regexes, too
22:31 swarley oh, how would I go about using that?
22:32 swarley oh. Before appears to be the equivalent of (?=...)
22:32 swarley From perl5/pcre
22:32 jnthn In modern NQP it's defined in src/QRegex/Cursor.nqp which all grammars (eventually) inherit from
22:32 jnthn Yes, it's a lookahead
22:33 swarley Okay, that should have made more sense than it did originally
22:33 masak swarley: I never learned (?=...) et al. they seem very arbitrary to me.
22:33 swarley I suppose I'm used to more cryptic regex
22:33 masak yeah, bloody Perl 6 and its readability.
22:33 swarley D:
22:34 * timotimo is going to wireshark an ipython kernel/console session now
22:34 timotimo had enough of this guessing
22:34 jnthn .oO( does it come with a wirelaser? )
22:34 masak swarley: eventually, you're meant to be able to do Perl 5 regexes from Perl 6 too, if that's a consolation.
22:35 FROGGS nr: "abc" ~~ m/(.)/; say $()
22:35 p6eval niecza v24-18-gaf64300: OUTPUT«a␤»
22:35 p6eval ..rakudo 35b2a9: OUTPUT«␤»
22:35 jnthn r: say "eventually? now!" ~~ m:P5/ n.+$/
22:35 p6eval rakudo 35b2a9: OUTPUT«「 now!」␤␤»
22:36 swarley Eventually I'll be used to the perl 6 regular expressions, really they are more like an actual programming language anyway. So there is no good reason that I would have a hard time other than habit and lack of knowledge as to where to look for a unified reference
22:37 swarley but I did just pull this link up from history
22:37 swarley http://perlcabal.org/syn/S05.html
22:39 jnthn That's not history, taht's the current spec :)
22:39 bluescreen10 joined #perl6
22:41 arlinius joined #perl6
22:42 swarley I mean my chat history ;p
22:42 swarley I was given it last night right before I left
22:42 jnthn Oh :)
22:45 swarley In a rule, can I still use a newline in the body without the newline being part of the "smart" matching?
22:46 masak yes.
22:46 masak all whitespace in a rule just means "possible whitespace between stuff".
22:46 swarley Oh, alright
22:46 masak rn: say "ab" ~~ rule { a b }
22:46 p6eval niecza v24-18-gaf64300: OUTPUT«Match()␤»
22:46 p6eval ..rakudo 35b2a9: OUTPUT«#<failed match>␤»
22:47 masak hrm.
22:47 masak oh! except between alphabetic things :)
22:47 masak rn: say "a b" ~~ rule { a b }
22:47 p6eval rakudo 35b2a9: OUTPUT«「a b」␤␤»
22:47 p6eval ..niecza v24-18-gaf64300: OUTPUT«#<match from(0) to(3) text(a b) pos([].list) named({}.hash)>␤»
22:47 masak rn: say "a." ~~ rule { a '.' }
22:47 p6eval rakudo 35b2a9: OUTPUT«「a.」␤␤»
22:47 p6eval ..niecza v24-18-gaf64300: OUTPUT«#<match from(0) to(2) text(a.) pos([].list) named({}.hash)>␤»
22:47 FROGGS rn: say "ab" ~~ rule { 'a' 'b' }
22:47 p6eval niecza v24-18-gaf64300: OUTPUT«Match()␤»
22:47 p6eval ..rakudo 35b2a9: OUTPUT«#<failed match>␤»
22:47 FROGGS hmmm
22:47 masak yeah.
22:47 masak which makes sense, if you consider identifiers in a programming language.
22:48 masak 'ab' is one identifier, 'a b' are two.
22:49 swarley So, could these two potentially be identical in behavior? http://pastebin.com/PMCBt8KA
22:50 swarley the definition of term seems rather odd though
22:50 swarley token term { \h*\n | \h*';' }
22:52 swarley r: say "hello" ~~ /(\h+)/
22:52 p6eval rakudo 35b2a9: OUTPUT«#<failed match>␤»
22:52 swarley r: say "hello " ~~ /\h/
22:52 p6eval rakudo 35b2a9: OUTPUT«「 」␤␤»
22:53 swarley r: say "hello " ~~ /./
22:53 p6eval rakudo 35b2a9: OUTPUT«「h」␤␤»
22:53 swarley okay..
22:54 swarley So.. \h is any sort of space that isn't a vertical space
22:54 swarley Which makes that definition seem rather odd
22:55 sivoais joined #perl6
22:56 geekosaur swarley, makes sense to me; read as statement terminator, not as language term?
22:56 masak then it makes sense to me too :)
22:58 timotimo i have a super simple and totally ghetto wrapper that accepts commands from an ipython console and executes them in a regular rakudo REPL
22:58 swarley Ah, looking at it that way it makes sense
22:58 swarley I wouldn't have used simply 'term' as the name in that case though
22:58 swarley I would have gone with line_term or something
23:00 lue hello o/
23:00 swarley \o
23:04 swarley can C plugins be developed for parrot?
23:05 Pleiades` joined #perl6
23:06 benabik swarley: You can write new operations and classes in C.
23:09 bluescreen100 joined #perl6
23:09 imarcusthis joined #perl6
23:23 masak nr: class A { has DateTime $.dt .= new }; say "alive"
23:23 p6eval niecza v24-18-gaf64300: OUTPUT«Unhandled exception: Unable to resolve method ctxzyg in type Method␤  at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 162 (run_optree @ 8) ␤  at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 19 (NieczaPassSimplifier.invoke_incr @ 5) ␤  at …
23:23 p6eval ..rakudo 35b2a9: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot use .= to initialize an attribute�at /tmp/wSXcJVz1sI:1�------> [32mclass A { has DateTime $.dt .= new[33m�[31m }; say "alive"[0m�    expecting any of:�        method arguments�»
23:23 masak I'm curious about this limitation.
23:23 masak the .= syntax is there so I won't have to write the type name twice.
23:25 jnthn masak: It's already RT'd.
23:26 jnthn masak: Rakudo is just knowing it doesn't know how to do that transform yet. :)
23:26 jnthn It's more a NYI than a "no"
23:26 jnthn It's too convenient not to have, imo.
23:26 colomon that's an odd Niecza-error-message
23:27 * lue is wondering how to tell a role to wait for calling a method until the role's been composed in NQP, to get traits on attributes in roles working
23:29 jnthn lue: Is it the parrot vtable traits?
23:29 * timotimo watches as his desktop slows to a crawl
23:29 lue yes. I really would like to get that QAST::Node children thing done [ it's annoying me now :) ]
23:29 masak given a DateTime object, how do I say "three days later"?
23:30 masak (and get a new DateTime object)
23:31 jnthn lue: I'm probably gonna refactor away those traits at some point in the next week and replace them with something that'll probably "just work" without needing to do the whole roles hacking.
23:31 lue OK. I'm just suddenly interested in making NQP more memory-efficient is all :)
23:32 masak r: my $dt = DateTime.new("2012-02-27T03:14:15Z"); my $d = $dt.Date; $d++ for ^3; say DateTime.new($d, hour => $dt.hour, minute => $dt.minute, second => $dt.second, timezone => $dt.timezone)
23:32 p6eval rakudo 35b2a9: OUTPUT«Default constructor only takes named arguments␤  in method new at src/gen/CORE.setting:725␤  in block  at /tmp/kVXM9057m_:1␤␤»
23:32 masak hrm.
23:33 masak oh!
23:33 masak r: my $dt = DateTime.new("2012-02-27T03:14:15Z"); my $date = $dt.Date; $date++ for ^3; say DateTime.new(:$date, hour => $dt.hour, minute => $dt.minute, second => $dt.second, timezone => $dt.timezone)
23:33 p6eval rakudo 35b2a9: OUTPUT«DateTime.new(year => 2012, month => 3, day => 1, hour => 3, minute => 14, second => 15)␤»
23:33 masak this is the simplest way I can think of.
23:33 masak feels like we're missing a building-block here.
23:34 lue I wonder how acceptable the idea of "Duration literals" would be (e.g.  $dt += 3d;)
23:34 masak I like the idea of durations, but don't feel the need to make them literals.
23:34 masak not in straight-up Perl 6, at least.
23:34 sevin joined #perl6
23:34 FROGGS $dt.days += 3 ?
23:34 masak DateTime is immutable.
23:35 timotimo wow, a perl6 process just went berserk and made my desktop swap like 3gb of data out to disk
23:35 masak and that's not really what I want to do anyway.
23:35 masak I want to safely say "three days later" without having to work with days and months and years.
23:35 masak that's what Date gives me there.
23:36 lue $dt + "
23:36 lue $dt + "3 days" is what I was thinking
23:37 masak that one has two problems.
23:38 masak first, infix:<+> is for numeric addition, nothing else.
23:38 masak second, adding a string like that just looks... weird, and too much like magic.
23:38 lue I didn't mean the string literally :)
23:38 masak I like the *intent* behind that, and I'd be happy seeing something about as simple as that.
23:38 * benabik would prefer $dt + Duration.new(:days(3))
23:38 timotimo no! no! bad rakudo!
23:38 masak yeah.
23:39 masak benabik: something like that.
23:39 benabik If you're doing that a lot, then make shortcuts like days(3).
23:39 masak and maybe a shortcut $dt.delta(:days(3))
23:39 benabik masak: Ooh.
23:39 masak we have to pay close attention to what order to add years, months, days, etc.
23:40 masak I seem to recall DateTime on CPAN did something bad there, and couldn't back out of the decision.
23:40 masak we could do it right.
23:40 masak but tonight is not the night to design all that. I will sleep on it.
23:40 masak 'night, #perl6
23:40 lue good knight masak o/
23:40 FROGGS I have never seen something wrong in Perl 5's DateTime
23:40 timotimo how does rakudo even get so much memory allocated so quickly?!
23:41 timotimo what does it put into all that merory?!
23:41 timotimo i should really, really set a better ulimit >_<
23:41 * benabik somewhat likes C++11's std::chrono
23:41 lue (Of course, these shortcuts are hopefully overrideable for different calendar modules.)
23:41 * lue notes to look at std::chrono
23:42 lue timotimo: ooc, what are you running (anything like CORE.setting?)
23:42 jnthn sleep time &
23:42 timotimo lue: as far as i know i'm just running "perl6"
23:42 lue good knight jnthn o/
23:42 FROGGS gnight
23:42 timotimo good night jnthn :)
23:42 timotimo lue: Popen("perl6", stdin=PIPE, stdout=PIPE). what exactly happens after that i'm not sure. actually this process should have been dead by now!
23:43 lue what language are you using? (And also, what's coming through the pipe)
23:48 timotimo http://imgur.com/6iHwAPf
23:51 MikeFair_ joined #perl6
23:52 lue Hm. Can't say I know what's going on. I'm assuming the right half is what's in the pipe, right? (because `echo say 3 | perl6` runs say 3 in perl6, and that doesn't look like Perl 6)
23:55 timotimo that's what goes over the zeromq connections

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

Perl 6 | Reference Documentation | Rakudo