»ö« | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by moritz_ on 25 June 2010.
00:01 Psyche^ joined
jnthn night o/ 00:01
00:03 ruoso joined 00:05 Patterner left, Psyche^ is now known as Patterner 00:09 drbean joined 00:14 lest_away is now known as lestrrat 00:15 blogometer left 00:19 whiteknight joined 00:27 fod joined 00:31 blogometer joined 00:35 kensanata left
lue How do I match the opposite of a character class? Or rather, how to match anything that isn't <alpha> ? 00:36
TimToady <-alpha> should work 00:37
sorear TimToady: Under use graphs, what does [ a .. z ] match? 00:38
I guess \w, \d etc only care about the base character 00:39
but ranges are less clear... also what about [a e i o u]
TimToady that would depend on whether :ignoremark is set
ranges are probably on base chars only, yes
sorear [aeiou] - 5 characters if :!m, many if :m 00:40
[a..z] - always many
\w - always many many
?
lue oh, I forgot the :g in my substitution, so I didn't notice when I tried <-alpha> :)
TimToady that seems about right. character classes don't get along with Unicode nearly as well as properties do 00:42
sorear Properties are a function entirely of the base, right?
TimToady we probably need a way to query the mark chars that we haven't invented yet 00:43
tylercurtis sorear, TimToady, are you saying that ä matches [a..z]?
sorear What should [ a .. \c[O WITH FIVE HATS] ] match? 00:44
00:44 spinclad joined
sorear tylercurtis: That's what I'm saying. (But only if use graphs; is in effect.) 00:44
00:45 Clem_Chong joined
TimToady well, use graphs is supposed to be the default 00:45
sorear I think that defaulting to codes for now would be less suprising than half-implementing graphs
not that that matters in the platonic world of docs/Perl6/Spec, of course
tylercurtis Why would we not require :m for that? 00:46
TimToady it would probably be more consistent, yes 00:47
actually, under NFG, ä is its own base char, since NFG is an extension of NFC 00:48
and :m kind of implies NFDishness instead 00:49
in the platonic world, that is. :P 00:50
tylercurtis Well, :m is specced as checking only the base char in NFD. 00:51
TimToady that seems right, though of course it doesn't actually have to *do* NFD to do that
it merely need an NFG to base char mapping of some sort 00:52
as for [ a .. \c[O WITH FIVE HATS] ], that's certainly an error if there's no NFC grapheme predefined for that 00:53
sorear So .. defines a contiguous range of NFC graphemes, in :!m graphs mode? 00:56
What does .. do in :m graphs?
TimToady carps about marks maybe, then canonicalize before taking the range? 00:57
00:57 jferrero joined
TimToady we could do the same for A..z under :i, I suppose 00:58
sorear so :m <[a .. 一]> matches all characters, which, when decomposed, have bases in the U+0061..U+4E00 range?
lue I get "symbol $phrase not predeclared in <anonymous>", and I can't see why: gist.github.com/539337
TimToady though A vs a is not a marked/unmarked distinction like base/mark is 00:59
sorear lue: $pharse
TimToady sorear: that seems about as sane as anything
00:59 blogometer left
sorear Also, can you give a good example of a language where CharLingua is relevant? 01:00
01:01 thundergnat joined
lue thank you. 01:01
TimToady well, any language that considers certain digraphs to be single characters
I think both German and Spanish fall into this category
sorear yes, ll 01:02
TimToady please don't ask me how those interact with character ranges. :)
lue I think my anagram generation method needs some work. Ah well, afk. 01:03
sorear Isn't it obvious? It uses linguistic collation tables 01:04
TimToady that's why you shouldn't ask ;) 01:05
thundergnat Quick question: What is the correct R* syntax for 'second to last element of array'? $array[-2] in perl5
TimToady *-2
thundergnat Thanks
01:06 meppl left
sorear Perl 5 always has 'codes' semantics, right? 01:10
colomon if @array is the array, @array[*-2] in p6 01:13
jferrero TimToady, sorear, in Spanish, ll and ch digraphs are considered chars, but arent represented into the modern alphabet (from 1994): es.wikipedia.org/wiki/Alfabeto_lati...rio_latino
TimToady so we might need to put dates on our CharLingua types. :) 01:16
jferrero hahaha
TimToady sorear: yes, unless you say 'use bytes' 01:17
last I knew, \X was the only thing that knew about graphemes in P5
01:21 stephenlb left, blogometer joined
TimToady dinner & 01:24
01:25 jferrero left 01:27 Guest82885 left 01:49 blogometer left 01:54 blogometer joined 01:56 molaf joined 01:59 squeeky left 02:02 redicaps1 joined 02:06 rjbs left 02:11 azert0x left
diakopter burp 02:12
02:21 whiteknight left 02:27 sftp left 02:30 rgrau_ left 02:34 rgrau joined
Clem_Chong %-:left-justified,what is the operator of right-justified? 02:39
TimToady are you talking about printf formats?
Clem_Chong TimToady: Yes. 02:40
TimToady just leave out the - 02:41
02:41 thundergnat left
TimToady rakudo: say "foo".fmt('%-30s') 02:41
p6eval rakudo 90637b: OUTPUT«foo ␤»
TimToady rakudo: say "foo".fmt('%30s') 02:42
p6eval rakudo 90637b: OUTPUT« foo␤»
diakopter sorear: spello dependancy
Clem_Chong thanks. 02:43
rakudo:say "hello"
p6eval rakudo 90637b: OUTPUT«hello␤»
03:01 blogometer left
sorear diakopter: the American Heritage Dictionary 3rd ed. paperback and the web1913 public text file both list dependancy; what are you using 03:20
TimToady: Does \X[41,42,43] mean anything? 03:22
03:29 blogometer joined 03:32 jaldhar joined, jaldhar left 03:33 jaldhar joined, justatheory joined 03:34 justatheory left
TimToady it could be forced to mean something 03:36
regex stuff { \x[41,42,43] }; / <-stuff> / 03:40
sorear What does '<-' <ident> '>' mean? 03:45
03:46 rgrau left
TimToady it means <?ident> . 03:46
er, <!ident> .
sorear What does STD.pm6 +4985 mean in general? 03:48
TimToady a blank line? 03:49
sorear svn up
| <name> 03:50
in cclass_elem
03:50 hans__ joined
sorear are character classes looked up anywhere? 03:50
TimToady I am svn upped
sorear or is alpha, digit, xdigit, inCJKExtensionA, etc the extent of it?
TimToady that's 4993 03:51
sorear huh.
TimToady ah, no I have something unchecked in 03:52
03:54 hans__ left
pugssvn r32065 | lwall++ | [STD] extend [-1] error to -2, -3 etc. 03:57
04:03 flyback joined
flyback anyone seen ajkroll around here 04:03
#darcs
diakopter sorear: it's just ... righter 04:09
04:33 PZt left 04:34 jhuni joined 04:36 tadzik joined
tadzik morning 04:36
05:05 kaare joined, kaare is now known as Guest17872 05:09 molaf left 05:30 Guest17872 is now known as kaare_ 05:48 fod left 05:49 drbean left, blogometer left 05:56 drbean joined
rcfox Guh, Perl 6 has ruined me for Perl 5. 05:56
[particle] you have been assimilated. 05:57
rcfox Indeed.
tylercurtis say .fmt("Guh, Perl 6 has ruined me for %s") for @languages 05:58
05:58 ruoso left
rcfox Wow, a 13MB SVG. 06:00
06:00 uniejo joined
tylercurtis well, I should probably add an "unless $_ ~~ 'Go'|'Coq'|'Prolog'|'Haskell'" to that. Those are weird enough that I don't compare them negatively to Perl 6 too much. 06:01
lue I looked at Go. I'd say it's worse than P6 :) # have you seen how many lines it takes to say Hello World in Go? 06:06
mathw Coq isn't really the same kind of tool... 06:08
Go's weird, I need to look into it more at some point 06:09
06:09 redicaps1 left
lue The number of programs you need to run to get Go code running reminds me of when I fiddled with Java O.o 06:09
Tene Go is... different. Go has a lot of good ideas. 06:10
Go is targeted toward specific needs and seems to be pretty good for those.
lue I'll have to look again, but P6 has stained my world-view of programming languages :D 06:11
tylercurtis lue: Go has LEAVE/KEEP/UNDO! Rakudo doesn't even have those yet. :) Technically, it has LEAVE, but KEEP/UNDO is LEAVE plus a conditional in Go. 06:13
06:14 ruoso joined
mathw I was considering suggesting Go for a new project at work, actually 06:14
But I don't think the language is mature enough yet 06:15
lue
.oO(You can tell how bad a language is by how strong it advocates the 'goto' command)
06:16
mathw I think that's a little simplistic
tylercurtis lue: what language are you talking about? 06:17
PerlJam lue: What are you talking about? goto is an excellent language feature! :)
sorear tylercurtis: .NET ilasm is, to general knowledge, the only system in existance with a native UNDO 06:19
they'
re called fault blocks
lue One example: BASIC and friends [ although I admit it's a pretty flimsy language test :) ] 06:21
tadzik mathw: Will there be any announcement on rakudo.org? 06:23
mathw The release guide says perl6-compiler gets the announcement 06:24
maybe rakudo.org should have one too
don't know
tadzik hmm
It usually did
mathw yes but that was before *
tadzik It was usually on p6u too
oh, maybe
mathw which is now the release we're going to be promoting widely
tadzik github.com/parrot/parrot -- look, parrot on github 06:25
mathw so expect to see Star 2 release announcements everywhere
tadzik I see
PerlJam I don't think the compiler releases need to be announced anywhere but p6c 06:26
mathw Indeed. things are different in a world with Rakudo Star 06:28
06:32 dual joined
tylercurtis Translating non-Go code that uses exceptions to Go makes me feel uneasy. panic() has a very different feeling to throw or even die. Maybe Perl 6 should give &die a less pleasant name (though I can't imagine what). 06:34
06:36 simcop2387 left 06:41 simcop2387 joined
sorear Perl (1) die was non-recoverable until version 1.0.8 06:42
it was literally just fprintf and exit (for 30 days spanning the beginning of '88) 06:43
does the version of Perl which predated 5 have a name?
perl 1.0.0 through 4.0.26 are sufficiently similar that they deserve to be lumped together like "Perl 5" and "Perl 6" are
dalek odel: fd62b41 | ++ | / (6 files):
add three more of the Metamodel java files
06:44
06:45 mberends left 06:54 Trashlord left 07:21 Trashlord joined
sorear colomon: jnthn: ingy: moritz_: TimToady: szabgab: dukeleto: Ping - I'm trying to instigate a #cpan6sketch. 07:27
Alias_ of CPAN5 has expressed interest, but is not available at #phasers time; he says -3h or +4h from it would work
07:28 tylercurtis left 07:31 Trashlord left 07:36 _madmax_ left 07:40 Mowah joined 07:55 Mowah left 08:11 foodoo joined 08:12 Mowah joined
moritz_ sorear: pong 08:13
-3h would work for me
+4h is in the middle of my night
16H UTC is OK for me, to be clear 08:14
x3nU also 08:19
i've got something interesting on my hdd
it's microsft perl kit :D
08:20 drbean left
x3nU i din't knew that microsoft made anything related to perl 08:20
(it's from '96 and it's for windows nt powerpc)
sorear '96? Is it even Perl 5? 08:22
moritz_: ok, just need a few more pongs
x3nU sorear: it says perl 5 build 110 08:23
;d
sorear moritz_: TimToady talked about German requiring a nontrival (!= Grapheme) CharLingua. Can you elaborate on this?
moritz_ sorear: not sure what he's talking about
we've got that funny character that becomes two characters if uppercased, but I don't think that applies here 08:24
and we have some ligature rules, but that applies only to typesetting, not text processing
08:25 HarryS left 08:28 HarryS joined
sorear What exactly are named character classes? 08:33
Are they special to the parser?
If not, what does the code generated for <-fooquux> do?
arnsholt sorear: The non-trivial thing is probably ß becoming SS when capitalised 08:36
Downcasing that correctly is kinda tricky
08:36 thebird joined
moritz_ sorear: afaict <-foo> is the same as (<!before <foo>> .), but may assume that <foo> matches exactly one character 08:38
arnsholt: there's no way to case-roundtrip ß reliably
at least I know of none
08:39 dakkar joined
moritz_ www.perlmonks.org/?node_id=856208 # I continue to troll perlmonks with perl 6 answers :-) 08:39
arnsholt moritz_: Only way to do it is proper linguistic processing. Which is kinda hard to get right =) 08:40
08:41 kaare_ left 08:42 kaare_ joined 08:43 grew_ left, grew joined 08:44 pmurias joined
pmurias ruoso: hi 08:44
sorear pmurias: Ping - I'm trying to instigate a #cpan6sketch. 08:48
Alias_ of CPAN5 has expressed interest, but is not available at #phasers time; he says -3h or +4h from it would work
so I'm trying to find an effective compromise time and date; moritz_ has approved 1600 UTC 08:49
08:49 timbunce joined
sorear (repasting for pmurias; others were already pinged) 08:49
moritz_ arnsholt: even with proper linguistic processing, you'd need semantic analysis 08:50
arnsholt: because Maße != Masse, for example
08:51 daxim joined, milki joined 08:54 drbean joined 08:56 agentzh joined 08:58 tadzik left
smash_ mornin' 08:59
arnsholt moritz_: Yeah. As I said "kinda hard to get right". Really hard, in fact =D
moritz_ hi smash_ 09:00
smash_: have you uploaded CGI::Cookie somewhere?
smash_ moritz_: not yet, haven't had the time yet to quite finish it 09:01
sorry
i'll try to work on it ASAP
moritz_ smash_: no problem; it would also help if you just upload what you have, so that I can add what I need 09:02
"release early, release often"
smash_ nods
i'll set up a github repo for it this weekend
moritz_ great
++smash_ 09:03
smash_ no annoucement for yesterday's release on rakudo.org ?
moritz_ smash_: no; we've decided to announce compiler releases only to [email@hidden.address] 09:04
smash_ oh, ok
moritz_ smash_: reason is that many people confuse compiler releases with Rakudo Star distribution releases
pmurias sorear: i'm not knowledgable enough about the perl5 CPAN to contribute to the cpan6 design
but 1600 UTC seems okish 09:05
moritz_ and we want end users to use R*
pmurias sorear: but if #cpan6sketch is logged it doesn't matter much for me
smash_ moritz_: reading release_guide.pod, yeap.. makes sense 09:06
sorear pmurias: I am assembling two groups of people: people who are experienced in building installer toolchains, and people who want to ask questions of the first group in real time
moritz_ I can make #cpan6sketch logged
sorear pmurias: my candidate list for the second group is pmurias colomon jnthn moritz_ TimToady szabgab dukeleto sorear 09:07
my candidates for the first list are Alias_ ingy
moritz_ sorear: don't forget masak
sorear masak: ping, you're invited too
(really, anyone is invited if they fit into one or the other group)
erp. masak isn't even here 09:08
moritz_ phenny: tell masak please see irclog.perlgeek.de/perl6/2010-08-20#i_2726521 and comment
phenny moritz_: I'll pass that on when masak is around.
moritz_ I've registered #cpan6sketch, justin case 09:09
09:09 tadzik joined 09:10 _ilbot2 left, _ilbot2 joined, ChanServ sets mode: +v _ilbot2
sorear Alias_ pinged mst, xdg, klapperl, rjbs from #toolchain for the first group 09:10
09:11 _madmax_ joined 09:12 _ilbot2 left, _ilbot2 joined, ChanServ sets mode: +v _ilbot2
sorear std: /<[a .. c .. e]>/ 09:16
p6eval std 32065: OUTPUT«===SORRY!===␤Range missing start character on the left at /tmp/QlZasYoO55 line 1:␤------> /<[a .. c ..⏏ e]>/␤Check failed␤FAILED 00:01 117m␤» 09:17
smash_ mathw++ # release
mathw I've picked up more karma in the last 24 hours than in my entire time in the Perl 6 community I think :)
09:18 PacoLinux left 09:19 masak joined, milki left
moritz_ ttjjss.wordpress.com/2010/08/09/so-...-6-module/ I've missed this post, so I put it here in case others have missed it too 09:20
we really should have a manual input option for planetsix
tadzik that reminds me, I still haven't fixed this You all the time in this post 09:22
sorear moritz_: that thing about <-foo> troubles me, I thought character classes could be comuted statically
moritz_ "statically"?
I'd be surprised if they followed different dispatch semantics than ordinary subrules 09:23
which would mean you can only get them dynamically anyway
09:23 timbunce left
masak character classes are computed statically. 09:24
phenny masak: 09:08Z <moritz_> tell masak please see irclog.perlgeek.de/perl6/2010-08-20#i_2726521 and comment
masak they doesn't dispatch, they evaporate into more basic constructs.
moritz_ so there's no way to override <alpha>?
masak <alpha> is a subrule, not a charclass.
09:24 wamba joined
moritz_ ok <+alpha> 09:24
masak that's also a subrule. 09:25
moritz_ <-alpha> ?
:-)
masak :)
moritz_: re #cpan6sketch, I'll happily attend. these things interest me, and it's fascinating to see the big minds arrive at plausible infrastructures. -3h from #phasers works much better than +4h. 09:27
moritz_ masak: great
masak ok, someone please remind me: how do I use gdb to produce a stacktrace again? 09:28
moritz_ gdb $excutable
run @arguments
wait for the segfault
bt 09:29
masak grazie.
moritz_ prego
tadzik is #cpan6scetch open for listeners?
moritz_ sure 09:30
tadzik so when is it?
moritz_ we're still trying to get people together
09:31 Clem_Chong left
smash_ me and ambs wrote an article about using Perl testing ecossystem as a non formal certification approach for software certification, it has some nice insights about CPAN 09:31
pmurias smash_: link? 09:32
smash_ (might be worth reading for people tinkering about cpan6)
pmurias: sorry, not public yet.. but it will be asap
frettled smash_: wot, someone other than me thinks that avoiding the Linux distribution screwups of the early 2000's is a good thing? :D 09:33
09:33 drbean left, Mowah left
smash_ or i can e-mail it to interesteds asap 09:33
frettled: hehe 09:34
smash_ afk & 09:35
sorear so I guess it looks like 1600UTC is the best time 09:38
sorear will need to get up early for that
pugssvn r32066 | moritz++ | [t/spec] unfudge tests for match object non-flattening 09:39
sorear masak: If <-alpha> is a subrule, what's <isPc+xdigit>? What about <[ \w ]-[a .. m]>? 09:41
masak sorear: the former is an alternation of two subrules. the latter is a concat of two charclasses (reversed), one of which is zero-width and inverted in meaning. 09:42
sorear: I have an unpublished blog post about just that, if you're interested. 09:43
sorear much so
I'm implementing charclasses now
masak suspected that :)
sorear: github.com/masak/7-wonders/blob/mas...harclasses
moritz_ masak: are you preparing for another November full of blogging? :-) 09:45
TiMBuS is \s the same as <.ws> in a regex? because adding a \s in a negated character class does not do what i mean 09:46
masak moritz_: more like cringing from it, knowing that I probably will. :P
moritz_: that blog post is part of a series that I planned to publish around last Christmas.
TiMBuS <-space + [others to exclude]> seems to be what i need, but that's lame 09:47
moritz_ TiMBuS: no. <.ws> is something completely different
TiMBuS oh. well <-[\s]> wont match characters on a boundary last I checked
moritz_ "on a boundary" ?
09:48 cmadsen1 joined
TiMBuS start/end of a string 09:48
masak of course it will.
rakudo: say "foo" ~~ / <-[\s]> / 09:49
moritz_ a character class always matches exactly one character
p6eval rakudo 90637b: OUTPUT«f␤»
masak rakudo: say "foo" ~~ / <-[\s]> $ /
p6eval rakudo 90637b: OUTPUT«o␤»
masak er, well.
rakudo: say "bar" ~~ / <-[\s]> $ /
p6eval rakudo 90637b: OUTPUT«r␤»
TiMBuS that's odd
masak no, it's very regular.
TiMBuS heh
09:51 milki joined, lucs left
ruoso pmurias, hi 09:51
pmurias ruoso: how is the evaluation of my gsoc project? 09:52
anything besides filling the survery (already did that) that i need to do? 09:53
ruoso i think that's all... 09:54
smash_ back
ruoso pmurias, you got a pass, anyway.... 09:55
pmurias thanks
ruoso the project is incredibly on track to the initial proposal
bbkr new compiler! \o/ 09:59
sorear masak: Cute, but I don't see how it's possible to make it work sanely with LT
M 10:00
|| and <before> are both rather LTM-damaging operators
masak sorear: that's true. this is how PGE solved it.
sorear: note that it doesn't explicitly use <before>, a quite expensive operation in PGE. 10:01
sorear Why is before expensive in PGE?
Also, it doesn't get to take advantage of my shiny new CClass.pm module 10:02
masak because it takes as an argument the nested regex in text form.
sorear !!!
masak so it needs to compile it at runtime.
(it caches it, though)
sorear Which can evaluate any sequence of +/- literal character classes, even with \w and stuff, in O(log n) time
masak sorear: this is consistent with <before> being "just another subrule without any special perks" 10:03
moritz_ I guess <before> needs to be special
10:04 lestrrat is now known as lest_away
sorear <before> is absolutely special 10:04
moritz_ pmichaud said as much in pisa
sorear it's the only rule that doesn't instantly kill LTM when used with arguments
masak no, we discussed whether <before> should be made special.
or maybe have one or two special forms.
10:05 ocean-city joined, ocean-city left
masak seems it's important that it be overridable. 10:05
sorear That doesn't make sense
moritz_ you can always alter the parser
sorear Well
Overridable in a slang, maybe
masak we still have things left to discuss, it seems.
moritz_ but fact is that <?before $rule> needs to know at compile time that $rule is being compiled differently
bbkr Pisa build identifies on -v as "version 2010.07" ?
TiMBuS oooh ok. found the issue. 10:06
moritz_ :(
masak I'd like to see a concrete proposal that enumerates and solves the current problems with <before>.
moritz_ bbkr: maybe the tarball was built before it was tagged?
TiMBuS rakudo: " a " ~~ / <-[\s]> /; $/.Str.perl.say
p6eval rakudo 90637b: OUTPUT«" "␤»
TiMBuS \s doesnt work in char classes
or, something
masak TiMBuS: known bug.
moritz_ .o diaresis 10:07
phenny moritz_: Sorry, no such service. See wiki.github.com/nslater/oblique/
sorear Basically I'm trying to implement real Perl 6 grammars in a way that isn't dog slow
moritz_ .u diaresis
phenny moritz_: Sorry, no results for 'diaresis'.
TiMBuS aaaaa why didn't you say :[
masak sorear: that sounds highly interesting.
sorear masak: my approach so far has been "take viv, make it generate C# instead of Perl" 10:08
the only significant change I've made was to use nested loops for backtracking instead of lazy lists
masak and backtracking works how with nested loops? 10:10
sorear for my $a (1,2,3) { for my $b (1,2,3) { for my $c (1,2,3) { say "trying $a $b $c" } } } 10:11
viv couldn't do anything liks this because Perl 5 doesn't have a way to return a result from inside without cutting all the loops
for me, that's just gather and take
10:12 dual left
masak ...which is equivalent to lazy lists :) 10:12
sorear yes 10:13
really, everything is equivalent if you look hard enough
masak I don't want to look that hard. 10:14
pugssvn r32067 | moritz++ | [t/spec] allow -e testing with Test::Util 10:15
r32068 | moritz++ | [t/spec] basic test for -e 10:17
moritz_ r32067 was hard debugging work :/ 10:18
dalek kudo: 81b4490 | moritz++ | t/spectest.data:
run our first S19 test file
10:20
smash_ can i volunteer for an upcoming devel release ?
10:22 tadzik left
sorear just tried to use $foo[1, 2] to slice an array in Perl 5 10:22
my first 6->5 braino \o/
moritz_ smash_: sure; next month is still vacant
smash_ moritz_: hmm, next month is not very good for me, moving to another city 10:23
moritz_ smash_: October is taken by PerlJam++, so November and December (23th!) is still vacant
smash_ moritz_: either November or December is fine 10:26
masak wow, is it true? we'll have a Rakudo release for Christmas?
moritz_ masak: do you want to claim November? :-)
masak heck, why not? :)
10:26 araujo left
moritz_ smash_: then you get the Christmas release :-) 10:27
smash_ sure
mathw yay Christmas
I'll do next month
10:28 meppl joined
moritz_ mathw: got a taste for it, eh? :-) 10:28
mathw might as well
smash_ hehe
mathw while I remember how
x3nU when will be next rakudo star released? :)
masak x3nU: next week. 10:29
I might be able to get pls in shape before that. 10:30
x3nU will it consist of current rakudo or something with never with fixes from repo?
newer*
moritz_ x3nU: it will include yesterday's release 10:31
x3nU thanks for info
dalek kudo: 6a3ec07 | moritz++ | docs/release_guide.pod:
[release_guide] volunteers for November (masak++) and Dezember (smash++)
10:32
kudo: e45bf69 | moritz++ | docs/release_guide.pod:
[release_guide] mathw++ has volunteered for next month; add a few more planned release dates
masak oh, so that's how "December" is spelled in German? :) 10:33
10:34 araujo joined, araujo left, araujo joined, McFist left
moritz_ masak: yes. Ooops. 10:34
masak I'm so glad the world has so many languages. it makes life more interesting. 10:35
dalek ecza: 4102102 | sorear++ | / (2 files):
Implement regex backslash escapes
10:36
ecza: dea7a54 | sorear++ | / (2 files):
Refactor handling of backslash escapes
ecza: eaea3cb | sorear++ | / (3 files):
Add a character class engine
ecza: 7ec8a8d | sorear++ | src/Niecza/Actions.pm:
Basic parser handling for character classes

I think a spec clarification is needed to generate the ASTs, though.
moritz_ phenny: tell pmichaud please review the release_guide branch on github, and merge (or cherry-pick) if you approve 10:37
phenny moritz_: I'll pass that on when pmichaud is around.
jnthn oh hai I just read on Twitter that Perl 6 is has releaes in December?! \o/ 10:39
;-)
masak wow! that's great! 10:40
:P
10:40 pnate joined 10:44 _madmax_ left
sorear out. 10:54
bbkr rakudo: say ::$1 # what does double colon as prefix do in Rakudo? STD doesn't parse it. 10:57
p6eval rakudo e45bf6: OUTPUT«===SORRY!===␤ResizablePMCArray: Can't pop from an empty array!␤»
bbkr but in Rakudo it's runtime error
10:59 ruoso left
jnthn rakudo: say "parsed"; say ::$1 10:59
p6eval rakudo e45bf6: OUTPUT«===SORRY!===␤ResizablePMCArray: Can't pop from an empty array!␤»
jnthn No, it's a parse-time error 11:00
Just not a very good one.
bbkr jnthn: thanks. I'll create "LTA error message" ticket
jnthn Thanks. :-) 11:02
11:03 pmurias left
bbkr I'm watching your YAPC signatures talk. are slides available for download somewhere? video is too blur to read'em. 11:03
jnthn www.jnthn.net/papers/2010-yapc-eu-signatures.pdf
bbkr jnthn: thanks! 11:04
11:14 blixtor joined
blixtor hi, quick question. Why does perl6 -e "sub foo { my $s = 0 }" complain about Malformed my at line 1, near "= 0 }"? 11:15
11:17 oyse joined 11:18 lest_away is now known as lestrrat
huf rakudo: sub foo { my $s = 0 } 11:18
p6eval rakudo e45bf6: ( no output )
huf blixtor: where?
blixtor huf: executing from the command line 11:19
huf: calling perl6 binary with -e option
huf doesnt complain for me
blixtor is using rakudo-star-2010.07
huf me too 11:20
2010.07-47-g9fd5eaa
jnthn Platform?
blixtor ubuntu 10.04
it works fine if I put it in a file
gfldex blixtor: try 'echo "i has a $s"' in your terminal :) 11:22
huf oh POOP :D
yeah, of course it complains if you put it in "" :)
blixtor yeah, I just realised that 11:23
d'oh
jnthn :-) 11:25
blixtor that's what you get when you come from a different problem and try to simplify ...
masak no, that's what you get when you come from a different problem, try to simplify, and inadvertently change the problem in the process. 11:28
there's a difference there.
blixtor agreed, I didn't simply very successfully, as the simplification was supposed to still show the problem and not introduce a new one 11:29
now to my original point
perl6: sub foo { my $s; for 1..3 { $s += $_ } } ; say foo()
p6eval rakudo e45bf6: OUTPUT«666␤» 11:30
..pugs: OUTPUT«␤»
blixtor what is the rationale for this returning '666'
jnthn We embeded the devil in Rakudo.
Also, for in Perl 6 is just a synonym for "map" 11:31
blixtor and it's leaking from time to time, I see ;)
jnthn So you're doing something like
(1..3).map: { $s += $_ }
Which returns $s since that's the last thing you touched
blixtor ahh, ok, that explains the difference to perl5, which doesn't return anything
jnthn So you end up with a list with $s in it 3 times
Yes, it's a difference from Perl 5. 11:32
blixtor thanks
masak why doesn't that return 136, though?
that's what I'd expect.
sorear masak: because Rakudo map is rw
it's not supposed to be
masak submits rakudobug
it's in there, I'm sure.
sorear in theory, take should decontainerize 11:33
masak but it's nice to have this example on file.
sorear like return
masak aye.
jnthn erm
what?
We never returned or taked here
masak true.
which is why it's a different ticket, I now realize :) 11:34
sorear jnthn: map is implemented using take
jnthn sorear: No.
sorear: Well, it *may* be.
sorear: But it certainly doesn't have to be.
takadonet morning all
jnthn (That is, nothing in the spec says it needs to be.)
morning, takadonet 11:35
masak someone with privs should disable the account 'tos1' on rakudo.org. its password just went out on p6c.
jnthn Anyway, it maybe should be decontainerizing somewhere here too
sorear jnthn: well, in any case, the same underlying LTA iscausing both
masak takadonet: \o
jnthn I'm just not sure where.
Anyway, a ticket does no harm and makes sure we don't forget the issue. 11:36
11:38 cozmic left
masak rakudo: my @a = 1, 2, 3; @a[1] := @a; say @a[1] 11:47
p6eval rakudo e45bf6: ( no output )
masak rakudo: my @a = 1, 2, 3; @a[1] := @a; say @a.perl
p6eval rakudo e45bf6: OUTPUT«maximum recursion depth exceeded␤ in 'Block::count' at line 5758:CORE.setting␤ in 'Block::count' at line 5762:CORE.setting␤ in 'Any::join' at line 1␤ in 'Array::perl' at line 2828:CORE.setting␤ in <anon> at line 2828:CORE.setting␤ in 'Any::join' at line 1␤ in
..'Array::perl' a…
jnthn You asked for it. :P 11:49
masak Data::Dumper handles this well. 11:50
.perl should be a built-in Data::Dumper.
moritz_ fwiw, we have a ticket for that already 11:51
masak we do indeed.
just being a bit jaffa4 about it.
sorear ooh talked to xdg and BinGOs on #toolchain@irc.perl.org, they're both +1 to #cpan6sketch
masak \o/ 11:52
sorear++ 11:54
12:01 envi^home joined
daxim unsolicited personal opinion: piggyback the existing infrastructure as much as possible - cpan6.org is a rewrite and ∴ a spolskian autofail 12:14
masak I think piggybacking is where most people's minds are headed. 12:15
moritz_ aye; re-use as much as possible
it seems the only working recipe to success is to get something running as soon as possible
and gradually improve from there
I plan to
A) teach proto to install from tarballs 12:16
masak :/
moritz_ B) investigate how to get p6 tarballs onto the existing CPAN
C) build some kind of search interface
masak hunkers down and finishes pls
moritz_ D) ... 12:17
jnthn pls do ;-)
moritz_ E) Profit
daxim D) would be metadata, then
jnthn +1 to re-using stuff that's already known to work
moritz_ daxim: I'm sure that all steps involve metadata, in some way
masak threatening to use proto because it works is both (a) sensible, and (b) a good way to get me to finish pls. 12:21
12:24 drbean joined 12:26 patrickas joined
masak hm. wonder if the answer to the recurring ruminations about a better, more built-in test syntax is to be found in a specialized very-close-to-p6 DSL? 12:27
like good science fiction, tweak just one thing. :)
patrickas Hello All,
RFC on series refactor code: gist.github.com/530674 :-) 12:28
12:29 blixtor left
moritz_ does it pass all the tests? 12:29
patrickas yap
moritz_ \o/
patrickas except one which I think is wrong
and it passes an extra fudges dozen of tests
plus a coupleo f cases with no tests
masak which one do you think is wrong?
patrickas let me check
masak did you write tests for those cases with no tests? :) 12:30
patrickas rakudo: use Tests; is (2, -4, 8 ...^ -32).join(', '), '2, -4, 8, -16, 32', 'exclusive alternating geometric series (not an exact match)';
p6eval rakudo e45bf6: OUTPUT«===SORRY!===␤Unable to find module 'Tests' in the @*INC directories.␤(@*INC contains:␤ lib␤ /home/p6eval/.perl6/lib␤ /home/p6eval//p2/lib/parrot/2.7.0-devel/languages/perl6/lib␤ .)␤» 12:31
patrickas this one
masak no ... not yet ... I'll have to understand the spec well enough first ... 12:32
masak you implemented something without understanding the spec first? :P
patrickas the (currently fudged) test expects 32 to be the last item
masak yes! :-)
moritz_ patrickas: I think it conforms to current spec, which says that sign-alternating series consider their limit only by absolute value
I might be wrong those 12:33
patrickas yes but since this is ...^ it should not return the limit
and if you take absolute value
it should not return 32
moritz_ oh, right
sorry, I mis-read
patrickas rakudo: say (1 ... {$_ == 5} ); 12:36
p6eval rakudo e45bf6:
..OUTPUT«(timeout)101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130…
oyse I am playing around with blizkost and the Configure.pl file requires Perl 5.10. Any reason for that? I just ran it with Perl 5.8.9 (by removing use 5.010;) and it seems to work just fine. 12:37
moritz_ oyse: does it also compile and test fine?
note that blizkost has some serious requirements on the perl5 it integrates with 12:38
oyse moritz_: yes
moritz_ wow, I'm amazed
patrickas masak: that's the case I am talking about, in the new code I pass the last item to the $limit which is Code and halt the series if it returns True... which is better than our current behaviour .... but I have no idea if that's spec or not ... so i'll have to read the spec on that add tests and implement it correctly.
bbkr rt.perl.org/rt3/Ticket/Display.html?id=66152 - this ticket still has no "closable point" defined. and I'm not sure if we should test against used memory amount after all, since this will be platform-dependent and there is no threshold which is considered correct. 12:39
oyse Running on a Ubuntu Hardy machine it seems to compile and test just fine.
moritz_ bbkr: just because it's not testable right now doesn't mean there's no point to the ticket 12:40
oyse: I'm not really into blizkost too much... maybe jnthn or sorear know 12:41
pmichaud good morning, #perl6 12:47
phenny pmichaud: 10:37Z <moritz_> tell pmichaud please review the release_guide branch on github, and merge (or cherry-pick) if you approve
moritz_ good morning pmichaud
jnthn moning, pmichaud 12:48
*morning
patrickas hello pmichaud
12:49 ruoso joined
pmichaud moritz_: what's the significance of tagging before tarballing? 12:50
moritz_ pmichaud: so that the release knows its own version
pmichaud I don't understand. afaik, the tags aren't stored in the tarball. 12:51
moritz_ wait... I might have misunderstood how the --version thing works for releases anyway
so how does the tarball know its version?
pmichaud There *is* probably a step still missing from the guide -- one needs to update the VERSION file.
That's my omission/fault.
moritz_ ah 12:52
then I'll remove the branch
we should probably make another tarball with an updated VERSION file
masak morning, pmichaud
patrickas pmichaud: I made sub infinite-series as lazy as I could but the code is now a bit more complicated
pmichaud (re: for loops don't de-containerize) actually, I suspect it's the block that needs to de-containerize.
patrickas: making it lazy should probably simplify things, not make them more complex. 12:53
at least, that's what usually happens
masak today's autopun sighting: twitter.com/briandgregory/status/21660915729
gfldex might it be that a CPAN/Perl6-Module got more or less the same properties and raises the same questions then a distribution package like any .deb?
or shorter: do you try to reinvent the wheel?
moritz_ gfldex: .deb is for binary distributions, not for source distributions 12:54
12:54 fod joined
patrickas pmichaud: then I messed up :-( 12:55
pmichaud patrickas: I have been known to be wrong. :-)
gfldex moritz_: very true, there are source packages as well 12:56
moritz_ gfldex: yes, but they don't offer the same level of comfort as the binary .deb files 12:57
and they have some assumptions that don't hold true for Perl modules
pmichaud and iiuc they're quite unix/linux centric
jnthn pmichaud: So essentially we always de-containerize the result of a block?
moritz_ for example with .deb, you can declare all your dependencies 12:58
pmichaud jnthn: yes, unless the block/routine is declared "is rw"
moritz_ but how do you declare non-perl dependencies for perl modules in a portable way?
across different linux distributions, macos, windows and $other_weird_stuff 12:59
jnthn pmichaud: OK.
12:59 kaare_ left
patrickas pmichaud: The thing that complicated it for me was the need to ignore the last item in the array in some cases. Before I'd just copy the whole array, pop the last item if needed and work with it... now I have to work around not being able to touch the last item until I absolutely must. Anyways I guess I'll but colomon about it :-) 13:00
s/but/bug/;
moritz_ hm 13:01
maybe I misunderstand ...^
but I thought the difference was "execlude the item that comparse equal to the end point"
and not "remove the last element"
pmichaud moritz_: we're talking about the lhs
moritz_ so I don't see a need for the look-ahead
oh
pmichaud 1,2, { ... } ... $end 13:02
the lhs is 1,2,{...}
patrickas: if it makes it cleaner for now, I'd go with a copy then
patrickas pmichaud: I changed the code and have no problem with it ... I'm just not conformtable being the one to decide if what I did is right or messy or wrong!
pmichaud I suspect it's reasonable to say that the lhs gets evaluated a bit eagerly 13:03
(rule compositions): <+a+b> is [ <a> | <b> ] 13:05
<+a-b> is [ <!b> <a> ]
patrickas For comparision: gist.github.com/530674/a12bd656d0e...bdc955b56f line 61 VS gist.github.com/530674 line 63
pmichaud <-b> is [ <!b> . ]
13:05 timbunce joined 13:08 orafu left 13:09 orafu joined
pmichaud actually, more precisely: 13:09
<+a+b> is [ <.a> | <.b> ]
<+a-b> is [ <!b> <.a> ]
<-b> is [ <!b> . ] 13:10
13:10 oyse left
pmichaud (remake tarball with update VERSION) -- yes, that's probably a good idea. 13:12
moritz_ mathw: can you do that? or should I? 13:13
pmichaud I'm also okay with leaving it as-is, too.
jnthn: what's the desired way of detecting when a routine "is rw"? 13:14
moritz_ well, it'll make it harder to distinguish R*1 from R*2, no?
pmichaud moritz_: I can always fix it in the R* tarballs.
jnthn pmichaud: Do we need to know at compile time?
13:15 jhuni left
pmichaud jnthn: No, we don't *have* to know at compile time. 13:15
moritz_ pmichaud: ok, then I won't bother
jnthn pmichaud: OK, but will it be helpful to?
pmichaud might save a call.
13:15 molaf joined
pmichaud is there an easy way to find out at runtime? 13:15
jnthn pmichaud: Worth it then...since this is going to hit every single block exit...
Well, it'd be a trait so it'd be a .rw() call on the block in the ideal world.
PerlJam good $localtime #perl6 13:16
jnthn But it'd be nice to save that if we can.
13:16 molaf left
jnthn There is already some stuff in Actions.pm related to handling traits at compile time rather than emitting the loadinit application code. 13:16
frettled jani@knuth ~/prog/t2/rakudo >./perl7
bash: ./perl7: No such file or directory
Indeed.
jnthn Note taht when we have SCs we'll likely do all of them at compile time...
pmichaud compile-time traits handling is primarily on variables atm, yes? 13:17
frettled PerlJam: «good» is a nice keyword that so far is unused, what can we do about that? :)
jnthn pmichaud: yes, and parameters 13:18
pmichaud or do we handle "is export" at compile-time?
jnthn pmichaud: No, that is normal.
pmichaud no, I think that's load/runtime
okay.
PerlJam frettled: you'll have to talk to TimToady about that. :)
jnthn But I think I factored that lot to be general. 13:19
pmichaud jnthn: actually, I suspect that it may end up being a call anyway
bbkr rt.perl.org/rt3/Ticket/Display.html?id=73328 - is the error message awesome enough that it can be taken for tests? if so - what should be tested? simply eval_dies_ok or also check error message?
pmichaud so compile-time detection isn't going to be super helpful
jnthn pmichaud: OK
pmichaud so, if you or someone could get "is rw" working on blocks, I can handle the decontainerization :-) 13:20
jnthn pmichaud: What do you need?
pmichaud ...or does it work already? ;-)
jnthn pmichaud: just for the block to have an .rw method?
pmichaud rakudo: sub foo() is rw { ... };
p6eval rakudo e45bf6: OUTPUT«===SORRY!===␤No applicable candidates found to dispatch to for 'trait_mod:<is>'. Available candidates are:␤:(Mu $child, Role $r)␤:(Routine $r, Any :default($default)!)␤:(Code $block, Any $arg?, Any :export($export)!)␤:(Mu $child, Mu $parent)␤:(Mu $type where ({ ... }), Any
..:rw($rw)…
jnthn oh, easy
pmichaud then how do I determine that &foo "is rw" 13:21
check for "can('rw')"?
jnthn rakudo: our multi trait_mod:<is>(Routine $r, :$rw!) { #`set rw` }; sub foo() is rw { ... };
p6eval rakudo e45bf6: OUTPUT«===SORRY!===␤Alphanumeric character is not allowed as a delimiter at line 22, near "set rw` };"␤»
13:21 timbunce left
jnthn rakudo: our multi trait_mod:<is>(Routine $r, :$rw!) { #(set rw) }; sub foo() is rw { ... }; 13:22
p6eval rakudo e45bf6: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
jnthn rakudo: our multi trait_mod:<is>(Routine $r, :$rw!) { say "ok" }; sub foo() is rw { ... };
p6eval rakudo e45bf6: OUTPUT«===SORRY!===␤Could not find sub &say␤»
jnthn ffs
pmichaud rakudo: our multi trait_mod:<is>(Routine $r, :$rw!) { #`(set rw) }; sub foo() is rw { ... };
p6eval rakudo e45bf6: ( no output )
jnthn Right
pmichaud rakudo: our multi trait_mod:<is>(Routine $r, :$rw!) { #`(set rw) }; sub foo() is rw { ... }; say &foo.can('rw');
p6eval rakudo e45bf6: OUTPUT«␤»
pmichaud rakudo: our multi trait_mod:<is>(Routine $r, :$rw!) { #`(set rw) }; sub foo() is rw { ... }; say ?&foo.can('rw');
p6eval rakudo e45bf6: OUTPUT«0␤»
jnthn pmichaud: You could have an attribute $!rw in Code and have a private method that sets that
pmichaud oh, and the trait sets it? 13:23
jnthn pmichaud: You could do it by mixing in a role too that overrides rw with something that returns true
pmichaud: Yeah.
pmichaud which is better?
jnthn pmichaud: Attr is way cheaper than the role mix-in.
pmichaud then attr is what we do :-)
jnthn Like, *way* cheaper ATM.
We're missing an optimization right now.
mathw Version update? I'm sure that wasn't in the release_guide.pod
jnthn That'd make this cheaper.
So go attr.
pmichaud mathw: I'm sure it wasn't also.
mathw Thus it's not my fault 13:24
pmichaud mathw: that's entirely my fault.
mathw :P
moritz_ "yehova, yehova"
pmichaud votes: re-do the tarball, or leave it as is?
moritz_ [X] don't care
mathw that depends
jnthn pmichaud: Just get it right for the Star release.
pmichaud okay, will get it right for Star.
mathw if it's going to be in Star in its current form, that's bad
pmichaud No, it'll definitely be correct in Star. 13:25
mathw yes, get it right for Star
jnthn We're not encouraging people to use the compiler releases.
pmichaud okay.
jnthn Well, not most people.
pmichaud I have to take care of a couple of things here, then will fix the release guide.
mathw pmichaud++
[particle] what about doing a point release for the rakudo compiler, and using that in star?
moritz_ well, who would use those? developers build from source, end users build the 'star' distri
13:26 jferrero joined
[particle] there's no 'failure' here, mistakes and bugs happen, and there is a process in place to create a release. 13:26
13:26 uniejo left
[particle] it's not a lot of work, either. 13:26
pmichaud packagers use the tarballs 13:27
[particle] yes, you'd need to create a new tarball
pmichaud I'm inclined to not create a new tarball this time. I think it invites more questions than it answers.
[particle] if your intent is to use a rakudo compiler release inside the star distro...
pmichaud clearly I can use a release and "patch" it for the distro. Happens all the time in packaging. 13:28
[particle] if you're not that concerned about using the compiler release...
yes, i suppose the simplest thing to do is fix the thing people are likely to use
and chalk this bug up to a learning experience.
pmichaud if/when we have more people creating distros from the tarballs, I'd be inclined to create a patched release. 13:29
[particle] aye, that's a fair point
i know i've made mistakes in parrot releases, and uploaded fixed tarballs to cpan (back in the day... 0.4.13 maybe?) 13:30
back then, we didn't have the cover of a distro to hide behind ;)
[Coke] I think a good indicator might be "if someone files a bug report" 13:38
(what was the bug?)
13:40 agentzh left 13:47 Holy_Cow joined
patrickas " The compiler may complain if it sees anything on the right that is not a literal " how does the compiler "complain" ? 13:49
ingy mornings
masak ingy! \o/
jnthn patrickas: Checking if the LHS node is a PAST::Val would probably do it. 13:50
er, RHS 13:51
patrickas jnthn ... I did the check ... I don't know how to "complain" officially ? does it mean warn ? fail ?
print message to stderr ? 13:52
moritz_ complain = die
PerlJam patrickas: fail "Aaaiiiiggghhh"; # :-)
moritz_ if you do it in the actions, $/.CURSOR.panic($mesage)
ah no, runtime
patrickas fail will do fine .... I was just confused with the terminology :-) 13:53
Thanks moritz_ PerlJam && jnthn :-)
13:54 amkrankruleuen joined
ingy masak: :D 13:54
patrickas Or in #perl6 parlance PerlJam++ moritz_++ jnthn++ :-)
ingy is busy hacking in patch' living room in Cambridge ME 13:55
MA
patrickas ME is where I am!
ingy :D
masak: we need to work on that new yaml parser soon! 13:56
13:56 snarkyboojum_ joined
masak ingy: agreed. I haz an exam on Tuesday. after that, I'm a free man again. 13:56
ingy masak: I am free after Aug 28
masak good, then after that.
13:56 snarkyboojum_ left
ingy maybe a week from tomorrow 13:57
I get back to Seattle on 27th
bbkr rakudo: class Bool::True::X { method foo {say 666}}; say 1 ~~ Bool::True::X # this looks wrong, isn't it?
p6eval rakudo e45bf6: OUTPUT«===SORRY!===␤Smartmatch against True always matches; if you mean to test the topic for truthiness, use :so or *.so or ?* instead at line 22, near " Bool::Tru"␤»
pmichaud std: say 1 ~~ Bool::True::X 13:58
13:58 perlygatekeeper joined
p6eval std 32068: OUTPUT«===SORRY!===␤Undeclared name:␤ 'Bool::True::X' used at line 1␤Potential difficulties:␤ Smartmatch against Bool::True always matches; if you mean to test the topic for␤ truthiness, please use :so or *.so or ?* instead at /tmp/l1KaAzeiOi line 1:␤------> 13:58
..say…
pmichaud feel free to file a std bug :)
13:58 Italian_Plumber joined
bbkr pmichaud: at RT queue or there is some separate place for STD bugs? 14:00
pmichaud RT queue is the only place I'm aware of atm.
moritz_ or use phenny to tell TimToady
masak the latter seems more effective to date. 14:01
moritz_ btw I'm spectesting a build of rakudo 2010.08 but with corrected VERSION - should I upload if all tests pass?
bbkr how do I use phenny?
pmichaud moritz_: sure
moritz_ phenny: tell bbkr like this
phenny moritz_: I'll pass that on when bbkr is around. 14:02
bbkr test
phenny bbkr: 14:01Z <moritz_> tell bbkr like this
bbkr aye :)
masak moritz_: why is the common practice never to do that? honest question.
moritz_ masak: never to do what?
masak re-upload on the same spot.
ingy masak: join #ingy
moritz_ to avoid confusion
masak I've only seen re-releases.
pmichaud because some people may have already copied the tarball 14:03
[Coke] RT "Internal server error"
pmichaud and perhaps made sha1sums of what they expect
in general, tarballs and releases ought to be immutable :-)
moritz_ should I upload as 2010.08-1 or so?
pmichaud 2010.08.01
or -1 might be okay 14:04
moritz_ it's not on the 1st August...
which 2010.08.01 looks like, for a German at least
pmichaud packaging systems have trouble with hyphens in version numbers
(e.g., .rpm)
14:04 daxim left
moritz_ then I'll use -01 anyway 14:04
[Coke] I would go with A if you can't put punctuation in there.
pmichaud it's more that .rpm reserves hyphen to mean something different. 14:05
PerlJam "2010.08-1" is version 2010.08 patch 1
bbkr phenny: tell TimToady that "class Bool::True::X{}; 1 ~~ Bool::True::X" on STD returns message about Smartmatch against True while it should pass as this is just regular smartmatch type check.
phenny bbkr: I'll pass that on when TimToady is around.
pmichaud PerlJam: I think .rpm might have trouble with that. 14:06
14:06 thebird left
pmichaud anyway, "-1" and not "-01" 14:06
moritz_ we can also use .1
that way it's harder to confuse it with a date
pmichaud I'm okay with .1, I think. 14:07
moritz_ and we don't plan to make >8 further point releases :-)
pmichaud sure, use .1
if we make more than 8 point releases in a month, we're doing something very wrong.
(actually, if we make more than 8 point releases off of a single release, we're doing something very wrong :-) 14:08
PerlJam repeatedly!
14:10 lucs joined
moritz_ github.com/rakudo/rakudo/downloads 14:12
done
14:13 drbean left
bbkr moritz++ 14:16
masak just got opped on #ingy :) 14:24
14:24 jferrero left
moritz_ rakudo: sub f {}; my $x := &foo; $x = 42; say "alive" 14:27
p6eval rakudo e45bf6: OUTPUT«Could not find sub &foo␤ in main program body at line 22:/tmp/BxUffGGnra␤»
moritz_ rakudo: sub f {}; my $x := &f; $x = 42; say "alive"
p6eval rakudo e45bf6: OUTPUT«Cannot modify readonly value␤ in '&infix:<=>' at line 1␤ in main program body at line 22:/tmp/k4kvMA7U7r␤»
moritz_ rakudo: ␤␤␤2 = 4 14:31
p6eval rakudo e45bf6: OUTPUT«Cannot modify readonly value␤ in '&infix:<=>' at line 1␤ in main program body at line 22:/tmp/0lGoD51sBE␤»
moritz_ anybody else finds the "at line 1" confusing?
[Coke] moritz_: ... isn't everything in an evalbot line on line 1? 14:32
moritz_ [Coke]: no; ␤ is translated into a newline
[Coke]: and besides, p6eval adds a prelude to all rakudo programs anyway 14:33
rakudo: die ''
p6eval rakudo e45bf6: OUTPUT«Died␤␤ in main program body at line 22:/tmp/sdVxQR2g19␤»
moritz_ so the actual program starts at line 22
[Coke] hokay. probably easier to be confused with a .p6 file. 14:34
jnthn moritz_: It's an artefact of infix:<=> not being in the setting. 14:38
moritz_: It's kinda crappy
moritz_: I can probably just get it not to print a line number if we hit an error in the PIR built-ins.
moritz_ jnthn: I'll experiment with making it invisible, and saying "in assignment"
pmichaud doesn't it just need to look for a non-existent 'line' annotation? 14:39
jnthn That's also an option.
pmichaud: Well, I think it is finding one somehow.
Dunno how.
pmichaud it's finding a 'line 1'?
moritz_ a PIR line number?
pmichaud could be because of the way that setting is interleaved with the builtins
jnthn pmichaud: I guess so. Don't ask me how. :-)
pmichaud: Right, something like that.
There's still some improvements to be had in that area overall.
moritz_ experiments with .annotate "invizible_frame" 1 14:40
pmichaud we could manually add some annotations to Compiler.pir
I'd rather change the "line" annotation than introduce a new one.
moritz_ we already have invizible_frame
masak jnthn: Twitter is over capacity again. probably your presentation being re-tweeted. 14:41
pmichaud can we at least spell it correctly, then? ;-)
jnthn pmichaud: :P
moritz_ can haz correct speling?
masak .oO( moritz_ has a 'z' surplus today )
dalek kudo: 7e966fa | moritz++ | src/Perl6/Grammar.pm:
don't carp on smart-matching against types that start with Bool::True::Something
jnthn masak: Hush, you'll make it a mame. :P
moritz_ masak: that one was copied&pasted 14:42
masak jnthn: a mame? is that something that only mammals have?
pmichaud moritz_: the <!before \w> isn't needed.
(in the Bool::True patch)
moritz_ pmichaud: ah right, covered by >>
pmichaud but we would need to check for hyphen or apostrophe
14:42 takadonet left
moritz_ indeed 14:43
pmichaud besides, having nested before's seems really.... evil.
moritz_ why?
pmichaud seems like there ought to be a much cleaner answer.
jnthn masak: no no, that's a *mane*
masak :) 14:44
moritz_ pmichaud: like not using the first <?before>, and calling the rule from a <?before> block? :/
[particle] on humans, it's called a mohawk
14:44 [synth] left
masak pmichaud: '...it's not ... (non-existent) 'take' that is failing...' -- negation win! 14:44
pmichaud masak: :-) 14:45
14:45 takadonet joined
moritz_ pmichaud: maybe parse a longname, and compare that to Bool::{True,False} ? 14:46
pmichaud moritz_: yeah, something like that, maybe. but doing that starts to get kind of expensive. 14:47
we want something that can be falsified quickly when the rhs is not True/False 14:48
so, perhaps:
jnthn <?before 'Bool::'? [True|False] \s* '{'> # moze byt
Oh wait, it's more smart-matching generally, not just given/when?
pmichaud jnthn: this gets called from ..... right
jnthn Ah, can't go on { then
pmichaud: Can we do it at AST level, I wonder... 14:49
*do it easier at...
pmichaud jnthn: syntactic is probably better
just a sec
moritz_ hm, supposed to be a syntactic distinction
jnthn pmichaud: It's certainly more ideal, I agree.
moritz_ "ideal" and "optimal" are adjectives of which comparatives don't make much sense 14:50
pmichaud ahhhh 14:51
how about
<?before 'Bool::'? True && <.longname> >
moritz_ is && in regexes implemented? 14:52
pmichaud it can be
but that's a much better solution than the others
i.e., it matches only when <.longname> is exactly 'Bool::True' or 'True'
and doesn't call <.longname> at all if we don't have one of those two as a prefix 14:53
14:53 thebird joined
moritz_ +1 14:54
if you're the one who implements && :-)
pmichaud until && can be made to work, I'd prefer keeping the solution simpl-ish (even if incorrect in the extremely-unlikely-cases)
I suspect I can do && w/o too much difficulty. 14:55
it's just like alt, only different. :-)
er, ||
moritz_ I can revert that commit later on (when I have a clean working directory again)
pmichaud I'm fine with it for now; I'd like a comment that proposes the && answer instead, though. 14:56
moritz_ ok
pmichaud (looking at nqp-rx source) jeepers, is the code for '||' really that short? hmmmmm 14:57
14:57 [Coke] left
moritz_ well, && also needs to check lengths 14:58
pmichaud that's actually pretty easy in the current code I have
I think I can do this... quickly.
moritz_ hm, ? won't backtrack in a rule 14:59
or does it?
moritz_ hasn't wrapped his head entirely around backtracking control
pmichaud ? by itself won't backtrack in a rule 15:00
say ?( 'abc' ~~ rule { a? abc } ) 15:01
rakudo: say ?( 'abc' ~~ rule { a? abc } )
p6eval rakudo e45bf6: OUTPUT«0␤»
pmichaud rakudo: say ?( 'abc' ~~ regex { a? abc } )
p6eval rakudo e45bf6: OUTPUT«1␤»
moritz_ so will <?before 'Bool::'? True && <.longname> > work without backtracking? 15:02
pmichaud why would it need backtracking?
moritz_ because 'True' doesn't match 'Bool::' ?
pmichaud backtracking occurs after a match 15:03
in this case, Bool:: never matches, so there's no backtrack required.
moritz_ so :ratchet doesn't imply ?: ?
pmichaud it does imply ?:
but that's not an issue
rakudo: say ?( 'abc' ~~ regex { a? bc } )
p6eval rakudo e45bf6: OUTPUT«1␤»
pmichaud rakudo: say ?( 'bc' ~~ regex { a? bc } )
p6eval rakudo e45bf6: OUTPUT«1␤»
pmichaud oops, rule 15:04
rakudo: say ?( 'abc' ~~ token { a? abc } )
p6eval rakudo e45bf6: OUTPUT«0␤»
pmichaud rakudo: say ?( 'abc' ~~ token { a? bc } )
p6eval rakudo e45bf6: OUTPUT«1␤»
pmichaud bah, here:
rakudo: say ?( 'Bool::True' ~~ token { 'Bool::'? 'True' } ) 15:05
p6eval rakudo e45bf6: OUTPUT«1␤»
pmichaud rakudo: say ?( 'True' ~~ token { 'Bool::'? 'True' } )
p6eval rakudo e45bf6: OUTPUT«1␤»
pmichaud it's fine. :-)
rakudo: say ?( 'True' ~~ regex { 'Bool::'?: 'True' } )
p6eval rakudo e45bf6: OUTPUT«1␤»
moritz_ ah, a quantifier does try until it finds something, but won't try a second time (under :ratchet) 15:07
pmichaud right, it's greedy
under ratchet, once it can no longer match, it doesn't backtrack
so, ?: tries to match one time, but if it can't match at all, that's okay too 15:08
if it does match one time, it won't go back and try again with zero
15:09 ash_ joined 15:16 dual joined
dalek kudo: 7b00312 | moritz++ | src/Perl6/Grammar.pm:
add a parsing comment, as advised by pmichaud++
15:17
15:20 sftp joined 15:21 ash_ left 15:24 justatheory joined 15:33 alester left
masak rakudo: sub greet($person) { say "OH HAI, $person!" }; "jnthn".&greet 15:39
p6eval rakudo e45bf6: OUTPUT«OH HAI, jnthn!␤»
masak I hadn't realized you could do this.
jnthn :-) 15:40
masak basically it's a way to use subs as faux methods.
jnthn Sure you can.
Yes.
15:40 PZt joined
jnthn Why you'd wnat to do it, is left for you to justify though. :P 15:40
masak it's convenient in map blocks, for example.
jnthn example? 15:41
masak trying to think of a sub that isn't also a method.
jnthn oh wait, *.&foo
?
masak aye.
jnthn lol!
That's...wonderful. :P
15:41 alester joined
masak you see, you like it too :) 15:41
alester Never discount the value of indirect PR: www.pcworld.com/businesscenter/arti...pport.html 15:42
masak alester++ 15:44
PerlJam alester++
jnthn alester++ # nice 15:45
alester Thanks
I didn't contact the guy.
You just make some noise, sometimes people hear it.
15:46 [Coke] joined, wamba left
TimToady is also surprised by .&foo, but sees how it happened, and is pleased that the design of Perl 6 is sometimes more orthogonal than his brane 15:50
phenny TimToady: 14:05Z <bbkr> tell TimToady that "class Bool::True::X{}; 1 ~~ Bool::True::X" on STD returns message about Smartmatch against True while it should pass as this is just regular smartmatch type check.
masak TimToady: lol 15:51
15:54 risou joined
moritz_ alester: do you know how many visitors you got from pcworld? 15:54
15:54 sftp left
alester no, but I could guess 15:54
by looking at Google Analytics 15:55
no uptick in traffic 15:56
A BIG one on the 6th
but not yesterday
masak it's being tweeted, too: twitter.com/devseo/status/e5bfb6a1376fb47c 15:58
moritz_ what was on the 6th?
15:59 sftp joined
alester I dunno 16:01
When was Rakudo Star 16:02
I have spikes on the 4th and 6th and Jul 27
moritz_ Jul 29 iirc
masak you do rc
alester Spike on the 6th was for /2010/08/what-to-say-to-perl-6-isnt-perl-any-more.html 16:03
masak that one did get around a bit.
alester I dind't run anything on R* until a few days after the fact. 16:04
[Coke] masak that URL is bad?
masak [Coke]: (1) not a question, (2) which URL do you mean?
alester the twitter one above
masak oh 16:05
don't know why that is.
that's what my Twitter client reports.
16:06 foodoo left
masak twitter.com/devseo 16:06
16:06 Guest23195 joined
patrickas I get twitter.com/devseo/status/21674945321 16:06
16:12 tylercurtis joined
lue ohai o/ 16:15
moritz_ \o
jnthn hellue 16:16
16:16 justatheory left
masak lue.&hello; 16:17
lue .rnd(if printf is just print with formatting, why is there not sayf ?) 16:18
masak lue: you're not the first one to have that thought. 16:19
pmichaud lue: because one can easily put \n into the format string...?
masak lue: let's just say I'd rather have a language without &sayf predefined :)
moritz_ because printf() is only a convenience for perl5 and C programmers who haven't got the hang on .fmt, really
masak pmichaud: that's an argument against &say too. you can easily put "\n" into the argument list. 16:20
moritz_ masak: there's a difference
masak tell quickly, I'm leaving! :)
moritz_ masak: printf always has a format, so 99% of all cases it has a string literal anyway
you're dimissed :-)
pmichaud ...what moritz_++ said. 16:21
masak even in the cases where print has a single string argument, I'm happy to not have to append the \n :)
16:21 masak left
moritz_ say() is very good for cases like 16:21
say join ',', 1, 2, 3
where you have to get the precedence/parenthesis right if you use "\n"
say join ',', 1, 2, 3, "\n"; # not what I want 16:22
erm, s/say/print/
sbp rakudo: print join ',', 1, 2, 3, "\n"; 16:25
p6eval rakudo e45bf6: OUTPUT«1,2,3,␤»
lue Alright. I prefer .fmt anyway :) [although sayf would be one of those fun-to-say commands]
moritz_ rakudo: use Test; dies_ok { {...}.() }, 'stub code dies' 16:26
p6eval rakudo e45bf6: OUTPUT«ok 1 - stub code dies␤» 16:27
pugssvn r32069 | lwall++ | [STD] handle 'when Bool::True::X', which is a completely silly thing to say
moritz_ rakudo: use Test; dies_ok { ... }, 'stub code dies'
p6eval rakudo e45bf6: OUTPUT«ok 1 - stub code dies␤»
pmichaud maybe 'sayf' should be 'saith', and 'printf' could be 'printh" :-P 16:28
16:28 molaf joined
lue
.oO(printh tharming!)
16:28
16:29 barika left 16:35 barika joined 16:38 nadim left 16:53 Trashlord joined
[particle] though.?saith('what') 17:06
s/gh/
grr. 17:07
dalek ok: 27283c6 | moritz++ | lib/book.sty:
be more explicit about our contributors
17:08
[Coke] lib/pig.sty 17:09
17:10 dakkar left, justatheory joined
tylercurtis ingy: I've been getting distracted from working on YAML by metamodel thinking and prototyping, but if you or masak want to work on it at some point, let me know and I'll take off my Bennu hat and put on my parser hat. 17:10
moritz_ fwiw, I've uploaded A4 and letter snapshots of the book to the download section on github 17:16
pmichaud gist.github.com/540747 # && now works in nqp
PerlJam moritz_++
moritz_ I've called them "snapshot" and not "release", because I'm too lazy to do a proper release announcement
pmichaud moritz_: snapshot +1
17:18 thebird left, amkrankruleuen left
moritz_ I can only encourage people to work on the book. It really needs love, and we need to give it to chromatic at some point. 17:19
pmichaud I can work on it this weekend, especially now that I can build the book again. :-) 17:20
PerlJam I don't think it's anywhere near as polished as it should be for chromatic to publish it. :(
moritz_ indeed
[Coke] moritz_: unintentional innunedo ftw.
jnthn [Coke]: :P 17:21
17:39 smash_ left 17:45 jaldhar left 17:47 Chillance joined 17:53 nimiezko joined 17:55 plainhao joined
pugssvn r32070 | kyle++ | [t/spec] Fix pid.t (test passed because of a bug) 18:17
18:18 Mowah joined 18:19 Mowah left, Mowah joined 18:26 molaf left
dalek p-rx: 8788740 | pmichaud++ | src/Regex/P6Regex/ (2 files):
Add parsing for &&.
18:30
p-rx: 41267b0 | pmichaud++ | / (2 files):
Add && conjunctions to regexes.
p-rx: 253aeeb | pmichaud++ | src/stage0/ (4 files):
Update bootstrap.
TimToady ooh, I've found a rakudo bug of some sort or other 18:33
rakudo: my @fib := (1,1, *+* ... *); say @fib[8]; @fib[8] = 100; say @fib[9];
p6eval rakudo 7b0031: OUTPUT«34␤55␤»
moritz_ I thought the spec doesn't force completely lazy evaluation?
TimToady I suppose not 18:34
rakudo: my @fib := (1,1, *+* ... *); say @fib[2]; @fib[8] = 100000000; say @fib[9];
p6eval rakudo 7b0031: OUTPUT«2␤55␤» 18:35
TimToady rakudo: my @fib := (1,1, *+* ... *); say @fib[2]; @fib[8] = 100000000; say @fib[40];
p6eval rakudo 7b0031: OUTPUT«2␤165580141␤»
pmichaud @fib[8] should probably be an error
TimToady that's what I thought
pmichaud i.e., @fib[8] = .... should probably say "unable to assign to readonly value..."
I suspect that's the lack-of-decontainerization showing up again.
TimToady I just wonder what it's actually doing
pmichaud it's assigning to some temporary lexical that isn't being used for anything, in all likelihood. 18:36
TimToady ah
pmichaud rakudo: my @fib := (1,1, *+* ... *); say @fib[2]; @fib[8] = 4; say @fib[8]; 18:37
p6eval rakudo 7b0031: OUTPUT«2␤4␤»
pmichaud yeah, it's assigning to a temporary container that isn't being held in the @lhs
TimToady and I guess we haven't implemented lazypush yet
moritz_ is it even specced? :-) 18:41
18:42 nimiezko left
TimToady is there a better name than lazypush? 18:43
18:44 envi^home left
TimToady my @fib .= more(1,1,*+*...*); # maybe 18:45
as in, here's what to do when the array wants more
it's not a verb though 18:46
.supply
pugssvn r32071 | coke++ | [syn] Fix spelling error.
TimToady .append .add .specify
pmichaud .pushmore 18:47
sorear moritz_: Please don't discuss CPAN6 *now* :(
moritz_ sorear: why not? I've always been discussing it when somebody asked 18:48
sorear gfldex: Please do not discuss CPAN6 here and now, I'm seting up a meeting for a *reason*
pmichaud pmichaud@plum:~/rakudo$ ./perl6
> say 1 ~~ Bool::True;
Smartmatch against True always matches; if you mean to test the topic for truthiness, use :so or *.so or ?* instead at line 1, near " Bool::Tru"
[Coke] to stifle conversation? =-)
pmichaud > say 1 ~~ Bool::True::X;
Can not find sub Bool::True::X
> say 1 ~~ Bool::True-bar
Can not find sub Bool::True-bar
> say 1 ~~ True-foo
Could not find sub &True-foo
TimToady std: say 1 ~~ Bool::True::X; 18:49
p6eval std 32070: OUTPUT«===SORRY!===␤Undeclared name:␤ 'Bool::True::X' used at line 1␤Check failed␤FAILED 00:01 116m␤»
moritz_ std: class Bool::True::X { }; 1 ~~ Bool::True::X;
p6eval std 32070: OUTPUT«ok 00:01 116m␤»
sorear pmichaud: Are those equivalences exact to the point of LTM?
pmichaud sorear: I don't understand the question 18:50
I was just testing Rakudo's use of && to match against Bool::True 18:51
I see that STD.pm6 now looks for a space.
TimToady which will miss some cases occasionally
pmichaud I was just trying [ 'Bool::True' && <.longname> ] 18:52
TimToady should probably looks for a few other delimiters
oh, duh
pmichaud well, actually 'Bool::'? 'True && <.longname>
*'True' 18:53
TimToady it probably wants to be a semantic check at the reduce, actually
pmichaud ah, jnthn++ suggested that also
anyway, this prompted me to get && working in regexes again, so that's a bit of a win. :) 18:54
dalek p-rx: b139200 | moritz++ | / (2 files):
[setting] implement split(), mostly stolen from partcl-nqp, Coke++
pmichaud > '0123456789' ~~ / \d+ && ..5 /
345
> '0123456789' ~~ / 3.* && .*7 / 18:55
34567
sorear pmichaud: the question was re. 1309UTC 18:57
pmichaud sorear: ah. I just know that's how role compositions are defined. 18:58
I haven't thought about their ltm impacts at all.
sorear What do role compositions have to do with that?
pmichaud sorry, rule compositions
wrong vowel
18:59 KyleHa joined
KyleHa Hello #perl6. 18:59
sorear ah.
18:59 eric256 joined, sftp left
KyleHa Is there a Moritz in attendance? 19:00
eric256 hey, from a been here and there and gone on and off stand point, it would be realy cool if the rakudo star release info pointed to examples for its feature list
19:00 mberends joined 19:03 KyleHa left
eric256 just a thought in case no one had mentioned it, love the release, very excited... 19:04
19:04 cono left
jnthn back from noms 19:05
pmichaud sorear: www.nntp.perl.org/group/perl.perl6....21120.html might help explain the character class arithmetic 19:06
19:06 sjn joined
sjn o/ 19:06
19:06 cono joined
sjn just tried to compile rakudo from git/svn, and got the following error message when running the executable: 19:06
PackFile_unpack: This Parrot cannot read bytecode files with version 8.1.
<- did a "make realclean" first, but that didn't make any difference 19:07
pmichaud sjn: when parrot has a new release, it changes what it looks for in the bytecode files
and "realclean" doesn't always catch everything
jnthn TimToady: (lazypush) I think .plan was also suggested at one point.
mberends \o jnthn, tonight after a busy week of C# and VB.NET, I'm relaxing by porting more bits of 6model to Java :)
pmichaud generally I start by removing the parrot and parrot_install subdirs and starting afresh
[Coke] are you using a locally installed parrot?
jnthn mberends: Awesome \o/
[Coke] "what pmichaud" said.
sjn ok
jnthn mberends: Got some dobre pivo to go with that? :-)
sjn suggests fixing "make realclean" ;-) 19:08
pmichaud sjn: I'm not sure what part of realclean is broken to be able to fix it.
mberends jnthn: yes, a very cold full pint mug
pmichaud the Parrot error could be a bit more useful if it would at least tell us what file it's having trouble unpacking :-|
sjn how about just deleting all the bytecode files? :-P 19:09
that's the current "fix" anyway 19:10
jnthn mberends: mmmmm
pmichaud sjn: I don't even have a way of finding all of the bytecode files 19:11
sjn does parrot's Makefile have an idea? 19:12
tylercurtis sjn: not necessarily. I've gotten that error after deleting my entire parrot install and checkout before.
pmichaud sjn: I think parrot's Makefile is the one that may be not realcleaning 19:13
pugssvn r32072 | kyle++ | [Test::Util] reunite lonely variable with its purpose
pmichaud since I don't know which bytecode file is causing the issue... hard to say.
afaik Rakudo cleans up all of its .pbc files. There aren't that many.
ingy tylercurtis: re YAML, sounds good. 19:15
pmichaud anyway, I'll see if I can track the realclean bug down.
sjn awesome ^^
that would be a very n00b-friendly fix :)
sorear [Coke]: Fine, I give up. If there's going to be hostility, I won't push for #cpan6sketch anymore. 19:16
19:16 nadim joined
pmichaud sorear: I didn't detect any hostility intended in what Coke wrote. 19:17
it was more of a "normally we don't tell people they aren't allowed to talk about topics except at specified times"
our general philosophy is that people are able to contribute whatever/whenever they can.
moritz_ sorear: please don't stop pusing #cpan6sketch, just don't try to make it exclusive in some way 19:19
sorear ok. hmm.
19:19 tylercurtis left
sorear tries to figure out what his role in this is 19:22
dalek p-rx: 4d31c5b | moritz++ | t/setting/04-regex.t:
precedence fix for regex test, Coke++
19:23
pmichaud sorear: what are you wanting to achieve?
sorear pmichaud: achieve critical mass of knowledgeable and caring people 19:24
we've achieved critical mass of caring people before, but with insufficient knowledge
pmichaud I think the critical mass needs to be achieved in some implementations
maybe we need some knowledgeable people to get to that point
historically "perl 6 cpan" discussions have tended to lead into bikeshedding or ratholes, imo 19:26
so the challenge is to keep it from doing that
moritz_ aye
sorear pmichaud: I blame this on the lack of people with actual experience in such discussions 19:27
pmichaud sorear: ...except that as is the case with many bikeshed discussions, people argue it because they believe they have experience :-)
[particle] so, try to create one, and learn from the failures
don't call it cpan until it meets the requirements, whenever they're finalized 19:28
sorear pmichaud: the more direct reason is that Alias_ can't make #phasers due to timezoning
pmichaud sorear: that's a quite valid reason
19:29 plainhao left
sorear there was a little something in #p5p where the complaint was voiced that Perl 6 was ignoring the lessons of CPAN, and Alias_ volunteered to help fix that 19:29
pmichaud one can easily say "we're going to meet at xyz time to discuss perl 6 module management", but that's a far cry from saying "...and don't anyone else discuss it except then/there"
[Coke] (hostility) and certainly don't feel like you have to take any crap from me, even if I /am/ being hostile. which I wasn't trying to be, sorry. ;) 19:30
pmichaud fwiw, I agree that until now we haven't really looked at the lessons of CPAN. I think it's also critical that we not blindly adopt the assumptions of CPAN either :-)
sjn pmichaud: fwiw, if you want to get some of the #toolchain folks interested in Perl6 module management, then you should look into the perl-qa hackathon thing :)
Barbie told me there's a very good chance there will be another one next year 19:31
pmichaud sjn: I agree, it's just that the perl-qa hackathons are a bit far for me to attend.
I'd need to find a local representative, I suspect. masak++, moritz++, and mberends++ would be excellent folks to have there instead of me :)
sjn that would work too
having some of the core perl6 folks hanging out in #perl-qa or #toolchain might also be a good start... (there are quite a few people in that community that haven't seen the big point in caring about Perl6 yet, but by giving them some attention too they shouldn't be to difficult to "win over" :) 19:33
jnthn o/ sjn
moritz_ sjn: I've hung out in #toolchain for quite some time. It was rather boring. 19:34
sjn heya, jnthn :)
jnthn I should make it up to Oslo at some point. :-)
sjn moritz_: I know :)
jnthn: how does second tuesday in september sound for you? (got a green light from the NUUG board, so we'll reimburse travel/hotel :)
jnthn sjn: Let me check... 19:35
pmichaud it would probably be helpful for someone to write down a quick bullet list of what the "lessons of CPAN" are. :-)
sjn just haven't gotten around to mail you about it yet, :-P
pmichaud: you wish :)
sorear pmichaud: Or to put it another way, I'm looking to gather people who are qualified to list the "... all the things that need reinventing" part of te Perl 6 motto
jnthn sjn: That'd be the 14th?
pmichaud sorear: that's reasonable. If we just had a group that got together and said "this is what needs to be remembered" that'd be a great start. 19:36
jnthn sjn: Need to check with a couple of folks, I'll get back to you in the next few days.
sjn jnthn: yep, meeting is at 18:30 on the 14th
great
pmichaud when is the #cpan6sketch meeting expected? 19:37
19:37 fod left
sjn wonders if a pointed question + follow-up on the perl-qa mailing list might help 19:37
moritz_ Tue 16:00 UTC, iirc
pmichaud (I'd also be fine with it taking place in #perl6 or #phasers, but having a separate channel is okay too)
pmichaud adds it to his calendar. 19:38
anyway, I think the real answer to perl 6 module archive is to focus on "rough consensus and running code" 19:43
it's too early to do a spec.
jnthn +1
moritz_ indeed
pmichaud and if someone believes we should just be using CPAN as-is, then we need some modules to do that (which falls back to "rough consensus and running code") 19:44
19:57 sftp joined 20:01 Italian_Plumber left
pugssvn r32073 | lwall++ | [S32/Containers.pod] spec .plan as a lazy push 20:04
20:11 Italian_Plumber joined 20:12 colomon joined 20:13 justatheory left, justatheory joined 20:30 azert0x joined, azert0x left
moritz_ KyleHa++ # fixing my stuff 20:31
20:31 azert0x joined, azert0x left, azert0x joined 20:32 justatheory left, justatheory joined 20:34 spq1 left 20:46 patrickas left
alester wrote to the guy who wrote the vim article, asking about what made him write about the Perl stuff 20:48
"I found it completely at random in fact. I was trying to find more info about some of the features in vim and ran across your post--which was the only one that addressed the Perl angle, which really helped add some more weight to the story, news-wise."
20:48 jferrero joined
alester My reply: "Thanks for the background. Let me know if I can help you with any Perl news. Perl 6 is starting a big groundswell, and so many of its features have found their way back into Perl 5 and Perl 5 modules that it's a pretty cool time to be working with Perl." 20:48
The more press we can get, the better!
TimToady then maybe I should murder someone 20:50
pmichaud don't think that worked for Reiser 20:51
TimToady not terribly well, no
pmichaud although some of us are being accused of killing Perl 5 :-P
jnthn "And Perl 6's killer feature is..."
TimToady can't think of any likely candidates, in any case...
don't think I want to deny using steroids in front of Congress, either... 20:53
and it's too late to get famous for a Darwin award 20:54
pmichaud unless you killed all of your descendants :=) 20:55
then you'd get both :)
pugssvn r32074 | lwall++ | [S03] defined binding operators as parsing like list assignment 20:56
pmichaud \o/ 20:57
now if we could only get assignment to scalars to act like list assignment ... :-P
lue does this mean someone has to go back and change the := code? :=) 20:58
pmichaud lue: no, I suspect it confirms the := code that already exists.
Khisanth TimToady: but they would probably believe you if you were to deny using steroids in front of Congress :)
pmichaud rakudo: my $a := 1,2,3,4; say $a.WHAT;
p6eval rakudo 7b0031: OUTPUT«Int()␤»
pmichaud hmmm
guess not.
rakudo: my $a := (1,2,3,4); say $a.WHAT; 20:59
p6eval rakudo 7b0031: OUTPUT«Parcel()␤»
pmichaud probably ought to be Seq anyway
jnthn I guess the initial tweak is just changing the precedence, though?
lue rakudo: my @a = 1,2,3; my @b := @a; @b = 4,5,6; say @a; # let's see if it works!
p6eval rakudo 7b0031: OUTPUT«456␤»
pugssvn r32075 | lwall++ | [STD] Make := and ::= parse as list assignment as in new spec.
r32075 | Make [op]= actually parse according to the existing spec (that is,
r32075 | item assignment for op tighter than comma, list assignment otherwise)
pmichaud jnthn: yeah, move it to list assignment precedence, likely 21:00
TimToady actually, I've used a considerable number of steroids when I had eye troubles...
21:01 masak joined
masak ahoy, #perl6! 21:01
jnthn lolitsmasak! 21:02
mberends good weekend, masak
Tene ohaimasak
lue ohaimasak
masak jnthn: Google emailed me and said that I passed.
TimToady though my descendants have used more steroids than I have
masak jnthn: they also said, and I quote, "Please contact your mentor to discuss the results of your evaluation and to plan your goals and development plan for the rest of the program" 21:03
jnthn: I... didn't know there was a rest of the program :)
TimToady item assignment is unlikely to go away as long as we have to explain that defaults always parse like item assignment
masak jnthn: though I do plan to keep developing the bits that I wrote :)
jnthn masak: Yes, I was Cc'd in and thought just the same. :-)
masak: I hoped you would. :-) 21:04
masak++
masak jnthn: I think it's a thinko/fossil from midterms.
TimToady and I'm not too worried about people mixing them up once we get "Useless use of" warnings enabled
jnthn masak: I guess I'm only allowed to unofficially tormentor you now. :-)
masak mberends: I'd like to talk to you about a patch I got from oha. as the chief mainstream consumer of the code patched, you're likely to have some views on it. 21:05
TimToady unofficial torment can be worse...
plausable deniability, and all that...
masak jnthn: I'll miss the official tormenting a bit. it was, for lack of a better word, nice. :) thanks for mentoring me this summer. jnthn++
21:06 perlygatekeeper left
jnthn masak: Yes, aside from requiring me to trasport a power supply a thousand kilometers, you were a very good and competent student. :-) 21:06
masak jnthn: that had nothing to do with GSoC! :P
jnthn True. :P
masak jnthn: I want you to know that the power supply and I are very happy together.
jnthn masak: Ooh, next year you can take the Latvian power supply on a trip to its motherland too. \o/ 21:08
masak has trouble telling the two he has apart...
I'm in a bipowerous relationship. 21:09
jnthn *groan*
mberends: Ooh, I didn't noticed that you'd sneaked in a patch yesterday. :-) 21:13
mberends jnthn: it was only a tittle bittle patch :) 21:14
21:14 flyback is now known as krisskross
masak 'tiddle bittle'. :) 21:14
mberends masak: can we chat in about an hour?
21:14 krisskross is now known as flyback
masak oh, anytime. 21:14
just glad to see you online :) 21:15
jnthn mberends: Whoa.
mberends: The interface => abstract class refactor will make the reprs have a load less boilerplate in Java.
alester TimToady: If you kill all your descendents, then we'll have to hear about how we don't support inheritance.
mberends jnthn: are you changing KnowHOWBootstrap as well? 21:16
jnthn mberends: No, writing that ones hurt my brane enough.
Well, I mean, I have to write it for the Parrot port too I guess.
Oh well. :-)
But no, I don't plan to twiddle that one for now.
lue afk 21:17
jnthn mberends: It'll need to learn how to do gradual typing at some point.
That'll probably happen first on Parrot unless I find a good way to do the gradual typing in a non-bootstrapped environment.
21:18 tylercurtis joined
jnthn Or at least, one that doesn't compromise the good bits of unifying the compile time and runtime MOP. 21:18
jnthn digs into working out what on earth is up with enabling building a constant table for the NQPSetting. 21:21
masak I don't think Perl 6 has been "ignoring the lessons of CPAN" so much as not gotten to the point where paying attention to those lessons is an option. :) 21:23
jnthn oh lol 21:28
stupid bug is stupid. 21:29
21:29 Holy_Cow left
masak by the way, the "lions made of lions" ticket was closed today. jnthn++ [Coke]++ moritz_++ rt.perl.org/rt3/Ticket/Display.html?id=75644 21:31
jnthn \o/ 21:32
masak rakudo: role Lion[::T?] {}; class LionMaybeMadeOfLions does Lion[Lion[]] {}; say "alive"
p6eval rakudo 7b0031: OUTPUT«===SORRY!===␤Unable to parse def_module_name, couldn't find final ']' at line 22␤»
masak hm? 21:33
rakudo: role Lion[::T?] {}; class LionMaybeMadeOfLions does Lion[] {}; say "alive"
p6eval rakudo 7b0031: OUTPUT«===SORRY!===␤Unable to parse def_module_name, couldn't find final ']' at line 22␤»
[Coke] rakudo: role Lion[::T] {}; class LionMadeOfLions does Lion[Lion] {}
p6eval rakudo 7b0031: OUTPUT«===SORRY!===␤No applicable candidates found to dispatch to for '_block124'. Available candidates are:␤:(Mu ::T )␤␤»
masak that one is correct, IMO.
21:33 ruoso left
masak rakudo: role A {}; class B does A[] {} 21:33
p6eval rakudo 7b0031: ( no output )
masak rakudo: role A {}; class B does A[] {}; say "alive" 21:34
p6eval rakudo 7b0031: OUTPUT«alive␤»
masak rakudo: role A[] {}; class B does A[] {}; say "alive"
p6eval rakudo 7b0031: OUTPUT«alive␤»
masak rakudo: role A[::T] {}; class B does A[] {}; say "alive"
p6eval rakudo 7b0031: OUTPUT«===SORRY!===␤No applicable candidates found to dispatch to for '_block124'. Available candidates are:␤:(Mu ::T )␤␤»
masak rakudo: role A[::T?] {}; class B does A[] {}; say "alive"
p6eval rakudo 7b0031: OUTPUT«===SORRY!===␤Unable to parse def_module_name, couldn't find final ']' at line 22␤»
masak submits rakudobug
the Lion roars again!
TimToady std: role A[::T?] {}; class B does A[] {}; say "alive" 21:35
p6eval std 32075: OUTPUT«===SORRY!===␤Unable to parse generic role at /tmp/aQyIg_nsqM line 1:␤------> role A⏏[::T?] {}; class B does A[] {}; say "ali␤Couldn't find final ']'; gave up at /tmp/aQyIg_nsqM line 1:␤------> role A[::T⏏?] {}; class B does A[]
..{}…
masak ...or not.
TimToady I don't think that syntax is legal
std: role A[::T $?] {}; class B does A[] {}; say "alive"
masak I'm starting to suspect you're right...
p6eval std 32075: OUTPUT«ok 00:01 119m␤»
masak oh right.
TimToady you can't put ? on a type constraint, which ::T is parsed as
masak makes sense. 21:36
rakudo: role A[::T $?] {}; class B does A[] {}; say "alive"
p6eval rakudo 7b0031: OUTPUT«===SORRY!===␤In signature parameter, '$?', it is illegal to use '?' twigil at line 22, near "] {}; clas"␤»
masak submits this other bug instead :)
TimToady heh, STD's twigils require a following \w
masak rakudo: role A[::T $?] {} 21:37
p6eval rakudo 7b0031: OUTPUT«===SORRY!===␤In signature parameter, '$?', it is illegal to use '?' twigil at line 22, near "] {}"␤»
masak rakudo: sub foo(::T $?) {}
p6eval rakudo 7b0031: OUTPUT«===SORRY!===␤In signature parameter, '$?', it is illegal to use '?' twigil at line 22, near ") {}"␤»
TimToady std: role A[::T $ ?] {}; class B does A[] {}; say "alive"
p6eval std 32075: OUTPUT«===SORRY!===␤Unable to parse generic role at /tmp/ebqLcTOU42 line 1:␤------> role A⏏[::T $ ?] {}; class B does A[] {}; say "␤Couldn't find final ']'; gave up at /tmp/ebqLcTOU42 line 1:␤------> role A[::T $ ⏏?] {}; class B does
..A[]…
masak I agree; it's not a twigil unless there's something coming after it :)
TimToady interesting, doesn't allow space there 21:38
std: role A[::T []?] {}; class B does A[] {}; say "alive" 21:39
p6eval std 32075: OUTPUT«ok 00:01 119m␤»
masak o.O
what does []? mean? 21:40
TimToady beats me
jnthn ...I wonder what Rakudo would make of that. :-)
masak "the mystery box"
jnthn rakudo: role A[::T []?] {};
p6eval rakudo 7b0031: ( no output )
jnthn Great, it means something. :-)
rakudo: sub foo(::T []?) { }; say &foo.signature.perl
p6eval rakudo 7b0031: OUTPUT«:(Positional ::T ? ())␤»
jnthn Optional parameter that must unpack to an empty positional.
:-)
rakudo++ 21:41
TimToady I guess the first signature can stand in for the param_var 21:42
jnthn Oh, and we capture the type of it too
masak rakudo++
jnthn TimToady: I guess so. :-)
TimToady std: -> []? []? {...} # fail?
jnthn TimToady: Heh. It's great when the implemtation handles stuff you didn't think of when writing it. :-)
p6eval std 32075: OUTPUT«===SORRY!===␤Malformed block at /tmp/YbJoaXiMJf line 1:␤------> -> []? []⏏? {...} # fail?␤ expecting any of:␤ block␤ constraint␤ param_sep␤ signature␤ trait␤Parse failed␤FAILED 00:01 116m␤»
TimToady std: -> []? [] {...} # fail?
p6eval std 32075: OUTPUT«ok 00:01 116m␤»
TimToady std: -> *[] [] {...} # fail?
p6eval std 32075: OUTPUT«ok 00:01 116m␤»
jnthn std: -> []?, []? {...}
p6eval std 32075: OUTPUT«ok 00:01 117m␤»
jnthn hehe 21:43
"Signatures. They can be line noise too."
21:43 TiMBuS left, TiMBuS joined
TimToady std: -> [] () [] () --> [] {...} # fail? 21:43
p6eval std 32075: OUTPUT«===SORRY!===␤No type found after --> at /tmp/TmnP_uPIrR line 1:␤------> -> [] () [] () --> ⏏[] {...} # fail?␤ expecting any of:␤ name␤ type_constraint␤Parse failed␤FAILED 00:01 116m␤»
TimToady std: -> [] () [] () --> 42 {...} # fail? 21:44
p6eval std 32075: OUTPUT«ok 00:01 117m␤»
masak o.O
TimToady values may be used as types :)
someitmes
masak what have we done!?
TimToady *times
masak rakudo: -> []?, []?, []?, []?, []?, []?, []? { ... }
jnthn masak: Confirmed that Perl 6 is, indeed, still Perl. :-)
p6eval rakudo 7b0031: ( no output )
TimToady std: -> 24 *[] () [] () --> 42 {...} # fail? 21:45
p6eval std 32075: OUTPUT«ok 00:01 117m␤»
masak jnthn: it's line noise, but it's really classy line noise.
TimToady a function that is guaranteed to turn a Nil 24 into 42 21:46
jnthn Oh eurgh...constants of a type that you're in the proccess of bootstrapping are scary. :-)
TimToady: Useful! ;-)
masak jnthn: you know you brought this on yourself :)
jnthn: but do tell more about the scary, twisted parts :P
jnthn masak: See github.com/jnthn/6model/blob/master...Setting.pm and consider the 0 on line 6. :-) 21:47
masak: (Yes, actually running code, fwiw.) 21:48
masak looks
TimToady It's blue 21:49
masak jnthn: 0... is an NQPInt...?
masak swoons
jnthn masak: Well, no
masak oh phew.
TimToady just use +Set() instead 21:50
jnthn masak: It probably needs to become one though. :-/
masak: Because BootstrapInt is HOW-less
masak what do the arguments in nqp::equal_ints mean? I think I got the first two.
jnthn I wonder why I have that and if I can toss it somehow.
TimToady integers are implemented in terms of sets, aren't they?
jnthn The third is the type to box the argument into.
masak ahah.
jnthn TimToady: There's tormenting and there's cruelty. :P 21:51
TimToady plucks another leg off the jnthn++
jnthn masak: oh gah
masak TimToady: I'm done cleaning your ivory tower. you can climb back up now. :P
jnthn masak: I meant, the type to box the result into.
masak jnthn: that's how I interpreted you anyways.
TimToady Hey, where'd you put my set theory?!? 21:52
masak hid it
justatheory waves to TimToady
masak TimToady: ok, it's right under the New Math.
TimToady This is against union rules...
jnthn "Today on IRC goes on the road, we visit the exciting city of p6l!" 21:53
masak you theorists always grumble about everything.
jnthn OK, so what really happens if I try and make that 0 an NQPInt...
TimToady or the everything engine, in chromatic++'s case
masak jnthn: p6l, the legendary lost city!?
jnthn Oh my, the type universe imploded... 21:55
diakopter wesley saved it though. 21:58
tylercurtis jnthn: I have a question about KnowHOWBootstrapper.Bootstrap(). 22:01
TimToady sorear: actually, <isPc+xdigit> is a syntax error; a character classish thing may only start with +, -, or [
jnthn tylercurtis: oh no :-) 22:02
masak not according to that old email.
jnthn tylercurtis: Are you going to make me understand my own code? :-)
masak www.nntp.perl.org/group/perl.perl6....21120.html
jnthn tylercurtis: Go ahead. :-)
tylercurtis jnthn: What is KnowHOWMeths for? It appears that the only time it is used is when you loop through it, adding all the methods to KnowHOWHOW.Methods.
lue hai again
masak hai, lue 22:03
jnthn tylercurtis: It's because in the future it'll be used in another way. :-)
tylercurtis: To make it possible to implement KnowHOW.^.methods
tylercurtis: Alas, I don't have any way to do lists yet.
tylercurtis: There may turn out to be a better way, but that's the motivation for putting 'em in a dictionary.
(So they're available for that usage too.) 22:04
Basically, want to be introspectable all the way down. 22:06
TimToady masak: I don't see anything in there suggesting that <foo+bar> is legal
jnthn I'm not sure if it'll pan out needing to be that way though.
TimToady only <+foo+bar> and such
jnthn So maybe that code can be simplified some day.
masak it suggests <[abc]> is short for <+[abc]>.
<[abc]> is a character classish thing.
TimToady yes, but <foo> isn't short for <+foo>
tylercurtis Alright. Reading the code has been interesting. I'm probably going to steal your SharedTable design for Bennu. :)
TimToady since they have different argument parsing policies
masak TimToady: oh, true. I un-object.
jnthn tylercurtis: Yes, the STable bit I'm fairly happy with, apart from it needs an SC. 22:07
TimToady std: /<foo()>/; /<+foo()>/; # for instance
p6eval std 32075: OUTPUT«===SORRY!===␤Unable to parse metachar at /tmp/SNloF2kyNz line 1:␤------> /<foo()>/; /⏏<+foo()>/; # for instance␤Couldn't find final '>'; gave up at /tmp/SNloF2kyNz line 1:␤------> /<foo()>/; /<+foo⏏()>/; # for instance␤
..e…
TimToady restricting the +/- stuff to argumentless rules seems somewhat sane, maybe 22:08
one can always do more complicated stuff with a real lookahead
masak aye. 22:09
TimToady is still backlogging from last night, sigh...
jnthn tylercurtis: Is Bennu the LLVM project? 22:10
tylercurtis: I highly advise stealing the Representation implementation too, fwiw.
tylercurtis jnthn: Yes, although I may decide to target C first when I rewrite it initially to make compilation simpler. 22:12
TimToady <before>'s argument is supposed to parse at compile time; it's really a macro
jnthn tylercurtis: I can certainly say targetting C# rather than IL has made my life easier as a prototyper.
TimToady std: /<?before +>/ 22:13
p6eval std 32075: OUTPUT«ok 00:01 116m␤»
TimToady std: /<?before |>/
p6eval std 32075: OUTPUT«===SORRY!===␤Unable to parse metachar at /tmp/B97ljvCVuR line 1:␤------> /⏏<?before |>/␤Couldn't find final '>'; gave up at /tmp/B97ljvCVuR line 1:␤------> /<?before⏏ |>/␤ expecting assertion␤Parse failed␤FAILED 00:01
..116m␤»
TimToady std: /<?before>/ 22:14
p6eval std 32075: OUTPUT«ok 00:01 116m␤»
TimToady hmm
std: /<?before !>/
p6eval std 32075: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter (must be quoted to match literally) at /tmp/kPNr1pUcbH line 1:␤------> /<?before !⏏>/␤Can't call method "from" on unblessed reference at STD.pm line 53782.␤FAILED 00:01 116m␤»
masak <?before> is ok?
TimToady shouldn't be
masak thought so. 22:15
TimToady + should also fail
tylercurtis jnthn: I expect to steal quite a bit from your metamodel, really.
masak aye.
jnthn tylercurtis: :-)
tylercurtis: Feedback on your experiences with in LLVM most welcome.
tylercurtis: Portability is in my long list of design worries. :-) 22:16
22:16 alester left
TimToady darn, the + modified the (non)sigspace!?!? 22:16
masak yuck. 22:17
TimToady std: /<?before+>/
p6eval std 32075: OUTPUT«===SORRY!===␤Quantifier quantifies nothing at /tmp/PMMjHIro3J line 1:␤------> /<?before+⏏>/␤Check failed␤FAILED 00:01 116m␤»
TimToady hmm
22:18 eric256 left
masak rakudo: for [] -> $a { say $a.perl } 22:22
p6eval rakudo 7b0031: OUTPUT«[]␤»
masak is this correct?
tylercurtis jnthn: will do, though I don't expect to work directly on the Bennu rewrite just yet. Waiting until I understand the metamodel a bit more. 22:23
masak put differently, do things flatten in the <EXPR> position in the for statement?
TimToady [] never flattens in a list 22:24
so it's correct
masak what about this one? 22:25
rakudo: my %h = foo => []; for %h<foo> -> $a { say $a.perl }
p6eval rakudo 7b0031: OUTPUT«[]␤»
masak I find I do such hash accesses when iterating on quantified Match objects. I'd like to know if I should write %h<foo> or %h<foo>.list in the for statement. 22:27
jnthn tylercurtis: Heh, I didn't start on the Parrot implementation yet for the same reason. :-)
masak not least because bitrot in my code seems to indicate that the behaviour changed in Rakudo recently :) 22:29
ah well, working code trumps getting a final answer. 22:30
TimToady I think that one should flatten 22:37
masak what's the easy rule that distinguishes them?
TimToady there's no [] or $ to prevent it in the return from .<> 22:38
masak so... where there's no explicit "don't flatten" clue, the thing flattens? 22:39
TimToady nod
masak submits rakudobug
22:40 Guest23195 left
masak good. that's how I understood it last time. 22:40
22:41 colomon left, colomon joined
masak sleeps 22:42
22:42 masak left 22:45 colomon left 22:51 Trashlord left
jnthn Ooh. Seems with the right twiddling the bootstrap becomes a bunch neater. 22:53
22:53 Trashlord joined, Trashlord is now known as Guest29521
dalek odel: 3b36cb6 | jnthn++ | dotnet/compiler/PAST2DNSTCompiler.pm:
Helps to actually emit the call to set up the constant table we build in the setting.
22:56
odel: c20047e | jnthn++ | dotnet/compiler/ (2 files):
Make PDB files for the stuff we compile, so it's easier to go debugging.
odel: 3e7ec36 | jnthn++ | common/NQP/NQPSetting.pm:
A little setting re-ordering; put NQPStr first, since we need strings early on in the bootstrap.
odel: 0e373a8 | jnthn++ | dotnet/compiler/Actions.pm:
Bind the type object as soon as we create it, rather than post-compose.
odel: 63a9ad2 | jnthn++ | dotnet/ (2 files):
Eliminate much of the bootstrappy type mess, which means we can create most constant things in the setting as constants (outside of loadinits where we're building the types of the constant things).
ok: a64178f | chromatic++ | src/builtins.pod:
Converted builtin lists to POD tables.
22:57
pugssvn r32076 | lwall++ | [STD] improve error messages from malformed <before>ish things 23:00
23:09 M_o_C joined, M_o_C left, M_o_C joined
tylercurtis jnthn: If someone does BindAttribute on a P6hash type object, it appears that it becomes defined. Is that correct? 23:11
23:11 colomon joined
jnthn tylercurtis: No, it's just behind. 23:12
tylercurtis: I thought "ah, let's lazily allocate it"
tylercurtis: That was before I put in repr_defined :-)
Hmm. The "third argument is the type we want to box to" forms of the ops may be cute, but they actually completely kill us because of the sheer number of (lexical) lookups that result. 23:15
(researching on a platform with an awesome profiler to hand)++
tylercurtis: I'm not using that P6hash repr for anything though 23:16
tylercurtis: Also you're confused
tylercurtis: That's not a type object
tylercurtis: It's a representation object.
(hangs off the REPR pointer in an STable)
tylercurtis jnthn: I mean that if you use the P6hash REPR's BindAttribute method with a type object as the object, it becomes defined. 23:17
jnthn tylercurtis: Yeah 23:18
tylercurtis: It's rong.
tylercurtis: Should just hit the null and die
Well, die nicely I guess.
23:18 Mowah left 23:21 cotto_work left, dju left 23:22 dju joined 23:23 drbean joined
jnthn tylercurtis: Actually that P6hash repr is a bad example all around. :-) 23:25
tylercurtis: It was one of the first two that I sketched out when I was playing with ideas.
tylercurtis: And it's received just about enough attention to keep it compiling. :-)
tylercurtis jnthn: I'll keep that in mind. 23:28
jnthn Mmmmm....Krusovice mam. :-D 23:33
itz has anyone tried rakudo on android yet? ok I'm sure its not fast :) 23:52
23:52 M_o_C left
dalek odel: 3881965 | jnthn++ | / (9 files):
Turns out that the always pass ops type object for result type stratergy is a rather bad idea, since we end up doing tons of lexical lookups. This patch halves the number we do in a simple counting up while loop benchmark.
23:52
odel: d9c8bf3 | jnthn++ | dotnet/compiler/ROADMAP.txt:
Remove some done items from the ROADMAP.
23:58 meppl left