»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! | Rakudo Star Released!
Set by diakopter on 6 September 2010.
00:02 f00li5h is now known as F00LI5H 00:06 justatheory left 00:14 simcop2387 is now known as SIMCOP2387 00:18 araujo left
SpiceMan has anyone noticed how *horrible* planetsix.perl.org renders on IE ? 00:22
00:24 Schwern joined
flussence the markup on that page is... ironic 00:25
00:26 Util_ left, Util joined
SpiceMan ironic? is that the aim ? to look horrible on IE and ok in other browsers? 00:27
(just ok, nothing great :P)
flussence looking at the source, I'm amazed it renders at all...
00:28 Schwern left 00:40 araujo joined 00:41 envi joined 00:43 stkowski left 00:47 justatheory joined 00:52 Schwern joined 00:55 stkowski joined 01:00 QinGW joined 01:16 _twitch left 01:19 Entonian left
PerlJam Is there a time-lag for p6c? Or a moderation bit set or something? 01:24
01:28 meppl joined 01:29 earth joined 01:31 earth left 01:45 higmotherQ joined 01:47 higmotherQ left, stkowski left 01:49 d4l3k_ joined 01:50 dalek left, lestrrat left, lestrrat joined, wooden left 01:51 larsen left, ironcamel left, d4l3k_ is now known as dalek, ChanServ sets mode: +v dalek, \xF0_ left 01:52 betterworld left, ironcamel joined, mathw joined, betterworld joined, wooden joined 01:58 whiteknight left 02:00 larsen joined, \xF0 joined 02:01 _twitch joined 02:05 stkowski joined, stkowski left 02:06 zostay left 02:07 zostay joined 02:16 zostay left 02:17 zostay joined 02:18 alester joined 02:20 wolfman2000 joined, Viper550 joined
Viper550 perl6? 02:20
wolfman2000 Evening. ...man, masak isn't here. drat.
Viper550: I occasionally check up on this room to see how Perl6 is coming along. I know some web framework code was in development, so I wanted to check up on that. 02:21
However, the main person to speak to on that, masak, isn't around right now
Viper550 catalyst?
wolfman2000 That's Perl5
And...I've had issues with catalyst in the past.
More of them were on me than the framework, however
02:22 ggoebel left
PerlJam Perl 6 is coming along nicely :) 02:27
Rakudo release #34 came out today. A new Rakudo Star release is due next week. 02:28
wolfman2000 Any ETAs til...let me think of the term...well, a proper beta?
02:29 masonkramer left
PerlJam wolfman2000: I don't quite understand what that means. What's "proper" to you may not be "proper" to me (or anyone else). 02:29
Util wolfman2000: Perl 6 will not have traditional alpha/beta/release cycles.
wolfman2000 Util: Please remind me of the terminology meant for here
Util is up late with a cold; take the following with a *small* grain of salt. 02:31
wolfman2000 *nods*
Util Each Rakudo release (not R Star) strives to be production quality, without being feature-complete. 02:32
02:33 wormwood_ is now known as wormwood
Util So, if you are able to sling some customizing, and everything that Rakudo currently *does* is the feature set you need, then R is "release quality" 02:33
Rakudo Star adds "all parts included, no customizing skills needed" spit-and-polish. 02:34
If you need part of the Perl 6 spec that Rakudo does not implement yet (like threading/concurrency), then to you, Rakudo is not even pre-alpha 02:35
wolfman2000 Is there...well, a checklist of sorts to see what has been implemented? 02:36
Util If you need speed comparable to Perl 5, then Rakudo is not "release quality" for you.
See perl6.org 02:37
The "synopsis" are really the Specs, and there are linked to test results for each section of the spec.
Very cool
jasonmay what is the equivalent of a 4-arg select (or IO::Select) in rakudo star? 02:38
wolfman2000 okay, these docs look a bit familiar.
02:38 nymacro joined
Util Looking at perlcabal.org/syn/S06.html#Named_arguments , and clicking on "S06-signature/named-parameters.t lines 112-132" 02:39
02:39 SIMCOP2387 is now known as simcop287, simcop287 is now known as simcop2387
wolfman2000 ...not implemented yet. parsefail 02:39
so named_array isn't up
Util Right! Thanks for saving me the typing! 02:40
wolfman2000 I have dabbled a bit in Perl 5 and 6 before...I can at least recognize some of the tests 02:41
Util jasonmay: I don't know. Let me look at the spec
jasonmay I guess I'm not too worried about non-blocking sockets for now 02:43
looks like I could just use IO::Socket::INET
wnated to try my hand at learning the language by making a small MUD :)
Util jasonmay: Good, because [S32]/IO says that all forms of select() have been removed, but I do not see any mention of a replacement (like poll()). 02:44
[S16] is the main IO spec, but it is not complete yet. 02:45
jasonmay I really like how the IO stuff is set up internally 02:46
Util jasonmay: If you built it, please let us know. You will have some performance/size issues in the short term, but things are improving each month.
We only recently started looking at performance *at* *all*! 02:47
jasonmay :) 02:48
Util I have not poked around at the IO internals, but if they are anything like the rest of the system, they are beautiful.
colomon rakudo: sub named_array(:@x) { +«@x }; say named_array(:x(3, "5", 4)).perl;
p6eval rakudo : OUTPUT«[3, 5, 4]␤»
Util wolfman2000, jasonmay, Viper550: dabblers should be aware of the new site: try.rakudo.org/ ; it has read-eval-print loop with multiline memory *in* the browser. 02:50
colomon Util, wolfman2000: Actually, the parsefail message there is nonsense. It parses just fine atm, but the tests have normal fails. Most of the issue seems to be that the tests expect :x to be like @x = (), but rakudo treats it as @x = Bool::True. 02:56
wolfman2000 ...I wonder if an empty array/list is supposed to be true in this language 02:57
Util colomon: thanks for the piece of mind; I grab that as a good example of something that worked, and typed before checking that it *did* work.
Viper550 me and wolfman2000 were trying to pick a scripting language for a new forum script 02:58
wolfman2000 Viper550: I don't think Perl 6 is ready for us yet 02:59
It was worth a shot though. Some languages grow by leaps and bounds
02:59 xinming left
Util wolfman2000: empty array/list is false, like in Perl 5. 03:00
Viper550 he was trying to get me off doing it in php
colomon I'm starting to suspect these tests are prehistoric
Util perl6: my @a; my @b = 42; say "a" if @a; say "b" if @b;
p6eval pugs, rakudo : OUTPUT«b␤»
03:00 xinming joined
wolfman2000 Viper550: I can't do everything in PHP. There is more out there. 03:01
Util perl6: my @a; say ?@a;
p6eval rakudo : OUTPUT«Bool::False␤»
..pugs: OUTPUT«␤»
Viper550 I was running under an assumption that not every free web host out there is properly tuned to use scripting languages other than php
wolfman2000 Viper550: We may have to pay. Don't restrict yourself to free 03:02
Viper550 I'm trying to make this something that could be easily adopted by as many people as possible
dalek ast: 600cd40 | colomon++ | S06-signature/named-parameters.t:
Update fudging.
03:07
03:17 colomon_ joined, colomon left, colomon_ is now known as colomon 03:22 meppel joined 03:26 meppl left
Util colomon++ 03:27
03:28 kiithroen joined 03:29 kiithroen left, kiithroen joined 03:30 k joined, k left 03:43 mberends left, meppel left, meppl joined 04:11 Lorn left 04:12 Lorn joined 04:27 wolfman2000 left
dalek odel: 23c1a95 | mberends++ | java/runtime/ (4 files):
[java/runtime] catch up to the new Exceptions and leave_block() developments in dotnet/runtime. The java/compiler bits are now lagging farther behind though.
04:40
odel: c556af5 | mberends++ | java/runtime/Rakudo/Runtime/Exceptions/LeaveStackUnwinderException.java:
[java] forgot the all important LeaveStackUndwinderException
04:45
04:50 kjeldahl joined 04:54 shelling_lab left 05:00 QinGW1 joined, Viper550 left, QinGW left 05:07 nsh_ left 05:09 nsh joined, nymacro left 05:37 nymacro joined 05:38 tadzik left 05:39 justatheory left 05:49 alester left
sorear good * #perl6 05:53
06:00 kjeldahl left 06:32 shelling_lab joined 06:37 zby_home_ joined 06:47 rgrau joined 06:55 am0c^ joined 07:24 jfried joined
jnthn oh morning 07:32
07:33 pnu joined
sorear hello jnthn 07:36
jnthn digs into $dayjob...and wishes he could be hacking on NQP.NET instead :-)
07:42 jaldhar left, jaldhar joined 08:10 nymacro left
dalek ecza/master: d2f388d | sorear++ | / (3 files):
Start port of EXPR
08:13
mathw Morning 08:41
09:17 mavrc joined 09:20 wtw left 09:22 masak joined
masak oh hai, #perl6! 09:22
colomon o/ 09:24
09:24 dakkar joined
masak TheDamian++ # p6l email with implementation details (even code!) in it 09:25
09:25 [Sec] left
mathw oh hai, masak 09:26
masak saluton, mathw.
\o, colomon.
moritz_ o/ 09:34
jnthn o/ masak
masak \o \o 09:35
colomon o/ o/ o/ 09:36
09:37 buubot left, buu left 09:38 buu joined 09:42 buubot joined 09:46 timbunce joined
jnthn *sigh* A version control system that doesn't detect changes to version controlled files that are made outside of the IDE is...just broken. :| 09:47
masak jnthn: which one? 09:50
colomon woah, that's beyond broken and well into junk
jnthn TFS 09:55
Yes. We just wasted an hour on a build breakage stemming directly from this brokenness.
10:05 QinGW1 left
colomon interesting LTA error here. 10:18
ah, I see
"Too many positional parameters passed; got 2 but expected 1"
the problem was I left the ($/) off of my action method declaration.
moritz_ well, why is it LTA? 10:19
colomon I guess it does all make sense.
moritz_ (it could include that one of the two is the invocant)
colomon moritz_: took me 30 minutes to figure out what was going on, for one thing. :)
I think including that one of the two was the invocant would definitely have helped 10:20
I guess if I'd looked at the line number given, I'd have seen that it was 10:21
method rest {
if it had said 10:22
at 'ABC::Actions::tuplet' at line 46:lib/ABC/Actions.pm
called from 'ABC::Grammar::tuplet' at line 41:lib/ABC/Grammar.pm
moritz_ it didn't include the name of the method that was being called? 10:23
colomon (both lines actually started with "in ABC::")
moritz_ then it was LTA
colomon it did include it
moritz_ rakudo: say 'b'.uc("f)
p6eval rakudo : OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
moritz_ rakudo: say 'b'.uc("f")
p6eval rakudo : OUTPUT«No applicable candidates found to dispatch to for 'uc'. Available candidates are:␤:(Mu ;; *%_)␤␤ in main program body at line 22:/tmp/rSo3GvkQWL␤»
colomon but there wasn't any indication that that was the problem
if that makes sense
rakudo: sub foo { say "foo"; }; foo(10) 10:24
p6eval rakudo : OUTPUT«Too many positional parameters passed; got 1 but expected 0␤ in 'foo' at line 1:/tmp/2rBAkERPBB␤ in main program body at line 22:/tmp/2rBAkERPBB␤»
moritz_ rakudo: class A { method b() { } };A.new.b(3)
p6eval rakudo : OUTPUT«Too many positional parameters passed; got 2 but expected 1␤ in 'A::b' at line 22:/tmp/Tt9D_Nj56N␤ in main program body at line 22:/tmp/Tt9D_Nj56N␤»
colomon Like that
if it had had the "no applicable candidates" message, I'd have instantly figured it out
10:24 am0c^ left
colomon I dunno, maybe as I do more p6 hacking it will become obvious to me. 10:25
moritz_ well, if it didn't include the method name, it's a bug
colomon but the message as is didn't make me think "the first line is the function it was trying to call" 10:26
it did include the method name, but it was as part of the backtrace
that made me think the problem was something called from there, not the calling of that method 10:27
moritz_ hm
colomon all the information was definitely present
it's just the that form of it didn't point me at the answer
in the future I'll know better (I hope) 10:28
but that's why I say LTA. :)
moritz_ feel free to submit
colomon rakudo: class A { method b() { } };A.new.b(3) 10:29
p6eval rakudo : OUTPUT«Too many positional parameters passed; got 2 but expected 1␤ in 'A::b' at line 22:/tmp/vIlWzJwEGo␤ in main program body at line 22:/tmp/vIlWzJwEGo␤»
colomon rakudo: class A { multi method b() { } };A.new.b(3)
p6eval rakudo : OUTPUT«No candidates found to invoke for method 'b' on object of type 'A'; available candidates have signatures:␤:(Mu ;; *%_)␤␤ in main program body at line 22:/tmp/aqKYTGOUSC␤»
colomon what's the subject line to use for LTA error message in RT? 10:30
10:31 guest__ joined 10:35 tzhs joined
moritz_ colomon: LTA error for ... 10:43
masak I agree about not mentioning the invocant in that error message being LTA. 10:44
it feels like an FAQ, even.
10:46 oyse joined
moritz_ masak: my vocabulary coach now keeps state, and removes any words from the current session if it has been answered 5 times correctly in a row 10:47
masak \o/
that corresponds approximately to what I used to do manually when studying 汉字
moritz_ when I do it manually with cards, I have three "generations" 10:48
one I know so well that I don't have to think about; those I set aside
then one generation where I'm reasonably certain, but it's pretty new (or little-used) knowledge
and one generation with new or unknown words
10:52 ggoebel joined
masak that makes sense. 10:53
automating such generational handling seems to me to be the benefit of doing this on a computer. 10:54
moritz_ has a hard time remembering that 'ski' in Norwegian is femal 10:56
e 10:57
10:59 ggoebel left
masak in Swedish, not many thing nouns are female. 11:00
moritz_ well, my wife's family speaks a dialect where most nouns are male too 11:01
jnthn masak: In Swedish there isn't really female gender now though? Just common and neutered?
*neuter
masak :P
moritz_ neutralized!
masak right, we only have N and T genders, male and female being baked into the former. 11:02
jnthn aye 11:03
I guess there were three once?
jnthn wonders if it'll ever collapse into just a single gender with a few archaic things. 11:04
moritz_ "the" is very handy :-)
11:04 ggoebel joined
moritz_ www.perlmonks.org/?node_id=866667 the answers are hilarious :-) 11:07
11:08 pythonian4000afk is now known as pythonian4000
masak jnthn: aye; Wikipedia says Old Swedish had three genders. 11:10
masculine, feminine and neuter.
so we didn't really lose one; we lost two and gained one.
jnthn: wow, it looks complicated! en.wikipedia.org/wiki/Old_Swedish#E..._Swedish_2 11:11
almost like Slovak or something... 11:12
11:16 am0c joined
jnthn Damm, why'd you have to change it :P 11:18
masak I guess we had to bring Swedish closer to the IKEA ideal of simplicity. 11:19
jnthn I guess it does make assembling sentences easier. :P 11:20
meh, lamers
Only four cases!
Even in old Swedish.
:-)
masak :)
jnthn Slovak had six. :-)
*has
masak I think we've never been big believers in cases. 11:21
OTOH, the four we had, we really used to the fullest.
jnthn I fully concede that dropping them makes the langauge easier to learn. :-) 11:22
masak there's a waterbed thing going on between cases and prepositions. arguably, the latter is easier for foreigners to learn.
jnthn A word is, for most people, much easier than a set of rules. 11:23
And anyway, many uses of case in Slovak were tied to the preoposition too. 11:24
"If you use this prep, but teh following noun into the X case"
masak right. and sometimes one prep can go with many cases. 11:25
it's a bit like a named parameter accepting different types, through several defined multies. 11:26
multis*
jnthn :-)
masak see, we're almost not off-topic at all! :P
jnthn Oddly, I seem to quite naturally find myself considering them two prepositions that happen to have the same spelling.
masak huh. interesting.
jnthn It's still more interesting that debating the differences between compilers and interpreters. :P 11:27
masak I don't, but that's probably because I don't speak any such languages. not even German.
11:29 kiithroen left
takadonet morning all 11:56
masak takadonet: morning!
how are things in Canada?
takadonet masak: getting colder but good. Probably doing a presentation on Perl6 and rakudo for my lab next friday 11:58
masak \o/
getting colder here too.
Juerd Here too 12:00
masak "Winter is coming." -- Stark family motto
Juerd I might turn on the heating one of these days
masak I might go shopping for long johns one of these days. 12:01
jnthn started wearing a jumper today 12:03
Bit warm in the office, but cold enough outside by now to appreciate it.
Juerd Wanna trade some warmth? 12:05
It's cold in my office
jnthn In theory, the law of thermodynamics takes care of this... :-) 12:06
masak and don't anyone dare about the second law working too slowly! :) 12:08
s/dare/dare complain/
Juerd Hmmm 12:09
jnthn It'd make a change from compaling about Rakudo working too slowly. ;-) 12:10
er, complaining
masak I hope Rakudo gets fast before I tire of complaining that Rakudo is slow. 12:11
oh wait.
yes, that makes sense.
takadonet Rakudo really does need to speed up :) 12:14
I can almost see the bytes change! 12:15
moritz_ jnthn++ is working on it
takadonet i know :)
masak and chromatic++
takadonet patience....
masak Rakudo needs to get faster faster! :P
jnthn It just turns out that the two stratergies I'm concurrently working on for big wins are both big tasks. 12:16
12:16 MayDaniel joined
jnthn There's not really an incremental way to swap out either a meta-model implementation or a VM. :-) 12:17
takadonet jnthn: and when they are done, the reward will be awesome!
masak (hopefully)
takadonet masak: no hopefully!
masak by all means. put your expectations on the top shelf. I won't stop you. :) 12:18
oyse Have the internal implementation of objects changed in Rakudo recently. I get a the following error when running the 02eval.t tests for blizkost: "Can't call method "HOW" without a package or object reference." 12:22
s/recently./recently?/
jnthn Not so far as I know. 12:29
I havne't been working on Rakudo master of late really
And don't think anyone else will have done deep object model changes.
oyse jnthn: Do you know if the 02eval.t ever worked? I can't remember if I have gotten it to run before. 12:32
12:32 lamstyle left, MayDaniel left 12:35 lamstyle joined
jnthn oyse: Don't know, sorry. 12:36
sorear may know
12:36 bluescreen joined
oyse Ok. Thanks anyway 12:37
12:42 alester joined 13:02 am0c left 13:09 alaun joined, wamba joined
masak people! this is a pre-announcement! 13:15
on December 10th, I will make an announcement of some sort!
jnthn Oooooh
takadonet !!!! 13:16
masak it will be a kind of "event", in which one can "participate".
jnthn marks the data in his calendar
masak stay tuned. :)
takadonet about perl6?
jnthn BEER FESTIVAL!
takadonet !!!
masak takadonet: I'm not at liberty to say... but yes, about Perl 6.
jnthn Aww. :-)
masak jnthn: you'll be able to drink beer during, I'm sure. :)
jnthn \o/
masak goes to pre-announce on Twitter, too 13:17
frettled masak: I have a suspicion that you may have seen an episode or three of The Daily Show. :) 13:18
masak frettled: :) 13:19
13:19 Patterner left
masak likes that show 13:19
frettled too.
moritz_ really old, but nice obfu (p5): www.perlmonks.org/?node_id=336462
13:22 itz joined 13:23 alester left 13:26 chturne left 13:27 chturne joined 13:31 Psyche^ joined, Psyche^ is now known as Patterner 13:32 tzhs left 13:35 Schwern left, mkramer joined
masak speaking of events; will there be a Perl 6 Advent Calendar this year as well? 13:41
13:42 IRSeekBot joined
PerlJam masak: I vote yes! 13:42
colomon yes!
masak is there something that would make it worthwhile for people who were faithful readers last year?
(while not reducing the value for those who are tuning in this year)
PerlJam masak: more Perly Goodness? 13:43
colomon I assumed we'd cover different topics
or at least, different takes on topics
PerlJam right.
masak so, a repeat of last year, but with different topics.
mkramer what is C<$thing>?
PerlJam mkramer: a scalar? Are you asking about the C<> notation? 13:44
masak mkramer: could you give some more context?
mkramer I'd be stoked for an advent calendar
the C<> notation
masak mkramer: that's Pod for "this is code".
mkramer for instance, in the recent "Tweaking Junctions" post
ahh, alright
thanks
masak TheDamian is very consistent in using it.
arnsholt Holy crap, it's almost time for another advent calendar 13:45
masak :)
arnsholt The last one was just a few months ago ^^
PerlJam notes his post to p6c still hasn't made the round trip back to his mail box.
masak PerlJam: p6c has well-known inexplicable delays.
moritz_ received it 13:57
masak oh; I did, too. 13:58
PerlJam good enough for me, I don't need another copy anyway :)
moritz_ www.nntp.perl.org/group/perl.perl6....g6906.html
14:12 Schwern joined 14:20 MayDaniel joined 14:44 mkramer left 14:51 am0c joined 14:58 tadzik joined
SpiceMan what are the pir files exactly? 15:02
15:03 rgrau_ joined
flussence parrot-assembly language 15:04
oyse SpiceMan: You can take a look here: docs.parrot.org/parrot/latest/html/...o.pod.html 15:05
SpiceMan: See under the heading instruction formats
SpiceMan ok, I wanted to take a look to hmm "core modules" ? where are they? :p 15:06
oyse SpiceMan: What do you mean by core modules? 15:07
15:07 timbunce_ joined
SpiceMan well, I come from perl5... and wanted to take a peek to "perl 6 code 15:09
15:09 timbunce left, timbunce_ is now known as timbunce 15:10 vapace joined
SpiceMan so I inferred there must be some kind of libraries, that are not exactly part of the language but provide functionality 15:10
like perl 5 core modules
flussence get Rakudo Star, and have a look at some of the .pm files that come with it
moritz_ SpiceMan: currently there are three kind of core modules...
SpiceMan that's what I'm looking for, exaclty
so, I enetered a random library dir, and it had pir files :p 15:11
moritz_ those that you don't need to load, built into the compiler (like utf8 or UNIVERSALin perl5)
those that you need to load, but that ship with the compiler (only Test.pm at the moment)
flussence (they *were* pretty deep down the filesystem tree, last time I checked...)
moritz_ and those that only ship with distributions, not with the compiler
masak Set.pm will be of the second type, too. loading it will get you Unicode operators.
moritz_ maybe I should blog about that 15:12
masak moritz_: yes, please.
also, please find good terminology distinguishing the three types of core. :)
flussence Unicode? as in, all that nice-looking stuff around U+2200ish? 15:13
masak :) 15:15
flussence (somehow I guessed the right number!)
masak *all* of it!
flussence wow
SpiceMan so, lets say for example, I'd like to implement a fastcgi module in perl 6... that'd be a ... third kind core module?
masak it could be, yes. 15:16
flussence that sounds right, if it's core at all.
masak that'd be one nice thing to include in a distribution.
and note that anyone can create a distribution.
15:17 wamba left
moritz_ currently the Rakudo * philosophy is to include what's useful for the user 15:17
that's not very specific, but that's OK since our module portfolio isn't that huge yet
SpiceMan that varies greatly among users
right
moritz_ people come here and ask "is there a module for $JOB?" 15:18
so we see a demand for certain things
SpiceMan what's the popular demand?
moritz_ non-blocking IO and events
SpiceMan I though of fastcgi because I saw libraries/CGI/Hashsomething and not fastcgi thing
moritz_ WEB-ish stuff like CGI, templates
database access
SpiceMan a POE/IO::Async kind of thing?
moritz_ right 15:19
SpiceMan that's lot of work
moritz_ or AnyEvent or Ev or whatever your favorite solution in p5 is
indeed
15:19 vapace_ joined, plainhao joined, vapace left 15:20 Schwern left
SpiceMan ok, I'm kind of a average coder, and looking for someone project to contribute :p 15:21
stuff like parser, compilers etc are above me, right now
moritz_ I started a Perl 6 port of CGI::Application
it needs a lot of work, like modules for handling cookies, integration with template engines etc.
plainhao is there a separate cpan for perl6 modules? 15:22
moritz_ github.com/moritz/CGI-Application if you're interested
plainhao: not yet
SpiceMan moritz_: I'll take a look, won't promise anything
I guess I'll have to get the hang of p6 first
plainhao moritz_, does that mean there are plans to have a separate perl 6 cpan?
moritz_ plainhao: modules.perl6.org/ and one or two module installers
plainhao thanks, moritz_
moritz_ plainhao: well, we'll try to re-use as much of the p5 cpan as possible 15:23
but it's not clear to us yet to which extend that'll work
SpiceMan btw: where can I sign to get rid of camelia ? :p
15:23 vapace joined, vapace_ left
SpiceMan nevermind 15:24
masak where's hugme when you need it?
moritz_ SpiceMan: come up with a better logo that meets all of larry's criteria mentioned in github.com/perl6/mu/blob/master/mis...ia.txt#L48
masak: pinin' for the fjords, probably
masak seems that way.
15:25 hugme joined, ChanServ sets mode: +v hugme
SpiceMan yeah, I know the requirements. I guess that's why I said get rid, not replace. at any rate, I see there's a p6-module-starter. good. 15:25
moritz_ hm, I should work on the module starter again 15:26
it might not work well right now
ETOOMANYPROJECTS
tadzik moritz_: how about adding it to Module::Tools one day?
It's a Module::Tool
pmichaud good morning, #perl6
tadzik good morning pmichaud 15:27
moritz_ tadzik: good idea
SpiceMan moritz_: to be fair. it *does* say "initial perl 6 module starter"
15:27 am0c left
SpiceMan maybe that's a better place to start with 15:27
(for me, I mean)
tadzik SpiceMan: oh, you want to read my blag toast
SpiceMan: ttjjss.wordpress.com/2010/08/09/so-...-6-module/ 15:28
SpiceMan good
I'll take a look
15:29 nymacro joined
masak I wish this blog post had comments, so I could point out that it is wrong, and why: www.polettix.it/perlettix/id_perl6-junction 15:30
tadzik hmm, I could add some mbuild info to that blogpost 15:35
pmichaud I need to come up with a name for a new blog (for me).
masak++ already took "Strangely Consistent" (an awesome blog name, btw :-) 15:36
masak :)
moritz_ what about "Strangly Inconsistent"? :-)
masak pmichaud: "Consistently Strange"? :P
pmichaud heh
"Inconsistently strange" sounds like me. 15:37
15:37 Schwern joined
moritz_ pumpking juice 15:37
15:37 uniejo joined
pmichaud I've been thinking about using the name of my Lego Rock Band: "Plastic Flame" :-) 15:37
masak :)
pmichaud: I think you should call the blog "Burn, Pop-Tart, Burn" :) 15:38
15:39 am0c joined
masak alternatively, something to do with grapes. 15:40
moritz_ why grapes? 15:43
masak www.pmichaud.com/grape/
moritz_ "grapes are just unfermented wine" 15:44
15:44 justatheory joined
pmichaud aha! "Unevenly Distributed" 15:44
masak \o/
jnthn :-)
masak as in the future, Perl 6, and waterbeds! :) 15:45
jnthn The Perl 6 team. Strangely consistent, unevenly distributed and with 6 guts. :-) 15:47
15:47 meppl left
masak likes obra++'s "Perl 5 is Alive!" at www.youtube.com/watch?v=ECSu5Pu0qlk 15:49
pmichaud I like "Unevenly Distributed", but it's a bit longish. I'd generally tend towards something shorter. 15:52
masak "Chunky Future"
moritz_ github.com/moritz/perlgeek.de/blob/...s-core.txt any feedback before I publish? 15:54
masak reads
moritz_: in connection with Perl 5, maybe mention "dual-life". 15:55
15:55 cls_bsd left
pmichaud yes, "dual-life" makes sense 15:55
moritz_ masak: how do they fit into the Perl 6 picture?
15:56 MayDaniel left
masak moritz_: Perl 6 avoids that problem by pushing things further from the core-most core. 15:56
pmichaud I'm not sure that we "avoid the problem" so much as we accept that it's going to happen and figure out ways to mitigate it.
masak yes, that's a better way of saying it. 15:57
"try to avoid", "partially avoid"
"try to partially avoid"
pmichaud blog name: "Partially Avoided"
15:57 oyse left
pmichaud "Partially Void" 15:57
"Practically Void" 15:58
masak would need to be "Practically Sink" :P
tadzik Unevenly Void
masak pmichaud: maybe "Sink Context" is a good blog name. it's a bit like "tail -f blog > /dev/null" that I've seen somewhere. 15:59
pmichaud Hmmmmm
SpiceMan signed void 16:00
16:01 Ross joined
tadzik Sink Distributed 16:01
16:01 MayDaniel joined, mberends joined
tadzik or Void Distributed, in this type 16:01
moritz_ paragraph on dual life modules added; published
masak++ 16:02
mberends \o/ yayitsweekend!
masak moritz_++
yayitsmberends! \o/
moritz_ the Perl 6 ship - we Sink distributedly
SCNR
masak "Sink Unevenly"
pmichaud: "The Waterbed Theory" 16:03
pmichaud "Perl 6 -- we really do have a sink."
justatheory <- in waterbed
masak std: KitchenSink
p6eval std a194beb: OUTPUT«ok 00:01 118m␤»
masak std: Waterbed
p6eval std a194beb: OUTPUT«===SORRY!===␤Undeclared name:␤ 'Waterbed' used at line 1␤Check failed␤FAILED 00:01 117m␤»
moritz_ justawaterbedtheory! 16:04
SpiceMan about core modules... space is cheap. 16:05
moritz_ right; but people's time is not.
tadzik it's about maintemancemanship I think
moritz_ right
masak right.
moritz_ it's also about stability
masak pmichaud: "My Bikeshed is Blue"
SpiceMan uhm 16:06
tadzik also, Star ships plenty of modules
but they are like "we don't come with any warranty, beware"
16:08 risou joined
masak pmichaud: "$pm.blog( all @thoughts )" 16:08
SpiceMan tadzik: isn't that always the case with open source? :) 16:09
masak pmichaud: "OH HAI" :)
16:09 vapace_ joined, vapace left
tadzik SpiceMan: well, Perl 5 core modules get tested, and stuff :) 16:10
masak pmichaud: "Spunky little sister"
tadzik also, 2010.09 is around 10-30% faster than the last one
masak pmichaud: spunkylittlesister.org/ is still available :)
pmichaud still a bit too long for me, though :) 16:11
masak "Spunky"
tadzik Spunky Sis
masak \o/
pmichaud also, I'm thinking the blog may be more than just perl 6 articles
masak then you should call it "Re:" 16:12
moritz_ maybe we should rename Perl 5 to "spicy perl" and Perl 6 to "spunky perl" *SCNR*
Juerd SpiceMan: Well, for all my open source software, the user can get a full refund if they don't like it. (Of course, only when they got it directly from me.)
16:12 vapace_ left
masak moritz_: that's not a half-bad idea. I like it better than "Camelia Perl". 16:12
pmichaud does Yapsi have a warranty? ;-) 16:13
dukeleto waves
masak we guarantee that you'll enjoy it fully, or get an official apology.
tadzik dukeleto: o/
SpiceMan doh, now I get it. i did git clone git://github.com/rakudo/rakudo.git
so I have rakudo, not rakudo star?
moritz_ SpiceMan: correct
masak SpiceMan++ # level up! 16:14
moritz_ SpiceMan: github.com/rakudo/star/downloads for the Star release
jnthn masak: I'm tempted to fail to enjoy it now just to see if the official apology is as entertaining as the release notices. :-)
masak jnthn: all part of the plan. that means you'll try it out :P
moritz_ wonders if he broke the yapsi build on p6eval
pmichaud <off-topic> One of the downsides to supporting any political campaign for office is that you're then innundated with kooky email that assumes you're hyper-partisan. </off-topic> 16:15
masak jnthn: (the official apologies are *awesome*)
jnthn Vote pmichaud!
moritz_ yapsi: say 1
p6eval yapsi: OUTPUT«sh: /home/p6eval/rakudo-alpha/parrot_install/bin/alpha: not found␤»
masak alpha?
SpiceMan no wonder there was barely anything there :p
masak that's a long time ago.
jnthn nqpnet: say("ENOTYET")
:-)
masak pmichaud: "»-partisan" :) 16:16
16:16 vapace joined 16:17 p6eval left
dalek albot: cbc39d2 | moritz++ | evalbot.pl:
yapsi now runs on current rakudo, masak++ says
16:17
moritz_ yapsi: say 1
ugh, reconnect slow
16:17 p6eval joined, ChanServ sets mode: +v p6eval
moritz_ yapsi: say 1 16:17
p6eval yapsi: OUTPUT«===SORRY!===␤Unable to find module 'Yapsi' in the @*INC directories.␤(@*INC contains:␤ lib␤ /home/p6eval/.perl6/lib␤ /home/p6eval/p1/lib/parrot/2.9.1-devel/languages/perl6/lib␤ .)␤»
moritz_ huh 16:18
16:18 envi left
moritz_ the command line has PERL6LIB=lib in front of it 16:18
16:21 zostay left
masak what about the current directory? 16:21
moritz_ what about it?
16:21 mkramer joined, orafu left
masak does it equal the directory that contains the lib/ directory? 16:21
16:21 zostay joined
moritz_ no 16:21
oh 16:22
I hope so
mkramer what if, instead of trying to statically analyze code to see if it can be parallelized, we were allowed to annotate loops, blocks, and subroutines as "pure"
masak mkramer: 'hyper'
S02:4519 16:23
pmichaud: maybe just call the blog "Already Spec" :P
pmichaud: or "Sixth Sense"
16:24 vapace left 16:26 cognominal left
moritz_ Sixth Nonsense! 16:26
masak *lol*
mkramer masak: I don't see how hyper operators are what I'm talking about 16:31
or HyperWhatever
pmichaud mkramer: I think he's referring to the "hyper" keyword/function.
masak mkramer: then you should read the S02 reference I gave you.
16:31 Axius joined
pmichaud S02: "A variant of C<eager> is the C<hyper> list operator, which declares 16:32
not only that you want all the values generated now, but that you want
them badly enough that you don't care what order they're generated in.
That is, C<eager> requires sequential evaluation of the list, while
16:32 lucs joined
pmichaud C<hyper> requests (but does not require) parallel evaluation. ... 16:32
the idea is that "map &block, @list" would run sequentially, while "hyper map &block, @list" is an explicit indication that the map operation is "pure" and can be executed in parallel 16:33
16:34 nymacro left
mkramer Alright, now we're on the same page 16:34
16:34 cognominal joined
mkramer however, I would rather have the option at annotating at a higher level 16:35
if I've annotated methods/subs as pure
method foo is pure { ... }; 16:36
moritz_ but what does "pure" actually mean? 16:37
is it still pure if it reifies parts of a lazy list?
16:39 am0c left
mkramer I think so 16:39
16:40 MayDaniel left
masak I see a "pure"/hyper annotation as something saying "if there are side effects, I'm taking personal responsibility". 16:40
mkramer at least, I should be able to say "I'm TELLING you that this is pure, so just treat it like it is" 16:41
masak exactly.
is not so much about annotating purity as not caring about possible side effects.
pmichaud it's more like telling the compiler "you can optimize more aggressively by ignoring the possibility of side-effects"
16:42 alester joined, vapace joined
mkramer It could be more than that 16:44
hyper gather for @objects { take $^a.MethodNotMarkedAsPure() } ; 16:45
could be a warning
pmichaud no, because you said "hyper" 16:46
"hyper" is explicitly telling the compiler "I'm taking over here."
moritz_ you really want @objects>>.MethodNotMarkedAsPure()
masak I'm not sure gather can ever be hyper.
mkramer how can I hyper >>?
masak 'for' can be, but not 'gather'.
16:47 vapace left
mkramer the spectest needs updating then 16:47
moritz_ masak: >> is hyper
mkramer github.com/perl6/roast/blob/master/....t#L34-L44
16:47 vapace joined
masak moritz_: tab fail? 16:47
moritz_ yes, meant mkramer
mkramer: correct, that test ist out of date
masak it feels dissonant to me to put 'hyper' (or 'eager') there. 16:48
moritz_ mkramer: do you have a github ID? if yes, what is it?
masak the 'take' mechanism of 'gather' is sequential in nature.
moritz_ masak: spectest are not about taste, but about exploring special cases
pmichaud masak: you'd accept gather hyper for @objects { take $^a.method; } ? 16:49
masak pmichaud: yes.
moritz_: I'm not making a judgement about taste, I'm making a judgement about the physically possible.
moritz_ masak: well, hyper() doesn't guarantuee parallelism 16:50
masak moritz_: and yet we agree that the test is out of date?
takadonet www.reddit.com/r/programming/commen...e_is_core/
16:50 isBEKaml joined
moritz_ masak: yes 16:50
mkramer moritz_: I just created a github account - name masonk
masak moritz_: I fail to follow, then.
mkramer moritz_: would you like me to update the spectest? 16:51
masak moritz_: do you think that putting 'hyper' before 'gather' means anything at all?
if so, what?
moritz_ mkramer: yes please; you have commit access now
16:51 am0c joined
moritz_ masak: I think it's the same as 'eager', plus losing the guarantuee of sequentiality 16:51
mkramer let's wait until this conversation plays out :)
16:51 vapace left
masak moritz_: please explain to me how the contents of an arbitrary gather loses the "guarantee of sequentiality". 16:52
16:52 am0c left
mkramer do you mean: what is the guarantee of sequentiality? 16:53
masak no, I get what it is. for a 'for' loop. or a 'map'.
not for a 'gather'.
a 'gather' is not in itself a looping construct.
moritz_ hm, right
masak it's just a block with some special 'take' semantics.
pmichaud actually, it is a looping construct internally 16:54
moritz_ masak: but it could hand on the hyperness to its inner context
masak pmichaud: if it is, it's not one that can "lose sequentiality".
pmichaud masak: I agree with that.
masak moritz_: right. but that's sugar.
moritz_: then it means something else.
moritz_ hm... 16:55
masak I don't think I'd like that kind of sugar, by the way.
what if there are two for loops inside?
16:55 cdarroch joined, cdarroch left, cdarroch joined
pmichaud I agree with masak++ here. 16:55
masak or three, but on different nesting depths?
moritz_ gather { hyper for { .&take } } # would produce weird results
ok, I'm with masak++ too
masak hokey. time for noms, then. 16:56
o/
16:56 masak left
pmichaud yes, nom here also 16:56
moritz_ mkramer: so likely the tests are OK after all 16:57
isBEKaml rakudo: for ^10 { (<une dos tres>).pick(1).say }
p6eval rakudo : OUTPUT«une␤une␤dos␤dos␤tres␤tres␤une␤dos␤dos␤dos␤»
isBEKaml rakudo: for ^10 { (<une dos tres>).pick(1).say }
p6eval rakudo : OUTPUT«une␤tres␤dos␤une␤dos␤dos␤tres␤une␤une␤tres␤»
isBEKaml .pick is not _very_ random, is it? :) 16:58
mkramer moritz_: there's still "    my @test = hyper gather { for 1 .. 5 { $counter++; take $_; } }; " in the spectest
isBEKaml [logs] wow, just when I was thinking I could start off where I left off of yapsi, there's some talk of it! :) 16:59
moritz_ isBEKaml: what's not very random about it?
mkramer: we just came to the conclusion that 'hyper gather' has no effect, becase gather isnot a looping construct
isBEKaml moritz_: I'm not sure, it just repeats the same thing the first time you try that. 17:00
I guess I don't have much entropy (does .pick use the system entropy? )
mkramer moritz_: right, so why is "hyper gather" in the spectest?
moritz_ isBEKaml: une␤une␤dos␤dos␤tres␤tres␤une␤dos␤dos␤dos␤ ne une␤tres␤dos␤une␤dos␤dos␤tres␤une␤une␤tres
17:00 Axius left
moritz_ mkramer: probably because of a misunderstanding of the original author 17:01
17:01 estrabd left
moritz_ mkramer: still I think the tests are correct, even if they don't make very much sense 17:01
better tests welcome!
17:02 estrabd joined
isBEKaml moritz_: not to pick(pun intended), but I was curious how .pick does it. 17:02
moritz_ isBEKaml: afaict it seeds the PRNG with the current timestamp 17:03
17:05 zostay left 17:06 dakkar left
isBEKaml is surprised at how much memory the repl consumed. 79 megs of free space shot up to 409 megs soon after quitting the repl. 17:06
17:06 zostay joined, skangas left
tadzik isBEKaml: they're still tuning the new gc I think 17:07
isBEKaml tadzik: saw that. Still I was surprised. I never looked at "free" all this time I ran the repl.
17:10 baux joined 17:19 _twitch left
tadzik isBEKaml: not monitoring memory usage makes tadzik a happy boy :) 17:22
17:22 MayDaniel joined 17:25 timbunce left 17:27 enN_ joined, enN_ left 17:32 timbunce joined 17:57 ruoso left 17:58 ruoso joined, Ross left, Ross joined, Ross left, Ross joined 18:08 uniejo left 18:21 patspam joined 18:30 sftp joined 18:36 timbunce left 18:37 stkowski joined 18:42 timbunce joined 18:50 takadonet left 18:51 takadonet joined 18:52 risou left 18:55 icwiener joined 19:03 takadonet left 19:30 plainhao left 19:35 envi joined 19:42 MayDaniel left 19:47 envi left 19:58 Ross left 20:01 Ross joined, Ross left, Ross joined 20:04 Schwern left, Ross left 20:05 Ross joined, Ross left, Ross joined 20:12 zby_home_ left 20:41 stkowski left 20:42 stkowski joined
diakopter sorear++ excellent verbosication of EXPR 20:43
20:44 MayDaniel joined
diakopter verbosification 20:45
tadzik jnthn: github.com/jnthn/6model/commit/9445e1 is there a pun in the commit message, or you accidentally a summary? :) 21:00
jnthn tadzik: As if I'd pun. ;-) 21:01
21:01 bluescreen left
sorear diakopter: huh, I hadn't really thought of what I was doing as verbosification 21:03
I just wanted to get rid of the last LABEL dependency 21:04
diakopter I suppose I should've said clarification
sorear good * #perl6
moritz_: talk to sartak about spaced repetition systems 21:05
Tene supermemo ftw 21:08
wtc.
etc.
jnthn has various iPhone apps that do spaced repetition. 21:09
21:09 pothos_ joined
jnthn (for learning language vocab) 21:09
Seems to sorta work for me. :-) 21:10
21:11 pothos left
moritz_ sorear: huh? 21:24
sorear: what's the context?
ah
"my" system seems to work fine for now 21:25
let's see how it scales for more vocabs
21:28 whiteknight joined, dju left
dalek odel: 3d934db | jnthn++ | dotnet/runtime/ (6 files):
[dotnet] Add storage of exception handlers per block, sketch out a couple of ops for searching for exception handlers lexically and dynamically and a few other bits of stubbing in.
21:28
odel: 973c96d | jnthn++ | / (3 files):
[dotnet] Somewhat reluctantly move KnowHOWAttribute out of NQPSetting and into core. Having meta-object bodies and things that need them at BEGIN time in the same compilation unit doesn't work out and is blocking other progress.
odel: 6a07cb2 | jnthn++ | common/NQP/NQPSetting.pm:
[common] Stub in a simple NQPException exception object and a die sub.
21:34
odel: 19770eb | jnthn++ | dotnet/runtime/Runtime/Ops.cs:
[dotnet] Add a missing null check to the exception handler locators. We can now die.
21:38 sftp left
diakopter We can now die. 21:45
jnthn I shoulda added parens. :P 21:46
tadzik :) 21:47
looks like "Whew, it's over"
21:50 icwiener left
tadzik changing for(1..100000) to loop (my $i = 0; $i < 100000; $i++) cut the execution time in about a half 21:50
(and I don't think this one last iteration caused this :)) 21:51
colomon tadzik: that's completely expected at this point, alas. :(
tadzik I know :(
PerlJam I didn't expect it. 21:52
Now my brain is out of callibration.
tadzik I have this stupid tests, in Perl 5, PIR, NQP and Perl 6. Only bare PIR is faster than Perl 5 atm, which is promising anyway :)
colomon jnthn: I've been meaning to try to combine spaced repetition with an Irish tunes database.
jnthn "Know your Irish tunes!"
colomon: Trouble is, you'd keep getting tempted to forget about the ones you like, so you get to hear them more often. ;-) 21:53
PerlJam tadzik: are you sure PIR is faster than Perl 5? Maybe it was an anomalous execution? Did you run it 20 times and calculate some statistics on the results? 21:54
:-)
21:54 icwiener joined
dalek odel: 06d78a2 | jnthn++ | common/NQP/NQPSetting.pm:
[common] Start to stub in a very barebones ClassHOW. This is enough that class Foo { } works.
21:55
colomon jnthn: nah, focus would be on remembering how to play them. the ones I really like I play all the time anyway. :)
jnthn Oh, I see! 21:56
Playing, not recognizing. :-) 21:57
tadzik PerlJam: no, it really is :)
like 2 times faster 21:58
wklej.org/id/405567/
PerlJam That's just noise.
(I won't actually believe it until there's an order of magnitude involved :) 21:59
tadzik that's just [+] (1..100000) :)
moritz_ hm, we should optimize [+] Range
tadzik so that "benchmark" will go faster? :)
moritz_ yes :-) 22:00
it's also something that people actually use
tadzik but yeah, you're right. It'd even go faster than my loop () {} now :)
is [+] Range just Range.sum?
or is it some compiler magic I dunno how to touch? :) 22:01
22:02 baux left
moritz_ [+] is, on the first level, just a dispatch to prefix:<[+]> 22:02
tadzik it'd have to be added to Range.pm, yep? 22:03
22:03 patspam left
moritz_ it's not that easy... the metaop logic will create a prefix:<[+]> if it doesn't exist 22:03
but if you define one, you'll destroy the automatically generated one, unless you take special care 22:04
22:17 alester left
dalek odel: 52f9692 | jnthn++ | dotnet/runtime/Metamodel/ (2 files):
[dotnet] Fail! .^find_method's signature should be :($obj, $name), not just :($name).
22:17
odel: 4356d78 | jnthn++ | common/NQP/NQPSetting.pm:
[common] Add a VERY hacky but working version of method addition and dispatch into ClassHOW. Not even any inheritance yet. Mostly, it's got lots of TODOs for stuff I need to do next.
jnthn A minor landmark of sorts. :-) 22:18
dalek odel: 26184ae | jnthn++ | dotnet/runtime/Runtime/Exceptions/ExceptionDispatcher.cs:
[dotnet] Sketch out exception handler invocation, resume/don't resume decision and stack unwind call if needed.
22:22
sorear jnthn: here? 22:25
jnthn sorear: Kinda, though my hands are getting achey from a week of $dayjob hacking and NQP.NET hacking every day. :-) 22:26
So I think that's my last patch for tonight. :-)
Much as I'd like to do much more. :-)
22:26 MayDaniel left
jnthn NQP.Net has reached the "addictive to hack on" phase. 22:27
sorear it's the weekend so niecza will see lots of progress :)
jnthn :-)
sorear anyways, I wanted to talk about... types
jnthn I'm taking sleeper train to England tomorrow night.
And then probably muchly offline for a few days.
OK, types. :-)
Tene jnthn: any chance I can get a commit bit on 6model? 22:28
sorear Q:CgOp { (newscalar (some_primitive (cast int (unbox num (@ {$arg1}))) (unbox str (@ {$arg2.str})))) } # I'm getting tired of writing this
jnthn Tene: yes
22:29 stkowski left
jnthn Tene: Your github handle is just "tene"? 22:29
sorear nam::some_primitive($arg1, $arg2) # I'd like to write this
Tene yes
jnthn Tene: You haz a commit bit. :-)
sorear but I'm still thinking about how I want to handle all the boxing/unboxing...
jnthn Tene: Have fun!
sorear: Hmm...what you don't want to write looks a decent bit like what I've got it as on 6model. 22:30
sorear I have a few primitive types 22:31
obj - pointer to Perl 6 object
var - pointer to Perl 6 container
num - System.Double
int - System.Int32
etc
jnthn I have obj/num/int/str as primitives 22:32
sorear all Perl 6 expressions generate a low-level expression of type 'var'
jnthn Didn't yet differentiate containers.
sorear: Is that CgOp creating a new scalar with...a boxed value in? Or unboxed? Or? 22:33
22:33 timbunce left
sorear newscalar = obj in, var out 22:33
with the ro bit set
afk
jnthn ok 22:34
jnthn debates whether or not to take his laptop with him to England 22:36
22:39 tadzik left
jnthn ooh i can irc from my phone :) 22:45
22:47 orafu joined 22:54 mavrc left 23:07 icwiener left, ggoebel left 23:08 Ross left 23:18 pythonian4000 is now known as pythonian4000afk, jferrero joined
colomon jnthn: but you'll never be the first one with a pun if you have to type it out on a phone. 23:23
jnthn I dunno. Some of them, anyone else would be too ashamed to write. ;-) 23:25
Otherwise, you'll just have to get used to me being less punctual. 23:27
diakopter and less homespun 23:28
23:38 ggoebel joined 23:41 jferrero left, dduncan joined, dduncan left 23:42 pythonian4000afk is now known as pythonian4000 23:50 isBEKaml left
jnthn -> sleep 23:50