»ö« 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! | YAPC::NA talk submissions due end of Month. Have you submitted your talk? Set by toddr_ on 18 March 2013. |
|||
00:00
uasi joined
00:16
labster joined
00:28
bbkr left
00:38
am0c joined
00:48
LlamaRider left,
cognominal left
00:50
tokuhiro_ joined
00:51
uasi left
00:54
grondilu left
01:00
anuby joined
01:09
rindolf joined
01:21
benabik joined
01:30
chinaXing joined,
chinaXing left
01:31
japhb_ left
01:43
hypolin joined
02:00
gdey left
02:09
rindolf left
02:16
tokuhiro_ left
02:21
xinming_ left
02:23
xinming joined
02:25
fgomez joined
02:29
fgomez left
02:30
fgomez joined
02:43
cognominal joined
03:12
noxgirl joined
03:23
uasi joined,
uasi_ joined
03:25
sevin joined
03:28
uasi left
03:34
sevin left
03:39
Ulti joined
03:40
uasi_ left
03:44
lustlife joined
03:58
orafu left,
OuLouFu joined,
OuLouFu is now known as orafu
04:15
sivoais joined
04:18
cognominal left
04:41
preflex_ joined
04:42
preflex_ is now known as preflex
04:44
Cynede joined
|
|||
Cynede | hey #perl6 people! | 04:44 | |
diakopter | ahoy | 04:45 | |
04:45
fgomez left
04:50
Cynede is now known as Heather
|
|||
diakopter watches www.youtube.com/watch?v=pzwL-IOOLVE over and over | 04:50 | ||
04:52
kurahaupo left
05:14
cognominal joined
|
|||
diakopter | r: say 1.HOW.WHY | 05:20 | |
p6eval | rakudo e0ce08: OUTPUT«No such method 'docs' for invocant of type 'NQPClassHOW' in method WHY at src/gen/CORE.setting:711 in block at /tmp/65ljJ1TsFl:1» | 05:21 | |
diakopter | o_o_ | ||
05:48
fgomez joined
|
|||
diakopter | r: any all one .WHO.WHAT.WHERE.WHY.WHICH.HOW.say | 06:00 | |
p6eval | rakudo e0ce08: OUTPUT«Perl6::Metamodel::ClassHOW.new()» | ||
diakopter | r: say *^^* | 06:04 | |
p6eval | rakudo e0ce08: OUTPUT«Nil» | ||
diakopter | rn: say *^^* | ||
p6eval | rakudo e0ce08: OUTPUT«Nil» | ||
..niecza v24-35-g5c06e28: OUTPUT«{ ... }» | |||
diakopter | rn: say *^^^* | 06:05 | |
p6eval | rakudo e0ce08: OUTPUT«Nil» | ||
..niecza v24-35-g5c06e28: OUTPUT«{ ... }» | |||
diakopter | rn: say *^^^ ^!^!\!\\^ ^* | 06:06 | |
p6eval | rakudo e0ce08: OUTPUT«Nil» | ||
..niecza v24-35-g5c06e28: OUTPUT«{ ... }» | |||
diakopter | rn: say (*^^^ ^!^!\!\\^ ^*)(1) | 06:07 | |
p6eval | niecza v24-35-g5c06e28: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object at Niecza.StashCursor.Core (System.String key, Boolean final, Niecza.StashCursor& sc, Niecza.Variable& v, Niecza.Variable bind_to) [0x00000] in <file… | ||
..rakudo e0ce08: OUTPUT«No such method 'Nil' for invocant of type 'Int' in block at /tmp/fTlDLx9ccM:1» | |||
06:07
wk left
|
|||
diakopter | hm, my heart isn't in it | 06:08 | |
cognominal | what's the diff between a VMArray and a CArray? | 06:09 | |
06:10
fgomez left
06:11
xilo left
06:13
xilo joined
|
|||
diakopter | the VMArray supports things like push,pop,shift,unshift; the CArray can be passed to NativeCall callsites | 06:13 | |
06:14
Heather left
|
|||
diakopter | oh, and "CArray may only contain native integers and numbers, strings, C Structs or C Pointers" | 06:14 | |
06:16
kaleem joined
|
|||
diakopter | VMArray can contain only native ints/nums or 6model object pointers, I'm almost certain | 06:16 | |
06:17
cognominal left
06:18
cognominal joined
|
|||
diakopter | cognominal: seems you missed my 3 replies | 06:18 | |
cognominal | diakopter, will read the log as usual | 06:19 | |
thx | 06:20 | ||
06:22
daniel-s_ is now known as daniel-s
06:28
Heather joined
|
|||
Heather | suggest me good way to parse config file | 06:28 | |
something alike ConfigParser in python | 06:29 | ||
diakopter | .ini? java .properties? .xml? macos .plist? .csv? | ||
Heather | diakopter with ini-alike structure | ||
or even custom structure | 06:30 | ||
.conf | |||
diakopter something alike this: github.com/Heather/dotfiles/blob/m...olist.conf | 06:31 | ||
diakopter | well, do you want to use Perl 6 or something else? | 06:33 | |
Heather | diakopter yes perl6 ) | ||
06:36
cognominal left
06:39
kivutar joined
06:40
vaelxon joined
|
|||
diakopter | well, kindof a heavyweight/heavyhanded (but somewhat more readable) approach is to write a grammar, but any structured file can also usually be parsed with successively granular regexes doing split or comb | 06:41 | |
Heather | I see... | 06:42 | |
maybe json... | 06:45 | ||
06:45
rindolf joined
|
|||
Heather | here is project github.com/moritz/json | 06:46 | |
06:46
cognominal joined
06:52
rindolf left
06:53
rindolf joined
07:00
cognominal left
07:04
rindolf left
07:05
rindolf joined
07:07
wtw joined
07:10
cognominal joined
07:11
fgomez joined
07:20
rindolf left,
rindolf joined
07:22
cognominal left
07:27
uasi joined
07:31
cognominal joined
07:37
cognominal left,
cognominal joined
07:40
jerome joined
07:42
nebuchadnezzar joined
07:43
cognominal left
07:45
cognominal joined
07:47
wk joined
07:57
jerome left
08:01
FROGGS joined
08:04
domidumont joined
08:10
jerome joined
08:19
cognominal left,
sizz_ joined
08:20
sizz left
08:22
cognominal joined
08:32
domidumont left,
domidumont joined
08:35
erkan left
08:37
sqirrel joined
08:42
daxim joined
08:47
daxim left,
daxim joined
|
|||
Heather | what difference between %ENV and %*ENV | 08:57 | |
r: say %*ENV<PREFIX> | |||
p6eval | rakudo e0ce08: OUTPUT«(Any)» | ||
FROGGS | r: say %*ENV | 08:58 | |
p6eval | rakudo e0ce08: OUTPUT«("PERLBREW_VERSION" => "0.42", "MAIL" => "/var/mail/p6eval", "USER" => "p6eval", "SHLVL" => "1", "HOME" => "/home/p6eval", "OLDPWD" => "/home/p6eval", "PERLBREW_ROOT" => "/home/p6eval/perl5/perlbrew", "PERLBREW_MANPATH" => "/home/p6eval/perl5/perlbrew/perls/perl-5.… | ||
FROGGS | r: say %ENV | ||
p6eval | rakudo e0ce08: OUTPUT«===SORRY!===Variable '%ENV' is not declaredat /tmp/3VLpK2oQ83:1------> say %ENV⏏<EOL> expecting any of: postfix» | ||
FROGGS | that's the difference | ||
Heather | FROGGS ? | ||
I don't get it | |||
FROGGS what is %ENV ? | 08:59 | ||
I see... it's declared in rakudo... | |||
FROGGS | %*ENV gives you the environment vars | ||
moritz | r: say %*ENV.keys | 09:00 | |
p6eval | rakudo e0ce08: OUTPUT«PERLBREW_VERSION MAIL USER SHLVL HOME OLDPWD PERLBREW_ROOT PERLBREW_MANPATH LOGNAME _ TERM PATH PERLBREW_HOME PATH_WITHOUT_PERLBREW PERLBREW_BASHRC_VERSION LANG LS_COLORS PERLBREW_PATH SHELL PERLBREW_PERL PWD MANPATH MANPATH_WITHOUT_PERLBREW» | ||
hoelzro | well, now I know that p6eval runs under perlbrew =) | 09:02 | |
09:04
kivutar left
|
|||
Heather | p5eval say %*ENV.keys | 09:09 | |
p5eval: say %*ENV.keys | |||
p5eval | Heather: ERROR: syntax error at (eval 7) line 1, near "%*ENV" | ||
Heather | p5eval: say %ENV | 09:10 | |
p5eval | Heather: HOME/rootSSH_CLIENT192.168.1.3 58296 22SSH_CONNECTION192.168.1.3 58296 192.168.1.42 22MAIL/var/mail/rootPWD/rootLANGen_US.UTF-8USERrootLOGNAMErootWINDOW0STY294.pts-0.p5evalSHLVL2_/usr/bin/irssiPATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binLS_COLORSrs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*. | ||
moritz | p5eval: [keys %ENV] | ||
p5eval | moritz: ["HOME","SSH_CLIENT","SSH_CONNECTION","MAIL","PWD","LANG","USER","LOGNAME","WINDOW","STY","SHLVL","_","PATH","LS_COLORS","SHELL","TERM","TERMCAP","SSH_TTY"] | ||
Heather | oh... | ||
moritz | p5eval: $ENV{SSH_CONNECTION} | ||
p5eval | moritz: 192.168.1.3 58296 192.168.1.42 22 | ||
hoelzro | yikes | 09:11 | |
Heather | that's not even ENV... | ||
moritz | why not? | ||
Heather | ok, maybe it's ENV | 09:12 | |
but | |||
moritz how can I set it? | 09:13 | ||
moritz | where? | ||
Heather | moritz when I want eval perl5 with special ENV set | 09:14 | |
moritz | well, you can't on IRC | 09:15 | |
except for | |||
p5eval: BEGIN { $ENV{ABC} = 'blah' }; # rest of your program goes here | 09:16 | ||
p5eval | moritz: No output | ||
Heather | no need on irc :) | ||
I need it from bash | |||
moritz | well, you know how to set environment variables, no? | ||
export KEY=VALUE | |||
Heather | moritz but they doesn't look the same :S | ||
moritz | don't look the same as what? | ||
Heather | at least p6 eval and p5 eval show different env-s | 09:17 | |
as ENV | |||
moritz | yes, because they run as different users on different machines | ||
Heather | e.g. %ENV | ||
moritz | so they have totally different environments | ||
Heather | hm... | ||
diakopter | p5eval: use threads; | 09:19 | |
p5eval | diakopter: ERROR: Can't locate threads.pm in @INC (@INC contains: /lib) at (eval 7) line 1.BEGIN failed--compilation aborted at (eval 7) line 1. | ||
diakopter | p5eval: use forks; | ||
p5eval | diakopter: ERROR: Can't locate forks.pm in @INC (@INC contains: /lib) at (eval 7) line 1.BEGIN failed--compilation aborted at (eval 7) line 1. | ||
diakopter | p5eval: use Modern::Perl | ||
p5eval | diakopter: ERROR: Can't locate Modern/Perl.pm in @INC (@INC contains: /lib) at (eval 7) line 3.BEGIN failed--compilation aborted at (eval 7) line 3. | ||
09:20
rindolf left
|
|||
Heather | r: use Panda::Installer | 09:21 | |
p6eval | rakudo e0ce08: OUTPUT«===SORRY!===Could not find Panda::Installer in any of: /home/p6eval/nom-inst/lib/parrot/4.10.0-devel/languages/perl6/site/lib, /home/p6eval/nom-inst/lib/parrot/4.10.0-devel/languages/perl6/vendor/lib, /home/p6eval/nom-inst/lib/parrot/4.10.0-devel/languages/perl6/l… | ||
Heather | r: dir('/home/p6eval/nom-inst/lib/parrot/4.10.0-devel/languages/perl6/site/lib').say | 09:23 | |
p6eval | rakudo e0ce08: OUTPUT«Failed to get the directory contents of '/home/p6eval/nom-inst/lib/parrot/4.10.0-devel/languages/perl6/site/lib': readdir failed: No such file or directory in block at src/gen/CORE.setting:7937 in sub dir at src/gen/CORE.setting:7933 in block at /tmp/OcE6P6… | ||
moritz | star: use Panda::Installer; | ||
p6eval | star 2013.02: ( no output ) | ||
Heather | wow | ||
star: use Json::Tiny; | 09:25 | ||
p6eval | star 2013.02: OUTPUT«===SORRY!===Could not find Json::Tiny in any of: /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/site/lib, /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/vendor/lib, /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/lib, /home/p6eval/.perl6/2013.02.1/lib… | ||
moritz | star: use JSON::Tiny; | ||
p6eval | star 2013.02: ( no output ) | ||
Heather | aha | ||
moritz | helps to spell it correctly :-) | ||
Heather | I was going to correct ) thx | 09:26 | |
moritz | star: use JSON::Tiny; say to-json { a => [1, True, "abc", Any] } | ||
p6eval | star 2013.02: OUTPUT«{ "a" : [ 1, true, "abc", null ] }» | ||
Heather | moritz cool | ||
09:29
labster left
09:37
kivutar joined
09:38
fhelmberger joined
09:44
kivutar left
09:47
kivutar joined
09:48
dakkar joined
09:52
kivutar left
09:53
kivutar joined
|
|||
jnthn | Heather: If you're still looking to parse INI files, there's a Config::INI module. | 10:00 | |
Heather | star: use Config::INI; | 10:01 | |
p6eval | star 2013.02: OUTPUT«===SORRY!===Could not find Config::INI in any of: /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/site/lib, /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/vendor/lib, /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/lib, /home/p6eval/.perl6/2013.02.1/li… | ||
Heather | jnthn for perl5? | ||
I see raw.github.com/tadzik/perl6-Config.../META.info ? | 10:02 | ||
10:03
eternaleye joined
|
|||
jnthn | Heather: No, on modules.perl6.org | 10:04 | |
yes, there | |||
Should be panda-installable | |||
Heather | interesting it support sections alike [DEFAULT] | ||
seems like yes | 10:05 | ||
10:11
hypolin left,
SamuraiJack joined
10:13
kivutar left
10:15
kivutar joined
10:17
Liz_ joined
10:19
anuby left
10:26
Liz_ left
|
|||
hoelzro | ahoy #perl6 folk | 10:28 | |
colomon | \o | ||
Heather | hoelzro hey | ||
hoelzro | I hate to keep bothering everyone, but could someone check out my latest changes to NQP? github.com/hoelzro/nqp | ||
I want to make sure it makes it into tomorrow's release | |||
Heather | tomorrow's release? | 10:30 | |
hoelzro | yeah | ||
(there *is* an NQP release tomorrow, yes?) | |||
Heather | git tag? =) | 10:31 | |
10:36
cognominal left
|
|||
FROGGS | hoelzro: did you send a pull request yet? (but keep in mind that I am not the right guy to merge it in) | 10:47 | |
hoelzro | FROGGS: not yet; I want to clean up the commits a bit before it gets merged | ||
10:49
cognominal joined
10:56
cognominal left,
erkan joined
10:59
wtw left
|
|||
masak | good just-past-noon, #perl6 | 11:14 | |
colomon | o/ | ||
jnthn | o/ masak | 11:15 | |
masak is on a train! | |||
colomon wishes he had gone nom shopping last night... | |||
masak | I'm like, "how cool is this? I'm typing stuff into IRC *while moving*." | ||
nwc10 | does it work in tunnels? | 11:16 | |
FROGGS | masak: why are you on train on a daily basis? | ||
masak | FROGGS: $work. | 11:17 | |
nwc10 | (not a silly question. I expected it to fail, but my 3G connection held out through every one of the 9 tunnels between Cambridge and King's Cross) | ||
masak | FROGGS: apparently, we're living in a time where it makes more sense to *transport* me to places to teach, rather than to telecommute/Skype/IRC me. | ||
I expect that equation to change, as teleconf options grow less sucky, and the cost of travel/transportation goes up, in the next decade or two. | 11:18 | ||
11:18
kivutar left
|
|||
nwc10 | masak: does this train offer you power? | 11:19 | |
masak | yes. | ||
very important. | |||
nwc10 | cool | ||
masak | they also offer me wifi, but I ditch it and tether my phone instead. more stability. | 11:20 | |
nwc10 | oh, not had that | ||
jnthn | yeah, those trains have reliable power | ||
nwc10 | have had table service which will bring beer to my seat | ||
(not compatible with laptops) | |||
jnthn | I find my phone doesn't handle the tunnels too well, but the wifi on the train may do a bit better | ||
masak | they also offer coffee/tea, fruit, and small chocolate biscuits. for free. and a daily newspaper. | ||
I could live here :) | 11:21 | ||
sorear | I've been following the news out of LPSC2013, it's interesting that they've had to turn half of the speakers into telepresence because of NASA budget issues, and the reactions thereto | ||
masak | sorear: what've been the reactions thereto? | ||
sorear | masak: mostly frustration over the issues themselves | 11:22 | |
(LPSC = lunar planetary sci. conf., half of the stuff being presented was done by NASA) | 11:23 | ||
(for those of you blissfully ignoring US politics, our clown legislators decided to cut every discretionary program by 8% two weeks ago; NASA's initial response was to eliminate travel expensing) | 11:24 | ||
masak | the course I taught Mon-Tue had three people in the room, and three people in a room across the country. lag isn't a problem. occasional noises are less than ideal, but by no means a show-stopper. as a teacher I feel that the big problem is that those other people are not getting 100% value-for-money, because being in the room means being more involved. | ||
jnthn really dislikes teaching with people on remote | 11:25 | ||
masak | the general stance from the infrastructure company is "we have to do remote -- that equipment was very expensive and has to pay for itself" | ||
jnthn | Never feel I engage with them in the same way, or that I can feel how well they're grokking stuff. | ||
masak | yeah, 'xactly. | ||
sorear | s/eliminate/drastically restrict/ | ||
jnthn | masak: "It was expensive so we must use it"...yeah, you probably hit the nail on the head. :) | 11:26 | |
nwc10 | sorear: I have been observing all the daftness in the US, mainly by reading bloomberg news. The relative crazy between the US, the Eurozone and the UK affects the exchange rates, and hence how much I get paid. | 11:27 | |
Not massively. But not zero either | |||
masak .oO( "this positive number is between 0 and Intfy" ) | 11:28 | ||
\Infty* | 11:29 | ||
jnthn | nwc10: Well, the idiocy over Cyprus is probably weakening the euro some... | ||
sorear | [i]nfty? | ||
tadzik | hello hello | ||
sorear | Intify | ||
masak | tadzik! \o/ | ||
diakopter | nifty | ||
masak | tinfy. | ||
nwc10 | jnthn: yes. That's the current bit of stupid. There's so much stupid to choose from :-( | ||
masak | what did Cyprus do? did they actually take money from people's savings accounts? | 11:30 | |
nwc10 | masak: they've voted not to go with that plan. | ||
jnthn | masak: People didn't seem to like the idea so now they're having crisis meetings. | ||
sorear | sleep& | 11:31 | |
nwc10 | and the banks are shut until (IIRC) Thursday. | ||
masak | wow. | ||
good nifty, sorear. dream of intified infinities. | |||
nwc10 | the UK government has flown 1 million euros (cash) to keep UK troops and employees afloat | 11:32 | |
UK government is keeping very quiet about the fact that Cyrpus is an ex-British colony | |||
11:43
fgomez left
11:57
dvj_ joined
|
|||
dvj_ | r: my $a = "b"; <a $a>.say | 11:57 | |
p6eval | rakudo e0ce08: OUTPUT«a $a» | ||
jnthn | use shell words to interpolate | 11:58 | |
moritz | r: my $a = "b"; <<a $a>>.say | ||
dvj_ | shell words? | ||
jnthn | r: my $a = "b"; <<a $a>>.say | ||
p6eval | rakudo e0ce08: OUTPUT«a b» | ||
jnthn | It's strangely consistent with 'a $a' vs "a $a" :) | 11:59 | |
masak | I'm studying category theory presently. they *formalize* notions of "strangely consistent"! (but they don't call it that) | 12:00 | |
dvj_ | nice :) | 12:02 | |
pmichaud | good morning, #perl6 | 12:03 | |
12:04
fgomez joined
|
|||
masak | pmichaud! \o/ | 12:04 | |
cf especially en.wikipedia.org/wiki/Universal_property | |||
the only frustrating thing about Wikipedia articles on category theory is that you read the intro blurb, and then you're no wiser :) | 12:05 | ||
12:07
sizz joined
|
|||
moritz | isn't that true for nearly all articles on category theory? | 12:07 | |
12:07
sizz_ left
|
|||
pmichaud | jnthn: I worked on the container issues a bit overnight... I have some interim conclusions. (You may have figured these out already.) | 12:08 | |
jnthn | Even if I have, it's good to be on the same page. :) | 12:09 | |
pmichaud | first, our array and hash declarations are likely going to need containers that aren't "scalar containers" -- i.e., we need some way for "my @a;" to leave @a undefined. Operationally, we need a container that doesn't suppress flattening. | 12:10 | |
jnthn | That implies nqp::iscont is going to need to change/be split up or something | 12:11 | |
12:11
SmokeMachine joined,
SmokeMachine left
|
|||
pmichaud | second, some assignment operations are just going to involve executing Perl 6 (HLL) code -- I'm thinking of Hash assignment in particular. | 12:11 | |
masak | moritz: well, I found arxiv.org/pdf/1302.6946.pdf which I rather enjoy. very approachable. | 12:12 | |
pmichaud | moreso, I don't think we can statically detect all such assignments. That means that our assignop either involves the possibility of inferior runloop, or we have to do runtime checking of the target prior to invoking the assignop in those cases where we can't statically detect things. | 12:13 | |
jnthn | Note that this check could go into infix:<=> and we send all the uncertain cases through that. | 12:14 | |
12:14
SmokeMachine joined
|
|||
jnthn | some_guard(cont) ?? low_level_assign(cont, value) !! cont.STORE(value) # ish | 12:15 | |
masak | tadzik: did you see the panda email on p6l? | 12:16 | |
pmichaud | it might also be the case that we can't do "some_guard(cont)" easily; that what we need is cont.STORE(...) that can forward to low_level_assign | 12:17 | |
diakopter | pass the fallback callback to STORE ? | ||
moritz | masak: looks interesting | ||
jnthn | pmichaud: How we do .VAR is also worth considering amongst all of this | 12:18 | |
pmichaud | I think jnthn is wanting to eliminate the fallback. Do we have fallbacks in other ops? | ||
12:18
rindolf joined
|
|||
diakopter | by fallback, I just meant whatever you meant by "forward to low_level_assign" | 12:19 | |
pmichaud | ah | ||
jnthn | pmichaud: The odd one, but this is on a hot-path | ||
pmichaud | how about .Numeric? | ||
12:19
JimmyZ joined
|
|||
pmichaud | maybe that one isn't so hotpath-ish | 12:19 | |
jnthn | Only if we do it through get_number, which should be very rare these days. | ||
masak | moritz: I'm third-way through it so far. it fills in a lot of blanks for me. | ||
pmichaud | right | ||
okay, I have to do kid carpool... bbi20 | 12:20 | ||
jnthn | k | ||
diakopter | bbi240 & | ||
tadzik | masak: yeah | ||
prolly a proxy problem of some sort | 12:21 | ||
moritz | yes, thought so too | ||
or firewall | |||
masak | I've seen in movies that you can break through firewalls by typing frenetically on your keyboard. Preferably while looking young and hip. | 12:24 | |
hoelzro | pmichaud, jnthn: do either of you have the time to look over my NQP changes? | 12:25 | |
I'd like to make sure they make it into tomorrow's release? | |||
moritz | hoelzro: have you opened a pull request? | 12:26 | |
hoelzro | not yet; I want to make sure my changes make sense, then clean up the commits | 12:27 | |
12:28
jaldhar left
|
|||
pmichaud | hoelzro: I needed a url or something to look at the changes. | 12:36 | |
(still do) | |||
hoelzro | oh, sure thing | ||
github.com/hoelzro/nqp | |||
pmichaud | it's generally easier to see the changes in a pull request, fwiw. | 12:37 | |
or some sort of patch/diff file | 12:38 | ||
12:39
dvj_ left
|
|||
pmichaud | reading diff now | 12:40 | |
12:41
census joined
|
|||
pmichaud | do we still need the errno_values hash? | 12:41 | |
[Coke] | masak: I think swordfish is probably one of the more egregious in that genre. | ||
Heather is UFO fun. that's all... | |||
pmichaud | (I think the errno_values hash shouldn't be needed.) | 12:42 | |
same for the nqperrnovalues opcode | |||
er, nqp_posixerrnovalues op | |||
hoelzro | oops, I forgot to remove the errnovalues code | 12:43 | |
pmichaud | erg, the diff includes a stage0 diff | ||
(sigh) | |||
FROGGS | jnthn: if I have 'say(1)', that is just an EXPR, right? and within EXPR it calls postcircumfix which invokes the methodcall? | 12:46 | |
pmichaud | github.com/hoelzro/nqp/blob/master...le.in#L665 has a POSIX_PASM that should probably be POSIX_PIR | 12:47 | |
hoelzro | ah, true | ||
masak | [Coke]: haven't seen that one, though I remember when it came. | 12:48 | |
[Coke]: do you recommend it? | |||
moritz | if you like action movies, it's not bad IMHO | ||
one shouldn't expect much realism from the "hacking" part though :-) | 12:49 | ||
[Coke] | not as a serious movie, no. but it has 4 actors that in lots of stuff I like, and things blow up. | ||
pmichaud | posix.pir probably needs to be installed somewhere. | 12:50 | |
otherwise HLL::Backend::Parrot won't be able to find it. | 12:51 | ||
[Coke] | that *are* (wolverine, storm, iron patriot, chili palmer) | ||
pmichaud | if not too much trouble, we should change the name of "posix.pir" to be "nqp_posix.pir" to avoid potential collisions with a parrot-provided "posix" module in the future. | 12:54 | |
(this can happen post-merge, though) | |||
also nqp_posix.pir would make it clearer that it's something coming from nqp and not parrot | |||
hoelzro | pmichaud: ok, I'll add that as well | ||
pmichaud | actually, I wonder if it should just be nqp_const.pir | 12:56 | |
in case we ever put other non-posix constants in there | |||
I like that better, I think. | 12:57 | ||
jnthn | hoelzro/pmichaud: There's no need to do a bootstrap update with this patch afaict | ||
pmichaud | jnthn: I agree, bootstrap update not needed. | ||
jnthn | FROGGS: EXPR calls termish, which parses the term and the postcircumfix there | 12:58 | |
12:58
kivutar joined
|
|||
hoelzro | ok, cool; I'll remove it from my branch | 12:59 | |
ok, so nqp_const.pir, then? | |||
pmichaud | hoelzro: yes, please. | ||
hoelzro | ok | 13:00 | |
FROGGS | jnthn: so it looks like 'termish' doesn't get called | ||
pmichaud | bbiab | 13:07 | |
13:07
dvj_ joined,
SamuraiJack left
13:08
uasi left,
dvj_ left,
uasi joined
13:10
cognominal joined
|
|||
masak .oO( 'termish' doesn't even get calledish ) | 13:10 | ||
FROGGS | yaish :/ | 13:11 | |
13:11
kivutar left
|
|||
[Coke] | so, a whish, then. | 13:12 | |
13:15
bluescreen10 joined
13:16
woosley1 joined
|
|||
Heather | star: use IO::Socket; | 13:17 | |
p6eval | star 2013.02: OUTPUT«===SORRY!===Could not find IO::Socket in any of: /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/site/lib, /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/vendor/lib, /home/p6eval/star/lib/parrot/4.10.0/languages/perl6/lib, /home/p6eval/.perl6/2013.02.1/lib… | ||
FROGGS | star: say IO::Socket.new | 13:18 | |
p6eval | star 2013.02: OUTPUT«Could not find symbol '&Socket' in method <anon> at src/gen/CORE.setting:10522 in at src/gen/Metamodel.pm:2488 in any find_method_fallback at src/gen/Metamodel.pm:2476 in any find_method at src/gen/Metamodel.pm:925 in at src/gen/BOOTSTRAP.pm:883 in any… | ||
FROGGS | star: say IO::Socket | ||
p6eval | star 2013.02: OUTPUT«Could not find symbol '&Socket' in method <anon> at src/gen/CORE.setting:10522 in at src/gen/Metamodel.pm:2488 in any find_method_fallback at src/gen/Metamodel.pm:2476 in any find_method at src/gen/Metamodel.pm:925 in at src/gen/BOOTSTRAP.pm:883 in any… | ||
FROGGS | hmmm, I thought it is built in? | ||
Heather | I don't know. | ||
star: socket.new | 13:19 | ||
p6eval | star 2013.02: OUTPUT«===SORRY!===Undeclared routine: socket used at line 1» | ||
moritz | IO::Socket is built-in, but p6eval removes some IO stuff for security reasons | 13:20 | |
pmichaud | Rakudo has my role IO::Socket { | ||
moritz | so, try it locally | ||
pmichaud | ah, makes sense. | ||
FROGGS | ahh | ||
right | |||
I always forget that | |||
Heather | ah, ok... I was planning to run irc bot | ||
pmichaud | maybe RESTRICTED.setting should declare IO::Socket also :) | 13:21 | |
star: say IO | 13:22 | ||
p6eval | star 2013.02: OUTPUT«IO()» | ||
pmichaud | star: say IO.new | ||
p6eval | star 2013.02: OUTPUT«IO.new()» | ||
pmichaud | star: say IO.new.whatever; | 13:23 | |
p6eval | star 2013.02: OUTPUT«IO is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting:2 in block at src/RESTRICTED.setting:18 in at src/gen/Metamodel.pm:2488 in any find_method_fallback at src/gen/Metamodel.pm:2476 in any find_method at src/gen/Metamodel.pm… | ||
13:23
sqirrel left
13:25
daxim left
13:26
Heather left
13:27
daxim joined
|
|||
moritz | it creates a new class IO which has this message as catch-all method | 13:27 | |
pmichaud | yeah, I'm reworking that a bit. | ||
and I'm realizing that I really want --target=pbc to work soon :) | 13:29 | ||
hoelzro | ok, official cleaned up pull request: github.com/perl6/nqp/pull/86 | 13:35 | |
jnthn | pmichaud: the --target=pbc should be easier now | 13:37 | |
pmichaud | jnthn: yeah; I just have to wait for the Parrot branch to merge, and for it to be safe for us to bump PARROT_REVISION :) | 13:41 | |
jnthn | pmichaud: Probably after the release tomorrow then ;) | ||
pmichaud | maybe. | ||
Parrot's having some release issues this month. | |||
jnthn | oh? | 13:42 | |
pmichaud | lists.parrot.org/pipermail/parrot-d...07433.html | 13:43 | |
moritz | something with IO stuff failing | ||
jnthn | .oO( not an IOta of surprise there... ) |
13:45 | |
pmichaud | how about something like gist.github.com/pmichaud/5204740 for handling restricted types ? | 13:47 | |
jnthn | pmichaud: Looks reasonable. | 13:48 | |
13:48
cognominal left
|
|||
[Coke] | (io) looks like the release will probably rollback to before that mergeback. | 13:50 | |
pmichaud | ...which mergeback? | ||
[Coke] | pull request? | 13:53 | |
there was an io pull request between releases. | |||
[Coke] points over in #parrot/#parrotsketch at Util's note. | |||
pmichaud | I'm lost on the details, but I don't feel a strong need to be found, either. | 13:55 | |
13:55
cognominal joined
13:58
PacoAir joined
|
|||
dalek | kudo/nom: 337fcee | pmichaud++ | src/RESTRICTED.setting: Refactor handling of RESTRICTED classes such as IO and IO::Socket. |
14:00 | |
masak | signs you've been teaching Perl 5: trying to use 'bless' as a sub. | 14:01 | |
pmichaud | I couldn't get the fallback thingy to work -- maybe someone can add that back in. | ||
masak | Undeclared routine: bless used at line 17. Did you mean '&elems'? | ||
NO I DID NOT MEAN &elems | |||
:P | |||
jnthn | It is levensteinly closely | ||
*close | |||
masak | was gonna say. | ||
pmichaud | sub bless(|) { say "masak, I think you meant &elems"; } | 14:02 | |
masak | :P | ||
pmichaud | or even better | ||
sub bless($x) { $x.elems } | |||
masak | I acutally meant self.bless | ||
pmichaud: you're evil :P | |||
14:02
kaleem left
|
|||
pmichaud | r: say IO.new | 14:03 | |
p6eval | rakudo e0ce08: OUTPUT«IO.new()» | ||
pmichaud | r: say IO.new.xyz | ||
p6eval | rakudo e0ce08: OUTPUT«IO is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting:2 in block at src/RESTRICTED.setting:18 in at src/gen/Metamodel.pm:2501 in any find_method_fallback at src/gen/Metamodel.pm:2489 in any find_method at src/gen/Metamodel.p… | ||
pmichaud | r: say IO.new.perl | ||
p6eval | rakudo e0ce08: OUTPUT«IO.new()» | ||
pmichaud | r: say CORE::IO.new.perl # just sayin | ||
p6eval | rakudo e0ce08: OUTPUT«IO.new(ins => 0, chomp => Bool::True, path => Any)» | ||
pmichaud | bbiab | ||
jnthn | pmichaud: Mostly it's "must be a least *this* Perl 6 skilled to do evil" :) | ||
pmichaud | my CORE is RESTRICTED; :-P | 14:04 | |
I wonder how much breaks if RESTRICTED declares CORE | |||
moritz | that's why it's called RESTRICTED and not SAFE :-) | 14:05 | |
14:07
Exodist joined,
skids joined
14:08
kivutar joined,
xilo left
14:09
woosley1 left
14:16
cognominal left
|
|||
moritz | r: say IO::Socket::INET | 14:21 | |
p6eval | rakudo 337fce: OUTPUT«Could not find symbol '&INET' in method <anon> at src/gen/CORE.setting:10615 in at src/gen/Metamodel.pm:2501 in any find_method_fallback at src/gen/Metamodel.pm:2489 in any find_method at src/gen/Metamodel.pm:937 in block at /tmp/hH9nEUNo1B:1»… | ||
moritz | r: say IO::Path.new | 14:22 | |
p6eval | rakudo 337fce: OUTPUT«Could not find symbol '&Path' in method <anon> at src/gen/CORE.setting:10615 in at src/gen/Metamodel.pm:2501 in any find_method_fallback at src/gen/Metamodel.pm:2489 in any find_method at src/gen/Metamodel.pm:937 in block at /tmp/zdBYUHf2fl:1»… | ||
14:23
Psyche^ joined,
cognominal joined
14:27
fgomez left,
Patterner left,
Psyche^ is now known as Patterner
14:31
cognominal left
|
|||
dalek | kudo/nom: 9be4cce | pmichaud++ | src/RESTRICTED.setting: Add FALLBACK method to RESTRICTED. FALLBACK from S12 is NYI, but when |
14:34 | |
14:35
lichtkind joined
|
|||
lichtkind | moritz: in erlangen we had about 80visitors? | 14:36 | |
moritz | lichtkind: context? | ||
lichtkind | german perl workshop | 14:37 | |
14:38
uasi left,
uasi joined
|
|||
pmichaud | TimToady: S12:613 (FALLBACK) is worded a little confusingly; it says "If your class defines a method with the special name <FALLBACK>, that method will be called if all other attempts to locate a method of that name fail, ..." | 14:38 | |
moritz | the "of that name" should be removed, I think | 14:39 | |
pmichaud | TimToady: the "locate a method of that name" seems confusing (antecedent) | ||
I agree, "of that name" could be removed. | 14:40 | ||
14:40
fgomez joined
|
|||
jnthn | +1 | 14:41 | |
pmichaud | I'm afk for a bit | 14:44 | |
masak | yes, remove "of that name". | ||
+1 | |||
pmichaud removes. | 14:45 | ||
14:46
SmokeMachine left
|
|||
dalek | ecs: 7371e2e | pmichaud++ | S12-objects.pod: [S12] Remove spurious "of that name" qualifier from description of FALLBACK. |
14:46 | |
14:47
SmokeMachine joined
14:52
dakkar left
14:56
xilo joined
|
|||
lichtkind | moritz: was that a no? | 14:59 | |
moritz | lichtkind: I don't remember exact numbers, but between 80 and 90 sounds about right | 15:00 | |
15:01
dakkar joined
|
|||
lichtkind | thanks i just write about berlin and wanted to put it in context, btw berlin was fantastic even the p6 to get back on topic was recieved very well | 15:01 | |
i just had an error when it comes to inheriting roles | 15:02 | ||
when joined to classes they get inherited | |||
15:02
sqirrel joined
|
|||
moritz | lichtkind: it's well worth your time to run the code in slides before the talk :-) | 15:03 | |
lichtkind | moritz: i run a lot of examples | 15:05 | |
moritz | and it also puts Perl 6 in a better light if you can say "none of this is speculative. All of the code runs" | ||
lichtkind: then do ss/a lot off/all/ and be done :-) | |||
lichtkind | but like you know i couldnt compile rakudo so i could not test the few cases i didnt thought about beforehand | ||
at home under linux all is well | 15:06 | ||
moritz | I don't know that you can't compile rakudo | 15:07 | |
I can't keep track of everybody and their rakudo status in my head | |||
lichtkind | no but i filed it and you commented so i know you know | ||
15:09
PacoAir left
|
|||
moritz | I knew, and RT knows. I don't keep track of all that stuff in my head | 15:09 | |
15:11
PacoAir joined
15:16
LlamaRider joined
|
|||
JimmyZ | 'night | 15:22 | |
15:22
JimmyZ left
|
|||
lichtkind | moritz: hast aber recht hätte für den talk genausoviel testen können wie für den in chemnitz | 15:24 | |
masak | lichtkind: why can't you compile Rakudo? | 15:32 | |
(I also didn't know this) :) | |||
jnthn | lichtkind can't compile Rakudo?! | ||
lichtkind | because it exits during compilation with a heap of errors but yesterday i updated to macos 10.8.3 maybe should try one more time | 15:33 | |
jnthn | .oO( is a heap of errors messier than a stack of errors? ) |
15:34 | |
masak | you can't deallocate a heap of errors as easily. | 15:35 | |
moritz | well, by killing the process | 15:36 | |
lichtkind: also since you saw that I replied to your ticket, you could have been so kind to reply in turn | 15:37 | ||
15:37
cognominal joined
|
|||
lichtkind | I did that | 15:37 | |
i had 187 gig free | |||
sent you that with mail and said it froggs too | |||
moritz | lichtkind: well, since a ticket, you should reply to the ticket | 15:38 | |
15:38
benabik left
|
|||
moritz | otherwise others that work on the ticket don't have the same information | 15:38 | |
masak | lichtkind: when did Rakudo compilation start failing on your box? was it connected to some change or upgrade? have you tried cloning from scratch and building? how far back do you have to go in git history for it to build? could you perhaps bisect for us? | 15:47 | |
lichtkind: any answer to the above questions would be helpful. | |||
lichtkind | it never worked it was my first attempt under my new macbook | 15:48 | |
yes it was a fresh clone | |||
run configure with perl 5.14 | |||
i do a fresh run now | 15:49 | ||
maybe i had perlbrew on but a 5.16 should do no harm | 15:50 | ||
15:55
alester joined
|
|||
moritz | it would be really helpful if you could use strace (or your platform's equivalent) to find out what the reason for 'Cannot open output file blib/Perl6/Actions.pbc' is | 15:58 | |
masak | lichtkind: aha. "my new macbook". I immediately suspect a case-insensitive HFS drive. | 15:59 | |
16:00
gdey joined
|
|||
FROGGS .oO( case-insensitive clod ) | 16:02 | ||
moritz | if compilation works on windows, it should work on case-insensitive HFS too | 16:04 | |
masak | hm. | 16:05 | |
16:05
SunilJoshi joined
|
|||
geekosaur | it works here and I'm using case insensitive on my primary drive (per apple recommendations; I think it may still refuse to install os x on a case sensitive hfs+) | 16:07 | |
16:08
cognominal left
|
|||
lichtkind | i think problem is alsewhere its pages over pages errors again i have to redirect that output in a file | 16:12 | |
moritz | well, usually only the first error is actually interesting | ||
lichtkind | exactly | 16:13 | |
masak | there should be like a tool that keeps track of dependencies between tasks and stops after the first error. | 16:14 | |
I see a big market for this. | |||
lichtkind | but looks like all warnings real error is in multi_dispatch.c:89:9 error void function 'add_to_cache' should return a value [-Wreturn-type] return NULL; | ||
masak | lichtkind: I'm pretty sure warnings of that kind aren't causing your current problem. | 16:16 | |
jnthn | Hm, I already fixed that one | 16:17 | |
masak | not on lichtkind's box :P | ||
jnthn | there should be like a tool that keeps a central copy of fixes to code so others can get hold of them P | 16:18 | |
lichtkind | i did a fresh git clone 20 min ago | ||
jnthn | oh...that code is in NQP... | ||
lichtkind | allright more later gotta eat and post office is closing in 40 min | 16:19 | |
masak | fare well, dear friend of run-on sentences :) | 16:21 | |
hoelzro | what time does the release go out tomorrow? | 16:22 | |
masak .oO( how should I know? ask the release manager! ) :P | |||
hoelzro .oO( who's the release manager? ) | |||
16:23
fgomez left
|
|||
masak | hoelzro: I'll likely cut it in the evening. a few hours + 24 h hence. | 16:23 | |
PerlJam | .oO( whoever steps up! :) |
||
hoelzro | masak: ok | ||
I cleaned up my NQP work and stuffed it in a pull request | |||
github.com/perl6/nqp/pull/86 | 16:24 | ||
masak | hoelzro: nice. | 16:25 | |
masak looks | 16:26 | ||
PerlJam would *really* like to see github properly highlight Perl 6 code | |||
IF only to get $var-name highlighted correctly. | |||
moritz | masak: remember that there's already a skeleton for the release announcement (because we've switched it to markdown) | ||
masak | PerlJam: that's easy :) just provide them with a nice STD-based parser in some language they're prepared to run. | ||
*grin* | 16:27 | ||
hoelzro | PerlJam: almost there! | ||
16:27
bluescreen100 joined
|
|||
hoelzro | bitbucket.org/hoelzro/pygments-main | 16:27 | |
masak | moritz: ok. thanks. is that in the release guide? it probably should be. | ||
hoelzro | I only have about three issues left | ||
they all revolve around regexes =/ | |||
moritz | masak: no, it's a one-time thing | ||
PerlJam | hoelzro: need any help? | ||
moritz | masak: ie next month you'll just be using the announcement from March as a template, which then will be markdown | 16:28 | |
hoelzro | PerlJam: now that I'm almost done you ask ;) | ||
masak | moritz: ah, ok. | ||
hoelzro | PerlJam: honestly, just test it out | ||
16:28
stevan__ joined
|
|||
hoelzro | I know how I'm going to solve 2/3 bugs I have left | 16:28 | |
bug 3 is correctly highlighting <[...]> + <[...]> or <[...]> - <[...]> | 16:29 | ||
so if you can figure that out, that'd be amazing | |||
also, the filetype detection is very primitive | |||
it looks for a perl6 shebang line or 'use v6' | |||
so I need to improve that | |||
PerlJam | hoelzro: let me clone the repo and see what I can do :) | 16:30 | |
hoelzro | great! | ||
16:30
stevan_ left,
bluescreen10 left
|
|||
FROGGS | hoelzro: well, class, token, role, method declarations could also trigger that | 16:31 | |
but I believe a shebang and/or 'use v6' is pretty fine tii | 16:32 | ||
too | |||
PerlJam | FROGGS: only if they happen before any "use" line. Perl 5 can have role, class, token, method, etc. declarations if they've used the appropriate syntax modulating module. | 16:33 | |
16:33
fgomez joined
|
|||
hoelzro | FROGGS: I have some ideas, they just haven't been high priority to fix =) | 16:33 | |
16:33
grondilu joined
|
|||
FROGGS | PerlJam: ahh okay, never used Moose and friends... | 16:33 | |
grondilu | rn: my $_ = "BROWN"; s:p(1):g/O/A/; .say | 16:34 | |
p6eval | rakudo 9be4cc: OUTPUT«Potential difficulties: Redeclaration of symbol $_ at /tmp/7d1GWLaswU:1 ------> my $_ ⏏= "BROWN"; s:p(1):g/O/A/; .sayBROWN» | ||
..niecza v24-35-g5c06e28: OUTPUT«Potential difficulties: Useless redeclaration of variable $_ (see line 0) at /tmp/xyDsEhChoX line 1:------> my $_ ⏏= "BROWN"; s:p(1):g/O/A/; .sayBROWN» | |||
FROGGS | hoelzro: correctly, it has a minor priority | ||
grondilu | rn: $_ = "BROWN"; s:p(1):g/O/A/; .say | ||
p6eval | rakudo 9be4cc, niecza v24-35-g5c06e28: OUTPUT«BROWN» | ||
PerlJam | btw, hoelzro++ for pygments | 16:35 | |
hoelzro | FROGGS: yeah, it's the last thing I intend to do | ||
grondilu | rn: $_ = "BROWN"; s:c(1):g/O/A/; .say | ||
p6eval | rakudo 9be4cc, niecza v24-35-g5c06e28: OUTPUT«BRAWN» | ||
PerlJam | and again hoelzro++ for POSIX stuff | ||
:) | |||
16:35
grondilu left
|
|||
hoelzro | \o/ | 16:36 | |
is there something in the spec for detecting v5 vs v6? | |||
I thought I remember reading that somewhere | |||
decommute & # I'll read the backlog | 16:37 | ||
PerlJam | S01:107 | ||
or there abouts | |||
16:37
FROGGS left
16:39
uasi left
16:43
grondilu joined
|
|||
grondilu | rn: $_ = "foooo"; s/(.) ** 2 .. */$0; .say; | 16:43 | |
p6eval | rakudo 9be4cc: OUTPUT«===SORRY!===Malformed replacement part; couldn't find final $stopat /tmp/BVoZeXq8VO:1------> $_ = "foooo"; s/(.) ** 2 .. */$0; .say;⏏<EOL> expecting any of: postfix» | ||
..niecza v24-35-g5c06e28: OUTPUT«===SORRY!===Spaces not allowed in bare range at /tmp/QrlfZGCPO8 line 1:------> $_ = "foooo"; s/(.) ** 2 ..⏏ */$0; .say;Parse failed» | |||
grondilu | rn: $_ = "foooo"; s/(.) ** 2 .. */$0/; .say; | 16:44 | |
p6eval | niecza v24-35-g5c06e28: OUTPUT«===SORRY!===Spaces not allowed in bare range at /tmp/139Ul6EYTF line 1:------> $_ = "foooo"; s/(.) ** 2 ..⏏ */$0/; .say;Parse failed» | ||
..rakudo 9be4cc: OUTPUT«f o» | |||
16:44
SmokeMachine left
|
|||
grondilu | rn: $_ = "foooo"; s/(.) ** 2..*/$0/; .say; | 16:44 | |
p6eval | rakudo 9be4cc, niecza v24-35-g5c06e28: OUTPUT«f o o o o» | ||
masak | grondilu: the $0 is a list of matches. stringify it, and you get spaces. | 16:48 | |
16:49
kaare_ joined
|
|||
masak | rn: $_ = "foooo"; s/(.) ** 2..*/$0.join/; .say; | 16:49 | |
p6eval | rakudo 9be4cc, niecza v24-35-g5c06e28: OUTPUT«f o o o o.join» | ||
masak | er :) | ||
rn: $_ = "foooo"; s/(.) ** 2..*/$0.join()/; .say; | |||
p6eval | rakudo 9be4cc, niecza v24-35-g5c06e28: OUTPUT«foooo» | ||
16:49
SmokeMachine joined
|
|||
masak | hoelzro: looks good. I'll merge this. | 16:52 | |
done. | 16:53 | ||
dalek | p: 42611bf | (Rob Hoelz)++ | src/ (2 files): Add nqp::x_posixerrno |
||
p: 9918925 | (Rob Hoelz)++ | t/nqp/67-errno.t: Add test for nqp::x_posixerrno and pir::const::POSIX_* |
|||
p: c76de5a | (Rob Hoelz)++ | tools/build/generate-constants.pl: Add script to generate list of errno value macros |
|||
p: 0e42959 | (Rob Hoelz)++ | tools/build/Makefile.in: Generate nqp_const.pir as dependency for building NQP |
|||
nqp: f2e0aa1 | (Rob Hoelz)++ | src/HLL/Compiler.pm: | |||
nqp: Include nqp_const.pir in registered constants | |||
16:54
fgomez left
16:57
Chillance joined
17:07
daxim left
|
|||
grondilu | masak: thanks | 17:13 | |
17:14
wtw joined,
bluescreen100 left
17:16
wk left
17:29
FROGGS joined
|
|||
dalek | kudo/tmp_highfive: 9b75a65 | (Tobias Leich)++ | / (5 files): just for testing purposes |
17:33 | |
17:34
dwoldrich joined
|
|||
FROGGS | jnthn: if you have time to have a glimpse at that branch ---^ it would be super sweet | 17:35 | |
jnthn: compare -e 'say(1)' with -e 'use v5; say(1)' | |||
I have no idea right now what piece of the puzzle is missing | 17:36 | ||
17:41
SunilJoshi left
|
|||
jnthn | I know! It's the part you missed! :P | 17:42 | |
nqp::rebless($/.CURSOR, %*LANG<Perl5>); | 17:44 | ||
That looks weird | |||
FROGGS | hmmm, within the Perl6::Grammar it is: nqp::rebless($/.CURSOR, %*LANG<MAIN>); | ||
jnthn | Yeah, but %*LANG<MAIN< will always be a subclass of what the cursor currently is. | 17:45 | |
FROGGS | ahh, ohh | ||
jnthn | I'm pretty sure Grammar::Perl5 ain't a subclass of Grammar::Perl6 :) | ||
FROGGS | so I should change that | ||
jnthn | yeah, I'm surprised it doesn't explode. | ||
FROGGS | *g* | ||
it explodes silently though... | |||
jnthn | Is it reached? | 17:46 | |
FROGGS | reached what? | ||
jnthn | does the say("P6 use v5"); run, for example? | 17:47 | |
FROGGS | it is switching to Perl6::P5Grammar, and yes, this statement gets printed | ||
jnthn | OK | ||
Oh... | |||
You didn't add anything to the action method for this rule, though? | |||
FROGGS | errr, no | 17:48 | |
ó.ò | |||
jnthn | If you update the statement_control:sym<use> grammar rule to parse something else, then the action method needs updating to say what to do with it. | ||
I think at the moment no branch in the statement_control:sym<use>($/) action method is being hit, so there's no "make" statement executed, so its .ast is not set, so the next thing up is in trouble. | 17:49 | ||
elsif $<statementlist> { make $<statementlist>.ast; } # or so | 17:50 | ||
FROGGS | kk | 17:53 | |
diakopter | rn: use v3.14159; say 'alive' | 18:00 | |
p6eval | rakudo 9be4cc, niecza v24-35-g5c06e28: OUTPUT«alive» | ||
diakopter | p: use v3.14159; say 'alive' | 18:01 | |
p6eval | pugs: OUTPUT«alive» | ||
18:01
vaelxon left
18:02
fgomez joined
|
|||
diakopter | r: use v9; BEGIN say 'alive9'; use v10; BEGIN say 'alive10'; | 18:05 | |
p6eval | rakudo 9be4cc: OUTPUT«alive9===SORRY!===Could not find v10 in any of: /home/p6eval/nom-inst/lib/parrot/4.10.0-devel/languages/perl6/site/lib, /home/p6eval/nom-inst/lib/parrot/4.10.0-devel/languages/perl6/vendor/lib, /home/p6eval/nom-inst/lib/parrot/4.10.0-devel/languages/perl6/lib, /h… | ||
diakopter | so.. how is there a v9 but not a v10 | 18:06 | |
18:07
spider-mario joined
|
|||
jnthn | std: use v9; BEGIN say 'alive9'; use v10; BEGIN say 'alive10'; | 18:08 | |
p6eval | std 86b102f: OUTPUT«===SORRY!===Cannot locate module v9 at /tmp/6ELjvcsXmT line 1:------> use v9⏏; BEGIN say 'alive9'; use v10; BEGIN sayCannot locate module v10 at /tmp/6ELjvcsXmT line 1:------> use v9; BEGIN say 'alive9'; use v10⏏[31… | ||
jnthn | Hm, curious :) | 18:09 | |
I seem to recall there being something interesting going on with LTM there between a module name and a version | |||
token version:sym<v> { | |||
'v' <?before \d> :: <vnum> +% '.' '+'? | |||
That goes some way to explaining it :) | 18:10 | ||
dinner; bbiab | |||
18:12
am0c left
18:14
fgomez left,
xilo left
18:16
dakkar left,
shinobicl joined,
xilo joined
|
|||
pmichaud | (nqp_errno): I think the nqp_const.pir file needs to be installed somewhere on "make install" The patch doesn't show that being done. | 18:19 | |
dalek | rl6-roast-data: 2a026d7 | coke++ | / (3 files): today (automated commit) |
||
rl6-roast-data: 8e24a9f | coke++ | / (3 files): today (automated commit) |
|||
lichtkind | jnthn: allright have first warning | 18:20 | |
jnthn: its in nqp_ops.c:3391::33 | |||
pmichaud | nqp_ops.c has lots of warnings on linux-ish boxes that can be safely ignored. | 18:22 | |
lichtkind | jnthn: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] | ||
FROGGS | lichtkind: I guess this one can be ignored | 18:23 | |
lichtkind | if ((var->vtable->base_type ==smo_id)) { | ||
18:23
SamuraiJack joined
|
|||
lichtkind | yes buts the first one that lead to compile error | 18:23 | |
iposted the error too so i did my duty | |||
pmichaud | posted where? | 18:24 | |
lichtkind | 2h ago in this list | ||
realistically i dont have time for that should write something else | |||
18:25
ggoebel left
|
|||
FROGGS | lichtkind: I dont see a link | 18:25 | |
[Coke] | rakudo test clean 3 days in a row again. | ||
lichtkind | sure but fails on darwin | ||
FROGGS | lichtkind: there is no link within today's irclog | 18:28 | |
lichtkind | but i wrote: multi_dispatch.c:89:9 error void function 'add_to_cache' should return a value [-Wreturn-type] return NULL; | 18:29 | |
there really my compilation ends | |||
diakopter | rnp: my $a = []; my $b := $a[1]; push $a, 5, 6; say $b; $b = 7; say $a.perl | ||
p6eval | rakudo 9be4cc: OUTPUT«(Any)[5, 7]» | 18:30 | |
..niecza v24-35-g5c06e28: OUTPUT«(Any)[Any, 7, 5, 6]» | |||
..pugs: OUTPUT«\\(undef, 7, 5, 6)» | |||
18:30
ggoebel joined,
wk joined
|
|||
pmichaud | rn: my $a = []; my $b := $a[1]; say $a.elems; $b = 7; say $a.elems | 18:31 | |
p6eval | niecza v24-35-g5c06e28: OUTPUT«22» | ||
..rakudo 9be4cc: OUTPUT«02» | |||
diakopter | rnp: my $a = []; my $b := $a[1]; unshift $a, 5, 6; say $b; $b = 7; say $a.perl | 18:32 | |
p6eval | pugs: OUTPUT«\\(5, 6, undef, 7)» | ||
..rakudo 9be4cc: OUTPUT«(Any)[5, 7]» | |||
..niecza v24-35-g5c06e28: OUTPUT«(Any)[5, 6, Any, 7]» | |||
diakopter | I can perhaps understand rakudo putting the 7 where it does, but why does it then say Any for $b at first | 18:33 | |
pmichaud | because it's an uninitialized variable. | ||
diakopter | there's not a 6 there? | 18:34 | |
pmichaud | no. | ||
$b is tied to the container at $a[1], it isn't tied to position 1 of $a. | 18:35 | ||
diakopter | they how does the 7 overwrite the 6 | ||
pmichaud | oh, wait. | ||
oh | 18:36 | ||
because $b := $a[1] doesn't vivify $a[1], we instead get a scalar that will attempt to vivify $a[1] when it's assigned to | |||
when we assign to $b, we see that $a[1] has already been vivified, so we assign to that instead of binding the unused one. | |||
that's so that the following succeeds: | 18:38 | ||
diakopter | why doesn't $b read 6 at first then | ||
18:38
zby_home_ joined
|
|||
pmichaud | rn: my $a = []; my $b := $a[1]; my $c := $a[1]; $b = 6; say $c; | 18:38 | |
p6eval | niecza v24-35-g5c06e28: OUTPUT«6» | ||
..rakudo 9be4cc: OUTPUT«(Any)» | |||
pmichaud | er | ||
ick. | |||
yeah | 18:39 | ||
anyway, the reason $b doesn't read 6 is because it's not bound to the $a[1] that was created by the unshift | |||
worse might be | 18:40 | ||
rn: my $a = []; my $b = $a[1]; $a.unshift(5,6); $b = 7; say $a.perl; say $b.perl; | 18:41 | ||
p6eval | rakudo 9be4cc, niecza v24-35-g5c06e28: OUTPUT«[5, 6]7» | ||
pmichaud | oops | ||
rn: my $a = []; my $b := $a[1]; $a.unshift(5,6); $b = 7; say $a.perl; say $b.perl; | |||
18:41
jeffreykegler joined
|
|||
p6eval | rakudo 9be4cc: OUTPUT«[5, 7]7» | 18:41 | |
..niecza v24-35-g5c06e28: OUTPUT«[5, 6, Any, 7]7» | |||
pmichaud | okay, that works for some reason. | ||
diakopter | rnp: my $b := []; $b = 7; say $b.perl | ||
p6eval | niecza v24-35-g5c06e28: OUTPUT«Unhandled exception: Writing to readonly scalar at /tmp/XBp1omJ62V line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4300 (module-CORE @ 583)  at /home/p6eval/niecza/li… | ||
..pugs: OUTPUT«\(7,)» | |||
..rakudo 9be4cc: OUTPUT«7» | |||
diakopter | rnp: my $b := [0]; say $b.WHAT; $b = 7; say $b.perl; say $b.WHAT | 18:42 | |
p6eval | rakudo 9be4cc: OUTPUT«(Array)7(Int)» | ||
..pugs: OUTPUT«Array()\(7,)Array()» | |||
..niecza v24-35-g5c06e28: OUTPUT«(Array)Unhandled exception: Writing to readonly scalar at /tmp/NxrkqHKGUX line 1 (mainline @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4300 (module-CORE @ 583)  at /home/p6eval/n… | |||
diakopter | rnp: my $b := \[0]; say $b.WHAT; $b = 7; say $b.perl; say $b.WHAT | 18:44 | |
p6eval | niecza v24-35-g5c06e28: OUTPUT«(Capture)Unhandled exception: Writing to readonly scalar at /tmp/5KO1Y8GFRe line 1 (mainline @ 6)  at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4300 (module-CORE @ 583)  at /home/p6eval… | ||
..rakudo 9be4cc: OUTPUT«(Capture)Cannot modify an immutable value in block at /tmp/E9YLCq5spu:1» | |||
..pugs: OUTPUT«Array()\(7,)Array()» | |||
diakopter | ok.. | ||
pmichaud | hoelzro: did you see my note about needing to install nqp_const.pir ? | 18:51 | |
(release) Are we going to stay with minimum Parrot 4.10 for the 2013.03 release? | 18:52 | ||
diakopter | r: my $b := sub { $b }; say $b()()()()()()()()()()()()()()()()()() | 18:53 | |
p6eval | rakudo 9be4cc: OUTPUT«sub() { ... }» | ||
diakopter | heh | ||
pmichaud guesses "yes" to sticking with PARROT_RELEASE at 4_10_0 for this month. | |||
diakopter | r: my Positional @b := @b[0]; | 18:55 | |
p6eval | rakudo 9be4cc: OUTPUT«Type check failed in binding; expected 'Positional' but got 'Positional' in block at /tmp/zr_GxU3uIn:1» | ||
diakopter | _o_o | ||
rakudo, which Positional is the evil twin? | 18:56 | ||
18:56
wk left,
xilo left,
xilo joined
19:02
SamuraiJack left
|
|||
masak hands diakopter a Y combinator | 19:04 | ||
I'm tempted to rakudosubmit the 'my Positional @b := @b[0]' one | 19:05 | ||
19:06
fgomez joined
19:09
jeffreykegler left
|
|||
moritz | what should happen? | 19:11 | |
diakopter has no idea | 19:14 | ||
but *something*'s wrong ;) | |||
jnthn | It's an error reporting fail that is already RT'd, iirc | 19:19 | |
One of those should be Positional[Positional] | |||
masak | ah, yes. | ||
that one is reported. | |||
ooh, I have a heisenbug here. | 19:22 | ||
add debug statements: "no, of course nothings wrong". remove them: "something's wrong". | |||
:/ | |||
masak tries to golf it | 19:24 | ||
rn; say; say "alive" | 19:25 | ||
19:25
fhelmberger left
|
|||
masak | rn: say; say "alive" | 19:26 | |
p6eval | niecza v24-35-g5c06e28: OUTPUT«===SORRY!===Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/7l9JxqYH06 line 1:------> say⏏; say "alive"Unhandled exception: Check failed … | ||
..rakudo 9be4cc: OUTPUT«alive» | |||
masak | is this one difficult to fix? | ||
Rakudo's had it basically since the nom branch. | |||
jnthn | If not forever... | 19:28 | |
I don't think it's too hard. Just find where STD does it and see if it's a simple copy/paste | |||
19:30
fgomez left
19:31
fgomez joined
|
|||
masak | no, not forever. | 19:33 | |
we did it sufficiently far back. | |||
I'll see what I can do. | |||
just found my heisenbug :) | 19:34 | ||
yeah, this is a weird one. | |||
diakopter | run it? | 19:35 | |
masak | rn: my $c = [[1]].map({ [ @$_ ] }); $c.push( 42 ); say $c.perl | ||
19:35
bluescreen100 joined
|
|||
p6eval | rakudo 9be4cc, niecza v24-35-g5c06e28: OUTPUT«([1], 42).list.item» | 19:35 | |
masak | rn: my $c = [[1]].map({ [ @$_ ] }); $c.unshift( 42 ); say $c.perl | 19:36 | |
p6eval | rakudo 9be4cc: OUTPUT«(42,).list.item» | ||
..niecza v24-35-g5c06e28: OUTPUT«(42, [1]).list.item» | |||
masak submits rakudobug | |||
jnthn | masak: I think before we may have caught it at runtime. | 19:38 | |
masak | possibly. | ||
but we did catch it. | |||
...which is like 1000% better than printing empty lines ;) | 19:39 | ||
rn: my $c = [[1], [2], [3]].map({ [ @$_ ] }); $c.unshift( 42 ); say $c.perl | |||
p6eval | niecza v24-35-g5c06e28: OUTPUT«(42, [1], [2], [3]).list.item» | ||
..rakudo 9be4cc: OUTPUT«(42,).list.item» | |||
jnthn | That's a weird one... | 19:41 | |
masak | rn: my $c = [[1], [2], [3]]; $c.unshift( 42 ); say $c.perl | ||
p6eval | rakudo 9be4cc, niecza v24-35-g5c06e28: OUTPUT«[42, [1], [2], [3]]» | ||
masak | and the deep-cloning is part of it. | ||
*phew* -- at least it wasn't a lexical bug! :D | 19:42 | ||
19:43
grondilu left
|
|||
jnthn | my $c = [[1], [2], [3]].map({ [ @$_ ] }).eager; $c.unshift( 42 ); say $c.perl | 19:44 | |
r: my $c = [[1], [2], [3]].map({ [ @$_ ] }).eager; $c.unshift( 42 ); say $c.perl | |||
p6eval | rakudo 9be4cc: OUTPUT«(42, [1], [2], [3]).list.item» | ||
jnthn | I'm wondering if it's a mishandling of $!nextiter | 19:45 | |
pmichaud: ^^ if you have a moment. | |||
diakopter | r: my $c = [[1], [2], [3]].map({ say $_.WHAT; [[ @$_ ]] }).eager; $c.unshift( 42 ); say $c.perl | 19:48 | |
p6eval | rakudo 9be4cc: OUTPUT«(Array)(Array)(Array)(42, [[1]], [[2]], [[3]]).list.item» | ||
masak | r: my $c = [[1], [2], [3]].map({ [ @$_ ] }).eager; $c.unshift( 42 ); say $c.perl | 19:49 | |
p6eval | rakudo 9be4cc: OUTPUT«(42, [1], [2], [3]).list.item» | ||
masak | so ".eager" seems to make the difference. hmm. | ||
19:49
sqirrel left
|
|||
masak | and .unshift only wants the beginning, and .push wants the end. hmm hmm. | 19:49 | |
oh man. this may not even be a bug :( | 19:50 | ||
diakopter | just so I'm clear, what did youthink the problem was | ||
jnthn | masak: It feels like a bug to me, fwiw. | ||
masak | r: my $c = [[1], [2], [3]].map({ say $_.WHAT; [[ @$_ ]] }).eager; $c.unshift( 42 ); say $c.perl | ||
p6eval | rakudo 9be4cc: OUTPUT«(Array)(Array)(Array)(42, [[1]], [[2]], [[3]]).list.item» | ||
masak | rn: my $c = [[1]].map({ [ @$_ ] }); $c.unshift( 42 ); say $c.perl | ||
p6eval | rakudo 9be4cc: OUTPUT«(42,).list.item» | ||
..niecza v24-35-g5c06e28: OUTPUT«(42, [1]).list.item» | |||
masak | diakopter: the bug is that rakudo doesn't behave like niecza there. | ||
i.e. it loses my [1] | 19:51 | ||
jnthn | I'm guessing a good bit here, but $!items is the currently reified stuff, potentially with an iterator at the end, and $!nextiter is a thing we can use to get more elements, and making $!items exist hides the $!nextiter. | 19:52 | |
19:53
fgomez left
|
|||
jnthn | *If* that's the case, I don't know if the bug is that $!nextiter isn't moved into $!items, or that it's not seen later on. | 19:53 | |
pmichaud | back again | 19:56 | |
diakopter | rn: my $c = [66]; $c.=map({ [ @$_ ] }); $c.unshift( 42 ); say $c.perl # ha! | ||
p6eval | rakudo 9be4cc: OUTPUT«(42,).list.item» | ||
..niecza v24-35-g5c06e28: OUTPUT«(42, [66]).list.item» | |||
diakopter | rn: my $c = [[66]]; $c.=map({ [ @$_ ] }); $c.unshift( 42 ); say $c.perl # ha! | 19:57 | |
p6eval | rakudo 9be4cc: OUTPUT«(42,).list.item» | ||
..niecza v24-35-g5c06e28: OUTPUT«(42, [66]).list.item» | |||
19:57
wk joined
|
|||
diakopter | rn: my @c = [66]; @c.=map({ [ @$_ ] }); @c.unshift( 42 ); say @c.perl | 19:57 | |
p6eval | rakudo 9be4cc: OUTPUT«Array.new(42, [66])» | ||
..niecza v24-35-g5c06e28: OUTPUT«[42, [66]].list» | |||
diakopter | rn: my @c = [[66]]; @c.=map({ [ @$_ ] }); @c.unshift( 42 ); say @c.perl | ||
p6eval | niecza v24-35-g5c06e28: OUTPUT«[42, [[66]]].list» | ||
..rakudo 9be4cc: OUTPUT«Array.new(42, [[66]])» | |||
diakopter | heh | ||
pmichaud | I'm having trouble following the syntax, or what is expected. Just a sec | 19:58 | |
diakopter | (see more backlog) | ||
jnthn | pmichaud: The examples before diakopter started throwing stuff at p6eval are more informative ;) | ||
pmichaud | ETOOMUCHBACKLOG | ||
masak | there's also an RT ticket ;) | ||
pmichaud | can I just look at the ticket? | ||
masak | rt.perl.org/rt3/Ticket/Display.html?id=117235 | ||
diakopter | note the @c does fine | 19:59 | |
pmichaud | rn: my $c = [[1],[2],[3]].map({ [ @$_ ]}); say $c.perl; | ||
p6eval | rakudo 9be4cc, niecza v24-35-g5c06e28: OUTPUT«([1], [2], [3]).list.item» | ||
eiro | /wg #soul9 | ||
pmichaud | rn: my $c = [[1],[2],[3]].map({ [ @$_ ]}); say $c.perl; $c.unshift(42); say $c.perl | ||
p6eval | rakudo 9be4cc, niecza v24-35-g5c06e28: OUTPUT«([1], [2], [3]).list.item(42, [1], [2], [3]).list.item» | ||
eiro | oops sorry | ||
hello all | |||
masak | heiro! \o/ | ||
jnthn | o/ eiro | ||
eiro | :) what's up ? | 20:00 | |
masak | eiro: you're up! | ||
eiro | haha :) | ||
pmichaud | ...what am I missing? | ||
jnthn | pmichaud: irclog.perlgeek.de/perl6/2013-03-20#i_6610221 is my best guess | ||
masak | pmichaud: it's as if .unshift causes an unfinished iterator to forget where it is. | ||
jnthn | pmichaud: Note that putting the $c.perl *before* the unshift actually hides teh bug. | 20:01 | |
masak | right. | ||
because .perl eats it all. | |||
but .map doesn't. | |||
jnthn | s/eats/reifies/ | ||
pmichaud | rn: my $c = [[1],[2],[3]].map({ [ @$_ ]}); $c.unshift(42); say $c.perl | 20:02 | |
p6eval | niecza v24-35-g5c06e28: OUTPUT«(42, [1], [2], [3]).list.item» | ||
..rakudo 9be4cc: OUTPUT«(42,).list.item» | |||
masak | jnthn: right. | ||
diakopter | watch this: | ||
rn: my $c = [[1]].map({ [ @$_ ] }); $c.unshift( 42 ); say $c.perl | |||
p6eval | rakudo 9be4cc: OUTPUT«(42,).list.item» | ||
..niecza v24-35-g5c06e28: OUTPUT«(42, [1]).list.item» | |||
diakopter | rn: my $c = [[1]].map({ [ @$_ ] }); say $c.perl; $c.unshift( 42 ); say $c.perl | ||
p6eval | niecza v24-35-g5c06e28: OUTPUT«([1], ).list.item(42, [1]).list.item» | ||
..rakudo 9be4cc: OUTPUT«([1],).list.item(42, [1]).list.item» | |||
diakopter | true heisenbug | 20:03 | |
jnthn | Not really. | ||
pmichaud | it just has to do with eagerness. | ||
jnthn | It's very repeatable. :) | ||
Yeah. | 20:04 | ||
masak | pmichaud: surely .unshift destroying items is wrong? :( | ||
diakopter | I meant in the sense that observing it mutated it | ||
jnthn | diakopter: oh, then yes, good point :) | ||
pmichaud | masak: I'm looking. method unshift is clearly wrong in List | ||
masak | \o/ | ||
pmichaud | well, maybe not. | 20:06 | |
yes, something is wrong. | |||
rn: my $c = [[1],[2],[3]].map( { $_ } ); $c.unshift(42); say $c.perl; | 20:07 | ||
p6eval | niecza v24-35-g5c06e28: OUTPUT«(42, [1], [2], [3]).list.item» | ||
..rakudo 9be4cc: OUTPUT«(42,).list.item» | |||
diakopter | is the problem not just that unshift doesn't .eager it first? | 20:08 | |
pmichaud | is unshift supposed to be eager? | ||
jnthn | No | ||
pmichaud | the problem is in .map or ListIter | 20:09 | |
jnthn | I think the problem is that .map populates $!nextiter in the resulting List | ||
And that nqp::p6listitems(self); then binds an RPA to $!items | |||
(at the start of unshift) | |||
And that RPA doesn't include what was in $!nextiter, so is essentially "lost" | 20:10 | ||
I may be misunderstanding the model here, though. | |||
pmichaud | that seems like a correct analysis | ||
diakopter | how could unshift get away with not being eager? | ||
pmichaud | simple | ||
my @a = 1..*; @a.unshift(0); | 20:11 | ||
do we have to evaluate all of 1..* before doing the unshift? | |||
masak | no. | ||
jnthn | diakopter: You're putting things on the start of the list. That doesn't depend on evaluating anything else. | ||
pmichaud | we know the result ends up being 0, 1..* | ||
jnthn | push, otoh... :) | ||
pmichaud | push is eager, yes. | ||
masak .oO( sometimes even a bit pushy... ) | 20:12 | ||
pmichaud | jnthn: the $!items RPA never includes lazily evaluated elements, though. | ||
$!items is only for those things that are already reified | 20:13 | ||
jnthn | pmichaud: Oh. | ||
diakopter | rn: my @a = 1..20; say shift @a; say @a.perl | ||
p6eval | niecza v24-35-g5c06e28: OUTPUT«1[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20].list» | ||
..rakudo 9be4cc: OUTPUT«1Array.new(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)» | |||
diakopter | then why is shift eager | ||
pmichaud | shift isn't eager there, assignment is. | ||
my @a = 1..20; fully populates @a | 20:14 | ||
rn: my @a = 1..*; say shift @a; say @a.perl | |||
p6eval | niecza v24-35-g5c06e28: OUTPUT«(timeout)» | ||
..rakudo 9be4cc: OUTPUT«(timeout)1» | |||
pmichaud | huh | ||
masak | diakopter: there's a real difference between @a assignment and $a assignment | ||
pmichaud | rn: my @a = 1..*; say shift @a; | 20:15 | |
p6eval | niecza v24-35-g5c06e28: OUTPUT«(timeout)» | ||
..rakudo 9be4cc: OUTPUT«1» | |||
masak | diakopter: in terms of eagerness, I mean. | ||
pmichaud | r: my @a = 1..*; say shift @a; say @a.gist | ||
p6eval | rakudo 9be4cc: OUTPUT«12 3 4 5 ...» | ||
pmichaud | better. | ||
jnthn | r: my @a = 1..*; say shift @a; say @a | ||
GlitchMr | But, I thought you can assign infinite lists to @ variables. | ||
r: my @a = 1 .. Int; | |||
r: my @a = 1 .. Inf; | 20:16 | ||
fail | |||
pmichaud | GlitchMr: you can. I just did, above. | ||
p6eval | rakudo 9be4cc: OUTPUT«12 3 4 5 ...» | ||
rakudo 9be4cc: OUTPUT«Parameter '' requires an instance, but a type object was passed in method Real at src/gen/CORE.setting:3053 in method new at src/gen/CORE.setting:5309 in method new at src/gen/CORE.setting:5289 in sub infix:<..> at src/gen/CORE.setting:5480 in block at /… | |||
rakudo 9be4cc: ( no output ) | |||
20:16
japhb_ joined
|
|||
pmichaud | jnthn/masak: all I can conjecture at this point is that the $!nextiter chain is being lost somewhere. | 20:17 | |
r: my $c = [[1],[2],[3]].map( { $_ } ); nqp::p6listitems($c); say $c; | 20:18 | ||
p6eval | rakudo 9be4cc: OUTPUT«Can not get attribute '$!items' declared in class 'List' with this object in block at /tmp/yulP9dv0oJ:1» | ||
pmichaud | r: my $c = [[1],[2],[3]].map( { $_ } ); nqp::p6listitems(nqp::p6decont($c)); say $c; | ||
p6eval | rakudo 9be4cc: OUTPUT«1 2 3» | ||
diakopter | r: my $a = [1..*]; say $a.elems; say shift $a; say $a.elems | 20:19 | |
p6eval | rakudo 9be4cc: OUTPUT«Inf1Inf» | ||
20:19
shinobicl left
|
|||
jnthn | r: my $c = [[1],[2],[3]].map( { $_ } ); nqp::unshift(nqp::p6listitems(nqp::p6decont($c)), 4); say $c | 20:19 | |
p6eval | rakudo 9be4cc: OUTPUT«4 1 2 3» | ||
pmichaud | yeah. | 20:20 | |
jnthn | hm, why doesn't that expose it... | ||
pmichaud | I'm guessing it might be a problem with $!items ? | ||
is that cached somehow in a register or something? | |||
20:20
Liz joined
|
|||
pmichaud | because nqp::p6listitems() will rebind $!items | 20:21 | |
20:21
Liz is now known as Guest9302
|
|||
jnthn | No, I don't think we do any caching of attribute lookups | 20:21 | |
a $!items compiles to a getattrbiute | |||
pmichaud | doublecheckng p6listitems to see what it does | ||
20:22
rindolf left
|
|||
dalek | kudo/nom: 88ea890 | jnthn++ | tools/build/NQP_REVISION: Bump to NQP_REVISION with a build fix. Was just a warning fix in theory, but may be an error for some. |
20:23 | |
lichtkind | jnthn: the fix of the nqp problem you talked about, it is in main branch? | ||
looks like the answer :) | |||
jnthn | lichtkind: It was in the main branch of NQP. Somehow, probably 'cus of all the multi dispatch work I'd been doing in the Rakudo repo, I didn't think to update NQP_REVISION also. | 20:24 | |
20:25
Guest9302 left
|
|||
jnthn | Rakudo used to have its own multi cache, but that bit of infrastruture is reused now. | 20:25 | |
pmichaud | r: my $c = [[1],[2],[3]].map( { $_ } ); $c.unshift(42).perl.say | ||
p6eval | rakudo 9be4cc: OUTPUT«(42, [1], [2], [3]).list» | ||
lichtkind | jnthn: your main goal i till jvm port? | 20:26 | |
pmichaud | I wonder if the problem is related to sink context. | ||
r: my $c = [[1],[2],[3]].map( { $_ } ); $c.unshift(42).say | |||
p6eval | rakudo 9be4cc: OUTPUT«42 1 2 3» | ||
pmichaud | $c.unshift(42); is being evaluated in sink context. | ||
moritz | that might be it | ||
20:26
yoleaux joined
|
|||
pmichaud | r: my $c = [[1],[2],[3]].map( { $_ } ); $c.unshift(42) + 1; say $c.perl; | 20:26 | |
p6eval | rakudo 9be4cc: OUTPUT«WARNINGS:Useless use of "+" in expression ".unshift(42) + 1" in sink context (line 1)(42, [1], [2], [3]).list.item» | 20:27 | |
pmichaud | yup. | ||
jnthn | oh, wow | ||
jnthn shouldn't have guessed that one... | |||
pmichaud | r: my $c = [[1],[2],[3]].map( { $_ } ); $c.unshift(42).sink; say $c.perl; | ||
p6eval | rakudo 9be4cc: OUTPUT«(42,).list.item» | ||
pmichaud | there ya go. | ||
moritz | niecza doesn't implement sink context | ||
masak | huh. | ||
20:27
Liz_ joined
|
|||
pmichaud | maybe this is the point where I try to figure out what you all have done to scre.... implement sink context :-) | 20:27 | |
FROGGS did nothing wrong this time | 20:28 | ||
pmichaud | r: my $c = [[1],[2],[3]].map( { $_ } ); $c.sink; say $c.perl; | ||
p6eval | rakudo 9be4cc: OUTPUT«().list.item» | ||
moritz | pmichaud: c4083c42f2e63c97254b7a215a858913c4ff4a44 is the relevant merge commit | 20:29 | |
pmichaud | golfed. | ||
jnthn | r: my @c = [[1],[2],[3]].map( { $_ } ); @c.sink; say @c.perl | ||
p6eval | rakudo 9be4cc: OUTPUT«Array.new([1], [2], [3])» | ||
jnthn | r: my @c := [[1],[2],[3]].map( { $_ } ); @c.sink; say @c.perl | 20:30 | |
p6eval | rakudo 9be4cc: OUTPUT«().list» | ||
pmichaud | I'll have to look at it later (i.e., maybe tomorrow), though; I have to prepare for a meeting in 60 mins. | ||
jnthn | pmichaud++ # golfing | ||
pmichaud | I don't know if that bug is big enough to warrant holding up the release. My initial thought is "yes" | ||
although perhaps it's been there for several months already (i.e., since 2013.01) | 20:31 | ||
moritz | it has | ||
star: my @c := [[1],[2],[3]].map( { $_ } ); @c.sink; say @c.perl | 20:32 | ||
p6eval | star 2013.02: OUTPUT«().list» | ||
jnthn | Was gonna say, it's been in a previous release. | ||
20:32
fgomez joined
|
|||
jnthn | Which doesn't mean we shoudln't try to make sure it's fixed in the upcoming one. | 20:32 | |
Though that may be a Star issue more than a compiler one. | |||
pmichaud | pmichaud@kiwi:/zip/perl/rakudo-star-2012.12$ ./perl6 | ||
> my $c = [[1], [2], [3]].map( { $_ } ); $c.unshift(42); say $c; | |||
42 1 2 3 | |||
masak | \o/ | 20:33 | |
pmichaud | well, it's been in the 2013.* releases, undoubtedly. | ||
checking. | |||
20:33
zby_home_ left
|
|||
lichtkind | got to make phase tons of warnings but still looking good | 20:33 | |
20:33
Liz_ is now known as lizmat
|
|||
pmichaud | anyway, I won't be able to work on it until tonight. | 20:33 | |
or late tomorrow. | |||
I'll let you all decide how to handle the release. | 20:34 | ||
masak | oki | 20:35 | |
dalek | kudo/tmp_highfive: c8a0d35 | (Tobias Leich)++ | src/Perl6/ (4 files): MAIN is always the current language; add P5/P6 to debug output |
20:36 | |
FROGGS | jnthn: sometimes it is funny that you can change hundrets of essential lines, and nothing changes... | ||
dalek | kudo/nom: 8fea533 | jnthn++ | docs/ChangeLog: A couple of ChangeLog entries. |
20:37 | |
20:37
domidumont left
|
|||
FROGGS | but I believe it is as you said, I changed token which dont fit to the action methods anymore | 20:37 | |
jnthn | FROGGS: Yes, the set of things you capture in your grammar rule is kind of the API the actions depend on. | ||
20:39
mikess joined
|
|||
moritz | fwiw I'm not sure the unshift thing above is actually a bug | 20:39 | |
.sink emptying lists is how we can avoid building huge result lists for for 1..10_000 { .say } in sink context | 20:40 | ||
pmichaud | .sink should never empty something held in a scalar container, however. | ||
which $c obviously is. | |||
moritz | is that specced somewhere? :-) | 20:41 | |
pmichaud | my @c = [1], [2], [3].map({$_}); @c.unshift(42); say @c.perl; | ||
r: my @c = [1], [2], [3].map({$_}); @c.unshift(42); say @c.perl; | |||
p6eval | rakudo 9be4cc: OUTPUT«Array.new(42, [1], [2], 3)» | ||
pmichaud | r: my @c := [[1], [2], [3].map({$_})]; @c.unshift(42); say @c.perl; | 20:42 | |
p6eval | rakudo 9be4cc: OUTPUT«Array.new(42, [1], [2], 3)» | ||
pmichaud | hmm. | ||
r: my @c := [[1], [2], [3]].map({$_})]; @c.unshift(42); say @c.perl; | |||
p6eval | rakudo 9be4cc: OUTPUT«===SORRY!===Unexpected closing bracketat /tmp/Lm3s5ZOWAV:1------> my @c := [[1], [2], [3]].map({$_})⏏]; @c.unshift(42); say @c.perl;» | ||
moritz | ok, why doesn't that expose the bug? | ||
pmichaud | r: my @c := [[[1], [2], [3]].map({$_})]; @c.unshift(42); say @c.perl; | ||
p6eval | rakudo 9be4cc: OUTPUT«Array.new(42, [1], [2], [3])» | ||
pmichaud | bad parens. | ||
I'd have to check it out further. But I'm quite certain that .sink should not empty out a scalar array. | |||
an unbound array can be emptied, yes, but not a bound one. | 20:43 | ||
moritz | but in general we don't know inside the array if it's bound somewhere | ||
if it's in a scalar container, we happen to know that | |||
pmichaud | agreed, that's been a common problem with laziness and lists | ||
moritz | we could also change the spec not to return the invocant from List.unshift | 20:44 | |
pmichaud | then we can't do things like @a.unshift(42).say | ||
that seems wrong. | |||
moritz | well, we can say (42, @a).say | ||
if that's what you want | |||
pmichaud | that doesn't change @a | ||
moritz | yes, I know | 20:45 | |
20:46
yoleaux left,
kurahaupo joined,
yoleaux joined
|
|||
pmichaud | I think sink context *has* to be smarter than "throw away items for whatever I find", otherwise there's just too much surprise | 20:46 | |
timotimo | .o(... i am the man who arranges the bugs ...) | ||
pmichaud | as seen in the discussion above, and the fact that it took so long to identify sink context as the culprit. | ||
moritz | fwiw sofar this has been the only surprise from throwing away stuff | ||
pmichaud | ...that we know of. | 20:47 | |
moritz | so it can't be *that* pervasive | ||
pmichaud | but I'll go with "fair enough" for the moment. | ||
moritz | but in general I'm not very happy with it | ||
IMHO it would make stuff much more transparent if is simply gave up the "for is an alias for map" doctrine | 20:48 | ||
and say that 'for' is always eager | |||
and map is lazy | |||
and be done with it | |||
and then we don't need sink context for listy stuff anymore | |||
just for blowing up Failure objects returned in sink context | |||
it'd also solve the problem that the exception escapes in try { for 1..3 { die "foo" } } | 20:49 | ||
to fix that with the old sink context semantics, we have to propagate the context inwards | 20:50 | ||
jnthn | Yeah, true | ||
moritz | something which isn't trivial in all runtimes | ||
and I also thought we'd said goodbye to propagating context inwards | |||
pmichaud | no, but TimToady has expressed a few times that sink context is something that propagates inwards. :) | 20:51 | |
jnthn | moritz: Me also. | ||
moritz | pmichaud: I know he did | ||
jnthn | It's counter to the usual flow of context in Perl 6, is all. | ||
moritz | pmichaud: but I'm not convinced it's necessary if we simply say that 'for' isn't lazy | ||
jnthn | 'for' being lazy *does* catch people out. | ||
moritz | and 'for' being lazy is more surprising than anything | 20:52 | |
jnthn | Decalring it eager or sinky will catch people out in the case they write sub foo() { for @blah { ... } } | ||
moritz | so we jump through hoops to make it eager again | ||
jnthn | Which will build up a throw-away result list. | ||
pmichaud | I don't have an argument with that. 'for' seems like an imperative statement, much like 'while', 'loop', 'if', 'do', etc. | ||
moritz | so, my official proposal: make 'for' eager. | ||
masak | +1 | ||
moritz | keep 'map' lazy. | 20:53 | |
pmichaud | what happens in the case of | ||
(building) | |||
oh, do we no longer have a map function? | 20:54 | ||
rakudo: say map | |||
p6eval | rakudo 9be4cc: OUTPUT«===SORRY!===CHECK FAILED:Calling 'map' will never work with no arguments (lines 1, 1) Expected any of: :(&code, *@values)» | ||
jnthn | r: say map { 2 * $_ }, 1, 2, 3 | ||
p6eval | rakudo 9be4cc: OUTPUT«2 4 6» | ||
pmichaud | is the sub form of map lazy, too? | 20:55 | |
moritz | why shouldn't it be? | ||
"yes" | |||
jnthn | Should be; I think it just delegates to the method. | ||
pmichaud | map { say $_+1 }, @a | ||
is a p5-ish idiom. | |||
moritz | "doctor, it hurts" | 20:56 | |
pmichaud | how about grep? | ||
grep { .say }, @a | |||
or even | |||
moritz | "doctor, it hurts" | ||
pmichaud | really? | ||
jnthn | Wait, in sink context those two are fine? | ||
20:56
yoleaux left
|
|||
moritz | currently, yes | 20:56 | |
20:57
yoleaux joined
|
|||
pmichaud | yes, that's part of the point of sink context. It makes lazy things eager. | 20:57 | |
and not just 'for' | |||
moritz | pmichaud: fwiw I've never seen either of those used in Perl 5 code, except to demonstrate anti-pattern | ||
*patterns | |||
masak | pmichaud: you have a point. | ||
pmichaud | it makes lazy Failures eager, it makes lazy iterators eager. | ||
I'm fine with saying 'for' is eager by default, but I don't think it resolves the issues with sink context. | 20:58 | ||
masak is exhausted | |||
jnthn | Indeed. | ||
masak | 'night, #perl6 | ||
FROGGS | gnight masak | ||
jnthn | iiuc, the bug we're seeing here is that we can't distinguish a bound thing from an unbound thing. | 20:59 | |
pmichaud | I went down that path in 2010, fwiw. | 21:00 | |
that's what led us to immutable iterators. | |||
dalek | kudo/tmp_highfive: b68b046 | (Tobias Leich)++ | src/Perl6/P5Actions.pm: Perl 5 sub is called now, even if the param is borken |
||
FROGGS | jnthn: ./perl6 -e 'use v5; say(7)' | 21:01 | |
0 | |||
pmichaud | I'm not opposed to revisiting that path... but... gosh. | ||
jnthn | pmichaud: Given how well the immutable iterator model is serving us otherwise, imho... | ||
pmichaud: I'd be rather reluctant to reconsider *that* bit... | 21:02 | ||
pmichaud | I suspect the immediate problem is with List.sink -- it sending the :sink option to .gimme to say "hey! throw away my contents" and it shouldn't do that. | ||
List.sink doesn't have enough information to do that, nor is that consistent with the immutable iterator model for doing things. | |||
jnthn | OK. That bit was probably my doing. | 21:03 | |
pmichaud | if you just change method sink to method sink() { eager() } | ||
then masak++'s bug probably goes away. | |||
(at the possible cost of keeping long lists around, but that's where we were before sink context anyway) | |||
jnthn | It probably does. Sadly, so does...yes, that. | ||
Part of the reason for sink context was to be able to not do that. | |||
pmichaud | (and the "don't keep long lists around" involves other changes to List which I was working on before tuit interruptus) | 21:04 | |
moritz | is there any place that has enough information to say "iterate eagerly and throw the results away"? | ||
pmichaud | "throw the results away" is supposed to happen via gc | 21:05 | |
i.e., the results are thrown away because nothing needs them any longer | |||
that's the core of immutable cursors and immutable iterators | |||
tadzik | whatwat | 21:06 | |
jnthn | So the core fail hear is that it tries to avoid ever keeping them? | ||
*here | |||
tadzik | FROGGS, FROGGS, is that what I think it is? | ||
jnthn | When it should just build smaller pieces and let them before unreferencd more readily? | ||
pmichaud | the core fail here is that List and Map aren't quite sophisticated enough to not keep things around too long | ||
FROGGS | tadzik: well, depends *g* | 21:07 | |
pmichaud | there are ways to improve the communication among the lists... I just haven't had a chance to implement them yet :-/ | ||
moritz | pmichaud: how does one debug such stuff? | ||
jnthn | pmichaud: Ah, and then I tried to make up for it by doing something that I now realize goes against the grain of the model. | ||
FROGGS | tadzik: but dont expect too much, I just spent four days on it so far | ||
pmichaud | well, it's a common mistake - I had a :sink option in earlier versions of List which I never fully eliminated, too. | 21:08 | |
so it's easy to be misled :) | |||
sink context and flattening context for lists are something that MapIter, List, and ListIter have to be intimately aware of in order to be efficient (both speed and memory) | 21:09 | ||
and we don't have a solid enough API to do that yet. | |||
and that's mostly due to my inaction at this point, I suspect. | 21:10 | ||
21:10
supernovus joined
|
|||
pmichaud | and figuring that out is partially why I hadn't gone too far on sink context :) | 21:10 | |
but I'm very happy for the pieces we have now. | 21:11 | ||
we just need to keep the eagerness aspect of sink context and ignore the "throw stuff away" part of it for the moment. | |||
21:11
mtk joined
|
|||
supernovus | Good * all you (happy|sad|mad|insane) Perl 6 people! :-) | 21:11 | |
pmichaud doesn't feel that he fits that particular disjunction. | |||
tadzik | FROGGS: you're a hero gotham deserves | 21:12 | |
hey supernovus! | |||
diakopter | conflicted|unknown|complex|rapidly-cycling | ||
supernovus | Let's see, lead developer of a Perl 6 compiler, certainly should fit you into the insane category ;-) | 21:13 | |
lizmat agrees with tadzik | |||
pmichaud | although "disjunction" and "dysfunction" are only about four bits away from each other. | ||
FROGGS blushes | |||
21:14
alester left
21:16
kaare_ left
|
|||
supernovus | tadzik: as per our previous discussions about merging Bailador and Web::App::Ballet, I've started some refactoring on the latter, adding in some features that Bailador had but it didn't. I also borrowed your template engine abstraction technique, and have template engine adapters for four of the five Perl 6 template engines I could see on modules.perl6.org. | 21:17 | |
21:17
spider-mario left
|
|||
lichtkind | jnthn: consider it solved after shitload of warnings it still compiled under 10.8.3 | 21:18 | |
21:18
bluescreen100 left
|
|||
supernovus | Oh, and for anyone who cares about such things, as of a couple hours ago, HTTP::Easy works again, currently using a rather hackish workaround until IO::Socket::INET.get() doesn't stall on blank lines. | 21:18 | |
lizmat | lichtkind: do you mean to say that OS X 10.8.3 Xcode messed with Rakudo's compiling? | 21:19 | |
lichtkind | hai liz | ||
no i ment to say that the just fixed nqp bug prevented compiling | 21:20 | ||
21:20
skids left
|
|||
lizmat | aha… ok *phew* | 21:20 | |
jnthn | lizmat: So far as I can tell, lichtkind was ending up with some compiler flag that made a certain warning (for most people) into an error. | ||
lizmat just upgraded to 10.8.3 | |||
ack | |||
tadzik | supernovus: wow, awesome | 21:27 | |
supernovus: I'll try to look at Ballet architecture this week, if tuits permit, and possibly hack something up too | |||
pmichaud | since nqp (and rakudo) get their compiler flags from parrot, which in turn gets them from perl, it could be very much to do with the fact that lichtkind had a slightly different perl than standard OSX (a perlbrew, iirc) | ||
lichtkind | yes but i tried std 5.12 too | 21:28 | |
it think its not that | |||
supernovus | I'll be refactoring the Web::App library (included in the 'Web' distribution) to support a "mock" transport, and to have a testing library like your Bailador::Test, so that anything built upon Web::App or Web::App::Dispatch will be able to have simple tests that don't require a running daemon. | 21:30 | |
lichtkind | supernovus++ | ||
21:33
Sifr joined
|
|||
supernovus | I will likely refactor common bits of Web::App::Ballet and Web::App::MVC into separate libraries, so there is even less duplication between projects. The template engine abstraction layer for instance seems like something that can be shared. | 21:37 | |
raiph | yapcna request: more perl6 talks please | 21:52 | |
21:52
labster joined
|
|||
raiph | (the weekly yapcna planning call just wrapped; i said i'd convey this request) | 21:55 | |
21:56
acheche joined
21:57
xilo left
|
|||
lizmat hopes she'll be able to do her "Is Perl 6 'Perl'" lightning talk at the Swiss Perl Workshop | 21:58 | ||
(and then why not at YAPC::NA ? :-) | |||
21:59
lichtkind left
|
|||
tadzik | lizmat: how about at Polish Perl Workshop? :) | 22:00 | |
jnthn | lizmat: You'll be at YAPC::NA? | ||
lizmat | jnthn: yes | ||
tadzik: yes, we'll most likely be there | |||
tadzik | \o/ great! | ||
jnthn | lizmat: nice :) | 22:01 | |
lizmat | tadzik: as long as I can do my presentation in English | ||
:-) | |||
tadzik | lizmat: sure :) | 22:02 | |
lizmat | found some nice quotes from TimToady from 1994 that are very applicable now | ||
22:04
lustlife left
|
|||
lizmat is wondering whether there is some easy ~ 5 point list of improvements of perl 6 over perl 5 | 22:09 | ||
enough to put in one slide (it is a lightning talk, after all) | 22:10 | ||
22:12
xilo joined
|
|||
lizmat | how about: | 22:14 | |
- types that work | |||
- objects that work | |||
- introspection that works | |||
22:15
sjn joined
|
|||
lizmat | - laziness that works | 22:15 | |
22:15
census left
|
|||
lizmat | - roles that work | 22:15 | |
- grammars that work | 22:16 | ||
- sets, bags and junctions that work | 22:17 | ||
- operators that work | 22:18 | ||
tadzik | subroutine signatures | 22:19 | |
this is a hot topic :) | |||
lizmat | tadzik++ | 22:20 | |
maybe: - operator overloading that works | |||
22:21
census joined
|
|||
dalek | kudo/tmp_highfive: f283d43 | (Tobias Leich)++ | src/Perl6/Actions.pm: silence debug output |
22:25 | |
kudo/tmp_highfive: 4934854 | (Tobias Leich)++ | src/Perl6/P5Actions.pm: make <term> within method termish |
|||
kudo/tmp_highfive: fd0d899 | (Tobias Leich)++ | src/Perl6/P5Grammar.pm: borrow token integer from Perl 6, say(42) and say(3.14) is working now |
|||
tadzik | aww yiss | ||
22:27
grondilu joined
|
|||
lizmat highfives FROGGS | 22:27 | ||
FROGGS | o/ | 22:28 | |
lizmat is running low on battery in Mannheim (on the way to Berne) and wishes #perl6 goodnight | 22:30 | ||
FROGGS | gnight lizmat | ||
jnthn | 'night, lizmat | ||
dalek | osystem: 24b5f4b | (Timothy Totten)++ | META.list: Added Web::Template, a template engine abstraction layer. |
||
22:31
kivutar left
|
|||
tadzik | good night lizmat | 22:31 | |
22:31
lizmat left
22:32
PacoAir left
22:42
kivutar joined
22:48
skids joined
|
|||
supernovus | There, now both Web::App::MVC and Web::App::Ballet share the same template abstraction layer. Less code duplication ftw. | 22:55 | |
22:59
kivutar left
|
|||
FROGGS | supernovus++ | 23:07 | |
23:09
sizz left
23:10
sizz joined
|
|||
dalek | kudo/tmp_highfive: f1d69ae | (Tobias Leich)++ | src/Perl6/P5 (2 files): make say("abc") work |
23:11 | |
23:12
kivutar joined
23:29
kivutar left
23:33
LlamaRider left
|
|||
jnthn | 'night, #perl6 | 23:39 | |
FROGGS | gnight | 23:40 | |
23:45
countley joined
23:47
cognominal joined
23:48
FROGGS left
23:54
daniel-s_ joined
23:55
daniel-s__ joined
23:57
countley left
23:58
daniel-s left
23:59
daniel-s_ left
|