pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: perl6: say 3; (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/
Set by mncharity on 5 January 2009.
mncharity re Tene's git and graphviz, am I the only one accumulating a *really big list* of "once p6 is working, I can finally do X" items? 00:02
:)
Tene mncharity: Perl 6 wouldn't make this problem much simpler. It's already almost trivial in Perl 5.
mncharity: pleasedieinafire.net/cgi-bin/graphviz 00:06
I'd just need to add a little bit of user tracking or whatever.
00:08 justatheory joined, alexn_org left 00:11 justatheory left
jnthn Tene: That's a pleasant domain name. :-) 00:13
Tene jnthn: I bought it originally so that I could give out my email address as [email@hidden.address] 00:14
It's now the domain pointing to my tiny underpowered server at home.
mncharity re "add a little bit of user tracking or whatever"... "Ruby on Rails (on Perl 6)" ;)
though I don't know if rubinius can run rails yet. and ruby on p6 would likely be rubinius. 00:16
s1n what's up with the integration folder in the test suite?
00:18 alexn_or1 left
jnthn mncharity: Alternatively, Cardinal is the Ruby on Parrot implementation, which may be another path to this some day. 00:20
00:20 meppl joined, |jedai| left
Tene I really need to give cardinal a big rewrite. 00:21
lots of issues.
And absurdly slow
00:21 vixey left 00:22 |jedai| joined
jnthn Tene: Is that partly because of parsing speed? 00:23
mncharity jnthn: nod 00:24
re another path some day 00:25
00:25 j1n3l0 joined 00:26 GitHub197 joined
GitHub197 perl6-examples: 3mberends 07master0 SHA1-3df922d 00:26
re-spelled collaborates as collaborators
is.gd/eE2z
00:26 GitHub197 left 00:31 DemoFreak left
s1n [particle]: was there a specific reason why negated options were needed? 00:33
00:38 hercynium joined 00:40 |jedai| left 00:41 |jedai| joined 00:42 ft left, Limbic_Region left 00:45 Limbic_Region joined 00:56 cspencer left 01:02 mberends left 01:04 iblechbot left
pugs_svn r24783 | putter++ | [elfparse] STD_green_run: started work on --format=p5 dumping. STD_blue_run: honor --start=RULE. nodes_create.pl: bugfix, now tagged executable. 01:12
mncharity but... the version in svn is doing ./STD_green_run --start=integer -e 3, but not --start=number. :/ Sigh. Debugging for another day. 01:15
good night all &
01:15 mncharity left 01:16 Limbic_Region left 01:24 j1n3l0 left, j1n3l0 joined 01:25 j1n3l0 left 01:32 jklai left 01:37 elmex left 01:39 stephens left 01:44 alc joined 01:53 Exodist left
Tene jnthn: it's all parsing speed 01:56
jnthn: precompiled cardinal runs about the same as rakudo 01:57
02:15 jhorwitz left 02:26 meppl left 02:29 justatheory joined 02:45 alanhaggai joined 02:54 |jedai| left 02:55 |jedai| joined 02:57 wknight8111 left 03:03 justatheory left 03:05 |jedai| left, |jedai| joined 03:33 alanhaggai left 03:41 fridim_ left 03:45 plainhao joined 03:58 hercynium left 04:19 ChrisDavaz joined, kisu left 04:24 kisu joined 04:45 plainhao left 04:46 aindilis left 05:02 ChrisDavaz left 05:04 meppl joined, Student left 05:17 alester joined 05:38 ChrisDavaz joined 06:03 azawawi left 06:06 meppl left 06:19 |jedai| left 06:20 |jedai| joined 06:49 ashizawa joined 07:02 vixey joined 07:05 |jedai| left, |jedai| joined 07:13 mberends joined 07:16 xinming_ joined 07:23 ejs joined 07:30 xinming left 07:31 xinming joined 07:38 xinming_ left 07:41 ChrisDavaz left 07:46 ChrisDavaz joined 07:51 ChrisDavaz left 07:58 ChrisDavaz joined 08:12 preflex left, alester left 08:13 tcliou|Away joined, tcliou|A1ay left, maerzhase joined 08:14 DemoFreak joined, magnarjg joined 08:21 Lunchy_ joined 08:24 ChrisDavaz left 08:28 Lunchy left 08:30 |jedai| left, |jedai| joined 08:37 xinming_ joined 08:45 iblechbot joined 08:55 xinming left 08:58 xinming joined 09:00 maerzhase left 09:11 xinming_ left 09:14 donaldh joined 09:27 magnarjg left 09:38 elmex joined 09:48 maerzhase joined 09:53 DemoFreak left, mj41 joined 10:00 DemoFreak joined 10:05 |jedai| left 10:06 |jedai| joined 10:10 ChrisDavaz joined
pugs_svn r24784 | moritz++ | [S29] typos, thinkos and wording improvements, Brandon++, Tim++ 10:15
10:15 |jedai| left, |jedai| joined 10:23 ejs left 10:30 Chillance joined, masak joined 10:37 damianc joined 10:42 ruoso joined
ruoso Hello! 10:44
mildew: knowhow Foo { } 10:45
p6eval mildew: OUTPUTĀ«[SMOP_LOWLEVEL_MEM_TRACE] Leaking variable in global destruction: 0x8053610 (lowlevel io)ā¤[SMOP_LOWLEVEL_MEM_TRACE] Leaking variable in global destruction: 0x8053720 (lexical scope)ā¤[SMOP_LOWLEVEL_MEM_TRACE] Leaking variable in global destruction: 0x8053fc0 (S1P Package)ā¤[SMOP_LO...
ruoso cool... it's fixed... now we just need to get rid from the warnings in evalbot
Matt-W Hello ruoso 10:46
ruoso hello Matt-W
moritz_ ruoso: just introduce a switch or env var that supresses these warnings 10:52
ruoso there's a compile-time switch 10:53
moritz_ (I had to rm -rf the build dir, wrong permissions...)
masak greetings, Perl 6 buckaneers.
ruoso moritz_, you can disable it in SConstruct
moritz_ @tell azawawi I've updated all debian packages on feather; re screenshot: very cool ;-) 10:54
lambdabot Consider it noted.
moritz_ ruoso: how?
ruoso moritz_, just remove -DSMOP_LOWLEVEL_MEM_TRACE
from SConstruct
moritz_ mildew: knowhow Foo { } 10:57
p6eval mildew: RESULTĀ«unimplemented: at src/AST/Helpers.pm line 108ā¤ AST::Helpers::XXX() called at src/VAST/noun.pm line 31ā¤ VAST::noun::emit_m0ld('VAST::noun=HASH(0xd145080)') called at src/AST/Helpers.pm line 131ā¤ AST::Helpers::EXPR('VAST::EXPR=HASH(0xd142fb0)') called at src/VAST/EXPR.pm
..line 8ā¤ V...
10:57 damianc left
moritz_ that's probably because it didn't produce any output... 10:57
so evalbot wrapped it in ( do { ... }).perl.priint 10:58
ruoso mildew: knowhow Foo { ... } 10:59
p6eval mildew: OUTPUTĀ«unimplemented: at src/AST/Helpers.pm line 108ā¤ AST::Helpers::XXX() called at src/VAST/term.pm line 48ā¤ VAST::term::emit_m0ld('VAST::term=HASH(0x91fbdc0)') called at src/VAST/noun.pm line 9ā¤ VAST::noun::emit_m0ld('VAST::noun=HASH(0xd1400b0)') called at src/AST/Helpers.pm line
..131...
ruoso mildew: knowhow Foo { }; 11:00
moritz_ mildew: knowhow Foo { }; $*OUT.say("alive");
ruoso mildew?
moritz_ does mildew invoke gcc? 11:01
p6eval mildew: RESULTĀ«unimplemented: at src/AST/Helpers.pm line 108ā¤ AST::Helpers::XXX() called at src/VAST/noun.pm line 31ā¤ VAST::noun::emit_m0ld('VAST::noun=HASH(0xd1450f8)') called at src/AST/Helpers.pm line 131ā¤ AST::Helpers::EXPR('VAST::EXPR=HASH(0xd143028)') called at src/VAST/EXPR.pm
..line 8ā¤ V...
mildew: OUTPUTĀ«Could not find variable $*OUT in the lexical scope.ā¤Ā»
moritz_ perl6: say "alive"
p6eval elf 24784, pugs, rakudo 35016: OUTPUTĀ«aliveā¤Ā»
ruoso it does...
it compiles the m0ld code to C, then compiles the C code and run it
moritz_ that explains why it's so freakin' slow 11:02
ruoso mildew: knowhow Foo { }; $OUT.print("Hello from mildew!");
moritz_, that and STD
std: knowhow Foo { }; $OUT.print("Hello from mildew!");
11:02 alc left
moritz_ and it also explains why there might be problems: p6eval doesn't have write privileges by default 11:02
p6eval mildew: OUTPUTĀ«Hello from mildew!Ā»
std 24784: OUTPUTĀ«00:06 84mā¤Ā»
moritz_ I should just fuck security, and change that
ruoso it opens a tmpfile
moritz_ if it's in /tmp/, that's no problem 11:03
ruoso yes, it is a tmpfile
std: knowhow Foo { has $.bar}; Foo.bar = 1; $OUT.print(Foo.bar.FETCH); 11:04
mildew: knowhow Foo { has $.bar}; Foo.bar = 1; $OUT.print(Foo.bar.FETCH);
p6eval std 24784: OUTPUTĀ«00:05 86mā¤Ā»
mildew: OUTPUTĀ«1Ā»
ruoso STD takes forever to parse that...
11:05 |jedai| left
ruoso btw... I'm aware that the code above wasn't supposed to work... 11:05
11:05 |jedai| joined
ruoso but I'm still unsure on how to implement return without it beign "is ref" 11:06
mildew: knowhow Foo { has $.bar}; my $a = 1; Foo.bar := $a; my $a = 2; $OUT.print(Foo.bar.FETCH);
p6eval mildew: OUTPUTĀ«2Ā»
11:07 ChrisDavaz left
ruoso mildew: knowhow Foo { has $.bar }; Foo.^dispatch('bar', (1,2,3)); 11:14
p6eval mildew: OUTPUTĀ«Can't call method "emit" without a package or object reference at src/AST.pm line 247.ā¤Ā»
ruoso mildew: knowhow Foo { method bar { $OUT.print("Hello!") }; Foo.^dispatch('bar'); 11:15
p6eval mildew: OUTPUTĀ«############# PARSE FAILED #############ā¤Unable to parse knowhow definitionā¤Unable to parse block; couldn't find final '}' at /tmp/m58i3kD7f1 line 1:ā¤------> print("Hello!") }; Foo.^dispatch('bar');ā¤ expecting whitespaceā¤Ā»
ruoso mildew: knowhow Foo { method bar { $OUT.print("Hello!") } }; Foo.^dispatch('bar');
p6eval mildew: OUTPUTĀ«Could not find method dispatch.ā¤Ā»
ruoso mildew: knowhow Foo { method bar { $OUT.print("Hello!") } }; Foo.^!how.dispatch(Foo, 'bar'); 11:16
11:16 ashizawa left
p6eval mildew: OUTPUTĀ«reading empty register 16ā¤Ā» 11:16
ruoso hm
ok
mildew: knowhow Foo { method bar { $OUT.print("Hello!") } }; Foo.^!how.dispatch(Foo, 'bar', 1); 11:17
p6eval mildew: RESULTĀ«unimplemented: at src/AST/Helpers.pm line 108ā¤ AST::Helpers::XXX() called at src/VAST/noun.pm line 31ā¤ VAST::noun::emit_m0ld('VAST::noun=HASH(0xd145310)') called at src/AST/Helpers.pm line 131ā¤ AST::Helpers::EXPR('VAST::EXPR=HASH(0xd144520)') called at src/VAST/EXPR.pm
..line 8ā¤ V...
ruoso hmpf
mildew: knowhow Foo { method bar { $OUT.print("Hello!") } }; Foo.^!how.dispatch(Foo, "bar", 1);
p6eval mildew: RESULTĀ«unimplemented: at src/AST/Helpers.pm line 108ā¤ AST::Helpers::XXX() called at src/VAST/noun.pm line 31ā¤ VAST::noun::emit_m0ld('VAST::noun=HASH(0xd145310)') called at src/AST/Helpers.pm line 131ā¤ AST::Helpers::EXPR('VAST::EXPR=HASH(0xd144520)') called at src/VAST/EXPR.pm 11:18
..line 8ā¤ V...
ruoso meh...
moritz_ rakudo now passes 6170 tests on my machine ;) 11:19
11:20 moritz_ sets mode: +oooo [particle] masak ruoso rhr
masak I thought we might have passed 6k after that last flood of new tests ;) 11:21
TimToady: what do you think about providing default format strings to .fmt() ? That way, it can be called without any arguments at all sometimes. 11:25
rakudo: say [1,2,3].fmt('%s')
p6eval rakudo 35017: OUTPUTĀ«1 2 3ā¤Ā»
Matt-W moritz_: woooo!
masak rakudo: say [1,2,3].fmt()
p6eval rakudo 35017: OUTPUTĀ«too few arguments passed (1) - 4 params expectedā¤current instr.: 'parrot;List;fmt' pc 4155 (src/classes/List.pir:322)ā¤Ā»
avar how many tests does mildew pass?
moritz_ masak: it doesn't make sense to call .fmt explicitly (saying "I want it in a particular format") without specifying a format 11:26
masak: then you'd just stringify it
masak hm.
true.
moritz_ use.perl.org-- # down 11:27
masak rakudo: say ~[1,2,3]
p6eval rakudo 35017: OUTPUTĀ«1 2 3ā¤Ā»
masak rakudo: say ~{1 => 2, 3 => 4}
p6eval rakudo 35017: OUTPUTĀ«1 2ā¤3 4ā¤ā¤Ā»
masak rakudo: say {1 => 2, 3 => 4}.fmt("%s\t%s") 11:28
p6eval rakudo 35017: OUTPUTĀ«1 2ā¤3 4ā¤Ā»
masak oy! what with the extra newline in the stringification case?
masak submits rakudobug
moritz_ where is the bug? 11:29
masak moritz_: it might be considered a bug that the last two results differ.
moritz_ so what does "%s\t%s" mean on hash? 11:31
masak moritz_: key, tab char, value
moritz_ masak: and how should they the separated?
masak by newlines, that's the default. 11:32
but the operative word is 'separated'
there shouldn't be a final newline
(apart from the one that 'say' outputs)
moritz_: re use.prgl.org down: aye, fail. however, RT is fast today. :) 11:35
moritz_
.oO( <use.perl.org rt parrot-svn>.pick(2) )
masak some kind of cosmic law, aye. 11:36
is there someone we should share our righteous ire with about use.perl.org, btw? someone who holds the keys to the webapp. 11:37
moritz_ I don't know who runs it 11:38
I have another blog post coming, "Perl 6 Tidings 2009-01", but the server is very slow atm, it might take another 30min until the post shows up 11:40
masak moritz_++
moritz_ (actually it's perl6.vim that's slow - I'm re-generating some pages that use Text::VimColor + perl6.vim for hilighting)
masak ooh, gotta try that. 11:41
moritz_ and as soon as I started to write about its slowness, it's finished ;-)
perlgeek.de/blog-en/perl-6/tidings-2009-01.html
masak what's the state of Perl 6 syntax highlighting for Emacs? 11:42
moritz_ it's probably "whatever the file in util/ looks like" 11:43
aka cperl-mode.el
Matt-W perl6.vim is very very slow :( 11:44
It's a shame
moritz_ hinrik improved it very much, but used so many look-arounds in the regexes that it became abyssimal slow 11:45
Matt-W Does anybody know if it's because of fundamental things about Perl 6 and vim's language, or can it be overcome with a brain-meltingly clever rework?
moritz_ it probably needs some re-thinking 11:46
Perl 6 needs predictive parsing; you can't emulate that with lookarounds
masak moritz_: typo in tidings: s/my last updated/my laste update/ 11:49
uh, but 'last', not 'laste', of course. 11:50
masak is mentioned twice! o/ 11:51
moritz_ thanks, fixed
11:52 lisppaste3 joined
literal Matt-W: it's very slow because of predictive parsing and some dynamic things like Q//, for example, Q allows a lot of adverbs to come after it, in any order, which can affect the highlighting. Handling that with regexes is very hard/slow 11:53
perl6.vim currently only pays attention to the first adverb, and it still needs a lot of regexes to do it
Matt-W so 11:54
ouch
literal Perl 6 is exactly the kind of language that vim's highlighting was not designed for :P 11:55
Matt-W clearly the solution is to get vim to use perl 6 as a scripting system for syntax highlighting :P
literal you'd need to patch vim for that
Matt-W yeah I didn't say it'd be easy 11:56
masak it's not impossible either.
Matt-W Nice posts on planet perl 6 lately by the way. It's all very encouraging. I need to polish off what I've been working on and blog about it I think 11:57
literal Matt-W: Padre (padre.perlide.org/) uses STD.pm for highlighting, which is more accurate and (I think) faster. You might want to try it 11:58
Matt-W it's my list of things to do
err
it's ON my list
the list obviously has other things on it
masak I had the idea yesterday to write a blogging system that wraps use.perl.org to make it useable. 11:59
11:59 Ardonel|sleep joined
Matt-W in Perl 6? 11:59
masak aye.
Matt-W Excellent
masak Grammars FTW.
Matt-W I still haven't got my grammar thing working
need to poke that again
but first, some lunch 12:00
masak Matt-W: do that. they do work very well. pmichaud++
Matt-W yeah I think I'm just misunderstanding some concepts maybe
I need to sit down and read the appropriate synopsis very carefully
masak Matt-W: S05.
12:00 Ardonel|sleep is now known as Ardonel
Matt-W and then once I've got it working, write something about it 12:00
masak aye, lunch. that's a good idea.
Matt-W: sounds excellent. 12:01
Matt-W because there cannot be too much information about Perl 6's awesomeness out there
since a lot of people think it's vapourware still
masak Matt-W: where do they get that idea?
Matt-W I may not be able to understand bits of the compiler that I want to improve, but I can do advocacy :)
masak: because they're not paying attention, I suspect
masak Matt-W: this whole vapourware discussion has made me more wary about saying things about projects that I don't pay attention to. 12:02
Matt-W I've learned to say 'I think' and 'I believe' and 'I'm not sure' a lot more
masak that helps a little, but not very much. 12:03
better to say "I don't know" when appropriate.
Matt-W yes
I say that a lot too
unless I'm talking about java, in which case it's 'I don't like' :)
anyway 12:04
lunch &
masak likes Java
it's not good for everything, mind you. but all in all it's a quite pleasant language.
Matt-W I might hate it less if it wasn't for the rule-breaking around String 12:05
masak heh :)
Matt-W why does String get overloaded operators but nobody else can have them?
masak yah, unfair. :)
Matt-W I'm of the C++ school of thought, where you make your user-defined types look like builtin ones
masak you should use a JVM scripting language, that'll soothe you.
Matt-W like Perl 6 does :)
I wish
I only do Java at work
where it's Java 12:06
no Groovy or anything like that :(
masak too bad.
Matt-W yeah and until recently it was java 1.1
too terrible to contemplate
really really really & now
masak :) 12:07
I won't tempt you with more replies.
12:08 Whiteknight joined
ruoso later & 12:09
12:12 ruoso left 12:14 masak left 12:16 Whiteknight left 12:21 Whiteknight joined 12:31 Ardonel is now known as Ardonel|work 12:32 xinming_ joined 12:41 wknight8111 joined, Whiteknight left 12:51 xinming left, Lorn joined 13:02 mbaro joined, mbaro left 13:14 xinming joined 13:23 Chillance left 13:27 vixey left 13:32 xinming_ left 13:53 masak joined 14:15 mj41 left 14:18 mbaro joined
mbaro would it be right to call perl just a scripting language? 14:18
or a programming language?
PerlJam sure, whatever.
mbaro just semantics? 14:19
masak mbaro: aye.
different people mean different things by 'scripting'.
PerlJam There's no clear concensus on what a "scripting language" is.
avar PerlJam: A language you write scripts in
Matt-W Some people use 'scripting' to talk about anything that doesn't have a separate compilation step
avar: sure, but what's a script?
avar :)
PerlJam Some use is as a derogatory term, others use it simply as descriptive. 14:20
masak mbaro: as long as you think that scripting is cool, feel free to call Perl a scripting language. :)
[particle] perl 6 *can* have a separate compilation step
depends on the implementation
masak 'cept for eval.
mbaro masak yeah
mberends 'There Is More Than One Way To Define It' - TIMTOWTDI
Matt-W well, you'd still have to carry the compiler around
PerlJam avar: Oh ... so actors can read and understand scripting languages quite well then :)
mbaro but perl6 is not quite scripting anymore
more programmaable 14:21
masak mbaro: "programmable"? :)
[particle] is javascript "just a scripting language"? i use it (rhino) to write command-line utilities.
Matt-W Perl 6 definitely goes more towards the unambiguous area of a programming language
PerlJam "more programmable" is equally meaningless or vague as "scripting"
Matt-W But I'm sure people will still use it as a scripting sort of tool, gluing other things together
While other people will still moan about line noise 14:22
mbaro also perl scraped the topaz project way back. 14:23
didn't they?
literal manipulexity and whipuptitude!
PerlJam like 10 years ago.
masak it's OO noise now, which is kinda cool.
Matt-W Perl 6 does look a lot cleaner
masak mbaro: topaz is a long time ago. think Rakudo nowadays.
PerlJam "scripting" in the common vernacular is more an attribute of an implementation rather than a language (at least that's how people use it) 14:24
Matt-W not having brackets around if conditions is quite liberating, and the for @list -> $thing syntax is really nice
mbaro ah
masak Matt-W: that's because you haven't seen a lot of Perl 6 golf, I wager :P
Matt-W masak: I'm thinking mostly of the Perl 6 I've written - I'm not interested in the edge cases where people are deliberately pushing things
PerlJam I mean, I wrote a C interpreter a long time ago that doesn't have the separate compilation step. Does that mean C is a "scripting language"?
mbaro masak: rakudo?
Matt-W Because that's not a typical pattern
mbaro looks it up
masak mbaro: ...which isn't C++, btw, but instead a whole set of tools on top of Pattor, which is written in C.
Matt-W: ack. 14:25
[particle]: how soon will I be able to send flags to my Perl 6 programs?
mbaro and you're right perl 6 yes it is in fact whole oo addition in Perl is that way in my personal view.
masak mbaro: that did not parse. 14:26
but sure, yes.
[particle] masak: hopefully before parrot 1.0
masak [particle]: oki, nice.
[particle]: thinking of faking it in Druid for the time being.
mbaro its got a lot of oo now is what i meant
masak mbaro: yes, we drenched it in OO :)
[particle] druid? 14:27
Matt-W roles are nice
masak [particle]: github.com/masak/druid/
mbaro "drenched"
heh
masak Perl 6 has more OO than OO itself!
Matt-W hmm
no it doesn't
masak it doesn't? 14:28
Matt-W well you can still say close($filehandle);
masak Matt-W: that's just syntactic sugar, honey.
Matt-W sort of the diet version 14:29
since $filehandle.close; is shorter :)
masak
.oO( "cancer of the semicolon" joke )
Matt-W yes! Let's get rid of semicolons! We'll use newlines and | as statement separators 14:30
rakudo_svn r35037 | pmichaud++ | [rakudo]: spectest-progress.csv update: 279 files, 6170 passing, 0 failing
masak Matt-W: write a pragma. :)
Matt-W no if I did that I'd replace all the $ with Ā£ and call it "use British;" 14:31
masak Matt-W: I'd use that. :)
or, more likely, an Euro version.
Matt-W they'd be almost identical
14:31 pbuetow joined 14:40 jferrero joined 14:42 vixey joined 14:48 cspencer joined
masak Perl 6 has a Set class, right? 14:58
buubot: spack Set
[particle] yes
buubot masak: S02-bits.pod:12 S03-operators.pod:17 S12-objects.pod:1 S17-concurrency.pod:1 S19-commandline.pod:1 S29-functions.pod:1
PerlJam spack?
masak how do I create a Set object? what are the names of the common operators?
literal synopsis pod ack (ack is a replacement for grep) 14:59
masak PerlJam: 'spack', or 'spec-ack', acks the spec.
literal or that
PerlJam ah
[particle] spack seems short for spec-ack
PerlJam I was trying to acronym the "sp" part for some reason.
(but I guess "syn pod" is good enough for that too) 15:00
masak sure, whatever makes you happy. :)
back to the question. say I want the intersection between two sets. how do I write it in Perl 6? 15:01
do I have to import a module to do intersections?
15:03 Student joined 15:05 eric256 joined 15:10 mj41 joined
mberends eric256, on perl6-examples is it ok if I add a /lib directory for modules and a /bin for scripts, both to contain utilities? 15:10
masak perl6: Set.new 15:12
p6eval pugs: OUTPUTĀ«*** No such subroutine: "&Set"ā¤ at /tmp/Y9pqcOpKNT line 1, column 1 - line 2, column 1ā¤Ā» 15:13
..rakudo 35038: RESULTĀ«undefĀ»
..elf 24784: RESULTĀ«Set.new(!!!)ā¤Ā»
PerlJam rakudo: my $a = Set.new; say $a; my $b = SomeRandomThing.new; say $b; 15:16
p6eval rakudo 35041: RESULTĀ«Use of uninitialized valueā¤ā¤Use of uninitialized valueā¤ā¤1Ā»
masak aye.
no such thing as Set in Rakudo yet. 15:17
and there are no hints in the Synopses on how to construct a Set object, or what methods/operators are defined on them.
PerlJam yeah. I didn't realize it was so forgiving about parsing and executing Foo.new where Foo hasn't been previously declared. 15:18
masak so, uncharted terrotory.
PerlJam: feels a bit dangerous, aye.
Matt-W I would have thought Rakudo should complain if you try and make an object from a class it doesn't know... 15:19
PerlJam there was some talk about Set on p6l language a while back, but that's all I remember about it. Maybe there's some good proto-spec info in the p6l archives.
Matt-W: me too
masak I'll go have a look.
Matt-W Wonder how hard it would be to fix that
15:20 alester joined
eric256 mberends: definitly 15:21
mberends thanks, will get a round tuit in about 30 mins 15:22
masak by the time user-defined operators are implemented in Rakudo, someone could propose a decent Set syntax/semantics just by writing a Set.pm module 15:23
Matt-W That might be the way to go about it actually
It's not like Set needs to be core compiler code is it - it's just a core library module I guess
PerlJam Matt-W: I think that's what ended the Set talk on p6l last time :) 15:24
masak Matt-W: sure. except for the parts of Set that participate in smartmatching.
PerlJam though I think someone was arguing that Set needs to be first-class citizenry because of their relation to databases 15:25
eric256 masak: i've been kidna surprised thats not more of how perl6 has been approached. get a base going then write the rest qas perl6 modules that eventualy get compiled into the core language....dunno probably some downside to that speed wise though
eric256 spills hot cocoa down the front of hisself
masak eric256: Hofstadter's Law.
that's the whole secret, I think. 15:26
PerlJam eric256: that *is* how it's being approached actually. :-)
Matt-W masak: I would hope that smartmatching can be handled for additional types in libraries as and when... Set shouldn't have to do special things for it
masak Matt-W: sure, sure. it's just that it's specced already :)
that's why 'spack Set' turned up so many hits on S03. 15:27
Matt-W yeah, but if Set can be a standard module rather than a bit of core language, and do smartmatching and all the other clever things we like, it bodes very well for the content of future CPAN :) 15:29
masak I think this might be the p6l thread in question: www.nntp.perl.org/group/perl.perl6....27171.html
PerlJam could be 15:30
15:31 xinming_ joined
eric256 Tene++ 15:31
15:31 jhorwitz joined
eric256 pleasedieinafire.net/cgi-bin/graphviz thats pretty cool.... i wonder if the wiki has something that could handle that. that would be perfect 15:32
masak no, that's not the right thread. this is more recent, however, and asks how to write literals for Set, among other Perl 6 types: www.nntp.perl.org/group/perl.perl6....30028.html 15:33
15:34 ejs joined
pmichaud ...can I ask for a moratorium on rakudobugs involving sub/method parameters? 15:34
15:34 ejs left
pmichaud (an informal one, at least) 15:34
15:34 ejs joined
masak pmichaud: hokay. 15:34
pmichaud we know that parameters don't work in trunk, and it's just giving a lot more to clean up.
15:34 alc joined
Matt-W They don't? I hadn't noticed... 15:35
pmichaud they work *if* you're only using scalars.
Matt-W But I shall remember not to file a bug if I do
Aaaah
That makes sense then
pmichaud but things like 'is rw' and 'is copy' and passing scalar arguments to array parameters are all known to have issues. 15:36
15:36 Exodist joined
pmichaud (they're largely fixed in the rvar branch, but it's still going to be a day or so at least before I can finish it and merge to trunk) 15:36
Matt-W I'm sure I've passed an ordinary array without any trouble, but I wasn't doing anything particularly fancy
15:39 alc left, xinming left
masak pmichaud: re a temporary ".perl" method: the only thing I can think of is a string of some sort. though that will surely disappoint anyone who tries to feed the result through an eval. on the gripping hand, I can't think of anything that won't. 15:43
jnthn masak: What about a TheClass.new(...) which sets up attributes to their current values? 15:44
masak jnthn: you know, that's actually not half bad. :) 15:45
(why didn't I think of that?)
it will work as long as the 'new' method isn't custom-made. 15:47
which is goodenuf in most cases.
15:47 ejs left
PerlJam anyone defining their own new is probably doing something wrong anyway :) 15:48
masak PerlJam: I'm glad you put that smiley there at the end. 15:49
eric256 if they make their own new they should make there own .perl too ;)
jnthn masak: It'll fall apart fro anonymous classes too.
masak oh, right. yes.
eric256 is there a way in svn to tell which files in a directory you've updated? 15:52
Matt-W svn status
or do you mean updated in the repo
eric256 yea i realized i phrased that wrong. lol. i mean which files i've updated ever. i tried svn log | grep eric256 15:53
Matt-W ah
eric256 but i'm not sure its giving me the full log
Matt-W trickier
masak eric256: svn log -v
PerlJam eric256: if you "svn up" prior to "svn log", it should give you the full log.
eric256 thanks that worked. 15:54
ohh but it only gives me revision numbers not which files. hmph ;)
15:54 dwhipp joined
masak eric256: svn log -v 15:55
PerlJam -v will tell you which files
(your grep will ignore those lines however)
15:55 xinming joined
eric256 yea i'm dumping it into a text file and scanning. looking for anything i did in pugs examples that would be good candidates to move ;) 15:56
that worked perfect. thanks
masak eric256: svn log | perl -ne 'print if /\| eric256 \|/ ... /----/' 15:58
oh, and '-v' on the 'svn log', too.
16:02 xinming_ left 16:03 plainhao joined
pugs_svn r24785 | eric256++ | Updating [examples/rules/basic.pl] towards a working condition 16:12
16:19 stephens joined, xinming_ joined, hercynium joined
[particle] can you guarantee TheClass will have a new method that is the constructor? 16:20
masak?
masak [particle]: no. you can't. 16:21
[particle] better to inspect the class and ask it
masak [particle]: note the words "temporary .perl" :)
[particle] (if that's possible)
jnthn [particle]: It'd inherit a new from Object, no?
So I think it's always have one - it's just what it'd do... 16:22
masak right.
[particle] ok, then, but i'm not sure how you stop it from becoming permanent :) 16:23
eric256 hmmm looking at my own code from 3 years ago is like looking at a strangers code...odd ;) 16:24
PerlJam eric256: It's always that way. 16:25
eric256: that's why you should strive to be kind to the future strangers who may be looking at your code :)
masak not only for that reason. 16:26
16:27 alc joined 16:28 masak left, cspencer left
eric256 Matches don't have .perl yet right? 16:29
16:32 lambdabot left, |jedai| left, |jedai| joined 16:34 lambdabot joined 16:36 justatheory joined 16:37 Student left, xinming left 16:44 mbaro left
eric256 i took a first pass at adding to the glossary.. can someone check and make sure i didn't do anything stupid and suggest entries for some of the ones i left blank 16:45
www.perlfoundation.org/perl6/index....0212211028
16:52 icwiener joined 16:57 jferrero left 17:00 plainhao left 17:01 icwiener left 17:03 plainhao joined 17:05 Khisanth left 17:06 Khisanth joined 17:07 pdcawley joined, Khisanth left, xinming joined 17:11 donaldh left 17:12 azawawi joined
azawawi hi * 17:12
17:14 pjcj joined
azawawi moritz_: ping 17:14
17:20 xinming_ left 17:21 justatheory left 17:22 ruoso joined
mberends perl6 -e'say @*ARGS;' a b c # rakudo r35051 says nothing, should say abc 17:22
can anyone verify this? 17:23
azawawi i think those special variables are still not implemented last time i checked
rakudo: say $*OS; 17:24
p6eval rakudo 35051: OUTPUTĀ«linuxā¤Ā»
azawawi rakudo: say $?OS;
p6eval rakudo 35051: OUTPUTĀ«Lexical '$?OS' not foundā¤current instr.: '_block14' pc 46 (EVAL_12:36)ā¤Ā»
azawawi rakudo: say @ARGV;
p6eval rakudo 35051: OUTPUTĀ«Scope not found for PAST::Var '@ARGV'ā¤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)ā¤Ā»
PerlJam azawawi: it's not ARGV anymore
azawawi oh ;-) 17:25
hi PerlJam
mberends rakudo: say @*ARGS
p6eval rakudo 35051: OUTPUTĀ«ā¤Ā»
mberends rakudo: say %*VM<config> 17:27
p6eval rakudo 35051: OUTPUTĀ«mandir /usr/local/mani_sysin i_unistd defineHAS_READLINE 1-Wchar-subscripts 1i_sysioctl defineosname linux-Wwrite-strings 1jitosname LINUXPATCH 2jit_i386 fcomipi_sysndir i_systime definebigendian 0oldincludedir
../usr/includeinclude_dir /usr/local/includei_stddef defineVERSION 0.8....
mberends azawawi, @*ARGS was available a few weeks ago, worked for me quite well 17:29
azawawi then great ;-)
i havent used rakudo for a while
17:29 hercynium left, Student joined
azawawi can rakudo parse STD.pm? 17:30
PerlJam azawawi: not quite yet AFAIK
@*ARGS doesn't seem to work right from within -e scripts. 17:31
lambdabot Unknown command, try @list
PerlJam It works find in stand alone programs though
mberends thanks, that fits the symptoms. it used to work in -e, so something broke 17:32
ruoso I wonder if commit messages on spec changes could include the commit message in the subject line... 17:33
17:35 Khisanth joined 17:36 GitHub62 joined
GitHub62 perl6-examples: 3mberends 07master0 SHA1-9adc812 17:36
added /bin and /lib, prove script and Test::Harness
is.gd/eHQe
perl6-examples: 3mberends 07master0 SHA1-a6434cd
added documentation to prove and Test::Harness
is.gd/eHQi
17:36 GitHub62 left
ruoso it would also be nice if GitHub message was shorter 17:38
mberends yes, sorry about that 17:39
17:40 hercynium joined 17:48 alc left
eric256 ruoso: definitly ;) 17:48
github can send the message to a URL, so i could make some sort of page that recieved the message and then posted a message to irc.. or something 17:49
17:50 OuLouFu left, orafu joined
ruoso moritz_, I've just realized we would need to return something if the capture is empty (no invocant and no positional arguments) 17:50
and there's also
return a => 1
perl6: sub foo { return a => 1 }; my $a = foo(); say $a.perl; 17:52
p6eval elf 24785: OUTPUTĀ«Pair.new(!!!)ā¤Ā»
..pugs: OUTPUTĀ«\\("a", 1)ā¤Ā»
..rakudo 35054: OUTPUTĀ«undefā¤Ā»
ruoso should it be Pair or Hash? 17:54
perl6: sub foo { return a => 1, b => 2 }; my $a = foo(); say $a.perl;
p6eval pugs: OUTPUTĀ«\\(\("a", 1), \("b", 2))ā¤Ā»
..elf 24785: OUTPUTĀ«Pair.new(!!!)ā¤Ā»
..rakudo 35054: OUTPUTĀ«undefā¤Ā»
ruoso this should be a hash, for sure...
perl6: sub foo { return 1, 2, 3, a => 1, b => 2 }; my $a = foo(); say $a.perl; 17:58
p6eval elf 24785: OUTPUTĀ«Pair.new(!!!)ā¤Ā»
..rakudo 35054: OUTPUTĀ«too many arguments passed (7) - at most 1 params expectedā¤current instr.: 'return' pc 14596 (src/builtins/control.pir:29)ā¤Ā»
..pugs: OUTPUTĀ«\\(1, 2, 3, \("a", 1), \("b", 2))ā¤Ā»
ruoso I think we need a dual container 18:00
18:03 GitHub63 joined
GitHub63 perl6-examples: 3mberends 07master0 SHA1-57d23fe 18:03
added HTTP_Daemon.pm to /lib, a very simple web server
is.gd/eHY1
18:03 GitHub63 left
mberends sorry about the noise again 18:04
ruoso mberends, not a problem...
it would just be nicer if it was shorter... but it's not really a burden
mberends yes, a one liner would be ideal 18:06
eric256 could the svn bot be setup to monitor a twitter feed? i could have it send commit messages to twitter and the svn bot could pick them up 18:10
i'd even be happy to update the svnbot if the source is accessible
is it svnbot in rakudo/pugs/examples/network? 18:12
oh never mind
thats a perl6 one
18:17 Psyche^ joined
eric256 i set it up at twitter.com/perl6examples 18:19
mberends cool. does that mean #perl6 will not get any notification at all? 18:23
eric256 no i left perl6 on till i can contact whoever runs that bot ;) 18:24
shouldn't be too hard to get it to catch twitter updates along with svn updates. dunno
18:24 barney joined
eric256 github.com/guides/post-receive-hooks it can send JSON data to a cgi app 18:25
ruoso later & 18:33
18:33 ruoso left 18:34 Patterner left, Psyche^ is now known as Patterner, aindilis joined 18:35 stephens left 18:36 stephens joined, maerzhase1 joined 18:48 hudnix left
eric256 attemts to setup CPAN on feather to install in his own directory...hmm 18:48
[particle] eric: minicpan should do, i'd imagine
oh, nm 18:49
i misparsed that
18:49 maerzhase left 18:51 hudnix joined 19:03 maerzhase1 left 19:19 iblechbot left 19:20 |jedai| left, |jedai| joined 19:28 athenot joined 19:39 buubot left, buubot joined 19:44 maerzhase joined 19:49 pdcawley left 20:01 ruoso joined
ruoso fears the path things are taking in the Capture discussion... 20:03
20:09 rindolf joined 20:19 barney left
eric256 where is this capture discussion happening? 20:22
moritz_ eric256: on p6l
eric256 ahh
hey moritz_ do you run the bots?
moritz_ eric256: most of them 20:23
ruoso eric256, "returning one or several values..." is the subject of the thread 20:24
20:24 |jedai| left 20:25 |jedai| joined
PerlJam ruoso: you fear, yet you contribute to the fear of others :) 20:26
ruoso heh
but I think we're pretty much preparing the capture spec
PerlJam maybe 20:27
I'm waiting for one of the laterl-thinking folks to wake up and propose something that's strange and beautiful and right.
s/laterl/lateral/
ruoso although there are no many possibilities 20:29
ruoso .oO(the last sentence doesn't look right)
eric256 captures sound very scary ;) 20:45
PerlJam they aren't really.
Interactions with them are hard to pin down though
eric256 (1,2,3, a=>4, b=>5), not being a list of three Ints and two Pairs is odd. though i can see the desire to want to access the pairs by name 20:46
but then what would something like: return (1,2,3,a=>4,a=>5); do?
moritz_ eric256: a Capture is a collection of things that can be passed to subroutine or method 20:47
ruoso eric256, return (1,2,3,a=>4,b=>5) contains a single positional argument 20:48
PerlJam eric256: wait, that *is* a list of 3 Ints and two Pairs (You haven't made it a Capture yet)
ruoso return(1,2,3,a=>4,b=>5) is something else
as well as
return 1,2,3,a=>4,b=>5
20:49 |jedai| left
ruoso you can also use 20:50
20:50 |jedai| joined, justatheory joined
ruoso (1,2,3,(a=>4),(b=>5)) 20:50
20:50 donaldh joined
ruoso to make it a list of three ints and 2 pairs 20:50
ruoso later & 20:51
20:52 ruoso left
eric256 like i said, they sound scary ;) 20:52
dwhipp A more pedantic description of a Capture might be that it's the input to a binding operation; invocation of subs/methods are two examples of this, but so is ":=". Not sure about "="
moritz_ rakudo: say NaN ~~ NaN 20:54
p6eval rakudo 35079: OUTPUTĀ«0ā¤Ā»
pugs_svn r24786 | moritz++ | [t/spec] test for NaN ~~ NaN
20:54 c9s_ joined
PerlJam eric256: a Capture is just a container that can simultaneously hold items of different types. This is very similar to typeglobs in perl 5; thus you have $a, @a, and %a as separate distinct things. 20:54
eric256 but no clear way to define which parts of your capture are which of those values 20:55
PerlJam eric256: Captures just make that a bit more explicit and they're objects in their own right that you can pass around and do various things with.
eric256 why not return Scalar=>5, Array=>(1..10), Hash=>( a=>1, b=>2); ?
PerlJam eric256: have you read the discussion on p6l?
eric256 the most recent one yes 20:56
dwhipp is "Capture" a role or a class?
PerlJam I think of it as a class. 20:57
and the counterpart to Signature.
and the basis for Match objects
eric256 PerlJam: it seems to highlight exactly how confusing the return portion is. it sounds like a case where explicitly defining it is more DWIM than counting on magic
but thats a pretty uneducated 2cents 20:58
dwhipp I'm thinking that this really shouldn't be a discussion of the semantics of "return" statements, but of the semantics of assignment. 21:00
eric256 goes to read the syn and edumacate hisself
buubot: spack capture 21:01
buubot eric256: S02-bits.pod:6 S03-operators.pod:17 S04-control.pod:7 S05-regex.pod:80 S06-routines.pod:15 S07-iterators.pod:1 S09-data.pod:1 S12-objects.pod:2 S13-overloading.pod:2 S29-functions.pod:3
PerlJam dwhipp: in what little I've thought about it, I tend to agree.
dwhipp @a = 1,2,3, b=>4 Vs \( @a, %b ) = 1,2,3, b=>4 --- the backslash is in the wrong place Vs current spec, though 21:04
lambdabot Maybe you meant: activity activity-full admin all-dicts arr ask . ? @ v
moritz_ rakudo: class A { has @.a; method b { @.a = <1 2 3> }; }; A.new.b; say "alive"; 21:06
p6eval rakudo 35079: OUTPUTĀ«Cannot assign to readonly variable.ā¤current instr.: 'die' pc 14950 (src/builtins/control.pir:204)ā¤Ā»
eric256 am i missing the clear definition of captures in the syns? a lot of little bits, but it feels like i'm missing the beg section on captures 21:08
PerlJam eric256: which have you read? 21:09
dwhipp svn.pugscode.org/pugs/docs/Perl6/FAQ/Capture.pod
21:10 preflex joined 21:11 c9s left
pugs_svn r24787 | moritz++ | [t/spec] tests for writing to array and hash attributes 21:14
r24788 | moritz++ | [t/spec] update a fudge message 21:19
21:21 mbaro joined 21:33 pbuetow left 21:34 rindolf left 21:35 |jedai| left 21:36 pdcawley joined, |jedai| joined
Matt-W moritz_: much ++ for adding that test, thanks 21:42
21:46 mbaro left 21:59 |jedai| left 22:00 |jedai| joined 22:08 eternaleye joined, [particle] left 22:09 [particle] joined 22:10 perl6examples joined
eric256 there we go, one liner...now to figure out the (notice) thingy lol 22:12
22:15 perl6examples left, perl6examples joined
perl6examples [perl6-examples] is.gd/eJ7i Eric Hodges - Modify the text some 22:16
[perl6-examples] is.gd/eJ7f Eric Hodges - Privmsg instead of notice
[perl6-examples] is.gd/eJ7i Eric Hodges - Modify the text some
eric256 ohh dear 22:17
mberends wassup eric256?
eric256 it sent the same tweet twice ;) lol
could call it tweetbot lol 22:18
mberends oh, a re-tweeter
eric256 yep, could pull in the perl6 or rakudo tweets as well...dunno, i'm not big on twitter but this is a handy way for github and my bot to converse ;) 22:19
22:19 perl6examples left, perl6examples joined 22:20 Su-Shee joined
Su-Shee Hi. 22:20
perl6examples Tweet! 22:23
22:24 |jedai| left, |jedai| joined
perl6examples [perl6-examples] is.gd/eJ9K Eric Hodges - Moved add_collaborator into bin folder 22:25
mberends your tweetbot is well behaved now 22:26
eric256 hurrah 22:28
any other good perl6 twitterers? lol
22:28 spx2 joined
spx2 I have a server and it has a dynamic ip connection to the internet,it's changing IP every time it connects,how do I make a dns for it in these conditions ? 22:29
[particle] dyndns.org/ 22:32
Su-Shee would someone mind explaining to me how perl6 is doing @INC? I have parrot stuff in one hand, perl 6 build from parrot on the other and I just don't get it. 22:34
pmichaud by default @INC is just '.' 22:35
22:35 Lorn left
pmichaud you can add more directories to that list, in which case Rakudo will search those additional directories for any modules you might 'use' 22:35
22:35 Limbic_Region joined
pmichaud that's about it. 22:35
Su-Shee oh, _that_ difficult... ;) ok. 22:37
if I want to use parrots SQLite3, I don't have to do some additional magic to load the PIR files behind the .pm files, just adding the directory to @INC? 22:38
eric256 hacks together a DNS protocol using Twitter, lmao 22:39
mberends pmichaud, do you know of an RT concerning perl6 -e not populating @*ARGS from the command line? searching rt.perl.org draws a blank. 22:43
pmichaud mberends: I don't know of one, no. 22:45
that sounds like a bug.
22:46 |jedai| left
pmichaud Su-Shee: I don't know how SQLite3 is set up. However, 'use' looks for a .pbc/.pir before loading the .pm. 22:46
22:46 |jedai| joined
Su-Shee pmichaud: I've just tried and it's use-ed without complaining. seem to work 22:47
seems.
22:48 xinming_ joined 22:51 plainhao left 22:54 xinming left 22:58 Student left 23:02 donaldh left
eric256 couldn't use.perl.org/~masak/journal/38212 that be written as a grammar? 23:05
a grammar to find all lines after a certain line and then only capture those lines that meet a certain pattern? 23:06
grammars are smarter than me, especialy when they don't have a .perl yet ;)
well Matches i guess... 23:07
PerlJam yes, that could have been grammarized. 23:09
23:12 Su-Shee left
eric256 could you help me out? i was trying to smart small with a rule that would match either rule item { =item (.*) or .* }; but i don't think thats right 23:14
23:15 spx2_ joined 23:27 hercynium left
eric256 alright i seem to have it working. but getting the matched value is eluding me...hmm 23:28
23:30 pdcawley left, Tene is now known as ]]]]]]]]]]]]tene
mberends eric256, show your rule, maybe I can help 23:31
pasteling "eric256" at 72.1.122.62 pasted "S29 Functions parsing" (16 lines, 309B) at sial.org/pbot/34260
23:31 spx2 left 23:32 ]]]]]]]]]]]]tene is now known as Tene
eric256 i've tried $match[0] $match.[0] $match<item_line> $match.<item_line>....it just keeps coming back undef 23:32
23:33 spx2_ left 23:34 Exodist left
mberends preparing to run the S29 script 23:34
23:40 maerzhase left
mberends the pattern is multiline, but the data a single line. that can never match. 23:40
there are two ways to go: all multiline, or all single line. 23:41
I usually prefer single line, it's the Unix pipes and streams concept 23:42
but then you have to remember state from previous lines to control what to match on subsequent lines 23:43
a multiline solution would maintain a sliding window over a range of lines and pattern match over those concatenated. probably simpler in this case. 23:44
eric256, do you want to do it or shall I do it in the morning? 23:45
23:48 eternaleye left 23:49 Student joined
mberends sorry, looking closer I see that a single line pattern is all that is needed 23:51
pasteling "mberends" at 78.33.161.227 pasted "S29 items grammar solution for eric256" (17 lines, 341B) at sial.org/pbot/34261 23:57