»ö« | perl6-projects.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by sjohnson on 21 August 2009.
TimToady probably need some way to discourage Rats at the large end as well 00:00
00:01 payload joined
ruoso but currency does have specific semantics 00:02
ruoso not really saying we should support it... but...
TimToady but any Rat representable in two 64-bit ints is likely to be a good long-term default, I suspect, at least in terms of efficiency
ruoso ah... sure... 00:03
00:03 wayland76 left
ruoso I was meaning in the sense that a currency value carries the index it's associated with 00:04
diakopter TimToady: what about RoUSes
ruoso ¤ 2.30 :USD
TimToady well, that's more in the realm of abstract types rather than storage
also, those are relative constant, not absolute :) 00:05
*constants
ruoso ¤ 2.30 :USD + ¤ 1.20 :EUR; # fail 'needs a exchange rate' 00:06
diakopter # fail 'what are you doing hardcoding prices' :P 00:07
ruoso .oO ( hmm... indeed... it never appears as a literal... but the semantics still applies ) 00:08
and actually, having a Currency type would naturally provide a lot of sanity checks in the algorithm... 00:12
since it doesn't make sense to sum a Currency value with an arbitrary number
but it does make sense to multiply or divide a Currency by an arbitrary number 00:13
diakopter would Currency be a role?
ruoso and localization in the stringification would come naturally
I guess 00:14
diakopter LocalizedCurrency is Currency
erm, a _ in there somewhere
ruoso or, as the previous example, it also doesn't make sense to sum values of two different currencies 00:15
diakopter, localization only happens in stringification... you don't need a role for that 00:16
there's an ISO spec on the currency codes
diakopter oh..
ruoso diakopter, but a currency must always be associated with a currency index
independent of the locale 00:17
since I might refer to euros or dollars, even if the brazillian currency is the real
on the other hand, a value of 2.50 USD (us dollars) is represented as $ 2.50 in the en_US locale, but as US$ 2,50 in the pt_BR locale 00:18
actually... 2.50 $ in us, right?
anyway, the position of the currency symbol is locale-dependent
00:19 Eevee left
TimToady runs and hides whenever anyone mentions locales 00:20
ruoso goes find TimToady
diakopter ruoso: right, but you'll want various localizations of currencies at runtime, not just in the current locale 00:21
current. har.
ruoso diakopter, you're confusing the currency index with the localization 00:22
it's not related
diakopter ah, ok. I'll take your word for it. :)
ruoso diakopter, basically, I must be able to conceptually represent any currency value in any index 00:23
let's say... 2.50 us dollars
4.00 brazillian reais
the locale only gets in when we need to tell that to the user
or to receive it from the user
but the data itself is locale-independent
00:24 acajou left
jnthn (Rat representable in two 64-bit ints) well, great, now we can't represent Zimbabwe's currency... 00:24
;-)
diakopter right, I know; I was assuming [wrongly] that you couldn't control at runtime into which locale it would be stringified.
ruoso ah... ok... 00:25
00:26 Limbic_Region left, kidd joined
colomon sjohnson: Still there? 00:29
sjohnson yes
00:30 wayland76 joined
colomon I'm interested in your 15 case insensitive comparisons issue. 00:30
Trying to find a good idiomatic solution and all.
Do you have time to talk about it a bit? 00:31
sjohnson that's what i like to hear
i think the given/when structure might do it nice enough for me
hmm, well 00:32
it looks a bit hairy doing when /^h$/i for every single thing, to match both 'H' and 'h'
colomon agreed.
(errr -- it's /:i ^h$/ in p6, right?)
TimToady are all the when cases literal? 00:33
colomon Whoops, may be getting a baby handed to me for a couple of minutes...
sjohnson colomon: are you an obstetrician?
TimToady then just given $x.lc { when "h" {...} }
colomon nope, a dad
sjohnson i as hoping to avoid doing the .lc in the given statement
in case i want to do some when 'S' 's 00:34
where the S is case insensitive
err
----
i mean, in cases where S and s were both sensitive
and required different handlings
but the other "13" when statements, were insensitive
pmichaud when .lc eq 'h' { ... } 00:35
Juerd given $foo.lc { ... } too.
Elegant, not ugly.
pmichaud yes, TimToady++ suggested that one :-)
Juerd Ah, hadn't read that one. Small screen, bandwidth too limited to scroll :) 00:36
sjohnson i was thinking of case though where i didn't want it destorying the sensitivity, by using the given $foo.lc
pmichaud there's also when 'h'|'H' { ... }
colomon can you lc $_ halfway through the whens?
pmichaud colomon: sure
.=lc;
sjohnson yes
tyes
Juerd .= can be used unary? Wow.
sjohnson pmichaud: when .lc eq 'h' { ... } <- will that mutate the $_ var? 00:37
Juerd I'm afraid to ask if this goes for += too, or if it's special because of the .
pmichaud sjohnson: no
Juerd: it's special because of the .
cognominal I run perl6 -target=parse grammar.pg. it whines first because the =end does not match the =begin, then because it thinks Perl6::Grammar is already definid.
Juerd Incredible. I had never expected this nice sideeffect :)
cognominal wanted to produce some html version of grammar.pg 00:38
sjohnson colomon: i think pmi chauds solution is the best
when .lc eq 'h'
Juerd given $foo { when 'X' { ... } ... given .lc { when 'h' { ... } when 'i' { ... } ... } } 00:40
00:40 kborer_ joined
Juerd I wonder what would be "better". Nested given, or changing $_ between whens. 00:41
I'm off to bed. Good night! 00:42
sjohnson Juerd: i like changing different $_, mind you, it doesn't get "changed" 00:43
just interpretted differently per case when
00:43 kborer left, kborer_ is now known as kborer
sjohnson if you did $_.=lc 00:44
then it would change it
or .=lc
00:45 frew joined, frew__ left
colomon Sorry about disappearing there. 00:51
00:52 jauaor joined, ihrd joined
diakopter disappears to here 00:52
lisppaste3 colomon pasted "Given / when case insensitive" at paste.lisp.org/display/86050 00:54
colomon That's the straightforward case, with no sensitive whens to worry about. 00:55
Right? That seems a reasonable p6ish approach.
jnthn given($a.lc) 00:57
probably wants to be
given $a.lc
given(...) is always a sub call
Other than that, yes, certainly a good approach.
colomon one of these days I'll remember that right off the bat. :)
jnthn :-)
lisppaste3 colomon annotated #86050 "pmichaud's mixed suggestion" at paste.lisp.org/display/86050#1 01:00
colomon annotated #86050 "my mixed suggestion" at paste.lisp.org/display/86050#2 01:01
jnthn Looks fine. 01:02
01:03 ihrd left
jnthn -> try and sleep 01:08
01:08 hercynium joined
cognominal given tired... 01:08
jnthn cognominal: Heh, you're in the same timezone as me, no? :-) 01:09
cognominal insomniac too 01:11
colomon It seems to me that my solution is more "hacky" than pmichaud's, and is likely to confuse people until they understand how given / when really works (that's it's not just a switch statement, I mean).
On the other hand, it's going to be a long time until Rakudo is smart enough to cache the results of the call to .lc, isn't it? So the number of times you call it is may be an issue performance-wise. 01:12
jnthn I'm not sure being able to cache that is an optimization we'd be able to do all that soon. 01:14
If at all.
sjohnson let the record state that given ($a.lc) is only useful if all you when cases are case insensitive
jnthn (Perl 6 is quite a hard language to optimize.)
colomon jnthn: sure, I just didn't want to assume it could never be done. :)
sjohnson i've said it before, and i will say it again: i like pmichaud's way of handling multi-case when's 01:15
( `ー´)
jnthn colomon: Aye, I'd not rule it out. :-)
OK, really trying to sleep now. See y'all tomorrow. 01:16
erm, "tomorrow" :-)
o/
colomon 'night.
dew what does the :foo syntax do? similar to the same thing in ruby? (if you'll permit a noob question) 01:17
colomon sjohnson: I'm kind of inclined to agree with you. Just trying to see all the angles... 01:18
sjohnson his idea was: when .lc eq 'h'
i think that's kind of sexy 01:19
carlin rakudo: say "ENOBOT";
01:20 ianebot joined
carlin rakudo: say "ENOBOT"; 01:20
ianebot rakudo test: OUTPUT«ENOBOT␤»
carlin it works :)
only has rakudo though
colomon You rigged that up, carlin? 01:21
carlin yeah
colomon carlin++ 01:22
carlin running on a small vps I have
sjohnson it
it's cute
carlin rakudo: my $s=' ';say 'N'~&'K','t'~|'a','w'~&'s','v'~&'u',$s,'i'~&'e','l'~|'b','m'~|'b','p'~|'d','x'~&'i','g'~&'m'~'z'~&'s',$s,'c'~&'v','o'~&'y','p'~|'d','v'~|'a','m'~&'y','r'~|'a','d'~|'a',$s,'n'~|'a','c'~&'z','d'~|'b','t'~|'a','r'~|'a','b'~|'a','i'~&'c','v'~&'u','k'~&'y','n'~|'a','l'~|'b';
ianebot rakudo test: OUTPUT«Just another bitwise obfuscation␤»
sjohnson that's fast
rakudo: say '3049' + 30; 01:23
ianebot rakudo test: OUTPUT«3079␤»
colomon rakudo: say [*]1..10
ianebot rakudo test: OUTPUT«3628800␤»
carlin feel free to kick it once moritz gets the proper bot running
01:23 sjohnson sets mode: +v ianebot
sjohnson heh 01:24
carlin unless the server dies before then ...
01:26 Eevee joined
sjohnson rakudo: print 'cute things++'; 01:29
ianebot rakudo test: OUTPUT«cute things++»
sjohnson a lot faster than your average bot
01:35 cdarroch left
carlin it's evalbot the same as mortiz++'s, but only rakudo is installed ... I doubt that would make a speed difference though 01:37
01:41 Whiteknight left
carlin rakudo: loop ( my $i = 0; $i < 10; $i++ ) { say 'Foo'; } 01:41
ianebot rakudo test: OUTPUT«Foo␤Foo␤Foo␤Foo␤Foo␤Foo␤Foo␤Foo␤Foo␤Foo␤»
carlin rakudo: sub foo {}; multimethod foo {}; 01:44
ianebot rakudo test: OUTPUT«Could not find non-existent sub multimethod␤»
carlin rakudo: say Exception; 01:45
ianebot rakudo test: ( no output )
carlin rakudo: loop ( my $i = 0; $i < 10; $i++ ) { say 'Foo'; } 01:53
ianebot rakudo test: OUTPUT«Foo␤Foo␤Foo␤Foo␤Foo␤Foo␤Foo␤Foo␤Foo␤Foo␤»
carlin is done spamming the channel :) 01:54
01:56 cube0 joined
cube0 Hello 01:56
oops $Hello; 01:57
sjohnson rakudo: print "hello cube0!";
ianebot rakudo test: OUTPUT«hello cube0!»
sjohnson is it common for a Perl programmer to hate Javascript?
cube0 nope since you might use them both 01:58
on the client side
guys do you like DBIIX ? 02:00
DBIx 02:01
02:06 carlin_ left
cube0 guys should I connect to database everytime I need to query ? 02:07
02:08 cblaptop joined 02:09 carlin left
dew cube0: probably not. 02:09
cube0 $dbh->ping ?
dew er, yeah, if you have reason to believe the connection might be dead 02:10
are you looking for #perl btw?
cube0 oops sorry gonna rollback 02:12
thanks
02:12 cube0 left 02:29 dukeleto left 02:34 athomason left 02:36 tak11 left 02:40 jauaor left, araujo left, SmokeMachine joined 02:52 tak11 joined 03:02 mepplock joined 03:08 hercynium left
TimToady dew: did you ever get an answer? :foo is different from ruby 03:08
:foo means foo => True
dew i found some docs about it, yes, but it was a tad beyond me :) 03:11
something about it being an 'operator modifier', which didn't really help. example code seems to be using it in place of constants/switches though? 03:14
TimToady so called "adverbs" may be used in many different ways 03:15
but they either turn into named arguments or Pair objects
dew the :foo(1) syntax?
TimToady means foo => 1
dew yeah that much made sense :) 03:16
03:18 meppl left
dew aah. so :foo is akin to a switch you might apply to something? 03:19
TimToady yes, very much like --foo in shell
dew and :foo(..) lets you pass in something other than simple 'True' 03:20
very cool ;)
TimToady rakudo: say [*], 03:21
ianebot rakudo test: OUTPUT«say requires an argument at line 2, near " [*],"␤in Main (src/gen_setting.pm:2550)␤»
TimToady rakudo: say [*]
ianebot rakudo test: OUTPUT«say requires an argument at line 2, near " [*]"␤in Main (src/gen_setting.pm:2550)␤»
TimToady rakudo: say [*] ; 03:22
ianebot rakudo test: OUTPUT«say requires an argument at line 2, near " [*] ;"␤in Main (src/gen_setting.pm:2550)␤»
TimToady rakudo: say [*]()
ianebot rakudo test: OUTPUT«1␤»
TimToady std: say [*] 03:23
ianebot std : ( no output )
03:28 jhelwig joined 03:38 molaf joined 03:39 jaldhar joined, molaf left 03:47 unitxt joined 03:51 kborer_ joined 03:52 nihiliad left, SmokeMachine left
unitxt You guys do know that a lot of Perl 5'ers are planning to take the best of Larry's research for Perl 6 and incorporate it into Perl 5 and eventually try and compete against. Doesn't make any sense at all to me but that's the "plan", man. :[ ...looks like they would be better off putting their knowledge of Perl 5 into Perl 6....whatever... 03:55
03:55 unitxt left, Confield left 03:59 MrKrueger joined 04:04 kborer left
wayland76 We know that. It's called Moose, and we're working with them. 04:06
04:06 MrKrueger left 04:07 tak11 left 04:08 kborer_ left 04:14 mepplock left 04:16 carlin joined
carlin TimToady: the temporary bot can only run rakudo, just in case you were wondering what happened there (seen you trying std in the logs) 04:17
04:20 adam-pwgsc left 04:27 dukeleto joined, DakeDesu joined 04:31 Eevee left, Eevee joined 04:32 rhr left 04:34 kidd left 04:37 SmokeMachine joined 04:41 KatrinaTheLamia left 05:01 ihrd joined 05:09 finanalyst1 joined, finanalyst1 left, finanalyst joined 05:22 dew left 05:23 dew joined 05:28 payload left 05:30 eMaX joined 05:37 kyle_l5l joined 05:41 orafu left, orafu joined 05:46 rfordinal joined 05:57 mrsaturn joined
mrsaturn perl6: say 4; 05:58
ianebot rakudo test: OUTPUT«4␤»
..pugs: OUTPUT«sh: /home/evalenv/pugs/pugs: No such file or directory␤»
..elf 28070: ( no output )
mrsaturn woops
05:59 kyle_l5l left
mrsaturn rakudo: say "hi"; 06:00
ianebot rakudo test: OUTPUT«hi␤»
06:01 kyle_l5l joined 06:20 rfordinal left 06:21 rfordinal joined 06:25 carlin left 06:26 sri_kraih_ joined 06:29 carlin joined
moritz_ std: 1 + 1 06:31
ianebot std : ( no output )
06:35 sri_kraih left, sri_kraih_ is now known as sri_kraih 06:40 rfordinal left 06:41 ihrd left 06:42 ihrd joined 06:44 zloyrusskiy joined 06:47 szabgab left 06:49 carlin_ joined, carlin left, carlin_ is now known as carlin 06:55 rfordinal joined 06:56 eMaX left 06:57 carlin left, carlin joined 07:07 nbrown left 07:08 Su-Shee joined
Su-Shee good morning! 07:08
moritz_ good morning
Su-Shee of course. "it's you." :)
moritz_ ;-) 07:09
07:10 iblechbot joined, jauaor joined
ihrd rakudo: "alive".say 07:12
ianebot rakudo test: OUTPUT«alive␤»
ihrd rakudo: say 1..{$_}
ianebot rakudo test: ( no output )
ihrd hm, this one produce segaful on my machine
moritz_ exists normally here. 07:14
*exits 07:18
07:19 szabgab joined 07:23 RonOreck left, ihrd left 07:24 eMaX joined 07:40 athomason joined 07:44 p6eval joined
moritz_ std: 1 07:45
ianebot std : ( no output )
p6eval std 28054: ( no output ) 07:46
moritz_ pugs: say 3
ianebot pugs: OUTPUT«sh: /home/evalenv/pugs/pugs: No such file or directory␤»
p6eval pugs: OUTPUT«3␤»
ianebot pugs: OUTPUT«sh: /home/evalenv/pugs/pugs: No such file or directory␤»
p6eval pugs: OUTPUT«*** No such subroutine: "&OUTPUT"␤ at /tmp/oyqNBjw58c line 1, column 1 - line 3, column 1␤»
ianebot pugs: OUTPUT«sh: /home/evalenv/pugs/pugs: No such file or directory␤»
p6eval pugs: OUTPUT«*** No such subroutine: "&OUTPUT"␤ at /tmp/xMrSWiR4Ju line 1, column 1 - line 3, column 1␤»
ianebot pugs: OUTPUT«sh: /home/evalenv/pugs/pugs: No such file or directory␤»
p6eval pugs: OUTPUT«*** No such subroutine: "&OUTPUT"␤ at /tmp/gSEyqJgpYx line 1, column 1 - line 3, column 1␤»
ianebot pugs: OUTPUT«sh: /home/evalenv/pugs/pugs: No such file or directory␤»
p6eval pugs: OUTPUT«*** No such subroutine: "&OUTPUT"␤ at /tmp/VsPMDke7D0 line 1, column 1 - line 3, column 1␤»
ianebot pugs: OUTPUT«sh: /home/evalenv/pugs/pugs: No such file or directory␤»
p6eval pugs: OUTPUT«*** No such subroutine: "&OUTPUT"␤ at /tmp/8W0JZuDgo2 line 1, column 1 - line 3, column 1␤»
ianebot pugs: OUTPUT«sh: /home/evalenv/pugs/pugs: No such file or directory␤»
07:46 p6eval left
moritz_ ouch. 07:46
07:46 dbrock left
moritz_ somehow p6evals' chroot is borked 07:47
07:50 p6eval joined 07:51 ejs joined
moritz_ carlin: the ordinary p6eval is back - would you mind retracting ianebot? 07:52
carlin++ for providing an alternative so quickly 07:53
07:58 RonOreck joined 07:59 payload joined, carlin_ joined, carlin left, carlin_ is now known as carlin 08:02 ianebot left, carlin left, carlin joined 08:03 ejs left 08:04 ejs joined
carlin moritz_: good to have the fully functional bot back :) 08:05
08:09 hanekomu joined
moritz_ perl6: say "re" 08:14
p6eval elf 28070, pugs, rakudo 0d4fe0: OUTPUT«re␤»
08:21 carlin_ joined, carlin left, carlin_ is now known as carlin 08:23 carlin left 08:29 kidd joined 08:36 dbrock joined 08:53 baest left, baest joined 08:55 kidd left, mikehh_ left, lambdabot left, arnsholt left, rjh left, huf left, mattp left, Trey left, Helios left, hcchien left, youwin left, PerlJam left, kidd` joined, mattp_ joined, huf_ joined, arnsholt_ joined, orafu left 08:56 eMaX left, iblechbot left 08:58 lambdabot joined 08:59 eMaX joined 09:09 szabgab left
moritz_ moritz.faui2k3.org/tmp/access.svg # updated visitor's statistics for perl6-projects.org 09:24
cognominal moritz_, what tool do you use to generate that svg? 09:27
09:27 araujo joined
moritz_ cognominal: the examples/parse-access-log.pl script in SVG::Plot 09:28
github.com/moritz/svg-plot/tree 09:29
cognominal thx
moritz_ I'm still hoping that somebody ports scruffy to Perl 6, but so far I'm the only one who actually contributed code to the port 09:32
and I'm not really good in reading ruby code 09:33
lunch&
09:33 maerzhase joined 09:45 masak joined
masak hola, Perl 6 world. 09:45
jauaor hola masak 09:51
09:54 payload left 09:55 maerzhase left 09:57 maerzhase joined
masak (re 'something like Devel::Cover for Rakudo') I hear this Parrot thing is open-sourced. say the right person was given three hours of totally undisturbed time to implement the simplest thing that could possibly work. who could be that person, and what would need to be done? 10:00
10:02 donaldh joined, kyle_l5l left 10:03 payload joined 10:04 pippo_ joined 10:09 hanekomu left
masak ihrd: `say 1..{$_}` produces a 'Bus error' over here. 10:12
moritz_: I'm not extremely good at reding Ruby code either, but slowly getting that hang of it. I've been looking at scruffy, and will probably contribute to the port. but not this week. :/ 10:13
moritz_ masak: great 10:17
(I won't have any time this weekend either)
10:17 maerzhase left
masak I'm getting segfaults when compiling Rakudo with the latest Parrot. 10:18
moritz_ that's know
and mikehh++ bisected it already
masak good, then I won't have to.
moritz_ masak: oh, and we're both going to get GSOC T-shirts :-) 10:19
10:21 payload left
masak \o/ 10:23
10:24 zloyrusskiy left
moritz_ (assuming you entered your shipment address) 10:24
masak aye.
10:24 zamolxes left 10:34 nbrown joined
jnthn oh hai every1 10:43
moritz_ good day Mr. Worthington. 10:44
jnthn formality mis-match at line 2 10:46
;-)
10:50 maerzhase joined
moritz_ :-) 10:51
jnthn \o/ already 3 patches to Blizkost, from fperrad++. That's as much as I've made. :-) 10:52
moritz_ FWIW the outage of p6eval's server was due to a broken raid
and the hosting company doesn't have these discs anymore
so now it runs on just a single disc
and in a few weeks we'll get a new server 10:53
Juerd Feel free to make backups to feather 10:57
It'd suck if the remaining disc failed too
moritz_ that machine is also backed up, but it's a good idea nonetheless 10:58
I'll do that tonight
11:00 ruoso left 11:18 maerzhase left 11:20 donaldh left 11:21 donaldh joined
Juerd 21:29 < Juerd> If we didn't have 6-hourly backups, I'd be frightened. 11:23
21:29 < Juerd> s/6/12/ iirc. Could up that to 6.
Just checked: a backup is made every 6 hours
Full backup every Saturday, level 1 incrementals per day, and then levels 2, 3, 4 per day. 11:24
Full and level 1 are retained 7 to 13 days, levels 2+ are deleted when a new level 1 is created. 11:25
11:29 payload joined 11:30 kidd` left 11:37 zloyrusskiy joined 11:39 zamolxes joined
cognominal Blizkost? 11:41
moritz_ cognominal: jnthn's parrot <-> perl 5 bridge 11:42
use.perl.org/~JonathanWorthington/journal/
cognominal jnthn, the rule scope_declarator probably deserves un <.nofun> after the $<sym>[...] 11:43
so that sub my { say "my" }; my() works as expected 11:44
moritz_ rakudo: sub my { say "my" }; my() 11:45
jnthn wonders if STD does that
p6eval rakudo 0d4fe0: ( no output )
moritz_ std: sub my { say "my" }; my()
p6eval std 28070: ( no output )
11:46 abra joined
moritz_ ouch. 11:46
rakudo: say 3
p6eval rakudo 0d4fe0: OUTPUT«3␤»
cognominal I feel that the rile if there no space, that is a function. So I am not tripped by an unknown keyword.
s/rile/rule/
I think the "is context='nofun'" is the STD equivalent of <.nofun> 11:48
proto token scope_declarator (:$endsym is context = 'nofun') { <...> } 11:49
oops
Xchat-- # trips me every time
Su-Shee *sigh* so many projects to code... 12:00
Su-Shee looks exhausted after reading news.
masak hugs Su-Shee 12:01
Su-Shee first my mac-collegue made me envious and then I checked arstechnica which is full of shiny gui things - all based on python. hrmpf.
masak I think it'll be a bit hectic before April. some of my projects have April as an implicit deadline too, now. 12:02
but I also think it'll be a fun ride.
Su-Shee I wonder how the image magick folks think about parrot/rakudo.
12:04 SmokeMachine left
jnthn April? What happens in April? ;-) 12:04
jnthn also has quite a few things he hopes to get done by then 12:05
masak jnthn: you joke, but that's the thing: no-one knows what'll happen in April. 12:06
jnthn: the only thing we can do is be prepared for an onslaught.
Su-Shee I really have to re-focus on my personal perl 6 goals.. there's so very too much to do for at least 100 more developers... 12:07
12:07 takadonet joined
masak it's like Steve Jobs' famous startup time: every bug that's fixed before April will contribute to saving lives. 12:07
jnthn masak: You make a good point.
takadonet morning all
masak takadonet: o/
jnthn hi takadonet
Su-Shee masak: in the last 2 weeks, more and more people show up and ask in #perl what they think about perl 6 or wether it's ready yet and things like that. so, at least the knowledge about rakudo's existence starts to take off. 12:08
takadonet so what is everyone working on today?
Su-Shee takadonet: writing old school p5 bless class, the same in moose and all this in rakudo for comparison. 12:09
Su-Shee has to do a presentation next week about "modern perl"
takadonet Su-Shee: Where?
Su-Shee in the office to my collegues.
and yes, I'll ask if I can blog it or otherwise publish it. 12:10
takadonet Well might have to do the same in the near future :)
jnthn is continuing research into S06 and the signature re-design.
Su-Shee takadonet: will be interesting wether my collegues like p6 or not :) 12:12
takadonet Su-Shee: At least one of my colleagues believes it will not be "out" for at least another 5 years 12:13
Su-Shee takadonet: mine knew vaguely about the existence. ;)
cognominal jnthn, have you noticed the slurpy scalars? 12:14
jnthn cognominal: e.g. :(*$head, *@tail) ? 12:15
cognominal yup 12:16
jnthn Yes, noticed.
cognominal blizkost does not build on my mac. I am not savvy enough to figure why :( 12:17
can't find libperl.a 12:18
c++ -o blizkost_group.bundle lib-blizkost_group.o blizkost.o -L/usr/local/lib -L/opt/local/lib -L/Users/stef/git/rakudo/parrot/blib/lib -L/sw/lib -lm -lutil -lgmp -lreadline -lintl -undefined dynamic_lookup -bundle libperl.a -libpath:"/usr/local/lib/perl5/5.10.0/darwin-2level/CORE"
i686-apple-darwin9-g++-4.0.1: libperl.a: No such file or directory
moritz_ cognominal: do you have perl development files installed?
cognominal it is present in the -libpath dir so 12:19
moritz_ I think gcc only tries to look up -lfoo things in libpath
for the .a files you might need full paths 12:20
12:20 lisppaste3 left
cognominal I like Mac OS X as a user, it confuses the hell out of me as a developer 12:21
12:21 ruoso joined
jnthn cognominal: I don't really know anything about OS X, so it's kinda hard for me to fix it... 12:22
cognominal: Try latest though, if you didn't already
I added some patches from fperrad++ that provide the full path to the lib instead. 12:23
cognominal I am up to date
wish I had a strace, I can't figure how to you dtrace.
s/you/use/ 12:24
jnthn cognominal: That's odd, since I thought libperl.a -libpath:"/usr/local/lib/perl5/5.10.0/darwin-2level/CORE" 12:25
was gone after the patches.
masak don't know if this has been discussed. I found it to be saddening but relevant reading. it's indirectly related to Perl 6, I think. avatraxiom.livejournal.com/58084.html
takadonet masak: that was an old post 12:29
masak indeed.
maybe the problem is not as critical in the Perl 5 world today.
12:30 wahjava joined
Su-Shee I suck at OO design. I really need a book or two. 12:30
12:30 Chillance joined
Su-Shee
.oO(learning OO design with perl 6)
12:31
cognominal jnthn, have you pushed the said changes?
moritz_ Su-Shee: I learned good OO from Betrand Meyer's "Object Oriented Sofware Construction"
(it uses Eiffel for its examples, which is quite a nice OO language, but very different from perl_
s/_/)/ 12:32
Su-Shee moritz_: does he use real world examples and not another Animal class which has the methods wuff and meow? 12:33
moritz_ it's good at manipulexity and bad at whipuptitude 12:34
Su-Shee: I think the examples are better than that, though I don't remember all that much about them
one case study was an undo/redo system for a text editor, iirc
Su-Shee moritz_: go, write a book, please. :)
12:35 M_o_C joined
jnthn cognominal: I just merged them on GitHub. 12:36
colomon I love how you get to the end of the Bugzilla post and he points out that its popularity was actually increasing at that time! 12:39
(Which was just 2007, not so long ago.)
12:39 sjn joined
sjn o/ 12:39
masak \o
sjn tries to find that wonderful Perl6 example program where you made a deck of cards, assigned values, shuffled and dealt a hand 12:40
anyone remember the URL?
masak it was in a pmichaud++ talk.
moritz_ sjn: pmichaud.com/2009/pres/oscon-perl6o...start.html 12:41
click a few times until you get there
sjn yep
moritz_ pmichaud.com/2009/pres/oscon-perl6o...lide5.html to be exact
sjn but wasn't that actually an example code snippet in git/svn/somewhere?
moritz_ I remember it being a nopaste 12:42
jnthn I've only seen it in PM's slides.
colomon gist.github.com/153993 12:43
(Is pmichaud's script, I shouldn't just post random links and expect people to figure it out!) 12:44
12:45 hanekomu joined
jnthn
.oO( I was scared to click in case it was Pelr 6 obfuscation in the form of an ASCII-art goatse )
12:45
takadonet wow that an awesome example from pmichaud
sjn hehe
takadonet: yeah, I know :D
sjn is sending a mail to the the dynamic languages professor at the techincal college in Oslo 12:46
nice to have cool examples to show that they should spend time on Perl 6 :D
Su-Shee also just wow-t two times at least.
takadonet syn: Cannot wait for those operators to used in my daily work
I'm starting to see lots of opportunity for using "junctions" in my perl5 code now 12:47
Su-Shee I actually have to learn to "think in" those operators. and to think "problem x to solve in code" as "use case for operator y".
colomon That "shuffle the deck" command breaks me. (In a good way.) 12:49
moritz_ pick() is very handy sub/method 12:50
colomon I love how something that used to be a moderately tricky programming problem has been reduced to a simple command.
Su-Shee well half of all loop-usages will magically go away :)
colomon Su-Shee: half or more, if you' 12:51
re doing lots of math.
masak I haven't seen someone use the weighted pick() yet.
I was actually a bit surprised that TimToady chose to add that to S32. 12:52
colomon weighted pick?
masak colomon: aye, pick on hashes and bags, IIRC.
colomon !!!!! 12:53
Su-Shee and for us common folks this is cool because...? :) 12:54
colomon the math or the weighted pick? 12:55
szbalint btw, who do I have to bribe for a commit bit to perl6-examples? :)
moritz_ suppose you want to generate random words with natural propability distributions
szbalint: I think mberends and pmichaud can hand out those
colomon moritz_: Or outcomes for a percentile roll in Dungeons and Dragons. 12:56
szbalint cheers, moritz_
moritz_ Su-Shee: then you can say something like %letters = e => 17, n => 12, ... q => 1; my $word = join '', %letters.pick(5, :repl)
szbalint: just /msg pmichaud your github ID, I'm sure he'll add you 12:57
jnthn dares somebody to implement weighted pick :-)
12:57 meppl joined
colomon What's the :repl in your example/ 12:57
?
masak Su-Shee: I find myself sometimes using weighted pick(). it has its uses.
colomon Ack, typing issues this morning.
masak jnthn: oh, it's not that hard. I've done it a few times. :) 12:58
moritz_ colomon: without it each character comes up only once
jnthn masak: heh, andy.sh's conclusion is kinda curious. ;-)
colomon Wondered if that was it. Danke.
moritz_ rakudo: (1..3).pick(3)
p6eval rakudo 0d4fe0: ( no output )
moritz_ rakudo: say (1..3).pick(3)
masak jnthn: it's a fine line. he has a right to swear and to be angry.
p6eval rakudo 0d4fe0: OUTPUT«312␤»
masak jnthn: but I just thought it was a stupid way to end a post.
moritz_ rakudo: say (1..3).pick(3, :repl)
p6eval rakudo 0d4fe0: OUTPUT«231␤»
jnthn masak: Yeah. 12:59
moritz_ rakudo: say (1..3).pick(3, :repl)
p6eval rakudo 0d4fe0: OUTPUT«221␤»
moritz_ masak, jnthn: which post?
masak jnthn: you take a random number between 0 and 1, and then you normalize all your alternatives so that the sum of all weights is 1. then you calculate offsets with [+\]
12:59 payload left
masak moritz_: use.perl.org/~andy.sh/journal/39532 12:59
colomon And (going back to Su-shee's earlier point) the sum can be easily calculated with [+]. :) 13:00
moritz_ uhm, is [\+] implemented?
masak no.
but it can be workaroundemulated.
moritz_ aye
13:01 Front_slash joined
colomon wait, [\+] and/or [+\]? 13:01
masak um, [\+]
I mistyped. :/ 13:02
colomon What does it do?
(See, this is why I need the periodic table of operators poster for my birthday.)
I'm imagining some sort of running sum normalized, but that hurts my head. 13:03
moritz_ [\+] 1, 2, 3 is just 1, 1+2, 1+2+3 13:04
colomon So it's running sum. 13:05
masak aye. or running <op>, for some <op>.
13:07 donaldh left
moritz_ and [\~] a running concatenation etc. 13:08
colomon So [\+] 1, 2, 3 is 1, 3, 6, and then you can 1..6.pick and find the appropriate index in 1, 3, 6. 13:09
moritz_ with a binary search or something 13:10
colomon Is there a built-in binary search function somewhere in p6? Seems like an obvious addition to the bag of tricks... 13:11
moritz_ not that I'm aware of 13:12
but that's something easily added in a module.
colomon Sure, but the same could obviously be said of pick. :)
I'd consider binary search as fundamental as sort. 13:13
moritz_ isn't opposed to add it, just opposed to adding stuff to core in general 13:14
colomon understood. 13:15
masak colomon: a binary search would be contingent on a Tree data type. I don't believe a Tree data type should be part of the core. 13:16
it's one of my few reasonably strong opinions. 13:17
colomon masak: Why Tree? You can do a binary search on any sorted array.
masak um, scratch the 'contingent' part. yes, arrays.
just realised that... 13:18
moritz_ uhm, is there a use.perl.org page that shows all recent journal entries?
colomon I admit the presence or absence of binary search will in no way affect my love of Perl 6. Worst case scenario is I write it myself as soon as I need it for something.
sjn moritz_: haven't found a useful one :-( 13:19
sjn is still wondering about the same
colomon moritz_: use.perl.org/search.pl?op=journals ?
13:19 mikehh joined
moritz_ colomon: thanks 13:20
is that linked to anywhere?
colomon No idea, it's just the first thing that came up in Firefox's completion box when I typed use.perl.org. :0 13:21
:)
13:21 zloyrusskiy left 13:23 payload joined 13:32 icwiener joined 13:36 PerlJam joined 13:43 lisppaste3 joined
pmichaud good morning #perl6 13:47
takadonet morning pmichaud
moritz_ oh hai 13:48
pmichaud: how many people can add committers to perl6-examples? (and who?)
jnthn hai pm 13:49
pmichaud moritz_: currently bus number is 1
13:50 rhr joined
moritz_ pmichaud: we should increase that. 13:50
pmichaud actually, 2, but the second person's identity isn't public :-)
13:50 lisppaste3 left
pmichaud unfortunately, afaict github doesn't provide a way to delegate adding collaborators to a repository 13:51
moritz_ can't you even make other people administrators? 13:52
pmichaud not as far as I can tell
[particle] i suppose you can give away the password
moritz_ [particle]: that doesn't scale very well
[particle] nope.
masak oh hai pm. 13:54
13:56 ejs1 joined 13:59 ejs left
pmichaud looks like we might be able to do something via the github api 14:01
moritz_ just asked on #github 14:02
I'll keep you up-to-date when somebody answers
14:02 lisppaste3 joined
pmichaud I'm currently looking at develop.github.com/p/repo.html 14:02
cognominal pmichaud, can I use your deck of cards program for a Perl 6 tutorial in a french magazine? 14:03
pmichaud cognominal: please do!
cognominal thx
pmichaud I still want to write that up as a use.perl article myself, or perhaps something for The Perl Review
14:03 twigil joined
cognominal Well, I can translate what I am doing in (broken) english 14:04
pmichaud for me it's just a need for available tuits :)
moritz_ pmichaud: so basically we could set up a web service or IRC bot that adds someobody as a committer
cognominal btw I note that I can't write say perl("hi") as an equivalent of say "hi".perl 14:05
pmichaud moritz_: yes, I think so
cognominal is that on purpose?
pmichaud cognominal: afaik, .perl is only a method, not a built-in function
cognominal I like the way one can use function as methods for values so I ask myself if that goes in the opposite direction 14:06
masak cognominal: you can't use functions as methods generally. but some methods are also exported as functions. 14:08
pmichaud it's always possible to write sub perl($x) { $x.perl }
colomon Does the reverse hold? Is it possible to use methods as functions (which take class argument as first parameter)? 14:09
Wait, that's what you just answered.
pmichaud++ 14:10
pmichaud moritz_: looks like it's easy to write a script to add collaborators, the potential problem seems to be that if anyone gets a hold of the authentication token they can perform any operation on the account
still, I think I'd be willing to accept that risk.
moritz_ pmichaud: yes, I came to same conclusion
*the
14:10 wahjava left
PerlJam good morning #perl6 14:11
takadonet anyone have ideas why I'm getting : "No applicable candidates found to dispatch to for 'trait_mod:is'" 14:12
?
14:12 jaldhar left
moritz_ takadonet: are you trying to inherit from a non-existing class? 14:12
takadonet maybe
My code is failing so decided to look at the spec and cannot get that example to work either 14:14
lisppaste3 takadonet pasted "S12-attributes/mutators.t" at paste.lisp.org/display/86067
takadonet It's the first part of that test file
14:15 KyleHa joined
jnthn takadonet: Suspect "is rw" on methods. 14:15
moritz_ takadonet: ah, rakudo doesn't do 'is rw' on methods yet
jnthn We didn't implement lvalue subs yet really (not quite sure what it really implies...)
cognominal I suppose that when I write 5.sin, the method should be autoload from the corresponding function.
Hum, I should write a patch for that. 14:16
moritz_ rakudo: say 5.sin
jnthn cognominal: vice versa I'd think.
pmichaud cognominal: actually, I think it's the other way around
p6eval rakudo 0d4fe0: OUTPUT«Method 'sin' not found for invocant of class 'Int'␤»
jnthn heh heh
pmichaud the function version is simply the exported form of the method
jnthn rakudo: say 5.0.sin
cognominal it is or it should be? :)
moritz_ rakudo: say 5.0.sin
p6eval rakudo 0d4fe0: OUTPUT«-0.958924274663138␤»
14:16 donaldh joined
p6eval rakudo 0d4fe0: OUTPUT«-0.958924274663138␤» 14:16
moritz_ ah
jnthn please note
moritz_ it's in num, not in Any
that's what's causing us problems. 14:17
jnthn rakudo: say Int ~~ Num; say Int.isa(Num);
p6eval rakudo 0d4fe0: OUTPUT«1␤0␤»
pmichaud rakudo: say "5.0".sin
p6eval rakudo 0d4fe0: OUTPUT«Method 'sin' not found for invocant of class 'Str'␤»
cognominal there is no better way to learn than to try to explain :)
jnthn commit.sin
pmichaud Num.sin is the original :-) 14:18
moritz_ pmichaud: re API calls to github, then how would we authenticate the one who triggers the API call?
for example if I want to add $somebody as a commiter, how am I authenticated against the user agent that does the API call? 14:19
pmichaud moritz_: how does pugs currently handle this?
14:20 nihiliad joined
moritz_ pmichaud: commitbit has access to the svn user database 14:20
14:20 szabgab joined
moritz_ so I use my svn password to invite other people to pugs 14:21
pmichaud we can enforce a similar constraint on github
moritz_ so we need to find out if sombody is authenticated to github... 14:22
let me see if there's a method for that
Tene it would be better if github let you add other people to the project as admins.
pmichaud Tene: I agree totally, but I have the impression that's not RSN
Tene btw: O HAI EVERYBODY
Tene trying to wake up... 14:23
pmichaud as of Jul 2009 (or perhaps it was May) github says it's adding better collaborator management to its business accounts, but I had the impression that hadn't landed yet
masak Tene: OH HAI
pmichaud (I'm just reading various support requests)
Tene pmichaud: obviously we should move hosting providers *again* over this issue!
moritz_ or we just maintain a list of "power users" and their passwords (simple, but I don't like it very much)
pmichaud I'd probably be fine with the "power users" approach 14:24
we just don't want the bus number to be low. we don't have to make it super-high.
indeed, the reason I gave the rakudo+perl6 passwords to another person was so that the bus number wouldn't be 1. :-)
moritz_ ok, I'll see if I can come up with a quick and working solution tonight 14:25
pmichaud just a sec
14:29 Psyche^ joined
pmichaud I'd also be fine if we shared the API token among trusted members 14:30
that would make it possible to create repos and add collaborators (without having to give away the full account password)
14:37 meteorjay left 14:40 Patterner left, Psyche^ is now known as Patterner 14:43 Confield joined 14:48 justatheory joined 14:50 elmex left, M_o_C left, M_o_C joined 15:05 twigil left 15:08 alester joined 15:12 finanalyst left 15:13 zamolxes left 15:19 SmokeMachine joined 15:20 donaldh left, donaldh joined, mrsaturn left 15:22 FCO joined 15:25 FCO left 15:29 masak left 15:31 hanekomu left 15:32 ejs1 left 15:39 zloyrusskiy joined 15:40 zloyrusskiy left 15:43 rfordinal left 15:47 szabgab left 15:51 Su-Shee left 15:54 Trey joined 15:56 iblechbot joined 15:58 zloyrusskiy joined 16:01 pmurias joined
TimToady cognominal: just to clarify, there is no automatic failover from methods to functions or from functions to methods 16:09
only a mechanism for a method definition to also be considered a function definition 16:10
but functions (multis) are only ever searched for in the lexical scope, and we must be able to know the entire candidate list at compile time in order to optimize effectively 16:11
failover would prevent that
we used to spec failover, but later decided it was a mistake 16:13
[particle] so now we leave it unspecced, or, up to the implementations to implement :) 16:15
jnthn Heh, I think it's more that it should be spec'd as not happening. 16:16
16:20 rfordinal joined
alester Can someone besides me please log in to rakudo.org? 16:25
PerlJam tries 16:29
yep 16:30
jnthn alester: Seems to work.
PerlJam alester++
alester yay, thanks
jnthn alester++ # thanks for fixing
alester update to httpd installed a module I don't use/support
PerlJam spam-- 16:32
jnthn "instant loans" 16:33
deleted 16:34
TimToady [particle],jnthn: you both seem to assume that S12:1181 doesn't say what it already says....
[particle] TimToady: false laziness on my part, or should i say delegated eagerness ;) 16:35
16:36 rba joined, zetta left 16:37 rba left, rba joined 16:39 elmex joined, szabgab joined
reqamst rakudo: are you here? 16:45
p6eval rakudo 0d4fe0: OUTPUT«Statement not terminated properly at line 2, near "?"␤in Main (src/gen_setting.pm:3460)␤»
PerlJam heh
16:52 Su-Shee joined 17:00 donaldh left 17:04 cdarroch joined, arnsholt_ is now known as arnsholt 17:09 ispy_ joined 17:13 mrsaturn joined
mrsaturn Hello everyone 17:13
17:14 mrsaturn left, SmokeMachine left, mrsaturn joined 17:15 mrsaturn left, mrsaturn joined
TimToady mrsaturn: howdy 17:22
17:26 desertm4x joined
desertm4x Hi. Are there any XML-modules for perl6 that are already usable (e.g. one that can make valid XML documents out of hashes and read the documents they wrote)? 17:28
17:28 mrsaturn left 17:30 justatheory left
TimToady desertm4x: perhaps everyone is too busy implementing XML modules to answer your question :) 17:31
Su-Shee desertm4x: I know of a html and a json grammar, which doesn't really answer your question properly, yes.. ;) 17:32
TimToady pugs used to have ways of doing it, but I don't know about rakudo in that regard
desertm4x Su-Shee: Just wanted to play with Perl6 and thought such a module would be great, but JSON probably fits my purposes as well as XML, so thanks. :-) 17:36
TimToady: Yes, I came across some XML grammers in various states of completition. So that's probably the case. 17:37
yath hm. what's :dba(foo) in STD.pm? 17:42
diakopter completition is right! 17:43
pmichaud yath: :dba is described in S05
yath pmichaud: thanks
ah 17:44
17:50 rba left 17:52 zloyrusskiy left, zloyrusskiy joined
pmichaud hmmm... the format of test-summary.pl output changed :-( 17:53
pmichaud looks to fix it 17:54
dalek kudo: dfa5853 | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 433 files, 12402 (70.0% of 17706) pass, 0 fail
17:58
kudo: 3b94522 | pmichaud++ | tools/test_summary.pl:
Remove the $testdate value as the first item in test_summary.pl output,

spectest_progress.csv output. We might see about adding $testdate as an additional column at the end.
18:04
kudo: 6c21d0c | pmichaud++ | tools/test_summary.pl:
9 characters isn't sufficient to display qq{"Synopsis",} .
kudo: 47057c1 | pmichaud++ | .gitignore:
Update .gitignore with more untracked but generated files.
jnthn Woo, we finally made 70% ;-) 18:06
18:08 rba joined 18:09 hercynium joined
TimToady jnthn: we can fix that :) 18:10
takadonet !!!! 18:11
Come on 80%!
diakopter 70% of xx% - what is xx%?
jnthn dalek: 70% of the current spectests suite. 18:12
erm, diakopter ^^
pmichaud xx == 100 :-)
18:12 zloyrusskiy left
TimToady how many of the 70% are fudged? 18:12
jnthn ;-)
pmichaud none
jnthn TimToady: I think those are actual passes.
pmichaud we only report passing tests
s/report/count/ 18:13
it's 70% of tests, not 70% of test files
TimToady kewl
jnthn Need more tests.
;-)
TimToady would you prefer passing tests or failing tests?
pmichaud Yes.
TimToady pmichaud++ 18:14
pmichaud std: syntax error? 18:16
p6eval std 28070: OUTPUT«===SORRY!===␤Obsolete use of ?: for the conditional operator; in Perl 6 please use ??!! instead at /tmp/is9LleHqR4 line 1:␤------> syntax error?⏏<EOL>␤Undeclared routine:␤ error used at 1 ␤FAILED 00:02 37m␤»
18:17 mberends joined
TimToady hmm, really shoudn't say that unless there's a : nearby... 18:18
pmichaud heh
I was just trying to get the correct form of "SORRY!" for my error message :-) 18:19
but yes, it does appear to be LTA error message
TimToady maybe I should change it TERRIBLY SORRY!!!!
AWEFULLY SORRY!!! 18:20
pmichaud only when the error message is LTA, though.
===SORRY!===\nI tried to produce an awesome error message, but couldn't do so. Please send me back to the implementors for updating.
TimToady ===SORRY===\nConfused 18:21
is shorter
jnthn ===SORRY===\nI dunno wtf you meant 18:22
TimToady ===SORRY!===\nLTA program 18:23
pmichaud ===SORRY!===\nKen Thompson would know what to do.
synth ===PLEASE INSERT QUARTER===\n 18:24
TimToady std: ===PLEASE INSERT QUARTER=== 18:25
p6eval std 28070: OUTPUT«===SORRY!===␤Preceding operator expects term, but found infix === instead at /tmp/IyVBoTSjqH line 1:␤------> ===⏏PLEASE INSERT QUARTER===␤FAILED 00:02 37m␤»
pmichaud std gives no quarter
TimToady odd think is that the preceding operator is apparently off the front end of the program 18:26
should probably say Preceding context instead
pmichaud perhaps we should select from a set of apologies when issuing error messages. ===SORRY!=== ===OOPS!=== ===DRAT!=== ===UH OH!=== 18:27
pugs_svn r28071 | lwall++ | [STD] improve message on unexpected infix
pmichaud ===OUCH!===
TimToady ===WTF!?!===
pmichaud ===HUH?=== 18:28
===OMGFAIL===
TimToady I actually considered HUH...
18:28 jan_ joined
synth it's sufficient 18:29
18:29 rfordinal left
diakopter jnthn: I meant xx to mean the percentage of the eventual complete test suite that are already in existence 18:31
std: *(*) 18:33
p6eval std 28070: OUTPUT«ok 00:02 37m␤»
diakopter std: *(*)* 18:34
p6eval std 28070: OUTPUT«===SORRY!===␤Confused at /tmp/rac2DMC1Vu line 1 (EOF):␤------> *(*)*⏏<EOL>␤ expecting any of:␤ noun␤ prefix or noun␤ standard stopper␤ term␤ terminator␤ whitespace␤FAILED 00:03 40m␤»
TimToady std: **(**)** 18:35
p6eval std 28070: OUTPUT«===SORRY!===␤Confused at /tmp/BqexBFooVM line 1 (EOF):␤------> **(**)**⏏<EOL>␤ expecting any of:␤ noun␤ prefix or noun␤ standard stopper␤ term␤ terminator␤ whitespace␤FAILED 00:03 40m␤»
18:35 PZt left
TimToady std: * *(**)* * 18:35
p6eval std 28070: OUTPUT«ok 00:02 37m␤»
18:36 Front_slash left
synth nice 18:36
TimToady std: ***(**)***
18:36 PZt joined
p6eval std 28070: OUTPUT«ok 00:02 37m␤» 18:36
pmichaud diakopter: given that we don't yet know the size of the spec, it's a little hard to know the size of the spectest suite beyond "100%" :-)
dalek kudo: bd7533f | pmichaud++ | Configure.pl:
Improve the error diagnostics when someone tries to build Rakudo

messages themselves look a bit more STD-like ("===SORRY!===").
18:37
18:38 molaf joined
pmichaud an idle thought while out for a walk: how many people are going to expect sin(*) to work the same as *.sin ? 18:51
diakopter std: *.sin 18:52
p6eval std 28071: OUTPUT«ok 00:02 37m␤»
18:52 DakeDesu is now known as KatrinaTheLamia
colomon pmichaud: It does already for a fair number of functions, yes? 18:53
pmichaud colomon: none as far as I know.
colomon pmichaud: sort, grep, map come to mind
rakudo: say map { $_ * $_ }, 1..10; 18:54
pmichaud colomon: I mean literally Whatever, not sin($x) being the same as $x.sin
p6eval rakudo 0d4fe0: OUTPUT«149162536496481100␤»
colomon oh..
pmichaud not only that, but none of sort, grep, or map are actually the same functionally as methodly
map({...}, @list) is not the same as {...}.map(@list) :_)
colomon Really?
pmichaud it's @list.map({...}) 18:55
colomon I mean, I can understand if they are implemented different ways, but they produce identical results, no?
pmichaud I'm saying that unlike other exported methods, map/grep/sort function forms have different signatures from the method forms
colomon Still, I guess I can answer your original question in the negative, as I had never expected either sin(*) or *.sin to work. :) 18:56
pmichaud well, *.sin is specced to work
it returns { $_.sin }
colomon And sin(*) does not return sin($_)?
BTW, I have to say that 25 years of mathematical training screams out to me that $n.sin is Just Plain Wrong. 18:58
TimToady no, it should return { sin($_) } if it returns anything
colomon Apparently there is a subtly to the original question that I am unable to grasp. :| 18:59
19:00 molaf left
pmichaud well, as things are currently defined (in my head), it would seem to me that sin(*) would end up trying to do WhateverCode.sin or something like that 19:03
I'm wondering if * needs to be dispatch-special similar to how Junctions are dispatch-special
either that or we also write Whatever/WhateverCode versions of all of the builtin functions
diakopter std: ******************* 19:04
p6eval std 28071: OUTPUT«===SORRY!===␤Confused at /tmp/PFL5PnwSUC line 1 (EOF):␤------> *******************⏏<EOL>␤ expecting any of:␤ noun␤ prefix or noun␤ standard stopper␤ term␤ terminator␤ whitespace␤FAILED 00:03 40m␤»
pmichaud but someone is still going to be a little surprised when method myfoo() is export { ... } ends up with different results for *.myfoo and myfoo(*)
TimToady I think I'm not too worried about that 19:06
* magic probably doesn't want to be buried down in argument lists
pmichaud (keyboard battery died) 19:08
yes, myfoo(*) probably doesn't bind anyway.
19:08 hercynium left
pmichaud Unfortunately sin(*) does match sin(Any), so we probably want to do something smart-ish with that case. 19:08
colomon sin(Any) numifies its input? 19:11
pmichaud in general, yes. 19:12
so that: my @list = <3 4 5>; say sin($_) for @list; # works
or even 19:13
my $x = prompt "Enter a number: "; say sin($x);
PerlJam Did the coercable Name() make it into the spec yet? 19:14
pmichaud PerlJam: you mean like Str($x) ? It's been there for a while 19:15
colomon pmichaud: Oooo, even nicer than I was thinking. 19:16
PerlJam pmichaud: no, like sub sin(Num() $x) { ... } $x can be an Any that is coerced into a Num.
Num() is short for Num(Any)
pmichaud oh, I haven't seen that yet
(in the spec)
(I could've easily missed it)
moritz_ I don't think it's in yet 19:18
colomon It was just talked about this week on #perl6, as far as I know.
pmichaud jnthn: ping
PerlJam colomon: aye, but things happen amazingly fast around here some times :)
jnthn pmichaud: p0ng 19:19
pmichaud in actions.pm:3154, we add some inline PIR that sets the $!real_self property on blocks 19:20
is there a reason why we don't just do this in !fixup_routine_type ?
jnthn nod
Hmm
There may be, but it's been sufficiently long since I put it in...
Is there a comment explaining why we have it?
pmichaud why we have $!real_self ? 19:21
or why we do it separately?
jnthn Either. ;-)
pmichaud there's a comment explaining $!real_self
jnthn Though I know why we have $!real_self.
Right
pmichaud and I know what it's for
afaict nearly everywhere that we call fixup_routine_type we also end up setting real_self
jnthn It may be that we can do it in !fixup_block_type
pmichaud or we *should* be doing so
jnthn erm, !fixup_routine_type
Yeah
pmichaud okay, I'll see if that work.s 19:22
jnthn Yeah
pmichaud will save us some code, make things cleaner
jnthn I'm not sure why I'd have not done that in the first place, that's all.
It is the more obvious place to put it...
pmichaud perhaps real_self pre-dated fixup_routine_type
it'd be easy to overlook.
anyway, I'll try it and see what explodes :)
jnthn Maybe.
pmichaud afaict actions.pm is the only real place where those occur, and they occur next to each other. gen_whatever uses fixup_routine_type also, but I'm refactoring it now 19:23
(rakudo day for me today is to see if I can get builtin operator overloading working, and perhaps start moving operators to setting)
19:25 desertm4x left
jnthn Nice Rakudo day plan. :-) 19:31
The more we can move to the setting, the better.
19:31 icwiener left 19:32 icwiener joined
PerlJam pmichaud: aren't you going to have some kids impinging upon your reality soon? 19:32
pmichaud kids have homework. :) 19:35
so yes, there will be kids here, but I think I'll be able to shield my portion of reality from too many interruptions 19:36
PerlJam (interruption shields)++ 19:37
pmichaud besides, kids have a bedtime, and productive stuff often takes place after that :)
speaking of which, have to go pick up a kid from school now. 19:39
But I'm running a spectest while I'm gone :)
19:43 jauaor left
colomon So, does the different between sin($x) and $x.sin imply that there are situations for which $x.sin won't work but sin($x) will? 19:46
rakudo: say sin(1..10).perl; 19:47
p6eval rakudo 0d4fe0: OUTPUT«Return value type check failed; expected Num, but got Range␤in method Any::!to-radians (src/gen_setting.pm:371)␤called from method Num::sin (src/gen_setting.pm:1382)␤called from Main (/tmp/iZuQWn6pEP:2)␤»
colomon rakudo: my @a = 1..10; say sin(@a).perl
p6eval rakudo 0d4fe0: OUTPUT«Return value type check failed; expected Num, but got Array␤in method Any::!to-radians (src/gen_setting.pm:371)␤called from method Num::sin (src/gen_setting.pm:1382)␤called from Main (/tmp/LnRSGruzFD:2)␤»
colomon rakudo: my @a = 1..10; say sin(@a); 19:48
p6eval rakudo 0d4fe0: OUTPUT«Return value type check failed; expected Num, but got Array␤in method Any::!to-radians (src/gen_setting.pm:371)␤called from method Num::sin (src/gen_setting.pm:1382)␤called from Main (/tmp/FUASvFYkVb:2)␤»
colomon Hmmm... sin(Any) not implemented fully yet?
TimToady apparently not 19:49
cognominal TimToady, should @a.[+] supported as equivalent to [+] @a to support a left ro right style so as to be able to write @a.[+].whatever.more ? But then .[*] should be special cased to be special cased to be a postcircumfix .[] with a Whatever
oops 19:50
TimToady too ambiguous with subscripting
cognominal TimToady, should @a.[+] supported as equivalent to [+] @a to support a left ro right style so as to be able to write @a.[+].whatever.more ? But then .[*] should be special cased to be a postcircumfix .[] with a Whatever
ok
TimToady in theory you can write @a.:<[+]> 19:51
S03:385 19:52
colomon Hmmm.... Num.sin defined in setting, but I don't see a trace of sin(Any) there.
TimToady "There it was, gone completely!" 19:53
cognominal nice indeed
pmichaud colomon: we haven't defined it yet, that's why Rakudo fails 3.sin 19:54
takadonet cya everyone tomorrow
19:55 kolibrie left
colomon rakudo: say 3.sin; 19:55
TimToady
.oO(Cover Your Ass?!?)
19:55 takadonet left
p6eval rakudo 0d4fe0: OUTPUT«Method 'sin' not found for invocant of class 'Int'␤» 19:55
colomon But Num.pm has "our Num multi method sin($base = 'radians') is export"
I thought the problem was that 3 is not a Num?
pmichaud the problem is that Any.sin isn't defined yet 19:56
colomon rakudo: say Num(3).sin;
19:56 Chillance left
p6eval rakudo 0d4fe0: OUTPUT«invoke() not implemented in class 'Float'␤in Main (/tmp/iV1nGAK0rB:2)␤» 19:56
pmichaud in Any, we should have: our Num multi method sin($base = 'radians') is export { (+self).sin(:$base); }
colomon Ah. 19:57
pmichaud or perhaps self.Num.sin(:$base)
TimToady NB: bases aren't supposed to be strings anymore according to spec
pmichaud ah, good point
colomon And we can't do that because of the problems with operators call different versions of themselves?
pmichaud colomon: I suspect it just hasn't been done yet.
colomon: I don't think there's an issue with doing it now. You're welcome ot try and see if it works if you'd like :) 19:58
TimToady everyone keeps going off on a tangent
pmichaud and sin isn't an operator :)
colomon TimToady: that 'cos we care about the little details.
TimToady well, it's supposed ot be
pmichaud well, maybe it's a prefix: operator
TimToady one of the few real named unaries left
TimToady blames the mathematicians
pmichaud I have to say that 25 years of dealing with people with mathematical training makes me want to blame them for today's difficulties. :-) :-) 19:59
colomon :P 20:00
20:01 icwiener left
colomon does anyone have a quick idea where 3.sin would be in the spectests? 20:02
pmichaud S32-num
colomon (I've just hacked my setting.)
pmichaud or -trig
colomon pmichaud++
pmichaud or something like that
TimToady phone
pmichaud anyway, S32-*
moritz_ ack '\d\.sin'
no match. 20:03
colomon moritz_: just concluded that myself
Is make t/spec/S32-trig/trig.t 20:05
correct for running just that test file?
moritz_ yes 20:06
colomon Is it changing the setting which is causing that to do a bunch of recompiling?
M_o_C How do you think one could define the term operator? I mean from what I know, technically there's no big difference... 20:07
moritz_ colomon: could well be, yes
colomon M_o_C: That's what caused that glitch in my head. I see operators as just a fancy syntax for functions in p6. (And I like that.) 20:08
pmichaud's suggested Any.sin fails hard. "Maximum recursion depth exceeded." 20:09
moritz_ M_o_C: perhaps with multi sub term:<foo> { 42 }; say foo; # prints 42
colomon: how does it look like?
like sin(+$argument)?
colomon (+self).sin(:$base); 20:10
pmichaud it might need to be self.Num.sin(:$base) 20:11
moritz_ you can print out (+self).WHAT to see if it's really Num()
pmichaud but yes, there could be some ambiguity
M_o_C moritz_: I want to comment with no comment on that :P
colomon okay, trying self.Num.sin(:$base); now
moritz_ like, if +self returns an Int (and it may do so) it will re-dispatch to Any again
M_o_C "<@pmichaud> I have to say that 25 years of dealing with people with mathematical training makes me want to blame them for today's difficulties. :-) :-)" In which way / where were you dealing with them? 20:12
moritz_ rakudo: say 3.Num, 3.Num.WHAT
p6eval rakudo 0d4fe0: OUTPUT«Method 'Num' not found for invocant of class 'Int'␤»
moritz_ ou.ch
colomon Method 'Num' not found for invocant of class 'Int' 20:14
is indeed how my test suite fails now.
Still, that's an improvement. And I can test a float instead easily enough...
errr... except then it won't dispatch to Any? 20:15
moritz_ as a really ugly hack you can multiply by 1.0 :/
20:15 abra left
PerlJam moritz_: that's not ugly; it's traditional! :) 20:16
moritz_ there's no contradiction there
PerlJam yeah, true 20:17
colomon rakudo: say 3.0.sin; 20:18
p6eval rakudo 0d4fe0: OUTPUT«0.141120008059867␤»
colomon Ah. So I've cleverly just dodged testing my new Any.sin function, rather than come up with a test to verify it works.
20:22 pjcj left
colomon rakudo: say "3.0".sin 20:22
p6eval rakudo 0d4fe0: OUTPUT«Method 'sin' not found for invocant of class 'Str'␤» 20:23
[particle] very crafty.
colomon Method 'Num' not found for invocant of class 'Str' ?????
rakudo: say "3.0".Num.sin;
p6eval rakudo 0d4fe0: OUTPUT«Method 'Num' not found for invocant of class 'Str'␤»
colomon rakudo say +"3.0"
[particle] rakudo: say Num('3.0').sin; 20:24
p6eval rakudo 0d4fe0: OUTPUT«invoke() not implemented in class 'Float'␤in Main (/tmp/nSRuSidyI2:2)␤»
[particle] huh?
colomon I think that was mine?
[particle] yep.
+ is giving a Float, not Num
colomon oh no, it was yours. I forgot the colon.
M_o_C No, you fogot the :
yep
colomon rakudo: say +"3.0"
p6eval rakudo 0d4fe0: OUTPUT«3␤»
20:24 kolibrie joined
[particle] ah 20:24
so Num() is returning Float? 20:25
colomon rakudo: say Num(" 20:26
p6eval rakudo 0d4fe0: OUTPUT«Statement not terminated properly at line 2, near "(\""␤in Main (src/gen_setting.pm:3460)␤»
colomon whoops
rakudo: say Num("3.0").WHAT
p6eval rakudo 0d4fe0: OUTPUT«invoke() not implemented in class 'Float'␤in Main (/tmp/iwaU5jHDXC:2)␤»
sjohnson sup colomon
colomon going nuts trying to figure out how rakudo's type system deals with numbers.
20:26 moritz_ sets mode: +ooo colomon [particle] M_o_C
moritz_ rakudo: say (2 + 0.0).WHAT 20:27
p6eval rakudo 0d4fe0: OUTPUT«Num()␤»
colomon ?!!!?
lambdabot Unknown command, try @list
20:27 quietfanatic joined
colomon say (3.0).WHAT 20:27
rakudo: say (3.0).WHAT
p6eval rakudo 0d4fe0: OUTPUT«Num()␤»
quietfanatic What's happening is Num is creating an undefined Num object 20:28
colomon So 3.0 is a Num, but Num(3.0) is a float?
quietfanatic and the () is being interpreted as postcircumfix<( )>
colomon oh.
rakudo: say 3.0.Num.WHAT
p6eval rakudo 0d4fe0: OUTPUT«Method 'Num' not found for invocant of class 'Num'␤»
[particle] *cough*
colomon rotfl 20:29
spinclad rakudo: say Num(3.0).WHAT
p6eval rakudo 0d4fe0: OUTPUT«invoke() not implemented in class 'Float'␤in Main (/tmp/OOLO9rscG7:2)␤»
20:29 pjcj joined
quietfanatic But I think it's a Parrot error message instead of a Perl error message. 20:29
becaue Num is called Flaot
moritz_ aye
PerlJam that's what I'd guess too
rakudo: say Num(3).WHAT 20:30
p6eval rakudo 0d4fe0: OUTPUT«invoke() not implemented in class 'Float'␤in Main (/tmp/VMWn8hyalf:2)␤»
PerlJam shoudl Num().WHAT do something useful too?
spinclad rakudo: say Num(Num).WHAT
quietfanatic rakudo: say 3.0()
p6eval rakudo 0d4fe0: OUTPUT«invoke() not implemented in class 'Float'␤in Main (/tmp/HEnk4pnoq6:2)␤»
rakudo 0d4fe0: OUTPUT«invoke() not implemented in class 'Integer'␤in Main (/tmp/dYrGpsETYM:2)␤»
PerlJam rakudo: say Num().WHAT
p6eval rakudo 0d4fe0: OUTPUT«invoke() not implemented in class 'Float'␤in Main (/tmp/OJwdUOetAf:2)␤»
moritz_ rakudo: say Num.WHAT 20:31
jnthn An error but not that one.
p6eval rakudo 0d4fe0: OUTPUT«Num()␤»
spinclad rakudo: say Num.Num.WHAT
p6eval rakudo 0d4fe0: OUTPUT«Method 'Num' not found for invocant of class ''␤»
PerlJam heh
quietfanatic that class '' gets me a lot. 20:32
20:34 PZt left, PerlJam left, lambdabot left, baest left, RonOreck left, athomason left, KatrinaTheLamia left, lucs left, JarJarBinks left, krakan left, antiphase left, nothingmuch left, Matt-W joined, PZt joined, PerlJam joined, lambdabot joined, baest joined, RonOreck joined, athomason joined, KatrinaTheLamia joined, JarJarBinks joined, lucs joined, buu joined, krakan joined, antiphase joined, nothingmuch joined, irc.freenode.net sets mode: +o Matt-W
sjohnson colomon's bot was cute :) 20:35
and fast!
colomon sjohnson: My bot?
20:35 M_o_C sets mode: -o M_o_C
M_o_C moritz_: I suppose you opped me by accident... 20:35
spinclad .oO{ sjohnson goes out with ___bot on otherside of netsplit 20:36
}
moritz_ M_o_C: not by accident 20:38
sjohnson colomon: yea
helpful too
Daenyth hmmm 20:39
time to get the rakudo package fixed :)
colomon sjohnson: Are you thinking of the temp rakudo-bot from yesterday? That wasn't me, it was another nick that started with c. 20:40
sjohnson oh..
oops
spinclad (carlin++, and ianebot) 20:41
sjohnson well i did enjoy us talking about the given statement
that was definitely you that time
colomon sjohnson: absolutely, but carlin++ and given++
I was on when carlin did it, but I have no idea how to set up a bot.
sjohnson and colomon++
20:42 quietfanatic left
pmichaud yay, spectests pass! 20:44
jnthn pmichaud: yay :-)
pmichaud: Just the $!real_self change?
pmichaud yes
jnthn pmichaud: or other?
OK
pmichaud but that's a nice change 20:45
jnthn Yes, it is
moritz_ colomon: it's not hard - the bot is in the pugs repo in misc/evalbot/, just a few paths to adapt
pmichaud it makes it easier to write PIR subs with signatures.
moritz_ and you need a rakudo installed somewhere
(I don't say that to smaller carlin++'s deeds, just to demystify it)
colomon moritz_++: Easy for you to say it's easy, you wrote it. 20:46
sjohnson it has gone from witchcraft to a simple configuration in my mind
jnthn pmichaud: Aye, but I'm hoping we can have not so many of those...
dalek kudo: 3a4cc55 | pmichaud++ | src/ (2 files):
Move $!real_self setting from actions.pm into !fixup_routine_type.
20:47
20:47 Su-Shee left
pmichaud at the moment I'm just looking at the Whatever subs. But they're pretty easy to set up. 20:47
jnthn Oh, generated. No problem.
Daenyth rakudo 2009-08 can "make install", right?
moritz_ wonders who'll be the first to make another pun on Whatever
Daenyth: yes 20:48
Daenyth woo
pmichaud Daenyth: it installs to wherever the Parrot used to build it happens to be installed
(patches welcome to get Rakudo's --prefix to be passed to --gen-parrot)
moritz_ (and actually you need 'make install' for 2009-08 if you want to run perl6 outside of the build directory
Daenyth pmichaud: can I redirect that? I'm packaging it
20:49 masak joined
pmichaud Daenyth: you can redirect it only partially. Some of the installed files must go into the parrot install locations in order for Parrot to find them. 20:49
Daenyth I mean, it would rely on the parrot package, so it would install to the same system location after package installation, but after compiling I need the make install to dump all the files into a specific dir so I can bundle it up
pmichaud what packaging system?
Daenyth which reminds me, I have to update arch's parrot to 1.5 from .4
arch
pmichaud ah 20:50
Daenyth all it should need is a DESTDIR=, if your Makefile supports that
pmichaud it does.
Daenyth then I'm set
pmichaud double-checks.
yes, the "make install" target honors DESTDIR
Daenyth okies
now to go update our parrot :) 20:51
pmichaud ooooh, how pretty! 20:53
perl6.org/ # ymmv depending on DNS cache expiration 20:54
M_o_C nice
moritz_ pmichaud: are you going to blog about it, or should I?
pmichaud moritz_: you should get the honors, unless you don't want to do it :)
moritz_ pmichaud: I don't think I'm sufficiently concentrated to do proper programming tonight, so I might just as well blog about it ;-) 20:55
pmichaud moritz_: sounds great.
I think we can change the title from "Welcome to Perl 6 Projects" to "Welcome to Perl 6"
moritz_ I was just about to do that ;-)
(I'd have done that even without the domain change) 20:56
pmichaud now let's see if I can get perl.org/dev/perl6 to redirect there. :)
moritz_ speaking of websites... anybody wants shell access to feather2 to increase our bus number?
pmichaud: wait a bit with that please
pmichaud okay, I'll wait.
moritz_ there still valuable pages on there
like the mailing list info
I don't think we have duplicated that anywhere yet 20:57
pmichaud I was only going to see about redirecting dev/ itself.
not the subpages
moritz_ better.
pmichaud although it probably makes sense to redirect many of those, too.
moritz_ what do you think of a <title> tag "Perl 6 - the future of programming"? 20:58
Daenyth should the rakudo-git package depend on parrot>=1.5 or just depend on parrot-svn?
pmichaud not bad... but some people might relate it to "perpetually in the future" (a la Duke Nukem 3d)
moritz_ Daenyth: actually it should depend on the svn revision iin build/PARROT_REVISION 20:59
pmichaud Daenyth: the rakudo releases tie to the parrot releases
moritz_ Daenyth: but parrot-svn is a good approximation most of the time
pmichaud but in-between-releases from git often require newer versions of parrot
Daenyth moritz_: hmm... ok. I'm just trying to think of the best way to do it for the package manager
the only problem with depending on parrot-svn is that the user's version could be ancient
oh I know 21:00
moritz_ in which case Configure.pl will complain loudly
Daenyth hmm true
yeah, I guess anyone using a rakudo-git package would have the common sense to figure it out
moritz_ any good ideas for a catchy <title> tag for perl6.org? 21:01
pugs_svn r28072 | moritz++ | [perl6-projects.org] simplified title and headings
moritz_ I've now just used <title>Perl 6</title> - guess it's a start 21:02
pmichaud I was going to suggest that simple is often best :)
Daenyth Perl6 - The language of choice for DNF developers
pmichaud lol
21:03 mberends left
colomon After the magic of shuffling with .=pick(*), I almost expect .=dnf to be an easter egg... 21:06
Daenyth omploader.org/vMjgycw 21:07
Does that look as it should?
that's after make && make install
pmichaud looks right to me 21:08
moritz_ Daenyth: it's easy - if perl6 -e 'say "hi"' works, chances are that it's right
Daenyth heh
21:09 iblechbot left
Daenyth should I include src/docs in the package? 21:09
cognominal rakudo: e ** 0
p6eval rakudo 0d4fe0: OUTPUT«** (HyperWhatever) is not yet implemented at line 2, near " 0"␤in Main (src/gen_setting.pm:2534)␤»
Daenyth hyperwhatever
I like that name :>
moritz_ Daenyth: in that case it means that the ** is parsed as a term 21:10
Daenyth indeed
lisppaste3 M_o_C pasted "Error -1073741819" at paste.lisp.org/display/86096
cognominal hum, here it gives 2.71828182845905 which is fishy.
M_o_C Is someone familiar with that error?
cognominal rakudo: say e ** 0
moritz_ Daenyth: including docs/ wouldn't hurt, but not everything in there is relevant for the user
p6eval rakudo 0d4fe0: OUTPUT«** (HyperWhatever) is not yet implemented at line 2, near " 0"␤in Main (src/gen_setting.pm:2534)␤»
moritz_ rakudo: say e() *** 0
p6eval rakudo 0d4fe0: OUTPUT«Statement not terminated properly at line 2, near "0"␤in Main (src/gen_setting.pm:3460)␤» 21:11
moritz_ rakudo: say e() ** 0
p6eval rakudo 0d4fe0: OUTPUT«1␤»
Daenyth moritz_: alright, I'll skip for now (laziness++), and then if people yell at me I'll throw it in :D
cognominal ho, I ran an old rakudo
pmichaud the rakudo DarkPAN strikes again :)
cognominal :)
moritz_ cognominal: so it gave 2.718 because of a misparse 21:12
21:12 nihiliad left
moritz_ basically e is a parsed as a function (listop) now, and should be parsed as a term 21:12
after which an operator is expected
cognominal indeed...
Daenyth omploader.org/vMjgydg
Does that look sane to everyone?
moritz_ license=(GPL PerlArtistic) 21:13
what does that mean?
pmichaud Daenyth: looks good to me. Note that Rakudo version number strings will likely switch to "2009.08" or "200908" instead of "2009-08"
moritz_ Rakudo is licensend under Artistic 2.0
pmichaud Rakudo's license is PAL 2.0
Daenyth moritz_: rakudo is under the same license as perl, correct?
moritz_ which is compatible to GPL
masak rakudo: **6 21:14
moritz_ but it's not explicitly dual-licensed
p6eval rakudo 0d4fe0: OUTPUT«** (HyperWhatever) is not yet implemented at line 2, near "6"␤in Main (src/gen_setting.pm:2534)␤»
pmichaud it's not the same as Perl 5
(older Perl 5s, at any rate)
see the LICENSE file for Rakudo
Daenyth pmichaud: that would be helpful, then I could put it in pkgver (can't now because the '-' would cause parsing conflicts with the package filename)
moritz_: ah ok
pmichaud Daenyth: have a preference between the dotted versus non-dotted form?
21:14 Whiteknight joined
Daenyth pmichaud: dotted is easier for me to vparse 21:14
pmichaud okay. I'll likely make that change starting with Sep release 21:15
Daenyth does a little dance
moritz_: alright, fixed the license line
should be all set now
moritz_ Daenyth++
pmichaud Daenyth: if you'd like us to add that file into the repo itself, we can do so. 21:16
Daenyth pmichaud: momentarily
I'm going to change pkgver from 20 to 2009.08 in anticipation of next month
So people don't get confused
pmichaud wfm
21:17 ruoso left
Daenyth aur.archlinux.org/packages.php?ID=29068 all set 21:17
pmichaud I might make a test version of the 2009.08 release.
Daenyth hmm 21:18
pmichaud: would that be the git repo, or pugs, or..
21:19 tlbdk joined
pmichaud pmichaud: git repo (downloads) 21:20
Daenyth mm 21:22
21:22 tlbdk left
Daenyth Perhaps a mention under INSTALL that "A package for Arch Linux is available in the AUR(link)", rather than that.. I think keeping it in there would be too easy to get out of sync. I don't object though if you really want it there 21:22
21:23 huf_ is now known as huf
moritz_ I think a link is fine. 21:23
Daenyth yeah
pugs_svn r28073 | pmichaud++ | Improve consistency of punctuation a bit.
pmichaud oops, I forgot to put [perl6-projects] in my commit message. pmichaud--
Daenyth Generally archers are encouraged to stick to the AUR for PKGBUILD files rather than elsewhere 21:24
pmichaud a link is fine with me
21:24 hercynium joined
moritz_ Daenyth: we go with whatever downstream prefers. 21:24
Daenyth yeah, a link would be best IMO
pmichaud feel free to patch the README, announcements, release-guide, etc. with updates
(i.e., how you think it ought to be handled)
Daenyth in the future I may add a binary release to the community repository, but I'm going to wait on that for a few weeks I think
masak I have a bit more data on the "are people using proto?" question from a couple of days ago. my commit from three days back essentially broke proto, putting it in an endless config loop. the emails I'm getting from people tell me that, yes, proto has users.
moritz_ great 21:25
masak I'm pondering reverting or partially reverting that commit.
it won't do any good anyway until we've sat down and drafted up the new directory model. 21:26
Daenyth pmichaud: I'll leave that to your discretion. Just the setence and a link will be fine, I'll let you know when I add a binary package to our repos
pmichaud if you leave it to me, it might not happen :)
file a ticket, then. :-)
(I might forget to do it)
Daenyth May as well fork/pullreq in that case :P
21:27 tlbdk joined
moritz_ Daenyth: if you do, please notify us here, we usually don't work with pull requests 21:27
Daenyth Would you prefer me to send you a git formatted patch?
pmichaud that works (well) 21:28
Daenyth np
pmichaud that's our recommended approach atm
Daenyth gimme a bit
shame that github doesn't parse pod for README files
it should
102 files changed, 4776 insertions(+), 2021 deletions(-).... 21:31
heh, looks like I haven't pulled in a while :P
lisppaste3 moritz_ pasted "blog post about perl6.org (preview)" at paste.lisp.org/display/86098
moritz_ comments welcome ;-)
masak ooh, a preview!
pmichaud Daniel Wright is more than an attendee of YAPC conferences -- he helps organize them. 21:32
Daenyth Should I add another "=head2 Installing on Arch Linux" or so?
I'm not sure what would read best
or head3, whichever 21:33
moritz_ Daenyth: maybe a general section about OS packages
masak moritz_: s/- and give/- and gave/
Daenyth alrighty
pmichaud I don't know either. Take your best guess; someone will refactor it for improvement at some point
moritz_ pmichaud, masak: thanks; extended/fixed 21:34
pmichaud decides to see how many tests we fail outright when Whatever support is absent. 21:35
Daenyth What's the way in pod to do a link with a string of text? 21:37
or should I just add the url in?
21:37 Limbic_Region joined
moritz_ just add the URL with L<http:/...> 21:37
Daenyth ok
colomon moritz_: looks good to me. 21:38
Daenyth omploader.org/vMjgyeQ Does this look appropriate? 21:39
feel free to munge it however you like
moritz_ Daenyth: looks good, I'll apply.
Daenyth :D 21:40
moritz_ pushed. 21:41
Daenyth Thanks :)
moritz_ thank you!
Daenyth You're welcome :) 21:42
masak Daenyth++
21:43 KyleHa left, justatheory joined
dalek kudo: ec2f831 | Daenyth++ | README:
README: Added section about Rakudo packages, and a link to the Arch Linux package

Signed-off-by: Moritz Lenz [email@hidden.address]
21:46
21:57 nihiliad joined 22:06 tlbdk left 22:10 alester left 22:11 M_o_C left
moritz_ perlgeek.de/blog-en/perl-6/a-shiny-...6-org.html btw 22:13
22:14 pmurias left 22:15 ispy_ left 22:17 masak left
pmichaud jnthn: ping 22:18
jnthn pmichaud: oh hai
pmichaud I think I'm about to do something of which you might disapprove :)
22:18 explorer joined
jnthn That's fine, I have a commit bit to make you disapprove with tomorrow. :-P 22:18
I'm guessing regress the Whatever tests? 22:19
pmichaud no, definitely not that
jnthn Ah, OK.
:-)
pmichaud I'm thinking of writing a routine that converts Parrot's :multi() sigs into Rakudo-compatible signature objects
moritz_ would greatly disapprove of that, given he just spent time writing an obfu that's based on Whatevers
(of breaking whatevers, that is) 22:20
pmichaud i.e., to make it easier to bless PIR-based :multis into Rakudo-compatible ones
jnthn You think you can manage that from PIR?
pmichaud yes, unless you see a huge obstacle I'm overlooking
jnthn Or you thinking C?
pmichaud I may have to write one dynop to lookup type objects from type integers
jnthn If you can get hold of the way to do it...
pmichaud I'm very much okay with the notion that we should be writing most of our operators in P6 22:21
however, I'm worried that our generated setup/takedown might be too expensive for a few common operators
and being able to easily take a PIR :multi and convert it to a Rakudo one could be useful for that
jnthn I've no issues with it, aside from you're just going to layer a little more upon a signatures implementation that is going to look radically different. But not until October, so certainly don't wait.
pmichaud I don't mind if it disappears entirely with your work 22:22
it's meant to get us just a bit farther along without a performance hit until we get to the point where it's actually faster to do the multis in pure p6 :)
jnthn I'm hoping I'll be able to deal with the performance concerns in with my work too, fwiw.
pmichaud exactly.
another way of phrasing it -- I'm trying to shim in builtin operator overloading 22:23
and that might be easier with this approach
jnthn Sure, I don't disapprove.
pmichaud than it will be to rewrite all of the builtins as P6 multis
okay.
good.
jnthn I just wouldn't expect it to be something that lives for too many months. :-)
pmichaud that's perfectly fine. 22:24
I can either do a lot of work making everything into p6 multis (and possibly slowing things down a lot), or have Rakudo automatically do it for a while.
22:25 zamolxes joined
pmichaud okay, that's all I needed for now, thanks. Time for dinner here. 22:25
jnthn OK, enjoy dinner. :-)
jnthn gets back to his mail server migration 22:26
Which is, it goes without saying, a lot less interesting than Perl 6... 22:27
diakopter twimc: I set perl6[dot].com to redirect to perl6.org ..
22:27 Limbic_Region left
jnthn diakopter++ 22:28
22:30 SmokeMachine joined 22:33 SmokeMachine left 22:35 rba left 22:39 kborer joined, SmokeMachine joined
diakopter hunh; perl6.us points there too 22:41
and .info
and .net
and .biz
22:45 kborer_ joined
TimToady moritz_: one little problem, the current perl6.org doesn't appear to be Su-Shee's yet 22:51
22:53 kborer__ joined 22:56 eMaX left 22:57 kborer left, kborer__ is now known as kborer
Daenyth I'm off for a bit.. later all. Pm me if anyone needs anything, I'll be around 22:59
22:59 Daenyth left
pugs_svn r28074 | diakopter++ | add svn:mime-types so the perl6-projects.org can be previewed directly from svn http... 23:02
diakopter TimToady: which is Su-Shee's? 23:03
TimToady I don't believe she's checked it in yet 23:05
23:06 kborer_ left 23:09 zamolxes left
TimToady oh, wait, this is her design of more than a month ago, so it's still all true 23:13
nm
didn't go back far enough in the logs orz
was thinking of her mockups of a few days ago 23:14
23:15 tak11 joined
TimToady The fact that it is all lies is all lies... 23:15
23:24 payload left 23:31 SmokeMachine left 23:33 cdarroch left 23:34 payload joined 23:36 someone joined, someone is now known as Guest42107 23:37 zamolxes joined
sjohnson perl 6 (or p5 way) to shift index points of an array? 23:39
lets say you had an array, (a, b, c), and you wanted the start of the array to then be the 2nd element, and have it wrap so it returned (b, c, a) 23:41
23:41 kborer left
diakopter (a, b, c) << 1 23:42
(kidding) 23:43
23:43 Jedai left, rba joined
sjohnson that is kinda the idea i would like to see though 23:44
diakopter (a, b, c).<<(1)
23:44 Jedai joined, Limbic_Region joined 23:45 quietfanatic joined
sjohnson rakudo: say (a, b, c).<<(1).perl 23:45
p6eval rakudo 0d4fe0: OUTPUT«Statement not terminated properly at line 2, near ".<<(1).per"␤in Main (src/gen_setting.pm:3460)␤»
quietfanatic rakudo: say <a b c>.rotate(1)
p6eval rakudo 0d4fe0: OUTPUT«bca␤»
quietfanatic There.
rakudo: say <a b c>.rotate 23:46
p6eval rakudo 0d4fe0: OUTPUT«bca␤»
sjohnson quietfanatic++
rakudo: say <a b c>.rotate(2);
p6eval rakudo 0d4fe0: OUTPUT«cab␤»
sjohnson thanks quietfanatic
rakudo: say <a b c>.rotate(3);
23:46 TimToady sets mode: +o quietfanatic
p6eval rakudo 0d4fe0: OUTPUT«abc␤» 23:46
sjohnson rakudo: say <a b c>.rotate(4);
p6eval rakudo 0d4fe0: ( no output ) 23:47
sjohnson i broketed it
is this technology available to p5?
quietfanatic rakudo: say <a b c>.rotate(-1)
p6eval rakudo 0d4fe0: OUTPUT«cab␤»
sjohnson *googling*
quietfanatic There's probably a module.
TimToady you can push a splice 23:48
Limbic_Region quietfanatic - are you hacking on Rakudo now?
jnthn rakudo: say <a b c>.rotate(4); # works for me locally...
p6eval rakudo 0d4fe0: OUTPUT«bca␤»
jnthn heh, not br0ke
23:49 Guest42107 left
sjohnson thanks TimToady 23:49
quietfanatic Limbic_Region: me? No.
Limbic_Region quietfanatic - Parrot then?
quietfanatic No. I'm writing a game engine in Perl 6 though 23:50
...which requires the SDL library
Limbic_Region ah
quietfanatic ...which requires fiddling around with Parrot.
Limbic_Region too bad we lost luqui - it wouldn't have taken much to con him into helping if you mentioned game engine 23:51
IIRC, chromatic has done the most SDL stuff with Parrot but I might be misremembering
quietfanatic It's very rudimentary currently
As in, just colored blocks, no images or anything
sjohnson hmm, shouldn't rotate be able to rotate past the string length? 23:52
kind of like the caesar "utility" in bsdgames
Limbic_Region quietfanatic - would it be able to do something like this perlmonks.org/?node_id=559228 23:53
?
sjohnson is there anything that Perl 6 cannot do?
TimToady yes
quietfanatic If you mean calculate the solution, you don't need a game engine. 23:54
If you mean simulating playing with it, maybe.
Limbic_Region the latter
23:54 synth left
Limbic_Region or rather, be able to represent the rotations as one of the solutions algorithm runs 23:55
quietfanatic Probably.
I suppose you'de have the cubes laid out vertically with the sides laid out horizontally...
sjohnson rakudo: say <ART2 BIO1 BIO3>.rotate(2); 23:56
quietfanatic ...or something.
p6eval rakudo 0d4fe0: OUTPUT«BIO3ART2BIO1␤»
sjohnson rakudo: say <ART2 BIO1 BIO3>.rotate(1);
p6eval rakudo 0d4fe0: OUTPUT«BIO1BIO3ART2␤»
sjohnson rakudo: say <a b c d e>.rotate(1);
p6eval rakudo 0d4fe0: OUTPUT«bcdea␤»
sjohnson rakudo: say <ART2 BIO1 BIO3>.rotate(-1); 23:57
p6eval rakudo 0d4fe0: OUTPUT«BIO3ART2BIO1␤»
sjohnson rakudo: say <ART2 BIO1 BIO3>.rotate(-2);
p6eval rakudo 0d4fe0: OUTPUT«BIO1BIO3ART2␤»
sjohnson rakudo: say <a b c d e f g>.rotate(-3); # should be c first 23:58
p6eval rakudo 0d4fe0: OUTPUT«efgabcd␤»
sjohnson rakudo: say <a b c d e f g>.rotate(2); # should be c first
p6eval rakudo 0d4fe0: OUTPUT«cdefgab␤»
sjohnson rakudo: say <a b c d e f g>.rotate(4); # should be c first
p6eval rakudo 0d4fe0: OUTPUT«efgabcd␤»
sjohnson sorry for spamming the bots guys
TimToady it's the inaccurate comments that bug us :) 23:59
sjohnson haha shuold have changed those as i tried different experiments
lest the devels think that it really should be c