Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-12-08

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:01 Reini joined #perl6
00:11 masak 'night, #perl6
00:27 fgomez joined #perl6
00:46 Reini joined #perl6
00:57 ifim left #perl6
01:16 quester left #perl6
01:47 fgomez joined #perl6
01:59 noggle joined #perl6
02:02 integral joined #perl6
02:02 integral joined #perl6
02:08 integral joined #perl6
02:08 integral joined #perl6
02:23 FROGGS__ joined #perl6
02:31 Reini joined #perl6
03:20 erkan joined #perl6
03:20 erkan joined #perl6
03:22 erkan joined #perl6
03:22 erkan joined #perl6
03:32 noggle_ joined #perl6
03:37 ServerSage joined #perl6
03:39 Reini joined #perl6
04:13 Reini joined #perl6
04:25 jaldhar_ joined #perl6
04:34 Bruce___ joined #perl6
04:36 Psyche^ joined #perl6
05:13 xinming joined #perl6
05:16 rummik joined #perl6
05:19 Reini joined #perl6
05:51 quester joined #perl6
05:53 telex joined #perl6
06:20 Reini joined #perl6
06:35 benabik joined #perl6
06:50 rindolf joined #perl6
06:56 Bruce___ left #perl6
07:08 PacoAir joined #perl6
07:14 SamuraiJack joined #perl6
07:20 Reini joined #perl6
07:29 pecastro joined #perl6
07:30 daniel-s_ joined #perl6
07:34 kcwu joined #perl6
07:39 quester left #perl6
07:57 Chillance joined #perl6
08:07 kaare_ joined #perl6
08:08 gootle joined #perl6
08:21 Reini joined #perl6
08:22 wamba joined #perl6
09:21 Reini joined #perl6
09:30 GlitchMr joined #perl6
09:44 Liz joined #perl6
09:49 cognominal joined #perl6
10:01 * lizmat doesn't see cognominal in person and wonders why
10:02 tokuhiro_ joined #perl6
10:05 sorear is there a meeting going on?
10:05 sorear (hi lizmat)
10:05 lizmat hi sorear, yes, quack and hack europe 2012
10:06 lizmat in paris
10:07 sorear where does one find out about such things?
10:07 lizmat good question… dijkmat was drafted as sponsor…  that's how we found out about it  :-)
10:08 tadzik sorear: getty was talking about it on the YAPC, it was also mentioned in perl weekly iirc
10:08 lizmat also: wendy keeps a list of Perl events and posts them on some of the more local pm lists
10:09 lizmat hi tadzik!
10:09 tadzik hello lizmat! \o/
10:10 sorear so I need to follow perl weekly, huh?
10:10 sorear by "local pm lists" do you mean .nl or near the actual event?
10:11 lizmat local geographically, like nl.pm, vlaanderen.pm, groningen.pm, niederrhein.pm lists
10:12 sorear I'm worried that maybe I've missed some random event in *my* area...
10:12 lizmat well, keep following perl weekly, I would guess…
10:17 araujo joined #perl6
10:22 Reini joined #perl6
10:48 * lizmat just found out that you cannot build rakudo star from a directory called 'rakudo*'
10:48 lizmat especially if you have a directory "rakudo" next to "rakudo*"
10:48 lizmat :-)
10:49 moritz there hasn't been an advent calendar post today
10:50 moritz does anybody want to chime in?
10:52 lizmat sorry, I have been offline for 2 months or so..  what do you expect from an advent calendar post?
10:53 lizmat BTW, has anybody been reading "Uniqueness and Reference Immutability for Safe Parallelism", as mentioned on slashdot some time ago?
10:55 lizmat I wonder how the line "our core language and prototype do not allow mutable global variables" throws a spanner in the works if applying to Perl 6
10:55 jnthn morning o/
10:56 lizmat morning jnthn!
11:02 jnthn lizmat! \o/
11:05 Su-Shee_ joined #perl6
11:11 moritz lizmat: basically a Perl 6 related blog post
11:11 moritz though I guess there are others here that could do it too :-)
11:12 tadzik I wonder if I could write a Module::Build plugin-ish thing, to teach cpanm and friends how to install perl 6 modules
11:12 tadzik (and where)
11:13 spider-mario joined #perl6
11:16 felher tadzik: a gernal 'how to install Perl6-Modules' Post would be awesome. There was one 2010, but I don't know how accurate that one still is. :)
11:16 felher *general
11:17 moritz felher: GlitchMr already planned a post on panda this year
11:17 felher moritz: ah, okay. Thnx :)
11:17 felher tadzik: never mind then :)
11:18 cognominal joined #perl6
11:18 GlitchMr Huh... where is day 8 article?
11:18 moritz GlitchMr: not there yet
11:19 moritz which is why I asked if anybody wants to chime in
11:19 GlitchMr 8 is-prime -- duff
11:19 GlitchMr huh?
11:21 GlitchMr It's perlpilot on GitHub, right?
11:21 moritz right
11:21 moritz and PerlJam here
11:22 Reini joined #perl6
11:36 wamba joined #perl6
11:42 leont joined #perl6
11:45 lizmat moritz: sorry, don't expect anything from me this year
11:55 GlitchMr Uhmmm...
11:55 GlitchMr I could put my panda article if PerlJam won't insert his article.
11:56 GlitchMr But, then we would have problem on 12th.
11:56 GlitchMr The panda article is already 100% done, all I've to do is convert it to WordPress syntax.
11:57 GlitchMr (and I need permission to publish articles on WordPress, my nick is glitchmr).
11:59 leont left #perl6
12:12 TheAthlete joined #perl6
12:13 TheAthlete left #perl6
12:19 Chillance joined #perl6
12:23 Reini joined #perl6
12:27 birdwindupbird joined #perl6
12:38 moritz GlitchMr: then please publish it
12:39 moritz GlitchMr: invitation sent
12:39 moritz as for the 12th, maybe PerlJam wants to take that slot instead, or I'll write something about exceptions
12:41 GlitchMr well, ok then
12:42 GlitchMr 'Congrats! You have been added to this blog.'
12:42 GlitchMr Thanks
12:42 GlitchMr I will add it now
12:44 moritz GlitchMr++
12:47 GlitchMr "This post is super-awesome"
12:47 GlitchMr What?
12:47 timotimo sounds like some sort of test post
12:48 GlitchMr It's option in "Publish"
12:48 GlitchMr ok, now I can publish it, I guess.
12:49 GlitchMr https://perl6advent.wordpress.com/
12:49 GlitchMr But that <pre> is on menu...
12:49 GlitchMr Perhaps I could fix it...
12:50 moritz just remove a bit of indention
12:51 GlitchMr http://perl6advent.wordpress.com/
12:51 GlitchMr Well, it's published now
12:51 timotimo for me, the pre is in scroll areas
12:52 MayDaniel joined #perl6
12:52 GlitchMr Yeah, I didn't knew what to do
12:53 timotimo Let’s say you would want to parse INI file.  - an INI file or INI files
12:53 timotimo using search command - using the search command
12:54 timotimo When module was installed - when a module
12:54 timotimo other than that, it's nice
12:55 timotimo will there be an article on how to publish your own perl6 modules? maybe a bit of "best practices", directory organisation for projects etc etc?
12:55 GlitchMr heh, masak hasn't found those issues when I've asked him to proofread :-). But I still think he has proofread it nicely.
12:55 GlitchMr Now to move things around in mu
12:55 timotimo :)
12:56 dalek mu: cf7effd | GlitchMr++ | misc/perl6advent-2012/schedule:
12:56 dalek mu: Move day 8 to day 12.
12:56 dalek mu: review: https://github.com/perl6/mu/commit/cf7effd8d1
12:58 GlitchMr And update the ToC that hasn't been updated since day 5
12:59 rindolf joined #perl6
12:59 rindolf Hi all. Happy Hanukkah.
13:00 GlitchMr http://perl6advent.wordpress.com/2012/12/01/perl-6-advent-calendar-2012-table-of-contents/
13:00 GlitchMr Day 8 added
13:07 felher GlitchMr++ # advent calendar post 'bout Panda :)
13:08 GlitchMr I wanted to put in on 12th, but it looks that post for 8th day is already late.
13:09 GlitchMr I initially wanted to claim day 4, but gerdr was faster ;-).
13:23 Reini joined #perl6
13:23 tokuhiro_ joined #perl6
13:30 zby_home_ joined #perl6
13:30 cognominal struggling with liz to get a work rakudo on her humongous 17'' inch macbook
13:31 cognominal * a working rakudo
13:39 sftp joined #perl6
13:57 lizmat stumped  :-(
13:57 lizmat src/Perl6/Actions.pm
13:57 lizmat make: *** [blib/Perl6/Actions.pbc] Segmentation fault: 11
13:57 lizmat from a fresh rakudo checkout
13:58 jnthn Haven't seen/heard about that happening before.
14:00 * moritz neither
14:01 lizmat on osx mountain lion with latest xcode
14:02 lizmat seeing a lot of warnings like "bind.c:662:77: warning: unused parameter 'lexpad' [-Wunused-parameter]
14:02 lizmat ...Rakudo_Parameter *param, PMC *lexpad) {
14:02 lizmat " but cognominal tells me this is normal on gcc-clang
14:03 cognominal jnthn, I am working with liz to get highligting from a parse tree. We will have questions to ask you.
14:03 jnthn Well, plus unused parameters aren't likely to cause segfaults.
14:03 lizmat $ gcc
14:03 lizmat i686-apple-darwin11-llvm-gcc-4.2: no input files
14:03 cognominal in nqpm how to test if a value is a string? is a sub?
14:04 cognominal in https://github.com/cognominal/p6hilite/ I use ugly hacks to get around
14:04 jnthn If you're looking at the parse tree, then you would be going off the names of the rules, I guess?
14:04 lizmat $ /Users/liz/rakudo/install/bin/nqp --version
14:04 lizmat This is nqp version 2012.11.1-10-g785d2fa built on parrot 4.10.0 revision RELEASE_4_10_0
14:04 cognominal lizmat, yes we have the same comoiler
14:05 cognominal right now, I work from a match to get an straight dump, a json dump and a html file
14:05 cognominal I need to get lexcical highlingting
14:06 jnthn "lexical highlighting"?
14:06 cognominal I have a %rule2docco to match a rule name to a hmtml attribute class name
14:07 cognominal the value can be either a string or a sub that gives the string
14:07 cognominal right now I cheat using arrays. Depending on the type of the array, I will get to the string and the sub
14:07 cognominal that's top ugly
14:08 cognominal I would like to test if the value is a sub or a string.
14:08 lizmat basically Perl5's reftype is what I think cognominal wants
14:08 pharoah joined #perl6
14:09 cognominal jntnh: what I call lexical highlighting is what people call syntax hightlighting.
14:10 jnthn I think there's some isinvokable thing that'll tell you if what you have is something that can be called.
14:10 cognominal I make the distinction because I am able to do dynamic syntax hightlighting on perl6 generated parse tree. Too bad that perl6 code is nqp generated parse trees
14:10 jnthn Well, yeah, they have different types of match object.
14:11 pharoah I'm new to looking through the perl6 source.  Can anyone tell me if uniq is defined in the source for perl6 or if it is taken from perl5 and where I might be able to find it?
14:11 cognominal so I have written code to get the equivalent of a Perl6 .chunks in a nqp match :)
14:12 jnthn pharoah: https://github.com/rakudo/rakudo/blob/nom/src/core/List.pm#L315 is where Rakudo implements it
14:12 pharoah jnthn: great.  thank you!!
14:13 cedrvint_ joined #perl6
14:13 cedrvint_ Hello #perl6!
14:14 jnthn o/ cedrvint_
14:14 cedrvint_ \o jnthn
14:14 lizmat jnthn: is_invokable seems to be it
14:15 cedrvint_ G+ has now a specific support for "communauty": here's the one for Perl 6, it's not mine, it's yours! ;)
14:15 cedrvint_ https://plus.google.com/u/0/communities/117467783720315404210
14:15 cedrvint_ do what ever you wish with it
14:23 moritz r: try die "foo"; say $!.perl
14:23 p6eval rakudo 53daef: OUTPUT«X::AdHoc.new(payload => "foo")␤»
14:24 Reini joined #perl6
14:26 hoelzro hi Perl 6 folk
14:27 timotimo i see two perl6 communities on google+
14:27 timotimo one is yours with 1 member and the other one is this one: https://plus.google.com/u/0/communities/101876455135752445991 with 31 members
14:30 Reini1 joined #perl6
14:33 cognominal jnthn, is_invokable is not mapped from pir to nqp !
14:34 cognominal I suppose I must add the mapping in nqp/src/QAST/Operations.pm
14:34 SamuraiJack joined #perl6
14:34 cedrvint_ timotimo: I thought communauty names were exclusive, that's I reserved "Perl 6"
14:34 cedrvint_ *that's why
14:35 cedrvint_ it seems it was useless, so just discard mine :)
14:36 jnthn cognominal: Yeah, that tends to mean nobody decided if it should really exist... :)
14:36 timotimo don't worry about it :)
14:37 cedrvint_ it's deleted now, never mind then :)
14:52 wamba joined #perl6
14:55 mikemol joined #perl6
14:56 cognominal jnthn, adding  QAST::Operations.add_core_pirop_mapping('is_invokable', 'is_invokable', 'iP', :inlinable(1)); in Operation.nqp would do it?
14:57 jnthn No
14:57 jnthn We *never* put the underscores in nqp op names
14:57 jnthn And the return type is always a register so it must be IP
14:57 cognominal ok, will try it
14:57 jnthn (exception for underscore rule is to indicate a type, like add_i vs add_n. But never in the middle.)
14:57 cognominal don't know where to add it in the file
14:57 jnthn Near islist and ishash maybe
14:58 cognominal ok, be back. listning the quack talks of the hackandquack
15:03 moritz I've written an advent post on exceptions, and stored it as a draft
15:03 moritz so if we come into the situation again where we don't have a post ready, we can use it instead as a backup
15:04 jnthn moritz++
15:05 colomon moritz++
15:15 lizmat moritz++ (catching up on the other advent articles now)
15:16 cognominal moritz++
15:31 Reini1 left #perl6
15:50 hash_table joined #perl6
16:16 kcwu joined #perl6
16:16 cognominal jnthn, I added nqp::isinvokable, added two tests,  I did a pull request. Need it for my p6hilite.
16:24 bowtie joined #perl6
16:24 grondilu Say I have a string made of a bunch of parenthesis, like this:  "))(()))".   How could I get rid of matching pairs?  In the "))(()))", example, how could I extract "))   )"?
16:26 moritz r: $_ = '))(()))'; s/'()'//g while /'()'/; .say
16:26 p6eval rakudo 53daef: OUTPUT«[31m===[0mSORRY![31m===[0m�Confused�at /tmp/1dGC701fjj:1�------> [32m$_ = '))(()))'; s/'()'//[33m�[31mg while /'()'/; .say[0m�»
16:26 moritz r: $_ = '))(()))'; s:g/'()'// while /'()'/; .say
16:26 p6eval rakudo 53daef: OUTPUT«)))␤»
16:27 grondilu yeah that's smart.  That should do indeed.
16:28 moritz though if you need the positions in the original string, you need to resort to something more resourceful
16:28 grondilu no it should be fine as such
16:29 * moritz tries anyway, just for fun
16:30 moritz r: $_ = '))(()))'; s:g/'(' (\s*) ')'/$0/ while /\(\s*\)/; .say
16:30 p6eval rakudo 53daef: OUTPUT«)))␤»
16:30 moritz hrmpf
16:32 moritz r: $_ = '))(()))'; s:g/'(' (\s*) ')'/ $0 / while /\(\s*\)/; .say
16:32 p6eval rakudo 53daef: OUTPUT«))    )␤»
16:38 lizmat could it be that rakudo and rakudo-star are interfering with each other ?
16:38 moritz lizmat: they shouldn't, but occasionally it happens anyway
16:38 lizmat I guess I will nuke rakudo star and try from scratch then
16:42 lizmat no change  :-(
16:42 lizmat src/Perl6/Actions.pm
16:42 lizmat make: *** [blib/Perl6/Actions.pbc] Segmentation fault: 11
16:42 lizmat are we sure that nqp / rakudo are currently heatlhy?
16:45 jnthn Apparently not on your box :/
16:45 jnthn As I said, nobody else has reported any issues
16:45 jnthn lizmat: Did you have the same issue with building the last R* release?
16:46 lizmat nope
16:46 lizmat which leads me to think it was a more recent change in rakudo / nqp that is messing things up for me
16:47 lizmat I'm going to nuke rakudo from my box now, and start with a fresh rakudo-star just to be sure
16:47 felher lizmat: how many jobs do you run in parallel when compiling?
16:47 jnthn lizmat: In your NQP repo, please try reverting 0c08da36 locally and then installing the resulting NQP.
16:48 jnthn (git checkout master; git revert 0c08da36; make install)
16:48 jnthn Then try building Rakudo again.
16:48 jnthn er, wait
16:48 moritz huh, that was just a parrot revision bumpt
16:48 * lizmat is waiting
16:48 jnthn moritz: Yes.
16:48 jnthn Sorry, I want you to try it with the older Parrot
16:49 jnthn So we know if the Parrot revision bump is to blame or not.
16:49 lizmat so: assuming a clean machine, what would you like me to do?
16:50 lizmat get a fresh rakudo checkout, build perl Configure.pl --gen-parrot --gen-nqp
16:51 lizmat then revert a commit in nqp subdir?
16:51 jnthn Not quite that
16:51 lizmat then make?
16:51 jnthn Because it will have built the newer Parrot
16:51 moritz let me try to write up the instructions
16:51 lizmat moritz++
16:51 jnthn yeah, thanks
16:51 jnthn I as just looking at Configre.pl --help
16:52 jnthn If you manually clone nqp inside your Rakudo directory after checking it out, then cd nqp and do the git revert I sussgested...
16:52 jnthn Then back in Rakudo directory do perl Configure.pl --gen-nqp=master
16:52 jnthn That may do it
16:53 jnthn (then it should build the older Parrot)
16:53 moritz lizmat: https://gist.github.com/4240982
16:53 jnthn moritz: The thing that makes me suspect this a bit is that there's hardly any changes in NQP, and none that touch C code.
16:53 lizmat a "make distclean" would be enough to start from scratch ?
16:53 lizmat or shall I clone rakudo fresh from github
16:54 moritz lizmat: use   git clean -xdf   inside the rakudo repo # deletes all files NOT under version control
16:54 moritz then omit the cloning step
16:54 dalek nqp: 585db6c | (Stéphane Payrard)++ | / (2 files):
16:54 dalek nqp: add support an test for nqp::invokable()
16:54 dalek nqp: review: https://github.com/perl6/nqp/commit/585db6c540
16:54 dalek nqp: 35c4b05 | jonathan++ | / (2 files):
16:54 dalek nqp: Merge pull request #68 from cognominal/master
16:54 dalek nqp:
16:54 dalek nqp: Add nqp::isinvokable.
16:54 dalek nqp: review: https://github.com/perl6/nqp/commit/35c4b05d0b
17:00 cognominal thx jnthn++
17:15 colomon joined #perl6
17:20 lizmat fwiw, that revert in nqp seems to have fixed the problem
17:20 lizmat we're being kicked out now…  more tomorrow!
17:20 jnthn Urgh :(
17:20 jnthn lizmat++
17:23 kivutar joined #perl6
17:25 kivutar joined #perl6
18:15 benabik joined #perl6
18:28 wooden joined #perl6
18:28 wooden joined #perl6
18:28 benabik joined #perl6
18:28 grondilu another problemm that was way too slow with perl6:  http://rosalind.info/problems/dbru/   I had to use perl5.
18:29 grondilu it was like more than five minutes or so against two seconds :/
18:31 grondilu (actually it was 0.07 seconds with perl5)
18:31 grondilu (with pretty much the same algorithm)
18:34 grondilu (here is the p5 code if you're interested:  https://gist.github.com/4241253)
18:41 fgomez joined #perl6
18:46 grondilu r: my $then = now; "TAGTTACTCATCCGTTAGTAACATCCACTGGGTCGGGTTGGCAATGGGTA".flip.trans: 'ACGT' => 'TCGA'; say now - $then
18:46 p6eval rakudo 53daef: OUTPUT«0.2790360␤»
18:46 grondilu r: my $then = now; say $then - now
18:46 p6eval rakudo 53daef: OUTPUT«-0.051206␤»
18:47 grondilu r: my $then = now; "TAGTTACTCATCCGTTAGTAACATCCACTGGGTCGGGTTGGCAATGGGTA".flip; say now - $then
18:47 p6eval rakudo 53daef: OUTPUT«0.03180639␤»
18:47 grondilu r: my $then = now; "TAGTTACTCATCCGTTAGTAACATCCACTGGGTCGGGTTGGCAATGGGTA".trans: 'ACGT' => 'TCGA'; say now - $then
18:47 p6eval rakudo 53daef: OUTPUT«0.2556101␤»
18:47 grondilu I think .trans  is too slow
18:51 grondilu r: my $then = now; "TAGTTACTCATCCGTTAGTAACATCCACTGGGTCGGGTTGGCAATGGGTA".subs(|<A T>).subs(|<C G>).subs(|<G C>).subs(|<T A>); say now - $then
18:51 p6eval rakudo 53daef: OUTPUT«No such method 'subs' for invocant of type 'Str'␤  in block  at /tmp/22jqGCZccq:1␤␤»
18:57 kivutar joined #perl6
18:58 broquaint joined #perl6
19:01 jnthn subst
19:01 jnthn And yes, trans probably could use quite some optimization.
19:05 ifim joined #perl6
19:15 snearch joined #perl6
19:26 lue hello o/
19:35 rummik joined #perl6
19:43 araujo joined #perl6
19:43 araujo joined #perl6
20:01 MayDaniel joined #perl6
20:02 masak hola, #perl6
20:02 MayDaniel joined #perl6
20:02 masak just wanted to reassure you that an advent post for tomorrow is forthcoming.
20:03 FROGGS hi there
20:03 jnthn hola, masak
20:05 masak I didn't have any intention of cracking the language while here, but... it's so easy! :P
20:05 masak my brain estimates that it's about 40% done, and I landed like two hours ago.
20:06 masak I should spend tomorrow just talking to people, soaking up missing words.
20:06 diakopter MISSING WORDS
20:06 FROGGS masak: where are you?
20:06 masak Madrid.
20:06 FROGGS nice, wasn't there yet :/
20:07 masak an Italian lady asked me for the way in the metro. we had trouble communicating, until I realized I could just wing it and make up words from some common fount of Latin/Esperanto.
20:09 masak basically, Spanish sounds like slurred Esperanto so far. :D
20:09 wamba joined #perl6
20:09 masak ok, time to write about the Matching of Longest Tokens.
20:11 cedrvint_ masak: it's already tomorrow somewhere :)
20:15 xinming_ joined #perl6
20:15 masak cedrvint_: sure, but we usually publish on GMT midnight, IIUC.
20:16 cedrvint_ yes, I can't wait for reading your post :p
20:18 masak my hamburger just arrived. gonna see to it for a while, then write it.
20:22 * masak eats, while rosettastoning the Spanish/English hotel bar menu
20:24 cedrvint_ buen apetito :)
20:24 FROGGS .oO( bon apetitolino (movie: love actually) )
20:25 masak gracias.
20:25 imarcusthis joined #perl6
20:26 GlitchMr r: [ # syntax error
20:26 p6eval rakudo 53daef: OUTPUT«[31m===[0mSORRY![31m===[0m�Unable to parse expression in array composer; couldn't find final ']'�at /tmp/xlUIdXv_UH:1�------> [32m[ # syntax error[33m�[31m<EOL>[0m�»
20:26 GlitchMr ⏏ :-)
20:26 paddy joined #perl6
20:26 masak what about ⏏?
20:27 GlitchMr https://github.com/rakudo/rakudo/commit/6b018814ed1bbf5cbb7d71aa0a0a11afe882ec15
20:27 masak aye, that's new.
20:27 masak jnthn++
20:27 jnthn "new" :)
20:27 jnthn Just doin' what STD does ;)
20:28 GlitchMr * Syntax errors now provide context using ⏏ symbol, just like STD.pm does.
20:28 GlitchMr I know
20:28 GlitchMr I'm making yet another Perl 6 changes article.
20:28 GlitchMr I know it's from STD.pm
20:28 paddy left #perl6
20:28 jnthn :)
20:28 GlitchMr But it's useful.
20:28 jnthn Note that it does a highwater algorithm now too
20:28 jnthn Which means you won't get those "error on line 1" reports any more then really the problem is at line 50 or so
20:29 GlitchMr :-)
20:29 masak oh, good.
20:29 jnthn star: my @a = map { 2 * $_ } 2, 3, 4
20:29 p6eval star 2012.10: OUTPUT«===SORRY!===␤Confused␤at /tmp/rm_3JIiOMn:1␤»
20:29 GlitchMr Those "error on line 1" were annoying
20:29 FROGGS pmichaud wasn't here lately, right? I'm asking because of getting a commit bit for rakudo some day...
20:29 jnthn er, hm, how to do multi-line to show this off...
20:29 masak jnthn: ␤␤␤␤␤
20:30 jnthn star: say 42;␤␤␤ my @a = map { 2 * $_ } 2, 3, 4
20:30 p6eval star 2012.10: OUTPUT«===SORRY!===␤Confused␤at /tmp/Y4TpEwhQlL:1␤»
20:30 jnthn r: say 42;␤␤␤ my @a = map { 2 * $_ } 2, 3, 4
20:30 p6eval rakudo 53daef: OUTPUT«[31m===[0mSORRY![31m===[0m�Confused�at /tmp/CmMDBvu3p3:4�------> [32m my @a = map { 2 * $_ } [33m�[31m2, 3, 4[0m�»
20:30 masak \o/
20:30 masak jnthn++
20:30 cognominal joined #perl6
20:30 jnthn That fix is probably at least as important as the eject marker.
20:30 pecastro joined #perl6
20:31 jnthn I'm currently working on the high expect thingy
20:31 jnthn It's a bit fiddly.
20:31 FROGGS high expect?
20:31 jnthn std: say 42;␤␤␤ my @a = map { 2 * $_ } 2, 3, 4
20:31 p6eval std a8bc48f: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/zLngdjUDt_ line 4:â�¤------> [32m my @a = map { 2 * $_ }[33mâ��[31m 2, 3, 4[0mâ�¤    expecting any of:â�¤   horizontal whitespaceâ�¤  infix or meta-infixâ�¤    infixed funct…
20:31 jnthn The "expecting any of" bit
20:31 FROGGS ahh, cool
20:32 masak yesbut why "high expect"? what's up with the high?
20:32 GlitchMr -                || <.panic: "Too late for semicolon form of $*PKGDECL definition">
20:32 GlitchMr +                || <.panic("Too late for semicolon form of $*PKGDECL definition")>
20:32 GlitchMr Why it wasn't working previously?
20:32 GlitchMr For me, those looks like identical forms
20:32 diakopter high-water mark for a tide/flood
20:32 jnthn masak: Because it the highwater
20:32 jnthn *it tracks the...
20:32 jnthn masak: That is, it records what we were looking for at the highwater position
20:33 jnthn GlitchMr: NQP treats the two differently
20:33 masak hamburger <GlitchMr> heh, masak hasn't found those issues when I've asked him to proofread :-)
20:33 masak GlitchMr: huh? those were exactly the kind of issues I found :)
20:33 masak missing 'a' or 'the'.
20:33 jnthn GlitchMr: For no good reason...
20:33 jnthn GlitchMr: But it was easier to fix the grammar for now :)
20:34 jnthn "fix" :)
20:34 masak it's common for slavic-speakers to miss those, so don't sweat it.
20:34 GlitchMr Well, Polish doesn't have those ;-).
20:35 masak my original point.
20:36 sorear good * #perl6
20:36 masak sorear! \o/
20:38 FROGGS hi sorear
20:40 masak rn: say "food and drink" ~~ / foo || food /
20:40 p6eval rakudo 53daef: OUTPUT«「foo」␤␤»
20:40 p6eval ..niecza v24-5-g599cbcb: OUTPUT«#<match from(0) to(3) text(foo) pos([].list) named({}.hash)>␤»
20:40 masak rn: say "food and drink" ~~ / foo | food /
20:40 p6eval rakudo 53daef: OUTPUT«「food」␤␤»
20:40 p6eval ..niecza v24-5-g599cbcb: OUTPUT«#<match from(0) to(4) text(food) pos([].list) named({}.hash)>␤»
20:40 masak ...and that's LTM. done.
20:40 masak short article :P
20:43 FROGGS :o)
20:43 GlitchMr ;-)
20:45 GlitchMr It isn't that simple
20:45 GlitchMr glitchmr@strawberry ~> awk 'BEGIN { str = "ab"; gsub(/a|ab/, "<&>", str); print str }'
20:45 GlitchMr <ab>
20:45 GlitchMr glitchmr@strawberry ~> echo 'BEGIN { str = "ab"; gsub(/a|ab/, "<&>", str); print str }' | a2p | perl
20:45 GlitchMr <a>b
20:46 jnthn rn: say "food and drink" ~~ / foo | \w+ / # :)
20:46 p6eval rakudo 53daef: OUTPUT«「food」␤␤»
20:46 p6eval ..niecza v24-5-g599cbcb: OUTPUT«#<match from(0) to(4) text(food) pos([].list) named({}.hash)>␤»
20:47 GlitchMr awk has LTM, Perl doesn't.
20:48 GlitchMr Well, awk has "sorta" LTM
20:49 GlitchMr s/"sorta"//
20:49 GlitchMr Just like Perl 6
20:50 bruges joined #perl6
20:50 masak somehow I doubt awk has LTM "just like Perl 6" :P
20:50 GlitchMr Why?
20:51 GlitchMr /a|ab/ matches 'ab' if possible, unlike Perl 5.
20:51 masak yes, as you showed above.
20:51 masak that's neat.
20:51 GlitchMr Isn't it LTM?
20:51 masak sure, but I doubt it's as widely developed as in Perl 6.
20:52 masak what about more complicated declarative prefixes? what about quantifiers, for example?
20:52 sorear I think what awk is doing might be called "using a real DFA engine"
20:53 GlitchMr Because it does use DFA
20:53 masak sorear: oh, then it might actually get quite close, I guess.
21:00 erkan joined #perl6
21:02 kst` joined #perl6
21:02 quietfanatic Good * #perl6
21:05 masak quietfanatic! \o/
21:07 quietfanatic I've got a rails app I'm hankering to port to another framework, so naturally I'm considering Perl 6 as one of the possibilities
21:08 masak well, we have Bailador. :)
21:08 masak tadzik++
21:08 quietfanatic Bailador eh?
21:08 masak http://modules.perl6.org/
21:09 quietfanatic aah
21:09 kivutar joined #perl6
21:09 quietfanatic does it do databasey stuff?
21:09 quietfanatic doesn't look like it
21:10 masak no, it's just the webby end.
21:10 masak it's a small Dancer clone.
21:10 quietfanatic I've never seen Dancer, though it looks kinda like Sinatra
21:12 quietfanatic So yeah, I'll need a way of accessing a database.  Is there a good module for that?
21:12 quietfanatic I saw DBIish sitting around
21:12 masak yeah, Dancer is a Sinatra clone :)
21:12 masak I'd recommend DBIish, yes.
21:12 masak look at zblog for how to join them up.
21:13 quietfanatic okay
21:13 masak huh, zblog isn't on http://modules.perl6.org/
21:13 masak http://github.com/tadzik/zblog
21:15 quietfanatic Oh, that looks really simple
21:16 quietfanatic I'll try that formula out.  Thanks for the advice.
21:17 quietfanatic Is this all Rakudo-only?
21:17 Psyche^ joined #perl6
21:17 masak as far as I know.
21:18 quietfanatic Looks like.  It uses zavolaj
21:18 masak I think DBIish has some zav... right.
21:19 masak would be wonderful to have all that work on Niecza somehow, too.
21:20 * lue is beginning to feel that the attempt to split up the CORE.setting step will occur in the vicinity of Perl6::World (at least according to the comments next to NQP's HLL::World)
21:20 masak lue: feels like Perl6::World is at an earlier stage than CORE.setting, though.
21:21 lue Well, if I go with my plan to include similar functionality to gcc -c and ld (that is, separate these two parts of the process)
21:22 quietfanatic Gah, I've been working under rails so long, whenever I type 'vim' I immediately follow it with ' app/'
21:23 lue I can keep trying to mash together files in src/core and try to find the smallest combination of files that will compile, but, esp. if it comes to rearranging the contents of files, that isn't -Ofun at all.
21:24 jnthn lue: What's your goal exactly?
21:24 jnthn I can't help but feel you're setting off on an essentially doomed task...
21:25 lue to split the big CORE.setting -> CORE.setting.pir step. (Or rather, make it less memory-intensive)
21:27 jnthn Making it less memory-intensive is certainly desirable. I just don't think trying to split the step up is likely to be very successful.
21:28 lichtkind joined #perl6
21:28 masak I have my doubts as well.
21:28 felher joined #perl6
21:28 masak and even if you succeed, it's likely to be something of a moving target.
21:29 masak part of the allure of CORE.setting is that it's actually all in one scope.
21:29 lue Well, my goal ultimately is to make that step feasible. I'm willing to toss out the (admittedly grandiose) "let's replicated gcc -c and ld" idea.
21:29 lue s/replicated/replicate/
21:30 jnthn You'd have an easier time reducing memory usage by looking at slimming down data structures.
21:30 jnthn Which is where many of the wins over the last year have come from.
21:30 masak ooh, that sounds like a feasible idea.
21:30 lue Huh. I just looked at the file sizes of CORE.setting and its resultant pir file. I always thought that was taking up all the RAM.
21:31 jnthn Granted most of the low hanging fruit has been eaten. OTOH, I shaved 4 or 8 bytes off every Cursor object within the last week...
21:31 diakopter replied to parrot-dev
21:31 jnthn lue: The space isn't really consumed by the input and output, but rather by the data structures built while compiling.
21:33 whiteknight joined #perl6
21:33 lue sounds like working on memory structure slimming would be fun (although requiring knowledge of the code). I'm assuming these data structures are in nqp (at least mostly)?
21:35 jnthn Yes.
21:35 jnthn One example of a possible saving: right now, in QAST::Node (the base class) there is a @!children or something like that.
21:35 jnthn However, not all node types can have children.
21:36 jnthn There should be some benefit into moving that into a role, which is composed into the various nodes that can have children.
21:42 lue I'm assuming @!children is actually @!array, correct?
21:43 tadzik źblog's getting popular :)
21:45 jnthn lue: yeah
21:45 dalek nqp/highexpect: b30fb7a | jnthn++ | src/Q (2 files):
21:45 dalek nqp/highexpect: Keep :dba(...) values for a bit longer.
21:45 dalek nqp/highexpect:
21:45 dalek nqp/highexpect: This will allow them to make it unti NFA construction time.
21:45 dalek nqp/highexpect: review: https://github.com/perl6/nqp/commit/b30fb7aded
21:45 dalek nqp/highexpect: 68a947d | jnthn++ | src/QRegex/NFA.nqp:
21:45 dalek nqp/highexpect: Remove unused code.
21:45 dalek nqp/highexpect: review: https://github.com/perl6/nqp/commit/68a947dbed
21:45 dalek nqp/highexpect: 00d8597 | jnthn++ | src/ (3 files):
21:45 dalek nqp/highexpect: First crack at high expectation tracking.
21:45 dalek nqp/highexpect: review: https://github.com/perl6/nqp/commit/00d8597a1b
21:46 masak LTM advent post scheduled.
21:46 masak reviews welcome.
21:48 dalek rakudo/stdier: a8d2cc2 | jnthn++ | / (3 files):
21:48 dalek rakudo/stdier: Updates for Cursor memory use reduction refactor.
21:48 dalek rakudo/stdier: review: https://github.com/rakudo/rakudo/commit/a8d2cc2932
21:48 dalek rakudo/stdier: eb1e798 | jnthn++ | tools/build/NQP_REVISION:
21:48 dalek rakudo/stdier: Get NQP with highwater tracking.
21:48 dalek rakudo/stdier: review: https://github.com/rakudo/rakudo/commit/eb1e79810b
21:48 dalek rakudo/stdier: 53daeff | jnthn++ | src/Perl6/World.pm:
21:48 dalek rakudo/stdier: Use highwater to give better locations in errors.
21:48 dalek rakudo/stdier: review: https://github.com/rakudo/rakudo/commit/53daeff501
21:48 dalek rakudo/stdier: 4068131 | jnthn++ | src/ (2 files):
21:48 dalek rakudo/stdier: Try reporting what was expected at high watermark.
21:48 dalek rakudo/stdier: review: https://github.com/rakudo/rakudo/commit/4068131609
21:53 lue masak++ # this blog post feels "strangely consistent" with the ones on your regular blog :)
21:54 masak :)
21:54 masak speking of which, I should blog more on my regular blog.
21:54 masak I think the worst part of this semester's $dayjob time-stealing is over, so I should be looking into that...
21:57 quietfanatic Okay, um, how do I, uh, install a module
21:58 quietfanatic oh, I just found that day 8 post, haha
21:59 sorear o/ quietfanatic
22:00 quietfanatic hello sorear
22:01 tadzik quietfanatic: poke me if something breaks with Bailador
22:01 kivutar joined #perl6
22:02 * masak .oO( next up he's gonna ask "so how do I parse the longest token?" ) :P
22:02 quietfanatic tadzik: will do
22:02 quietfanatic haha
22:05 quietfanatic tadzik: While installing Bailador, "t/05-post-content.t ...... No such method 'decode' for invocant of type 'Any'"
22:07 quietfanatic tadzik: https://gist.github.com/4242187
22:07 tadzik uh-oh
22:07 quietfanatic This is the current git-version of rakudo
22:08 tadzik tring
22:09 masak "tring"?
22:09 quietfanatic "trying"?
22:09 tadzik trying, yep
22:10 tadzik yep, I get the same result
22:10 tadzik let's see if I can fix this quickly
22:11 att__ joined #perl6
22:13 masak "I don't want to understand the problem, I just want to fix it" :P
22:14 tadzik quietfanatic: well, you can always install with --notests
22:15 tadzik flussence broke that :P
22:16 quietfanatic Hm, is it the test that's the problem and not the code then?
22:16 tadzik that might be the only test for that code path
22:17 tadzik POST params may act funny :)
22:17 tadzik and may not (: if źblog works then probably everything's fine
22:17 quietfanatic uh...okay, well, I guess I'll go with it then :)
22:19 flussence the only reason it fails is because the POST code didn't exist before ;)
22:21 tadzik but it does now, and fails. What to do? /o\ :)
22:21 flussence (actually I'm not sure what's wrong with that particular one, I recall trying to fix it then found out a billion things were broken all the way down to the socket functions)
22:21 tadzik I think request() may simply be broken in Bailador::Test
22:21 quietfanatic hm.
22:21 tadzik it's a bit hand-wavey
22:21 flussence IIRC HTTP::Easy will fall over if you try to give it chunked requests too
22:22 quietfanatic I can't do without POST though.
22:24 quietfanatic now to get apache to work with this...
22:28 moritz masak++ # LTM post
22:28 masak \o/
22:29 masak I deliberately stayed away from mentioning declarative prefixes.
22:29 masak if it comes up in the comments, I'll happily explain it.
22:30 jnthn Dang, first crack at highexpect gave useless results :(
22:30 * jnthn tries another way
22:32 moritz .oO( it's water all the way down )
22:33 hash_table joined #perl6
22:36 jnthn moritz: Is status of the sink branch "still segfaulty"?
22:38 fgomez joined #perl6
22:39 masak lol, they actually used the word "mañana" behind me :)
22:40 masak not entirely surprising given that it's 23:40, I guess.
22:41 jnthn it's not a particularly unusual word :P
22:41 masak no, just funny to hear it from a Spanish mouth :)
22:47 masak 'night, #perl6
22:48 rindolf joined #perl6
22:49 dalek nqp/highexpect: 8d297b2 | jnthn++ | src/ (3 files):
22:49 dalek nqp/highexpect: Revert "First crack at high expectation tracking."
22:49 dalek nqp/highexpect:
22:49 dalek nqp/highexpect: Seems this was the wrong approach.
22:49 dalek nqp/highexpect: review: https://github.com/perl6/nqp/commit/8d297b2ee2
22:49 dalek nqp/highexpect: fb3f186 | jnthn++ | src/Q (3 files):
22:49 dalek nqp/highexpect: Another crack at highexpect.
22:49 dalek nqp/highexpect:
22:50 dalek nqp/highexpect: This seems to give better results.
22:50 dalek nqp/highexpect: review: https://github.com/perl6/nqp/commit/fb3f18670b
22:58 pecastro joined #perl6
23:03 fgomez joined #perl6
23:10 imarcusthis joined #perl6
23:10 dalek rakudo/stdier: 0118e3b | jnthn++ | src/Perl6/Grammar.pm:
23:10 dalek rakudo/stdier: Add a bunch of missing :dba(...)s.
23:10 dalek rakudo/stdier: review: https://github.com/rakudo/rakudo/commit/0118e3b4c7
23:10 dalek rakudo/stdier: 5e875b4 | jnthn++ | src/ (2 files):
23:10 dalek rakudo/stdier: s/Confused/Two terms in a row/ when we detect it.
23:10 dalek rakudo/stdier: review: https://github.com/rakudo/rakudo/commit/5e875b479b
23:10 cognominal joined #perl6
23:19 pmurias joined #perl6
23:25 lue jnthn: should the children role be does'd by the QAST::Node inheritors that can use them? (Because I was almost going to put the role in QAST::Node much like how the CompileTimeValue and SpecialArg are)
23:26 jnthn lue: No, we don't mix it in, it is statically "does"'d on the classes that need it.
23:26 jnthn Because we know up front.
23:28 lue OK. I was about to start down that path when I realized mixin-ing could cause the children role to be mixed-in if using it was tried on a subclass that can't use it.
23:38 cognominal E2MUCHBEER, E2MUCHFLUXX
23:43 sorear o/ cognominal
23:45 cognominal at the hackandquack, I am initiating lizmat to the internals of rakudo/nqp :)
23:45 cognominal \o sorear
23:58 lue Would it be alright for me to leave the has @!array line in QAST::Node? I'm getting an error compiling that I think is caused by the "is parrot_vtable_handler" traits attached to @!array
23:58 lue [ Specifically: Method 'add_parrot_vtable_handler_mapping' not found for invocant of class 'NQPParametricRoleHOW' ]

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

Perl 6 | Reference Documentation | Rakudo