»ö« 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.
sorear wonders if anyone highlights on @Larry anymore 01:09
Tene I don't!
geekosaur yeh, "betray" there is uncommon but perfectly valid, and usually applied to the particular thing that is doing the betraying (e.g. "this phrase betrays a certain preference for mumble") 01:29
or "...phrase betrays the author's bias toward..." 01:30
rdesfo does perl6 have anything equivalent to python's matplotlib? 02:24
TimToady_ several people have done some plotty things, but I don't know offhand what they used 02:41
TimToady_ most of the smart people are asleep already :) 02:42
rdesfo TimToady: thanks 02:45
colomon rdesfo: you'd want to look at the per 6 SVG modules, particularly SVG::Plot. 02:49
rdesfo thanks
colomon it's probably wildly less featureful than matplotlib at the moment, I'd guess.
TimToady colomon being an exception on the subject of sleep 02:50
colomon not quite smart enough to be asleep yet.
TimToady is glad he said "most of"
rdesfo colomon: do you know if there are any plans to build onto it?
colomon rdesfo: I don't know of any formal plans, but I'm sure people would rather it did more. 02:51
colomon really should be asleep, mind you. Big day tomorrow, not enough sleep last night.
afk # bed 02:53
rdesfo is there a way to use perl5's pdl?
TimToady blizkost might do it, though eventually when S09 gets implemented it'll mostly be built-in 02:55
sorear TimToady: any thoughts on my question starting around 1535? 03:03
TimToady doesn't have enough brane today 03:05
sorear TimToady: oh. very well then. 03:13
perl6: grammar Foo { proto token bar {*}; token bar:x { \w+ }; token bar:y { \+ } }; say Foo.parse("hi") 03:16
p6eval pugs: OUTPUT«*** No such method in class Foo: "&parse"␤ at /tmp/NlM70JQqXB line 1, column 83 - line 2, column 1␤»
..niecza v4-8-g2bdc3ff: OUTPUT«Unhandled exception: Unable to resolve method TOP in class Foo␤ at /home/p6eval/niecza/lib/CORE.setting line 1058 (CORE Grammar.parse @ 3)␤ at /tmp/UgNoi3PLXD line 1 (MAIN mainline @ 2)␤ at /home/p6eval/niecza/lib/CORE.setting line 1264 (CORE C525_ANON @ 2)␤ at
../home/p6eval/nie…
..rakudo 4bf132: OUTPUT«===SORRY!===␤Quantifier quantifies nothing at line 22, near "}; token b"␤»
sorear rakudo: grammar Foo { proto token bar {...}; token bar:x { \w+ }; token bar:y { \+ } }; say Foo.parse("hi", :rule<bar>) 03:17
p6eval rakudo 4bf132: OUTPUT«␤»
TimToady rakudo: grammar Foo { proto token bar {<...>}; token bar:x { \w+ }; token bar:y { \+ } }; say Foo.parse("hi", :rule<bar>) 03:19
p6eval rakudo 4bf132: OUTPUT«␤»
TimToady rakudo: grammar Foo { proto token bar {<...>}; token bar:sym<x> { \w+ }; token bar:sym<y> { \+ } }; say Foo.parse("hi", :rule<bar>) 03:20
p6eval rakudo 4bf132: OUTPUT«hi␤»
TimToady there you go
TimToady is at least that smart today 03:21
sorear rakudo: grammar Foo { token bar:sym<x> { \w+ }; token bar:sym<y> { \+ } }; say Foo.parse("hi", :rule<bar>)
p6eval rakudo 4bf132: OUTPUT«Method 'bar' not found for invocant of class ''␤ in 'Grammar::parse' at line 6327:CORE.setting␤ in main program body at line 22:/tmp/fHN9JGf9BV␤»
sorear niecza: grammar Foo { token bar:sym<x> { \w+ }; token bar:sym<y> { \+ } }; say Foo.parse("hi", :rule<bar>)
p6eval niecza v4-8-g2bdc3ff: OUTPUT«hi␤»
TimToady cool 03:22
sorear is this a feature?
TimToady supposed to be able to intuit a proto eventually 03:23
simcop2387 wtf i was killed? 03:58
simcop2387 sorry wrong channel 04:06
dalek ecza: 705a5b4 | sorear++ | lib/Kernel.cs:
Add a P6how object adjoint to STable
06:55
ecza: 1081c72 | sorear++ | lib/ (2 files):
Move a number of types to P6how
ecza: 8cfb157 | sorear++ | lib/Kernel.cs:
Move role caching to P6how
ecza: f9008b0 | sorear++ | lib/ (2 files):
Move method table internal state to P6how
ecza: c74e0f6 | sorear++ | lib/Kernel.cs:
Move revalidate algorithm to P6how
07:02
isBEKaml rakudo: say [*] (1..5) 07:58
p6eval rakudo 4bf132: OUTPUT«120␤»
isBEKaml rakudo: say [*] (1,3,..15)
p6eval rakudo 4bf132: OUTPUT«===SORRY!===␤Method 'returns' not found for invocant of class 'Undef'␤»
isBEKaml rakudo: say [*] (1,3..15)
p6eval rakudo 4bf132: OUTPUT«653837184000␤» 07:59
sorear rakudo: say [*] (1,3...15)
p6eval rakudo 4bf132: OUTPUT«2027025␤»
isBEKaml sorear: ehh..
:)
dalek ecza: dd436cc | sorear++ | lib/ (3 files):
Move MRO-logic to P6how
08:23
dalek ecza: 698ab10 | sorear++ | / (4 files):
Split out deques etc to Utils.cs
08:37
ecza: ef344df | sorear++ | / (3 files):
Split basic object stuff into ObjModel.cs
moritz good morning 09:14
tadzik good morning 10:40
moritz: around?
moritz tadzik: aye 10:41
tadzik moritz: speaking of my GSoC proposal, mberends suggested that I should aim for something more visibly deliverable for the first week, like "10 classes 100 tests", something more concrete. What is your opinion on this? 10:45
gist.github.com/892249 the proposal
moritz tadzik: assessing the value of code by the number of classes is like judging the worth of a plane by its weight 10:46
tadzik well, I think he meant something to compile, run and test rather than "a specs and Rakudo investigation" 10:47
my plan was to underpromise and overdeliver, tbh :)
moritz I agree that the current goal for week 1 is weak and imprecise 10:49
but I think that numbers are the wrong fix to that
tadzik so what would be better?
moritz think about it: what do you want from these classes?
you want them to be easily constructed during the parse (ie in a bottom-up manner) 10:50
tadzik that's what the user gets after his/her POD is pasred. A code generator will generate readable output from this
moritz you might want to extract line number, original POD, and use it as an AST
moritz so: write classes that represent POD AST nodes, and tests that construct them, and extract information from them 10:51
tadzik sounds reasonable 10:52
and of course "document them with POD" :) 10:53
moritz where will you get inspiration fro those POD AST nodes? write it down too
tadzik search.cpan.org/~zag/Perl6-Pod-0.24/ -- this looks like something I could get inspiration from 10:58
moritz there's also Perl6::Perldoc and the normal rakudo AST nodes to take inspiration from 11:00
patrickas o/ 11:01
rakudo: say [*] ();
p6eval rakudo 4bf132: OUTPUT«1␤»
patrickas is that a bug ?
moritz nope, feature
patrickas oh ok ...
rakudo: say [+] (); 11:02
p6eval rakudo 4bf132: OUTPUT«0␤»
patrickas where can I read about it ?
moritz rakudo: say [&&] ()
p6eval rakudo 4bf132: OUTPUT«Bool::True␤»
moritz S03 iirc
perlcabal.org/syn/S03.html#Reduction_operators more specifically 11:03
patrickas thanks boss! Something's different! You changed your haircut? :-p 11:04
referencing the lack of _
moritz patrickas: aye. 'moritz' was registered on freenode, and not used for last 20 weeks. I've convinced a freenode staffer to drop the nick, so I could register it 11:05
tadzik you're more moritz than that duy :) 11:05
s/duy/guy/ 11:06
moritz :-)
patrickas I might have missed it ... but it seems S03 says that [*]() returns 1 but not does explain why 1 was chozen... 11:10
moritz because it's the neutral element for the infix:<*> operation
so that ([*] ()) * ([*] @rest) == [*] @rest 11:11
just like ([+] ()) + ([+] @rest) == [+] @rest
and same for s:g/\+/&&/ etc.
patrickas so that reducing an empty list with another list does not change the result ? 11:12
moritz aye 11:13
patrickas ok makes sense
patrickas I kinda feel bad for expecting it to be 0 in the first place. 11:16
tadzik moritz: how do you see week 2 then? Maybe an initial Pod (possibly just stubs) parser and a basic integration with Rakudo? 11:19
moritz rakudo: my $x; $x *= 5; say $x
p6eval rakudo 4bf132: OUTPUT«5␤»
moritz tadzik: documentation for #1 :-)
tadzik iirc we agreed that the parser would be good to have as a Role consumed by Rakudo parser
patrickas I have a new definition for then rakudo will be "done" for me. When I get something that surprizes me, my first reaction is "I haven't thought this well enough", instead of "I wonder if that's a rakudobug."
moritz tadzik: I find that dangerous, because you can't reliably compose roles into rakudo's grammar 11:20
tadzik so the idea is a utopia? Separation from Rakudo would be profitable, not only for other implementations, but also regarding Rakudo build time 11:22
moritz tadzik: I'd say week 1 and week 2 should do the same, but in week 1 you lay the ground work and implement a few classes
tadzik so maybe the parser goes first, and then we manually compose it into Rakudo
moritz tadzik: and in week 2 you implement more classes
tadzik moritz: how about week 1 being week 1-2? That'd be harder to rate the amount of work after the first week 11:23
oh, turns out my exam session actually ends on May 30th 11:25
moritz then don't cram too much into the first two weeks 11:26
tadzik so I, well, _May_ have only 4 days for week 1st
so could the first week become the first two?
moritz yes 11:27
and insert a week for refactorings around week 7 or 8
tadzik oh, turns out I have _no_ week 1 then 11:28
moritz set up your work environments, get acquinted with the rakudo committers :-) 11:29
moritz week 1: write some classes + tests + docs 11:30
tadzik Week 1 is 24-28 May, I'll just write that I can't possibly start then 11:31
hrmpf, everything slips
moritz if you do the class writing in week 2, it's ok to do nothing in week 1 11:32
tadzik I think I'll manage to do it in 4 days. After the exam session, that will be quite relaxing anyway 11:33
tadzik moritz: updated, could you take a peek on it? 11:33
moritz +1 11:43
tadzik great 11:47
sorear good * #perl6 14:09
moritz \o 15:01
sorear hello moritz 15:01
sorear wonders what to do today
moritz take over the world? 15:04
sorear I need a shorter-term goal 15:07
something I can do while @Larry is unable to help explain multiple dispatch 15:08
moritz turn some of your niecza tests into spectests
flussence_ if you're looking for something to add, Text-Tabs-Wrap's tests only seem to be missing Sub.assuming, Array.kv and Callable. I think the module itself works in niecza... 15:20
rdesfo1 is it possible to use perl5 "PDL" module in perl6? 15:34
diakopter no 15:36
PerlJam rdesfo1: not yet 15:37
rdesfo1 thanks
tylercurtis Hi, #perl6. 16:22
MindosCheng Hi, #perl6. 16:25
sorear yay it's tylercurtis! 16:31
sorear WHAT. 16:34
the niecza v4 announce was rejected by the p6a moderators...? 16:35
diakopter _ 16:42
sorear according to the ezmlm message, they rejected it through inaction 16:48
so maybe they're just all asleep
maybe I'll rewrite S29 and S32 today
diakopter ha
(impressive) 16:49
pmurias sorear: ping 17:48
tylercurtis jnthn: ping 17:56
sorear pmurias: pong 18:16
pmurias sorear: re your A -> B -> C, A -> D, foo -> bar means that the bar signature is more specific? 18:19
sorear I meant that foo is more specific 18:20
pmurias so A is the prefered signature
sorear yes 18:22
pmurias what we could do is to choose the first one on the list that matches and then check if it is more specific then all the other ones that match 18:23
pmurias sorear: how fast to we need the choosing of the variant to be? 18:28
pmurias sorear: we could simly walk the sorted list, and when a signature matches mark off all the less specific ones (that info can be pre-cached) 18:42
if we find two unmarked matching ones we have an ambiguity
only one matching unmarked ones we found the right choice 18:43
sorear: would that be fast enough?
or is there a design problem in Perl 6 I haven't figured out?
takadonet 0/ 18:53
moritz \o 20:34
donri A-do the boogie woogie and we turn around
o/
sorear pmurias: I want to talk to pmichaud or jnthn before making any decisions like that 20:37
sorear pmurias: eventually, I'd like to implement a version of (Wadler or Augustsson)'s pattern match compiler 20:39
rdesfo is any one on that is familiar with the PDL data-structure in Perl6's core specs? 21:15
moritz S09 talks about that 21:16
tadzik . o O ( there is a spec for that! ) 21:17
moritz right. You can read it, and become the expert yourself! 21:18
rdesfo Ya, I spoke to Duke and he said I should ask about it here and read the S09. I'm interested in putting in another proposal for GSOC with it
moritz for implementing that in Rakudo?
tadzik funny, I just thought about that 21:19
rdesfo ya
moritz that would be very welcome
seen jnthn
aloha jnthn was last seen in #perl6 5 days 18 hours ago joining the channel.
moritz hrmpf 21:20
masak hi zebras. 21:53
phenny masak: 02 Apr 22:18Z <Tene> tell masak to look at vimeo.com/channels/stanfordvis#19185801
sorear hi masak.
rdesfo: compact arrays in niecza... hmm could be an interesting idea. 21:54
rdesfo sorear: is the compact array in Rakudo? 21:55
sorear I'm just thinking aloud 21:57
I need some ideas, myself
masak Tene: wow. 21:58
masak Tene: that demo is impressive. it's generally not the kind of "intelligence" I like in an app, but they seem to pull it off really well. 21:59
sorear masak: do you know where jnthn is? aloha hasn't seen em for almost 6 days and I need a pragmatic MMD expert
masak sorear: jnthn is still in .tw
sorear pm too?
masak no. 22:00
masak Tene: the other thing it reminds me of is the concept of lenses (bidirectional/bijective transformations). those provide things like traceability and automatic mapping between the view and the model. I half-expected the video to culminate with that. 22:04
I meant to do a Yapsi release this weekend, but in hindsight that turned out to be a bit too optimistic. spent most of this weekend with $family. 22:09
anyway, I'm halfway through an implementation of ENTER/LEAVE. halfway meaning that the compiler now accepts them and creates the right kind of SIC, but the runtime doesn't yet know what to do. 22:10
I should probably push what I have so far, because it's quite self-contained.
masak the thing I'm stuck-ish at with the runtime is that I want to make sure it stays a state machine, but the phasers seem to postulate much more of a stack-like behavior. 22:12
if that makes any sense.
masak 'night, #perl6 22:18
sorear wonders if ENTER and LEAVE should have dynamic-wind semantics 23:26
felher It isn't a good idea using rakudo to parse a 4.500.000-lines file, is it? :) 23:29
s/rakudo/perl6 interpreted by rakudo/ 23:32