Camelia, the Perl 6 bug

IRC log for #perl6, 2012-06-22

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 stephenlb joined #perl6
00:14 preflex joined #perl6
00:16 plobsing joined #perl6
00:26 tokuhirom joined #perl6
00:39 kurahaupo joined #perl6
00:40 jimmy1980 joined #perl6
00:49 adu o/
00:50 adu I just converted someone to perl6!
00:52 colomon \o/
00:55 leprevost joined #perl6
01:04 xinming joined #perl6
01:24 dalek rakudo/nom: 29607d8 | duff++ | docs/ (2 files):
01:24 dalek rakudo/nom: update release announcement
01:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/29607d8d63
01:25 kurahaupo left #perl6
01:40 cognominal joined #perl6
02:26 orafu joined #perl6
02:34 PZt joined #perl6
02:42 DarthGandalf joined #perl6
02:49 pmichaud rn:  "hello".index("").say
02:49 p6eval niecza v18-7-ga660099: OUTPUT«0␤»
02:49 p6eval ..rakudo 29607d: OUTPUT«Int()␤»
02:49 pmichaud ummmmmmm
02:51 pmichaud https://gist.github.com/3bbd7a08c1c220fbf0e3
02:53 pmichaud parrot bug, maybe?
02:54 PerlJam so ... I get a bunch of spectest failures in t/spec/S03-operators/overflow.t
03:00 kurahaupo joined #perl6
03:01 kaleem joined #perl6
03:12 sisar joined #perl6
03:20 pmichaud PerlJam: I'll test locally.
03:21 pmichaud I'm also going to try to fix Str.index here; think I can get the fix in before you cut the release?
03:21 pmichaud (I'm planning to actually fix the index opcode.)
03:23 PerlJam sure.  I'm trying to get people to bed so that I can have some peace  :)
03:25 pmichaud well, maybe I'll just fix it in Rakudo for now.  Fixing the index opcode (by adding the correct logic into nqp) is likely to slow down the index opcode a fair bit.  :-(
03:32 jaldhar joined #perl6
03:36 pmichaud PerlJam: I didn't get the failures in overflow.t, fwiw.
03:40 dalek rakudo/nom: 2427656 | pmichaud++ | src/core/Cool.pm:
03:40 dalek rakudo/nom: Fix handling of Str.index() for empty needle strings.
03:40 dalek rakudo/nom: Reported by @VienosNotes on Twitter.
03:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/24276564af
03:41 dalek roast: ef83a7b | pmichaud++ | S32-str/index.t:
03:41 dalek roast: Unfudge some nom regression tests that now pass again.
03:41 dalek roast: review: https://github.com/perl6/roast/commit/ef83a7b0b4
03:41 pmichaud PerlJam: Okay, I made my patch.  Also, overflow.t passes for me.
03:48 moritz \o
03:53 tyatpi joined #perl6
04:03 kurahaupo left #perl6
04:05 * PerlJam builds a rakudo
04:06 PerlJam Watching wife and daughter play chess and it's hard not to jump in to help my daughter :)
04:06 raining_ joined #perl6
04:07 skids joined #perl6
04:07 sisar pmichaud: overflow.t fails on 32-bit machines (probably)
04:07 sisar PerlJam: are you on 32-bit ?
04:07 PerlJam oh.  My laptop is 32 bit I do believe
04:08 sisar nice to get a confirmation. :)
04:08 PerlJam yep.
04:09 sisar so what should we do about it ? Should this go in the release announcement, do we fudge the tests for now ?
04:09 moritz sisar: could you fudge it?
04:10 moritz sisar: please skip with  #?rakudo skip 'fails on 32bit'
04:10 raining_ left #perl6
04:10 moritz (don't TODO them)
04:10 sisar moritz: i'll to, is there a time limit for it ?
04:10 sisar coz we need a release...
04:10 moritz limit?
04:11 moritz sisar: PerlJam does the release; ask him :-)
04:11 sisar moritz: ok
04:11 PerlJam do it :)
04:11 sisar PerlJam: i'll do it
04:14 thou joined #perl6
04:16 sisar if I want to say skip the next 42 tests, whats the syntax ?
04:16 sisar #?rakudo skip 42        ?
04:19 moritz #?rakudo skip 42 'reason'
04:19 moritz erm
04:19 moritz #?rakudo 42 skip 'reason'
04:20 sisar moritz: thanks
04:24 drbean joined #perl6
04:27 sisar moritz: um... after adding #?rakudo skip wherever needed, what else do i need to change?
04:29 sisar the plan doesn't need to be changed, right ?
04:37 moritz correct
04:38 sisar what is the expected output after the changes ? coz i still get you failed 28 out of 98 tests...
04:39 moritz sisar: how did you run the test file?
04:39 sisar after the changes, i do `perl6 overflow.t`
04:39 moritz well, you need to fudge it first
04:40 moritz make t/spec/S03-operators/overflow.t
04:41 moritz perl t/fudge rakudo t/spec/S03-operators/overflow.t; ./perl6 -Ilib t/spec/S03-operators/overflow.rakudo # roughly equivalent
04:43 baest joined #perl6
04:50 sisar PerlJam: are my pending changes to roast a blocker for your release?
04:51 PerlJam sisar: well, either you fudge the tests or I do.
04:52 sisar PerlJam: i think you shoud do it.
04:52 sisar Sorry
04:53 * sisar needs to understand this fudging process
04:54 moritz sisar: it's a preprocessor
04:54 moritz if you run fudge on the test file, and there are fudge directives in there, it generates a modified copy of the test file
04:54 moritz .rakudo instead of .t
04:56 sisar what is the standard way to run a full spectest? `make spectest` ?
04:56 sisar `make spectest` in ~/rakudo/ ?
04:57 moritz make spectest in your rakudo dir
04:58 sisar um, what does make do here? convert .t files to .rakudo ?
04:58 moritz yes
04:59 moritz in particular, 'make spectest' calls  perl t/harness --fudge --keep-exit-code --icu=1 --tests-from-file=t/spectest.data
04:59 moritz and t/harness calls t/spec/fudgeall <testfiles>
04:59 moritz erm
04:59 moritz and t/harness calls t/spec/fudgeall rakudo <testfiles>
05:00 moritz and fudgeall calls fudge for each file
05:00 sisar if I run a spectest the 2nd time, with the same test files and and the same version of rakudo, does make regenerate all the .rakudo files ?
05:00 moritz and returns the original file name if there were no fudge directives, or the .rakudo file name otherwise
05:00 moritz sisar: no, fudge or fudgeall compares timestamps
05:03 sisar moritz: now I understand it, roughly. What happened is that I had some new commits by jnthn++ and pmichaud++ from last night in my repo, so when I ran `make t/spec/S03-overflow.t`, it started compiled rakudo.
05:03 sisar *compiling
05:04 moritz sisar: right; make builds dependencies first
05:04 sisar and since my laptop is horribly slow, i got stuck in the complation
05:04 sisar *compilation
05:06 sisar moritz++ #explanations
05:07 sisar can I make the commit to roast without testing it? (what could possibly go wrong, eh? ) ;-)
05:08 moritz that's not a good idea
05:08 PerlJam everything is slow on my system right now for some reason.
05:09 sisar moritz: ok
05:09 PerlJam (still waiting on a compile)
05:10 * sisar too is waiting on a compile
05:10 moritz PerlJam: swapping?
05:10 PerlJam I don't know what's going on.  It shouldn't be swapping
05:13 lorn joined #perl6
05:14 simcop2387 joined #perl6
05:16 cognominal joined #perl6
05:20 sisar moritz: With my changes (https://gist.github.com/2970393, lines 195, 236, 239, 243), it has fudged more than 28 tests (https://gist.github.com/2970388). What am I doing wrong ?
05:24 moritz sisar: dunno... maybe try to put the skip inside the block
05:24 * sisar tries that
05:27 sisar moritz: that worked !
05:27 sisar i'll push the changes now
05:27 PerlJam sisar++
05:31 birdwindupbird joined #perl6
05:35 dalek roast: f09f27f | (Siddhant Saraf)++ | S03-operators/overflow.t:
05:35 dalek roast: [S03/overflow.t] fudge 28 tests for rakudo. They fail on 32-bit machines.
05:35 dalek roast: review: https://github.com/perl6/roast/commit/f09f27f852
05:36 sisar moritz, PerlJam: please check the commit ^^
05:50 PerlJam Is t/spec/S02-types/instants-and-durations.t supposed to be completely commented out?
05:51 adu joined #perl6
05:51 moritz huh? it passes here
05:53 sorear good * #perl6
05:54 moritz is that another 32bit issue?
05:54 moritz \o sorear
05:55 PerlJam no.
05:56 PerlJam apparently it's a my-checkout issue.
05:57 sporous joined #perl6
06:06 adu good *
06:09 fhelmberger joined #perl6
06:13 moritz \o adu
06:13 adu o\
06:13 adu o no wrong slash
06:21 dalek rakudo/nom: 26c9da1 | duff++ | tools/build/NQP_REVISION:
06:21 dalek rakudo/nom: [release] bump NQP revision
06:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/26c9da1f34
06:21 dalek rakudo/nom: 193256c | duff++ | VERSION:
06:21 dalek rakudo/nom: [release] bump VERSION
06:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/193256c37d
06:21 dalek rakudo/nom: 9006475 | duff++ | docs/release_guide.pod:
06:21 dalek rakudo/nom: use generic YYYY.MM for VERSION
06:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9006475ccb
06:30 sivoais_ joined #perl6
06:31 sivoais_ joined #perl6
06:34 sivoais joined #perl6
06:36 tadzik yay release!
06:37 tadzik PerlJam++
06:38 PerlJam and now it's bed time.
06:38 PerlJam g'night all
06:38 sisar PerlJam++
06:44 moritz PerlJam:++
06:44 moritz PerlJam++
06:45 cog_ joined #perl6
06:47 Woodi hallo :)
06:48 Vlavv joined #perl6
06:51 cog__ joined #perl6
06:54 Woodi just watched sql injection example that use Perl5 automatic scalar/list syntax conversion: { public => 1, name => $req->param1 } This exploded when $req->param1 returned list from specially crafted request: page.html?param1=joe&param1=public&param1=0
06:55 Woodi perl5 translated it to: { public => 1, name => joe, public => 0 } which override hardcoded "public => 1"
06:56 Woodi question is: do in Perl6 it works same way ? automatic hash keys creation on assigment list to particular hash ?
06:57 Woodi *hash key ?
06:57 Woodi from YAPC::NA :)
06:57 moritz it's not SQL injection; it's a bog-standard logic error
06:58 Woodi presentation included it in sql inyection section :) and that code was part of SQL::Anything sql command creation
06:59 Woodi but is it work in Perl6 same way ?
07:02 moritz I can't say, because I haven't seen the code that caused it
07:02 Woodi and there was some time ago bug "not included" in Perl5 hash engien but present in PHP, Ruby, ..., and Perl6 - no randomization of hash keys. is it healed now in Perl6 ?
07:02 Woodi k, I will try golf answer
07:03 moritz nr: my %h = a => 1, b => 2; sub f(*%a) { say %h.perl }; f |%h, a => 5
07:03 p6eval niecza v18-7-ga660099: OUTPUT«Potential difficulties:â�¤  %a is declared but not used at /tmp/21lMRBvQw7 line 1:â�¤------> [32mmy %h = a => 1, b => 2; sub f(*[33mâ��[31m%a) { say %h.perl }; f |%h, a => 5[0mâ�¤â�¤{"a" => 1, "b" => 2}.hashâ�¤Â»
07:03 p6eval ..rakudo 242765: OUTPUT«duplicate named argument in call␤  in block <anon> at /tmp/TzCtTNSyeH:1␤␤»
07:03 moritz nr: my %h = a => 1, b => 2; sub f(*%a) { say %a.perl }; f |%h, a => 5
07:03 p6eval niecza v18-7-ga660099: OUTPUT«{"a" => 5, "b" => 2}.hash␤»
07:03 p6eval ..rakudo 242765: OUTPUT«duplicate named argument in call␤  in block <anon> at /tmp/mEGl9qTEL2:1␤␤»
07:04 Woodi exploit part was a assigning list to hash key, which "injected" keys after that key
07:10 moritz nr: my %h; %h<a> = (1, 2, 3 ); say %h.keys
07:10 p6eval rakudo 242765, niecza v18-7-ga660099: OUTPUT«a␤»
07:10 moritz well, that won't happen in Perl 6
07:10 moritz nr: my %h; %h<a b> = (1, 2, 3, 4, 5 ); say %h.keys
07:10 p6eval rakudo 242765, niecza v18-7-ga660099: OUTPUT«a b␤»
07:17 adu joined #perl6
07:23 moritz fwiw I've patched ufo to not shell out to find(1)
07:23 moritz based on the dirwalk code from not_gerd++
07:25 [particle] joined #perl6
07:38 kresike joined #perl6
07:39 kresike good morning all you happy perl6 people
07:41 adu hey
07:41 tadzik hello
07:41 adu I'm not happy, I'm so angry ;)
07:42 diakopter definitely an angry wink
07:42 sorear good morning kresike.
07:42 kresike adu, being angry usually doesn't help :)
07:42 kresike tadzik, sorear, o/
07:42 adu :D
07:43 adu I meant to say I'm tired
07:43 adu good night
07:43 kresike good night adu :)
07:44 adu :)
08:15 sergot joined #perl6
08:16 sergot hi o/ :)
08:16 tadzik \o
08:20 [particle]1 joined #perl6
08:23 tadzik .u ˙
08:23 phenny U+02D9 DOT ABOVE (˙)
08:30 szabgab good daytime
08:31 tadzik hello szabgab
08:31 szabgab I was wondering if the current statet of the art in module installaion was to follow the panda?
08:31 sorear yo, szabgab
08:31 sorear I think I have not seen you for a while
08:31 moritz szabgab: yes
08:33 szabgab sorear: indeed I have not been around perl6 a while
08:33 szabgab moritz: ty
08:33 tadzik eiro: ping
08:34 szabgab moritz: and is there something newer in the work?
08:34 moritz szabgab: no; the plan is to evolve panda rather than replace it
08:42 simcop2387 joined #perl6
08:44 simcop2387 joined #perl6
08:55 szabgab sorry for another obvious question, how do I read the pod of the modules I installed?
08:55 szabgab besides using vim, that is
08:56 JimmyZ joined #perl6
08:56 tadzik perl6 --doc path/to/file
08:56 tadzik I should really make it work for module name as well
08:56 moritz p6doc can do it
08:57 tadzik the side effect would be that you could do perl6 Some::Application as well
08:57 szabgab where is p6doc?
08:57 moritz github.com/perl6/doc
08:58 moritz to be bundled with the next star release
09:00 szabgab sorry , phone
09:00 phone szabgab: no problem :)
09:01 BaggioKwok joined #perl6
09:05 Psyche^ joined #perl6
09:17 JimmyZ joined #perl6
09:18 tadzik declaring you own sub import doesn't work, right?
09:19 cog_ joined #perl6
09:21 shk joined #perl6
09:23 kurahaupo joined #perl6
09:26 sisar joined #perl6
09:27 snearch joined #perl6
09:46 tadzik moritz: ping
09:48 jnthn morning o/
09:48 jnthn ...ish :)
09:48 masak *yawn*
09:48 tadzik hello hello
09:49 sergot o/
09:50 tadzik I'm confused. What's the best way to declare a sub, which will be called upon 'use', and that could use callframe to get the file name that's loading it?
09:50 masak rn: ('hello' xx 2).say; say "I don't know why you say {.value}, I say {.key}" given hello => 'goodbye'
09:50 p6eval rakudo 900647, niecza v18-7-ga660099: OUTPUT«hello hello␤I don't know why you say goodbye, I say hello␤»
09:50 masak tadzik: so you want a use-time hook in the used module?
09:50 tadzik right
09:51 tadzik use Bailador; Bailador::import; doesn't look appealing
09:51 masak well, check how 'use' and 'require' and 'need' are implemented in Rakudo.
09:51 masak that might give some ideas, at least.
09:51 tadzik use calls EXPORT, but only if there are arguments to use
09:51 masak hm.
09:51 tadzik and EXPORT is a weird business
09:51 masak but there are default exports...
09:54 tadzik lib.pm declares EXPORT but it does so outside of the whole module
09:56 jnthn I'd guess that it's expected to be in UNIT
09:57 tadzik aargh. I don't get it at all :)
09:57 tadzik but according to spectests, import() ought to work too
09:58 masak tadzik++ # digging into this
09:58 masak hopefully it'll end up looking neater for it.
09:58 masak it doesn't sound like a contrived use case at all.
09:59 tadzik I got away with https://github.com/tadzik/Ba​ilador/commit/00cf63b80b3dab so far
10:02 masak yeah, you'd want it implicit, otherwise the onus is on the client.
10:02 tadzik right
10:02 tadzik btw, http://blogs.perl.org/users/ben_bullock/​2012/06/find-a-misspelt-module-name.html inspired me a bit
10:02 tadzik it _is_ annoying, when you try to install something and you wonder if it's Some::FunnyModule or Some::Funnymodule or Some::funnymodule
10:03 tadzik and I'm tempted to make it case insensitive in panda
10:20 masak nonono
10:20 masak no offense to Postel, but that's not a good idea long-term.
10:20 jnthn .oO( I'm a Windows user and I support this idea! :-P )
10:21 tadzik (:
10:24 moritz +0.5, if done carefully
10:25 moritz ie if there are two modules of the same name but different case, it shouldn't work case insensitively
10:25 moritz ... anymore
10:27 jnthn If there are two modules of the same name but different case, installing them on case-insensitive file systems is gonna be fun too :)
10:32 moritz we can name them Module.123.pm
10:32 moritz we (should) allow some wiggle room in file names for versioned modules anyway
10:34 am0c_ joined #perl6
10:35 * masak wonders where the mapping will live
10:36 masak I'm squarely against making panda case-fuzzy. it's tantamount to providing a vulnerable spot where bad things can grow and cause problems down the line.
10:37 masak or, more precisely, allowing case-DWIMmery will create an ecosystem with sloppy case handling.
10:42 [particle] joined #perl6
10:42 masak tadzik: what about a CHECK phaser in the use-d module? wouldn't that do what you want?
10:44 woosley joined #perl6
10:45 moritz wh
10:45 moritz sorry
10:45 moritz what are you trying to do?
10:45 moritz CHECK is run at the end of compile time
10:45 masak <tadzik> I'm confused. What's the best way to declare a sub, which will be called upon 'use', and that could use callframe to get the file name that's loading it?
10:46 masak using callframe from CHECK probably won't work. but maybe there's another introspective way that does.
10:46 masak or maybe we should have one. a kind of callframe for usage relations.
10:46 moritz I don't think callframe will work through 'use' anyway
10:47 tadzik caller() works in Perl 5, and Dancer relies on that
10:48 masak it sounds like a fairly non-contrived use case. we should probably have a feature there.
10:48 daxim joined #perl6
10:48 moritz well
10:48 moritz the proper solution is to have 'use' call a macro
10:48 moritz so that you don't need caller(), you're in the right context right away
10:50 moritz what does dancer use it for, ooc?
10:50 tadzik the script location, so templates are loaded relatively to it
10:50 tadzik also, configuration and other stuff. Generally, for later reading files in location relative to the script
10:50 moritz $*PROGRAM_NAME ?
10:51 masak I refuse to believe the proper solution is to have 'use' call a macro, until I see either a very detailed spec of it that I understand, or a working implementation.
10:52 moritz I think it's a good way
10:52 masak I know moritz++ doesn't use macros as a god-of-the-gaps argument, but it's still easy to be overconfident before we actually know what macros will do for us.
10:52 moritz because it allows things like installing CATCH blocks
10:53 masak installing phasers into the mainline does seem to be on the table.
10:53 moritz for installing custom backtrace printers, for example
10:53 masak even though I asked all y'all what you would prefer the semantics to be there, and y'all said "both" :P
10:53 masak I'm overriding that and going with "the quasi hands phasers over to the mainline"
10:54 masak if you want a phaser in the macro itself, put it outside of the quasi.
10:58 masak I know I'm a bit late to the game, but full ACK on http://www.modernperlbooks.com/mt/2012/05​/when-you-cant-misuse-the-immutable.html
10:58 masak much of my evolution as a programmer in the past 2..3 years has been informed by similar insights.
11:01 tadzik wow
11:01 tadzik I wrote a blog engine in Bailador using DBIish and sqlite, and it can serve more than one request per second!
11:02 tadzik Requests per second:    1.39 [#/sec] (mean), to be exact
11:03 colomon \o/
11:04 masak \o/
11:04 masak tadzik++ # wrote a blog engine in Bailador using DBIish and sqlite!
11:04 moritz \o/
11:04 moritz tadzik++
11:04 moritz somebody uses DBIish!
11:05 tadzik I wanted to use especially that :)
11:07 tadzik and datetime in sqlite works nothing like I'd expect
11:08 masak how so?
11:08 moritz everything is a string in sqlite
11:08 moritz (except primary key integer columns)
11:09 moritz tadzik: any feedback on DBIish?
11:09 tadzik oh, that'll expect it
11:09 tadzik moritz: it works well :)
11:09 tadzik it feels like DBI mostly
11:10 moritz well, mostly it is :-)
11:12 tadzik wtf, why does github prefer https over ssh these days? :(
11:13 * moritz has no idea
11:13 masak that surprised me as well.
11:13 tadzik Existing Git Repo? git remote add origin https://github.com/tadzik/zblog.git
11:14 tadzik so, the code's here: https://github.com/tadzik/zblog
11:14 moritz git://github.com/tadzik/zblog.git
11:14 moritz I guess :-)
11:15 tadzik no, that one's read-only :)
11:15 tadzik and it's not even git@github.com/tadzik/zblog.git
11:15 tadzik there, poof! Proof of concept
11:16 tadzik so the next step is sessions probably
11:16 moritz git@github.com:tadzik/zblog iirc
11:17 * masak dives into the source code
11:17 masak it's 27 lines of code! tadzik++
11:18 masak you could implement this in a lightning talk! :D
11:18 moritz the file name starts with a character that I don't know how to type :-)
11:18 masak oh, I missed that :D
11:18 moritz źblog.pl
11:18 masak źubr! tadzik++
11:19 masak no, wait.
11:19 masak that's żubr :)
11:19 sergot masak: żubr
11:19 masak right.
11:19 sergot right :)
11:19 masak damn you, Polish! you win this time!
11:20 masak tadzik: you could have awesome tag lines. "Blogging with an accent." "The ź is not silent."
11:22 Timbus <tadzik> wtf, why does github prefer https over ssh these days? :(
11:22 masak "Using it is easier than pronouncing it!"
11:22 Timbus because most workplaces block ssh
11:22 masak workplaces--
11:23 Timbus agreed
11:25 tadzik masak: I plan to :)
11:25 tadzik masak: ohhh, that one's awesome (tagline)
11:26 moritz which one? :-)
11:26 tadzik both! :)
11:26 moritz there were three :-)
11:26 tadzik haha
11:26 tadzik indeed
11:26 tadzik I guess writing it is easier than pronouncing it too
11:28 masak :P
11:28 masak "Just because you don't know how it's pronounced doesn't mean it's not awesome!"
11:29 JimmyZ joined #perl6
11:29 masak tadzik++ # hoopy frood
11:31 spider-mario joined #perl6
11:31 spider-mario_ joined #perl6
11:34 tadzik :)
11:36 Moukeddar joined #perl6
11:38 masak Moukeddar! \o/
11:41 masak nr: say (class :: { has @.foo }).new(foo => [1, 2, 3]).foo.elems
11:41 p6eval rakudo 900647, niecza v18-7-ga660099: OUTPUT«3␤»
11:41 masak \o/
11:45 masak sorear++ # v18
11:47 GlitchMr joined #perl6
11:48 JimmyZ joined #perl6
11:49 masak moritz++ # http://perlgeek.de/blog-en/perl-6/20​12-grant-report-exceptions-may.html
11:50 jnthn r: say 318 / 2
11:51 p6eval rakudo 900647: OUTPUT«159␤»
11:57 masak moritz: I'm looking at the exceptions catalogue for the first time. liking what I see.
11:58 masak if I were afforded one comment, it would be that I'm surprised that X::IO::Copy and X::IO::Rename get one type each, but X::Phaser::PrePost have been fused. :)
12:05 * masak really liked http://www.modernperlbooks.com/mt/2012/06/f​rom-alchemy-to-science-in-programming.html too
12:09 tokuhirom joined #perl6
12:25 masak PerlJam++ # 2012.06 "Strasbourg"
12:33 leprevost joined #perl6
12:38 sergot joined #perl6
12:39 cog__ joined #perl6
12:49 masak r: rmdir <foo>
12:49 p6eval rakudo 900647: OUTPUT«Failed to remove the directory 'foo': rmdir failed: No such file or directory␤  in block <anon> at src/gen/CORE.setting:7216␤  in sub rmdir at src/gen/CORE.setting:7211␤  in block <anon> at /tmp/diixVlgdRO:1␤␤»
12:49 masak rmdir should *probably* not be runnable on p6eval.
12:50 [Coke] masak: *probably* ?
12:50 masak (and I should probably not be naive enough to advertise this fact. should handle it over privmsg with moritz or someone.)
12:52 masak heh, S29 claims that 'rmdir' can be found in the IO modules. :)
12:52 masak which may be true. but it's also a builtin function, just like in Perl 5.
12:53 jnthn masak: Or just update SAFE.setting.
12:55 * masak has a look
12:56 masak jnthn++
12:56 dalek rakudo/nom: bbc5b70 | (Carl Mäsak)++ | src/SAFE.setting:
12:56 dalek rakudo/nom: [SAFE.setting] restricted &rmdir
12:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bbc5b70f4a
12:58 colomon n: rmdir <foo>
12:58 p6eval niecza v18-7-ga660099: OUTPUT«Unhandled exception: rmdir may not be used in safe mode␤  at /home/p6eval/niecza/lib/CORE.setting line 0 (rmdir @ 0) ␤  at /tmp/g5fmqVmVF2 line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3917 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CO…
12:59 masak anyone opposed to me changing the return type of &dir ?
12:59 masak it currently returns strings with basenames. no paths.
12:59 masak that feels a bit like trying to eat a dinner through a straw.
13:00 masak I'd prefer if it returned IO objects, which stringify to the "full path" (fsvo)
13:00 masak and then you could get the basename easily if that's what you want.
13:00 tadzik yes
13:00 masak ok, good.
13:00 masak doin' it.
13:00 tadzik File::Find has similar objects
13:01 tadzik masak: https://github.com/tadzik/perl6-File-​Tools/blob/master/lib/File/Find.pm#L5
13:01 tadzik bleh, I was using tabs back then
13:01 masak hehe :)
13:01 masak that shouldn't be as necessary after this change.
13:01 masak the File::Find::Result class, I mean. not the tabs.
13:02 tadzik :)
13:03 masak today feels like the first day I'm back for realz to #perl6.
13:03 masak gonna make good use of it :)
13:09 Psyche^ joined #perl6
13:09 masak t/spec/S06-routine-modifiers/lvalue-subroutines.rakudo .... Failed 6/14 subtests
13:10 masak is this known?
13:11 tadzik . o O ( "It is known, khaleesi" )
13:12 masak :>
13:18 masak r: class A { say $?CLASS }
13:18 p6eval rakudo bbc5b7: OUTPUT«A()␤»
13:18 masak r: class A { say ~$?CLASS }
13:18 p6eval rakudo bbc5b7: OUTPUT«use of uninitialized value of type A in string context  in <anon> at /tmp/CiCsTKLDeJ:1␤␤␤»
13:18 masak r: class A { say $?CLASS.^name }
13:18 p6eval rakudo bbc5b7: OUTPUT«A␤»
13:19 masak r: class Khal { has $.name; method gist { "$?CLASS.^name() $.name" } }; say Khal.new(:name<Drogo>)
13:19 p6eval rakudo bbc5b7: OUTPUT«Khal Drogo␤»
13:19 masak \o/
13:19 tadzik :D
13:25 birdwind1pbird joined #perl6
13:26 atrodo joined #perl6
13:26 skids joined #perl6
13:28 sergot1 joined #perl6
13:31 colomon ack, trying to use perl5 is a series of little annoyances...
13:31 dalek rakudo/nom: 69e6ec2 | masak++ | src/core/IO.pm:
13:31 dalek rakudo/nom: [core/IO.pm] return IO objects from &dir
13:31 dalek rakudo/nom:
13:31 dalek rakudo/nom: There's a tension between wanting the full path and wanting just
13:31 dalek rakudo/nom: the file name from this function. That indicates that we really
13:31 dalek rakudo/nom: want to return a data structure that can easily be turned into
13:31 dalek rakudo/nom: either form. Made it so.
13:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/69e6ec24c6
13:31 dalek roast: bef1742 | masak++ | S32-io/dir.t:
13:31 dalek roast: [S32-io/dir.t] changed the expectations around
13:31 dalek roast:
13:31 dalek roast: - No longer expecting a single file name 't' but a path './t'
13:31 dalek roast: - No longer expecting a list of Str but a list of IO
13:31 dalek roast: review: https://github.com/perl6/roast/commit/bef17420c8
13:32 * masak food &
13:34 [Coke] masak: what about windows? is "./t" the canonical form everywhere?
13:34 masak good point.
13:34 flussence I hope so, for sanity reasons
13:34 masak do we have a $?PATH_SEPARATOR variable or something?
13:35 masak if not, I'm inclined to leave it as it is for now.
13:36 [Coke] flussence: that's fine, but I don't know if that's spec.
13:40 larks joined #perl6
13:49 flussence spec seems pretty... non-specific there. There's mention of different path styles for qp{} but it doesn't say if those do automatic conversion or not.
13:54 Pleiades` joined #perl6
13:59 szabgab r: try { die "die" CATCH { say 42 } }
13:59 p6eval rakudo bbc5b7: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}'␤»
14:00 szabgab one of us is confused, either rakudo or me
14:00 jnthn missing semicolon
14:00 sergot1 r: try { die "die"; CATCH { say 42 } }
14:00 p6eval rakudo bbc5b7: OUTPUT«42␤die␤  in block <anon> at /tmp/MlfxLSm5x4:1␤␤»
14:01 szabgab so it was me :)
14:01 fgomez joined #perl6
14:02 szabgab r: try { die "die"; CATCH { say 42 } }; say "ok"
14:02 p6eval rakudo bbc5b7: OUTPUT«42␤die␤  in block <anon> at /tmp/BGNRQyyfoe:1␤␤»
14:02 szabgab and why does it not catch it?
14:03 Pleiades` ir: try { die "die"; CATCH { say 42 } }; say "ok";
14:03 Pleiades` er
14:03 Pleiades` r: try { die "die"; CATCH { say 42 } }; say "ok";
14:03 p6eval rakudo bbc5b7: OUTPUT«42␤die␤  in block <anon> at /tmp/VFhJoX5vTt:1␤␤»
14:03 jnthn szabgab: It does, but the CATCH block doesn't do anything to indicate that it handled it.
14:04 szabgab oh, right I see the 42 ow
14:04 szabgab now
14:04 jnthn szabgab: Either smartmatch against the type of exception you want to catch with a when block, or put a default { ... } in there.
14:04 szabgab but I still don't see the ok
14:04 jnthn r: try { die "die"; CATCH { default { say 42 } } }; say "ok";
14:04 p6eval rakudo bbc5b7: OUTPUT«42␤ok␤»
14:05 jnthn szabgab: Ah, I was unclear. It ran the CATCH block, but that isn't enough to say "yes, I handled it"
14:05 szabgab thanks
14:05 jnthn Note that a CATCH need not be in a try; it just applies to the enclosing block.
14:05 jnthn Also note that try with no CATCH in catches everything.
14:06 [Coke] r: try { die "die"; CATCH { say 42 ; return () } } ; say "ok";
14:06 p6eval rakudo bbc5b7: OUTPUT«42␤ok␤»
14:06 Pleiades` left #perl6
14:06 jnthn Uh. :)
14:06 Pleiades` joined #perl6
14:06 [Coke] "The exception thrower looks up the call stack for a catch lambda that returns () to indicate all exceptions are handled, and then it is happy, and unwinds the stack to that point."
14:06 jnthn Oh
14:06 [Coke] otherwise it ain't happy, I guess.
14:07 [Coke] r: try { die "die"; CATCH { say 42 ; Nil } } ; say "ok";
14:07 p6eval rakudo bbc5b7: OUTPUT«42␤die␤  in block <anon> at /tmp/ldKqs4Syyg:1␤␤»
14:07 [Coke] r: try { die "die"; CATCH { say 42 ; return Nil } } ; say "ok";
14:07 p6eval rakudo bbc5b7: OUTPUT«42␤ok␤»
14:07 [Coke] looks like the explicit return is required, at least in rakudo.
14:08 [Coke] my initial reaction is "ew" to the needing "return Nil" there, but when you /want/ to propagate the exception, this is cleaner. I just wonder how often we'll see something like "return Nil; # Handle the (&#@$ exception so perl6 shuts up)"
14:09 jnthn [Coke]: You're not meant to do that, you're meant to wrap it in default { } really
14:10 jnthn [Coke]: And if you just want to catch it and ignore it then a plain old try { ... } is OK.
14:10 jnthn Without a CATCH
14:10 masak in some sense, '/' vs '\\' in paths is a non-issue. the choice of path separator isn't important, as long as the path indicates the desired file.
14:11 masak Perl DWIMs line endings. it could DWIM path separators, too.
14:11 [Coke] jnthn: I don't want to catch and ignore, usually, i want to catch it, DO SOMETHING, and have it be handled.
14:11 [Coke] for example: log the fact that an error occurred, but move on to the next task.
14:11 jnthn [Coke]: Yes, but generally you care about what type of failures you're handling.
14:12 szabgab IMHO ignore-ing sould be explicit to be clear to the reader
14:12 jnthn default { } is your way to say "handle everything"
14:12 jnthn when X::IO { } is your way to say "handle any IO exceptions"
14:12 jnthn etc.
14:12 [Coke] jnthn: so you're saying you don't need the return if you catch an explicit type?
14:12 jnthn [Coke]: Yes, it's the same semantics as a given/when block
14:13 jnthn [Coke]: Something just has to proceed.
14:13 jnthn er
14:13 jnthn suceed.
14:13 jnthn wtf...succeed
14:13 jnthn :)
14:14 [Coke] r: try { die "die"; CATCH { default { say 42 } } ; say "ok";
14:14 p6eval rakudo 69e6ec: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}'␤»
14:14 [Coke] r: { die "die"; CATCH { default { say 42 } } ; say "ok";
14:14 p6eval rakudo 69e6ec: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}'␤»
14:14 jnthn One too few }
14:14 jnthn oh, no
14:14 jnthn yes
14:15 jnthn r: try { die "die"; CATCH { default { say 42 } } }; say "ok"
14:15 [Coke] r: { die "die"; CATCH { default { say 42 } } } ; say "ok";
14:15 p6eval rakudo 69e6ec: OUTPUT«42␤ok␤»
14:15 p6eval rakudo 69e6ec: OUTPUT«42␤ok␤»
14:15 [Coke] jnthn: the compiler that cried wolf. I don't even look for missing }'s at this point. ;)
14:16 [Coke] hurm.... will have to let that grow on me.
14:16 masak anyone against making &unlink a method on IO?
14:17 pmichaud good morning, $perl6
14:17 pmichaud *#perl6
14:17 masak (as well as a sub, not instead of)
14:17 masak pmichaud! \o/
14:17 jnthn o/ pmichaud
14:17 colomon o/
14:18 masak things are inconsistent right now. &copy is both a sub and a method. &rename is just a sub.
14:18 masak we do need an IO champion who cares about this mess.
14:19 masak well, someone who cares about making it less of one ;)
14:20 masak having a .dir method on IO might be nice, too.
14:20 pmichaud somehow it feels like having these on the IO base class is wrong
14:20 masak in fact, most of these builtins might be handy to have around as methods on IO.
14:20 masak pmichaud: the thing that feels wrong about it to me is that IO conflates two important concepts in Perl 6.
14:21 masak pmichaud: "something to read from/write to" and "whatever's pointed to by a file path"
14:21 majrmovies joined #perl6
14:21 masak but we've always had that problem, and I don't see it going away or being resolved.
14:21 masak in some senses, I guess it's a useful confusion.
14:22 pmichaud I don't mind the conflation too much; we have similar situations with Any and Cool
14:22 * [Coke] thinks we should split it up, but Coke spends a lot of time in java.
14:22 * [Coke] is used to Files, Readers, Writers, Buffered*, Paths, File, ...
14:22 pmichaud i.e., if IO is seen more as an abstract class (like Any/Cool), then it becomes easier to split up the specific meanings
14:22 masak I'm all for that.
14:22 birdwind1pbird joined #perl6
14:23 szabgab when I get an exception on the screen, how can I know what exception object was that? eg. I get
14:23 szabgab Failed to get the directory contents of '/home/gabor/work/panda/bin/panda': readdir failed: Not a directory
14:23 mikemol joined #perl6
14:23 szabgab I figured it out but I had to guess
14:24 pmichaud szabgab: sounds like we want a pragma or dynvar that causes an exception to also (only?) display its type when printed
14:24 dalek nqp: 777e36f | jnthn++ | src/how/NQPClassHOW.pm:
14:24 dalek nqp: Tentatively add a way to re-parent a class to NQP's class meta-object, so we'll (hopefully) be able to get Perl 6's meta-objects to say they're ~~ Any.
14:24 dalek nqp: review: https://github.com/perl6/nqp/commit/777e36f445
14:24 dalek nqp: 0db5015 | jnthn++ | src/ (2 files):
14:24 dalek nqp: Get NQP to use a BUILDPLAN just like Rakudo does. Improves build methods support also.
14:24 dalek nqp: review: https://github.com/perl6/nqp/commit/0db5015741
14:24 dalek nqp: fcc9a23 | jnthn++ | src/how/NQPClassHOW.pm:
14:24 dalek nqp: Implement attribute introspection in the non-:local case.
14:24 dalek nqp: review: https://github.com/perl6/nqp/commit/fcc9a23981
14:24 PacoAir joined #perl6
14:24 szabgab why isn't the name of the exception class part of the printed text?
14:24 szabgab by default
14:25 pmichaud I'm guessing because it makes for harder-to-read error messages for some people
14:25 pmichaud either that or we just didn't think of it :)
14:26 szabgab :)
14:26 pmichaud what error message would you have liked to have seen (e.g. in the "Not a directory" example above)?
14:26 szabgab X::IO::Dir exception received:
14:27 szabgab and the rest as it is now
14:27 szabgab I think
14:28 pmichaud It may also be the case that we'll want several levels of exception reporting - e.g., just the exception type, the exception type with a message, the exception type with a message and backtrace, exception with a really long explanatory message, etc.
14:29 szabgab probabaly
14:29 szabgab r: try { die "hi"; CATCH { when X::IO::Dirx { say "ok" } } }
14:29 p6eval rakudo 69e6ec: OUTPUT«===SORRY!===␤Missing block␤at /tmp/U3n4TH_a40:1␤»
14:29 pmichaud anyway, moritz++ is the exceptions champion at the moment; we should probably ask him
14:30 mtk joined #perl6
14:30 szabgab that's a very strange error message for typo in the class name
14:30 TimToady I still like "Dump the backtrace to somewhere other than the screen"
14:30 pmichaud TimToady: yes, and that too.
14:30 [Coke] if you have some place to dump it, sure.
14:30 szabgab in this age we should expect several screens to be attached to a computer :)
14:31 pmichaud szabgab: yes, we still need a lot of work on our error messages for parse issues.  now that we have ltm in the parser (within the last three weeks) we should be able to make some good progress there.
14:31 TimToady "and maybe drop a cockpit voice recorder and data recorder there as well"
14:31 [Coke] I would really want that to be configurable,
14:31 [Coke] .
14:36 masak szabgab: I know it's of little consolation, but here's what happens: the typo'd X::IO::Dirx is taken to be a sub name (because that's what the parser assumes unknown identifiers are) and thus a listop, and therefor the block is taken to be an argument. meanwhile, the 'when' expects a block, but this was just eaten by the assumed-sub listop. so the parser dies after the '}' of the 'when' block.
14:37 masak szabgab: STD does this better, I believe. it assumes there was a typo and the block was mistakenly gobbled.
14:37 masak therefore*
14:39 pmichaud returning to a topic from yesterday: http://irclog.perlgeek.de/​perl6/2012-06-21#i_5746394
14:39 pmichaud (matching actions to parse rules)
14:39 [Coke] std: try { die "hi"; CATCH { when X::IO::Dirx { say "ok" } } }
14:39 p6eval std 30385f8: OUTPUT«[31m===[0mSORRY![31m===[0m�Function 'X::IO::Dirx' needs parens to avoid gobbling block at /tmp/t2B3kDqtG5 line 1:�------> [32mtry { die "hi"; CATCH { when X::IO::Dirx[33m�[31m { say "ok" } } }[0m�Missing block (apparently gobbled by 'X::IO::Dirx') at /tmp/t2B…
14:39 pmichaud how about a pragma, dynvar, or equivalent that warns whenever a matching rule doesn't find its corresponding action?
14:39 szabgab masak: excuses :)   I added to my private list of complaints
14:40 kresike bye all
14:41 szabgab just wondering aloud: would it be possible - in case of a parsing error - to go back a bit and try something else?
14:41 szabgab so that might give a better error message of the parsing error?
14:41 pmichaud STD does this, yes.
14:42 szabgab ok, so that was not *that* carzy of an idea :)
14:42 szabgab masak: and btw, thanks for the explanation
14:49 szabgab ... as a workaround I can    print $_.WHAT in the CATCH block to get the exception class
14:56 Chillance joined #perl6
15:00 pmichaud TimToady: STD currently has the "gobbled block" handling in "token pblock"; is there a particularly compelling reason for it to be there instead of in "token xblock" ?
15:01 pmichaud in other words, I'm thinking of moving the "block is missing" logic up to the callers of pblock (there seem to be only four of them)
15:02 pmichaud oops, five.
15:04 thou joined #perl6
15:04 MayDaniel joined #perl6
15:07 TimToady well, then the other places would have to handle the simple "Missing block" case, meseemeth
15:07 pmichaud yes, but they might be able to do so more informatively
15:07 pmichaud "Missing block after 'else'"  instead of just "Missing block"
15:08 pmichaud "Missing block -- 'repeat' requires 'while', 'until', or block"  (or somesuch)
15:10 pmichaud anyway, I may try it in rakudo today or tomorrow.
15:10 TimToady I'm all for good error messages, though in most cases it'll be obvious what wants the block; repeat is a good use case though
15:11 pmichaud std: if 1 { say 'yes' } else say 'no';   # just curious
15:11 p6eval std 30385f8: OUTPUT«Use of uninitialized value $x in pattern match (m//) at STD.pm line 66584.�Use of uninitialized value $x in concatenation (.) or string at STD.pm line 66623.�[31m===[0mSORRY![31m===[0m�Missing block at /tmp/jkqJGvQUyV line 1:�------> [32mif 1 { say 'yes' } else …
15:11 masak a recent idea of mine is that it'd be possible to produce excellent error messages if the editor analyzed deltas between compiles.
15:11 araujo joined #perl6
15:11 araujo joined #perl6
15:11 pmichaud "'else' requires a block" might be better there?
15:12 pmichaud anyway, I'll give it a try.  :-)
15:13 TimToady masak: "Then don't do that!"
15:13 masak TimToady: :P
15:13 harmil on rakudo nom with —gen-parrot and —parrot-option=—with-llvm, does that get me an llvm-backed rakudo, or is that not yet there?
15:13 pmichaud the other places can likely do just:    [ <pblock> || <.panic: "Missing block"> ]  to get roughly equivalent functionality
15:14 TimToady pmichaud: yes, that's better in the case of recovering C programmers
15:14 pmichaud or PHP programmers
15:14 TimToady I'm using C as a base class there...
15:14 pmichaud :-)
15:15 pmichaud harmil: if you do "--with-llvm", you should get a Parrot linked to LLVM, yes.
15:15 harmil pmichaud: thanks
15:15 jnthn I don't think it actually does a great deal with it, however.
15:15 pmichaud yeah, I didn't even know that Parrot had a --with-llvm option.  :-)
15:16 pmichaud I don't think I'd call it a "llvm-backed rakudo" :-)
15:16 harmil heh, fair enough. My parser is just unacceptably slow, so I'm trying to find ways to fix that. I'm using it to rapid-prototype something at $job, but parsing a trivial program is taking upwards of 2-5 seconds.
15:16 pmichaud it's more like "rakudo with Parrot's llvm library linked", in all probability.
15:16 harmil Oh, I thought it enabled llvm-based jitting in the parrot vm
15:17 pmichaud --with-llvm          Link to LLVM if it is available
15:17 pmichaud I don't think it does that, no.
15:17 harmil ah
15:18 dalek rakudo/nom: a56bf75 | jnthn++ | src/Perl6/Metamodel/ (2 files):
15:18 dalek rakudo/nom: Provide a way to cleanly set name/ver/auth.
15:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a56bf7567a
15:18 dalek rakudo/nom: 04ec0c0 | jnthn++ | tools/build/NQP_REVISION:
15:18 dalek rakudo/nom: Bump to latest NQP for meta-model improvements.
15:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/04ec0c0663
15:18 dalek rakudo/nom: f740e37 | jnthn++ | src/core/PseudoStash.pm:
15:18 dalek rakudo/nom: Fix a thinko that somehow wented undetected; guess we only cared about the .WHO of the created thing so it sorta worked out.
15:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f740e3760b
15:18 dalek rakudo/nom: 86b3009 | jnthn++ | src/ (12 files):
15:18 dalek rakudo/nom: Make the various Metamodel:: classes be re-parented to inherit from Any. This means you can 'say 42.HOW' now, but more usefully you can write custom metaclasses without having to do the extra multiple inheritance from Mu/Any.
15:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/86b30097d2
15:18 harmil http://blog.bacek.com/ — that guy seems to have stopped working on it (or at least blogging about it) last year...
15:18 rjbs I'm having a look at STD.pm6 and have a few questions.
15:19 TimToady uh-oh
15:19 pmichaud rjbs:  o/
15:19 rjbs (1) ident v. identifier; I understand the difference in definition, but what's the deal? :)
15:19 rjbs Is ident just there to make it easier to define identifier in terms of it?
15:20 pmichaud <ident> is a builtin for all regexes
15:20 rjbs (I ask because if so, ident is referred to a few times elsewhere.)
15:20 TimToady ident is the standard CSy definition, so it seemed people might find it useful someday
15:20 sergot joined #perl6
15:20 pmichaud it's the standard "start with letter followed by letters/digits" definition
15:21 pmichaud identifier is the Perl6-y "and also allow apostrophes and underscores" variant
15:21 pmichaud s/underscores/hyphens/
15:21 rjbs Okay.  And how is \w defined in p6?
15:21 pmichaud \w is underscore + <.alpha>
15:21 rjbs btw, allow me to make a joyful noise about the use of hyphen
15:22 pmichaud plus digits
15:22 TimToady includes Unicode, of course
15:22 pmichaud (I need to not type while distracted, sorry)
15:22 harmil Good call on \w BTW. I'd have been terminally confused if \w+ included "-"
15:22 rjbs TimToady: Right.  Is it [_\pL\pN] ?
15:22 rjbs or [_\p{Alnum}]?
15:24 rjbs (There's been noise about non-ASCII variable names in p5 for a while now, and so I'm curious what you folks are doing.  Unfortunately, the biggest nasty bit right now is punctuation variables, which you seem to have ejected into the sun. :-)
15:24 rjbs Also, perhaps more importantly, where could I find the definition of \w ?
15:24 TimToady it's one of those things that is still handwavingly defined in terms of P5, I suspect, alas
15:24 rjbs Okay.
15:25 TimToady .oO(which P5?)
15:25 rjbs Have you considered using the Unicode ID_* props?
15:25 TimToady but the intend is that \w match all the standard alphanumerics in Unicode plus _
15:25 pmichaud I'd presume that \w is  _ + \pL + \pN
15:26 TimToady I haven't looked at the ID_* props enough to opine
15:26 pmichaud (that's the set of regex chars that aren't meta, too)
15:26 rjbs pmichaud: That'd be better, since alnum includes marks.
15:27 rjbs Thanks!
15:27 TimToady well, by default marks mostly won't exist in NFG, which is the ideal we're aiming for
15:28 rjbs Oh, right.  I forgot about that. :-)
15:28 TimToady not sure whether we'll represent isolated marks as themselves or as modifiers to a "missing" value somehow
15:28 rjbs Is NFG a p6 thing?  My vague memory was that it was a Parrot thing.
15:28 TimToady yes
15:28 rjbs Cool.
15:28 pmichaud NFG is a p6 thing that we want to eventually see in Parrot.
15:28 TimToady parrot has documented it better, but p6 had the idea first
15:28 araujo joined #perl6
15:28 araujo joined #perl6
15:28 rjbs Right now p5 lets you say $̈ = 10;
15:28 rjbs which is pretty awesome, but also terrible
15:28 pmichaud rakudo:  $ = 10;  say 'alive'
15:29 p6eval rakudo 69e6ec: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name␤at /tmp/DVOZ2zqblz:1␤»
15:29 rjbs pmichaud: you forgot the combining diaresis
15:29 pmichaud rakudo:  ($) = 10;  say 'alive'
15:29 p6eval rakudo 69e6ec: OUTPUT«===SORRY!===␤Contextual $*GOAL not found␤»
15:29 TimToady I guess since isolated marks are represented as themselves in NFC, and NFG is upwardly compatible in some sense, we might do that too
15:29 rjbs rakudo: ($̈) = 10; say 'alive'
15:29 p6eval rakudo 69e6ec: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name␤at /tmp/SRXOc7LAYg:1␤»
15:30 TimToady std: ($̈) = 10; say 'alive'
15:30 p6eval std 30385f8: OUTPUT«[31m===[0mSORRY![3​1m===[0mâ�¤Non-declarative sigil is missing its name at /tmp/gm4wK38ke8 line 1:â�¤------> [32m([33mâ��[31m$̈) = 10; say 'alive'[0mâ�¤Use of uninitialized value $first in string eq at STD.pm line 66369.â�¤Use of uninitialized value $first in string lt …
15:30 TimToady std: my ($̈) = 10; say 'alive'
15:30 p6eval std 30385f8: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unable to parse declarator at /tmp/1_DbgInaun line 1:â�¤------> [32mmy [33mâ��[31m($̈) = 10; say 'alive'[0mâ�¤Couldn't find final ')'; gave up at /tmp/1_DbgInaun line 1:â�¤------> [32mmy ($[33mâ��[31m̈) = 10; say 'alive'[0mâ�¤    expecting …
15:30 * rjbs suggests the "identifier too metal" error.
15:31 pmichaud btw, at yapc::na we had a unicode expert express interest in implementing NFG for Rakudo/Parrot
15:31 pmichaud so... I'm hopeful.  :)
15:31 rjbs pmichaud: Cool!  If it was Karl, and he leaves us for you, though, I will try salty tears.
15:31 rjbs :)
15:31 pmichaud (where 'express interest' == "held a longish hallway discussion with me about it").  It wasn't Karl.  :)
15:32 TimToady yes, Karl was pumping me for everything I know about NFG, and a few things I don't know yet... :)
15:32 rjbs I'll reread about NFG sometime soon.  I think all I ever read was lathos' first post about it.
15:32 TimToady pmichaud: who were you talking to?
15:33 brrt joined #perl6
15:33 pmichaud TimToady: Nick Patch.  http://act.yapcna.org/2012/talk/82
15:33 TimToady maybe we should have them fight for the priviledge :)
15:33 pmichaud noway
15:34 pmichaud I don't want to cause rjbs to tear up.  :-)
15:34 timotimo so in order to support udp properly, it seems i have to do lots of stuff to IO::Socket :|
15:34 TimToady s/have to/get to/ :)
15:34 pmichaud timotimo: feel free to do lots of stuff to IO::Socket :-)    Or, you could write a IO::Socket2 prototype and let us all look at it.
15:35 pmichaud (the nice thing about writing a new class is that you don't have to recompile rakudo each time to test it :)
15:35 timotimo ... do i have to recompile rakudo when i change the new class i made? :)
15:35 timotimo or do i just make a third new class?
15:36 pmichaud I'll explain with an example -- when redesigning MapIter, I just created a MapIter2 class and ran/tested it until I got the behavior I wanted.  Then I did s/MapIter2/MapIter/ and copied it on top of the existing MapIter.pm file.
15:36 dalek specs: 1b5ae87 | jnthn++ | S12-objects.pod:
15:36 dalek specs: Add a section on custom meta-objects.
15:36 dalek specs: review: https://github.com/perl6/specs/commit/1b5ae87dce
15:36 pmichaud that way I could modify/test MapIter2 without a full CORE.setting recompile on each iteration
15:37 Pleiades` joined #perl6
15:38 harmil Now this is a fun error: Can not get non-existent attribute '$!ex' on class 'Exception'
15:41 timotimo that sounds useful to me
15:42 timotimo first i'll have to fix my parrot, though
15:44 timotimo well, it actually depends. is it bad to have the sockets proto be 0 if 0 was supplied, rather than parrot setting the correct value if 0 was used in the constructor?
15:44 [Coke] jnthn: wented! ;)
15:44 jnthn [Coke]: ...what?
15:44 jnthn oh!
15:45 jnthn d'oh!
15:46 [Coke] looks like that error wented unnoted also. ;)
15:48 fgomez joined #perl6
15:49 skids timotimo: If you aren't already, you may want to catch up on whiteknight's recent posts to parrotcode.org, as he's got an IO system rewrite branch spun off right now.  JFYI.
15:49 fgomez joined #perl6
15:51 timotimo oh, then i might want to not do anything right now
15:51 * TimToady is thinking of verbs that start with Y
15:52 * TimToady pictures timotimo yodeling
15:54 [Coke] TimToady: http://verbs.woxikon.com/english-verbforms-with-y !
15:55 JimmyZ joined #perl6
15:56 [Coke] (the internet is ready for your questions.)
15:56 skids timotimo: or maybe talk the proto==0 over with him so he knows what that looks like from the HLL side and see whether the new branch is yet usable.
15:57 kurahaupo joined #perl6
15:57 pmichaud timotimo: I wouldn't expect the io system rewrite to significantly change things at the rakudo level.
15:57 * TimToady pictures timotimo yachting it
15:57 pmichaud (i.e., I wouldn't use that as a reason to halt working on things)
15:58 pmichaud afk, lunch
16:06 [hds] joined #perl6
16:07 harmil Not sure why this fails: IO("foo.test", :w).say("hello, world")
16:07 harmil Gives me "Too many positional parameters passed; got 2 but expected 1"
16:08 harmil in print
16:08 harmil $*OUT.say("hello world") seems to work fine. Am I opening the file wrong?
16:08 TimToady IO() is a coercion
16:08 TimToady so takes only one argument
16:08 TimToady IO.new() might do better, or open()
16:09 harmil So IO.open threw a different error, let me get that...
16:09 TimToady nr: $*OUT.say: 'howdy'
16:09 p6eval rakudo 69e6ec, niecza v18-7-ga660099: OUTPUT«howdy␤»
16:09 harmil "IO.open("foo.test", :w).say("hello, world")" gives: Cannot bind attributes in a type object
16:10 TimToady s/IO.//
16:11 TimToady not sure what the method form thinks it's doing there
16:11 TimToady IO("/dev/tty").open(:w).say('howdy')
16:11 TimToady nr: IO("/dev/tty").open(:w).say('howdy')
16:11 p6eval niecza v18-7-ga660099: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in type IO␤  at /tmp/669anUoBG2 line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3917 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3918 (module-CORE @ 562) …
16:11 p6eval ..rakudo 69e6ec: OUTPUT«IO is disallowed in safe mode␤  in sub restricted at src/SAFE.setting:2␤  in block <anon> at src/SAFE.setting:18␤  in <anon> at src/gen/Metamodel.pm:2260␤  in any find_method_fallback at src/gen/Metamodel.pm:2258␤  in any find_method at src/gen/Metamodel.pm:828␤  i…
16:12 moritz harmil: just use the sub form, as the docs and all examples do
16:12 moritz open($file, :w)
16:12 harmil open("foo.test", :w).say("hello, world")
16:12 harmil that exits without error and creates the file, but does not write anything to it....
16:12 fgomez joined #perl6
16:13 moritz save the file handle, and .close it
16:13 harmil ok
16:13 moritz it's a rakudo+parrot bug
16:13 fgomez joined #perl6
16:13 harmil works
16:13 harmil TimToady++, moritz++
16:14 TimToady given open("foo.test",:w) { .say("howdy"); .close }
16:15 moritz given open(:w, 'foo.test') { LEAVE .close; .say 'howdy' }; # should also work
16:15 TimToady in Ingyland, IO("foo.test").say would intuit that "foo.test" is to be opened for writing when it sees the 'say', or when you feed to it
16:16 sorear good * #perl6
16:17 TimToady o/
16:17 * moritz kinda thinks Ingyland is too magical
16:18 masak it is if there's some kind of drawback to it intuiting.
16:18 masak I still think the biggest reason we don't have a "reverse slurp" spec'd is that there's no name for it that isn't disgusting.
16:19 moritz we *could* just name it writeall
16:19 masak (and the second biggest reason is that write operations have more failure modes)
16:19 moritz re IO($fn).say opening for write, I'm a bit worried about things like IO($fn).seek(...), which isn't specific either for reading or writing
16:20 harmil right now, all output methods on IO return Bool::True (or True, somewhat inconsistently). Perhaps they should return number of bytes written? Also there appears to be no buffering control…
16:20 harmil Just things I'm noticing as I go.
16:20 moritz or return the IO handle
16:20 moritz so that you can chain methods
16:20 moritz that would bey ingyish too
16:21 masak re the thing pmichaud proposed earlier about having IO and two subclasses. how about 'File' and 'FileHandle'?
16:21 masak hm, but $*IN isn't really a file handle, is it.
16:21 masak maybe 'File' and 'Stream'.
16:21 masak or 'IOStream'.
16:21 masak or 'IO::File' and 'IO::Stream'.
16:22 harmil Perhaps return the IO handle with a write-status mixin that knows how to tell you the number of {various character-count operations} written?
16:22 masak sorry, just thinking out loud here ;)
16:22 harmil masak: same
16:23 harmil I just worry about how heavy-weight my suggestion would be when you find yourself trying to do lots and lots of writes (e.g. in a Web server)… I don't know how much overhead there is in creating a mixin
16:24 masak good question.
16:24 masak I think it's a one-time cost in some sense.
16:25 jnthn uh, wait, are we talking "but" or "does" here?
16:25 masak r: role A {}; my $b = 42; say $b.WHICH; say ($b but A).WHICH; say ($b but A).WHICH
16:25 p6eval rakudo 86b300: OUTPUT«Int|42␤Int+{A}|42␤Int+{A}|42␤»
16:25 ggoebel joined #perl6
16:26 masak r: role A {}; my $b = 42; say $b.WHERE; say ($b but A).WHERE; say ($b but A).WHERE
16:26 p6eval rakudo 86b300: OUTPUT«170014355␤-1969658456␤-1974245204␤»
16:26 jnthn I don't know that it's a good idea though.
16:26 jnthn No, we don't cache mixin types yet.
16:26 masak r: role A {}; my $b = 42; say ($b but A).WHAT.WHERE; say ($b but A).WHAT.WHERE
16:26 p6eval rakudo 86b300: OUTPUT«1842980956␤1832714850␤»
16:26 jnthn It's on my todo list.
16:26 masak ah.
16:26 masak ++jnthn
16:26 jnthn r: say 42.HOW
16:26 p6eval rakudo 86b300: OUTPUT«Perl6::Metamodel::ClassHOW.new()␤»
16:26 jnthn No .gist whining any more :)
16:27 masak \o/
16:27 moritz \o/ indeed
16:27 jnthn r: say 42.HOW ~~ Any
16:27 p6eval rakudo 86b300: OUTPUT«True␤»
16:27 masak things just keep getting... *better*
16:27 jnthn Also the extra "is Mu" in various modules can go away.
16:27 masak I tell you, this is extra visible if you go on three weeks vacation from this place.
16:27 * jnthn should totally go on three weeks vacation
16:27 masak jnthn: ooh! why can 'is Mu' go away?
16:28 jnthn masak: Because all the Perl 6 meta-objects now inherit from Mu (via Any) already.
16:28 jnthn masak: I was meaning the "is Metamodel::ClassHOW is Mu" stuff in things like Grammar::Tracer fwiw.
16:28 masak yes.
16:28 masak I know.
16:28 masak anyway, najs!
16:28 masak I guess it wasn't trivial due to general bootstrappery.
16:29 jnthn Indeed.
16:29 jnthn I'll have to go through my talk that I'll be doing at FPW and clean the code up a bit.
16:30 jnthn (It's same one as at GPW, but I can neaten a few things now.)
16:30 kurahaupo joined #perl6
16:30 moritz jnthn: so you're closing up your Hague grant?
16:30 jnthn moritz: Right :)
16:30 jnthn Thus the spec commit also :)
16:30 moritz thought so
16:30 jnthn Doesn't mean there won't be more meta-model improvements of course. Just that I should really clear up the grant.
16:31 moritz I have the impression you did a factor 5 more than what the grant required
16:31 moritz or maybe more
16:32 jnthn It's safe to say that Rakudo is a rather different beast now than it was before the grant. :)
16:35 masak jnthn++ # so meta
16:37 FireFly joined #perl6
16:38 masak FireFly: greetings.
16:38 masak new here?
16:41 harmil I wrote a buffering-management section to IO.pm so that this works: my $f = open("foo.test", :w); $f.buffer_type(:line); $f.say("hello, world")
16:41 harmil Question: should line buffering be the default, and is this something I should pull request?
16:42 harmil buffer_type is the Parrot function, so I didn't rename it. I also implemented flush()
16:43 masak my only objection is that S16 doesn't need gradual improvements, it needs a serious tug in the direction of pragmatics, reality, and usefulness.
16:43 masak but I guess gradual improvements are better than nothing ;)
16:43 harmil Yeah, I didn't even glance at S16 to be honest, I just grabbed the parrot methods on IO and mocked them up into Perl
16:44 harmil Have to go do $job, but I'll deal with the default question tonight and then put this in a pull request
16:45 masak well, "just mocked Parrot up as Perl 6" triggers some warning bells. but as we expect all of this to move around and change anyway...
16:46 harmil fair enough. I don't imagine that this is the final implementation, but it would be nice if filehandles were flushable in some way today.
16:47 harmil Though for flush, I really don't see it ever being much more than method flush(IO:D:) { $!PIO.flush() }
16:47 masak there you go, then. :)
16:54 pmichaud back from lunch
16:56 * [Coke] should do something for lunch that doesn't involve sitting at his desk.
16:56 cog__ jnthn: it seems that some of your changes broke panda.  https://gist.github.com/2973968
16:57 [Coke] we need to get that running on windows so jnthn can run it. :P
16:57 pmichaud cog__: that looks to me like an out-of-date binary/.pbc somewhere
16:58 pmichaud especially the "Missing or wrong version of dependency 'src/gen/CORE.setting'
16:58 eiro masak, jnthn: what comes first ? macros or metaprogramming ?
16:59 masak eiro: is that, like, a koan?
16:59 masak :)
16:59 eiro swedish or english ?
16:59 eiro a koan ?
16:59 pmichaud well, since we already have a good bit of metaprogramming, I suspect it's first :)
16:59 masak 'koan' is Korean, I think.
16:59 * Woodi had 2 weeks vacation month+ ago and it resulted in *surprising* energy/lack of reluctance to do work...
16:59 masak Woodi: yeah, same.
17:00 masak eiro: I guess you're actually asking about the FPW schedule.
17:00 eiro (i'm writing schedule for fpw and i don't know if it make sense to schedule your talk on macros *after* metaprogramming in perl6
17:00 masak eiro: for me it doesn't much matter.
17:00 eiro masak, right
17:00 eiro ok
17:00 pmichaud I'd think order doesn't make a lot of difference for those two.
17:00 masak eiro: we'll both blow people's brains out anyway. (but hopefully in a nice, tender way.)
17:02 eiro masak, jnthn tadzik : by the way: the french law is very strong about internet acces in schools: if you want network during the conference, i need your passport number
17:02 harmil *boggle
17:02 masak same as in Italy, then.
17:02 eiro (sorry about that... we live in nazi prick country ... 5 years of Sarkozy is a huge brain damage)
17:02 jnthn How delightful.
17:03 eiro sure
17:03 jnthn Agree with masak that the order doesn't matter.
17:03 eiro prick ? is this the correct spell ? (/me google)
17:03 eiro ok then
17:03 masak yes, although 'nazi prick' is not a common compound.
17:04 jnthn Uh...don't google prick :P
17:04 harmil googling for that might not get you what you wanted ;) try to avoid image search...
17:04 masak phenny: sv en "prick"?
17:04 phenny masak: "dot" (sv to en, translate.google.com)
17:04 masak :)
17:04 jnthn hah!
17:04 jnthn Another multi-language pun opportunity...
17:05 harmil If you prick me, do I not bleed? If you macro me, am I not meta?
17:05 masak jnthn: oh no what have I done
17:05 eiro :)
17:05 eiro jnthn> Another multi-language pun opportunity... << \o/
17:06 eiro back to the schedule... i'm late
17:06 huf i thought the romans put an end to those pesky puns
17:06 huf apparently not...
17:06 jnthn .oO( aujourd'хуй )
17:06 masak jnthn: the established multi-language pun in these part for that particular linguistic coincidences involves a former prime minister of Sweden explaining that his first name has an ö in it. "My name is Göran with two... dots."
17:07 masak coincidence*
17:07 jnthn :D
17:08 masak I'm pretty sure he never actually said that, though.
17:09 masak but the joke is spot on because he was perceived as a kind of a... dominant character. some would say a prick.
17:09 Woodi there was SAFE mentioned earlier - is it a mechanism like chroot but more effective ? :) to this day chroot cannot "trap" Perl5 scripts and working alternative is vm...
17:10 masak SAFE is an ultimately ineffective way to prevent vandalism through p6eval.
17:11 Woodi hmm, can it be effective ? :)
17:11 [Coke] masak: well, that's what we're using it for.
17:11 [Coke] p6eval: mkdir a
17:11 [Coke] r: mkdir "a"
17:11 p6eval rakudo 86b300: OUTPUT«mkdir is disallowed in safe mode␤  in sub restricted at src/SAFE.setting:2␤  in sub mkdir at src/SAFE.setting:10␤  in block <anon> at /tmp/medYLgWr9a:1␤␤»
17:11 [Coke] r: eval 'mkdir "a"'
17:11 p6eval rakudo 86b300: OUTPUT«mkdir is disallowed in safe mode␤  in sub restricted at src/SAFE.setting:2␤  in sub mkdir at src/SAFE.setting:10␤  in block <anon> at eval_0:1␤  in <anon> at eval_0:1␤  in sub eval at src/gen/CORE.setting:483␤  in block <anon> at /tmp/E7y3b2Kcyf:1␤␤»
17:11 Woodi r: cd /etc
17:11 p6eval rakudo 86b300: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix / instead␤at /tmp/j8ipwjhmw8:1␤»
17:11 [Coke] seems legit.
17:11 pmichaud now that it's mentioned, I'd really prefer that we call it something other than "safe mode".
17:12 pmichaud The name is completely wrong.
17:12 [Coke] *completely* ?
17:12 masak call it "Ministry of Safety".
17:12 pmichaud yes.
17:12 [Coke] You might need to explain why that is.
17:12 pmichaud I know from bitter experience with PHP's "safe mode".
17:13 huf sandbox mode?
17:13 pmichaud PHP has a setting called "safe mode" that supposedly makes thing safer.  It absolutely does not do that; indeed, in many ways it causes scripts to do things that are more unsafe than if it hadn't been enabled (more)
17:13 pmichaud however, because of the name "safe mode", administrators love to enable the feature because "it makes things safer".
17:13 masak Woodi: can it be effective? in a word, no.
17:13 pmichaud without ever really going much beyond that.
17:14 Woodi are there any thoughts about sandbox or other things like that ?
17:14 masak Woodi: I know of no way to strip away enough dynamism in Perl 6 that it becomes impossible to think (and execute) bad thoughts.
17:14 pmichaud I don't mind if we call it sandbox.  That's much better than "safe"
17:14 masak of course, you could place the language runtime into a sandbox of some sort. that's probably a better idea. we already use chroot, IIRC.
17:15 pmichaud better might be to use a name with "disable" in it somehow.
17:15 pmichaud because really what the module does is disable certain functions
17:15 pmichaud but it in no way catches them all.
17:15 masak "narrow mode" :)
17:16 pmichaud "narrow" has potential.
17:16 Woodi I think that "anonymous ftp" was successfull in doing few its work good... maybe something like that ?
17:16 sudokode joined #perl6
17:19 pmichaud so, I'm now on a crusade to deprecate "SAFE.setting" in favor of a different name.
17:19 [Coke] +1 to SANDBOX setting.
17:19 pmichaud ah
17:19 pmichaud RESTRICTED
17:20 [Coke] meh. ok.
17:20 pmichaud (after the sub that it implements)
17:20 [Coke] masak: so, given the current SAFE.setting, how does one run mkdir?
17:20 [Coke] not eval.. pir:: something?
17:21 pmichaud r:  Q:PIR { say 'aha!' };
17:21 p6eval rakudo 86b300: OUTPUT«aha!␤»
17:21 flussence this got me thinking... a real safe mode may be possible using the same method(s) Chromium uses to sandbox tabs
17:21 [Coke] nqp: pir::say(3)
17:21 p6eval nqp: OUTPUT«3␤»
17:21 pmichaud r:  nqp::say('aha!');
17:21 p6eval rakudo 86b300: OUTPUT«aha!␤»
17:21 pmichaud r:  pir::say('aha!');
17:21 p6eval rakudo 86b300: OUTPUT«aha!␤»
17:22 [Coke] ok. seems like Q:PIR and pir should be added to the restricted list. (unless we want to block specific pir:: or nqp:: opcodes.
17:22 pmichaud r: eval('shell("ls")');
17:22 p6eval rakudo 86b300: OUTPUT«shell is disallowed in safe mode␤  in sub restricted at src/SAFE.setting:2␤  in sub shell at src/SAFE.setting:7␤  in block <anon> at eval_0:1␤  in <anon> at eval_0:1␤  in sub eval at src/gen/CORE.setting:483␤  in block <anon> at /tmp/eAvSMwIEm5:1␤␤»
17:23 [Coke] (and nqp)
17:24 [Coke] (and we should also put parrot in restricted mode, which I don't think is doable atm.)
17:24 pmichaud we might add a restricted mode to nqp, but to me that's lowish priority.
17:25 raiph joined #perl6
17:25 Woodi on the less restrictive and more "open" topic: before one of talks on YAPC::NA (probably) chromatic announced trat there is open.org (probably) parked and not used... anyone know was that problem resolved ?
17:26 pmichaud I think it was merlyn who advertised open.org
17:26 Woodi ah, k
17:26 pmichaud they were taking proposals for what to do with it
17:27 Woodi but on open.org "something" is visible, but probably not much popular
17:28 Woodi where I can get email for someone involved with this ?
17:28 pmichaud Woodi: merlyn@stonehenge.com
17:28 * Woodi want to propose yet another blog site but with twist :)
17:29 Woodi thank you pmichaud++
17:31 cognominal joined #perl6
17:31 adu joined #perl6
17:31 dalek rakudo/nom: f2e4257 | pmichaud++ | / (2 files):
17:31 dalek rakudo/nom: Deprecate SAFE.setting in favor of RESTRICTED.setting.
17:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f2e4257eec
17:31 dalek rakudo/nom: 3888832 | pmichaud++ | docs/announce/2012.07:
17:31 dalek rakudo/nom: Add draft announcement for 2012.07 release.
17:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/38888324ad
17:32 pmichaud if someone can modify p6eval to use RESTRICTED instead of SAFE, I'd be very happy.
17:38 fgomez joined #perl6
17:40 cognominal pmichaud/jnthn:  made a real clean and a rm -rf ~/.panda. Recompiled. Still have the problem.
17:40 jnthn cognominal: Assume you did "make install" too?
17:41 cognominal yes
17:42 cognominal It does not seem I have stray .pbc in my system that could have been pulled by mistake.
17:42 jnthn It still looks like old pre-compiled stuff hanging around :S
17:43 jnthn Well, stray .pir is just as bad.
17:44 masak tadzik: don't know why I didn't think of this right away -- the correct behavior for panda is to be case-sensitive, but to give excellent suggestions if there's a module available that differs only by case. could even do typos, as long as it doesn't default to DWIMming.
17:45 cognominal jnthn: btw, I am on a mac and the filesystem is not case sensitive
17:48 harmil cognominal: yes, it is… it's selectively case insensitive for asciish values of case insensitive
17:49 masak cognominal: the Macs come preformatted in a case-insensitive mode. first thing I do with a new Mac is always reformat the drive.
17:50 harmil But that being said, yes, you can't rely on everyone being able to distinguish "x" from "X" on their local FS
17:50 masak right.
17:50 masak there's a lot of things you can't assume about file names and paths.
17:50 masak I think Perl's line there has always been "Unix-centric but others-compatible"
17:51 masak Perl 6 slightly less Unix-centric than Perl 5, perhaps.
17:51 [particle]1 joined #perl6
18:09 FireFly joined #perl6
18:12 * moritz backlogs
18:13 moritz fwiw it's intentionally that nqp:: and pir:: opcodes work in p6eval
18:13 moritz we have a pragma to disable them
18:13 moritz but they are useful for some demonstrations
18:14 masak ok.
18:14 [Coke] r: my $a = pir::new("OS") && $a.cwd();
18:15 p6eval rakudo 388883: OUTPUT«get_bool() not implemented in class 'OS'␤  in block <anon> at /tmp/0nrXusC82o:1␤␤»
18:15 [Coke] r: my $a = pir::new("OS") ; $a.cwd();
18:15 p6eval rakudo 388883: OUTPUT«Cannot assign a non-Perl 6 value to a Perl 6 container␤  in block <anon> at /tmp/42TtZluBC8:1␤␤»
18:17 moritz r: my $a := pir::new("OS") ; $a.cwd();
18:17 p6eval rakudo 388883:  ( no output )
18:17 moritz r: my $a := pir::new("OS") ; say nqp::p6box_s $a.cwd();
18:17 p6eval rakudo 388883: OUTPUT«/home/p6eval␤»
18:21 dalek evalbot: 2e02a78 | moritz++ | evalbot.pl:
18:21 dalek evalbot: s/SAFE/RESTRICTED/
18:21 dalek evalbot: review: https://github.com/perl6/evalbot/commit/2e02a788c9
18:21 [Coke] r: pir::new("OS").cwd.say
18:21 p6eval rakudo 388883: OUTPUT«/home/p6eval␤»
18:22 moritz evalbot control restart
18:22 p6eval joined #perl6
18:24 moritz r: say 1
18:24 p6eval rakudo 388883: OUTPUT«1␤»
18:30 erkan joined #perl6
18:30 erkan joined #perl6
18:36 sirrobert joined #perl6
18:36 sirrobert Is there a cookbook or tutorial for grammars?
18:37 moritz sirrobert: there's a chapter about them in the 'Using Perl 6' book (PDF freely available)
18:37 sirrobert ah, I forgot to look there!
18:37 moritz sirrobert: there's also a bit on the perl 6 advent calendar
18:38 moritz sirrobert: and for debugging, Grammar::Tracer is very helpful IMHO
18:38 masak oh! I've decided what to do for the July blogging.
18:38 sirrobert working on a selenium testing module
18:38 sirrobert moritz: thanks =)
18:38 moritz there's also http://perlgeek.de/en/arti​cle/debug-a-perl-6-grammar
18:38 moritz (which might be a bit out of date; I should update it)
18:38 sirrobert I'll check it out =)
18:39 masak gonna do the 'crypt' adventure game from scratch, with tests this time, and lots more explanations. that way, it'll tie into last year's blogging, but it'll be new material. in retrospect, I believe there's easily a month of material in there for the adventure game.
18:39 masak the game will probably come out factored differently. but it'll have the same basic plot and descriptions.
18:39 sirrobert masak: cool
18:41 masak yes, I hope so. :)
18:41 cognominal joined #perl6
18:41 moritz ma
18:41 moritz erm
18:41 moritz masak: sounds nice
18:42 sirrobert heh I'm super excited about using grammars.
18:42 sirrobert for DSL purposes
18:42 moritz grammars are nice
18:43 fgomez joined #perl6
18:45 masak I look forward to being able to inject sublanguages into the program currently compiled.
18:46 masak is that blocking on something, besides tuits? shouldn't we be *very* excited about making that work in Rakudo or Niecza?
18:47 jnthn masak: qbootstrap is done now :) That's gonna help :)
18:48 vmspb joined #perl6
18:49 araujo joined #perl6
18:50 jnthn Main issue is that from the spec I find it hard to know exactly what a slang would look like or how it'd be used.
18:50 jnthn Somebody trying to flesh out some example code would that they think should work would to a lot to move things forward.
18:50 jnthn dinner &
18:50 pmichaud I'm looking at spectests marked with "nom regression".  I think that S03-smartmatch/any-array-slice.t is incorrect wrt current spec and could just be removed.  Anyone care to concur?
18:52 moritz pmichaud: I think that whole file should go
18:53 moritz the rest of the tests are only correct by pure accident
18:54 pmichaud removing S03-smartmatch/any-array-slice.t
18:55 dalek rakudo/nom: d677c0e | pmichaud++ | t/spectest.data:
18:55 dalek rakudo/nom: (nomreg cleanup) Remove S03-smartmatch/any-array-slice.t
18:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d677c0e0de
18:56 dalek roast: 3526efc | pmichaud++ | S03-smartmatch/any-array-slice.t:
18:56 dalek roast: Remove out-of-spec any-array-slice.t tests.
18:56 dalek roast: review: https://github.com/perl6/roast/commit/3526efc6e4
18:56 dalek niecza: f91bc64 | moritz++ | t/spectest.data:
18:56 dalek niecza: track deletion of test file
18:56 dalek niecza: review: https://github.com/sorear/niecza/commit/f91bc6463d
18:57 pmichaud We win back a fair number of nom regressions if we can get   $x ~~ (1, *, 4)  to work again.   https://github.com/rakudo/rakudo​/blob/nom/src/core/List.pm#L275
18:57 masak jnthn: here's a first attempt at fleshing out an example: https://gist.github.com/2974519
18:58 moritz pmichaud: you probably know that not everything labeled as "nom regression" is one; it is what the fudgers (including me) used when a test didn't pass on nom that passed on b; though spec changes were sometimes the reason too
18:58 pmichaud moritz: yes, I know, thanks for the reminder though.  Cleaning those up just felt like something easy to do for me at the moment.  :)
18:59 pmichaud especially since I've stumbled upon several recently that are no longer regressions.  I figure I'll hit some lhf today.
19:00 masak pmichaud: S03-smartmatch/any-array-slice.t looks very suspect to me.
19:00 moritz pmichaud: I've done a run through some of them roughly two months ago, but I guess that our LHFs differ a bit :-)
19:00 masak somewhere on a spectrum between "contrived" and "pointless".
19:00 [Coke] moritz: aye. that was more of a timestamp than any true regression test.
19:00 moritz no, just written against an old spec
19:00 moritz [Coke]: I know. I've used it too.
19:01 masak ah well. that may be it.
19:01 * [Coke] hopes none of these removals are detracting from pugs ever dwindling numbers. ;)
19:01 moritz masak: from a time where smart-matching had quite some syntactic special cases
19:05 masak aye.
19:06 jnthn masak: slang is, according to STD, a package declarator :)
19:07 tyatpi joined #perl6
19:08 jnthn masak: That is, I think it's the thing that declares a sublanuage rather than the thing to enter one.
19:08 sirrobert I don't seem to get heredocs... this doesn't work:   my $foo = q :to 'EOSTR';
19:08 sirrobert What am I missing?
19:08 moritz sirrobert: not yet implemented in rakudo
19:08 sirrobert (it says colons may not be used to delimit
19:08 moritz works in niecza though
19:08 sirrobert ah, that explains it =)
19:09 * jnthn wonders if we can get those in for the July release :)
19:09 sirrobert we switched our code to p6 btw (for my company)
19:09 sirrobert our two main projects are in clojure and p6.
19:09 flussence !
19:10 sirrobert =)
19:11 flussence (I still haven't convinced my $dayjob to get with the times and start using p5.10's features...)
19:12 sirrobert heh
19:12 moritz wow
19:12 sirrobert at my last job we used 5.8 forever.
19:12 masak sirrobert: kudos!
19:12 sirrobert masak: thanks =)
19:12 masak sirrobert: let us know how it goes.
19:13 sirrobert will do.  starting to write some utility modules now
19:13 sirrobert for selenium testing (web ui integration tests), etc.
19:13 moritz and please blog about
19:13 moritz it
19:14 sirrobert it was a close race between javascript (node) and p6, but we decided to go ahead and go the more interesting (and rough-and-tumble) route =)
19:14 sirrobert hmm good idea
19:14 pmichaud if we can't get :to in for the July release, perhaps we can at least get a NYI message.
19:14 moritz and post the URL here
19:14 sirrobert moritz: sure, will do
19:15 flussence r: say 'abc'.indent(4) # nom can haz?
19:15 p6eval rakudo d677c0: OUTPUT«    abc␤»
19:15 sirrobert I'll talk with my marketing guy... we might keep it anonymous for a while (though I'll still blog about it)
19:15 moritz pmichaud: I think it wouldn't be too hard to do a  'q' [<colonpair> <.NYI(...)>]? or some such
19:15 flussence oh, I completely missed when that got re-added!
19:16 moritz flussence: I think there's still one or two regressions in the tests
19:16 moritz but the big lump was rather easy to port
19:16 [Coke] sirrobert++ #adventurous
19:17 [Coke] sirrobert: definitely let us know what parts are painful so we can help you fix them. (This is not a promise of support. ;)
19:17 sirrobert heh ok
19:17 moritz there are some things that might be painful for you but pretty easy to add, like missing small IO features or so
19:18 moritz so never hruts to ask
19:18 sirrobert is there some kind of ... ticket system?
19:18 sirrobert or better to mention it here?
19:18 [Coke] for rakudo: email to rakudobug@perl.org
19:18 moritz mailto:rakudobug@perl.org
19:18 sirrobert ok
19:18 pmichaud rakudo.org/tickets
19:18 pmichaud http://rakudo.org/tickets
19:18 moritz goes to  http://rt.perl.org/rt3/
19:18 [Coke] mentioning things in the presence of masak on IRC also helps.
19:18 sirrobert cool
19:18 [Coke] note that due to historical reasons, you can only open tickets via email, though.
19:19 [Coke] webterface is great for searching and tracking status, though.
19:19 sirrobert got it
19:19 moritz fsvo "great"
19:19 pmichaud btw, schwern suggested using [easy] for easy tickets instead of [lhf].  "Nobody knows what LHF means."
19:19 moritz :-)
19:19 masak sirrobert: if you don't want to submit the issues yourself, just mention them here and someone will pick them up and submit them.
19:19 araujo joined #perl6
19:19 sirrobert masak: cool, thanks.
19:20 moritz pmichaud: +1
19:20 pmichaud looks like we have only one such open ticket now anyway.
19:21 * pmichaud fixes.
19:21 [Coke] easy++
19:21 * [Coke] hurls http://inception.davepedu.com/
19:23 moritz pmichaud: fwiw I've tried to track down the "Method 'message' not found for invocant of class 'Any'" after warning-in-REPL
19:24 moritz pmichaud: I failed. My ack-fu found only two instances of .message
19:24 pmichaud moritz: okay; maybe I'll track it a bit later.  I was just a bit surprised by it.
19:24 pmichaud okay, now switched LHF -> EASY in most locations I'm aware of.   http://rakudo.org/rt/lhf  now forwards to http://rakudo.org/rt/easy
19:25 moritz well, three actually
19:25 [particle]1 joined #perl6
19:25 moritz two are internal error messages where I see on way how they could be triggered
19:25 moritz and on is a call on self, which is of type Exception, not Any
19:27 dalek rakudo/nom: 5f0f3f0 | pmichaud++ | src/core/EnumMap.pm:
19:27 dalek rakudo/nom: Update EnumMap.ACCEPTS(Positional) to test hash slice existence.
19:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5f0f3f0ab7
19:27 flussence that talk about bugs reminds me I got hit by #113660. I want to try and help fix it but it seems like there's not enough people affected to find any obvious cause in common :(
19:27 dalek roast: fdeefa8 | pmichaud++ | S03-smartmatch/array-hash.t:
19:27 dalek roast: Unfudge no-longer-nom-regression.
19:27 dalek roast: review: https://github.com/perl6/roast/commit/fdeefa8151
19:31 [Coke] flussence: maybe setup a VM somewhere that devs can remote into? Iunno.
19:31 flussence that's the thing, I can't reproduce it outside my netbook :(
19:32 [Coke] you're running ubuntu 8!?
19:32 [Coke] isn't it up to ...11?
19:32 pmichaud 12.04 is the most recent
19:32 flussence no! the bug reporter is
19:33 flussence I've got gentoo on here, everything's up to date
19:33 masak jnthn: ('slang' being a declarator) -- oh right. yes, it was an ill-chosen keyword on my part. gist now updated: https://gist.github.com/2974519
19:34 flussence I guess that rules out external software versions affecting it, at least...
19:37 flussence I notice he's running on a laptop too, so it might be some hardware issue.
19:37 flussence (though I generally haven't had out-of-memory issues building rakudo before...)
19:40 [Coke] is it an OOME? do you happen to be running top at the time?
19:41 [Coke] and, how much memory do you have? we can always do a build in a ulimit'd env.
19:42 flussence OOM errors usually look different to this one... I'll go try and cause it again but it'll take a while. something along the lines of "invoke not defined", then a long internal-sounding backtrace
19:43 [Coke] I don't see the backtrace in the ticket.
19:43 [Coke] adding it would be helpful.
19:44 flussence yeah, doesn't look like it's there. I'll go do it.
19:44 [Coke] I will try a build on my underpowered ubuntu netbook.
19:44 jnthn I tried it on my 32-bit laptop today and it worked.
19:44 * [Coke] take the ticket so he doesn't forget.
19:44 [Coke] *takes
19:48 ggoebel joined #perl6
19:51 jnthn flussence: Can you give me the output of parrot_config --dump on the box that it fails on?
19:54 flussence will do
19:54 birdwindupbird joined #perl6
19:55 dalek roast: a656379 | pmichaud++ | S03-smartmatch/regex-hash.t:
19:55 dalek roast: Unfudge no-longer-nom-regression.
19:55 dalek roast: review: https://github.com/perl6/roast/commit/a656379894
19:55 dalek rakudo/nom: 1b6636f | pmichaud++ | src/core/EnumMap.pm:
19:55 dalek rakudo/nom: Update EnumMap.ACCEPTS(Regex), removing another nom regression.
19:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1b6636f7d8
19:58 moritz pmichaud: I've made some progress on diagnosing the error
19:58 moritz (error after warning in REPL)
19:59 moritz it's from the internal error error reporting in the backtrace printer
19:59 moritz oh, because I'm stupid.
20:00 moritz using $! inside a CATCH handler
20:01 moritz well, it's a codepath that's hard to test (reporting internal errors)
20:01 flussence [Coke], jnthn: here you go - https://gist.github.com/2974816
20:02 flussence (and I could've sworn that said "not implemented in class '$'" last time...)
20:02 pmichaud rn: say 3.14.Rat.perl;
20:02 p6eval niecza v18-7-ga660099: OUTPUT«<157/50>␤»
20:02 p6eval ..rakudo d677c0: OUTPUT«157/50␤»
20:03 moritz I think I've also seen a "in class '.'" or so in some nopaste
20:03 pmichaud I think the correct answer should be "3.14"
20:04 moritz we've gone back and forth on this one so many times
20:04 [Coke] that's a generated file, yes?
20:04 pmichaud I'm just reading current spec.
20:04 [Coke] flussence: can you also post src/stage1/NQPCORE.setting ?
20:05 bruges_ joined #perl6
20:05 moritz I thnk that one is a straight-forward combination of source files; shouldn't go wrong much
20:05 [Coke] no, but.
20:06 flussence [Coke]: done, same page. github isn't very helpful with the order it sorts added files in...
20:06 [Coke] I wonder if it's something crazy like git crlf settings. :P
20:07 [Coke] flussence: what version of nqp are you on?
20:07 flussence --gen-parrot on rakudo git, so whatever that's using...
20:08 [Coke] can you do a git log in nqp dir?
20:08 [Coke] (or whatever to get the latest commit hash?)
20:08 flussence sure - fcc9a2398189c6fccf77a355461bf29638dd36e5
20:09 jnthn flussence: Thanks...nothing looks odd in the config there.
20:09 flussence (I wonder if it's some obscure, horrible memory corruption bug in a lower level...)
20:10 jnthn flussence: Yeah, that's my fear.
20:11 moritz you might want to fix some easy-to-reproduce segfault, and hope this one goes away :-)
20:11 [Coke] heh
20:14 UncleFester6 joined #perl6
20:14 jnthn It fails on the call to is_dispatcher. This is somewhat interesting in so far as that means it's having to do the dynamic compilation thing.
20:14 jnthn Since is_dispatcher is defined in the same compilation unit.
20:17 UncleFester6 Hi I'm the reporter.  If you look around here in IRC http://irclog.perlgeek.de/​perl6/2012-06-15#i_5730212 you can find a few back trace dumps I believe.
20:17 UncleFester6 I can reproduce it every time.
20:18 moritz UncleFester6: is the error message exactly the same each time?
20:21 dalek rakudo/ex-hardening: b9a332b | moritz++ | src/core/Backtrace.pm:
20:21 dalek rakudo/ex-hardening: improve robustness of internal error reporting
20:21 dalek rakudo/ex-hardening: review: https://github.com/rakudo/rakudo/commit/b9a332b3a5
20:21 dalek rakudo/ex-hardening: b68a884 | moritz++ | src/core/Backtrace.pm:
20:21 dalek rakudo/ex-hardening: be more tight about :D in invocant
20:21 dalek rakudo/ex-hardening: review: https://github.com/rakudo/rakudo/commit/b68a88423b
20:21 UncleFester6 Both grondilu and I got invoke() not implemented in class '??'  but the thing in quotes after class seems to vary.
20:21 [Coke] UncleFester6: having those on the ticket makes it much easier to diagnose this stuff when tuits present themselves.
20:21 dalek nqp: 4019f2a | jnthn++ | src/NQP/Grammar.pm:
20:21 dalek nqp: Remove a leftover from the now-gone regex engine.
20:21 dalek nqp: review: https://github.com/perl6/nqp/commit/4019f2aaaf
20:21 [Coke] the gist we're working from now is prolly OK, though.
20:22 [Coke] I see no diffs between my build of src/stage1/NQPCORE.setting and the one in the gist.
20:23 UncleFester6 does that mean you reproduced the error?
20:24 moritz flussence did
20:24 jnthn UncleFester6: A few people have reproduced it. I can't, and I'm struggling to spot a pattern.
20:24 jnthn UncleFester6: Are you building on a 32-bit of 64-bit platform?
20:25 jnthn *or
20:25 MayDaniel joined #perl6
20:25 MayDaniel joined #perl6
20:26 UncleFester6 I am actually just a bit unsure.  For some reason I thought I installed 64 bit but when I researched I found the command 'getconf LONG_BIT' which reads 32
20:26 jnthn Hm, ok
20:26 jnthn afaik everybody who reported it so far that I could get an answer on this from said 32 bit.
20:27 moritz UncleFester6: what does   uname -a   say?
20:27 UncleFester6 Linux ron-laptop 2.6.24-24-generic #1 SMP Tue Jul 7 19:46:39 UTC 2009 i686 GNU/Linux
20:27 flussence that's a 32-bit userspace
20:28 moritz ... and kernel
20:28 flussence the kernel can be 64-bit but lying about it :)
20:28 moritz does tha happen often?
20:29 flussence I think it's the default behaviour for 32-on-64 since gcc gets horribly confused otherwise... but then again I don't know many distros which install that way either.
20:29 birdwindupbird joined #perl6
20:30 flussence (I read recently that debian supports installing an x86-64 kernel on a 32-bit install, but it's not done by default)
20:30 flussence iow, we're all on 32-bit it seems
20:33 UncleFester6 If there is a test I can run, just let me know, I'll be happy to run it.
20:40 dalek rakudo/ex-hardening: 57d251f | moritz++ | src/core/Backtrace.pm:
20:40 dalek rakudo/ex-hardening: fix previous commit
20:40 dalek rakudo/ex-hardening: review: https://github.com/rakudo/rakudo/commit/57d251ff7a
20:41 sirrobert perl6: say ("a" ~~ /a/) ?? "yes" !! "no";
20:41 p6eval pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤    unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.​13.20120203/blib6/pugs/perl5/lib';␤    eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** Can't locate P…
20:41 p6eval ..rakudo 1b6636, niecza v18-7-ga660099: OUTPUT«yes␤»
20:41 sirrobert perl6: say ("a b" ~~ /a b/) ?? "yes" !! "no";
20:41 p6eval pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤    unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.​13.20120203/blib6/pugs/perl5/lib';␤    eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** Can't locate P…
20:41 p6eval ..rakudo 1b6636, niecza v18-7-ga660099: OUTPUT«no␤»
20:42 sirrobert What happened there?
20:42 moritz rn: say so 'a b' ~~ /:s a b/
20:42 p6eval rakudo 1b6636, niecza v18-7-ga660099: OUTPUT«True␤»
20:42 moritz sirrobert: whitespace is ignored by default
20:42 flussence r: say ("a b" ~~ m:sigspace/a b/)
20:42 p6eval rakudo 1b6636: OUTPUT«q[a b]␤␤»
20:43 sirrobert ah
20:43 sirrobert I was somehow thinking it was both ignored and not ignored (when I felt like it? =)
20:43 sirrobert perl6: say ("a b" ~~ /a \s b/) ?? "yes" !! "no";
20:43 p6eval pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤    unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.​13.20120203/blib6/pugs/perl5/lib';␤    eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** Can't locate P…
20:43 p6eval ..rakudo 1b6636, niecza v18-7-ga660099: OUTPUT«yes␤»
20:44 sirrobert thanks
20:45 * moritz seriously considers taken pugs out of the 'perl6' target
20:47 adu moritz: isn't it always 20% behind rakudo/niecza?
20:48 spider-mario joined #perl6
20:48 au moritz: go for it :)
20:49 jlaire joined #perl6
20:50 moritz adu: ignore the spectest counts; they are irrelevant
20:52 dalek evalbot: 61a54c0 | moritz++ | evalbot.pl:
20:52 dalek evalbot: remove pugs from p6/perl6 targets
20:52 dalek evalbot: review: https://github.com/perl6/evalbot/commit/61a54c0b0f
20:59 dalek evalbot: afadf23 | moritz++ | evalbot.pl:
20:59 dalek evalbot: add aliases for executing pugs, rakudo and niecza at once
20:59 dalek evalbot: review: https://github.com/perl6/evalbot/commit/afadf23cde
20:59 moritz evalbot control restart
20:59 p6eval joined #perl6
21:00 au p6: say ("a b" ~~ m:sigspace/a b/)
21:00 moritz the first execution after a restart sometimes takes ages
21:00 moritz I have no idea why
21:00 p6eval rakudo 1b6636: OUTPUT«"load_bytecode" couldn't find file 'RESTRICTED.setting.pbc'␤current instr.: 'nqp;Perl6;ModuleLoader;_block1268' pc 5717 (src/gen/perl6-moduleloader.pir:2690) (src/Perl6/ModuleLoader.pm:259)␤called from Sub 'nqp;Perl6;ModuleLoader;load_setting' pc 5465 (src/gen/perl…
21:00 p6eval ..niecza v18-7-ga660099: OUTPUT«#<match from(0) to(3) text(a b) pos([].list) named({}.hash)>␤»
21:01 birdwindupbird joined #perl6
21:01 au p6: say ("a b" ~~ m:sigspace/a c/)
21:01 p6eval rakudo 1b6636: OUTPUT«"load_bytecode" couldn't find file 'RESTRICTED.setting.pbc'␤current instr.: 'nqp;Perl6;ModuleLoader;_block1268' pc 5717 (src/gen/perl6-moduleloader.pir:2690) (src/Perl6/ModuleLoader.pm:259)␤called from Sub 'nqp;Perl6;ModuleLoader;load_setting' pc 5465 (src/gen/perl…
21:01 p6eval ..niecza v18-7-ga660099: OUTPUT«False␤»
21:02 moritz ugh, the RESTRICTED setting isn't built :(
21:03 moritz but SAFE is deprecated
21:03 moritz I'll switch back p6eval until RESTRICTED actually works
21:04 p6eval joined #perl6
21:04 dalek evalbot: e42ce24 | moritz++ | evalbot.pl:
21:04 dalek evalbot: Revert "s/SAFE/RESTRICTED/"
21:04 dalek evalbot:
21:04 dalek evalbot: This reverts commit 2e02a788c940a916038bc8721d6d907604214b30.
21:04 dalek evalbot: because RESTRICTED setting doesn't work yet (isn't built)
21:04 dalek evalbot: review: https://github.com/perl6/evalbot/commit/e42ce24259
21:15 birdwindupbird joined #perl6
21:22 pmichaud oh yes, I can set up RESTRICTED.  Fixing.
21:34 cog_ joined #perl6
21:47 dalek rakudo/nom: b7bf63d | pmichaud++ | / (2 files):
21:47 dalek rakudo/nom: Update build process for RESTRICTED.setting, other refactors.
21:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b7bf63db67
21:48 pmichaud when is it (pardon pun)  "safe"  to restore the SAFE->RESTRICTED patch?
21:48 pmichaud (to evalbot.pl)
21:49 dalek rakudo/nom: 06a7305 | pmichaud++ | src/SAFE.setting:
21:49 dalek rakudo/nom: Add deprecation notice to SAFE.setting.
21:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/06a7305c58
21:50 * pmichaud commits; forgiveness > permission
21:50 masak \o/
21:50 masak g'night, #perl6
21:50 dalek evalbot: 2097ac3 | pmichaud++ | evalbot.pl:
21:50 dalek evalbot: Restore s/SAFE/RESTRICTED/ .
21:50 dalek evalbot: review: https://github.com/perl6/evalbot/commit/2097ac3606
22:24 toadsted joined #perl6
22:26 toadsted left #perl6
22:37 UncleFester6 joined #perl6
22:40 tyatpi joined #perl6
22:51 skids joined #perl6
23:09 kurahaupo joined #perl6
23:29 tyatpi joined #perl6
23:37 sisar joined #perl6
23:41 cognominal joined #perl6
23:42 tyatpi joined #perl6
23:50 cog_ joined #perl6
23:53 cog__ joined #perl6
23:55 * [Coke] remotes into feather from an old freebsd box with 40M of memory and a 4G hard drive.
23:55 [Coke] and apparently no utf8 support at the moment.
23:58 UncleFester6 joined #perl6

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs