Camelia, the Perl 6 bug

IRC log for #perl6, 2012-08-27

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:04 thou joined #perl6
00:17 Circlepuller_ joined #perl6
00:38 dayangkun joined #perl6
00:57 vinian joined #perl6
00:58 tokuhiro_ joined #perl6
01:02 FROGGS_ joined #perl6
01:02 MikeFair_ joined #perl6
01:02 Circlepuller_ joined #perl6
01:05 MikeFair_ joined #perl6
01:18 sftp joined #perl6
01:26 benabik joined #perl6
01:32 jeffreykegler joined #perl6
01:51 scott_ joined #perl6
01:56 vinian joined #perl6
02:03 diakopter time for some soft serve.
02:38 dalek perl6-roast-data: f7fae37 | coke++ | / (4 files):
02:38 dalek perl6-roast-data: today
02:38 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/f7fae37144
02:38 dalek perl6-roast-data: f62738e | coke++ | / (3 files):
02:38 dalek perl6-roast-data: today
02:38 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/f62738e1d1
02:38 dalek perl6-roast-data: c7635b7 | coke++ | / (4 files):
02:38 dalek perl6-roast-data: today
02:38 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/c7635b71d8
02:41 cjbot joined #perl6
02:42 gongyiliao joined #perl6
03:02 popl joined #perl6
03:08 lateau joined #perl6
03:18 mucker joined #perl6
03:41 lateau joined #perl6
03:46 odoacre joined #perl6
03:56 adu joined #perl6
04:16 cognominal_ joined #perl6
04:38 birdwindupbird joined #perl6
05:01 kaleem joined #perl6
05:30 cognominal joined #perl6
05:38 MikeFair_ I've been examining what it would take to implement an open source clone of HyperCard and its successors (xTalk family of languages).  I was looking at doing this in Parrot, but came across a reference that perl6's eval function can take a language as an argument.  Where can I get more info on this?
05:39 MikeFair_ I don't really need to write my own language so much as I just need to translate/reparse the input into perl's existing language constructs.
05:43 moritz good morning
05:43 moritz MikeFair_: "translate/reparse the input into (...) existing language constructs" is exactly what a compiler is :-)
05:44 moritz and the way to write your own language for eval is   multi sub eval($str, :lang! where 'yourlanguage') { write your compiler here }
05:44 MikeFair_ moritz: Good morning!
05:47 MikeFair_ moritz: ahh, hmm, I thought it might be more like a language module...
05:47 MikeFair_ moritz: i've got a lot tolearn here, or I might just be in over my head for the time I have to dedicate to it
05:47 cognominal joined #perl6
05:48 MikeFair_ moritz: My challenge is that the language I want to write/use doesn't really have any special semantics that really require its own language
05:48 MikeFair_ moritz: effectively all I believe I need is a different parser for a language like Perl6
05:49 MikeFair_ moritz: instead my $x = 10;  --- it's: put x into 10
05:49 MikeFair_ err put 10 into x
05:51 MikeFair_ instead of: $arr[0] = 8; -- it's: put 8 into the first element of arr
05:52 MikeFair_ (Well ok, there might be some magic required to support the "first" "last" "second" "before" after" stuff
05:55 moritz in short, you need a compiler.
05:58 MikeFair_ Yep, but I think I can make the compiler part of the perl program
05:58 MikeFair_ what's the difference between a compiler and an interpreter
06:01 sorear An interpreter is a device which runs programs.
06:01 sorear A compiler is a device which translates programs from one language to another.
06:05 wtw joined #perl6
06:05 * MikeFair_ nods.
06:05 MikeFair_ I think I'm getting it now
06:06 * MikeFair_ is more used to "using languages" not writing them.
06:07 sorear it's extremely easy
06:07 MikeFair_ So I think I'm considering writing an interpreter in Perl6
06:08 sorear A lot of people are a bit sloppy with the word "interpreter" and refer to a combined compiler+interpreter system
06:08 MikeFair_ I can see that
06:08 sorear Tcl is a true interpreter: subroutines are stored as strings, even while they are being executed, and there is no such thing as parse time
06:09 sorear if you're running a separate parse pass before running the code, you already have a compiler
06:09 MikeFair_ sorear: But since a CPU cannot diretly execute a string how can TCL not parse anything?
06:10 sorear MikeFair_: I didn't say it doesn't parse
06:10 simcop2387 joined #perl6
06:10 sorear I said it doesn't have a parse time
06:10 sorear parsing in tcl is a continuous process
06:11 MikeFair_ sorear: It is imediately executing as it reads each token?
06:12 MikeFair_ sorear: it's not taking in a "line" and then figuring out what that line means?
06:12 MikeFair_ What do you mean doesn't have a "parse time"
06:13 MikeFair_ I'm obviously being naive here to consider that the time it takes to parse the strings would be the 'parse time'
06:14 sorear I think more words will not help you here.
06:14 sorear Try it.
06:14 MikeFair_ hehe
06:15 sorear read "let's build a compiler" by jack w. crenshaw
06:15 sorear follow along
06:15 * MikeFair_ makes a note.
06:16 arnsholt A good example from TCL/shell is that malformed code in a conditional branch will only trigger an error when that branch is taken
06:16 sorear it's 30 years old and describes the construction of a Pascal-subset to Motorola 68000 machine code compiler.  It's STILL AWESOME.
06:16 arnsholt In a compiled setting the compiler would crap out before exectution starts
06:17 sorear like every other distinction made by humans, this is a continuum thing
06:17 MikeFair_ arnsholt: Ah that makes sense, I can see that
06:17 sorear tcl's quote-based syntax means you can do things like misspell "if" and it won't break the load
06:18 MikeFair_ I studied the Dragon Book in my compilers class over 10 years ago now.
06:18 moritz aye, "let's build a compiler" is great
06:18 MikeFair_ sorear: I can see/get that
06:18 sorear sh-3.2$ if false; then xf true; then true; fi; fi
06:18 sorear sh: syntax error near unexpected token `then'
06:19 moritz I finally understood recursive descending parsing while reading it :-)
06:19 sorear % if 0 { xf 1 { 2 } }
06:19 sorear %
06:20 sorear Bourne shells typically build an AST from each line then execute that
06:20 sorear if you do "for x in $(seq 1 1000); do echo $x; done" there may be 1000 processes run (unless echo is a builtin in your shell), but the line will only be parsed _once_
06:20 sorear whereas for-loops in tcl, the body is parsed anew on each iteration
06:21 moritz though modern TCLs cache it, afaict
06:25 MikeFair_ ok I can see what you're talking about there, specifically in the for loop and broken else clause examples -- totally makes sense
06:26 MikeFair_ I've got a copy of let's build a compiler downloaded as well.  It's a reformatting into DocBook that someone did,but it seems to be complete
06:27 sorear I think I read it before docbook existed *blink
06:28 MikeFair_ hehe - likely so :)
06:29 MikeFair_ ok then writing a compiler it is. :)
06:31 MikeFair_ So I guess that leaves the question parrot's PCT/PACT or straight Perl6
06:32 MikeFair_ specifically I was thinking about using niezca
06:32 sorear P(A)CT is essentially just an older version of NQP
06:32 sorear well
06:33 sorear fork would be more apt
06:33 MikeFair_ there's also "Winxed" not that I could tell the merits of the distinction
06:34 moritz winxed is a high-level language tailored for parrot
06:35 MikeFair_ That would be the target output of my compiler I'm expecting
06:35 MikeFair_ Or alternatively NQP
06:35 sorear Just output PAST instead, it will be easier and faster
06:35 sorear or QAST
06:38 MikeFair_ I haven't seen the QAST term before
06:38 * MikeFair_ Googles.
06:39 sorear QAST is the internal representation that NQP uses
06:39 MikeFair_ ok that makes sense
06:39 sorear compiling to QAST is like compiling to NQP, except you can just say QAST::Var.new(...) instead of trying to get the syntax right
06:42 xinming joined #perl6
06:42 MikeFair_ sorear: One of the things I really want to get out of writing this myself is the ability to have loading a module actually be able to alter the compiler
06:44 MikeFair_ sorear: introduce new keywords and such
06:44 erkan joined #perl6
06:44 phenny joined #perl6
06:44 Util joined #perl6
06:44 [Coke] joined #perl6
06:45 eiro hello guys
06:45 gfldex joined #perl6
06:45 sorear hello eiro
06:45 kaleem joined #perl6
06:45 eiro is there an official "documentation start point for newbies" for perl6 ?
06:46 eiro (even if i have to translate in french)
06:46 eiro is the book still a reference ?
06:48 sorear perl6.org/doc
06:49 eiro 404 :) GG
06:49 sorear http://perl6.org/documentation/
06:51 eiro damn! i wish i had a decent level  in english to contribute to the book
06:54 SamuraiJack joined #perl6
06:55 sorear &
07:09 brrt joined #perl6
07:14 imarcusthis joined #perl6
07:20 xdbr joined #perl6
07:27 kresike joined #perl6
07:27 moritz eiro: you can contribute to doc.perl6.org
07:27 kresike good morning all you happy perl6 people
07:27 moritz eiro: doesn't require much English skills. Adding usage examples for built-ins is a great way to help
07:27 moritz \o kresike
07:27 diakopter kresike: good morning fellow happy perl6 person
07:27 moritz r: eval 'foo', :lang<bar>;
07:27 kresike moritz, diakopter o/
07:27 p6eval rakudo bd23ad: OUTPUT«No compiler compiler available for language 'bar'␤  in sub eval at src/gen/CORE.setting:493␤  in block  at /tmp/2rhwiZS0wO:1␤␤»
07:28 diakopter compiler compiler?
07:28 moritz .oO( it tries to compile a compiler, and can't find a a compiler to compile the compiler )
07:29 diakopter you're a compiler
07:29 pmichaud it stutters.
07:29 moritz you're in a twisted maze of compilers, all alike
07:30 dalek rakudo/uncool-iterable: a7630e5 | moritz++ | src/core/Exception.pm:
07:30 dalek rakudo/uncool-iterable: fix error message, diakopter++
07:30 dalek rakudo/uncool-iterable: review: https://github.com/rakudo/rakudo/commit/a7630e5f7b
07:30 moritz can somebody please run t/spec/S32-array/splice.rakudo on that branch?
07:30 moritz it segfaults for me
07:30 moritz but it already behaved weirdly on nom, on only that machine
07:33 pmichaud good morning, #perl6
07:33 dalek doc: 683e079 | moritz++ | lib/X/Eval/NoSuchLang.pod:
07:33 dalek doc: X::Eval::NoSuchLang
07:33 dalek doc: review: https://github.com/perl6/doc/commit/683e07979c
07:33 moritz good am, pm
07:33 moritz if t/spec/S32-array/splice.rakudo passes on branch uncool-iterable, we can merge the branch
07:33 pmichaud there's a known bug with the splice opcode for out-of-range arguments (both parrot and nqp)
07:34 moritz oh.
07:34 pmichaud it's on my to-fix list
07:34 pmichaud but there's also a bug with List.splice in rakudo; it also doesn't process out-of-range arguments correctly
07:35 moritz oh right
07:35 moritz the test that segfaults passes -2 to splice
07:35 diakopter pmichaud: should Perl 6 encode to NFD on I/O output? or leave in NFC + exploded NFG appendices?
07:36 pmichaud diakopter: that probably wants a TimToady++ answer
07:39 tipdbmp r: "ab:cd:ef".substr(3, 5);
07:39 p6eval rakudo bd23ad:  ( no output )
07:39 moritz r: say "ab:cd:ef".substr(3, 5);
07:39 p6eval rakudo bd23ad: OUTPUT«cd:ef␤»
07:41 tipdbmp Would this be valid in Perl6: $my_string = "ab:cd:ef"; say $my_string[3 .. 4]; # cd ?
07:41 moritz no
07:42 tadzik std: $my_string = "ab:cd:ef"; say $my_string[3 .. 4]; # cd ?
07:42 p6eval std d93fffe: OUTPUT«[31m===[0mSORRY![31m===[0m�Variable $my_string is not predeclared at /tmp/DooqFOzHV_ line 1:�------> [32m<BOL>[33m�[31m$my_string = "ab:cd:ef"; say $my_string[[0m�Variable $my_string is not predeclared at /tmp/DooqFOzHV_ line 1:�------> [32m$my_string = "ab:…
07:42 tadzik yes, no :)
07:42 tipdbmp Okay, but why not?
07:42 moritz because we reserve .[] for lists
07:43 crab2313 joined #perl6
07:43 diakopter are pragma per-thread?
07:43 tipdbmp Yeah but lists have @ right? So @list[0 .. 2] is a slice?
07:43 moritz diakopter: per scope
07:43 moritz tipdbmp: variables holding lists/arrays have a @
07:43 moritz tipdbmp: but return values from functions don't have sigils, for example
07:44 diakopter moritz: okay, so a thread can change the loadedness of a pragma from when it inherited it from the parent
07:44 moritz diakopter: yes
07:45 diakopter (without affecting the other threads)
07:45 moritz the pragmas I can think of right now are compile-time
07:46 moritz so a differen thread can only have a different pragma if it comes from a different scope
07:47 diakopter I was discussing 'use codepoints' with TimToady a couple months ago - where the default is to decode I/O input to NFC/NFG,but if you use codepoints, it doesn't collapse stuff
07:47 GlitchMr joined #perl6
07:47 diakopter he brought it up and said we should do that pre-6.0.0
07:50 diakopter https://gist.github.com/be27d8cd094f93bed56c
07:51 wk joined #perl6
07:55 diakopter zzz
07:56 tipdbmp moritz: So why would "sub stringing" not be supported using the range operator as in: $string[0 .. Inf] # the whole string ?
07:57 tipdbmp Or really just indexing a character $string[$index] vs $string.substr($index);
07:57 moritz tipdbmp: Perl has the philosophy that an operator always does the same thing, regardless of its arguments
07:58 moritz tipdbmp: for exmaple + always does numeric addition, and never string concatenation (as JS does, for example)
07:58 moritz tipdbmp: so .[] always does list indexing, even if left-hand side is a string
07:59 tipdbmp Okay, I understand.
07:59 moritz in our world view, list indexing and string indexing are different operations, because strings are a rather low level type
08:00 tipdbmp r: $string = "ab:cd:ef"; say $string.split(//)[3 .. 4];
08:00 p6eval rakudo bd23ad: OUTPUT«===SORRY!===␤Variable $string is not declared␤at /tmp/NRHCz_m7PN:1␤»
08:00 tipdbmp r: my $string = "ab:cd:ef"; say $string.split(//)[3 .. 4];
08:00 p6eval rakudo bd23ad: OUTPUT«===SORRY!===␤Null regex not allowed at line 2, near ")[3 .. 4];"␤»
08:00 moritz r: say 'ab:cd:ef'.comb[3..4]
08:00 p6eval rakudo bd23ad: OUTPUT«c d␤»
08:00 moritz r: say 'ab:cd:ef'.comb[3..4].join
08:00 p6eval rakudo bd23ad: OUTPUT«cd␤»
08:01 tipdbmp r: my $string = "ab:cd:ef"; say $string.split("")[3 .. 4];
08:01 p6eval rakudo bd23ad: OUTPUT«c d␤»
08:01 tipdbmp =) tnx.
08:03 moritz nr: say splice([], 1).perl
08:03 p6eval niecza v19-44-g55e895a: OUTPUT«[].list␤»
08:03 p6eval ..rakudo bd23ad: OUTPUT«Array.new()␤»
08:11 dalek rakudo/uncool-iterable: f51260e | moritz++ | src/core/List.pm:
08:11 dalek rakudo/uncool-iterable: guard List.splice against out-of-range arguments
08:11 dalek rakudo/uncool-iterable: review: https://github.com/rakudo/rakudo/commit/f51260e828
08:12 ChoHag What does q{} mean?
08:12 ChoHag $r = q{regex};
08:12 ChoHag At least it looks like a regex.
08:12 tadzik r: my $r = q{regex}; say $r.WHAT
08:12 p6eval rakudo bd23ad: OUTPUT«Str()␤»
08:12 tadzik looks like it's just a quoting construct
08:15 jnthn morning, #perl6
08:15 tadzik oh hai
08:15 arnsholt o/
08:15 crab2313 o/
08:16 arnsholt jnthn: In re my NQP commit last night, if you think the fix belongs somewhere else, I can do that
08:17 arnsholt But I'd argue that the problem FROGGS had is a Rakudo/NQP bug and not a problem with his code
08:17 jnthn Yeah, I think it's a bug, just not sure it ain't a more general one.
08:18 arnsholt Yeah, that's entirely possible
08:18 daxim joined #perl6
08:23 Psyche^ joined #perl6
08:25 fhelmberger joined #perl6
08:32 dalek nqp/toqast: 6f633c7 | jonathan++ | src/ (5 files):
08:32 dalek nqp/toqast: Fix multi-method dispatch.
08:32 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/6f633c7036
08:37 leont joined #perl6
08:50 pmichaud I'm getting segfaults when building NQP  :-(
08:50 moritz pmichaud: I've had one too. Running 'make' again fixed it
08:51 moritz and gabor reported one on p6c
08:51 pmichaud indeed, running make again works around it.  but that's weird.
08:52 pmichaud maybe a bisect is in order
08:53 jnthn bt?
08:54 pmichaud I don't have a backtrace, no.
08:54 pmichaud I'm working on something else at the moment so will come back to it later.
08:55 jnthn ok
08:55 dalek nqp/toqast: 0fa77cc | jonathan++ | t/nqp/45-smartmatch.t:
08:55 dalek nqp/toqast: Foss some tests that haven't been run for a long time.
08:55 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/0fa77cc4a8
08:55 dalek nqp/toqast: 1ec37cb | jonathan++ | src/NQPQ/Actions.pm:
08:55 dalek nqp/toqast: Fix compilation of positional captures in regexes.
08:55 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/1ec37cbae0
08:55 dalek nqp/toqast: 567beb2 | jonathan++ | src/ (2 files):
08:55 dalek nqp/toqast: Fix pointy and circumfix:<{ }> closure semantics.
08:55 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/567beb2abb
08:55 jnthn Down to 3 test files failing in t/nqp on toqast
09:01 marmay_ joined #perl6
09:08 wk hi, tried to look rakudo.org with chromium -- no success
09:08 wk with firefof, everything ok
09:08 moritz wk: what's the problem?
09:09 wk other sites (like perl6.org) with Chromium work fine
09:10 wk moritz: say "Sorry! Google Chrome didn't find site rakudo.org" (translation from Estonian errorpage)
09:10 moritz wk: looks like a DNS error
09:10 wk seems like some weird DNS problem
09:11 moritz wk: what does   dig rakudo.org +short   give you on the command line?
09:11 moritz (assuming you run something UNIXish)
09:11 wk moritz: hmm, nothing
09:11 moritz wk: and without the +short?
09:12 wk moritz: still, firefox was able to resolve it
09:12 moritz (nopaste the result somewhere, don't paste it here)
09:13 wk moritz: relevany part should be that: ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 21013
09:15 wk moritz: http://nopaste.me/paste/954630875503b3a8a0c320
09:15 moritz wk: then I'd blame your local DNS resolver
09:16 wk moritz: tried from other network with same nameserver and same problem
09:17 dalek nqp/toqast: b7111e8 | jonathan++ | src/NQPQ/Actions.pm:
09:17 dalek nqp/toqast: First pass at updating multi-subs. They get the same code object and signature handling as multi-methods now. Passes the tests, though some known incompleteness.
09:17 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/b7111e8046
09:17 dalek nqp/toqast: b4e9e8a | jonathan++ | src/NQPQ/ (2 files):
09:17 dalek nqp/toqast: Toss some now dead code.
09:17 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/b4e9e8ae28
09:17 wk moritz: looks like this is the problem
09:17 wk moritz: thank you!
09:17 moritz wk: you're welcome :-)
09:17 moritz .oO( #perl6: we even debug your DNS :-)
09:18 wk moritz: still interesting how firefox got resolved, i seldom use firefox, could not been in cache too
09:18 moritz wk: it might use its own DNS settings, or something
09:20 daxim browsers used to include their own resolvers for performance improvements
09:20 daxim then this broke/hampered ipv6 deployment and they rely on the OS resolver alone
09:21 bbkr joined #perl6
09:23 wk daxim: do they have setting for their own nameservers?
09:23 daxim not anymore
09:24 cognominal joined #perl6
09:24 daxim I've been happier since I've been running my own local nameserver (pdns-resolver pointing at the opennic, and dnsmasq for caching)
09:24 wk i'll look what my ISP has to say
09:25 daxim isps are the worst :(
09:37 dalek rakudo/nom: 7b6b230 | moritz++ | src/core/List.pm:
09:37 dalek rakudo/nom: guard List.splice against out-of-range arguments
09:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7b6b230783
09:37 dalek rakudo/nom: 47e455e | moritz++ | src/ (4 files):
09:37 dalek rakudo/nom: Iterable should not inherit from Cool
09:37 dalek rakudo/nom:
09:37 dalek rakudo/nom: while that might be cool for core classes, it is not in the general case
09:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/47e455e426
09:37 dalek rakudo/nom: acc9484 | moritz++ | docs/ChangeLog:
09:37 dalek rakudo/nom: update ChangeLog
09:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/acc94848d7
09:37 dalek rakudo/nom: 0be5872 | moritz++ | src/core/Exception.pm:
09:37 dalek rakudo/nom: fix error message, diakopter++
09:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0be5872302
09:37 dalek rakudo/nom: 39cc71e | moritz++ | src/ (3 files):
09:37 dalek rakudo/nom: type-check fail if a macro application does not return an AST
09:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/39cc71e0a0
09:48 dalek roast: 59ed7d7 | moritz++ | S32-array/splice.t:
09:48 dalek roast: use fatal for splice tests that might just fail, not die
09:48 dalek roast: review: https://github.com/perl6/roast/commit/59ed7d795d
09:48 dalek roast: fddfe1c | moritz++ | S06-macros/unquoting.t:
09:48 dalek roast: fix up macro tests
09:48 dalek roast:
09:48 dalek roast: test for an exact error type, and unfudge
09:48 dalek roast: also move some fudge lines directly before the is() line, otherwise
09:48 dalek roast: the first (!) test always becomes TODOed (maybe a fudge bug?)
09:48 dalek roast: review: https://github.com/perl6/roast/commit/fddfe1c6e5
09:53 dalek nqp/toqast: 51d8b87 | jonathan++ | src/ (5 files):
09:53 dalek nqp/toqast: Fix attribute initialization for NQP on QAST. We no longer do viviself stuff on attribute lookups, meaning some extra initialization bits should be done.
09:53 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/51d8b87805
09:58 ChoHag In the regex <-...>, does the - mean anything?
09:58 moritz ChoHag: yes, it negates a character class
09:59 GlitchMr ChoHag: yes, it means anything that isn't in character class
09:59 ChoHag Right, thought so.
09:59 ChoHag Why not !?
09:59 GlitchMr ChoHag: isn't ! assertion?
09:59 ChoHag I don't know.
09:59 moritz because <!foo> is already taken as a zero-width assertion
09:59 ChoHag Right.
09:59 moritz we could have used the Unicode symbol for "not element of set"
09:59 ChoHag So ! is not, and - is not in.
10:00 moritz but people we would scream at us for that :-)
10:00 GlitchMr Isn't it possible to modify grammar to support this
10:00 moritz it sure is, if you want to patch the source
10:01 moritz less trivial if you want to do it by monkey patching
10:04 moritz r: macro a { 'foo' }; say f
10:04 p6eval rakudo bd23ad: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&f' called (line 1)␤»
10:04 moritz r: macro a { 'foo' }; say a
10:04 p6eval rakudo bd23ad: OUTPUT«===SORRY!===␤Macro did not return AST at line 2, near ""␤»
10:06 vinian left #perl6
10:23 bbkr joined #perl6
10:23 MayDaniel joined #perl6
10:43 ObseLeTe joined #perl6
10:47 JimmyZ joined #perl6
11:17 colomon joined #perl6
11:19 nwc10 joined #perl6
11:19 nwc10 pmichaud: are you having segfaults on a system with address space layout randomisation?
11:19 nwc10 [or randomization, if you feel that way :-)]
11:21 cognominal joined #perl6
11:22 nwc10 (likewise moritz)
11:22 * nwc10 assumes that they are all in the land of noms
11:32 ChoHag What does || mean in a token block?
11:33 jnthn ChoHag: Sequential alternation
11:33 dalek nqp/toqast: 5398ace | jonathan++ | t/serialization/0 (3 files):
11:33 dalek nqp/toqast: Correct a wrong signature in serialization tests.
11:33 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/5398acea6e
11:33 dalek nqp/toqast: 54db77d | jonathan++ | src/NQPQ/Actions.pm:
11:33 dalek nqp/toqast: Cleanup fallback handling a bit.
11:33 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/54db77d6d0
11:33 dalek nqp/toqast: 41133c0 | jonathan++ | src/NQPQ/Actions.pm:
11:33 dalek nqp/toqast: Fix vivification when binding into a nested package.
11:33 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/41133c02d7
11:33 dalek nqp/toqast: 8d1afcf | jonathan++ | src/NQPQ/Actions.pm:
11:33 dalek nqp/toqast: Contextual lookup falls back to looking in GLOBAL. With this, all of t/nqp passes again.
11:33 imarcusthis joined #perl6
11:33 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/8d1afcf579
11:35 gongyiliao joined #perl6
11:42 kaleem joined #perl6
11:53 ObseLeTe joined #perl6
11:55 dalek nqp/toqast: 1ec5f69 | jonathan++ | src/QAST/Operations.nqp:
11:55 dalek nqp/toqast: Make next/last/redo in for loops. Means we pass t/qregex and t/p5regex again.
11:55 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/1ec5f69a39
11:55 dalek nqp/toqast: aa8b245 | jonathan++ | t/qast/qast.t:
11:55 dalek nqp/toqast: Replace a pirop with an NQP op.
11:55 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/aa8b2450f5
12:00 tokuhiro_ joined #perl6
12:08 DaimyoKirby joined #perl6
12:10 benabik joined #perl6
12:11 dalek rakudo/nom: 4539e90 | moritz++ | src/Perl6/Actions.pm:
12:11 dalek rakudo/nom: improved error message for macro application
12:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4539e90d9b
12:11 dalek nqp/toqast: 93072ff | jonathan++ | src/NQPQ/Actions.pm:
12:11 dalek nqp/toqast: More closure fixups.
12:11 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/93072fffdb
12:13 cggoebel jnthn++ nqp <=> qast
12:14 jnthn yeah, I got the test suite passing
12:14 nwc10 rah!
12:14 jnthn now to see about trying to fix the bootstrap up to use it :)
12:14 cggoebel yapc::eu++ new faces and revitalized sorear++
12:14 nwc10 jnthn: could you get pmichaud to look at scrollback?
12:14 jnthn he's giving a talk at the mo...
12:14 nwc10 ah. OK. that would be tricky
12:15 jnthn :)
12:15 cggoebel p5p6++
12:16 cggoebel perl6 appears to be firing on all cylinders... while adding cylinders :-)
12:21 dalek nqp/toqast: 53ee6a0 | jonathan++ | src/NQPQ/ (2 files):
12:21 dalek nqp/toqast: Fix a couple of pir:: bits.
12:21 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/53ee6a0ade
12:25 dalek nqp/toqast: 29dd16d | jonathan++ | src/NQPQ/Actions.pm:
12:25 dalek nqp/toqast: Update pir::const:: handling for QAST.
12:25 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/29dd16d471
12:27 dalek doc: 4fd9dad | moritz++ | lib/X/TypeCheck/MacroUnquote.pod:
12:27 dalek doc: X::TypeCheck::MacroUnquote
12:27 dalek doc: review: https://github.com/perl6/doc/commit/4fd9dadffd
12:39 ChoHag Why is DBIish.connect giving me an Any object?
12:39 moritz it shouldn't
12:39 moritz what are you doing?
12:40 ChoHag $ perl6 -MDBIish -e 'DBIish.connect("Pg", dbname => "dunno", user => "dunno", password => "I know!").say'
12:40 ChoHag Any()
12:40 moritz star: use DBIish; DBIish.connect("Pg", dbname => "dunno", user => "dunno", password => "I know!").say
12:40 p6eval star 2012.07: OUTPUT«Cannot locate native library 'libpq.so'␤  in method postcircumfix:<( )> at /home/p6eval/star/lib/parrot/4.6.0/la​nguages/perl6/lib/NativeCall.pm6:102␤  in <anon> at src/gen/BOOTSTRAP.pm:811␤  in any <anon> at src/gen/BOOTSTRAP.pm:807␤  in method connect at /home/p6ev…
12:41 ChoHag $ PGPASSWORD='I know!' psql -t -h localhost -U dunno dunno -c select\ 1 1
12:41 ChoHag That second '1' is on its own line.
12:41 ChoHag ie. output.
12:42 moritz ChoHag: try to add host and port
12:42 moritz it really shouldn't just return Any, but rather die
12:43 ChoHag Still says Any.
12:43 moritz also add :RaiseError
12:43 moritz or RaiseError => 1
12:43 ChoHag Ah.
12:43 ChoHag Password with a space.
12:43 ChoHag missing "=" after "know!" in connection info string
12:43 moritz oh my
12:45 ChoHag Now last time I tried hacking with files in lib I broke Rakudo.
12:45 moritz :-)
12:45 mst so tar up your install then hack away
12:45 ChoHag Well yes NEXT time there will be backups.
12:45 ChoHag But how do I hack about safely
12:46 moritz ChoHag: I think the proper fix is to use PQConnectdbParams
12:46 dalek nqp/toqast: 783f35b | jonathan++ | src/ (9 files):
12:46 dalek nqp/toqast: Fix a bunch of pir:: that miss signatures; also replace some pir:: with nqp::.
12:46 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/783f35b352
12:46 ChoHag Specifically the pir file dependencies broke.
12:46 moritz that way no escaping is necessary
12:46 nwc10 hmm, jnthn is now nearer to the North Pole than last week, and Christmas seems closer
12:46 nwc10 what happens if someone stages a hackathon inside the Artic Circle?
12:47 moritz nwc10: then jnthn is more likely to attend than if you do it on the equator :-)
12:47 mst ChoHag: well, the other trick is to git init at the root of your install
12:47 snearch joined #perl6
12:47 mst ChoHag: and commit the entire thing
12:48 ChoHag But how do I change the files and still have them work?
12:49 mst see, that part I've no idea about, sorry
12:49 ChoHag I don't recall the exact error and don't plan to get it back - it takes almost 10 whole minutes to recompile everything - but it was definitely pir file dependencies.
12:49 moritz ChoHag: the key is to check out DBIish from its repo on github
12:49 ChoHag In a few cases I recompiled them and all was well for a while.
12:49 moritz ChoHag: and there you ahve a makefile, and you can type 'make' to just recompile DBIish
12:49 moritz the star distribution isn't meant for those who want to hack what they've installed
12:50 ChoHag Hah!
12:50 cognominal p6: $*IN ~~ :r
12:50 p6eval rakudo 39cc71, niecza v19-44-g55e895a:  ( no output )
12:50 ChoHag I don't really plan to, just fix a few modules as I go.
12:50 cognominal p6: say $*IN ~~ :r
12:50 p6eval rakudo 39cc71, niecza v19-44-g55e895a: OUTPUT«False␤»
12:50 ChoHag What's the default search path?
12:50 moritz cognominal: in rakudo, .r checks only paths, not file handles
12:50 moritz ChoHag: .say for @*INC
12:51 moritz then you know
12:51 moritz (DBIish's Makefile explicitly adds lib/ and blib/lib iirc)
12:51 cognominal moritz, thx
12:52 cognominal qp{} is unimplemented or the spec irrelevant?
12:53 moritz yes :-)
12:53 dalek nqp/toqast: b7921a9 | jonathan++ | src/ (2 files):
12:53 dalek nqp/toqast: Hopefully final round of pir:: fixes.
12:53 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/b7921a978b
12:53 cognominal I note that there is a p{} too in the spec
12:53 cognominal p:qq{$filename}
12:53 moritz that's probably just a fossil
12:54 cognominal if it is it litters, http://search.cpan.org/dist/Perl6-Doc/sh​are/Synopsis/S32-setting-library/IO.pod
12:54 moritz ChoHag: I'm currently not on a machine with a postgres installation, so can't fix right now :(
12:55 moritz cognominal: how old is that distribution?
12:55 cognominal ho, I may have googled the wrong place
12:55 moritz perlcabal.org/syn/
12:56 moritz arnsholt: does current zavolaj need an NQP newer than rakudo's NQP_REVISION?
12:57 arnsholt Kind of
12:57 moritz 'cause with the recommended revision I get a segfault in one of the tests
12:57 arnsholt As of last night, the test suite won't pass without a recent NQP
12:57 arnsholt Yeah, I didn't think of that angle when I pushed that stuff last night
12:59 pjcj joined #perl6
13:01 cognominal I am posting to the guy to supress his package. It is doing more harm than good. Anyway I should have been smart than to consult that doc.
13:02 dalek rakudo/nom: 79e226c | moritz++ | tools/build/NQP_REVISION:
13:02 dalek rakudo/nom: bump NQP revision to get nativecall fixes
13:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/79e226ca65
13:05 dalek nqp: 17118c5 | pmichaud++ | docs/nqp-overview.txt:
13:05 dalek nqp: Add nqp-overview, a base file describing various
13:05 dalek nqp: components of the NQP repository layout.
13:05 dalek nqp: review: https://github.com/perl6/nqp/commit/17118c51bb
13:06 dalek nqp/toqast: 0668780 | jonathan++ | src/NQPQ/Actions.pm:
13:06 dalek nqp/toqast: Fix an issue that busted compilation of the meta-objects.
13:06 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/0668780b13
13:06 dalek nqp/toqast: 8ad9ff8 | jonathan++ | src/ (2 files):
13:06 dalek nqp/toqast: Fix compilation of .REPR.
13:06 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/8ad9ff8d3d
13:07 dalek nqp: 7962999 | pmichaud++ | docs/nqp-overview.txt:
13:07 dalek nqp: Update nqp-overview a bit.
13:07 dalek nqp: review: https://github.com/perl6/nqp/commit/79629999d8
13:08 ChoHag How can I make one hash be the contents of another minus a few keys?
13:08 moritz just copy all the keys and values over, except those that you don't want
13:10 ChoHag Is there an unzip, and/or is the order of .keys and .values guaranteed the same?
13:10 nwc10 is there a way to treat the hash as a list of pairs, feed them into a grep which discards the unwanted keys, and build a new hash from the resulting list?
13:10 ChoHag nwc10: That's more along the lines of what I was after...
13:10 moritz sure there is :-)
13:10 * nwc10 doesn't know the how
13:11 moritz my %blacklist = <b c d > X=> 1; my %orig = 'a' .. 'f' Z= 1..*; my %copy = %orig.grep({ not %blacklist{.key} }); say %copy.perl
13:11 moritz nr: my %blacklist = <b c d > X=> 1; my %orig = 'a' .. 'f' Z= 1..*; my %copy = %orig.grep({ not %blacklist{.key} }); say %copy.perl
13:11 p6eval rakudo 79e226: OUTPUT«("1" => 2, "3" => 4, "5" => 6).hash␤»
13:11 p6eval ..niecza v19-44-g55e895a: OUTPUT«[31m===[0mSORRY![31m===[0m��Cannot zip with = because list assignment operators are too fiddly at /tmp/OgU0ee8dzl line 1:�------> [32m<b c d > X=> 1; my %orig = 'a' .. 'f' Z=[33m�[31m 1..*; my %copy = %orig.grep({ not %blac[0m��Unhandled exception:…
13:12 moritz ooh, nieczabug
13:12 moritz r: my %blacklist = <b c d > X=> 1; my %orig = 'a' .. 'f' Z= 1..*; my %copy = %orig.grep({ not %blacklist{.key} }); say %copy.perl; say %orig.perl
13:12 p6eval rakudo 79e226: OUTPUT«("1" => 2, "3" => 4, "5" => 6).hash␤("1" => 2, "3" => 4, "5" => 6).hash␤»
13:12 moritz no, my own bug
13:12 moritz I thought I'd written X=>
13:13 moritz r: my %blacklist = <b c d > X=> 1; my %orig = 'a' .. 'f' Z=> 1..*; my %copy = %orig.grep({ not %blacklist{.key} }); say %copy.perl; say %orig.perl
13:13 p6eval rakudo 79e226: OUTPUT«("a" => 1, "e" => 5, "f" => 6).hash␤("a" => 1, "b" => 2, "c" => 3, "d" => 4, "e" => 5, "f" => 6).hash␤»
13:13 imarcusthis joined #perl6
13:13 moritz erm, Z=>
13:13 moritz ChoHag: anyway, like this :-)
13:13 ChoHag I am still decoding it...
13:13 moritz my %copy = %orig.grep({ not %blacklist{.key} });   is the crucial part
13:13 moritz Hash.grep operations on a list of Pair objects
13:15 moritz *operates
13:20 skids joined #perl6
13:24 sirrobert joined #perl6
13:25 bluescreen10 joined #perl6
13:25 dalek nqp/toqast: d8ac7e5 | jonathan++ | src/QAST/Operations.nqp:
13:25 dalek nqp/toqast: Add missing newtype/setwho nqp ops.
13:25 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/d8ac7e56b5
13:25 dalek nqp/toqast: b98fe61 | jonathan++ | src/ (4 files):
13:25 dalek nqp/toqast: A few more missing pir:: op sigs.
13:25 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/b98fe61aca
13:25 dalek nqp/toqast: 4e91335 | jonathan++ | src/how/NQPClassHOW.pm:
13:25 dalek nqp/toqast: Avoid a void.
13:25 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/4e913357d3
13:28 nwc10 Christmas is coming, snowflake by snowflake
13:30 moritz :-)
13:30 tadzik :)
13:36 cjbot joined #perl6
13:38 sirrobert What's the non-backslashy way of doing the regex in:   use File::Find; find :dir('.'), :name(/\.txt);
13:38 jnthn /'.txt'/
13:39 sirrobert dang =)  I keep forgetting about quoted literals in regexes =)
13:39 sirrobert thanks
13:39 moritz just the same as in mainline code
13:39 sirrobert yeah... I did p5 regexp for so long there's a lot of inertia
13:41 * moritz nods
13:49 daxim you can do that??
13:49 * daxim head asplode
13:49 sirrobert heh
13:50 sirrobert I have an odd issue...
13:50 xinming joined #perl6
13:51 sirrobert in one file (in which a very small class is defined), I get a runtime error if I add an extra newline above the class declaration
13:52 sirrobert the top of the file looks like this:    use Some::Lib;\nclass MyClass;
13:52 sirrobert if I change it to:  use Some::Lib;\n\nclass MyClass;
13:52 sirrobert I get a runtime error
13:53 sirrobert missing or wrong version of dependency
13:53 sirrobert going to try to reproduce in demo code
13:54 tadzik wat :)
13:58 dalek Perlito: 7067d36 | (Flavio S. Glock)++ | / (2 files):
13:58 dalek Perlito: Perlito5 - perl5: fix escape for $\ variable
13:58 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/7067d366d9
13:58 sirrobert then if I 'make clean' and make again, a different runtime error:  'No STable ad index 11'
14:01 dalek nqp/toqast: 100439a | jonathan++ | src/how/NQP (6 files):
14:01 dalek nqp/toqast: Fix up various bits of the NQP MOP that relied on Parrot Undef to break some circularities.
14:01 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/100439a0e5
14:01 sirrobert ok, well I accidentally fixed it and can't reproduce now ...
14:02 sirrobert (ufo fixed it)
14:04 cognominal_ joined #perl6
14:06 am0c joined #perl6
14:06 kaare_ joined #perl6
14:06 stopbit joined #perl6
14:12 moritz masak++ # ufo
14:17 cjbot @perlbuzz tweeted 'Installing Perl 6 modules with Panda http://t.co/g9rgiz1V'
14:19 sorear good * #perl6
14:20 sorear cggoebel: don't confuse "revitalized sorear" with "revitalized niecza"
14:20 sudokode joined #perl6
14:28 sorear shortest example of an expression which is valid 5 and 6 but evaluates to unrelated values:
14:28 sorear *i
14:29 sorear totally different parse, too :>
14:33 fgomez joined #perl6
14:52 adu joined #perl6
14:53 colomon sorear: I dunno, you've committed more niecza patches in the last ten days than in the previous two months...
14:57 sorear niecza is getting unmaintainable.
14:57 sorear in a few months, you may find me having made an -Ofun decision to work on NQP guts
14:58 cggoebel where are the sore spots?
14:58 sorear the word 'spots' indicates a false assumption. :D
14:58 cggoebel ouch
14:58 tadzik :)
14:59 sorear the whole thing is far too tightly coupled
14:59 tadzik although I'm more like :(
15:00 sorear macros may never be supportable due to the way the niecza bootstrap works
15:00 cggoebel sounds like you're describing perl6...
15:00 kresike bye all
15:02 cggoebel and you've already spent a good bit of time looking at that problem and rejected all the alternative avenues right?
15:03 benabik joined #perl6
15:03 cggoebel except perhaps for the avenues forward which would converge on what rakudo is doing
15:05 tokuhiro_ joined #perl6
15:05 cggoebel is there enough room left for a niecza to converge toward more rakudo design choices while remaining -Ofun and interesting in its own right?
15:06 dalek Perlito: 2077216 | (Flavio S. Glock)++ | TODO-perlito5:
15:06 dalek Perlito: Perlito5 - add TODO
15:06 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/20772168b7
15:07 dalek nqp/toqast: 3d5fdf6 | jonathan++ | src/QRegex/Cursor.nqp:
15:07 dalek nqp/toqast: Avoid compilation error in QRegex when building it with NQP on QAST.
15:07 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/3d5fdf66c8
15:09 sorear I dunno
15:09 cggoebel I was hopeful that targetting mono would eventually lead toward CIL and DLR and a perl6 implementation with full access to CLR and other CLR languages having full access to perl6
15:09 * [Coke] puts cjbot into a loop so he rejoins when he timesout.
15:10 sorear cggoebel: niecza already has full access to the CLR, one of my projects for the next week is to make that friendlier
15:10 cggoebel But I'm talking beyond my level of understanding... Niecza seems avoid reinventing many wheels.
15:12 sorear cggoebel: niecza does not participate in the DLR system
15:12 cggoebel rakudo seems to imply that the wheels need to be re-invented
15:12 cggoebel to support second system syndrome done right
15:12 sorear We're really serious about reinventing the wheels that need to be reinvented. - TimToady, any errors mine
15:13 FROGGS joined #perl6
15:13 FROGGS hi pals
15:13 cggoebel o/
15:20 cggoebel well I find the work being done around perl6 inspiring. Having multiple active implementations seems to be a rising tide that lifts them all. niecza++ rakudo++ pugs++ perlito++
15:22 am0c joined #perl6
15:23 thou joined #perl6
15:31 GlitchMr Perlito? Last time I've checked it didn't supported basic features, such as **
15:32 GlitchMr say(v__NAMESPACE.infix:<**>(2, 2));
15:32 GlitchMr That code makes sense
15:33 GlitchMr Most of Perlito development happens on Perl 5 part
15:37 GlitchMr Perl 5 branch seems interesting - it can even parse stuff like print ${[3..5, 7, 42]}[-1];
15:37 GlitchMr And run it... all in JS
15:39 dalek nqp/toqast: bf8a3fc | jonathan++ | src/ops/nqp.ops:
15:39 dalek nqp/toqast: Improved diagnostics.
15:39 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/bf8a3fce54
15:39 dalek nqp/toqast: ba8c901 | jonathan++ | src/NQPQ/ (2 files):
15:39 dalek nqp/toqast: Some grammar compilation fixes.
15:39 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/ba8c9015bf
15:39 dalek nqp/toqast: 6b3ef4b | jonathan++ | src/HLL/Compiler.pm:
15:39 dalek nqp/toqast: A few tweaks to get HLL::Compiler to compile.
15:39 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/6b3ef4b27f
15:39 dalek nqp/toqast: 2763317 | jonathan++ | src/NQPQ/Actions.pm:
15:39 dalek nqp/toqast: Fix nibbler assertion compilation.
15:39 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/2763317dd9
15:39 leont joined #perl6
15:40 GlitchMr Perlito seems to force "use strict", but global variables (using "our") seem to work
15:41 GlitchMr ... oh, I can type "no strict"
15:41 GlitchMr :)
15:43 GlitchMr Also... is it just me or Perlito doesn't support double-quoted heredocs (or heredocs without quotes). Heredocs with single quotes are fine
15:47 dalek nqp/toqast: 832dbf4 | jonathan++ | src/QAST/Operations.nqp:
15:47 dalek nqp/toqast: Tweak to QAST to get it to not explode when loaded.
15:47 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/832dbf456c
15:47 GlitchMr Wait... Perlito doesn't support time()? It would be +new Date / 1000 in JavaScript
15:48 GlitchMr Possibly with Math.floor() if compatibility is a concern
15:48 PerlJam GlitchMr: Looks like your chance to contribute a patch!  ;-)
15:49 alester joined #perl6
15:53 xinming joined #perl6
16:01 brrt left #perl6
16:03 Targen joined #perl6
16:09 alester joined #perl6
16:24 Khisanth joined #perl6
16:34 raiph joined #perl6
16:35 daxim re: http://blogs.perl.org/users/perl_6_reports/2012/​08/perl6-summary-for-week-ending-2012-08-25.html , what's Math::Polynomial about?
16:35 ChoHag How can I do for %hash.kv -> $k,$v {...} with an iterator?
16:35 raiph http://www.reddit.com/r/perl/comments/ywrm1/p​erl6_summary_for_week_ending_20120825_perl_6/
16:35 ChoHag I tried sticking Z in in various incantations but the magic eludes me.
16:36 raiph (gotta run. hope to backlog in about an hour.)
16:37 larks joined #perl6
16:38 ChoHag Nailed it.
16:38 ChoHag for %x Z 0..* -> $h,$i and just add .key and .value
16:39 daxim r: my %x = foo => 1, bar => 2, quux => 3; for %x Z 0..* -> $h,$i { say $h.perl; say $i.perl }
16:39 p6eval rakudo 79e226: OUTPUT«"foo" => 1␤0␤"bar" => 2␤1␤"quux" => 3␤2␤»
16:40 daxim that whatever is neat
16:45 colomon ChoHag: note that the order you get things out of the hash is undefined...
16:45 ChoHag I know.
16:46 ChoHag I need a hash converted to a pair of equally-order-undefined arrays.
16:47 kaleem joined #perl6
16:53 Khisanth joined #perl6
16:54 thou moritz: do you have an idea on how to normalize examples in docs? i agree w/ your comment about the REPL being non-standard. ideal would be to use a format that enables automated verification of examples. perhaps looking for any pod parargraph matching / ^ Example s? \: $ / followed by one or more code blocks; in those code blocks, anything starting with '> ' is considered code, anything else is considered output. run the c
16:54 thou ode and verify the output. would be brittle depending on how .perl and .gist work, but should be verifiable without too much trouble.
16:55 thou perhaps also allow output to be shown in comments, e.g.:  > "exa" ~ "mple"  # result: "example"
16:56 thou or am i over-engineering things...
16:58 masak good morning, #perl6
16:58 arnsholt o/
16:59 thou buenos dias, masak
17:00 sftp_ joined #perl6
17:01 quietfan1tic joined #perl6
17:01 Tene_ joined #perl6
17:01 Tene_ joined #perl6
17:02 gfldex_ joined #perl6
17:02 sorear masak!!
17:03 sorear hiya
17:03 leont Good evening
17:03 sorear good evening leont.
17:04 masak \o/
17:08 hugme joined #perl6
17:08 masak thou: I don't think you're overengineering things. but I think I would like a solution the less engineered it felt. how much can you do with as little as possible?
17:09 thou masak: i feel my priority is consistency for the reader
17:10 thou similar level of examples are presented in a similar fashion
17:10 thou and of course the main point of consistency is that the example code is actually *correct*
17:11 thou once there are enough examples all in a single style of presentation, then it'll be easy to keep to that style for new edits
17:12 thou so really it's just choosing a good style to normalize on that may be tricky; and automated verification can probably be pretty easy to add for most things after that
17:14 sorear we don't necessarily want all the examples to be complete
17:14 sorear it could get very repetitive that way in some cases
17:16 PerlJam I've long wanted a way to write "here's some input, here's some code, here's the expected output"  and have a way to extract that as something meaningful for the document processor as well as make it meaningful to the Perl 6 implmentations so that we when we say "Code tested with Niecza v20" we really mean it.
17:16 PerlJam (for instance)
17:17 PerlJam Like say ... for the "Using Perl 6" book  :-)
17:17 cognominal joined #perl6
17:17 sorear I've long wanted the roast tests to be marked up in such a way that the individual tests can be extracted without running them
17:19 [Coke] sorear: fudge already does a lot of that work, might be able to build on it to extra indiviudal tests en masse.
17:19 sorear fudge is an awful fudge
17:20 PerlJam fudge only tastes good in small doses
17:20 sorear there are many test files with hundreds of tests that are actually partially independant
17:21 sorear but there isn't metadata to learn this
17:24 jnthn om nom dinner with stout
17:24 arnsholt For a second I wondered how you had dinner with stdout ^_^
17:26 jnthn dinner is much more about stdin :P
17:26 tokuhiro_ joined #perl6
17:27 * masak .oO( bad dinner: stderr )
17:27 masak did I just think that out loud? :)
17:28 sorear jnthn: stout ~~ Person?
17:28 nwc10 jnthn: is pmichaud still talking? :-)
17:28 pmichaud that guy never shuts up.
17:29 nwc10 aha
17:29 jnthn sorear: WAT?!
17:29 jnthn A stout is a type of beer!
17:29 jnthn :)
17:29 nwc10 pmichaud: repeating question in scrollback, is your NQP SEGV on an OS with Address Space Layout Randomisation?
17:29 pmichaud I don't know my address space.  I'm on Kubuntu 12.04 if that helps :)
17:29 nwc10 in that, I was getting SEGVs on the Rasperry Pi that weren't repeatable. And it seems that the Debian on it does ASLR
17:30 sorear do they become repeatable if you disable ASLR?
17:30 sorear there's a file in /proc/sys/vm or /proc/sys/kernel with an obvious name that you need to echo 0 >
17:30 thou sorear: yes, maybe something like:  Examples:\n\n=comment include-test-preamble('foo')\n\n    > example-that-uses-preamble()
17:30 nwc10 pmichaud: try running this a few times: perl -e 'warn []'
17:30 nwc10 the output is the address the array is allocated at. On a good old fashioned system it will be the same
17:31 nwc10 with ASLR it will vary
17:31 pmichaud I get a list of twisty little array references, all different.
17:31 nwc10 aha. I think you have ASLR
17:31 pmichaud (so yes, ASLR it appears to be)
17:31 pmichaud is it curable?  ;-)
17:31 nwc10 so, that I *think* means a subtle parrot GC bug
17:31 pmichaud it could also be a nqp bug
17:31 nwc10 but it might be something else related to the ordering of $stuff
17:32 pmichaud I had it happen twice in a row.  I can try it again and see if it occurs again.
17:32 moritz thou: the examples in the docs so far use    say $foo;   # output
17:32 moritz thou: with the comments vertically aligned
17:32 nwc10 IIRC I ran the culprit command under gdb and the backtrace was always from the same place
17:32 nwc10 trying to use a NULL pointer where something non-NULL was expected (a vtable, IIRC)
17:32 moritz thou: I like that, because it's valid code, and easy to understand
17:33 sorear pmichaud: aslr is curable, echo 0 | sudo tee /proc/sys/kernel/randomize_va_space
17:33 pmichaud well, let's see if I can reproduce it and get a backtrace
17:33 thou moritz: i like it too, not sure how to handle a) long code; b) long output; c) multiple lines
17:34 sorear but it's one of the main lines of defense against buffer overflow exploits, so best to leave it on when you can
17:34 * thou gets the bright idea to look at some other languages' docs for how they've done this
17:36 sorear thou: what will you do with examples where the purpose is to demonstrate unreproducable behavior?  .WHERE, hash key ordering
17:36 fibo joined #perl6
17:37 moritz thou: just avoid that
17:37 moritz thou: or make a separate block for the output
17:38 thou OK
17:38 nwc10 pmichaud: this is a backtrace of what happened to me, plus the address from 2 more runs where it happened. In all cases, vtable is NULL
17:39 nwc10 http://pasta.test-smoke.org/313
17:39 cognominal joined #perl6
17:39 raiph pmichaud: #perl6 summary posted at http://blogs.perl.org/users/perl_6_reports/
17:39 pmichaud yeah, I just tried a build and it worked fine.
17:39 pmichaud sounds gc-ish or pointer-ish somehow, yes.
17:39 pmichaud but it must be fairly recent
17:39 masak today I've been thinking about how best to mark up source code for formatting on slides. it's an interesting problem, because one wants to point to things in the code itself without offsetting the code too much.
17:40 jnthn nwc10: What's being built when that happens?
17:40 nwc10 pmichaud: I think if you re-run enough times (for some value of enough) you should see it again
17:40 [Coke] nqp question: does the current standalone nqp compreg a grammar by default? is there code to call to make that happen?
17:41 nwc10 jnthn: not *sure*, but the notes in the file suggest it was: ./perl6 t/00-parrot/06-op-inplace.t
17:41 arnsholt masak: Start with syntax-highlighted code perhaps?
17:41 nwc10 but I think I had it during builds with nqp too
17:41 [Coke] (trying to finalize the partcl cutover to nqp from parrot-nqp, this is the current sticking point.)
17:41 arnsholt And then tone down the boring bits and highlight a bit more (maybe) the fun stuff
17:42 arnsholt That's an excellent point, now that you say it
17:42 arnsholt I should probably think of that when I do code slides next semester
17:43 pmichaud raiph++  #  #perl6 summary
17:43 sorear arnsholt: have you ever played with lhs2TeX ?
17:44 pmichaud [Coke]: grammars by themselves aren't compreged, no.  The only things that get compreged are HLL::Compiler objects
17:45 sorear arnsholt: see for instance the stuff on page 5 of http://www.soi.city.ac.uk/~​ross/papers/FingerTree.pdf
17:46 [Coke] so if I have a grammar like: "ARE::Compiler is HLL::Compiler" , how do I force a compreg there?
17:46 moritz pmichaud: how's the star release coming along?
17:46 sorear that's not handwritten markup, it's the output of the nicest code formatter I've seen
17:46 pmichaud moritz: working on it now
17:46 pmichaud I'm trying to refactor a lot of the build process to be more sane
17:46 [Coke] do I just manually invoke pir::compreg?
17:46 pmichaud [Coke]: when you call .language('ARE') on the compiler, it compreg's it.
17:47 sorear I am somewhat suprised that NQP still participates in the HLL interop protocol
17:47 pmichaud it compregs, but not much else is guaranteed to work at the moment
17:47 jnthn Well, we look stuff pu with compreg too
17:47 jnthn but really it's...just a hash :)
17:48 pmichaud I expect NQP to have its own hll interop protocol at some point.
17:48 jnthn *nod*
17:48 sorear *blink*
17:48 jnthn nwc10: That backtrace is interesting in so far as it's doing a compile-time multi dispatch analysis
17:48 [Coke] Partcl::Compiler.language("Partcl"); -> Null PMC error
17:48 jnthn Does --optimize=off make it go away?
17:49 pmichaud [Coke]: normally one would do .language on an instance of Partcl::Compiler these days, not the type object
17:50 pmichaud just a sec
17:50 arnsholt sorear: Can't say I have, but that does look purdy
17:50 [Coke] pmichaud:     my $comp := Partcl::Compiler.new();$comp.language("Partcl");
17:51 [Coke] (also NPE)
17:51 pmichaud https://gist.github.com/3490798
17:51 [Coke] this in a copy of partcl-nqp's nqp branch with a few local mods.
17:51 pmichaud [Coke]: okay, that's a little weird then.  You are talking about nqp, yes, not nqp-rx ?
17:51 arnsholt sorear: I did use algorithm2e in my master's thesis, but that's pseudo-code, not real code
17:52 [Coke] what is "NQPHLL" ?
17:52 [Coke] pmichaud: yes, I'm trying to finish off the conversion to nqp.
17:52 xinming_ joined #perl6
17:52 pmichaud NQPHLL loads in the various HLL libraries
17:53 pmichaud i.e., HLL::Grammar, HLL::Compiler, etc.
17:53 jnthn The stuff in src/HLL
17:53 [Coke] I want to reorg some of the git commits before pushing.
17:55 [Coke] I must not be loading Partcl::Compiler in here. Hurm.
17:55 pmichaud if you're missing "use NQPHLL" that might explain the NPA
17:56 dalek star/newbuild: af4e769 | pmichaud++ | t (3 files):
17:56 dalek star/newbuild: Start refactoring module handling; move templates where they go.
17:56 dalek star/newbuild: review: https://github.com/rakudo/star/commit/af4e7690e8
17:56 [Coke] added that in, nothing. it's dying on calling .new on Partcl::Compiler
17:56 [Coke] the lack of docs in nqp makes this very hard to build more stuff on, btw. :|
17:56 pmichaud yes, we know -- nqp docs and tutorials is one of my tasks for this week's hackathon
17:57 pmichaud but I need to get the R* release out first
17:57 [Coke] I was very happy I found your original attempt from ages past, which helped immensely.
17:57 [Coke] \o/
17:57 pmichaud others here are also working on various nqp docs
17:57 sorear jnthn: how does nqp/bs handle changes in the serialized data format or the C<->NQP ABI?
17:57 [Coke] \o/
17:57 jnthn sorear: There's a version number.
17:58 jnthn sorear: So it already knows what version it's reading.
17:58 jnthn sorear: If there's an incompatible change, serialization.c will have to support the old way and the new way (for reading) for a time
17:58 sorear and there are conditionals to adaptively handle the new and old versions?
17:58 dalek star/newbuild: 4f2c976 | pmichaud++ | win32/rakudo. (2 files):
17:58 dalek star/newbuild: Remove obsolete win32 build stuff.
17:58 dalek star/newbuild: review: https://github.com/rakudo/star/commit/4f2c976770
17:58 jnthn Though I've not had any of those yet :)
17:58 arnsholt sorear: OTOH, since the code slides next semester will be Python code, I'm not sure lhs2tex is a perfect fit ;)
17:59 jnthn Yes, it'd be conditionals.
17:59 sorear what about ABI changes?  if you fiddle the 6model ops, do you have to make sure the serialized compiler can still use the old ones for long enough to redo the bootstrap?
17:59 dalek doc: abefe1a | moritz++ | lib/Buf.pod:
17:59 dalek doc: document Buf.subbuf
17:59 dalek doc: review: https://github.com/perl6/doc/commit/abefe1a5d3
18:00 dalek star/newbuild: 95961bd | pmichaud++ | / (12 files):
18:00 dalek star/newbuild: Move darwin_dmg stuff into ports/ .
18:00 dalek star/newbuild: review: https://github.com/rakudo/star/commit/95961bd16c
18:00 jnthn sorear: The ops are orthogonal.
18:00 jnthn sorear: Well, inlining info aside, perhaps.
18:02 dalek specs: 4238daf | moritz++ | S32-setting-library/Containers.pod:
18:02 dalek specs: [S32::Containers] document Buf.subbuf
18:02 dalek specs: review: https://github.com/perl6/specs/commit/4238dafdc8
18:03 nwc10 jnthn: was this question for me? 18:48 < jnthn> Does --optimize=off make it go away?
18:04 jnthn nwc10: yes
18:04 jnthn sorear: To clarify - the stuff serialization.c doeals with is just objects, not bytecode
18:05 nwc10 jnthn: I don't have an intact build tree on the system to be able to answer that
18:06 jnthn ah, ok
18:06 nwc10 I was more hoping that if Pm can get something seemingly similar on a more common architecture, it would be easier to debug that
18:12 sorear jnthn: I know they are orthogonal.  That's why I'm asking about both.
18:12 sorear jnthn: Does the code in stage0 impose constraints on how you can evolve the op set?
18:12 jnthn Yes
18:12 jnthn But it's not an ABI issue because we save pir, not pbc
18:13 jnthn In reality, it's not been a practical problem very often.
18:13 pmichaud (and one of the reasons we save pir is to avoid opcode migrations.)
18:14 * sorear considers pir an ABI thing because of how low level it is
18:16 [Coke] pmichaud: if I run that gist, I get: Method 'ast' not found for invocant of class 'Undef'
18:17 [Coke] (running it, then at the prompt, type 3)
18:28 moritz raiph++ # #perl6 sumamry
18:28 moritz erm, modulo speling
18:30 * masak .oO( in the early autumn, vowels start their long migration back east )
18:30 moritz masak: did you see my macro (error classes) commits?
18:30 masak haven't backlogged yet.
18:31 masak a bit knackered tonight due to $dayjob.
18:31 masak will get to it.
18:31 moritz .oO( git backlog )
18:34 * moritz idly wonders if the injection technique used by the debugger can be used to create a code coverage tool too
18:34 * [Coke] is at a programming conference. There was only coffee at breakfast, and there are no power outlets in the breakout sessions.
18:35 * [Coke] shakes his head.
18:35 mattp_ joined #perl6
18:36 nwc10 [Coke]: what sort of programmers were they expecting?
18:37 nwc10 moritz: that's very perl-5 esqe - taking the infrastructure used for the debugger, and re-purposing it for code coveragae, and for profiling
18:39 wk joined #perl6
18:40 moritz nwc10: we don't throw everything 5y away :-)
18:40 dalek star/newbuild: 656aa9a | pmichaud++ | build/ (4 files):
18:40 dalek star/newbuild: Remove other obsolete build stuff.
18:40 dalek star/newbuild: review: https://github.com/rakudo/star/commit/656aa9ad1e
18:40 dalek star/newbuild: bd361ee | pmichaud++ | Makefile:
18:40 dalek star/newbuild: Revise where source tarballs end up.
18:40 dalek star/newbuild: review: https://github.com/rakudo/star/commit/bd361eec96
18:41 jnthn moritz: Yes, that technique could be used for such a thing.
18:41 krunen_ joined #perl6
18:41 moritz I *almost* want to start with one right away
18:42 pmichaud [Coke]: I think the gist requires a full addop expression
18:42 jnthn moritz: What do I need to do to push you to do it? ;)
18:42 pmichaud checking
18:42 jnthn moritz: We were discussing over dinner here building a profiler with it
18:42 moritz jnthn: give me three free days :-)
18:42 pmichaud ah, that gist isn't a complete example -- I had modified it for another topic but didn't put it into a running state :-(
18:43 pmichaud as soon as I get the star release done, I'm definitely writing some nqp compilers.
18:43 nwc10 nqp compilers?
18:43 nwc10 (For other languages?)
18:44 jnthn yes
18:44 dalek nqp/toqast: b089723 | jonathan++ | src/NQPQ/Actions.pm:
18:44 dalek nqp/toqast: Update a bunch of commented out code.
18:44 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/b089723bae
18:44 dalek nqp/toqast: eff62f7 | jonathan++ | src/NQPQ/ (2 files):
18:44 dalek nqp/toqast: Update initializations.
18:44 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/eff62f76c0
18:44 dalek nqp/toqast: c3e4578 | jonathan++ | src/how/NQPClassHOW.pm:
18:44 dalek nqp/toqast: Disable SC write barrier for updating mixin cache in NQP.
18:44 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/c3e45785d6
18:44 dalek nqp/toqast: c9846f8 | jonathan++ | src/NQPQ/World.pm:
18:44 dalek nqp/toqast: Fix syntax fail.
18:44 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/c9846f855b
18:45 pmichaud yes, example compilers written in nqp
18:45 pmichaud [Coke]: if you have an up-to-date-ish repo, I can also work on partcl
18:45 pmichaud (or I can leave it for you to do if you want)
18:47 dalek doc: 201ee4d | moritz++ | lib/List.pod:
18:47 dalek doc: [List] start to switch some examples away from REPL style
18:47 dalek doc: review: https://github.com/perl6/doc/commit/201ee4d670
18:47 masak (example compilers in nqp)++
18:49 dalek doc: 4d48263 | moritz++ | lib/List.pod:
18:49 dalek doc: [List] switch rest of the examples away from REPL style
18:49 dalek doc: review: https://github.com/perl6/doc/commit/4d482630a1
18:49 fhelmberger joined #perl6
18:50 TimToady diakopter: output should generally be NFC (which implies exploding synthchars)
18:53 diakopter what defines the order of the synthchars following the NFC codepoint?
18:53 diakopter I meanq.
18:53 diakopter what defines the order of the combining marks following the NFC codepoint?
18:53 TimToady the order they were when you generated the synthcode, I suppose
18:54 diakopter their Canonical Combining Class followed by codepoint order?
18:54 TimToady that has to get recorded somewhere, or the NFD of that sequence does
18:54 [Coke] pmichaud: I'll push my changes this evening.
18:54 TimToady you can't necessarily just rearrange marks in a different order
18:55 diakopter recorded from the original input? what if two inputs compose to the same synthetic? just use the first one?
18:55 TimToady presumably
18:55 cjbot @perlbuzz tweeted '#perl6 summary for 2012-08-25 http://t.co/BWe5G5mP'
18:55 TimToady but presumably the original order matters, so if the NFD doesn't match, they're two different synths
18:56 alester Does cjbot follow @perlbuzz or just #perl6 hashtag?
18:56 [Coke] alester: https://github.com/coke/cjbo​t/blob/master/bin/cj.pl#L10
18:57 alester What's the "cj" mean?
18:57 diakopter but 'use codepoints;' disables the ->NFD->NFC->NFG encoding when I/O inputs a string or concat/join joins stuff?
18:57 diakopter lunch&
18:57 [Coke] hysterical raisins. It actually stands for Cyber Joao.
18:58 [Coke] oh, maybe even João.
18:59 [Coke] historically, https://github.com/coke/tigerli​ly/blob/master/extensions/cj.pl
19:01 dalek star/newbuild: 6189049 | pmichaud++ | / (3 files):
19:01 dalek star/newbuild: More build updates.
19:01 dalek star/newbuild: Add tools/build/fetch-modules.pl to fetch modules into src/ dir,
19:01 dalek star/newbuild: re-use NQP's Configure.pm library.
19:01 dalek star/newbuild: review: https://github.com/rakudo/star/commit/6189049928
19:06 dalek star/newbuild: 28a4e5d | pmichaud++ | skel/tools/lib/NQP/Configure.pm:
19:06 dalek star/newbuild: Update NQP::Configure script in tarball.
19:06 dalek star/newbuild: review: https://github.com/rakudo/star/commit/28a4e5dc24
19:07 cjbot @hnfirehose tweeted '#perl6 summary for week ending 2012-08-25 | Perl 6 Reports [http://t.co/TOP1bWgF]:  http://t.co/Tbhre4q6'
19:08 alester [Coke]: that still doesn't tell me what "CJ" means.  But I guess you're saying it's no meaning at all.
19:08 nwc10 left #perl6
19:08 sivoais joined #perl6
19:09 TimToady sorear: I've been mulling the hash assignment question, and it seems to me that if a hash occurs where a key or a pair is expected, the hash should return hash.pairs, but if the hash occurs where a value is expected, it should stay as an item
19:09 brrt joined #perl6
19:09 brrt left #perl6
19:10 masak +1
19:10 moritz so, just like Pair
19:13 masak how strangely consistent! :)
19:16 sorear TimToady: conveniently, that's exactly what niecza does now.
19:16 dalek Perlito: 2908279 | (Flavio S. Glock)++ | / (3 files):
19:16 dalek Perlito: Perlito5 - perl5: fix eval string emitter
19:16 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/29082795f2
19:17 diakopter TimToady: bump last question
19:20 TimToady the problem with 'use codepoints' is that it's easy to tweak the meanings of functions, but hard to tweak the meanings of methods
19:21 TimToady so we'll probably end up just marking the inputs for what level of abstraction is desired (if not NFG)
19:21 TimToady and then the functions/methods only work between compatible abstraction levels, however we choose to define that
19:21 moritz tweaking the methods is easy if you use a different class :-)
19:21 TimToady precisly
19:21 TimToady *sely
19:22 TimToady the idea of using a pragma to set the defaults is probably a bit old-fashioned now
19:22 Circlepuller joined #perl6
19:23 diakopter oh, I figured the VM would have that pragma hook
19:23 moritz which VM?
19:23 moritz but I agree with TimToady, it's something that belongs into the file handle
19:23 diakopter you're the one who suggested the pragma a few weeks ago :)
19:24 moritz maybe it wasn't old-fashioned a few weeks ago :-)
19:24 crazedpsyc joined #perl6
19:24 diakopter er months
19:24 TimToady I occasionally change my mind that quickly :)
19:24 geekosaur fashions change almost as quicly as they do in the real world!
19:25 moritz geekosaur: do you mean to imply that programming isn't part of the real world? :-)
19:25 diakopter ok marker on the filehandle or socket is great with me
19:25 TimToady I think I was suggesting that we require a 'use codepoints', but I suppose we should be requiring the equivalent on the open right now
19:25 cjbot @PursueMobile tweeted '#perl6 summary for week ending 2012-08-25 | Perl 6 Reports [http://t.co/pyka738H] http://t.co/tHsQrEZw'
19:25 TimToady (until we really get NFG)
19:26 TimToady but I think we can just be sloppy till NFG happens
19:26 TimToady since NFC ≅ NFG for languages with precomposed forms
19:27 diakopter btw the nfc algorithm first explodes to nfd
19:27 diakopter then to nfc
19:28 TimToady well, if an nfc has no additional marks, it can translate directly to itself as an optimizaiton
19:29 TimToady (I'd think)
19:29 diakopter actually the spec says the are one to one singletons
19:29 diakopter *there
19:30 diakopter one way
19:31 diakopter so they wouldnt compose back to themselves
19:32 diakopter luckily theyre well marked in th db
19:37 [Coke] alester: it doesn't mean anything to you, no.
19:37 alester Does it means something to yoU?
19:37 [Coke] yes
19:37 alester OK, so what is it?
19:37 [Coke] I used to work for a guy named Joao.
19:37 cjbot @HackerYolk tweeted '#perl6 summary for week ending 2012-08-25 | Perl 6 Reports [http://t.co/4u3Yosod] - http://t.co/TttO3U0J /HN'
19:38 alester Aha, ok, now it comes together.
19:38 alester I thought that your "Cyber Joao" thing was a funny/throwaway.
19:46 dalek nqp/toqast: beae563 | jonathan++ | src/ModuleLoader.pm:
19:46 dalek nqp/toqast: Various module loader tweaks.
19:46 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/beae563807
19:46 dalek nqp/toqast: 108edef | jonathan++ | src/ModuleLoader.pm:
19:46 dalek nqp/toqast: Fix thinko.
19:46 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/108edefeaa
19:46 dalek nqp/toqast: 0d79363 | jonathan++ | src/QRegex/NFA.nqp:
19:46 dalek nqp/toqast: Simplify an our to a my.
19:46 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/0d79363acd
20:01 dalek nqp: f53ead7 | (Elizabeth Mattijsen)++ | examples/json.nqp:
20:01 dalek nqp: Recovered JSON example from bitrot
20:01 dalek nqp: review: https://github.com/perl6/nqp/commit/f53ead7ad0
20:06 masak liz! \o/
20:06 jnthn :D
20:10 bluescreen10 joined #perl6
20:18 smash joined #perl6
20:23 dalek nqp/toqast: e1d9225 | jonathan++ | / (4 files):
20:23 dalek nqp/toqast: Split QAST nodes out from QAST compiler to resolve dependency issues.
20:23 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/e1d9225585
20:23 pmichaud I'm thinking of using git submodules to manage modules and other items in the star repository.  Any opinions?
20:24 pmichaud (instead of doing it within the makefiles as we do now)
20:25 sorear i've used submodules, they're a smidge fiddly but work
20:26 pmichaud well, what we have now is more than a smidge fiddly.  :-/
20:26 bluescreen10 joined #perl6
20:26 Liz_ joined #perl6
20:27 * Liz_ found the real #perl6
20:28 pmichaud welcome Liz!
20:28 TimToady lizmat: welcome to the real #perl6
20:29 lizmat :-)
20:30 tadzik lizmat! \o/
20:31 popl joined #perl6
20:33 wamba joined #perl6
20:34 masak yay a lizmat! \o/
20:34 lizmat I know it's a bit like food for Swedish people
20:34 dalek star/build2: 5aaca99 | pmichaud++ | / (27 files):
20:34 dalek star/build2: Try maintaining Perl 6 modules as git submodules.
20:34 dalek star/build2: review: https://github.com/rakudo/star/commit/5aaca99f06
20:34 dalek star/build2: 58aa00d | pmichaud++ | / (2 files):
20:34 dalek star/build2: Add rakudo-debugger as a git submodule.
20:34 dalek star/build2: review: https://github.com/rakudo/star/commit/58aa00dd39
20:34 lizmat I hope I'll be at least be able to give food for thought
20:36 wamba left #perl6
20:36 wamba joined #perl6
20:38 wamba left #perl6
20:38 birdwindupbird joined #perl6
20:38 __sri https://gist.github.com/3491618 # the JRuby guy about CLR vs JVM for dynamic languages :)
20:42 wamba joined #perl6
20:42 TimToady interesting
20:43 geekosaur so in other words both the CLR and the JVM are defective, just in different ways
20:43 geekosaur someone somewhere needs to go study Smalltalk
20:44 diakopter defective for certain needs
20:44 wamba left #perl6
20:44 wamba joined #perl6
20:45 dalek star/build2: b8485eb | pmichaud++ | Makefile:
20:45 dalek star/build2: Modules are now handled as git submodules, remove from top-level Makefile.
20:45 dalek star/build2: review: https://github.com/rakudo/star/commit/b8485eb6ef
20:48 leont Still sounds like the JVM is a better target for Perl 6
20:51 diakopter yeah, if you use the VM objects directly and add methods using the VM.. but neither neicza nor rakudo do that; they build the object/type system on top of (or beside) the VM's type system
20:51 diakopter *niecza
20:52 * masak .oO( niether niecza )
20:52 sorear leont: Perl 6 has the ability to introspectively runtime-call pretty much any sub in the program.  if you have a program with 10,000 subs, the JVM seems to want 10,000 classes implementing a common virtual method
20:57 TimToady moritz: re http://irclog.perlgeek.de/​perl6/2012-08-23#i_5922626 operator adverbs are treated as fake infixes
21:00 masak 'night, #perl6
21:01 felher o/ masak
21:09 dalek nqp: d895139 | (Elizabeth Mattijsen)++ | docs/serialization_format.markdown:
21:09 dalek nqp: Fixed some spelling errors
21:09 dalek nqp: review: https://github.com/perl6/nqp/commit/d895139ec0
21:16 diakopter if I were imagining an optimizing JIT for a Perl 6 VM, I might do thorough points-to analysis to prove some variables would always be of a given type, then integrate with the class composer so method calls on the object are inlined with a single check of the class' composition sequence number
21:17 diakopter so when a class is re-composed, all its inlined method callsites expire themselves and re-inline to their new invocations
21:17 diakopter "inline" used loosely
21:18 diakopter (of course, it would have to prove the types of the arguments as well)
21:18 diakopter (if any)
21:28 ChoHag Perl 6 which I'm doing the fun stuff in has json-rpc supporting version 2.0, perl 5 which I'm using for the boring GUI stuff only apparently supports json-rpc version 1.1.
21:29 dalek nqp: 840d74f | (Elizabeth Mattijsen)++ | docs/serialization_format.markdown:
21:29 dalek nqp: Some tiny clarifications
21:29 dalek nqp: review: https://github.com/perl6/nqp/commit/840d74f1ad
21:29 ChoHag This is both amusing and annoying. Are there any other rpc-like modules for perl6, and/or support for json-rpc 2.0 for perl 5?
21:33 ChoHag I started off using Bailador to implement something like rest, then decided I'd prefer it if somebody else has already done the work.
21:35 felher sorear: i think you did mention a "let's build a compiler book/tutorial/*". Is http://compilers.iecc.com/crenshaw/ what you were referring to?
21:36 sorear yes.
21:37 felher sorear: great, thnx :)
21:38 leont left #perl6
21:42 felher 'night, #perl6
21:43 cjbot joined #perl6
21:44 diakopter [Coke]: did you make it auto-rejoin?
21:44 dalek nqp/toqast: 6889a72 | jonathan++ | src/NQPQ/Actions.pm:
21:44 dalek nqp/toqast: Fix attribute defaults.
21:44 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/6889a7286e
21:44 dalek nqp/toqast: 7375d16 | jonathan++ | src/HLL/CommandLine.pm:
21:44 dalek nqp/toqast: Update HLL::CommandLine.BUILD to cope with post-vivibase world.
21:44 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/7375d16339
21:44 dalek nqp/toqast: c138dfb | jonathan++ | src/NQPQ/Actions.pm:
21:44 dalek nqp/toqast: Fix lookup of non-existent keys/indexes in hashes/arrays so it doesn't give back null.
21:44 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/c138dfb2aa
21:44 dalek nqp/toqast: 0001e13 | jonathan++ | src/ (3 files):
21:44 dalek nqp/toqast: Few attribute fixes.
21:44 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/0001e13885
21:44 dalek nqp/toqast: a6a15f4 | jonathan++ | src/NQPQ/Actions.pm:
21:44 dalek nqp/toqast: Fix traits on protos.
21:44 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/a6a15f452c
22:11 [Coke] diakopter: yes. he's in a loop, so when he dies, he reconnects.
22:11 ChoHag [where] are perl 6 threads documented?
22:12 ChoHag Also, I found an rpc 2 client.
22:14 tadzik ChoHag: http://perlcabal.org/syn/S17.html but it's just a draft
22:15 benabik I think niecza implements some of it?
22:15 diakopter ChoHag: niecza has threads through the .Net libraries but nothing like described in S17
22:15 sorear niecza does not implement any of the standard API, because the standard API has a lot of complicated features and I was lazy
22:15 sorear see lib/Threads.pm6 in your niecza checkout
22:16 ChoHag Oh :(
22:23 ChoHag How high on the list of Rakudo's priorities is threading?
22:24 benabik There's a reasonable threads implementation pending for Parrot.  There's a lot of corner cases to sort out and we want to get it right.
22:24 ChoHag I assume it can at least fork and do ipc?
22:24 benabik Honestly, I'm not sure.
22:24 ChoHag O
22:24 benabik Mostly because "just fork" isn't as simple as it sounds.
22:25 ChoHag I know.
22:25 benabik Simple if you run only on Unixen, but Parrot also does Windows.  And fork on Windows takes some work.  It might do it, but I don't remember.
22:26 benabik And looks like no.
22:27 benabik I think there was an old threads-ish system that got yanked because it caused more issues than it solved,
22:28 diakopter I suspect the "corner cases" are bigger than coroners
22:28 ChoHag Hmm I guess I could stick a simple forking wrapper aruond it.
22:28 diakopter *corners
22:28 ChoHag But I don't forking want to.
22:30 benabik The biggest issue that I'm aware of at the moment is a rare issue with sleep and threads.  There were not-rare issues with that, but they've been sorted out.
22:30 skids joined #perl6
22:36 am0c joined #perl6
22:38 dalek nqp/toqast: 094eda3 | jonathan++ | src/HLL/World.pm:
22:38 dalek nqp/toqast: Should not require a description in HLL::World's BUILD.
22:38 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/094eda3cf4
22:38 dalek nqp/toqast: b23d950 | jonathan++ | src/ModuleLoader.pm:
22:38 dalek nqp/toqast: Fix module loader.
22:38 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/b23d9508b9
22:38 dalek nqp/toqast: 2e802b0 | jonathan++ | src/pmc/sixmodelobject.pmc:
22:38 dalek nqp/toqast: Fail usefully in a bunch of places we could get a C-level stack overflow.
22:38 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/2e802b0bc3
22:38 dalek nqp/toqast: c4c84a3 | jonathan++ | src/QRegex/NFA.nqp:
22:38 dalek nqp/toqast: A couple of NFA code tweaks.
22:38 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/c4c84a3c71
22:38 dalek nqp/toqast: ca01653 | jonathan++ | src/how/NQPClassHOW.pm:
22:38 dalek nqp/toqast: Need to explicitly set defaults in the meta-objects, since we've eliminated use of Parrot Undef.
22:38 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/ca016530b8
22:38 dalek nqp/toqast: 16ccd1a | jonathan++ | src/QAST/Node.nqp:
22:38 dalek nqp/toqast: Need to be explicit about lazy initialization of QAST::Node hash.
22:38 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/16ccd1ac6f
22:39 whiteknight joined #perl6
22:40 moritz it seems that the step from passing all nqp tests to being good enough to bootstrap is quite steep
22:41 jnthn indeed.
22:41 gongyiliao joined #perl6
22:41 moritz so, do we need better test coverage for NQP?
22:41 jnthn moritz: Well, some of it is change of semantics.
22:42 jnthn moritz: I've eliminated our usage of Parrot Undef
22:48 moritz t/nqp/40-lists.t ................ Unrecognized nqp:: opcode 'nqp::ishash'
22:50 moritz oh, is that because it's nto yet bootstrapped?
22:51 jnthn moritz: correct
22:52 jnthn moritz: I haven't pushed the bootstrap switchover stuff yet
22:52 jnthn There's not much point looking at the branch until I get to that point
22:52 moritz ok
22:58 cjbot joined #perl6
22:59 jnthn sleeop &
22:59 diakopter :)
23:01 dalek nqp: 74c0172 | moritz++ | tools/build/PARROT_REVISION:
23:01 dalek nqp: bump PARROT_REVISION to after the io_cleanup1 merge
23:01 dalek nqp: review: https://github.com/perl6/nqp/commit/74c01724b4
23:12 dalek rakudo/nom: 71fc9c5 | moritz++ | / (3 files):
23:12 dalek rakudo/nom: Adapt socket code to parrot's changes. Bump NQP_REVISION.
23:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/71fc9c58f7
23:16 ObseLeTe joined #perl6
23:28 tokuhiro_ joined #perl6
23:31 dalek roast: 3c3f25b | moritz++ | S32-array/splice.t:
23:31 dalek roast: unfudge a splice test for rakudo
23:31 dalek roast: review: https://github.com/perl6/roast/commit/3c3f25b73b
23:34 cjbot joined #perl6
23:34 sftp joined #perl6
23:40 mcglk joined #perl6
23:42 cognominal joined #perl6
23:57 kst joined #perl6

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs