»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:04
stephenlb joined
00:05
atrodo left
00:10
plobsing left
00:12
preflex left
00:14
preflex joined
00:16
plobsing joined
00:26
tokuhirom joined
00:34
jimmy1980 left
00:39
kurahaupo joined
00:40
jimmy1980 joined
00:42
leprevost left
|
|||
adu | o/ | 00:49 | |
I just converted someone to perl6! | 00:50 | ||
colomon | \o/ | 00:52 | |
00:55
leprevost joined
01:03
xinming left
01:04
xinming joined
01:22
mikemol left
|
|||
dalek | kudo/nom: 29607d8 | duff++ | docs/ (2 files): update release announcement |
01:24 | |
01:25
kurahaupo left
01:33
thou left
01:38
cog__ left
01:40
cognominal joined
02:10
adu left
02:25
tokuhirom left
02:26
orafu left,
orafu joined
02:27
jaldhar left
02:34
PZt joined
02:42
DarthGandalf joined
|
|||
pmichaud | rn: "hello".index("").say | 02:49 | |
p6eval | niecza v18-7-ga660099: OUTPUT«0» | ||
..rakudo 29607d: OUTPUT«Int()» | |||
pmichaud | ummmmmmm | ||
gist.github.com/3bbd7a08c1c220fbf0e3 | 02:51 | ||
parrot bug, maybe? | 02:53 | ||
PerlJam | so ... I get a bunch of spectest failures in t/spec/S03-operators/overflow.t | 02:54 | |
03:00
kurahaupo joined
03:01
kaleem joined
03:12
sisar joined
|
|||
pmichaud | PerlJam: I'll test locally. | 03:20 | |
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 | ||
(I'm planning to actually fix the index opcode.) | |||
PerlJam | sure. I'm trying to get people to bed so that I can have some peace :) | 03:23 | |
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:25 | |
03:25
tyatpi left
03:32
jaldhar joined
|
|||
pmichaud | PerlJam: I didn't get the failures in overflow.t, fwiw. | 03:36 | |
dalek | kudo/nom: 2427656 | pmichaud++ | src/core/Cool.pm: Fix handling of Str.index() for empty needle strings. |
03:40 | |
ast: ef83a7b | pmichaud++ | S32-str/index.t: Unfudge some nom regression tests that now pass again. |
03:41 | ||
pmichaud | PerlJam: Okay, I made my patch. Also, overflow.t passes for me. | ||
moritz | \o | 03:48 | |
03:53
tyatpi joined
04:03
kurahaupo left
|
|||
PerlJam builds a rakudo | 04:05 | ||
Watching wife and daughter play chess and it's hard not to jump in to help my daughter :) | 04:06 | ||
04:06
raining_ joined
04:07
skids joined
|
|||
sisar | pmichaud: overflow.t fails on 32-bit machines (probably) | 04:07 | |
PerlJam: are you on 32-bit ? | |||
04:07
Chillance left
|
|||
PerlJam | oh. My laptop is 32 bit I do believe | 04:07 | |
sisar | nice to get a confirmation. :) | 04:08 | |
PerlJam | yep. | ||
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? | ||
sisar: please skip with #?rakudo skip 'fails on 32bit' | 04:10 | ||
04:10
raining_ left
|
|||
moritz | (don't TODO them) | 04:10 | |
sisar | moritz: i'll to, is there a time limit for it ? | ||
coz we need a release... | |||
moritz | limit? | ||
sisar: PerlJam does the release; ask him :-) | 04:11 | ||
sisar | moritz: ok | ||
PerlJam | do it :) | ||
sisar | PerlJam: i'll do it | ||
04:14
thou joined
|
|||
sisar | if I want to say skip the next 42 tests, whats the syntax ? | 04:16 | |
#?rakudo skip 42 ? | |||
moritz | #?rakudo skip 42 'reason' | 04:19 | |
erm | |||
#?rakudo 42 skip 'reason' | |||
sisar | moritz: thanks | 04:20 | |
04:20
drbean left
04:24
drbean joined
04:25
skids left
|
|||
sisar | moritz: um... after adding #?rakudo skip wherever needed, what else do i need to change? | 04:27 | |
the plan doesn't need to be changed, right ? | 04:29 | ||
04:33
baest left
|
|||
moritz | correct | 04:37 | |
sisar | what is the expected output after the changes ? coz i still get you failed 28 out of 98 tests... | 04:38 | |
moritz | sisar: how did you run the test file? | 04:39 | |
sisar | after the changes, i do `perl6 overflow.t` | ||
moritz | well, you need to fudge it first | ||
make t/spec/S03-operators/overflow.t | 04:40 | ||
perl t/fudge rakudo t/spec/S03-operators/overflow.t; ./perl6 -Ilib t/spec/S03-operators/overflow.rakudo # roughly equivalent | 04:41 | ||
04:43
baest joined
|
|||
sisar | PerlJam: are my pending changes to roast a blocker for your release? | 04:50 | |
PerlJam | sisar: well, either you fudge the tests or I do. | 04:51 | |
sisar | PerlJam: i think you shoud do it. | 04:52 | |
Sorry | |||
sisar needs to understand this fudging process | 04:53 | ||
moritz | sisar: it's a preprocessor | 04:54 | |
if you run fudge on the test file, and there are fudge directives in there, it generates a modified copy of the test file | |||
.rakudo instead of .t | |||
sisar | what is the standard way to run a full spectest? `make spectest` ? | 04:56 | |
`make spectest` in ~/rakudo/ ? | |||
moritz | make spectest in your rakudo dir | 04:57 | |
sisar | um, what does make do here? convert .t files to .rakudo ? | 04:58 | |
moritz | yes | ||
in particular, 'make spectest' calls perl t/harness --fudge --keep-exit-code --icu=1 --tests-from-file=t/spectest.data | 04:59 | ||
and t/harness calls t/spec/fudgeall <testfiles> | |||
erm | |||
and t/harness calls t/spec/fudgeall rakudo <testfiles> | |||
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 ? | ||
moritz | and returns the original file name if there were no fudge directives, or the .rakudo file name otherwise | ||
sisar: no, fudge or fudgeall compares timestamps | |||
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 | |
*compiling | |||
moritz | sisar: right; make builds dependencies first | 05:04 | |
sisar | and since my laptop is horribly slow, i got stuck in the complation | ||
*compilation | |||
moritz++ #explanations | 05:06 | ||
can I make the commit to roast without testing it? (what could possibly go wrong, eh? ) ;-) | 05:07 | ||
moritz | that's not a good idea | 05:08 | |
PerlJam | everything is slow on my system right now for some reason. | ||
sisar | moritz: ok | 05:09 | |
05:09
lorn left
|
|||
PerlJam | (still waiting on a compile) | 05:09 | |
sisar too is waiting on a compile | 05:10 | ||
moritz | PerlJam: swapping? | ||
PerlJam | I don't know what's going on. It shouldn't be swapping | ||
05:13
lorn joined,
simcop2387 left
05:14
simcop2387 joined
05:16
cognominal left,
cognominal joined
05:17
leprevost left
|
|||
sisar | moritz: With my changes (gist.github.com/2970393, lines 195, 236, 239, 243), it has fudged more than 28 tests (gist.github.com/2970388). What am I doing wrong ? | 05:20 | |
moritz | sisar: dunno... maybe try to put the skip inside the block | 05:24 | |
sisar tries that | |||
moritz: that worked ! | 05:27 | ||
i'll push the changes now | |||
PerlJam | sisar++ | ||
05:31
birdwindupbird joined
05:35
sivoais left
|
|||
dalek | ast: f09f27f | (Siddhant Saraf)++ | S03-operators/overflow.t: [S03/overflow.t] fudge 28 tests for rakudo. They fail on 32-bit machines. |
05:35 | |
sisar | moritz, PerlJam: please check the commit ^^ | 05:36 | |
05:38
jimmy1980 left
|
|||
PerlJam | Is t/spec/S02-types/instants-and-durations.t supposed to be completely commented out? | 05:50 | |
05:51
adu joined
|
|||
moritz | huh? it passes here | 05:51 | |
sorear | good * #perl6 | 05:53 | |
moritz | is that another 32bit issue? | 05:54 | |
\o sorear | |||
PerlJam | no. | 05:55 | |
apparently it's a my-checkout issue. | 05:56 | ||
05:57
sporous left,
sporous joined
|
|||
adu | good * | 06:06 | |
06:09
fhelmberger joined
|
|||
moritz | \o adu | 06:13 | |
adu | o\ | ||
o no wrong slash | |||
dalek | kudo/nom: 26c9da1 | duff++ | tools/build/NQP_REVISION: [release] bump NQP revision |
06:21 | |
kudo/nom: 193256c | duff++ | VERSION: [release] bump VERSION |
|||
kudo/nom: 9006475 | duff++ | docs/release_guide.pod: use generic YYYY.MM for VERSION |
|||
06:30
sivoais_ joined
06:31
sivoais_ left,
sivoais_ joined
06:33
sivoais_ left
06:34
sivoais joined,
stephenlb left
06:36
adu left
|
|||
tadzik | yay release! | 06:36 | |
PerlJam++ | 06:37 | ||
PerlJam | and now it's bed time. | 06:38 | |
g'night all | |||
sisar | PerlJam++ | ||
moritz | PerlJam:++ | 06:44 | |
PerlJam++ | |||
06:45
cog_ joined
|
|||
Woodi | hallo :) | 06:47 | |
06:48
thou left,
Vlavv joined,
cognominal left
06:51
cog__ joined,
cog_ left
|
|||
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¶m1=public¶m1=0 | 06:54 | |
perl5 translated it to: { public => 1, name => joe, public => 0 } which override hardcoded "public => 1" | 06:55 | ||
question is: do in Perl6 it works same way ? automatic hash keys creation on assigment list to particular hash ? | 06:56 | ||
*hash key ? | 06:57 | ||
from YAPC::NA :) | |||
moritz | it's not SQL injection; it's a bog-standard logic error | ||
Woodi | presentation included it in sql inyection section :) and that code was part of SQL::Anything sql command creation | 06:58 | |
but is it work in Perl6 same way ? | 06:59 | ||
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 ? | ||
k, I will try golf answer | |||
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:------> my %h = a => 1, b => 2; sub f(*⏏%a) { say %h.perl }; f |%h, a => 5{"a" => 1, "b" => 2}.hash» | ||
..rakudo 242765: OUTPUT«duplicate named argument in call in block <anon> at /tmp/TzCtTNSyeH:1» | |||
moritz | nr: my %h = a => 1, b => 2; sub f(*%a) { say %a.perl }; f |%h, a => 5 | ||
p6eval | niecza v18-7-ga660099: OUTPUT«{"a" => 5, "b" => 2}.hash» | ||
..rakudo 242765: OUTPUT«duplicate named argument in call in block <anon> at /tmp/mEGl9qTEL2:1» | |||
Woodi | exploit part was a assigning list to hash key, which "injected" keys after that key | 07:04 | |
moritz | nr: my %h; %h<a> = (1, 2, 3 ); say %h.keys | 07:10 | |
p6eval | rakudo 242765, niecza v18-7-ga660099: OUTPUT«a» | ||
moritz | well, that won't happen in Perl 6 | ||
nr: my %h; %h<a b> = (1, 2, 3, 4, 5 ); say %h.keys | |||
p6eval | rakudo 242765, niecza v18-7-ga660099: OUTPUT«a b» | ||
07:17
adu joined
|
|||
moritz | fwiw I've patched ufo to not shell out to find(1) | 07:23 | |
based on the dirwalk code from not_gerd++ | |||
07:24
[particle] left
07:25
[particle] joined
07:35
noam_ left
07:38
kresike joined
|
|||
kresike | good morning all you happy perl6 people | 07:39 | |
adu | hey | 07:41 | |
tadzik | hello | ||
adu | I'm not happy, I'm so angry ;) | ||
diakopter | definitely an angry wink | 07:42 | |
sorear | good morning kresike. | ||
kresike | adu, being angry usually doesn't help :) | ||
tadzik, sorear, o/ | |||
adu | :D | ||
I meant to say I'm tired | 07:43 | ||
good night | |||
kresike | good night adu :) | ||
adu | :) | 07:44 | |
07:44
adu left
08:15
sergot joined
|
|||
sergot | hi o/ :) | 08:16 | |
tadzik | \o | ||
08:20
[particle]1 joined
|
|||
tadzik | .u ˙ | 08:23 | |
phenny | U+02D9 DOT ABOVE (˙) | ||
08:23
[particle] left
|
|||
szabgab | good daytime | 08:30 | |
tadzik | hello szabgab | 08:31 | |
szabgab | I was wondering if the current statet of the art in module installaion was to follow the panda? | ||
sorear | yo, szabgab | ||
I think I have not seen you for a while | |||
moritz | szabgab: yes | ||
szabgab | sorear: indeed I have not been around perl6 a while | 08:33 | |
moritz: ty | |||
tadzik | eiro: ping | ||
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:38
simcop2387 left
08:42
simcop2387 joined
08:43
simcop2387 left
08:44
simcop2387 joined
08:48
Patterner left
|
|||
szabgab | sorry for another obvious question, how do I read the pod of the modules I installed? | 08:55 | |
besides using vim, that is | |||
08:56
JimmyZ joined
|
|||
tadzik | perl6 --doc path/to/file | 08:56 | |
I should really make it work for module name as well | |||
moritz | p6doc can do it | ||
tadzik | the side effect would be that you could do perl6 Some::Application as well | 08:57 | |
szabgab | where is p6doc? | ||
moritz | github.com/perl6/doc | ||
to be bundled with the next star release | 08:58 | ||
szabgab | sorry , phone | 09:00 | |
09:00
tadzik is now known as phone
|
|||
phone | szabgab: no problem :) | 09:00 | |
09:00
phone is now known as tadzik
09:01
BaggioKwok joined
09:03
alvis` left
09:05
Psyche^ joined,
Psyche^ is now known as Patterner
09:07
BaggioKwok left
09:16
JimmyZ left
09:17
JimmyZ joined
|
|||
tadzik | declaring you own sub import doesn't work, right? | 09:18 | |
09:19
cog_ joined
09:21
shk joined
09:22
cog__ left
09:23
kurahaupo joined
09:25
shk left,
sisar left
09:26
sisar joined
09:27
snearch joined
09:33
JimmyZ left
|
|||
tadzik | moritz: ping | 09:46 | |
jnthn | morning o/ | 09:48 | |
...ish :) | |||
masak | *yawn* | ||
tadzik | hello hello | ||
sergot | o/ | 09:49 | |
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' | ||
p6eval | rakudo 900647, niecza v18-7-ga660099: OUTPUT«hello helloI don't know why you say goodbye, I say hello» | ||
masak | tadzik: so you want a use-time hook in the used module? | ||
tadzik | right | ||
use Bailador; Bailador::import; doesn't look appealing | 09:51 | ||
masak | well, check how 'use' and 'require' and 'need' are implemented in Rakudo. | ||
that might give some ideas, at least. | |||
tadzik | use calls EXPORT, but only if there are arguments to use | ||
masak | hm. | ||
tadzik | and EXPORT is a weird business | ||
masak | but there are default exports... | ||
tadzik | lib.pm declares EXPORT but it does so outside of the whole module | 09:54 | |
jnthn | I'd guess that it's expected to be in UNIT | 09:56 | |
tadzik | aargh. I don't get it at all :) | 09:57 | |
but according to spectests, import() ought to work too | |||
masak | tadzik++ # digging into this | 09:58 | |
hopefully it'll end up looking neater for it. | |||
it doesn't sound like a contrived use case at all. | |||
tadzik | I got away with github.com/tadzik/Bailador/commit/...63b80b3dab so far | 09:59 | |
masak | yeah, you'd want it implicit, otherwise the onus is on the client. | 10:02 | |
tadzik | right | ||
btw, blogs.perl.org/users/ben_bullock/20...-name.html inspired me a bit | |||
it _is_ annoying, when you try to install something and you wonder if it's Some::FunnyModule or Some::Funnymodule or Some::funnymodule | |||
and I'm tempted to make it case insensitive in panda | 10:03 | ||
masak | nonono | 10:20 | |
no offense to Postel, but that's not a good idea long-term. | |||
jnthn | .oO( I'm a Windows user and I support this idea! :-P ) |
||
tadzik | (: | 10:21 | |
moritz | +0.5, if done carefully | 10:24 | |
ie if there are two modules of the same name but different case, it shouldn't work case insensitively | 10:25 | ||
... anymore | |||
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:27 | |
moritz | we can name them Module.123.pm | 10:32 | |
we (should) allow some wiggle room in file names for versioned modules anyway | |||
10:34
am0c_ joined
|
|||
masak wonders where the mapping will live | 10:35 | ||
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:36 | ||
or, more precisely, allowing case-DWIMmery will create an ecosystem with sloppy case handling. | 10:37 | ||
10:42
[particle] joined
|
|||
masak | tadzik: what about a CHECK phaser in the use-d module? wouldn't that do what you want? | 10:42 | |
10:43
[particle]1 left
10:44
woosley joined
|
|||
moritz | wh | 10:45 | |
sorry | |||
what are you trying to do? | |||
CHECK is run at the end of compile time | |||
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? | ||
using callframe from CHECK probably won't work. but maybe there's another introspective way that does. | 10:46 | ||
or maybe we should have one. a kind of callframe for usage relations. | |||
moritz | I don't think callframe will work through 'use' anyway | ||
tadzik | caller() works in Perl 5, and Dancer relies on that | 10:47 | |
masak | it sounds like a fairly non-contrived use case. we should probably have a feature there. | 10:48 | |
10:48
daxim joined
|
|||
moritz | well | 10:48 | |
the proper solution is to have 'use' call a macro | |||
so that you don't need caller(), you're in the right context right away | |||
what does dancer use it for, ooc? | 10:50 | ||
tadzik | the script location, so templates are loaded relatively to it | ||
also, configuration and other stuff. Generally, for later reading files in location relative to the script | |||
moritz | $*PROGRAM_NAME ? | ||
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:51 | |
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. | ||
moritz | because it allows things like installing CATCH blocks | ||
masak | installing phasers into the mainline does seem to be on the table. | 10:53 | |
moritz | for installing custom backtrace printers, for example | ||
masak | even though I asked all y'all what you would prefer the semantics to be there, and y'all said "both" :P | ||
I'm overriding that and going with "the quasi hands phasers over to the mainline" | |||
if you want a phaser in the macro itself, put it outside of the quasi. | 10:54 | ||
I know I'm a bit late to the game, but full ACK on www.modernperlbooks.com/mt/2012/05/...table.html | 10:58 | ||
much of my evolution as a programmer in the past 2..3 years has been informed by similar insights. | |||
tadzik | wow | 11:01 | |
I wrote a blog engine in Bailador using DBIish and sqlite, and it can serve more than one request per second! | |||
Requests per second: 1.39 [#/sec] (mean), to be exact | 11:02 | ||
colomon | \o/ | 11:03 | |
masak | \o/ | 11:04 | |
tadzik++ # wrote a blog engine in Bailador using DBIish and sqlite! | |||
moritz | \o/ | ||
tadzik++ | |||
somebody uses DBIish! | |||
tadzik | I wanted to use especially that :) | 11:05 | |
11:05
kaleem left
|
|||
tadzik | and datetime in sqlite works nothing like I'd expect | 11:07 | |
masak | how so? | 11:08 | |
moritz | everything is a string in sqlite | ||
(except primary key integer columns) | |||
tadzik: any feedback on DBIish? | 11:09 | ||
tadzik | oh, that'll expect it | ||
moritz: it works well :) | |||
it feels like DBI mostly | |||
moritz | well, mostly it is :-) | 11:10 | |
tadzik | wtf, why does github prefer https over ssh these days? :( | 11:12 | |
moritz has no idea | 11:13 | ||
masak | that surprised me as well. | ||
tadzik | Existing Git Repo? git remote add origin github.com/tadzik/zblog.git | ||
so, the code's here: github.com/tadzik/zblog | 11:14 | ||
moritz | git://github.com/tadzik/zblog.git | ||
I guess :-) | |||
tadzik | no, that one's read-only :) | 11:15 | |
and it's not even [email@hidden.address] | |||
there, poof! Proof of concept | |||
so the next step is sessions probably | 11:16 | ||
moritz | [email@hidden.address] iirc | ||
masak dives into the source code | 11:17 | ||
it's 27 lines of code! tadzik++ | |||
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 :-) | ||
masak | oh, I missed that :D | ||
moritz | źblog.pl | ||
masak | źubr! tadzik++ | ||
no, wait. | 11:19 | ||
that's żubr :) | |||
sergot | masak: żubr | ||
masak | right. | ||
sergot | right :) | ||
masak | damn you, Polish! you win this time! | ||
tadzik: you could have awesome tag lines. "Blogging with an accent." "The ź is not silent." | 11:20 | ||
Timbus | <tadzik> wtf, why does github prefer https over ssh these days? :( | 11:22 | |
masak | "Using it is easier than pronouncing it!" | ||
Timbus | because most workplaces block ssh | ||
masak | workplaces-- | ||
Timbus | agreed | 11:23 | |
tadzik | masak: I plan to :) | 11:25 | |
masak: ohhh, that one's awesome (tagline) | |||
moritz | which one? :-) | 11:26 | |
tadzik | both! :) | ||
moritz | there were three :-) | ||
tadzik | haha | ||
indeed | |||
I guess writing it is easier than pronouncing it too | |||
masak | :P | 11:28 | |
"Just because you don't know how it's pronounced doesn't mean it's not awesome!" | |||
11:29
JimmyZ joined
|
|||
masak | tadzik++ # hoopy frood | 11:29 | |
11:31
spider-mario joined,
spider-mario_ joined
|
|||
tadzik | :) | 11:34 | |
11:34
spider-mario left
11:36
Moukeddar joined
|
|||
masak | Moukeddar! \o/ | 11:38 | |
nr: say (class :: { has @.foo }).new(foo => [1, 2, 3]).foo.elems | 11:41 | ||
p6eval | rakudo 900647, niecza v18-7-ga660099: OUTPUT«3» | ||
masak | \o/ | ||
sorear++ # v18 | 11:45 | ||
11:47
GlitchMr joined,
JimmyZ left
11:48
JimmyZ joined
|
|||
masak | moritz++ # perlgeek.de/blog-en/perl-6/2012-gra...s-may.html | 11:49 | |
jnthn | r: say 318 / 2 | 11:51 | |
p6eval | rakudo 900647: OUTPUT«159» | ||
11:51
fhelmberger left
|
|||
masak | moritz: I'm looking at the exceptions catalogue for the first time. liking what I see. | 11:57 | |
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. :) | 11:58 | ||
masak really liked www.modernperlbooks.com/mt/2012/06/...mming.html too | 12:05 | ||
12:09
tokuhirom joined
12:25
sergot left
|
|||
masak | PerlJam++ # 2012.06 "Strasbourg" | 12:25 | |
12:33
leprevost joined
12:37
spider-mario_ is now known as spider-mario
12:38
sergot joined
12:39
cog__ joined
12:42
cog_ left
12:44
Moukeddar left
|
|||
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» | ||
masak | rmdir should *probably* not be runnable on p6eval. | ||
[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.) | ||
heh, S29 claims that 'rmdir' can be found in the IO modules. :) | 12:52 | ||
which may be true. but it's also a builtin function, just like in Perl 5. | |||
jnthn | masak: Or just update SAFE.setting. | 12:53 | |
masak has a look | 12:55 | ||
jnthn++ | 12:56 | ||
dalek | kudo/nom: bbc5b70 | (Carl Mäsak)++ | src/SAFE.setting: [SAFE.setting] restricted &rmdir |
||
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… | ||
masak | anyone opposed to me changing the return type of &dir ? | 12:59 | |
it currently returns strings with basenames. no paths. | |||
that feels a bit like trying to eat a dinner through a straw. | |||
13:00
spider-mario left
|
|||
masak | I'd prefer if it returned IO objects, which stringify to the "full path" (fsvo) | 13:00 | |
and then you could get the basename easily if that's what you want. | |||
tadzik | yes | ||
masak | ok, good. | ||
doin' it. | |||
tadzik | File::Find has similar objects | ||
masak: github.com/tadzik/perl6-File-Tools...Find.pm#L5 | 13:01 | ||
bleh, I was using tabs back then | |||
masak | hehe :) | ||
that shouldn't be as necessary after this change. | |||
the File::Find::Result class, I mean. not the tabs. | |||
tadzik | :) | 13:02 | |
masak | today feels like the first day I'm back for realz to #perl6. | 13:03 | |
gonna make good use of it :) | |||
13:09
Psyche^ joined
|
|||
masak | t/spec/S06-routine-modifiers/lvalue-subroutines.rakudo .... Failed 6/14 subtests | 13:09 | |
is this known? | 13:10 | ||
tadzik | . o O ( "It is known, khaleesi" ) | 13:11 | |
masak | :> | 13:12 | |
13:13
Patterner left,
Psyche^ is now known as Patterner
|
|||
masak | r: class A { say $?CLASS } | 13:18 | |
p6eval | rakudo bbc5b7: OUTPUT«A()» | ||
masak | r: class A { say ~$?CLASS } | ||
p6eval | rakudo bbc5b7: OUTPUT«use of uninitialized value of type A in string context in <anon> at /tmp/CiCsTKLDeJ:1» | ||
masak | r: class A { say $?CLASS.^name } | ||
p6eval | rakudo bbc5b7: OUTPUT«A» | ||
masak | r: class Khal { has $.name; method gist { "$?CLASS.^name() $.name" } }; say Khal.new(:name<Drogo>) | 13:19 | |
p6eval | rakudo bbc5b7: OUTPUT«Khal Drogo» | ||
masak | \o/ | ||
tadzik | :D | ||
13:25
birdwind1pbird joined
13:26
leprevost left,
atrodo joined,
skids joined
13:28
sergot1 joined
13:30
sergot left
|
|||
colomon | ack, trying to use perl5 is a series of little annoyances... | 13:31 | |
dalek | kudo/nom: 69e6ec2 | masak++ | src/core/IO.pm: [core/IO.pm] return IO objects from &dir There's a tension between wanting the full path and wanting just the file name from this function. That indicates that we really want to return a data structure that can easily be turned into either form. Made it so. |
||
ast: bef1742 | masak++ | S32-io/dir.t: [S32-io/dir.t] changed the expectations around - No longer expecting a single file name 't' but a path './t' - No longer expecting a list of Str but a list of IO |
|||
masak food & | 13:32 | ||
[Coke] | masak: what about windows? is "./t" the canonical form everywhere? | 13:34 | |
masak | good point. | ||
flussence | I hope so, for sanity reasons | ||
masak | do we have a $?PATH_SEPARATOR variable or something? | ||
if not, I'm inclined to leave it as it is for now. | 13:35 | ||
[Coke] | flussence: that's fine, but I don't know if that's spec. | 13:36 | |
13:39
JimmyZ left
13:40
larks joined
13:46
woosley left
|
|||
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:49 | |
13:53
fgomez left
13:54
Pleiades` joined
|
|||
szabgab | r: try { die "die" CATCH { say 42 } } | 13:59 | |
p6eval | rakudo bbc5b7: OUTPUT«===SORRY!===Unable to parse blockoid, couldn't find final '}'» | ||
szabgab | one of us is confused, either rakudo or me | 14:00 | |
jnthn | missing semicolon | ||
sergot1 | r: try { die "die"; CATCH { say 42 } } | ||
p6eval | rakudo bbc5b7: OUTPUT«42die in block <anon> at /tmp/MlfxLSm5x4:1» | ||
szabgab | so it was me :) | 14:01 | |
14:01
fgomez joined
|
|||
szabgab | r: try { die "die"; CATCH { say 42 } }; say "ok" | 14:02 | |
p6eval | rakudo bbc5b7: OUTPUT«42die in block <anon> at /tmp/BGNRQyyfoe:1» | ||
szabgab | and why does it not catch it? | ||
Pleiades` | ir: try { die "die"; CATCH { say 42 } }; say "ok"; | 14:03 | |
er | |||
r: try { die "die"; CATCH { say 42 } }; say "ok"; | |||
p6eval | rakudo bbc5b7: OUTPUT«42die in block <anon> at /tmp/VFhJoX5vTt:1» | ||
jnthn | szabgab: It does, but the CATCH block doesn't do anything to indicate that it handled it. | ||
szabgab | oh, right I see the 42 ow | 14:04 | |
now | |||
jnthn | szabgab: Either smartmatch against the type of exception you want to catch with a when block, or put a default { ... } in there. | ||
szabgab | but I still don't see the ok | ||
jnthn | r: try { die "die"; CATCH { default { say 42 } } }; say "ok"; | ||
p6eval | rakudo bbc5b7: OUTPUT«42ok» | ||
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 | ||
jnthn | Note that a CATCH need not be in a try; it just applies to the enclosing block. | ||
Also note that try with no CATCH in catches everything. | |||
[Coke] | r: try { die "die"; CATCH { say 42 ; return () } } ; say "ok"; | 14:06 | |
p6eval | rakudo bbc5b7: OUTPUT«42ok» | ||
14:06
Pleiades` left
|
|||
jnthn | Uh. :) | 14:06 | |
14:06
Pleiades` joined
|
|||
[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 | ||
[Coke] | otherwise it ain't happy, I guess. | ||
r: try { die "die"; CATCH { say 42 ; Nil } } ; say "ok"; | 14:07 | ||
p6eval | rakudo bbc5b7: OUTPUT«42die in block <anon> at /tmp/ldKqs4Syyg:1» | ||
[Coke] | r: try { die "die"; CATCH { say 42 ; return Nil } } ; say "ok"; | ||
p6eval | rakudo bbc5b7: OUTPUT«42ok» | ||
[Coke] | looks like the explicit return is required, at least in rakudo. | ||
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:08 | ||
jnthn | [Coke]: You're not meant to do that, you're meant to wrap it in default { } really | 14:09 | |
[Coke]: And if you just want to catch it and ignore it then a plain old try { ... } is OK. | 14:10 | ||
Without a CATCH | |||
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. | ||
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. | ||
for example: log the fact that an error occurred, but move on to the next task. | |||
jnthn | [Coke]: Yes, but generally you care about what type of failures you're handling. | ||
szabgab | IMHO ignore-ing sould be explicit to be clear to the reader | 14:12 | |
14:12
snearch left
|
|||
jnthn | default { } is your way to say "handle everything" | 14:12 | |
when X::IO { } is your way to say "handle any IO exceptions" | |||
etc. | |||
[Coke] | jnthn: so you're saying you don't need the return if you catch an explicit type? | ||
jnthn | [Coke]: Yes, it's the same semantics as a given/when block | ||
[Coke]: Something just has to proceed. | 14:13 | ||
er | |||
suceed. | |||
14:13
sergot1 left
|
|||
jnthn | wtf...succeed | 14:13 | |
:) | |||
[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 '}'» | ||
[Coke] | r: { die "die"; CATCH { default { say 42 } } ; say "ok"; | ||
p6eval | rakudo 69e6ec: OUTPUT«===SORRY!===Unable to parse blockoid, couldn't find final '}'» | ||
jnthn | One too few } | ||
oh, no | |||
yes | |||
r: try { die "die"; CATCH { default { say 42 } } }; say "ok" | 14:15 | ||
[Coke] | r: { die "die"; CATCH { default { say 42 } } } ; say "ok"; | ||
p6eval | rakudo 69e6ec: OUTPUT«42ok» | ||
[Coke] | jnthn: the compiler that cried wolf. I don't even look for missing }'s at this point. ;) | ||
hurm.... will have to let that grow on me. | 14:16 | ||
masak | anyone against making &unlink a method on IO? | ||
pmichaud | good morning, $perl6 | 14:17 | |
*#perl6 | |||
masak | (as well as a sub, not instead of) | ||
pmichaud! \o/ | |||
jnthn | o/ pmichaud | ||
colomon | o/ | ||
masak | things are inconsistent right now. © is both a sub and a method. &rename is just a sub. | 14:18 | |
we do need an IO champion who cares about this mess. | |||
well, someone who cares about making it less of one ;) | 14:19 | ||
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 | ||
masak | in fact, most of these builtins might be handy to have around as methods on IO. | ||
pmichaud: the thing that feels wrong about it to me is that IO conflates two important concepts in Perl 6. | |||
pmichaud: "something to read from/write to" and "whatever's pointed to by a file path" | 14:21 | ||
14:21
majrmovies joined,
birdwind1pbird left
|
|||
masak | but we've always had that problem, and I don't see it going away or being resolved. | 14:21 | |
in some senses, I guess it's a useful confusion. | |||
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. | |||
[Coke] is used to Files, Readers, Writers, Buffered*, Paths, File, ... | |||
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 | ||
masak | I'm all for that. | ||
14:22
birdwind1pbird joined
|
|||
szabgab | when I get an exception on the screen, how can I know what exception object was that? eg. I get | 14:23 | |
Failed to get the directory contents of '/home/gabor/work/panda/bin/panda': readdir failed: Not a directory | |||
14:23
mikemol joined
|
|||
szabgab | I figured it out but I had to guess | 14:23 | |
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 | p: 777e36f | jnthn++ | src/how/NQPClassHOW.pm: 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. |
||
p: 0db5015 | jnthn++ | src/ (2 files): Get NQP to use a BUILDPLAN just like Rakudo does. Improves build methods support also. |
|||
p: fcc9a23 | jnthn++ | src/how/NQPClassHOW.pm: Implement attribute introspection in the non-:local case. |
|||
14:24
PacoAir joined
|
|||
szabgab | why isn't the name of the exception class part of the printed text? | 14:24 | |
by default | |||
pmichaud | I'm guessing because it makes for harder-to-read error messages for some people | 14:25 | |
either that or we just didn't think of it :) | |||
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
tokuhirom left
|
|||
szabgab | X::IO::Dir exception received: | 14:26 | |
and the rest as it is now | 14:27 | ||
I think | |||
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:28 | |
14:29
mtk left
|
|||
szabgab | probabaly | 14:29 | |
r: try { die "hi"; CATCH { when X::IO::Dirx { say "ok" } } } | |||
p6eval | rakudo 69e6ec: OUTPUT«===SORRY!===Missing blockat /tmp/U3n4TH_a40:1» | ||
pmichaud | anyway, moritz++ is the exceptions champion at the moment; we should probably ask him | ||
14:30
mtk joined
|
|||
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" | ||
pmichaud | TimToady: yes, and that too. | ||
[Coke] | if you have some place to dump it, sure. | ||
szabgab | in this age we should expect several screens to be attached to a computer :) | ||
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" | ||
[Coke] | I would really want that to be configurable, | ||
. | |||
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:36 | |
szabgab: STD does this better, I believe. it assumes there was a typo and the block was mistakenly gobbled. | 14:37 | ||
therefore* | |||
pmichaud | returning to a topic from yesterday: irclog.perlgeek.de/perl6/2012-06-21#i_5746394 | 14:39 | |
(matching actions to parse rules) | |||
14:39
birdwind1pbird left
|
|||
[Coke] | std: try { die "hi"; CATCH { when X::IO::Dirx { say "ok" } } } | 14:39 | |
p6eval | std 30385f8: OUTPUT«===SORRY!===Function 'X::IO::Dirx' needs parens to avoid gobbling block at /tmp/t2B3kDqtG5 line 1:------> try { die "hi"; CATCH { when X::IO::Dirx⏏ { say "ok" } } }Missing block (apparently gobbled by 'X::IO::Dirx') at /tmp/t2B… | ||
pmichaud | how about a pragma, dynvar, or equivalent that warns whenever a matching rule doesn't find its corresponding action? | ||
szabgab | masak: excuses :) I added to my private list of complaints | ||
kresike | bye all | 14:40 | |
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 | |
14:41
kresike left
|
|||
szabgab | so that might give a better error message of the parsing error? | 14:41 | |
pmichaud | STD does this, yes. | ||
szabgab | ok, so that was not *that* carzy of an idea :) | 14:42 | |
masak: and btw, thanks for the explanation | |||
14:45
wtw left
|
|||
szabgab | ... as a workaround I can print $_.WHAT in the CATCH block to get the exception class | 14:49 | |
14:56
Chillance joined
|
|||
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:00 | |
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:01 | ||
oops, five. | 15:02 | ||
15:02
fgomez left
15:03
araujo left
15:04
thou joined
15:05
MayDaniel joined
|
|||
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 | ||
"Missing block after 'else'" instead of just "Missing block" | |||
"Missing block -- 'repeat' requires 'while', 'until', or block" (or somesuch) | 15:08 | ||
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 | ||
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.===SORRY!===Missing block at /tmp/jkqJGvQUyV line 1:------> if 1 { say 'yes' } else … | ||
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,
araujo left,
araujo joined
|
|||
pmichaud | "'else' requires a block" might be better there? | 15:12 | |
anyway, I'll give it a try. :-) | |||
TimToady | masak: "Then don't do that!" | 15:13 | |
masak | TimToady: :P | ||
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? | ||
pmichaud | the other places can likely do just: [ <pblock> || <.panic: "Missing block"> ] to get roughly equivalent functionality | ||
TimToady | pmichaud: yes, that's better in the case of recovering C programmers | 15:14 | |
pmichaud | or PHP programmers | ||
TimToady | I'm using C as a base class there... | ||
pmichaud | :-) | ||
harmil: if you do "--with-llvm", you should get a Parrot linked to LLVM, yes. | 15:15 | ||
harmil | pmichaud: thanks | ||
jnthn | I don't think it actually does a great deal with it, however. | ||
pmichaud | yeah, I didn't even know that Parrot had a --with-llvm option. :-) | ||
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. | ||
pmichaud | it's more like "rakudo with Parrot's llvm library linked", in all probability. | ||
harmil | Oh, I thought it enabled llvm-based jitting in the parrot vm | ||
pmichaud | --with-llvm Link to LLVM if it is available | 15:17 | |
I don't think it does that, no. | |||
harmil | ah | ||
15:17
araujo left
15:18
am0c_ left
|
|||
dalek | kudo/nom: a56bf75 | jnthn++ | src/Perl6/Metamodel/ (2 files): Provide a way to cleanly set name/ver/auth. |
15:18 | |
kudo/nom: 04ec0c0 | jnthn++ | tools/build/NQP_REVISION: Bump to latest NQP for meta-model improvements. |
|||
kudo/nom: f740e37 | jnthn++ | src/core/PseudoStash.pm: Fix a thinko that somehow wented undetected; guess we only cared about the .WHO of the created thing so it sorta worked out. |
|||
kudo/nom: 86b3009 | jnthn++ | src/ (12 files): 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. |
|||
harmil | blog.bacek.com/ — that guy seems to have stopped working on it (or at least blogging about it) last year... | ||
rjbs | I'm having a look at STD.pm6 and have a few questions. | ||
TimToady | uh-oh | 15:19 | |
pmichaud | rjbs: o/ | ||
rjbs | (1) ident v. identifier; I understand the difference in definition, but what's the deal? :) | ||
Is ident just there to make it easier to define identifier in terms of it? | |||
pmichaud | <ident> is a builtin for all regexes | 15:20 | |
rjbs | (I ask because if so, ident is referred to a few times elsewhere.) | ||
TimToady | ident is the standard CSy definition, so it seemed people might find it useful someday | ||
15:20
sergot joined
|
|||
pmichaud | it's the standard "start with letter followed by letters/digits" definition | 15:20 | |
identifier is the Perl6-y "and also allow apostrophes and underscores" variant | 15:21 | ||
s/underscores/hyphens/ | |||
rjbs | Okay. And how is \w defined in p6? | ||
pmichaud | \w is underscore + <.alpha> | ||
rjbs | btw, allow me to make a joyful noise about the use of hyphen | ||
pmichaud | plus digits | 15:22 | |
TimToady | includes Unicode, of course | ||
pmichaud | (I need to not type while distracted, sorry) | ||
harmil | Good call on \w BTW. I'd have been terminally confused if \w+ included "-" | ||
rjbs | TimToady: Right. Is it [_\pL\pN] ? | ||
or [_\p{Alnum}]? | |||
(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 | ||
Also, perhaps more importantly, where could I find the definition of \w ? | |||
TimToady | it's one of those things that is still handwavingly defined in terms of P5, I suspect, alas | ||
rjbs | Okay. | ||
TimToady | .oO(which P5?) |
15:25 | |
rjbs | Have you considered using the Unicode ID_* props? | ||
TimToady | but the intend is that \w match all the standard alphanumerics in Unicode plus _ | ||
pmichaud | I'd presume that \w is _ + \pL + \pN | ||
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) | ||
rjbs | pmichaud: That'd be better, since alnum includes marks. | ||
Thanks! | 15:27 | ||
TimToady | well, by default marks mostly won't exist in NFG, which is the ideal we're aiming for | ||
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 | ||
rjbs | Is NFG a p6 thing? My vague memory was that it was a Parrot thing. | ||
TimToady | yes | ||
rjbs | Cool. | ||
pmichaud | NFG is a p6 thing that we want to eventually see in Parrot. | ||
TimToady | parrot has documented it better, but p6 had the idea first | ||
15:28
araujo joined,
araujo left,
araujo joined
|
|||
rjbs | Right now p5 lets you say $̈ = 10; | 15:28 | |
which is pretty awesome, but also terrible | |||
pmichaud | rakudo: $ = 10; say 'alive' | 15:29 | |
p6eval | rakudo 69e6ec: OUTPUT«===SORRY!===Non-declarative sigil is missing its nameat /tmp/DVOZ2zqblz:1» | ||
rjbs | pmichaud: you forgot the combining diaresis | ||
pmichaud | rakudo: ($) = 10; say 'alive' | ||
p6eval | rakudo 69e6ec: OUTPUT«===SORRY!===Contextual $*GOAL not found» | ||
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 | ||
rjbs | rakudo: ($̈) = 10; say 'alive' | ||
p6eval | rakudo 69e6ec: OUTPUT«===SORRY!===Non-declarative sigil is missing its nameat /tmp/SRXOc7LAYg:1» | ||
TimToady | std: ($̈) = 10; say 'alive' | 15:30 | |
p6eval | std 30385f8: OUTPUT«===SORRY!===Non-declarative sigil is missing its name at /tmp/gm4wK38ke8 line 1:------> (⏏$̈) = 10; say 'alive'Use of uninitialized value $first in string eq at STD.pm line 66369.Use of uninitialized value $first in string lt … | ||
TimToady | std: my ($̈) = 10; say 'alive' | ||
p6eval | std 30385f8: OUTPUT«===SORRY!===Unable to parse declarator at /tmp/1_DbgInaun line 1:------> my ⏏($̈) = 10; say 'alive'Couldn't find final ')'; gave up at /tmp/1_DbgInaun line 1:------> my ($⏏[31m̈) = 10; say 'alive' expecting … | ||
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 | ||
so... I'm hopeful. :) | |||
rjbs | pmichaud: Cool! If it was Karl, and he leaves us for you, though, I will try salty tears. | ||
:) | |||
pmichaud | (where 'express interest' == "held a longish hallway discussion with me about it"). It wasn't Karl. :) | ||
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. | ||
TimToady | pmichaud: who were you talking to? | ||
15:33
brrt joined
|
|||
pmichaud | TimToady: Nick Patch. act.yapcna.org/2012/talk/82 | 15:33 | |
TimToady | maybe we should have them fight for the priviledge :) | ||
pmichaud | noway | ||
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 :| | ||
TimToady | s/have to/get to/ :) | ||
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
Pleiades` left
|
|||
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? :) | ||
or do i just make a third new class? | |||
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 | ecs: 1b5ae87 | jnthn++ | S12-objects.pod: Add a section on custom meta-objects. |
||
pmichaud | that way I could modify/test MapIter2 without a full CORE.setting recompile on each iteration | 15:37 | |
15:37
Pleiades` joined
|
|||
harmil | Now this is a fun error: Can not get non-existent attribute '$!ex' on class 'Exception' | 15:38 | |
15:41
jaldhar left
|
|||
timotimo | that sounds useful to me | 15:41 | |
first i'll have to fix my parrot, though | 15:42 | ||
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
kurahaupo left
|
|||
jnthn | [Coke]: ...what? | 15:44 | |
oh! | |||
d'oh! | 15:45 | ||
[Coke] | looks like that error wented unnoted also. ;) | 15:46 | |
15:48
fgomez joined
|
|||
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 | |
15:49
fgomez left,
fgomez joined
|
|||
timotimo | oh, then i might want to not do anything right now | 15:51 | |
TimToady is thinking of verbs that start with Y | |||
TimToady pictures timotimo yodeling | 15:52 | ||
[Coke] | TimToady: verbs.woxikon.com/english-verbforms-with-y ! | 15:54 | |
15:55
JimmyZ joined
|
|||
[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
|
|||
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 | |||
pmichaud | (i.e., I wouldn't use that as a reason to halt working on things) | ||
afk, lunch | 15:58 | ||
16:06
[hds] joined
|
|||
harmil | Not sure why this fails: IO("foo.test", :w).say("hello, world") | 16:07 | |
16:07
brrt left
|
|||
harmil | Gives me "Too many positional parameters passed; got 2 but expected 1" | 16:07 | |
in print | 16:08 | ||
$*OUT.say("hello world") seems to work fine. Am I opening the file wrong? | |||
TimToady | IO() is a coercion | ||
so takes only one argument | |||
IO.new() might do better, or open() | |||
harmil | So IO.open threw a different error, let me get that... | 16:09 | |
TimToady | nr: $*OUT.say: 'howdy' | ||
p6eval | rakudo 69e6ec, niecza v18-7-ga660099: OUTPUT«howdy» | ||
harmil | "IO.open("foo.test", :w).say("hello, world")" gives: Cannot bind attributes in a type object | ||
16:10
fgomez left
|
|||
TimToady | s/IO.// | 16:10 | |
not sure what the method form thinks it's doing there | 16:11 | ||
IO("/dev/tty").open(:w).say('howdy') | |||
16:11
kurahaupo left
|
|||
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) … | ||
..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… | |||
moritz | harmil: just use the sub form, as the docs and all examples do | 16:12 | |
open($file, :w) | |||
harmil | open("foo.test", :w).say("hello, world") | ||
that exits without error and creates the file, but does not write anything to it.... | |||
16:12
fgomez joined
|
|||
moritz | save the file handle, and .close it | 16:13 | |
16:13
fgomez left
|
|||
harmil | ok | 16:13 | |
moritz | it's a rakudo+parrot bug | ||
16:13
fgomez joined
|
|||
harmil | works | 16:13 | |
TimToady++, moritz++ | |||
TimToady | given open("foo.test",:w) { .say("howdy"); .close } | 16:14 | |
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 | ||
sorear | good * #perl6 | 16:16 | |
TimToady | o/ | 16:17 | |
moritz kinda thinks Ingyland is too magical | |||
masak | it is if there's some kind of drawback to it intuiting. | 16:18 | |
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. | |||
moritz | we *could* just name it writeall | 16:19 | |
masak | (and the second biggest reason is that write operations have more failure modes) | ||
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 | ||
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 | |
Just things I'm noticing as I go. | |||
16:20
ggoebel left
|
|||
moritz | or return the IO handle | 16:20 | |
so that you can chain methods | |||
that would bey ingyish too | |||
masak | re the thing pmichaud proposed earlier about having IO and two subclasses. how about 'File' and 'FileHandle'? | 16:21 | |
hm, but $*IN isn't really a file handle, is it. | |||
maybe 'File' and 'Stream'. | |||
or 'IOStream'. | |||
or 'IO::File' and 'IO::Stream'. | |||
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 ;) | ||
harmil | masak: same | ||
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:23 | ||
16:24
JimmyZ left
|
|||
masak | good question. | 16:24 | |
I think it's a one-time cost in some sense. | |||
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 | ||
p6eval | rakudo 86b300: OUTPUT«Int|42Int+{A}|42Int+{A}|42» | ||
16:25
ggoebel joined
|
|||
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» | ||
jnthn | I don't know that it's a good idea though. | ||
No, we don't cache mixin types yet. | |||
masak | r: role A {}; my $b = 42; say ($b but A).WHAT.WHERE; say ($b but A).WHAT.WHERE | ||
p6eval | rakudo 86b300: OUTPUT«18429809561832714850» | ||
jnthn | It's on my todo list. | ||
masak | ah. | ||
++jnthn | |||
jnthn | r: say 42.HOW | ||
p6eval | rakudo 86b300: OUTPUT«Perl6::Metamodel::ClassHOW.new()» | ||
jnthn | No .gist whining any more :) | ||
masak | \o/ | 16:27 | |
moritz | \o/ indeed | ||
jnthn | r: say 42.HOW ~~ Any | ||
p6eval | rakudo 86b300: OUTPUT«True» | ||
masak | things just keep getting... *better* | ||
jnthn | Also the extra "is Mu" in various modules can go away. | ||
masak | I tell you, this is extra visible if you go on three weeks vacation from this place. | ||
jnthn should totally go on three weeks vacation | |||
masak | jnthn: ooh! why can 'is Mu' go away? | ||
jnthn | masak: Because all the Perl 6 meta-objects now inherit from Mu (via Any) already. | 16:28 | |
masak: I was meaning the "is Metamodel::ClassHOW is Mu" stuff in things like Grammar::Tracer fwiw. | |||
masak | yes. | ||
I know. | |||
anyway, najs! | |||
I guess it wasn't trivial due to general bootstrappery. | |||
jnthn | Indeed. | 16:29 | |
16:29
[hds] left
|
|||
jnthn | I'll have to go through my talk that I'll be doing at FPW and clean the code up a bit. | 16:29 | |
(It's same one as at GPW, but I can neaten a few things now.) | 16:30 | ||
16:30
kurahaupo joined
|
|||
moritz | jnthn: so you're closing up your Hague grant? | 16:30 | |
jnthn | moritz: Right :) | ||
Thus the spec commit also :) | |||
moritz | thought so | ||
jnthn | Doesn't mean there won't be more meta-model improvements of course. Just that I should really clear up the grant. | ||
moritz | I have the impression you did a factor 5 more than what the grant required | 16:31 | |
or maybe more | |||
16:31
FireFly left
|
|||
jnthn | It's safe to say that Rakudo is a rather different beast now than it was before the grant. :) | 16:32 | |
masak | jnthn++ # so meta | 16:35 | |
16:37
FireFly joined
16:38
erkan left
|
|||
masak | FireFly: greetings. | 16:38 | |
new here? | |||
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 | |
Question: should line buffering be the default, and is this something I should pull request? | |||
buffer_type is the Parrot function, so I didn't rename it. I also implemented flush() | 16:42 | ||
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 | |
but I guess gradual improvements are better than nothing ;) | |||
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 | ||
Have to go do $job, but I'll deal with the default question tonight and then put this in a pull request | 16:44 | ||
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:45 | |
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:46 | |
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. :) | ||
pmichaud | back from lunch | 16:54 | |
16:55
sudokode left
|
|||
[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. gist.github.com/2973968 | ||
[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 | ||
especially the "Missing or wrong version of dependency 'src/gen/CORE.setting' | 16:58 | ||
eiro | masak, jnthn: what comes first ? macros or metaprogramming ? | ||
masak | eiro: is that, like, a koan? | 16:59 | |
:) | |||
eiro | swedish or english ? | ||
a koan ? | |||
pmichaud | well, since we already have a good bit of metaprogramming, I suspect it's first :) | ||
masak | 'koan' is Korean, I think. | ||
Woodi had 2 weeks vacation month+ ago and it resulted in *surprising* energy/lack of reluctance to do work... | |||
masak | Woodi: yeah, same. | ||
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 | ||
masak | eiro: for me it doesn't much matter. | ||
eiro | masak, right | ||
ok | |||
pmichaud | I'd think order doesn't make a lot of difference for those two. | ||
masak | eiro: we'll both blow people's brains out anyway. (but hopefully in a nice, tender way.) | ||
17:01
birdwindupbird left
|
|||
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 | ||
masak | same as in Italy, then. | ||
eiro | (sorry about that... we live in nazi prick country ... 5 years of Sarkozy is a huge brain damage) | ||
jnthn | How delightful. | ||
eiro | sure | 17:03 | |
jnthn | Agree with masak that the order doesn't matter. | ||
eiro | prick ? is this the correct spell ? (/me google) | ||
ok then | |||
masak | yes, although 'nazi prick' is not a common compound. | ||
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... | ||
masak | phenny: sv en "prick"? | ||
phenny | masak: "dot" (sv to en, translate.google.com) | ||
masak | :) | ||
jnthn | hah! | ||
Another multi-language pun opportunity... | |||
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 | ||
eiro | :) | ||
jnthn> Another multi-language pun opportunity... << \o/ | |||
back to the schedule... i'm late | 17:06 | ||
huf | i thought the romans put an end to those pesky puns | ||
apparently not... | |||
jnthn | .oO( aujourd'хуй ) |
||
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." | ||
coincidence* | 17:07 | ||
jnthn | :D | ||
masak | I'm pretty sure he never actually said that, though. | 17:08 | |
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... | ||
masak | SAFE is an ultimately ineffective way to prevent vandalism through p6eval. | 17:10 | |
Woodi | hmm, can it be effective ? :) | 17:11 | |
[Coke] | masak: well, that's what we're using it for. | ||
p6eval: mkdir a | |||
r: mkdir "a" | |||
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» | ||
[Coke] | r: eval 'mkdir "a"' | ||
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» | ||
Woodi | r: cd /etc | ||
p6eval | rakudo 86b300: OUTPUT«===SORRY!===Preceding context expects a term, but found infix / insteadat /tmp/j8ipwjhmw8:1» | ||
[Coke] | seems legit. | ||
pmichaud | now that it's mentioned, I'd really prefer that we call it something other than "safe mode". | ||
The name is completely wrong. | 17:12 | ||
[Coke] | *completely* ? | ||
masak | call it "Ministry of Safety". | ||
pmichaud | yes. | ||
[Coke] | You might need to explain why that is. | ||
pmichaud | I know from bitter experience with PHP's "safe mode". | ||
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) | ||
however, because of the name "safe mode", administrators love to enable the feature because "it makes things safer". | |||
masak | Woodi: can it be effective? in a word, no. | ||
pmichaud | without ever really going much beyond that. | ||
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. | ||
pmichaud | I don't mind if we call it sandbox. That's much better than "safe" | ||
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. | ||
pmichaud | better might be to use a name with "disable" in it somehow. | 17:15 | |
because really what the module does is disable certain functions | |||
but it in no way catches them all. | |||
masak | "narrow mode" :) | ||
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
|
|||
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. | ||
pmichaud | ah | ||
RESTRICTED | |||
[Coke] | meh. ok. | 17:20 | |
pmichaud | (after the sub that it implements) | ||
[Coke] | masak: so, given the current SAFE.setting, how does one run mkdir? | ||
not eval.. pir:: something? | |||
pmichaud | r: Q:PIR { say 'aha!' }; | 17:21 | |
p6eval | rakudo 86b300: OUTPUT«aha!» | ||
flussence | this got me thinking... a real safe mode may be possible using the same method(s) Chromium uses to sandbox tabs | ||
[Coke] | nqp: pir::say(3) | ||
p6eval | nqp: OUTPUT«3» | ||
pmichaud | r: nqp::say('aha!'); | ||
p6eval | rakudo 86b300: OUTPUT«aha!» | ||
pmichaud | r: pir::say('aha!'); | ||
p6eval | rakudo 86b300: OUTPUT«aha!» | ||
[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")'); | ||
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» | ||
[Coke] | (and nqp) | 17:23 | |
(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
|
|||
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:25 | |
pmichaud | I think it was merlyn who advertised open.org | 17:26 | |
Woodi | ah, k | ||
pmichaud | they were taking proposals for what to do with it | ||
Woodi | but on open.org "something" is visible, but probably not much popular | 17:27 | |
where I can get email for someone involved with this ? | 17:28 | ||
pmichaud | Woodi: [email@hidden.address] | ||
Woodi want to propose yet another blog site but with twist :) | |||
thank you pmichaud++ | 17:29 | ||
17:29
fgomez left
17:31
cognominal joined,
adu joined
|
|||
dalek | kudo/nom: f2e4257 | pmichaud++ | / (2 files): Deprecate SAFE.setting in favor of RESTRICTED.setting. |
17:31 | |
kudo/nom: 3888832 | pmichaud++ | docs/announce/2012.07: Add draft announcement for 2012.07 release. |
|||
pmichaud | if someone can modify p6eval to use RESTRICTED instead of SAFE, I'd be very happy. | 17:32 | |
17:34
cog__ left
17:38
fgomez joined
|
|||
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? | ||
cognominal | yes | 17:41 | |
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 | ||
Well, stray .pir is just as bad. | 17:43 | ||
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:44 | |
cognominal | jnthn: btw, I am on a mac and the filesystem is not case sensitive | 17:45 | |
harmil | cognominal: yes, it is… it's selectively case insensitive for asciish values of case insensitive | 17:48 | |
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:49 | |
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. | ||
there's a lot of things you can't assume about file names and paths. | |||
I think Perl's line there has always been "Unix-centric but others-compatible" | |||
Perl 6 slightly less Unix-centric than Perl 5, perhaps. | 17:51 | ||
17:51
[particle]1 joined
17:53
[particle] left
18:00
[particle]1 is now known as [particle]
18:08
tyatpi left
18:09
FireFly left,
FireFly joined
|
|||
moritz backlogs | 18:12 | ||
fwiw it's intentionally that nqp:: and pir:: opcodes work in p6eval | 18:13 | ||
we have a pragma to disable them | |||
but they are useful for some demonstrations | |||
masak | ok. | 18:14 | |
18:14
daxim left
|
|||
[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» | ||
[Coke] | r: my $a = pir::new("OS") ; $a.cwd(); | ||
p6eval | rakudo 388883: OUTPUT«Cannot assign a non-Perl 6 value to a Perl 6 container in block <anon> at /tmp/42TtZluBC8:1» | ||
moritz | r: my $a := pir::new("OS") ; $a.cwd(); | 18:17 | |
p6eval | rakudo 388883: ( no output ) | ||
moritz | r: my $a := pir::new("OS") ; say nqp::p6box_s $a.cwd(); | ||
p6eval | rakudo 388883: OUTPUT«/home/p6eval» | ||
18:20
GlitchMr left
|
|||
dalek | albot: 2e02a78 | moritz++ | evalbot.pl: s/SAFE/RESTRICTED/ |
18:21 | |
[Coke] | r: pir::new("OS").cwd.say | ||
p6eval | rakudo 388883: OUTPUT«/home/p6eval» | ||
moritz | evalbot control restart | 18:22 | |
18:22
p6eval left,
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
moritz | r: say 1 | 18:24 | |
p6eval | rakudo 388883: OUTPUT«1» | ||
18:30
erkan joined,
erkan left,
erkan joined
18:36
sirrobert joined
|
|||
sirrobert | Is there a cookbook or tutorial for grammars? | 18:36 | |
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! | ||
moritz | sirrobert: there's also a bit on the perl 6 advent calendar | ||
sirrobert: and for debugging, Grammar::Tracer is very helpful IMHO | 18:38 | ||
masak | oh! I've decided what to do for the July blogging. | ||
sirrobert | working on a selenium testing module | ||
18:38
fgomez left
|
|||
sirrobert | moritz: thanks =) | 18:38 | |
moritz | there's also perlgeek.de/en/article/debug-a-perl-6-grammar | ||
(which might be a bit out of date; I should update it) | |||
sirrobert | I'll check it out =) | ||
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 | |
the game will probably come out factored differently. but it'll have the same basic plot and descriptions. | |||
sirrobert | masak: cool | ||
18:40
cognominal left
|
|||
masak | yes, I hope so. :) | 18:41 | |
18:41
cognominal joined
|
|||
moritz | ma | 18:41 | |
erm | |||
masak: sounds nice | |||
sirrobert | heh I'm super excited about using grammars. | 18:42 | |
for DSL purposes | |||
moritz | grammars are nice | ||
18:43
araujo left,
fgomez joined
|
|||
masak | I look forward to being able to inject sublanguages into the program currently compiled. | 18:45 | |
is that blocking on something, besides tuits? shouldn't we be *very* excited about making that work in Rakudo or Niecza? | 18:46 | ||
jnthn | masak: qbootstrap is done now :) That's gonna help :) | 18:47 | |
18:48
vmspb joined
18:49
araujo joined
|
|||
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 | |
Somebody trying to flesh out some example code would that they think should work would to a lot to move things forward. | |||
dinner & | |||
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? | ||
moritz | pmichaud: I think that whole file should go | 18:52 | |
the rest of the tests are only correct by pure accident | 18:53 | ||
pmichaud | removing S03-smartmatch/any-array-slice.t | 18:54 | |
dalek | kudo/nom: d677c0e | pmichaud++ | t/spectest.data: (nomreg cleanup) Remove S03-smartmatch/any-array-slice.t |
18:55 | |
ast: 3526efc | pmichaud++ | S03-smartmatch/any-array-slice.t: Remove out-of-spec any-array-slice.t tests. |
18:56 | ||
ecza: f91bc64 | moritz++ | t/spectest.data: track deletion of test file |
|||
pmichaud | We win back a fair number of nom regressions if we can get $x ~~ (1, *, 4) to work again. github.com/rakudo/rakudo/blob/nom/...st.pm#L275 | 18:57 | |
masak | jnthn: here's a first attempt at fleshing out an example: gist.github.com/2974519 | ||
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. :) | ||
especially since I've stumbled upon several recently that are no longer regressions. I figure I'll hit some lhf today. | 18:59 | ||
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 :-) | ||
masak | somewhere on a spectrum between "contrived" and "pointless". | ||
[Coke] | moritz: aye. that was more of a timestamp than any true regression test. | ||
moritz | no, just written against an old spec | ||
[Coke]: I know. I've used it too. | |||
masak | ah well. that may be it. | 19:01 | |
[Coke] hopes none of these removals are detracting from pugs ever dwindling numbers. ;) | |||
19:01
MayDaniel left
|
|||
moritz | masak: from a time where smart-matching had quite some syntactic special cases | 19:01 | |
masak | aye. | 19:05 | |
jnthn | masak: slang is, according to STD, a package declarator :) | 19:06 | |
19:07
tyatpi joined
|
|||
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'; | ||
What am I missing? | |||
moritz | sirrobert: not yet implemented in rakudo | ||
sirrobert | (it says colons may not be used to delimit | ||
moritz | works in niecza though | ||
sirrobert | ah, that explains it =) | ||
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) | ||
our two main projects are in clojure and p6. | |||
flussence | ! | ||
sirrobert | =) | 19:10 | |
flussence | (I still haven't convinced my $dayjob to get with the times and start using p5.10's features...) | 19:11 | |
sirrobert | heh | 19:12 | |
moritz | wow | ||
sirrobert | at my last job we used 5.8 forever. | ||
masak | sirrobert: kudos! | ||
sirrobert | masak: thanks =) | ||
masak | sirrobert: let us know how it goes. | ||
sirrobert | will do. starting to write some utility modules now | 19:13 | |
for selenium testing (web ui integration tests), etc. | |||
moritz | and please blog about | ||
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 =) | ||
hmm good idea | |||
pmichaud | if we can't get :to in for the July release, perhaps we can at least get a NYI message. | ||
moritz | and post the URL here | ||
sirrobert | moritz: sure, will do | ||
19:15
araujo left
|
|||
flussence | r: say 'abc'.indent(4) # nom can haz? | 19:15 | |
p6eval | rakudo d677c0: OUTPUT« abc» | ||
sirrobert | I'll talk with my marketing guy... we might keep it anonymous for a while (though I'll still blog about it) | ||
moritz | pmichaud: I think it wouldn't be too hard to do a 'q' [<colonpair> <.NYI(...)>]? or some such | ||
flussence | oh, I completely missed when that got re-added! | ||
moritz | flussence: I think there's still one or two regressions in the tests | 19:16 | |
but the big lump was rather easy to port | |||
[Coke] | sirrobert++ #adventurous | ||
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 | ||
moritz | there are some things that might be painful for you but pretty easy to add, like missing small IO features or so | ||
so never hruts to ask | 19:18 | ||
sirrobert | is there some kind of ... ticket system? | ||
or better to mention it here? | |||
[Coke] | for rakudo: email to [email@hidden.address] | ||
moritz | mailto:rakudobug@perl.org | ||
sirrobert | ok | ||
pmichaud | rakudo.org/tickets | ||
rakudo.org/tickets | |||
moritz | goes to rt.perl.org/rt3/ | ||
[Coke] | mentioning things in the presence of masak on IRC also helps. | ||
sirrobert | cool | ||
[Coke] | note that due to historical reasons, you can only open tickets via email, though. | ||
webterface is great for searching and tracking status, though. | 19:19 | ||
sirrobert | got it | ||
moritz | fsvo "great" | ||
pmichaud | btw, schwern suggested using [easy] for easy tickets instead of [lhf]. "Nobody knows what LHF means." | ||
moritz | :-) | ||
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
|
|||
sirrobert | masak: cool, thanks. | 19:19 | |
moritz | pmichaud: +1 | 19:20 | |
pmichaud | looks like we have only one such open ticket now anyway. | ||
pmichaud fixes. | 19:21 | ||
[Coke] | easy++ | ||
[Coke] hurls inception.davepedu.com/ | |||
moritz | pmichaud: fwiw I've tried to track down the "Method 'message' not found for invocant of class 'Any'" after warning-in-REPL | 19:23 | |
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. | ||
okay, now switched LHF -> EASY in most locations I'm aware of. rakudo.org/rt/lhf now forwards to rakudo.org/rt/easy | |||
moritz | well, three actually | 19:25 | |
19:25
[particle]1 joined
|
|||
moritz | two are internal error messages where I see on way how they could be triggered | 19:25 | |
and on is a call on self, which is of type Exception, not Any | |||
dalek | kudo/nom: 5f0f3f0 | pmichaud++ | src/core/EnumMap.pm: Update EnumMap.ACCEPTS(Positional) to test hash slice existence. |
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
[particle] left
|
|||
dalek | ast: fdeefa8 | pmichaud++ | S03-smartmatch/array-hash.t: Unfudge no-longer-nom-regression. |
19:27 | |
[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 :( | ||
[Coke] | you're running ubuntu 8!? | 19:32 | |
isn't it up to ...11? | |||
pmichaud | 12.04 is the most recent | ||
flussence | no! the bug reporter is | ||
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: gist.github.com/2974519 | ||
flussence | I guess that rules out external software versions affecting it, at least... | 19:34 | |
19:36
mikemol left
|
|||
flussence | I notice he's running on a laptop too, so it might be some hardware issue. | 19:37 | |
(though I generally haven't had out-of-memory issues building rakudo before...) | |||
[Coke] | is it an OOME? do you happen to be running top at the time? | 19:40 | |
and, how much memory do you have? we can always do a build in a ulimit'd env. | 19:41 | ||
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:42 | |
19:43
ggoebel left
|
|||
[Coke] | I don't see the backtrace in the ticket. | 19:43 | |
adding it would be helpful. | |||
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. | ||
jnthn | I tried it on my 32-bit laptop today and it worked. | ||
[Coke] take the ticket so he doesn't forget. | |||
*takes | |||
19:48
ggoebel joined
|
|||
jnthn | flussence: Can you give me the output of parrot_config --dump on the box that it fails on? | 19:51 | |
flussence | will do | 19:54 | |
19:54
birdwindupbird joined
|
|||
dalek | ast: a656379 | pmichaud++ | S03-smartmatch/regex-hash.t: Unfudge no-longer-nom-regression. |
19:55 | |
kudo/nom: 1b6636f | pmichaud++ | src/core/EnumMap.pm: Update EnumMap.ACCEPTS(Regex), removing another nom regression. |
|||
moritz | pmichaud: I've made some progress on diagnosing the error | 19:58 | |
(error after warning in REPL) | |||
it's from the internal error error reporting in the backtrace printer | 19:59 | ||
oh, because I'm stupid. | |||
using $! inside a CATCH handler | 20:00 | ||
well, it's a codepath that's hard to test (reporting internal errors) | 20:01 | ||
flussence | [Coke], jnthn: here you go - gist.github.com/2974816 | ||
(and I could've sworn that said "not implemented in class '$'" last time...) | 20:02 | ||
pmichaud | rn: say 3.14.Rat.perl; | ||
p6eval | niecza v18-7-ga660099: OUTPUT«<157/50>» | ||
..rakudo d677c0: OUTPUT«157/50» | |||
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" | ||
moritz | we've gone back and forth on this one so many times | 20:04 | |
20:04
vmspb left
|
|||
[Coke] | that's a generated file, yes? | 20:04 | |
pmichaud | I'm just reading current spec. | ||
[Coke] | flussence: can you also post src/stage1/NQPCORE.setting ? | ||
20:05
bruges_ joined
|
|||
moritz | I thnk that one is a straight-forward combination of source files; shouldn't go wrong much | 20:05 | |
[Coke] | no, but. | ||
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:06
bruges left
|
|||
[Coke] | flussence: what version of nqp are you on? | 20:07 | |
flussence | --gen-parrot on rakudo git, so whatever that's using... | ||
[Coke] | can you do a git log in nqp dir? | 20:08 | |
(or whatever to get the latest commit hash?) | |||
flussence | sure - fcc9a2398189c6fccf77a355461bf29638dd36e5 | ||
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...) | ||
jnthn | flussence: Yeah, that's my fear. | 20:10 | |
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
|
|||
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 | |
Since is_dispatcher is defined in the same compilation unit. | |||
UncleFester6 | Hi I'm the reporter. If you look around here in IRC irclog.perlgeek.de/perl6/2012-06-15#i_5730212 you can find a few back trace dumps I believe. | 20:17 | |
I can reproduce it every time. | |||
moritz | UncleFester6: is the error message exactly the same each time? | 20:18 | |
dalek | kudo/ex-hardening: b9a332b | moritz++ | src/core/Backtrace.pm: improve robustness of internal error reporting |
20:21 | |
kudo/ex-hardening: b68a884 | moritz++ | src/core/Backtrace.pm: be more tight about :D in invocant |
|||
UncleFester6 | Both grondilu and I got invoke() not implemented in class '??' but the thing in quotes after class seems to vary. | ||
[Coke] | UncleFester6: having those on the ticket makes it much easier to diagnose this stuff when tuits present themselves. | ||
dalek | p: 4019f2a | jnthn++ | src/NQP/Grammar.pm: Remove a leftover from the now-gone regex engine. |
||
[Coke] | the gist we're working from now is prolly OK, though. | ||
I see no diffs between my build of src/stage1/NQPCORE.setting and the one in the gist. | 20:22 | ||
UncleFester6 | does that mean you reproduced the error? | 20:23 | |
moritz | flussence did | 20:24 | |
jnthn | UncleFester6: A few people have reproduced it. I can't, and I'm struggling to spot a pattern. | ||
UncleFester6: Are you building on a 32-bit of 64-bit platform? | |||
*or | 20:25 | ||
20:25
MayDaniel joined,
MayDaniel left,
MayDaniel joined
|
|||
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 | ||
afaik everybody who reported it so far that I could get an answer on this from said 32 bit. | |||
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
birdwindupbird left
|
|||
flussence | that's a 32-bit userspace | 20:27 | |
moritz | ... and kernel | 20:28 | |
flussence | the kernel can be 64-bit but lying about it :) | ||
moritz | does tha happen often? | ||
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 | |
20:29
birdwindupbird joined
|
|||
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 | |
iow, we're all on 32-bit it seems | |||
UncleFester6 | If there is a test I can run, just let me know, I'll be happy to run it. | 20:33 | |
20:39
birdwindupbird left
|
|||
dalek | kudo/ex-hardening: 57d251f | moritz++ | src/core/Backtrace.pm: fix previous commit |
20:40 | |
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… | ||
..rakudo 1b6636, niecza v18-7-ga660099: OUTPUT«yes» | |||
sirrobert | perl6: say ("a b" ~~ /a b/) ?? "yes" !! "no"; | ||
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… | ||
..rakudo 1b6636, niecza v18-7-ga660099: OUTPUT«no» | |||
sirrobert | What happened there? | 20:42 | |
moritz | rn: say so 'a b' ~~ /:s a b/ | ||
p6eval | rakudo 1b6636, niecza v18-7-ga660099: OUTPUT«True» | ||
moritz | sirrobert: whitespace is ignored by default | ||
flussence | r: say ("a b" ~~ m:sigspace/a b/) | ||
p6eval | rakudo 1b6636: OUTPUT«q[a b]» | ||
sirrobert | ah | 20:43 | |
I was somehow thinking it was both ignored and not ignored (when I felt like it? =) | |||
perl6: say ("a b" ~~ /a \s b/) ?? "yes" !! "no"; | |||
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… | ||
..rakudo 1b6636, niecza v18-7-ga660099: OUTPUT«yes» | |||
sirrobert | thanks | 20:44 | |
moritz seriously considers taken pugs out of the 'perl6' target | 20:45 | ||
adu | moritz: isn't it always 20% behind rakudo/niecza? | 20:47 | |
20:48
spider-mario joined
|
|||
au | moritz: go for it :) | 20:48 | |
20:49
jlaire joined
|
|||
moritz | adu: ignore the spectest counts; they are irrelevant | 20:50 | |
dalek | albot: 61a54c0 | moritz++ | evalbot.pl: remove pugs from p6/perl6 targets |
20:52 | |
albot: afadf23 | moritz++ | evalbot.pl: add aliases for executing pugs, rakudo and niecza at once |
20:59 | ||
moritz | evalbot control restart | ||
20:59
p6eval left,
p6eval joined,
ChanServ sets mode: +v p6eval
21:00
skids left
|
|||
au | p6: say ("a b" ~~ m:sigspace/a b/) | 21:00 | |
moritz | the first execution after a restart sometimes takes ages | ||
I have no idea why | |||
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… | ||
..niecza v18-7-ga660099: OUTPUT«#<match from(0) to(3) text(a b) pos([].list) named({}.hash)>» | |||
21:01
birdwindupbird joined
|
|||
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… | ||
..niecza v18-7-ga660099: OUTPUT«False» | |||
moritz | ugh, the RESTRICTED setting isn't built :( | 21:02 | |
but SAFE is deprecated | 21:03 | ||
I'll switch back p6eval until RESTRICTED actually works | |||
21:04
atrodo left,
p6eval left,
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
dalek | albot: e42ce24 | moritz++ | evalbot.pl: Revert "s/SAFE/RESTRICTED/" This reverts commit 2e02a788c940a916038bc8721d6d907604214b30. because RESTRICTED setting doesn't work yet (isn't built) |
21:04 | |
21:14
birdwindupbird left
21:15
birdwindupbird joined,
majrmovies left
|
|||
pmichaud | oh yes, I can set up RESTRICTED. Fixing. | 21:22 | |
21:34
fgomez left,
cog_ joined
21:35
cognominal left
21:46
alester left
|
|||
dalek | kudo/nom: b7bf63d | pmichaud++ | / (2 files): Update build process for RESTRICTED.setting, other refactors. |
21:47 | |
pmichaud | when is it (pardon pun) "safe" to restore the SAFE->RESTRICTED patch? | 21:48 | |
(to evalbot.pl) | |||
dalek | kudo/nom: 06a7305 | pmichaud++ | src/SAFE.setting: Add deprecation notice to SAFE.setting. |
21:49 | |
pmichaud commits; forgiveness > permission | 21:50 | ||
masak | \o/ | ||
g'night, #perl6 | |||
dalek | albot: 2097ac3 | pmichaud++ | evalbot.pl: Restore s/SAFE/RESTRICTED/ . |
||
22:11
adu left
22:16
birdwindupbird left
22:24
toadsted joined
22:26
sergot left,
toadsted left,
mathw left
22:29
MayDaniel left
22:37
UncleFester6 left,
UncleFester6 joined
22:38
spider-mario left
22:40
tyatpi left,
tyatpi joined
22:51
skids joined,
kurahaupo left
23:00
sjn left
23:09
kurahaupo joined
23:28
tyatpi left
23:29
tyatpi joined
23:36
tyatpi left
23:37
sisar left,
sisar joined
23:40
cog_ left
23:41
cognominal joined
23:42
tyatpi joined
23:44
sisar left
23:50
cog_ joined
23:51
cognominal left
23:53
cog__ joined
|
|||
[Coke] remotes into feather from an old freebsd box with 40M of memory and a 4G hard drive. | 23:55 | ||
and apparently no utf8 support at the moment. | |||
23:57
cog_ left
23:58
UncleFester6 left,
UncleFester6 joined
|