»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:03 Chillance left 00:06 S11001001 left 00:14 BinGOs left, BinGOs joined 00:15 donri joined 00:17 mikemol left 00:18 mikemol joined 00:27 geekosaur left, allbery_b joined 00:29 localhost left 00:31 localhost joined 00:42 tokuhiro_ left
dalek ecza/serialize: 900e616 | sorear++ | / (4 files):
Implement blasts, gather, default values and parameter types, statement for
00:43
00:46 mikemol left 00:48 mikemol joined 00:54 whiteknight left 01:10 mikemol left, jlaire left, espadrine left, itz left, skangas left, ribasushi_ left, kst` left, szabgab left, m6locks left, sftp left, pmichaud left, cotto left, nebuchadnezzar left, jevin left, shachaf left, zostay_ left, diakopter left, risou_awy left, slavik1 left, domidumont left, snarkyboojum left, wooden left, ingy left, sivoais left, Patterner left, y3llow left, f00li5h left, z-b left, ashleydev left, jrockway left, LoRe left, eiro left, nsh- left, mls_ left, mux left, flussence left, pjcj left, alvis left, pothos left, Exodist left, arthur-_ left, szbalint left, Gothmog_ left, BLZbubba left, awwaiid left, Lorn left, fhelmberger_ left, mkramer1 left, mattp_ left, buubot_backup left, plobsing_ left, p6eval left, Maddingue left, localhost left, envi_ left, packetknife left, carlin left, Bzek left, mberends left, _ilbot left, jdhore left, tty234_ left, spacebat_ left, imarcusthis left, arnsholt left, jesk left, lumi_ left, Helios left, pochi left, preflex left, lestrrat left, [Coke] left, ruoso left, PZt left, ponbiki left, japhb left, Grrrr left, yath left, apejens left, breinbaas left, renormalist left, moritz left, Yappoko___ left, hillu left 01:11 HarryS joined 01:13 mikemol joined, localhost joined, envi_ joined, packetknife joined, jlaire joined, ingy joined, mkramer1 joined, sivoais joined, carlin joined, preflex joined, Bzek joined, espadrine joined, sftp joined, mberends joined, snarkyboojum joined, Patterner joined, itz joined, pmichaud joined, flussence joined, pjcj joined, alvis joined, cotto joined, mattp_ joined, y3llow joined, pothos joined, Exodist joined, buubot_backup joined, skangas joined, f00li5h joined, arthur-_ joined, nebuchadnezzar joined, jevin joined, lestrrat joined, _ilbot joined, jdhore joined, shachaf joined, tty234_ joined, z-b joined, spacebat_ joined, ribasushi_ joined, plobsing_ joined, zostay_ joined, [Coke] joined, szbalint joined, diakopter joined, ruoso joined, risou_awy joined, m6locks joined, szabgab joined, kst` joined, slavik1 joined, PZt joined, ponbiki joined, ashleydev joined, japhb joined, imarcusthis joined, BLZbubba joined, arnsholt joined, jesk joined, Gothmog_ joined, jrockway joined, domidumont joined, p6eval joined, Maddingue joined, wooden joined, lumi_ joined, awwaiid joined, Helios joined, Lorn joined, fhelmberger_ joined, pochi joined, mux joined, mls_ joined, nsh- joined, eiro joined, LoRe joined, hillu joined, Yappoko___ joined, moritz joined, renormalist joined, breinbaas joined, apejens joined, yath joined, Grrrr joined, hubbard.freenode.net sets mode: +v p6eval, donri left, donri_ joined 01:15 donri_ left 01:22 wolfman2000 joined
colomon sorear: ping? 01:24
01:35 Sarten-X left
colomon gist.github.com/1260722 is what I get if I add the line 01:41
thandlers["twriter_puts"] = Methody(null, typeof(TextWriter).GetMethod("Write"));
01:43 Sarten-X joined
colomon seems like "Ambiguous matching in method resolution" is the key bit, maybe? lots of different versions of Write 01:43
Oooo, adding , new Type[] { Tokens.String } seems to resolve it? 01:45
hmmm, now Unhandled Exception: System.Exception: System.String not subtype of System.IO.TextWriter:Void Write(System.String) 02:00
diakopter interesting
what's your input there
if you gist it, p6eval can run it
colomon Q:CgOp { (twriter_puts (obj_getstr {Niecza::gistcat(|$c)}) (unbox twriter (@ {self}))) }; 02:01
it's low-level niecza stuff, probably cannot be evaluated with p6eval 02:07
02:08 packetknife left
sorear colomon: pong 02:09
colomon \o/
I've been trying to get the TextWriter working, and stumbling. (see recent backlog)
sorear colomon: you need the arguments in the other order. In CLR as in P6, invocant is a hidden first argument. 02:11
colomon I tried it that way first
Unhandled Exception: System.ArgumentException: Value does not fall within the expected range. 02:12
gist.github.com/1260760 is my full current diff 02:14
sorear colomon: you need a (rnull in there 02:31
colomon around the twritter_plus?
sorear puts
yes
sorear thinks colomon is trying to type twitter
colomon definitely typing too fast, for sure 02:32
oooo, compiled!
02:32 ggoebel left
sorear every CgOp block has to return var 02:32
colomon hmmm, still nothing written 02:34
niecza> my $file = open "soltest", :w; $file.say: "yee-ha!";
sorear likely needs a close
colomon yeah, was just wondering about that 02:35
diakopter should TextWriter::say/print be marked unsafe? 02:37
colomon niecza> my $file = open "soltest", :w; $file.say: "yee-ha!"; $file.close 02:38
Bool::True
Wynne:niecza colomon$ more soltest
TextWriter.new(...)yee-ha!
errr.... not sure how I got TextWriter.new(...) in my output
benabik gifting the invocant? 02:39
*gist
sorear yes 02:43
(|$c) includes the invocant in the capture
colomon oh!
ummm.... 02:44
suggestions? 02:45
diakopter |@c then shift the invocant? 02:46
sorear shift doesn't work on parcels
the least bad way would probably be to use *@c for now
colomon can I then pass that to gistcat? 02:47
that = @c
sorear not sure
probably not 02:48
but you don't really need gistcat for that
colomon well, it works to the first approximation
Wynne:niecza colomon$ more soltest
yee-ha!
sorear Wynne!
sorear imagines that's pronounced "win"
colomon it is. named for Irish fiddler/tunesmith Martin Wynne 02:49
all the machines in the house are named after traditional musicians. :) 02:51
my guess is gistcat probably does the wrong thing when passed an array like that? (from the perspective of what we want it to do) 02:53
sorear yes
I guess you could flatten it and it would mostly work
colomon niecza: say: "yee-ha!", 1..5 02:56
p6eval niecza v10-36-g241a2d8: ( no output )
colomon niecza: say "yee-ha!", 1..5
p6eval niecza v10-36-g241a2d8: OUTPUT«yee-ha!1..5␤»
colomon okay, that much works
benabik niecza: say: say "test" 02:57
p6eval niecza v10-36-g241a2d8: OUTPUT«===SORRY!===␤␤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/6zREWKx9r0 line 1:␤------> say: say⏏ "test"␤␤Two terms in a row at /tmp/6zREWKx9r0 …
diakopter hunh; why isn't that a label 02:58
sorear I think it's being parsed as indirect object syntax
in at least some cases
diakopter stdbug?
benabik As whatnow?
sorear shrug
niecza: say (perl: [1..5]) 02:59
p6eval niecza v10-36-g241a2d8: OUTPUT«1 2 3 4 5␤»
sorear that, benabik
lets you put the invocant after the method name
diakopter sadface for labels 03:00
benabik But shouldn't it be `method $obj: $arg` not `method: $obj` ?
sorear : parses like , 03:01
erm, wait
my example WAS using a label
niecza: say (perl [1..5]:) 03:02
p6eval niecza v10-36-g241a2d8: OUTPUT«===SORRY!===␤␤Invocant handling is NYI at /tmp/T2Og70kO4l line 1:␤------> say (perl [1..5]:⏏)␤␤␤Unhandled Exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 766 (CORE die @ 2) ␤ at /home/p6eva…
sorear hah
colomon my example was wrong, I think
sorear colomon: I'm pussling over 'say: say "test"'
OH!
benabik share with the class. ;-) 03:03
sorear say: say "test" - say: introduces the 'say' symbol, so the second mention of 'say' is treated as a 0-ary term
benabik ohhhh...
niecza: foo: say 'bar'
p6eval niecza v10-36-g241a2d8: OUTPUT«bar␤» 03:04
sorear niecza: foo: say 'bar'; goto foo;
p6eval niecza v10-36-g241a2d8: OUTPUT«(timeout)bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar␤bar…
benabik niecza: foo: say foo
p6eval niecza v10-36-g241a2d8: OUTPUT«Label.new(...)␤»
benabik Perhaps there should be a "redeclaration of say" message?
test labels against already defined bare words (subs, consts, etc) 03:05
std: say: say 'test' 03:06
p6eval std 20ae3bd: OUTPUT«===SORRY!===␤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/9zzV_HQaF3 line 1:␤------> say: say⏏ 'test'␤Two terms in a row at /tmp/9zzV_HQaF3 line 1:␤-----…
colomon anyway, I seem to have this working, modulo difficulties with the first points of gisting and say
benabik I guess the redeclaration of say makes it parse say as a term, which triggers the obs message. Strange.
colomon sorear: want a patch for this? 03:07
benabik And then the TTIAR from the string.
benabik goes back to studying.
sorear colomon: yes 03:08
colomon: you can also strike open :w from docs/TODO
colomon it's just TODO on my copy? 03:09
and it doesn't say anything about :w
sorear oh hmm. 03:10
well, still good
colomon okay, why isn't git format-patch working for me? 03:13
benabik colomon: git format-patch creates a patch per commit after the named commit. git format-patch HEAD likely doesn't do what you expect. Try format-patch origin/master or format-patch -1 03:15
colomon origin/master for the win! I tried master earlier, but no luck. benabik++ 03:16
now how do I roll back to the public head? 03:18
benabik generally w/ reset 03:19
colomon git reset --hard HEAD^ or something like that 03:21
benabik I generally use origin/master
Or @{u}
That's a fun one.
colomon get reset origin/master
?
sorear git reset --hard origin/master
benabik Yes. --hard to also reset files 03:22
colomon sorear++ benabik++
03:30 am0c left 03:31 am0c joined 03:32 aloha left, aloha joined 03:34 donri joined
sorear niecza: enum Bob ( only => 0, proto => 4, multi => 8 ); say +Bob("multi") 03:37
p6eval niecza v10-36-g241a2d8: OUTPUT«8␤»
sorear niecza: enum Sam::Bob ( only => 0, proto => 4, multi => 8 ); say +::Sam::multi 03:40
p6eval niecza v10-36-g241a2d8: OUTPUT«0␤»
03:42 araujo left
TimToady actually, diakopter++ for finding the loop {} bug 03:47
04:19 ashleydev left
japhb nom: Str.new().Numeric 04:21
p6eval nom 7823a4: OUTPUT«(signal SEGV)»
japhb o/~ And we'll have fun, fun, fun 'til Daddy takes the T-bird away ... o/~ 04:22
Golfing it a bit: 04:24
nom: +Str.new
p6eval nom 7823a4: OUTPUT«(signal SEGV)»
japhb That's got to be close to the shortest Perl 6 code that will cause a segfault in current Nom .... 04:25
tadzik good morning 04:26
moritz Str.new probably doesn't initialize $!value or so
japhb o/
TimToady nom: +''.new
p6eval nom 7823a4: OUTPUT«(signal SEGV)»
japhb ooh
TimToady beatchya
moritz nom: ~1.new
p6eval nom 7823a4: ( no output )
japhb TimToady++ # 7 chars, current champeen. 04:27
sorear nice, even shorter than pir::hcf 04:32
moritz well, p6 is much more expressive than PIR after all :-)
TimToady nom: X.new 04:33
p6eval nom 7823a4: OUTPUT«Null PMC access in elements()␤ in method bless at src/gen/CORE.setting:529␤ in method new at src/gen/CORE.setting:516␤ in block <anon> at /tmp/pPePkYADmA:1␤ in <anon> at /tmp/pPePkYADmA:1␤␤»
japhb Psssh. Merely an NPMCA, doesn't count, clearly. :-) 04:34
Gah. In nom, how do I parse a string using a rule from Perl6::Grammar? My guesses are failing, and there's precious little to cargo cult ... 04:49
Simply doing 'Perl6::Grammar.parse($foo, :rule('bar')) is not working 04:50
japhb giving up on it for the night, I think. 05:05
I'd really rather not replicate a chunk of the existing grammar in my own code, but I can't see a currently working way around it. :-( 05:06
tadzik what do you mean "not working"? 05:07
as in "never matches, whatever you do"? You may want to try <?DEBUG(1)> on that
maybe it's just :rule NYI 05:08
no, it seems implemented
moritz in nqp grammars? 05:09
tadzik dunno about nqp
japhb | Gah. In nom 05:10
moritz well, Perl6::Grammar is written in nqp
nom: Perl6::Grammar.parse('1', :rule<numish>) 05:11
p6eval nom 7823a4: OUTPUT«Could not find symbol 'Perl6::&Grammar'␤ in sub die at src/gen/CORE.setting:416␤ in block <anon> at /tmp/6pzvW7Ba1t:1␤ in <anon> at /tmp/6pzvW7Ba1t:1␤␤»
moritz nom: use Perl6::Grammar; Perl6::Grammar.parse('1', :rule<numish>)
p6eval nom 7823a4: OUTPUT«===SORRY!===␤Could not find Perl6::Grammar in any of: lib, /home/p6eval/.perl6/lib, /home/p6eval/nom-inst2/lib/parrot/3.8.0-devel/languages/perl6/lib, .␤»
moritz how do you even use it?
sorear it's probably not realistically possible 05:12
because you need toset up $*ST and friends
japhb ... and therein lies the rub, I guess.
05:12 GlitchMr joined 05:19 sftp left
tadzik oh, Perl6::Grammar, my bad 05:25
I don't think you can use Perl6::Grammar in Perl 6 code 05:26
that's why a pod-parser-as-a-module is not implementued
japhb Yeah, I'm sadly gathering that. 05:27
I think what I may do is just paste in the relevant chunk of STD, and anywhere my code and the rest of Rakudo disagree about the parsing, I'll just file it as a rakudobug. ;-) 05:28
05:28 araujo joined, araujo left, araujo joined 05:30 Trashlord left
sorear japhb: I doubt Rakudo can run much of the grammar. 05:31
05:31 Trashlord joined
japhb sorear, I'm just looking for canonical parsing of values 05:32
moritz "just" 05:34
values include strings, and strings include interpolation
japhb moritz, yes, I had a bit of a smirk when I said that.
moritz so you need a symbol table to look up the variables that are being interpolated
japhb But actually, I meant in particular things other than strings ... or rather, 05:35
being able to detect anything that is a simple value that is not a string and treat it specially, while just leaving the remainder as the strings they started as.
05:35 kaleem joined
japhb (I'm trying to implement val() correctly-ish.) 05:35
05:37 SHODAN joined
japhb I've been slowly iterating my own hand-grown rules and then realized I really wasn't far off just reimplementing a bunch of what was already there, and that is of course just an excellent place for obscure bugs in edge cases where multiple grammars disagree .... 05:37
For example, my rules only allowed lowercase 'e' in exponential notation, but Rakudo's grammar allows uppercase as well. 05:38
05:42 GlitchMr42 joined 05:43 GlitchMr_42 joined 05:44 wtw joined 05:46 Trashlord left 05:47 GlitchMr left, GlitchMr42 left, daniel-s joined 05:48 GlitchMr_42 is now known as GlitchMr 05:50 Trashlord joined
moritz japhb: I think val() needs to use the grammar, but with some special hooks that aren't in place yet 05:56
japhb moritz, for example? 05:58
moritz japhb: well, for one we'd need a way to parse string literals without allowing interpolation, even if they are delimited with double quotes 05:59
06:00 athomason joined
japhb Ah, I think I see where you're going with that. 06:00
moritz japhb: and then stuff like lists of literals only
japhb right
What I really wanted to do was just inherit from the main grammar, and add a few extra rules that did things like 'list of literals' 06:01
sorear moritz: is "\n" interpolatin?
moritz japhb: how is MAIN coming along, btw?
sorear: no 06:02
sorear how about '\n\qq[\n]' ?
hmm, I wonder how niecza will handle this one 06:03
niecza: say 'abc\qw[ a b c ]def'
p6eval niecza v10-36-g241a2d8: OUTPUT«abca b cdef␤»
japhb moritz, Oh, decently I'd say -- certainly I think the current state in my tree is better than nom HEAD. But I think it can be enough better still that I wanted to iterate on it a bit more.
moritz sorear: we just need to disallow :s :a :h :f :c adverbs to Q
sorear and :x :)
moritz well :-) 06:04
japhb: patch early, patch often 06:05
japhb shrugs
Well, fair enough. 06:06
sorear huh.
japhb Do you want a bazillion small patches, or one big patch of the current state?
moritz japhb: one big patch
japhb Okie. Mailed where? 06:07
moritz japhb: [email@hidden.address]
japhb with [PATCH] in the subject, I assume?
moritz japhb: yes please
japhb Roger that. 06:08
06:08 Trashlord left
moritz nom: my $h = (1, 2); say %$h.perl 06:08
p6eval nom 7823a4: OUTPUT«("1" => 2).hash␤»
japhb Hmmm, should I include the # TODO block of comments at the top? 06:09
moritz japhb: yes 06:10
06:11 Trashlord joined
moritz nom: die "foo" 06:14
p6eval nom 7823a4: OUTPUT«foo␤ in sub die at src/gen/CORE.setting:416␤ in block <anon> at /tmp/olaySx9axg:1␤ in <anon> at /tmp/olaySx9axg:1␤␤»
06:19 athomason left, [Coke] left 06:20 athomason joined, [Coke] joined 06:22 Trashlord left
japhb moritz, sent ... though could be delayed by mail client trying to absorb huge pile of unhappy server spam from $day_job 06:23
06:24 masak joined
masak good morning, channel. 06:24
japhb o/
06:25 Trashlord joined
sorear hello. masak. 06:25
/serialize is now parsing 26% of the setting 06:26
I may have to leave it for a bit though
06:31 quester_ joined 06:34 athomason left 06:35 athomason_ joined 06:36 c1sung_ joined
sorear sleep 06:38
masak serialization in Niecza. that sounds exciting. I guess that will mean better support for things like BEGIN, and even macros! 06:55
07:06 baest joined 07:11 GlitchMr left 07:24 quester_ left 07:28 am0c left 07:35 packetknife joined 07:43 wamba joined 07:45 mishin joined, mishin_ joined 07:57 mj41 joined 08:00 mishin left, mishin_ left 08:01 mishin joined 08:03 huf left 08:04 baest left, mishin left 08:15 envi_ left, envi_ joined 08:18 dukeleto left 08:22 gpk joined
gpk hello 08:23
moritz hello gpk
gpk I need ur help
i ma developing an application using cgi perl & html 08:24
moritz perl 5 or perl 6?
gpk i want to login using perl & html in unix server
perl6
what code to write in perl so that my webpage should be connected to unix or solaris 08:25
moritz so you want a remote shell over CGI, right? 08:26
gpk yes
i put login name & pass in webpage & perl will connecte to unix server based on login name & pass 08:27
moritz so, what part do you need help with?
gpk coding part of perl
moritz I thought so
gpk to connect to unix server & check user name & pass
flussence that'll need either something involving PAM, or a SSH connection. 08:28
gpk how to use it 08:29
08:29 huf joined
moritz I don't think anybody has written PAM bindings for Perl 6 08:29
08:29 masak left
gpk i can use perl 5 also 08:29
moritz but perl 5 is off-topic here
so we only consider Perl 6 solutions
gpk okkk
moritz so ssh is probably the way to go 08:30
gpk okkk
how to use it i don't know
moritz there's lots about it on the internet; try google.com to find it
gpk okkk
08:34 ponbiki left, huf left 08:35 huf joined 08:44 kfo joined 08:47 kfo_ left 08:50 lateau_ joined 09:02 daxim joined, dakkar joined, masak joined 09:07 lateau_ left, wamba left
masak rakudo: sub ok($n) { "o" ~ "k" x $n }; say ok(3) 09:09
p6eval rakudo 834d9d: OUTPUT«okkk␤»
moritz masak++
masak it's not just frivolous. we've discovered a bunch of bugs by playing around like this :) 09:10
moritz I know :-)
masak maybe that phase is over, though.
flussence not quite, I broke nom last night! 09:11
09:12 baest joined
flussence nom: say ('aabaa' ~~ /\N+ b/).perl 09:12
p6eval nom 834d9d: OUTPUT«Match.perl(orig => "aabaa", from => 0, to => 3, ast => Mu, list => ().list, hash => EnumMap.new())␤»
09:12 packetknife left
flussence or I did, somehow 09:12
moritz doesn't see the brokenness offhand
but somebody discovered that 'foobar' x 1.5 hung 09:13
flussence nom: say ('aaaaabaaaaa' ~~ /^(<[a..z]>*) b/).perl;
p6eval nom 834d9d: OUTPUT«Match.perl(orig => "aaaaabaaaaa", from => 11, to => -3, ast => Mu, list => ().list, hash => EnumMap.new())␤»
masak huh!
flussence it seems to not work with anything resembling a character class
masak that's... wrong.
flussence nom: say ('aaaaabaaaaa' ~~ /^(\N*) b/).perl;
p6eval nom 834d9d: OUTPUT«Match.perl(orig => "aaaaabaaaaa", from => 11, to => -3, ast => Mu, list => ().list, hash => EnumMap.new())␤» 09:14
flussence nom: say ('aaaaabaaaaa' ~~ /(\N*) b/).perl;
moritz flussence: it seems that the combincation of * and captures somehow breaks
p6eval nom 834d9d: OUTPUT«Match.perl(orig => "aaaaabaaaaa", from => 11, to => -3, ast => Mu, list => ().list, hash => EnumMap.new())␤»
flussence hm
masak moritz: is there an RT ticket for that yet?
moritz nom: say so ('aaaaabaaaaa' ~~ /^(\N*) b/).perl;
p6eval nom 834d9d: OUTPUT«Bool::True␤»
moritz nom: say so ('aaaaabaaaaa' ~~ /^(\N*) b/)
p6eval nom 834d9d: OUTPUT«Bool::False␤»
moritz masak: I'm not aware of any
aloha: seen pmichaud
aloha moritz: pmichaud was last seen in #perl6 8 hours 1 mins ago joining the channel.
masak submits rakudobug 09:15
09:16 replore left 09:26 packetknife joined 09:30 jferrero joined 09:38 packetknife left 09:43 packetknife joined 09:59 Bzek left
eiro is there a way to use perl5 modules inside perl6 scripts ? 10:01
moritz eiro: old rakudo had that possiblity (though limited) with blizkost 10:04
eiro: and pmurias is working on that facility for niecza
eiro ok thanks 10:05
mberends eiro: yes, in Niecza right now: github.com/sorear/niecza/blob/mast...s/perl5.pl
eiro yeah but i installed rakudo :) 10:06
isn't rakudo the reference implementation ? 10:07
moritz no
there's nothing that makes rakudo more 'official' or 'reference' than any other compiler
eiro mberends, do you attend to belgian perl workshop ? (oct 15) 10:08
moritz, ok so
mberends eiro: unfortunately no, I shall be in Slovenia around that date 10:09
eiro mberends, maybe next time
anyone else ? a perl6 hacker at Brusells ?
oh ... but i hope we'll be a lot to join the perl dev room at fosdem 10:10
ingy it's Brussel
eiro ok
ingy if you are french
it's an acmeist city ;) 10:11
moritz isn't there are spelling like 'Bruxelles' or so?
eiro ingy, in french it's Bruxelles :)
yep
ingy oh, I meant ... 10:12
eiro i don't know why i thought it was Brusells in english
ingy I forget
eiro :)
any ready to use niezca build somewhere ?
ingy But it is Brussel from the direction I drove into it on Friday
eiro: Pugs
can run all cpan modules 10:13
masak niecza: say "eiro: here!"
p6eval niecza v10-36-g241a2d8: OUTPUT«eiro: here!␤»
eiro haha
ingy masak: you are bringing pugs back to life, yeah?
eiro ??? 10:14
really ?
ingy needs to go visit masak
eiro: I think he was talking about it
a couple days ago 10:15
eiro there is also github.com/masak/yapsi :)
too many things in perl6 floor :)
goto &eat 10:16
cya all
moritz does yapsi work on nom?
masak ingy: so far it's only loose talk. but yes, I want to. 10:18
ingy: mberends++ did some initial trials with getting Pugs to build so that a developer can start toying with it. I didn't hear an exclamation of success on that, though. just a bunch of mumbling about dependencies. 10:19
moritz: that is an interesting question. I should find out -- after $dayjob.
it does do a bit of grammars/regexes, so probably not. 10:20
ingy masak: cool. maybe I'll pIng au and see what needs to happen 10:21
o/ 10:22
10:25 mj41 left
masak ingy: if you could ask au++ to write a step-by-step list for how to build Pugs outside of Cabal, that would be great. 10:29
10:36 dark_x joined 11:01 Trashlord left 11:10 benabik left
masak "The PHP language sucks. But that isn't what matters; it's good for getting things done." 11:13
I think there's a bunch of truthiness to that quote. it's important for a language/tool to be able to "scale down" to the small, simple situations.
TiMBuS Perl is awesome. But that isn't what matters; it's good for getting things done. 11:19
eiro back
11:22 lateau_ joined
eiro ingy, is perl6 one of the targets of pegex ? 11:22
11:25 replore_ joined 11:26 Ptival joined 11:36 benabik joined 11:37 gpk left
ingy eiro: well any p6 that exposes a pcre-ish regex engine 11:38
eiro: although I am currently making a pegex emitter to p6rules 11:39
eiro \o/
ingy so you could compile a pegex grammar to native p6
bbut that may prove highly problematic :)
moritz why? 11:40
11:40 Patterner left
ingy because I don't actually parse the pcre bits currently 11:40
I just trust them to work natively
moritz uhm 11:41
so... pegex isn't related to c'dent?
ingy which is not a bad assumption in my experience
moritz I ask because c'dent is supposed to be AST based
not string based
11:42 Psyche^ joined, Psyche^ is now known as Patterner
ingy many ways to answer, but low bandwidth 11:42
c'dent is parsed by pegex
someday pegex will be written in c'dent
c'dent is ast based 11:43
masak TiMBuS: people often say that Haskell/Ruby/Python/whatever reads "like pseudocode". I have a similar feeling with Perl, but on the data structure level. arrays and hashes map very nicely to a bunch of problems in my head. 11:44
moritz IMHO the point of pseudocode is that you don't have to care about all the small details; but in every real programming language you have to 11:46
masak there is something to that. 11:47
in the same way, arrays and hashes "gloss over" some of the details that more specific data structures might provide, but they are often good enough just like pseudocode is good enough. 11:48
moritz and autovivification also takes care of some of those details 11:49
masak in my experience, Java and .Net programmers don't think "oh, that's just a hash" in many of the cases I do.
12:02 bluescreen10 joined 12:09 grondilu joined
ingy but waves hands at regexes in the ast 12:11
lost the net for a sec
moritz that's why we have public logs :-)
masak well, one reason :P 12:12
ingy but now I'm checked in and at the LHR restaurant in a cozy chair
moritz: if you don't have to worry about any small details in perl 6, does that mean it's not a real programming language? 12:14
moritz ingy: but you do
ingy: 90% of programming is caring about small details 12:15
ingy at this point in history
moritz for the last 50 or so years, yes 12:16
and I don't see any concept that will change that
on a fundamental level, that is
ingy so it must not be possible! 12:17
moritz unless somebody comes up with a really smart AI that takes care of the details just like it thinks a human would
ingy: I'm not saying that, I merely say that I don't see any concept
ingy i know, just making sure nobody assumes that :) 12:18
12:18 brill joined
moritz mostly because I find that the lack of care about details is harmful not only in programming, but basically everywhere 12:18
12:18 brill left
ingy I find that the attention to details is also harmful :) 12:18
solid abstractions hide details 12:20
masak abstractions leak. :/
ingy and that's how we got from 50 years ago to now
12:20 ggoebel joined
ingy masak: do you know how many abstractions you take for granted every day? 12:21
ever wired transistors together?
masak ingy: almost by definition, no.
nope :)
moritz you turn on the light, and gloss over how many details are necessary to generate the electricity, and get it to your home
and yet there is still enough complexity to worry about 12:22
ingy transistors are a great abstraction built on top of a world of abstractions
moritz because we always explore until we can't handle the complexity anymore
ingy yes
12:23 ab5tract joined
ingy I just think that programming will become a solid abstraction 12:23
moritz so if somebody gives me a tool to decrease complexity by 99%, I just build 100x more awesome stuff and *then* complain that I can't handle the complexity anymore
ingy programming as we now know it
moritz (assuming that complexity scales linearly with awesomeness, which it surely doesn't in real life)
ingy we are still on the low side of the exponential curve 12:24
moritz plotting what against what? 12:25
masak that's the problem. hardware keeps getting exponentially awesomer; software clearly doesn't.
ingy in my personal path I have been working on abstractions that just now are allowing me to publish one or two new modules a day
but only in one language at a time 12:26
moritz ingy: and can you maintain all those modules?
ingy I'm working on that abstraction as well
so not yet, but yes
flussence is sitting at $dayjob watching my 6-core workstation deadlock 6 threads in crap software over and over :) 12:27
ingy that's my plan anyway
moritz how do you plan to abstract maintenance?
ingy the same way that you abstract community 12:28
moritz well, I don't know how that works either
ingy me neither, but I am working on it. seriously 12:29
I don't plan to release modules that aren't maintained 12:30
moritz doesn't know if he wants to be part of an abstracted community, whatever that might be
ingy but if I spend all my time maintaining them, I fail
moritz: you already are
moritz ingy: how so?
ingy github is an abstract community
it's not perfectly abstracted 12:31
but it's a glimpse
moritz I see github more as a tool that communities use, not as a community
[Coke] if you're going to encourage people to send patches to rakudobug, you have to evaluate and respond to them so I don't end up sending an email 2 years later saying "oh. whoops."
ingy I see it as an abstract community 12:32
moritz [Coke]: I do try that (you don't see the applied patches and closed tickets), but there are many patches I can't judge, because I don't know the code well enough
12:33 mishin joined
masak ingy: I don't get the part about us abstracting community. please elaborate. :) 12:33
do you mean when we talk about the community as an entity, rather than being composed of a bunch of people? 12:34
[Coke] moritz: more of a general grumble, as I hate being the face of rakudo that says "hey, we suck at responding to patches! Thanks!"
moritz [Coke]: quite understandable
[Coke] uhoh. 749 tickets. we're edging back up. 12:36
masak [Coke]: kudos for sending those emails.
[Coke]: if it helps, I feel a pang of guilt every time I see one of those responses :/
[Coke] good! ;) 12:37
masak heh
we should try not to let the RT perl6 queue grow that big again... 12:38
easier said than done, of course.
moritz wonders how hard it would be to get dalek reporting of RT activity 12:39
one thing that people could do is write more tests for tickets, before they are resolved
but many of the tickets are "It dies in an LTA way", and nobody really knows what *should* happen instead
it's hard to write tests for that.
[Coke] hey, TimToady, there are a few [spec] tickets still open. ;) 12:40
masak seems to me people who write lots of tests in the spectest suite are either (a) short-lived in that role, or (b) moritz. 12:41
I don't know why that is.
ingy masak: when you release a module it gets an irc channel, a mailing list and a facebook page 12:42
moritz yay, more dead mailing lists </sarcasm>
and more dead IRC channels...
ingy yeah, that's a shitty implementation
12:42 grondilu left
ingy but that's part of inventing abstractions 12:43
moritz IME it's much better to start with *one* channel, and fork off some of it when the activity in one particular subtopic takes over all the s/n ratio
[Coke] rakudo: say 1,2 Z 3,4
p6eval rakudo 7408d6: OUTPUT«1 3 2 4␤»
[Coke] rakudo: say (1,2 Z 3,4).gist 12:44
masak ingy: if that's what abstracting communities is about, I'd take a concrete community any day :)
p6eval rakudo 7408d6: OUTPUT«1 3 2 4␤»
[Coke] rakudo: say (1,2 Z 3,4).perl
p6eval rakudo 7408d6: OUTPUT«((1, 3), (2, 4)).list␤»
[Coke] rakudo: (1,2,3 Z[,] 4,5,6).perl.say 12:45
p6eval rakudo 7408d6: OUTPUT«((1, 4), (2, 5), (3, 6)).list␤»
[Coke] rakudo: (1,2,3 Z, 4,5,6).perl.say
p6eval rakudo 7408d6: OUTPUT«((1, 4), (2, 5), (3, 6)).list␤»
12:45 replore_ left
moritz if done right, Z and Z, and Z[,] are all the same 12:45
... and it seems they are in nom.
12:46 replore joined
masak I'm guessing there's an RT ticket for that already...? 12:47
[Coke] masak: 75818; needs tests.
12:48 Ptival left
[Coke] rakudo: say True.so; 12:48
p6eval rakudo 7408d6: OUTPUT«Bool::True␤»
[Coke] rakudo: say True.not;
p6eval rakudo 7408d6: OUTPUT«Method 'not' not found for invocant of class 'Bool'␤ in block <anon> at /tmp/8Na9f0JyUp:1␤ in <anon> at /tmp/8Na9f0JyUp:1␤␤»
[Coke] rakudo: say 748-38, "tickets open that aren't just stalled on tests." 12:51
p6eval rakudo 7408d6: OUTPUT«710tickets open that aren't just stalled on tests.␤»
ingy more later 12:57
masak rakudo: say (748-38, "tickets open that aren't just stalled on tests.")
p6eval rakudo 7408d6: OUTPUT«710 tickets open that aren't just stalled on tests.␤»
masak "parentheses are just for grouping" :P
[Coke] rakudo: class E {has $.n is rw; has $.v is rw; method Str{~self.v}}; my E $x .= new(:v(1)); $x.n = E.new(:v(2)); (gather { my $i = $x; while $i.defined { take $i; $i = $i.n } }).join("|").say 12:58
p6eval rakudo 7408d6: OUTPUT«1|2␤»
[Coke] rakudo: my $x; say "$x >> "; 12:59
p6eval rakudo 7408d6: OUTPUT«===SORRY!===␤Unsupported use of >> to do right shift; in Perl 6 please use +> or ~> at line 1, near "\";"␤»
[Coke] rakudo: my $x; say "$x >>";
p6eval rakudo 7408d6: OUTPUT«Use of uninitialized value in string context␤ >>␤»
[Coke] rakudo: my $x=3; say "$x >>"; 13:00
p6eval rakudo 7408d6: OUTPUT«3 >>␤»
[Coke] rakudo: my $x=3; say "$x >> ";
p6eval rakudo 7408d6: OUTPUT«===SORRY!===␤Unsupported use of >> to do right shift; in Perl 6 please use +> or ~> at line 1, near "\";"␤»
moritz urks
std: my $x=3; say "$x >> "; 13:01
masak [Coke]: if there's a ticket about that, it should be mergeable with one about qq strings, interpolation, whitespace, and comments.
[Coke] that's been open for a over a year.
p6eval std 20ae3bd: OUTPUT«ok 00:01 122m␤»
[Coke] masak: RT #75320
If it's untouched for more than a year, and still happening, a comment that it's still happening is ok, yes?
moritz yes
[Coke] (if it's untouched a month, that's too soon.) 13:02
I won't bother figuring out where the boundary is and just stick with a year for now. ;)
(now I have another way to drop things off my "pingable" list of tickets, yay.)
masak it's not so much the time as codebase change that matters... :)
things from before February can't be about nom, for example. 13:03
moritz and many old tickets refer to the parser in one way or another, because the parser hasn't been touched much in the b -> nom transition
[Coke] moritz: Can you construct a test case for 76534 that doesn't involve Pugs? 13:07
flussence rakudo: say "2 >> 1";
p6eval rakudo 7408d6: OUTPUT«2 >> 1␤»
[Coke] (also, hoping it's fixed already. ;)
moritz [Coke]: it's OK to just do BEGIN @*INC.push: 't/spec/packages'; 13:08
[Coke] rakudo: require ::;
p6eval rakudo 7408d6: OUTPUT«===SORRY!===␤ResizablePMCArray: Can't pop from an empty array!␤»
[Coke] alright, that one is only 11 months. Close enough. ;) 13:09
moritz [Coke]: but since nom doesn't do custom ops, we can't close tickets that say we don't do them well enough 13:10
13:11 dark_x left
[Coke] moritz: that's fine, I just want an example in the ticket that is self contained. 13:11
rakudo: say @array.^methods;
p6eval rakudo 7408d6: OUTPUT«===SORRY!===␤Symbol '@array' not predeclared in <anonymous> (/tmp/LiNEqrj8gt:1)␤»
[Coke] rakudo: my @a; say @a.^methods; 13:12
p6eval rakudo 7408d6: OUTPUT«new at_pos flattens REIFY STORE_AT_POS STORE perl new Bool Int end fmt flat list flattens Capture Parcel at_pos eager elems exists gimme infinite iterator munch pick pop push roll reverse rotate shift unshift sort classify categorize REIFY STORE_AT_POS FLATTENABLE_…
[Coke] rakudo: my @a; say @a.^methods.sort();
moritz [Coke]: it needs to be in a separate file, but Exportops.pm is in roast
p6eval rakudo 7408d6: OUTPUT«No applicable candidates found to dispatch to for 'Numeric'. Available candidates are:␤:(Mu, Mu %_)␤␤ in method Numeric at src/gen/CORE.setting:607␤ in sub infix:<==> at src/gen/CORE.setting:1992␤ in sub infix:<cmp> at src/gen/CORE.setting:1035␤ in method sort …
masak interesting error. 13:13
13:13 dukeleto joined
moritz it tries to do a numeric sort for some reason 13:13
[Coke] rakudo: my @a=1,2,3; say @a.sort();
p6eval rakudo 7408d6: OUTPUT«1 2 3␤»
[Coke] rakudo: my @a=<a b c>; say @a.sort();
p6eval rakudo 7408d6: OUTPUT«a b c␤»
[Coke] 09:12 <+p6eval> rakudo 7408d6: OUTPUT«No applicable candidates found to dispatch to for 'Numeric'. Available candidates are:␤:(Mu, Mu 13:15
%_)␤␤ in method Numeric at src/gen/CORE.setting:607␤ in sub
infix:<==> at src/gen/CORE.setting:1992␤ in sub infix:<cmp> at
sorry.
src/gen/CORE.setting:1035␤ in method sort …
ARGH.
rakudo: say :foo<<string\ here>>.perl
p6eval rakudo 7408d6: OUTPUT«"foo" => ("string\\", "here")␤»
flussence nom: say so ('aaaaabaaaaa' ~~ /(\N*) b/); # do we need a test added for this one?
p6eval nom 7408d6: OUTPUT«Bool::False␤»
[Coke] rakudo: say «a\ b».perl
p6eval rakudo 7408d6: OUTPUT«("a", "b")␤»
moritz flussence: yes 13:16
masak nom: my @a; say @a.^methods[0].WHAT
p6eval nom 7408d6: OUTPUT«Method()␤»
flussence hmm, what's the best place to put it... 13:17
masak nom: my @a; say @a.^methods[0] ~~ Mu
p6eval nom 7408d6: OUTPUT«Bool::True␤»
masak nom: my @a; for @a.^methods[0] { say $_ ~~ Mu }
p6eval nom 7408d6: OUTPUT«Bool::True␤»
[Coke] rakudo: my $ = 5; my $ = 7; say "alive"
p6eval rakudo 7408d6: OUTPUT«===SORRY!===␤Redeclaration of symbol $ at line 1, near " = 7; say "␤»
masak nom: my @a; for @a.^methods.list { say $_ ~~ Mu }
p6eval nom 7408d6: OUTPUT«Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool…
moritz nom: my @a; say [&&] @a.^methods.list { $_ ~~ Mu } 13:18
p6eval nom 7408d6: OUTPUT«===SORRY!===␤Confused at line 1, near "say [&&] @"␤»
moritz nom: my @a; say [&&] @a.^methods.map: { $_ ~~ Mu }
p6eval nom 7408d6: OUTPUT«Bool::True␤»
moritz flussence: maybe S05-metasyntax/charset.t though I'm not really convinced 13:19
or S05-mass/rx.t, but it'll get lost there
flussence nom: say so ('aaaaabaaaaa' ~~ /^(a*) b/);
p6eval nom 7408d6: OUTPUT«Bool::True␤»
moritz maybe a new test, S05-metasyntax/quantifier.t
flussence it works fine for literals, not for char classes... charset.t might fit 13:20
moritz nom: say so ('aaaaabaaaaa' ~~ /^(.*) b/); 13:21
p6eval nom 7408d6: OUTPUT«Bool::False␤»
moritz nom: say so ('aaaaabaaaaa' ~~ /^(<[a]>*) b/);
p6eval nom 7408d6: OUTPUT«Bool::True␤»
moritz nom: say so ('aaaaabaaaaa' ~~ /^(<-[b]>*) b/);
p6eval nom 7408d6: OUTPUT«Bool::True␤»
13:22 dark_x joined
moritz that kinda convinces me it's not char classes that are the problem, but the fact that it needs to backtrack if that first thing matches an 'a' too 13:22
masak aye. 13:23
I should've seen that too.
it's quantifiers and capturing groups that combine to create the bug.
moritz nom: say so 'aaaaaba' ~~ / { pir::say(%*RX<r>) } a*b/ 13:24
p6eval nom 7408d6: OUTPUT«Dynamic variable %*RX not found␤ in method throw at src/gen/CORE.setting:5979␤ in method <anon> at src/gen/CORE.setting:6073␤ in <anon> at src/gen/Metamodel.pm:2085␤ in find_method_fallback at src/gen/Metamodel.pm:2083␤ in find_method at src/gen/Metamodel.pm:785␤…
moritz nom: say so 'aaaaaba' ~~ / ^ .* b/
p6eval nom 7408d6: OUTPUT«Bool::True␤»
moritz nom: say so 'aaaaaba' ~~ / ^ (.*) b/ 13:25
p6eval nom 7408d6: OUTPUT«Bool::False␤»
moritz nom: say so 'aaaaaba' ~~ / ^ (.)* b/
p6eval nom 7408d6: OUTPUT«Bool::True␤»
moritz agrees with masak's diagnosis
flussence nom: say so ('ab' ~~ /^(.*) b/);
p6eval nom 7408d6: OUTPUT«Bool::False␤»
flussence is there an RT number I can point the test to? 13:26
masak adds this to the ticket
moritz flussence: 100650
flussence thanks
masak boy. we're in the hundred thousands now...
moritz btw RT #100k is a spam ticket :(
masak dang! 13:27
benabik We should buy their product in celebration.
tadzik (:
moritz we should launch a missile at their control center in celebration
spammers should never win.
benabik When does a 1 arg infix sub get called? 13:29
moritz as a start value for a reduction
nom: say [*] 3
p6eval nom 7408d6: OUTPUT«3␤»
benabik Oh. [+] 1,2,3 = +(3,+(2,+(1))) ? 13:30
moritz wait, I think that uses the 0-arg version, no?
masak modulo order, yes :)
moritz I thought more ilke [*] 5, 6, 6 == 1 * 5 * 6 * 6
masak tadzik: greetings, human!
benabik I don't think so, given that several infix ops have die on their 0-arg
tadzik oh hai 13:31
moritz but the 1 comes from infix:<*>()
nom: say [*]()
p6eval nom 7408d6: OUTPUT«1␤»
benabik nom: [x] 1,2,3
p6eval nom 7408d6: ( no output )
masak nom: say [max]()
p6eval nom 7408d6: OUTPUT«-Inf␤»
benabik nom: say [x] 1,2,3
p6eval nom 7408d6: OUTPUT«111111␤»
benabik nom: say [x]
p6eval nom 7408d6: OUTPUT«␤Could not find sub &x␤ in block <anon> at /tmp/AYtl3xlYKa:1␤ in <anon> at /tmp/AYtl3xlYKa:1␤␤»
benabik nom: say [x] ()
p6eval nom 7408d6: OUTPUT«No zero-arg meaning for infix:<x>␤ in sub infix:<x> at src/gen/CORE.setting:822␤ in sub <anon> at src/gen/CORE.setting:7556␤ in block <anon> at /tmp/k4Gn0KaJtx:1␤ in <anon> at /tmp/k4Gn0KaJtx:1␤␤»
13:31 localhost left
masak no whitespace. 13:31
benabik Can't be calling 0-arg, must start at 1.
masak benabik: no, you're doin it rong. 13:32
nom: say [x]()
p6eval nom 7408d6: OUTPUT«No zero-arg meaning for infix:<x>␤ in sub infix:<x> at src/gen/CORE.setting:822␤ in sub <anon> at src/gen/CORE.setting:7556␤ in block <anon> at /tmp/d9JV_35Hfp:1␤ in <anon> at /tmp/d9JV_35Hfp:1␤␤»
benabik Same answer. :-P
masak oh, sorry :)
wasn't reading properly.
benabik But since [x] () doesn't work and [x] 1,2,3 does, then reduction has to start with 1 or 2 args, not 0
colomon I believe 0-arg is called if there are no args in the reduce, 1-arg if there is exactly one arg, and only 2-arg versions otherwise
masak I'm still not completely clear on why '[+] 1, 2, 3' works, but not '[+]'. 13:33
dalek ast: ee33e98 | flussence++ | S05-metasyntax/charset.t:
Add test for RT #100650
benabik Reduction needs a list?
masak colomon: sounds about right.
colomon masak: that's grammar
benabik [max] () === -Inf seems odd to me.
colomon nom: my @a; say [+] @a
p6eval nom 7408d6: OUTPUT«0␤»
moritz nom: my @a; say [*] @a 13:34
colomon nom: my @a; say [*] @a
p6eval nom 7408d6: OUTPUT«1␤»
colomon nom: my @a; say [max] @a
p6eval nom 7408d6: OUTPUT«-Inf␤»
moritz benabik: what would you rather see as [max] () ?
masak benabik: only until you think about it. 13:35
moritz hence my questions, which brings you to think about it :-)
benabik I see it as parallel to [+] and [*], but getting the maximum value of a list and getting something that's not in it is wierder.
masak benabik: the maximum of nothing is the smallest possible value, because anything is more maximal than nothing.
moritz benabik: but there's no 0 in [+] () either 13:36
colomon benabik: but there's nothing in the list at all
moritz nor a 1 in [*] ()
but both make a lot of sense
masak all three make a lot of sense.
colomon benabik: so either you return Nil, or error, or -Inf
and -Inf is the most informative, least error-y of those choices 13:37
moritz but you can't easily continue using Nil in a computation
benabik I understand the logic, just not as intuitive for me I guess. :-)
masak benabik: think of it this way. to implement a &max subroutine, I keep a counter with the biggest number I've seen so far.
benabik: what should I initialize the counter to? 13:38
dalek kudo/nom: 299e5af | moritz++ | src/core/Mu.pm:
Mu.not
kudo/nom: 545638a | moritz++ | src/Perl6/Actions.pm:
deal with "require ::"
masak hm, maybe "accumulator" is a better term than "counter".
13:43 SHODAN left, mtk left 13:46 localhost joined
masak benabik: put differently, -Inf is the "unit" of the &infix:<max> operator -- the number that you can always apply without any noticeable change. 13:50
benabik masak: I do understand the logic. :-) I guess I just mentally translate `[max] @a` to `foldl1 max @a`, which would explode. 13:52
masak: My expectations will adapt.
13:53 risou_awy is now known as risou
masak so I reckon. 13:53
colomon benabik: perl 6 does try to avoid exploding. ;) 13:54
moritz ... at run time
13:54 mtk joined
flussence rakudo: my &j = &join.assuming(q{, }); say [&j] (1..5) 13:54
p6eval rakudo 7408d6: OUTPUT«===SORRY!===␤Confused at line 1, near "say [&j] ("␤»
moritz and it does its best to explode at compile time
flussence rakudo: my &j = &join.assuming(q{, }); say [&j] 1,2,3,4,5; 13:55
p6eval rakudo 7408d6: OUTPUT«===SORRY!===␤Confused at line 1, near "say [&j] 1"␤»
masak flussence: operators != subroutines
moritz flussence: &j is not an infix op
masak flussence: not syntactically anyway.
moritz that's what reduce() is for
flussence oh, I still haven't woke up fully today :)
masak flussence: you can only use metaops on ops.
13:55 im2ee joined
im2ee Hello! :) 13:56
moritz nom: my &j := &join.assuming(', '); say (1..5).reduce: &j
p6eval nom 7408d6: OUTPUT«can only reduce with arity 2 for now␤ in method reduce at src/gen/CORE.setting:4229␤ in method reduce at src/gen/CORE.setting:1026␤ in block <anon> at /tmp/jwKEHEq9MM:1␤ in <anon> at /tmp/jwKEHEq9MM:1␤␤»
benabik Actually, I suppose I more expect something like `foldl (\x y -> case x of Nothing -> y; Just x' -> max x' y) Nothing @a` But Maybe Int is a less intuitive return type. :-D
13:56 mishin left
flussence rakudo: my &j = &join.assuming(q{, }); say &j(1..5); 13:56
p6eval rakudo 7408d6: OUTPUT«1, 2, 3, 4, 5␤»
flussence rakudo: my &j = &join.assuming(q{, }); say &j 1..5;
p6eval rakudo 7408d6: OUTPUT«===SORRY!===␤Confused at line 1, near "say &j 1.."␤»
benabik oooh, assuming.
moritz rakudo: my &j = &join.assuming(q{, }); say j 1..5
p6eval rakudo 7408d6: OUTPUT«1, 2, 3, 4, 5␤»
masak im2ee: dzien dobry! 13:57
flussence right, "&j" looks term-ish?
im2ee masak, how do You do? :)
flussence std: my &j = &join.assuming(q{, }); say &j 1..5;
p6eval std 20ae3bd: OUTPUT«===SORRY!===␤Two terms in a row at /tmp/G0IIzMhWvz line 1:␤------> my &j = &join.assuming(q{, }); say &j ⏏1..5;␤ expecting any of:␤ bracketed infix␤ infix or meta-infix␤ statement modifier loop␤Parse failed␤FAILED 00:01 126m␤»…
flussence yep.
masak im2ee: I'm on top of the world; how about You? :)
im2ee masak, fine. :) 13:58
masak, i'll write much code today! :)
masak yay
find us lots of bugs, too! :)
tadzik ah, I haven't investigated the funny-select case yet 13:59
and my classes start in a second
moritz tadzik: you need a ticket system :-)
tadzik it seems that my classes collide with #phasers too :/
moritz or a TODO list
tadzik moritz: yeah, I do
holidays have ended, I must get organized again 14:00
masak the horror
tadzik maybe not 14:01
I _should_ get more organized
14:01 ab5tract left
im2ee nom: say "a".ord; 14:03
p6eval nom 545638: OUTPUT«97␤»
im2ee nom: say 97.chr;
p6eval nom 545638: OUTPUT«a␤»
14:04 kaleem left
tadzik nom: say 'a'.ord.chr.ord.chr.ord.chr.ord.chr.ord.chr.ord.chr 14:05
p6eval nom 545638: OUTPUT«a␤»
14:05 kaleem joined
tadzik exciting 14:05
14:05 kaleem left 14:08 ab5tract joined 14:09 dark_x left 14:23 alester joined 14:26 ab5tract left
masak perl6: say sqrt(1i) 14:30
p6eval rakudo 545638: OUTPUT«0.707106781186548 + 0.707106781186547i␤»
..niecza v10-36-g241a2d8: OUTPUT«0.707106781186548+0.707106781186547i␤»
..pugs: OUTPUT«0.7071067811865476 + 0.7071067811865475i␤»
14:30 ab5tract joined 14:32 sftp joined
masak perl6: say sqrt -1 14:37
p6eval pugs, rakudo 545638: OUTPUT«NaN␤»
..niecza v10-36-g241a2d8: OUTPUT«0+1i␤»
masak submits nieczabug
14:38 aindilis left
im2ee how it will look like in p5? 14:41
unpack 'v', substr $message, $i, 2;
? 14:42
:)
in p6
[Coke] Is there any interest in multiple perl6 implementations using the rt queue? 14:43
Right now it's basically some spec tickets and rakudo.
im2ee nom: say "abc".substr(1,2).unpack('v'); 14:44
p6eval nom 545638: OUTPUT«Method 'unpack' not found for invocant of class 'Str'␤ in block <anon> at /tmp/vaANOZPPsJ:1␤ in <anon> at /tmp/vaANOZPPsJ:1␤␤»
masak im2ee: well, you can't unpack a Str in Perl 6
im2ee: it must be a Buf.
moritz [Coke] I think that would be a bad idea
masak im2ee: see strangelyconsistent.org/blog/str-an...get-it-now
im2ee Thanks masak++ :)
masak im2ee: I should warn you that unpack isn't implemented yet, though. 14:45
im2ee So.. I can't do what i wrote? :)
Or, i can write something like "unpack subroutine"?
14:46 replore left 14:47 replore_ joined
masak unpack is not yet implemented. 14:47
you may, of course, emulate parts of it by handling Bufs by hand. 14:48
im2ee I'm afraid im not so good. 14:49
:)
Hmm, or.. I have an idea! :) 14:51
[Coke] moritz: (bad idea) why?
from a "I have a perl6 bug to report, where do I go?" standpoint, having them near each other makes sense. 14:52
(also, having only rakudo at perl.org gives it an incorrectly apparently priveleged status) 14:53
masak agrees in principle 14:54
14:55 baest left
masak the same way I agree that Rakudo only *appears* privileged by being THE Perl 6 implementation on top of Parrot. 14:55
[Coke] (that said, if the perl6 RT queue at perl.org is separated from the perl5 queue (which will likely happen at some point), then we can slap a "rakudo.org" domain on it as the primary interface.) 14:56
daxim but the queues are separate <rt.perl.org/rt3/Search/Results.htm...perl5'> <rt.perl.org/rt3/Search/Results.htm...perl6'> 15:00
15:01 Trashlord joined
[Coke] it's still tangled underneath. 15:03
(all 4 queues I see (and the one I know is there but can't see) share the same ticket numbers, e.g.)
masak and that's a big problem in need of solving... because...? :) 15:10
flussence someone else might get RT200k! 15:11
masak probably a spammer... :/ 15:14
flussence maybe the answer is to not have another 100000 bugs :) 15:16
15:19 ab5tract left 15:24 pmurias joined 15:26 ch3ck joined 15:29 meldrake joined 15:36 Woodi left 15:41 espadrine left 15:42 Woodi joined 15:45 meldrake left, rml joined 15:49 espadrine joined 15:50 daxim left 15:51 itz_ left
masak flussence: no, I don't think so. 15:55
masak decommutes 15:56
15:56 masak left
flussence
.oO( I think I just accidentally told him to shut up :)
16:03
16:04 mberends left 16:13 am0c joined 16:15 wolfman2000 left 16:22 MayDaniel joined 16:30 lateau_ left 16:33 kaare_ joined 16:48 dakkar left, GlitchMr joined
GlitchMr niecza: use so'this'is'perl6'huh 16:49
p6eval niecza v10-36-g241a2d8: OUTPUT«␤Unhandled Exception: Unable to locate module so'this'is'perl6'huh in @path␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 766 (CORE die @ 2) ␤ at /home/p6eval/niecza/src/NieczaPathSearch.pm6 line 23 (NieczaPathSearch NieczaPathSearch.load_module @ 1…
GlitchMr ... so it still contains this old feature from Perl 4...
...
benabik Does P6 allow ' in identifiers? 16:50
GlitchMr rakudo: use File'Copy 16:51
p6eval rakudo 545638: OUTPUT«===SORRY!===␤Could not find File'Copy in any of: lib, /home/p6eval/.perl6/lib, /home/p6eval/nom-inst1/lib/parrot/3.8.0-devel/languages/perl6/lib, .␤»
GlitchMr rakudo: use File::Copy
p6eval rakudo 545638: OUTPUT«===SORRY!===␤Could not find File::Copy in any of: lib, /home/p6eval/.perl6/lib, /home/p6eval/nom-inst1/lib/parrot/3.8.0-devel/languages/perl6/lib, .␤»
GlitchMr ...
maybe, I don't know.
I don't know if p6eval has any library which has two words
benabik rakudo: my $x' = 2; say $x'
p6eval rakudo 545638: OUTPUT«===SORRY!===␤Confused at line 1, near "my $x' = 2"␤»
benabik maybe not.
GlitchMr > use File'Copy
Unable to find module 'File'Copy' in the @*INC directories.
> use File::Copy 16:52
[nothing]...
Makes sense...
lumi_ ' is valid in identifiers when followed by an alphabetic character, iiuc
TimToady unlike Perl 5, ' is not a synonym for :: 16:53
16:53 rml left
TimToady it's in the same category as hyphen now 16:53
use of ' in modules names is unlikely to make shell programmers happy though :) 16:54
benabik rakudo: my $x'x = 2; say $x'x
p6eval rakudo 545638: OUTPUT«2␤»
benabik odd
GlitchMr Makes sense...
TimToady that doesn't stop TheDamian from writing Acme::Don't in Perl 6 though :)
it's mostly for where you want apostrophes in English 16:55
benabik I tend to expect ' to be at the end of a variable… But I've used a ton of Haskell lately.
GlitchMr I never had need to have ' in variable name.
TimToady you just can't use
' for that
GlitchMr And "-" could be confused with substraction...
TimToady but you can use ʹ for that
GlitchMr: we're encouraging people to put whitespace around most infixes these days 16:56
colomon nom: my $x` = 20; say $x`
p6eval nom 545638: OUTPUT«===SORRY!===␤Confused at line 1, near "my $x` = 2"␤»
GlitchMr rakudo: my $notLoL = 42; sub win{20} print $notLoL-win
p6eval rakudo 545638: OUTPUT«===SORRY!===␤Confused at line 1, near "sub win{20"␤»
benabik .u ʹ
phenny U+02B9 MODIFIER LETTER PRIME (ʹ)
GlitchMr rakudo: my $notLoL = 42; sub win{20}; print $notLoL-win
p6eval rakudo 545638: OUTPUT«===SORRY!===␤Symbol '$notLoL-win' not predeclared in <anonymous> (/tmp/v3loUjdHX6:1)␤»
colomon nom: my $xʹ = 20; say $xʹ
p6eval nom 545638: OUTPUT«20␤»
GlitchMr rakudo: my $notLoL = 42; sub win{20}; print $notLoL - win
p6eval rakudo 545638: OUTPUT«22»
GlitchMr Makes sense...
benabik Hmph. prime isn't on my keyboard. 16:57
GlitchMr rakudo: print my $_::AAAA = 20
p6eval rakudo 545638: OUTPUT«20»
benabik nom: my $x´ = 2; say $x´
p6eval nom 545638: OUTPUT«===SORRY!===␤Confused at line 1, near "my $x\x{b4} = 2"␤»
GlitchMr But... it's Unicode... 16:58
16:58 kfo_ joined
GlitchMr (unless it isn't) 16:58
nom: my $x􏿽xB4 = 2; say $x􏿽xB4
p6eval nom 545638: OUTPUT«===SORRY!===␤Confused at line 1, near "my $x\ufffd = 2"␤»
GlitchMr \ufffd...
colomon benabik: yeah, I cut-n-pasted what TimToady wrote to make my example work
GlitchMr Ok, my IRC client does something wrong
TimToady the thing about U+02B9 is that it's actually considered a letter, which is why it works
GlitchMr FFFD is replacement character if I remember correctly.
nom: my $polishłariable = 3; print $polishłariable 16:59
p6eval nom 545638: OUTPUT«3»
TimToady but we're not trying to encourage the Haskell usage of primes here
GlitchMr Makes sense...
tadzik nom: my $Łódka = 7; say $Łódka
p6eval nom 545638: OUTPUT«7␤»
GlitchMr :) 17:00
colomon TimToady: primes are always tempting to a mathematician
;)
GlitchMr I can perfectly see łódkę :).
But from when boats are 7.
17:00 kfo left
GlitchMr nom: $_ = my $☃☃☃ = 'snowman invasion';print $_ 17:02
p6eval nom 545638: OUTPUT«===SORRY!===␤Confused at line 1, near "$_ = my $\u2603"␤»
GlitchMr What's wrong with snowmans :(.
nom: my $こんにちは = 'Hi'; print $こんにちは
p6eval nom 545638: OUTPUT«Hi»
colomon nom: my $☃☃☃ = 'snowman invasion' 17:03
sbp I went through which codepoints are allowed for variable names in the logs somewhere
p6eval nom 545638: OUTPUT«===SORRY!===␤Confused at line 1, near "my $\u2603\u2603\u2603 = "␤»
colomon std: my $☃☃☃ = 'snowman invasion'
p6eval std 20ae3bd: OUTPUT«===SORRY!===␤Confused at /tmp/SK6C4GYhXe line 1:␤------> my $⏏☃☃☃ = 'snowman invasion'␤ expecting any of:␤ POST␤ bracketed infix␤ constraint␤ infix or meta-infix␤ postfix␤ postfix_prefix_meta_operator␤ shape
..definition␤ stateme…
GlitchMr O_o
Why it doesn't like snowmans?
Snowmans are fun.
rakudo: print 'foo' if 0 == 3 | 4 | 'no' 17:04
p6eval rakudo 545638: OUTPUT«foo»
GlitchMr niecza: print 'foo' if 0 == 3 | 4 | 'no'
p6eval niecza v10-36-g241a2d8: OUTPUT«␤Unhandled Exception: System.FormatException: Unknown char: n␤ at System.Double.Parse (System.String s, NumberStyles style, IFormatProvider provider) [0x00000] in <filename unknown>:0 ␤ at System.Double.Parse (System.String s, IFormatProvider provider) […
GlitchMr Kind of makes sense...
TimToady snowmans aren't letters
sbp can't find the discussion in the logs, sorry
TimToady perl6: my @primes := 2, 3, -> $n is copy { repeat { $n += 2 } until $n %% none do for @primes -> $p { last if $p > sqrt($n); $p; } $n; } ... *;
p6eval niecza v10-36-g241a2d8: OUTPUT«===SORRY!===␤␤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/7kTtocpcoY line 1:␤------> mes -> $p { last if $p > sqrt($n); $p; }⏏ $n; } ... *;␤␤Parse failed␤␤»
..pugs: OUTPUT«*** ␤ Unexpected "% none"␤ expecting "::"␤ at /tmp/4GiSFHd4F6 line 1, column 66␤»
..rakudo 545638: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 1␤»
17:05 Chillance joined
GlitchMr niecza: print 'foo' if 0 == 3 | 4 | '0x20' 17:05
p6eval niecza v10-36-g241a2d8: OUTPUT«␤Unhandled Exception: System.FormatException: Unknown char: x␤ at System.Double.Parse (System.String s, NumberStyles style, IFormatProvider provider) [0x00000] in <filename unknown>:0 ␤ at System.Double.Parse (System.String s, IFormatProvider provider) […
GlitchMr rakudo: print 'foo' if 0 == 3 | 4 | '0x20'
p6eval rakudo 545638: ( no output )
GlitchMr ...
YAY :).
rakudo: print 'foo' if 0x20 == 3 | 4 | '0x20'
p6eval rakudo 545638: OUTPUT«foo»
GlitchMr ...
rakudo: print 'foo' if 32 == 3 | 4 | '0x20' 17:06
p6eval rakudo 545638: OUTPUT«foo»
TimToady perl6: my @primes := 2, 3, -> $n is copy { repeat { $n += 2 } until $n %% none do for @primes -> $p { last if $p > sqrt($n); $p; }; $n; } ... *; say @primes[^20];
p6eval rakudo 545638: OUTPUT«splice() not implemented in class 'Mu'␤ in method reify at src/gen/CORE.setting:3654␤ in method gimme at src/gen/CORE.setting:4012␤ in method exists at src/gen/CORE.setting:3998␤ in method at_pos at src/gen/CORE.setting:3983␤ in method postcircumfix:<[ ]> at s…
..pugs: OUTPUT«*** ␤ Unexpected "% none"␤ expecting "::"␤ at /tmp/_aTduB3X2d line 1, column 66␤»
..niecza v10-36-g241a2d8: OUTPUT«2 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39␤»
colomon 15, my favorite prime
TimToady yeah...
not to mention 9 17:07
colomon and all the other odd numbers
(non-prime odd numbers, I mean)
PerlJam that "none do for" part is interesting.
TimToady b: my @primes := 2, 3, -> $n is copy { repeat { $n += 2 } until $n %% none do for @primes -> $p { last if $p > sqrt($n); $p; }; $n; } ... *; say ~@primes[^20]; 17:08
p6eval b 1b7dd1: OUTPUT«2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71␤»
colomon TimToady: is that the exact same code
?
17:08 Holy_Cow joined
TimToady yes, except for ~ on printout 17:08
it's from rosettacode.org/wiki/Count_in_factors#Perl_6 17:09
colomon btw, wouldn't do for @primes -> $p { last if $p > sqrt($n); $p; }; $n; }
be more clear as do @primes ... * > sqrt($n) ?
TimToady yes, but rakudo couldn't nest ... at that point 17:10
sbp still wrong, 5 isn't prime. (2+i) * (2-i)
colomon bad sbp, no cookies
sbp hehe
TimToady sbp: you have to allow for experimental error :)
17:10 Holy_Cow left
colomon he's just imagining things 17:10
sbp going round in circles 17:11
GlitchMr rakudo: @array􏿽xBB.match($regex);
jnthn evening, #perl6
p6eval rakudo 545638: OUTPUT«===SORRY!===␤Confused at line 1, near "@array\ufffd.ma"␤»
GlitchMr >>
jnthn Just around for a little bit today.
GlitchMr ...?
TimToady perl6: say (2+i) * (2-i)
GlitchMr rakudo: @array>>.match($regex);
p6eval niecza v10-36-g241a2d8: OUTPUT«5+0i␤»
..rakudo 545638: OUTPUT«Could not find sub &i␤ in block <anon> at /tmp/Uwp3W9MkF3:1␤ in <anon> at /tmp/Uwp3W9MkF3:1␤␤»
..pugs: OUTPUT«*** No such subroutine: "&i"␤ at /tmp/LX1vawKikj line 1, column 6-9␤»
rakudo 545638: OUTPUT«===SORRY!===␤Symbol '@array' not predeclared in <anonymous> (/tmp/N3E3nim4wi:1)␤»
GlitchMr rakudo: my @array>>.match($regex);
p6eval rakudo 545638: OUTPUT«===SORRY!===␤Confused at line 1, near "my @array>"␤»
TimToady niecza++ 17:12
GlitchMr Why documentation has 􏿽xBB everywhere instead of >>?
TimToady it's prettier
GlitchMr ...
TimToady and it's the real operator. >> is just a workaround
GlitchMr Unicode characters used as real operators O_o
lolwhat? 17:13
colomon hey now, >> is a real operator too.
TimToady ASCII is Unicode too :P
colomon It's just... verbose.
17:13 daniel-s left
TimToady but » is just Latin-1 17:13
GlitchMr How I'm supposed to insert 􏿽xBB on my keyboard O_o
TimToady do you have a Compose key?
GlitchMr No...
benabik Option-\ for me… :-D
sjohnson » is on OEM437 too 17:14
TimToady well, Compose >>, or ^K >> in vim
GlitchMr
...
PerlJam GlitchMr: windows or linux or mac?
GlitchMr Windows
benabik Alt-somesetofkeypaddigits?
sjohnson also part of Windows-1252
PerlJam bummer, I know squat about keycomposition on windows other than what benabik just said 17:15
GlitchMr It's not worth bothering with it
PerlJam GlitchMr: Unicode is the future, better get used to it :)
TimToady in gnome, CTRL-SHIFT-u BB
GlitchMr Yeah, but I don't have characters on keyboard for every character O_o
sjohnson TimToady: do you use Ubuntu?
[Coke] windows: alt-0187, but that sucks.
GlitchMr I can at most insert Euro characters. 􏿽x80...
sjohnson or a different distro? 17:16
flussence read with some amusement that ebcdic thread on p5p the other day
GlitchMr 􏿽xBB
Yeah, it seems to work, but it sucks
PerlJam on my ubuntu setup, I mapped the windows key to be compose
[Coke] GlitchMr: see also: "Character Map"
TimToady which is why there's a workaround, for people with sucky setups :)
benabik Windows US International can use AltGr+[
GlitchMr Why I would bother with "Character Map" if I want to insert just two characters
[...
Not helpful...
I just get [ when doing that 17:17
TimToady well, someday you might want to type 日本語 too...
GlitchMr ...
benabik You probably have keyboard set to US, not US International
GlitchMr Ыеах, анд...
PerlJam TimToady: I'd have to *really* stretch my imgaination for that one.
TimToady didn't start learning Japanese till about 7 years ago...
GlitchMr benabik, I have keyboard set to Polish (programmer)
17:18 masak joined
masak \o/ 17:18
flussence /o\
GlitchMr Or something like that
colomon o/ o/
benabik GlitchMr: Oh. I don't know if there's a Polish International.
GlitchMr Yeah...
All I can do with AltGr is inserting Polish characters and 􏿽x80...
masak got Twitter-privmsg'd from au++: she says it's as simple as this to get a dev env of Pugs: github.com/audreyt/Pugs.hs/blob/ma...NSTALL#L42 17:19
mberends: ^
gotta try this myself.
but first, outforarun. &
17:20 GlitchMr left
masak au_backlogging: oh, and thanks! :) 17:20
TimToady perl6: constant @primes = 2, 3, -> $n is copy { repeat { $n += 2 } until $n %% none do for @primes -> $p { last if $p > sqrt($n); $p; }; $n; } ... *; say ~@primes[^20]; 17:33
p6eval pugs: OUTPUT«*** ␤ Unexpected "@primes"␤ expecting "=", "::", context, ":" or "("␤ at /tmp/Ge1uo8wjWn line 1, column 10␤» 17:34
..niecza v10-36-g241a2d8: OUTPUT«2 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39␤»
..rakudo 545638: OUTPUT«===SORRY!===␤Cannot handle constant @primes with non-literal value yet at line 1, near "= 2, 3, ->"␤»
colomon constant @primes, oooooo
TimToady yes, Perl 6 can have infinite lazy constants
17:35 mkramer joined
colomon TimToady: that's very cool, and it's also cool that niecza already implements it! 17:35
TimToady except for the "experimental errors"
and in part it's because niecza is cheating 17:36
colomon oh, bother, right. I even checked the list and missed them
niecza: constant @fib = 1, 1, *+* ... *; say ~@fib[^20] 17:37
p6eval niecza v10-36-g241a2d8: OUTPUT«1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765␤»
colomon niecza: constant @fib = 1, 1, *+* ... *; say ~@fib[200]
17:37 mkramer1 left
p6eval niecza v10-36-g241a2d8: OUTPUT«453973694165307953197296969697410619233826␤» 17:37
17:41 wolfman2000 joined
colomon niecza: constant @fib = 1, 1, *+* ... *; @fib[200] = 10; say ~@fib[200] 17:49
p6eval niecza v10-36-g241a2d8: OUTPUT«10␤»
colomon :\ 17:50
17:55 wamba joined
wamba vedu? 17:56
17:57 daniel-s joined 18:00 mkramer left, mkramer joined 18:09 rml joined 18:12 MayDaniel left
rml hello all :-) 18:18
I have a little question
sjohnson rml: shoot
rml I've pasted the related function here: pastebin.com/CiepdCqR
a little function that treats an array as a stack
and swaps the first two values 18:19
tadzik Array @a is too much
either Array $a or just @a
Array @a is an array with elements of type Array
masak rml: what tadzik++ said. the @ already conveys arrayhood.
rml oh, that answers my question 18:20
masak or at least positionalhood.
sjohnson (=゚ω゚=)
rml thanks!
huf tadzik: how do you say that with a $ variable? (an array of arrays)
masak 'Array @a' means 'an array @a of arrays'
huf: Array[Array] $a
I guess.
tadzik I think so
huf aha!
:)
masak or maybe something out of S09.
actually, I don't know how to specify dimensionality in signatures.
or shape, for that matter. 18:21
huf but there is some facility, isnt there?
nothing user-visible is magical in p6, or?
masak you can do most things with 'where' clauses :)
huf (magical as in cannot fiddle with it freely in p6 code)
(i'm hoping the usual "oh well, let's do it in XS then" thing wont come up with p6 ;)) 18:22
rml /set beep_msg_level MSGS NOTICES DCC DCCMSGS HILIGHT 18:24
rml looks about, abashed
18:27 risou is now known as risou_awy, risou_awy is now known as risou
im2ee How to change a character to hex representation? :) 18:29
18:29 mberends joined
mberends o/ from amsterdam.pm.org 18:30
sjohnson im2ee: that one always confuses me. i think it's pack() or something. or maybe not. i ended up always just using CPAN things to do it for me in perl 5
jlaire perl6: say 'k'.ord.fmt('%02X')
p6eval niecza v10-36-g241a2d8: OUTPUT«␤Unhandled Exception: Unable to resolve method ord in class Str␤ at /tmp/3l8_Uj0tk9 line 1 (MAIN mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2115 (CORE C1022_ANON @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2116 (CORE module-COR…
..pugs, rakudo 545638: OUTPUT«6B␤»
[Coke] .u «
phenny U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK («)
[Coke] perl6: say '«'.ord.fmt('%04X'); 18:31
p6eval niecza v10-36-g241a2d8: OUTPUT«␤Unhandled Exception: Unable to resolve method ord in class Str␤ at /tmp/44AynrUcFM line 1 (MAIN mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2115 (CORE C1022_ANON @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2116 (CORE module-COR…
..rakudo 545638: OUTPUT«00AB␤»
..pugs: OUTPUT«decodeUTF8': bad data: '\171'␤00AB␤»
im2ee Thanks. :) 18:34
I forget... How to do "abc".split(''), but shorter? 18:35
flussence nom: say 'abc'.comb.perl
p6eval nom 545638: OUTPUT«("a", "b", "c").list␤»
im2ee Thanks flussence++. :)
sjohnson i can't wait till p6 comes pre-installed on ubuntu machines 18:36
18:40 GlitchMr joined 18:44 risou is now known as risou_awy
masak sjohnson: why are you so eager for such an arbitrary and unlikely thing? :) 18:48
PerlJam masak: what makes you think it's unlikely? 18:49
sjohnson i use perl5 almost daily simply because it's ubiquious 18:50
masak PerlJam: I'm not aware of which packages come pre-installed on Ubuntu machines, but I imagine Python and Ruby don't. Perl, yes. probably awk and sed too. but Perl 6? color me doubtful. 18:51
masak idly wonders how trolling works in ingy's abstract communities :)
sjohnson masak: Python does yeah, but not ruby. 18:52
python's popularity is undeniable, methinks
i think ruby will too soon 18:53
18:56 kfo_ left
masak before Perl 6 comes bundled, there needs to be a reason to bundle it. like, a killer app. (hint, hint) 18:56
and I don't mean software for assassins.
18:56 kfo joined
colomon was going to make a Psycho Killer reference, but discovered the lyrics in his head don't come close to matching the printed version... 19:00
19:06 birdwindupbird joined, birdwindupbird left 19:12 Juerd joined
Juerd Hi :) 19:12
mberends rakudo: say ^7.pick;
p6eval rakudo 545638: OUTPUT«0..^7␤»
mberends rakudo: say (^7).pick;
p6eval rakudo 545638: OUTPUT«1␤»
colomon rakudo: say (^7).pick;
p6eval rakudo 545638: OUTPUT«0␤»
masak hi Juerd! 19:13
BooK it's a different value! there's a bug!!
mberends Hi from Amsterdam.pm.org. Tetris demo soon!
Juerd thr
ee
cha
rs
wid
e
:)
BooK (pr 19:14
iva
te
jok
e
Juerd lol
BooK: )
BooK much wider
19:14 orafu joined
colomon mberends: o/ 19:18
19:20 replore_ left 19:24 envi_ left 19:25 wamba left 19:29 MayDaniel joined 19:30 wolfman2000 left
tadzik is there someone able to explain the problem of non-relocatable Parrot in simple words? 19:46
sjohnson ( ° ー°)
sounds confusing
tadzik I'm trying to bring it up on #parrotsketch, but I'm unable to explain this 19:47
I just know it blocks us sometimes
flussence afaik: 19:49
you can't compile parrot then move it afterwards without everything exploding
which made me give up trying to write an ebuild for it fairly rapidly :) 19:50
tadzik would you be able to explain it on #parrotsketch?
cotto where "move" means "install to somewhere other than the prefix"?
flussence I'm terrible at explaining things, but what cotto said, yeah.
I think the same happens if you try to move the rakudo bits too 19:51
cotto ok. How is this causing issues for Rakudo?
19:53 am0c left
flussence not sure about other people's problems... but my package manager has a nifty feature that lets it install arbitrary directories to /usr. Doesn't work so well for rakudo because once it's compiled for one place, it's stuck there forever 19:54
arnsholt flussence: Which package manager is that? 19:56
flussence paludis.org/ :)
arnsholt Huh. Cool 19:57
flussence (be warned though, it's slow as molasses compared to pretty much any other PM ever)
(kinda like rakudo :) 19:58
19:58 mj41 joined 20:00 GlitchMr left
arnsholt Hehe. I used gentoo a few years back and was reasonably happy with it 20:01
20:01 benabik left
cotto same here, but compiling got old 20:01
20:01 benabik joined
cotto well, compiling everything got old 20:02
arnsholt Yeah, that was a bit annoying, but most of the time it was quick enough for me
Modulo upgrades, but I usually did those overnight 20:03
flussence probably why I can tolerate compiling nom hundreds of times just for the sake of some graphs :) 20:04
arnsholt Quite, quite 20:05
20:10 pmurias left
masak im2ee: so, how's it gone? written some code today? :) 20:22
20:31 [Coke] left 20:32 [Coke] joined 20:40 scorpil joined 20:41 colomon left 20:49 kaare_ left 20:50 mberends left 20:51 MayDaniel left, MayDaniel joined 20:56 fantasym joined
fantasym hi 20:56
masak hi!
rakudo: say "Rakudo Perl 6 welcomes you, fantasym »ö«" 20:57
p6eval rakudo 545638: OUTPUT«Rakudo Perl 6 welcomes you, fantasym »ö«␤»
fantasym im 38 m holl*nd
masak oh, a chatmosphere user...
:/
fantasym: heads-up notice: this is a channel about Perl 6.
fantasym: generally, chatmosphere users are unaware of that fact when entering the channel. 20:58
fantasym not good?
masak oh, you're certainly welcome here :)
just try to stay on topic.
20:58 packetknife left
fantasym perl 6? 20:58
masak by the way, 38 meters is quite some height, especially in Holland!
yeah, so. Perl 6 is a programming language. we solve problems with awesome syntax and semantics :) 20:59
fantasym i know :)
masak text parsing, object orientation, you name it, we got it :) 21:00
fantasym cool !
21:00 MayDaniel left
masak I know! :) 21:00
21:00 fantasym left
tadzik not cool enough 21:00
masak come back soon! :)
tadzik :)
benabik hugme: hug Chatmosphere
hugme hugs Chatmosphere; benabik++
benabik hugme gives karma? Odd. 21:01
masak tadzik: I imagine him folding over backwards before leaving through the door. geez, 38 meters...
jnthn ...why did he censor holland? :) 21:02
tadzik he must be a king of disco if he's able to get through the door wish such height
diakopter hugme: hug diakopter
hugme hugs diakopter
tadzik s/wish/with/
masak jnthn: four letter w...? oh wait
moritz also hugs diakopter
masak hugs diakopter too, just in case
diakopter heh 21:03
tadzik hugme: hug me
hugme hugs tadzik
moritz GROUP HUG! 21:04
tadzik if there will ever be a 'me' user on #perl6 he won't get many hugs I suppose :/
benabik hugs #perl6
tadzik yay, sandwhich!
masak where? :)
tadzik phenny: "kanapka!"?
phenny tadzik: "sandwich!" (pl to en, translate.google.com)
sjohnson num num
tadzik it's what we usually shout just before a spontaneous, group hug 21:05
sjohnson phenny: "salut"
tadzik it usually ends on the ground too
sjohnson phenny: "salut"?
phenny sjohnson: "salvation" (fr to en, translate.google.com)
sjohnson phenny: "salut mec"?
phenny sjohnson: "hello dude" (fr to en, translate.google.com)
masak tadzik: TMI :)
tadzik masak: oh, you can observe that on football matches and such
masak I'm sure you can.
actually, I'm just acting prude :P I do that too, sometimes. 21:06
21:06 packetknife joined
tadzik :) 21:06
21:06 diakopter is now known as rakudo
masak will probably hug a *lot* this weekend. it's the year's big Esperanto meetup in Sweden. 21:07
rakudo phenny: tell rakudo say 389
phenny You can tell yourself that.
tadzik :P
21:07 rakudo is now known as diakopter
masak nice try. 21:07
21:08 bluescreen10 left, diakopter is now known as niecza
niecza phenny: tell rakudo say 389 21:08
phenny niecza: I'll pass that on when rakudo is around.
p6eval niecza v10-36-g241a2d8: OUTPUT«===SORRY!===␤␤Confused at /tmp/fj6DiG_yrX line 1:␤------> I'll pass that on when rakudo is around⏏.␤␤Undeclared name:␤ 'I'll' used at line 1␤Undeclared routines:␤ 'around' used at line 1␤ 'is' used at line 1␤
..'on' used …
21:09 niecza is now known as rakudo
rakudo . 21:09
phenny rakudo: 21:08Z <niecza> tell rakudo say 389
p6eval rakudo 545638: OUTPUT«===SORRY!===␤Confused at line 1, near "21:08Z <ni"␤»
21:09 rakudo is now known as diakopter
diakopter oh wel 21:09
tadzik nice one
im2ee Good night! o/ 21:19
tadzik branoc
masak 'branoc!
21:20 im2ee left 21:32 dorlamm joined 21:35 benabik left 21:37 benabik joined
masak goodnoc, #perl6. 21:40
dream of concrete communities with abstract hopes, dreams, and desires :) 21:41
21:41 masak left
tadzik (: 21:42
21:44 mberends joined 22:03 tokuhiro_ joined 22:07 S11001001 joined 22:08 ch3ck3r joined, dorlamm left 22:10 replore joined 22:11 ch3ck left 22:20 benabik left 22:24 mj41 left 22:40 kmwallio joined
[Coke] tadzik: what's with the enormous forehead? 22:40
22:40 frettled joined
tadzik [Coke]: enormous forehead and no mouth? 22:41
[Coke] aye. You look creepy.
(guy I went to school with always emoted upside down, too.) 22:42
tadzik :) 22:45
22:45 packetknife left
tadzik sometimes I smile different 22:45
22:46 packetknife joined, replore left 22:50 whiteknight joined 23:03 foof joined
foof my cat typed "]:[[[[[[[" over in #scheme - what do you think she's trying to format? 23:04
23:05 preflex left
tadzik that's an angry and sad face 23:07
it looks a bit like a viking too
g'night #perl6
mberends o/
23:08 preflex joined
diakopter phenny: ask masak how many primes in the first 10^9 primes are primes when represented in a number system other than decimal, but interpreted as decimal, or vice versa? 23:09
phenny diakopter: I'll pass that on when masak is around.
diakopter phenny: ask masak ... or in any number system represented as another number system but interpreted as the original number system? 23:11
phenny diakopter: I'll pass that on when masak is around.
23:15 mberends left
diakopter phenny: ask masak ... e.g. the prime X represented in base-X is 1, etc. that'll get you started. 23:15
phenny diakopter: I'll pass that on when masak is around.
diakopter phenny: ask masak er, scratch that last line ;) 23:16
phenny diakopter: I'll pass that on when masak is around.
diakopter (oops) 23:17
23:20 kmwallio left 23:22 benabik joined
jlaire does that problem have an interesting solution? 23:24
23:25 foof left
jlaire sounds very ad-hoc 23:25
TimToady I'd rather have masak working on pugs :) 23:26
diakopter :/ sorry, yes it's ad-hoc
it might have an interesting solution, I dunno. 23:27
23:33 carlin left 23:41 allbery_b is now known as geekosaur
plobsing_ diakopter: any number greater than 2 is representable as 11 in some base. or did I misunderstand the question? 23:49
sjohnson perl6: internet
p6eval pugs: OUTPUT«*** No such subroutine: "&internet"␤ at /tmp/sEa1HANwKB line 1, column 1 - line 2, column 1␤»
..rakudo 545638: OUTPUT«Could not find sub &internet␤ in block <anon> at /tmp/H4Khbec4jf:1␤ in <anon> at /tmp/H4Khbec4jf:1␤␤»
..niecza v10-36-g241a2d8: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'internet' used at line 1␤␤␤Unhandled Exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 766 (CORE die @ 2) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1136 (STD P6.comp_unit @ 3…
ingy attempts to install pugs
diakopter plobsing_: yep that's a good starting point. 23:50
plobsing_ starting point? that solves the question. the answer is "all of them".
unless you don't count 1 as prime
then it is "all but one"
diakopter oh, I guess I was looking for a count of the pairings
plobsing_ oh, I only get to use one other base? 23:51
diakopter any base and any other base..?
plobsing_ all your base are belong to primes 23:52
diakopter but not Sentinel
benabik Sentinel Prime is a dip.
plobsing_ yeah, I don't have a quick answer to that question, but perhaps there is one. 23:54