»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! | Rakudo Star Released!
Set by moritz_ on 1 September 2010.
masak rakudo: multi infix:<->(Str $a, Str $b) { $a.subst($b, "") }; say "Perl 6 sucks rocks" - "sucks " 00:00
p6eval rakudo 52f9ea: OUTPUT«Perl 6 rocks␤»
masak ingy: ^^
rakudo: multi infix:<->(Str $a, Str $b) { $a.subst($b, "") }; say 44 - 2
p6eval rakudo 52f9ea: OUTPUT«42␤»
masak \o/
hugme: hug whoever fixed that 00:01
hugme hugs whoever
masonkramer how does @urn.pick(*, :replace) work? What is :replace?
masak masonkramer: the combination of * and :replace will give you an infinite sequence of randomly picked elements. 00:02
masonkramer I get what it does, but what is :replace?
masak masonkramer: :replace means that there's the option of getting an element that was already picked.
masonkramer I mean, what type of thing is it?
masak oh.
masonkramer I know what it means, but what do I call it?
masak it's called a named argument.
it's sugar for :replace(Bool::True) 00:03
masonkramer ahhh
there we go
masak sometimes, especially in the case of operators, we tend to call them "adverbs".
masonkramer I can't figure out what the difference between an operator and a method is, is there a clear definition? 00:04
you're calling .pick an operator, but it looks like a method to me
masak no, it's a method.
masonkramer ok 00:05
masak I call things like + and ~~ and , operators.
masonkramer but those are functions with fancy syntax
masak though it's worth mentioning that in Perl 6... right.
either they're subs or they're methods.
postfix operators tend to be methods. 00:06
masonkramer a method is what? A function that has $self in socpe?
masak (though I admit I still haven't seen the real system there. I often get it wrong)
masonkramer: a method is a separate thing in Perl 6.
rakudo: class A { our sub foo() { say "sub foo" }; method foo { say "method foo" }; A::foo; A.new.foo 00:07
p6eval rakudo 52f9ea: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
masak rakudo: class A { our sub foo() { say "sub foo" }; method foo { say "method foo" } }; A::foo; A.new.foo
p6eval rakudo 52f9ea: OUTPUT«sub foo␤method foo␤»
masonkramer that's not going to be confusing
;) 00:08
Just kidding, it's even more confusing in Perl 5
masak it has been known to confuse some people, yes.
I'm only starting to see the real wins with having a clean separation. 00:09
masonkramer what does method have in there? $ stands in for $self?
masak every method has a 'self'
rakudo: class A { has $.x; method foo { say self.x } }; A.new(:x(42)).foo 00:10
p6eval rakudo 52f9ea: OUTPUT«42␤»
masonkramer rakudo: class A { method foo { say self } }
p6eval rakudo 52f9ea: ( no output )
masonkramer rakudo: class A { method foo { say self } }; A.new.foo
p6eval rakudo 52f9ea: OUTPUT«A()<0x559fce0>␤»
masonkramer rakudo: class A { has $.x; method foo { say self.x } }; A.new(:x).foo 00:11
p6eval rakudo 52f9ea: OUTPUT«1␤»
masak it says '1', but it should say 'True' 00:12
(according to the latest spec on enums)
rakudo: class A { has $.x; method foo { say self.x.perl } }; A.new(:x).foo
p6eval rakudo 52f9ea: OUTPUT«Bool::True␤»
masonkramer I see .perl a lot, is that the p6 equivalent of Data::Dumper? 00:13
masak yes.
built in for your convenience.
masonkramer beautiful, beautiful 00:14
my programs already define a UNIVERSAL::Dump which dumps $self 00:15
but I always feel bad about doing things like that, for the obvious reason of namespace pollution; it should be built in
00:15 svetlins_ left 00:16 svetlins_ joined 00:17 sftp left 00:26 justatheory left, svetlins_ left
perigrin masonkramer: Moose::Object implements one too 00:42
so you are at least in good company with p6 and moose. 00:43
00:43 svetlins_ joined
masak perigrin: I didn't know that. cool. 00:44
masonkramer very nifty
perigrin masak: yeah it has since forever.
confess $obj->dump; is a *very* common debugging idiom in my world. 00:45
I'm not sure what the p6 form of confess is/will be ... but $obj.perl is a nice feature :) 00:46
masak die
00:46 svetlins_ left
masonkramer $obj.explode 00:46
masak I don't know how to die in Rakudo *without* the backtrace. I want that sometimes. 00:47
gfldex kill -9 ?
perigrin yeah ... when the masses arrive they'll do nothing but complain
00:47 whiteknight left
perigrin it is one of the largest complaints about moose from people learning it 00:47
masak what is? 00:48
perigrin 300 lines of "garbage" when you trip an error
catalyst can get kind of ... intense ... with it's debugging output ... if you trip something in say a runtime trait used in a controller that inherits from a controller ... 00:49
00:53 Psyche^ joined
tylercurtis masak: maybe there should be a :quietly adverb for &die. 00:54
Or maybe :concisely would be more fitting. 00:55
masak oh, I wouldn't mind the error message as such.
00:55 Psyche^ is now known as Patterner
masak but the stack trace is sometimes just not needed. 00:55
applications like pls are perhaps the most obvious example.
right now I do &say, then &exit.
or &warn, then &exit. 00:56
or &note, then &exit :)
gfldex die :quietly
looks about right :-> 00:57
tylercurtis :quietly seems more like something that would totally silence the error message, though.
hugme hugs tylercurtis, good vi(m) user!
00:58 hercynium left
masak hugme: that was a misfire, mind you. 00:58
gfldex :q
hugme hugs gfldex, good vi(m) user!
gfldex :->
perigrin tylercurtis: no :silently would silence the error message ... 00:59
gfldex i learned a new trick and therefor can go to bed now
perigrin :quietly would just muffle it
hugme hugs perigrin, good vi(m) user!
gfldex good * #perl6
01:04 svetlins_ joined
masak o/ 01:04
sorear really :concisely belongs on try, or maybe as a contextual 01:05
I hate confess; -MCarp::Always
the call site is the wrong place to put knowledge of how much verbosity is needed 01:06
01:06 svetlins_ left
perigrin yes 01:06
try { ... } catch :loudly { ... }
masak in the case of a die outside of any try, there wouldn't be a try to peg the adverb on. 01:07
perigrin this is where my knowledge of exception in Perl6 and Rakudo falls down entirely 01:08
masak perigrin: there's some info in S04. 01:09
perigrin: generally, CATCH blocks appear inside the try blocks.
perigrin has to wait for November before he can multitask and look up S04 without losing SSH 01:10
apple--
I will however check in a bit
01:11 MarcoS joined
MarcoS Totally new here... Is it possible to install perl on Vista? 01:11
masak there is a win32 installer for Rakudo Star somewhere. 01:12
MarcoS OK, thanks! 01:13
01:13 justatheory joined
masak here. github.com/rakudo/star/downloads 01:13
the .msi file in the middle.
nom & 01:15
01:15 masak left
MarcoS ..getting it now... 01:16
sorear perigrin: er... screen on the far side of ssh? 01:17
01:21 MarcoS left 01:23 svetlins_ joined 01:27 Italian_Plumber left
Util Instead of writing `for 0..@array.end -> $i {...}`, is there a convenience method on Array that returns a Range object equiv to `0..@array.end`? If not, should there be? 01:41
Oh, @array.keys. Doh!
01:49 risou joined, svetlins_ left 01:50 jhuni joined
tylercurtis Util: and if you want to get at the item at index $i, too, "for @array.kv -> $i, $v {...}" 01:51
Util tylercurtis: Thanks! I actually showed this off at Atlanta.pm this month, and had already forgotten it. 01:53
lue hai again o/ 01:57
02:04 araujo joined
ingy goto 17:00 02:04
phenny: tell masak That's (the multi redef of <->) so cool! 02:06
phenny ingy: I'll pass that on when masak is around.
ingy thanks
02:06 svetlins_ joined 02:13 _jaldhar left 02:15 Schwern joined 02:23 literal joined 02:27 bjarneh joined 02:36 risou left
perigrin sorear: yes 02:36
02:40 risou joined 02:53 risou left 03:18 Chillance left 03:25 masak joined
masak ingy: I know! Perl 6 <del>sucks</del> rocks! 03:26
phenny masak: 02:06Z <ingy> tell masak That's (the multi redef of <->) so cool!
03:29 tylercurtis left
masak today on Twitter we find something as unusual as a reformed Perl6/DNF-memer: twitter.com/batchout/status/22925307636 03:29
and other examples of people generally getting it: twitter.com/outZider/status/22925279162
lue I'm not a real person!? :*( 03:34
masak lue: I sincerely believe you are. 03:35
note that e didn't write '*only* real people are playing...'
or '*all* real people are playing...'
he's basically just pointing out that the intersection of the two sets 'real people' and 'people who are playing a prerelease of Duke Nukem Forever' is non-empty. 03:36
lue: oh by the way, I've been enjoying watching your progress with the <A::B> feature over the past few days. 03:37
lue: I recognize the steps you've been going through from when I was discovering Rakudo back in 2008. 03:38
lue .proof(real people = duke nukem. me = !(duke nukem), ∴ me = !(real people). QED at my expense) 03:39
masak I stand in awe at your use of the Unicode THEREFORE symbol. 03:40
I would advise, however, a slight refresher on the meaning of the assignment symbol, and its various uses. 03:41
lue I think all hope of me making <A::B> work was murdered when I found out there would be PIR involved on top of the parsing business. :) 03:42
masak lue: luckily, you got pmichaud to promise to do it for you.
lue rakudo: say $_.WHAT
p6eval rakudo 52f9ea: OUTPUT«Any()␤»
masak lue: are you aware of the LHF exchange program over at RT? :) 03:43
03:43 _jaldhar joined
lue rakudo: use MONKEY_TYPING; augment Any { method oO($text) { ... }; }; .oO(I invented a useless method that behaves like a comment!) 03:44
p6eval rakudo 52f9ea: OUTPUT«===SORRY!===␤In "augment" declaration, typename Any must be predeclared (or marked as declarative with :: prefix) at line 22, near " { method "␤»
masak lue: text still needs to be quoted.
lue: you're not creating a new sublanguage, just doing a normal method signature. 03:45
lue Eh, it was a quick attempt to let you use .oO() thought bubbles. .oO(P6::Acme::Thoughts ?) 03:46
masak if you want to get rid of the quotes, you need to make .oO() a quote operator.
see S02 and S03.
specifically, S02:3699. 03:47
lue I would much rather implement <A::B> myself, but I think we all learned today I wouldn't be able to do so anytime soon :)
masak lue: right. that's why I suggested the LHF exchange program. 03:48
it might be a simple way for you to show your gratitude to pmichaud++ for eventually implementing your feature.
not that that need be your driving force, of course.
you could do it just because it's fun!
lue: rt.perl.org/rt3/Search/Results.html...'resolved' 03:51
lue: I'll even review and apply any patch you write. 03:52
lue I believe I already have a search ready for LHF. Let me check 03:53
04:00 lue joined
lue don't you love random unexpected shutdowns of your 12-year-old laptop ? 04:00
04:04 JimmyZ joined
JimmyZ rakudo: say ~(my @Fibonacci := (0, 1, { * + * } ... 900)); 04:10
p6eval rakudo 52f9ea: OUTPUT«0 1␤»
lue rakudo: say 10000000[1]
p6eval rakudo 52f9ea: ( no output )
JimmyZ rakudo: say ~(my @Fibonacci := (0, 1, -> $a, $b { $a + $b } ... 900)); 04:11
p6eval rakudo 52f9ea: OUTPUT«0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610␤»
masak 卓明亮! \o/ 04:12
04:12 jimi_hendrix left
masak 我看你读过一些博客文章。 哈哈 04:13
lue
.oO(#perl6 reminds me almost every day to start learning japanese)
04:14
masak for the record, those are hanzi, not kanji :)
lue the 1000000[1] error message only displays in the REPL, it's weird. 04:15
Could it be because the error mesage is invoked using fail ? 04:18
masak yes.
JimmyZ masak: 是啊 04:19
masak: why { * + * } doesn't work? 04:20
masak JimmyZ: because it's a closure in a closure.
JimmyZ: * + * already means { $^a + $^b }
JimmyZ yes
masak with the extra curly braces, you get two levels of curlies. and it doesn't work.
JimmyZ rakudo: say ~(my @Fibonacci := (0, 1, * + * ... 900)); 04:21
p6eval rakudo 52f9ea: OUTPUT«0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610␤»
JimmyZ masak: my fault :0 04:22
masak no sweat. now you know :)
JimmyZ masak: yes, thanks ;) 04:23
\xF0 nice 04:24
masak really likes Haskell's </> operator for FilePath. www.haskell.org/ghc/docs/6.6.1/html...A%3C%2F%3E 04:25
maybe we should steal it.
JimmyZ rakudo: sub infix:<+-*/>($a, $b) { ( { $a + $b }, { $a - $b }, { $a * $b }, { $a / $b } ).pick(1) }; say 5+-*/2;
p6eval rakudo 52f9ea: OUTPUT«_block162␤» 04:26
masak rakudo: sub infix:<+-*/>($a, $b) { ( { $a + $b }, { $a - $b }, { $a * $b }, { $a / $b } ).pick(1).() }; say 5+-*/2; 04:27
p6eval rakudo 52f9ea: OUTPUT«10␤»
masak \o/
you have to call the block before you return it.
s/ it// 04:28
JimmyZ 是的,我刚刚发现了 , 呵呵
masak :)
JimmyZ 我刚刚在把perl6 介绍给同事 04:30
masak nice! what did they think?
04:31 envi^home joined
JimmyZ 他们感觉非常强大和简单 04:31
很有兴趣,呵呵
masak excellent.
JimmyZ rakudo: sub infix:<+-*/>($a, $b) { ( { $a + $b }, { $a - $b }, { $a * $b }, { $a / $b } )>>.() }; say 5+-*/2; 04:32
masak JimmyZ: you are our Chinese representative. :)
p6eval rakudo 52f9ea: OUTPUT«Tried to find null name␤ in 'infix:<+-*/>' at line 22:/tmp/lAzbNODIkJ␤ in main program body at line 22:/tmp/lAzbNODIkJ␤»
JimmyZ 呵呵
masak 您是我们在中国内地的代表。
JimmyZ Thanks
masak our pleasure :)
JimmyZ 这个代码有什么错误?
04:33 isBEKaml joined
masak I don't know. It's related to the >>.(), to be sure. 04:33
JimmyZ yes
masak but I'm not sure if it should be allowed or no.
rakudo: say ( { 1 + 1 }, { 2 + 2 } )>>.() 04:34
p6eval rakudo 52f9ea: OUTPUT«Tried to find null name␤ in main program body at line 22:/tmp/ogz7FsNuwd␤»
masak rakudo: say ( { 1 + 1 }, { 2 + 2 } )>>()
p6eval rakudo 52f9ea: OUTPUT«Tried to find null name␤ in main program body at line 22:/tmp/ITMWg1XBhk␤»
masak submits rakudobug
JimmyZ rakudo: say ( { 1 + 1 }, { 2 + 2 } ).>>.()
p6eval rakudo 52f9ea: OUTPUT«===SORRY!===␤Confused at line 22, near "say ( { 1 "␤»
masak not dot allowed before >> :) 04:35
JimmyZ alpha: say ( { 1 + 1 }, { 2 + 2 } ).>>.()
p6eval alpha 30e0ed: OUTPUT«Can only transform an Object to p6opaque␤in Main (file src/gen_setting.pm, line 324)␤»
JimmyZ alpha: say ( 1,2 ).>>.say
p6eval alpha 30e0ed: OUTPUT«1␤2␤11␤»
masak huh.
JimmyZ It's allowed
by STD
masak I stand corrected.
JimmyZ std: say ( 1,2 ).>>.say 04:36
p6eval std 32123: OUTPUT«ok 00:01 118m␤»
masak submits rakudobug
isBEKaml std: say ( { 1 + 1 }, { 2 + 2 } )>>.()
p6eval std 32123: OUTPUT«ok 00:01 118m␤»
isBEKaml OHHAI,p6!
JimmyZ It's easy to fix, I had fixed it in alpha :) 04:37
masak isBEKaml: hi! \o/
isBEKaml masak! good release?
masak of Yapsi? yes, it was the easiest one so far, I think :) 04:38
soon I'll be ready to make someone else try to be the release manager.
isBEKaml :)
Yapsi++
masak the next big feature up ahead is definitely subs.
a stepping-stone to that is first-class closures.
isBEKaml yes. I can see that. for my part, I'm looking to get some rudimentary expression eval working. 04:39
masak when we have subs, we can start adding operators the way they're supposed to be added.
I'm reluctant to add in a lot of ops before that...
isBEKaml not a lot, I said "rudimentary" 04:40
masak :)
also, I'd like to start exploring switching to STD as the frontend.
JimmyZ that's a great idea :)
isBEKaml yes, I looked at STD, then thought "we have a good syntax checker, why do we have to go all the way just to check syntax ?"
masak I meant using STD to get the parse tree. 04:41
(and better error messages, and a lot of error checking for free)
isBEKaml I don't know we can do that. Didn't check fully. That thing was huge. ;)
masak isBEKaml: there's a script called viv that'll give you a parse tree already. 04:42
isBEKaml (almost hung up my editor until I disabled syntax and language features)
masak we can use the same mechanism viv uses to get the parse tree.
the big question is which format to use to deserialize it into Yapsi. 04:43
lue STD spits out an AST, right? [in which case it's perfect for the beginnings of a gcc compiler]
isBEKaml the answer would be "Whatever's comfortable. " knowing full well Whatever's a term here. :)
masak lue: depends if you make a difference between "parse tree" and "AST".
isBEKaml lue: I made that mistake once. :) 04:44
masak isBEKaml: I think optimizing for ease-of-reading on the Perl 6 side is pretty sane. it'll be a big performance hit no matter what.
isBEKaml masak: performance hit? as in, everytime we have to parse STD first? 04:47
masak as in, there'll be a bottleneck shuttling the parse tree (in whatever form) from Perl 5 to Yapsi. 04:48
isBEKaml hm, I see that now. 04:49
masak rakudo: say ( 1,2 ).>>.say
p6eval rakudo 52f9ea: OUTPUT«===SORRY!===␤Confused at line 22, near "say ( 1,2 "␤»
masak especially if we read things using a grammar.
isBEKaml I already saw some slowness in blocks evaluation when doing infinite loop structure. 04:50
04:50 mfollett joined
masak yes, Yapsi is already a bit sluggish. 04:50
isBEKaml it was just going on creating blocks. not just with 'loop' but with 'while', 'until' everything. Creating blocks seems to be slow.
masak huh. 04:51
there are a few linear scans in there; one in block calling and one in gotos.
isBEKaml consider this: my $a = 3; while --$a { say 42 }; loop { say 24 } 04:52
masak I've just been to lazy to write faster variants. but a single pre-scan + hash population might speed things up considerably, now that I think about it.
and it's LHF. :)
isBEKaml once that's parsed by yapsi, it'd print 42 twice and go doing the 24 prints infinitely. I'd expect it be faster from the first print.
masak yapsi: my $a = 3; while --$a { say 42 }; loop { say 24 } 04:53
p6eval yapsi: ( no output )
masak :/
isBEKaml loop isn't in.
masak oh right.
masak does 'while 1' locally
it does about 2 iterations per second over here :) 04:56
isBEKaml 1 per second on my machine.
masak lue: I just saw your patch on the .[1] ticket. thing is, I think it should be a 'fail', not a 'die'. though there's something wrong with either p6eval or with Rakudo's &say function. 04:58
isBEKaml looks at viv 05:01
lue I'm trying to find the difference between fail and die, but google's stupid search engine won't let me :/ 05:16
masak you might try the spec instead. 05:17
lue Well, I tend to use the web version of the spec for convenience, and it uses google... [I'm trying straight from the repo now] 05:18
05:19 mfollett left
lue afk 05:22
sorear someone said viv? 05:25
masak yes. in the context of Yapsi. 05:26
the big question mark right now is how to marshal data from STD to Yapsi efficiently.
sorear I recommend writing a JSON::XS clone for Rakudo/Parrot 05:27
masak does such a beast exist? 05:28
it sounds like a fine idea, fwiw.
05:28 Schwern left
sorear masak: definitely not at the Rakudo level; the best we have is JSON::Tiny, and it uses nqp-rx so will be a lot slower than a hypothetical C version 05:31
05:32 alester joined
masak sorear: aye. 05:32
sorear there might be something in the shadowy void of parrot/runtime/library
masak sorear: I will investigate this venue further. thank you.
there seems to be a JSON.pir in there, yes.
05:33 constant left
masak and it runs! 05:33
\o/
sorear compilers/data_json is the corresponding reader 05:34
it seems to use PGE or NQP-rx, though
masak oh.
sorear <?PGE::util::die ''> # seems to be a tell
masak aye, it uses PGE. 05:35
sorear how is PGE for speed?
masak pretty OK. 05:36
05:36 constant joined
masak might be a premature optimization to write something in PIR and expect it to be faster than PGE. 05:36
05:36 constant left, constant joined
masak I doubt one'd get many percent speedup from that. 05:36
sorear does PGE even work? 05:37
I don't recall it having been touched since the last two complete Parrot compatibility breaks 05:38
masak I don't know. haven't tried to run it for a while.
but I'd expect it to, given that it has tests.
sorear (symmetric PCC and immutable strings)
masak nod
masak tries to run the PGE tests
make library_tests, apparently 05:39
05:39 azert0x left
masak yep, tests still pass. 05:39
05:40 patch left 05:41 patch joined 05:55 cotto left 05:56 JimmyZ left
masak perl6: say substr("camel", 0|1, 2&3) 06:07
p6eval rakudo 52f9ea: OUTPUT«all(any("ca", "am"), any("cam", "ame"))␤»
..pugs: OUTPUT«all(VJunc any(VRef <Scalar::Proxy:0x2abd72eb26f1>,VRef <Scalar::Proxy:0x2abd72eb85f9>),VJunc any(VRef <Scalar::Proxy:0x2abd72eb6131>,VRef <Scalar::Proxy:0x2abd72eb9721>))␤»
masak
Rakudo++ 06:08
06:08 alester left 06:20 Ross joined 06:28 Alias_ left
isBEKaml masak: PGE? 06:32
I'd be rather happy if I don't have to install a lot of deps for viv. ;)
masak isBEKaml: it's the previous-generation grammar engine for Rakudo. it ships with Parrot. 06:33
and no, I don't think we'll be using PGE. that feels a bit silly :)
isBEKaml why? outdated grammar rules? :) 06:34
masak outdated grammar engine. 06:35
but I'd much rather employ something like JSON::XS, like sorear said.
isBEKaml the json.pbc in parrot? 06:36
sorear the json.pbc in parrot is a json emitter, not a json reader 06:37
the data_json.pbc in parrot's languages folder is a PGE-based json reader
isBEKaml I see.
06:45 xinming_ is now known as xinming 06:50 molaf joined 07:04 masak left 07:12 isBEKaml left 07:35 chips joined 07:37 chips left 07:38 Elvin joined
Elvin anyone have Perl free software? 07:38
07:38 Elvin left 07:40 xinming left, xinming joined, Su-Shee joined
Su-Shee good morning. 07:40
araujo perl ... free software ...
07:55 justatheory left 07:56 Guest23195 joined 07:59 Ross left 08:00 svetlins_ left 08:01 tadzik joined
tadzik oh hai 08:01
08:08 karb joined, wamba joined 08:12 svetlins_ joined 08:13 snearch joined 08:23 Mowah joined 08:33 Ross joined
Quadrescence anyone have Perl free software? 08:38
sorear Parse error 08:40
tadzik what do you mean?
you mean do we have free software in Perl? Sure thing
08:45 svetlins_ left
_sri in soviet russia Perl software frees you! 08:45
sorear what is correct test form for when you commit something on purpose that breaks half the testsuite? 08:50
08:50 total joined
total how to learn perl 6 ? 08:51
sorear the book would not be a bad start
github.com/downloads/perl6/book/2010.08.a4.pdf 08:52
total thx for reply...but i cant find any book abt perl6
08:53 gfx joined
total dowloading 08:53
...
thx...
08:53 Siddy is now known as Trashlord
total the best os for learning perl 6 is ? 08:53
i m totally noobie...
linux? 08:54
sorear you should not let language dictate your choice of OS
unless you're completely new to computers, in which case, why are you diving right into programming?
total i m really interest in computing.. 08:55
but i dunno where to start ...
i m a student in civil...so.... 08:56
as hobby as weel...
sorear people in this channel use Linux, Mac OS X, and Windows
at least
so it's probably no object
moritz_ good morning
sorear good morning moritz_ 08:57
total hi..
i using windows...
i had install the rakudo star...
its sth like terminal..??? 08:58
right ?
moritz_ well, you have to open a terminal window to run the perl6.exe binary 08:59
total i dowload from github...github.com/rakudo/star/downloads/ 09:01
the msi version...
09:01 aloha left 09:02 svetlins_ joined, bacek left 09:04 total left 09:08 ruiwk joined
tadzik yay newcomers 09:08
ruiwk hi
i am new learner in programming world 09:09
tadzik yeah, we can recognize you :)
ruiwk perl 6 is the 1st languague i hope to learn ..
ha
tadzik ruiwk: as you can probably see, the Rakudo Star msi is not really up to date, but I doubt it would matter to you as to the newcomer 09:10
ruiwk will it better to use linux to learn perl6 ? 09:12
tadzik In my humble opinion yes, but as sorear says, language shouldn't dictate your working environment
moritz_ most developers work on linux, you might get help easier
(at least in here) 09:13
ruiwk thx very much ...i will install 1 in the virtualbox..
u all always in this chat room ? 09:14
tadzik usually
ruiwk i m from malaysia..nice to meet u all. 09:15
sorear it's a pretty nice international group here
there's always someone here, time zones and all
tadzik people from various timezones, always someone to talk to :)
sorear US
ruiwk u all student ? 09:16
sorear many of us are, but I think it's a coincidence
programmers tend to be young, and fond of learning 09:17
karb to make a positional parameter optional $pos?, to make a named parameter mandatory :$named! .. Is there a reason to use two different character (?, !) for similar markups
dalek ecza: cd6e7c1 | sorear++ | / (2 files):
A couple more steps toward nrx
ecza: 76cd7d9 | sorear++ | lib/ (2 files):
[nrx] Kernel-level code for initial nrx
ecza: 568bfa6 | sorear++ | / (3 files):
[nrx] fix non-regex build aspects (TESTS NOW BROKEN)
sorear TimToady++ is most definitely not a student...
karb: unambiguity; ! and ? always force a specific meaning 09:19
ruiwk *sorear how long u been learning programming ? 09:22
09:23 M_o_C joined
ruiwk & wat abt mac osx system ? 09:23
09:23 aloha joined, bacek joined
sorear ruiwk: 12 years, give or take 09:24
09:24 Trashlord left
sorear mac osx is used by a couple people here, definitely not as many as windows or linux though 09:25
sorear leaves for the night
09:26 Trashlord joined
ruiwk k...i dowloading the ubuntu ... 09:26
thx for all yo information & opinions ya... 09:27
karb sorear: ! stands for NOT. And ? stands for boolean context. With this viewpoint :$named! nots the optionality, but I dont seem to find $pos? intuitive. Maybe I'll get used to it :) 09:31
moritz_ karb: beware of context. Sometimes a question mark is just a question mark 09:32
in particular your quoted meanings of ? and ! only apply when they stand in front of something 09:33
karb got it. but would $pos! not be more consistent? 09:34
moritz_ if you understand it as human-language punctuation after a word, ? for optional and ! for mandatory make much more sense 09:35
ruiwk moritz: hi 09:37
karb i see it now
09:38 dual left
moritz_ gone for breakfast 09:40
09:44 snearch left 09:53 cibs joined
tadzik perl6advent.wordpress.com/2009/12/21/ why doesn't this code run properly in Rakudo? 10:02
reminds me of my Config::INI grammar fsckup over some Rakudo update 10:03
10:06 gfx left
x3nU ą 10:13
;
oops
10:17 karb left 10:21 envi^home left 10:23 dual joined 10:27 rgrau_ joined, Trashlord left 10:28 Trashlord joined
smash mornin' everyone 10:29
10:29 M_o_C left, M_o_C joined
tadzik hello 10:30
10:38 snearch joined 10:45 zulon joined 10:48 rgrau_ left
ruiwk hi...tadzik 10:54
tadzik hi 10:57
10:59 M_o_C left 11:03 wamba left
ruiwk sorry.. 11:03
how did u start to learn perl ?
tadzik Perl 5 or Perl 6? :) 11:05
ruiwk after done googleing...
state tat...perl 5 is different from perl 6... 11:06
tadzik I see... no reason... for so many... dots
ruiwk i just start learning...ha..my idol is geohotz... 11:10
i m so curious,,,why by doing some tweaks...the thing totally change..so interesting 11:11
11:11 drbean joined 11:14 meppl joined 11:23 smash left 11:42 TiMBuS joined 11:44 masonkramer left, masonkramer joined 11:54 zulon left 12:00 Axius joined, araujo left 12:01 araujo joined 12:11 jhuni left 12:13 whiteknight joined 12:16 envi^home joined 12:21 Axius left 12:23 jimi_hendrix joined 12:29 isBEKaml joined
Juerd I'm killing svn.pugscode.org 12:41
Whoever wants to look at it to make it behave and then maintain it, can perhaps get it back.
12:41 ruiwk left 12:45 ruiwk joined
ruiwk how to install rakudo in ubuntu ... 12:48
isBEKaml Juerd: The pugs repo is now fully migrated to git? Must have been some 3 days. 12:49
Juerd isBEKaml: Sorry, I don't know.
isBEKaml: I do know that svn was taking feather1's load over 20 again.
ruiwk nvm... 12:50
thx for reply
Juerd ruiwk: :)
ruiwk: rakudo.org/how-to-get-rakudo does explain how to build from source
isBEKaml Juerd: yeah, I saw that a few days but never knew that svn took that much load on the server. 12:51
s/days/& ago/
Juerd isBEKaml: It's just horribly broken in some way, and nobody wants to figure out exactly how.
isBEKaml Juerd: 20 is just pure agony for an svn admin server. 12:52
ruiwk i had dowload it...
isBEKaml Juerd: I'd have liked to help but I'm clueless about svn admin servers. Sorry. :/
ruiwk try d but dunno how to built from source...i m newbie...sorry 12:53
Juerd ruiwk: How far did you get?
isBEKaml ruiwk: have you untarred the downloaded tar file?
ruiwk ya.. 12:54
and follow the readme..
isBEKaml ruiwk: did you download just rakudo or the parrot sources too? I mean, did you download Rakudo Star?
ruiwk i dowload from here 12:55
github.com/rakudo/star/downloads/
12:55 mberends joined
Juerd Hoi mberends 12:55
ruiwk the tar.gz file
mberends hoi Juerd: I'm able to come to amsterdam.pm on Tuesday! :-) 12:56
Juerd Yay!
Hm, killing SVN and SVNWeb made feather1 absolutely idle 12:57
It has 2 GB unused RAM now.
(of 2.5)
isBEKaml ruiwk: what do you have right now? 13:00
ruiwk: you can just follow the README. that says everything you need to do to properly build your Rakudo Star distribution.
ruiwk i had done the aptitude install 13:01
isBEKaml ruiwk: Especially the section "Building Rakudo Star". Just type those instructions, you should be done.
ruiwk i shoud cd to the file 1st ?
isBEKaml ruiwk: You have done the aptitude install? Well, that's good. But you don't exactly need libicu-dev package. Just go the directory where you have untarred the Rakudo Star package (cd command) 13:02
and type those commands in the README.
ruiwk thx...i try again..
isBEKaml ruiwk: You... are... welcome. (You don't need to type out those dots. You got sticky keys on your keyboard? ) :) 13:04
ruiwk wow its running alrd thx very much 13:05
ha sorry
isBEKaml ruiwk: that's good. Welcome to perl6! and enjoy your time programming in it.
ruiwk the dots is typing habbit
thx perl 6 the 1st programming lg i wanna learn after googleing 13:06
isBEKaml ruiwk: Not a problem. Just try to shake out that habit. Some find it pretty annoying on a text only screen. ;) 13:07
ruiwk ok
isBEKaml:thx 13:08
isBEKaml ruiwk++ (Newbie initiate) 13:09
13:09 orafu left, orafu joined 13:11 karb joined 13:32 araujo left 13:33 araujo joined 13:36 bjarneh left 13:38 Axius joined 13:43 zby_home joined 13:54 risou joined 14:02 snearch left 14:09 karb left
isBEKaml phenny: tell masak yapsi fails on recent version of rakudo though it works on older 2010.07 and .08 versions. -->bin/yapsi -e 'say 42' 14:18
phenny isBEKaml: I'll pass that on when masak is around.
isBEKaml Could not find sub &Nil
tadzik ruiwk: my friend has made a ppa for R* on Ubuntu, if you're interested 14:19
14:19 hans__ joined
tadzik alright, who's the grammar wizard around? 14:20
ruiwk sorry wats tat ?
moritz_ isBEKaml: that means there's an old .pir file somewhere
tadzik: usually pmichaud. I'm more of an apprentice :-)
isBEKaml moritz_: I built the new yapsi and removed any old .pir from PERL6LIB.
tadzik moritz_: I finally decided to learn grammars and actions, and see a strange issue
moritz_ tadzik: do tell
did you read the book section? 14:21
tadzik pb.rbfh.de/rFFzXgaBMXVn
not yet
moritz_ well, do it
tadzik so, this is day 21 from the Perl Advent Calendar
moritz_ it's not that long, and we wrote it for a reason :-)
tadzik hold on, take a look at this
moritz_ takes a look 14:22
tadzik now it works, for I added \n to a header token
after removing...
isBEKaml moritz_: the funny thing is, it works fine if I just change the shebang to point to earlier version of Rakudo.
moritz_: the shebang in bin/yapsi
tadzik it no longer parses
and the Advent version does not work due to it (there is no \n there)
pmichaud good morning, #perl6 14:23
tadzik now the thing is Q {} has the newline at the beginning. But adding \n on the top of, well, TOP, does not make it work
good morning pmichaud
moritz_ it also probably needs
tadzik oh well, it does
moritz_ for $match<question>.flat
tadzik so the advent version needs fixes probably 14:24
moritz_ tadzik: do you have a wordpress account?
Juerd juerd.nl/i/89a1f74d761c1dafe4807a12dff9d91b.png # The effect of killing svn on feather1
tadzik moritz_: yep
Juerd That was memory. Here's load avg: juerd.nl/i/6cda7e2f6f4e940a9c2313c5c4c37296.png
moritz_ wow 14:25
tadzik yes, works after those changes
moritz_ tadzik: what's your nickname on wordpress?
Juerd And the cleaning up of the gigabytes of tempfiles it left behind: juerd.nl/i/a19681e1e223cd10c285482dfc9398b0.png
tadzik moritz_: ttjjss I think. At least that's the blag url of mine
tadzik checks
moritz_ what's the last svn revision of the pugs repo? 14:26
14:27 Axius left
isBEKaml thinks Juerd is probably the most happiest guy here of all: "cleaning up of the gigabytes of tempfiles" :) 14:28
tadzik moritz_: yes, it's ttjjss
Juerd isBEKaml: I'm not happy about this thing at all 14:29
isBEKaml Juerd: your words I quoted seemed to convey that impression. :/ 14:30
Juerd I feel bad about disabling a useful service, and am using these charts to explain why I did feel the need to end it. 14:31
moritz_ Juerd: can you re-enable it for a minute so that I can do a last git-svn rebase, and then disable again?
Juerd moritz_: Sure
moritz_ then the git copy can preserve full information 14:32
Juerd moritz_: Could you do it yourself btw? You have sudo access.
moritz_ Juerd: when you tell me what you did to disable it...
Juerd moritz_: I removed a symlink
moritz_: a2ensite svn.pugscode.org should enable it.
pmichaud svn? feather? 14:33
moritz_ Util: and how do I disable it again?
pmichaud feels like he's missed an important story/event.
Juerd pmichaud: Dead.
moritz_ sorry, meant Juerd
Juerd moritz_: a2dissite
moritz_ Juerd: thank you 14:34
14:34 risou_ joined
Juerd moritz_: Now that you know how to do it, you can do it again in case you need it 14:34
pmichaud are we moving pugs to github, then? 14:35
moritz_ yes
I'm on it
pmichaud are you getting a copy with full history, I hope?
moritz_ yes
pmichaud okay. having done two migrations of svn to github, let me know if you need any help :-) 14:36
tadzik moritz_: could you C-f Question::Answer on perl6advent.wordpress.com/2009/12/21/ ? It dies while parsing on the current Rakudo, and I wonder what's wrong with this one
In "has" declaration, typename Question::Answer must be predeclared (or marked as declarative with :: prefix) at line 41, near " @.answers"
14:36 risou left
tadzik ↑ that's a == SORRY == 14:36
moritz_ pmichaud: since I already have a git-svn mirror, I'll just push that one
pmichaud moritz_: was that a full clone, or one that was created using the -r option? 14:37
moritz_ pmichaud: that was full
pmichaud okay, excellent.
moritz_ tadzik: I guess typed array attributes are NYI
in current master
removing the type constraint should help 14:38
tadzik now it can't find sub Question::Answer, as it couldn't reach inside the class 14:39
pmichaud try changing "class Answer { " to "class Question::Answer { "
I know that rakudo master has difficulty with nested class and package names
14:40 Ross left
hans__ Hello, how to pass a NULL password to postgresql with MiniDBI? 14:41
14:41 Trashlord left, Ross joined 14:43 whiteknight left
pmichaud Juerd: I' 14:44
Juerd: I'm sure I speak for many in saying "Thank you" for having supported the pugs repository for all of these years.
14:44 Trashlord joined
pmichaud (and much more in Perl 6, for that matter) 14:44
moritz_ hans__: I don't know if it's possible... you likely need to dig into the source code tofind out
indeed, Juerd++ Juerd++ Jurd += (1..2e6).pick 14:45
14:46 kuzuha joined 14:47 karb joined
isBEKaml yes, Juerd++ : (1...2e6) { .say Juerd++ } 14:48
14:54 zulon joined 14:58 justatheory joined 15:03 s_mosher joined 15:04 Ross left
ruiwk why the $git clone git://github.com/rakudo/rakudo.git 15:06
is not running when i paste it on terminal and wait for so long ? 15:07
15:07 Ross joined 15:08 timbunce joined 15:09 karb left, sftp joined 15:15 zulon left, ruiwk left 15:16 azert0x joined
hans__ method connect(Str $user, Str $password, Str $params, $RaiseError) { ... } - $password shoud be a postgresql Null pasword. 15:16
tadzik iirc some Zavolaj examples use some fancy pir:: to produce NULL 15:17
you might want to look there
hans__ If you do not plan to use password authentication you can omit this option. If no password is specified, the password will be set to null - from www.postgresql.org/docs/8.3/interac...erole.html
15:22 karb joined
tadzik duh, I wrote this whole actions class and my $match.perl is still returning this ugly Match.perl result 15:22
pb.rbfh.de/32mc3REtkl7SV -- am I doing something wrong? 15:23
pmichaud tadzik: maybe you're wanting $match.ast.perl ?
matches always return the match object
tadzik ah, ast 15:24
Also stringifying the results before make()ing them helped a lot 15:27
15:31 karb left, Su-Shee left
tadzik hmm, the action methods are called on answers, but the resulting objects seem not to be put into the final object. pb.rbfh.de/288lue1INCFod -- debug info on line 42, result starting from 68. Can anyone take a look? 15:36
moritz_ github.com/perl6/Mu/ is now live, and intended as the successor of the pugs repo. 15:42
if anybody wants commit access, please ping me
pmichaud tadzik: :answers => $<answer>».ast
that looks.... weird 15:43
did you really want the key to be a Pair? ;-)
I suspect you want to omit the colon.
moritz_ I'll look into setting up hugme for the 'perl6' team
which has access to the Mu repo
15:43 karb joined
pmichaud or you can do :answers($<answer>».ast) 15:45
tadzik oh, the typos! How boring life will be without you!
pmichaud: thank you very much
15:45 Trashlord left
tadzik ...and now I'm missing .pretty :) 15:46
isBEKaml moritz_: I think we'll have to change that url in the Mu README about commitbit.pugscode.org.
tadzik moritz_: here I am
15:47 Mowah left, Trashlord joined
tadzik oh, I'm alredy added. moritz_++ 15:47
pmichaud Can we perhaps move the spectests out of Mu? 15:52
either that, or we need some way for "make spectest" to retrieve just the tests, and not the entire Mu repo.
moritz_ pmichaud: github supports svn checkouts 15:53
pmichaud also, I'm not sure that calling the repo "Mu" is a good name -- might be too many inadvertent puns with the Mu type 15:54
moritz_ finds it fitting
isBEKaml too
pmichaud I think some may find it confusing.
15:54 Trashlord left
pmichaud It's often confusing when one (unfamiliar) term is used to refer to two entirely different things. 15:54
anyway, I've noted my opinion. 15:55
moritz_ pmichaud: do you have a suggestion for a better name?
tadzik . o O ( once properly understood, Grammars and Actions are the most awesome thing I saw since... well, since Perl 6 )
pmichaud moritz_: well, "pugs" is still a valid name. :) 15:56
but no, I don't have an immediate idea for a replacement.
moritz_ pmichaud: but even more confusing, since it doesn't contain pugs anymore
pmichaud how do I checkout a subtree via github?
the only references I can find are for checking out the entire repo
isBEKaml you can just do svn co lik eyou do the spectests. 15:57
tadzik doesn't git have something like 'subrepo'?
pmichaud currently for the spectests I do: svn co svn.pugscode.org/pugs/t/spec
isBEKaml yes, svn co github.com/perl6/mu/t/spec should work, I think
pmichaud hmmm
pmichaud tries
pmichaud@orange:~$ svn co svn.github.com/perl6/mu/t/spec 15:58
svn: Server sent unexpected return value (500 Internal Server Error) in response to OPTIONS request for 'svn.github.com/perl6/mu/t/spec'
oh, "Mu" works.
ugh, you mean we have to have a capital 'M'?
*sigh*
isBEKaml :) 15:59
tadzik moritz_: I can has few suggestions about the G&A chapter?
pmichaud ECASESENSITIVITYSUCKSINURLS
isBEKaml ash_++ for telling me about the github specific git-svn mirrors.
moritz_ tadzik: sure
pmichaud now officially dislikes "Mu" as a repo name.
at least make it "mu"
TimToady that would be the native type :) 16:00
pmichaud oh, checking out "t/spec" didn't work.
it gives me the full repo.
moritz_ drat
pmichaud oh, it didn't give me the full repo. 16:01
it just didn't give me t/spec
that's... weird.
pmichaud@orange:~/spec$ ls
moritz_ renamed s/Mu/mu/
pmichaud AUTHORS docs INSTALL.v6 LICENSE README READTHEM READTOO SLAVES VICTUALS
tadzik moritz_: personally, I find JSON example pretty overwhelming. The grammar source alone is 3 pages long, the actions is a bit shorter, but I'd personally like to start with something more visible, less abstract than JSON. I liked the Perl6Advent Questions-Answers example, I think it'd be nice to include it there after fixing, pushing JSON a few pages further as a Real-World example
16:02 Trashlord joined
moritz_ tadzik: I fear (because it's much work) that that's the way to go 16:03
tadzik moritz_: I think I can handle this a bit 16:04
I was to fix Advent Calendar anyway
moritz_ who wrote the advent thing? Tene?
tadzik no eye deer
Tene, yes 16:05
moritz_ we have to ask for permission first
Tene: may we use your grammar examples from the advent calendar in the "Using Perl 6" book? 16:06
pmichaud the other reason for wanting the spectests in a separate repo is because we'll also want easy write support
(and svn commits to github still look a little... experimental)
moritz_ agreed, we don't want svn commits when we move to git 16:07
16:12 karb left
moritz_ any idea how to extract the t/spec subtree into a separate repo, and still preserve history? 16:13
I've asked on #git, but they seem busy with another discussion
mberends hello moritz_, pmichaud: how about hosting just the t/spec subtree in a downsized subversion repo? 16:16
isBEKaml moritz_: raise a support issue on support.github.com. They are usually closed pretty fast.
moritz_ mberends: and who maintains that? 16:17
tadzik moritz_: asking on #github was always helpful for me 16:18
isBEKaml #github too. forgot about that. :|
pmichaud when I created the rakudo repo, I extracted it as a subtree of the original svn 16:19
as opposed to converting the entire svn to git, and then trying to extract it from there. 16:20
moritz_ git filter-branch --subdirectory-filter t/spec # seems to help... still running
pmichaud for reference, to create the rakudo repository, I did 16:21
git svn clone -A parrot-names.txt svn.perl.org/parrot/trunk/languages/perl6 16:22
which just grabbed the languages/perl6 directory (and all of its history)
(and parrot-names.txt was used to map svn commit identifiers to git email identifiers) 16:23
mberends: (downsized subversion) yes, that's a possibility. In some sense it would be nice if we could get to a single vcs tool (more) 16:24
16:24 s_mosher left
pmichaud and also I think the pugs repo may have grown to the point where we ought to have separate repos for its various components (docs, tests, sources, etc.) 16:24
mberends moritz_: if there is interest in having a subversion t/spec repo, I think I (or someone) can arrange where it is hosted. The experience of Juerd++ can surely help us plan such a thing.
pmichaud personally, I think I'd like to see t/spec as a git repo 16:25
I'm not sure I see any big advantage to keeping it as subversion
16:25 Trashlord left
moritz_ I know a lot of "it would be nice" things. To me what really matters is that we'll end up with one more usable repos, with full history preserved 16:25
16:26 hans_ joined
moritz_ I can offer that with git, and I can offer to extract subtrees into separate repos 16:26
mberends pmichaud: +1 to separating pugscode into components. It's logical and fairly obvious.
pmichaud well, it may be logical to separate them, but I'm not sure we yet know what the logical separation should be :)
moritz_ if people want something else, they should do it *and* do the planning themselves; I don't feel qualified to do that (no offense to anybody intended) 16:27
how should I name the spectest repo? 16:29
'spec' would be convenient, but confusing
TimToady these things are usually called "validation suites" 16:30
moritz_ TimToady: do you have a github account? 16:31
TimToady no
moritz_ TimToady: then you should create one
TimToady doubtless :)
my inertial navigation system tends toward inertia... 16:32
pmichaud 'spectest' works for me 16:33
TimToady is there anything to identify it as a p6 spectest?
pmichaud it's in the perl6 account?
TimToady ah
pmichaud github.com/perl6/spectest
could even be 'spectests'
16:34 snearch joined
pmichaud anyway, others will have to decide it for a bit -- I have errands that must be run :( 16:34
bbiaw
16:34 ruoso joined
moritz_ pushing to perl6/spectes now - can be renamed later on 16:35
*spectest
tadzik bbl 16:36
16:36 tadzik left 16:37 Trashlord joined, s_mosher joined
TimToady "vets: Valid E$_ Test Suite" for slurp("unixdict.txt").words.grep: *.subst(/^e/,'') 16:38
and because it vets your implementation 16:39
moritz_ anyway, I need to go shopping for a bit, will probably be back in about an hour or so 16:40
if people have suggestions for subrepository names, feel free to share them
also you can think about having a separate repo for the specs (which would make the perl6-language mail hook easier) 16:42
16:43 risou_ left, jimi_hendrix left 16:46 ruoso left
TimToady Valid Enough Test Suite :) 16:50
Very Excellent Test Suite
16:51 molaf left
TimToady or VI Enough 16:51
16:51 Trashlord left
TimToady Valid Essentials 16:53
Validate Everything 16:54
16:56 Axius joined
mberends Velociraptor Extreme Torture System 16:56
TimToady except we're the accelerraptor 16:58
or however that's spelled...
VI Extreme Torture Suite 17:00
except sounds like we're testing an editor
17:00 snearch left, ruoso joined
TimToady Six Under eXamination 17:01
mberends lol
TimToady Wall's Really Obnoxious Xanadu 17:02
17:02 svetlins__ joined
TimToady Six Encounters X-rays 17:03
17:04 svetlins_ left
TimToady Six Is eXpected 17:05
17:06 Trashlord joined
TimToady Six is Xenophobic 17:06
mberends Six Ain't eXperimental (anymore)
TimToady Six Is Generally Hard 17:07
mberends Six Outwardly Feels Tricky While Actually Reads Easily 17:10
TimToady :)
but doesn't sound like a torture suite 17:11
Six Candidate Acceptance Test 17:12
Juerd mberends: Oh, hosting is not the issue. Feather is still available for that, provided that it is cared for by someone
mberends: It's just that svn + svnweb littered huge (100MB+) temp files, were responsible for extreme loads, had memory leaks, and were completely unmaintained 17:13
17:14 Trashlord left
TimToady or Six Core Acceptance Test 17:14
mberends Juerd: thanks. If pugscode were somehow locked down to be readonly, I wonder if many of the massive overheads would stop happening.
Juerd mberends: Not really. The majority of the issues with svnweb are common for all mod_perl crap: things stay in memory forever, and is multiplied by the number of apache processes over time, regardless of the number of users. 17:16
hans_ \
Z
TimToady Really Obnoxious Torture System
Juerd mberends: svn was mostly CPU hungry, and with very little commits I doubt it had anything to do with commits.
mberends: As for my experience with setting svn up: none, whatsoever. I don't know who originally set up svn on feather. 17:18
TimToady Rarely Obtained Feature List
isBEKaml Light On LoadTESTs 17:19
17:20 hans_ left
isBEKaml Six Ix Xanthippe 17:21
:D
Juerd juerd.nl/i/73ea6e3483eb7e949c942df8ddab5d30.png # It appears that svn was also responsible for the majority of traffic, with its gigantic diffs.
isBEKaml Six Is Xanthippe
I think Xanthippe was the name of Socrates' wife. Generally perceived evil figure in history, but also was partly responsible for driving Socrates towards philosophy! lol 17:23
17:24 Trashlord joined
TimToady Sucks Or Rocks Reliably Yet 17:24
isBEKaml Times Reliably On Load Lines 17:26
moritz_ Six Or Not Six, that's what the spectests answer 17:28
github.com/perl6/spectests now contains the spectests; I haven't removed them from mu yet 17:29
17:29 Trashlord left
moritz_ I should do that now. 17:30
17:30 zulon joined
TimToady Sux Or Rox Test Of Functionality 17:33
17:33 isBEKaml left
TimToady I think I like sorry the best so far 17:34
17:35 tylercurtis joined
TimToady Larry's Obnoxious Language Core Acceptance Test 17:37
moritz_ "you think this is cute today" 17:38
TimToady that is wonderfully ambiguous, in the way of noun modifiers
I bet jnthn++ would like it
moritz_ lol 17:39
dalek kudo: 29fcf8e | chromatic++ | src/ (4 files):
[src] Updated deprecated string_from_literal calls.

Parrot's (not all that) new approach is to use Parrot_str_new().
17:50
kudo: 6b1b030 | chromatic++ | src/binder/bind.c:
[binder] Hoisted several constant Parrot STRINGs.
kudo: e36452e | chromatic++ | src/ops/perl6.ops:
[ops] Hoisted constant Parrot STRINGs.
ingy o/ 17:51
TimToady trouble is, we want a word that doesn't occur too frequently in normal talk 17:52
so maybe something more like "visor", Verify Implementation Sucks Or Rocks 17:53
17:53 molaf joined
TimToady but the word itself isn't very funny 17:53
moritz_ otoh if we split off several repositories, the names should be as obvious as possible
TimToady censor or sensor would be funnier
17:54 Axius left
moritz_ should I split off docs/ ? 17:55
17:55 tadzik joined, molaf left 17:57 Ross left, Trashlord joined, Ross joined 17:58 karb joined 17:59 zulon left
TimToady valid: Verify All Language Implemenation Details 18:00
*ment
18:00 rhebus joined
rhebus Hello everyone 18:00
TimToady everyone says hello back
rhebus I've decided to jump in and learn Perl 6 using Rakudo* by doing the project euler problems
TimToady cool 18:01
rhebus but my naive implementation of problem 3 seems to be doing some int overflow
projecteuler.net/index.php?section=...s&id=3
(what's the largest prime factor of 600851475143)
i will ask a question, just give me a minute :) 18:02
TimToady hmm, well, rakudo doesn't implement Int as bigint yet, but overflows to Num
but that should fit in a double
and %% is defined on doubles, methinks
rakudo: say 600851475143 %% 7 18:03
rhebus what is %%?
p6eval rakudo 52f9ea: OUTPUT«0␤»
TimToady same as % == 0
now that we have it, we find we use it all the time
rhebus rakudo: say 6 %% 2
p6eval rakudo 52f9ea: OUTPUT«1␤»
18:04 envi^home left
rhebus rakudo: say 600851475143 %% 71 18:04
p6eval rakudo 52f9ea: OUTPUT«1␤»
18:04 rindolf joined
rindolf Hi all. 18:04
rhebus (minor spoilers for that problem, sorry :) ) 18:05
but yeah, that looks good enough for me, thanks TimToady
rindolf Some of the "make spectest" tests failed on my Mandriva 2010.1 x86-64 Linux laptop.
TimToady we're more interested in the solution than the solution, as it were
the interesting part is what the P6 code comes out looking like 18:06
and whether it's intuitive to the reader
rhebus well I like it so far 18:08
but I haven't yet delved into hyper operators &c
TimToady we hope those end up intuitive too
rhebus tbh I'm just writing P5 in P6 atm
"baby perl 6" 18:09
TimToady that's officially okay
rhebus can i have a certificate from the authorities to state that officially?
TimToady if you're looking for someone with a little authority around here, I have about as little as anyone... 18:10
rhebus :)
18:12 karb left
rhebus the irony is that I'm running win64 so I *should* be able to represent 600851475143 natively. But I'm lazy and downloaded the .msi which I imagine is 32-bit. 18:12
hooray for laziness
ingy what does p6 call a lexical namespace? 18:13
tylercurtis Well, Rakudo (last I looked at the promotion to Num code) converts anything that would overflow a 32-bit integer to Num, regardless of the size of your integers.
TimToady ingy: lexpad or lexinfo, depending 18:14
the pad is usually an active one for a particular call
but sometimes it's used generically for the static table too 18:15
18:15 Axeman left
ingy I'm considering namespace, scope or stash. 18:15
TimToady but we're trying to switch over to calling those lexinfos
well, all of those are rather overloaded 18:16
ingy my meaning is a symbol hash that belongs to a function 18:17
a function object has a namespace object (just a hash)
18:18 toebu left
TimToady yes, but "namespace" == "package" in parrotland currently 18:18
rindolf Hi all. I'm getting svn: Server sent unexpected return value (403 Forbidden) in response to OPTIONS request for 'svn.pugscode.org/pugs/t/spec'
TimToady and "stash" == "package" in P5land
ingy does anyone else use lexpad?
I really wish naming was more standard... 18:19
TimToady that's a p6ism, but historically didn't distinguish the name hash from the activation record it represents
ingy it's a really annoying hurdle in acmeist life.
TimToady actually "pad" is a p5ism for the whole structure, which has both elements
well sometimes the common denominator is the empty set, and you have to just coin something new, like lexhash 18:20
ingy nod 18:21
TimToady though that makes the other into something like pkghash, which is ugly 18:23
lstash and pstash would be how the old-timers woulda done it, which is how we got strange words like lvalue
rhebus i particularly like the C standard which distinguishes between lvalues and modifiable lvalues >_< 18:24
TimToady orz
ingy well I'm sticking with namespace for now. Once you start following TimToady's lead it's a slippery slope :) 18:25
TimToady I want the world, you can have the rest. :)
ingy rest is probably what I need most. 18:26
TimToady a rest for ingy++ --> 𝄽 18:27
at least it shows up in the log... 18:28
assuming you're using a browser that does unicode for reals
rhebus grr, project euler seems to be more about maths than programming :/ 18:30
or at least the first 4 problems are
TimToady yes, that's they're stated purpose
maybe you want to tackle rosettacode problems, though most of the low-hanging-fruit has solutions already 18:31
rhebus ooh, hadn't seen that 18:33
TimToady see also www.oreillynet.com/onlamp/blog/2006...erl_6.html
which have some proposed solutions in the test suite that you can check against 18:34
or replace with better solutions :)
the originals were written against pugs rather than rakudo
rhebus ooh that is also good
sorear good * #perl6 18:36
TimToady o/
pmichaud back again, for a bit
rhebus aha they're also in github.com/perl6/perl6-examples
rindolf pmichaud: hi.
TimToady also in t/spec/integration, or wherever it ends up after this morning's svn meltdown 18:37
rindolf TimToady: svn meltdown? 18:38
TimToady: WDYM?
moritz_ github.com/perl6/spectests/tree/mas...tegration/ 18:39
pmichaud (svn meltdown) Juerd needed to disable svn on feather earlier today 18:40
which means svn.pugscode.org is no longer active
rindolf pmichaud: ah.
Juerd Is the github repository the main one now? 18:41
pmichaud likely yes
moritz_ yes
pmichaud we'll still have some refactorings to make, I think 18:42
moritz_ I've already split off the spectests
rindolf moritz_: well, you need to update the rakudo build-system to reference it.
pmichaud should we add TimToady as an owner of the perl6 organization?
rindolf: s/you/we/ :-)
rindolf pmichaud: :-)
moritz_ I already have that locally; testing as we speak 18:43
pmichaud: +1
pmichaud TimToady: do you have a github account yet?
TimToady working on it 18:44
moritz_ pmichaud, TimToady: would you prefer a separate repo for docs/ (or maybe docs/Perl6/Spec) ? 18:46
pmichaud I think a separate repo makes sense... but I defer to TimToady on that. He's the one that generally has to deal with it the most. 18:47
same goes for the other non-spectest parts of the pugs repo :)
TimToady it says the account TimToady is already taken 18:48
pmichaud yes, I saw that
said it was created in dec 2009 18:49
TimToady did someone create it for me, I wonder...
did I create it and not know it?
pmichaud yeah, not sure if it's a squatter or what
dalek kudo: ff5b4c0 | moritz++ | / (2 files):
partially update build system to deal with spectests in git
pmichaud maybe request password recovery for the account and see what happens?
moritz_ missing: "make manifest" still uses the old repo 18:50
pmichaud moritz_: I think I can correct that. 18:51
lue wello there o/
sorear Ay reason we don't just delete the 'perlsix' account? It has zero repositories 18:53
pmichaud maybe keep it so that someone else doesn't create one for nefarious purposes 18:54
moritz_ sorear: currently my only reason was "more important other things to do first" 18:55
18:55 plobsing joined
sorear seems to have the delete privelege on perlsix 18:56
pmichaud sorear: yes, you were listed as an organization owner
(along with about seven others :)
TimToady successful at resetting TimToady password, so I guess you can call me that; now for ssh token... 19:00
pmichaud TimToady: added you as an organization owner for the perl6 account 19:01
"Owners have full access to all repositories and have admin rights to the organization."
sorear you now have the ability to delete perl6. 19:02
use it wisely.
sorear blows away a 193MB pugs checkout
TimToady feels the power going to his head, but as his head is too big, it gets lost somewhere. 19:04
pmichaud the current link for STD.pm6 is github.com/perl6/mu/raw/master/src/perl6/STD.pm6
or github.com/perl6/mu/blob/master/src...l6/STD.pm6 if you want it with creamy github formatted goodness
TimToady blob?
moritz_ Binary Large OBjection 19:05
pmichaud I don't create the urls -- that's all github. :)
lue did pugs disappear permenantly, or just temporarily ?
pmichaud
.oO( OBject*ion* ? )
moritz_ pmichaud: :-)
lue
.oO(blob = Big Lump O' Binary)
sorear github doesn't seem very good at formatting Perl6
lue: it didn't disappear, it moved to github 19:06
pmichaud sorear: I'm sure they would accept patches :)
diakopte1 backlogs a bit 19:09
sorear seen diakopter
aloha Sorry, I haven't seen diakopter.
lue time to get rid of the pugs svn repo (and with it an unused commit bit) 19:11
sorear What is docs/ in mu.git being used for? 19:12
moritz_, ping
moritz_ sorear: I'm about to delete it
pmichaud (keep in mind we're still in the middle of a largely unplanned migration)
diakopte1 Juerd: I suspect you were wrong about "svn" causing the high load/mem usage.
pmichaud oh, all of 'docs' became its own repo? 19:13
that feels.... wrongish
I would've wanted to have just the spec docs separated out
diakopte1 Juerd: rather, I suspect it was (as sorear mentioned the other day) the SVN::Web links continually being spidered by all the search engines.
moritz_ pmichaud: that can be done too 19:14
pmichaud in general, I think docs should live with whatever it is they're documenting
indeed, perhaps what we really want is a perl6/spec repository, that contains docs, tests, and STD.pm
diakopte1 Juerd: otoh, *finally* this is prompting what I was strongly suggesting 1 and 2 years ago 19:15
tadzik hmm, I added <![ ]> at the end of the regex, but the matched string still has trailing spaces. Any ideas?
19:15 Trashlord left
diakopte1 (the very thing pmichaud just mentioned) 19:15
sorear tadzik: use \s
tadzik sorear: I used \h, but it didn't work eithger
* either
sorear and it's spelled <!before \h> 19:16
moritz_ backslash escapes don't work in char classes yet :()
tadzik actually it is mentioned <![\h+]>
oh
sorear: so that would be <!before \h+> in my case?
pmichaud tadzik: nopaste or reference to what you're trying to do?
sorear <![\h+]> means "match if the next character is not \\, h, or +
"
pmichaud sorear: by spec, or by what rakudo currently has? 19:17
tadzik well, it wasn't working for the plain space
sorear pmichaud: by spec it
tadzik oh wait, this is token, backtrackint is disabled. Bad, isn't it?
sorear 's \h +
tadzik: spaces in a token are ignored anyway
tadzik nah, nothing new after changing it to regex
pmichaud tadzik: nopaste url? 19:18
tadzik well, I can just trim it in actions, but..
pb.rbfh.de/2r4JjtYeSxCgh
lue rakudo: say "hello " ~~ /\H+/ 19:19
p6eval rakudo e36452: OUTPUT«hello␤»
tadzik oh by the way, about line 16 -- if I change the last \h* to \h+ it dies with "Couldn't match the final ']'", although the case is not about the ], is this intentional?
pmichaud if you change the last \h* to \h+, that rule will never match. 19:20
tadzik I know, but it dies with a message about not finding the final ]
pmichaud right, because of the ~ that occurs earlier
hmmmm 19:21
why not write it normally, in this case? 19:22
tadzik normally?
pmichaud ^^ \h* '[' $<text>=[\w|\h]+ ']' ...
i.e., why use the ~ ?
tadzik I just wanted to try it :)
but it's not the issue, when I use proper \h* it works fine
pmichaud there are some definite oddities with the failure mode for that operator 19:23
tadzik now what I want to achieve is 'autotriming' keys via tuning regexes
so it won't catch the trailing \h
pmichaud trailing after the ']', you mean?
tadzik no, in key
pmichaud I don't understand "autotrimming" in this case 19:24
tadzik so when I have keyval 'foo = bar' it is parsed to "foo " => "bar"
foo has a trailing whitespace
see the bottom of the paste
pmichaud oh, your problem is that <-[;=]>+ also grabs whitespace
tadzik yes
pmichaud you can't fix that with anything that comes afterwards
tadzik so I wanted to add <![\h+]> at the end
pmichaud well, you can, if it's a regex 19:25
tadzik that's why I changed it
pmichaud what you really want is <!after>
<!before> talks about what comes next, not about what you already scanned.
tadzik <!after \h+>, yes?
pmichaud yes, but !after is nyi in rakudo, iirc.
tadzik I see. I'll have to read the synopsis on this one
TimToady the + is useless
tadzik oh
pmichaud and yes, the + is useless.
tadzik even better 19:26
so what can I do in the current Rakudo?
rhebus hmm I disagree with the interpretation of perl6-examples/99-problems/P02-scottp.pl
19:26 rindolf left
rhebus The second-last box of <a b c d e> is <d e> not 'd' 19:27
19:27 rindolf joined
moritz_ then fix it :-) 19:27
rhebus will do
moritz_ rhebus: do you have a github account? if yes, what's the nickname?
pmichaud tadzik: [ \H && <-[;=]> ] ** \h+ # maybe
rhebus I'll get one set up
tadzik hmm
I won't be able to read it after a few days I'm afraid. I'll go for .trim in actions, til Rakudo implements <!after> 19:28
Juerd diakopte1: svnweb didn't run on svn.pugscode.org, and feather.perl6.nl/server-status did show that the processes that appeared high in top(1) were often on that hostname
19:28 Trashlord joined
rhebus what's the github way of doing things? Do I fork it, commit to my copy, and send you the url? 19:28
Juerd diakopte1: It's possible, of course, that these svn requests were done *by* svnweb, which at those moments apparently did behave. 19:29
19:29 smash joined
tadzik thanks for help 19:29
moritz_ rhebus: the #perl6 way is that I give you commit access
pmichaud rhebus: for perl6-examples? you get a commitbit. :)
smash hello everyone
moritz_ pmichaud: I've added perl6-examples to the 'perl6' team
Juerd diakopte1: Still, though, nobody volunteered to investigate or maintain it... 19:30
rhebus my username is rhebus on github now
moritz_ rhebus: and you have commit access now
pmichaud moritz_: +1
moritz_: so, "perl6" is the team for generic "we give you commit access to all of the common repos" ? 19:31
Juerd moritz++: Thanks for moving everything to github and taking care of it, by the way :)
moritz_ pmichaud: yes
pmichaud moritz_: excellent
smash phenny: tell colomon gil.di.uminho.pt/users/smash/rakudo-bench.html updated with new test scripts
phenny smash: I'll pass that on when colomon is around.
pmichaud I still prefer the zero-based graphs. 19:32
tylercurtis Can I (ekiru on github) have a perl6{*} commit bit? 19:33
moritz_ tylercurtis: sure, just a sec
19:33 Eevee joined
moritz_ tylercurtis: done 19:33
tylercurtis moritz_++ thanks
tadzik smash: why there are faster things in Slower Scripts? 19:34
19:34 timbunce left
tadzik smash: graph shows as if they were faster than before 19:34
can I override the \n in grammars? 19:35
smash pmichaud: refresh
pmichaud smash: much better, thanks
tadzik smash: ah, slower means "longer running", I get it 19:36
pmichaud now we need to re-do the iteration and recursion bench marks so they actually measure something meaningful :)
smash tadzik: maybe the title isn't the best, that just meanos that on the right are the scripts that take longer to run
tadzik: right
tylercurtis And we need to figure out why pick-words.pl slowed down. :)
tadzik is there a way to override the \n, as in token ws {} ?
moritz_ tadzik: not yet
tadzik :( 19:37
pmichaud: btw, what's the state of require?
pmichaud tadzik: still nyi
moritz_ has tried it, but couldn't get 'require <foo bar>;' to parse
smash tadzik: i changed it to Fast/Slow scripts, maybe this way is more clear 19:38
pmichaud smash: if I change the benchmark scripts for iteration and recursion, will that update all of the values in this graph?
smash pmichaud: with the current script yes 19:39
pmichaud: s/script/harness for the benchmarks/
tadzik smash: how about something like lighter/heavier? That's a suprisingly difficult case I think :) 19:40
it's hard not to disaumbiguate
pmichaud: is there a chance for it in the near future?
I know one how wishes to make testing and stuff :)
smash tadzik: i like light/heavy scripts, thks for the tip
19:41 timbunce joined
rhebus should I rename P02-scottp.pl to my name or leave it as is? 19:41
moritz_ rhebus: whatever you consider better
or more convenient
rhebus ok 19:42
i think the first example is awkward and not the best example :/
tylercurtis smash: does your harness manually distinguish between the light/heavy(or fast/slow or short-running/long-running or whatever) scripts? If so, could you perhaps move that information into the bench-scripts repo? That way, it's easier for new long scripts to be added.
smash: ignore that if you automatically detect long-running scripts.
tadzik moritz_: JSON example in the book becomes extremely helpful once I got comfortable with Actions 19:43
moritz_ tadzik: glad to hear
rhebus last <A B C D> should be the same as <D> in P01, based on the original LISP interpretation of returning a 1-element list rather than a single element
however in perl6 generally a 1-element sequence is not the right thing 19:44
lue how do you modify a class's variables? Something like class A { has $.b }; my A $c .= new(3); $c.b = 5 .
rhebus maybe I should just leave it alone :/
smash tylercurtis: when building the grphs it automatically chooses if the script goes to one grpah or another
tadzik lue: they have to 'is rw'
smash the rest is exactly the same
tadzik lue: so they can be lvalues
tylercurtis smash: good. :) That's even better.
tadzik lue: or you can modify them from inside the class, with the private accessor ($!b = 'asd') 19:45
tylercurtis rhebus: well, in Perl 6, generally, a single element is also treatable as a 1-element sequence.
lue I was just thinking, it'd be better to not do what I wanted :)
moritz_ nopaste.snit.ch/23233 # I plan to send this to perl6-announce - any comments before I send it?
tylercurtis rakudo: say 5.[0];
p6eval rakudo e36452: OUTPUT«5␤»
smash pmichaud: feel free to change the benchmark scripts, i'll re-run them and update the HTML page
pmichaud smash: changed and pushed.
tadzik moritz_: thereforE 19:46
tylercurtis rakudo: say 5.map(* + 2); # curious
p6eval rakudo e36452: OUTPUT«7␤»
rhebus rakudo: say <5>.WHAT
p6eval rakudo e36452: OUTPUT«Str()␤»
lue (I can't seem to git clone the perl6/docs repository.)
rhebus rakudo: say <5>[0].WHAT
pmichaud moritz_: mention that people can get commit bits by asking on #perl6, also, instead of just email.
p6eval rakudo e36452: OUTPUT«Str()␤»
tadzik moritz_: to have commit -> to have commit access? 19:47
rhebus rakudo: say <5 6>.WHAT
pmichaud we can add more meta-committers
p6eval rakudo e36452: OUTPUT«Parcel()␤»
moritz_ lue: I've deleted it again, after pmichaud convinced me it was a bad idea
rhebus tylercurtis: it seems there's no distinction at all. curious
smash pmichaud: pull'ed, running the benchmark now, i'll update the html page as soon as it finishes
moritz_ lue: docs/ is now still in the 'mu' repo, only the specs were extracted into a separate repo
pmichaud tylercurtis: scalars are considered to be lists of one element if asked to act that way 19:48
thus 'abc'.join(' ') becomes 'abc' 19:49
tylercurtis pmichaud: right. 19:50
pmichaud tadzik: I don't know when I (or someone else) will get around to 'require' again. 19:51
19:51 Guest78701 left
pmichaud moritz_: message needs to go to p6l and p6c, also. and probably p6u. 19:52
moritz_ pmichaud: ifyousayso
pmichaud I don't see any other message edits for now. 19:53
tadzik yay, Config::INI fixed 19:57
moritz_ ok, sending now
lue there's no such thing as =head0 in Pod, right? 19:59
19:59 hans__ left
moritz_ that only exists in PseudoPod 19:59
(git filter-branch)++ 20:00
smash moritz_: i add a commit bit on pugs, can i have one for the new ones ? 20:01
20:01 bartolin joined
TimToady note that <A> is just ('A') 20:01
pmichaud smash: github id? 20:02
moritz_ smash: you're also 'smash' on github?
TimToady smashz I think
pmichaud smash: added (as 'smashz')
(I already had the page open from an earlier session :)
smash pmichaud, moritz_: my id on github s smashz, thank you
moritz_ fwiw I'm now moving perl6.org to a separate repo now too 20:03
smash moritz_++ # pugs repo revamp
bartolin hi #perl6
pmichaud good idea
lue could I get a commit bit as well? github id is lue
moritz_ lue: sure
pmichaud lue: added
tadzik bartolin: hi
moritz_ done
pmichaud lue: interesting gravatar image :) 20:04
20:04 pjcj left
pmichaud that's a lot of 42s 20:05
lue 42 42's to be exact :) 20:07
smash pugs, reminds me haskell, which reminds me the damn transpose function.. hmmm
pmichaud that's a bit square. :)
pmichaud chuckles at the phrase "bit square" :) 20:08
tadzik mind me adding Config::INI back to R*? I got it all fixed
pmichaud tadzik: +1
afk, shopping 20:09
20:09 svetlins__ left
bartolin rakudo: class Dog { has Int $.age }; my $dog = Dog.new( age => 'zzz' ); say $dog.age.WHAT; 20:10
p6eval rakudo e36452: OUTPUT«Str()␤»
tadzik hah 20:11
bartolin a newbie's question: why doesn't "has Int $.age" prevent setting age to 'zzz'?
is this not yet implemented?
tylercurtis bartolin: rakudobug.
It seems like I recall it having worked properly at one time, but I may be incorrect.
bartolin tylercurtis: a known one, probably?
tylercurtis looks. 20:12
20:13 jaldhar_ joined
moritz_ I'm pretty sure it's known and submitted to RT 20:13
we have failing tests for it
bartolin moritz_: ahh, thanks (tylercurtis++ too) 20:14
20:14 bluescreen joined, rindolf left 20:15 bluescreen is now known as Guest58080
rhebus hmm, perl6-examples/99-problems/P08-viklund.pl fails for me with "Could not find sub &infix:<compress>" 20:16
20:16 _jaldhar_ joined, _jaldhar left
rhebus which is a shame because it looks very impressive to a perl6 newbie 20:16
tadzik x3nU was to fix perl6-examples, wasn't he? :P 20:17
20:19 jaldhar_ left, jaldhar joined
x3nU tadzik: i can't do that on my own, also i was bit busy recently ;d 20:22
20:23 _jaldhar_ left 20:25 tadzik left 20:26 svetlins__ joined
TimToady why is perl6.org labeled JavaScript? 20:27
moritz_ because it contains some .js files?
Tene moritz, tadzik: you can use anything I've ever published online for anything you want, without restrictions. 20:28
moritz_: oops, I forgot your _
moritz_ Tene++
dukeleto is very excited to see specs and spectests repos on github! 20:29
moritz_ is very stressed
TimToady votes moritz_++ as one of the Ten Best-Stressed Men 20:30
moritz_ TimToady: do you want src/perl6/ also moved? if yes, what repo name? 'grammar' maybe? 20:31
lue thinks make stresstest deserves #2
20:32 tadzik joined
tylercurtis moritz_++ # For endangering his mental health for the rest of us. Try not to go crazy, though. 20:32
tadzik Tene++
moritz_ I'll got to bed very soon :-)
tadzik seen masak
aloha masak was last seen in #perl6 13 hours 57 mins ago saying "but I'd much rather employ something like JSON::XS, like sorear said.".
TimToady druther have something like std 20:33
tadzik rhebus: iirc perl6-examples were written for the alpha branch of Rakudo, and most of them probably don't work now
rhebus I'll see what i can do to fix that 20:34
but I don't know perl 6 yet
20:34 BillN1VUX joined
moritz_ TimToady: will do 20:35
tadzik is there any working template engine?
moritz_ TimToady: but probably won't get around to it tonight
tadzik html I mean
moritz_ tadzik: I think szabgab++ fixed HTML-Template in the masak/web repo
TimToady wow, I haz 1 followers!!! 20:37
lue how do I put restrictions on a parameter? Things like sub a($a when >=0) # although that doesn't seem to work
moritz_ sub a($x where { $_ >= 0 }) { ... }
lue aaah. thankyou 20:38
TimToady rakudo: sub a($x where * >= 0) {...} # does this parse yet?
p6eval rakudo e36452: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
TimToady std: sub a($x where * >= 0) {...} # does this parse yet?
p6eval std 32123: OUTPUT«Potential difficulties:␤ $x is declared but not used at /tmp/_7FJoYF9Ir line 1:␤------> sub a(⏏$x where * >= 0) {...} # does this parse␤ok 00:01 119m␤»
Juerd moritz_: Er, I never did maintain the pugs repository 20:40
rhebus tadzik: are they expected to work once rakudo* implements more features? should I include some examples which work now?
tadzik rhebus: it's about them I think, not about Rakudo
moritz_ Juerd: I had the impression you maintained the apache part of it 20:41
rhebus tadzik: so I should fix them then?
tadzik rhebus: would be great
rhebus see what I can do
tadzik poke moritz_ or someone for a commit bit
rhebus got one already
moritz_ Juerd: if not, you still deserve thanks for maintaining and providing feather
Juerd moritz_: I've prevented feather from crashing, which in some cases meant trying to make apache behave, or at least killing it when it didn't. 20:42
(It has crashed, several times, under the severe loads)
20:42 Guest58080 left
moritz_ well, that's some form of maintenance 20:42
Juerd Heh
moritz_ not the one you usually do if you are being paid for it
but still 20:43
Juerd I'm afraid that the "community maintained" part of feather never got very popular, except for its first year of existence :)
A lot of people have done maintenance tasks on feather
TimToady it turned out to be a bit too anarchical
Juerd TimToady: Certainly.
But then, originally it was a box for compiling pugs and running irssi 20:44
It's still used for irssi and compiling (not pugs anymore), so it's still true to its initial purpose :)
9 irssis :) 20:45
TimToady now I just have to git learned 20:46
20:46 s_mosher left
moritz_ pushing to perlt/std as we speak 20:47
github.com/perl6/std 20:48
TimToady I seen it
thanks
moritz_ you're welcome 20:49
20:49 Ross left 20:50 Ross joined
moritz_ -> sleep 20:50
TimToady zzz --> moritz_++
I suppose that should be ==> 20:51
20:53 timbunce left
lue Why is it that typing 'use A::B' in a certain file (let's call it X.pl) doesn't work when the file containing A::B isn't in A/B.pm, instead being in the same place as X.pl 20:55
20:55 CoCol joined
TimToady to the first approximation, because that's not how it works in Perl 5 20:58
used modules don't autoadd themselves to the search path
tylercurtis lue: because that's what import is for, no?
Or, wait.. what do you mean by "instead being in the same place as X.pl"? 20:59
20:59 timbunce joined
lue typing `ls ./' would result in listing X.pl and C.pm [the file containing module A::B] 20:59
tylercurtis lue: well, how would Perl 6 know that C.pm contains A::B? 21:00
moritz_ lue: if you wrote a Perl 6 compiler, how would it know that A::B can be found in C.pm?
dukeleto Juerd++ # irssi :) 21:01
lue I want it to search all the .pm files in ./ for A::B. What else are module declarations for? [I guess that's not happening though] 21:03
TimToady eventually we'll move more toward a model where you register your modules in the database, and then it can track things like that 21:05
21:05 Mowah joined
TimToady in any case, the official library is supposed to work like that, and your local code could work like that, or more like the current PERL6LIB search model 21:05
but that isn't gonna just search a bunch of files on spec for you
that would be slow and error prone 21:06
lue When I had A/B.pm to experiment, use A::B didn't work in the REPL. 21:08
tylercurtis Was A/B.pm in a directory in your @*INC?
lue in ./ 21:10
moritz_ and was . in @*INC?
mathw o/
lue rakudo: say @*INC
p6eval rakudo ff5b4c: OUTPUT«lib/home/p6eval/.perl6/lib/home/p6eval//p1/lib/parrot/2.7.0-devel/languages/perl6/lib.␤»
rhebus does the reduce metaoperator work on user operators?
TimToady supposed to 21:11
rhebus I've been having a go but I can't work it out: pastebin.com/kchCQev7
the line labelled #BOOM doesn't work
TimToady in rakudo you have to make them 'our' though
moritz_ rhebus: in rakudo it only works if you declare it with 'our'
TimToady which is a known bug
rhebus aha
moritz_ rakudo: our sub infix:<abc>($a, $b) { $a + $b + 1 }; say [abc] 1, 2, 3
p6eval rakudo ff5b4c: OUTPUT«8␤»
lue I'm having an amazingly difficult time figuring out what is IMO a very confusing system for modules.
TimToady still the bogus design that came from parrot assuming it was re-implementing Perl 5 21:12
rhebus should I update the 99-examples to use "our" or should I leave it given it's a known bug
moritz_ update please
tylercurtis lue: What is confusing you?
TimToady our will still work later, since it does install a lexical alias
moritz_ (as long as the workaround is still valid Perl 6)
moritz_ -> really sleep :-) 21:13
rhebus and should I comment that it's a bug workaround?
TimToady zzz ==> moritz_++ really
rhebus I'm not the person to ask if it's valid perl 6, I'm doing the 99 examples to learn it...
TimToady our is valid, if suboptimal in the long run 21:14
especialy if it causes global collisions
lue I just can't seem to get anything working. I do A/B.pm like you're 'supposed to', and then I can't use sub C, even after attaching `is export' to sub C and putting a redundant 'module A::B' at the top. 21:15
rhebus I think that's worth noting in a comment
21:16 Guest23195 left
tylercurtis lue: can you show us your code example? "module A::B; our sub C () is export {...}" should make C available to any scope that does "use A::B;". 21:16
lue ... 21:17
lue is in stunned silence
21:18 bluescreen joined
lue You mean to say all I had to do was add `our' in front of sub C !? *sobs to self* 21:18
21:18 bluescreen is now known as Guest62968
TimToady it's supposed to work with 'my' too, but as the other conversation was pointing out, rakudo is still kinda busted that way 21:18
lue It solves why my experimenting failed, but it doesn't solve the originial problem of there being only OWTDI when it comes to modules. 21:19
tylercurtis If @*INC works like Perl 5's @INC, you can stick callables in there (or maybe objects with an INC method?), and do whatever bizarre import magic you want with it. 21:23
Or, at least, it should for require. Not sure about use. 21:26
tylercurtis hasn't written much Perl 5 and is just basing this on perldoc -f require.
21:28 Italian_Plumber joined 21:29 CoCol left
Tene lue: you don't need 'our' 21:32
sec, I'll post
lue I just don't like the A/B.pm setup in a source code repository, and it shouldn't be the only way to do it. [after all, this *is* Perl 6 :)]
Tene lue: gist.github.com/565509 21:33
lue: that example works fine for me. How does it differ from what you say doesn't work?
lue Hm. I wonder why it didn't work before. 21:34
Grr. Not even ./A::B.pm will work with "use A::B". 21:38
21:38 hercynium joined
Tene whaaat? I don't follow what that means. 21:41
Oh.
No, of course not.
I don't think that that would be *unreasonable* to add to the spec. 21:42
Having multiple possible locations for modules within a single search path would require a specced order to search them in, and possible confusion there, but that's doable. 21:43
You'd have to specify the behavior when there *are* multiple locations. Would there be a warning? Would it be an error? Is A/B::C/D.pm allowed? A::B/C/D.pm? Only trailing /s can be replaced with ::s? 21:44
This isn't anything that anyone involved with Perl 6 has addressed yet, or asked for. I think it would be a nice addition to the spec.
lue afk, but let me say this: imo, the use of modules in Perl 6 is not very Perl 6 right now, because There Is Only One Way To Do It. 21:45
rhebus using ::s is a Good Thing, because it abstracts away the notion of a path separator 21:46
TimToady for the official library, there will be only one way to do it, insofar as once something is official, it must be considered immutable; to change you must give it a different longname (which includes version)
the local stuff can be looser, of course 21:47
but I suspect some people would like their user view to work much like the official library writ small 21:48
so every use is essentially a database query rather than a path search 21:49
path searching just doesn't scale very well, and is somewhat fragile
Tene lue: if you want to do something else, you certainly can do it, there's just only one module loading style specified ATM. You could certainly write a lue_special_use 'A::B' that did what you wanted.
21:50 tadzik left
Tene lue: I do recommend that you put together an initial proposal with a few open questions and submit to p6l 21:50
21:54 Ross left, zby_home left 21:55 Ross joined
TimToady I dislike that specs/ and spectests/ are not very tab-friendly 22:00
so whatever we rename it to should probably not start with "spec"
22:01 Chillance_ joined
diakopte1 testspec? 22:01
vs spec?
TimToady "valid" starts with a rare letter
or something like, "inspect"
Implementation Neutral SPEC Tests
22:01 synth joined
diakopte1 heh 22:01
Implementation Neutered 22:02
TimToady or "respect", "prospect", etc
tylercurtis testsuite or official-test-suite if we want a boring name? 22:03
TimToady validation is more officialese
and I kinda liked Validate All Language Implementation Details 22:05
but then I also liked Sucks Or Rocks Reliably Yet 22:06
is the only way to rename a repo to fork it? 22:07
diakopte1 Backronyms Are Cool, Kinda, Rendering Order Naturally Yet Mnemonically
TimToady ++ 22:08
so we should first pick a word like TORTURE and then figure out what it means
tylercurtis TimToady: Going to the repo, click Admin, type in a different name in the Repository Name place and click Rename also works, I think (I haven't tried it, but I'm looking at the text field next to the button that says Rename). 22:09
TimToady
.oO(torcher)
rhebus rakudo: <1 2>.map: { $_ xx 2 }
p6eval rakudo ff5b4c: ( no output )
TimToady just seems like this would be better done sooner than later
if we can come up with a suitable name
tylercurtis rakudo: .say for <1 2>.map: { $_ xx 2}; 22:10
p6eval rakudo ff5b4c: OUTPUT«1␤1␤2␤2␤»
tylercurtis rhebus: ^^
rhebus rakudo: my @l = <1 2>.map: { $_ xx 2 }; @l.perl.say
p6eval rakudo ff5b4c: OUTPUT«["1", "1", "2", "2"]␤»
rhebus hmm
tylercurtis rakudo: my $l = <1 2>.map: { $_ xx 2}; say $l.perl; 22:11
p6eval rakudo ff5b4c: OUTPUT«(("1", "1"), ("2", "2"))␤»
diakopte1 what are we naming again?
rhebus that's what I'm after
tylercurtis: what do those round brackets mean? is it a flat list or not? 22:12
TimToady it means it's a parcel that hasn't decided flatness yet
that's a lazy decision
tylercurtis rakudo: say (<1 2>.map: { [$_ xx 2] }).perl 22:13
TimToady in slice context (not yet impl) it would turn into subsequences
rhebus when might it not be flat?
p6eval rakudo ff5b4c: OUTPUT«(["1", "1"], ["2", "2"])␤»
tylercurtis The above also works if you really want the result to not be flat.
rhebus no, i want the result flut
*flat
TimToady most listy functions will assume flat by default
rhebus I'm confused, have I suceeded or not? 22:14
22:14 Ross left
rhebus here's my attempt at P12: pastebin.com/TzK9EZv2 22:14
tylercurtis "my @a = <1 2>.map: { $_ xx 2 };" flattened.
TimToady that would depend on what you want to do with the value
rakudo: my $l = <1 2>.map: { $_ xx 2}; say $l.flat.perl 22:15
p6eval rakudo ff5b4c: OUTPUT«("1", "1", "2", "2")␤»
rhebus it's shorter and neater than the existing P12 but it's of ambiguous flatness
TimToady that's fine, the ~ will flatten 22:16
most operators that don't want a multidimensional argument will flatten 22:17
you'd generally use slice to force it the other way
rhebus I think it's best to explicitly flatten
22:17 timbunce left
rhebus so I'll do that 22:17
22:18 sahadev joined
rhebus tada: pastebin.com/34FaLSav 22:18
diakopte1 were we naming the testsuite dir?
niecza: say 3 22:19
p6eval niecza 568bfa6: OUTPUT«3␤»
diakopte1 O_O
cool
TimToady you can just say 'when Array'
since $_ is already set 22:20
well, not as the arg to ??!! though
diakopte1 std: say 4 ?? !! 4 22:21
p6eval std 32123: OUTPUT«===SORRY!===␤Found ?? but no !! at /tmp/MRT9qt2wvc line 1 (EOF):␤------> say 4 ?? !! 4⏏<EOL>␤Confused at /tmp/MRT9qt2wvc line 1 (EOF):␤------> say 4 ?? !! 4⏏<EOL>␤Parse failed␤FAILED 00:01 116m␤»
diakopte1 nits are always discoverable with a powerful enough microscope 22:22
TimToady in any case, you can always leave the $_ off the front of $_.method
22:23 aloha left, bacek left
rhebus TimToady: ++ pastebin.com/nHeaMMZy 22:23
TimToady that should work 22:24
rhebus it does read nicer than ?? !!
it does work
22:24 M_o_C joined
rhebus and it's nicer than the other solution :) 22:25
TimToady once you start getting used to smartmatching, things like .isa start looking like a code smell...er, smelling like an eyesore...er...
rhebus don't look at me in that tone of voice 22:26
TimToady :)
rhebus perl 6 is really really nice so far 22:27
TimToady bows on behalf of a whole bunch o' folks
mathw is always glad to hear somebody say that 22:28
rhebus I've known of it for a while, and heard Damian Conway do a talk at london.pm raving about it
but today's the first day I've dived into it 22:29
22:29 BillN1VUX left
mathw Perl 6 tends to get people to want to rave about it 22:30
diakopte1 I presume the raving was intelligible? :)
TimToady we won't ask if it was mad, we already know the answer
rhebus as intelligible as Damian ever gets
22:35 crythias joined, bacek joined, aloha joined 22:37 svetlins__ left
rhebus is there no infix !%% ? 22:37
rakudo: say 4 !%% 3 22:38
p6eval rakudo ff5b4c: OUTPUT«===SORRY!===␤Infix !% is deprecated in favor of infix %% at line 22, near "% 3"␤»
TimToady rakudo: say 4 % 3
rhebus :/
p6eval rakudo ff5b4c: OUTPUT«1␤»
rhebus oh
er
yes
that error message is confusing, but you have a very good point
TimToady in fact, %% used to be named !%, till we discovered that was confusing
hmm 22:39
rakudo: say 4 ![%%] 3
p6eval rakudo ff5b4c: OUTPUT«1␤»
rhebus heh, it's nice to write an exercise and get pretty much exactly the same as what somebody else has got 22:40
a lot of these 99 problems are only actually difficult in a LISPy environment 22:41
they'd be a lot trickier when having to decompose conses rather than just indexing arrays 22:42
22:43 bjarneh joined 22:44 bjarneh left
rhebus i got 99 problems but lisp ain't one 22:44
22:45 jhuni joined, hercynium left
rhebus does rakudo do tail-call? are recursive examples a sensible idea? 22:49
22:50 svetlins__ joined 22:56 Italian_Plumber left
TimToady p6 is specced to assume tail calls are optimized, but I doubt rakudo does it yet 22:57
22:57 xinming left 22:59 xinming joined 23:02 meppl left
rhebus right I've pushed my examples to github, time for bed 23:14
23:16 rhebus left 23:17 Mowah left 23:30 sahadev left 23:31 M_o_C left, svetlins__ left 23:32 svetlins__ joined 23:37 cotto joined, svetlins__ left 23:44 masonkramer left, masonkramer_ joined 23:45 jedai joined
tylercurtis Has Perl 5 stolen ... yet? 23:53
TimToady they have a problem: ... already means something else 23:54
it's a variant of scalar ..
I'm thinking "roast" repo of all spec tests (or some such) 23:55
23:55 svetlins joined
TimToady can be used as both a noun and a verb 23:56
23:57 svetlins left
tylercurtis perldoc.perl.org/perlop.html#Yada-Yada-Operator They seem to have "!!!", but it's named "...". 23:58
23:58 svetlins joined
TimToady that's different, where a term is expected 23:58
or were you asking about p6's yada?
rather than series
tylercurtis was unclear. 23:59
I meant yada, yes.
TimToady spectests/ is now roasts/
er, roast/
23:59 svetlins left