»ö« 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:13 xinming_ left 00:19 pythonian4000afk is now known as pythonian4000 00:25 kcwu left 00:28 risou_ left 00:34 stkowski left 00:37 kanishka joined
Tene what about wrapped blocks, too? 00:45
00:49 masonkramer left, masonkramer joined 00:58 QinGW joined 00:59 QinGW1 joined 01:00 QinGW2 joined 01:03 QinGW left, QinGW1 left 01:13 molaf_ joined 01:17 molaf left 01:19 kcwu joined
sjohnson hi 01:21
01:32 TiMBuS left 01:37 whiteknight left, buubot left, TiMBuS joined 01:43 buubot joined 01:46 emoken joined
dalek odel: 11dbee6 | mberends++ | dotnet/compiler/ (3 files):
[dotnet/compiler] replace all var declarations with actual types
01:50
mberends
.oO( insomnia can be useful at times :)
01:51
02:09 agentzh joined 02:34 jhuni left 02:43 hugme left 02:50 drbean_ is now known as drbean 02:54 QinGW2 left 02:58 jaldhar joined 02:59 QinGW joined 03:10 LoRe joined
dalek odel: 4ad79dd | mberends++ | dotnet/compiler/ (2 files):
[dotnet/compiler] move most Ops method return type definitions from DNST2CSharp.pm upstream to PAST2DNSTCompiler.pm
03:16
03:36 starcoder left 03:41 starcoder joined 03:45 rvrgs joined 03:48 pythonian4000 is now known as pythonian4000afk, aesop left 03:50 emoken left 04:01 pythonian4000afk is now known as pythonian4000 04:04 sftp left 04:10 LoRe left, LoRe joined 04:29 meppl joined, am0c^ joined 04:40 Seahawk56 joined, Seahawk56 left, Seahawk56 joined
Seahawk56 Im new to this. Any advice? 04:41
Anyone? 04:43
tylercurtis Seahawk56: About what do you seek advice?
04:43 kanishka left
Seahawk56 Yes 04:44
Not sure how to use Chatrooms or what I' looking for. 04:46
tylercurtis Are you looking to discuss or learn about Perl 6? 04:48
Seahawk56 learn 04:49
tylercurtis Then this is a great place to be. Are you familiar with any other programming languages?
Seahawk56 No 04:50
plobsing have you downloaded perl6 yet? 04:53
Seahawk56 thanks anyway and for your interest
04:53 Seahawk56 left
florz this bot still needs some improvements ;-) 04:54
TimToady what I was thinking... :)
05:09 masonkramer left 05:14 tylercurtis left 05:42 aesop joined 06:00 _kaare joined 06:02 masonkramer joined 06:19 kiithroen joined 06:20 kiithroen left 06:26 uniejo joined 06:33 justatheory left 06:39 plobsing left 06:41 plobsing joined 07:06 eternaleye_ joined 07:07 baux joined 07:14 eternaleye_ left
cxreg diakopter: hard to trade in a market with no going rates, eh? 07:19
07:19 eternaleye_ joined 07:23 jfried joined 07:24 redicaps joined
diakopter cxreg: to the contrary, I've bought hundreds of thousands at that price over the past few days 07:26
07:26 eternaleye_ left
diakopter you just gotta watch the listings and assume that most of the orders that disappear are filled 07:27
cxreg: but yes the market-maker has great advantages. and it would be much better if essentia were able to be offered in those trades. 07:28
much easier for prices to arise.
sorear diakopter: have you seen my little STD exe? ;) 07:31
diakopter I read about it 07:32
tryfile.exe ?
sorear yes
07:33 mavrc joined
sorear The biggest thing I need to make that work (as, for instance, p6eval's std:) is a way to save lexpads 07:34
diakopter sorear: should I try it on a Nehalem 3.33Ghz tomorrow at work?
sorear which means I need filesystem access, and a serialization framework, and it won't be standalone anymore :/
since it'll need a CORE.syml
and I don't see a sane way to make it use resources 07:35
07:37 eternaleye_ joined
diakopter idly wonders how fast niecza will build on the "beefy" 07:38
07:39 oyse joined 07:43 eternaleye_ left
sorear wonders how much faster a Nehalem 3.33 is than a Northwood 2.00 07:45
08:01 [particle] left
sjohnson hi! 08:06
sorear HI! 08:07
08:16 tzhs joined 08:20 redicaps left
sorear diakopter: rebuilding niecza's setting and running the test suite takes 2:30 on this backwater box (Wikipedia says my processor was released in Jan 02) 08:20
diakopter: so I don't think *that* will be a problem
diakopter: unless you're talking about the compiler proper, which builds in 5 seconds (the Perl 5 compiler has to be fast, since it has no way to save object code)
08:23 IllvilJa joined
sjohnson sorear: hows perl6 life going 08:27
sorear perl6 life!? 08:29
perl6 life will have to take a back seat to real life 08:35
08:38 timbunce joined
sjohnson perl6 will enrich other people's lives though 08:39
seems like it might be worth the cost 08:40
sorear If I pass classes, I might graduate. If I graduate, I might get a better job. If I have a better job, I won't have to work as many hours to pay for food. And I'll have more for Perl 6. 08:42
A small sacrifice now.
sjohnson you seem to be one of the big players for perl 6, you'll be fine 08:44
no need to worry about food on the table
sorear Me? A big player?
Seriously?
08:47 daxim joined
Tene sorear: you mentioned hardware difficulties with audio or video conferencing. Is your development notably constrained by your available hardware? 08:47
sorear: You're definitely one of the notable names in my book, fwiw. 08:48
08:49 uniejo left
sjohnson yeah, you have nothing to worry about 08:51
Tene sjohnson: I wouldn't say that. It's definitely not clear that perl 6 notability will translate into money. 08:52
sorear How many times have you heard jnthn say "afk, $dayjob"? 08:53
Tene I've had far more employment success come out of screwing around on IRC than from working on perl six. :)
sjohnson i don't really mean that, i just mean the knowledge of the internals of p6 that baffle me seem clear to him. if i can make a living doing my modest p5 work, he should have no problem
08:53 xinming joined
Tene Eh, I wouldn't say "no problem". Employment and financial issues don't just disappear at a certain level of compiler knowledge, afaict. 08:54
sorear I rather suspect that my inability to work with pmichaud reflects underlying issues that will bite me when I need to join a company 08:55
sjohnson being articulate and p6 knowledge should do well for him 08:56
with charisma, i think most anything is possible
sorear Perl 6 is a toy language for the forseeable future.
It's not going to get me a job.
sorear out. 08:58
09:01 dakkar joined 09:06 broquaint left
sjohnson sorear: if you think perl 6 was going to get you a job, that wasn't at all what i meant. 09:11
i mean, if you thought that's what i meant
i'll leave it as an exercise to you to figure out what i really meant 09:12
09:35 icwiener joined 09:41 [particle] joined 10:02 am0c joined 10:03 QinGW left 10:05 kanishka joined 10:12 standz left 10:14 tadzik joined 10:27 jfried left 10:30 pythonian4000 is now known as pythonian4000afk 10:34 MayDaniel joined 10:36 wamba joined 10:40 wamba left 10:43 dnl joined
tadzik o/ 10:43
11:02 jfried joined 11:13 agentzh left 11:15 donaldh joined
araujo pastie.org/1250042 11:15
11:19 broquaint joined 11:24 broquain1 joined 11:25 donaldh left
tadzik "fun fact" 11:27
11:29 am0c left
araujo hehe 11:31
11:33 Chat8173 joined 11:36 Chat8173 left 11:40 tadzik left 11:42 [Sec] joined, masak joined
masak oh hai, #perl6! 11:42
11:43 orafu joined
araujo hi masak :) 11:44
11:48 MayDaniel left 11:51 jhuni joined
pmichaud good morning, #perl6 12:00
masak morning, pmichaud. 12:01
pmichaud (star release) I had planned to do that last night, but we had a surprise visit from relatives. It's on my morning agenda. 12:05
colomon o/ 12:06
12:06 broquaint left
takadonet morning all 12:07
araujo pastie.org/1250042 12:08
pmichaud afk, kid deliveries 12:16
masak sorear: [backlog] why should stringifying a Block need to be good for 'serializing closures'? that feels like two quite different things. 12:19
12:23 DarthGandalf left 12:24 DarthGandalf joined
masak araujo: is that (non-Reverse) Polish Notation I see? pastie.org/1250042 12:25
araujo masak,
yes
masak araujo: sometimes "do..end", sometimes "do..done". eww :( 12:26
12:26 dnl left
araujo masak, I am trying to find a keyword actually 12:27
masak also, what about | :num | with pipes on both sides but :x | with only a pipe on one side?
12:27 mm_ joined
araujo masak, you can use any style 12:27
you can even omit the | if oyu want
12:27 mm_ left
masak ah. the latter style is hard to read for me. 12:27
do I guess correctly that unary minus is distinguished by (lack of) whitespace? 12:28
araujo masak, about the keyword, I am trying to find a name that could probably be used as an "end" ... but that doesn't make too much noise, so far I only found done ....
masak suggestion: "end" :)
araujo yes masak
masak just not both "done" and "end" :( 12:29
if you're using Polish Notation, are the parentheses really needed for the if statements?
araujo yeah, I know what you mean ... I have not implemented the 'done' ... it was just an idea :P 12:30
12:30 kanishka left
araujo masak, they are .... 12:30
masak and this is just feedback :P
araujo because I made the 'if' a little bit special ... allowing several conditionals
of course! :D
masak even there, I was surprised that you didn't go with an 'else if' or 'elsif' keyword... 12:31
araujo well .. because .. what you see there .. actually translates to this form:
if (cond0) { ..... } (cond1) { .... } ..... else { } 12:32
masak "translates to"? seems to me it is of that form already.
araujo ^{ :num | if (< num 0) { -1 } (= num 0) { 0 } else { 1 } } 982.8 12:34
you can actually write like that
masak sure.
in Perl 6 too.
araujo well, when I said "translate" .. I actually meant that the do/end kwyrods are actually replaced by '{ }'
12:34 ascent_ left
araujo they are just other names 12:34
masak rakudo: say { if $^num < 0 { -1 } elsif $num == 0 { 0 } else { 1 } }($_) for -5, 0, 42 12:35
p6eval rakudo bc6c6d: OUTPUT«-1␤0␤1␤»
araujo print for [ -5 0 42 ] { :num | if (< num 0) { -1 } (= num 0) { 0 } else { 1 } } 12:36
that would be in koan
12:37 kanishka joined
araujo though I am thinking to turn if <expr> ... to an if <block> 12:38
12:40 colbseton` joined 12:41 MayDaniel joined 12:49 masonkramer left 12:51 am0c joined 12:54 rgrau_ joined 12:57 ascent_ joined 13:00 Trashlord joined 13:05 donaldh joined, ggoebel joined 13:12 plainhao joined 13:15 am0c left 13:16 plainhao left, plainhao joined 13:20 Patterner left
masak twitter.com/farlerdm/status/28888468542 13:22
masak is tempted to write "It's a butterfly!!! o/"
takadonet masak: what's stopping u? 13:25
masak takadonet: twitter.com/carlmasak/status/28889526198 13:26
basically the same thing, but with fewer exclamation marks, and with more feigned innocent sincerity. 13:27
takadonet nice
masak "The Internet treats sarcasm as damage and routes around it." So it's best not to design things with sarcasm in the first place. 13:28
huf_ i think eventually we'll find a sign for it just like we have one for questions 13:29
masak ya think¿¡ 13:30
:)
huf_ :)
flussence there's an "irony mark" already, apparently...
huf_ well, we'd need one that exists on current english keyboards...
masak it's very pretty¿¡ and suitable for the occasion¿¡
plus, it's on everyone's keyboard already¿¡
huf_ yes but it's very uncomfortable to type from behind the monitor 13:31
masak :)
lots of walking back and forth.
13:32 Psyche^ joined, Psyche^ is now known as Patterner
drbean The butterfly is the butterfly that 莊子 dreamed he was. 13:41
masak or was it the other way around? :P
(here's the reference: en.wikipedia.org/wiki/Zhuangzi#The_...rfly_dream ) 13:45
13:45 _twitch joined
masak wow, I've found Google Translate's big weakness. it's called Classical Chinese. :) 13:46
maybe I shouldn't be surprised about that. 13:47
13:48 dnl joined, bluescreen joined
masak Classical Chinese: the ultimate compression algorithm. afterwards, if it's not small enough, you can always run it through a second time. :) 13:49
13:49 bluescreen is now known as Guest86661
takadonet is this working as speced? 13:53
rakudo: for ( < a a > ) -> $x is rw { $x ~~ s:g/a/b/; say $x;}
p6eval rakudo bc6c6d: OUTPUT«Cannot modify readonly value␤ in '&infix:<=>' at line 1␤ in <anon> at line 22:/tmp/S2l1z4M4_9␤ in main program body at line 1␤»
Trashlord ha, that makes me think
if I take some big file (~100MB), compress it, then compress it again, and again, and again, could I eventually hit something like 1MB? 13:54
in theory
sbp nope
PerlJam no
Trashlord I'd never actually do it for real
sbp probably because of something to do with the en.wikipedia.org/wiki/Pigeonhole_principle 13:55
PerlJam Well, you can do that if "compression" actually destroys information. But typically the idea is to find a minimal representation without destroying information.
:-)
sbp the first thing we do is, kill all the vowels
Trashlord hm, yeah, I didn't consider that 13:56
13:56 cosimo left 13:57 cosimo joined
masak submits rakudobug 14:01
takadonet nuts
masak takadonet: any chance you could golf that to something a bit shorter?
rakudo: for 'a' -> $x is rw { $x ~~ s:g/a/b/ }
p6eval rakudo bc6c6d: OUTPUT«Cannot modify readonly value␤ in '&infix:<=>' at line 1␤ in <anon> at line 22:/tmp/2sNZcwyijV␤ in main program body at line 1␤»
masak oh wait! 14:02
it's not a bug at all, of course.
the 'a' is what's constant here.
nothing to see here, move along.
if you do 'is copy', it should work.
(or sit back and think about what you really want to accomplish.) 14:03
takadonet rakudo: for 'a' -> $x is copy{ $x ~~ s:g/a/b/ }
p6eval rakudo bc6c6d: OUTPUT«===SORRY!===␤Missing block at line 22, near "-> $x is c"␤»
takadonet rakudo: for 'a' -> $x is copy { $x ~~ s:g/a/b/ } 14:04
p6eval rakudo bc6c6d: ( no output )
takadonet rakudo: for 'a' -> $x is copy { $x ~~ s:g/a/b/ ; say $x}
p6eval rakudo bc6c6d: OUTPUT«b␤»
14:04 _kaare left
masak I could submit and LTA ticket, I guess. the "in '&infix:<=>'" part of the error message is mighty confusing. 14:06
takadonet little 14:07
14:08 tadzik joined
tadzik \o 14:09
masak o/ 14:10
colomon \o/
sbp |o_ 14:14
_o/
I'm hoping that spelled perl6 in semaphore
colomon sbp++ 14:16
PerlJam www.plat-forms.org/ Assuming they do this again in 4 or so years, it would be nice to have a perl 6 team. 14:17
colomon What's the matter with next years contest? 14:18
14:20 alester joined
PerlJam I'm not sure Perl 6 is ready for it. It would be great if there were a Perl 6 team that could put forth a good showing though. 14:20
14:21 tadzik left
PerlJam But it could backfire. The two possible extreme outcomes are "Wow! Perl 6 really *is* useable!" and "See? Perl 6 is totally useless! You can't even build a simple web app with it!" 14:22
masak nod. 14:23
PerlJam And naysayers always seem to have a louder voice. :(
masak still, it's a nice goal to have in mind.
14:24 tadzik joined 14:33 tadzik left 14:37 cotto left 14:38 _twitch left
masak oh, and it's *because* naysayers always seem to have a louder voice that it's worth building unquestionably praiseworthy apps with Perl 6. :) 14:45
14:45 _kaare joined
Trashlord masak: would you say I could do everything that I do in Perl 5, with Perl 6? 14:47
I mean, any program that I could conceive, any problem I need to solve right now, which I could solve in Perl 5 14:48
14:48 tadzik joined
PerlJam Trashlord: you just invoked Turing, so the answer is, of course, yes :) 14:48
Trashlord well, sure, technically 14:49
but if I need some module which doesn't exist, I'd have to write it myself
PerlJam Trashlord: some problems will be harder to solve in Perl 6 because the implementations aren't as mature.
Trashlord that's more of what I meant
yes
takadonet Trashlord: I'm working on that part. Porting some of the most used modules over 14:50
PerlJam takadonet++
takadonet here is a good list of the mosted used modules: ali.as/top100/
14:50 tadzik left
Trashlord what if I wanted to also contribute by porting modules, can I just do it out of the top of my head, or do I have to pass some sort of test? 14:51
takadonet The volatile list is what I will be using in determining what I;m porting next.
Trashlord: Top of your head and put it on github
14:51 wtw left
Trashlord ah, cool 14:52
takadonet also add it to the perl 6 module list .... anyone have the url?
14:52 tadzik joined
PerlJam though it would be nice if the test suite for the Perl 5 module could be reused for the Perl 6 version. 14:52
takadonet: github.com/perl6/ecosystem 14:53
takadonet PerlJam: thanks! gtg meeting time
masak Trashlord: what PerlJam said about Turing. but of course, since Perl 6 doesn't have CPAN, it'll always be at a disadvantage. or should I say "until Perl 6 has CPAN..."? 14:54
maybe we should have a "Porting Modules Program" for people who want to help. 14:55
PerlJam masak: +1
moritz_: Are you listening? Sounds like a good challenge :) 14:56
tadzik that's what I thought :)
PerlJam a good series of challenges even
masak maybe there needs to be a page. porting.perl6.org or something. 14:57
masak just hopes that the "Perl 5 and Perl 6 together in the same runloop" dream doesn't die if such an effort takes root
colomon +1 14:58
Trashlord well, that's really cool. first I'll need to learn to code in Perl 6, though ;) 15:01
I imagine it wouldn't be too different from Perl 5
PerlJam Trashlord: you suffer a lack of imagination :) 15:02
Trashlord depends on the topic ;p
masak the topic is Perl 6. see /topic :) 15:03
Trashlord oh, right
I didn't notice that
masak channel name is another tip-off :P
15:10 _kaare left, silug left 15:14 dnl left 15:15 spq1 joined 15:20 mavrc left 15:21 mavrc joined 15:26 oyse left 15:27 Ross joined, chturne joined 15:28 patspam joined
masak Ovid++ # blogs.perl.org/users/ovid/2010/10/p...words.html 15:29
maybe someone'd like to provide a Perl 6 port of that script?
should be a relatively straightforward task. might take a while for it to run, though. 15:30
15:30 jhuni left 15:31 risou joined 15:38 Lorn left 15:43 cdarroch joined, cdarroch left, cdarroch joined 15:44 dnl joined 15:47 zby joined 15:48 tzhs left 15:50 icwiener left 15:51 icwiener joined 15:55 justatheory joined
PerlJam forums.pragprog.com/forums/190/topics/7207 15:57
masak I will do that, in a way. I'm doing another blog-every-day thing this November. 15:59
16:01 Chat6670 joined 16:02 Chat6670 is now known as lilvixenxoxo
lilvixenxoxo hey :) 16:02
masak hi, lilvixenxoxo 16:04
16:04 lilvixenxoxo left
masak bye, lilvixenxoxo 16:06
mkramer haha 16:07
tadzik bye, #perl6 16:10
16:10 tadzik left 16:14 baux left 16:20 silug joined 16:21 mkramer left 16:22 masak left 16:34 risou left 16:36 risou joined 16:46 colbseton` left, colbseton` joined 16:49 guest__ left 16:51 icwiener_ joined 16:53 sftp joined 16:54 icwiener left, MayDaniel left 16:59 dakkar left
takadonet rakudo: my $a='adf'; say $a.graphs 17:00
p6eval rakudo bc6c6d: OUTPUT«Method 'graphs' not found for invocant of class 'Str'␤ in main program body at line 22:/tmp/E5JSGam_fK␤»
takadonet bug?
TimToady nyi 17:01
17:01 kensanata joined
takadonet TimToady: so what is the work around for now? 17:02
TimToady .chars works as long as you don't use modifier characters 17:03
17:03 am0c joined
TimToady rakudo: my $a = 'adf'; say $a.chars 17:03
p6eval rakudo bc6c6d: OUTPUT«3␤»
TimToady rakudo: my $a = 'adf' ~ "\x0301"; say $a.chars 17:04
p6eval rakudo bc6c6d: OUTPUT«4␤» 17:05
TimToady that should be 3
if we really were doing graphemes
rakudo: my $a = 'adf' ~ "\x0301"; say $a
p6eval rakudo bc6c6d: OUTPUT«adf́␤»
TimToady rakudo: my $a = 'foo' ~ "\x0301"; say $a
p6eval rakudo bc6c6d: OUTPUT«foo􏿽xCC􏿽x81􏿽xE2􏿽x90􏿽xA4»
17:05 flussence left
takadonet TimToady: thanks 17:06
17:07 IllvilJa left
takadonet TimToady: also I really enjoyed your perl 6 talk at YAPC:Asia 17:07
17:08 donaldh left 17:10 nwellnhof joined 17:11 jedai left
nwellnhof I have some patches to Rakudo that fix some Parrot deprecations. What's the best way to get them into trunk? 17:14
Submit them to [email@hidden.address] 17:15
17:15 cdarroch left 17:17 flussence joined
takadonet nwellnhof: that is one way to do it yes 17:18
17:19 xiaolongxia left
takadonet nwellnhof:I'm not sure what is the best way. Might want to ask someone else with more knowledge then me 17:19
nwellnhof takadonet: OK, thanks. 17:20
colomon nwellnhof: do you have them as git patches? 17:21
nwellnhof colomon: Yes, created with git format-patch 17:22
colomon Cc me a copy when you make them to rakudobug, and I'll see if I can squeeze in spectesting them in between being climbed on by a two-year-old singing "Matty Groves". 17:23
nwellnhof What's your email address? 17:24
colomon irc nick @gmail.com
17:25 jedai joined
nwellnhof OK, email sent 17:27
17:28 daxim left 17:32 _kaare joined 17:35 wamba joined 17:36 risou left 17:39 jfried left 17:42 tadzik joined 17:47 rvrgs left 17:53 radu joined 18:02 radu left 18:05 MayDaniel joined 18:06 timbunce left 18:08 cotto joined
colomon nwellnhof: trying to compile your changes now. 18:10
18:12 timbunce joined 18:18 kensanata left 18:23 molaf_ left 18:24 am0c left 18:36 cdarroch joined, cdarroch left, cdarroch joined 18:46 nymacro joined 18:52 envi left
takadonet man porting this module is a lot harder then i thought 18:54
PerlJam takadonet: which module? 18:56
takadonet PerlJam: Finished Text::Tabs and working on Text::wraps
search.cpan.org/dist/Text-Tabs+Wrap/
colomon takadonet++ 18:57
takadonet still making progress and it's forces me to really understand regex in Perl 5 and 6
PerlJam takadonet: excellent! Once you do that, you'll be ready to port a more interesting module like: search.cpan.org/dist/Text-Autoformat/ :-) 19:00
takadonet++ 19:01
19:01 nymacro_ joined, nymacro left, nymacro_ is now known as nymacro
takadonet meeting 19:02
bbl
19:04 kanishka left 19:05 alester left
dalek p-rx/master: d2d1682 | pmichaud++ | src/cheats/hll-compiler.pir:
From Nick Wellnhofer [email@hidden.address] Remove deprecated charset ops
19:09
19:11 timbunce left 19:14 ggoebel left, ggoebel joined 19:17 timbunce joined 19:20 pythonian4000afk is now known as pythonian4000 19:23 sECuRE left, sECuRE joined 19:33 jaldhar left
colomon nwellnhof: pushed your changes. cheers! 19:34
19:34 ggoebel left
nwellnhof colomon++ # thanks a lot 19:34
dalek kudo: 3804f4f | nwellnhof++ | src/ops/perl6.ops:
Replace string_ord with Parrot_str_indexed
19:35
kudo: 2da9645 | nwellnhof++ | src/core/Str.pm:
Don't use deprecated charset opcodes
kudo: 4288f53 | nwellnhof++ | src/ (3 files):
Switch to utf8:"" PIR string literals
kudo: ead429f | nwellnhof++ | src/Perl6/Module/Locator.pm:
Use UTF-8 encoding in get_module_info
colomon takadonet, PerlJam: just wrote Damian++ to see if he had already ported Text::Autoformat
19:36 nymacro left 19:40 ggoebel joined 19:44 nwellnhof left 19:47 meppl left
tadzik is Damian likely to have ported some modules without saying a word? 19:49
19:49 plainhao left 19:54 Chillance joined
takadonet tadzik: maybe 19:55
dalek p-rx/master: 56b142f | pmichaud++ | src/stage0/ (3 files):
Update bootstrap files.
19:57
20:00 _kaare left 20:04 orafu left 20:05 justatheory left
colomon tadzik: Damian's ported / rewritten a number of modules. he listed them (or some of them?) in a talk at YAPC::NA. 20:06
In addition to asking him if he'd ported Text::Autoformat, I asked him if we could get the full list of ports he's done. ;) 20:07
tadzik :)
The question remains, whether his Perl6 modules will be working in Rakudo :)
colomon well, I tried to point out that if got in the modules.perl6.org framework, we'd have automatic testing on that question. :) 20:08
tadzik (emmentaller is not working, but shshsh)
20:13 skangas joined
takadonet going home & 20:22
20:22 takadonet left 20:42 muixirt joined 20:46 colbseton` left
muixirt hi, will the --doc switch be implemented in rakudo or will be (or is) a separate program? 20:46
tadzik what do you mean, --doc? 20:47
flussence tadzik: perlcabal.org/syn/S19.html 20:48
75% down the page
tadzik oh nice 20:49
muixirt tad with --doc perl6 doesn't execute the program but shows documentation (like perldoc)
tadzik I see 20:51
20:51 ggoebel left 20:53 molaf joined 20:54 ggoebel joined
pmichaud tadzik: I'm guessing --doc will load+run a specialized setting (module) 20:56
tadzik muixirt: ↑ 20:57
pmichaud (oops, sent to wrong nick)
tadzik np :)
muixirt got it
pmichaud: anyone working on that? 20:58
pmichaud muixirt: not actively that I know of
21:04 masak joined
masak muixirt: I plan to submit a grant for that. just need to clear some old grant baggage before I do. 21:04
I have a grant draft somewhere if you're interested in those plans. 21:05
tadzik hello, The One Who Hears
muixirt masak: nice (time horizon?) 21:06
21:06 avuserow left, pyrimidine left
masak muixirt: good question. I planned to have $OLD_GRANT done long ago, but it seems I haven't managed to pull myself together to finish it. 21:06
that's the only real unknown. after that, it's a simple thing to put together the grant request, submit it, (hopefully) get it accepted, and start working on it. 21:07
I reckon it'll be about two months of work, in clock time.
21:08 avuserow joined, LoRe left
masak I don't like the proposal at www.nntp.perl.org/group/perl.perl6....34294.html -- I don't see an immediate need for the feature, and it'll complicate the core language. I agree that the idea is a bit neat, and sorta-kinda rhymes with the way routines work... but beyond that I simply don't want it. 21:09
21:10 justatheory joined
tadzik this feature seams a bit confusing to me 21:10
21:11 justatheory left, justatheory joined
pmichaud gitorious.org is down for me... down for anyone else? 21:12
masak "It's not just you!" -- downforeveryoneorjustme.com/gitorious.com 21:13
er. ".org".
still not just you :)
flussence that "multi vars" sounds too scary - I can barely get my head around junctions. 21:17
masak right. it's a matter of someone implementing it, too. 21:18
tadzik for me, it sounds a bit like a feature only spectests will know we are missing 21:19
21:19 donaldh joined
masak for each cool new extra core feature, the load gets a little heavier, and Christmas moves a bit further away. 21:19
we need to get back to thinking about what's important for Perl 6.
tadzik ah, this is a proposed feature, or alredy speced? 21:20
masak proposed. 21:21
it's p6l :)
21:22 pyrimidine joined
tadzik oh coo 21:22
.append(l)
masak when I found this page: dev.perl.org/perl6/architecture.html 21:23
I first thought, "my, that's an archaic page".
but then I started looking at it, and realized that it's a very clear and succinct statement of the "core goal" of Perl 6. and (as far as I know) it still holds.
this is what we're working to realize. 21:24
muixirt Parser -> Code generator -> machine code would be better :-) 21:26
tadzik well, it'd be Bytecode → Jit → Machine Code anyway 21:27
masak please elaborate.
I don't think "better" does the complexity of things justice here.
muixirt well a bytecode interpreter and bytecode optimizer and a jit are more complex than generating machine code (even if that machine code is lousy and bloated) 21:30
muixirt hates bytecode nowadays 21:34
tadzik why so?
21:34 ggoebel left
muixirt it's a dead end 21:35
21:36 masak` joined, masak left
muixirt it's a superfluous step 21:36
tadzik oh, I very doubt it, observing the world nowadays 21:37
even at the low level: look at llvm
flussence bytecode may be superfluous, but I'd rather install a runtime than an entire OS to run someone else's software 21:38
tadzik zzz time, see you folks 21:39
colomon o/
21:39 tadzik left
Tene muixirt: The semantics of Perl 6 execution (and many other modern languages) are sufficiently complex that generated machine code would basically have to implement a VM anyway. 21:39
muixirt linux distros have no problem with supporting several cpus and architectures 21:40
flussence yes, but I'd have to install an entire OS in a 32-bit chroot just to use wine :)
Tene flussence: Eh? What distro are you using? Sane distros allow parallel installation of 64bit and 32bit libs. 21:41
21:41 masak` is now known as masak
flussence I went with the lib64-only-even-though-I-have-virtually-infinite-resources option 21:41
Tene So, it's not that you "have to install", but that you voluntarily choose to do it the more-awkward way? ;) 21:42
flussence pretty much yeah :)
Tene :) 21:43
21:44 pyrimidine left, alester joined
flussence I was trying to think of an excuse for it, but it seems I just like doing things the hard way... 21:44
muixirt Tene: sorry I repeat myself, but look at V8, is there any evidence that this is possible fo javascript but not for perl6? 21:45
Tene muixirt: You're more than welcome to work on it if you'd like. I'd recommend you look at jnthn's 6model work. He's currently working on Parrot, JVM, and .Net backends, so you could certainly look at adding something you like better. 21:47
muixirt: I'd be glad to discover that I'm wrong.
muixirt Tene: you caught me, I'm not qualified for such work 21:48
pmichaud the semantic gap between "code generator" and "machine code" is likely too far to be bridged in a single step.
s/far/wide/
Tene muixirt: I'm not all that familiar with v8. I expect that the code generated basically implements a VM, but I haven't actually checked. 21:49
pmichaud ultimately there's likely to be at least one intermediate representation somewhere, and whatever it is, it can be considered a form of "bytecode". 21:50
Tene Exactly.
muixirt pmichaud: I don't get it, the code generator of your C compiler produces machine code, the V8 code generator produces machine code
flussence you can do anything with any language, given enough time and resources 21:51
pmichaud muixirt: sure, but C is semantically close to the machine
muixirt pmichaud: can you elaborate a bit on that swubject?
flussence V8 took the resources of Google for a well-known language though.
pmichaud I can't speak to V8 yet.
Tene muixirt: With C, you don't maintain much state or semantics that are separate from that of the machine you're executing on.
muixirt: Higher-level languages have a much more complicated execution model though, for one example. 21:52
21:52 Chat1964 joined, Chat1964 left
Tene So you can't just use naive C stack frames, you instead have to do something like holding separate stack frame, lexpad, etc. structs somewhere else in memory, and have a separate bit of code that moves between them iteratively instead of recursively. 21:53
You keep doing all that to represent the concepts not supported natively by the machine, and when you're done, you have a VM.
21:55 ggoebel joined
masak ta-daa! 21:55
muixirt btw. I don't argue that it is simple, but compared to the huge difficulties implementing perl6 on a vm like parrot (or the jvm) it looks like an alternative
masak right. the VM is just the machinery required to play out the execution model.
Tene when the execution model is naively representable on the machine, you have a much easier time of it. 21:56
donaldh code.google.com/apis/v8/design.html
Tene x86 CPUs don't support continuations, coroutines, exceptions, etc.
21:56 Raynes left
Tene and then you also have closures, dynamic variables, OUTER::, CALLER::, etc. 21:57
The generated code to handle this ends up being a VM, and the generated representation of the instructions that this basic VM looks at is bytecode.
21:58 Ross left, Ross joined
masak all this talk of execution models makes me eager to hack on Yapsi. 21:59
muixirt masak: with a x86 assembler backend :-)
Tene It's kind of like greenspun's tenth rule.
masak muixirt: actually, a C backend has been sort of teasing my thoughts lately. or a C runtime. or both. 22:00
Tene Any implementation of a sufficiently complicated language will contain a VM implementation of some sort.
masak Tene: indeed
you forgot "badly" :)
and "partial".
Tene masak: Well, it doesn't have to be bad if you address it directly.
Or partial.
masak right. 22:01
hence "kind of like" Greenspun's Tenth, I guess.
Tene If you plan up front to need to deal with a VM, you can use an existing VM, like the JVM, or you can implement your own explicitly, like Parrot.
22:02 Guest86661 left
Tene muixirt: Having said all this, it *is* true that there is a lot of optimization potential here, and that's a big part of what Jonathan is working on these days. 22:03
22:03 timbunce left, dnl- joined 22:05 Entonian joined, Guest86661 joined 22:06 justatheory left 22:07 MayDaniel left
muixirt but existing VMs aren't a perfect fit for perl6 requirements 22:07
22:07 dnl left
masak true. 22:07
I'm not sure how much of a problem that'll be. 22:08
Tene masak: That was the original reason for Parrot, actually.
masak yeah.
Tene Existing VMs were a very poor fit at the time. They're a bit better these days, but still a significant semantic gap.
masak I see some problems with specific things, such as exception handling/stack unrolling. that seems to be very VM-specific. 22:09
22:09 justatheory joined
muixirt Tene: well because of parrot rakudo ends up in a mix of pir, nqp, perl6 and C code (I admire everyone who masters that) 22:09
Tene I need to get working on that in Parrot for jnthn.
muixirt: That's true. I don't follow what you're trying to say about it, though. Any compiler is going to use a variety of languages. 22:10
muixirt: nqp is just a restricted subset of Perl 6.
pmichaud 2010.10 star release is blocked a bit on gitorious.org being down. I'll work around if gitorious isn't back online in a few hours.
Tene muixirt: It's even going to get worse, btw. jnthn is working on porting nqp to .net and jvm, so there will be some of those involved too. 22:12
22:12 takadonet joined
takadonet hey all 22:12
Tene takadonet! 22:13
22:13 masak left 22:14 masak joined, masak left
Tene muixirt: Have we answered your questions? Was there anything we missed, or do you have any pending questions? 22:18
muixirt Tene: sort of :-) thanks 22:19
Tene muixirt: Glad to help. This stuff is very interesting to many of us here. I'm always glad to chat about this. 22:20
muixirt is mumbling 'lorito'
22:20 icwiener_ left
Tene :) 22:21
I've been meaning to get involved in the lorito work for a while, but haven't been able to get myself together.
22:23 Raynes joined 22:27 Chillance left
cotto takes note 22:27
22:31 cognominal left 22:33 wamba left 22:35 Raynes left 22:46 donaldh left 22:47 Raynes joined 22:48 PuraVida joined
dukeleto Tene: lorito is going to start ramping up soon. As soon as I have time to finish the git migration 22:51
takadonet dukeleto: lorito?
dukeleto takadonet: a refactoring of parrot internals to use LLVM
takadonet dukeleto: cool. Will that help with speed ? :)
dukeleto takadonet: just a tiny bit ;)
takadonet dukeleto: sweet 22:52
muixirt dukeleto: what does this mean for rakudo?
dukeleto takadonet: we need LLVM to implement a better JIT. We deleted our old JIT in 1.7.0
takadonet muixirt: free beer
muixirt takadonet: I'm in
takadonet muixirt: I heard that if you port a perl 5 module and put it on github... they give a case of 24 beers 22:53
muixirt takadonet: root beer I assume 22:56
takadonet muixirt: ..... sure if that's what it takes sure 22:57
Tene I'd buy beer for anyone who wants to exchange Perl 6 work for beer.
muixirt Tene: it did work for jnthn ? 22:58
cotto dukeleto, it's not just llvm, though we certainly hope that'll be one of the possibilities opened up
Tene muixirt: I've met jnthn once, and I've never bought beer for him.
muixirt would only accept Rothaus Tannenzäpfle beer 23:00
dukeleto cotto: i know, i was simplifying :) Please feel free to describe all the gory details 23:01
cotto Sure. Just let me figure out the details first. ;) 23:06
takadonet nuts! 23:07
this is going to make it little more complex : 'Only integers or '*' allowed as range quantifier endpoint at line 69' 23:08
23:10 Chat1964 joined
Chat1964 2hey 23:11
colomon takadonet: that's a perl 5 error message?
takadonet colomon: no perl6 23:12
Chat1964: hey
converting : $t =~ /\G([^\n]{0,$ll})($break|\n+|\z)/xmgc to the perl6 regex
colomon takadonet: ... oh. in a regex?
takadonet \G and \z do not exist anymore . \G is replace with :p and \z is completely gone ( '$' replaces it) 23:13
Chat1964 2takadonet: wats up??
takadonet Chat1964: coding u?
23:18 simon left 23:19 mavrc left 23:20 Chat1964 left 23:27 envi joined 23:29 simon joined 23:32 dnl joined 23:33 dnl- left 23:35 muixirt left 23:39 Ross left 23:47 simon left