»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | 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 lichtkind on 5 March 2010.
lichtkind lue: so i just wanted him wave too 00:00
00:01 cdarroch left
lue Alright. Only wondering :) 00:02
00:03 yinyin joined
lichtkind lue: he helped me understand coolness of perl 6 :) 00:03
lue rakudo: sub yulia is krassivaya { }
p6eval rakudo b75b2b: OUTPUT«Could not find sub &substr␤current instr.: 'perl6;Signature;_block21375' pc 485274 (src/gen/core.pir:72076)␤»
lue Ah. I think he did the same for me :)
lichtkind lue: your not a russion :)
russian
lue but the RT is :) 00:04
lichtkind i dont get this
lue (at least the bug I'm looking at)
00:04 meppl joined, nihiliad joined 00:07 payload1 joined, payload1 left, payload left
colomon jnthn: yes. 00:17
more at next location. ;)
00:17 colomon left
lue colomon! waaait! 00:19
rakudo: say 999999[1] 00:28
p6eval rakudo b75b2b: OUTPUT«get_pmc_keyed() not implemented in class 'Integer'␤current instr.: 'perl6;Positional[::T];postcircumfix:<[ ]>' pc 10553 (src/metamodel/GrammarHOW.pir:44)␤»
lue rakudo: say 999999[0]
p6eval rakudo b75b2b: OUTPUT«get_pmc_keyed() not implemented in class 'Integer'␤current instr.: 'perl6;Positional[::T];postcircumfix:<[ ]>' pc 10553 (src/metamodel/GrammarHOW.pir:44)␤»
lue rakudo: say 10000000[1]
p6eval rakudo b75b2b: OUTPUT«get_pmc_keyed() not implemented in class 'Integer'␤current instr.: 'perl6;Positional[::T];postcircumfix:<[ ]>' pc 10553 (src/metamodel/GrammarHOW.pir:44)␤»
00:32 jhuni joined 00:38 payload joined
lue rakudo: sub foo($v, $w?, $x?, $y?){ say $v~"|"~$w~"|"~$x~"|"~$y}; foo(1,,3,); 00:42
p6eval rakudo b75b2b: OUTPUT«1|3|Any()|Any()␤»
TimToady std: sub foo($v, $w?, $x?, $y?){ say $v~"|"~$w~"|"~$x~"|"~$y}; foo(1,,3,); 00:43
p6eval std 30331: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix , instead at /tmp/qEnjmerSPc line 1:␤------> ?){ say $v~"|"~$w~"|"~$x~"|"~$y}; foo(1,⏏,3,);␤FAILED 00:01 111m␤»
TimToady Perl 6 does not allow null arguments anywhere except after the final ,
lue But obviously, rakudo does :) 00:44
Perl6: where not an error is an error itself.
TimToady I didn't design rakudo. :)
lue Of course you didn't. If you built rakudo like you built STD, R* would've been released April of '02 :) 00:45
00:48 colomon joined
lue hai colomon o/ 00:48
colomon \o
diakopter well 00:49
TimToady
lue That's.... the answer to divide by zero!
sorear STD doesn't need to actually run code 00:50
which makes things a wee bit easier 00:51
lue if you can parse it, you can compile it.
.oO(First Law of Language Interpreters?)
TimToady well...STD actually runs quite a bit of code--just not your code. :) 00:52
sorear not if your language has syntax for things like a halting oracle
TimToady
sorear or if it's something ludicrously weird to compile like Thue
lue .u ⌽ 00:53
phenny U+233D APL FUNCTIONAL SYMBOL CIRCLE STILE (⌽)
lue .u ⏂
phenny U+23C2 DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE (⏂)
lue DENTISTRY symbol!? Oo
sorear but... what does it look like?
colomon jnthn: ping? 00:54
TimToady std: sub o⃠ {...}; o⃠ 1,2,3
p6eval std 30331: OUTPUT«ok 00:01 107m␤»
ruoso .u o⃠ 00:55
phenny U+006F LATIN SMALL LETTER O (o)
U+20E0 COMBINING ENCLOSING CIRCLE BACKSLASH (⃠)
TimToady sorear: my browser shows it correctly in the log, fwiw
it's the Don't o routine :) 00:56
ruoso doesn't know how to imput that character in gnome -- except copy-n-paste
lue ruoso: you has it easy, you can just hold down a couple of control character (Ctrl+Alt, methinks) and then the hex number of the unicode you wish to use. 00:57
ruoso yeah... in fact I thought I would need to input both as a single character 00:58
but i can just use the second alone after any other character and it will compose them together
TimToady seems to work right here
ruoso ©⃠
lue Learn™ how to do anything™, including input™ Unicode! 00:59
ruoso XChat sometimes has some trouble rendering it tho
TimToady ∅⃠
it's the gyroscope symbol
lue Ø
lue thinks of the french pronouncing XChat as XCat 01:00
01:01 alester_ joined
TimToady \o҉/ 01:01
lue I once read of a guy who figured out the solution to division by zero. People call him crazy, but look anyway: en.wikinews.org/wiki/British_comput...ematicians
.u o҉
phenny U+006F LATIN SMALL LETTER O (o)
U+0489 COMBINING CYRILLIC MILLIONS SIGN (҉)
01:01 alester left, alester_ is now known as alester
lue rakudo: say "\x[0489][006F]" 01:02
p6eval rakudo b75b2b: OUTPUT«҉[006F]␤»
lue rakudo: say "\x[0489, 006F]"
p6eval rakudo b75b2b: OUTPUT«҉o␤»
lue rakudo: say "You could win M\x[0489]illions!";
p6eval rakudo b75b2b: OUTPUT«You could win M҉illions!␤»
TimToady hmm, combining characters as metas....hmm...
lue
.oO(What would that look like?)
01:03
TimToady std: sub Ø {...}; Ø 1 01:05
p6eval std 30331: OUTPUT«ok 00:02 108m␤»
lue .u Φ
phenny U+03A6 GREEK CAPITAL LETTER PHI (Φ)
lue rakudo: say 1/0
p6eval rakudo b75b2b: OUTPUT«Inf␤»
lue perl6: say 1/0 01:06
p6eval pugs: OUTPUT«*** Illegal division by zero␤ at /tmp/sxWO0SlWLi line 1, column 5 - line 2, column 1␤»
..elf 30331: OUTPUT«Illegal division by zero at (eval 122) line 3.␤ at ./elf_h line 5881␤»
..rakudo b75b2b: OUTPUT«Inf␤»
lue rakudo's one of a kind :)
lisppaste3 colomon pasted "Mu troubles for jnthn" at paste.lisp.org/display/97424 01:07
TimToady rakudo: my $x = 1/0; say "alive"; 01:09
p6eval rakudo b75b2b: OUTPUT«alive␤»
TimToady pugs: my $x = 1/0; say "alive"; 01:10
p6eval pugs: OUTPUT«*** Illegal division by zero␤ at /tmp/nlk9bKyRTt line 1, column 4-12␤»
TimToady I guess pugs's rats don't like /0
or /Ø either
colomon does pugs have Rats?
TimToady pugs: say (1/2).WHAT 01:11
p6eval pugs: OUTPUT«Rat␤»
TimToady I smell a Rat.
colomon pugs++
lue I wonder how you would implement trans-real numbers :)
TimToady pugs: say (2/3) ** 20 01:12
p6eval pugs: OUTPUT«0.00030072865982171749425581991985055918␤»
TimToady pugs: say (2/3) * (2/3)
p6eval pugs: OUTPUT«0.4444444444444444444444444444444444444444␤»
TimToady pugs: say ((2/3) * (2/3)).perl
p6eval pugs: OUTPUT«4/9␤»
TimToady pugs: say ((2/3) ** 20).perl
p6eval pugs: OUTPUT«1048576/3486784401␤»
colomon woah
TimToady rakudo: say ((2/3) ** 20).perl
p6eval rakudo b75b2b: OUTPUT«0.000300728659821717␤»
TimToady boo :) 01:13
rakudo: say ((2/3) ** 40).perl
p6eval rakudo b75b2b: OUTPUT«9.04377268381661e-08␤»
TimToady pugs: say ((2/3) ** 40).perl
p6eval pugs: OUTPUT«1099511627776/12157665459056928801␤»
TimToady pugs: say ((2/3) ** 100).perl
p6eval pugs: OUTPUT«1267650600228229401496703205376/515377520732011331036461129765621272702107522001␤»
TimToady FatRats, in fact
lue rakudo: say ((2/3) ** 100).perl 01:14
p6eval rakudo b75b2b: OUTPUT«2.45965442657982e-18␤»
colomon rakudo doesn't treat integer powers any different than other powers.
TimToady would be simple to pick that up with mmd
lue Rakudo doesn't let me flood the IRC with random strings of numbers :(
TimToady no, just random everything else... :P
lue pugs: say pi
p6eval pugs: OUTPUT«3.141592653589793␤»
lue rakudo: say pi
p6eval rakudo b75b2b: OUTPUT«3.14159265358979␤»
TimToady pugs: say pi.WHAT 01:15
p6eval pugs: OUTPUT«Rat␤»
lue
.oO( Rakudo must catch up! :) )
lichtkind gut night
TimToady pugs: say pi.perl
p6eval pugs: OUTPUT«3141592653589793/1000000000000000␤»
lue night o/
TimToady o/
lichtkind \o
colomon \o
TimToady Ø
01:15 lichtkind left
lue that's not right! Pi is clearly IrRat :) 01:15
rakudo: say pi.perl
p6eval rakudo b75b2b: OUTPUT«3.14159265358979␤»
TimToady it's a SneakyRat 01:16
01:16 niros left
lue .u 3141 01:16
phenny U+3141 HANGUL LETTER MIEUM (ㅁ)
lue rakudo: say pi.fmt{'%x'} 01:17
p6eval rakudo b75b2b: OUTPUT«3␤»
lue rakudo: say '16'.fmt{'%x'}
TimToady perl6: say πr²
p6eval rakudo b75b2b: OUTPUT«1␤»
elf 30331: OUTPUT«Undefined subroutine &GLOBAL::πr² called at (eval 123) line 3.␤ at ./elf_h line 5881␤»
..rakudo b75b2b: OUTPUT«Confused at line 11, near "say \u03c0r\x{b2}"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
..pugs: OUTPUT«*** No such subroutine: "&\207\128r\194\178"␤ at /tmp/3DWvASyOBv line 1, column 5 - line 2, column 1␤»
lue rakudo: say 16.fmt{'%x'}
p6eval rakudo b75b2b: OUTPUT«1␤»
TimToady std: say πr²
p6eval std 30331: OUTPUT«Undeclared routine:␤ 'πr²' used at line 1␤ok 00:01 106m␤»
lue erm, maybe I'm doing it wrong?
TimToady what's with the curlies? 01:18
curlies are always closures, and in this case, a hash subscript
rakudo: say ('16'.fmt){'%x'} 01:19
p6eval rakudo b75b2b: OUTPUT«1␤»
TimToady beats me why that says 1 though
lue rakudo: say '16'.fmt('%x')
TimToady rakudo: say 16.fmt
p6eval rakudo b75b2b: OUTPUT«10␤»
rakudo b75b2b: OUTPUT«16␤»
lue see, I can never remember how to use fmt :) 01:20
TimToady it's just a method call
lue rakudo: say 16.fmt('%x')
p6eval rakudo b75b2b: OUTPUT«10␤»
lue rakudo: say pi.fmt('%x')
p6eval rakudo b75b2b: OUTPUT«3␤»
TimToady rakudo: say 16{'%x'}
p6eval rakudo b75b2b: OUTPUT«get_pmc_keyed() not implemented in class 'Integer'␤current instr.: 'perl6;Associative[::T];postcircumfix:<{ }>' pc 13903 (src/builtins/Code.pir:85)␤»
TimToady rakudo: say '16'{'%x'}
p6eval rakudo b75b2b: OUTPUT«1␤»
TimToady o_O
dinner &
lue rakudo: say (pi).fmt('%x')
p6eval rakudo b75b2b: OUTPUT«3␤»
diakopter rakudo: say ''{''} 01:21
p6eval rakudo b75b2b: OUTPUT«␤»
lue pugs: say pi.fmt('%x')
p6eval pugs: OUTPUT«3␤»
lue perl6: say pi.fmt('%x')
p6eval pugs, rakudo b75b2b: OUTPUT«3␤»
..elf 30331: OUTPUT«Undefined subroutine &GLOBAL::pi called at (eval 126) line 3.␤ at ./elf_h line 5881␤»
01:27 ash_ joined
lue afk 01:28
ruoso implementing async IO and missing feed operators 01:30
colomon \o/
ruoso forgot to mention that was Perl 5
ruoso just realized that phrase could be understood as if he was implementing the feed operators.. 01:31
colomon I thought that seemed like a big task... ;) 01:33
ruoso but that does depend on the vm threading model 01:34
since async IO is tightly related to implicit threading
and the threading model is a harder problem per se 01:36
specially if we want to deal with perl5
ruoso .oO( it's so easy to accept a Global Interpreter Lock )
but I always keep getting back at the IO language and Erlang... 01:38
my idea nowadays is around an object "belonging" to a thread, and everytime you want to talk to a foreign object that would result in a message being sent to the thread that owns the objet 01:40
ash_ can parrot IO support serial? 01:42
by extension, does rakudo support serial io? 01:43
ruoso ash_, might be worth asking on #parrot if noone replies around here
ash_ kk, i'll ask 01:46
01:49 colomon_ joined, colomon left, colomon_ is now known as colomon 01:56 Psyche^ joined 02:00 Patterner left, Psyche^ is now known as Patterner
araujo finds some free time to test rakudo in his new machine 02:00
02:02 wknight8111 left 02:06 meppl left 02:09 TiMBuS left 02:16 constant left
sorear I wonder how hard it would be to implement Unicode TR28 in P6 02:18
02:21 constant joined, constant left, constant joined
dalek kudo: 8c434e8 | pmichaud++ | docs/spectest-progress.csv:
pectest-progress.csv update: 386 files, 30548 (79.2% of 38577) pass, 10 fail

S02-literals/listquote-whitespace.rakudo aborted 8 test(s) S06-multi/syntax.rakudo 21 - use multi method to override builtin lives S06-multi/syntax.rakudo 22 - use multi method to override builtin
02:25
sorear excuse me, UTN28 02:28
not UTR28
02:37 ash_ left, payload left 02:38 agentzh joined
colomon listquote-whitespace? 02:38
02:43 ash_ joined
colomon works locally... 02:47
02:48 colomon_ joined, colomon left, colomon_ is now known as colomon
araujo rakudo: my @arr = 1, 2, 3; say "array @arr[]"; 02:49
p6eval rakudo 8c434e: OUTPUT«array @arr[]␤»
araujo shouldn't that interpolate?
CokeBot9000 rakudo: my @arr = 1, 2, 3; say "array @arr"; 02:50
p6eval rakudo 8c434e: OUTPUT«array @arr␤»
CokeBot9000 rakudo: my @arr = 1, 2, 3; say "array {@arr}";
p6eval rakudo 8c434e: OUTPUT«array 1 2 3␤»
02:50 petdance joined
sorear CokeBot9000: commands 02:55
CokeBot9000 riiiight.
-> zzz 02:56
02:58 ash_ left 03:00 ash_ joined 03:04 fridim left 03:08 molaf joined 03:12 hungryhpos joined 03:13 jenk joined 03:14 sposatoProc_null joined, DroneKloeri joined, Tabmowsolarispla joined
sposatoProc_null Hey guys. I just came from Best Buy with my dad and saw this a-ni-me called 'Neon Genesis Evangelion' and my dad let me bought it, so now I have it with me but I've been reading about it and they say there is nudity in it. I'm not sure if my parents will allow me to watch it, last time they found my Hentai folder they changed my parental controls to Young Teen for a month. It's not fair. I'm 19. I'm hiding my Hentai in Doc 03:14
03:14 sposatoProc_null was kicked by diakopter (sposatoProc_null)) 03:15 nihiliad left
Tabmowsolarispla I went to MacWorld and persuaded an Adobe employee to preview the then beta of Photoshop 4. He left me to mess around with it on my own and while he was talking to some other folks I pulled out an ethernet crossover cable and connected his Mac to my Powerbook and copied over the Photoshop Beta. 03:15
03:15 Tabmowsolarispla was kicked by diakopter (Tabmowsolarispla))
guineabell_sco How about the enviroment? Canonical clearly does not care much for enviromental protection. The amount of Ubuntu CDs they have dumped in the past is unacceptable. They have reached AOL quantities. 03:15
railsterry GET TROOPS OUT OF IRAQ BUCK FUSH CONSERVATIVES ARE GAY NO BLOOD FOR OIL WRONG WAR WRONG PLACE WRONG TIME FRIENDS DONT LET FRIENDS VOTE REPUBLICAN BUSH&DICK: GOOD IN BED BAD IN DA WHITEHOUSE my brother raped me when i was 6
solaris_RailsApp As someone erotically attracted to balloons, a question close to my heart is "to pop or not to pop?" Flame wars over this very issue take up a significant amount of space on the balloon fetish chatrooms I frequent. I find that while non-poppers feel an emotional attachment to balloons and can get quite protective of their inflatable friends; poppers such as myself see no point to jerking off with balloons unless they explo 03:16
03:16 thingatari joined
Webplan9xor Rory touched my virgin junk liberally. He strapped me into his Trans Am and told me we were taking a detour on the way back from the prom. I could not believe what the fuck was going on. He vomited red many times as he had been drinking heavily. I told him the athletic staff would not approve of the star quarterback falling asleep inside an underage girl. There it is. My dad found us at makeout ridge. I've got to go. 03:16
03:16 GitTabnet joined, Nettab joined
JavaLorezTerry I hope I never have to hear any of these cosplay slangs ever at a convention. Anime Iowa is a place to have fun and to enjoy being surrounded by fellow fans. Not a place to treat other fans in a superior fashion. *Most of us experienced or are experiencing this in highschool* 03:16
svnnullTabnet You are either for the expansion of growth of the human population off the earth and into space or you are for mass murder and restricted personal liberty to control population growth here on earth.
GitTabnet It was only -after- I took the lethal dose of aspirin that I realized I couldn't find my Evanescence CDs anywhere!! My elaborate suicide plans were ruined, but as you can imagine I am quite used to disappointment... so sleepy...
thingatari girl you must be a game of texas holdem cuz i just wanna go all in
Null_git dude...listen...pretty much evry one hate him and microsoft, sure he's given us some computer crap who cares, its all crap, i hate windows so much, its the crapyest piece of shit ever, i want linux!
03:17 diakopter sets mode: +r
RubyBicycle There is very little of value in blogging. There are some real journalists who have an online newsletter, and real writers who post articles independently -- that they happen to be classified as blogs flatters the sycophantic self-indulgent blogosphere at large. Imagine if you serialized your blog and emailed all your friends with it every time you updated it? If they wouldn't welcome such a diary, don't bother with your blog. 03:17
x86netnext you shut your face you nigger loving pile of intestinal feces, ill rip your bowels out and feast on them, then i'll impregnate your girlfriend and wait 7 months then unwravel her belly button and suck out all the vaginal discharge and feast upon the baby. i will fornicate your liver, then make you guzzle gallon after gallon of putrid diarrhea. you will gag on my green logs of asshole mud butter
03:17 diakopter sets mode: +n
diakopter ok, +n seems to be the right thing 03:17
TimToady what does that do?
diakopter +n (prevent external send) Users outside the channel may not send messages to it.
03:18 diakopter sets mode: -r , diakopter sets mode: +r
TimToady can we take +r back off...er, yeah 03:18
03:18 dhoss joined
aesop +r is off topic 03:18
diakopter the first couple of spammers were in the channel
03:18 hungryhpos left 03:19 DroneKloeri left
TimToady aesop was random earlier today, don't know if it's related 03:19
diakopter true
dhoss hi aesop 03:20
aesop #defocus
03:20 Nettab left
aesop hello dhoss 03:20
diakopter hrm
03:21 thingatari left, GitTabnet left
diakopter someone made a webirc bot. 03:21
probably with perl
sorear I thought the Javascript IRC worm from a couple months ago was pretty cute 03:22
diakopter it was quite dangerous 03:23
redirecting to a site of an attacker's choosing is extremely powerful 03:24
I mean, it almost makes me want to use opera, just b/c its vulnerabilities likely haven't been researched by the baddies 03:25
aesop opera is gr8
diakopter yet
dhoss safari4lyfe 03:27
03:28 colomon left 03:29 molaf left
lue O hai ( seems a very, very, weird attack happened earlier. >P ) 03:32
diakopter hi 03:33
03:35 agentzh left 03:37 lue left 03:38 agentzh joined 03:44 agentzh left 03:46 agentzh joined 03:50 ash_ left 03:55 wolf2k_ubuntu left
sjohnson yo 03:57
sorear ho ho 03:58
04:12 obra left
ruoso std: role Perm { constant Read = 0b0001 but Perm } 04:20
p6eval std 30331: OUTPUT«ok 00:01 109m␤»
ruoso rakudo: role Perm { constant Read = 0b0001 but Perm }
p6eval rakudo 8c434e: ( no output )
04:22 colomon joined 04:58 justatheory left 05:02 PZt left 05:16 astrojp left 05:25 quester_ joined 05:26 petdance left
quester_ Good evening, 楽土 fans 05:28
sorear what about its enemies
quester_ $enemies := Mu(); 05:29
05:30 jonasbn joined, PZt joined
quester_ phenny: tell jnthn - Thank you very much for the answer to the "our sub ..." question. 05:33
phenny quester_: I'll pass that on when jnthn is around.
05:51 dduncan joined 06:08 aufrank joined
lisppaste3 aufrank pasted "potential p6l post" at paste.lisp.org/display/97430 06:09
aufrank hi all
I was about to hit send on a post to p6l, and then decided I'd drop in here to see if this was an FAQ or too trivial to go to the list
I just pasted my message to nopaste, at the link provided above 06:10
I look forward to hearing anyone's thoughts on the question, and whether it's worth asking on p6l 06:12
diakopter I don't recall which synopsis that's in
TimToady S03:1911 and thereabouts 06:16
ingy hi TimToady 06:18
06:18 diakopter sets mode: -r
ingy I was just thinking of you... 06:18
aufrank thx, going to look now 06:19
TimToady ingy: o/
or would that be \o, since I'm right-handed... 06:20
ingy TimToady: I just wrote my first programming language
TimToady yay
fun, ain't it?
ingy yes 06:21
I call it C'Dent
diakopter its pronounciation has a nice cadence
TimToady std: say C'Dent
p6eval std 30331: OUTPUT«Undeclared name:␤ 'C'Dent' used at line 1␤ok 00:01 108m␤»
aufrank thanks for the pointer, glad I asked here first! 06:22
ingy I was thinking of you because I can now write a module in C'Dent Python and compile it to Perl6
TimToady and the one before C'Dent would be its anteC'Dent
ingy and half a dozen other languages at present
TimToady: like this: cdent.org/examples/
I don't know too much p6 06:23
what's the better p6 println command?
diakopter I think greet needs () 06:24
dhoss boggles
diakopter say?
ingy diakopter: it worked against rakudo for me...
diakopter oh
ingy let me check....
diakopter rakudo: class Hello { method greet { say "hi" } }; Hello.new.greet; 06:25
p6eval rakudo 8c434e: OUTPUT«hi␤»
diakopter k
std: class Hello { method greet { say "hi" } }; Hello.new.greet;
p6eval std 30331: OUTPUT«ok 00:01 107m␤»
diakopter k
C'tsNot 06:26
06:33 gfx joined 06:34 Su-Shee joined
ingy I updated cdent.emitter.perl6 to use say 06:34
thanks
cdent.org/examples/
cdent has a few input dialects that are small/strict/strongly-implicitly-typed subsets of popular languages 06:35
diakopter cool 06:36
I'm doing something similar for a .net backend for STD
ingy they all generate the same cdent tree, which can be used to generate modules in hopefully a dozen langs
I wrote the prototype in Python actually 06:37
it's not a terrible language
and it has great yaml support! (hahaha) 06:38
which I use kinda heavily
well the grammar and serialized asts are yaml
grammar_s_ I mean
python really lacks in it's module planning 06:39
you can't have one guy write text.mangle and another guy write text.hoople 06:40
so people come up with lots of whacky top level namespaces 06:41
seems like they didn't really plan for CPAN like success
diakopter: what's STD again? 06:42
sorear hey, I was working on something vaguely sort of like that
diakopter STD is the name of Larry's Perl 6 front-end 06:43
short for "Standard"
ingy oh right
sorear it was a multitarget compiler turning NQP into shell scripts, DCL, Windows .exe, and anything else on an as-needed basic
diakopter as in "definitive"
sorear as an autoconf replacement
ingy sorear: C'Dent is squarely targeted at portable modules for the OSCON langs 06:44
or the O'Reilly langs
as I like to call em
I finally got the impl doing a complete grammar based parse of one lang and emitters for 6 langs 06:45
for the simplest possible definition of C'Dent 06:46
Module>Class>Method>Println
sorear I don't get either reference
06:46 Trashlord joined
ingy enough for hello-world 06:46
of 06:47
sorear OSCON, O'Reilly
I know one is a conference and the other is a book publisher
ingy OSCON langs == Perl Python Ruby JS
sorear but not what either has to do with sets of languages
ingy also P6 and Py3
diakopter the ones with named tracks at the oreilly conference named oscon 06:48
?
ingy yeah
the conference that (like OSDC) brings everyone together to go off and be isolated :)
osdc.tw/2010/03/schedule_please_che...r_gun.html 06:49
sorear: that kinda explains what I mean 06:50
diakopter: I almost called C'Dent 'Pyrl' 06:51
06:51 aufrank left
ingy because I have pyrl.org... 06:51
want it?
;)
diakopter heh 06:52
ingy I think that would have been an unfortunate choice...
diakopter I have a bunch of domain names with perl in the name
used to have a lot more
ingy I have perlster.org 06:53
and perl5i.org
Trashlord 5i?
ingy I've had perl5i for many years
06:53 lexual joined
ingy before schwern's thing 06:53
sorear I hear the Polish NIC gets a lot of Perl users
ingy I think I offered the domain to him
sorear: makefile.pl 06:54
I'm off to sleep 06:55
night all
07:03 payload joined 07:05 PZt left 07:10 sunnavy joined, payload left, Trashlord left 07:14 xabbu42 joined 07:37 gfx left 08:10 gfx joined
moritz_ rakudo: say 0.5 * ln(9) 08:10
p6eval rakudo 8c434e: OUTPUT«Could not find sub &ln␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
moritz_ rakudo: say 0.5 * log(9)
p6eval rakudo 8c434e: OUTPUT«1.09861228866811␤»
08:12 gfx left 08:16 am0c joined
am0c rakudo: say ~( 0, 1 ... &infix:<+> ) # infinitive loop ? 08:18
p6eval rakudo 8c434e: ( no output )
moritz_ wonders what &infix:<+> numifies to 08:19
rakudo: say +&infix:<+>
sorear rakudo: say +(&infix:<+>)
p6eval rakudo 8c434e: OUTPUT«12␤»
moritz_ 12? ....
sorear 12?
rakudo: say +(&infix:<0>)
p6eval rakudo 8c434e: OUTPUT«Could not find sub &infix:<0>␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
sorear rakudo: say +(&infix:<*>)
moritz_ probably number of multis
p6eval rakudo 8c434e: OUTPUT«9␤» 08:20
moritz_ rakudo: class A { }; multi sub infix:<+>(A $, A $) { }; rakudo: say +&infix:<+>
p6eval rakudo 8c434e: OUTPUT«Confused at line 11, near "rakudo: sa"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
moritz_ rakudo: class A { }; multi sub infix:<+>(A $, A $) { }; say +&infix:<+>
p6eval rakudo 8c434e: OUTPUT«1␤»
moritz_ rakudo: class A { }; multi sub infix:<+>(A $, A $) { }; say 3+3
p6eval rakudo 8c434e: OUTPUT«No applicable candidates found to dispatch to for 'infix:<+>'. Available candidates are:␤:(A , A )␤␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
moritz_ ouch
it hides all the outer multis 08:21
worth a bug report
sorear I thought the point of multis was they augmented
moritz_ you add candidates; hiding candidates is a bug
sorear are you going to file it? 08:22
moritz_ done 08:23
(using email for filing bugs)++
sorear an irc bug filer would be pretty neat 08:24
moritz_ aye; but not trivial 08:25
08:31 lexual left 08:36 am0c left 08:41 payload joined 08:45 clintongormley joined 08:56 envi^home joined
jnthn morning 09:05
phenny jnthn: 05:33Z <quester_> tell jnthn - Thank you very much for the answer to the "our sub ..." question.
sorear Are any of Rakudo's competitors currently viable for applications? 09:06
jnthn moritz_: It's only sort of a bug, fwiw.
moritz_ jnthn: care to elaborate?
jnthn Oh, maybe it is...
moritz_ sorear: depends on the application :-)
jnthn Anyway, the issue isn't so much that outer lexical candidates don't get found.. 09:07
moritz_ sorear: the most usable besides rakudo are probably pugs and elf, both of which aren't developed anymore
jnthn ...it's that operators are not lexical in the setting yet.
moritz_ ah
but they could be?
jnthn Not yet without causing far too much breakage.
moritz_ :(
jnthn We've got some really quite awkward issues relating to lexicals at BEGIN/INIT time. 09:08
09:08 barney joined
sorear moritz_: something with a fair amount of metamodel funny business and a need for external libraries 09:09
moritz_ sorear: then ask pmurias about mildew when he's around
sorear: it's based on smop, which in turn explored many corners of the meta model 09:10
jnthn sorear: Just tried to build Blizkost and I get: 09:15
bkmarshal.c(134) : error C2065: 'my_perl' : undeclared identifier
Also various warnings liek: 09:16
bkmarshal.c(134) : warning C4047: 'function' : 'struct interpreter *' differs in levels of indirection from 'int '
That's on MS VC++
sorear uhhh 09:17
jnthn SETATTR_P5Scalar_sv(interp, pmc, SvREFCNT_inc(sv)); 09:18
That's the line it balks on
sorear apparently, SvREFCNT_inc requires a lexical interpreter only on !__GNUC__
jnthn Ah
In that case, probably it's not such a tricky fix.
sorear change SvREFCNT_inc to SvREFCNT_inc_simple_NN and it'll work 09:20
SvREFCNT_inc guarantees to evaluate its argument only once
# define SvREFCNT_inc(sv)>-----\ 09:21
>-------((PL_Sv=MUTABLE_SV(sv)) ? (++(SvREFCNT(PL_Sv)),PL_Sv) : NULL)
jnthn sorear: oh, I'd done it by having a lexical my_perl
Is that OK too?
sorear yes
jnthn OK, cool, I'll commit htat.
moritz_ are revision control conflict markers ( <<<<<<< ) always at the start of the line? 09:22
sorear yes
moritz_ so it's quite easy to safely plug into STD.pm
jnthn sorear: That gets us through the compile, but the linking is busted.
oh heh
LINK : fatal error LNK1104: cannot open file "p5sv$(O.obj"
sorear jnthn: are you using -W11 with MSVC too? 09:23
moritz_ looks like a non-expanded thingy ini the makefile :-)
jnthn -W4
Is what ends up in the makefile.
moritz_: Yes. :-)
09:24 dual left, IllvilJa left
sorear jnthn: on Linux the gcc command line ends up with 12 lines of word-wrapped -W flags 09:25
jnthn !!
09:25 dual joined
sorear hence, -W11 09:25
jnthn hmm, wonder if it's: 09:26
$(PMC_SOURCES:.pmc=$(O))
sorear can we please do something about those makefiles 09:27
jnthn Yes, almost certainly it dislikes that line.
sorear they scare me
jnthn sorear: Fixed the build on Win32. :-) 09:31
09:31 dakkar joined
moritz_ anyone want to test a STD.pm patch for me? (not at home, no access to my build...) 09:32
moritz.faui2k3.org/tmp/version-cont...kers.patch
jnthn Makefiles aren't great, but at least they're widely understood.
moritz_ inspired by aristotle++
jnthn nt/callsv.t ................ Dubious, test returned 5 (wstat 1280, 0x500) 09:33
09:33 masak joined
jnthn lolitsmasak 09:33
masak oh hai, #perl6
phenny masak: 06 Apr 18:34Z <moritz_> ask masak where he installed pdflatex from, CokeBot9000++ wants to know
moritz_ I've seen that one failing too
masak hm, pdflatex comes with the tetex package on MacPorts, methinks.
I haven't backlogged yet, but it seems that hanekomu quit due to yesterday's debacle. 09:34
as in 'quit being a Perl 5 community member'.
moritz_ I don't think he did
reading mst's last twit
masak ok, good.
sorear jnthn: the makefile language may be widely understood but our makefiles can only be understood by people far above my level
jnthn sorear: Grrr. When I run that test file under the debugger, it fails to segfault. 09:36
sorear: It does pass the test anyway, but segfaults on exit.
moritz_ so... global destruction? :( 09:37
jnthn Dunno, because it refuses to segv under the debugger. :-(
But very possibly.
sorear jnthn: the handling of global destruction in blizkost is very fragile, I'm suprised it doesn't currently segfault on linux 09:38
jnthn Ah, OK.
Should make install work?
Or not yet?
sorear the fundamental issue is that the p5whatever destructors need to refer to the interpeter
but neither Perl5 nor Parrot have any concept of ordered destruction
quester_ I have a patch to make sort work properly... I thinkf.. but I have a few questions about style and tests. Would anyone care to discuss that now...?
s/thinkf/think/ 09:39
09:39 dduncan left
masak quester_: sure. 09:39
sorear jnthn: I haven't touched make install, nor tested it
if it works, awesome
09:39 dakkar left
jnthn sorear: No, it fails 09:39
sorear: But that's OK, at least that means it's not a Win32 specific brokenness. :-) 09:40
sorear right now it's impossible to dynload blizkost from rakudo
due to a very weird bug which I don't understand at all, but tentatively assigned to Parrot
jnthn I'd expect it'd need make install for that.
sorear since it causes completely nonsensical stack traces
no, I'm testing perl6 -e 'pir::load_bytecode("./perl5.pbc")' 09:41
quester_ Okay, thanks masak. After creating a [Parrot] ResizablePMCArray I need to populate it. I'm using this... $index_PARROT_RPA.push($_) for ^self.elems; ... but I'm not sure if there is any convention about which methods are supposed to work for RPA's.
sorear it also fails with the installed absolute path to nqp.pbc, so I don't think it's my fault
09:41 yinyin left
sorear in any event, not being able to load the library from the only major language that's working well on parrot renders the library useless 09:42
jnthn :/
masak quester_: why are you creating a Parrot ResizablePMCArray?
quester_ I've noticed that .say, .perl, and .elems don't work for RPA's, and several simple-looking things like @index_PARROT_RPA = ^self.elems; replace an RPA with a Perl6 Array.
masak yes, I think you should. 09:43
jnthn quester_: Working with an RPA from Perl 6 space may not end particularly well.
sorear: I'd really like to try and get it working at some level soonish. 09:44
moritz_ in the long run that's something that Rakudo should support, for HLL interop
jnthn sorear: Gotta do @other_task now, but may be able to have a dig tonight.
Anyway, at least it builds again on Win32 now. :-) 09:45
quester_ Oh, that. Patrick Michaud rewrote sort for Rakudo-ng. He wanted to use the Parrot sort for speed, but he wanted to keep the code in Perl 6, probably to make it somewhat easier to read and maintain.
AFAIK, since Perl6 sort and Parrot sort are both methods, the only way to control which one is called is to use sort on an appropriate object. 09:46
jnthn quester_: That all matches up with what I understood of it too. 09:47
quester_ The existing release of Rakudo uses Parcel for that, but that means that sorting a Parcel goes to the underlying Parrot sort, which doesn't work quite the same way. For instance, the first example in the Perl 6 book, the one about tennis... 09:48
moritz_ right
(table tennis scores, actually :-)
quester_ ... fails because it uses sort with a monadic (unary?) "by" parameter, on a Parcel that was returned by a previous sort. I fixed that, but I'm not sure how fragile using .push on an RPA might be. 09:49
09:51 payload left, payload1 joined
mikehh rakudo: builds on parrot r45414 - tests spectest_smolder #33038 - 2 failures 09:51
rakudo: 32,508 ok, 2 failed, 451 todo, 1,493 skipped and 14 unexpectedly succeeded
rakudo: Ubuntu 10.04 beta amd64 (gcc with --optimize)
p6eval rakudo 8c434e: OUTPUT«Could not find sub &spectest_smolder␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
rakudo 8c434e: OUTPUT«Confused at line 11, near "32,508 ok,"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
rakudo 8c434e: OUTPUT«Confused at line 11, near "Ubuntu 10."␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
sorear jnthn: you mean, fix #1452? 09:52
jnthn "add method debug to $conf object" ?
quester_ So... should I leave it in Perl6, with .push, or would it be better to move the whole initialization of the RPA into PIR?
jnthn quester_: I think .push on an RPA is safe, so long as you know it's an RPA. :-) 09:53
sorear: Wrong ticket number?
quester_ Ok, thank you.
jnthn quester_: pir::push__vPP is even safer though. 09:54
pir::push__vPP($the_rpa, $thething)
sorear jnthn: 1542
jnthn And a bunch more efficient too
sorear this is what I get for using my memory
09:54 IllvilJa joined
quester_ Ah! Good! Thanks, jnthn++,I will try that. 09:55
jnthn sorear: We explicitly import PCT. 09:56
See line 42 (YARLY) of src/Perl6/Compiler.pir i Rakudo.
09:58 dakkar joined, colomon left
quester_ Next question: I am trying to figure out how to get t/spec/S32-list/sort.t to work. Apparently Pugs has a subroutine form of sort and a Hash.sort, both of which Rakudo lacks. As far as I can see they aren't in the spec. Should I add them to sort.t, or to Rakudo,... 09:59
... or use #?rakudo skip 'named args' to just skip the tests?
moritz_ I think it should just be in the spec 10:00
and in Rakudo
Hash.sort => Hash.pairs.sort
ruoso rakudo: class A; say A.HOW.^can('can').signature 10:01
p6eval rakudo 8c434e: OUTPUT«Method 'signature' not found for invocant of class 'Integer'␤current instr.: 'perl6;A;_block45' pc 303 (EVAL_1:136)␤»
moritz_ so it's your choice if you implement it, or fudge the test
ruoso rakudo: class A; say A.HOW.^method('can').signature
p6eval rakudo 8c434e: OUTPUT«Method 'method' not found for invocant of class ''␤current instr.: '!dispatch_.^' pc 410 (src/glue/dispatch.pir:100)␤»
jnthn huh
rakudo: class A; say A.^can('can').signature
p6eval rakudo 8c434e: OUTPUT«Method 'signature' not found for invocant of class 'P6Invocation'␤current instr.: 'perl6;A;_block45' pc 303 (EVAL_1:136)␤»
jnthn rakudo: class A; say A.can('can').signature
p6eval rakudo 8c434e: OUTPUT«Method 'signature' not found for invocant of class 'P6Invocation'␤current instr.: 'perl6;A;_block45' pc 303 (EVAL_1:136)␤» 10:02
jnthn Aha, that's more like it.
ruoso rakudo: class A; say A.HOW.^methods
p6eval rakudo 8c434e: OUTPUT«Method 'methods' not found for invocant of class ''␤current instr.: '!dispatch_.^' pc 410 (src/glue/dispatch.pir:100)␤»
jnthn Yeah, that's going to end awkwardly at the moment.
ruoso jnthn, I want to introspect the metamethods
jnthn Tough.
The metaclass of the thing we use to implement the ClassHOW metaclass doesn't support introspection.
quester_ Okay, adding it to Rakudo and the spec seems logical. Thank you, moritz_++ 10:03
ruoso jnthn, okay... is there a way to override the meta for one class such that it implements methods depending on the keys of a hash
moritz_ rakudo: class Match is Array does Hash { }; my $m = Match.new; $m[0] = 3; say $m[0] 10:04
p6eval rakudo 8c434e: OUTPUT«Null PMC access in invoke()␤current instr.: 'perl6;Proxy;!STORE' pc 14550 (src/builtins/Method.pir:18)␤»
moritz_ wow
seems the road to pure Perl 6 match objects is longer than I expected :/
ruoso moritz_, a Match object looks more like a Parcel then like a composition of Array and Hash 10:05
jnthn Probably more like a Capture I guess, since it has named parts...
ruoso oh yeah... of course... and the named parts are not counted for the positional index 10:06
jnthn ruoso: Not yet, method ^dispatch($name, $capture) should be possible by the time we reach R* though.
Since I want it for other stuff.
ruoso will it be overrideable?
moritz_ rakudo: class Match is Capture { }; say Match.new
p6eval rakudo 8c434e: OUTPUT«Match()<0x40b2e78>␤»
jnthn Should be.
ruoso cool
moritz_ rakudo: class Match is Capture { method Str { self.join(', ') }; say Match.new 10:07
p6eval rakudo 8c434e: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤»
10:07 dakkar left
moritz_ rakudo: class Match is Capture { method Str { self.join(', ')} }; say Match.new 10:07
p6eval rakudo 8c434e: OUTPUT«␤»
moritz_ rakudo: say Capture ~~ Positional
p6eval rakudo 8c434e: OUTPUT«0␤»
moritz_ rakudo: say Capture ~~ Hash
ruoso that's a rakudobug
p6eval rakudo 8c434e: OUTPUT«0␤»
moritz_ rakudo: say Capture ~~ Mapping
p6eval rakudo 8c434e: OUTPUT«Could not find sub &Mapping␤current instr.: '_block14' pc 29 (EVAL_1:0)␤» 10:08
moritz_ rakudo: say Capture ~~ Associative
p6eval rakudo 8c434e: OUTPUT«0␤»
ruoso that's also a rakudobug
moritz_ let's join that into one :-)
jnthn Aye, capture needs to be marked as doing those two.
ruoso: You'll probably also be happy to know that our method postcircumfix:<( )> now just gets passed one positional parameter which is a capture. :-) 10:09
ruoso :D
sorear Why are captures a non-native type? 10:10
ruoso now we just need the matching iterator in the signature binding to allow varying-multi reduce
sorear, because you can customize the invocation
sorear why would you want to 10:11
ruoso because you might be implementing something different then a regular routine call 10:12
sorear like what? 10:13
jnthn ruoso: Yeah, I'm still kinda waiting on something concrete to land in the spec on that.
10:15 M_o_C joined
ruoso sorear, like using the result of a regexp as the arguments to the rountine 10:15
sorear that sounds like a job for coercion 10:16
not tied captures
moritz_ WAMTOWTDI (we allow ...) :-)
ruoso sorear, coercion would enforce context too early on the match object 10:17
masak TimToady: enjoying your responses to the 'bitsets' thread. I find it interesting to see that you call (*) what I put into Rakudo as (&). :) perhaps we'll need both variants?
sorear I think we should call the operator /\ or +&
it's just a boolean algebra 10:18
ruoso boolean algebra cover a small part of the use cases for set
10:18 gfx joined
ruoso bitset is a small part of the use cases for se 10:18
*set
moritz_ I don't understand Damian 10:19
ruoso but who does? :D
moritz_ he worries that Perl 6 doesn't allow easy enough C-like operators
but if that's what wants, why not just use Int or int?
ruoso did you see my reply? 10:20
ruoso later &
moritz_ read it now 10:21
jnthn enum Perms <Read Write Exec> = 1,2,4...*; # could maybe fly. maybe. 10:23
So long as it's a special syntactic form.
enum Perms of (1,2,4...*) <Read Write Exec>;
is srsly DO NOT WANT though.
moritz_ doesn't see the need for any new language construct at all 10:24
maybe I'm just a sloppy reader, but it seems we have all that's needed: bit operation, subset types, insanity 10:25
10:25 ruoso left
mathw I kind of like the idea of specifying a range to draw enum values from 10:27
although with 1, 2, 4 ... *, how does it know it's powers and not +2?
moritz_ mathw: because 1 + 2 != 2
mathw oh yes
but 1 ** 2 != 2
moritz_ but 2 ** 1 = 2 :-) 10:28
erm, ==
mathw yes, just redefine the universe there :)
2 + 2 = 5
mathw waits
wouldn't that be a fun language
moritz_ /kick mathw acute danger to universe
rakudo.de/progress.png cute 10:32
sorear how does it know it's powers and not say, the solution to a second order difference equation 10:34
(fun fact: every sequence of terms can be extrapolated as a polynomial.)
jnthn wonders how tell Perl 6 is taylored to handle those. 10:35
moritz_ sorear: by spec
jnthn *well 10:36
mathw the spec does actually have the algorithm for figuring out what the pattern is in it 10:38
10:41 payload1 left
masak lue: I'm sorry, but the guy who 'figured out the solution to division by zero' managed to restate what everyone already knew: if you introduce the kind of number he did, you can still "count" with it, but the reals are no longer a field. his 'insight' is almost tragically mundane. 10:57
10:57 agentzh left
masak rakudo: say πr² 10:58
p6eval rakudo 8c434e: OUTPUT«Confused at line 11, near "say \u03c0r\x{b2}"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
masak rakudo: say '16'{'%x'} 10:59
p6eval rakudo 8c434e: OUTPUT«1␤»
masak submits rakudobug
jnthn wtf is it parsing that as... 11:00
masak you tell me.
jnthn std: say '16'{'%x'}
p6eval std 30331: OUTPUT«ok 00:01 108m␤»
masak well, yes, but... :)
jnthn I mean, I guess it's just a hash index into a string, but it shouldn't work...
masak no. 11:01
it shouldn't.
jnthn rakudo: say Q:PIR{ %r = 'huh'[0] }
p6eval rakudo 8c434e: OUTPUT«The opcode 'set_p_sc_kic' (set<3>) was not found. Check the type and number of the arguments␤current instr.: 'perl6;PCT;HLLCompiler;evalpmc' pc 987 (compilers/pct/src/PCT/HLLCompiler.pir:545)␤»
11:02 agentzh joined, agentzh left 11:07 am0c joined 11:08 f00li5h joined
masak lunch & 11:10
11:14 f00li5h left 11:15 f00li5h joined 11:16 am0c left 11:21 f00li5h left
moritz_ _kic? what's that? 11:26
jnthn keyed integer constant 11:27
11:36 constant left, constant joined, constant left, constant joined 11:40 dakkar joined
moritz_ just found lots of OSS guys on linkedin 11:45
11:45 payload joined
moritz_ btw I (and a few others) have been email from another student who is interested in some Perl 6 projects for gsoc 11:50
11:51 bluescreen joined, bluescreen is now known as Guest67710 11:54 payload left 11:55 payload joined, dual left 11:57 Guest67710 left, Guest67710 joined 11:58 M_o_C left
moritz_ I wonder if he'll show up here 12:05
12:05 rgrau left 12:06 dual joined
masak that generally helps. not 100% necessary, but often much easier. 12:06
moritz_ since it's the only real-time communication medium that I usually use for hacking, it's hard to imagine mentoring without it 12:07
masak aye.
12:08 am0c joined
moritz_ I mean I could settle with jabber of skype chat or whatever... but it's really good to expose the students to the community 12:10
takadonet morning all 12:11
mathw oh definitely 12:12
masak takadonet: \o
mathw and the perl 6 community is very strong
12:12 gfx left 12:22 jhuni left
frettled we can lift at least 10 stone 12:28
12:28 frettled sets mode: +o masak
masak I could easily imagine spending the summer actually writing the u4x documentation. maybe I should submit that as a GSoC proposal, too. 12:28
does feel slightly strange, though, since I originated the project...
moritz_ masak: read the program guidelines first
masak moritz_: URL? 12:29
moritz_ masak: it says that projects should be primarily code, not docs
masak ah.
moritz_ we can lift at least 10 stone
argl
sorry
copy & paste gone wrong
masak it does bear repeating. :P
moritz_ socghop.appspot.com/document/show/g...c2010/faqs
masak hm. that's the one I just read. :) 12:30
must've missed the part about 'primarily code'.
but fair enough. then I don't have to consider u4x.
moritz_ the combination of windows Ctrl+c/Ctrl+v and putty mark/Ctrl+Insert is... interesting
erm, shift+insert 12:31
masak hm, I'll remove "User level documentation and examples - svn.pugscode.org/pugs/docs/u4x/READM" from "Rakudo Projects" on www.perlfoundation.org/perl5/index....0_projects
it's not a Rakudo project, and it's not a primarily-code project. :)
moritz_ please do
masak done. 12:36
there was a bit of further confusion/duplication between the "Perl 6" and "Rakudo" headings. I fixed that. 12:37
moritz_ masak++
so... have you decided on a topic yet? :-)
masak I'll submit a Buf proposal. 12:38
moritz_ great!
masak yes, I think it will be.
moritz_ really looks forward to seeing both the proposal and the work 12:39
masak :) 12:40
moritz_ have you thought of a mentor yet? maybe jnthn?
masak haven't thought of it, but jnthn sounds like an appropriate mentor for this. 12:41
there will be a bit of Parrot guts involved.
moritz_ IMHO technical guidance and mentoring can mostly be detangled
masak in that case, I'd take any of the #perl6 frequenters as a mentor. 12:42
I don't have any strict preferences, at least. 12:43
mathw Don't pick me!
masak :)
12:43 dual left
moritz_ if there'll be a good test suite proposal, I'll mentor that. If not, I'm willing to act as either mentor or backup mentor for just about any Perl 6 project 12:43
12:44 dual joined
mathw I'd rather be submitting proposals, but I'm not a student 12:45
12:45 dual left 12:46 dual joined
CokeBot9000 masak - trying tetex, danke. 12:48
moritz_ I'd rather be sumitting proposals too, and I could enrole as PHD student, but I fear I don't have time for 20hrs/week hacking 12:49
12:49 dual left
masak and then you couldn't be a mentor for a possible spectests submission :) 12:50
moritz_ that too
but I think others could do that too 12:51
12:51 dual joined
frettled Does anyone remember which Perl version introduced the ?: clustering thing for regexps, so that we didn't have to create unnecessary captures? I'm trying to convince someone that their code is _very_ old-fashioned and not just merely inefficient. 12:52
mathw 5.6 at the very latest 12:53
in that it's definitely in 5.6 because I've used it 12:54
12:54 CokeBot9000 left, CokeBot9000 joined
frettled It's in the third edition of Programming Perl, at least. 12:54
CokeBot9000 tests.
frettled and in my 1996 edition of the Perl 5 Desktop Reference 12:55
It's probably in 5.001, since that reference was printed in February 1996, and 5.002 was released 1996-02-29. 12:56
12:57 REPLeffect left
mathw I think we can agree that it is indeed very old-fashioned not to use it 12:58
although Perl 6's solution is a tad more elegant :)
frettled Perl 6 is always more elegant. ;) 12:59
quester_ Good night, #perl6 13:00
13:01 quester_ left
masak syntactically sweet dreams, quester_. 13:02
frettled Ah, (? was invalid syntax in Perl 4, so that probably was news in Perl 5, then. 13:03
13:04 dual left 13:05 dual joined, dual left 13:06 dual joined
PerlJam greetings #perl6lings 13:09
masak \o 13:10
moritz_ o/
hejki rakudo: say "c-" x 3 ~ "combo breaker" 13:11
p6eval rakudo 8c434e: OUTPUT«c-c-c-combo breaker␤»
masak :P
rakudo: say "c-" x 3, "combo breaker" 13:12
p6eval rakudo 8c434e: OUTPUT«c-c-c-combo breaker␤»
masak should write a blog post about "don't concatenate things when you can use a comma" :)
moritz_ what's wrong with concatenation?
moritz_ plays dumb
masak nothing, particularly
just a waste of perfectly good strings.
frettled I prefer conjudenation 13:13
hejki i prefer conjecturion :)
moritz_ unless you mix Bufs with Strs
PerlJam I prefer conflation :p
frettled masak: besides, tilde is more difficult to access on a non-US keyboard
masak that, too.
PerlJam frettled: really?
masak waste of shift presses.
PerlJam Got a pic of a non-US keyboard ?
frettled tilde must die as an essential programming character, alongwith {, [, ], and }
masak um... 13:14
frettled: or just do like I do, and use a US layout with your keyboard.
frettled PerlJam: images.google.com/images?q=norwegia...CB8QsAQwAw
masak: It's a bit cumbersome to do that with a Mac
that is, it works okay-ish in some applications, but not in X
Windows' keyboard-switching feature is superior. 13:15
moritz_ frettled: uhm... [] and {} are difficult on the German keyboard too, but there are just not enough braces on that keyboard that are easily accessible
frettled But I don't like Wintendo.
moritz_: yes, it's a common problem for us.
masak frettled: I've never had any problems with it in X. I'm on a Mac.
PerlJam We could got fully unicode and make all keystrokes equally difficult to type ;)
frettled masak: oh, you've found a hotkey combination that actually works?
PerlJam "To type the letter 'a', it's shift-meta-5" 13:16
frettled \o/
masak frettled: think so. at least I've never felt it to be a problem. 13:17
13:17 astrojp joined
frettled masak: I strongly dislike having to move the mouse to the upper right corner, you see :) 13:17
jnthn masak: I'm happy to act as mentor or tech guide for Buf. 13:19
masak don't know what you're talking about.
jnthn: ok, cool!
mathw finds a compose key on a UK keyboard suits him nicely in Linux,b ut then he only has to write in English, German and Esperanto
jnthn I dare you to submit a talk about your work, titled "In the Buf".
masak :P
you silly English people with your idiomatic expressions... 13:20
13:20 Woody2143 joined
frettled :) 13:21
13:29 barney left
am0c ./perl6 --target=pir is not working at the moment. but is it right that it was working feature in the past? 13:34
moritz_ it was, yes
what's the problem right now?
jnthn am0c: Not working? 13:35
am0c I'm just answering the question in the forum. and i thought i should make sure.
jnthn is curious because he uses that for debugging...
moritz_ building Test.pir relies on that
am0c oops
masak which Perl version was it that added support for binary data. Perl 2? Perl 3?
moritz_ so it seems to be working for modules
jnthn What doesn't work standalone scripts.
PerlJam am0c: ./perl6 --target=pir works just fine except for code given on the command line with -e (to my knowledge anyway) 13:36
am0c works for modules, but not works for standalone script
moritz_ masak: perl 3, according to perldoc perlhist
jnthn e
masak thanks.
jnthn gah s
s/What/But/
am0c PerlJam: is that by a design?
PerlJam am0c: accident I hope
am0c i see 13:37
jnthn afk for a bit, laundry, walk in the sun, systemka.
13:40 PZt joined, meteorjay left 13:44 dalek left 13:46 dalek joined 13:50 rgrau joined
masak S02:1322: Buf Perl buffer (a stringish array of memory locations) 13:55
I find that to be an odd description.
13:56 molaf joined
masak in which sense isn't every array an 'array of memory locations'? 13:56
I thought a Buf contained integers, not memory locations.
moritz_ finds that odd too
masak also, only S03 mentions Buf16 and Buf32. 13:57
and only in passing.
std: Buf16
p6eval std 30331: OUTPUT«Undeclared name:␤ 'Buf16' used at line 1␤ok 00:01 108m␤»
masak ...and Buf8.
13:58 ash_ joined
ash_ is there a way to do like Int.new(5)? 13:58
i am probably just retarded, but i am trying to figure out how ints, strings, etc. work (the constants) in rakudo, they don't have any attributes... 13:59
moritz_ ash_: parrot provides PMC "boxes" for the native types 14:00
(int, num, str)
and afaict Rakudo uses those
ash_ but is there a way to do Int.new?
14:00 meppl joined
ash_ rakudo: say Int.new(5); 14:00
p6eval rakudo 8c434e: OUTPUT«0␤»
ash_ or should they be some special constant internally?
masak since Int values are immutable, expecting to get a new instance out of .new is a bit suspicious. 14:01
even apart from the fact that you're already sending it the instance you want :)
ash_ yeah, but that could be $a, you could not know what your sending it 14:02
moritz_ ash_: then you want $a.Int
ash_ ah, good point
jnthn It's probably fine that how you get an Int is an implementation detail rather than having a spec'd way. 14:08
masak jnthn: have you signed up as a mentor for this year's GSoC? 14:09
moritz_ if not, you should... our esteemed masak is going to hand in a proposal 14:10
masak is working on the proposal right now
jnthn masak: nej 14:15
moritz_: How'd I do that? :-)
.oO( sign up...this is starting to sound like responsibility! )
masak jnthn: socghop.appspot.com/gsoc/
(I think)
moritz_ jnthn: go to socghop.appspot.com/
get an account, log in
ash_ masak: what are you doing yours on?
masak ash_: Buf 14:16
moritz_ and then in the left column at the bottom there's a small link called "Apply as a mentor"
ash_ i am submitting one for parrot
masak nice.
ash_ doing an llvm stack frame builder, and maybe libffi
moritz_ jnthn: when you've done that, also ping dukeleto on IRC so he'll approve you as a mentor
PerlJam jnthn: pinging dukeleto is important given how close to the deadline for student apps we are. 14:18
14:19 hercynium left
ash_ deadline is the 9th, so 2 days from now 14:20
jnthn hmm...I don't see dukeleto on here
jnthn finds his email
PerlJam wow, parrot gets even more love than yesterday 14:21
takadonet PerlJam: what do you mean by that? 14:23
PerlJam just that there are more parrot proposals 14:24
(I don't know why that surprises me)
jnthn Emailed. 14:25
PerlJam jnthn: dukeleto is on #parrot 14:26
[particle] i'll approve you
PerlJam (irc.perl.org)
[particle] i'm backup org admin
PerlJam [particle]++
jnthn [particle]: Cool, thanks.
ash_ i kinda like the nitty gritty details, so parrot seems more my cup of tea, although i do rather light rakudo 14:27
moritz_ I don't know how much mentoring capacity we have for rakudo anyway 14:28
probably not more than 3 or so
14:29 payload left, jonasbn left, payload joined
ash_ in rakudo, are all attributes essentially private? since doing $.a really just makes methods for accessing a? or am i mis-understanding again? 14:30
[particle] jnthn: you've been accepted. fill in your address, and you'll get a nice t-shirt :)
jnthn ash_: In Perl 6 too. :-) 14:31
ash_: Yes, all private, . implies create accessor method.
ash_ kk, just checking, and that just returns an lvalue essentially?
moritz_ only if the attribute 'is rw'
ash_ ah, good point
hmm
wonder what i should default to in nqp... 14:32
my p6opaque object is being simplified, now i only have 3 attribute to it, a list of attributes, a list of method pointers, and its class name
moritz_ what about inheritance? is that handled by the MOP? 14:33
ash_ for me, yeah, thats handled outside of the p6opaque object
(i have a parents attribute, so i know which parents to find) 14:34
although that might be useful to move out of the attributes table...
jnthn OK, all signed up. 14:35
14:36 nacho joined
ash_ which parent lookup algorithm does perl 6 use by default for multiple inheritance? 14:38
MRO? 14:39
jnthn C3
14:40 nihiliad joined
[particle] just like python, and current perl 5 14:40
14:40 justatheory joined, vorner joined
ash_ i thought python used mro 14:40
moritz_ does perl 5 really use it by default?
moritz_ remembers some 'use mro "c3";' in DBIx::Class
oh, maybe that's for older perls
[particle] yep, that's for older perls 14:41
jnthn I think I've implemented C3 twice, and each time promptly forgot how it works. :-)
ash_ i am just trying to figure out how order matters for my list of parents 14:42
moritz_ I think it's just some breadth-first search
14:47 ash_ left 14:49 payload left
[particle] msg ash_ wikipedia has plenty of direct links for C3 info: en.wikipedia.org/wiki/C3_linearization 14:51
phenny, tell ash_ wikipedia has plenty of direct links for C3 info: en.wikipedia.org/wiki/C3_linearization 14:52
phenny [particle]: I'll pass that on when ash_ is around.
[particle] too many channels, too many message bots
moritz_ too few sane message bots
[particle] s{'message'}{}
14:53 holli joined
moritz_ tried hard to increase the sanity of the #perl6 bots 14:53
[particle] the log bots are quite sane, thank you :) 14:54
moritz_ :-)
hugme is... well... not quite sane, but at least quiet unless spoken to 14:55
[particle] yes, i do see my name highlighted more frequently than i should, but it's no bother
if i get upset about it, i can always get a hug
frettled Too many highlight particles?
moritz_ :-) 14:56
frettled hugme: hug [particle]
hugme hugs [particle]
[particle] hugme: hug hugme
hugme hugs hugme
moritz_ frettled: the 'show $project' command lists all meta comitters
hugme: show november
hugme moritz_: the following people have power over 'november': TimToady, [particle], colomon, jnthn, masak, moritz_, pmichaud, viklund. URL: github.com/viklund/november/
moritz_ which typically includes [particle]++
[particle] i really need to step back into p6 development
my fingers are twitching from my time away 14:57
masak uses a tractor beam to pull [particle] back in
moritz_ assists masak by providing a hugbot
CokeBot9000 hugme: show partcl-nqp 14:58
hugme CokeBot9000: sorry, I don't know anything about 'partcl-nqp'
14:58 holli left
moritz_ funny thing is, you can actually move tiny spheres around with laser beams 14:58
frettled moritz_: boring factoid particle! ;)
14:58 ruoso joined
moritz_ feels as bad as purl-- should 14:59
masak purl--
moritz_ wonders if mysql suports regexes, and if he can use that to extract karma from the IRC logs 15:01
frettled moritz_: yes, mysql supports regexes
SELECT colname FROM tabname WHERE colname REGEXP "(karma|instant)" 15:02
[particle] reduces his in-pile from 10cm to 0.6cm
frettled [particle]: new shredder?
[particle] that gets me closer to p6dev...
large envelopes :)
CokeBot9000 is really not looking forward to organizing his home office. :| 15:05
moritz_ just 104k lines containing ++ :-) 15:06
15:08 pmurias joined
[particle] just notices his shred pile is 25cm 15:08
CokeBot9000 kids++ # they like running the shredder! 15:10
[particle] i've got to plug it in outdoors for this much paper... i'll put it right over the yard waste bin 15:11
can't recycle cross-cut shredded paper, the fibers are too small 15:12
moritz_ huh?
I thought the recycling mill shreddred them anyway?
ingy morning
[particle] if i put them in the yard waste bin, they're made into mulch i can use in my garden :) 15:13
hola, ingy
ingy hi [particle]
moritz_ oh, that's good recycling too
ingy [particle]: is there a spug meeting coming up?
15:14 holli joined
ingy [particle]: and are you coming to my python talk? 15:14
[particle] yes, third tuesday this monch
ingy :)
[particle] i didn't see when your talk is, let me follow the link and check my schedule
ingy ok
[particle] bummer, i have a soccer game tomorrow at 7, in redmond 15:15
ingy dang: I'll be in .tw on 3rd tuesday
[particle] and so it goes.
pmurias ruoso: hi
ingy [particle]: maybe we can hack at a cafe one day soon
you got a day job?
[particle] yep, i do
ingy I'm sorry :(
[particle] i'm paid to work on open source: openefs.org
ingy anything you want? 15:16
:)
[particle] if only, then i'd be p6 hacking
ingy is paid to work on open source by the state of washington
[particle] unemployment?
ingy oui 15:17
[particle] nice
ruoso hi pmurias
ingy I started a consulting company though
holli g'localtime
ingy ouicode.com
15:17 holli is now known as pausenclown
ingy but UI keeps it easy going 15:17
[particle]: did you see I got my new programming language working? 15:18
I was talking about it here later last night 15:19
[particle] no, i'll backlog
ingy the quick read is here: cdent.org/examples/ 15:20
:D
pmurias ruoso: how do you want the goals in the gsoc proposal detailed?
CokeBot9000 ingy: reminds me of SWIG or COBRA. 15:22
[particle] sweet
ruoso pmurias, "detailed" is not the best word... I should have said "explained"
ingy CokeBot9000: corba? 15:23
CokeBot9000 It's been 15 years and I still mistype that. =-) 15:24
ingy CokeBot9000: corba is pretty heavy weight though, no?
I mean with C'Dent you just use a Python module that happened to be written in Perl 6 15:25
you don't know that C'Dent was involved
moritz_ you'll certainly see that the code is generated, no?
ingy I don't know much about corba, but doesn't it involve a pretty heavy runtime?
PerlJam ingy: I'd know C'Dent was involved just by looking at the first line of the module :) 15:26
ingy moritz_: when is the last time you looked inside inside the modules you use everyday though
moritz_ ingy: I do that pretty often - whenever I get errors from inside the modules 15:27
(which is far too often)
ingy but you're special
:)
CokeBot9000 ingy: I see C'Dent -> Perl6 and C'Dent -> python ... is there one that converts back to C'Dent?
moritz_ and I also want to write patches for my modules, now and then
ingy I mean the point is that C'Dent is write once, upload everywhere 15:28
moritz_ I understand that
CokeBot9000 so you're not running a pythong module that is written in perl6. it's written in cdent.
ingy CokeBot9000: it's written in the C'Dent subset of Perl 6 15:29
but is pure Python at runtime
it's just a way to get module hackers to start thinking outside of their programming languages 15:30
and sharing with others
pausenclown what the hell is 'use MONKEY_TYPING'?
ingy it also might be a way to write Perl mods once for p5 and p6
pmurias pausenclown: it enables monkey patching
ingy or py2 and py3
masak pausenclown: know about the 'augment' and 'supersede' keywords? 15:31
pausenclown nope.
masak pausenclown: they're in S12, I think.
ingy hi masak
masak ingy: \o
ingy masak: we are almost a year late to pair up! 15:32
masak ingy: I know! and the need still exists.
still no YAML parser for Perl 6.
moritz_ but now we have <?(...)> in regexes
which will make it a bit easier 15:33
ingy masak: but right now... this very hour... I am going to write a perl6 parser in YAML!
pmurias ruoso: the other thing i'm not sure about is how to expand the benefits to the Perl community section of the proposal
masak ingy: good luck.
moritz_ ingy: you know that such a thing already exists?
masak ingy: if you put it on github or the like, I might contribute.
moritz_ STD.pm can parse itself 15:34
and turn itself into a YAML AST
ingy moritz_: :)
pausenclown ... use "supersede" instead of "augment"...but don't do that, ...
lol
moritz_ so it's just a matter of transforming that AST into the format that you need
anyway, afk
ingy moritz_: one sec 15:35
ruoso pmurias, you could expand the part where SMOP will enable, in a near future, the complete interoperability between Perl 5 and Perl 6 by the binary-type compatibilization of SV* and SMOP__Object* 15:36
ingy moritz_: I need it in this form: github.com/ingydotnet/cdent/blob/ma...ld.cd.yaml
:)
15:36 frzntoz joined
ruoso pmurias, i.e.: the perl 5.14 will support Perl 6 (5.12 will be out soon) 15:36
ingy but I really meant that I am going to write a parser for the C'Dent subset of Perl 6
which is I can actually do in less than an hour :) 15:37
just a grammar in YAML...
pausenclown speaking of OO. Are there corresponding keywords to Mooses' around, after and before?
ingy masak: it's all in github 15:38
ruoso pausenclown, not in the core, but given the flexibility of the Perl 6 object system, implementing that modifier in a module is very straightforward 15:39
TimToady pausenclown: not keywords, since Perl 6 doesn't really have any, but there are similar concepts 15:40
you can wrap any routine, not just a method
that gives you "around", of which before and after are merely subsets
or if you want something more like contracts, PRE and POST traits will do that 15:41
15:41 colomon joined
TimToady or if you just want to have actions that always fire when you enter or leave a block, ENTER and LEAVE will do that 15:41
ruoso TimToady, but wrap doesn't have a declarator 15:42
which is what before, after and around are 15:43
TimToady declarators run code at compile time
ruoso sure sure... I was just clearing what the original question was
TimToady yes, the concepts could be declared with traits
pausenclown tx
TimToady because traits can run code at declaration time, and running code can run .wrap 15:44
pmurias ruoso: i'm adding INFERED-TYPE-CHECK($expr,'...p5 test for the inferred type...') to mildew to write tests for the type inferrence
15:44 IllvilJa left
pausenclown but i wish the synopes weren't so cryptic ( or the Exegesis more up to date and complete ) 15:44
masak ingy: again, good luck. looking forward to seeing the result, and/or contributing.
ruoso pausenclown, they're not cryptic, they're just a spec doc ;) 15:45
pmurias * INFERRED-TYPE-CHECK
TimToady they could use to be better organized in spots, fershure
ruoso pmurias, you mean as a pre-declared symbol?
pausenclown i read that dispatcher part several times but i don't grok it. how/on what do i call nextsame et. al?
TimToady but I worry more about getting the correct facts in there somewhere, and then they can always be moved later
pmurias ruoso: propably only declared when a special pragma is seen by the compiler 15:46
TimToady pausenclown: you know how loop labels work in Perl 5?
ruoso pmurias, I think it's ok with the pragma
pausenclown sure
pmurias ruoso: it will be turned into a special AST node
TimToady imagine that every dispatcher has a loop
looping over its list of candidates
this loop has a lable, say "CANDIDATE:" 15:47
nextsame is basically just 'next CANDIDATE;'
pausenclown oh yeah, i get THAT
TimToady that's my mental model of it, more or less
ruoso I think the key to underestand it is that the method invocation is not internal to the object, it is external... the code that handles that invocation is "the dispatcher" and it belongs to the language runtime, not to each object
pausenclown but how do i call that sub. as a method on self, global sub,.. ? 15:48
TimToady but nextsame/nextwith also tell the dispatcher whether to call it with the original set of arguments or a new set
I don't understand your question 15:49
pausenclown ok. what is the invocant of nextsame?
TimToady whatever it was before
15:49 cotto_work left
ruoso I think he meant syntatically 15:49
pausenclown in rakudo, it tried self.nextsame, .nextsame and nextsame. none of them worked 15:50
but that might be an implementation issue
15:51 Trashlord joined
TimToady likely. a simple 'nextsame;' should work with most dispatchers, eventually 15:52
pausenclown that croaked in rakudo with "unknown sub" or something similar 15:53
TimToady well, then, NYI
15:54 vorner left
TimToady the method forms, by the way, want an invocant indicating the next candidate routine to call, so they bypass the dispatcher's notion of the next candidate, and force it. 15:55
pausenclown rakudo: class A { method x { say "a" } }; class B is A { method x { say "b"; nextsame; } }; B.new.x;
15:55 cotto_work joined
p6eval rakudo 8c434e: OUTPUT«b␤a␤» 15:55
15:55 payload joined
pausenclown mmh. i guess i should run an update =) 15:55
TimToady well, that part is YI
pausenclown that's all i need atm. 15:56
rakudo: class A { method x { say "a"; 1 } }; class B is A { method x { say nextsame; say "b"; } }; B.new.x; 15:57
p6eval rakudo 8c434e: OUTPUT«a␤»
jnthn :-)
callsame does the Other Thing. 15:58
15:58 IllvilJa joined
pausenclown rakudo: class A { method x { say "a"; 1 } }; class B is A { method x { say callsame; say "b"; } }; B.new.x; 15:58
p6eval rakudo 8c434e: OUTPUT«a␤1␤b␤»
pausenclown nice
did that concept grow on your midden, TimToady_ 15:59
?
15:59 meppl left
TimToady I have many middens, some moldier than others. 15:59
16:00 meppl joined
pausenclown =) 16:00
Seriously, who came up with it? It's very elegant. 16:01
TimToady bows and bangs oversized head on the floor
but most of these things have been heavily refined with much community discussion 16:02
you can say a lot in ten years...
but most of the unifications are my idea
16:03 REPLeffect joined
TimToady me being the guy who is supposed to see most of the elephant, all at once... 16:03
the blind guys tend to miss the symmetries...
pausenclown That's easy. Just make two steps backwards. ^^
cognominal TimToady, I hope you are careful to avoid to add the elephant factor to the bus factor. 16:04
TimToady it gets blurry when you do that :P
The elephant is, I hope, becoming real, while the bus is, I hope, remaining imaginary. 16:05
moritz_ ingy: then you'll have some fun transforming :-)
TimToady moritz_: the <<<<<<< patch, while well intended, is not quite right 16:06
pausenclown how to catch an elephant with binoculars, tweezers, and a match box?
TimToady line-oriented commentary should be handled in the same spot as pod docs
pausenclown: I live with someone who collects elephant jokes. I sincerely doubt you'll have a new one for me unless you make it up on the spot... :) 16:07
pausenclown heh. 16:08
You might try on her. The punchline is:
You look trough the binoculars reversed, pick up the elephant with the tweezers and put it into the match box. 16:10
TimToady That's casual to the most obvious observer.
REPLeffect In fairness to pausenclown, I didn't see it coming. 16:11
not that I was trying really hard.
TimToady you really only need binoculars if there are two elephants
REPLeffect TimToady: I'm guessing you'd heard it before 16:12
TimToady my wife tells it regularly
among about 200 others
REPLeffect I'm sorry. :D
pausenclown ok, so you obviously also know ho to detect an elephant in the fridge?
TimToady but for one elephant, a monocular will do, and a single tweezer.
sure, there are several ways, usually involving footprints. 16:13
REPLeffect ok, well even *I* knew that one
or, those ones, rather
16:13 jaldhar left
REPLeffect I think butter is the most popular 16:13
jnthn
.oO( Where do you find an elephant in an SVN repo? trunk )
16:14
REPLeffect no, no silly. He's at the end of a branch.
TimToady doubtless with his toenails painted.
jnthn I suspect trying to play tag with an elephant is a bad idea though. 16:15
REPLeffect there are bound to be conflicts
pausenclown The Jungle, a lovely glade. A tiger is taking a sun bath. Suddenly a "boom" shatters the woods, and an elephant enters the glade, bursting of laughter. 16:17
Tiger asks: What's so funny?
Elephant: We are fucking the monkeys.
16:18 jaldhar joined
pausenclown Tiger: So what? We do that too. 16:18
Elephant: Yeah, but yours dont explode!
masak *grasshoppers chirping* 16:19
16:19 ruoso left
moritz_ TimToady: so which rule should I patch for the version control markers? unv? 16:19
16:20 masak left
pausenclown
.oO( this is so hliarious: www.youtube.com/watch?v=gT_mkrrM_cE )
16:23
moritz_ erm, probably vws
16:27 envi^home left
ingy TimToady: did you ever decide if .p6 or .pm6 would be accepted Perl 6 module file endings? 16:27
so many parts of various tool chains key off file endings 16:28
seems like differentiation would be a good thing
pausenclown nods 16:29
ingy has an immediate need :) 16:30
moritz_ isn't that specced in S01?
ingy url?
moritz_ perlcabal.org/syn/S01.html
ingy ah 16:31
.p6m
moritz_ or pm6
ingy I am using .pm6 so far 16:32
frettled The latter is pmichaud friendly.
ingy I will continue
lisppaste3 moritz_ pasted "version control conflict marker - patch for STD.pm for TimToady++ to review" at paste.lisp.org/display/97454
moritz_ so far the 'make testt' hasn't produced new errors 16:33
moritz_ -> nom 16:34
16:34 ruoso joined
pausenclown rakudo supports neither pm6 nor p6m 16:39
jnthn Ugh. 16:40
Shouldn't be a hard patch to write, if we really gotta.
16:41 nihiliad left, nihiliad joined
ingy oh crap, now I remember. rakudo's "use Foo;" doesn't look for .pm6 :( 16:42
jnthn Well, given I only knew it was spec that we should support that for about 5 minutes... :-)
ingy that's why I had Foo6.pm :\
jnthn ingy: src/Perl6/Module/Locator.pm is the file in need of a patch. ;-) ;-) 16:43
ingy jnthn: k :) 16:44
I assume that using .pm6 over .pm is correct
although not sure if .pm is higher in the depth
jnthn Oh, you probably want to pick all of them up 16:45
TimToady if there are both a .pm and a .pm6, we should probably assume the .pm is Perl 5
ingy yes
jnthn :-/
Yeah but then we gotta worry about precedence of extension vs precedence of version...
ingy but do we do a full depth search on .pm6 first? 16:46
jnthn (as in, module version)
TimToady well, a lot of people are going to be translating a lot of .pm files over the next few years
16:47 frzntoz left
ingy I suppose that putting p5 paths in @*INC is asking for trouble 16:47
we could at least detect it and give a helpful msg 16:48
don't put p5 and p6 in the same directory yo!
TimToady the cache of which files are where could actually look at the .pm files and determine if they are p5 or p6
jnthn I think as a first cut, we just add all possibilities to the candidate list.
TimToady ingy: I do that all the time! 16:49
ingy TimToady: me too :P
TimToady STD.pm gets translated to STD.pm5 currently
[particle] put a closure in @INC to figure it out
ingy sometimes you gotta change your ways for the greater good
TimToady which confuses NYTProf greatly...
ingy I think Perl is a good example of that ;)
see?! 16:50
jnthn Then later we can tweak the selection algorithm and be smarter about gracefully handling Perl 5 modules.
TimToady well, it's already specced that we look for 'package Foo;' in .pm files
ingy TimToady's propensity to DTRT bites again!
TimToady and assume pm6 is p6
ingy jnthn: are you saying that if you see .pm6 and .pm next to each other, to load both? 16:51
jnthn TimToady: Well, we assume everything you feed to Rakudo is Perl 6 right now... ;-)
ingy: No, to add both to the candidate list.
16:51 payload left
jnthn Then if one declares a higher version number or is the wrong authority it'll get dropped. 16:51
ingy jnthn: I see
jnthn If there's a conflict then I guess they complain.
TimToady jnthn: which, oddly enough, means Rakudo is *not* assuming that what it is getting in Perl 6, but the Perl 6-like language, Rakudo *
jnthn But we can add a tie-breaker later on. 16:52
TimToady versioning is orthogonal to the 5/6 decision
ingy jnthn: but after the selection algorithm is done you just load 1, right?
jnthn Oh sure.
ingy ok
TimToady except in the sense that 6 is new than 5 :)
jnthn TimToady: Kinda.
TimToady *newer
ingy well then I guess there is no performance penalty for searching the whole depth. we have to anyways 16:53
[particle] -1 is newer than 5 and 6.
TimToady you build the database once in any case
ingy perl6 can has a database
TimToady fsdo 16:54
jnthn TimToady: We all know that Rakudo * won't support all of Perl 6, that's hardly news. :/ 16:55
The trick is trying to be as much a subset as we can. 16:56
16:56 stephenlb joined
TimToady well, short term, we can just say that any .pm6 hides a .pm in the same location. 16:58
ingy YAPC seems to have a negative bent on p6 this year
TimToady++
I can patch that ;)
jnthn TimToady: That works.
ingy (moving forward)++ 16:59
TimToady I prefer to think that YAPC is stressing all the cool things that Perl 5 has borrowed back from Perl 6. :)
ingy if my talk is accepted it will be about both 17:01
and then some
TimToady wonders how universal the <<<<<<< markers are across different revision control systems... 17:03
colomon wonders if he should submit a talk.... might have the brainpower to think about it in another week or two. 17:04
ingy colomon: for which conf? 17:10
colomon yapc:na 17:11
ingy colomon: I'd do it now. the CFP closed on Mar 31
I put mine in late (on Sunday)
:\
I didn't even notice the CFP had started.... 17:12
just happened to look online...
colomon I'm really not joking when I say I might have the energy in a few weeks. Right now I'm typing this standing in the kitchen of the now 80% empty house which used to be mine, listening to the movers try to take care of the last 20%. 17:13
PerlJam ingy: do you think they don't have enough proposals?
colomon so I guess I can wait for next year.
ingy PerlJam: what do you mean?
PerlJam yapc::na 17:14
if the CFP closed Mar 31, why would they accept proposals now?
ingy PerlJam: I am hoping they will, because I really want to present my talk 17:15
PerlJam ingy: What's the title or topic of your talk?
ingy PerlJam: conferences.mongueurs.net/yn2010/talk/2699 17:16
17:17 dakkar left
PerlJam that's a broken link for me. 17:17
ingy PerlJam: I think last year the CFP ran trough April. I didn't think to look into it in March. And I didn't see any email about it.
PerlJam: are you helping run the conf? 17:18
PerlJam nope
ingy you might need to be logged in
or you might need to be logged in as me :\
one sec 17:19
PerlJam: nopaste.snit.ch/paste :)
17:19 Chillance joined, cdarroch joined, cdarroch left, cdarroch joined
PerlJam ingy: I didn't pay attention to any of the YAPCs this year, but the last couple of years I recall that the deadline for CFP was extended because the timeline was originally quite short. 17:19
ingy well I wrote them a comment asking them if they would extend it a couple days :) 17:20
they are thinking of making it a 5 day conf I believe 17:21
PerlJam acmeism++
ingy :) 17:22
(conference calls)--
17:22 dual left
ingy bbl 17:22
17:23 payload joined 17:25 jaldhar left
moritz_ won't make it to #rs today 17:29
colomon when is it, again? 17:31
17:31 am0c left 17:32 dual joined, dual left
jnthn moritz_: OK 17:33
colomon: It...seems to keep shifting!
I think because of summer time. :-)
If it's same as last week, then it's in 86 minutes for me. 17:34
17:34 bkeeler_ is now known as bkeeler
jnthn Well, and everyone else I guess. :-) 17:34
I meant 2100 for me which is in 86 minutes... ;-)
colomon I may or may not be around then. :)
bkeeler I hope to be
PerlJam 1900 UTC? 17:35
jnthn PerlJam: I believe so.
colomon I think the movers will probably be done then, in which case I'll either be desperately doing last minute things or collapsing back at the hotel room.
PerlJam colomon: be sure to give the house a once-over to make sure you got everything :) 17:36
colomon that's for tomorrow morning. :)
bkeeler Order a pizza for the movers, that'll delay things enough for you to attend 17:37
colomon ha! we already bought them breakfast and lunch. :)
PerlJam my wife and I recently moved apartments and at the point I thought we were done, I started looking around and found and enire drawer of stuff in the kitchen that we had failed to move.
slavik can I have pizza, too? I'm sure the movers don't need all that pizza
PerlJam s/enire/entire/
colomon PerlJam++: you got me looking around the kitchen here, and I just found what appears to be half a draw of kitchen stuff the packers missed. 17:40
17:41 dual joined
colomon I have a giant ginger grater!? Who knew? 17:42
jnthn Wow that's grate!
PerlJam where do you get giant ginger? 17:43
colomon Probably Texas. 17:44
bkeeler So its that drawer full of unitaskers that you've used maybe twice then forgotten about?
PerlJam someone watches too much Alton Brown
(and it's probably me :) 17:45
bkeeler There's no such thing as too much Alton Brown ;)
I miss the food network.
colomon bkeeler: half and half 17:46
bkeeler Oooh, no, you should store that in the fridge 17:47
PerlJam yeah
colomon groan
PerlJam put that in your coffee, not in a drawer
PerlJam wanders off to get some work done 17:48
colomon my bottle opener was in there too, so it wasn't just stuff lost in the back of the drawer.
but then, some of that stuff was still in its original, unopened packaging. 17:49
in mint condition, I guess.
bkeeler I have one of those bar-style bottle openers that attaches to the wall. Never need to hunt around for it and waste precious beer-drinking time
diakopter peppermint or spearmint 17:50
17:50 solu joined
colomon wine bottle, I meant. 17:53
though it can do bottle tops too, I guess.
pausenclown rakudo: class A { has Str $a is rw = 1|2; }; A.new.a = 3;
p6eval rakudo 8c434e: OUTPUT«Method 'a' not found for invocant of class 'A'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
pausenclown rakudo: class A { has Str $.a is rw = 1|2; }; A.new.a = 3;
p6eval rakudo 8c434e: ( no output )
pausenclown rakudo: class A { has Str $.a is rw = 1|2; }; my $a = A.new; $a = 3; say $a.a 17:54
p6eval rakudo 8c434e: OUTPUT«Method 'a' not found for invocant of class 'Integer'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
colomon rakudo: my Str $a = 1|2;
p6eval rakudo 8c434e: OUTPUT«Type check failed for assignment␤current instr.: '&die' pc 17293 (src/builtins/Junction.pir:404)␤»
jnthn Type checks NYI for attrs.
diakopter poindexters what to do next
pausenclown rakudo: class A { has Str $.a is rw = 1|2; }; my $a = A.new; $a.a = 3; say $a.a 17:55
p6eval rakudo 8c434e: OUTPUT«3␤»
slavik pausenclown: am I understanding the intent there? you want to limit the things that A.a can be assigned to? 17:57
17:58 molaf left
pausenclown yeah. i thought it is a junction. 17:58
but i see now it makes no sense =)
sjohnson rakudo: my $str = "this is a string\n\n\n\n\n\n\n\n\n\n"; my @lines = $str.split(/\n/); say @lines.items; 17:59
p6eval rakudo 8c434e: OUTPUT«Method 'items' not found for invocant of class 'Array'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
colomon maybe something like has $.a where { $.a == 1|2 } ?
sjohnson rakudo: my $str = "this is a string\n\n\n\n\n\n\n\n\n\n"; my @lines = $str.split(/\n/); say @lines.count;
p6eval rakudo 8c434e: OUTPUT«Method 'count' not found for invocant of class 'Array'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
pausenclown or create a subtype
colomon rakudo: my $str = "this is a string\n\n\n\n\n\n\n\n\n\n"; my @lines = $str.split(/\n/); say +@lines; 18:00
p6eval rakudo 8c434e: OUTPUT«11␤»
sjohnson this is different than perl5. any idea why?
pausenclown rakudo: my $str = "this is a string\n\n\n\n\n\n\n\n\n\n"; my @lines = $str.split(/\n/); say @lines.elems; 18:01
p6eval rakudo 8c434e: OUTPUT«11␤»
sjohnson in perl 5, this will show it as being only 1 element
colomon because perl 5 is wrong? ;) 18:02
CokeBot9000 perl5: print "hi"; 18:03
(hey, does evalbot do p5?)
colomon rakudo: (<Read Write Exec Fold Spindle Mutilate> Z=> 1,2,4...*).perl.say
p6eval rakudo 8c434e: OUTPUT«("Read" => 1, "Write" => 2/1, "Exec" => 4/1, "Fold" => 8/1, "Spindle" => 16/1, "Mutilate" => 32/1)␤»
18:03 mberends joined
slavik nice 18:03
colomon whoops. :)
sjohnson i really have to get a p5 bot going 18:04
jnthn Hmm...what the Rat invasion? :-)
sjohnson maybe i'll do it tonight
colomon jnthn: that's my whoops.
probably should have a special check to avoid that in the series code.
pausenclown sjohnson: "Splits the string EXPR into a list of strings and returns that list. By default, empty leading fields are preserved, and empty trailing ones are deleted. " 18:05
from perldoc
sjohnson thanks pausenclown .. i should have checked perldoc. oops 18:06
pausenclown question is, is there an argument to .split to trigger the same behaviour? 18:07
pugssvn r30332 | lwall++ | [S02] some clarifications of the desired semantics of buffers 18:08
sjohnson i prefer the way it does it in p6 18:10
but that's just me
pugssvn r30333 | lwall++ | [S03] remove bogus mentions of Buf8, Buf16, Buf32 18:11
18:12 PZt left
pausenclown sjohnson: S32 says "Null trailing fields are no longer trimmed by default." but no word on how to undefault :/ 18:15
TimToady rakudo: my $str = "this is a string\n\n\n\n\n\n\n\n\n\n"; my @lines = $str.comb(/\N+/); say @lines.elems;
p6eval rakudo 8c434e: OUTPUT«1␤»
colomon TimToady++ 18:16
pausenclown blinks
TimToady usually if you think you want split in P6, you want comb instead.
pausenclown that's cheating =)
TimToady is allowed to cheat. 18:17
especially if it encourages people to establish good figure/ground reasoning skills 18:19
it's usually healthier to think about what you want than what you don't want... 18:20
...except when it isn't.
pausenclown and it's those exceptions that usually cause the most trouble. 18:21
TimToady actually, it's the people who take exception that usually cause the most trouble... :)
pausenclown nope. that's the people who make assumtions. 18:24
*assumptions
TimToady so you assume 18:25
pausenclown Well, you can lead a horse to water but you can't eat it too. 18:27
18:27 am0c joined
CokeBot9000 in that split example, are those last elements undefined, or are they the empty string? 18:27
(trying to write a p5split in rakudo that will drop trailing empty elements) 18:28
sjohnson timtoady knows a lot about perl ! 18:29
CokeBot9000 funny that. 18:30
'sthere something data::Dumper-like for rakudo yet? 18:31
sjohnson .perl
rakudo: say <1 2 3>.perl
p6eval rakudo 8c434e: OUTPUT«("1", "2", "3")␤»
pausenclown rakudo: my @a = ( 1, 2, 3, 4 ); say @a[2..*];
sjohnson i would have chose .dump myself...
p6eval rakudo 8c434e: ( no output ) 18:32
CokeBot9000 sjohnson: *facepalm*
sjohnson did i do something wrong?
sorry TimToady ... i remember me asking this question before, and you or someone else showing me the comb thing. oopsies 18:34
sjohnson reminds himself to read the Sd+ specs 18:35
(´ー` )
CokeBot9000 my $str = "this is a string\n\n\n\n\n\n\n\n\n\n"; my @lines = p5split($str, /\n/); say @lines.elems; sub p5split($string, $regex) { my @stuff = $string.split($regex); @stuff.pop() while +@stuff && @stuff[*-1] eq ''; return @stuff; }
rakudo: my $str = "this is a string\n\n\n\n\n\n\n\n\n\n"; my @lines = p5split($str, /\n/); say @lines.elems; sub p5split($string, $regex) { my @stuff = $string.split($regex); @stuff.pop() while +@stuff && @stuff[*-1] eq ''; return @stuff; } 18:36
p6eval rakudo 8c434e: OUTPUT«1␤»
18:38 frzntoz joined
TimToady rakudo: my $str = "this is a string\n\n\n\n\n\n\n\n\n\n"; my @lines = p5split($str, /\n[\n*$]?/); say @lines.elems; 18:38
p6eval rakudo 8c434e: OUTPUT«Could not find sub &p5split␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
TimToady rakudo: my $str = "this is a string\n\n\n\n\n\n\n\n\n\n"; my @lines = split($str, /\n[\n*$]?/); say @lines.elems;
p6eval rakudo 8c434e: OUTPUT«No applicable candidates found to dispatch to for 'split'. Available candidates are:␤:(Str $delimiter, Str $input, Int $limit = { ... })␤:(Regex $delimiter, Str $input, Int $limit = { ... })␤␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
TimToady rakudo: my $str = "this is a string\n\n\n\n\n\n\n\n\n\n"; my @lines = $str.split(/\n[\n*$]?/); say @lines.elems; 18:39
p6eval rakudo 8c434e: OUTPUT«2␤»
TimToady hmm
18:39 solu left 18:40 THW_ joined
sjohnson scratches TimToady's head 18:40
TimToady
.oO(You can lean my faithful horse U to water, but don't try to make an ass out of U and me...)
18:41 THW_ left
pausenclown rakudo: augment class Str { multi method split (Int $i) { $i*2 } }; my $s = "x"; say $x.split(12); 18:42
p6eval rakudo 8c434e: OUTPUT«Can't augment class Str without 'use MONKEY_TYPING'␤current instr.: 'perl6;Perl6;Grammar;add_name' pc 40468 (src/gen/perl6-grammar.pir:448)␤»
18:46 cdarroch left
pausenclown can I extend Str in order to create a new multi sub split? 18:47
rakudo: use MONKEY_TYPING; augment class Str { multi method split (Int $i) { $i*2 } }; my $x = "x"; say $x.split(12); 18:49
p6eval rakudo 8c434e: OUTPUT«x␤»
pausenclown rakudo: use MONKEY_TYPING; multi class Str { multi method split (Int $i) { $i*2 } }; my $x = "x"; say $x.split(12); 18:51
p6eval rakudo 8c434e: OUTPUT«Malformed multi at line 11, near "class Str "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
18:51 cdarroch joined, cdarroch left, cdarroch joined
CokeBot9000 /win 3 18:53
jnthn #rs in 5 18:54
sjohnson hi jnthn 18:57
jnthn sjohnson: o/ 19:00
19:03 clintongormley left 19:08 alester left, alester joined 19:10 ShaneC joined, M_o_C joined 19:12 M_o_C left 19:20 ash__ joined
ash__ does perl 6 have dynamic scopes? 19:23
frettled scope up, scope down? 19:24
TimToady of course Perl has dynamic scopes, the question is what you want to do with them 19:25
see, for instance, S06:2182 19:26
19:26 clintongormley joined
TimToady or S02:2645 19:28
ash__ like, " my $a = 0; sub f { return $a }; sub g { my $a = 1; return f; }; say g;" is there a way f's $a will refer to g's $a?
i'll go check those, thanks TimToady++
wait, so &*foo() makes a dynamically scoped foo or a globally scoped foo? 19:31
TimToady only if you call it $*a instead
dynamic
19:31 frzntoz left
TimToady most dynamic variables are actually in someone's lexical scope as $*a 19:32
ash__ so... the twigil * means dynamic not global? i thought it meant global for some reason
TimToady used to, a long time ago...
ash__ ah, wonder why i thought that... oh well
TimToady and it still ends up in GLOBAL:: as a fallback
or PROCESS:: 19:33
which is how %*ENV presumably gets there
ash__ so GLOBAL::<$a> (or should that be $*a?) is the final fallback for $*a if there is no lexical scope that doesn't have that value?
slavik so, when can I buy the Perl6 book? 19:34
ash__ so, to force it to be global you'd have to do just straight up define a GLOBAL::<$*a> ? 19:35
slavik: its downloadable for free, if you mean the one on github
slavik ash__: I want the hard copy :)
bkeeler I'm sure the authors could make it available on one of those print-on-demand services like lulu 19:36
jnthn slavik: There will be print copies in the future. :-)
TimToady ash__: yes, or 'our $a' when GLOBAL is the current package. 19:39
(the * is removed for looking in packages)
ash__ can you not go back and define a new one at a later point in the runtime? 19:40
19:41 alester left
slavik ash__: nothing says hardcore in 21st century like a hard copy :) 19:41
ash__ lol 19:42
true
19:43 Trashlord left 19:47 pjcj joined 19:53 alester joined 20:00 Guest67710 left
TimToady phone 20:00
20:02 mberends left 20:04 hercynium joined
frettled yes, please 20:05
slavik ash__: also, the hard copy can be signed and predominantly displayed :) 20:12
ash__ true 20:15
20:18 frzntoz joined
[particle] jnthn, moritz_, bkeeler: i just spoke with pmichaud. he promises to look at the patches from moritz and bkeeler as soon as he's able, possibly later this week. 20:30
bkeeler Nice, thanks 20:31
moritz_ great 20:32
ingy jnthn: I don't see src/Perl6/Module/Locator.pm in ra
moritz_ ingy: then your copy of rakudo is too old, incomplete or you're on the worng branch 20:33
ingy kudo :)
moritz_: likely
checking... 20:34
moritz_ branch 'master' should be fine 20:35
pmurias ruoso: is Mildew::Test::InferredTypes a sane name to ename INFERRED-TYPE-TEST?
ingy moritz_: thanks. I was on alpha because the last time I was active, master was messed up, iirc
moritz_: what is the standard way to submit patches here? 20:37
pmurias ingy: to rakudo? 20:38
ingy pmurias: yes 20:39
CokeBot9000 ~/win 3 20:42
ingy :)
PerlJam ingy: ask for a commit bit :)
20:43 Trashlord joined
ingy asks CAN HAS I COMMITZ?? 20:43
should I do the .pm6 patch on master or a branch? 20:44
CokeBot9000 ISTR that patches via rt.perl.org/rt3 are preferred over github pull requests. that could be very old intel, though.
frettled [particle]: did he say anything about how his wife is doing? 20:45
20:45 pausenclown left
[particle] they'll know more tomorrow, after a dr's appt 20:45
ingy PerlJam: can you give me a commit bit?
[particle] hugme: show rakudo
hugme [particle]: sorry, I don't know anything about 'rakudo'
[particle] feh.
20:45 clintongormley left
frettled [particle]: ok, thanks for the heads-up 20:45
[particle] my pleasure 20:46
20:47 colomon left
ingy bbiab. Need to relocate. 20:49
20:50 Su-Shee left
PerlJam ingy: I probably could if I remembered how. 20:51
ingy: what did you want to patch?
[particle] how about forking and doing a pull request? 20:52
PerlJam [particle]: that's crazy talk! :) 20:54
PerlJam secretly hopes that ingy wants to do IO::All Perl 6 style for Rakudo 20:55
20:57 hercynium left, alester left
jnthn [particle]: Great, thanks, good to know. 21:04
pugssvn r30334 | moritz++ | [STD] die on version control conflict markers 21:07
PerlJam moritz++ indeed 21:08
jnthn moritz_++
21:09 Damn3d joined 21:10 Damn3d left, Damn3d joined, Damn3d left, ruoso left
ingy PerlJam: I wanted to add .pm6 support as discussed here earlier by TimToady and jnthn 21:10
(and add IO::All to Rakudo... ;) 21:11
moritz_ ingy: submit a patch to [email@hidden.address] Commit bits to rakudo require sending in a signed CLA first
bkeeler The CLA is the standard perl one, right? 21:12
PerlJam ingy: did you sign a CLA for Parrot or anything?
ingy what is a CLA and how do I sign one?
moritz_ not sure
PerlJam ah, I guess not
ingy :)
PerlJam CLA == contributor license agreement 21:13
moritz_ CLA = Contributor License Agreement
PerlJam it's on the Perl foundation website somewhere
moritz_ and you sign it with a pen
21:13 frzntoz left
bkeeler www.perlfoundation.org/contributor_...agreement] 21:13
moritz_ and send by snail mail
PerlJam bkeeler++
ingy where do I send ?
thanks...
bkeeler The address is on the web site there
ingy I think
jnthn Generally though, some sane patches are also kinda a pre-req for a Rakudo commit bit. :-)
ingy :P
jnthn Well, or insanely good ones. ;-) 21:14
PerlJam jnthn: ingy will *never* get one then! All of his patches are insane
bkeeler 's patches are probably not sane
frettled PerlJam: hee-hee
moritz_ bkeeler: the first big one was sane enough to get applied
bkeeler I sent a CLA in, ready for whenever I'm judged sane enough
ingy 's insanity is the sanest of all 21:15
moritz_ bkeeler++
bkeeler Hmm, there appear to be two CLAs on the perlfoundation website, with different mailing addresses 21:18
www.perlfoundation.org/contributor_..._agreement and www.perlfoundation.org/attachment/legal/cla.txt
I sent mine to the Michigan address, not the Oregon one
21:19 nacho left 21:20 jhuni joined
ingy bkeeler: is that TPF address chromatic's? 21:24
it looks familiar :)
bkeeler Might be
[particle] oregon is a box near c
ingy anyway I got the CLA signed and am headed out to find a mailbox :) 21:25
[particle] michigan is a box near kurt
PerlJam ingy++ 21:26
[particle] oregon is possibly a new address, since kurt resigned as tpf treasurer
bkeeler Perhaps chromatic is the person to ask then 21:28
21:29 wknight8111 joined
ash__ so, to get a commit bit to rakudo, you need to sign a cla, is there anything else? 21:29
[particle] i pinged him in #parrot about it
ash__: you need to be approved 21:30
PerlJam ash__: some demonstrated ability doesn't hurt :)
bkeeler Who actually flips the bit? pm? 21:31
jnthn Yes.
[particle] pm manages the repo, yes
wknight8111 Demonstrated ability? Since when is that a requirement? :) 21:32
[particle] it's not well-documented on rakudo.org, based on a quick search
jnthn Of all the things that should be documented, I'd say this one is fairly far down the list. :-) 21:33
ash__ i am getting pretty far in my nq-nqp, although that may not be the demonstrative ability your looking for, i am hoping by maybe the end of the semester (5 weeks from now) i can have basic stuff working, function calls and looking, and things like that, then over the summer, in my spare time i'd like to implement grammars
jnthn ash__: Cool. 21:34
ash__: Are you looking at building it to be fairly NQP-compatible?
ash__ i am aiming for as much as possible, without anything PIR
jnthn Sure.
ash__ but syntax, and structure are going to be identitcal 21:35
jnthn Excellent.
ash__ it already parses and builds an AST for things like: sub foo($a) { $a + 2 }
i am just trying to get runtime support so I can have that be useful
jnthn :-) 21:36
jnthn should read up some more on llvm.
PerlJam speaking of ASTs ... did anyone see that grant where someone made Perl 5 ASTable? Seems like that could make a good bridge between Perl 5 and Perl 6
(though only if it works. Nicholas pointed out that it didn't even pass its own tests) 21:37
jnthn Might look if I can be AST.
er, I mean... :-)
21:38 TiMBuS joined, pmurias left
PerlJam news.perlfoundation.org/2010/04/gra...-perl.html 21:38
21:40 colomon joined 21:41 payload left
mathw PerlJam: that's pretty impressive 21:42
PerlJam There's a GSoC project lurking in there for some enterprising student too. 21:44
:)
I haven't looked at the AST, but I wonder if Perl 6 could be compiled to it. 21:46
ash__ off to give an ACM presentation & 21:49
21:49 ash__ left 22:03 lollan joined 22:04 nihiliad left 22:07 molaf joined 22:10 pausenclown joined 22:11 jhuni left 22:16 nsh joined 22:17 sbp joined 22:22 lue joined
lue Oh hai! 22:23
bkeeler Heya lue
lue nothing much is happening right now, is it? 22:27
.u bored
phenny lue: Sorry, no results for 'bored'.
lue .u sad
phenny U+0635 ARABIC LETTER SAD (ص)
lue :)
slavik lol?
.u г
phenny U+0433 CYRILLIC SMALL LETTER GHE (г)
slavik :D
lue rakudo: my $a = 3000; say "\x$a" 22:29
p6eval rakudo 8c434e: OUTPUT«Unrecognized backslash sequence: '\x' at line 11, near "$a\""␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
lue rakudo: my $a = 3000; say "\x[$a]"
p6eval rakudo 8c434e: OUTPUT«Unrecognized backslash sequence: '\x' at line 11, near "[$a]\""␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
lue rakudo: my $a = 3000; say "\x{$a}"
p6eval rakudo 8c434e: OUTPUT«Unrecognized backslash sequence: '\x' at line 11, near "{$a}\""␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
lue rakudo: my $a = 3000; say "\x $a" 22:30
p6eval rakudo 8c434e: OUTPUT«Unrecognized backslash sequence: '\x' at line 11, near " $a\""␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
jnthn std: my $a = 3000; say "\x[$a]" 22:31
p6eval std 30334: OUTPUT«===SORRY!===␤Unrecognized backslash sequence: '\x' at /tmp/pv61HlAUtY line 1:␤------> my $a = 3000; say "\x[⏏$a]"␤ expecting backslash␤FAILED 00:01 110m␤»
jnthn std: my $a = 3000; say "\x[$a]"
p6eval std 30334: OUTPUT«===SORRY!===␤Unrecognized backslash sequence: '\x' at /tmp/ymjLeBMnB3 line 1:␤------> my $a = 3000; say "\x[⏏$a]"␤ expecting backslash␤FAILED 00:01 107m␤»
CokeBot9000 .u APL quad 22:32
phenny U+2395 APL FUNCTIONAL SYMBOL QUAD (⎕)
lue That's seems a bit silly, that you can't do something like \x$a. 22:33
I know about ord() and chr(), but I want MTOWTDI!
:)
jnthn rakudo: my $a = 3000; say "lol $a.chr()" 22:34
p6eval rakudo 8c434e: OUTPUT«lol ஸ␤»
lue But it won't let me do the horrible pun I was after :( 22:35
rakudo: my $c = 42; my $k = 1923; my $d = 6502; say "\x[$k,$c,$d]"
p6eval rakudo 8c434e: OUTPUT«Unrecognized backslash sequence: '\x' at line 11, near "[$k,$c,$d]"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
lue .u thumb 22:43
phenny lue: Sorry, no results for 'thumb'.
22:46 payload joined 22:51 lollan left 22:58 payload left
lue rt.perl.org/rt3/Ticket/Display.html?id=57970 can anyone tell me the exact purpose of this ticket? 23:03
jnthn The comment is out of date in it
23:04 cdarroch left
jnthn But it means essentially "get radix.t to pass entirely" I guess. :-) 23:04
23:05 colomon left, lichtkind joined
lue The Perl6Str.pmc bit was random 23:06
hi lichtkind o/
23:06 ruoso joined
lichtkind lue: hai 23:06
is it save to say that mutable types are value container types? 23:07
lue I couldn't tell you :) . By just reading what you asked, it seems like it would. But don't quote me. I don't has Perl-fu yet :) 23:09
lichtkind hahha
lue: remind sme on old chinese films where the teacher says:
jnthn lichtkind: They needn't be, no
lichtkind lue: your kung fu is weak :)
jnthn lichtkind: I mean, an iterator isn't a container as such (you can't assign to it), but it does mutate as you iterate. 23:10
lichtkind jnthn: but mostly they do?
lue
.oO(The dub-over saying "hello" while the mouths say something like カネサ後場高きゅの質)
23:11
23:11 Chillance left
lichtkind my chinese is weak :) 23:14
jnthn lichtkind: Well, many is maybe more true than most... At least some. :-)
lue that's japanese, and I typed random syllables (which the input method turned into kanji) 23:15
phenny: "カネサ後場高きゅの質" ?
jnthn heh, I fed it to Google Translate. 23:16
You accidentally the well wishing.
"Yu Kanesa afternoon high quality"
23:17 felipe left
lue I fed it to my fish, it said: "Quality of [kanesa] afternoon session high coming [yu" 23:18
yu could be "hot bath", but kanesa isn't a word :/ 23:20
lichtkind added m, mm, ss to index B and pick to A 23:21
lue 時の勇士! 23:24
lichtkind: \o/
lichtkind lue: i dont understand this :) 23:25
lue that's alright, only the japanese do. They tell their kids the 時の勇士の伝説 23:26
.oO(I can't wait to start learning japanese someday!)
23:30 lichtkind_ joined
lue rakudo: say 1 orelse 0 23:31
p6eval rakudo 8c434e: OUTPUT«Confused at line 11, near "say 1 orel"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
lue std: say 1 orelse 0
p6eval std 30334: OUTPUT«ok 00:01 109m␤»
lue rakudo: multi sub infix:<orelse>($a,$b){$a??$a!!$b;}; say 1 orelse 0 23:32
p6eval rakudo 8c434e: OUTPUT«1␤»
lue rakudo: multi sub infix:<orelse>($a,$b){$a??$a!!$b;}; say 0 orelse 0
p6eval rakudo 8c434e: OUTPUT«0␤»
lue rakudo: multi sub infix:<orelse>($a,$b){$a??$a!!$b;}; say 0 orelse 1
p6eval rakudo 8c434e: OUTPUT«1␤»
lue rakudo: multi sub infix:<orelse>($a,$b){$a??$a!!$b;}; say 0 orelse 0 orelse 1
p6eval rakudo 8c434e: OUTPUT«1␤»
23:33 lichtkind left
lue rakudo: multi sub infix:<orelse>($a,$b){$a??$a!!$b;}; say 3!=3 orelse 4=9 orelse 1 23:33
p6eval rakudo 8c434e: OUTPUT«0␤Cannot assign to readonly value␤current instr.: '&die' pc 17293 (src/builtins/Junction.pir:404)␤»
23:33 lichtkind_ is now known as lichtkind
lue and there my code fails :/ 23:33
rakudo: multi sub infix:<orelse>($a,$b){$a??$a!!$b;}; say 3!=3 orelse 4==9 orelse 1 # *cough* 23:34
p6eval rakudo 8c434e: OUTPUT«0␤»
lue rakudo: multi sub infix:<orelse>($a,$b){$a??$a!!$b;}; say 0 orelse "bummer"
p6eval rakudo 8c434e: OUTPUT«bummer␤»
lue rakudo: multi sub infix:<orelse>($a,$b){$a??$a!!$b;}; say 3!=3 orelse 4==9 orelse "bummer" 23:35
p6eval rakudo 8c434e: OUTPUT«0␤»
lue jnthn: your a wiz at this stuff. Could the orelse code stay this simple, or would it have to get big and messy? 23:36
.oO(this [email@hidden.address] needs a lesson in bug reporting)
23:38
23:38 f00li5h joined, pjcj left
jnthn lue: Nah, actually we had a list of tasks in a text file and he knew how to magically turn each one into a ticket for us. :-) 23:38
lue ah. Well, they certainly aren't descriptive tickets :/ 23:39
23:39 xabbu42 left
jnthn I think orelse ain't that simple. 23:40
Needs to shrot-circuit and stuff, or at least only evaluate up to some conditon...
...which means mucking in compiler guts rather than just writing it in Perl 6.
lue It's supposed to continue on failure. It works in a basic sense, but the actual operator needs the Power and Wisdom of somebody else :D 23:41
23:42 f00li5h left 23:43 meppl left 23:44 f00li5h joined 23:46 rgrau left 23:49 f00li5h left 23:50 f00li5h joined
lichtkind allright eacht time got a bit further 23:57
good night and thanks
23:57 Teratogen left, lichtkind left
lue good night 23:58