Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-04-21

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:08 MrMeek-afk joined #perl6
00:15 edgeuplink joined #perl6
00:17 fgomez joined #perl6
00:29 pupoque joined #perl6
00:38 BenGoldberg joined #perl6
00:45 census hi!  anybody around? :)
00:46 colomon o/
00:46 kurahaupo joined #perl6
00:55 census hi!
00:55 census it is quiet around here :(
00:55 berekuk joined #perl6
00:56 PerlJam census: that happens sometimes
00:57 census i know ...
01:01 berekuk joined #perl6
01:03 census how are you?
01:07 berekuk joined #perl6
01:10 berekuk joined #perl6
01:23 Psyche^ joined #perl6
01:52 FROGGS__ joined #perl6
01:55 [Coke] https://gist.github.com/coke/5428159 - OS X rakudo failures.
01:58 [Coke] Unrecognized character name LINE FEED (LF)
01:58 [Coke] r: say "\c[LINE FEED (LF)"
01:58 camelia rakudo e9e1b5: OUTPUT«[31m===[0mSORRY![3​1m===[0m�Unrecognized \\c character�at /tmp/o7FtHxYh5f:1�------> [32msay "\c[[33m�[31mLINE FEED (LF)"[0m�    expecting any of:�        argument list�        prefix or term�        prefix or meta-prefix�        double quotes�»…
01:58 [Coke] r: say "\c[LINE FEED (LF)]"
01:58 camelia rakudo e9e1b5: OUTPUT«␤␤»
02:01 [Coke] (that fails on OSX )
02:03 [Coke] also, how to fudge a test only on some platforms?
02:04 colomon I don't know of a way to do that.
02:13 pmichaud wonder what version of icu is on that system.
02:15 [Coke] <param name="version">49.1.2</param>
02:18 [Coke] looks like 49.1.2.1 is available. trying that.
02:20 pmichaud .... 49?!?
02:20 pmichaud mine is 4.8.1.1
02:23 * lue has 49.1.2 as well
02:24 lue And I get "Unrecognized character name LINE FEED (LF)" as well.
02:29 * lue wonders if, like chr and ord, there couldn't be a function that gives you the UNICODE NAME of a character
02:32 DreamingInCode joined #perl6
02:42 dwoldrich joined #perl6
02:52 preflex_ joined #perl6
03:09 xinming_ joined #perl6
03:13 sorear lue: "\n" has no unicode name
03:14 sorear you need fudges to handle \c[LF], because that's not a unicode name, it's a special cased non-unicode name
03:14 sorear unicode does not officially name the C0 and C1 characters
03:30 census joined #perl6
03:30 pmichaud Coke:  I wonder if "\c[LINE FEED]"  works in your version.
03:33 pmichaud at any rate, looking at it a bit further I think I agree with sorear++ -- u+000A doesn't have a "unicode name".  "LINE FEED (NL)" is a unicode 1.0 name.
03:34 pmichaud .u 000a
03:34 yoleaux U+000A LINE FEED (LF) [Cc] (␊)
03:34 pmichaud anyway, to the extent it's a rakudo bug, it's a problem with ICU (or with Rakudo's use of ICU)
03:39 [Coke] pmichaud: "\c[LINE FEED]" fails also
04:04 labster I've been browsing/grepping through CORE.setting.  Why are all but six of the classes declared as "my class"?
04:07 census labster++
04:07 sorear labster: why the rule, or why the exceptions?
04:08 labster I'm clueless as to both.  It feels wrong, so I want to know if there's a reason for it.
04:09 labster hi census, not sure why I get karma for me being clueless :P
04:09 census awwww
04:10 census becuase you are trying hard!!
04:10 census good attitude
04:10 census tryign to learn well :)
04:11 labster sorear: this is Rakudo's CORE.setting, haven't looked much through Niecza's yet.
04:16 moritz labster: since the setting acts as an outer scope to the user's program, I don't think there's anything wrong with having the classes marked as "my"
04:17 labster Well sure,  but why the exceptions then?
04:17 moritz I have no idea
04:18 moritz probably just oversights
04:35 rindolf joined #perl6
05:03 woosley joined #perl6
05:27 quester joined #perl6
05:44 kurahaupo joined #perl6
05:56 kurahaupo joined #perl6
06:21 kaare_ joined #perl6
06:54 domidumont joined #perl6
07:06 rindolf joined #perl6
07:14 Guest7431 joined #perl6
07:19 domidumont joined #perl6
07:22 rindolf joined #perl6
07:30 erkan joined #perl6
07:34 erkan joined #perl6
07:34 erkan joined #perl6
07:34 rindolf joined #perl6
07:45 rindolf joined #perl6
07:53 jac50 joined #perl6
07:57 rindolf joined #perl6
08:06 rindolf joined #perl6
08:14 quester left #perl6
08:19 tadzik good morning #perl6
08:20 FROGGS__ morning tad
08:20 labster good morning
08:21 FROGGS morning labster
08:21 adu_ joined #perl6
08:22 sorear o/
08:22 pupoque joined #perl6
08:22 FROGGS hi sorear
08:23 FROGGS do we have enough coffee for us all?
08:28 labster Well, I just finished renaming IO to IO::Handle, which was a wonderful lesson on objects and an object lesson in how to make the compilation fail.
08:28 FROGGS hehe
08:29 labster my favorite was when CORE.setting compiled, and then RESTRICTED.setting failed.
08:31 FROGGS well, ya, there are switches for camelia-bot...
08:33 erkan joined #perl6
08:44 census joined #perl6
08:51 sisar joined #perl6
09:14 rindolf tadzik: hi.
09:14 rindolf tadzik: what's up?
09:14 rindolf FROGGS: hi, what's up?
09:16 rindolf Does anyone have any news about Larry Wall’s surgery or post-surgery?
09:23 SamuraiJack joined #perl6
09:24 bbkr joined #perl6
09:27 moritz there was an update some time ago after the surgery that it was fine
09:27 moritz but I haven't read any news after that
09:30 pupoque joined #perl6
09:32 rindolf moritz: thanks.
09:39 jnthn morning, #perl6
09:42 census morning!
09:55 araujo joined #perl6
09:55 araujo joined #perl6
09:56 liudelong joined #perl6
10:09 woosley left #perl6
10:11 spider-mario joined #perl6
10:13 liudelong joined #perl6
10:13 dayangkun joined #perl6
10:22 kaare__ joined #perl6
10:29 rindolf jnthn: morning.
10:47 kurahaupo joined #perl6
10:48 SamuraiJack_ joined #perl6
11:01 berekuk joined #perl6
11:12 tangentstorm hey all...
11:12 tangentstorm what is   :=   ?
11:13 FROGGS binding
11:14 tangentstorm hrm thanks, but i still don't understand. what is the difference between  = and  := ?
11:20 census comparison v.s. setting a variable equal to
11:24 FROGGS census: no#
11:25 FROGGS assignment does something extra: boxing and copies
11:25 FROGGS r: my $a = 1; $a++
11:25 camelia rakudo e9e1b5:  ( no output )
11:25 FROGGS_ joined #perl6
11:25 FROGGS r: my $a := 1; $a++
11:25 camelia rakudo e9e1b5: OUTPUT«Cannot modify an immutable value␤  in sub postfix:<++> at src/gen/CORE.setting:3275␤  in sub postfix:<++> at src/gen/CORE.setting:1763␤  in block  at /tmp/WyJEXnej6O:1␤␤»
11:26 ilbot6 joined #perl6
11:26 FROGGS the binding example is like: 1++
11:26 tangentstorm hmm
11:26 FROGGS r: 1++
11:26 camelia rakudo e9e1b5: OUTPUT«Cannot modify an immutable value␤  in sub postfix:<++> at src/gen/CORE.setting:3275␤  in sub postfix:<++> at src/gen/CORE.setting:1763␤  in block  at /tmp/WYipJB0PoX:1␤␤»
11:27 ilbot6 joined #perl6
11:27 * tangentstorm just read http://perl6.org/archive/doc/design/exe/E03.html
11:28 census oh :(  i tried :(
11:28 census sorry for the wrong information . . .
11:29 tangentstorm hrm
11:29 tangentstorm r: my $a = 1; my $b := $a; $a++;  say $b
11:29 camelia rakudo e9e1b5: OUTPUT«2␤»
11:29 tangentstorm i get it now. thanks :)
11:29 FROGGS :o)
11:31 pecastro joined #perl6
11:43 FROGGS jnthn: the last paragraph here needs an update :o)  https://github.com/perl6/nqp/tree/master/src
11:44 isBEKaml joined #perl6
12:09 MrMeek-afk joined #perl6
12:11 PacoAir joined #perl6
12:43 drbean joined #perl6
12:56 fgomez joined #perl6
13:12 crab2313 joined #perl6
13:12 woolfy joined #perl6
13:22 kurahaupo joined #perl6
13:30 woosley joined #perl6
13:59 stevan_ joined #perl6
14:06 skids joined #perl6
14:07 unknowndna joined #perl6
14:10 edgeuplink joined #perl6
14:11 raiph joined #perl6
14:14 lizmat_ joined #perl6
14:18 chinaXing joined #perl6
14:20 pupoque joined #perl6
14:24 [particle] joined #perl6
14:25 BenGoldberg joined #perl6
14:42 chinaXing joined #perl6
14:43 chinaXing left #perl6
14:43 SamuraiJack__ joined #perl6
14:50 jferrero joined #perl6
14:52 census2 joined #perl6
14:58 frdmn joined #perl6
15:07 dalek nqp-jvm-prep: 2d85dca | jonathan++ | README.markdown:
15:07 dalek nqp-jvm-prep: Note in README that this repo is historical.
15:07 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/2d85dcaa39
15:24 dalek nqp: d3bfdf0 | jonathan++ | README:
15:24 dalek nqp: Initial REAMDE updates.
15:24 dalek nqp:
15:24 dalek nqp: Also needs to provide build instructions for on the JVM.
15:24 dalek nqp: review: https://github.com/perl6/nqp/commit/d3bfdf0f52
15:24 jnthn Will get to those later...gotta go find $train.next... &
15:38 masak I've spent parts of the afternoon going through the broad strokes of https://github.com/perl6/mu/​wiki/perl6-workshop-may-2013 with census++. feels like I'm on the right track with topics. \o/
15:38 masak there's been a plea for making the course work for both Perl 5 and Perl 6 at the same time. I think I can accommodate that.
15:41 census masak++
16:00 masak I should also add that it's fine to attend during the course even if you do not sign up before it.
16:00 masak ...just with the expectation that you will then be a spectator, not a participant ;)
16:04 moritz masak: what exactly do you mean by "work for both Perl 5 and Perl 6"?
16:05 moritz that all examples work in both languages?
16:05 moritz or that you will teach the difference between the two?
16:08 masak examples and exercises will all exist in a Perl 5 version and a Perl 6 version.
16:08 masak it will be more for me to prepare, but it might also bring in more people from both worlds.
16:11 * moritz looks forward to it
16:12 lustlife joined #perl6
16:17 stevan_ joined #perl6
16:25 masak yeah, census, my one-person review committee, responded positively to it. :) so I'm looking forward to it, too.
16:25 masak I will take some time to prepare it all in the next week or so.
16:25 census hahaha
16:25 masak but already today, I expect to put together an agenda of sorts.
16:25 census don't go by the jdugement of census though :)
16:25 census but yes
16:25 census masak is good :)
16:25 masak and maybe then we can do some promotion on reddit or something?
16:33 masak japhb, nige, gtodd, PerlJam: all of you working on May 1st?
16:51 FROGGS btw, locally rakudo accepts now adverbs to use statements like from, auth, file, ver... these get passed to load_module, but arn't handled right now
16:51 FROGGS I'm curious how :from should work...
16:53 dalek rakudo/nom: 7cd3302 | moritz++ | src/core/Match.pm:
16:53 dalek rakudo/nom: implement Match.lines (RT #117461)
16:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7cd3302bc4
16:55 lizmat_ FROGGS: I guess that panda is the closest we have to an "install_module", right?
16:55 FROGGS lizmat: I am talking about the module-loader code within rakudo
16:55 FROGGS (compile time and runtime file loader and parser)
16:56 FROGGS I am thinking about fiddling with %*LANG, when :from is something else then Perl6
16:56 lizmat I get that, but if load_module knows what to do with "auth" and "version", it would have to match what any installer has done, no?
16:56 FROGGS yes, but that comes later
16:56 FROGGS panda must first record the version numbers and auth string, we are far away from that
16:57 FROGGS brb
16:57 lizmat why?  If the installer mangles a filename of a module according to spec, surely load_module would have to know about that?
16:58 stevan_ joined #perl6
16:58 SamuraiJack joined #perl6
17:04 pecastro joined #perl6
17:08 * lizmat is going through the panda code and found some dependencies on PIR
17:08 lizmat I guess that will also need to be fixed before the jvm backend can be truly operational on its own?
17:10 FROGGS lizmat: use ModuleName:from<Java>; will load a java module
17:10 FROGGS and to properly parse that module it will have to jump into the right grammar, right before trying to parse
17:11 lizmat indeed, but for *installing* a module with panda, at the moment, you will need to have parrot around still
17:11 lizmat is my impression
17:12 FROGGS I dont think that panda will ever install Java modules
17:12 FROGGS so :from<Java> will search Java's default libdirs for libs that are installed by Java's installer
17:14 lizmat that's not my point
17:14 lizmat suppose we have a rakudo on a system with just the JVM backend
17:14 tgt joined #perl6
17:14 FROGGS okay
17:15 lizmat you won't be able to install Perl 6 modules with panda because it depends on parrot
17:15 FROGGS ahh
17:15 FROGGS okay, maybe ya
17:15 lizmat it even has bare .pir code in its belly
17:15 FROGGS well, needs to be rewritten in near future then
17:16 lizmat indeed… and such a rewrite would need to include auth and version support at the least
17:16 lizmat and if nobody else is going to do that before the YAPC::NA, I want to take on that job
17:17 kivutar joined #perl6
17:17 FROGGS there already is a panda2 (not on github yet though)
17:18 FROGGS and there are proposals how to install and find modules using the features from S11
17:18 masak lizmat: re "such a rewrite would need to include" -- I'd prefer to see many small improvements than one big, if at all possible.
17:19 masak but you know about the dangers of 2nd systems, so I won't need to preach them to you. ;)
17:19 FROGGS my thinking too
17:19 FROGGS first, make panda cleaner, maintainable and stable
17:19 FROGGS everything else after that
17:19 lizmat but if people are starting to write Perl 6 modules, we will *need* auth / version very soon
17:19 masak sure.
17:20 masak but "PIR in belly" and "supports auth and version" sounds like two eminently orthogonal things.
17:20 FROGGS no, they can specify these information, but you dont need to handle them properly
17:20 lizmat ah, yes..  definitely!
17:20 masak we agree. good :)
17:21 lizmat scenario: more people start using Rakudo, and using it in production
17:21 lizmat then we finally implement auth / version
17:21 lizmat I'm pretty sure a new Rakudo would not know what to do with previously installed moduled
17:21 lizmat s
17:21 lizmat because they would be living at the wrong place, for one
17:21 FROGGS lizmat: you maybe wanna read that
17:21 FROGGS https://github.com/FROGGS/p6-S11Versioning
17:21 FROGGS bbiab
17:22 lizmat reading, also biam
17:29 lizmat I'm not sure I like the idea of having to read MANIFEST files / parsing them to find a module
17:30 lizmat especially since "auth" may also need to have a verification step: altering the MANIFEST file's "provides" might be a way to circumvent proper verification
17:59 lichtkind joined #perl6
18:11 FROGGS I believe auth's verification only can happen when uploading a module to a trusted site
18:12 lizmat so you won't be able to tell whether what you've installed on your system, is the real thing?
18:12 FROGGS lizmat: you can come up with another proposal for handling S11, but keep in mind that one must be able to use unicode modulenames on a ascii filesystem...
18:12 diakopter also on case-insensitive filesystems
18:13 FROGGS lizmat: I believe it should be enough if the trustworthyness is checked only once, not everytime you load a module
18:13 FROGGS diakopter: ya, just was an example
18:14 FROGGS after installing a module, you dont need to verify it, you just need to check if the requested auth is the same of the module that needs to be loaded
18:14 lizmat well, I think that's one of the major changes between Perl 5 and Perl 6
18:14 FROGGS true
18:15 FROGGS and I dont think you can actually do all the stuff from S11 without some sort of database (the MANIFEST in my proposal)
18:15 lizmat but I guess you would want to depend on external verifiers such as tripwire or puppet ?
18:15 FROGGS I dont know these
18:15 lizmat I agree there is some database needed in each @*INC directory (similar to decided at QA Hackathon for Perl 5)
18:16 lizmat but I'm not sure we will want to consult that for loading a module, it should be for introspection only, I would think
18:16 FROGGS lizmat: but you need that for locating a module
18:17 FROGGS since you can install a module from different auths and version at a time, and load a specific one
18:17 lizmat we will need filename mangling to support case insensitive and non-unicode file systems
18:18 lizmat so why not use that mangling to encode auth / version info as well, so that we only need to know how to mangle file names
18:18 * masak reviews t2
18:18 lizmat and only check the directories to see whether such a file exists ?
18:19 FROGGS lizmat: because you might up ending with a filename lengths > 255chars (including parent directories), which is a problem
18:19 pupoque joined #perl6
18:20 lizmat who says we would need directories?  :-)
18:20 FROGGS *g*
18:20 FROGGS I'll see forward to read your proposal *g*
18:20 lizmat I'm just saying: the 255 char limit would be something to keep in minde
18:21 lizmat I mean, if someone would make a module with more than 255 chars in its name, we would have a problem also, no?
18:21 FROGGS true, if we want to store the modulename within the module's path
18:22 FROGGS you can come around these issues with YALOI (yet another layer of indirection)
18:23 moritz the idea that is the current favorite in the rakudo hacker community is to have some kind of MANIFEST file, but automatically written as a cache
18:23 moritz so that the first module loade will be slow, because lots of files need to be checked, and then subsequent ones are much faster
18:23 moritz so you can get away with a relatively loose coupling between module name and file name
18:24 lizmat ack, is there any info / specs other than S11 that I can check?
18:24 FROGGS moritz: I'd love to see that if it is possible at all
18:24 FROGGS moritz: because some information is only available within distributions, not within module files
18:24 dmol joined #perl6
18:26 FROGGS and I dont see a benefit of slowing down "real code" compared to slowing down the installer
18:26 moritz FROGGS: just remember that not all code is installed
18:27 moritz basically if the installer once invokes rakudo, it'll write the cache files
18:27 moritz and you're back to "make installation slow, hot paths fast", but retain the ability to load modules in your dev environment, where not everything is installed
18:28 FROGGS moritz: well, I sorta covered the dev-modules case
18:38 raiph rn: my \term:<a> = 1 # golfed version of not-working-in-rakudo S06:1284
18:38 camelia niecza v24-37-gf9c8fc2:  ( no output )
18:38 camelia ..rakudo 7cd330: OUTPUT«===SORRY!===␤Method 'ast' not found for invocant of class 'NQPMu'␤»
18:39 raiph rakudo regression? known? (and why does camelia say "..rakudo" (why the .. prefix?))
18:40 geekosaur indicating continued output?
18:40 FROGGS raiph: I believe the slower one gets the '..'
18:41 moritz to distinguish 'rn' output from two separate calls with 'r' and 'n'
18:42 moritz FROGGS: no, they aren't launched in parallel, and aren't timed either
18:42 FROGGS ahh, good to know
18:45 FROGGS rn: module C# { }
18:45 camelia niecza v24-37-gf9c8fc2: OUTPUT«[31m===[0mSORRY![3​1m===[0m��Unable to parse module definition at /tmp/Qy_MHKCWRM line 1 (EOF):�------> [32mmodule C# { }[33m�[31m<EOL>[0m��Parse failed��»
18:45 camelia ..rakudo 7cd330: OUTPUT«[31m===[0mSORRY![31m===[0m�Unable to parse module definition�at /tmp/vtDMsSDy9W:1�------> [32mmodule C# { }[33m�[31m<EOL>[0m�    expecting any of:�        statement list�        prefix or term�        prefix or meta-prefix�        generic role�»…
18:45 moritz rn: module ::('C#') { }
18:45 camelia rakudo 7cd330, niecza v24-37-gf9c8fc2:  ( no output )
18:45 FROGGS hmmm
18:46 FROGGS okay, should do it
18:46 FROGGS thanks moritz
18:46 FROGGS moritz: I am thinking that the :from adverb of use-statements should match modules, which will be loaded for parsing that "module"
18:48 raiph geekosaur, FROGGS, moritz: thanks for answer about ..
19:03 tgt joined #perl6
19:07 pupoque joined #perl6
19:08 stevan_ joined #perl6
19:14 raiph r: my \term:<a> = 1 # masak: i didn't find matching open rakudobug; you?
19:14 camelia rakudo 7cd330: OUTPUT«===SORRY!===␤Method 'ast' not found for invocant of class 'NQPMu'␤»
19:15 masak raiph: doesn't look familiar. feel free to submit.
19:16 raiph will do
19:29 jnthn good evening o/
19:30 lizmat hi jnthn!
19:31 * jnthn has made it to the unknown, but seemingly pleasant bit of Sweden where he'll be teaching for the next few days :)
19:32 census jnthn++
19:32 * lizmat wonders where that is, Umea?
19:33 jnthn lizmat: No, I'd heard of that place before :)
19:34 lue hello o/
19:34 lizmat ytterby then?
19:34 jnthn oh, you know these parts
19:34 jnthn A bit north of there...Stengungsund :)
19:34 jnthn *Stenungsund even
19:35 * jnthn went through Ytterby on the train
19:35 jnthn Also, a place called Kode. Sounds like a good hackathon destination ;)
19:35 jnthn Apart from the pronounce it in a silly way that sounds nothing like "code" /o\
19:35 FROGGS jnthn: does Högboträsk exist?
19:35 lizmat just like the people of Perl pronounce perl as "peril"
19:36 jnthn FROGGS: Not heard of it, but I suspect the set of places I have heard of is smaller than the set of ones I haven't ;)
19:37 FROGGS jnthn: that's the village/town where kopps (the movie) takes place
19:37 jnthn Sounds like a bad place to be hög...
19:39 FROGGS one of my favourite movies though :o)
19:40 masak Ytterby is special for having no less than *four* chemical elements named after it: yttrium, erbium, terbium, and ytterbium.
19:40 masak sounds like a joke, but it isn't :)
19:41 FROGGS hehe
19:41 lizmat I thought "ytterby" was generic for "suburb" ?
19:41 masak maybe in Danish or Norwegian.
19:41 masak in Swedish, it feels like it would mean "outer village".
19:42 tangentstorm http://en.wikipedia.org/wiki/Ytterby
19:42 tangentstorm wikipedia concurs.
19:42 masak it also claims Ytterby is on the east coast.
19:42 masak jnthn took quite a detour today :)
19:42 lizmat the thing is that I know that there is an ytterby near Gothenborg as well
19:43 jnthn masak: There might be more than one :P
19:43 lizmat in the early 80's, for a few weeks I stayed with friends in Ytterby near Stockholm
19:44 lizmat always travelled from the center of Stockholm to Ytterby by bus, ~ 20 mins or so
19:44 lizmat then took the train from Stockholm to Gothenborg, to take the ferry back to Amsterdam
19:44 masak yes, there's more than one. :)
19:44 lizmat first thing I saw outside the Gothenborg train station, is a bus to "Ytterby"
19:45 lizmat so I gathered this was a generic term
19:45 lizmat I guess, it wasn't after all
19:45 lizmat and jnthn saw the Ytterby near Gothenborg
19:45 jnthn Well, through the train window.
19:45 masak lizmat: it might be a generic form that morphed into a proper name.
19:45 jnthn it didn't look terribly exciting :)
19:45 masak lizmat: there are dozens of lakes in Sweden called "Storsjön" and "Lillsjön" :)
19:46 pmichaud looking at commit 7cd3302b... is there are reason why method lines() isn't in Cool?
19:46 lizmat hehe..  I thought "Ytterby" was like "Einbahnstrasse"
19:46 pmichaud (the commit added it directly to Match.)
19:46 lizmat I nice street, but there are so many of them
19:46 lizmat *a
19:47 masak r: say Match ~~ Cool
19:47 camelia rakudo 7cd330: OUTPUT«True␤»
19:47 masak pmichaud: it would make sense for me to add .lines() to Cool, fwiw.
19:47 pmichaud yeah, same here.
19:48 pmichaud I mean, we have .chars, .codes, .comb, etc. all in Cool, seems like .lines ought to go there too.
19:48 pmichaud I think I will make it so.
19:48 * jnthn doesn't see a reason not to do that
19:50 timotimo seems good to me
19:50 * FROGGS has no opinion on that o/
19:51 pmichaud Two comments on the earlier "installer" questions.
19:51 raiph my \term:<a> = 1 # rakudobug #117695 submat
19:52 * FROGGS listens, because he likes pmichaud's comments
19:52 pmichaud (1) We don't guarantee that all Perl 6 programs for one implementation will run on all other implementations.  Implementations are free to expose capabilities that might not be available in other implementations (indeed, that's part of the reason for allowing multiple implementations)
19:52 pmichaud (2) Whatever module installer becomes popular will probably need to run on a lot of common implementations, however.
19:53 pmichaud i.e., I'd expect panda to be able to work with rakudo-parrot, rakudo-java, rakudo-xyz, niecza, etc.
19:53 FROGGS or there might be a specced protocol that need to be supported
19:53 pmichaud (or, if not "panda", then whatever installer comes next)
19:53 timotimo ooh, tell me more about this xyz platform i've never heard of before
19:53 FROGGS timotimo: pssst, top secret that is
19:53 jnthn timotimo: Oh, xyz is an awesome backend!
19:53 pmichaud timotimo: can't.  it hasn't arrived from the future yet.
19:54 FROGGS timotimo: it is like we have to eat you after telling
19:54 pmichaud I know little more than its name.
19:54 lizmat it would cause a rip in the space-time continuum
19:54 timotimo wow
19:54 FROGGS then we'd need to make a reversed warp-thingy to fix it
19:54 timotimo could we pull cool stuff from the future through those rips?
19:54 pmichaud FROGGS: but yes, I'm sure that over time a common protocol for communicating between implementation and installer will develop.
19:55 pmichaud once that protocol has evolved, it might even become spec.
19:55 FROGGS pmichaud: I was thinking about the communication between installer and 6pan
19:55 lizmat pmichaud: would such a protocol live in nqp?
19:55 pmichaud lizmat: I'd hope it could be at the Perl 6 level.
19:56 lizmat well, if the installer would use the same code base as the module loader to do filename mangling
19:56 lizmat maybe just a file mangling nqp function would be enough, I guess
19:56 pmichaud or a file mangling Perl 6 function
19:56 pmichaud lots of things can live in the core setting
19:56 lizmat or is this something that would *not* be shared by implementation
19:57 lizmat and the core settings do not need the module loader to load code ?
19:57 pmichaud the core settings could be "special".  In many senses they already are.
19:57 lizmat there is no chicken/egg problem there?
19:58 pmichaud there's always a chicken/egg problem when it comes to the CORE settings, I think.  :)
19:58 jnthn lizmat: There's dozens of chicken/egg problems but we find ways to cope with most of them :)
19:58 lizmat as in: we need the module loader code to load the module lade core
19:58 lizmat *loader
19:58 jnthn It's OK to have basic/bootstrap versions of things that get you up to the real thing
19:58 jnthn that already happens today
19:58 pmichaud right
19:58 lizmat ack
19:58 pmichaud if the name mangling is in Perl 6, it's shareable
19:59 pmichaud (and reusable)
19:59 jnthn Rakudo's module loader is actually a module written in NQP loaded by NQP's module loader which is written in NQP and uses a global per-HLL stash to break the circularity.
19:59 lizmat that would be my reason to put it in NQP
19:59 pmichaud well, I don't expect every Perl 6 implementation to be using NQP.
19:59 lizmat ah. ok
20:00 jnthn Note that you could write it in NQP and then expose it through a sub in the setting, for example.
20:00 lizmat hence the Perl 6
20:00 pmichaud it's certainly -possible-, but from a language design perspective I don't want to make that commitment just yet.
20:00 pmichaud especially since I think there are ways to do it in p6 :)
20:00 lizmat but would all Perl 6 implementations share the same filename mangling logic ?
20:00 pmichaud if you're expecting the installer to use it, then.
20:01 pmichaud then yes.
20:01 lizmat ok, fair enough: all Perl 6 implementation using installer A should share the same module loading logic
20:01 pmichaud either you let each implementation decide its own mangling, and the installer just tells the implementation what to do, or you let the installer participate in the mangling, and each implementation needs to be able to share it.
20:02 pmichaud it kind of follows from the notion of "one popular installer".
20:02 pmichaud of course, there can be many installers, which just means even more reason for having an API for this stuff and figuring out what gets implemented where.
20:02 pmichaud but to me "file name mangling" sounds like a fairly ubiquitous problem that wants a solution at the p6 level
20:03 pmichaud for more than just installing modules :)
20:03 lizmat indeed, agree, I just feared it would have to be deeper because of chicken/egg issues
20:03 pmichaud the CORE/bootstrap boundary tends to be where we handle our circularity sawing these days.
20:03 pmichaud jnthn++ certainly knows more about it than I :)
20:05 pmichaud anyway, those are my initial comments, for whatever they're worth.
20:05 pmichaud I do suspect that panda needs to move away from any pir:: it has.  Indeed, it'd be good to not have any nqp:: either, if possible.
20:05 * lizmat is looking at https://gist.github.com/japhb/4158939
20:06 pmichaud I'm afk again.
20:07 lizmat I'm still not convinced that a manifest would need to be checked to load a module with non-wildcarded auth and/or version info
20:08 FROGGS lizmat: before you start hacking: keep in mind that there are not just module files, but also binaries and resource data, which can be the same for different distributions of the same module (duplicate resource file == duplicate diskspace)
20:08 pmichaud oh, before I go:  Einbahnstrasse  sounds like "Peachtree" street in Atlanta.  There are over 64 streets in Atlanta with the word "Peachtree".
20:08 FROGGS lizmat: if I installed 20 versions from three differents auth's of the same module, how do you find the right one?
20:09 pmichaud really gone this time.
20:09 FROGGS see ya
20:09 census bye bye!
20:09 lizmat if a module/auth/version triplet can be mangled into a unique filename, then direct matches could be found by just checking the file system
20:10 FROGGS lizmat: so this triplet will be represented as directories?
20:10 lizmat if no match found, or wildcards in auth or version info, would need a look at the state/manifest file
20:11 lizmat not necessarily: I could see all modules living in 1 directory with a hashed filename
20:11 lizmat 1 directory per @*INC entry, though  :-)
20:12 FROGGS what if I install a binary, its name should be unmangled in PATH
20:12 lizmat why?
20:13 FROGGS well, because if I install rakudo-debugger, I want to be able to execute `rakudo-debugger`, not a cryptic filename
20:13 lizmat ah, ok, but that is not a module
20:14 FROGGS basically we are talking about distributions, not modules
20:14 FROGGS because you really install distributions
20:14 lizmat agree
20:14 FROGGS this one has the version
20:14 lizmat sorry, we need better, unambiguous naming
20:14 FROGGS the module version can be something else
20:16 lizmat agree, although I don't particularly like that
20:16 lizmat but yes, a distribution can have more than one module
20:16 lizmat with different versions even
20:16 lizmat I mean, with different modules having different versions
20:16 FROGGS and it would be nice if resource files wouldn't be stored several times, if they are the same... (thinking of >20MB dists)
20:16 kurahaupo joined #perl6
20:16 FROGGS ya
20:17 FROGGS and a dist may even only ship resources (like localizations)
20:17 FROGGS or skins for something shiny
20:18 FROGGS lizmat: do you know staticperl?
20:18 FROGGS I am thinking that access to resource files might be handled like staticperl does it, and not like File::ShareDir does
20:18 * lizmat is looking
20:19 FROGGS staticperl bundles the resources within the one binary you get at the end, this one contains libperl, your modules, and the resources
20:19 FROGGS it provides a virtual filesystem to access resources
20:21 * lizmat wished that mlehmann would stick to documenting just the benefits/pitfalls of his own modules, rather than comparing with others
20:31 census hi!  does anybody have their own server here?  i'm curious how it works.  maybe pm is best?
20:34 masak census: this is #perl6.
20:34 masak not #server.
20:34 census oh ...
20:34 census ok thanks! :)
20:34 census aww nobody is in #server :(
20:35 * masak rolls eyes :)
20:46 * lizmat makes it an early night
20:46 lizmat goodnight #perl6
20:48 jnthn 'night, lizmat
20:49 tgt joined #perl6
20:59 masak ugh. enough t2 reviewing for today.
20:59 masak my coming week won't be so tough $dayjob-wise. with luck, I'll be able to come back to the final bit of t2 reviewing in the evenings.
20:59 masak I have quite a good speed through the submissions now.
21:00 masak oh! I meant to put together a blurb for the course today! let's do that now.
21:03 dalek rakudo/jvm-support: e108704 | jonathan++ | / (3 files):
21:03 dalek rakudo/jvm-support: Factor out Parrot-specific parts of module loader.
21:03 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/e1087047f5
21:03 dalek rakudo/jvm-support: c9d5967 | jonathan++ | / (2 files):
21:03 dalek rakudo/jvm-support: Add JVM module loader backend; add to build.
21:03 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/c9d59672be
21:03 dalek rakudo/jvm-support: 926c825 | jonathan++ | tools/build/Makefile-JVM.in:
21:03 dalek rakudo/jvm-support: Add cleanup targets to JVM makefile.
21:03 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/926c825315
21:05 kurahaupo joined #perl6
21:05 diakopter joined #perl6
21:11 census yay
21:11 FROGGS jnthn++
21:17 masak name for the course, to trumpet out to the masses?
21:17 masak I was thinking "Perl Mayday!" :)
21:17 masak does that work?
21:20 jnthn It sounds like Perl is about to sink or crash :P
21:20 tgt joined #perl6
21:22 census oh no :(
21:22 masak it's... punny.
21:22 census when is that?
21:23 masak census: it's the course you signed up for! May 1st.
21:23 census cinqo de perlo would be may 5
21:23 masak maybe "Perl Mayday" is a bit *too* self-deprecating.
21:23 masak but it seems cute to me, at least today.
21:26 masak I mean, if I go and name it "Beautiful Perl", the reddit crowd will just go "so the course will be about nothign? har har har"
21:26 masak nothing*
21:26 census hahaha
21:26 masak same with "Readable Perl" or "Simple Perl".
21:27 census i would say something like Perl: Best Coding Practice
21:27 census s
21:27 census or Good Coding Practices in Perl
21:27 census not catchy ...
21:27 census i'm sorry :(
21:28 masak "Perl in Practice"?
21:28 masak hm, doesn't quite capture it either.
21:28 masak "Perl as she is spoke"? :D
21:29 masak https://en.wikipedia.org/wi​ki/English_as_she_is_spoke
21:29 masak maybe too subtle a joke...
21:31 census oh yea i did not realize there was english as she is spoke
21:31 masak right.
21:31 census i don't do witty titles in general.  i'm sorry.
21:31 tgt joined #perl6
21:31 census not that there is anythign wrong with 'em
21:31 masak "Patterns of programming, the Perl way"?
21:31 masak a bit longish.
21:34 masak hm, I'm going about this the wrong way.
21:35 masak I want to convey a *feeling* with the course name, not necessarily put in all the correct keywords.
21:35 masak "The Zen of Programming"?
21:35 sorear Perl Best Practices?
21:35 masak sorear: feels wrong to copy someone's book title for a course with different content.
21:35 masak well, similar-ish but distinct.
21:36 lue .oO(ideas: How to Perl. The Art of Perl. How to C<use Perl;> )
21:36 masak those are all nice, but they focus a bit too strongly on Perl.
21:37 masak ...which is definitely a part of the course, but more a substrate/medium than a topic.
21:38 lue So the course uses Perl to teach about some programming concept? (instead of being a Perl-focused course)
21:38 sorear Mäsak's Idiomatic Perl
21:38 sorear hmm
21:39 sorear masak's design patterns?  all the good names are taken
21:39 lue Street Perl (if, as I seem to understand it, the course is about Perl idioms)
21:40 jnthn Masakist Programming :P
21:40 masak ok, we have a winner.
21:40 jnthn wtf!
21:41 lue who won? jnthn?
21:41 masak I apologise for the undue focus it puts on me...
21:41 jnthn I was kidding but... :)
21:41 census no it is ine
21:41 masak but "masakist" has a very Perl ring to it.
21:41 census i mean the course if your perrspective on good programming practices with a bend on perl
21:41 masak a bit like "acmeist".
21:41 masak census: yeah, exactly.
21:41 masak so the course is about what I says it's about :)
21:42 masak and no-one can claim to not have gotten their money's worth.
21:42 masak (kidding. course is free of charge.)
21:42 lue .oO(Mäsakist Perl: dare to try, report bugs)
21:42 dalek nqp: 8eb328c | jonathan++ | src/vm/jvm/ModuleLoader.nqp:
21:42 dalek nqp: Add blib to search paths, as on Parrot.
21:42 dalek nqp: review: https://github.com/perl6/nqp/commit/8eb328c7c5
21:42 masak all-money-back guarantee!
21:44 lue If you take the course, the things you learn will pay for themselves!
21:44 dalek rakudo/jvm-support: f8f7e3b | jonathan++ | src/Perl6/ModuleLoader.nqp:
21:44 dalek rakudo/jvm-support: Avoid a reliance on Parrot Env semantics.
21:44 dalek rakudo/jvm-support:
21:44 dalek rakudo/jvm-support: Seems it behaves a little differently to Hash if the key doesn't exist.
21:44 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/f8f7e3b681
21:44 dalek rakudo/jvm-support: a7f687c | jonathan++ | src/Perl6/World.nqp:
21:44 dalek rakudo/jvm-support: Remove a now-unrequired QAST::VM usage.
21:44 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/a7f687c903
21:44 masak how's this look? https://gist.github.com/masak/5431185
21:44 masak meant to be a course description that we can pass outside of the echo chamber. to reddit, etc.
21:45 sorear masak: Masakism in Perl
21:45 sorear oh, lue beat me to it
21:45 masak ah, yes. better.
21:46 jnthn "The exercises be relatively easy"...arrrr, maties!
21:47 sorear masak: https://en.wikiquote.org/wiki/Antoin​e_de_Saint-Exupery#Terre_des_Hommes_.281939.29   # last item is my favorite here
21:47 masak jnthn: thank you -- corrected :)
21:48 masak sorear: adding that. I've always liked that one too.
21:48 * jnthn should get an early night...teaching in le morning...
21:48 jnthn 'night, #perl6 o/
21:49 masak 'night, jnthn.
21:49 sorear bye o/
21:49 * lue wonders how a "Yes, really." after "The focus is on simplicity, readability, and elegance." would fare in reddit-y places
21:49 lue good ♞, jnthn o/
21:50 masak lue: maybe "In Perl. Yes, really."
21:50 masak I think I like that.
21:51 lue Interesting use of "it's" at the end of the second paragraph in Course Description.
21:51 masak also fixed. just noticed.
21:52 * masak wonders whether including the French original quote is against the spirit of Saint-Exupery's quote itself
21:52 kurahaupo left #perl6
21:53 lue it establishes that he's French, if you didn't get that from the name already :) .
21:54 lue (alternately, leave the imperfect quote as-is, and chuckle to yourself at how autopunny that quote is)
21:55 * masak ditches the French
21:55 masak I like original-language quotes, but this blurb is not for me, it's for (mostly English-language) prospective participants.
21:56 lue fair enough.
21:57 masak hm, should I link to https://github.com/perl6/mu/​wiki/perl6-workshop-may-2013 at the end?
21:57 lue [ on a related note, it seems I won't be able to attend this virtual event :( ]
21:58 masak on the one hand, that'd establish an "action", something people could do if they're interested.
21:58 masak on the other hand, I don't believe the general outsider will have write access to that page anyway.
21:58 masak lue: there's always backlog.
21:58 masak lue: and the course contents will remain online, likely in a github repo.
21:59 lue Not logged into github, I don't readily see an edit button (there's only a Page History button)
22:00 masak right; exactly.
22:01 masak and I'm not sure whether it's worth it to provide another way for people to sign up. they could just show up and participate, I guess.
22:01 tgt joined #perl6
22:02 masak raiph: I think we're ready to launch https://gist.github.com/masak/5431185 to the masses.
22:03 lue perhaps they can lodge their signedup-edness on #masakists before the event
22:04 masak that's not such a bad idea. lue++
22:05 masak moritz: at your convenience, do you think you could add ilogger2 to #masakism ?
22:06 Khisanth joined #perl6
22:13 raiph masak: some suggestions: mention IRC; "in Europe, that's in the late afternoon.." day? (and same for americas); can exercises be completed using an online eval such as channel bots or does one need to install perl?
22:15 raiph mebbe put IRC client in prereqs with a link to a couple clients and tip to come chat on #perl6 prior to may 1 if someone hasn't used it before?
22:25 masak those are good tips.
22:26 masak I didn't get the "and same for americas" suggestion, though.
22:26 masak am I using "afternoon" and "evening" in the wrong way?
22:26 raiph masak: is that day a different day of the week?
22:27 masak ...from what?
22:27 raiph late morning next weekday?
22:27 lue For me, UTC-7 = 9 to 13, 1 May
22:27 raiph what day of week is that?
22:27 lue wednesday
22:27 masak raiph: no. oh, are you talking just about the ordering? because I agree it's a bit odd, not west-to-east or anything.
22:28 raiph so it's wed for everyone?
22:29 raiph anyhoo, that's what i meant
22:30 masak raiph: updated. how's this look? https://gist.github.com/masak/5431185
22:30 BenGoldberg joined #perl6
22:32 raiph masak: i can imagine folk thinking they need to install a compiler (even though you don't mention it in prereqs)
22:32 masak oh! right. forgot about that bit.
22:33 masak yes, they do.
22:34 raiph i'd recommend you urge folk to get that set up before may 1 and to ask in #perl6 if they need help
22:36 masak raiph: added some about that: https://gist.github.com/masak/5431185
22:38 raiph (final couple minor nits: 1. the term "course" doesn't ring true for me. mebbe that's my brit background. mebbe workshop? 2. mebbe a title that summarizes the who thing ("4 hour IRC workshop: Masakism in Perl (5 + 6)"?)
22:38 raiph er, "May 1: 4 hour ..."
22:38 raiph s/who/whole/
22:39 masak yes, very good suggestions.
22:39 * masak makes it so
22:40 masak should be updated now. https://gist.github.com/masak/5431185
22:40 frdmn joined #perl6
22:43 raiph looks good. will start promoting tonight or tomorrow. i'm excited about it. gotta run.
22:48 erkan joined #perl6
22:48 erkan joined #perl6
22:52 frdmn joined #perl6
22:57 adu_ joined #perl6
22:58 masak \o/
23:04 masak 'night, #perl6
23:06 adu_ night
23:06 adu_ and good afternoon for me
23:24 census night masak!
23:25 berekuk joined #perl6
23:33 lichtkind raiph: hai
23:33 lichtkind are there any data how did nom increase speed?
23:36 Shozan joined #perl6
23:51 kurahaupo joined #perl6
23:53 kurahaupo left #perl6
23:59 japhb lichtkind, are you looking for benchmarks over time, or are you looking for performance bugs fixed and algorithms improved?

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo