Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-05-09

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 * [Coke] goes cross eyed looking at the combine() code from earlier.
00:11 arlinius joined #perl6
00:32 * [Coke] hates hates hates list flattening.
00:32 colomon it certainly is a pain when it happens when you don't want it to.
00:33 [Coke] I'm trying to construct lists of lists, and I just keep ending up with a single list ofelements.
00:33 [Coke] r: my @a = 1,2,3,4; say [@a].perl
00:33 camelia rakudo fe7049: OUTPUT«[1, 2, 3, 4]␤»
00:33 [Coke] r: my @a = 1,2,3,4; say [[@a], [@a]].perl
00:33 camelia rakudo fe7049: OUTPUT«[[1, 2, 3, 4], [1, 2, 3, 4]]␤»
00:36 TimToady r: my @a = 1,2,3,4; say (@a, @a).lol.perl
00:36 camelia rakudo fe7049: OUTPUT«LoL.new([1, 2, 3, 4], [1, 2, 3, 4])␤»
00:38 [Coke] yay, I finally have it working. ;)
00:39 [Coke] and my runtime is now down to 4s from about 19s this morning.
00:39 grondilu n: say (^3).combinations
00:39 camelia niecza v24-42-g69a3432: OUTPUT«Unhandled exception: Unable to resolve method combinations in type Range␤  at /tmp/8dqXgFOJU7 line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4329 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4330 (module-CORE @ 583) ␤  …
00:40 TimToady NYI
00:40 colomon n: say (^3).list.combinations
00:40 camelia niecza v24-42-g69a3432: OUTPUT«Unhandled exception: Unable to resolve method combinations in type List␤  at /tmp/1rEKv4kMBE line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4329 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4330 (module-CORE @ 583) ␤  a…
00:40 TimToady it's been low hanging fruit for a month or two now
00:40 colomon has anyone implemented it?  I don't see spectests in roast...
00:40 grondilu TimToady: does anyone plan on implementing it?
00:41 TimToady colomon: that's what NYI usually means :P
00:41 * grondilu needs it for its rosalind stuff
00:41 colomon Rakudo as well as Niecza.
00:41 grondilu s/its/his/
00:41 colomon grondilu: use List::Utils, it is implemented there (I think)
00:41 grondilu oh, ok.
00:42 colomon as a sub, not a method.
00:42 * TimToady hates any module with the name "Utils", too much like "Misc"
00:42 diakopter Code
00:42 diakopter Engine
00:42 diakopter Library
00:42 * [Coke] updates https://gist.github.com/coke/5541613
00:42 grondilu anyway there should not be a List::Utils module in a programming language that is supposed to be functional.
00:42 diakopter GrabBag
00:43 colomon TimToady: I didn't think List::RoutinesThatIThinkShouldBeInCoreButTimToadyHasntAgreedYet would fly as a name.
00:44 * TimToady doesn't see anything wrong with that one :)
00:44 cooper- joined #perl6
00:44 colomon Though I actually added combinations there after it was already spec, hoping to get feedback on the implementation.  Never did.
00:45 TimToady by and large, I'd rather universally useful routines end up in core rather than in modules; worst case: "use Math;"
00:45 TimToady if it ends up bloating, we can always load them lazily
00:45 grondilu colomon: why didn't you put it in core directly?  One implementation is always better than no implementation.
00:49 * TimToady mislikes computer languages that don't think math is fundamental
00:50 grondilu yeah, that's one thing I like about perl6:  lots of standard math stuff are in core, not in modules.
00:52 colomon grondilu: never wrote a combinations routine before.  was hoping for feedback before adding it to one of the implementation's cores.  that's all.
00:52 TimToady any combinations routine is better than none :)
00:52 grondilu there is a simple implementation in rosettacode anyway
00:53 TimToady especially if it lets us start writing tests
00:53 colomon TimToady: spoken like someone who hasn't seen all the crap code I've written in the last 31 years.
00:53 TimToady "I weep for you," the Walrus said, "I deeply sympathize."
00:54 colomon also, there are tests, in List::Utils, of course.  ;)
00:54 colomon afk # pub
00:55 grondilu it's supposed to be in List.pm, right?
00:58 * grondilu writes .combinations
00:58 grondilu from http://rosettacode.org/wiki/Combinations#Perl_6
01:02 anuby joined #perl6
01:04 grondilu r: use MONKEY_TYPING; augment class List { multi method combinations(Int $of) { ... } }
01:04 camelia rakudo fe7049: OUTPUT«Cannot look up attributes in a type object␤current instr.: 'gimme' pc 285305 (src/gen/CORE.setting.pir:125270) (src/gen/CORE.setting:6051)␤called from Sub 'sink' pc 294412 (src/gen/CORE.setting.pir:128913) (src/gen/CORE.setting:6359)␤called from Sub 'MAIN' pc 381 (…
01:04 grondilu ^why?
01:06 grondilu r: use MONKEY_TYPING; augment class Int { multi method foo() { ... } }
01:06 camelia rakudo fe7049:  ( no output )
01:07 * grondilu is confused
01:07 grondilu r: use MONKEY_TYPING; augment class Int { multi method combinations(Int of) { ... } }
01:07 camelia rakudo fe7049: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Missing blockâ�¤at /tmp/obCLSgidkz:1â�¤------> [32ms Int { multi method combinations(Int of[33mâ��[31m) { ... } }[0mâ�¤    expecting any of:â�¤        statement listâ�¤        prefix or termâ�¤        prefix or meta-prefixâ�¤Â»
01:08 grondilu r: use MONKEY_TYPING; augment class Int { multi method combinations(Int $of) { ... } }
01:08 camelia rakudo fe7049:  ( no output )
01:08 grondilu what's so special about List that prevents me from augmenting it?
01:09 TimToady n: use MONKEY_TYPING; augment class List { multi method combinations(Int $of) { ... } }
01:09 camelia niecza v24-42-g69a3432: OUTPUT«Potential difficulties:â�¤  $of is declared but not used at /tmp/X5jn3R8ZOa line 1:â�¤------> [32mss List { multi method combinations(Int [33mâ��[31m$of) { ... } }[0mâ�¤â�¤Â»
01:10 TimToady niecza++ is fine with it
01:10 grondilu should I submit a rakudobug?
01:10 TimToady r: use MONKEY_TYPING; augment class List { proto method combinations(|) {*} }
01:10 camelia rakudo fe7049: OUTPUT«Cannot look up attributes in a type object␤current instr.: 'gimme' pc 285305 (src/gen/CORE.setting.pir:125270) (src/gen/CORE.setting:6051)␤called from Sub 'sink' pc 294412 (src/gen/CORE.setting.pir:128913) (src/gen/CORE.setting:6359)␤called from Sub 'MAIN' pc 381 (…
01:10 TimToady seems
01:11 * grondilu submits rakudobug
01:13 TimToady r: use MONKEY_TYPING; augment class Any { proto method combinations(|) {*} }
01:13 camelia rakudo fe7049:  ( no output )
01:13 TimToady might work around by poking it into Any, since most list methods have a representative there in any case
01:16 FROGGS_ joined #perl6
01:25 grondilu r:  use MONKEY_TYPING; augment class Any { proto method combinations(|) {*} }; my @a = ^3; say .perl for @a.combinations: 1;
01:25 camelia rakudo fe7049: OUTPUT«No such method 'combinations' for invocant of type 'Array'␤  in block  at /tmp/H5LCdF2KN2:1␤␤»
01:26 grondilu r:  use MONKEY_TYPING; augment class Any { multi method combinations(Int $of) {...} }; my @a = ^3; say .perl for @a.combinations: 1;
01:26 camelia rakudo fe7049: OUTPUT«No such method 'combinations' for invocant of type 'Array'␤  in block  at /tmp/uih3icdnsx:1␤␤»
01:26 [Coke] :  use MONKEY_TYPING; augment class Array { multi method combinations(Int $of) {...} }; my @a = ^3; say .perl for @a.combinations: 1;
01:26 [Coke] r:  use MONKEY_TYPING; augment class Array { multi method combinations(Int $of) {...} }; my @a = ^3; say .perl for @a.combinations: 1;
01:26 camelia rakudo fe7049: OUTPUT«Failure.new(exception => X::AdHoc.new(payload => "Stub code executed"))␤»
01:27 [Coke] (since you're probably working on arrays anyway.)
01:27 grondilu r: my @a = ^10; say @a ~~ Any
01:27 camelia rakudo fe7049: OUTPUT«True␤»
01:27 grondilu should Any work as well?
01:27 grondilu s/should/&n't/
01:30 TimToady it doesn't match because you declared $of to be Int
01:30 TimToady maybe
01:30 TimToady oh, nevermind
01:31 * TimToady shouldn't try to think today
01:32 TimToady I don't know why it didn't call the one in Any
01:37 TimToady n: use MONKEY_TYPING; augment class Any { method combinations(Int $of) { ... } }; my @a = ^3; .perl.say for @a.combinations(1)
01:37 camelia niecza v24-42-g69a3432: OUTPUT«Potential difficulties:â�¤  $of is declared but not used at /tmp/cDFvOvnzQ2 line 1:â�¤------> [32ment class Any { method combinations(Int [33mâ��[31m$of) { ... } }; my @a = ^3; .perl.say fo[0mâ�¤â�¤Unhandled exception: >>>Stub code executedâ�¤  at /tmp/cDFvOvnzQ2 …
01:37 grondilu this seems to work.  At least for Array:  https://gist.github.com/grondilu/5544948
01:37 TimToady r: use MONKEY_TYPING; augment class Any { method combinations(Int $of) { ... } }; my @a = ^3; .perl.say for @a.combinations(1)
01:37 camelia rakudo fe7049: OUTPUT«No such method 'combinations' for invocant of type 'Array'␤  in block  at /tmp/CSLhRsx5bx:1␤␤»
01:37 grondilu r: https://gist.github.com/grondilu/5544948
01:37 camelia rakudo fe7049: OUTPUT«[3, 4]␤[2, 4]␤[2, 3]␤[1, 4]␤[1, 3]␤[1, 2]␤[0, 4]␤[0, 3]␤[0, 2]␤[0, 1]␤»
01:37 TimToady r: say Array.mro
01:37 camelia rakudo fe7049: OUTPUT«No such method 'mro' for invocant of type 'Array'␤  in block  at /tmp/44_gicjhJd:1␤␤»
01:37 TimToady r: say Array.^mro
01:37 camelia rakudo fe7049: OUTPUT«(Array) (List) (Iterable) (Cool) (Any) (Mu)␤»
01:39 TimToady grondilu: kind of a weird order, backwards from usual
01:40 grondilu TimToady: it's because I put the map in second place to avoid parenthesis
01:40 TimToady r: use MONKEY_TYPING; augment class Cool { method combinations(Int $of) { ... } }; my @a = ^3; .perl.say for @a.combinations(1)
01:40 camelia rakudo fe7049: OUTPUT«No such method 'combinations' for invocant of type 'Array'␤  in block  at /tmp/FrJuRBib1P:1␤␤»
01:40 TimToady grondilu: that seems like a weak reason
01:41 TimToady I guess the other thing we might think about is whether there's a way to generate these lazily
01:41 grondilu no.  It's the actual reason.
01:41 grondilu r: https://gist.github.com/grondilu/5544948
01:41 camelia rakudo fe7049: OUTPUT«[0, 1]␤[0, 2]␤[0, 3]␤[0, 4]␤[1, 2]␤[1, 3]␤[1, 4]␤[2, 3]␤[2, 4]␤[3, 4]␤»
01:41 grondilu here you go
01:43 grondilu as far as lazyness is concerned, I guess we could force it with a gather take, couldn't we?
01:43 * grondilu thinks that a gather take in a recursive function might be a bad idea
01:43 TimToady not sure, given how it returns partial results
01:44 grondilu I don't know then.
01:44 * TimToady thinks that if it's a bad idea, gather/take is poorly optimized
01:44 TimToady same for dynamic variables in general, oughta be able to cache things locally within a CALLER or two to keep things fast
01:45 grondilu I suggest we mention these concerns in the RosettaCode entry, so that if someone has a good idea, he can write it there.
01:50 TimToady here's a tilted version of "blueprint Camelia" if you want that: http://wall.org/~larry/cameliawbtilt.png
02:08 kurahaupo joined #perl6
02:17 xinming joined #perl6
02:17 lustlife joined #perl6
02:18 satyavvd joined #perl6
02:36 colomon List::Utils combination is not recursive, for what it's worth....
02:37 _jaldhar joined #perl6
02:57 _jaldhar joined #perl6
03:13 xinming joined #perl6
03:14 sjohnson joined #perl6
03:16 Util joined #perl6
03:31 labster r: List.WHAT
03:31 camelia rakudo fe7049: OUTPUT«Cannot look up attributes in a type object␤current instr.: 'gimme' pc 285305 (src/gen/CORE.setting.pir:125270) (src/gen/CORE.setting:6051)␤called from Sub 'sink' pc 294412 (src/gen/CORE.setting.pir:128913) (src/gen/CORE.setting:6359)␤called from Sub 'MAIN' pc 381 (…
03:31 labster r: Cool.WHAT
03:31 camelia rakudo fe7049:  ( no output )
03:32 labster yeah, no idea what's going on here.
03:32 diakopter r: say Any.WHAT
03:32 camelia rakudo fe7049: OUTPUT«(Any)␤»
03:32 diakopter r: say (Any).WHAT
03:32 camelia rakudo fe7049: OUTPUT«(Any)␤»
03:32 labster r: Iterable.WHAT
03:32 camelia rakudo fe7049:  ( no output )
03:32 diakopter r: say List.HOW
03:32 camelia rakudo fe7049: OUTPUT«Perl6::Metamodel::ClassHOW.new()␤»
03:32 diakopter o_O
03:33 sorear we found this bug last wek
03:33 sorear week
03:34 sorear the List type object does not like to be .sink'ed
03:34 diakopter r: say List.^methods
03:34 camelia rakudo fe7049: OUTPUT«new Bool Int end fmt flat list lol flattens tree Capture Parcel eager elems exists gimme infinite iterator munch pick pop roll reverse rotate shift splice sort classify categorize uniq REIFY STORE_AT_POS FLATTENABLE_LIST FLATTENABLE_HASH keys values pairs kv reduce…
03:35 diakopter r: say List.new.WHAT
03:35 camelia rakudo fe7049: OUTPUT«(List)␤»
03:35 diakopter r: say defined List
03:35 camelia rakudo fe7049: OUTPUT«False␤»
03:35 diakopter r: say defined List.new
03:35 camelia rakudo fe7049: OUTPUT«True␤»
03:37 labster r: sink List;
03:37 camelia rakudo fe7049:  ( no output )
03:38 diakopter r: say (sink List).WHAT
03:38 camelia rakudo fe7049: OUTPUT«Nil␤»
03:38 diakopter r: say (list List).WHAT
03:38 camelia rakudo fe7049: OUTPUT«(List)␤»
03:38 diakopter he.
03:38 diakopter heh.
03:39 labster If that came out as (Range), then we would have had a problem
03:39 diakopter r: say (list ;).WHAT.WHAT
03:39 camelia rakudo fe7049: OUTPUT«(List)␤»
03:40 labster r: say List.WHAT
03:40 camelia rakudo fe7049: OUTPUT«(List)␤»
03:41 diakopter r: print List.WHAT
03:41 camelia rakudo fe7049: OUTPUT«use of uninitialized value of type List in string context  in block  at /tmp/WIPfe_836h:1␤␤»
03:41 diakopter r: print List.new.WHAT
03:41 camelia rakudo fe7049: OUTPUT«use of uninitialized value of type List in string context  in block  at /tmp/5pnG_PJ5yf:1␤␤»
03:42 preflex_ joined #perl6
03:42 diakopter r: print List.gist
03:42 camelia rakudo fe7049: OUTPUT«(List)»
03:42 diakopter argh
03:45 lue joined #perl6
04:06 satyavvd joined #perl6
04:15 zby_home joined #perl6
04:22 bonsaikitten joined #perl6
04:25 Psyche^ joined #perl6
04:36 kaleem joined #perl6
04:47 kaare_ joined #perl6
04:47 fgomez joined #perl6
05:22 SamuraiJack joined #perl6
06:39 birdwindupbird joined #perl6
06:44 eternaleye joined #perl6
07:00 eternaleye joined #perl6
07:11 rindolf joined #perl6
07:12 moritz good morning
07:14 diakopter hi
07:19 FROGGS morning
07:34 lizmat good morning on this holiday (at least over here)
07:34 FROGGS o/
07:35 * FROGGS has a holiday too
07:35 * moritz too, unsurprisingly
07:35 FROGGS :o)
07:38 raiph good *
07:39 FROGGS hi raiph
07:41 diakopter hi.
07:42 FROGGS \o
07:59 moritz mysql takes 9 minutes to create an index, and 8 to drop it again
08:00 FROGGS moritz: irclog database?
08:00 lizmat MYISAM?
08:00 FROGGS how big (filesize) is that thing?
08:00 tadzik diakopter: *poke*
08:01 lizmat if I remember correctly, an index in MyISAM is part of the table itself, so creating or dropping an index, is effectively a rebuild
08:01 moritz FROGGS: yes; about 0.6GB
08:01 lizmat that's why the drop is shorter than the create, because the resulting file is smaller
08:02 lizmat it's pure i/o bound
08:02 moritz lizmat: ah, so it create a complete copy of the database
08:02 lizmat table
08:02 moritz erm, yes
08:02 lizmat a database is a directory
08:02 moritz in this case, the database has only one table :-)
08:02 lizmat a table is N files in that directory
08:03 FROGGS 0.6GB?? wow, that is not much
08:03 lizmat why are you using MyISAM anyway, wouldn't InnoDB be better ?
08:03 moritz hysterical raisins
08:03 lizmat table would become 2x as big on disk
08:04 moritz but since I have nearly no concurrent writes, and no foreign keys, there's not much reason to switch to InnoDB
08:04 lizmat but you wouldn't have to wait for reading when doing inserts
08:04 moritz but I plan to migrate to postgres anway
08:04 lizmat ok, so it's one table for all channels ?
08:04 moritz yes
08:05 lizmat seems like having one table / channel would at least save you the "channel id" column everywhere
08:05 lizmat if this is in one table because of searching, then please don't use MySQL for searching
08:05 lizmat but create an elastic search backend or so
08:05 moritz but it would make listing of all channels much harder in a cross-DB fashion
08:06 lizmat but anyway, you were going to migrate to PostgreSQL
08:06 moritz lizmat: the plan is to use apache lucy for fulltext search
08:06 lizmat cool
08:06 moritz (the successor of KinoSearch)
08:06 moritz I have a branch which does that, but it's not yet ready for usage
08:06 lizmat sounds like a plan to me
08:09 Ulti joined #perl6
08:10 cognominal joined #perl6
08:11 moritz mysql really annoys me
08:11 moritz I have the query SELECT DISTINCT(day) FROM irclog WHERE channel = '#perl6'  ORDER BY day
08:12 moritz and it uses the index on irclog(day, channel)
08:12 moritz so far so good
08:12 moritz I change the query to
08:12 moritz SELECT DISTINCT(day) FROM irclog WHERE channel = '#perl6' AND nick <> ''  ORDER BY day;
08:12 moritz and create an index on irclog(day, channel, nick)
08:12 moritz and the select doesn't use it
08:12 moritz but rather uses only the index on irclog(channel), and a temporary table from there on
08:13 * lizmat is scratching her head to try to remember why that is
08:14 lizmat it's been well over a year since I was deep into MySQL
08:15 lizmat there is a command that will tell you how MySQL optimizes a query
08:15 tadzik explain?
08:16 lizmat yup, that's the one
08:16 lizmat so what does EXPLAIN SELECT DISTINCT(day)…. say?
08:18 lizmat http://dev.mysql.com/doc/refman/5.0/en/explain-output.html for an explanation of that output
08:21 labster good morning, all
08:22 lizmat morning labster!
08:22 * lizmat off for some fitness
08:22 labster lizmat: was my blog post useful to you?
08:23 jnthn morning, #perl6
08:23 FROGGS morning labster
08:23 FROGGS morning jnthn
08:24 labster morning FROGGS, jnthn
08:24 moritz lizmat: http://perlpunks.de/paste/show/518b5d1f.2b48.198 that's the output from two explains
08:24 dag_ joined #perl6
08:24 moritz oh, that one was missing the group by
08:25 dag_ moritz: Create an index on irclog(channel, nick, day)
08:25 dag_ Oh, and use PostgreSQL instead ;-)
08:25 moritz dag_: I tried that first
08:25 moritz it didn't use that index
08:26 arnsholt Does ordering of the columns matter?
08:26 dag_ arnsholt: Yes.
08:26 dag_ moritz: Are you sure you created the index with the columns in the order I gave?
08:26 moritz if you do an index (foo, bar), it'll build a tree optimized for first search foo, then bar
08:27 arnsholt Ah, right
08:27 moritz dag_: I've tried both day first and day last; I kinda hope the order of the other two doesn't matter match, because the query is commutative
08:28 moritz but I can try again, just to be sure
08:28 * moritz waits for another 9 or 10 minutes
08:28 dag_ moritz: In my experience the first column in the index should be included in the WHERE clause in the query.
08:28 Ulti moritz: try giving an index hint
08:28 Ulti also this is why I hate mysql
08:29 FROGGS moritz: if you remember the discussion from yesterday, I believe Foo.WHO is not connected to $*PACKAGE.WHO I do when building the ast
08:29 jnthn class Foo { ...when you're compiling this, $*PACKAGE in the compiler is Foo }
08:30 dag_ moritz: Also, have you run ANALYZE TABLE for query planner statistics (if that exists on MySQL)?
08:31 kivutar joined #perl6
08:31 Ulti moritz: http://dev.mysql.com/doc/refman/5.1/en/index-hints.html  try giving a hint for the order by
08:32 Ulti I've never had index hints actually work for me though :S
08:32 moritz I'll switch to postgres within two months, I promise.
08:33 dag_ moritz: You'll never look back :-)
08:33 moritz I already use it for new projects
08:33 Ulti I used postgres for my dayjob about 9 years ago, it was better than the latest mysql I use today
08:33 FROGGS jnthn: right
08:34 moritz Ulti: I'm curious, do you have experience with replication with postgres?
08:34 Ulti nope, only in mysql
08:34 dag_ moritz: I have
08:36 FROGGS jnthn: I have something like: module Foo { our @a; my @b; say Foo:WHO<$test> } # and putting something in ($*PACKAGE.WHO)<$test> in the our decl, and printing its content within the my decl
08:36 FROGGS jnthn: but at runtime (Foo.Who)<$test> is (Any)
08:36 FROGGS (Foo:WHO<$test> was a typo here in irc)
08:36 dag_ moritz: It is quite easy to set up, and works like a charm. Do you have any particular questions regarding PG replication?
08:37 jnthn FROGGS: Can I see the patch?
08:37 FROGGS hmmm, quiet messy
08:38 FROGGS jnthn: just look at line 20 and 80 :o) https://gist.github.com/FROGGS/a30afd1fef1d2a742a96
08:40 moritz dag_: just if it works in practise, and if there is monitoring for it
08:41 FROGGS jnthn: so within the my-block it prints 7, and I would export to get that at runtime too (or at least a warning that this is not a p6opaque)
08:42 jnthn nqp::say( $?PACKAGE );
08:42 jnthn Did you mean $*PACKAGE there?
08:42 FROGGS maybe, yeah
08:43 jnthn ($*PACKAGE.WHO){$name} := make $past; # that is a huge confusion of object space and AST
08:43 dag_ moritz: Yes, it works really well. The only real snag I've run into is that directories for tablespaces aren't automatically created on the slave(s). Simple solution: Use only the default tablespace (doesn't matter with recent disk systems, anyway)
08:43 FROGGS jnthn: true, recognized it after doing that :o)
08:43 jnthn It's $cont that needs to go in there.
08:43 moritz dag_: ok, thanks
08:43 FROGGS jnthn: that is the command I run: make install && perl6 -e 'package Foo { { our @x; say @x }; my $y; say (Foo.WHO)<$hurz> }'
08:44 jnthn yeah but
08:44 jnthn ($?PACKAGE.WHO)<$hurz> := 7;
08:44 jnthn You've installed the thing in Perl6::Actions::<$hurz>
08:44 FROGGS -.-
08:44 FROGGS feels a bit stupid
08:45 jnthn Should be $*PACKAGE
08:45 FROGGS my previous line is missing /action
08:45 FROGGS cool, thanks so far
08:46 FROGGS jnthn: and I can bind $cont directly to ($*PACKAGE.WHO){$name}? I have to do something like around line 75, right?
08:48 FROGGS reading in #perl isn't healthy most times
08:48 FROGGS last question was about your mentioned object space <> ast
08:50 * dag_ goes back to log-lurking. Keep up the good work!
08:50 dag_ left #perl6
08:50 jnthn FROGGS: yes, 'cus $cont is a real object (Scalar, or Array, or something)
08:50 FROGGS ahh, cool
08:51 jnthn I'd rather this code ends up in World.pm too, like add_leical_container is.
08:51 jnthn But that can come after getting it working :)
08:51 arnsholt Ooooh, rurban's latest on blogs.perl.org may explain why I've never gotten gdb's reverse debugging working
08:52 dmol joined #perl6
08:53 FROGGS jnthn: ya, just trying to understand whow it needs to be done right now
08:53 FROGGS I know what needs to be done though
09:03 FROGGS btw, the moment you get a hint/help from jnthn is equal to the moment where the amélie unravels the mystery about the shredded photos in the movie Amélie
09:04 FROGGS perl6 -e 'package Foo { { our @x }; say Foo.WHO }'
09:04 FROGGS ("\@x" => []).hash
09:04 FROGGS \o/
09:05 arnsholt FROGGS: Nice comparison =D
09:05 FROGGS it is just missing the nice bright light here :o)
09:13 dalek nqp/rak-jvm-support: 07fa71f | jnthn++ | src/vm/parrot/pmc/nqplexpad.pmc:
09:13 dalek nqp/rak-jvm-support: Add state variable support to NQPLexPad.
09:13 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/07fa71fd0e
09:14 * jnthn has got a working (modulo running spectests) Rakduo that doesn't use Perl6LexInfo/Perl6LexPad
09:15 tadzik woosh :) jnthn++
09:15 jnthn Trouble is, something I've done has made the CORE.setting build slower...so need to track that down.
09:16 FROGGS wow, that's what I call progress :o  # jnthn++
09:19 arnsholt jnthn: Very cool!
09:20 jnthn Now just gotta hope the slowdown reveals itself without too much hunting...
09:20 jnthn Ruled out that it's just the NQP changes that are to blame.
09:21 moritz how much slower is it?
09:21 berekuk joined #perl6
09:21 jnthn moritz: Too much. Like, < 80s to ~100s. o.O
09:21 moritz not glacial, but easy to measure :-)
09:21 jnthn Yes.
09:22 jnthn Well, well enough that I should hunt it down.
09:22 labster Sounds like ~200s on my machine.
09:22 tadzik heh, +1
09:22 labster jnthn:  can you (or someone) add constants for STAT_UID, STAT_GID, and STAT_ISLNK to vm/parrot/QAST/Operations.nqp?  Looks like it's already on the Java side.
09:25 labster I've been looking at OS.pm, trying to track down places I could get rid of pir references -- and mostly just getting lost in the code.  But that one looks easily replaced.
09:30 masak g'antenoon, #perl6
09:30 FROGGS hi masak
09:33 nwc10 jnthn: when you say "working (modulo running spectests) Rakduo" do you mean Rakudo on Parrot, but using the same NQP as will do the JVM?
09:36 FROGGS moritz: didn't you say that this is invalid? https://github.com/perl6/roast/blob/master/S04-declarations/our.t#L53
09:36 jnthn nwc10: Rakudo on Parrot, after one of the refactors to make things portable.
09:38 FROGGS r: package Foo { { our $x = 7 }; { say $x } } # valid or invalid?
09:38 camelia rakudo fe7049: OUTPUT«7␤»
09:40 nwc10 I take it that Perl6LexInfo/Perl6LexPad are PMCs written in C?
09:41 FROGGS I think so too
09:41 jnthn nwc10: Yeah.
09:41 jnthn nwc10: And they did a lot of stuff that was a real pain for porting.
09:41 nwc10 oh, gosh
09:42 FROGGS jnthn: after you made rakudo portable too, do you think one can port nqp/rakudo to Go in a reasonable timeframe?
09:44 jnthn FROGGS: I think you'd need to work out how to solve the module loading and eval like stuff first.
09:45 FROGGS hmmm, I see
09:45 nwc10 Go compiles to native code, doesn't it? Rather than to a VM?
09:46 arnsholt Yeah, that's gonna be tricky
09:46 nwc10 well, it sort of means that it's going to be the same pair of problematic answers for any language that compiles to native code (and possibly the same answer)
09:47 arnsholt A native code generating Perl 6 compiler would be awesome, of course
09:47 jnthn Right.
09:47 nwc10 and a third problem question answer of "Garbage Collection?" if the language you wanted to target doesn't have it
09:47 nwc10 IIRC C++ somewhere in the future is talking about GC
09:47 FROGGS Go has a GC afaik
09:47 arnsholt Go is GCed
09:47 nwc10 yes, afaik Go does. And commented that on a 32 bit system that inevitably means that your integers can often look like pointers
09:47 jnthn It's best to figure out how to solve the Really Hard Project-Killer problem early, rather than in the middle of things :)
09:48 nwc10 so, Go and C++-with-a-GC are roughly the same problem, aren't they?
09:48 nwc10 and Rust
09:49 arnsholt Go is always statically linked. That's another important difference
09:49 nwc10 oh. that's going to be fun
09:49 arnsholt Yup
09:51 nwc10 in which case, it's not clear whether it will be possible to port to Go in any reasonable timeframe
09:51 nwc10 and whether it's going to be that *useful* to do so
09:51 nwc10 what does Go give you, as a target "machine"? Seems, really, only a garbage collector
09:52 FROGGS well, the only reason for doing it at all is performance
09:52 nwc10 you have to implement module loading (for ahead of time compiled modules) and eval all by yourself.
09:53 FROGGS yeah, havn't thought of that :/
09:53 nwc10 nor had I.
09:53 jnthn Well, managed to get from 100s to 88s.
09:53 FROGGS \o/
09:53 jnthn That's "better"
09:53 FROGGS jnthn: can you do that on my machine too?
09:54 FROGGS :o)
09:54 jnthn As in, still slower than before but not ridiculously.
09:54 nwc10 you didn't tell us what the previous speed was :-)
09:54 jnthn nwc10: 80s or so
09:54 nwc10 as far as I can see, you just said "<80s"
09:54 jnthn nwc10: It was around 79s or so
09:54 nwc10 aha, OK, so it's about 10% slower.
09:55 jnthn Yeah. I'm not *that* worried in so far as I've now hidden something that used to be spread all over Rakudo behind an interface.
09:55 nwc10 yes, to me that sounds like a fair trade
09:55 jnthn The speedup I just got was from implementing the thing behind it a little better.
09:55 jnthn I'm pretty sure that with more effort, we can go one better again.
09:56 jnthn oh noes, test fails
09:56 arnsholt How do you decide where to optimise in cases like this, BTW?
09:56 arnsholt Do you just meditate on the source, or use some kind of profiling tool?
09:57 jnthn arnsholt: Well, in this case I knew what I'd changed so it was largely a case of putting changes in one by one to understand which one was most guilty.
10:01 arnsholt That makes sense
10:05 FROGGS well, I think it is a bit like with chuck norris: the code does what jnthn++ wants
10:08 masak there's gotta be bloggable material around "how to contain legacy code so that it can be improved/refactored".
10:08 moritz n: package Foo { { our $x = 7 }; { say $x }  }
10:08 camelia niecza v24-42-g69a3432: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Variable $x is not predeclared at /tmp/DGqMb3JCnC line 1:â�¤------> [32mpackage Foo { { our $x = 7 }; { say [33mâ��[31m$x }  }[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (…
10:08 moritz FROGGS: niecza is correct here
10:08 jnthn std: package Foo { { our $x = 7 }; { say $x }  }
10:08 camelia std b33d8e0: OUTPUT«ok 00:00 43m␤»
10:08 jnthn STD also.
10:09 masak jnthn: sometimes it feels like the activity on the #parrot channel is a soft smattering of individual locutions against a flow of your rak-jvm-support commits.
10:09 FROGGS moritz / jnthn: how can both be right? it is ok for STD but not for niecza
10:10 moritz then std is wrong
10:10 FROGGS then the test file is wrong
10:10 moritz aye
10:10 masak yeah.
10:13 jnthn Oh, argh
10:13 jnthn I misread, sorry
10:13 FROGGS np
10:13 jnthn Yeah, I think STD is wrong there too
10:13 FROGGS the spec is not very clear here, just a single line -.-
10:15 FROGGS I guess I'll add an example
10:15 mathw STD *looks* wrong
10:15 mathw maybe
10:15 masak I haz a Perl 6 day today, at least a partial one.
10:15 mathw I always get confused over what the scope of an 'our' variable actually is
10:15 masak \o/
10:15 mathw \o/
10:16 masak plan for the day: post-process the #masakism material. I'd also like to get going a discussion about some of the solutions, if possible.
10:16 masak and then start planning my talks for PLPW and YAPC::NA.
10:16 masak so, yeah, expect some of that.
10:18 kivutar joined #perl6
10:18 FROGGS nr: package Foo { { our $x = 7 }; { say $Foo::x } }
10:18 camelia rakudo fe7049, niecza v24-42-g69a3432: OUTPUT«7␤»
10:18 FROGGS nr: package Foo { { our $x = 7 }; { say (Foo.WHO)<$x> } }
10:18 camelia rakudo fe7049, niecza v24-42-g69a3432: OUTPUT«7␤»
10:18 kaare_ joined #perl6
10:18 spider-mario joined #perl6
10:23 masak tadzik: I removed you as a contributor to masak/workshop. you can get reinstated any time you want; I just wanted to save you from a flood of new-issue notification emails ;)
10:28 FROGGS n: our @a = 1..3, say @a[1]
10:28 camelia niecza v24-42-g69a3432: OUTPUT«(Any)␤»
10:29 cognominal joined #perl6
10:29 FROGGS n: our @a = 1..3; say @a[1]
10:29 camelia niecza v24-42-g69a3432: OUTPUT«2␤»
10:29 FROGGS p: our @a = 1..3; say @a[1]
10:29 camelia pugs: OUTPUT«2␤»
10:39 dalek nqp/rak-jvm-support: dd8ebc1 | jnthn++ | src/vm/parrot/pmc/nqplexpad.pmc:
10:39 dalek nqp/rak-jvm-support: Fix thinko in state handling.
10:39 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/dd8ebc1277
10:39 dalek nqp/rak-jvm-support: b6921f3 | jnthn++ | src/vm/parrot/ (2 files):
10:39 dalek nqp/rak-jvm-support: Better static lexical code-gen.
10:39 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/b6921f3b9a
10:50 dalek rakudo/jvm-support: 8b818bb | jnthn++ | src/vm/parrot/guts/bind.c:
10:50 dalek rakudo/jvm-support: Remove dead code.
10:50 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/8b818bb4e4
10:50 dalek rakudo/jvm-support: 15df62e | jnthn++ | / (11 files):
10:50 dalek rakudo/jvm-support: Eliminate Perl6Lex[Pad&Info].
10:50 dalek rakudo/jvm-support:
10:50 dalek rakudo/jvm-support: This switches over to using the new QAST::Var features instead. Gets
10:50 dalek rakudo/jvm-support: rid of the StaticLexPad type too, plus a Parrot-specific bit of the
10:50 dalek rakudo/jvm-support: BOOTSTRAP.
10:50 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/15df62e68f
10:55 masak rn: my $n = 280498592333870327168239948174​3033703427656749129565173066; say [~] gather while $n { take chr $n % 256; $n div= 256 }
10:55 camelia rakudo fe7049: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/S3RlVE2iB0:1â�¤------> [32mmy $n = 280498592333870327168239948174[33mâ��[31m​3033703427656749129565173066; say [~] g[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infix…
10:55 camelia ..niecza v24-42-g69a3432: OUTPUT«[31m===[0mSORRY![31m===[0m��Confused at /tmp/bbzWNNGqW2 line 1:�------> [32mmy $n = 280498592333870327168239948174[33m�[31m​3033703427656749129565173066; say [~] g[0m��Parse failed��»
10:55 masak hm? is there a control character in there I don't see?
10:55 jnthn r: say "74​30".ords
10:55 camelia rakudo fe7049: OUTPUT«55 52 8203 51 48␤»
10:55 masak o.O
10:56 jnthn Apparently... :)
10:56 masak ok.
10:56 lizmat moritz: what strikes me in the EXPLAIN output is the size of the key, and the number of rows it will check
10:56 lizmat seems like the first query, it will check *all* records in the table (~2M?)
10:56 jnthn .u 8203
10:56 yoleaux No characters found
10:56 lizmat and a key length of 93 bytes?
10:57 masak rn: my $n = 2804985923338703271682399481743033703427656749129565173066; say [~] gather while $n { take chr $n % 256; $n div= 256 }
10:57 camelia rakudo fe7049, niecza v24-42-g69a3432: OUTPUT«Just another Perl hacker␤»
10:57 masak \o/
10:57 masak rn: say 2804985923338703271682399481743033703427656749129565173066.base(256)
10:57 camelia niecza v24-42-g69a3432: OUTPUT«Unhandled exception: base must be between 2 and 36, got 256␤  at /home/p6eval/niecza/lib/CORE.setting line 1504 (die @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 860 (Int.base @ 6) ␤  at /tmp/bUHxGp31by line 1 (mainline @ 3) ␤  at /home/p6eval/niec…
10:57 camelia ..rakudo fe7049: OUTPUT«base must be between 2 and 36, got 256␤  in method gist at src/gen/CORE.setting:10022␤  in method gist at src/gen/CORE.setting:893␤  in sub say at src/gen/CORE.setting:10920␤  in block  at /tmp/JjzYt7Ne4W:1␤␤»
10:57 moritz lizmat: there are nearly 7M rows in the table
10:57 moritz lizmat: so more likely all #perl6 rows
10:59 lizmat as you can see, the second query checks a lot less rows...
10:59 lizmat also: somebody suggested ANALYZE TABLE.  am not sure anymore whether that works for MyISAM or not
11:00 lizmat what you want to prevent, is getting "using filesort" in the "Extra" column
11:00 lizmat "using temporary" can also be bad, especially if there is not enough RAM to keep temp tables and it has to go to disk for that
11:01 dalek nqp/rak-jvm-support: e36459c | jnthn++ | src/NQP/World.nqp:
11:01 dalek nqp/rak-jvm-support: Simplify code-gen with QAST::Var changes.
11:01 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/e36459cd40
11:01 dalek nqp/rak-jvm-support: 6abffdf | jnthn++ | src/vm/parrot/QAST/Operations.nqp:
11:01 dalek nqp/rak-jvm-support: Remove a now-unrequired NQP op.
11:01 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/6abffdf969
11:01 dalek nqp/rak-jvm-support: 54c8c67 | jnthn++ | src/vm/parrot/stage0/ (9 files):
11:01 dalek nqp/rak-jvm-support: Update bootstrap.
11:01 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/54c8c67f3c
11:01 dalek nqp/rak-jvm-support: 29cecf5 | jnthn++ | src/vm/parrot/pmc/nqplexinfo.pmc:
11:01 dalek nqp/rak-jvm-support: Simplify NQPLexInfo by removing unused bits.
11:01 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/29cecf5ebc
11:03 lizmat in any case, I would probably create a lookup table for channel name -> SMALLINT translation, and then use a SMALLINT for channel
11:03 lizmat I assume the channel is now a VARCHAR(31) or so?
11:04 moritz yes
11:07 moritz several times I've been pretty close to redesigning the whole thing
11:07 moritz with separate tables for networks, channels and actual log lines
11:08 tadzik masak: makes sense, thanks :)
11:08 moritz but, so far it worked just fine
11:11 lizmat if it suddenly became slower, it is usually because it runs out of RAM for TEMP tables
11:11 lizmat and then has to go to disk, which is ~ 2K times slower
11:12 moritz it became slower because I changed the query :-)
11:12 lizmat if it goes to disk, then it is slow, and basically unusable for any interactive environment
11:12 moritz UTF-8 test for the logs: ø
11:13 lizmat wrt to "channel", are you really expecting UTF-8 characters in there?
11:13 moritz no
11:13 lizmat then by disallowing UTF-8, you would reduce the size of the VARCHAR by a factor of 3
11:13 lizmat because MySQL saves space for the "worst" case
11:14 lizmat having it as an index, makes it worse  :-)
11:14 moritz does a VARCHAR really allocate all the space it could possibly need?
11:15 lizmat yup, that's why it says "93" for keylen in the first EXPLAIN output  3 x 31
11:16 moritz anyway, I'm working on migrating to postgresql
11:17 lizmat http://dev.mysql.com/doc/refman/5.0/en/charset-column.html
11:17 lizmat would be a simple ALTER TABLE that will reduce the size of the table by 7M * 62 bytes
11:17 moritz I've been wanting to do that for quite some time, and I've enough of mysql's idiosyncracies
11:17 masak moritz++ # getting off mysql
11:17 masak walk &
11:19 lizmat moritz: by all means
11:19 lizmat labster: yes, your blog post was *very* useful!
11:25 census joined #perl6
11:26 Chillance joined #perl6
11:27 Ayiko joined #perl6
11:27 lizmat fwiw, I usually used MySQL as a key/value store mostly, and did the hard work in Perl.  Mostly because of large datasets and temp tables on disk
11:27 lizmat back in 20 mins
11:41 MrMeek-afk joined #perl6
12:00 kresike joined #perl6
12:00 kresike hello all you happy perl6 people
12:02 lizmat kresike!
12:03 kresike lizmat, o/
12:05 dalek nqp/rak-jvm-support: a0423c9 | jnthn++ | src/vm/jvm/ (2 files):
12:05 dalek nqp/rak-jvm-support: Initial JVM backend updates for QAST::Var extras.
12:05 dalek nqp/rak-jvm-support:
12:05 dalek nqp/rak-jvm-support: Gets the static case working; also removes the same unrequired op that
12:05 dalek nqp/rak-jvm-support: went away in the Parrot backend.
12:05 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/a0423c9d62
12:05 dalek nqp/rak-jvm-support: b201370 | jnthn++ | src/vm/jvm/ (2 files):
12:05 dalek nqp/rak-jvm-support: Stub some ops, implment nqp::getlexouter.
12:05 dalek nqp/rak-jvm-support:
12:05 dalek nqp/rak-jvm-support: Can do a much more optimal implementation of this later.
12:05 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/b201370eb9
12:05 dalek nqp/rak-jvm-support: b428c0e | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
12:06 dalek rakudo/jvm-support: 3a277df | jnthn++ | tools/build/Makefile-JVM.in:
12:06 dalek rakudo/jvm-support: Unbitrot JVM Makefile.
12:06 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/3a277dfd92
12:13 dalek rakudo/jvm-support: b24d10d | jnthn++ | src/Perl6/World.nqp:
12:13 dalek rakudo/jvm-support: Use correct compunit API.
12:13 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/b24d10d00f
12:13 nwc10 oh, goalposts just moved
12:17 jnthn Yeah...now I get to line 137 of CORE.setting :P
12:18 nwc10 that's line 137 when building with Rakudo atop NQP-JVM?
12:18 jnthn Yeah
12:18 jnthn Explodes at a BEGIN
12:20 lizmat grrr…  ack by default skips .nqp files?
12:21 masak lizmat: yes, probably. but there's supposed to be an easy way to configure such things.
12:21 lizmat .ackrc I assume
12:21 masak alester++ will know.
12:22 lizmat ack --perl does *not* include .nqp
12:22 lizmat at least not in the 1.96 version that I have  :-)
12:25 * masak .oO( does not quite include .nqp... )
12:25 dmol joined #perl6
12:28 * lizmat decides to go with -a
12:35 masak oh, and the 'has %!elems{Any};' patch from yesterday? it fails with something that looks like a circularity saw issue.
12:35 masak 'Could not find sub &infix:<but>'
12:38 woosley1 joined #perl6
12:39 jnthn May be fixable by moving Set after where but is defined
12:39 tadzik lizmat: ack --parrot should include it
12:40 masak jnthn: will look into that.
12:43 lizmat_ joined #perl6
12:45 nwc10 FROGGS: I suspect that curently the most interesting targets performance wise to try porting NQP to, are the Hydrogen or Lithium APIs of V8, the Rubinius VM, and PyPy's RPython VM
12:46 nwc10 as they will all already have native codegen, a VM, dynamic loading, and a way to "eval"
12:46 * lizmat_ is looking at supporting "class Dog:auth<cpan:JRANDOM>:ver<1.2.1>;" as a step towards supporting "use Dog:auth<cpan:JRANDOM>:ver<1.2.1>
12:46 lizmat_ so inside src/Perl6/Metamodel/ClassHOW.nqp I find a "new_type" method that already apparently support "ver" and "auth"
12:47 lizmat_ rn: class Foo:auth<JRANDOM> {}
12:47 camelia rakudo fe7049, niecza v24-42-g69a3432:  ( no output )
12:47 jnthn r: class Dog:auth<cpan:JRANDOM>:ver<1.2.1> { }; say Dog.^auth # curious
12:47 camelia rakudo fe7049: OUTPUT«No such method 'gist' for invocant of type 'NQPMu'␤  in sub say at src/gen/CORE.setting:10920␤  in block  at /tmp/Y5ccBkfhhA:1␤␤»
12:47 jnthn r: class Dog:auth<cpan:JRANDOM>:ver<1.2.1> { }; say Dog.^ver # curious
12:47 camelia rakudo fe7049: OUTPUT«No such method 'gist' for invocant of type 'NQPMu'␤  in sub say at src/gen/CORE.setting:10920␤  in block  at /tmp/1c4bguJKQL:1␤␤»
12:47 lizmat_ but either this new_type is not getting called
12:47 lizmat_ or something else amiss
12:47 jnthn I suspect it's getting called but not passed the auth/ver :)
12:47 lizmat_ so where would I need to look to fix that?
12:48 jnthn package_def in Grammar.pm
12:48 lizmat_ I mean, we're going to need that *before* we can actually do stuff in that direction, right?
12:48 jnthn It feels like a sensible first step, at least.
12:48 * lizmat_ is looking
12:50 lizmat_ nice little 200 line rule  :-)
12:50 FROGGS nwc10: yeah, younds reasonable
12:51 lizmat_ jnthn: thanks for the pointer, will look at it tomorrow
12:51 FROGGS lizmat_: have a look for colonpairs following the package_name or what it is called
12:51 nwc10 as a complete "Armchair expert", I'd suspect that of those, from what I've read, PyPy is the "strangest"
12:52 nwc10 fglock is investigating v8 for perlito, so he probably has a good reason
12:52 lizmat_ need to run errands first before getting to the Niederrhein PM meeting
12:52 FROGGS nwc10: in what way?
12:52 ajr joined #perl6
12:52 nwc10 and Rubinus is C++ atop LLVM, so that might be the easiest as far as code integration goes with C code
12:52 nwc10 PyPy *seems* (and I stress seems) to be a complete self contained runtime
12:52 nwc10 where you write your low level stuff in rpyhton
12:52 FROGGS I'm not sure we should choose by easy-ness, but by profit
12:53 nwc10 er, rpython
12:53 lizmat_ afk for rest of the day
12:53 FROGGS bye lizmat_
12:53 jnthn o/ lizmat_
12:53 nwc10 OK, only v8 runs on "both" kinds of architecture (for two levels of "both")
12:53 nwc10 (ARM vs x86, and (sort of) i386 vs x86_64)
12:53 nwc10 I think that LLVM is on more
12:54 nwc10 RPython's JIT seems ot be on the same 3 as v8
12:54 nwc10 "profit" right now is whichever is easiest to get bootstrapping
12:54 dalek nqp/rak-jvm-support: 91b43a6 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/Serialization (2 files):
12:54 dalek nqp/rak-jvm-support: Invocation spec handling in serializer.
12:54 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/91b43a6766
12:55 FROGGS nwc10: profit for me is like have an awesome startup speed for e.g. small scripts
12:55 nwc10 please note, I remain I complete armchair expert on this. I've only read stuff
12:55 nwc10 FROGGS: in which case, bootstrap "hello world" atop all 3
12:55 nwc10 and rule out any that takes too long
12:56 jnthn Hm. So seems I've reached the point where I need to take care of the container stuff properly on the JVM.
12:56 nwc10 jnthn: or drink?
12:56 jnthn nwc10: Or that ;)
12:56 jnthn May go and take a walk...it seems nice-ish outside :)
12:57 nwc10 you weren't asking for advice, but given everyhing you've said, I'll recommend the walk
12:58 FROGGS well, a nice cold glass of beer has something to do with container stuff
12:58 nwc10 *one* nice glass of beer is only sufficient for testing scalars
12:59 FROGGS ya, stopped raining here, maybe I take a walk too with wife and kids
12:59 nwc10 if he had Koelsh, it would be safe to test nested aggregates
12:59 FROGGS *gg*
12:59 FROGGS but who wants Kölsch anyway?
13:02 bluescreen10 joined #perl6
13:07 PacoAir joined #perl6
13:13 woosley1 left #perl6
13:15 [Coke] hurm. this line:       $text ~~ /^( +)/; -- dies with Method 'rxtype' not found for invocant of class 'Integer'
13:15 [Coke] (compile time, even.)
13:16 Ayiko .tell grondilu re your text matrix->hash of hashes gist: https://gist.github.com/Ayiko/5547016 (yes I'm late)
13:16 yoleaux Ayiko: I'll pass your message to grondilu.
13:20 PerlJam [Coke]: Well, at least it lets you know that there's something wrong with the regex :)
13:20 Ayiko [Coke]: you want to escape the space or point out the missing quantifier quantifies nothing error message?
13:20 [Coke] it's the regex - it was ^(\s+), and I wrongly changed it to ^( +) instead of ^ (' '+) -- weird error, though.
13:21 PerlJam [Coke]: yeah, the message is severely LTA
13:21 [Coke] Yah. just a better error message would help. (especially with a line number.)
13:21 Ayiko /(+)/ gives the right error
13:21 [Coke] of course I changed 8 other things at the same time, so it took me a minute to realize. ;)
13:23 [Coke] r: my $a = Nil // 0.1; say $a;
13:23 camelia rakudo fe7049: OUTPUT«0.1␤»
13:27 pmurias joined #perl6
13:45 masak [Coke]: are you submitting that LTA bug, or should I?
13:46 betterworld joined #perl6
13:48 dalek nqp/rak-jvm-support: 50aa523 | jnthn++ | src/vm/parrot/ops/nqp.ops:
13:48 dalek nqp/rak-jvm-support: Avoid lots of indirect calls in NFA evaluation.
13:48 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/50aa52352d
13:48 dalek nqp/rak-jvm-support: ef11486 | jnthn++ | src/QRegex/P6Regex/Actions.nqp:
13:48 dalek nqp/rak-jvm-support: Proper error for / +/.
13:48 dalek nqp/rak-jvm-support:
13:48 dalek nqp/rak-jvm-support: Reported by [Coke]++.
13:48 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/ef114861dd
13:49 rjbs joined #perl6
13:50 pmurias FROGGS: do you plan to start a native code nqp/rakudo backend or are just curious about the options?
13:50 alester lizmat: If you're not up on ack 2.0, do so.
13:51 PerlJam nqp: my $_ := ""; /^( +)/;
13:51 camelia nqp: OUTPUT«Method 'rxtype' not found for invocant of class 'Integer'␤current instr.: 'capnames' pc 35479 (src/stage2/gen/NQPP6QRegex.pir:12478) (src/stage2/gen/NQPP6QRegex.nqp:923)␤»
14:09 FROGGS pmurias: I don't plan to start anything, at least not as long as v5 needs that much love :o)
14:09 SamuraiJack joined #perl6
14:09 berekuk joined #perl6
14:10 FROGGS but I'd be happy if I could help making rakudo faster, whatever this means
14:10 FROGGS PerlJam: looks like it expects a QAST::Regex subrule, but gets an Integer
14:11 FROGGS nqp: my $_ := ""; /^( ~)/; # String?
14:11 camelia nqp: OUTPUT«Unrecognized regex metacharacter ~ (must be quoted to match literally) at line 2, near " ~)/; # St"␤current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)␤»
14:11 FROGGS hmm, okay it's not a quantifier...
14:13 jnthn FROGGS: I already pushed a fix. :)
14:13 jnthn Oh, though in a branch...
14:13 jnthn But that should merge in not too long...
14:13 crab2313 joined #perl6
14:14 donaldh joined #perl6
14:17 FROGGS jnthn: patch for our-vars, not sure if you like it: https://gist.github.com/FROGGS/f8c145d91f3934df7810
14:22 arlinius joined #perl6
14:27 skids joined #perl6
14:30 dmol joined #perl6
14:30 xilo joined #perl6
14:30 jnthn -            :state(1));
14:30 jnthn +            :scope('state'));
14:30 jnthn um, don't do that...
14:31 FROGGS okay, why?
14:31 jerome joined #perl6
14:31 jnthn oh, hmm...maybe it's OK
14:31 gtodd masak: would you like me to add links to the solutions on each of the workshop pages ?  e.g. [Solutions](https://gist.github.com/masak/5496294#oneliner) on https://github.com/masak/workshop/edit/master/ONELINER.md
14:32 * jnthn has a bunch of changes in this chunk of code in this branch so only half appreciates the changes :P
14:32 jnthn This looks much correcter than what we had before, though.
14:33 FROGGS my patch passes the spectests (with the earlier mentioned corrections), and now I'll go through the ~12 rt tickets about our-things
14:34 jnthn Yeah
14:34 FROGGS is the name $*W.install_lexical_container bad for our-vars? I didnt want to duplicate it because my and our shared too much
14:34 jnthn I think it's fine, and certainly better than what we've got. I'll just have to re-work a chunk of it.
14:34 benabik joined #perl6
14:34 jnthn 'cus I changed install_lexical_container a lot.
14:34 FROGGS k
14:35 FROGGS k
14:35 jnthn Yeah, it's not the best name for it...
14:35 jnthn I would have preferred to have an install_package_container and factor out the commonalities into a third method.
14:35 jnthn But that can come later, I guess.
14:36 FROGGS k, I'll think about proper names after rt-tickets
14:36 jnthn Doing more changes like that will just make the merge conflicts we'll get even more of a pain to fix.
14:36 FROGGS hmmm, true
14:37 jnthn Alternatively, just do the patch right off in the jvm-support branch ;)
14:37 FROGGS meh
14:37 FROGGS I need it for v5
14:37 jnthn ah
14:38 FROGGS almost every test file (~480 files) starts with: BEGIN { @INC = qw(../lib) }
14:41 masak gtodd: I dunno; adding solutions to the exercise pages feels wrong to me.
14:41 masak gtodd: I'm fully OK with associating them somehow with the workshop -- but putting them in the path of people who haven't written their own solutions yet feels somehow... weird.
14:44 gtodd masak:right ...
14:44 gtodd maybe put a link somewhere but not on the problem page itself !
14:45 gtodd or adding "(don't peek!!) "
14:45 gtodd hahha
14:45 berekuk joined #perl6
14:47 frdmn joined #perl6
14:52 masak :)
14:52 masak gtodd: the more I think of it, the more fine I am with *not* having an explicit association between the two, and just have the URL of the gist spread by "word of mouth".
14:53 ajr joined #perl6
14:53 masak it's already a great resource for lots of solutions, and worth mining for all kinds of reasons. but it's "outside" of the workshop, in the sense that it's based on it, not the other way around.
14:55 MrMeek joined #perl6
15:00 grondilu joined #perl6
15:00 dalek perl6-examples: 31cd8f7 | (L. Grondin)++ | rosalind/qrt-grondilu.pl:
15:00 dalek perl6-examples: (rosalind) QRT
15:00 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/31cd8f7867
15:00 dalek perl6-examples: 903e508 | (L. Grondin)++ | parsers/CSSGrammar.pm:
15:00 dalek perl6-examples: Merge branch 'master' of github.com:perl6/perl6-examples
15:00 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/903e5089be
15:00 thou joined #perl6
15:05 dalek roast: 9780900 | (Tobias Leich)++ | S04-declarations/our.t:
15:05 dalek roast: changed test to match spec
15:05 dalek roast:
15:05 dalek roast: Our-vars are only available in the block where they are created.
15:05 dalek roast: review: https://github.com/perl6/roast/commit/978090035a
15:05 dalek roast: 8c3db86 | (Tobias Leich)++ | S04-declarations/our.t:
15:05 dalek roast: added tests for RT #100560, #102876 and #117083
15:05 dalek roast: review: https://github.com/perl6/roast/commit/8c3db86165
15:06 TimToady (unless you say $OUR::foo of course)
15:06 TimToady nr: { our $foo = 42 }; say $OUT::foo
15:06 camelia rakudo fe7049, niecza v24-42-g69a3432: OUTPUT«(Any)␤»
15:06 TimToady nr: { our $foo = 42 }; say $OUR::foo
15:06 camelia rakudo fe7049, niecza v24-42-g69a3432: OUTPUT«42␤»
15:07 TimToady npr: { our $foo = 42 }; say $foo
15:07 camelia niecza v24-42-g69a3432: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Variable $foo is not predeclared at /tmp/twodZXI8kQ line 1:â�¤------> [32m{ our $foo = 42 }; say [33mâ��[31m$foo[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5) â�¤  at…
15:07 camelia ..rakudo fe7049, pugs: OUTPUT«42␤»
15:07 TimToady niecza++
15:07 masak moving Set.pm forward in the setting recipe triggered a "maximum recursion depth exceeded" during build.
15:08 masak now trying to move operators.pm backward instead :)
15:09 TimToady .oO(Windows isn't an operating system, it's just a boot-ordering system...)
15:09 FROGGS TimToady: of course... the last example is already fixed for rakudo locally
15:09 TimToady locally++
15:09 FROGGS *g*
15:09 jnthn masak: You may want to grab a patch out of the jvm-support branch that makes those fail in a nicer way
15:10 jnthn Well, some ofthose :)
15:14 masak jnthn: ok
15:14 masak moving operators.pm backwards seemed to work...
15:15 jnthn masak: OK :)
15:17 kresike bye folks
15:18 dalek roast: b1e5c0e | (Tobias Leich)++ | S04-declarations/our.t:
15:18 dalek roast: added test for RT #117775
15:18 dalek roast: review: https://github.com/perl6/roast/commit/b1e5c0ede7
15:19 FROGGS nr: sub foo { our $bar = 3 }; foo; say our $bar
15:19 camelia rakudo fe7049: OUTPUT«Potential difficulties:â�¤    Redeclaration of symbol $barâ�¤    at /tmp/LSvzUtqetk:1â�¤    ------> [32m foo { our $bar = 3 }; foo; say our $bar[33mâ��[31m<EOL>[0mâ�¤3â�¤Â»
15:19 camelia ..niecza v24-42-g69a3432: OUTPUT«3␤»
15:21 kingbeast joined #perl6
15:22 dalek perl6-examples: 1f26706 | (L. Grondin)++ | rosalind/monoisotopic-mass-table.txt:
15:22 dalek perl6-examples: (rosalind) adding monoisotopic mass table
15:22 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/1f26706426
15:24 rindolf joined #perl6
15:27 xenoterracide jnthn how's the jvm port coming?
15:29 dalek roast: b84a6e0 | (Tobias Leich)++ | S04-declarations/our.t:
15:29 dalek roast: added test for RT #115630
15:29 dalek roast: review: https://github.com/perl6/roast/commit/b84a6e05fc
15:33 jnthn xenoterracide: Steadily making progress. I'm onto the "get it to build some of the setting" phase by now, which means the compiler/MOP/bootstrap compile on the JVM already. It's all just a bit useless until a good chunk of the setting works :)
15:36 pmurias FROGGS: good ;),  v5 is important
15:37 xenoterracide jnthn++
15:37 colomon rn: say ~Complex
15:37 camelia niecza v24-42-g69a3432: OUTPUT«Complex()␤»
15:37 camelia ..rakudo fe7049: OUTPUT«use of uninitialized value of type Complex in string context  in block  at /tmp/2MkRuapVmd:1␤␤␤»
15:38 colomon hurmph
15:38 FROGGS nr: use Test; eval_lives_ok 'our macro hoo() { }'
15:38 xenoterracide maybe I'll look at p6 more once my little pet project is done (I need a replacement for Google Reader by July First that I like)
15:38 camelia rakudo fe7049: OUTPUT«(timeout)»
15:38 camelia ..niecza v24-42-g69a3432: OUTPUT«# Exception: Action method macro_def not yet implemented␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5) ␤  at /home/p6eval/niecza/src/STD.pm6 line 5639 (STD.sorry @ 7) ␤  at /home/p6eval/niecza/src/NieczaActions.pm6 line 63 (NieczaActio…
15:38 FROGGS :o(
15:40 colomon rn: say Complex.perl
15:40 camelia rakudo fe7049, niecza v24-42-g69a3432: OUTPUT«Complex␤»
15:45 dalek roast: e47d7ae | (Solomon Foster)++ | S32-container/stringify.t:
15:45 dalek roast: Start of stringify tests for Set type objects.
15:45 dalek roast:
15:45 dalek roast: Adds basic stringification tests for Set, KeySet, Bag, and KeyBag.  Surely many more tests can be added along these lines, but these have catastrophic issues in Niecza at the moment, so this is a fine place to start.
15:45 dalek roast: review: https://github.com/perl6/roast/commit/e47d7ae988
15:46 gtodd joined #perl6
15:55 dns joined #perl6
16:00 dalek roast: 7ab0e95 | (Tobias Leich)++ | S04-declarations/our.t:
16:00 dalek roast: fixed tests, $OUR:: is needed because of lives_ok's block
16:00 dalek roast: review: https://github.com/perl6/roast/commit/7ab0e956c7
16:03 FROGGS r: for our $:: ();
16:03 camelia rakudo fe7049: OUTPUT«===SORRY!===␤ResizablePMCArray: index out of bounds!␤»
16:03 FROGGS r: for my $:: ();
16:03 camelia rakudo fe7049: OUTPUT«===SORRY!===␤ResizablePMCArray: index out of bounds!␤»
16:04 diakopter r: $::
16:04 camelia rakudo fe7049: OUTPUT«===SORRY!===␤ResizablePMCArray: index out of bounds!␤»
16:04 diakopter few months ago or more
16:13 masak can anyone make sense of this backtrace during Rakudo build (after applying a patch to make Set take non-Str keys)? https://gist.github.com/masak/5548488
16:13 masak if not, I think I'm stuck on that one. it looked promising there for a while. :)
16:14 masak (by the way, this feels like another circularity saw error)
16:14 jnthn No, that makes no sense to me...
16:15 lizmat joined #perl6
16:18 diakopter lizmat: wb!
16:19 * lizmat at the Niederrhein.PM meeting
16:19 lizmat <lurk mode="on">
16:34 frdmn joined #perl6
16:40 sjohnson joined #perl6
16:40 colomon r: say ~Set
16:40 camelia rakudo fe7049: OUTPUT«use of uninitialized value of type Set in string context  in block  at /tmp/g4noW1nJjj:1␤␤␤»
16:41 masak missing :U somewhere?
16:41 masak r: say ~Int
16:41 camelia rakudo fe7049: OUTPUT«use of uninitialized value of type Int in string context  in block  at /tmp/fehyY3gjMn:1␤␤␤»
16:41 grondilu how could I get the number of decimals from a rational?
16:41 yoleaux 13:16Z <Ayiko> grondilu: re your text matrix->hash of hashes gist: https://gist.github.com/Ayiko/5547016 (yes I'm late)
16:42 gtodd joined #perl6
16:42 colomon grondilu: what do you mean? number of decimals it has?  number of decimals that will be printed?  Something else?
16:44 arnsholt grondilu: Why do you need to know?
16:45 arnsholt Remember that the number of decimals in an expansion depends on the base, and might not be finite
16:45 grondilu example: 3.141 should give 3
16:45 grondilu so I mean base 10
16:45 arnsholt And the same Rat might have an infinite amount of decimals in one base, but not in another
16:45 colomon grondilu: what should 1/7 give?
16:46 grondilu oh, I mean litteral decimal
16:46 grondilu so it's not from a rational, it's from a decimal.
16:47 colomon decimal string?
16:47 colomon '
16:47 grondilu yeah
16:47 benabik r: say ~(1/7)
16:47 camelia rakudo fe7049: OUTPUT«0.142857␤»
16:47 grondilu 1/7 is not a decimal
16:48 arnsholt grondilu: There's nothing built-in to get that (and I don't think there should be), but it shouldn't be too hard to extract
16:48 arnsholt Hmm. Or it might actually be a bit tricky to compute
16:48 PerlJam grondilu: if it's a literal, how come you don't know how many decimals places you typed in?
16:48 arnsholt But again, what do you need this for?
16:48 grondilu PerlJam: I get it from stdin
16:48 berekuk joined #perl6
16:48 grondilu (and I don't chose it)
16:49 PerlJam oh, so it's a string
16:49 jeffreykegler joined #perl6
16:50 arnsholt Oh, if it's from stdin, I'd probably just m/^^ [\d+] \. (\d+) $$/ and get the length of $1
16:50 PerlJam assuming "good" data, find the length of the string, find the position of the decimal, subtract  :)
16:50 grondilu I need to do this because I must compare a number to an other one, and consider them equals if the difference is below the precision of the first one.
16:52 grondilu example:  compare 128.0586 and 128.05858.  The difference 0.00002.  That's below the precision of the first one, thus the number are considered equals.
16:52 grondilu see?
16:53 arnsholt Right. I'd probably go with the regex solution
16:53 * grondilu had wished for a more elegant way
16:54 Pleiades` joined #perl6
16:55 colomon greatly doubt there is a more elegant way
16:55 gdey joined #perl6
16:55 * grondilu wonders if there should not be a Decimal class inheriting from Rat
16:55 colomon because for your purposes, 3.02 and 3.020000 need to give different results, right?
16:55 grondilu colomon: non-significative zeros are non-significative
16:56 colomon grondilu: why?!
16:56 benabik If 3.1000 == 3.001, I'd be surprised.
16:56 grondilu hang on.  Well, maybe they are indeed.  It's not clear in my problem.
16:57 colomon grondilu: do I really have to specify 3.019999 to say it's 3.02 to six places?
16:57 grondilu it's for http://rosalind.info/problems/sgra/ in case you wonder.
16:57 grondilu colomon: I don't chose the data :/
16:59 gtodd joined #perl6
17:01 benabik Rakudo doesn't have Rat.nu and .de?
17:01 grondilu r: say (1/3).de
17:01 camelia rakudo fe7049: OUTPUT«No such method 'de' for invocant of type 'Rat'␤  in block  at /tmp/dOOJw8k2Aw:1␤␤»
17:01 jnthn .numerator
17:02 grondilu r: say (1/3).nude[1]
17:02 camelia rakudo fe7049: OUTPUT«3␤»
17:02 benabik Ah.  HAve to remember how to spell it correctly.  Spec has .nu/.de though.
17:02 * grondilu realizes that he doesn't know if nude means 'naked' or 'NUmeratorDEnominator'  :-)
17:02 benabik Does it matter?
17:03 FROGGS dalek: you there?
17:03 moritz \o
17:05 FROGGS ahh, github is slow too
17:05 FROGGS hi moritz
17:05 arnsholt grondilu: Knowing TimToady and this place in general, it probably means both =)
17:06 moritz well, just ask yourself how you would name a method that returns both parts of a fraction
17:06 diakopter top-and-bottom
17:07 diakopter .both
17:07 grondilu 'break'?
17:07 grondilu but .nude is totally fine, anyway
17:08 benabik let (Rational nu de) = rat
17:11 moritz what about Emotional rats?
17:11 grondilu what I could do as well is turn a decimal number such as 3.13159 into 0.00001.  It should not be too difficult with a regex either.
17:13 grondilu r: say "3.14159".subst(/\d/, "0", :g).subst(/\d$/, "1")
17:13 camelia rakudo fe7049: OUTPUT«0.00001␤»
17:14 grondilu do you see any shorter way?
17:14 MrMeek-afk joined #perl6
17:17 grondilu r: say $_ / .subst(/\./, "") given "3.14159"
17:17 camelia rakudo fe7049: OUTPUT«0.00001␤»
17:17 * grondilu is happy with this one
17:19 grondilu r: say $_ / .subst(/\./, "") given 3.14159
17:19 camelia rakudo fe7049: OUTPUT«0.00001␤»
17:21 [Coke] masak: i didn't submit that bug and am just getting back.
17:23 colomon r: say $_ / .subst(/\./, "") given "3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148"
17:23 camelia rakudo fe7049: OUTPUT«1e-105␤»
17:24 spider-mario joined #perl6
17:24 colomon r: say "3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148".comb.Int
17:24 camelia rakudo fe7049: OUTPUT«107␤»
17:24 * colomon has no idea why that worked
17:24 dalek roast: b30e9a8 | (Tobias Leich)++ | S04-declarations/our.t:
17:24 dalek roast: added test for #76450
17:24 dalek roast: review: https://github.com/perl6/roast/commit/b30e9a822a
17:24 * colomon has it figured out.
17:24 moritz colomon: .comb returns a list, .Int the number of elements
17:24 * moritz too slow
17:25 masak [Coke]: so, shall I?
17:25 domidumont joined #perl6
17:26 colomon moritz: that's not the question.  the question is why is grondilu's approach correct, given that the number in question is much to precise to store in a Rat?
17:27 moritz r: say "3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148".Numeric.^name
17:27 camelia rakudo fe7049: OUTPUT«Rat␤»
17:27 grondilu how does it store it then?  Presumably, it stores it in a good approximation, thus the result is still correct.
17:28 * masak submits [Coke]'s rakudobug
17:28 pmurias FROGGS: why v5 won't support goto?
17:28 colomon n: say "3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148".Numeric.^name
17:28 camelia niecza v24-42-g69a3432: OUTPUT«Num␤»
17:29 FROGGS pmurias: because I dont have a clue to do that
17:29 FROGGS how*
17:29 colomon r: say "3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148".Numeric.Str
17:29 camelia rakudo fe7049: OUTPUT«3.1415926535897932492247264235629700124263763427734375␤»
17:29 colomon r: say "3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148".Numeric.nude
17:29 camelia rakudo fe7049: OUTPUT«785398163397448309615660845819875721049292349843776455243736148076954101571552249657008706335529266995537 250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000␤»
17:29 FROGGS but I've already heard it should be possible, I just forgot to change the readme
17:29 colomon Ah, so Rakudo's Rat is still broken!  Handy for grondilu's purposes....
17:29 pmurias r: goto foo;say "not ok";foo: say "ok";
17:29 camelia rakudo fe7049: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/R1CEdUXSYk:1â�¤------> [32mgoto foo;say "not ok";foo[33mâ��[31m: say "ok";[0mâ�¤    expecting any of:â�¤        argument listâ�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infixâ�¤        statement e…
17:30 grondilu colomon: .subst(/\./, "") turns it into a big integer anyway.
17:30 [Coke] masak: por favor.
17:30 colomon grondilu: yes, but you're still using the original number in your division.
17:30 pmurias r: goto "foo";say "not ok";foo: say "ok";
17:30 camelia rakudo fe7049: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/6VqwBDRnen:1â�¤------> [32mgoto "foo";say "not ok";foo[33mâ��[31m: say "ok";[0mâ�¤    expecting any of:â�¤        argument listâ�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infixâ�¤        statement…
17:30 grondilu doesn't matter much, as long as it's a good approx
17:31 [Coke] masak: ... looks like it was already fixed in an nqp branch
17:31 moritz rakudo doesn't even parse labels
17:31 colomon grondilu: pretty sure it works here because it is exact.  but that's a Rakudobug
17:31 colomon n: say "3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148".FatRat.nude
17:31 camelia niecza v24-42-g69a3432: OUTPUT«785398163397448309615660845819875721049292349843776455243736148076954101571552249657008706335529266995537 250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000␤»
17:31 grondilu what value would have you expected??
17:32 colomon n: say "3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148".Rat.nude
17:32 camelia niecza v24-42-g69a3432: OUTPUT«355 113␤»
17:32 grondilu nr: say $_ / .subst(/\./, "") given "3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148"
17:32 camelia niecza v24-42-g69a3432: OUTPUT«1E-105␤»
17:32 camelia ..rakudo fe7049: OUTPUT«1e-105␤»
17:33 masak [Coke]: I included that fact in the RT ticket.
17:33 [Coke] masak++
17:33 colomon grondilu: it should be close but perhaps not exact if the calculations are done with Nums instead of (Fat)Rat and (big)Int
17:34 masak [Coke]: https://rt.perl.org/rt3/Ticket/Display.html?id=117931
17:34 colomon by spec it should be Nums here, but Rakudo lets Rats be FatRats.
17:34 grondilu I'm pretty sure it's close enough so that Num does not make the difference
17:35 masak (brian d foy)++ # http://stackoverflow.com/questions/124652/should-i-learn-play-with-perl-6/125797#125797
17:36 colomon n: say $_.FatRat / .subst(/\./, "") given "3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148"
17:36 camelia niecza v24-42-g69a3432: OUTPUT«0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001␤»
17:36 colomon n: say $_.FatRat / .subst(/\./, "") given "3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196442881097566593344612847564823378678316527120190914564856692346"
17:36 camelia niecza v24-42-g69a3432: OUTPUT«0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000…
17:37 colomon :)
17:37 colomon that's the portable p6 way to do it if you're worried about insane amounts of precision.
17:38 grondilu neh, dont need that
17:38 moritz seen on HN: "After decades of publish-or-perish sweatshop science I'm sure the great shining archive of scientific truth is sort of like an inbox with no spam filter."
17:39 arnsholt Yeah, there were some gems in those threads
17:39 colomon grondilu: I'm just happy there's a way to do it at all!   I was working p6 for a couple of years before we got bigints and fatrats working...
17:39 arnsholt And some screaming ignorance as well
17:39 moritz rn: $_ = "3.1415926535897932384626433832795028841971693993751058"; s/\d/0/g; s/0$/1/; .say
17:39 camelia rakudo fe7049: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of /g; in Perl 6 please use :g�at /tmp/D5htwT6rfy:1�------> [32m33832795028841971693993751058"; s/\d/0/g[33m�[31m; s/0$/1/; .say[0m�»
17:39 camelia ..niecza v24-42-g69a3432: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Unsupported use of suffix regex modifiers; in Perl 6 please use prefix adverbs at /tmp/n0goy7Zk2g line 1:â�¤------> [32m33832795028841971693993751058"; s/\d/0/g[33mâ��[31m; s/0$/1/; .say[0mâ�¤Other potential difficulties:â�¤  Un…
17:39 moritz rn: $_ = "3.1415926535897932384626433832795028841971693993751058"; s:g/\d/0/; s/0$/1/; .say
17:40 camelia rakudo fe7049, niecza v24-42-g69a3432: OUTPUT«0.0000000000000000000000000000000000000000000000000001␤»
17:40 moritz here's a string-only way to do it :-)
17:40 colomon moritz: grondilu already did that back there somewhere, only using subst
17:41 moritz ok, I didn't backlog :-)
17:45 masak daxim is not here. I'm trying to follow his advice at http://irclog.perlgeek.de/perl6/2013-05-02#i_7009867 looking for nice real-world problems on StackOverflow. so far I've learned that ikegami++ and (brian d foy)++ write really nice answers to Perl questions, but I haven't found any good material to base exercises on.
17:45 masak am I searching stackoverflow in the wrong way?
17:46 masak is there a way to search stackoverflow that brings out a lot of nice real-world problems solvable in Perl?
17:46 masak daxim writes "mostly mundane of course, but also sometimes illustrative of program design, pick from them instead". what I'm finding is not even mundane, but questions such as "why is there only one '=' in '<=>'" or "why does Perl have a reputation as a write-only language".
17:49 FROGGS well, I dont know stackoverflow well, but usually ppl tend to describing a single problem, not their project
17:49 FROGGS so I dont know if his advice is actually a good one
17:49 masak I don't feel I'm finding bits that are big enough, or cohesive enough, to use in a workshop.
17:50 masak and I'm wondering if it's because of the way I search, or because of the actual questions on there.
17:50 FROGGS ya, it might be easier to ask the ppl here what they usually do at work, and abstract reoccouring bits
17:51 FROGGS general db-access could be such a candidate
17:52 moritz one thing that comes up on perlmonks regularly is reading two files, and then joining them on a column
17:52 moritz or sometimes on two columns
17:52 masak ooh.
17:52 masak that might even be a good one for the non-beginner track.
17:52 * masak adds an issue
17:52 masak moritz++
17:52 moritz or filtering out lines from one file if a certain column exits in the second file
17:52 moritz there are many variations
17:52 masak aye.
17:52 moritz another one that comes up pretty often is extracting stuff from web pages
17:53 masak well, I do have a SCRAPER exercise.
17:53 masak thinking of extending it somewhat, though.
17:55 stevan_ joined #perl6
17:55 FROGGS jnthn: I'm going to apply the patched I showed you earlier, okay? the tests didnt reveal a need to tune it
17:55 stevan_ joined #perl6
17:55 masak hm, maybe a good "theme" for the beginner track is to actually focus on files.
17:55 masak so you work on smallish inputs and you do things to them.
17:56 colomon nr: say ~Int
17:56 camelia rakudo fe7049: OUTPUT«use of uninitialized value of type Int in string context  in block  at /tmp/bEzBFW1JiS:1␤␤␤»
17:56 camelia ..niecza v24-42-g69a3432: OUTPUT«Int()␤»
17:56 colomon ugh
17:57 FROGGS nr: my Int $x; say "$x"
17:57 camelia niecza v24-42-g69a3432: OUTPUT«Int()␤»
17:57 camelia ..rakudo fe7049: OUTPUT«use of uninitialized value of type Int in string context  in block  at /tmp/mz89DXHYkE:1␤␤␤»
17:57 colomon seems like both answers are clearly wrong
17:57 colomon well, maybe Rakudo's is less clearly wrong.
17:57 colomon cause Niecza's is wrong in multiple ways.
17:57 masak I kinda like Niecza's answer.
17:57 masak except that it's "(Int)" these days.
17:57 moritz rakudo's looks correct.
17:58 sqirrel joined #perl6
17:58 masak oh, indeed, it should warn, and I guess print nothing.
17:58 colomon The use of uninitialized value message definitely should be appearing.
17:58 colomon but why print nothing?
17:59 jnthn FROGGS: How many RTs does it fix? :)
17:59 masak colomon: because an undefined value stringifies to nothing?
17:59 FROGGS jnthn: 6, but some of them are duplicates
17:59 colomon masak: does it?  is that spec?
18:00 masak $ perl -we 'print my $x, "\n"'
18:00 masak Use of uninitialized value $x in print at -e line 1.
18:00 masak (and no more output)
18:00 masak colomon: if there isn't spec, I invoke "everything unspec'd works like in Perl 5" :)
18:01 colomon S02: "Type objects sometimes stringify to their name in parens, to indicate undefinedness. "
18:01 colomon "sometimes" is gloriously vague there.
18:02 colomon and masak, wouldn't the p6 equivalent of your p5 code there actually call .gist, which definitely does not return an empty string.
18:02 * colomon does not really care what the answer to this question is, he just wants an answer so he can implement it.
18:02 FROGGS hmmm, I would expect that say gives (Int), yeah
18:03 TimToady npr: https://gist.github.com/TimToady/5549284
18:03 masak colomon: you have a number of fair points.
18:03 camelia niecza v24-42-g69a3432: OUTPUT«74 117 115 116 32 97 110 111 116 104 101 114 32 80 101 114 108 32 104 97 99 107 101 114␤»
18:03 camelia ..rakudo fe7049: OUTPUT«36902553666127019859637446314758035961162 144150600258308671326708774667023577973 563088282259018247369956151043060851 2199563602574290028788891215011956 8592045322555820424956606308640 33562677041233673534986743393 131104207192319037246041966 512125809344996239242…
18:03 camelia ..pugs: OUTPUT«*** ␤    Unexpected "mod"␤    expecting operator, ":", "," or "}"␤    at /tmp/wi1uqt45g5 line 5, column 21␤»
18:03 benabik joined #perl6
18:03 stevan_ joined #perl6
18:03 TimToady rakudobug
18:03 stevan_ joined #perl6
18:04 masak colomon: maybe it should .gist to "" (with a warning) but .Str to "(Int)"
18:04 * masak submits TimToady's rakudobug
18:04 colomon TimToady: is that actually a numeric bug?!  I was thinking it was just a list stringifcation issue at first...
18:05 FROGGS jnthn: I take the silence as "yes" :P
18:05 TimToady it's supposed to repeatedly pull out mod 256 for the 'Just another Perl hacker'
18:05 * [Coke] wonders if all the .gist/.Str differences are documented for each type.
18:05 TimToady it gets the first 8 characters correct, so...
18:06 TimToady it's obviously something on a 64-bit boundary
18:06 colomon TimToady: oooo, that was my Just another Perl hacker from masakism.  Except I hardcoded it in base something-or-other rather than base 256.
18:07 * TimToady thinks modmap (or whatever we decide to call it) would be a useful addition to the language
18:07 colomon TimToady: wait, how do you figure that?  Rakudo's answers above are clearly insane....
18:07 TimToady hmm, actually, it's the *last* 8 characters that are correct
18:09 colomon rn: https://gist.github.com/colomon/5549331
18:09 camelia rakudo fe7049: OUTPUT«36902553666127019859637446314758035961162 144150600258308671326708774667023577973 563088282259018247369956151043060851␤»
18:09 camelia ..niecza v24-42-g69a3432: OUTPUT«74 117 115␤»
18:09 colomon rn: say 2804985923338703271682399481743033703427656749129565173066 mod 256
18:10 camelia rakudo fe7049: OUTPUT«36902553666127019859637446314758035961162␤»
18:10 camelia ..niecza v24-42-g69a3432: OUTPUT«74␤»
18:10 masak TimToady: I had an urge to write something like that too when I pasted the solution to the channel earlier today. except I wanted to do it as a :list flag on .base
18:10 colomon and there's your bug
18:10 colomon rn: say 2804985923338703271682399481743033703427656749129565173066 % 256
18:10 masak colomon++
18:10 camelia rakudo fe7049, niecza v24-42-g69a3432: OUTPUT«74␤»
18:10 moritz masak: https://gist.github.com/moritz/5549343
18:11 moritz masak: it's a list of questions I recently-ish answered on perlmonks, which have the potential to serve as tasks
18:11 * masak includes colomon's find in the RT ticket
18:11 masak moritz++ # thanks!
18:11 moritz (I've filtered out lots of "why doesn't this code work"? and very perl 5 specific questions)
18:11 colomon rn: https://gist.github.com/colomon/5498600
18:11 camelia rakudo fe7049, niecza v24-42-g69a3432: OUTPUT«Just another Perl hacker␤»
18:12 TimToady masak: but by using a lazy list of radices I can do either 256 xx * or 60,60,24
18:13 diakopter TimToady: seems they want the logo in .ai format
18:13 colomon TimToady: any thoughts on what Int.Str or Set.Str should do?
18:13 colomon rn: https://gist.github.com/colomon/5498600
18:13 camelia rakudo fe7049, niecza v24-42-g69a3432: OUTPUT«Just another Perl hacker␤»
18:13 diakopter (adobe illustrator)
18:13 colomon whoops
18:13 colomon rn: https://gist.github.com/colomon/5549331
18:14 camelia rakudo fe7049, niecza v24-42-g69a3432: OUTPUT«74 117 115 116 32 97 110 111 116 104 101 114 32 80 101 114 108 32 104 97 99 107 101 114␤»
18:14 masak TimToady: yes, troo. I can see the use of that. that's what a `base` primitive does in APL-alikes (I learned from hakank++).
18:15 TimToady diakopter: that is not one of the export targets of LibreDraw
18:16 TimToady so we'll need some way to convert
18:16 FROGGS they usually take pdfs too, if it is vector gfx and not bitmap
18:16 diakopter FROGGS: yes, you're right.
18:16 diakopter pdf too, if it's vector
18:17 TimToady maybe can do that
18:17 TimToady do we want the level one or the tilted one?
18:20 TimToady I can't tell if it makes vector pdfs or image pdfs
18:20 FROGGS do you see pixels when zooming in?
18:21 diakopter svg might work
18:21 diakopter or .eps
18:21 diakopter I have illustrator
18:21 diakopter duh, forgot to mention
18:22 diakopter so yes, svg or eps
18:22 TimToady looks like it's vector
18:22 diakopter can you make it black on white?
18:23 diakopter er, black on nothing I guess
18:25 pmichaud what image?  I have lots of graphics tools
18:25 * pmichaud reads backscroll
18:25 pmichaud http://irclog.perlgeek.de/today  # 404 Not Found :-(
18:25 nwc10 oh noes. We don't exist
18:25 TimToady http://wall.org/~larry/cameliawbtilt.pdf
18:26 nwc10 I can be rude about Perl 3 :-)
18:26 pmichaud TimToady: there's little "pixel droppings" in that PDF for me.
18:26 dalek niecza: b1710c1 | (Solomon Foster)++ | lib/CORE.setting:
18:26 dalek niecza: Remove obsolete ucfirst routine.
18:26 dalek niecza: review: https://github.com/sorear/niecza/commit/b1710c1791
18:26 dalek niecza: 2e98224 | (Solomon Foster)++ | lib/CORE.setting:
18:26 dalek niecza: Fixes to Set, KeySet, Bag, and KeyBag stringification routines.
18:26 dalek niecza: review: https://github.com/sorear/niecza/commit/2e98224d3c
18:26 dalek niecza: bf8d2ad | (Solomon Foster)++ | t/spectest.data:
18:26 dalek niecza: Turn on S32-container/stringify.t.
18:26 dalek niecza: review: https://github.com/sorear/niecza/commit/bf8d2ad097
18:26 flussence pmichaud: that looks like a vhost bug, the / url is showing the main perlgeek.de site...
18:27 dalek roast: eafe306 | (Solomon Foster)++ | S32-container/stringify.t:
18:27 dalek roast: Fudge for Niecza.
18:27 dalek roast: review: https://github.com/perl6/roast/commit/eafe306642
18:27 nwc10 perl 3, you are buggy https://rt.perl.org/rt3/Ticket/Display.html?id=117887 :-)
18:31 [Coke] nwc10++
18:33 pmichaud 18:26 <nwc10> oh noes. We don't exist
18:33 pmichaud That's apparently been true for a long time.  We're like... DNF or something :)
18:36 TimToady I've put both a .odg and a newer .pdf there (fix jaggie on the end of the P)
18:36 TimToady but it completely botches .svg export, losing line widths
18:41 grondilu rn: my @L = <3.14 6.534>; say my % = @L Z=> map { $^x / $x.substr(/\./, "") }, @L
18:41 camelia rakudo fe7049: OUTPUT«get_attr_str() not implemented in class 'Coroutine'␤current instr.: 'print_exception' pc 102605 (src/gen/CORE.setting.pir:46357) (src/gen/CORE.setting:8934)␤called from Sub '' pc 259 ((file unknown):143) (/tmp/QeFvXvfF3g:1)␤called from Sub 'substr' pc 231839 (src/g…
18:41 camelia ..niecza v24-42-g69a3432: OUTPUT«Unhandled exception: System.InvalidCastException: Cannot cast from source type to destination type.␤  at Anon.1.MAIN.b03c1c16-0e6b-4031-95cc-af820d0432e7.C2ANON (Niecza.Frame ) [0x00000] in <filename unknown>:0 ␤  at Niecza.Kernel.RunCore (Niecza.Frame& cu…
18:43 grondilu ^??
18:43 lizmat rn: my %h= a => 1; say %h<a>:p; say %h<a>:!p; say %h<a>:p(0)
18:44 camelia rakudo fe7049, niecza v24-42-g69a3432: OUTPUT«"a" => 1␤"a" => 1␤"a" => 1␤»
18:45 lizmat rn: my %h= a => 1; say %h<a>:p; say %h<a>:!p; say %h<a>:p(0); say %h.at_key("a", p => 0)
18:45 camelia rakudo fe7049: OUTPUT«"a" => 1␤"a" => 1␤"a" => 1␤1␤»
18:45 camelia ..niecza v24-42-g69a3432: OUTPUT«"a" => 1␤"a" => 1␤"a" => 1␤Unhandled exception: Excess arguments to Hash.at_key, unused named p␤  at /home/p6eval/niecza/lib/CORE.setting line 0 (Hash.at_key @ 1) ␤  at /tmp/wB0k0EceD9 line 1 (mainline @ 13) ␤  at /home/p6eval/niecza/lib/CORE.setting line …
18:45 colomon rn: my @L = <3.14 6.534>; my %a = @L Z=> @L.map({ $^x / $x.substr(/\./, "") }); say %a.perl
18:45 camelia rakudo fe7049: OUTPUT«get_attr_str() not implemented in class 'Coroutine'␤current instr.: 'print_exception' pc 102605 (src/gen/CORE.setting.pir:46357) (src/gen/CORE.setting:8934)␤called from Sub '' pc 278 ((file unknown):146) (/tmp/uK6ce9YBnp:1)␤called from Sub 'substr' pc 231839 (src/g…
18:45 camelia ..niecza v24-42-g69a3432: OUTPUT«Unhandled exception: System.InvalidCastException: Cannot cast from source type to destination type.␤  at Anon.1.MAIN.4277c097-6486-41b2-a31d-1dc644222046.C2ANON (Niecza.Frame ) [0x00000] in <filename unknown>:0 ␤  at Niecza.Kernel.RunCore (Niecza.Frame& cu…
18:46 ajr joined #perl6
18:46 colomon rn: my @L = <3.14 6.534>;
18:46 camelia niecza v24-42-g69a3432: OUTPUT«Potential difficulties:â�¤  @L is declared but not used at /tmp/0f80SAjtt8 line 1:â�¤------> [32mmy [33mâ��[31m@L = <3.14 6.534>;[0mâ�¤â�¤Â»
18:46 camelia ..rakudo fe7049:  ( no output )
18:46 grondilu rn: my @L = <3.14 6.534>; say my % = @L Z=> map { +$x.substr(/\./, "") }, @L
18:46 camelia niecza v24-42-g69a3432: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Variable $x is not predeclared at /tmp/3jGX3xMIos line 1:â�¤------> [32m <3.14 6.534>; say my % = @L Z=> map { +[33mâ��[31m$x.substr(/\./, "") }, @L[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CO…
18:46 camelia ..rakudo fe7049: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Variable '$x' is not declaredâ�¤at /tmp/0qrgMNNIbP:1â�¤------> [32mmy % = @L Z=> map { +$x.substr(/\./, "")[33mâ��[31m }, @L[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
18:46 colomon rn: my @L = <3.14 6.534>; @L.map({ $^x / $x.substr(/\./, "") });
18:46 camelia rakudo fe7049: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Bogus statementâ�¤at /tmp/ORykQcfLhH:1â�¤------> [32mmy @L = <3.14 6.534>;[33mâ��[31m @L.map({ $^x / $x.substr(/\./, "") });[0mâ�¤    expecting any of:â�¤        postfixâ�¤        statement endâ�¤        statement modifierâ�¤        statement mo…
18:46 camelia ..niecza v24-42-g69a3432: OUTPUT«[31m===[0mSORRY![31m===[0m��Bogus statement at /tmp/pbuXRWwK9k line 1:�------> [32mmy @L = <3.14 6.534>;[33m�[31m @L.map({ $^x / $x.substr(/\./, "") });[0m��Parse failed��»
18:47 grondilu rn: my @L = <3.14 6.534>; say my % = @L Z=> map { +$^x.substr(/\./, "") }, @L
18:47 camelia rakudo fe7049: OUTPUT«get_attr_str() not implemented in class 'Coroutine'␤current instr.: 'print_exception' pc 102605 (src/gen/CORE.setting.pir:46357) (src/gen/CORE.setting:8934)␤called from Sub '' pc 258 ((file unknown):143) (/tmp/Qv7lGUKbbT:1)␤called from Sub 'substr' pc 231839 (src/g…
18:47 camelia ..niecza v24-42-g69a3432: OUTPUT«Unhandled exception: System.InvalidCastException: Cannot cast from source type to destination type.␤  at Anon.1.MAIN.69172c7d-d00e-4902-a806-fb138db98e2f.C2ANON (Niecza.Frame ) [0x00000] in <filename unknown>:0 ␤  at Niecza.Kernel.RunCore (Niecza.Frame& cu…
18:47 grondilu rn: my @L = <3.14 6.534>; say my % = @L Z=> map { +$^x.substr(/foo/, "bar") }, @L
18:47 TimToady apparently LibreDraw won't let me remap the colors of a vector diagram...
18:47 camelia rakudo fe7049: OUTPUT«get_attr_str() not implemented in class 'Coroutine'␤current instr.: 'print_exception' pc 102605 (src/gen/CORE.setting.pir:46357) (src/gen/CORE.setting:8934)␤called from Sub '' pc 258 ((file unknown):143) (/tmp/isXOu7AYQv:1)␤called from Sub 'substr' pc 231839 (src/g…
18:47 camelia ..niecza v24-42-g69a3432: OUTPUT«Unhandled exception: System.InvalidCastException: Cannot cast from source type to destination type.␤  at Anon.1.MAIN.eca8dab2-c34a-4903-931a-a45e6e058e33.C2ANON (Niecza.Frame ) [0x00000] in <filename unknown>:0 ␤  at Niecza.Kernel.RunCore (Niecza.Frame& cu…
18:47 grondilu wtf
18:47 grondilu rn: my @L = <3.14 6.534>; say my % = @L Z=> map { $^x.substr(/foo/, "bar") }, @L
18:47 camelia niecza v24-42-g69a3432: OUTPUT«Unhandled exception: System.InvalidCastException: Cannot cast from source type to destination type.␤  at Anon.1.MAIN.660d3fb8-e48b-449e-abaf-8cd2216dcc98.C2ANON (Niecza.Frame ) [0x00000] in <filename unknown>:0 ␤  at Niecza.Kernel.RunCore (Niecza.Frame& cu…
18:47 camelia ..rakudo fe7049: OUTPUT«get_attr_str() not implemented in class 'Coroutine'␤current instr.: 'print_exception' pc 102605 (src/gen/CORE.setting.pir:46357) (src/gen/CORE.setting:8934)␤called from Sub '' pc 247 ((file unknown):142) (/tmp/gESkXZQtkZ:1)␤called from Sub 'substr' pc 231839 (src/g…
18:48 * TimToady wonders if he can fudge the odg file...
18:48 grondilu rn: my @L = <foo bar>; say my % = @L Z=> map { $^x.substr(/foo/, "bar") }, @L
18:48 camelia niecza v24-42-g69a3432: OUTPUT«Unhandled exception: System.InvalidCastException: Cannot cast from source type to destination type.␤  at Anon.1.MAIN.58dfa865-e257-4801-bf99-d7446cb6decc.C2ANON (Niecza.Frame ) [0x00000] in <filename unknown>:0 ␤  at Niecza.Kernel.RunCore (Niecza.Frame& cu…
18:48 camelia ..rakudo fe7049: OUTPUT«get_attr_str() not implemented in class 'Coroutine'␤current instr.: 'print_exception' pc 102605 (src/gen/CORE.setting.pir:46357) (src/gen/CORE.setting:8934)␤called from Sub '' pc 247 ((file unknown):430) (/tmp/CSal_g6cKG:1)␤called from Sub 'substr' pc 231839 (src/g…
18:48 grondilu rn: my @L = <foo bar>; say map { $^x.substr(/foo/, "bar") }, @L
18:48 camelia niecza v24-42-g69a3432: OUTPUT«Unhandled exception: System.InvalidCastException: Cannot cast from source type to destination type.␤  at Anon.1.MAIN.28100b56-a6a1-41d3-8bca-7e1005a99fbe.C2ANON (Niecza.Frame ) [0x00000] in <filename unknown>:0 ␤  at Niecza.Kernel.RunCore (Niecza.Frame& cu…
18:48 camelia ..rakudo fe7049: OUTPUT«No such method '!cursor_start_all' for invocant of type 'Int'␤  in regex  at /tmp/bU1ea9d3Pf:1␤  in method substr at src/gen/CORE.setting:4028␤  in block  at /tmp/bU1ea9d3Pf:1␤␤»
18:49 grondilu rn: say map { $^x.substr(/foo/, "bar") }, <foo bar>
18:49 camelia niecza v24-42-g69a3432: OUTPUT«Unhandled exception: System.InvalidCastException: Cannot cast from source type to destination type.␤  at Anon.1.MAIN.6a5afab9-c690-461d-8e56-ec22582f2c54.C2ANON (Niecza.Frame ) [0x00000] in <filename unknown>:0 ␤  at Niecza.Kernel.RunCore (Niecza.Frame& cu…
18:49 camelia ..rakudo fe7049: OUTPUT«No such method '!cursor_start_all' for invocant of type 'Int'␤  in regex  at /tmp/IQC5sTzU4z:1␤  in method substr at src/gen/CORE.setting:4028␤  in block  at /tmp/IQC5sTzU4z:1␤␤»
18:49 jeffreykegler joined #perl6
18:49 grondilu am I missing something?
18:49 moritz can somebody please help me to set up name-based virtual hosts with apache2? seems my irclog setup is botched, and only works with ipv6 (where it's not name-based anymore)
18:49 colomon subst, not substr
18:49 colomon grondilu: ^^
18:49 grondilu oh
18:49 grondilu sorry guys
18:50 colomon rn: my @L = <3.14 6.534>; my %a = @L Z=> @L.map({ $^x / $x.subst(/\./, "") }); say %a.perl
18:50 camelia niecza v24-42-g69a3432: OUTPUT«{"3.14" => 0.01, "6.534" => 0.001}.hash␤»
18:50 camelia ..rakudo fe7049: OUTPUT«("3.14" => 0.01, "6.534" => 0.001).hash␤»
18:51 grondilu there should be a multi substr(Regex $, Str) { !!! "did you mean .subst(...)?" }
18:52 grondilu (or something like that)
18:53 FROGGS moritz: I've got an apache2 running here
18:54 moritz FROGGS: I just fixed it
18:55 FROGGS k
18:55 flussence lemme guess, it wa something to do with having a wrong NameVirtualHost line :)
18:55 moritz the NameVirtualHost was just *:80, is no $IP:80
18:56 dukeleto joined #perl6
18:56 flussence hm, I would've thought the latter would be the broken one... (setting up lighttpd on a dual stack isn't any less confusing though)
18:59 cognominal joined #perl6
19:00 moritz s/no/now/
19:00 moritz and I didn't even notice the breakage, because it worked fine with ipv6 :-)
19:02 lizmat joined #perl6
19:06 dalek niecza: cf7d64c | (Solomon Foster)++ | lib/CORE.setting:
19:06 dalek niecza: Fix bug introduced in last KeySet.perl fix.
19:06 dalek niecza: review: https://github.com/sorear/niecza/commit/cf7d64c0d1
19:07 TimToady here's a black-on-white pdf: http://wall.org/~larry/cameliabwtilt.pdf
19:07 diakopter raindrop artifacts?
19:07 lizmat joined #perl6
19:08 TimToady raindrop?
19:08 grondilu rn:  https://gist.github.com/grondilu/5549739
19:08 camelia niecza v24-45-gbf8d2ad: OUTPUT«Unhandled exception: slurp may not be used in safe mode␤  at /home/p6eval/niecza/lib/CORE.setting line 0 (slurp @ 0) ␤  at /tmp/gpUzbQwYxa line 3 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4328 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/C…
19:08 camelia ..rakudo fe7049: OUTPUT«Unable to open filehandle from path 'monoisotopic-mass-table.txt': No such file or directory(2)␤  in method open at src/gen/CORE.setting:11008␤  in method open at src/gen/CORE.setting:10998␤  in sub open at src/gen/CORE.setting:11309␤  in sub open at src/gen/CORE.s…
19:08 TimToady maybe I should try looking at it on a different computer
19:08 diakopter her legs distappeared
19:08 TimToady ah, hang on
19:08 lizmat rn: my %h= (:a<1>); say %h.postcircumfix:<{ }>("a", p => 0 )
19:08 camelia rakudo fe7049: OUTPUT«"a" => "1"␤»
19:08 camelia ..niecza v24-45-gbf8d2ad: OUTPUT«"a" => 1␤»
19:09 * lizmat thinks that is a bug, it should just be "1", not a pair
19:09 TimToady diakopter: look again
19:09 grondilu rn:  https://gist.github.com/grondilu/5549739
19:10 camelia rakudo fe7049: OUTPUT«(timeout)»
19:10 camelia ..niecza v24-45-gbf8d2ad: OUTPUT«Unhandled exception: Unable to resolve method push in type Any␤  at /tmp/r4pCqCYNRK line 42 (ANON @ 20) ␤  at /tmp/r4pCqCYNRK line 45 (ANON @ 6) ␤  at /tmp/r4pCqCYNRK line 47 (spectrum-graph @ 8) ␤  at /tmp/r4pCqCYNRK line 49 (mainline @ 11) ␤  at /home/p6…
19:10 diakopter better, just there are these vertical lines around it various places
19:11 diakopter http://i.imgur.com/gp1mSZh.png
19:12 diakopter and firefox http://i.imgur.com/Ekag2un.png
19:13 diakopter TimToady: this is why I stay away from open-source software. ;)
19:13 TimToady adobe acrobat reader puts dots on it, sigh
19:13 pmichaud I think there may be extra objects lying around that are invisible on the screen but render into the PDF.
19:14 Timbus joined #perl6
19:14 pmichaud oh, also, if using OpenOffice Draw, I've noticed that hidden layers are often not hidden when rendered into PDF.
19:14 pmichaud (well, LibreOffice Draw, I guess.)
19:14 diakopter I mean, the dots don't actually look bad when circular
19:15 nwc10 pmichaud: this is a feature inspired by the fact that Word docs have undo buffers, that authors inadvertently publish and curious types then sniff through? :-)
19:21 dalek roast: 7f7fa6e | (Solomon Foster)++ | S29-context/eval.t:
19:21 dalek roast: Fudge for Niecza.
19:21 dalek roast: review: https://github.com/perl6/roast/commit/7f7fa6e79e
19:23 grondilu r: constant N = 3; my @L = rand xx N; say @L X- @L; # is there a faster way of doing this for large N?
19:23 camelia rakudo fe7049: OUTPUT«0 -0.586431947484623 -0.270399563246862 0.586431947484623 0 0.316032384237761 0.270399563246862 -0.316032384237761 0␤»
19:24 grondilu like N = 100
19:27 masak lizmat++ # finding all these nice corner cases
19:27 masak lizmat: want me to submit the p => 0 one?
19:28 TimToady interesting observation, the extra dots in Acrobat are always 1 pixel even at 600% zoom
19:35 masak some pixels never amount to anything in life.
19:36 moritz maybe they are infinitessimally small? :-)
19:37 TimToady they don't seem to correlate with any objects related to the picture, that I can tell...
19:41 pmichaud when I render them on my screen, they seem to be at the "poles" of some of the ellipses
19:42 pmichaud well, not exactly at the poles, but there are dots 180 degrees opposite from each other on an ellipse
19:43 masak focal points?
19:43 pmichaud not exactly.
19:43 masak :)
19:43 pmichaud for example, in http://i.imgur.com/gp1mSZh.png , if you look at the lower lobes you can see dots just "north" and "south" of the inner-most ellipses
19:44 pmichaud then you can start finding them in the eyes, etc.
19:44 pmichaud the lines between the antennae have corresponding lines on the opposite sides of the "large" ellipses of the wings
19:45 pmichaud same for the lines between the feet and the lower wings
19:45 nwc10 are you sure that something isn't adding this?  http://wildsparx.com/eurionize/ :-)
19:46 TimToady https://bugs.launchpad.net/ubuntu/+source/openoffice.org/+bug/689349
19:47 lizmat masak: please
19:48 dalek rakudo/nom: bfd8508 | (Tobias Leich)++ | src/Perl6/ (2 files):
19:48 dalek rakudo/nom: make decl and init of our-scoped arrays/hashes work
19:48 dalek rakudo/nom:
19:48 dalek rakudo/nom: This will install a container for the given type
19:48 dalek rakudo/nom: within the package and adds the lookup. This reverts
19:48 dalek rakudo/nom: my (stupid) previous patch which basically treated an
19:48 dalek rakudo/nom: our-scoped var like if is was a my-scoped variable
19:48 dalek rakudo/nom: declared directly within the package block.
19:48 dalek rakudo/nom: Fixes RT 100560, 102876, 117083, 117775, 115630, 107270
19:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bfd8508f5c
19:49 moritz \o/
19:49 moritz five RTs with one patch :-)
19:50 moritz FROGGS++
19:50 jnthn Wow
19:50 jnthn FROGGS++
19:50 jnthn Six, even.
19:50 arnsholt Very cool!
19:50 moritz oh right, I stopped reading after the line break which my irssi added
19:50 FROGGS sad there is no smiley for turning red
19:50 moritz R-)
19:51 arnsholt Does this mean type constraints on package-scoped stuff will work properly as well now?
19:51 FROGGS it is about:
19:51 arnsholt (If they get a container now, I guess it will?)
19:51 FROGGS r: module Foo { our @var = 1..3 }; say @Foo::var
19:51 camelia rakudo fe7049: OUTPUT«No such method 'STORE' for invocant of type 'Any'␤  in block  at /tmp/cP7RnnnrM5:1␤␤»
19:52 FROGGS and for hashes
19:53 masak TimToady: https://bugs.launchpad.net/ubuntu/+source/openoffice.org/+bug/689349/comments/51 seems to be a workaround.
19:53 * masak submits lizmat's rakudobug
19:53 TimToady masak: lookit at the eps right now
19:53 masak FROGGS++
19:53 TimToady *looking
19:54 masak as a bug collector, I find that one a nice specimen ;)
19:57 pmichaud TimToady: (bug 689349)   that was reported in late 2010/early 2011, and it's *still* not fixed?  hmmmmmmm
19:58 TimToady http://wall.org/~larry/c2.eps should have the dots removed (used the little awk script)
20:00 TimToady I believe diakopter++ mentioned that .eps was acceptable
20:07 TimToady diakopter: will http://wall.org/~larry/c2.eps work for you?
20:08 FROGGS TimToady: there is a cut at the bottom
20:08 FROGGS you might want to make the canvas a bit bigger
20:10 dalek roast: 9970b75 | (Tobias Leich)++ | S04-declarations/our.t:
20:10 dalek roast: fudge passing todos
20:10 dalek roast: review: https://github.com/perl6/roast/commit/9970b75a4d
20:11 Timbus joined #perl6
20:11 TimToady FROGGS: well, it thinks it's going on 8.5 x 11" paper, so I think I'll have to shrink the whole thing a bit maybe
20:12 grondilu rn: say sort <1 100 20>;
20:12 camelia rakudo fe7049: OUTPUT«1 100 20␤»
20:12 camelia ..niecza v24-46-gcf7d64c: OUTPUT«1 20 100␤»
20:12 grondilu niecza is right here, isn't it?
20:12 pmichaud grondilu: I believe niecza is right here, yes.
20:13 grondilu though I'm not sure how it knows it should make a numeric sort :/
20:13 pmichaud <...> strings are "special"
20:13 colomon n: <1 100 20>.map({ say $_.WHAT })
20:13 camelia niecza v24-46-gcf7d64c: OUTPUT«(IntStr)␤(IntStr)␤(IntStr)␤»
20:13 colomon that would be how.  :)
20:13 pmichaud rakudo doesn't have IntStrs yet.
20:13 grondilu ok, good to know
20:13 grondilu rn: say sort <1 100 20>»Int;
20:13 camelia rakudo fe7049: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/mg3a2m9Yp9:1â�¤------> [32msay sort <1 100 20>»[33mâ��[31mInt;[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infixâ�¤Â»
20:13 camelia ..niecza v24-46-gcf7d64c: OUTPUT«[31m===[0mSORRY![31m===[0m��Unexpected closing bracket at /tmp/mYWgmWeFnP line 1:�------> [32msay sort <1 100 20>[33m�[31m»Int;[0m��Parse failed��»
20:14 grondilu rn: say sort <1 100 20>».Int;
20:14 camelia rakudo fe7049, niecza v24-46-gcf7d64c: OUTPUT«1 20 100␤»
20:14 pmichaud rn: say <1 100 20>.sort(:by(+*))
20:14 camelia rakudo fe7049: OUTPUT«1 100 20␤»
20:14 camelia ..niecza v24-46-gcf7d64c: OUTPUT«Unhandled exception: Excess arguments to Any.sort, unused named by␤  at /home/p6eval/niecza/lib/CORE.setting line 0 (Any.sort @ 1) ␤  at /tmp/llTcjraS2V line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4328 (ANON @ 3) ␤  at /home/p6eva…
20:14 colomon rn:  say <1 100 20>.sort(+*)
20:14 camelia rakudo fe7049, niecza v24-46-gcf7d64c: OUTPUT«1 20 100␤»
20:16 colomon for what it's worth, I think explicitly requesting numeric sort is vastly preferable to relying on magic properties of IntStr.  :)
20:16 * [Coke] stares at the hypno-camelia eps file.
20:18 TimToady okay, shrank Camelia to fit inside .eps boundaries, try http://wall.org/~larry/c2.eps again
20:19 TimToady FROGGS++ for noticing it was cut off
20:19 FROGGS looks good on my box
20:19 TimToady \o/
20:20 FROGGS so, back to p5's open FH >.<
20:20 TimToady \o/ for modern image processing tools like awk :)(
20:20 FROGGS hehe
20:20 dagurval joined #perl6
20:21 Moukeddar joined #perl6
20:21 sorear so after creating perl and giving it -a, you still use awk? :)
20:21 mtk joined #perl6
20:22 mtk joined #perl6
20:23 TimToady it's still easier to copy-paste an awk script than to rewrite it :)
20:23 grondilu use MONKEY_TYPING; augment class List { method lookup($value, $begin = 0, $end = self.elems) { (state@) = self.sort; ... } }  # use a binary search to retrieve the largest index $i such that $x >= self.sort[$i]
20:23 grondilu ^ this could be usefull
20:24 * grondilu needs a lookup function to improve the speed of http://rosalind.info/problems/sgra/
20:27 colomon grondilu: That's in List::Utils too.  ;)
20:28 grondilu lol,  I should definitely check out your module, then :)
20:28 colomon well, the versions there don't do sorting, they assume they are working on a sorted list.
20:28 colomon but sorting is the easy part.
20:33 * grondilu reboostraps panda in order to install List::Utils
20:33 [Coke] sorting's built in!
20:34 dalek perl6-roast-data: 75c1cdb | coke++ | / (4 files):
20:35 dalek perl6-roast-data: today (automated commit)
20:35 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/75c1cdb322
20:35 dalek perl6-roast-data: c654e17 | coke++ | / (4 files):
20:35 dalek perl6-roast-data: today (automated commit)
20:35 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/c654e178fd
20:35 [Coke] niecza has been dirty for 296 days. pugs has been dirty for 5 days. rakudo has been dirty for 5 days.
20:35 xinming joined #perl6
20:35 * [Coke] wonders if colomon will avert the 300 day mark.
20:35 nwc10 http://xkcd.com/363/
20:35 [Coke] I am very sad that rakudo's been broken for nearly a week. :|
20:36 FROGGS I dont get these S02-types/bool. fails :/
20:37 FROGGS *bool.t
20:38 [Coke] Looks like a core dump
20:38 [Coke] https://github.com/coke/perl6-roast-data/blob/master/rakudo_summary.out#L235
20:38 lizmat gnight #perl6
20:40 FROGGS [Coke]: are you using nqp in NQP_REVISION or in HEAD?
20:40 nwc10 ooh, http://morepypy.blogspot.co.uk/2013/05/pypy-20-einstein-sandwich.html
20:40 FROGGS [Coke]: nvm, it is the same
20:43 * colomon could do it trivially by just fudging... holding out hope of getting things sorted.
20:43 colomon properly, I mean.
20:45 colomon rn: say "ehLF".tc
20:45 camelia niecza v24-46-gcf7d64c: OUTPUT«EhLF␤»
20:45 camelia ..rakudo bfd850: OUTPUT«No such method 'tc' for invocant of type 'Str'␤  in block  at /tmp/K4zuXKaaNh:1␤␤»
20:45 colomon rn: say "ehLF".tclc
20:45 camelia rakudo bfd850, niecza v24-46-gcf7d64c: OUTPUT«Ehlf␤»
20:52 grondilu rn: use List::Utils
20:52 camelia rakudo bfd850: OUTPUT«===SORRY!===␤Could not find List::Utils in any of: /home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/site/lib, /home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/vendor/lib, /home/p6eval/nom-inst/lib/parrot/5.2.0-devel/languages/perl6/lib, /hom…
20:52 camelia ..niecza v24-46-gcf7d64c: OUTPUT«Unhandled exception: System.Exception: Unable to locate module List::Utils in /home/p6eval/niecza/lib /home/p6eval/niecza␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5) ␤  at /home/p6eval/niecza/src/NieczaPathSearch.pm6 line 23 (NieczaP…
20:53 geekosaur not List::Util?
20:53 gcole joined #perl6
20:53 FROGGS star: use List::Util
20:53 camelia star 2013.02: OUTPUT«===SORRY!===␤Could not find List::Util in any of: /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/site/lib, /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/vendor/lib, /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/lib, /home/p6eval/.perl6/2013.02.1/lib…
20:53 FROGGS star: use List::Utils
20:53 camelia star 2013.02: OUTPUT«===SORRY!===␤Could not find List::Utils in any of: /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/site/lib, /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/vendor/lib, /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/lib, /home/p6eval/.perl6/2013.02.1/li…
20:53 FROGGS :/
20:53 grondilu colomon: "lower-bound" returns the lowest index $i such that @a[$i] > $key, right?
21:04 [Coke] FROGGS: https://gist.github.com/coke/5550615 - there's a backtrace from the coredump
21:04 [Coke] it's going through Parrot_SixModelObject_destroy at some point.
21:06 FROGGS ahh, cool! [Coke]++
21:07 raiph joined #perl6
21:07 [Coke] it was the most I could do. :)
21:07 FROGGS [Coke]: do you know how many tests it passes before blowing up?
21:09 sjohnson jnthn.ping();
21:10 [Coke] it varies.
21:10 FROGGS :/
21:10 [Coke] 48, 49, 50
21:11 [Coke] 49, 50, 49
21:11 FROGGS hmmm, k, thanks
21:11 jnthn sjohnson: pong
21:12 [Coke] ugh, yapc is in weeks, not a monht.
21:12 sjohnson jnthn: which OS do you use? Win7?
21:12 * [Coke] will probably end up not going just due to lack of planning. :|
21:12 jnthn sjohnson: Yes
21:12 sjohnson jnthn: did you know you can copy absolute paths from Windows Explorer?
21:12 xenoterracide joined #perl6
21:12 sjohnson jnthn: if not, hold down shift on a file, right-click, and select "Copy as path" from the dropdown.
21:13 jnthn sjohnson: oh...didn't know that one :)
21:14 sjohnson jnthn: cool, figured you'd like to know.  it's quite handy at times.
21:47 dalek nqp: 48e5dfa | (Brent Laabs)++ | src/vm/parrot/QAST/Operations.nqp:
21:47 dalek nqp: add missing constants STAT_UID, STAT_GID, STAT_ISLNK
21:47 dalek nqp: review: https://github.com/perl6/nqp/commit/48e5dfa212
21:47 dalek nqp: cb2aa86 | jonathan++ | src/vm/parrot/QAST/Operations.nqp:
21:47 dalek nqp: Merge pull request #98 from labster/master
21:47 dalek nqp:
21:47 dalek nqp: add missing constants STAT_UID, STAT_GID, STAT_ISLNK
21:47 dalek nqp: review: https://github.com/perl6/nqp/commit/cb2aa8697e
21:47 masak Windows Tips and Tricks :)
21:47 labster I figured if no one was going to do it for me, I might as well do it myself.
21:48 jnthn .oO( delegation through exploiting impatience )
21:49 felher good night, good people
21:49 FROGGS gnight felher
21:52 FROGGS nqp: our $DEBUG := 1; class Foo { say($DEBUG) }
21:52 camelia nqp: OUTPUT«␤»
21:52 FROGGS nqp: our $DEBUG := 1; class Foo { say($OUR::DEBUG) }
21:52 camelia nqp: OUTPUT«␤»
21:53 FROGGS nqp: our $DEBUG := 1; class Foo { say($::DEBUG) }
21:53 camelia nqp: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}' at line 2, near "say($::DEB"␤current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)␤»
21:53 FROGGS nqp: my $DEBUG := 1; class Foo { say($DEBUG) }
21:53 camelia nqp: OUTPUT«1␤»
21:53 FROGGS :/
22:00 berekuk joined #perl6
22:03 kurahaupo joined #perl6
22:04 jnthn FROGGS: No pseudo-packages in NQP
22:04 jnthn FROGGS: Oh, the first one looks odd though...hmm
22:04 * FROGGS aborts his bisect search then :o)
22:04 FROGGS because I though this was working two weeks ago
22:04 FROGGS thought
22:15 kurahaupo joined #perl6
22:20 FROGGS Unsupported serialization format version 5 (current version is 4)
22:20 FROGGS neg
22:20 FROGGS meh
22:20 FROGGS jnthn: do I need an older parrot?
22:21 jnthn FROGGS: How'd you get that?
22:21 FROGGS checked out a two weeks old nqp
22:21 jnthn OK, must be some files lying around built by a newer one.
22:21 FROGGS ahh, okay
22:27 masak 'night, #perl6
22:28 grondilu star: use List::Utils
22:29 camelia star 2013.02: OUTPUT«===SORRY!===␤Could not find List::Utils in any of: /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/site/lib, /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/vendor/lib, /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/lib, /home/p6eval/.perl6/2013.02.1/li…
22:29 FROGGS night masak
22:30 grondilu colomon: try this:  say map {.(<131.04049 137.05891 147.06841>, 131.0405)}, &lower-bound, &upper-bound
22:31 grondilu it returns 1 1 when 0 1 was expected
22:32 lizmat joined #perl6
22:34 grondilu or maybe I don't understand what these things do.
22:34 * grondilu looks at the code
22:36 xilo joined #perl6
22:37 colomon grondilu: it's certainly possible there are bugs.  on the other hand, that's also certainly a weird way to call it.    :)
22:40 grondilu ok I hadn't understood the exact semantic.
22:40 grondilu I understand better now that I've read your test file
22:49 skids joined #perl6
22:51 xenoterracide joined #perl6
22:52 dmol joined #perl6
22:55 dalek roast: dc63e3d | (David Warring)++ | S05-capture/caps.t:
22:55 dalek roast: tweaked descriptions for % and %% separator tests
22:55 dalek roast: review: https://github.com/perl6/roast/commit/dc63e3d8b1
23:05 cognominal in nqp what are the respective purposes of $past.symbol(…) and QAST::Var.new() which are sometimes used for the same variable ?
23:06 jnthn .symbol is a place for the compiler to stash any info it wants to keep around about a symbol.
23:06 jnthn It's just a hash of hashes really
23:06 cognominal my hunch is that QAST::Var.new create the variable and, $past.symbol makes it visible to the generated perl code
23:06 jnthn QAST::Var actually compiles to something.
23:07 cognominal is my understanding correct?
23:07 jnthn Not really.
23:07 cognominal arf
23:08 jnthn The .symbol is really just used as a handy place for the compiler to keep notes about a symbol as it does its work
23:08 jnthn After the grammar/actions/world are done and the code is handed off to the backend compiler (QAST => Parrot/JVM), the contents of .symbol are not really used.
23:08 cognominal ok
23:09 berekuk joined #perl6
23:09 jnthn Aside from if a QAST::Var usage (not declaration) is not marked explicitly with a scope, we look in .symbol
23:10 jnthn But that's mostly a "fallback" thing; Rakudo always knows the scope of things so it tends to be explicit.
23:11 daniel-s joined #perl6
23:12 labster raiph keeps posting my blog on reddit.  In retrospect, the "How to start hacking on Rakudo Perl 6" was kind of a misleading title ...
23:17 jnthn sleep, 'night o/
23:17 raiph well, your blog isn't part of planetsix, i suspect few p6 watchers have switched to planeteria, they are great blogs, and the title made sense to me...
23:17 raiph o/ jnthn
23:18 labster oh it makes sense inside the community, but everyone outside was like "oh, I can do random hacking *with* P6?  Cool."
23:20 labster Well, thanks.  I certainly wasn't expecting to get a 1100 hits on a post for how to hack a compiler.  But if we get one or two of them to do it... totally worth it.
23:20 FROGGS gnight jnthn
23:20 labster The goal is to try to recruit people smarter than myself :o)
23:21 raiph do you have solid evidence that lots of folk are interpreting it the unintended way?
23:22 labster No, just that the page is getting twice as many visits.  Hey, I'm not complaining or anything.
23:22 raiph heh
23:23 raiph i'm trying to choose very carefully what i post to /r/programming
23:26 labster chromatic seems unhappy.
23:26 xinming joined #perl6
23:29 flussence well that's a constant...
23:40 cognominal I suppose that if there has been forums discussing the first HLL compilers versus good macro assemblers we would have the same kind of discussions. People showing stuff that's fast in assembler and cannot even be done on HLL and dissing compilers.
23:41 cognominal I mean at the time of the very first compilers.
23:41 TimToady well, there were forums, they just weren't electronic :)
23:42 cognominal so they are hardly accessible from google, I suppose.
23:42 FROGGS so they dont exist
23:43 cognominal by today standards, if it is not accessible from google they don't exist indeed and have never existed :)
23:44 TimToady so, does Perl Monks still not exist?
23:44 TimToady last I knew, they didn't :)
23:45 lue .oO(Look at the power and flexibility of my 8086 asm example! When's that going to happen in C?)
23:46 lue cognominal: that's a generous definition of existence. It's close to at most the bottom of fifth page of results (assuming a well-formed search query)
23:47 cognominal TimToady, well I think Perl need to be more web aware. perlmonks marks perl as hold hat. TimToady, Is it true that Tim O'Reilly proposed a chapter on the web in programming Perl and you answered you did not want to pigeon hole Perl ?
23:48 cognominal That's easy to criticize... with hindsight.
23:50 TimToady I'm certain that we had many reasons for most of the decisions we made, including whether it would fit
23:50 TimToady and whether there was already going to be other books for that
23:53 * cognominal cannot sleep and goes back to study nqp internals
23:53 flussence the problem with putting anything about web development into print is that it's outdated before you finish typing...
23:54 cognominal at that time, it was not so big and did not move so fast.
23:54 lue .oO(But if you write about a draft of a W3C standard, it will still be a draft years after you publish)
23:54 cognominal lue++
23:54 flussence lue++ :D
23:56 cognominal speaking of W3C standards, I heard that chome was dropping mathml as part of his choice of forking the graphic layer
23:56 cognominal * chrome
23:56 flussence .oO( we've still got a few years before perl6 has taken longer to finish than border-radius... )
23:57 lue Apparently, HTML 5.0 is supposed to be a recommendation in 2014 (which surprised me, because the last time I read anything was the fuzzy exclamation that it would take "decades" for HTML5 to be approved)
23:57 labster 1981 border-radius: http://www.folklore.org/StoryView.py?story=Round_Rects_Are_Everywhere.txt
23:58 lue That's..That's... before the WWW existed, right?

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

Perl 6 | Reference Documentation | Rakudo