»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by diakopter on 14 April 2013.
00:08 MrMeek-afk joined 00:10 MrMeek left 00:15 edgeuplink joined 00:17 fgomez joined 00:23 raiph left 00:29 pupoque joined 00:38 BenGoldberg joined
census hi! anybody around? :) 00:45
colomon o/ 00:46
00:46 kurahaupo joined
census hi! 00:55
it is quiet around here :(
00:55 berekuk joined
PerlJam census: that happens sometimes 00:56
census i know ... 00:57
01:00 berekuk left 01:01 berekuk joined
census how are you? 01:03
01:06 berekuk left 01:07 berekuk joined 01:09 berekuk left 01:10 berekuk joined 01:23 Psyche^ joined 01:27 Patterner left, Psyche^ is now known as Patterner 01:52 FROGGS__ joined
[Coke] gist.github.com/coke/5428159 - OS X rakudo failures. 01:55
01:56 FROGGS_ left
[Coke] Unrecognized character name LINE FEED (LF) 01:58
r: say "\c[LINE FEED (LF)"
camelia rakudo e9e1b5: OUTPUT«===SORRY!===␤Unrecognized \\c character␤at /tmp/o7FtHxYh5f:1␤------> say "\c[⏏LINE FEED (LF)"␤ expecting any of:␤ argument list␤ prefix or term␤ prefix or meta-prefix␤ double quotes␤»…
[Coke] r: say "\c[LINE FEED (LF)]"
camelia rakudo e9e1b5: OUTPUT«␤␤»
[Coke] (that fails on OSX ) 02:01
also, how to fudge a test only on some platforms? 02:03
colomon I don't know of a way to do that. 02:04
02:05 MrMeek-afk is now known as MrMeek 02:07 pupoque left
pmichaud wonder what version of icu is on that system. 02:13
[Coke] <param name="version">49.1.2</param> 02:15
looks like 49.1.2.1 is available. trying that. 02:18
pmichaud .... 49?!? 02:20
mine is 4.8.1.1
lue has 49.1.2 as well 02:23
And I get "Unrecognized character name LINE FEED (LF)" as well. 02:24
lue wonders if, like chr and ord, there couldn't be a function that gives you the UNICODE NAME of a character 02:29
02:32 DreamingInCode joined 02:42 dwoldrich joined 02:52 preflex_ joined 02:53 preflex left, preflex_ is now known as preflex 03:09 xinming_ joined 03:12 xinming left
sorear lue: "\n" has no unicode name 03:13
you need fudges to handle \c[LF], because that's not a unicode name, it's a special cased non-unicode name 03:14
unicode does not officially name the C0 and C1 characters
03:17 census left 03:27 BenGoldberg left 03:29 census joined
pmichaud Coke: I wonder if "\c[LINE FEED]" works in your version. 03:30
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:33
.u 000a 03:34
yoleaux U+000A LINE FEED (LF) [Cc] (␊)
pmichaud anyway, to the extent it's a rakudo bug, it's a problem with ICU (or with Rakudo's use of ICU)
[Coke] pmichaud: "\c[LINE FEED]" fails also 03:39
labster I've been browsing/grepping through CORE.setting. Why are all but six of the classes declared as "my class"? 04:04
census labster++ 04:07
sorear labster: why the rule, or why the exceptions?
labster I'm clueless as to both. It feels wrong, so I want to know if there's a reason for it. 04:08
hi census, not sure why I get karma for me being clueless :P 04:09
census awwww
becuase you are trying hard!! 04:10
good attitude
tryign to learn well :)
labster sorear: this is Rakudo's CORE.setting, haven't looked much through Niecza's yet. 04:11
04:13 dwoldrich left
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:16
labster Well sure, but why the exceptions then? 04:17
moritz I have no idea
probably just oversights 04:18
04:35 rindolf joined 05:03 woosley joined 05:27 quester joined 05:43 ironcame1 is now known as ironcamel, kurahaupo left 05:44 kurahaupo joined 05:53 kurahaupo left 05:56 kurahaupo joined 05:59 census left 06:14 adu left 06:21 kaare_ joined 06:45 araujo left 06:54 domidumont joined 07:06 rindolf left, rindolf joined 07:14 Guest7431 joined, Guest7431 left 07:18 domidumont left 07:19 domidumont joined 07:22 rindolf left, rindolf joined 07:30 erkan joined, erkan left 07:33 rindolf left 07:34 erkan joined, erkan left, erkan joined, rindolf joined 07:45 rindolf left, rindolf joined 07:51 kurahaupo left 07:53 jac50 joined 07:57 rindolf left, rindolf joined 08:06 rindolf left, rindolf joined 08:14 quester left
tadzik good morning #perl6 08:19
FROGGS__ morning tad 08:20
08:20 FROGGS__ is now known as FROGGS
labster good morning 08:20
FROGGS morning labster 08:21
08:21 adu_ joined
sorear o/ 08:22
08:22 pupoque joined
FROGGS hi sorear 08:22
do we have enough coffee for us all? 08:23
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
labster my favorite was when CORE.setting compiled, and then RESTRICTED.setting failed. 08:29
FROGGS well, ya, there are switches for camelia-bot... 08:31
08:32 erkan left 08:33 erkan joined 08:44 census joined 08:49 preflex left 08:51 sisar joined
rindolf tadzik: hi. 09:14
tadzik: what's up?
FROGGS: hi, what's up?
Does anyone have any news about Larry Wall’s surgery or post-surgery? 09:16
09:23 SamuraiJack joined 09:24 bbkr joined 09:25 pupoque left
moritz there was an update some time ago after the surgery that it was fine 09:27
but I haven't read any news after that
09:28 adu_ left 09:29 sisar left 09:30 pupoque joined
rindolf moritz: thanks. 09:32
jnthn morning, #perl6 09:39
census morning! 09:42
09:55 araujo joined, araujo left, araujo joined 09:56 liudelong joined 10:09 woosley left 10:11 spider-mario joined 10:12 liudelong left 10:13 liudelong joined, fgomez left, dayangkun joined 10:22 kaare__ joined 10:23 kaare_ left
rindolf jnthn: morning. 10:29
10:41 bbkr left 10:47 kurahaupo joined 10:48 SamuraiJack_ joined 10:49 SamuraiJack left 10:57 berekuk left 11:01 berekuk joined 11:03 kurahaupo left
tangentstorm hey all... 11:12
what is := ?
FROGGS binding 11:13
tangentstorm hrm thanks, but i still don't understand. what is the difference between = and := ? 11:14
census comparison v.s. setting a variable equal to 11:20
FROGGS census: no# 11:24
assignment does something extra: boxing and copies 11:25
r: my $a = 1; $a++
camelia rakudo e9e1b5: ( no output )
11:25 FROGGS_ joined
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
FROGGS the binding example is like: 1++ 11:26
tangentstorm hmm
FROGGS r: 1++
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:26 ilbot6 left 11:27 ilbot6 joined
tangentstorm just read perl6.org/archive/doc/design/exe/E03.html 11:27
census oh :( i tried :( 11:28
sorry for the wrong information . . .
tangentstorm hrm 11:29
r: my $a = 1; my $b := $a; $a++; say $b
camelia rakudo e9e1b5: OUTPUT«2␤»
tangentstorm i get it now. thanks :)
FROGGS :o)
11:30 FROGGS_ left 11:31 pecastro joined
FROGGS jnthn: the last paragraph here needs an update :o) github.com/perl6/nqp/tree/master/src 11:43
11:44 isBEKaml joined 11:47 isBEKaml left 11:59 frdmn left 12:09 MrMeek-afk joined 12:11 PacoAir joined 12:12 MrMeek left 12:42 drbean left 12:43 drbean joined 12:56 fgomez joined 13:12 crab2313 joined, woolfy joined 13:22 kurahaupo joined 13:30 woosley joined 13:59 stevan_ joined 14:03 liudelong left 14:04 skids left 14:05 pupoque left 14:06 skids joined 14:07 unknowndna joined 14:10 edgeuplink left, unknowndna left, edgeuplink joined 14:11 raiph joined 14:12 edgeuplink left 14:14 lizmat_ joined, lizmat left 14:18 chinaXing joined 14:20 pupoque joined 14:24 [particle] joined, census left, kurahaupo left 14:25 BenGoldberg joined 14:33 chinaXing left 14:42 chinaXing joined 14:43 chinaXing left, SamuraiJack__ joined 14:44 SamuraiJack_ left 14:50 jferrero joined 14:52 census2 joined 14:55 census2 is now known as census 14:58 frdmn joined 15:03 woosley left
dalek p-jvm-prep: 2d85dca | jonathan++ | README.markdown:
Note in README that this repo is historical.
15:07
15:14 mangala_ is now known as mangala
dalek p: d3bfdf0 | jonathan++ | README:
Initial REAMDE updates.

Also needs to provide build instructions for on the JVM.
15:24
jnthn Will get to those later...gotta go find $train.next... &
masak I've spent parts of the afternoon going through the broad strokes of github.com/perl6/mu/wiki/perl6-wor...p-may-2013 with census++. feels like I'm on the right track with topics. \o/ 15:38
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.
census masak++ 15:41
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
...just with the expectation that you will then be a spectator, not a participant ;)
moritz masak: what exactly do you mean by "work for both Perl 5 and Perl 6"? 16:04
that all examples work in both languages? 16:05
or that you will teach the difference between the two?
masak examples and exercises will all exist in a Perl 5 version and a Perl 6 version. 16:08
it will be more for me to prepare, but it might also bring in more people from both worlds.
moritz looks forward to it 16:11
16:12 lustlife joined 16:14 stevan_ left 16:17 stevan_ joined 16:18 stevan_ left 16:20 pupoque left
masak yeah, census, my one-person review committee, responded positively to it. :) so I'm looking forward to it, too. 16:25
I will take some time to prepare it all in the next week or so.
census hahaha
masak but already today, I expect to put together an agenda of sorts.
census don't go by the jdugement of census though :)
but yes
masak is good :)
masak and maybe then we can do some promotion on reddit or something?
japhb, nige, gtodd, PerlJam: all of you working on May 1st? 16:33
16:50 pecastro left
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
I'm curious how :from should work...
dalek kudo/nom: 7cd3302 | moritz++ | src/core/Match.pm:
implement Match.lines (RT #117461)
16:53
lizmat_ FROGGS: I guess that panda is the closest we have to an "install_module", right? 16:55
16:55 lizmat_ is now known as lizmat
FROGGS lizmat: I am talking about the module-loader code within rakudo 16:55
(compile time and runtime file loader and parser)
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 I am thinking about fiddling with %*LANG, when :from is something else then Perl6
yes, but that comes later
panda must first record the version numbers and auth string, we are far away from that
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, SamuraiJack joined 16:59 SamuraiJack__ left 17:04 crab2313 left, pecastro joined
lizmat is going through the panda code and found some dependencies on PIR 17:08
I guess that will also need to be fixed before the jvm backend can be truly operational on its own?
FROGGS lizmat: use ModuleName:from<Java>; will load a java module 17:10
and to properly parse that module it will have to jump into the right grammar, right before trying to parse
lizmat indeed, but for *installing* a module with panda, at the moment, you will need to have parrot around still 17:11
is my impression
FROGGS I dont think that panda will ever install Java modules 17:12
so :from<Java> will search Java's default libdirs for libs that are installed by Java's installer
lizmat that's not my point 17:14
suppose we have a rakudo on a system with just the JVM backend
17:14 tgt joined
FROGGS okay 17:14
lizmat you won't be able to install Perl 6 modules with panda because it depends on parrot 17:15
FROGGS ahh
lizmat it even has bare .pir code in its belly
FROGGS okay, maybe ya
well, needs to be rewritten in near future then
lizmat indeed… and such a rewrite would need to include auth and version support at the least 17:16
and if nobody else is going to do that before the YAPC::NA, I want to take on that job
17:17 kivutar joined
FROGGS there already is a panda2 (not on github yet though) 17:17
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.
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
first, make panda cleaner, maintainable and stable
everything else after that
lizmat but if people are starting to write Perl 6 modules, we will *need* auth / version very soon
masak sure.
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
lizmat ah, yes.. definitely!
masak we agree. good :)
lizmat scenario: more people start using Rakudo, and using it in production 17:21
then we finally implement auth / version
I'm pretty sure a new Rakudo would not know what to do with previously installed moduled
s
because they would be living at the wrong place, for one
FROGGS lizmat: you maybe wanna read that
github.com/FROGGS/p6-S11Versioning
bbiab
lizmat reading, also biam 17:22
I'm not sure I like the idea of having to read MANIFEST files / parsing them to find a module 17:29
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:30
17:49 dmol left 17:54 BenGoldberg left 17:59 lichtkind joined 18:07 stevan_ left
FROGGS I believe auth's verification only can happen when uploading a module to a trusted site 18:11
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...
diakopter also on case-insensitive filesystems
FROGGS lizmat: I believe it should be enough if the trustworthyness is checked only once, not everytime you load a module 18:13
diakopter: ya, just was an example
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
FROGGS true
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 ?
FROGGS I dont know these
lizmat I agree there is some database needed in each @*INC directory (similar to decided at QA Hackathon for Perl 5)
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
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
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
lizmat and only check the directories to see whether such a file exists ?
FROGGS lizmat: because you might up ending with a filename lengths > 255chars (including parent directories), which is a problem 18:19
18:19 pupoque joined
lizmat who says we would need directories? :-) 18:20
FROGGS *g*
I'll see forward to read your proposal *g*
lizmat I'm just saying: the 255 char limit would be something to keep in minde
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 tgt left
FROGGS you can come around these issues with YALOI (yet another layer of indirection) 18:22
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
so that the first module loade will be slow, because lots of files need to be checked, and then subsequent ones are much faster
so you can get away with a relatively loose coupling between module name and file name
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
moritz: because some information is only available within distributions, not within module files
18:24 dmol joined
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
basically if the installer once invokes rakudo, it'll write the cache files 18:27
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
FROGGS moritz: well, I sorta covered the dev-modules case 18:28
18:31 pupoque left
raiph rn: my \term:<a> = 1 # golfed version of not-working-in-rakudo S06:1284 18:38
camelia niecza v24-37-gf9c8fc2: ( no output )
..rakudo 7cd330: OUTPUT«===SORRY!===␤Method 'ast' not found for invocant of class 'NQPMu'␤»
raiph rakudo regression? known? (and why does camelia say "..rakudo" (why the .. prefix?)) 18:39
geekosaur indicating continued output? 18:40
FROGGS raiph: I believe the slower one gets the '..'
moritz to distinguish 'rn' output from two separate calls with 'r' and 'n' 18:41
FROGGS: no, they aren't launched in parallel, and aren't timed either 18:42
FROGGS ahh, good to know
rn: module C# { } 18:45
camelia niecza v24-37-gf9c8fc2: OUTPUT«===SORRY!===␤␤Unable to parse module definition at /tmp/Qy_MHKCWRM line 1 (EOF):␤------> module C# { }⏏<EOL>␤␤Parse failed␤␤»
..rakudo 7cd330: OUTPUT«===SORRY!===␤Unable to parse module definition␤at /tmp/vtDMsSDy9W:1␤------> module C# { }⏏<EOL>␤ expecting any of:␤ statement list␤ prefix or term␤ prefix or meta-prefix␤ generic role␤»…
moritz rn: module ::('C#') { }
camelia rakudo 7cd330, niecza v24-37-gf9c8fc2: ( no output )
FROGGS hmmm
okay, should do it 18:46
thanks moritz
moritz: I am thinking that the :from adverb of use-statements should match modules, which will be loaded for parsing that "module"
18:47 DreamingInCode left
raiph geekosaur, FROGGS, moritz: thanks for answer about .. 18:48
19:03 tgt joined 19:06 domidumont left 19:07 pupoque joined 19:08 stevan_ joined 19:10 stevan_ left
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'␤»
masak raiph: doesn't look familiar. feel free to submit. 19:15
raiph will do 19:16
19:17 rindolf left
jnthn good evening o/ 19:29
lizmat hi jnthn! 19:30
jnthn has made it to the unknown, but seemingly pleasant bit of Sweden where he'll be teaching for the next few days :) 19:31
census jnthn++ 19:32
lizmat wonders where that is, Umea?
jnthn lizmat: No, I'd heard of that place before :) 19:33
lue hello o/ 19:34
lizmat ytterby then?
jnthn oh, you know these parts
A bit north of there...Stengungsund :)
*Stenungsund even
19:34 MrMeek-afk is now known as MrMeek
jnthn went through Ytterby on the train 19:35
Also, a place called Kode. Sounds like a good hackathon destination ;)
Apart from the pronounce it in a silly way that sounds nothing like "code" /o\
FROGGS jnthn: does Högboträsk exist?
lizmat just like the people of Perl pronounce perl as "peril"
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:36
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...
FROGGS one of my favourite movies though :o) 19:39
masak Ytterby is special for having no less than *four* chemical elements named after it: yttrium, erbium, terbium, and ytterbium. 19:40
sounds like a joke, but it isn't :)
FROGGS hehe 19:41
lizmat I thought "ytterby" was generic for "suburb" ?
masak maybe in Danish or Norwegian.
in Swedish, it feels like it would mean "outer village".
tangentstorm en.wikipedia.org/wiki/Ytterby 19:42
wikipedia concurs.
masak it also claims Ytterby is on the east coast.
jnthn took quite a detour today :)
lizmat the thing is that I know that there is an ytterby near Gothenborg as well
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
always travelled from the center of Stockholm to Ytterby by bus, ~ 20 mins or so 19:44
then took the train from Stockholm to Gothenborg, to take the ferry back to Amsterdam
masak yes, there's more than one. :)
lizmat first thing I saw outside the Gothenborg train station, is a bus to "Ytterby"
so I gathered this was a generic term
I guess, it wasn't after all 19:45
and jnthn saw the Ytterby near Gothenborg
jnthn Well, through the train window.
masak lizmat: it might be a generic form that morphed into a proper name.
jnthn it didn't look terribly exciting :)
masak lizmat: there are dozens of lakes in Sweden called "Storsjön" and "Lillsjön" :)
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"
pmichaud (the commit added it directly to Match.)
lizmat I nice street, but there are so many of them
*a
masak r: say Match ~~ Cool 19:47
camelia rakudo 7cd330: OUTPUT«True␤»
masak pmichaud: it would make sense for me to add .lines() to Cool, fwiw.
pmichaud yeah, same here.
I mean, we have .chars, .codes, .comb, etc. all in Cool, seems like .lines ought to go there too. 19:48
I think I will make it so.
jnthn doesn't see a reason not to do that
19:49 dmol left
timotimo seems good to me 19:50
FROGGS has no opinion on that o/
pmichaud Two comments on the earlier "installer" questions. 19:51
raiph my \term:<a> = 1 # rakudobug #117695 submat
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)
(2) Whatever module installer becomes popular will probably need to run on a lot of common implementations, however.
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
pmichaud (or, if not "panda", then whatever installer comes next)
timotimo ooh, tell me more about this xyz platform i've never heard of before
FROGGS timotimo: pssst, top secret that is
jnthn timotimo: Oh, xyz is an awesome backend!
pmichaud timotimo: can't. it hasn't arrived from the future yet.
FROGGS timotimo: it is like we have to eat you after telling 19:54
pmichaud I know little more than its name.
lizmat it would cause a rip in the space-time continuum
timotimo wow
FROGGS then we'd need to make a reversed warp-thingy to fix it
timotimo could we pull cool stuff from the future through those rips?
pmichaud FROGGS: but yes, I'm sure that over time a common protocol for communicating between implementation and installer will develop.
once that protocol has evolved, it might even become spec. 19:55
FROGGS pmichaud: I was thinking about the communication between installer and 6pan
lizmat pmichaud: would such a protocol live in nqp?
pmichaud lizmat: I'd hope it could be at the Perl 6 level.
lizmat well, if the installer would use the same code base as the module loader to do filename mangling 19:56
19:56 kaare__ left
lizmat maybe just a file mangling nqp function would be enough, I guess 19:56
pmichaud or a file mangling Perl 6 function
lots of things can live in the core setting
lizmat or is this something that would *not* be shared by implementation
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.
lizmat there is no chicken/egg problem there?
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 :)
lizmat as in: we need the module loader code to load the module lade core
*loader
jnthn It's OK to have basic/bootstrap versions of things that get you up to the real thing
that already happens today
pmichaud right
lizmat ack
pmichaud if the name mangling is in Perl 6, it's shareable
(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.
lizmat that would be my reason to put it in NQP
pmichaud well, I don't expect every Perl 6 implementation to be using NQP.
lizmat ah. ok
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
pmichaud it's certainly -possible-, but from a language design perspective I don't want to make that commitment just yet.
especially since I think there are ways to do it in p6 :)
lizmat but would all Perl 6 implementations share the same filename mangling logic ?
pmichaud if you're expecting the installer to use it, then.
then yes. 20:01
lizmat ok, fair enough: all Perl 6 implementation using installer A should share the same module loading logic
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.
it kind of follows from the notion of "one popular installer". 20:02
20:02 jac50 left
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
but to me "file name mangling" sounds like a fairly ubiquitous problem that wants a solution at the p6 level
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
pmichaud the CORE/bootstrap boundary tends to be where we handle our circularity sawing these days.
jnthn++ certainly knows more about it than I :)
anyway, those are my initial comments, for whatever they're worth. 20:05
20:05 SamuraiJack left
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 gist.github.com/japhb/4158939
pmichaud I'm afk again. 20:06
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:07
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".
FROGGS lizmat: if I installed 20 versions from three differents auth's of the same module, how do you find the right one?
pmichaud really gone this time. 20:09
FROGGS see ya
census bye bye!
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
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
not necessarily: I could see all modules living in 1 directory with a hashed filename 20:11
1 directory per @*INC entry, though :-)
FROGGS what if I install a binary, its name should be unmangled in PATH 20:12
lizmat why?
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
FROGGS basically we are talking about distributions, not modules 20:14
because you really install distributions
lizmat agree
sorry, we need better, unambiguous naming
FROGGS this one has the version
the module version can be something else
lizmat agree, although I don't particularly like that 20:16
but yes, a distribution can have more than one module
with different versions even
I mean, with different modules having different versions
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
FROGGS ya 20:16
and a dist may even only ship resources (like localizations) 20:17
or skins for something shiny
lizmat: do you know staticperl? 20:18
I am thinking that access to resource files might be handled like staticperl does it, and not like File::ShareDir does
lizmat is looking
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
it provides a virtual filesystem to access resources
lizmat wished that mlehmann would stick to documenting just the benefits/pitfalls of his own modules, rather than comparing with others 20:21
20:27 tgt left
census hi! does anybody have their own server here? i'm curious how it works. maybe pm is best? 20:31
masak census: this is #perl6. 20:34
not #server.
census oh ...
ok thanks! :)
aww nobody is in #server :(
masak rolls eyes :) 20:35
20:43 kivutar left
lizmat makes it an early night 20:46
goodnight #perl6
jnthn 'night, lizmat 20:48
20:49 tgt joined 20:55 kurahaupo left 20:58 Chillance left
masak ugh. enough t2 reviewing for today. 20:59
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.
I have quite a good speed through the submissions now.
oh! I meant to put together a blurb for the course today! let's do that now. 21:00
dalek kudo/jvm-support: e108704 | jonathan++ | / (3 files):
Factor out Parrot-specific parts of module loader.
21:03
kudo/jvm-support: c9d5967 | jonathan++ | / (2 files):
Add JVM module loader backend; add to build.
kudo/jvm-support: 926c825 | jonathan++ | tools/build/Makefile-JVM.in:
Add cleanup targets to JVM makefile.
21:05 kurahaupo joined, diakopter joined 21:07 arlinius left 21:10 tgt left
census yay 21:11
FROGGS jnthn++
masak name for the course, to trumpet out to the masses? 21:17
I was thinking "Perl Mayday!" :)
does that work?
jnthn It sounds like Perl is about to sink or crash :P 21:20
21:20 tgt joined 21:22 tgt left
census oh no :( 21:22
masak it's... punny.
census when is that?
masak census: it's the course you signed up for! May 1st. 21:23
census cinqo de perlo would be may 5
masak maybe "Perl Mayday" is a bit *too* self-deprecating.
but it seems cute to me, at least today.
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
nothing*
census hahaha
masak same with "Readable Perl" or "Simple Perl".
census i would say something like Perl: Best Coding Practice 21:27
s
or Good Coding Practices in Perl
not catchy ...
i'm sorry :(
masak "Perl in Practice"? 21:28
hm, doesn't quite capture it either.
"Perl as she is spoke"? :D
en.wikipedia.org/wiki/English_as_she_is_spoke 21:29
maybe too subtle a joke...
census oh yea i did not realize there was english as she is spoke 21:31
masak right.
census i don't do witty titles in general. i'm sorry.
21:31 tgt joined
census not that there is anythign wrong with 'em 21:31
masak "Patterns of programming, the Perl way"?
a bit longish.
21:32 pupoque left 21:33 PacoAir left
masak hm, I'm going about this the wrong way. 21:34
I want to convey a *feeling* with the course name, not necessarily put in all the correct keywords. 21:35
"The Zen of Programming"?
sorear Perl Best Practices?
masak sorear: feels wrong to copy someone's book title for a course with different content.
well, similar-ish but distinct.
lue
.oO(ideas: How to Perl. The Art of Perl. How to C<use Perl;> )
21:36
21:36 woolfy left
masak those are all nice, but they focus a bit too strongly on Perl. 21:36
...which is definitely a part of the course, but more a substrate/medium than a topic. 21:37
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
hmm
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)
jnthn Masakist Programming :P 21:40
masak ok, we have a winner.
jnthn wtf!
lue who won? jnthn? 21:41
masak I apologise for the undue focus it puts on me...
jnthn I was kidding but... :)
census no it is ine
masak but "masakist" has a very Perl ring to it.
census i mean the course if your perrspective on good programming practices with a bend on perl
masak a bit like "acmeist".
census: yeah, exactly.
so the course is about what I says it's about :)
and no-one can claim to not have gotten their money's worth. 21:42
(kidding. course is free of charge.)
lue
.oO(Mäsakist Perl: dare to try, report bugs)
dalek p: 8eb328c | jonathan++ | src/vm/jvm/ModuleLoader.nqp:
Add blib to search paths, as on Parrot.
masak all-money-back guarantee!
lue If you take the course, the things you learn will pay for themselves! 21:44
dalek kudo/jvm-support: f8f7e3b | jonathan++ | src/Perl6/ModuleLoader.nqp:
Avoid a reliance on Parrot Env semantics.

Seems it behaves a little differently to Hash if the key doesn't exist.
kudo/jvm-support: a7f687c | jonathan++ | src/Perl6/World.nqp:
Remove a now-unrequired QAST::VM usage.
masak how's this look? gist.github.com/masak/5431185
meant to be a course description that we can pass outside of the echo chamber. to reddit, etc.
sorear masak: Masakism in Perl 21:45
oh, lue beat me to it
masak ah, yes. better.
jnthn "The exercises be relatively easy"...arrrr, maties! 21:46
sorear masak: en.wikiquote.org/wiki/Antoine_de_S....281939.29 # last item is my favorite here 21:47
masak jnthn: thank you -- corrected :)
sorear: adding that. I've always liked that one too. 21:48
jnthn should get an early night...teaching in le morning...
'night, #perl6 o/
masak 'night, jnthn. 21:49
sorear bye o/
lue wonders how a "Yes, really." after "The focus is on simplicity, readability, and elegance." would fare in reddit-y places
good ♞, jnthn o/
masak lue: maybe "In Perl. Yes, really." 21:50
I think I like that.
lue Interesting use of "it's" at the end of the second paragraph in Course Description. 21:51
masak also fixed. just noticed.
masak wonders whether including the French original quote is against the spirit of Saint-Exupery's quote itself 21:52
21:52 kurahaupo left
lue it establishes that he's French, if you didn't get that from the name already :) . 21:53
(alternately, leave the imperfect quote as-is, and chuckle to yourself at how autopunny that quote is) 21:54
masak ditches the French 21:55
I like original-language quotes, but this blurb is not for me, it's for (mostly English-language) prospective participants.
lue fair enough. 21:56
masak hm, should I link to github.com/perl6/mu/wiki/perl6-wor...p-may-2013 at the end? 21:57
lue [ on a related note, it seems I won't be able to attend this virtual event :( ]
masak on the one hand, that'd establish an "action", something people could do if they're interested. 21:58
on the other hand, I don't believe the general outsider will have write access to that page anyway.
lue: there's always backlog.
lue: and the course contents will remain online, likely in a github repo.
lue Not logged into github, I don't readily see an edit button (there's only a Page History button) 21:59
21:59 tgt left
masak right; exactly. 22:00
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
22:01 tgt joined
masak raiph: I think we're ready to launch gist.github.com/masak/5431185 to the masses. 22:02
22:02 lustlife left
lue perhaps they can lodge their signedup-edness on #masakists before the event 22:03
masak that's not such a bad idea. lue++ 22:04
moritz: at your convenience, do you think you could add ilogger2 to #masakism ? 22:05
22:06 Khisanth joined
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:13
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:15
masak those are good tips. 22:25
I didn't get the "and same for americas" suggestion, though. 22:26
22:26 erkan left
masak am I using "afternoon" and "evening" in the wrong way? 22:26
raiph masak: is that day a different day of the week?
masak ...from what? 22:27
raiph late morning next weekday?
lue For me, UTC-7 = 9 to 13, 1 May
raiph what day of week is that?
lue wednesday
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.
raiph so it's wed for everyone? 22:28
anyhoo, that's what i meant 22:29
masak raiph: updated. how's this look? gist.github.com/masak/5431185 22:30
22:30 BenGoldberg joined
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.
yes, they do. 22:33
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:34
masak raiph: added some about that: gist.github.com/masak/5431185 22:36
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
22:38 frdmn left
raiph er, "May 1: 4 hour ..." 22:38
s/who/whole/
masak yes, very good suggestions. 22:39
masak makes it so
should be updated now. gist.github.com/masak/5431185 22:40
22:40 frdmn joined
raiph looks good. will start promoting tonight or tomorrow. i'm excited about it. gotta run. 22:43
22:48 erkan joined 22:52 frdmn left, frdmn joined 22:57 adu_ joined
masak \o/ 22:58
23:00 spider-mario left 23:03 FROGGS left
masak 'night, #perl6 23:04
adu_ night 23:06
and good afternoon for me
23:15 tgt left 23:20 berekuk left
census night masak! 23:24
23:25 berekuk joined
lichtkind raiph: hai 23:33
are there any data how did nom increase speed?
23:36 Shozan joined 23:51 kurahaupo joined 23:53 kurahaupo left, adu_ is now known as adu
japhb lichtkind, are you looking for benchmarks over time, or are you looking for performance bugs fixed and algorithms improved? 23:59