»ö« 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!
Set by sorear on 4 February 2011.
lue huf: interesting. Never would have thought of needing to do that. 00:13
huf it's so frequent a question on #perl that there are multiple modules to make it nicer :)
lue (although I fear I don't quite get what use lib is trying to do. /me researches use lib) 00:14
huf BEGIN { push @INC, '....' }
lue Ah. I'm getting the feeling a lot of my confusion stems from me not having ever needed to do this. 00:15
huf :) 00:16
lue Huh. running perl6 -e "require 'lib/lib.pm6';" in the base of rakudo's repo generates a "could not find" error. 00:20
Which, IIRC, is wrong. 00:25
.oO(And all this talk today when I thought I'd never have problems with P6's module system again...)
00:33
[Coke] r: say (1..20).grep(*.is-prime) 01:47
p6eval rakudo 247f87: OUTPUT«2 3 5 7 11 13 17 19␤»
[Coke] huh. that's failing locally.
r: say (1..100).grep(*.is-prime)
p6eval rakudo 247f87: OUTPUT«2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97␤»
[Coke] even weirder, the spectest fails, but the code 01:56
snippet works in the REPL
diakopter [Coke]: that's subprime 02:45
japhb phenny, tell TimToady I've been tanking on S11 and the big discussion we had this afternoon. I'm beginning to wonder if the 'use' statement isn't the right place to be specifying auth and ver, or at least not the only place to make that choice. 03:03
phenny japhb: I'll pass that on when TimToady is around.
japhb phenny, tell TimToady I understand the desire to say "I need this API version from my dependency." But it's the wrong place to specify it when you want to bundle, i.e. specify "These packages of software have been tested together", where you want to make a more project-global choice 03:05
phenny japhb: I'll pass that on when TimToady is around.
japhb phenny, tell TimToady I'll continue to tank on it, but input from your highly non-linear thinking patterns desired. 03:06
phenny japhb: I'll pass that on when TimToady is around.
japhb
.oO( TimToady as non-deterministic oracle )
cyclick2 is perl6 better then perl5 at character encodings? 03:09
sorear yes in some regards 03:11
character strings and byte strings are no longer interchangable, so it's no longer possible to accidentally not handle encoding or handle it twice
sorear however the encoding menu is much smaller, no current p6 impl supports EBCDIC 03:12
cyclick2 is it possible to say all strings are utf-8 for example, no matter which module your are using? 03:15
spiderweb lo 03:16
japhb cyclick2, character strings by default follow Unicode semantics in Perl 6. 03:17
sorear cyclick2: All strings can contain any Unicode character.
cyclick2: The encoding is an implementation detail - Niecza uses UTF-16
cyclick2 good 03:18
sorear mikemol! \o/ 03:28
mikemol o/ 03:34
sirrobert lo 05:37
raiph hi sirrobert 05:46
moritz \o 05:56
FROGGS good morning 07:36
sorear good morning FROGGS 07:43
tadzik good morning #perl6 07:54
FROGGS tadzik, sorear o/ 07:56
sqirrel so, sp􏿽xFCler l􏿽xE4uft 09:32
oh sorry wrong window
hoelzro hehe 09:35
#housework?
rather, #housework_de
FROGGS ;o) 09:38
sqirrel++
Su-Shee I'm guessing either company inhouse irc or family available via chat ;) 09:45
huf :)
sqirrel yep, my life is boring *gg* 09:47
FROGGS hey, just because I'm not at home :o) 09:48
sqirrel yes froggs busy earning money for sqirrels expensive hobbies *gg* froggs++ 09:48
FROGGS *sigh*, there something tru 'bout that 09:50
kresike hello all you happy perl6 people 09:51
FROGGS kresike o/
kresike FROGGS, o/ 09:59
dalek rlito: a9955f1 | (Flavio S. Glock)++ | t5/op/index.t:
Perlito5 - another 42 standard tests pass
10:21
dalek rlito: 73d6564 | (Flavio S. Glock)++ | t5/ (3 files):
Perlito5 - another ~200 standard tests
10:34
dalek rlito: db3046c | (Flavio S. Glock)++ | / (4 files):
Perlito5 - js2 - bit shift overflow fix
10:52
evgi hi 13:38
I have a question
When will Perl 6 be released? 13:39
moritz evgi: there are two Perl 6 compilers that already have monthly releases 13:41
so in some sense, it already has been released
[Coke] and a distribution built on top of one of them that has regularly (but not necessarily monthly) releases.
Is there a particular feature you're looking for?
moritz though we haven't snapshotted a version of the spec yet and called it "Perl 6.0.0"
[Coke] *regular, whoops. 13:42
evgi I am working currently with Perl 5 13:43
I have a lot of code there
How stable Perl 6?
moritz first of all if you have lots of Perl 5 code, it doesn't make any sense to port it to Perl 6
evgi How I can convert all my code (Perl 5) to Perl 6?
moritz there's no automagic conversion, and Perl 5 won't go away 13:44
how stable is not? not as stable as Perl 5, by far
evgi but Perl 6 has a many updates/improvments
like obkects and many more
moritz yes 13:45
evgi objects
moritz but updating your code from Perl 5 to Perl 6 would be nearly complete rewrite
evgi ohh
moritz so, don't do that 13:46
use Perl 6 for new software, if it doesn't need to be tightly coupled with the existing code 13:47
evgi ok, i'll try 13:47
thanks a lot 13:48
moritz and note that if you do that, you're an early adaptor
[Coke] no, you are. 13:49
dalek kudo/nom: 7ede6cd | moritz++ | / (2 files):
remove ~/.perl6/lib from default @*INC

as the prophe^W deprecation notes predicted
13:50
[Coke] moritz: any idea why "is-prime" was giving me different answers locally? 13:52
moritz [Coke]: not really :( 13:53
[Coke]: what test(s) fail?
[Coke] REPL and ./perl6 seem fine. but that spec test was still failing. weird.
[Coke] t/spec/S32-num/is-prime.t 13:53
moritz [Coke]: first, check if t/spec/ might be stuck 13:54
[Coke] r: use Test; is (1..10).grep(*.is-prime), (2,3,5,7); 13:54
p6eval rakudo 247f87: OUTPUT«ok 1 - ␤»
moritz [Coke]: second, run ./perl6 -Ilib t/spec/S32-num/is-prime.
erm,
[Coke]: second, run ./perl6 -Ilib t/spec/S32-num/is-prime.t
moritz (just to check if it's a problem with the test harness, or with rakudo) 13:55
latest roast commit is 127f694a94d4e1087f94fc8b70bce6bffc1ff69f
dalek p/gh67-threads: 6806339 | (Tobias Leich)++ | src/pmc/nqplexpad.pmc:
checking for enum_class_Proxy instead of PARROT_HAS_THREADS

In parrot 4.4.0 enum_class_Proxy isnt defined but PARROT_HAS_THREADS is. So enum_class_Proxy would be added to the condition.
14:04
ker2x friendly greetings! 14:05
moritz hi ker2x 14:06
[Coke] moritz: updated, verified, spec test still fails here. 14:11
weird.
moritz [Coke]: does it also fail when you run ./perl6 -Ilib t/spec/S32-num/is-prime.t ? if yes, please nopaste the output 14:12
[Coke] gist.github.com/4169395 14:20
[Coke] urk? gist.github.com/4169433 - moritz, you'll LOVE that one. 14:26
Note that the first 2 tests are a cut and paste, and yet one passes and one fails.
(er, sorry, that one ended up with all 3 tests the same, first failing, 2nd passing. 14:27
(+3rd)
moritz that is 'urk?' indeed 14:28
jnthn o/ from vilnius
phenny jnthn: 28 Nov 23:22Z <sirrobert> tell jnthn I think the perl6-debug in rakudo-star-2012.11-RC1 steps over method/function calls by default, instead of stepping into them.
jnthn phenny: tell sirrobert be sure you're not trying to step into a pre-compiled module (ideally it would never use pre-compiled things and always compile debug versions...I'll make it do that eventually...) 14:29
phenny jnthn: I'll pass that on when sirrobert is around.
jnthn yawns
moritz \o 14:31
moritz [Coke]: weird, the tests passes for me, even when I run the thing three times 14:35
isBEKaml 'evening, #perl6! 14:38
moritz \o isBEKaml 14:40
isBEKaml hello, moritz 14:42
[Coke]: I don't see failures here as well. That's after running it 5 times over seq. 14:43
(win7 64 bit cygwin)
moritz [Coke]: are you on a 32bit machine? 14:46
dalek rlito: 3b33471 | (Flavio S. Glock)++ | t5/op/arith.t:
Perlito5 - add standard test t/op/arith.t
14:52
rlito: 283ea50 | (Flavio S. Glock)++ | / (6 files):
Perlito5 - parser - precedence fix; Tests=863
dalek rlito: 1fdfe81 | (Flavio S. Glock)++ | t5/01-perlito/ (5 files):
Perlito5 - tests - "make test" is clean; Tests=876
15:20
[Coke] moritz: 64bit mac. 15:26
[Coke] the rakudo build I have right now is installed locally, and before I built it, I rm'd install/ nqp/ parrot/ . ('sweird.) 15:39
skids r: for (-8..-1) { printf("%x » %x / ",$_ +& 15, ($_ +> 1) +& 15) } # needs libtomath repr love 16:10
p6eval rakudo 7ede6c: OUTPUT«8 » c / 9 » d / a » d / b » e / c » e / d » f / e » f / f » 0 / »
skids The other ops have compensation for negatives; this one doesn't. 16:12
skids (So this is different than the other int bitops problems up near the high bits.) 16:14
moritz which op? +& or +> ? 16:19
skids +> 16:20
moritz not very well concentrated
is there a bug report for that already?
if not, please open one
skids Not sure. I'm more saying I dug in enough to see that the fix for this one is probably easier than that other stuff. 16:21
moritz a fix would also be welcome :-) 16:26
skids Oh. It turns out you are more concentrated than me. 16:27
r: for (-8..-1) { printf("(%i) %x » (%i) %x / ",$_, $_ +& 15, ($_ +> 1), ($_ +> 1) +& 15) }
p6eval rakudo 7ede6c: OUTPUT«(-8) 8 » (-4) c / (-7) 9 » (-3) d / (-6) a » (-3) d / (-5) b » (-2) e / (-4) c » (-2) e / (-3) d » (-1) f / (-2) e » (-1) f / (-1) f » (0) 0 / »
skids it is +&.
kresike bye folks 16:33
skids
.oO(These are made harder to hunt given the limited range of fmt/printf directives.)
16:37
moritz why not just use say() ? 16:40
r: say (-8).base(2) 16:41
p6eval rakudo 7ede6c: OUTPUT«-1000␤»
moritz r: say (-8 +> 1).base(2)
p6eval rakudo 7ede6c: OUTPUT«-100␤»
moritz r: say (-2 +> 1).base(2)
p6eval rakudo 7ede6c: OUTPUT«-1␤»
moritz r: given -2 { say .base(2); say ($_ +> 1).base(2) } 16:42
p6eval rakudo 7ede6c: OUTPUT«-10␤-1␤»
moritz r: given -1 { say .base(2); say ($_ +> 1).base(2) }
p6eval rakudo 7ede6c: OUTPUT«-1␤0␤»
moritz r: given -3 { say .base(2); say ($_ +> 1).base(2) }
p6eval rakudo 7ede6c: OUTPUT«-11␤-1␤»
moritz nr: given -3 { say .base(2); say ($_ +> 1).base(2) } 16:43
p6eval rakudo 7ede6c: OUTPUT«-11␤-1␤»
..niecza v22-44-g0247fe5: OUTPUT«-11␤-10␤»
skids r: for (1..8) { my $a = $_ - 0x10000000000000000; my $b = $a +> 1; $b = $b + 0x8000000000000000; printf("%x » %x / ", $a, $b); } 16:45
p6eval rakudo 7ede6c: OUTPUT«1 » 1 / 2 » 1 / 3 » 2 / 4 » 2 / 5 » 3 / 6 » 3 / 7 » 4 / 8 » 4 / »
skids There's the one, I think. Unless I am being deceived again. I'll try .base, thanks moritz++. 16:46
skids (So to rescind my above statement, this might be tied to the longstanding higher bit problems after all.) 16:51
masak oh hai, #perl6 17:08
tadzik hai masak
masak I am tired. just one more work day left. 17:09
until le weekend, I mean.
masak phenny: de en "so, spüler läuft"? 17:17
phenny masak: "so dishwasher runs" (de to en, translate.google.com)
masak hehe, "spüler" :)
to a Swedish ear, that word sounds like "a thing that flushes". which I guess is actually the correct etymology. 17:19
masak but I wouldn't use that word for a dishwasher, I'd use it for something like the thing that cleans the windshield of a car by squirting liquid on it. 17:19
perigrin windshield washer 17:20
English is only inventive when it's inconvient for learning.
masak ker2x: friendly greetings back! 17:21
FROGGS masak++ 17:22
*gg*
masak perigrin: both "dishwasher" and "windshield washer" seem like totally cromulent words to me.
FROGGS phenny: de en "Spritzd􏿽xFCse" 17:23
phenny: de en "Spritzd􏿽xFCse"?
phenny FROGGS: "nozzle" (de to en, translate.google.com)
FROGGS masak^^
perigrin masak: it's what we get from ebiggening teh language 17:24
FROGGS btw, a dishwasher is squirting water to clean the dishes
FROGGS phenny: en de "cromulent"? 17:26
phenny FROGGS: "cromulent" (en to de, translate.google.com)
FROGGS wow, thanks -.-
masak FROGGS: "cromulent" is a Simpsons neologism. 17:32
en.wiktionary.org/wiki/cromulent 17:33
pmurias japhb: re version and auth and bundles, picking the right versions of module without declarations of dependencies seems to be hard 18:01
japhb: unless we just take the newest version of everything 18:02
colomon cromulent is a wonderful word. 18:03
Moukeddar Hello \o/ #perl6 18:29
PerlJam o/
Moukeddar how you doin' ? 18:30
PerlJam a bit of a headache and a little hungry, but otherwise fine :) 18:32
Moukeddar get well soon, i have the cold 18:34
PerlJam munches on some almonds.
Moukeddar can i ask something, it's not really related to perl6 18:36
FROGGS well, can't hurt to ask 18:39
Moukeddar we're studying HTML and CSS, it's fun, but all i think is : it's for designers,and with all what's popping in the web, what you learn today seems obsolete tomorrow, how to deal with it ? 18:41
FROGGS well, I need to know HTML and CSS for example, cant say that it is obsolete, and I'm not a designer 18:42
masak Moukeddar: learn principles that won't be obsolete tomorrow.
PerlJam Moukeddar: the same way you deal with any technical knowledge ... continue to learn new things every day :-) 18:43
Moukeddar: but like masak says, the principles are the important thing
masak yes, I'm afraid constant learning is inevitable. 18:44
but there are nice underlying currents to all the trivial details of web dev.
like "why does IE6 suck att DOM node removal?" -- "because it uses a refcounting GC and its devs didn't realize that was a problem until the web started using Ajax".
FROGGS btw, knowing HTML and CSS will help you writing a template engine for example, you always can reuse knowledge 18:45
masak very true.
and a template engine is just a compiler :)
Moukeddar the one thing that frightens me, i'm not exactly a web dev guy, and the whole world seems to be moving faster than ever toward that
PerlJam *everything* is a compiler at some level ;)
FROGGS Moukeddar: what typ'o'guy are you? 18:46
Moukeddar FROGGS, i don't know the definition, but i prefer to work on the back-end of something than the front end, even if it was a store lol 18:47
FROGGS k
huf lots of people are like that who are stuck working in web :)
moritz is sa text munging guy
*is a
FROGGS but its always good to know a bit about what the ppl are doing you are working with 18:48
huf my ideas about UI-s are so incompatible with what the r=1 users have been molded to want
PerlJam moritz: you should have left it as an unintentional pun ;)
moritz PerlJam: :-)
huf that i shouldnt be put in a UI-related position anyway :D
masak likes to process heterogenous data 18:50
Moukeddar lol, i'm not a complete ignorant in HTML or CSS, i know some basics, and i can build a good ui when i have to,not a website, but this whole HTML/CSS, and HTML5/CSS3 is just insane
FROGGS cant really describe what he likes
huf Moukeddar: yep. 18:51
i agree 100%
FROGGS CSS is an improvement to HTML, a great one
huf but i also see why it's spinning so fast
0deploy apps used to be a dream
now they're commonplace with webapps
PerlJam never did grok CSS on a deep level.
masak quote from the course I gave today: "it's 2012 and HTML forms still don't have a date picker." 18:52
huf PerlJam: it's like sql :D
masak PerlJam: selector { declaration; declaration }
PerlJam: there, done :)
Moukeddar PerlJam, i never had the desire to go any deeper than basics too
huf (worst simile of the day)
PerlJam :-P
huf SELECT DOM NODES FROM POO { UPDATE THEM HERE } :) 18:53
PerlJam Mainly I can do simple components (with CSS), but when it comes to putting them together, I tend to fail (it never looks like I expect or want)
Moukeddar huf, wish there was some script like that
huf PerlJam: oh, that.
masak PerlJam: no-one knows how to do that :P
huf that's because you dont know about a million weird rules that are nowhere documented
except in the source code of each render engine 18:54
Moukeddar lol
PerlJam masak: Eric Meyer does! :)
huf and are of course weirdly incompatible AND somewhat illogical
masak hugs Eric Meyer
huf you could say, historical
masak huf: I thought CSS had gotten lots better at those things. 18:55
what with ACID2 and all those tests.
Moukeddar seems like we got caught in the cross-fire inside a browser war
masak several.
the fact that JavaScript and CSS aren't better integrated than they are is a crying shame.
FROGGS damn it, I have to 'bout that the whole day... can we talk about something cooler now please? :o) 18:57
Moukeddar does it get on your nerves too ?
FROGGS ya, 8 hours is enough
PerlJam FROGGS: I'm contemplating making a workbench for my garage. 18:58
FROGGS: and I'm going to make a simple treadle lathe at some point.
Moukeddar PerlJam to the rescue :)
PerlJam (I made a spring-pole lathe completely out of wood (except for the rope) when I was a teenager, but I haven't really done much wood working in the last decade or so) 18:59
FROGGS PerlJam: I like to build things too (a server case for a storage system lately, but also stuff for my kids with wood)
Moukeddar server case with wood ? 19:00
masak .oO( why do only the kids with wood get stuff? )
FROGGS no, aluminum
*gg*
masak slaps FROGGS with a British spelling
Moukeddar oh 19:01
FROGGS build a kitchen out of beechwood, with a illuminated glass hob
masak: wont help :o/
masak from en.wikipedia.org/wiki/Css#CSS_4 -- "There is no such thing as CSS4." o.O 19:11
I... never claimed there was...
tadzik haha
this paragraph almost says "There's no santa, kiddo"
masak I feel like I'm reading The Hitchhiker's Guide when they have a *section* about something starting with "there is no such thing". 19:14
Woodi hallo today :) 19:19
Woodi here something about possible versioning: pastebin.com/e3CqAMQs 19:20
[Coke] SFW perl tattoo? i.chzbgr.com/completestore/12/11/2...hU7LQ2.jpg 19:21
masak one thing I've been thinking of: would it be possible to build a small simulation of module handling, including auth and ver and stuff. 19:22
just outside of either of the compilers.
sometimes it helps to prototype stuff outside of the compilers, just to make sure they're sane.
sorear good * #perl6
masak sorear! \o/ 19:23
PerlJam masak: until we get some implementations going *somehow* I fear we'll just have lots of guesses and about the pros and cons of various approaches and very little actual experiences. 19:27
masak that's what I mean. 19:28
a prototype might be the easiest way to gain some insight in how it'd all hang together.
just the simplest thing that could possible emulate module authing and versioning, and where everything is to be stored. 19:29
with proper tests to back it up and make sure it does what we want.
[Coke] (always learning) I had an old boss who told me once you stop learning, you're dead. (and that's from when I stocked shelves at the grocery store!)
PerlJam masak: I guess it would help if we had an API for the types of operations we'd expect of "module handling" with auths + versions 19:31
masak yeah. 19:32
japhb As I tanked on this yesterday evening, it struck me that there are a lot of *conflicting* ways that people want to use versioned modules/packages 19:34
I sketched out a few different designs, but each has drawbacks -- not least of which is that the design that handled the most use cases was also the most complex. 19:35
sorear worst part of being a language implementor: conflicting user demands 19:36
japhb Because you don't get too far before you are taking about managed symlink farms (and not just the 'Any' stuff I was talking about yesterday, more like alternatives + more)
and other such complexities.
Lord help you if you want people to make S11 happy and FHS happy at the same time 19:37
pmurias: I'm not talking about not declaring dependencies. Just that declaring dependencies per comp unit seems inappropriately granular. 19:38
PerlJam japhb: I just want some sufficiently advanced technology so that I don't have to think so much about FS issues :)
sorear japhb: THANK YOU I HAVE BEEN SAYING THAT FOR YEARS
japhb PerlJam: I think we can get close to that sufficiently advanced technology. But my current designs unfortunately trade complexity, fragility, and limited expandability to get there. 19:39
Which sucks.
sorear, heh. :-) 19:40
sorear japhb: at this point I'm more than happy to let you think about this instead of me :p
Woodi btw. 'auth' is branch like in git too.
japhb sorear, *exaggerated sigh* Oh good, I've proven myself just competent enough to get assigned the task. ;-) 19:41
Woodi maybe we should think about modules as sub-languages, which are lexically scoped
japhb Woodi, one of the big discussion items yesterday was that modules do not exist in a lexical vacuum in the real world. They have other modules, share directories, scripts, and so on, that bundle them into a package. 19:43
masak yes, 'package' (or 'project', or whatever) is an under-specified abstraction level. 19:44
CPAN calls it "distribution", no?
japhb ya
Woodi but { use Module; code; code; } code; # is a way of seeing packages/distributions usage 19:47
[Coke] r: say so but do not; 19:53
p6eval rakudo 7ede6c: OUTPUT«===SORRY!===␤Confused␤at /tmp/8Um_ZVCEQ1:1␤»
[Coke] awww.
japhb [Coke], attempting to become the new Perl 6 Poet Laureate?
masak [Coke]: 'so' is a listop, and 'but' cannot appear in term position. 19:54
r: say Whatever but do not Whatever; 19:55
p6eval rakudo 7ede6c: OUTPUT«Whatever+{<anon>}()␤»
masak r: say Rat but do not Cool;
p6eval rakudo 7ede6c: OUTPUT«Cannot look up attributes in a type object␤ in block at src/gen/CORE.setting:887␤ in method reify at src/gen/CORE.setting:5488␤ in method reify at src/gen/CORE.setting:5390␤ in method reify at src/gen/CORE.setting:5390␤ in method gimme at src/gen/CORE.setting…
masak tee hee
sorear r: die Rat 19:56
p6eval rakudo 7ede6c: OUTPUT«use of uninitialized value of type Str in string context in block at /tmp/TJn1SfZWwM:1␤␤use of uninitialized variable of type Rat in string context in block at /tmp/TJn1SfZWwM:1␤␤use of uninitialized value of type Str in string context␤use of uninitialized var…
sorear r: der Rat
p6eval rakudo 7ede6c: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&der' called (line 1)␤»
Woodi maybe we just trying to avoiding work ? :) if we have versions then we must use defaults (newer or official-by-marked-somewhere) as defaults and specify exceptions or always/everywhere use version numbers
sorear note, masak, that Perl 6 actually insists on bad grammar. :p
Woodi same with auth, just next letter to permutate
japhb Woodi, I'm having a hard time trying to understand what you are saying that is different from S11. 19:58
Woodi I am saying that adding versions to modules make system little more complicated and we looking for magic recipe. same with auth - next bit of complication. 19:59
if we keep that additional bits we must manage them
one level of abstraction can help, eg. sets 20:00
japhb Woodi: Yes, I think we understand that, but I think you are underestimating the complexity, because there are a lot of use cases that want different things to be easy.
Woodi very possible
japhb In the waterbed theory of complexity, there are a lot of people pushing down on different spots on the bed.
Building a fair amount of pressure. :-)
diakopter heavy waterbed is underwater 20:02
Woodi I think so far we wanted to resolve everything via directory hierarchies. some middle-something is needed
sorear japhb: what does springing a leak and/or bursting correspond to in the analogy?
PerlJam Enumerating the use-cases would at least allow us to group the compatible ones or segregate the incompatible ones. 20:03
japhb Woodi, I think we pretty much agreed that directory hierarchies are not enough, that there needs to be some form of database (in the general sense) that disambiguates -- if nothing else, literally because filesystems suck compared to Perl 6. 20:04
PerlJam japhb: aye
japhb sorear, Someone running away screaming things about Elder Gods?
Woodi japhb: ok. so for me way to prototype is open :)
japhb PerlJam, I had sketched various use cases last evening, but nothing terribly coherent. Hmmm, perhaps I should just post what I have. 20:06
Woodi, prototype away. But I'd encourage you to post your design for us to look at before you spend a bunch of time on something that won't work for what we need.
japhb is very happy he didn't just go and implement his initial design.
Woodi japhb: I think writting all requirements on web page is needed. you constantly scarry me and I now don't know what I don't know :) 20:08
japhb gist.github.com/4171575 20:10
^ my notes from yesterday evening
Woodi, It's always good to try to convert unknown unknowns into known unknowns. ;-)
Woodi wow :) I did not see this yet
Woodi for me 'use Module;' just uses module from fs, everybody happy. now: how bin/* thingies make problems ? 'distributions' are installable things and bin/* components do not realy belong to "module-version-auth" problem, IMO... 20:19
they can installable outside of modules root 20:20
japhb What if program A wants to run() a script from distribution B? How does it specify which version of that script to run?
Woodi scripts do not have versions
japhb o.O 20:21
Woodi distros have
japhb OK, so how do you find the script that matches a certain version of a distro?
Woodi installation location for bin/ and share/ need to be known 20:22
I would like to keep things separate
japhb Yes, so: how many different scripts of the same name are you planning to store in that bin? ;-) 20:23
Woodi ls /opt/lib/graft/ 20:25
graft-2.4 log parrot-4.6.0 parrot-4.9.0 star-2012.08 star-2012.09 star-2012.10
japhb Ah, I see. What about auth? Just another hyphenated section of the name?
Woodi for modules in modules repo yes: root/Foo/Bar.pm.0.98.auth 20:28
japhb scripts and share directories also need to obey both auth and ver.
And we still want to have a PATH that doesn't explode a la rubygems
Woodi pastebin.com/zqDH7DhD :) 20:31
we exploit fs or write intermediate vitual fs or db...
kurahaupo Woodi: the point of "bin" directories is that the files therein can be invoked without the full pathname, because the directories are in the user's $PATH setting. If versions are that important, then keep the file in the package's "lib" or "libexec" directory with a version suffix in the name. 20:33
japhb trundles off to retrieve food ... 20:35
kurahaupo Generally, if version N of script S in version N' of package X must invoke version M of script Q in version M' of package Y, then version N' package X should specify the a dependency on version M' of package Y. 20:36
Woodi I refuse to parse... :) 20:37
kurahaupo Short version: it becomes a package versioning problem, as a proxy for the script versioning problem
Woodi kurahaupo: for me user can just switch used distribution... but probably we talking about few distros used at once... 20:39
maybe just cloning like in git resolve this. user should build his working env. and for others he should deplay things... 20:41
Woodi I think deriving personal packages should be easy: install two packages, derive personal from it, add things from second 21:01
colomon has -I gone back to not working in Rakudo? 21:03
(command line -I, that is)
never mind, I think I just got the command line order wrong. 21:04
moritz worked earlier today
colomon is having a long, if productive, day
moritz finishes the day by producing coconut macraoons 21:07
masak moritz: yum. 21:12
masak 'night, #perl6 21:54
sorear knight masak
tadzik good evenin 21:56
sorear o/ tadzik! 21:57
tadzik sorear! \o/ 21:58
tadzik I have to get up so early that going to sleep seems to be a waste of time 22:00
but the experience says "no, go o sleep tadzik"
dalek rl6-roast-data: 5b135d0 | coke++ | / (4 files):
today (automated commit)
22:11
tadzik oh wow 22:12
this Invalid Pointer in free() sounds scary
[Coke] it's happening sporadically in rakudo. 22:28
(check the history of that file over the past week.)
grondilu rn: my @a = ^2; for @a -> $x is rw { $x++ }; say @a; 22:55
p6eval rakudo 7ede6c, niecza v22-44-g0247fe5: OUTPUT«1 2␤»
grondilu eval: my @a = (0, 1); for my $x (@a) { $x++ }; print join ' ', @a; 22:56
buubot_backup grondilu: 1 21
grondilu hum
hang on 22:57
eval: my %a = (foo => 0, bar => 1); for my $x (map { $a{$_} } qw(foo bar)) { $x++ }; %a; 22:58
buubot_backup grondilu: 2/8
grondilu eval: my %a = (foo => 0, bar => 1); for my $x (map { $a{$_} } qw(foo bar)) { $x++ }; values %a; 22:59
buubot_backup grondilu: 2
grondilu eval: my %a = (foo => 0, bar => 1); for my $x (map { $a{$_} } qw(foo bar)) { $x++ }; join ' ', values %a;
buubot_backup grondilu: 1 0
grondilu rn: my %a = (foo => 0, bar => 1); for %a<foo bar> -> $x is rw { $x++ }; say %a.perl; 23:00
p6eval niecza v22-44-g0247fe5: OUTPUT«{"bar" => 2, "foo" => 1}.hash␤»
..rakudo 7ede6c: OUTPUT«("foo" => 1, "bar" => 2).hash␤»
grondilu rn: my %a = (foo => 0, bar => 1); for %a<foo bar> -> $x is rw { $x++ }; say %a.values;
p6eval rakudo 7ede6c, niecza v22-44-g0247fe5: OUTPUT«1 2␤»
grondilu eval: my %a = (foo => 0, bar => 1); for my $x (map { $a{$_} } qw(foo bar)) { $x++ }; join ' ', values %a; 23:01
buubot_backup grondilu: 1 0
grondilu rn: my %a = (foo => 0, bar => 1); for %a<foo bar>.clone -> $x is rw { $x++ }; say %a.values; 23:02
p6eval niecza v22-44-g0247fe5: OUTPUT«Unhandled exception: cannot increment a value of type Parcel␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/lib/CORE.setting line 270 (Mu.succ @ 9) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /tmp/OWJGVqv_6V line 1 (mainline @ 8) ␤ a…
..rakudo 7ede6c: OUTPUT«1 2␤»
grondilu rn: my %a = (foo => 0, bar => 1); for [%a<foo bar>] -> $x is rw { $x++ }; say %a.values; 23:03
p6eval niecza v22-44-g0247fe5: OUTPUT«Unhandled exception: cannot increment a value of type Array␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/lib/CORE.setting line 270 (Mu.succ @ 9) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /tmp/bERBUAAlpt line 1 (mainline @ 7) ␤ at…
..rakudo 7ede6c: OUTPUT«No such method 'succ' for invocant of type 'Array'␤ in sub postfix:<++> at src/gen/CORE.setting:1611␤ in block at /tmp/yTpKpSFcPm:1␤␤»
grondilu ahh I give up
oh I know 23:05
rn: my %a = (foo => 0, bar => 1); for %a.map: <foo bar> -> $x is rw { $x++ }; say %a.values;
p6eval rakudo 7ede6c: OUTPUT«No such method 'count' for invocant of type 'Parcel'␤ in method reify at src/gen/CORE.setting:5467␤ in method reify at src/gen/CORE.setting:5390␤ in method reify at src/gen/CORE.setting:5390␤ in method reify at src/gen/CORE.setting:5480␤ in method reify at src…
..niecza v22-44-g0247fe5: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in type Parcel␤ at <unknown> line 0 (KERNEL map @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 363 (Any.map @ 4) ␤ at /tmp/VF7G3zBpPf line 1 (mainline @ 4) ␤ at /home/p6eval/niecza/…
grondilu rn: my %a = (foo => 0, bar => 1); for %a.map(<foo bar>) -> $x is rw { $x++ }; say %a.values; 23:06
p6eval rakudo 7ede6c: OUTPUT«No such method 'count' for invocant of type 'Parcel'␤ in method reify at src/gen/CORE.setting:5467␤ in method reify at src/gen/CORE.setting:5390␤ in method reify at src/gen/CORE.setting:5390␤ in method reify at src/gen/CORE.setting:5480␤ in method reify at src…
..niecza v22-44-g0247fe5: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in type Parcel␤ at <unknown> line 0 (KERNEL map @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 363 (Any.map @ 4) ␤ at /tmp/Yatv3Fhadp line 1 (mainline @ 4) ␤ at /home/p6eval/niecza/…
grondilu silly
rn: my %a = (foo => 0, bar => 1); for map { %a{$_} }, %a.keys -> $x is rw { $x++ }; say %a.values; 23:07
p6eval rakudo 7ede6c, niecza v22-44-g0247fe5: OUTPUT«1 2␤»
grondilu ??
eval: my %a = (foo => 0, bar => 1); for my $x (map { $a{$_} } qw(foo bar)) { $x++ }; join ' ', values %a; 23:08
buubot_backup grondilu: 1 0
grondilu see what's wrong here??
rn: my %a = (foo => 0, bar => 1); for map { +%a{$_} }, %a.keys -> $x is rw { $x++ }; say %a.values; 23:09
p6eval rakudo 7ede6c: OUTPUT«Cannot assign to a non-container␤ in sub postfix:<++> at src/gen/CORE.setting:3077␤ in block at /tmp/4IyeXiUq9k:1␤␤»
..niecza v22-44-g0247fe5: OUTPUT«Unhandled exception: Writing to readonly scalar␤ at /tmp/8PhUi6niYt line 1 (mainline @ 9) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4211 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4212 (module-CORE @ 578) ␤ at /home/p6eval/niecza/li…
grondilu rn: for ^2 -> $x is rw { $x++ } 23:10
p6eval niecza v22-44-g0247fe5: ( no output )
..rakudo 7ede6c: OUTPUT«Cannot assign to a non-container␤ in sub postfix:<++> at src/gen/CORE.setting:3077␤ in block at /tmp/6qPaqNLVpi:1␤␤»
pmurias japhb: I agree, but that seems like something that is a responsibility of a tool like carton for p5 23:11
japhb has never used Carton ... (looks it up) ... oh of *course* it's Miyagawa! Who else would it be? :-) 23:18