»ö« 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. |
|||
sjn | or, at least tell which words are ignored (and perhaps why) | 00:03 | |
masak | aye. | 00:17 | |
and how to override that. | |||
good night, #perl6 | 00:24 | ||
sjn | nn | 00:25 | |
sjn has done enough hackathon preparations for one day | |||
jnthn | sjn++ | ||
sjn notes sorear has some issues getting to Oslo :-( | 00:26 | ||
00:26
pmurias left
|
|||
jnthn figures it's high time he took some rest | 00:28 | ||
'night | |||
skids | Is there a way specced to add adverbs to a grammar (and then access them from rules)? | 00:29 | |
00:33
Alias_ left
00:34
saxoBeat joined
01:09
cognominal joined
01:16
Trashlord left
01:17
Trashlord joined
01:18
Trashlord is now known as Guest91991
|
|||
dalek | ecza: 361d214 | sorear++ | FETCH_URL: Update bootstrap version to v14 |
01:45 | |
ecza: 16e2a53 | sorear++ | src/niecza: /<[]>/ compilation fix (fixes #105) |
|||
colomon | updates! \o/ | 01:46 | |
sorear | skids: I am not certain what you mean by "adverbs" | 01:51 | |
rakudo: say "\c[ARABIC MATHEMATICAL KAF]" | 01:54 | ||
p6eval | rakudo a47a56: OUTPUT«===SORRY!===Unrecognized character name ARABIC MATHEMATICAL KAF at line 1, near "]\""» | ||
sorear | rakudo: say "\c[MIAO LETTER PA]" | 01:55 | |
p6eval | rakudo a47a56: OUTPUT«===SORRY!===Unrecognized character name MIAO LETTER PA at line 1, near "]\""» | ||
skids | sorear: e.g. mygrammar.parse("str",:rule<rule>,:i,:my_own_adverb(some_setting)) or somesuch | 01:56 | |
sorear | :i would also have to be custom | 01:57 | |
you could do that by overriding "parse" | |||
niecza: my grammar Number { token TOP { ^ \d ** {$*count} $ } ; method parse(:count($*count), |other) { self.Grammar::parse(|other) } }; say Number.parse("555", :count(3)); say Number.parse("5555", :count(3)) | 01:59 | ||
p6eval | niecza v13-389-g852f0ff: OUTPUT«===SORRY!===Cannot put required parameter after variadic parameters at /tmp/k9PqahEqSK line 1:------> } ; method parse(:count($*count), |other⏏) { self.Grammar::parse(|other) } }; sayUnhandled exception: Check fai… | ||
sorear | interesting | 02:00 | |
obviously a bug - |foo should be allowed anywhere | |||
I'll fix that | |||
colomon doesn't understand how panda installs lib files. Can only find rules for blib, bin, and doc.... | 02:03 | ||
mind you, it seems to work, I just don't know why it does | 02:07 | ||
sorear | lib files aren't installed | 02:09 | |
(if panda emulates EU:MM) | 02:10 | ||
colomon | it's creating a ~/.niecza/lib directory full of .pm files... | 02:11 | |
sorear | those files are copied from blib, not lbi | ||
colomon | ah. | 02:12 | |
how do they get to blib, then? | |||
skids | sorear++ for pointing out :foo($*foo). Hadn't yet clicked for me that there was more to :foo($bar) than just cosmetics. | ||
sorear | colomon: during "make", EU:MM copies files from lib to blib | 02:15 | |
(disclaimer: I don't know anything about panda) | |||
02:15
saxoBeat left
|
|||
colomon | good call, Panda::Builder does indeed copy the lib files to blib | 02:19 | |
and then blib installs them back to lib | |||
well, to ~/.niecza.lib | 02:20 | ||
any bright ideas for copying a file but changing the first line? | 02:24 | ||
colomon once again wishes for FIRST. ;) | 02:25 | ||
sorear | slurp, regex, and spew? | 02:32 | |
02:52
PacoAir left,
PacoAir joined
02:53
PacoAir left
|
|||
colomon | my @script := $source.lines; | 02:54 | |
@script.shift; | |||
for @script -> $line { | |||
02:58
whiteknight left
|
|||
colomon | sorear: I'm a bit worried you may have blown up regexes with that last patch.... spectesting now | 03:01 | |
sorear | looks like one fail on the self-test | 03:12 | |
colomon | t/spec/S05-metasyntax/charset.t failed six tests (spectest ongoing, but that just flashed across my screen in red) | 03:13 | |
03:15
wolfman2000 joined
|
|||
colomon | spectest seems a bit slow, but it may be because I'm running on battery (or my machine is just running slow tonight) | 03:17 | |
sorear | can you spectest niecza on a single battery? | 03:18 | |
colomon | yes | 03:19 | |
03:23
jaldhar joined
|
|||
colomon | lots of fails: | 03:26 | |
t/spec/integration/advent2009-day08.t | 03:27 | ||
t/spec/S02-literals/radix.t | |||
t/spec/S03-operators/inplace.t | |||
t/spec/S03-operators/overflow.t | |||
t/spec/S04-statements/for.t | |||
t/spec/S05-grammar/protoregex.t | |||
t/spec/S05-mass/rx.t | |||
t/spec/S05-metasyntax/charset.t | |||
t/spec/S32-str/numeric.t | |||
sorear | sorry - I should have said earlier I'm not interested | 03:29 | |
I already have a failing case from the self-test | |||
colomon | no worries, it was a cut and paste. | 03:30 | |
03:42
bluescreen10 left
03:54
bluescreen10 joined
|
|||
dalek | ecza: 4bfefee | sorear++ | src/niecza: Fix .. in character classes being suddenly treated as \q[..] |
03:55 | |
03:57
orafu left
03:59
orafu joined
|
|||
dalek | ecza: 22f2298 | sorear++ | lib/unidata: Update to Unicode character database 6.1.0 |
04:04 | |
04:09
Chillance left
|
|||
sorear | colomon: what would you use FIRST for? | 04:14 | |
04:40
tokuhirom joined
04:42
zjmarlow joined
04:43
sftp left
05:10
zjmarlow left
05:11
fasad left
05:19
drbean left
05:20
drbean joined
05:24
pullphing joined
05:27
bluescreen10 left
05:31
sboyette left
05:38
sboyette joined
|
|||
sorear | perl6: say ord("\c[MIAO LETTER PA]").fmt('%x') | 05:53 | |
p6eval | pugs b927740: OUTPUT«Unknown charname 'MIAO LETTER PA' at /usr/share/perl/5.10/unicore/Name.pl line 1fffd» | ||
..rakudo a47a56: OUTPUT«===SORRY!===Unrecognized character name MIAO LETTER PA at line 1, near "]\").fmt('%"» | |||
..niecza v14-6-g22f2298: OUTPUT«16f00» | |||
sorear | hrhrm. | 05:57 | |
looks like lenny only has ICU 3.8, for Unicode 5.0 | |||
perl6: say ord("\c[GREEK CAPITAL LETTER HETA]").fmt('%x') # added in 5.1 | 05:59 | ||
p6eval | pugs b927740, rakudo a47a56, niecza v14-6-g22f2298: OUTPUT«370» | ||
sorear | perl6: say ord("\c[SAMARITAN LETTER ALAF]").fmt('%x') # added in 5.2 | ||
p6eval | rakudo a47a56, niecza v14-6-g22f2298: OUTPUT«800» | ||
..pugs b927740: OUTPUT«Unknown charname 'SAMARITAN LETTER ALAF' at /usr/share/perl/5.10/unicore/Name.pl line 1fffd» | |||
sorear | perl6: say ord("\c[MANDAIC LETTER AB]").fmt('%x') # added in 6.0 | 06:00 | |
p6eval | niecza v14-6-g22f2298: OUTPUT«841» | ||
..pugs b927740: OUTPUT«Unknown charname 'MANDAIC LETTER AB' at /usr/share/perl/5.10/unicore/Name.pl line 1fffd» | |||
..rakudo a47a56: OUTPUT«===SORRY!===Unrecognized character name MANDAIC LETTER AB at line 1, near "]\").fmt('%"» | |||
06:04
rasto left
|
|||
sorear | eep | 06:12 | |
it seems it's not actually possible to download the Unicode Standard 6.1.0 yet | |||
06:18
rasto joined
07:06
cooper left
|
|||
dalek | ecza: 46bc6c4 | sorear++ | lib/Kernel.cs: Enum and Pair as early classes so that => can be folded in the setting |
07:13 | |
07:19
cooper joined,
Guest91991 is now known as Trashlord,
Trashlord left,
Trashlord joined
|
|||
moritz | o/ | 07:30 | |
TimToady: re irclog search, because it uses mysql's broken fulltext index | |||
07:33
kaare_ joined
|
|||
TimToady | ah well | 07:33 | |
moritz | I have a branch that switches the search to use KinoSearch, but it needs some more work before it can be merged | 07:35 | |
and I guess while I'm at it, I should also switch it to Lucy (KinoSearch'es successor) | 07:36 | ||
sorear | perl6: if 0 { 1 + "foo" } | 07:59 | |
p6eval | pugs b927740, rakudo a47a56, niecza v14-6-g22f2298: ( no output ) | ||
dalek | ecza: 2ea3308 | sorear++ | src/ (2 files): mergeback |
08:00 | |
ecza: 2762955 | sorear++ | / (5 files): If a constant foldable expression throws an exception, treat it as a compile error. |
|||
sorear | (I can't beleive I'm actually implementing something based on a suggestion from dduncan) | ||
colomon | sorear: t/spec/S05-mass/properties-general.t is still failing (that's before these two commits) | 08:01 | |
sorear | hmm. it's been failing for a while for me, but I always blamed it on ulimits. | ||
you aren't running with a 250MB ulimit by chance? | |||
08:02
GlitchMr joined
|
|||
sorear investigates | 08:02 | ||
o/ GlitchMr | |||
colomon | as far as I know I'm not running with ulimit | 08:03 | |
on the other hand, my panda problems seem to be of my own making. (Just ran git stash and it suddenly works again.) | 08:08 | ||
sorear | eheheh. Now I'm seeing your fail | 08:12 | |
colomon | definitely not ulimit, the test runs to completion. :) | 08:13 | |
sorear | What do you mean by the test? | ||
nevermind, I'm not actually seeing your fail | 08:17 | ||
colomon: I need to strangle the person who wrote the failing test | 08:20 | ||
\x[A679] is \c[COMBINING CYRILLIC LETTER YERU]; it is *not* a noncharacter | |||
age="6.1" | |||
niecza's behavior is completely correct | |||
colomon | S05-mass/properties-general.t is what I meant by "test runs to completion" | 08:21 | |
sorear | (and Rakudo will start failing the same test once you update ICU to a version that supports 6.1) | ||
colomon | ah, so does this mean the latest Unicode stuff applied to niecza is the "problem" here? | 08:22 | |
sorear | yes | ||
colomon | did something also change about \c[KHMER VOWEL INHERENT AQ] | ||
? | |||
sorear | yes, it seems to have changed from Cf to Mn | 08:25 | |
General_Category=Format/Mark_Nonspacing | |||
www.unicode.org/reports/tr44/tr44-8...code_6.1.0 | 08:26 | ||
colomon | niecza: ($_ * 2 if $_ ** 2 > 3 for 0 .. 5).say | 08:27 | |
p6eval | niecza v14-9-g2762955: OUTPUT«» | ||
colomon | new test is claiming that should be "4 6 8 10" | 08:28 | |
08:29
awoodland joined
|
|||
sorear | new test is right, niecza is (still) wrong | 08:31 | |
for-as-an-expression hasn | |||
't worked properly for quite some time, if it ever worked | |||
colomon: I'm curious what your use case for FIRST is. | |||
colomon | sorear: I was just thinking that I could do something like for lines -> $line { FIRST { change this one; next; } don't change these } | 08:32 | |
it certainly wasn't a compelling reason to bother implementing it. | 08:33 | ||
08:33
birdwindupbird joined
08:41
tokuhir__ joined,
tokuhirom left
|
|||
dalek | ecza: 10d9320 | sorear++ | docs/DIRECTIONS: Kill DIRECTIONS since I obviously can't keep it up to date and perl6.org/features works better anyhow |
09:01 | |
moritz will be gone for most of the weekend | 09:04 | ||
sorear | have the appropriate amount of fun | 09:05 | |
09:07
snearch joined
|
|||
colomon | sorear: t/spec/S03-operators/arith.t is failing after your constant folding exception patch | 09:10 | |
09:34
awoodland left
|
|||
colomon | what the heck was the name of the script which tried installing every module to see if it worked? I'd like to get it working with panda-niecza, but I can't find it anywhere... | 09:36 | |
afk # back to bed | |||
emmentaler! | |||
wait, it only knows about neutro? | 09:38 | ||
afk # back to bed for real | |||
dalek | ecza: de9cc16 | sorear++ | / (3 files): Rename _newtiedscalar to Proxy.new and tweak the API for compatibility |
09:39 | |
sorear | tomorrow, I'll look at arith.t and all the Proxy spectests | 09:40 | |
afk # bed | |||
09:41
kaare__ joined
09:43
spine joined
09:44
fasad joined,
kaare_ left
09:48
awoodland joined
09:51
Patterner left
09:52
Psyche^ joined,
Psyche^ is now known as Patterner
09:54
fasad left
09:56
awoodland left
09:58
fasad joined
|
|||
masak | good antenoon, #perl6. | 10:00 | |
10:03
mj41 joined
10:05
Trashlord left
10:13
zby_home joined
|
|||
jnthn | morning, #perl6 | 10:30 | |
masak | morning, jnthn-san. | 10:42 | |
what's on the schedule for today? | |||
will we get boundedly serialized closures? | |||
jnthn | Not sure if I'll get the closures bit in today, but should at least be able to get the static code refs sorted. | 10:44 | |
jnthn also wants to go for a walk in the sunny weather :) | 10:45 | ||
masak | \o/ | 10:51 | |
11:07
mj41 left
|
|||
bbkr1 | rakudo: Method.^methods>>.say | 11:19 | |
p6eval | rakudo a47a56: OUTPUT«(signal SEGV)assumingofarityrw» | ||
jnthn | That one was ticketed recently. | 11:20 | |
bbkr1 | i've ticketed #108968, which was segfaulting on signature | 11:21 | |
although this is probably related, i'll just update this ticket | |||
jnthn | Yes, it is | ||
bbkr1 | rakudo: my $m = method { &?ROUTINE.name.say }; class A{}; A.^add_method("foo", $m); A.foo # is this a bug? according to the spec it returns lexically innermost Method, so once installed in class it should return lexical name "foo", am I right? | 11:27 | |
p6eval | rakudo a47a56: OUTPUT«<anon>» | ||
bbkr1 | on the other hand how can method knows that it is installed somewhere... | 11:31 | |
11:31
MayDaniel joined
|
|||
jnthn | Rakudo is behaving as designed there. I really don't think that the meta-objects should go fiddling with the code objects that are passed. | 11:33 | |
It'd also make it weird/tricky to install the same method under multiple names. | 11:34 | ||
So, those almost certainly want to stay decoupled. | |||
masak | +1 | 11:47 | |
rakudo: class A { our method foo { say "OH HAI" } }; say &A::foo.^name | |||
p6eval | rakudo a47a56: OUTPUT«Method» | 11:48 | |
masak | rakudo: class A { our method foo { say "OH HAI" } }; my $m = &A::foo; class B {}; B.^add_method("bar", $m); B.bar | 11:49 | |
p6eval | rakudo a47a56: OUTPUT«Nominal type check failed for parameter ''; expected A but got B instead in method foo at /tmp/WTIohgyjSw:1 in block <anon> at /tmp/WTIohgyjSw:1 in <anon> at /tmp/WTIohgyjSw:1» | ||
masak | rakudo: class A { our method foo { say "OH HAI" } }; my $m = &A::foo; class B {}; B.^add_method("bar", $m); B::bar(A) | ||
p6eval | rakudo a47a56: OUTPUT«Could not find symbol 'B::&bar' in block <anon> at /tmp/wKH5abfwye:1 in <anon> at /tmp/wKH5abfwye:1» | ||
masak | jnthn: how do I add a method so that it's 'our'-scoped? | ||
rakudo: class A { our method foo { say "OH HAI" } }; my $m = &A::foo; class B {}; &B::bar = $m; B::bar(A) | 11:54 | ||
p6eval | rakudo a47a56: OUTPUT«OH HAI» | ||
masak | that works :) | ||
jnthn | masak: Yeah. Package and method table installations are separate operatins. | 11:55 | |
That is, if you want it in both, install it in both. That's what the compiler does for you when you write "our method ..." :) | 11:56 | ||
masak | as usual, Perl desugars to something very sensible. | 12:03 | |
12:16
jferrero joined
|
|||
spine | perl6: my &infix:<c> = {$^a+$^b}; say 1 c 2; | 12:28 | |
p6eval | niecza v14-11-gde9cc16: OUTPUT«3» | ||
..rakudo a47a56: OUTPUT«===SORRY!===Confusedat /tmp/o_PnO5M2fr:1» | |||
..pugs b927740: OUTPUT«***  Unexpected "c" expecting operator, ":" or "," at /tmp/T1iFYdZGvA line 1, column 34» | |||
spine | reading moritz' comments on my solution to t1 for the p6cc just made me remember how sad i was about this not working in rakudo | ||
12:28
mj41 joined
|
|||
spine | made me do unnecessary double function calls :) | 12:28 | |
jnthn | Hm, should that work... | 12:29 | |
std: my &infix:<c> = {$^a+$^b}; say 1 c 2; | |||
p6eval | std 48335fc: OUTPUT«ok 00:01 116m» | ||
jnthn | Hm, appears so. | ||
12:31
MayDaniel left
|
|||
spine | well, I don't know the spec, but it would enable you to use curryed functions as infix ops | 12:33 | |
12:40
MayDaniel joined
|
|||
masak | it should definitely work. | 12:43 | |
spine: I have you as "simon" in the table at strangelyconsistent.org/p6cc2011/ -- do you prefer "spine"? I didn't know your nick until now. | |||
spine | masak: that's perfect, I actually prefer simon. | 12:46 | |
12:46
HarryS left,
HarryS joined
|
|||
masak | *poof* thy will be done. | 12:47 | |
masak enjoys NOP wish fulfillments :) | |||
jnthn: how about I submit a Rakudobug on infix:<c> not working? | 12:48 | ||
jnthn | masak: please do | ||
masak | nom: sub infix:<c> { $^a + $^b }; say 1 c 2 | ||
p6eval | nom a47a56: OUTPUT«3» | ||
masak submits rakudobug | 12:49 | ||
dalek | kudo/stdinit: 50d8eec | jnthn++ | src/Perl6/Grammar.pm: Make my &infix:<c> = ... add the required categorical. (Note, bit messy, but categorical handling is in for an overhaul anyway when we get qbootstrap in place.) |
12:53 | |
jnthn | spine++ | ||
(Note, it's done in a branch where I'm doing other stuffs to variable declaration anyway.) | 12:54 | ||
spine | hüt wäri scho motivierter :) | 12:58 | |
oops fc | |||
13:01
lestrrat left
|
|||
masak | phenny: "hüt wäri scho motivierter"? | 13:02 | |
phenny | masak: "Hüt wäri scho motivated" (de to en, translate.google.com) | ||
13:02
MayDaniel left
13:03
lestrrat joined
|
|||
masak | no no, that's not German. | 13:03 | |
what is it? | |||
it's something Germanic, but not German. | |||
spine | swiss german | 13:05 | |
masak | is that the same as, or distinct from, Romansh? | ||
spine | very distinct | ||
masak | ah. | ||
spine | swiss german is just a very strange dialect of german :) | 13:06 | |
arnsholt | Apparently it's german, just really weird | ||
Or, what he said ^_^ | |||
spine | well it wasn't meant for this channel | 13:07 | |
masak | a bit like Perl 5 and Perl 6, then :) | ||
spine | phenny: "heute wäre ich da schon motivierter"? | ||
phenny | spine: "Today, I would be there already motivated" (de to en, translate.google.com) | ||
spine | that would be the german version :) | ||
masak | GT fares better with that version :) | 13:08 | |
by the time you said "swiss german", a DDG search had already led me to conclude that you were from .ch :) | |||
but then I wrongly concluded Romansh over at Wikipedia, because I didn't consider that Switzerland has a very dialectal German. | 13:09 | ||
13:10
wooden left
|
|||
jnthn has holidayed quite a bit in the Swiss German speaking part of Switzerland :) | 13:13 | ||
Didn't pick up all that much of the language though. | 13:14 | ||
walk & | 13:17 | ||
masak | niecza: class A { has $.x; has $.y //= $!x }; my $a = A.new(:x(42)); say $a.y | 13:22 | |
p6eval | niecza v14-11-gde9cc16: OUTPUT«===SORRY!===Variable $!x used where no 'self' is available at /tmp/qXkjBIcCwo line 1:------> class A { has $.x; has $.y //= ⏏$!x }; my $a = A.new(:x(42)); say $a.yUnhandled exception: Check failed at /home/p6eva… | ||
masak | nom: class A { has $.x; has $.y //= $!x }; my $a = A.new(:x(42)); say $a.y | 13:23 | |
p6eval | nom a47a56: OUTPUT«Can only use repr_get_attr_obj on a SixModelObject in <anon> at /tmp/9SZS2nhHpc:1 in block <anon> at /tmp/9SZS2nhHpc:1 in <anon> at /tmp/9SZS2nhHpc:1» | ||
13:30
PacoAir joined
13:41
birdwindupbird left
13:50
tarch joined
13:51
bbkr1 left
13:52
bbkr1 joined
|
|||
spine | oh, I just remembered a workaround I tried for the infix thing, which wasn't consistent with different compilers either: | 13:54 | |
perl6: sub infix:<c> {}; &infix:<c> := {$^a+$^b}; say 1 c 2; | |||
p6eval | pugs b927740: OUTPUT«3» | ||
..niecza v14-11-gde9cc16: OUTPUT«===SORRY!===Cannot use bind operator with this LHS at /tmp/VdVU1fimCH line 1:------> ub infix:<c> {}; &infix:<c> := {$^a+$^b}⏏; say 1 c 2;Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.se… | |||
..rakudo a47a56: OUTPUT«===SORRY!===Cannot use bind operator with this left-hand sideat /tmp/qXKrR7CCAn:1» | |||
spine | but I guess that should not work anyways :) | ||
masak | looks pretty consistent between Niecza and Rakudo. | 13:55 | |
Pugs, as usual, lags a little in this regard. | 13:56 | ||
spine | oh, ok | ||
colomon | and Pugs, bless its heart, is years behind | ||
jnthn | masak: On that attr one, Rakudo will do the same as Niecza soon on it. | ||
spine | so pugs behaving different is kind of normal? | 13:57 | |
masak | spine: yes. | ||
spine: don't expect Pugs to align very well to current spec. | |||
13:58
snearch left
|
|||
colomon is smoke testing all the modules under panda-niecza | 13:59 | ||
gist.github.com/1738033 # installed! just means it passed all the included tests -- I'm suspecting some of these successes are failures that don't have any tests. | 14:10 | ||
that's 29 of 103 modules working | 14:11 | ||
masak | colomon++ | 14:12 | |
14:18
pullphing left
14:28
sftp joined
14:30
awoodland joined
|
|||
tadzik | g'morning | 14:33 | |
jnthn | o/ tadzik | 14:34 | |
colomon | \o | ||
14:39
cosimo left
14:40
whiteknight joined
|
|||
masak | good almost-four-in-the-afternoon, tadzik :) | 14:45 | |
colomon | niecza: say 10.join | 14:51 | |
p6eval | niecza v14-11-gde9cc16: OUTPUT«10» | ||
14:53
Trashlord joined
|
|||
colomon | 30 of 103; I just fixed List::Utils. (Trivial.) | 14:56 | |
tadzik: I think we should add columns to modules.perl6.org saying whether or not the module works under Rakudo and/or Niecza. | 14:57 | ||
masak | isn't the goal for the Perl 6 modulespace to work under Rakudo and Niecza? | 14:59 | |
(barring things like blizkost and zavolaj) | |||
14:59
Woodi left
15:00
Woodi joined
|
|||
arnsholt | Sure. But some indication of how well reality and theory correlate might be nice =) | 15:00 | |
masak | sounds to me like fairly volatile information, still. | ||
tadzik | colomon: certainly | ||
masak | oops! Rakudo made a little update. now it doesn't work on Rakudo anymore. | ||
colomon | doesn't modules.perl6.org update automatically? | 15:01 | |
masak | I can attest to reality being quite volatile in this regard :) | ||
arnsholt | Yeah, it'll definitely be volatile, so some kind of datestamp to go along would be needed as well | ||
15:01
wooden joined,
wooden left,
wooden joined
|
|||
colomon | I'm certainly not proposing someone types all this in by hand... | 15:01 | |
masak | I leave it up to you to decide whether the extra complexity/management is worth it :) | ||
colomon: oh! smoking? | |||
colomon | yes | ||
masak | that's a neat idea. | ||
much neater than what I thought you meant :P | 15:02 | ||
tadzik | emmentaller :) | ||
masak | sorry for being thick :) | ||
yeah. | |||
we've wanted smoke-testing for ages now. | |||
tadzik | it even worked for a while :) | ||
masak | ideally, we should have a bot that reports on failures, too. | ||
colomon | tadzik: emmentaller talks about neutro, so I went ahead and implemented smoke testing on top of Panda. | ||
tadzik | (tjs.azalayah.net/) | ||
colomon | well, panda-niecza | ||
tadzik | cool | ||
colomon | it was pretty trivial | ||
masak | tadzik++ | 15:03 | |
tadzik: the thing I like about you perhaps most of all is how you pick up my great ideas and implement them. :D | |||
tadzik | i should have some new load of tuits in a week (after the last exam) | ||
masak | the color scheme on that page is well-meant, but unbearable. give me access and I'll fix it. | 15:04 | |
tadzik | this page is outdated as hell, and uses neutro, and doesn't work | ||
just sayin' :) | |||
I think the code is here: github.com/tadzik/emmentaler | 15:05 | ||
masak looks | |||
hehe, sergenerator.pl | |||
tadzik | that's one awful script :P | 15:06 | |
masak | seems I have write access already... | ||
spine | mhm, I like that name :) | ||
masak | well, working code trumps no code. | ||
spine: you know Polish? | |||
spine | emmentaler is a swiss cheese :p | 15:07 | |
tadzik | phenny: "ser"? | ||
phenny | tadzik: "be" (es to en, translate.google.com) | ||
tadzik | be yourself | ||
phenny: pl "ser"? | |||
phenny | tadzik: "cheese" (pl to en, translate.google.com) | ||
masak | spine: yes, I know. the name is mine. it's about how Rakudo had lots of "holes" (bugs) in it, and the game was finding, reporting and fixing them. | ||
tadzik: I had forgotten all about 'bgcolor' -- thanks for reminding me. :) | 15:08 | ||
tadzik: nowadays I just put things all in style="" or a CSS file. | |||
tadzik: anyway, I think I can definitely work with this. I'll leave the tab open and get back to it later this afternoon. | 15:09 | ||
spine | masak: hehe, nice one | ||
anyways, I have to go. cu #perl6 | |||
15:09
spine left
|
|||
masak | spine: \o | 15:09 | |
tadzik | masak: heh, I've never really learned CSS | 15:10 | |
all I know about HTML is what I've learned in this 4th year of primary school, or something | |||
or was it 5th? | |||
masak | CSS is when HTML starts being worth learning, IMO. | 15:14 | |
well, somewhere around the DOM, at least. even though the DOM has the weirdest overdesigned interface in the history of crap. | |||
a bonus is that if you learn CSS well, you'll get jQuery almost for free. and it rocks. | 15:15 | ||
tadzik | mebbe. I've never been particulary interested in learning those client-side technologies, tbh | 15:17 | |
colomon | you kids today and your fancy web technologies.... | 15:18 | |
cognominal | masak, in a sense, that has been an opportunity, great librairies have been designed to decouple from that crap. | 15:21 | |
colomon | tadzik: github.com/colomon/panda/blob/mast...oke-niecza | ||
tadzik | colomon: that looks a bit like masstest | ||
colomon | (sorry for the delay -- there was an incident of potty training and then I realized I'd never deleted the dead code for smoke-niecza) | 15:22 | |
masstest? | |||
tadzik | hah, I never commited that, it'd seem | 15:23 | |
gist.github.com/1738468 this thingy | |||
we have like wrote almost identical code, for the same purpose | |||
colomon | yes! I was trying to find that in the middle of the night... | ||
it's pretty obvious code, really. :) | 15:24 | ||
tadzik | aye :) | ||
colomon | I was more paranoid about having the script die in process, thus writing out each result as it goes | 15:25 | |
whereas you just used std out | |||
tadzik | I see | 15:26 | |
colomon | I haven't actually tried it yet, but I don't think there's any reason you can't use both panda and panda-niecza on the same system, without interference. | 15:27 | |
tadzik | neither do I | ||
colomon | (I used different directory names.) | ||
tadzik | tbh, I doubt there's a doubt for a special thing named panda-niecza | ||
otoh, I don't know how much your branch is different from mine | |||
colomon | it's not very different | 15:28 | |
tadzik | but I'd really like to have just one panda which will just work | ||
colomon | agreed, but it still will need to keep track of which projects are installed for Rakudo and which for Niecza. | ||
tadzik | true | 15:29 | |
colomon | I figure having a separate panda-niecza is a pretty short term thing | ||
gotta run get ready to take my 3-year-old to the preschool open houses this morning | 15:30 | ||
masak | cognominal: I don't buy that reasoning. if the DOM had been easier to use, we'd have gotten cooler things sooner, and not had to wait for crap-decoupling libraries. | 15:50 | |
(Set and Bag in Niecza)++ | 16:03 | ||
I approve. | |||
TimToady++ | 16:04 | ||
16:04
rasto left
16:08
Blinky- joined
16:11
eiro left
16:12
MayDaniel joined
|
|||
masak | I just had a 'where' clause catch a bug in a script I wrote. | 16:16 | |
I turned the sub in question into a multi, and added a catch-all case which died with enough debug indo. | |||
info* | |||
16:17
rasto joined
|
|||
masak | and it turned out I had entered a piece of data wrong somewhere, and the dispatch caught it because I was checking my arguments against that data. | 16:17 | |
16:17
eiro joined
16:19
kmwallio joined
16:20
MayDaniel left
|
|||
TimToady | colomon++ did most of the later work | 16:23 | |
masak | colomon++ | 16:24 | |
16:35
tokuhir__ left,
tokuhir__ joined
16:36
mtk left
|
|||
TimToady | niecza: say bag 2,2,3,4,4 | 16:36 | |
p6eval | niecza v14-11-gde9cc16: OUTPUT«bag(2, 2, 3, 4, 4)» | ||
16:37
tokuhir__ left
|
|||
TimToady | niecza: say +bag 2,2,3,4,4 | 16:37 | |
p6eval | niecza v14-11-gde9cc16: OUTPUT«5» | ||
TimToady | niecza: say bag(2,2,3,4,4) ∩ bag(2,3,3,4,4,4) | ||
p6eval | niecza v14-11-gde9cc16: OUTPUT«===SORRY!===Confused at /tmp/KnicX_aVPD line 1:------> say bag(2,2,3,4,4) ⏏∩ bag(2,3,3,4,4,4)Parse failed» | ||
TimToady | niecza: say set(2,3,4) ∩ set(3,4,5) | 16:38 | |
p6eval | niecza v14-11-gde9cc16: OUTPUT«===SORRY!===Confused at /tmp/359CRCEtn7 line 1:------> say set(2,3,4) ⏏∩ set(3,4,5)Parse failed» | ||
16:38
tokuhir__ joined
|
|||
TimToady | niecza: say set(2,3,4) (&) set(3,4,5) | 16:38 | |
p6eval | niecza v14-11-gde9cc16: OUTPUT«===SORRY!===Confused at /tmp/xaoVdIUec1 line 1:------> say set(2,3,4) ⏏(&) set(3,4,5)Parse failed» | ||
masak | :/ | ||
TimToady | niecza: use Set; say set(2,3,4) (&) set(3,4,5) | 16:39 | |
p6eval | niecza v14-11-gde9cc16: OUTPUT«Unhandled exception: Unable to locate module Set in @path at /home/p6eval/niecza/boot/lib/CORE.setting line 1344 (die @ 3)  at /home/p6eval/niecza/src/NieczaPathSearch.pm6 line 23 (NieczaPathSearch.load_module @ 12)  at /home/p6eval/niecza/src/Niecza… | ||
TimToady | hmm | ||
masak | set operators are commented out in Niecza source. | ||
they're in lib/CORE.setting | 16:40 | ||
TimToady | I thought they were working earlier | ||
16:41
chee joined
|
|||
chee | :)(: | 16:41 | |
masak | the last commit on those lines is the one that adds the class, with the operators commented out. | ||
commit-messages colomon: "Import version of TimToady++'s Set class. Alas, the operators are all commented out for the moment." | |||
TimToady | chee: there's no need to be two-faced :) | ||
masak .oO( excessive chee will be rectified ) | 16:42 | ||
TimToady | masak: ah well, all in good time | ||
chee | :D | ||
16:47
awoodland left
16:49
icwiener joined
|
|||
jnthn back | 16:51 | ||
masak | method legal_moves { %possible_moves{ @.pieces }.grep({ is_legal($_) }) } | 17:05 | |
I love Perl 6 :) | |||
er, that should be self.is_legal | 17:09 | ||
but still. pretty succinct. | |||
perl6: sub foo($ where 5) {}; foo 42 | 17:11 | ||
p6eval | niecza v14-11-gde9cc16: OUTPUT«Unhandled exception: Constraint type check failed for parameter in foo at /tmp/7ET7v4cEOk line 0 (foo @ 1)  at /tmp/7ET7v4cEOk line 1 (mainline @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 3609 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.set… | ||
..rakudo a47a56: OUTPUT«Constraint type check failed for parameter '' in sub foo at /tmp/PRuhLgstd7:1 in block <anon> at /tmp/PRuhLgstd7:1 in <anon> at /tmp/PRuhLgstd7:1» | |||
..pugs b927740: OUTPUT«***  Unexpected "$ where" expecting formal parameter or ")" at /tmp/JkZiTSmi68 line 1, column 9» | |||
masak | sorear: might want to at least take Rakudo's route here and quote the parameter name, in case it doesn't exist :) | 17:12 | |
in these cases, maybe numbering the paramters somehow helps more. | |||
I dunno. | |||
TimToady | if it's a set, should probably be %.pieces :) | 17:19 | |
and if I were a piece, I'd think I was the object and not the board; the board is just the universe :) | 17:20 | ||
hmm, I see no rosettacode entries for bags/multisets offhand (en.wikipedia.org/wiki/Multiset) | 17:22 | ||
masak | sorear: the "declared but not used" warnings are pretty useless on the REPL. | 17:25 | |
it's quite natural to declare something on one line and then use it on the next. (that still works, it's just the warning that's annoying.) | 17:26 | ||
niecza: my %h = foo => [1, 2], bar => [3, 4]; my @a = <foo bar>; say %h{ @a }.perl | 17:27 | ||
p6eval | niecza v14-11-gde9cc16: OUTPUT«([1, 2], [3, 4])» | ||
masak | what can I do to get just a flat list, (1, 2, 3, 4)? | 17:28 | |
(given that the values of %h really are arrays) | |||
jnthn | nom: my %h = foo => [1, 2], bar => [3, 4]; my @a = <foo bar>; say %h{ @a }>>.flat.perl | ||
p6eval | nom a47a56: OUTPUT«([1, 2], [3, 4])» | ||
jnthn | ah | ||
nom: my %h = foo => [1, 2], bar => [3, 4]; my @a = <foo bar>; say %h{ @a }>>.list.perl | 17:29 | ||
p6eval | nom a47a56: OUTPUT«([1, 2], [3, 4])» | ||
jnthn | heh, not that then :) | ||
oh, of course | |||
hypers maintain structure | |||
duh. | |||
nom: my %h = foo => [1, 2], bar => [3, 4]; my @a = <foo bar>; say ([Z,] %h{ @a }).perl | 17:30 | ||
p6eval | nom a47a56: OUTPUT«((1, 3), (2, 4)).list» | ||
jnthn | That's one way. | ||
oh, not if you want them in order | 17:31 | ||
grr | |||
:) | |||
masak | I don't care about the order. | ||
jnthn | nom: my %h = foo => [1, 2], bar => [3, 4]; my @a = <foo bar>; say (.flat for %h{ @a }).perl | ||
p6eval | nom a47a56: OUTPUT«(1, 2, 3, 4).list» | ||
jnthn | That is also possible. :) | ||
masak | thanks :) | ||
TimToady | niecza: my %h = foo => [1, 2], bar => [3, 4]; my @a = <foo bar>; say %h{ @a }.map(*.flat).perl | 17:32 | |
p6eval | niecza v14-11-gde9cc16: OUTPUT«(1, 2, 3, 4).list» | ||
masak | why does .map work but not >>.flat ? | ||
TimToady | because nobody implements the spec yet | ||
masak | :P | 17:33 | |
jnthn | Oh my, is that the duck mapping thing... | ||
masak | yeah. not a fan. | ||
jnthn | Yeah. Repeated "not a fan" comments have kinda put me off spending tuits on it. :) | 17:34 | |
TimToady | not a fan of the "why doesn't my hyper work" FAQ either | ||
masak | TimToady: so you're saying >>.flat above would work if your duck mapping idea were implemented? | ||
TimToady | yes | ||
jnthn | b: my %h = foo => [1, 2], bar => [3, 4]; my @a = <foo bar>; say %h{ @a }>>.flat.perl | ||
masak | in that case, that's score 1 for the idea, I guess. | ||
p6eval | b 1b7dd1: OUTPUT«([1, 2], [3, 4])» | ||
jnthn | ah, and b did something else there too. | 17:35 | |
TimToady | if [] implements .flat then it shouldn't descend into it | ||
the only tricksy thing is that it is specced to ignore the list methods from Any, which won't dwtm in this case | 17:37 | ||
niecza: my %h = foo => [1, 2], bar => [3, 4]; my @a = <foo bar>; say %h{ @a }.map(*.values).perl | 17:43 | ||
p6eval | niecza v14-11-gde9cc16: OUTPUT«(1, 2, 3, 4).list» | ||
TimToady | niecza: my %h = foo => [1, 2], bar => [3, 4]; my @a = <foo bar>; say %h{ @a }.map(&values).perl | ||
p6eval | niecza v14-11-gde9cc16: OUTPUT«(1, 2, 3, 4).list» | 17:44 | |
gfldex | perl6: my %h = a => 1, b => 2; say %h{*}.perl; | 17:46 | |
TimToady | the Any-exclusion smell makes me wonder if promotion of item to list should be done elsewise than by the Any monkeys | ||
p6eval | niecza v14-11-gde9cc16: OUTPUT«Any» | ||
..rakudo a47a56: OUTPUT«(1, 2)» | |||
..pugs b927740: OUTPUT«\undef» | |||
TimToady | perl6: my %h = a => 1, b => 2; say %h{}.perl | 17:47 | |
p6eval | pugs b927740: OUTPUT«{("a" => 1), ("b" => 2)}» | ||
..niecza v14-11-gde9cc16: OUTPUT«Unhandled exception: No value for parameter index in postcircumfix:<{ }> at /home/p6eval/niecza/lib/CORE.setting line 0 (postcircumfix:<{ }> @ 1)  at /tmp/BVWFUqpde3 line 1 (mainline @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 3609 (ANON @ 3) … | |||
..rakudo a47a56: OUTPUT«(1, 2).list» | |||
TimToady | niecza doesn't do Zen slice either yet | ||
perl6: say perl list 1 | 17:51 | ||
p6eval | niecza v14-11-gde9cc16: OUTPUT«===SORRY!===Undeclared routine: 'perl' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1344 (die @ 3)  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 33)  at /hom… | ||
..pugs b927740: OUTPUT«1» | |||
..rakudo a47a56: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&perl' called (line 1)» | |||
masak | we never nailed down which methods should also be subs. | 17:52 | |
it's kinda arbitrary as it is. | |||
17:52
nebuchadnezzar left
|
|||
TimToady | note that the listop form of list methods automatically promote items | 17:52 | |
TimToady wonders if a failed listop dispatch should just assume that, and not fill Any with coercions | 17:53 | ||
a failed single dispatch, that is | |||
if we did something like that, we wouldn't have to make an Any exemption for duck mapping | 17:55 | ||
well, maybe | |||
well, maybe not | 17:56 | ||
I guess it would still fail if were using the same dispatcher (with the failover) to determine whether the method is available | |||
17:57
Juerd left
|
|||
sorear | good * #perl6 | 17:57 | |
17:58
Juerd joined,
PerlJam left
|
|||
TimToady | o/ | 17:58 | |
17:58
nebuchadnezzar joined,
MayDaniel joined,
PerlJam joined
|
|||
nebuchadnezzar | yo | 17:59 | |
TimToady | perl6: say 1.&list | 18:01 | |
p6eval | pugs b927740, rakudo a47a56, niecza v14-11-gde9cc16: OUTPUT«1» | ||
TimToady | perl6: say 1.&list.perl | ||
p6eval | rakudo a47a56: OUTPUT«(1,).list» | ||
..pugs b927740: OUTPUT«(1,)» | |||
..niecza v14-11-gde9cc16: OUTPUT«(1, ).list» | |||
TimToady | I guess the interesting observation I'd make is that .&foo will arrange a promotion to list if .foo won't, if foo is a listop | 18:02 | |
so I wonder whether we really need the Any list promotions at all, if the .&foo form is available | 18:03 | ||
assuming we add a perl listop and such where appropriate | 18:04 | ||
dalek | ecza: 923f0f3 | sorear++ | lib/Kernel.cs: Add quotes to parameter binding errors |
||
TimToady | I wonder how much code currently depends on List(Item) coercion... | 18:08 | |
we used to depend on .[0] being a no-op rather heavily, but I don't know if we do that any more | 18:11 | ||
I guess idioms like hash push that depend on upgrading an item to a list still depend on the Any upgrades for those items that were not promoted to array | 18:14 | ||
but generally those would want to dwim by applying a listop, which we can have the .&foo form of | 18:15 | ||
the .[0] is not often used for that (and currently we don't have a .&[0] form corresponding to .&foo) | |||
since there's no prefix subscript op (other than postcircumfixfix:<[ ]> of course) | 18:16 | ||
18:20
birdwindupbird joined
|
|||
TimToady | pmichaud, sorear, jnthn: opinions? if we clean out most of the list stuff from Any (leaving .list at least), how much stuff would break? | 18:27 | |
I suppose it might be worth a before/after comparison on the spectests... | |||
18:28
fasad left
|
|||
TimToady | BTW, method perl is in fact specced as 'is export' | 18:29 | |
not that that's a list method exclusively... | 18:30 | ||
and an exported method doesn't automatically turn into a listop, of course | 18:31 | ||
sorear | TimToady: I don't know - it could work | 18:32 | |
TimToady | so the actual export in S32/Basics is not really adequate | ||
sorear | what else would an exported method turn into? | ||
TimToady | it would at least need to allow a capture as its invocant, if it were to handle all the list args | ||
but that's probably not what someone wants if they use perl as a listop | 18:33 | ||
they probably just want map *.perl, @list | |||
jnthn | TimToady: IIRC, various methods you'd expect to call on Parcel currently go through a .list coercion in Any. Things like %hash.grep ... may also suffer. | ||
TimToady | but the perl listop is a side issue | ||
jnthn | Of course, we could move the coercion methods into a Listesque role that those various things compose. | 18:34 | |
TimToady | that might be a lot cleaner | ||
the need for an Any exclusion to duck mapping is a design smell to me | 18:35 | ||
jnthn | TimToady: Yes, that's largely put me off implementing it. | ||
I couldn't believe that bit of the design would survive. :) | |||
And it's a minor pain to do. | |||
TimToady | I'm just sayin' the problem may not be in the duck mapping, but in Any | 18:36 | |
without the exclusion, duck mapping is trivial | |||
jnthn | TimToady: Yes, the exclusion is what I'm talking about. | ||
TimToady | you just reverse the order | ||
cognominal | rakudo: grammar A { rule TOP { [ $<a>=a ]+ }}; say A.parse('aaaa'); | 18:37 | |
p6eval | rakudo a47a56: OUTPUT«#<failed match>» | ||
TimToady | so I'm looking at whether List(Item) promotion is really appropriate in the single-dispatch realm | ||
cognominal | rakudo: grammar A { token TOP { [ $<a>=a ]+ }}; say A.parse('aaaa'); | ||
p6eval | rakudo a47a56: OUTPUT«=> <aaaa> a => <a> a => <a> a => <a> a => <a>» | ||
TimToady | especially if there's a 1 character workaround for listops | 18:38 | |
cognominal | how comes TOP works only as a token? | ||
sorear | wait, wait, are you saying MMD should have a special case to coerce items to lists? | ||
TimToady | no | 18:39 | |
I'm saying list operators naturally already do that | |||
sorear | cognominal: when you use "rule", you're requiring whitespace between the as | ||
jnthn | cognominal: It's nothing to do with TOP | ||
cognominal: what sorear said quicker than me ;) | |||
sorear | cognominal: if you want to match "a a a a", use rule. if you want to match "aaaa", use token | ||
TimToady | cognominal: the currently specced whitespace rules would still workl, but we haven't quite implemented them | ||
cognominal | I thought they ere optional not mandatory | 18:40 | |
TimToady | not inside an identifier | ||
sorear | cognominal: if you want to match either, use rule with token ws { \h* } | ||
TimToady | and the new specced rules won't help with that part | ||
cognominal | TimToady, can you point me to the new specced rule? | 18:41 | |
TimToady needs to rewrite STD to only look for sigspace after real matches | |||
S05:319 | |||
cognominal | thx | 18:42 | |
TimToady | you can always do [:!s a a a a] too to turn off sigspace in a scope | 18:47 | |
dalek | p/bs: cac5607 | jnthn++ | src/ (3 files): Give SCs an extra slot set for code refs. |
18:49 | |
p/bs: 9d4ef26 | jnthn++ | t/serialization/02-types.t: Add (currently failing) tests for serializing types with methods. |
|||
p/bs: 4a1b573 | jnthn++ | src/6model/serialization.c: Start sketching out serialization of static code refs. |
|||
jnthn | dinner time & | ||
p/bs: 4a9b1a7 | jnthn++ | src/ (3 files): Update deserialization API to take an initial list of the compilation unit's static code refs. |
|||
p/bs: 3410ab0 | jnthn++ | t/serialization/0 (2 files): Update tests for new deserialization API. |
|||
p/bs: ff11af1 | jnthn++ | src/ (3 files): Add an op for adding a code ref to an SC. |
|||
p/bs: d0e53db | jnthn++ | t/serialization/02-types.t: Update test case to bring it inline with current design. Now survives serialization, though not deserialization. |
|||
p/bs: 016bec6 | jnthn++ | src/6model/serialization.c: Static code ref deserialization. Tests for this now pass. |
|||
cognominal | the problem was to identify the problem. This is Perl, when identified, there are may ways to solve it. :) | ||
18:51
birdwindupbird left
18:59
GlitchMr left
19:06
kmwallio left
19:07
Blinky- left
|
|||
dalek | ecza: 38a95d6 | sorear++ | src/STD.pm6: Suppress unused warnings in REPL (masak) |
19:10 | |
ast: 5815031 | sorear++ | S03-operators/arith.t: [S03-operators/arith] Use eval_dies_ok because Niecza catches 5/0 at compile time now |
19:11 | ||
masak | sorear++ | 19:20 | |
...and Niecza catches divisions by 0 at compile time?! | 19:21 | ||
(yes, I understand that it's only in constant foldings. still cool.) | |||
colomon | sorear++ | 19:32 | |
19:34
snearch joined
19:35
awoodland joined
19:36
wolfman2000 left
19:40
MayDaniel left
19:46
mj41 left
19:47
imarcusthis left
19:48
imarcusthis- joined
19:51
mj41 joined
|
|||
dalek | ast: 428e7b0 | sorear++ | S0 (2 files): Fix(?) S06/lvalue-subroutines, fudge Proxy tests for niecza |
19:54 | |
ecza: c008e24 | sorear++ | t/spectest.data: Run two new test files for Proxy |
|||
19:59
abhishek__ joined
20:00
abhishek__ left,
abhishek_ joined
20:01
abhishek_ left
20:02
abhishek_ joined
|
|||
colomon | Proxy! | 20:04 | |
\o/ | |||
colomon realizes this means he's going to have to learn how to use Proxy... | 20:05 | ||
20:05
Moukeddar joined
20:06
abhishek_ left
|
|||
masak | Moukeddar! \o/ | 20:07 | |
Moukeddar | Hi masak :D | ||
it's a pleasure to be here, again | |||
colomon | o/ | 20:08 | |
Moukeddar | how are you doig guys? | ||
colomon | great! | 20:09 | |
masak | couldn't be better! | ||
Moukeddar | so, Craigslist donated 100,000$ to Perl5 :) | ||
masak | oh, did they? good for craigslist and Perl 5 ;) | 20:10 | |
Moukeddar | Yep, i hope they don't spend it on beer | 20:11 | |
masak | (well, not until they worked for the money, at least!) | 20:12 | |
Moukeddar | lol | 20:13 | |
crazy devs | |||
sorear | o/ Moukeddar | 20:14 | |
Moukeddar | hi sorear :) | ||
how are you ? | |||
sorear | ok | 20:15 | |
20:15
abhishekisnot joined,
abhishekisnot left,
snearch left
20:16
abhishekisnot joined
|
|||
Moukeddar | i'm watching stanford lectures :) | 20:17 | |
20:22
abhishekisnot left
20:23
abhishekisnot joined,
y3llow_ joined,
pothos_ joined
20:24
abhishekisnot left
20:25
abhishekisnot joined,
y3llow left,
pothos left
20:26
awoodland left,
y3llow_ left,
y3llow joined,
pothos_ left,
pothos joined
20:28
y3llow left,
abhishekisnot left,
y3llow joined
20:29
pothos left
20:30
pothos joined,
abhishekisnot joined,
y3llow left,
imarcusthis- left
20:31
y3llow joined
20:33
bluescreen10 joined,
abhishekisnot left
20:35
abhishekisnot joined
20:40
Moukeddar left
20:43
awoodland joined
20:45
icwiener left
|
|||
colomon | sorear: any chance you can fix the tests in S05-mass/properties-general.t? I'm not qualified, when I went to school EBCDIC was still an important consideration... ;) | 20:59 | |
20:59
abhishekisnot left
|
|||
sorear | I *could*, but... | 21:00 | |
the last time I fixed those tests (for Unicode 6.0), it took a lot out of me :| | |||
colomon | hmm... is it only those two blocks of tests which are likely to be wrong? | 21:02 | |
colomon is totally not joking about EBCDIC, btw -- about a third of his classes had coursework done on an IBM mainframe... | 21:04 | ||
whiteknight | jnthn: ping | 21:12 | |
21:13
kaare__ left
|
|||
jnthn | whiteknight: pong | 21:20 | |
whiteknight | jnthn: gist.github.com/1740148 A new get_context op that was just added to Parrot master might help a little with Rakudo args processing performance | 21:21 | |
not a huge amount of help, but not nothing | |||
jnthn | whiteknight: Does the op magically make passing args to the .sub where there are no .param declarations OK? | 21:22 | |
21:22
abhishekisnot joined
|
|||
jnthn | whiteknight: Or is it still the case that no .param decl means no check? | 21:22 | |
whiteknight | no check. It's a simple accessor. I thought Rakudo has handling checks in the binder? | 21:23 | |
jnthn | whiteknight: It does, I more wondered from a Parrot perspective (more) | ||
21:23
abhishekisnot left
|
|||
jnthn | I'd been under the impression that it was considered a bug that a .sub that contained no .param declarations accepted any number of args and ignored them. | 21:24 | |
whiteknight | jnthn: depends who you talk to. Once you have the context, you can insert your own checks. If you use .param and friends, Parrot checks for you | ||
if you do neither, you can't expect anything to happen | 21:25 | ||
jnthn | whiteknight: Well, the issue (though it's not a problem for me) is that Parrot provides no way to declaratively say that a .sub expects to be passed nothing. | ||
sorear | I raised the same issue with whiteknight earlier | 21:26 | |
jnthn | whiteknight: Since it's no problem for me, I won't push the issue. I can just see it getting resolved in the future and the code you gave me getting broken. :) | ||
whiteknight | jnthn: at the PIR level I don't feel like that matters. It's an assembly language and if you want params counted and managed, you need to do that yourself or ask parrot to do it for you | ||
I don't subscribe to the thought that it should just magically happen | |||
jnthn | whiteknight: Yes, but I'm saying there's no way to ask for that short of grabbing the CallContext and checking it. | ||
whiteknight | jnthn: that op is part of my overall plan to remove magic, and it explicitly won't change behavior in the future | ||
jnthn | OK. | ||
whiteknight: Also wrt your mailing list post... | 21:27 | ||
whiteknight | jnthn: I jsut checked nqp, it doesn't look like nqp uses self | ||
jnthn | The latest NQP (that Rakudo uses) doesn't use :method any more for generated code anyway (and thus not self) | ||
whiteknight | yeah, I'm eternally grateful for that update | ||
because now I can move on with plans to kill :method too | |||
happy days are here again | |||
jnthn | whiteknight: I'm probably going to kill out usage of :instanceof in the near future too. | 21:28 | |
*off | |||
Only NQP uses it, not Rakudo (well, apart from Rakudo depending on NQP...) | |||
whiteknight | jnthn: awesome. I tried to remove that from IMCC earlier this month, only to see I'd broken Rakudo. | ||
jnthn | Yeah. | ||
whiteknight | I suspect strongly we can come up with an alternate, superior method for doing something similar in the future, if you still need something like it | ||
:instance_of was always the wrong answer to the wrong question | 21:29 | ||
jnthn | It's worked for me until now but 6model is in a better place than it was back when I used it. | ||
And I can do what I wanted more easily with using a 6model object and delegation than a subclass of a PMC. | |||
whiteknight | I want all Parrot languages to do like NQP does: no :method, explicitly declaring "self", not expecting magic from the .pbc loader, etc | ||
that's the way things should be, and if NQP is ahead of the curve that means deprecation and backwards compatibility issues are almost moot | 21:30 | ||
21:36
apricoti joined
|
|||
whiteknight | jnthn: also, I'm probably going to get working on a 6model port to Parrot by the end of the month. I know you're busy, but any help/advice you can provide on that effort would be appreciated | 21:37 | |
jnthn | whiteknight: How deeply do you want to get it in to Parrot? | 21:40 | |
whiteknight | jnthn: at the lowest level. | ||
I want to completely redo PMCs, VTABLEs, the works. 6model is just the first step on that road | |||
jnthn | whiteknight: Well, the first challenge is right there. Currently 6model on Parrot uses PMCs to integrate with how Parrot is today. Whereas really PMCs should just be normal 6model objects. | 21:44 | |
apricoti | hi everyone, can someone tell me how to store a regex rule name (part of a defined grammar) in a variable and then use it? i already read A05 and S05 and it's not clear to me. I do have it working without variables, like MyGrammar.parse("some text", :rule<MyRule>) but I would like to replace MyRule with a variable and then it breaks | ||
jnthn | apricoti: Are you doing :MyRule<$the_variable> ? | ||
whiteknight | jnthn: First step is just to cut+paste move 6model from NQP to Parrot, and do things like initializing it from interp creation, etc | ||
jnthn | apricoti: If so, <...> is literal syntax. | 21:45 | |
cah | |||
I meant :rule<$the_varialbe> # won't work | |||
whiteknight | jnthn: Thereafter we can merge the two object models (and by "merge" I mean "delete anything that isn't 6model") and refactor | ||
jnthn | apricoti: Do :rule($variable) | ||
whiteknight | When 6model is the only game in town, so long as we keep the top-level interface the same, we can make changes to the implementation throughout | ||
apricoti | jnthn: thanks, that's working. is the name of the grammar implied because I'm doing MyGrammar.parse(...) ? or how is that working? | 21:46 | |
jnthn | whiteknight: If you do the first step without having figured out what the next steps will look like, it won't end well. | ||
whiteknight | jnthn: I do have several of the next steps figured out. I can't say I have a clear picture of what the end product will be in 10 years, but I know what to do to keep me busy through 2012 | 21:47 | |
jnthn | apricoti: MyGrammar is just the name of your grammar, .parse calls the parse method on it, and :rule just gives the name of the method (e.g. rule/token/regex) in your grammar to start parsing at. | ||
apricoti: It's all just method calls under the hood, since grammars are really just like classes and rules just like methods, but you write them in regexy syntax, not normal Perl 6 syntax. :) | 21:49 | ||
whiteknight: OK. It's just a daunting bunch of work. | |||
apricoti | jnthn: ok thanks! | 21:50 | |
21:51
perimosocordiae joined
|
|||
felher | whiteknight++ # for all the great work on Parrot :) | 21:52 | |
apricoti | jnthn: oh so :rule($variable) or :rule<literal> is just a named parameter to the parse() method right? | 21:59 | |
sorear | Right. | 22:00 | |
apricoti | hooray! thanks | 22:01 | |
22:15
awoodland left
22:28
tarch left
22:39
nebuchadnezzar left
22:47
nebuchadnezzar joined
|
|||
gfldex | nom: class Foo{ method postcircumfix:<( )>(){ say "Gihihihi!"; } }; my $f = Foo.new; $f(); | 22:53 | |
p6eval | nom a47a56: OUTPUT«Too many positional parameters passed; got 2 but expected 1 in method postcircumfix:<( )> at /tmp/cCXDYM7Sv7:1 in <anon> at src/gen/Metamodel.pm:3418 in block <anon> at /tmp/cCXDYM7Sv7:1 in <anon> at /tmp/cCXDYM7Sv7:1» | ||
gfldex | nom: class Foo{ method postcircumfix:<( )>(){ say "Gihihihi!"; } }; my $f = Foo.new; $f.(); | ||
p6eval | nom a47a56: OUTPUT«Too many positional parameters passed; got 2 but expected 1 in method postcircumfix:<( )> at /tmp/c4r_KUBoL6:1 in <anon> at src/gen/Metamodel.pm:3418 in block <anon> at /tmp/c4r_KUBoL6:1 in <anon> at /tmp/c4r_KUBoL6:1» | ||
jnthn | gfldex: postcircumfix:<( )> always takes a single argument, which is the Capture containing the arguments. | 22:55 | |
gfldex | even if i intend to have no arguments at all? | 22:56 | |
22:56
puurl joined
22:57
puurl left
|
|||
jnthn | gfldex: Yes, in that case you'll get an empty capture | 22:58 | |
gfldex | does that mean if I want to have MMD I have to delegate to normal methods? | 22:59 | |
jnthn | gfldex: Yeah, or use sub-signatures | 23:00 | |
gfldex | jnthn: how is the spec calling sub-signatures? | 23:03 | |
sorear | alternatively, use niecza, which implements slightly more reasonable semantics for postcircumfix:<( )> :D | ||
jnthn sighs at sorear | 23:04 | ||
gfldex: I thought it called them that | |||
23:04
mj41 left
|
|||
jnthn | gfldex: ah, S06 calls it unpacking | 23:05 | |
gfldex | found it, tyvm | ||
sorear | I was under the impression that the use of Capture there was a relic from when invocants were special | ||
masak | good night, #perl6. | 23:07 | |
sorear | bye masak | 23:08 | |
wtf does S13:150 even mean | |||
jnthn | sorear: Suggesting to TimToady++ that the spec be changed would be more helpful than doing it differently, then saying Niecza is better because it doesn't implement the spec. :) | 23:09 | |
sorear: I'm not really in favor of the way things are, I just implemented it the way it was spec'd. | |||
sorear: And ruoso didn't seem to argue for the status quo too strongly last time it was discussed, from what I recall. | |||
sorear | jnthn: ah... I see what I did wrong there | 23:12 | |
jnthn | The multi-dispatch argument is a decent one for why it'd be preferable to change the spec to the way Niecza has it. | ||
Time to go rest a bit...and tomorrow it's back up to Stockholm | 23:15 | ||
Timbus | for some reason you just cant bring yourself to leave that place.. | ||
sorear | I wasn't really trying to say it was on purpose. Now I'll make it clear by fixing the bug | ||
jnthn feels like a yoyo | |||
sorear | sorry | 23:16 | |
jnthn | Timbus: Yeah, I seem to end up there more and more these days. | 23:17 | |
sorear: Well, or fix the spec if you don't think TimToady will be disagreeable with the change. :) | |||
jnthn really afk, back sometime tomorrow... | 23:19 | ||
TimToady | I don't care about .() but .[] and .{} have to handle multidim subscripts somehow | ||
the question being, what does .[1,2,3; 4,5,6] desugar to? | 23:20 | ||
sorear | the current interpretation is .postcircumfix:<[ ]>((1,2,3), (4,5,6)) | 23:21 | |
jnthn | TimToady: I'd figured .[(1,2,3), (4,5,6)] and the thingy on the receiving end is **@dims | ||
.oO( this afk-ing ain't going so well... :) ) |
|||
TimToady | as long as .[1,2,3] turns into ((1,2,3),) | ||
sorear | removing the item/list punning will make **@dims even more broken | 23:22 | |
jnthn | OK, really really going this time o/ | 23:23 | |
sorear | bye | ||
TimToady | o/ | ||
23:24
awoodland joined
|
|||
sorear | I think S13:204 is a fossil | 23:25 | |
TimToady | anyway, the .() stuff was from before we realized there was always a proto if there are multis | ||
sorear | it seems to be saying that $x.Str might fall back to Str($x) | ||
TimToady | well, DRY says you shouldn't have to define coercion in both the source and the target class | 23:26 | |
if really depends on which one was defined first or last | |||
which classes know about which other classes, which can happen in either order | |||
sorear | RFC: pastie.org/3318273 | 23:27 | |
TimToady | if I add a new class, it should probably specify how to coerce both to and from Str. The Str class should not change | ||
sorear | TimToady: I think in our current model it makes no sense for $str.NewClass to work | 23:28 | |
TimToady | you have a funny definition of "makes no sense" | 23:29 | |
sorear | isn't $string.method_name controlled entirely by Str and Str.HOW? | 23:30 | |
23:30
apricoti left
|
|||
whiteknight | hypothetically, if I have a changeset for Rakudo to use, are patches still preferred or can a pull request work? | 23:32 | |
TimToady | known typenames were always reserved there syntactically; it's one of the reasons types must be predeclared | ||
sorear | ah. (I don't think this reservation is coded explicitly in STD?) | ||
TimToady | STD doesn't actually care whether method names exist :) | 23:33 | |
so yeah... | |||
a slightly weaker position would be to failover to a coercion on dispatch failure, but I'm little leary of failovers these days, having purged so many of them from the design in the past | 23:37 | ||
on list/item punning, I'm not proposing removing it entirely; a single item can still bind as a capture/subcapture | 23:38 | ||
I'm only proposing kicking the list methods out of Any | |||
so that duckmapping can't see them | 23:39 | ||
and that's only the single-dispatch methods | |||
sorear | I'm curious to know more about the history of failovers in Perl 6. | ||
TimToady | listop $a is still perfectly fine | ||
it mostly stemmed from trying to avoid poeple having to put a : into 'close $foo:;' | 23:40 | ||
so single arg functions where ambiguously also method calls in the early design | |||
*were | 23:41 | ||
sorear | Do you have any objection to the RFC'd patch? | ||
TimToady | nope | ||
dalek | ecs: 4fe1480 | sorear++ | S13-overloading.pod: Respec postcircumfix:<( )> to take arguments directly This makes it possible to implement it as a set of multi methods. |
||
23:41
silug_ joined
|
|||
TimToady | eventually we decided that the who's to be master problem dictated a clean separation between single dispatch and lexical dispatch | 23:42 | |
the desire to dwim on coercions is the only intentional remnant of that | |||
23:42
mls_ joined
23:43
BooK__ joined,
mathw_ joined,
Woodi_ joined
23:44
avarab joined,
LoRe_ joined,
PerlPilot joined
|
|||
TimToady | interestingly, coercions are starting to look more like functions rather than methods all the time because of the trend toward using submethods | 23:44 | |
23:44
yeltzooo7 joined,
Lorn_ joined
|
|||
TimToady | our gists and perls and Strs tend to assume no derivation types, which is wrongish | 23:44 | |
23:45
Pzter joined,
silug left,
mls left,
Lorn left,
PerlJam left,
BooK_ left,
avar left,
Woodi left,
PZt left,
tokuhirom3 left,
yeltzooo left,
araujo left,
LoRe left,
mathw left,
zby_home left,
araujo joined
|
|||
TimToady | looks like some bad irc weather... | 23:45 | |
23:45
tokuhirom3 joined
|
|||
whiteknight | my knee has been swelling up, that means a netsplit's a'brewin' | 23:46 | |
TimToady | rheumatism has to be good for sump'n | 23:47 | |
sorear | TimToady: would you say $foo."TypeName"() is different from $foo.TypeName() then? | 23:49 | |
TimToady | yes | ||
that was one of the motivations for the quoted form | 23:51 | ||
especially if calling into a different language with different uc conventions on method names | 23:52 | ||
otoh, we didn't have .& back then | |||
one could argue that .&Str is the unambiguous postfix form, and break .Str in favor of letting the target decide | 23:54 | ||
sorear | TimToady: to what extent do gist and perl have the typename coercion nature? | ||
TimToady | they coerce to string, just differently | ||
but we have a general problem with coercions assuming they speak for subclasses when they don't | 23:55 | ||
been playing around with various bandaids^Wsolutions in my head | 23:56 | ||
mostly modelled on the BUILDALL/BUILD relationship | |||
23:58
imarcusthis joined
|
|||
TimToady | not sure whether we should go as far as to mandate 'submethod GIST' though, or whether we can rely on community standards for the gists to compose properly | 23:59 | |
but people will write 'method gist' and then give it submethod semantics inadvertently all the time, I think |