Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-07-12

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:11 cognominal left #perl6
00:12 cognominal joined #perl6
00:23 drbean joined #perl6
00:29 shinobicl joined #perl6
00:34 shinobicl left #perl6
00:38 sorear TimToady: suppose f() returns a value with a nontrivial .sink; what does &infix:<=>(my $x, f()) return?
00:39 dayangkun_ joined #perl6
00:40 jaldhar left #perl6
00:40 jaldhar joined #perl6
00:42 dayangkun left #perl6
00:45 sorear TimToady: ah, I see what's going on; constant @x = 1, (2,3) creates a nonflat List
00:48 lue left #perl6
00:49 kcwu joined #perl6
00:53 TimToady infix:<=> would need to be declared sub infix:<=> is rw ($lvalue is rw, $rvalue) { ...; $lvalue } or some such
00:54 pmichaud yes, I always assumed infix:<=> returns its lhs.
00:55 pmichaud ...and we don't call .sink on the result of infix:<=>.
00:55 TimToady perl6: (((my $x) = 2) = 3) = 42; say $x
00:55 p6eval pugs, rakudo 72d158, niecza v7-22-gce1bbd0: OUTPUT«42␤»
00:55 TimToady glad everyone agrees :)
00:56 pmichaud nom: (((my $x) = 2) = 3) = 42;  say $x;  # checking
00:56 p6eval nom: OUTPUT«42␤»
00:56 pmichaud whew
00:56 TimToady nom: (state $)++
00:56 p6eval nom: OUTPUT«Contextual $*GOAL not found␤current instr.: 'nqp;Perl6;Grammar;_block2042' pc 91346 (src/gen/perl6-grammar.pir:24845) (src/Perl6/Grammar.pm:670)␤»
00:56 TimToady :P
00:59 TimToady perl6: sink (my $x) = 1
00:59 p6eval rakudo 72d158:  ( no output )
00:59 p6eval ..niecza v7-22-gce1bbd0: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Action method statement_prefix:sink not yet implemented at /tmp/TxnkMW1267 line 1 (EOF):␤------> [32msink (my $x) = 1[33m⏏[31m<EOL>[0m␤␤Unhandled exception: Unable to resolve method statement_level in class Str␤  at /home…
00:59 p6eval ..pugs: OUTPUT«*** No such subroutine: "&sink"␤    at /tmp/xYP1ycvY4i line 1, column 1 - line 2, column 1␤»
01:00 TimToady perl6: ((my $x) = 1).sink
01:00 p6eval pugs: OUTPUT«*** No such method in class Array: "&sink"␤    at /tmp/XIm8zkVEMF line 1, column 1 - line 2, column 1␤»
01:00 p6eval ..niecza v7-22-gce1bbd0: OUTPUT«Potential difficulties:␤  $x is declared but not used at /tmp/FHKTWMt2XM line 1:␤------> [32m((my [33m⏏[31m$x) = 1).sink[0m␤␤Unhandled exception: Unable to resolve method sink in class Int␤  at /tmp/FHKTWMt2XM line 1 (MAIN mainline @ 1) ␤  at /home/p6ev…
01:00 p6eval ..rakudo 72d158: OUTPUT«Method 'sink' not found for invocant of class 'Int'␤  in main program body at line 22:/tmp/KSVeJYySlp␤»
01:00 dayangkun_ left #perl6
01:01 TimToady I guess I don't understand the .sink remark either
01:01 jaldhar left #perl6
01:01 noganex left #perl6
01:02 jaldhar joined #perl6
01:04 ab5tract joined #perl6
01:05 noganex joined #perl6
01:09 jaldhar left #perl6
01:10 jaldhar joined #perl6
01:17 dayangkun joined #perl6
01:23 whiteknight left #perl6
01:31 daniel-s rakudo: ((my $x) = 1).sink.say
01:31 p6eval rakudo 72d158: OUTPUT«Method 'sink' not found for invocant of class 'Int'␤  in main program body at line 22:/tmp/IXV2yb9hc6␤»
01:31 daniel-s rakudo: say sink((my $x) = 1)
01:31 p6eval rakudo 72d158: OUTPUT«Could not find sub &sink␤  in main program body at line 22:/tmp/sAuZ1G0iNh␤»
01:31 TimToady rakudo doesn't really do sink yet
01:37 cognominal left #perl6
01:42 benabik_ joined #perl6
01:42 benabik left #perl6
01:42 benabik_ is now known as benabik
01:43 daniel-s rakudo: my $x = 4; $\   x++\    .say; $#`{{dsfjksdhgkjshgksg}}x++.say; $\#`{{dsfjksdhgkjshgksg}}x++.say;
01:43 p6eval rakudo 72d158: OUTPUT«===SORRY!===␤Unsupported use of $\ variable; in Perl 6 please use the filehandle's :ors attribute at line 22, near "   x++\\   "␤»
01:44 daniel-s rakudo: my $x = 4; $x++\    .say; $x#`{{dsfjksdhgkjshgksg}}++.say; $x\#`{{dsfjksdhgkjshgksg}}++.say;
01:44 p6eval rakudo 72d158: OUTPUT«4␤Any()␤5␤»
01:45 daniel-s rakudo: my $x = 4; $x++\    .say; ++.say; $x\#`{{dsfjksdhgkjshgksg}}++.say;
01:45 p6eval rakudo 72d158: OUTPUT«4␤Any()␤Cannot modify readonly value␤  in '&infix:<=>' at line 1:src/metamodel/RoleToInstanceApplier.nqp␤  in main program body at line 22:/tmp/ctRAV4qPpO␤»
01:45 daniel-s rakudo: my $x = 4; $x++\    .say; $x++.say; $x\#`{{dsfjksdhgkjshgksg}}++.say;
01:45 p6eval rakudo 72d158: OUTPUT«4␤5␤6␤»
01:46 daniel-s $x#`{{dsfjksdhgkjshgksg}}++.say is not allowed
01:49 ab5tract left #perl6
01:50 daniel-s rakudo: my $x = 4; $x++\    .say; $x ++.say; $x\#`{{dsfjksdhgkjshgksg}}++.say;
01:50 p6eval rakudo 72d158: OUTPUT«4␤Any()␤5␤»
01:51 daniel-s :)
01:51 [Coke] nom: say.say.say
01:51 p6eval nom: OUTPUT«␤Bool::True␤Bool::True␤»
01:59 benabik t/p6regex/01-regex.t is hanging after 331 tests on Darwin/x86 (Parrot master, NQP master)
02:15 pmichaud that's a known bug
02:16 _jaldhar joined #perl6
02:16 benabik Running it with -v also reveals several failures...
02:16 jaldhar left #perl6
02:16 pmichaud also known bugs
02:16 benabik ...  Boo.
02:17 pmichaud the tests weren't all completely converted correctly when nqp was split from nqp-rx
02:17 benabik So the only way I can tell if nqp is working properly by trying rakudo?
02:17 pmichaud if all of the non-regex tests pass, you're probably okay.
02:17 pmichaud but it would be a really good idea to test it against nom also :)
02:35 dayangkun_ joined #perl6
02:36 dayangkun left #perl6
02:37 [Coke] Files=239, Tests=6647
02:38 [Coke] we can probably hit 7K without regex.
02:38 pmichaud I'm looking at a wednesday target for regex
02:38 _jaldhar left #perl6
02:38 _jaldhar joined #perl6
02:40 dalek rakudo/nom: f84edb1 | Coke++ | t/spectest.data:
02:40 dalek rakudo/nom: add a failure reason.
02:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f84edb1406
02:43 benabik I installed nqp and now get `"load_bytecode" couldn't find file "ModuleLoader.pbc"`
02:51 * TimToady needs to fix the range spec so that '42' ~~ 0..100 works right
02:52 pmichaud nom:  say '42' cmp 100;   # I think this is why it fails now
02:52 p6eval nom: OUTPUT«1␤»
02:52 pmichaud since '42' after 100, it thinks it's outside of the range.  :-)
02:53 TimToady it probably needs to ref Bridge types for one or both .. args
02:53 dalek rakudo/nom: e4f9e45 | Coke++ | t/spectest.data:
02:53 dalek rakudo/nom: minor test failure reasons updates.
02:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e4f9e455d7
02:54 pmichaud the whole Bridge thing feels a little wobbly to me at the moment
02:54 TimToady or we just carefully dispatch on Numeric or Stringy
02:54 pmichaud it's kind of the right idea, but not quite the right factoring.
02:57 TimToady anyway S03:3466 is rongy
02:57 pmichaud anyway, we already have a rule that says that the left argument being numeric implies numeric on the right argument... perhaps it should also extend to range comparisons.
02:58 TimToady no, that's backwards for when
02:58 pmichaud what's the case you're thinking of?
02:58 TimToady the type of the right should dominate
02:58 TimToady '42' ~~ 1..100
02:59 pmichaud I mean the left argument of the range
02:59 pmichaud not the smart match
02:59 TimToady ah, yes, but then there's Inf..-2
02:59 pmichaud that wouldn't imply a numeric match also?  (which always fails, since Inf > -2?)
03:00 TimToady er, *..-2
03:00 daniel-s rakudo: '42' ~~ 1..100;
03:00 p6eval rakudo 72d158:  ( no output )
03:00 daniel-s rakudo: say '42' ~~ 1..100;
03:00 p6eval rakudo 72d158: OUTPUT«Bool::False␤»
03:00 TimToady I've run into that one several times now on RC
03:01 pmichaud I guess what I'm saying is that Range really acts something like  Range of ....
03:01 pmichaud i.e., the Range is perhaps parameterized somehow
03:01 pmichaud based on the arguments used to construct it
03:01 pmichaud and that implies things for how it smartmatches
03:01 TimToady somethin like that
03:02 pmichaud if the left argument is numeric, it's cast into the wider type of the two
03:02 pmichaud if the left argument is Whatever, it takes on the type of the rhs  (assuming -Inf makes sense for that)
03:03 pmichaud otherwise the types have to match, and normal cmp semantics hold
03:04 TimToady wider type isn't good enough
03:04 TimToady has to be Real minimally
03:07 colomon left #perl6
03:16 lichtkind gnight
03:17 lichtkind left #perl6
03:24 Su-Shee left #perl6
03:27 sorear TimToady: if $x = f() returns the value of f(), then how does $x.sink not get called?
03:28 Su-Shee joined #perl6
03:29 sorear TimToady: do you have a small concrete example of the "state lvalue problem"?
03:29 sorear o/ Su-Shee
03:31 TimToady niecza doesn't have a state lvalvue problem
03:31 TimToady it only has a (state $) problem
03:31 sorear ah.
03:32 molaf joined #perl6
03:32 sorear (it also has a top-level state problem)
03:32 TimToady and I still have no clue what you mean by .sink
03:32 sorear (and I think it has some issues with @vars)
03:32 sorear class Foo { method sink { say 5 } }; my $x = Foo.new; Nil;
03:32 sorear presumably this won't call say
03:32 sorear why not?  how?
03:33 pmichaud I've always assumed it's syntactic here, or a property on the operator.
03:33 pmichaud i.e., in a statementlist we see that the operand is &infix:<=> so we don't put it in sink context.
03:33 pmichaud s/operand/operator/
03:33 TimToady sink is not a method, meseemeth
03:34 TimToady it's just an eager list op that discards its values
03:36 TimToady no type really has to know what sink means
03:36 sorear Your latest $! commit suggests that do { Failure.new; 2 } throws an exception.  Is this related to sink?
03:37 pmichaud TimToady: I think part of the question (part of mine, at any rate) is how does sink get suppressed on an assignment statement?
03:37 TimToady only if the failure is marked unhandled, and perhaps only fail() marks 'em that way
03:37 TimToady why does it have to be?
03:38 sorear TimToady: suppose f() returns an unhandled failure.  What causes do { f(); Nil } to throw an exception?
03:38 pmichaud my $x = @list.map(); 1;   #  $x is no longer lazy
03:38 TimToady what happens if you eat the lvalue?
03:39 TimToady okay, you're saying if you assign an unhandled failure, it shouldn't throw
03:39 TimToady at least I understand the question now :)
03:40 pmichaud and my question is if we assign a lazy list, how do we keep sink context from eagerly evaluating it?
03:40 TimToady only if it's marked infinite
03:40 pmichaud map is always eager on finite lists?
03:41 TimToady the sink can probably treat the lvalue differently than an rvalue
03:41 TimToady that's just a feeling tho
03:41 TimToady or we could just specifically exempt known side-effecty things from needing a sink
03:42 pmichaud syntactically, as in the case of assignment?
03:42 TimToady mebbe
03:44 cognominal joined #perl6
03:45 TimToady if we had a real refcount language, we could just throw any unhandled exception when its refcount == 0
03:46 pmichaud afk for a short bit
03:47 sorear I think TimToady has said in the past that sink context is "a bit in the callframe"
03:48 * TimToady has said a great many odd things in the past
03:49 sorear std: foo(); { our sub foo() { } }
03:49 p6eval std 37a0cdd: OUTPUT«ok 00:01 120m␤»
03:49 sorear is this legal Perl6?
03:52 TimToady no, according to S06:471
03:52 * sorear fixes a test
03:52 sorear OUR::foo() would be legal right?
03:53 TimToady yes
03:54 TimToady it can also be legal if there's a CANDO that directs our attention to the current package
03:55 TimToady but CANDO is itself lexically scoped
04:04 satyavvd joined #perl6
04:10 molaf left #perl6
04:13 dayangkun_ left #perl6
04:14 flatwhatson joined #perl6
04:15 flatwhatson left #perl6
04:25 dayangkun_ joined #perl6
04:50 xinming left #perl6
04:56 donri left #perl6
04:58 dalek niecza: ec8f968 | sorear++ | src/ (2 files):
04:58 dalek niecza: Implement declaration of anonymous variables
04:58 dalek niecza: review: https://github.com/sorear/niecza/commit/ec8f968a42
04:58 dalek niecza: ea9ecaa | sorear++ | t/spectest.data:
04:58 dalek niecza: We now pass my.t
04:58 dalek niecza: review: https://github.com/sorear/niecza/commit/ea9ecaa066
05:02 dalek roast: 8cc349a | sorear++ | S0 (3 files):
05:02 dalek roast: some fudging of S02-literals/quoting, S04-declarations/{my, state}; fixes
05:02 dalek roast: review: https://github.com/perl6/roast/commit/8cc349a828
05:11 kaare_ joined #perl6
05:17 fhelmberger left #perl6
05:20 mberends left #perl6
05:22 fhelmberger joined #perl6
05:23 dalek specs: 6fe30d6 | larry++ | S03-operators.pod:
05:23 dalek specs: '42' ~~ 1..100 coerces string to Real, etc.
05:23 dalek specs: review: https://github.com/perl6/specs/commit/6fe30d629e
05:23 xinming joined #perl6
05:30 birdwindupbird joined #perl6
05:34 dayangkun_ left #perl6
05:35 am0c left #perl6
05:46 beek joined #perl6
05:47 dayangkun_ joined #perl6
05:47 moritz good morning
05:48 soh_cah_toa left #perl6
05:48 Jackneill joined #perl6
05:48 beek harrroo.
05:49 am0c joined #perl6
05:53 sorear Hello beek!  Welcome to #perl6.
05:54 beek Hey thanks yo.  I'm mostly still 5ish, but am starting to transition.
05:54 dalek niecza: 8545ad6 | sorear++ | src/niecza:
05:54 dalek niecza: Fix \(state $) misparse
05:54 dalek niecza: review: https://github.com/sorear/niecza/commit/8545ad60c6
05:54 dalek niecza: 08c4185 | sorear++ | / (2 files):
05:54 dalek niecza: Fix state at top level
05:54 dalek niecza: review: https://github.com/sorear/niecza/commit/08c41854c3
05:54 dalek roast: 9055b81 | sorear++ | S04-declarations/state.t:
05:54 dalek roast: S04-declatations/state: test two niecza regressions, fix \(state $) test
05:54 dalek roast: review: https://github.com/perl6/roast/commit/9055b810c5
05:59 wamba joined #perl6
06:00 Jackneill left #perl6
06:08 wtw joined #perl6
06:08 sorear TimToady: ping
06:09 sorear TimToady: is it sensible to make state ($x, $y) = 1,2 auto-START?
06:10 c9s left #perl6
06:22 TimToady yes, but not (state $x) = 1
06:23 wamba left #perl6
06:25 dalek niecza: 22671b9 | sorear++ | src/niecza:
06:25 dalek niecza: Support for non-my list declarators
06:25 dalek niecza: review: https://github.com/sorear/niecza/commit/22671b937b
06:26 TimToady but in general var declarators parse a parcel as a single unit and then eat the = as pseudo-assignment
06:26 TimToady doubt it extends to constant though
06:27 sorear I am fairly certain that 'is $seensize, 11, "list assignment' in S04-declarations/state.t should be 10, not 11.
06:27 sorear Anyone care to check this before I commit?
06:28 mj41 joined #perl6
06:35 f00li5h left #perl6
06:35 TimToady dunno, it might be erroneous to assume either value, but hurts my brane
06:35 TimToady but a better case can probably be made for 10
06:36 TimToady go ahead and change it to 10, and see if anyone carps :)
06:39 sorear 'state $svar will first' smells wrong
06:39 sorear shouldn't that be 'will start'?
06:39 TimToady fossil
06:39 sorear first is more about loops
06:39 TimToady START used to be FIRST
06:40 sorear methinks 'my $x will start' (S04:1377) makes little sense
06:40 sorear on the second and subsequent block entries, the value won't be retained
06:41 TimToady treu
06:41 dalek niecza: 787b33d | sorear++ | src/niecza:
06:41 dalek niecza: Implement state $x will start { 42 }
06:41 dalek niecza: review: https://github.com/sorear/niecza/commit/787b33dd63
06:42 dalek roast: 4bae023 | sorear++ | S04-declarations/state.t:
06:42 dalek roast: Many state unfudges for niecza, fix fib recursion count, fix will first fossil
06:42 dalek roast: review: https://github.com/perl6/roast/commit/4bae0235a4
06:42 sorear it's still fudged on :Perl5 and Sub.clone
06:42 sorear maybe I'll try :Perl5 tomorrow
06:42 TimToady wouldn't that need to assign 42 to the current object?
06:42 sorear still unconvinced Sub.clone should exist
06:43 sorear dunno I just made the test work :)
06:43 * sorear checks S04
06:43 TimToady just returning 42 is a no-op
06:43 wamba joined #perl6
06:43 TimToady my $r will start { .set_random_seed() };
06:43 TimToady $func = { state $x will start { $x = $i++ }; dostuff($i) };
06:43 TimToady those both refer to the declarand
06:44 sorear I see
06:45 TimToady I mean, yes, the START block returns its value, but I'm not sure that's autoassigned to the declarand
06:45 TimToady we also use that syntax for lots of things that are side-effecty, like will {.close}
06:45 TimToady will *.close these days, probably
06:46 TimToady er, will leave {.close} I mean
06:46 sorear trait_mod:will parses a <pblock>
06:46 sorear will leave *.close won' do
06:47 TimToady hmm
06:47 dalek niecza: 23c8f9f | sorear++ | src/niecza:
06:47 dalek niecza: will start { $_ = 2 }, not will start { 2 }
06:47 dalek niecza: review: https://github.com/sorear/niecza/commit/23c8f9fe23
06:47 dalek roast: 01f6069 | sorear++ | S04-declarations/state.t:
06:47 dalek roast: S04-declarations/state: fix will start { 42 } fossil (TimToady)
06:47 dalek roast: review: https://github.com/perl6/roast/commit/01f6069ea7
06:48 sorear I wonder how hard rx :Perl5 // will be
06:49 TimToady that depends on how much of it we choose to emulate; it would be insane to emulate it all, esp the bugs
06:50 TimToady you probably don't want to emulate the non-reentrancy, for instance :
06:50 mj41 left #perl6
06:50 sorear how much sense does [ :bytes . ] make these days?
06:51 agentzh joined #perl6
06:52 sorear perl6: say "abcde".bytes # Discuss.
06:52 p6eval pugs, rakudo 72d158: OUTPUT«5␤»
06:52 p6eval ..niecza v7-27-g22671b9: OUTPUT«10␤»
06:52 TimToady I believe I'm on record that using .bytes on a Str is erroneous, at least
06:53 TimToady it should not be assuming any particular encoding
06:54 TimToady S02:551
06:54 sorear What does :bytes in a regex mean?
06:55 TimToady same as \C in p5, which is also quite bogus :)
06:55 TimToady it's something that probably should be prohibited, since it can leave you in the middle of a character
06:56 TimToady and it is also assuming things about the encoding that it can't know
06:56 sorear especially nasty since niecza uses 16-bit code units :>
06:56 TimToady nod
06:57 TimToady except when you use 32-bit units :)
06:57 sorear although it needs a better implementation of Str at some point
06:57 TimToady UTF-16 is not a fixed-width encoding either
06:57 sorear one with a substr cache of some kind
06:58 TimToady we need to get to something that doesn't need a cache, if possible
06:59 TimToady something with fixed size integer arrays, at least for chunks of strings as ropes, if not the whole string
06:59 sorear how do you propose to implement Str with constant time indexing for both 'codes' and 'graphs'?
06:59 TimToady but all the pieces of a particular rope don't have to be the same size
06:59 sorear or do you think strings should be natively one or the other and have slow "odd" operations?
07:00 TimToady I think graphs with NFG can be treated as equivalent to codes
07:00 TimToady there's just the added overhead of making up temporary codepoints for graphemes that don't have one natively in NFC
07:00 * moritz still isn't convinced the chars/ords duality will work out, except if we introduce separate types for them
07:01 sorear chars/ords?
07:01 sorear TimToady: "n\c[COMBINING DIAERESIS]".codes == 1 ?
07:02 moritz chars/codes I meant
07:02 TimToady sorear: that is also unknowable according to spec
07:02 TimToady "Similarly, C<.codes> is not well-defined unless you know which canonicalization is in effect."
07:03 sorear TimToady: that pair is invariant in all official canonicalizations
07:03 sorear it cannot be composed, decomposed, or reordered
07:03 TimToady then it's two code
07:03 TimToady codes
07:03 TimToady but it's one graph
07:04 sorear TimToady: suppose I have a ten-million-graph NFG string, mostly ASCII but with a few occurences of n-diaeresis
07:04 sorear TimToady: $str.codes needs to return 1 per ascii char, 2 per n-diaeresis
07:05 sorear TimToady: how can this be done quickly?
07:05 TimToady if you have an NFG string, codes is undefined
07:05 sorear or should we just tell users "don't use codes in tight loops"?
07:06 * sorear ponders a UTF-16-like encoding, but with chars reordered such that "is this a combining char?" is a single arithmatic operation
07:06 TimToady there will be code that wants to work at each abstraction level, so likely there are buf types that vary according to canonicalization too, and contain codepoints
07:08 Jackneill joined #perl6
07:08 Jackneill left #perl6
07:08 Jackneill joined #perl6
07:08 TimToady but both code strings and graph strings are really just lists of integers, and with proper abstraction we don't care about how those integers are stored
07:09 TimToady you can have ropes where they are mostly ASCII, with a few stretches that need int16 or int32 arrays instead of int8
07:09 TimToady or uint as the case may be
07:10 sorear What is the natural ordering of NFG-strings?
07:10 sorear Order as if NFD?
07:10 TimToady well, that's a big topic, even by Unicode standards...
07:10 sorear Should NFG strings be able to represent isolated combining characters?
07:11 sorear TimToady: I'm talking binary ordering, not collation
07:11 sorear the extension of collation to NFG is obvious
07:12 TimToady well, anything that's consistent, and vaguely explainable, will probably do for that
07:12 sorear nod.
07:12 araujo left #perl6
07:12 sorear "\c[COMBINING TILDE]\c[COMBINING DIAERESIS]".graphs = ?
07:14 im2ee joined #perl6
07:14 TimToady as for baseless combiners, we'll have to think about that; they might most naturally be forced to exist as codepoint strings, not graph strings, as long as the appropriate cat ops are available when you need 'em
07:14 sorear walk&
07:14 TimToady alternately, we have a conventional base that we use to mean "Isn't one", but that's not Unicodey
07:15 * TimToady shood zzz instead of walk &
07:23 amkrankruleuen left #perl6
07:26 jnthn morning, #perl6
07:39 mj41 joined #perl6
07:43 moritz \o jnthn
07:46 jnthn hi moritz
07:49 moritz std: $*OUT.print 4 # I know what the error is, just want to see if STD knows too :-)
07:49 p6eval std 37a0cdd: OUTPUT«[31m===[0mSORRY![31m===[0m␤Two terms in a row (method call requires colon or parens to take arguments) at /tmp/yeV5tSBptf line 1:␤------> [32m$*OUT.print [33m⏏[31m4 # I know what the error is, just want [0m␤    expecting any of:␤       bracketed infix␤        infix or
07:49 p6eval ..met…
07:53 jnthn Nice that it also tells you how to fix it :)
07:53 moritz niecza:  $*OUT.print 4
07:53 p6eval niecza v7-29-g23c8f9f: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Any()Confused at /tmp/aI_xXTJUd9 line 1:␤------> [32m$*OUT.print [33m⏏[31m4[0m␤␤Parse failed␤␤»
07:53 moritz niecza is less awesome there
07:53 jnthn nom: $*OUT.print 4 # doubt this is awesome...
07:53 p6eval nom: OUTPUT«Confused at line 1, near "$*OUT.prin"␤current instr.: 'nqp;HLL;Grammar;panic' pc 23533 (src/stage2/gen/NQPHLL.pir:6314) (src/stage2/gen/NQPHLL.pm:328)␤»
08:14 dayangkun_ left #perl6
08:18 benabik left #perl6
08:18 benabik joined #perl6
08:21 daxim joined #perl6
08:23 kaare__ joined #perl6
08:24 cipherte1t joined #perl6
08:24 kthakore_ joined #perl6
08:25 ruoso joined #perl6
08:25 mikemol_ joined #perl6
08:25 yath_ joined #perl6
08:25 dayangkun_ joined #perl6
08:27 sorear std: $*OUT.print   4
08:27 p6eval std 37a0cdd: OUTPUT«[31m===[0mSORRY![31m===[0m␤Two terms in a row at /tmp/pcA16GKl6H line 1:␤------> [32m$*OUT.print   [33m⏏[31m4[0m␤    expecting any of:␤     bracketed infix␤        infix or meta-infix␤    statement modifier loop␤Parse failed␤FAILED 00:01 120m␤»
08:27 tadzik good morning #perl6
08:27 sorear hi tadzik
08:29 kaare_ left #perl6
08:29 ciphertext left #perl6
08:29 ruoso_ left #perl6
08:29 kthakore left #perl6
08:29 mattp_ left #perl6
08:29 mikemol left #perl6
08:29 yath left #perl6
08:31 jnthn o/ tadzik
08:31 wooden left #perl6
08:36 Jackneill left #perl6
08:50 dalek rakudo: aeb12bb | moritz++ | build/Makefile.in:
08:50 dalek rakudo: "git fetch" in t/spec, because it might be too old know about revision a14ba49
08:50 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/aeb12bbb32
08:52 dakkar joined #perl6
09:14 shachaf left #perl6
09:19 f00li5h joined #perl6
09:20 ab5tract joined #perl6
09:21 araujo joined #perl6
09:29 dayangkun_ left #perl6
09:30 Mowah joined #perl6
09:35 dalek niecza: af607ad | sorear++ | src/ (3 files):
09:35 dalek niecza: Rearrange panic a bit to improve TTIAR and related errors
09:35 dalek niecza: review: https://github.com/sorear/niecza/commit/af607ad8dd
09:36 sorear evalbot rebuild niecza
09:36 p6eval OK (started asyncronously)
09:38 sorear niecza: [1]  2
09:38 p6eval niecza v7-30-gaf607ad: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Two terms in a row (preceding is not a valid reduce operator) at /tmp/WY8TuAztrI line 1:␤------> [32m[1]  [33m⏏[31m2[0m␤␤Parse failed␤␤»
09:38 sorear std: [1]  2
09:38 p6eval std 37a0cdd: OUTPUT«[31m===[0mSORRY![31m===[0m␤Two terms in a row at /tmp/10y39r7ZK_ line 1:␤------> [32m[1]  [33m⏏[31m2[0m␤    expecting any of:␤      bracketed infix␤        infix or meta-infix␤    statement modifier loop␤Parse failed␤FAILED 00:01 121m␤»
09:38 sorear niecza: $*OUT.print 4
09:38 p6eval niecza v7-30-gaf607ad: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Two terms in a row (method call requires colon or parens to take arguments) at /tmp/I34qbPp6a1 line 1:␤------> [32m$*OUT.print [33m⏏[31m4[0m␤␤Parse failed␤␤»
09:39 * sorear flags moritz
09:40 moritz sorear: you can now reply to perl6-users and write "niecza now also gives the awesome error message"
09:40 mikehh joined #perl6
09:51 sorear I can't, I don't have a copy of the message to thread it to
09:52 * sorear out
09:52 wamba left #perl6
10:01 daniel-s left #perl6
10:06 wamba joined #perl6
10:08 im2ee left #perl6
10:09 im2ee joined #perl6
10:16 Jackneill joined #perl6
10:16 Jackneill left #perl6
10:16 Jackneill joined #perl6
10:17 Chillance joined #perl6
10:28 agentzh left #perl6
10:29 envi left #perl6
10:46 mattp_ joined #perl6
11:08 colomon joined #perl6
11:21 SHODAN joined #perl6
11:25 JimmyZ joined #perl6
11:26 Yume joined #perl6
11:27 JimmyZ good evening, #perl6
11:28 Yume how to install easily perl 6 on windows?
11:28 Yume good night
11:30 daxim https://github.com/downloads/rakud​o/star/rakudo-star-2011.04.v2.exe
11:34 Util left #perl6
11:34 tadzik left #perl6
11:34 PerlJam left #perl6
11:35 pmichaud left #perl6
11:35 hatseflats left #perl6
11:38 yath_ is now known as yath
11:40 mtk left #perl6
11:41 im2ee left #perl6
11:46 mtk joined #perl6
11:47 hatseflats joined #perl6
11:47 Yume left #perl6
11:50 satyavvd left #perl6
11:50 tadzik joined #perl6
11:52 pmichaud joined #perl6
11:52 PerlJam joined #perl6
11:52 Util joined #perl6
11:53 Yume joined #perl6
11:53 Yume how to easily install perl6 on windows?
11:54 moritz Yume: what's wrong with the answer that daxim gave you earlier?
11:56 Yume which answer?
11:56 sjn Yume: 13:30 < daxim> https://github.com/downloads/rakud​o/star/rakudo-star-2011.04.v2.exe
11:56 moritz http://irclog.perlgeek.de/​perl6/2011-07-12#i_4099538
11:56 sjn Yume: also, on irc it helps to be online continuously ;)
11:57 takadonet morning all
11:57 Yume thanks very much for the information, i will try it
11:58 Yume :)
12:05 shinobicl joined #perl6
12:06 Jackneill left #perl6
12:10 shinobicl left #perl6
12:13 colomon left #perl6
12:20 MayDaniel joined #perl6
12:20 * [Coke] needs a simple command, like "bots", where some bot will tell him in private who all the bots are and how to talk to them, since they don't answer to just any ole question.
12:21 moritz p6eval: help
12:21 p6eval moritz: Usage: <(nom|nqpnet|star|pugs|nqp|mildew|std​|niecza|rakudo|perlesque|nqprx|yapsi|​alpha|highlight|partcl)(?-xism::\s) $perl6_program>
12:22 moritz right, we're missing a bigger summary
12:22 moritz http://perl6.org/community/irc has a very rough summary
12:22 [Coke] partcl: puts [list well that's one bot down.]
12:22 p6eval partcl 3977a9: OUTPUT«well that's one bot down.␤»
12:23 [Coke] I forgot partcl was in there.
12:25 smash joined #perl6
12:26 smash hello everyone
12:26 moritz \o smash
12:27 tadzik hi smash
12:31 nebuchadnezzar left #perl6
12:32 * moritz wonders how hard it would be to install a magical POD variable that contains the next/previous/closest Pod block
12:32 jnthn hm
12:33 jnthn moritz: It's got weird scoping, that's the thing...
12:33 jnthn Lexical may not be find grained enough
12:33 nebuchadnezzar joined #perl6
12:34 tadzik you could emit a past that would change it after every pod block encountered :)
12:34 moritz jnthn: maybe the solution is not scoping, but rather a magical tied var that lookos up the contents based on caller position
12:34 jnthn Well...
12:34 moritz but I guess the idea itself is rather bogus
12:34 Yume left #perl6
12:34 jnthn Far far easier is just to have a $*LASTPODBLOCK
12:35 moritz it's better to have pod blocks attached to routines and packages
12:35 jnthn And whenever you see $=LASTPOD instead of a variable lookup you just emit an SC lookup of whatever is in $*LASTPODBLOCK
12:35 jnthn Yeah, most likely :)
12:35 tadzik just wait one more week :>
12:37 * [Coke] is surprised to see sorear++ sucked into parrot. woot.
12:37 [Coke] SC?
12:37 MayDaniel left #perl6
12:37 moritz serialization context
12:38 moritz tadzik: I was never good at waiting. If I were, I'd be waiting for Perl 6 instead of contributing :-)
12:38 tadzik :)
12:44 bluescreen10 joined #perl6
12:47 daniel-s joined #perl6
12:48 daniel-s left #perl6
12:50 PerlJam left #perl6
12:52 PerlJam joined #perl6
12:59 molaf joined #perl6
13:01 Jackneill joined #perl6
13:02 _jaldhar left #perl6
13:03 Yume joined #perl6
13:03 _jaldhar joined #perl6
13:03 Holy_Cow joined #perl6
13:04 _jaldhar left #perl6
13:05 _jaldhar joined #perl6
13:09 Holy_Cow left #perl6
13:13 envi joined #perl6
13:20 Mowah left #perl6
13:33 drbean left #perl6
13:55 moritz nqp: say(pir::defined(0))
13:55 p6eval nqp: OUTPUT«1␤»
13:55 moritz nqp: say(pir::defined(pir::null__P))
13:55 p6eval nqp: OUTPUT«0␤»
13:59 _jaldhar left #perl6
14:05 Alias joined #perl6
14:10 tadam joined #perl6
14:12 tadam left #perl6
14:15 _jaldhar joined #perl6
14:15 [Coke] left #perl6
14:16 [Coke] joined #perl6
14:20 wtw left #perl6
14:25 jnthn woo, $dayjob work done early
14:25 * jnthn decommutes
14:27 [Coke] left #perl6
14:29 [Coke] joined #perl6
14:30 pochi joined #perl6
14:38 PacoLinux left #perl6
14:41 PacoLinux joined #perl6
14:49 im2ee joined #perl6
14:54 masak joined #perl6
14:54 masak hi, #perl6
14:54 tadzik masak: \o/
14:56 masak \o/
14:57 smash masak: hello
15:00 masak hi, smash.
15:01 masak moritz++ # taking care of Parrot Raiser on p6u
15:02 moritz masak: FYI, I've submitted the midterm evaluations for tadzik++'s gsoc project
15:02 masak moritz: woot.
15:03 tadzik and I submitted mine :)
15:03 moritz tadzik++ again
15:06 dukeleto oh yeah, midterms
15:06 * dukeleto slaps his own wrist
15:28 * jnthn back
15:28 masak jnthn! \o/
15:30 masak std: Foo; class Foo {}
15:30 p6eval std 37a0cdd: OUTPUT«[31m===[0mSORRY![31m===[0m␤Illegally post-declared type:␤       'Foo' used at line 1␤Check failed␤FAILED 00:01 118m␤»
15:31 * masak now has such a long program that he often runs into the above
15:31 masak unfortunately with Rakudo's runtime error instead:
15:31 masak rakudo: Foo; class Foo {}
15:31 p6eval rakudo aeb12b: OUTPUT«Could not find sub &Foo␤  in main program body at line 22:/tmp/ZgcpikfKM9␤»
15:31 jnthn It still tells you the symbol name in error.
15:32 jnthn Just later :)
15:32 jnthn Guess Rakudo needs to learn about the MYSTERY stuff or some such to handle the std case.
15:32 masak indeed.
15:32 jnthn Patches welcome :)
15:33 masak just need to finish this game... :)
15:33 jnthn I suspect nom makes it easier...its symbol table handling is better :)
15:33 masak \o/
15:33 jnthn Not sure to what degree we'd want to steal the MYSTERY stuff from STD.
15:34 jnthn Or just do something more natural for Rakudo, but with equivalent functionality.
15:34 Alias left #perl6
15:34 TimToady pugs: constant dog = 'Benjamin'; sub Dog() { 'Samba' } macro DOG() { '"Bernie"' } say "The three dogs are named {dog}, {Dog}, and {DOG}."
15:34 p6eval pugs: OUTPUT«*** ␤    Unexpected "="␤    expecting ":" or "("␤    at /tmp/7mBwH9ExSM line 1, column 14␤»
15:35 masak TimToady: ; after }
15:35 TimToady doubt that's the issue
15:36 masak no, doesn't seem to be.
15:36 TimToady pugs: constant dog = 'Benjamin'; sub Dog() { 'Samba' } macro DOG() { '"Bernie"' }; say "The three dogs are named {dog}, {Dog}, and {DOG}."
15:36 p6eval pugs: OUTPUT«*** ␤    Unexpected "="␤    expecting ":" or "("␤    at /tmp/RcC9u4Wujh line 1, column 14␤»
15:36 TimToady we only have "variable" constants back then
15:36 TimToady *had
15:36 * masak .oO( constants aren't )
15:36 TimToady pugs: constant $dog = 'Benjamin'; sub Dog() { 'Samba' } macro DOG() { '"Bernie"' }; say "The three dogs are named {$dog}, {Dog}, and {DOG}."
15:36 p6eval pugs: OUTPUT«pugs: Missing required parameters: $_␤»
15:37 TimToady er...
15:37 jnthn o.O
15:37 TimToady pugs: constant $dog = 'Benjamin'; sub Dog() { 'Samba' }; macro DOG() { '"Bernie"' }; say "The three dogs are named {$dog}, {Dog}, and {DOG}."
15:37 p6eval pugs: OUTPUT«pugs: Missing required parameters: $_␤»
15:37 TimToady beats me
15:41 pmichaud possible incoming commit flood
15:42 dalek Heuristic branch merge: pushed 44 commits to nqp/qregex by pmichaud
15:42 pmichaud ah, good.
15:43 * jnthn puts the ark away again
15:44 TimToady wong ark
15:45 TimToady *r
15:45 masak or wrong flood.
15:45 TimToady .oO(wrong ar key)
15:46 moritz pmichaud: is that a regex engine reimplementation? or step by step improvements?
15:46 pmichaud it's a reimplementation.  In NQP.
15:46 moritz \o/
15:46 jnthn :)
15:46 pmichaud also has a ton of performance enhancements.
15:47 takadonet pmichaud: how far have you gotten so far on it?
15:47 [Coke] pmichaud++
15:47 pmichaud I think I'm about 60% of the way to where I want to be.
15:47 pmichaud Only 60% more to go :)
15:48 TimToady http://rosettacode.org/wiki/Case-​sensitivity_of_identifiers#Perl_6
15:48 [Coke] partcl: puts [lrepeat 4 pmichaud[string repeat + 2]]
15:48 p6eval partcl 3977a9: OUTPUT«pmichaud++ pmichaud++ pmichaud++ pmichaud++␤»
15:49 [Coke] no really, tcl's lovely.
15:49 pmichaud the new implementation drastically reduces the number of method calls and gc-able objects used during a match
15:49 pmichaud it also moves the target into a fixed-length encoding, so that utf8 no longer slows things down horribly.
15:51 pmichaud ...and by the end the day I expect to have a nfa-based longest token matcher in place.
15:51 moritz \o/
15:51 pmichaud (I've already prototyped a nfa implementation in NQP... just need to adapt it to the regex code)
15:52 jnthn So much nice stuff. :)
15:52 jnthn pmichaud++
15:52 pmichaud and the new core Regex::Cursor type is a role, so it can be composed into native HLL types (e.g., Rakudo gets its own Cursor and Match objects instead of having to derive directly from the engine's)
15:52 domidumont left #perl6
15:54 * moritz recommends   git log -p --reverse $first_interesting_commit..origin/qregex
15:54 moritz please don't expect me to understand the codegen
15:55 pmichaud I don't... and I now know how to improve the codegen when we redesign PAST for other vm backends
15:55 pmichaud right now PAST/POST have somewhat of the wrong factoring for the regex engine (and other stuff, I suspect)
15:56 TimToady is that a parallel nfa?
15:56 pmichaud TimToady: yes.
15:56 TimToady sugoi
15:56 [Coke] pmichaud: You scare me about as much as I scare people at work, I think.
15:57 masak the layers of scariness. :)
15:57 pmichaud I also expect to be able to use the nfa to avoid some subrule calls altogether
15:57 JimmyZ it's bad that dalek doesn't report NQP branch
15:58 * moritz is scared by pmichaud++, but less so knowing that he spent a lot of time pondering and planning it before
15:58 mberends joined #perl6
15:58 pmichaud I haven't done any pushes to the branch, other than to create the branch itself.  Commits might start showing up here.
15:58 moritz JimmyZ: it does, it just didn't want to flood the channel with 44 commits
15:58 pmichaud We'll know shortly.
15:58 JimmyZ oh
15:59 tadzik which one if nfa, the 'try all of them and choose longest' one?
15:59 JimmyZ dalek doesn't like flood
15:59 TimToady tadzik: parallel nfa means try the first char on all of them, then the second char of all of them, until they all give up but one
16:00 masak &
16:00 pmichaud the nfa follows all possibilities in parallel, recording the length at at which each path stops.  It then orders the alternatives based on length (with other criteria in the case of ties)
16:00 TimToady and a dfa can be viewed as merely one way to implement a parallel nfa :)
16:01 pmichaud I might go to a dfa eventually... doing smaller steps for now.
16:01 pmichaud mainly I want to get something working that we can use in nom.
16:01 moritz the advantage of DFAs is that they can be fast
16:01 pmichaud well, even as an nfa we should see very large speed improvements
16:01 TimToady the disadvantage is that you can get a state explosion unless you're lazy
16:01 moritz the disadvantage of DFAs is that they might have an exponentially larger size than the coressponding NFA
16:02 pmichaud even without the nfa we should see very large speed improvements, if only because we've reduced the number of gcables by several million :)
16:02 TimToady basically, DFA is just a potential optimizaiton of an NFA, in practice
16:02 pmichaud (and reduced the number of method calls as well)
16:02 TimToady stress on the word "potential"
16:03 jnthn And like any optimization, it can be selectively applied.
16:03 TimToady and *tion
16:03 pmichaud anyway, talking about the new engine is preventing me from coding it, so you all will have to watch the commit log for more news :)
16:03 * TimToady doesn't know when niecza chooses it
16:03 TimToady mmph
16:03 * jnthn guesses there's some heuristics on when to go NFA or DFA
16:04 benabik left #perl6
16:04 benabik_ joined #perl6
16:04 benabik_ is now known as benabik
16:04 molaf left #perl6
16:04 pmichaud btw, I received word today that I have travel funding for yapc::eu :)
16:04 jnthn Tonight, and tomorrow, are my last days of nom hacking before vacation.
16:04 tadzik TimToady: interesting
16:04 moritz really, somebody please ban pmichaud++ from IRC so he gets back to coding :-)
16:04 jnthn If anybody has things I should really focus on before I go, now's a good time to say.
16:05 pmichaud (jnthn and I are planning to do nom regex integration tomorrow, fwiw)
16:05 tadzik pmichaud: is the branch functional atm?
16:05 moritz \o/ good news (re travel fund)
16:05 pmichaud tadzik: it's functional only if you know how to make it function :)
16:05 jnthn So far I know I need to sort out doing NQP roles from Rakudo classes, and worry about enums.
16:05 pmichaud tadzik: if you do "make nqpq", you get a special version of nqp that builds its regexes using the new engine
16:05 pmichaud here's a sampl:
16:06 pmichaud https://gist.github.com/1078177
16:06 pmichaud I haven't "closed the loop" yet such that nqp builds itself using the new engine.  the engine needs a few more features first.
16:06 tadzik I see
16:07 f00li5h left #perl6
16:08 tadzik very interesting, pmichaud++ :)
16:08 JimmyZ what is DFA or nfa ?
16:08 pmichaud oh, but you can do "make qregex-test" to have it run the test suite.  It already passes more regex tests than nqp did.
16:09 TimToady JimmyZ: deterministic/non-deterministic finite automaton
16:09 moritz JimmyZ: Deterministic/Non-deterministic Finite Automaton
16:09 pmichaud http://gist.github.com/1078299  # another example
16:09 * TimToady wins :P
16:09 moritz JimmyZ: machine models for accepting/rejecting languages
16:10 [Coke] pmichaud: than nqp-rx?
16:10 moritz TimToady: you cheated, you didn't capitalize :-)
16:10 TimToady but moritz++ wins on style
16:10 [Coke] ETOOMANYPs.
16:10 TimToady :PPP
16:10 [Coke] exactp.
16:11 pmichaud [Coke]: than nqp.   some of the tests broken in the migration of nqp from nqp-rx
16:11 moritz pmichaud: does it construct a token TOP which is an automatic alternation of the rules?
16:11 moritz ah no, you call method def
16:11 pmichaud moritz: not yet.  But we can add that.
16:11 moritz never mind
16:11 moritz (it's not a desired feature, I just missed a line)
16:12 pmichaud oh, you were asking about how it invoked.  Yeah,  $cursor.def()
16:12 pmichaud nqp only passes ~330 regex tests and then hangs.  Even when it didn't hang, it only did around 300 tests or so.  the new engine passes over 450 tests
16:13 JimmyZ Finite Automaton, I love it
16:14 moritz on that occasion I notice that I never encountered infinite automata so far
16:14 * moritz fondly remembers his "formal languages and automaton theory" lecture
16:15 tadzik pmichaud: already?
16:15 tadzik nice
16:15 * moritz -> decommute
16:15 pmichaud 499 according to the test I just ran.
16:17 mkramer joined #perl6
16:17 mkramer left #perl6
16:19 [Coke] pmichaud: how many did nqp-rx do?
16:19 sorear good * #perl6
16:19 pmichaud ~720   iirc
16:19 mberends o/
16:20 pmichaud 747.
16:23 [particle] left #perl6
16:23 [particle] joined #perl6
16:23 tadzik mberends: o/
16:23 tadzik sorear: o/
16:23 JimmyZ left #perl6
16:24 daxim left #perl6
16:24 * TimToady wanders off to become clothed and in his right mind...well, clothed anyway...
16:24 * [Coke] wanders off to find something to soothe his mental eye.
16:27 simcop2387 left #perl6
16:29 zby_home_ joined #perl6
16:31 simcop2387 joined #perl6
16:37 lucs joined #perl6
16:42 Aridai joined #perl6
16:46 thou joined #perl6
16:54 birdwindupbird left #perl6
16:55 Yume left #perl6
16:57 donri joined #perl6
16:58 cdarroch joined #perl6
16:58 cdarroch left #perl6
16:58 cdarroch joined #perl6
16:59 mj41 left #perl6
17:03 colomon joined #perl6
17:09 mkramer joined #perl6
17:09 mkramer left #perl6
17:14 dakkar left #perl6
17:17 Aridai left #perl6
17:18 * [Coke] wonders if perlmonks is always this slow. :(
17:18 flussence [Coke]: blank page for me, probably overloaded.
17:19 flussence oh, there it goes
17:19 [Coke] seen util?
17:19 aloha util was last seen in #perl6 5 hours 27 mins ago joining the channel.
17:20 Util [Coke]: Here
17:20 [Coke] phenny, ask Util Did you build a nice installer for Rakudo * for OS X?
17:20 phenny [Coke]: I'll pass that on when Util is around.
17:20 Util Hang on...
17:20 phenny Util: 17:20Z <[Coke]> ask Util Did you build a nice installer for Rakudo * for OS X?
17:21 benabik Util: Don't you hate it when people talk about you like you're not there?
17:21 Util :)
17:21 PerlJam [Coke]: re perlmonks ... yes.
17:22 [Coke] PerlJam: why do we put up with that?
17:22 Util [Coke]: Yes, although I stalled for no good reason before final release.
17:22 Util Last test version: http://s3.datasaw.com/Rakudo_​Star_2011-01_experiment_3.dmg
17:22 PerlJam [Coke]: dunno.  I've largely stopped using perlmonks though.  same with facebook.  Perhaps that's just my ADD though  :)
17:23 Util Re: PerlMonks. This page was in my address bar buffer, and it just loaded without cache in about 1 second. http://perlmonks.org/index.pl?node_id=913714
17:27 Util [Coke]: My auto-packaging scripts: https://github.com/rakudo/star/tr​ee/master/build/binary/darwin_dmg
17:27 benabik Had an install issue with NQP.  I guess people don't use DESTDIR very often.
17:28 benabik Sent a pull request.  :-D
17:28 [Coke] gah. perlmonks rant: I've started to reply to a comment. when was that comment originally posted?
17:28 moritz there are many reasons perlmonks is slow
17:29 moritz the most important one: it's old, crufty and non-hackable code
17:29 PerlJam yjsy
17:29 moritz the code itself is stored in the DB, so you can't just check out the sources
17:29 PerlJam that's one reason?
17:30 moritz another alleged reason is that the hoster doesn't manage to set up the DB server in a performant way
17:31 dalek nqp: ad0564e | benabik++ | tools/build/Makefile.in:
17:31 dalek nqp: [install] Create all directories before use
17:31 dalek nqp:
17:31 dalek nqp: This mostly matters if someone is using DESTDIR
17:31 dalek nqp: review: https://github.com/perl6/nqp/commit/ad0564e9ce
17:31 dalek nqp: 9764cc7 | benabik++ | tools/build/Makefile.in:
17:31 dalek nqp: [Makefile] Remove NQP_LANG_DIR variable
17:31 dalek nqp:
17:31 dalek nqp: It doesn't seem to be used anywhere.
17:31 dalek nqp: review: https://github.com/perl6/nqp/commit/9764cc7e1c
17:31 dalek nqp: 845d921 | moritz++ | tools/build/Makefile.in:
17:31 dalek nqp: Merge pull request #17 from Benabik/master
17:31 dalek nqp:
17:31 dalek nqp: make install fixes
17:31 dalek nqp: review: https://github.com/perl6/nqp/commit/845d921b05
17:31 moritz benabik++
17:32 moritz benabik: fwiw the reason nobody noticed before is that people usually use the same DESTDIR as parrot, so that path usually exists already
17:32 tadzik nice catch
17:33 benabik moritz: I use DESTDIR to install things via stow.  So it gets installed with PREFIX=/usr/local and DESTDIR=`pwd`/install, and then I `mv install/usr/local/* /usr/local/stow/nqp`
17:34 mikemol_ Who whosts PerlMonks?
17:34 mikemol_ *hosts
17:34 moritz mikemol_: pair.com
17:34 * [Coke] manages, with a fight, to post a reply on pm.
17:35 mikemol_ Isn't perlmonks Slashcode? Or do I have my history all fuzzy?
17:35 _jaldhar left #perl6
17:35 moritz mikemol_: no, it's the "everything engine"
17:36 Util mikemol_: Perlmonks is run on the Everything2 Engine
17:36 mikemol_ Ah
17:36 moritz mikemol_: it was use.perl.org that used slashcode
17:36 * mikemol_ muses that a replacement engine for perlmonks.com might be a good PR move for Perl6.
17:36 Yume joined #perl6
17:36 moritz but it would need to be fast :-)
17:37 * mikemol_ looks at Niecza and nqp
17:37 PerlJam E2 needs a refactor at the very least.
17:37 mj41 joined #perl6
17:37 * [Coke] finds http://www.perlmonks.org/?node_id=769974, explaining why things are slow and going to get better, from 2 years ago.
17:37 PerlJam It's still 10ish year old technology
17:37 mikemol_ And, no, not really it wouldn't; caching and smart usage of a properly-configured db backend would hide the majority of slowness.
17:38 moritz PerlJam: E2 has evolved a lot, but perlmonks didn't follow (or so people say in the chatterbox)
17:38 moritz http://www.perlmonks.org/?node_id=846326 btw
17:38 PerlJam oh.  I thought E2 development was essentially dead
17:39 moritz maybe it first evolved a lot, and then died, but at least perlmonks is still far behind the current E2 state, whatever that is
17:39 Util [Coke]: Thanks so much for seeing and responding to that Perlmonks post!
17:41 [Coke] Util: it was my... duty.
17:41 Util Heh
17:42 PerlJam Read Randal's response to this thread and note the date: http://www.perlmonks.org/?node_id=29801
17:42 PerlJam :-)
17:42 [Coke] crap. I now need to figure out how to do webdev in perl5 so
17:42 ab5tract left #perl6
17:43 PerlJam tilly's response is quite prophetic too
17:43 [Coke] (whoops) so I can hack on webdev in perl6.
17:46 jnthn 75 mins to #phasers?
17:48 wolfman2000 joined #perl6
17:49 tadzik oh oh
17:49 tadzik but yes, I think so
18:00 impious joined #perl6
18:11 mberends left #perl6
18:14 kytibe left #perl6
18:18 mikemol_ is now known as mikemol
18:19 kytibe joined #perl6
18:24 dalek nqp/qregex: b5a80bf | pmichaud++ | src/QRegex/P6Regex/Actions.nqp:
18:24 dalek nqp/qregex: Add named and numbered aliases to subrules.
18:24 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/b5a80bff22
18:24 dalek nqp/qregex: ec4c7a3 | pmichaud++ | src/QAST/Compiler.nqp:
18:24 dalek nqp/qregex: Refactor regex_peek; make it easier to recover backtracking frame information.
18:24 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/ec4c7a34ad
18:24 dalek nqp/qregex: 22b4fa8 | pmichaud++ | src/Q (2 files):
18:24 dalek nqp/qregex: Add subcaptures.
18:24 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/22b4fa8ff3
18:25 dalek rakudo/nom: a9511b9 | jonathan++ | src/Perl6/SymbolTable.pm:
18:25 dalek rakudo/nom: Flesh out BEGIN-time/CHECK-time handling a bit. While there's a larger refactor to come, this means that at least declarative things in the lexical scope of code run at BEGIN time are visible and/or callable. Main limitation is non-declaratives are not available (so no assigning to variables in outer scopes yet). Still way better than master. :-)
18:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a9511b945f
18:28 bluescreen10 left #perl6
18:29 Mowah joined #perl6
18:37 spq1 joined #perl6
18:44 bluescreen10 joined #perl6
18:45 impious left #perl6
18:45 jlaire karma mscv
18:45 aloha mscv has karma of 0.
18:45 jlaire karma pugs
18:45 aloha pugs has karma of 0.
18:46 jlaire karma msvc
18:46 aloha msvc has karma of 0.
18:55 Kivutarrr joined #perl6
18:58 sorear jlaire: pugs predates aloha
18:58 Util pugs++
19:00 Util sorear: Will you add this to lib/CORE.setting , please?
19:00 Util method end() { +self - 1 }
19:00 Util I was going to fork and pull-request, but since I cannot get Niecza to recompile, I cannot verify that it is a good patch :)
19:00 sorear how old is the checkout?  tried git clean -dfx?
19:00 jlaire sorear: was just wondering, 'mcvs++' was mentioned earlier and pugs used to have 1
19:01 jlaire msvc*
19:05 [Coke] jnthn: for windows git, what line ending setting do you use?
19:06 * [Coke] ponders "checkout as is, commit unix-style".
19:09 [Coke] (or anyone, really)
19:10 * [Coke] just goes for the recommended setting (checkout win, commit unix)
19:10 jnthn [Coke]: I forget...I just did the default.
19:10 [Coke] good. :)
19:10 jnthn [Coke]: That sounds correct.
19:10 pmichaud #phasers in -10
19:11 * Util wishes jnthn restorative vacation time
19:11 jnthn Util: Thanks. It'll be a muchly needed mental, as well as physical, change of scenery. :)
19:13 mberends joined #perl6
19:15 benabik Is nom expected to pass it's tests?  I get things like "tests out of sequence" for t/00-parrot/01-literals.t
19:15 tadzik make test is a bit broken, still
19:16 benabik Ow.  Alright.  Is there any reasonable way to see if nom is working correctly?  :-/
19:16 Util sorear: less than 1 week old. Will try `git clean -dfx`
19:17 jnthn benabik: make spectest is generally far more informative.
19:17 cdarroch left #perl6
19:17 smash left #perl6
19:18 benabik Thanks, jnthn++
19:18 tadzik benabik: you can try 'make podtest' on podparser branch if you are adventurous :)
19:18 tadzik (that one should pass)
19:20 benabik tadzik: I'm already being a bit adventurous.  This is on top of my parrot branch where I've been mucking around with PAST.
19:20 tadzik even better :)
19:27 [Coke] benabik: 4 known test failures in make test.
19:27 [Coke] "make spectest" shouldn't have any failures.
19:27 [Coke] (it may have some "hey, this file returned 1 because it was fudged and that makes it look bad even though it worked) errors, though.
19:28 benabik spectest seems to be working well, so I'm guessing I haven't completely FUBARed PAST.
19:34 shachaf joined #perl6
19:42 birdwindupbird joined #perl6
19:45 * flussence discovered perl5 Readonly::XS today, and wondered why it's not a builtin already since they make it sound like a one-liner...
19:45 pmichaud Raiders of the Lost Rakudo
19:46 pmichaud Dr. Rakudo or: How I Learned to Stop Worrying and Love the Spec
19:49 Trashlord left #perl6
19:50 Trashlord joined #perl6
19:50 tadzik Nom Club
19:51 tadzik . o O ( It's not about Nom, it's about the way society works! )
19:51 thou Rakudo, Men In Tights
19:52 thou seen masak
19:52 aloha masak was last seen in #perl6 3 hours 52 mins ago saying "&".
19:52 tadzik thou: is there a connection? :P
19:52 thou hehe; not intentionally
19:52 tadzik behold, the ugliness redefined!
19:53 tadzik / :ratchet ([<!before [\h+ || ^^] '|' [\h+ || $$]> .]*) ** [ [\h+ || ^^] '|' [\h+ || $$] ] /
19:53 tadzik AKA: silly things people do when they have no split()
19:55 benabik Rakudo, nom in Tights?
19:57 buubot_backup left #perl6
19:57 Util sorear: https://gist.github.com/1078826
20:00 benabik Shoot.  Spectest failures.  :-(
20:01 benabik I'm going to retest with parrot master (instead of my branch), but if it keeps failing, expect me to bother people some as I try to figure out why.
20:03 moritz https://gist.github.com/1078839 current nom spectest failures
20:04 tadzik moritz: bingo with the empty cells test
20:04 tadzik 2 bugs and counting :)
20:05 dalek roast: 6b3e7cb | moritz++ | S04-declarations/my.t:
20:05 dalek roast: unfudge passing test for rakudo in my.t
20:05 dalek roast: review: https://github.com/perl6/roast/commit/6b3e7cb207
20:06 moritz tadzik: heh :-)
20:06 benabik moritz: My spectest failures https://gist.github.com/1078850
20:06 tadzik I'm afraid there's even one in the Magical Algorithm
20:07 moritz so it seems that there are some segfaults and other non-determisms hunting us :(
20:07 tadzik moritz: would you expect the cells in your table to be formatted as the paragraphs, so leading and trailing whitespace removed, \s+ => ' ' and so?
20:07 [Coke] moritz: why are we running crony if it's failing?
20:08 moritz tadzik: yes
20:08 tadzik oki-doki
20:08 tadzik I mean, yay, more slowdowns! :P
20:08 [Coke] Charlie's Rakudos
20:09 tadzik * Larry's
20:10 moritz [Coke]: probably my fault
20:10 sorear Util: could you try to get more information for me?  MONO_LOG_LEVEL=debug MONO_LOG_MASK=asm mono --trace=none run/Niecza.exe might help
20:10 moritz though... I added it back about two weeks ago
20:10 moritz and I never noticed any failures in it before
20:10 moritz so, looks like a regression
20:11 pacho74 joined #perl6
20:11 jnthn crony.t is a regression as of the last patch I put in
20:12 jnthn It exposed something that's been more deeply wrong for a while.
20:13 Util sorear: will do
20:16 buubot_backup joined #perl6
20:19 flussence argh, I can't build master with --gen-parrot because it's using a version that doesn't have --without-pcre
20:20 * [Coke] wonders how old that parrot is.
20:20 soh_cah_toa joined #perl6
20:20 PerlJam flussence: even with --gen-parrot=master ?
20:20 flussence ooh, I'll try that
20:21 tadzik flussence: you'll probably need --gen-parrot-opts or something of this sort
20:21 dalek roast: 6dc8424 | moritz++ | S06-advanced_subroutine_features/return.t:
20:21 dalek roast: fudge return.t for rakudo
20:21 dalek roast: review: https://github.com/perl6/roast/commit/6dc84247f1
20:22 dalek rakudo/nom: fad32e6 | moritz++ | t/spectest.data:
20:22 dalek rakudo/nom: three more passing test files
20:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fad32e6fb8
20:22 flussence grr. "Option gen-parrot does not take an argument"
20:23 flussence guess I'll just build them separately...
20:23 birdwindupbird left #perl6
20:23 tadzik no
20:23 tadzik there is a way to pass args to parrot's Configure.pl
20:24 [Coke] argh. I have git bash. I have visual studio command prompt. ... building rakudo... needs git.
20:24 moritz flussence: are you on master?
20:24 flussence yes
20:24 flussence nom works fine, though
20:24 moritz flussence: just bump the PARROT_REVISION, we need that for testing anyway
20:25 moritz and configure with --parrot-option=--without-pcre
20:28 dalek rakudo/podparser: c33a153 | tadzik++ | / (2 files):
20:28 dalek rakudo/podparser: Tune table tests, add some new and fix bugs detected by them
20:28 dalek rakudo/podparser: review: https://github.com/rakudo/rakudo/commit/c33a153018
20:29 tadzik whew
20:29 Jackneill left #perl6
20:30 [Coke] "schweranigans" (I vote: "schwernanigans")
20:31 jnthn evalbot rebuild nom
20:31 p6eval OK (started asyncronously)
20:31 sorear Util: any luck?
20:32 Util sorear: I was just about to say! https://gist.github.com/1078907
20:34 jnthn nom: say "done?"
20:34 p6eval nom: OUTPUT«Rebuild in progress␤»
20:34 dalek rakudo/nom: 38b4f24 | jonathan++ | src/Perl6/Metamodel/RoleToClassApplier.pm:
20:34 dalek rakudo/nom: Make sure we can compose NQP methods into a Perl 6 class (doesn't make NQP roles work yet from nom, but a necesary step).
20:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/38b4f245a0
20:34 dalek rakudo/nom: fd4005c | jonathan++ | src/Perl6/SymbolTable.pm:
20:34 dalek rakudo/nom: Little fix to BEGIN-time symbol handling.
20:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fd4005c9ad
20:36 jnthn nom: say "done?"
20:36 p6eval nom: OUTPUT«Rebuild in progress␤»
20:36 jnthn gee, takes a while.
20:36 pmichaud nom: say "Rebuild in progress"
20:36 p6eval nom: OUTPUT«Rebuild in progress␤»
20:36 pmichaud \o/  :)
20:36 tadzik like the std joke :)
20:36 tadzik std: say "ok {125.rand.Int}ms"
20:36 p6eval std 37a0cdd: OUTPUT«ok 00:01 119m␤»
20:36 tadzik gah, fail
20:37 jnthn :P
20:37 PerlJam rakudo: $_ = 42;  { say $_; }
20:37 p6eval rakudo aeb12b: OUTPUT«42␤»
20:37 jnthn nom: $_ = 42;  { say $_; }
20:37 p6eval nom: OUTPUT«42␤»
20:37 jnthn nom: role Foo { method foo { True } }; multi trait_mod:<is>(Routine $r, :$foo!) { $r does Foo }; sub x is foo { }; say &x.foo
20:37 PerlJam jnthn++  (I assume you fixed it ;)
20:37 p6eval nom: OUTPUT«Bool::True␤»
20:38 mtk left #perl6
20:38 jnthn sorear: ^ is what I was meaning about trait that mixes in role, fwiw
20:38 jnthn nom: role Foo { method foo { True } }; multi trait_mod:<is>(Routine $r, :$foo!) { $r does Foo }; sub x is foo { }; BEGIN { say &x.foo } # traits are done at BEGIN time...
20:38 p6eval nom: OUTPUT«Bool::True␤»
20:40 sorear Util: huh.  I still don't have enough to go on.  mono --trace=all, or NIECZA_TRACE=all mono might help, but either of those will likely give 10k+ lines
20:40 Util Should I be doing it on `run/Niecza.exe` or `run/Niecza.exe -C CORE` ?
20:41 sorear They'll give exactly the same result, since it's failing before command line parsing.
20:42 dalek roast: 4349e24 | moritz++ | S03-operators/assign.t:
20:42 dalek roast: fudge assign.t for rakudo
20:42 dalek roast: review: https://github.com/perl6/roast/commit/4349e2464e
20:43 dalek nqp/qregex: 05d1982 | pmichaud++ | src/QRegex/Cursor.nqp:
20:43 dalek nqp/qregex: Add Cursor.ws .
20:43 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/05d1982fd2
20:43 dalek nqp/qregex: 060dc92 | pmichaud++ | src/QRegex/P6Regex/Actions.nqp:
20:43 dalek nqp/qregex: Enable :sigspace modifier.
20:43 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/060dc9286c
20:47 tadzik what's the singular of "Synopses"?
20:47 benabik Synopsis
20:47 tadzik oh, right. THanks :)
20:50 sorear Util: A tarball of your run/ directory would also be useful.
20:52 REPLeffect left #perl6
20:53 REPLeffect joined #perl6
20:53 Util NIECZA_TRACE=all produces 2k lines. --trace=all produces 1M lines, 128MB.
20:54 dalek rakudo/nom: 2d5a72b | moritz++ | t/spectest.data:
20:54 dalek rakudo/nom: run assign.t
20:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2d5a72ba66
20:54 Yume left #perl6
20:56 odrm left #perl6
20:58 Mowah left #perl6
20:59 dalek roast: 3bcc2c8 | moritz++ | S03-operators/assign.t:
20:59 dalek roast: two small unfudges for assign.t
20:59 dalek roast: review: https://github.com/perl6/roast/commit/3bcc2c82b0
21:02 SHODAN left #perl6
21:03 Util sorear: curl -O 'http://perlcabal.org/~util/{run.tar.gz,mono_run_with_NIECZA_TRACE.t​xt.bz2,mono_run_with_trace_all.txt.bz2}'
21:03 Util 5MB compressed
21:08 sorear thanks.
21:08 bluescreen10 left #perl6
21:09 zby_home_ left #perl6
21:14 jnthn nom: role Foo { method mi() { say "yay mixed in!" } }; class A { }; my $m = A.new; $m does Foo; $m.mi;
21:14 p6eval nom: OUTPUT«Could not instantiate role 'Foo':␤Contextual $*GLOBALish not found␤current instr.: 'nqp;Perl6;Metamodel;ParametricRoleHOW;specialize' pc 34655 (src/gen/perl6-metamodel.pir:10171) (src/gen/Metamodel.pm:942)␤»
21:16 kaare__ left #perl6
21:19 sorear whee, monodis dumps core on Util's JSYNC.dll
21:20 HarryS left #perl6
21:20 Util nom: my $n = 5; my @m = $n.^methods;
21:20 p6eval nom:  ( no output )
21:20 Util nom: sub foo { say $^n.perl }; my $f = &foo; my @m = $f.^methods;
21:20 p6eval nom: OUTPUT«Segmentation fault␤»
21:21 Util Known issue?
21:21 jnthn nom: sub foo { }; my $f = &foo; my @m = $f.^methods;
21:21 p6eval nom: OUTPUT«Segmentation fault␤»
21:21 thou can anyone explain to me what this rakudo-master error means:  """Cannot add tokens of category 'trait_auxiliary' with a sub""", when compiling https://github.com/masak/web/b​lob/master/lib/LolDispatch.pm
21:22 jnthn nom: sub foo { }; my @m = &foo.^methods;
21:22 p6eval nom: OUTPUT«Segmentation fault␤»
21:22 tadzik nom: my $f = sub {}; my @m = $f.^methods
21:22 p6eval nom: OUTPUT«Segmentation fault␤»
21:22 jnthn nom: sub foo { }; say &foo.^methods;
21:22 p6eval nom: OUTPUT«Method 'gist' not found for invocant of class 'Sub'␤current instr.: 'gist' pc 461533 (src/gen/CORE.setting.pir:125371) (src/gen/CORE.setting:2034)␤»
21:22 jnthn oh. :/
21:22 jnthn Known but very nasty.
21:23 jnthn The circularity saw strikes again.
21:23 Util That's OK, I will just ask the question I was trying to answer myself:
21:23 * jnthn suspects nqp going on not wrapping its subs methods in 6model objects are numbered.
21:23 jnthn *the days nqp going on...
21:24 Util when I do this: my $f = &foo; $f.($some,$args);
21:24 Util what is the name of the actual method call that implements the function call? INVOKE? DO_ME?
21:24 jnthn postcircumfix:<( )>
21:25 jnthn thou: trait_auxilliary doesn't exist any more
21:25 jnthn thou: try it as trait_mod
21:25 thou jnthn: will try, thanks!
21:26 thou jnthn: well, it compiles with trait_mod:<is>, so that seems like progress!
21:26 sorear jnthn: fwiw, I think from a Niecza perspective it makes more sense to have sub trait_mod:<is>(StaticSub $sub, :whatever)... you can't have a Routine without a corresponding OUTER, and I try to minimize pointless creation of protopads
21:26 jnthn What's StaticSub?
21:27 sorear class Code { has StaticSub $!info; has CallFrame $!outer; } # simplification
21:28 Util rakudo: sub foo { }; my $f = &foo; .name.say for $f.^methods.grep({.name ~~ /postcircumfix/});
21:28 p6eval rakudo aeb12b: OUTPUT«postcircumfix:<[ ]>␤postcircumfix:<{ }>␤»
21:29 Util jnthn: Thanks! I assume that Rakudo just takes a shortcut right now, and that that is why postcircumfix:<( )> does not show up in the ^methods.
21:29 jnthn Util: We don't go that way for most invocations
21:29 jnthn Util: Only for user defined ones
21:30 jnthn The majority take a shortcut :)
21:30 Util :)
21:30 jnthn sorear: You really want the actual code object there, I think.
21:30 jnthn sorear: Otherwise it can't be mixed in to.
21:31 jnthn Exposing Niecza's StaticSub would seem to be like exposing Parrot subs, which I'm going to lengths not to do.
21:31 sorear jnthn: mixing into the protosub would be pointless
21:32 sorear for 1..10 { sub foo is trait { } }
21:32 sorear 10 or 11 Code objects are created for &foo
21:32 sorear only one of them could be passed to trait_mod:<is>
21:32 jnthn for 1..10 { sub foo is rw { } } # I really hope those subs are all rw :)
21:32 im2ee left #perl6
21:33 sorear yeah, that works by setting a flag on the StaticSub
21:33 jnthn sorear: I suspect the subsequent ones really need to be cloned from the "proto" one
21:33 jnthn Thus why "proto".
21:33 sorear *blech*
21:33 jnthn (as in, prototype, a la prototype object)
21:34 pacho74 left #perl6
21:34 kcwu left #perl6
21:37 dalek rakudo/nom: 399c991 | jonathan++ | src/Perl6/ (2 files):
21:37 dalek rakudo/nom: Fix the crony.t regression, as well as other roles and lexicals related issues.
21:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/399c991464
21:37 sorear Why should anyone ever make a Code with more than two attributes?
21:41 jnthn nom's Code has a bunch more than that.
21:41 jnthn Well, not *loads*, but more than two.
21:42 jnthn I suspect some of those should really be in Routine though...
21:42 tadzik good news: rakudo/podparser is no slower on spectest than rakudo/nom
21:42 [particle] left #perl6
21:43 tadzik bad news: zsh: segmentation fault  ./perl6 t/spec/S03-operators/assign.rakudo
21:43 jnthn tadzik++
21:43 jnthn tadzik: Only on podparser?
21:43 jnthn tadzik: bt?
21:43 tadzik jnthn: yeah, reproducible
21:43 tadzik jnthn: I'm on it
21:43 [particle] joined #perl6
21:43 tadzik well, I did only one 'make spectest' pass on nom, and it didn't occur
21:45 tadzik oh, interesting valgrind catch
21:45 tadzik "source and destination overlap in memcpy"
21:45 jnthn ew
21:45 tadzik that's forbidden/undefined behaviour in C I believe
21:45 jnthn right.
21:45 tadzik ==13485==    by 0x4F73F33: do_shift (in /home/tadzik/src/rakudo/parrot_​install/lib/libparrot.so.3.5.0)
21:45 tadzik ==13485==    by 0x4F74571: Parrot_ResizablePMCArray_shift_pmc (in /home/tadzik/src/rakudo/parrot_​install/lib/libparrot.so.3.5.0)
21:45 jnthn Does it say where?
21:45 jnthn oh my...
21:46 Patterner left #perl6
21:47 tadzik okay, I gave up on valgrinding that
21:48 tadzik running through gdb
21:48 jnthn https://github.com/parrot/parrot/com​mit/9cf1520ccb85bcc20529d313a857d4af​fa2a54bd#src/pmc/resizablepmcarray.pmc was the last patch that touched those
21:48 Psyche^ joined #perl6
21:48 Psyche^ is now known as Patterner
21:48 tadzik oh, that looks like your cake jnthn :)
21:48 jnthn But it looks like it uses mem_sys_memmove
21:48 tadzik http://wklej.org/id/561125/
21:48 tadzik I'll try to minimize the case
21:48 flussence pugs: sprintf('%d is %1$x in hex', 63);
21:48 p6eval pugs: OUTPUT«*** Insufficient arguments to sprintf␤    at Prelude.pm line 668, column 13-53␤»
21:49 flussence (what, even pugs doesn't do \d$ ?)
21:49 jnthn tadzik: Hmm, that is a curious one.
21:50 flussence (I'm gonna push a test for that unless anyone objects in the next 5 seconds or so :)
21:51 dalek roast: 5f09039 | (Anthony Parsons)++ | S32-str/sprintf.t:
21:51 dalek roast: Add a test for printf positional arg specifiers
21:51 dalek roast: review: https://github.com/perl6/roast/commit/5f090394e1
21:51 Kivutarrr left #perl6
21:52 jnthn tadzik: If a debug build would yeild the segfault and a line number, that'd be useful to know
21:53 tadzik I thought I have a debug build. Hrm
21:53 tadzik http://wklej.org/id/561129/ -- the minimal test case which produces the segfault
21:54 tadzik commenting even one 'is()', any of them, stops it from segfaulting
21:54 sorear Util: mono --version ?
21:55 pmichaud there was a patch submitted to rakudo (master) outlining some missing GC_WRITE_BARRIER stuff... does that need to be added to nom, ooc?
21:55 jnthn tadzik: Sadly, not here...
21:55 Util sorear: Mono JIT compiler version 2.6.7 (Debian 2.6.7-5ubuntu3)  Copyright (C) 2002-2010 Novell, Inc and Contributors. www.mono-project.com  TLS:           __thread  GC:            Included Boehm (with typed GC and Parallel Mark)  SIGSEGV:       altstack  Notifications: epoll  Architecture:  x86  Disabled:      none
21:55 jnthn (doesn't segfault under debugger or out of it...)
21:56 jnthn pmichaud: I think the things it write barriered are gone in nom
21:56 jnthn pmichaud: Though it's worth applying for master.
21:56 pmichaud jnthn: okay, just checking.  I'm planning to apply it for master, yes.
21:59 tadzik hrm, do I need to pass something specific to parrot to get the debugging build? I didn't do any --debugging=0 fwiw, only --optimize
22:01 dalek roast: 632918e | (Anthony Parsons)++ | S32-str/sprintf.t:
22:01 dalek roast: Oops, didn't realise skip comments were special. flussence--
22:01 dalek roast: review: https://github.com/perl6/roast/commit/632918e015
22:01 flussence (that'll teach me for not paying attention...)
22:01 spq1 left #perl6
22:01 sorear flussence: is that you?
22:01 flussence yeah
22:01 sorear anyone handy with a parrot commitbit?
22:01 rdesfo joined #perl6
22:02 tadzik sorear: what's up?
22:04 sorear tadzik: Anthony Parsons / flussense needs to be added to CREDITS
22:05 alfieANDfred joined #perl6
22:06 alfieANDfred left #perl6
22:07 tadzik sorear: http://wklej.org/id/561133/ is that sufficient?
22:09 sorear tadzik: needs U:flussence
22:09 sorear not D:
22:09 tadzik oh, true
22:09 tadzik ok, commiting
22:09 sorear hold on
22:10 tadzik too late :(
22:10 tadzik anything important?
22:10 sorear no
22:10 sorear nevermind
22:10 donri left #perl6
22:10 sorear I misread something
22:10 rdesfo left #perl6
22:14 sorear Util: still here?
22:14 sorear Util: as a workaround you should be able to do: mono boot/run/Niecza.exe -C JSYNC; make
22:14 Util Still here
22:14 Util trying...
22:15 sorear Util: there seems to be an issue with stale cached names when two modules are compiled at once
22:18 jdhore1 joined #perl6
22:19 jdhore left #perl6
22:22 Util sorear: that did the trick; much thanks!  Is that the right thing to do any time I get that error during `make`?
22:22 sorear Util: the error was very nonindicative
22:22 sorear but it's worth trying
22:22 Util Great
22:23 pacho74 joined #perl6
22:23 sorear I wonder why I've never seen that error; the mono bug/misfeature doesn't seem to have been removed
22:24 Util sorear: I can now say that my 1-line patch for .end works. Would you prefer a pull request? :)
22:27 sorear Util: nah, I just want to know where you put it?
22:27 sorear :)
22:28 Util Right after `method elems` in lib/CORE.setting
22:29 sorear Util: there are three of those
22:30 Util sorear: Indeed, you are right! The third; in class List
22:31 sorear I think it would make more sense to have end in Any defined in terms of .elems
22:32 sorear interesting, it looks like mono version *does* make a difference
22:33 * sorear wrote a smallest possible test and tried it on both
22:34 Chillance left #perl6
22:37 whiteknight joined #perl6
22:40 wamba left #perl6
22:40 wamba joined #perl6
22:40 sorear mono bug #611836
22:43 HarryS joined #perl6
22:44 sorear Util: I wonder if it's worthwhile to add a workaround for a bug that was fixed 2010-06-03.
22:44 sorear I mean 06-30
22:47 masak left #perl6
22:50 dual left #perl6
22:54 mj41 left #perl6
23:10 jnthn sleep &
23:13 whiteknight left #perl6
23:23 Util sorear: That is when the bug was fixed, but it has never been fixed in a 2.6.x series, which is the latest LTS until 3.0
23:23 Util It is fixed in 2.8.x, but since it is not LTS, it is not in Debian/Ubuntu.
23:23 Util So, if it is an easy workaround, then +1
23:28 drbean joined #perl6
23:29 orafu left #perl6
23:29 OuLouFu joined #perl6
23:29 OuLouFu is now known as orafu
23:37 _jaldhar joined #perl6
23:39 sorear Util: I'll fix it.  Worth releasing 7.01, or wait for 8?
23:49 fhelmberger left #perl6
23:58 fhelmberger joined #perl6

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

Perl 6 | Reference Documentation | Rakudo