»ö« 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! | Rakudo Star Released!
Set by diakopter on 6 September 2010.
00:01 Chillance left
masak ah, here's a workaround: 00:09
rakudo: sub foo($a, %h = {}) { bar($a, %h) }; sub bar($a, %h?) { say "alive!" }; foo(42)
p6eval rakudo : OUTPUT«alive!␤»
masak of course. 00:10
masak adds that to the ticket
00:11 pyrimidine joined, pyrimidine left 00:15 sftp left 00:24 lichtkind left 00:27 icwiener_ joined 00:28 knewt2 left 00:31 icwiener left 00:36 cdarroch left
masak blog post! strangelyconsistent.org/blog/novemb...ring-em-on 00:38
colomon "not it's just" should maybe be "now it's just"? 00:40
masak thanks. fixing. colomon++
colomon masak++ # nice post, and actually, you know, keeping the Perl 6 flame alive. ;) 00:41
masak thanks. 00:42
every time I come back to this kind of hands-dirty work, it's great fun.
colomon I know. Wish we all had more time to get our hands-dirty.
errr, hands dirty.
afk 00:43
00:45 Guest99986 left, Guest99986 joined 00:46 Guest99986 left, Guest99986 joined, Guest99986 left
masak decommute & 00:47
00:47 masak left, Guest99986 joined 00:48 mssm left, Guest99986 left 00:49 Guest99986 joined
sjohnson suicide & 00:52
:)
00:59 QinGW joined 01:08 masak joined
masak sjohnson: please don't joke about such things :-/ 01:08
sjohnson sorry, just getting really darn cold up here in Canada! 01:10
sjohnson bundles up
flussence according to other people around me, it's cold here too. I haven't noticed at all :/ 01:20
sjohnson rakudo: say round(5.4) 01:34
p6eval rakudo : OUTPUT«5␤»
sjohnson no round in p5?
rakudo: say round(5.5) 01:35
p6eval rakudo : OUTPUT«6␤»
masak buubot: eval int(5.4 + .5)
buubot masak: 5
masak sjohnson: that's probably what you'd do in Perl 5. or load a module.
sjohnson or sprintf
masak indeed. 01:36
sjohnson i'll do % with the f
:-)
wrote a script to calculate how much money i owe my brother. perl is very useful! 01:37
needless to say, i paid him off in many installments, and calculating it everytime got tedious 01:40
01:42 don_bitter16 joined
colomon for some bizarre reason, it was 63F here today. 01:44
Tomorrow it's supposed to be back to a more seasonal 42F
jnthn: ping? 01:45
01:45 don_bitter16 left
masak colomon: jnthn is asleep. :) 01:45
diakopter agrees
colomon blast
masak rakudo: sub f2c($f) { ($f - 32) * 5/9 }; say f2c 63 01:46
p6eval rakudo : OUTPUT«17.2222222222222␤»
masak rakudo: sub f2c($f) { ($f - 32) * 5/9 }; say f2c 42
p6eval rakudo : OUTPUT«5.55555555555556␤»
masak ah.
colomon yes, from "no jacket needed" weather straight to a bit above freezing. 01:47
01:56 bitter16_ joined, bitter16_ left
bitter16 exit 01:59
01:59 bitter16 left 02:09 whiteknight left 02:13 kjeldahl joined 02:28 lamstyle left 02:30 lamstyle joined 02:33 redicaps joined 02:34 ch3ck3r joined, risou joined 02:36 fhelmberger joined
colomon Null PMC access in push_string().... hmmm 02:36
masak golfed example? 02:37
colomon it's in nqp-rx
masak oh. 02:38
colomon and it's happening somewhere in the middle of the stage 2 compile
02:38 molaf_ joined, ch3ck left
masak oh! 02:38
colomon though if you have a clue what might cause that, I'm all eyes 02:39
errr, ears 02:40
masak no clue, sorry.
I have no uncanny intuition about nqp-rx failures :)
02:42 alester left, molaf left 02:50 icwiener_ left
Tene great weather in sfbay :) 03:04
03:07 risou left, risou joined 03:10 alester joined 03:13 ch3ck3r left 03:42 Guest99986 left
diakopter nqp: say("h"~~/h/) 03:42
p6eval nqp: OUTPUT«h␤»
diakopter nqp: say("ih"~~/h/)
p6eval nqp: OUTPUT«h␤»
diakopter nqpnet: my $a; say($a.defined) 03:44
p6eval nqpnet: OUTPUT«RakudoOutput.cs(136,35): warning CS0414: The private field `NQPOutput_1290483890.ConstantsTable' is assigned but its value is never used␤Compilation succeeded - 1 warning(s)␤0␤»
diakopter meh
nqpnet: my $a; say($a.defined)
p6eval nqpnet: OUTPUT«RakudoOutput.cs(136,35): warning CS0414: The private field `NQPOutput_1290483906.ConstantsTable' is assigned but its value is never used␤Compilation succeeded - 1 warning(s)␤0␤»
diakopter blergh 03:45
masak still fails :) 03:46
diakopter well, it did have some output
(I just noticed)
04:01 risou left
diakopter masak: it must be ... 5am 04:16
?
TimToady it's his last fling before he marries five amazons
masak :) 04:17
diakopter: aye. bit disconnected to the local sun time right now.
s/to/from/
diakopter very confused by what TimToady said 04:18
I mean, I see "5am" -> "five am[azons]" 04:19
TimToady you are clueless?
masak diakopter: ooh. didn't spot that one.
TimToady: you're a tease :)
diakopter but I don't get the fling/marriage part
masak diakopter: where were you when I handed out clues? 04:20
diakopter in the conservatory with the rope 04:21
masak diakopter: hold on, I'll link ya.
diakopter oh wait
those clues
I've seen the first 2
masak there you go then. 04:22
I don't think there was more to what TimToady said than that.
diakopter ah
04:22 kanishka joined
diakopter so perhaps my pun interpretation was a backropun 04:23
masak regardless, it was a very pretty one.
but I suspect TimToady had the association forwards before you had it backwards. :P 04:24
diakopter we'll never know
04:24 rgrau_ left
masak guess not. 04:24
TimToady I had the 5, but I didn't have the am, so you're half backropunished
masak a halfback!
diakopter how punifive 04:25
masak ...and we're done, I think.
thanks, everyone.
TimToady o/
masak goes to work
diakopter bows -o- 04:26
04:26 masak left 04:33 meppel joined 04:37 meppl left 04:58 meppel left, meppl joined 05:00 envi joined 05:14 Trashlord left, andmott joined
andmott hello 05:15
scp1 hi
05:22 andmott left
sorear hi 05:26
good * #perl6
TimToady: what besides $*FILE<name> is there?
05:33 jaldhar joined
lue ohayo o/ 05:34
sorear Hi.
dalek ecza: 6ff137e | sorear++ | / (4 files):
Implement LTM for :i STRING
05:35
sorear yay, /\S/ is working now 05:45
05:47 knewt2 joined, pmichaud joined 05:50 kanishka left 05:56 masak joined
TimToady sorear: nothing that I know of, yet, but one could imagine other sources of, er, source code 05:56
at the time, I was mostly interested in not storing a gazillion copies of the file name 05:58
scp1 masak, how do you deal with, say, 'make test' spitting out a mile of errors - do you close STDERR and redirect to a log, or just let it be? 05:59
masak scp1: what's the context here? Rakudo?
05:59 kaare joined 06:00 kaare is now known as Guest59367
sorear TimToady: oh! you used a reference type to prevent copying? 06:04
scp1 masak, oh sorry - the tote project :) 06:05
masak ah! I suppose I just make sure my scrollback is long enough. 06:06
scp1 ah, okay
ingy I just built rakudo star on ubuntu and get this error: ./perl6: error while loading shared libraries: libparrot.so.2.9.1: cannot open shared object file: No such file or directory 06:08
am i dumb? 06:09
masak hm. rakudo star and libparrot.so.2.9.1? odd combination.
ingy or dumber?
masak I'm not aware that Rakudo Star has been released this month. and that Parrot version number is the latest one.
ingy I just grabbed the latest star download tarball from github and followed the structions 06:10
hmm
masak tries that
ingy thanks
dalek odel: 2bceca4 | diakopter++ | / (4 files):
[dotnet] make regex Actions generate method not sub
06:11
odel: b68ad46 | diakopter++ | dotnet/ (2 files):
Merge branch 'master' of github.com:jnthn/6model
odel: c319dc1 | diakopter++ | dotnet/compiler/DNST (2 files):
[DotNetSyntaxTree] Added DNST::Return and DNST::Local, enabling same-routine local variables and returning from anywhere.
odel: d3c1b8f | diakopter++ | dotnet/runtime/Runtime/Ops/P6capture.cs:
[dotnet] made the native P6capture representation auto-vivify its storage
odel: c6aa078 | diakopter++ | dotnet/runtime/Runtime/Ops/Metamodel.cs:
[dotnet] fixed my logic bug; oops.
odel: 91a2613 | diakopter++ | / (3 files):
[PAST::Regex] added more regex compiler scaffolding - lots of things faked, but it "works"
masak ingy: oh wait, seems I'm wrong. that's the Parrot version for the latest Star release.
ingy masak: rakudo-star-2010.10 06:12
masak yes. that one.
ingy any ideas?
masak nope. 06:13
sorear fixes 90 errors and sees how many more files pass
masak ingy: but I'm trying to build that tarball here.
lue
.oO(something's wonky with my code...)
ingy I built and installed it fine
-rwxr-xr-x 1 ingy ingy 8017442 2010-11-23 11:16 install/lib/libparrot.so.2.9.1* 06:15
it's there
perl6 just can't find it I guess
is there an env var I can set? 06:16
sorear LD_LIBRARY_PATH 06:18
.so files should in general always be installed to /lib, /usr/lib, or /usr/local/lib 06:19
06:20 risou joined
lue aha! does this line if $/.keys[0] == "directive" { dwim? [I just realized that from the looks of the output, it always matches this line] 06:21
sorear eq 06:22
== is only for numbers
diakopter nqpnet: say("h"~~/h/) 06:23
p6eval nqpnet: OUTPUT«h␤»
diakopter hee. mostly faked-up. but largely there.
lue ah. Thank you sorear, it works now! \o/ 06:24
diakopter the scaffolding, that is.
almost none of the actual regex features work yet
dalek ecza: 43b4a24 | sorear++ | docs/DIRECTIONS:
niecza has basic :i now
06:26
06:27 Juerd left, Juerd joined 06:31 silug left
ingy sorear, masak: 06:35
ingy@ingy-eee:~/src/rakudo-star-2010.10$ LD_LIBRARY_PATH=`abs_path install/lib/` ./install/bin/perl6
Could not load oplib `perl6_ops'
scp1 masak, right; prototype: github.com/trapd00r/utils/blob/master/autotest . Now I need to find out a way to watch $dir and all important files therein - t/* and lib/**.pm
masak scp1++ 06:36
ingy it seems odd that r* would not install properly
masak scp1: I'd do t**
er, t/**
ingy do we no longer support installing perl6 in /usr/local/bin? 06:37
scp1 Hmm, subdirs in t/ ? Havent encountered that
masak scp1: oh, it's not that uncommon.
dalek lek-poller: 303ac6a | sorear++ | push.psgi:
Drop commit packets with >15 commits, with a warning to the offender
06:38
masak ingy: it works here, even without mucking with LD_LIBRARY_PATH.
ingy: though I can't rule out that my globally installed Parrot is helping me. I did have the same error you did before doing 'make install', though. 06:39
06:39 dalek left 06:40 dalek joined, ChanServ sets mode: +v dalek
ingy masak: where did you install to? 06:43
I just installed to ./install 06:44
because that's what the doc said
masak same here.
sorear masak: what should I put in my initial release message?
ingy both ./perl and ./install/bin/perl work?
*perl6 06:45
masak sorear: what it is you're building, where you aim to take it, how to get things running, how to get involved. something like that. 06:46
Tene lue: order of .keys is not guaranteed
iirc
lue "You turned into a cat! A SMALL cat! You violated Conservatrion of Energy![...]" curse you moritz_, I like this fanfic 06:47
masak Tene: oh! I completely missed that. :)
lue Tene: there's only ever one key, so that shouldn't be a problem :)
Tene lue: Yeah, I'm quite fond of it too. I'm fond of everything Eliezer has produced, though.
masak sorear: are you planning on making time-based releases. if so, then you should probably describe it in the release announcement too. 06:48
Tene: he's written other things? o.O
Tene lue: if it doesn't match, it won't have that key
lue if I did have >1 key though, I'd expect some way of finding the right one when I don't know anything about the results yet.
Tene: It works now, I was just using == when it should've been eq . 06:49
masak lue: if any($/.keys) eq 'directive' { ... }
Tene masak: a few other pieces of fiction, and a large amount of blogging in preparation for writing a book about rationality and cognitive biases.
masak Tene: nice!
this requires further investigation.
lue masak: should I do it like that anyway, in case I need to remember it later?
Tene masak: yudkowsky.net/other/fiction/
masak lue: nah. just suggesting alternatives.
Tene masak: wiki.lesswrong.com/wiki/Sequences
masak Tene: thanks x 2 06:50
06:55 wtw joined
lue my my, a very geeky person must've written this fanfic :) 06:59
Tene masak: Oh, he also wrote www.fanfiction.net/s/5588986/1/Trus...le_of_Kyon under his name, instead of the LessWrong persona 07:00
masak EGOODSTUFFOVERFLOW 07:01
lue solution: another bukkit.
Tene Did you just call masak a walrus? 07:02
lue I hired the guy in that photo to steal the bukkit for this moment. 07:03
Tene luminous.elcenia.com/index.shtml is another fanfic by someone in the LessWrong community, possibly inspired by HPRM, also heavily discusses thought and cognitive biases, but less geeky.
lue [I has a TARDIS, remember?]
07:10 nymacro joined
lue "Trunks whose insides hold more than their outsides?" (some-wizard has been visiting Gallifrey!) 07:12
07:12 baest left
Tene hehe 07:13
07:14 baest joined
lue I bet the trunk is signficantly worse than the ∞:1 capacity of a TARDIS though... </commentary> # couldn't help it :/ 07:16
Tene lue: Yes; it clearly has a limit. 07:17
lue could you stuff Earth into the trunk? 07:18
Tene lue: The trunk has a very small limit; It's about the size of a small room.
07:18 zby_ joined
Tene iirc 07:18
07:19 zby left, zby joined
lue I think DW has ruined my sense of proportion. That sounds good for only a weekend holiday :) 07:20
07:22 Woodi left
lue I overall like this fanfic so far. The author has given Harry a much more Artemis Fowl type personality. .oO(must...write....review......) 07:22
07:23 Woodi joined
sorear lue: it's impossible to fill an infinitely large space with air at a constant pressure, look up the bekenstein bound 07:25
masak: isn't that spelled if $<directive>:exists ? 07:27
masak sorear: modulo feature availability, yes, probably.
sorear 59m 50s 85.58%
sorear wonders whether mothly releases would be good 07:33
What do poeple *do* with yapsi monthlies anyway?
moritz_ they read the release announcements, and chuckle :-) 07:34
but people do install the rakudo monthlies 07:35
sorear part of me wants to just announce the *project*, then make people follow git
std: { $^a } 07:36
p6eval std a194beb: OUTPUT«ok 00:01 118m␤»
07:39 Guest59367 is now known as kaare_
masak the August Yapsi release has had more downloads than the August Rakudo release. 07:41
of course, that's because of Rakudo Star... but still.
07:42 cjk101010 joined 07:43 cjk101010 left
sorear odd that niecza-std is warning on { $^a } 07:43
07:43 zb left 07:44 zb joined 07:46 cjk101010 joined 08:00 _xiaomo_ joined 08:02 _xiaomo_ left 08:03 _xiaomo_ joined
dalek ecza: c67c2b0 | sorear++ | v6/tryfile:
[v6] fix placeholder generation
08:03
08:06 risou_ joined 08:09 risou left
sorear niecza: my %x; %x<used>++; say %x.dump 08:11
p6eval niecza 43b4a24: OUTPUT«{}␤»
08:16 justatheory left
lue goodnight o/ 08:23
sorear niecza: my $a ::= 1; $a++; say $a; 08:24
p6eval niecza 43b4a24: OUTPUT«Unhandled exception: Writing to readonly scalar␤ at line 1 (MAIN mainline @ 1)␤ at line 970 (SAFE G1088ANONC @ 5)␤ at line 970 (SAFE module-SAFE @ 28)␤ at line 970 (SAFE mainline @ 1)␤ at line 0 (boot @ 1)␤ at line 0 (ExitRunloop @ 0)␤"mono" unexpectedly returned
..exit v…
dalek ecza: e289709 | sorear++ | / (3 files):
Fix optimized ++ not autovivifying
08:26
08:27 wamba joined
sorear hrm, S02-lexical-conventions/unicode.t requires 'use graphemes' semantics 08:33
masak Rakudo doesn't have that either. 08:34
08:36 Axius joined
sorear I worry that compiling STD for graphemes mode will push it well into "unusably slow" territory 08:36
dalek ecza: e8f039c | sorear++ | v6/tryfile:
[v6] fix anon enums
08:37
09:07 risou joined 09:08 risou_ left
sorear std: my @a = 1; f(my @x = (1, 2, 3)); 09:10
p6eval std a194beb: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'f' used at line 1␤Check failed␤FAILED 00:01 123m␤»
09:18 Axius left 09:38 Monty_P joined
Monty_P Hello all.. 09:38
moritz_ hi Monty_P 09:39
sorear Hello
Monty_P perl6: say 'testing... :-|!' 09:41
p6eval pugs, rakudo : OUTPUT«testing... :-|!␤»
masak hi Monty_P
moritz_ wonders if that nick stands for "Monty Perl" :-) 09:42
masak or 'Monty Pascal'...
Monty_P @moritz_: Monty lisP! ;) 09:43
moritz_ Monty_P: ah, good one
masak Monty Pascal...a variant of Pascal where all strings must be 255 bytes long or longer.
dalek ecza: 9da8467 | sorear++ | v6/tryfile:
[v6] fix parsing of assignments in parameter lists
09:44
sorear Is it just me, or are the people who say @somebody: disproportionately more likely to be sane? 09:45
masak sorear: haven't thought of it in that light. 09:48
sorear: I tend to associate the habit with newcomers, or die-hard twitterers.
Monty_P How is perl6 doing regarding GUI programming? 09:49
moritz_ Monty_P: you can access the p5 TK library through blizkost 09:50
I don't know of any native ports
sorear I saw a blog post about a failed grant to wrap Tk once
so I was compelled to do something
moritz_ I found that grant a bit weird 09:51
somebody who has never interacted with the p6 community in some way
sorear vaguely wants to do a WinForms or gtk# binding now
Monty_P moritz_: I see.. 09:52
09:52 timbunce joined
moritz_ sorear: is there an easy way to access C# libs from niecza? 09:52
I mean, without hacking on the compiler :-) 09:53
09:53 dakkar joined, blongden left 09:54 tzhs joined
sorear FSVO easy 09:56
you need to use Q:CgOp{} blocks
and some rather arcane instructions
also there's no support for adding references, so you can only use standard C# libs 09:57
but if "easy" = "without hacking the compiler proper", then yes :)
moritz_ :-)
mathw What's the spec like in Perl 6 for foreign imports? 09:58
sorear of course, I'd eventually like to just say use WinForms:from<CLS Windows.Forms>;
moritz_ the syntax is basically use SomeModule:from<lang>; 09:59
09:59 Monty_P left
sorear CLS = Common Language Standard = the .NET interop spec 09:59
moritz_ the spec is not very rigorous at this point :-)
it's one of the areas that need implementation exploration first
sorear blizkost was in part an exploration of that 10:00
but i ran into a lot of walls on the Parrot side
places where there is no standard way to do something, so I can't portably access foreign objects 10:01
10:01 redicaps left
sorear vtables are just words. VTABLE_iter implementations in Parrot are all-pairs incompatible 10:01
moritz_ it's a little sad how much work happens in parrot regarding language interop, considering that it's one of the key selling points 10:02
otoh I'm also sad that there's not more work in dozens of other areas, so my critic isn't well placed either :-)
sorear frankly at this point I'm not convinced that general interop is possible
the CLS allows any two languages to interop to the extent they can emulate C# APIs :) 10:03
general interop -> interop as general as parrot wants to promise 10:05
mathw yes there are always some limitations
10:05 QinGW left
mathw all the interesting languages on the JVM seem to screw around with the object model 10:05
they can talk to Java objects no trouble, but Java might have some problems talking to theirs...
10:07 wamba left
masak mathw: it's hard to be forward-compatible in such a case. 10:11
mathw: maybe something like CLOS would pull it off. 10:12
then again, maybe not.
mathw yeah it is hard 10:13
I suppose you'd have to built metaclass into the VM
and allow libraries to provide their metaclasses
and somehow hope that you got the design right so that this could then provide all the functionality required
but the host languages might then not have the syntax for it
so you'd still be screwed
dalek ecza: 28aad16 | sorear++ | lib/Kernel.cs:
Do not crash for objects without Numeric methods
10:14
ecza: 8405b8e | sorear++ | v6/tryfile:
[v6] Add STD.clean_id
mathw total interop is only possible in the area where all involved agree on a basic set of things they can do
hence CLS and its particular requirements
sorear blizkost allows you to marshal exactly two kinds of data between Parrot and Perl 5 10:15
strings and closures
masak breakfast for champions. 10:17
10:37 snearch joined 10:55 nymacro left 11:17 redicaps joined 11:19 Patterner left 11:20 snearch left 11:23 rgrau_ joined 11:31 jaldhar left 11:32 jaldhar joined 11:53 daxim joined 11:57 kjeldahl left, molaf_ left 12:11 agentzh joined
masak agentzh! \o/ 12:11
rakudo: role A { method foo { ... }; method bar { say "HAI" } }; role B { method foo { say "OH" }; method bar { ... } }; class C does A does B {}; .foo && .bar given C.new 12:15
p6eval rakudo : OUTPUT«===SORRY!===␤Method 'foo' collides and a resolution must be provided by the class␤»
masak that should work, right?
12:15 kjeldahl joined
moritz_ masak: yes, it should 12:19
masak submits rakudobug 12:20
12:23 _xiaomo__ joined, _xiaomo__ left 12:27 _xiaomo_ left
agentzh masak! \o/ 12:27
12:29 orafu left, orafu joined 12:32 zb left 12:33 ambs joined
masak PHP 5.4 gets roles -- but calls them traits, like Smalltalk does. simas.posterous.com/new-to-php-54-traits 12:36
12:36 shelling_lab joined
masak they have a special syntax for method resolution. 12:37
12:38 zb joined
moritz_ and they use 'use' for trait application 12:38
masak de gustibus non est disputandum :) 12:39
moritz_ didn't dispute anything :-) 12:40
masak that's disputable. :) 12:41
moritz_ contradicts, just because.
masak current score: confusion 1 -- sense 0 12:42
moritz_ then I won :-) 12:44
masak yes :/
masak sleeps a bit 12:45
12:45 masak left
moritz_ wow, the fastest way to iterate a string in perl 5 to reverse it, and then call chop repeatedly: www.perlmonks.org/?node_id=873073 12:47
12:52 bbkr joined
takadonet morning all 12:57
13:08 risou_ joined 13:11 risou left 13:16 daxim_ joined, daxim left 13:18 MayDaniel joined 13:21 MayDaniel left 13:23 nymacro joined 13:24 zby left
mdxi moritz_: that's really interesting 13:25
the most interesting bit, to me, is that using file IO semantics on memory is so slow
this leads me to believe there's a lot about file IO that i don't know
moritz_ mdxi: slow? it's faster than the operation that I'd usually use 13:26
13:26 molaf joined
mdxi it's slower than 4 other ways to do it, though. 6X slower :) 13:28
(max)
no, 3.5X
i can't math
13:28 dlynes joined
moritz_ 3 other ways 13:28
chop and reverseChop are basically the same
excep that reverseChop traverses the string backwards 13:29
*except
dlynes Has perl become more readable with v6, and possibly more structured? 13:30
13:30 dual left
moritz_ yes 13:30
dlynes Ah...so it's not a write-only language, anymore? :)
13:30 bluescreen joined
takadonet dlynes: not anymore 13:31
moritz_ not more than any other high level language you chose to (ab)use
13:31 bluescreen is now known as Guest36396, plainhao joined
dlynes Ok, cool...thanks 13:31
And it's come out as a final release now, too?
tadzik dlynes: how is Perl 5 write-only for you?
moritz_ dlynes: no. "final" implies "we've stopped working on it" 13:32
daxim_ there isn't any final release for any language
moritz_ there's no production release either
dlynes tadzik, I just find it horribly unreadable with all the $@, $_, #@, $$, $$$, ...
tadzik IMHO someone that can't write readable Perl 5 code cannot write readble code anyway, in any language
13:32 dual joined
moritz_ just preview releases for those interesting in playing with things 13:32
tadzik dlynes: the dereferencing syntax is gone :) 13:33
13:33 kjeldahl left
tadzik but $_ is still there, and I don't think that's wrong 13:33
moritz_ but only 3 special variables left
dlynes tadzik, so it's more similar to python, now?
tadzik hell no!
dlynes bash, then?
tadzik why?
daxim_ funny, I find C-syntax derivatives nearly unreadable because of the lack of sigils. is it a variable? a type? a built-in/function?
tadzik what makes you think so?
moritz_ (well, 4, but one of them is only interesting when you hack on the regex engine, or so)
dlynes: Perl 6 still uses sigils (though immutable), and {} for scoping 13:34
dlynes moritz_, perl 5 used {} for scoping too, didn't it?
tadzik dlynes: github.com/tadzik/neutro/blob/master/bin/neutro example code 13:35
moritz_ dlynes: that's why I wrote "still" :-)
dlynes ok...point taken
ah...ok....yeah...looks way more readable than perl 5 13:36
tadzik a plenty of things are now more consistent and sane (imho)
dlynes yeah...still looks like perl, but the code is more readable, and seems to have enforced parameters/prototypes now 13:37
Not to mention whatever a 'multi' is
13:38 lamstyle left
moritz_ just a sub, of which multiple can have the same name 13:38
dlynes Ah...so subroutine overloading 13:39
takadonet yes
moritz_ right; but it's really not the same thing as in C++
in C++ the overloading is resolved by the declared type of the arguments (and at compile time) 13:40
daxim_ rakudo: sub crap { say "signatures not enforced?" }; crap;
p6eval rakudo : OUTPUT«signatures not enforced?␤»
dlynes That's fine...I'm used to C++, Java, Python, and SOM
moritz_ in Perl 6 they are resolved at run time, by the actual type
daxim_: there are default signatures (which rakudo enforces just fine)
rakudo: sub crap { say "foo" }; crap(1, 2) 13:41
p6eval rakudo : OUTPUT«Too many positional parameters passed; got 2 but expected 0␤ in 'crap' at line 1:/tmp/fKISciucfG␤ in main program body at line 22:/tmp/fKISciucfG␤»
dlynes moritz_, I'm guessing the intent is the same as C++ for the overloading...it's just that perl6 functions differently under the hood than C++, and that's why the discrepancy
13:41 lamstyle joined
dlynes s/discrepancy/difference/ 13:42
moritz_ it's also the principle of least suprise
takadonet rakudo: multi run(Str $in){ say "i'm a str";}; multi run(Int $in) { say "i'm a num"}; run(5);run("hello");
p6eval rakudo : OUTPUT«i'm a num␤i'm a str␤»
moritz_ consider classes A and B, B inherits from A 13:43
if you have, in C++ A *var = new B;
and then call foo(A), it will dispatch to a foo(*A) variant, even if foo(*B) exists
in Perl 6 it would be the B variant that gets chosen 13:44
which is less surprising, IMHO
tadzik moreover... 13:49
rakudo: multi foo($a where { $a > 5}) { "Over 5"}; multi foo($a where { $a > 7} ) { "Over 7" }; say foo(9) 13:50
p6eval rakudo : OUTPUT«Ambiguous dispatch to multi 'foo'. Ambiguous candidates had signatures:␤:(Any $a where ({ ... }))␤:(Any $a where ({ ... }))␤␤ in main program body at line 22:/tmp/cBOO_jF2wv␤»
tadzik oops
moritz_ rakudo: multi f(0) { 1 }; multi f(Int $x) { $x * f($x-1) }; say f 5
p6eval rakudo : OUTPUT«120␤»
tadzik rakudo: multi foo($a where { $a > 5}) { "Over 5"}; multi foo($a where { $a < 5 } ) { "Below 5" }; say foo(9)
p6eval rakudo : OUTPUT«Over 5␤»
tadzik right
so it's not only types
moritz_ wonders what exceptions from type checks do 13:51
rakudo: sub f($x where { die "OH NOEZ" }) { }; f 3
p6eval rakudo : OUTPUT«OH NOEZ␤ in <anon> at line 22:/tmp/D2hYR6Jmem␤ in 'Block::ACCEPTS' at line 5975:CORE.setting␤ in 'infix:<~~>' at line 454:CORE.setting␤ in <anon> at line 22:/tmp/D2hYR6Jmem␤ in 'Block::ACCEPTS' at line 5975:CORE.setting␤ in 'f' at line 1:/tmp/D2hYR6Jmem␤ in 'f' at line 1:/tm…
tadzik rakudo: say "before"; sub f($x where { die "OH NOEZ" }) { }; f 3
p6eval rakudo : OUTPUT«before␤OH NOEZ␤ in <anon> at line 22:/tmp/6kzhSKuRDm␤ in 'Block::ACCEPTS' at line 5975:CORE.setting␤ in 'infix:<~~>' at line 454:CORE.setting␤ in <anon> at line 22:/tmp/6kzhSKuRDm␤ in 'Block::ACCEPTS' at line 5975:CORE.setting␤ in 'f' at line 1:/tmp/6kzhSKuRDm␤ in 'f' at lin…
tadzik rakudo: say "before"; sub f($x where { die "OH NOEZ" }) { }; say "before-after";f 3 13:52
p6eval rakudo : OUTPUT«before␤before-after␤OH NOEZ␤ in <anon> at line 22:/tmp/tS9NSpeYMv␤ in 'Block::ACCEPTS' at line 5975:CORE.setting␤ in 'infix:<~~>' at line 454:CORE.setting␤ in <anon> at line 22:/tmp/tS9NSpeYMv␤ in 'Block::ACCEPTS' at line 5975:CORE.setting␤ in 'f' at line 1:/tmp/tS9NSpeYMv␤ …
tadzik makes sense
moritz_ rakudo: multi f($x where { die "OH NOEZ" }) { }; f 3
p6eval rakudo : OUTPUT«OH NOEZ␤ in <anon> at line 22:/tmp/hjZezZGShj␤ in 'Block::ACCEPTS' at line 5975:CORE.setting␤ in 'infix:<~~>' at line 454:CORE.setting␤ in <anon> at line 22:/tmp/hjZezZGShj␤ in 'Block::ACCEPTS' at line 5975:CORE.setting␤ in 'f' at line 1:/tmp/hjZezZGShj␤ in 'f' at line 1:/tm…
13:54 nymacro left 13:56 nymacro joined 13:57 kaare_ left, Woodi left
takadonet dlynes: any other questions? 13:58
13:58 Woodi joined
dlynes No, that was it....thanks 14:00
Was just curious if perl6 was not in beta anymore, and if it was more readable than perl 5
takadonet Well not in beta but not production either 14:01
dlynes well...actually....does perl6 have something like cpan as well?
takadonet we are slowly porting modules over
modules.perl6.org/
Not a full fledge cpan since we are not sure what we are going to do
dlynes ah...so perl6 is currently prerelease, status, then, or public wide beta?
takadonet Might make a cpan6 or attach ourselves to the current one
public wide beta
anyone can download it and hack away 14:02
dlynes ok, thanks
tadzik well, perl6 is a language actually. The 'public beta' thing, is the implementation 14:03
daxim_ dlynes, talk to your colleagues/user group about what you learned today
dlynes daxim_, yeah...i've got a friend that's been waiting for perl6 to come out...he ended up learning python just so he wouldn't have to learn perl5, because perl6 wasn't available at that time 14:06
tadzik I'd go for Ruby in such situation 14:07
but still, I ended up learning Perl 6 even though it's not "out" :)
dlynes yeah...he's not interested in ruby...it reminds him of java too much :) 14:08
tadzik well, I'm not interested in python... it reminds me of python too much :) 14:10
dlynes Yeah..for me, I don't have a choice
Python's the best platform for OPC
So python's my only language for automation control 14:11
14:11 ambs left
dlynes However, for system admin/monitoring scripts, I use a combination of perl 5, bash script, awk, sed, python, cut 14:12
tadzik you mean using `` in Perl all the time? 14:13
Watch out, or you'll end up as a PostgreSQL dev :>
moritz_ tadzik: in sysadmin scripts I do that too 14:14
tadzik well... but sed?
for sed -i probably
but right, sysadmin scripts follow their own rules 14:15
TIMTWITIWWC -- There is more than one way to "it works who cares" :)
14:16 nadim left
dlynes tadzik, piping stuff through sed -e, or cut -d':' -f25, ... 14:17
14:17 nadim joined
moritz_ is always annoyed that cut only accepts single characters as delimiters 14:18
seriously, how hard can it be to allow splitting on arbitrary strings?
PerlJam different implementation priorities perhaps 14:19
tadzik dlynes: now piping stuff through sed -e in Perl is something I don't understand at all :)
moritz_: they probably use strtok() :)
moritz_ PerlJam: that's exactly it. Implementation difficulty as priority, not user experience 14:20
14:20 nadim left
PerlJam tadzik: if you already have the shell script that uses sed that you're converting to Perl, then, as an interim step, it may be easier to just leave the sed part alone. 14:20
tadzik probably
PerlJam tadzik: and maybe, once you've taken that step, it's not worth it to go "whole hog" in converting it to Perl 14:21
moritz_ tadzik: strtok works with string delimiters, not single chars
PerlJam moritz_: What's amazing (to me) is that cut hasn't been improved in the manner that you describe over the years. I understand the first couple of versions only using single char delimiters because they were written decades ago and developed a little momentum to stay that way. But after a few years, surely *someone* would have the same thought as you about improving it 14:22
moritz_: but perhaps, by that time, there were other tools that competed in that niche (awk, perl, etc.) and it wasn't really important to update cut 14:23
moritz_ PerlJam: right
dlynes tadzik, i don't use sed with perl...I use it in bash scripts
moritz_ I'd be surprised if 'cut' were younger than 20 years
PerlJam moritz_: I've been using unix for > 20 years and cut was an old tool when I first started (or so it seemed to me) 14:24
tadzik ah, I see 14:26
moritz_: oh. Then I don't get it at all
dlynes: I see
14:29 Guest36396 left, Guest36396 joined 14:31 icwiener joined
colomon jnthn: ping? 14:32
14:33 Guest36396 left, Guest36396 joined 14:36 lamstyle left, lamstyle joined 14:39 MindosCheng joined 14:40 Guest36396 left, Guest36396 joined 14:42 alester left, Guest36396 left, Guest36396 joined
MindosCheng is watching www.nuug.no/aktiviteter/20100914-li...arge-apps/ 14:43
14:44 Guest36396 left
takadonet MindosCheng: it's a good presentation 14:44
moritz_ indeed, I liked it very much
jnthn Wish I'd been there to see that one... 14:45
colomon: pong (but I'm a bit distracted by $dayjob...)
colomon current nqp-rx error is
Null PMC access in push_string()
current instr.: 'parrot;NQP;Compiler;' pc 100444 (gen/nqp-grammar.pir:0)
called from Sub 'parrot;NQP;Compiler;main' pc 100450 (gen/nqp-grammar.pir:0)
seems to me this is probably happening in the sequence 14:46
$P0 = getattribute nqpproto, '@!cmdoptions'
push $P0, 'parsetrace'
(in NPQ::Compiler sub '') but I don't have the foggiest clue why.
moritz_ has @!cmdoptions ever been initialized? 14:47
if not, it's Null, and you get a NPMCA 14:48
jnthn I'm guessing not...question is where it got initialized before...
wait...getattribute on a proto object?
That's either bad naming or wrong. 14:49
colomon: Oh, one important difference is that attribute accesses need to be fully qualified with a class name in 6model too 14:52
So getattribute obj, '@!foo' is probably not going to work. 14:53
Would need to be
colomon nqpproto = p6meta.'new_class'('NQP::Compiler', 'parent'=>'HLL::Compiler')
jnthn getattribute obj, type_object_for_class_where_attr_is_declared, '@!foo'
huh, it's trying to set an attribute on a proto-object then?!
14:54 icwiener left
jnthn That's...not good. I wonder how we've been getting away with that. 14:54
colomon is how nqpproto is created. previously the call was getattribute nqpproto, '@cmdoptions', and @cmdoptions was a Parrot attribute.
I may have completely misunderstood things. I only like 33% understand this code.
colomon is suspicious that asking him to work on this was an attempt to increase the bus number on some funky code. ;) 14:55
jnthn I didn't quite intend it to be as tricky as it's starting to turn out... :)
colomon Mind you, I'm enjoying puzzling over it. 14:56
jnthn :) 14:57
14:57 _kaare joined
colomon Are you actually looking at the code in question? src/NQP/Compiler.pir? 14:58
14:59 agentzh left
colomon I've changed @cmdoptions to @!cmdoptions (because it's now a NQP object instead of inheriting from the Parrot HLL::Compiler) but other than that it's the same, I believe. 14:59
15:01 JSAdam joined 15:09 nymacro left 15:15 redicaps left 15:16 bluescreen joined, bluescreen is now known as Guest22809 15:19 rgrau__ joined, wtw left, PerlPilot joined 15:20 breinbaa1 joined, sunnavy_ joined, MayDaniel joined 15:21 rblackwe_ joined, Psyche^ joined, Psyche^ is now known as Patterner
jnthn colomon: Yeah, and it's certainly wrong. It really does appear to be trying to set attributes in the proto object. :/ 15:22
15:22 ashleyde1 joined
jnthn colomon: oh, but it's also using P6object there rather than 6model too... 15:22
colomon is it possible they are somehow (not sure the proper p6 terms) class-wide attributes rather than per-object attributes? 15:23
15:24 PerlJam left, sunnavy left, breinbaas left, flatwhatson left, ashleydev left, rgrau_ left, rblackwe left 15:25 flatwhatson joined
jnthn colomon: There's no such thing in Perl 6... 15:27
colomon: I think that's what was being done
colomon: But it was not really supported under P6object
So I think it accidentally worked rather than was correct.
6model probably explicitly bans it 'cus it's just not meant to be possible. 15:28
(and probably breaks definedness checking)
15:31 ashleyde1 left, frew left 15:32 sunnavy_ left
colomon So a patch here would require a bit of a rewrite, yes? 15:36
colomon decides to commit what he has and try to figure out how to push his branch to github, just to have a backup. 15:37
PerlPilot colomon++ good idea
15:38 PerlPilot left, PerlJam joined, Guest22809 left
PerlJam colomon: btw, git push origin branch-name # assuming your github remote repo is called "origin" 15:39
colomon PerlJam++ colomon-- # first attempt I literally typed in "branch-name" rather than using the actual branch name. 15:40
dalek p-rx/nomnom: 60d7e50 | (Solomon Foster)++ | src/HLL/Compiler.pm:
Break HLL::Compiler away from PCT::HLLCompiler.
p-rx/nomnom: e18ba58 | (Solomon Foster)++ | src/NQP/Compiler.pir:
Try to fix code to use the new @!cmdoptions, but apparently the original code was broken and so the fix does nothing useful.
15:40 sftp joined
PerlJam heh 15:40
colomon oh, cool!
moritz_ colomon++ # nice branch name 15:43
colomon ;)
15:45 Guest22809 joined 15:49 Guest22809 left 15:52 Guest22809 joined
MindosCheng I guess some operation in Perl6 can be very fast by special design, like "==>" and "|" 15:54
15:55 Guest22809 left
PerlJam "special design"? 15:55
MindosCheng PerlJam: like using special hardware, like CUDA.
15:58 Guest22809 joined
MindosCheng PerlJam: And for pipeline, by sharing buffers, it works on some encoding/decoding system already. 15:58
16:00 Guest22809 left 16:02 JSAdam left 16:05 sunnavy joined, sunnavy_ joined 16:07 Guest22809 joined 16:08 justatheory joined, alester joined 16:10 cjk101010 left 16:12 Guest22809 left 16:15 tzhs left 16:28 MayDaniel left 16:30 timbunce left 16:34 ab5tract joined 16:37 frew joined 16:38 icwiener joined, timbunce joined 16:50 breinbaa1 left 16:51 breinbaas joined 16:52 ch3ck joined 16:53 plobsing left 16:54 icwiener left 16:55 icwiener joined, mila_ left
sjn checked out latest rakudo from git 16:56
<- getting lots of failing tests
colomon platform? 16:57
sjn ubuntu 10.04
"Parse errors: No plan found in TAP output"
colomon what happens if you just execute perl6 by itself? 16:58
sjn right 16:59
PackFile_unpack: This Parrot cannot read bytecode files with version 9.1.
what files should I delete?
moritz_ sjn: rm -rf parrot_install/
sjn (and why doesn't "make clean" take out those files? :-P)
moritz_ sjn: because they are installed files
colomon sjn: when was the last time you built rakudo? 17:00
sjn colomon: a while back, before I pulled latest last night
maybe a month 17:01
moritz_ what I don't understand is why a new install doesn't override it with new files
colomon is wondering if sjn still has svn parrot
sjn no, the build script catched that one
(and yes, I had it
)
17:01 envi left
sjn and then removed the parrot dir, and ran Configure.pl --gen-parrot 17:01
colomon ah 17:02
sjn just got a bit surprised that running with --gen-parrot didn't replace the previous install
moritz_ it does, unless the parrot version changes 17:05
sjn sounds like a bug :) 17:06
17:07 hercynium joined 17:08 risou_ left, risou joined 17:09 mila_ joined 17:12 kjeldahl joined 17:13 uniejo joined 17:17 mkramer1 joined, lichtkind joined 17:19 mkramer left 17:20 mkramer joined 17:23 mkramer1 left 17:24 cdarroch joined, cdarroch left, cdarroch joined 17:30 meppl left, alester left 17:39 huf left 17:41 daxim_ left 17:42 molaf left 17:44 huf joined
frettled It's somewhat counter-intuitive, yes. 17:44
17:46 uniejo left 17:47 MindosCheng left
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet 17:53
18:00 dakkar left 18:02 impious joined, impious left 18:06 lambdabot joined 18:09 ashleydev joined, risou left, dsp_ joined, risou joined 18:15 jaldhar left 18:25 icwiener_ joined 18:28 icwiener left 18:30 pyrimidine joined 18:49 mberends joined
colomon just came to his senses and realized asking Rakudo to parse a 250meg file was probably not a good idea. 18:52
btw, #phasers in 8min?
jnthn 7 mins now ;) 18:53
mberends hi colomon, jnthn, yes :-)
18:53 rhr left
jnthn mberends! \o/ 18:54
18:55 rhr joined 18:56 wamba joined 18:57 icwiener joined 18:58 icwiener_ left 19:00 pmichaud_ joined
pmichaud_ ENOFEATHER? 19:01
pmichaud oh, there it is.
19:01 pmichaud_ left 19:02 Trashlord joined 19:10 risou_ joined 19:12 risou left, pyrimidine_ joined
sorear 57m 21s 87.01% 19:13
19:15 pyrimidine left, pyrimidine_ is now known as pyrimidine 19:20 _twitch joined 19:24 timbunce left
sorear 100 failures; 53x Check failed, 26x Parse failed, 18x Autoloading of STD::P5 NYI 19:27
3x Str.Numeric NYI 19:28
19:29 proller_ joined 19:31 timbunce joined, tylercurtis joined
TimToady I consider TrigTestSupport.pm to be malformed Perl 6, btw 19:34
but fixing it such that rakudo is happy with it is not yet possible, last I checked 19:35
(several months ago)
so I've just left them as STD failures for now 19:36
19:37 risou_ left
colomon TimToady: what, again, are your issues? 19:40
dalek ar: 41aa60f | pmichaud++ | skel/docs/announce/2010.11:
Add 2010.11 release announcement draft.
19:41
TimToady iirc, relying on package export semantics rather than lexical
19:41 MayDaniel joined
jnthn thought Rakudo did import into the lexical scope... 19:42
colomon TimToady: I think I could probably fix that now, though it might mean splitting it up into several different modules.
TimToady that might work 19:43
colomon has gotten more useful experience in this area messing around with the ABC module.
TimToady it would be useful to be able to export subclasses though too
colomon sure, does anyone know the official status of exporting subclasses? 19:44
19:44 mssm joined
TimToady oh, probably "PhD dissertation fodder", like most of the rest of it... :) 19:45
19:46 _twitch left, wamba left, wamba joined 19:47 wamba left, wamba joined
sorear "Exporting subclasses"? 19:49
jnthn TimToady: I don't see the issue with TrigTestSupport.
sorear The problem with TrigTestSupport is that the classes aren't exported 19:50
jnthn TimToady: AngleAndResult gets installed into GLOBAL:: no?
lue An old laptop that gets hot easily is very nice after shoveling snow :)
sorear Yes, but you can only access it as GLOBAL::AngleAndResult
diakopter hah
sorear There's no lexical alias
jnthn :/ 19:51
jnthn had it as "we statically know this name isn't lexical so go find it as a package"
lue happy 47th anniversary of Doctor Who \o/ [o and hai o/] 19:52
sorear as the kind of person who swears by use strict, I am very, very, very, very strongly opposed to that interpretation
jnthn er
I use strict too and I don't have a problem with this. 19:53
pmichaud there really isn't a "go find it as a package" any longer 19:54
it's all lexical, iiuc
jnthn *everything* is lexical lookups?
pmichaud we massively cheat on that in rakudo
jnthn So how does
my class Foo { }
19:54 oha joined
jnthn class Foo { } 19:54
Really differ?
pmichaud is the latter really "our class Foo"?
jnthn Yes
pmichaud it differs by putting a symbol for "Foo" into the package namespace 19:55
jnthn Which you can only really get at by qualifying it with GLOBAL:: ?
pmichaud (as well as one in the lexical namespace)
sorear the former is accessible as MY::Foo and Foo; the latter is *also* accessible as OUR::Foo and GLOBAL::Foo
pmichaud just like other 'our' variables
sorear the interesting issue is class A { class B { } }
Tene lue: dr who starting up again in about a month
sorear B MUST be our
pmichaud when I have "our $x" we get entries for $x in both the package and in the lexpad
sorear because if it's my, then the A::B symbol won't be installed 19:56
jnthn OK
Makes me happy
I don't ahve to bother optimizing package access much now ;)
pmichaud but yes, nearly all symbol lookups are lexical
lue Tene: next season is supposed to be split in two halves, one half in spring the other in the fall. \o/
pmichaud even when there's a :: involved, the root part is a lexical lookup :-) 19:57
PerlJam sorear: so what's the relationship between class A::B { } and class A { class B { ... } }
"
?
jnthn pmichaud: nqp on .Net leans a LOT more in the lexical direction
pmichaud jnthn: good, because it needs to
jnthn pmichaud: The setting has lexicals in it only
pmichaud there really only are "lexicals" in perl 6
jnthn pmichaud: It can't have package scopes because, er, NQPStash is defined in there. :)
pmichaud packages are just alternate namespaces... but they're looked up lexically 19:58
jnthn pmichaud: OK. Feel free to review the way I have it and suggest changes
pmichaud: I suspect what I do in the .Net NQP can be our pattern for nqp-rx
pmichaud i.e., if I have A::B::C, we start with a lexical lookup of A
jnthn That's...awkward.
How do we differentiate between the stash and the type object in this case? 19:59
pmichaud type objects have to support a package API
or the ::'s extract the stash from the type object
(like an operator)
jnthn OK, so :: calls .WHO really
pmichaud yeah, that's a good way of thinking about it
jnthn I like my macros :) 20:00
Though I realized when I made .HOW and .WHAT be those in nqp-rx that...P6object is now rather impossible to work with. D'oh. 20:01
May need to fathmom some fallback or something
sorear PerlJam: I have no idea what class A::B is supposed to do
jnthn Otherwise the whole of PAST needs porting to the new meta-model to make any progress...
20:02 icwiener_ joined
sorear jnthn: I wound up using fat references in Niecza, i.e. A uses two slots A and A:: 20:02
and A::B means A::<B>
pmichaud porting whole may end up being not that difficult
sorear because, mostly, of stub packages
pmichaud A:: slot is interesting
sorear the existance of A::B doesn't imply anything about A
jnthn pmichaud: The other issue is that I'm not sure Parrot's multi dispatcher will know what to do with the new objects...
pmichaud that's a very useful start
lichtkind TimToady: are $() and item() interchangeable
pmichaud lichtkind: .item, probably 20:03
@() ends up being .list, so I'd expect $() to be .item
lambdabot Maybe you meant: . ? @ bf do ft id pl rc v wn
jnthn OH NO lambdabot!
pmichaud
.oO( who let lambdabot back in here?!?)
jnthn @part
lambdabot Not enough privileges
pmichaud I'm certain that whatever lambdabot said is not what I meant. :-) 20:04
jnthn screw you!
sorear @part
lambdabot Plugin `system' failed with: Prelude.last: empty list
sorear @part #perl6
lue who is lambdabot? Should I get some popcorn for an epic backstory?
20:04 lambdabot left
jnthn lol 20:04
pmichaud hmmm... compiling core.pm seems *much* slower than a month ago :-(
oha i would expect that class A { class B { } } declares 2 classes, while class A::B { } declares only one. 20:05
sorear oha: class A::B { } is closer to package A { class B { } }
20:05 icwiener left
pmichaud class A::B { } declares a class B within package A (as obtained by lexical lookup of A). If there is no A, then it's created within the current scope. 20:06
Tene lue: a bot that we have trouble keeping out without banning it, and who speaks when not spoken to.
sorear the fun issues are ones like "what if A already exists, but is imported"
pmichaud then we use that A
sorear lambdabot only speaks when spoken to.
pmichaud iiuc
sorear @ is her true name
conveniently, Haskell never uses @ at the start of an expression 20:07
pmichaud: without MONKEY_TYPING? 20:08
jnthn tries to work out where MONKEY_TYPING comes into this...
pmichaud sorear: good question... but I think so. Otherwise I don't know how things like use Foo; use Foo::Bar; are to work
jnthn I thought that only affected augment/supercede? 20:09
pmichaud well, one could think of a class declaration as "augmenting" a package. But I don't think it's really an augment in that way. 20:10
sorear jnthn: class Foo::Bar means augment package Foo { class Bar }
TimToady sorear: packages are not immutable
jnthn sorear: I don't see it that way. 20:11
pmichaud class Foo::Bar means something like Foo::<Bar> := class { ... } 20:12
TimToady and in any case, we'd want to make this an exception
pmichaud declaring Foo:: if need be
jnthn I figure MONKEY_TYPING mostly just means "you can't use augment and supercede"
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....kup_tablet 20:13
TimToady the package naming path is an "easement", in legal terms :) 20:14
jnthn :)
PerlJam So ... what's the essential difference between packages and modules? modules export and packages don't? 20:15
TimToady correct 20:16
and a class is just a module that also knows how to .^add_method and such 20:17
sorear adding "is export" to the classes and sticking "module TrigTestSupport;" on top makes the trig tests parse
TimToady in which?
in niecza? 20:18
as I recall, that used to break rakudo
sorear in STD 20:22
20:23 icwiener_ left
sorear goes and tries to get niecza's setting to parse 20:23
pmichaud afk, travelling 20:24
takadonet how do you export variables from a module? Is it the same syntax as a sub? i.e sub dosomething() is export { .. } ? 20:30
TimToady std: my $x is export = 42;
p6eval std a194beb: OUTPUT«ok 00:01 121m␤»
takadonet rakudo: my $x is export = 42; 20:31
p6eval rakudo : OUTPUT«No applicable candidates found to dispatch to for 'trait_mod:<is>'. Available candidates are:␤:(Mu $child, Role $r)␤:(Routine $r, Any :default($default)!)␤:(Code $block, Any $arg?, Any :export($export)!)␤:(Mu $child, Mu $parent)␤:(Mu $type where ({ ... }), Any :rw($rw)!)␤:(Mu $type…
TimToady NYI, but you'll notice it parses
rakudo: module Foo { my $x is export = 42; } 20:32
p6eval rakudo : OUTPUT«No applicable candidates found to dispatch to for 'trait_mod:<is>'. Available candidates are:␤:(Mu $child, Role $r)␤:(Routine $r, Any :default($default)!)␤:(Code $block, Any $arg?, Any :export($export)!)␤:(Mu $child, Mu $parent)␤:(Mu $type where ({ ... }), Any :rw($rw)!)␤:(Mu $type…
TimToady I guess that doesn't help.
takadonet just have to do the full path 20:33
jnthn Just umimplemented trait handler, looks like.
TimToady takadonet: there isn't a full path, if it's a "my"
jnthn: so potentially a LHF? 20:34
jnthn TimToady: In theory. :) 20:35
I mean, the code is there for routines, and this should be easier since it doesn't have to worry about merging multis being explorted.
er, exported :)
.oO( explorted would be such a cool word if it existed...)
20:36
TimToady sounds like something from Calvin and Hobbes
takadonet TimToady: i will using 'our'
moritz_ (Calvin and Hobbes)++
takadonet rakudo: module Foo { our $x =42; } say $Foo::x;
p6eval rakudo : OUTPUT«===SORRY!===␤Confused at line 22, near "module Foo"␤»
takadonet ..
moritz_ takadonet: ; after } 20:37
takadonet rakudo: module Foo { our $x =42; }; say $Foo::x;
PerlJam you're missing a ;
p6eval rakudo : OUTPUT«42␤»
takadonet moritz_: always forget it
PerlJam (though that error isn't the nicest)
takadonet anyway that what I have being doing so far so will continue for the other modules
TimToady std: module Foo { our $x =42; } say $Foo::x; 20:38
p6eval std a194beb: OUTPUT«===SORRY!===␤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/kZxeS9H2Cq line 1:␤------> module Foo { our $x =42; }⏏ say $Foo::x;␤ expecting any of:␤ bracketed infix␤ infix or meta-infix␤ statement
..modifier loop␤Pa…
jnthn wonders if that error isn't LHF to add to Rakudo too 20:41
PerlJam jnthn: I was wondering exactly the same thing
oha LHF? 20:42
moritz_ low-hanging fruit
arnsholt Low Hanging Fruit. Easy targets to fix
oha nice, ty
arnsholt Often used as the gateway drug to catch new contributors =) 20:43
20:44 kjeldahl left
TimToady after which you will have knowledge of Good and Evil... 20:44
jnthn Improving Rakudo: good. Breaking Rakudo: Evil.
oha jnthn, ... and why you capitalized Evil? :) 20:45
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index...._6_tablets 20:46
TimToady that's not it; he forgot to capitalize Good
sorear std: sub ($) { }
p6eval std a194beb: OUTPUT«ok 00:01 120m␤»
20:47 tylercurtis left
sorear std: sub ($*) {} 20:47
p6eval std a194beb: OUTPUT«===SORRY!===␤Unable to parse signature at /tmp/HsMtWbhBEf line 1:␤------> sub ⏏($*) {}␤Couldn't find final ')'; gave up at /tmp/HsMtWbhBEf line 1:␤------> sub ($⏏*) {}␤ expecting any of:␤ constraint␤ param_sep␤
.. parameter␤ t…
20:48 florz left
lue afk 20:48
20:49 florz joined
TimToady std: sub (*$) { } 20:50
p6eval std a194beb: OUTPUT«ok 00:01 120m␤»
20:51 timbunce left
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ook_tablet 20:51
20:52 takadonet left 20:56 __david__ joined, mssm left 21:00 florz left 21:01 MayDaniel left
lichtkind TimToady: would you please approve www.perlfoundation.org/perl6/index....xtualizers 21:03
21:05 florz joined
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ook_tablet 21:07
21:08 plainhao left
cosimo what do I use to throw an exception? tried skimming through S04, but didn't get it 21:11
die maybe?
moritz_ die 21:12
PerlJam cosimo: you could have jumped right to the section on exception and read it rather than skimming :) 21:13
21:14 ab5tract left
arnsholt Hmm. I think Rakduo is supposed to panic with "Malformed package declaration" on the "module {} $code" example, but for some reason it doesn't 21:15
jnthn std: module {} $code 21:16
cosimo PerlJam: I read it... :-|
p6eval std a194beb: OUTPUT«===SORRY!===␤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/tL15rSVLP4 line 1:␤------> module {}⏏ $code␤ expecting any of:␤ bracketed infix␤ infix or meta-infix␤ statement modifier loop␤Parse
..failed␤FAILED 00:01 …
21:16 espadrine` joined
jnthn rakudo: module {} $code 21:16
p6eval rakudo : OUTPUT«===SORRY!===␤Confused at line 22, near "module {} "␤»
arnsholt (Lines 865, 866 of Perl6/Grammar.pm, if you wondered) 21:17
21:18 espadrine` left
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet 21:18
jnthn arnsholt: I think that it parses a package just fine, then expects not to find a term next, and only then hits the problem 21:19
21:19 fhelmberger left
arnsholt Yah 21:19
PerlJam arnsholt: It's probably somewhere down in the parsing of blockoid where it recognizes that there's a problem.
arnsholt My suspect is ENDSTMT 21:20
The full match of that is quantified with ?, so it will always match
21:21 pyrimidine left
arnsholt tries something 21:21
21:21 pyrimidine joined
arnsholt Yeah. Not that 21:22
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....gex_tablet 21:23
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ine_tablet
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index...._io_tablet
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ock_tablet
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....tor_tablet
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index...._6_tablets
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ign_tablet
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ory_tablet
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....tro_tablet
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet
: abe2be5 | (Cosimo Streppone)++ | docs/feather/syn_index.html:
Clarify where the mu repository is for noobs like me
21:24
lichtkind sorry for spam i had to change the index 21:25
tadzik lichtkind++ # leaking karma
lichtkind tadzik: what you mean by that? 21:26
tadzik lichtkind: you aren't getting your karma :)
karma lichtkind 21:27
aloha lichtkind has karma of 4.
tadzik karma Herbert Breunung
aloha Herbert Breunung has karma of 55.
tadzik see? :)
lichtkind so all my karmo goes to my alter ego
that i call ego boosting
karma moritz_ 21:28
aloha moritz_ has karma of 85.
PerlJam Doesn't dalek have some sort of aliasing ability?
lichtkind karma moritz
aloha moritz has karma of 167.
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet 21:29
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....kup_tablet
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....oop_tablet
moritz_ karma (Herbert Breunung)
aloha (Herbert Breunung) has karma of 0.
moritz_ karma Herbert Breunung 21:30
aloha Herbert Breunung has karma of 58.
moritz_ aloha: karma phenny: tell aloha karma phenny
aloha moritz_: phenny: tell aloha karma phenny has karma of 0.
oha moritz_, very close :) 21:31
cosimo karma kameleon
aloha kameleon has karma of 0.
cosimo after this one, I can say goodnight :) 21:32
moritz_ wonders when he'll reach bot recursion
good night cosimo
oha waves cosimo
tadzik ~~ 21:33
sleepytime for me too
lichtkind tadzik: good night
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....lta_tablet 21:34
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....nks_tablet
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ook_tablet
cosimo perl6 is messing up my programming life
I used to be happy and my programming days were fun 21:35
moritz_ and now it spoilt you?
because you can see how programming should be?
cosimo then during nighttime I'm sucked into the alternative world of perl6 21:36
feels like The Matrix :-)
moritz_: yeah 21:37
last week I started this small project to port facter (ruby) to perl6 21:38
it's been a fantastic learning experience
and it's almost done too 21:39
arnsholt Right. I've been able to improve the error message a bit at least
moritz_ Mr. Anderson has a secret live!
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....l_6_tablet
cosimo ruby is cool but lack of sigils sucks, seriously 21:40
'night, everyone 21:41
Tene ruby's scoping is rather broken. :( 21:42
lichtkind Tene: why? 21:43
21:44 Chillance joined
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index...._6_tablets 21:45
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....tro_tablet
Tene lichtkind: I don't actually remember; I just remembering being very frustrated at needing to implement it the wrong, broken way in my ruby compiler.
although the lack of declarations was also frustrating. 21:46
I think i may also have scoping gripes mixed up between python and ruby, so I don't want to give counterfactual details. 21:47
arnsholt I know Python at least does that. Blocks don't create new lexical scopes 21:50
So if you use a variable only inside a loop or a conditional, it's still available after it
21:51 slavik joined, masak joined
masak ahoy! 21:51
arnsholt Yarr, masak!
oha arnsholt, in p5 there are cases where a variabile isn't destroyed, but it's no longer reachable. what do you exactly mean with available? 21:52
arnsholt oha: Those are closures. In Python this works (but in Perl syntax, because I don't remember Python's exact syntax) 21:54
sjohnson hi dudes
arnsholt if(1) { $x = 6; } say $x; # Will print out 6
Even if $x was never used before in the program
oha that's work in perl (unless use strict) 21:56
p5 i mean
masak sjohnson: salut
arnsholt oha: Huh, didn't know that =) 21:57
oha perl -e 'if(gmtime) { $x=3; } print $x, "\n"'
arnsholt But you can't turn that off in Python (and not in Ruby either, I think)
oha just tried :)
arnsholt Me too =) 21:58
22:02 molaf joined
jnthn masak! 22:04
masak jnthn! \o/ 22:05
jnthn masak: Snow! I has more of it! \o/
22:05 pochi left
masak jnthn: I'm doing bets with myself to see how long you'll think snow is funny. :P 22:05
22:05 pochi joined
Tene There's no snow where I live now. I expect to miss it. 22:05
jnthn Like "rofl", snow has an o in it and is four chars long. 22:06
Tene www.google.com/images?q=snow+lolcat 22:07
dalek ecza: b2fa2f9 | sorear++ | v6/tryfile:
[v6] Support Texas-quoted categoricals
ecza: e8a2b1c | sorear++ | v6/tryfile:
[v6] fix $ -> $Any()
sorear now it can parse the Niecza setting without complaining 22:08
jnthn Tene: Bizzare image search results are bizzare.
sorear time to start rewriting the compiler in perl 6!
Tene Mmm, rewrites.
colomon \o/
masak sorear++ 22:10
sorear odd, it takes over a minute to parse 22:11
hercynium snow++ 22:13
masak *lol* lolcatz.wordpress.com/2007/06/25/in...snowboard/ 22:14
the cat is in total control over its environment, with a focused look on its face. 22:15
sorear over twice as long as the STD parser embedded in niecza_eval
sorear runs the profiler, but it probably won't finish until after I leave
hercynium masak: I can't find it right now, but I have a version of that pic with a bowling ball in front of the cat 22:16
frettled hercynium: how did you know (snow)? :D 22:17
masak hercynium: I imagine that would work nicely, yes.
hercynium frettled: jnthn> masak: Snow! I has more of it! \o/
frettled oh! 22:18
(it's snowing here, that's why I asked)
22:24 oha left
masak er. someone has to help me with "X years ago" today. 22:24
how many years ago is 534 BC? discuss.
a simple subtraction gives 2544 years ago, but there's no year 0, is there? 22:26
22:26 bitter16 joined 22:27 bitter16 left
sorear 534 BC is not a well-defined Instant 22:28
please be more specific.
masak November 23, 534 BC. 22:29
sometime in the early afternoon.
sorear 2543 ya I think
masak good. that's my current guess as well.
jnthn Was November invented yet? :) 22:30
masak that's a very good question. I'm not sure how old the month name November really is.
colomon are we assuming we don't care about the actual calender, differences which are less than a year are ignored? ;) 22:31
masak it's not like it was waiting to be named after an emperor, like August or July.
colomon: no.
colomon: this is for the "on this day X years ago" part of today's November blog post. 22:32
colomon wasn't it the ninth month in the old Roman calendar? (pre August / July)
arnsholt masak: I vote for just doing the 2544 years ago
masak arnsholt: I'm listening.
arnsholt There is no comment field for people to bikeshed the thing in anyways ;)
masak :)
colomon arnsholt++ # no bikeshedding is good
jnthn Just say, like, "A little while back"
arnsholt And it's the method people usually use to find the year
22:32 _kaare left
masak shucks, now I don't know what to do. :) 22:33
arnsholt Also, you link to the Wikipedia pages, so anyone really interested can look it up there =)
masak arnsholt: sounds like you're arguing for mathematical simplicity over factual correctness.
arnsholt colomon: November is the ninth month in the Roman calendar, but it was (roughly) at the same place in the calendar as now
Because the year didn't start in January, but in March 22:34
frettled masak: if you go for "there was a year zero", you're catering for astronomers. If not, you're catering for almost everyone else using some understanding of the Christian calendars. 22:35
arnsholt Then insert all the funny business of leap years being inserted by priestly fiat and records being shoddy, julian/gregorian calendars, etc. 22:36
frettled arnsholt: well, it was the ninth month until the calendar was so f..... that a certain Caeius Iulius Caesar (III) decided to rewrite the calendar system.
Post-Augustus, there were twelve.
arnsholt Yeah, the Roman clendar is complicated 22:37
frettled it was a mess, continuously, until that Caesar.
arnsholt I know. I especially love how the insertion of leap years was a political matter
Excellent way to handle it =D
frettled Essentially, when we talk about e.g. 54 B.C. in history, we talk about it according to our modern calendar (Gregorian).
gfldex it's still a mess as earth refuses to have a stable orbit around the sun
frettled And the Gregorian calendar does not acknowledge a year zero. 22:38
arnsholt gfldex: That's true. But at least now the abberations in the calendar can't be on the order of days per decade =)
frettled Essentially, this is because we're using ordinal numbers for years, not cardinal numbers.
22:39 yahooooo left 22:40 yahooooo joined
frettled Bonus: when you ask GNU date what date+time it was 2010 years ago, it will say: Thu Nov 23 23:42:46 LMT 0000 22:43
To get the time in the BC/AC notation, you need to subtract one. That is, <whatever> LMT 0000 = <whatever> 1 BC.
masak I know! I'll just link "no year 0" in my post to this discussion! :) 22:45
hello, readers who followed that link o/
gfldex another good reason to get off the planet into big space ships
frettled masak: or en.wikipedia.org/wiki/ISO_8601
diakopter or small ones
frettled gfldex: preferably not too fast ones, because otherwise, you FU the time too much :)
22:46 plobsing joined
Tene masak: have you yet dealt with: cal 9 1752 ? 22:46
lichtkind good night
masak Tene: no, but I'm discounting that detail. eagh. :)
Tene: the posts say "X years ago today". I'm just going to pretend that "today" means "on the date with the same month and day". 22:47
frettled masak: oh, and if you want to go completely _bonkers_: en.wikipedia.org/wiki/Julian_calend...year_error
masak this happens every time we start discussing time. :P 22:48
frettled that you go bonkers?
masak no, that ample material for doing so is provided.
frettled :D 22:49
gfldex being bonkers is what gets you into #perl6
frettled I seem to share a part of the blame for that.
Tene masak: provided that that day actually exists in that year (and location/authority)
frettled Quick, the SEP generator!
Tene From what I hear, similar things happened in 1582 in rome and in 1917 in russia. 22:50
masak Tene: look, it's Wikipedia that said "November 23, 534 BC". I'm just going to assume they meant something by that. :)
frettled Tene: and at other dates in other places.
Tene masak: Ah, so if I want to troll you today, I just need to edit wikipedia. That makes it easier. ;)
masak Tene: :D 22:51
frettled Tene++
22:58 pyrimidine_ joined
lue ohayo o/ 23:00
.u tardis
phenny lue: Sorry, no results for 'tardis'.
23:01 pyrimidine left, pyrimidine_ is now known as pyrimidine
Tene masak: You may also be interested in the hebrew calendar: blogs.msdn.com/b/michkap/archive/20...79237.aspx 23:03
masak thanks. this channel, just as the Ravenclaw house, is very beneficial for people who like to learn.
diakopter yesterday even
lue masak: there is a year 0, the idiot monk who designed the Gregorian calendar forgot that though. 23:04
Funny we happen to be discussing time today of all days... :) 23:05
masak why, is today special?
lue happy 47th anniversary of Doctor Who! \o/
masak oh, right. 23:06
lue: happy anniversary. :)
hercynium lue: I didn't know it was an anniversary, but somehow now I feel my selection of "The Three Doctors" last night was strangely apropos 23:07
lue Can't wait for 2013! [and the ability to watch DW on my computer :/] 23:08
hercynium lue: I watched on netflix
lue in any case, how serendipitous :)
my solution to watching videos isn't availability, it's the computer itself (some days it's a miracle a graphical environment works decently) 23:09
hercynium I kinda forgot how obnoxious the second doctor was (though amusing in small doses)
ah
23:09 pyrimidine left
hercynium I was watching on the Wii, then moved it to my phone when I was getting sleepy 23:09
lue [ The new run of the series (2005–) started on the 42nd year of DW (a few months before 23 Nov.). Douglas Adams wrote for DW. Coincidence!? ] 23:11
Anyway, are there any other confusions of Time that need answering? 23:15
masak blog post! strangelyconsistent.org/blog/novemb...ds-a-stage 23:16
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index.cgi?perl_6 23:17
Tene masak: you may want to explicitly state that you re-enabled the Text::Markup::Wiki::MediaWiki code path 23:23
masak thanks. I will.
23:28 risou joined
lue how do I get my blog on the aggregator? I feel I post semi-regularly. 23:39
masak lue: which one? Planet Perl 6? 23:42
23:44 masak` joined
lue yes. The one everyone talks about. 23:44
23:45 masak left, masak` is now known as masak
masak seems [Coke] might be a planetsix admin, from what the IRC logs tell me. 23:49
lue I'll ask him when he's around, then. 23:51
23:58 ch3ck left