Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-04-20

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:16 labster Well, I'm finally back, after an expedition that, among other things, included buying a new keyboard.
00:22 labster As a consequence of the class scoping thing above, that means that if someone writes "use File::Spec; my class File is Str { };", that it nukes the import of File::Spec for that scope.
00:23 census joined #perl6
00:36 awwaiid joined #perl6
00:55 dalek ecosystem: f1de06f | colomon++ | META.list:
00:55 dalek ecosystem: Change URI to use my fork
00:55 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/f1de06f9e7
01:03 sftp joined #perl6
01:04 berekuk joined #perl6
01:05 [Coke] r: my $array_ref1 = ("foo", "bar", "baz"); say $array_ref1.WHAT
01:05 camelia rakudo de2080: OUTPUT«(Parcel)␤»
01:05 [Coke] rpn: my $array_ref1 = ("foo", "bar", "baz"); say $array_ref1.WHAT
01:05 camelia rakudo de2080, niecza v24-37-gf9c8fc2: OUTPUT«(Parcel)␤»
01:05 camelia ..pugs: OUTPUT«Array()␤»
01:05 zacts joined #perl6
01:08 [Coke] r: use Test;    ok Array ~~ List, 'Array is a kind of List';
01:08 camelia rakudo de2080: OUTPUT«ok 1 - Array is a kind of List␤»
01:08 [Coke] ... that description is backwards, yes?
01:09 colomon .... no?
01:09 colomon r: say Rat ~~ Real
01:09 camelia rakudo de2080: OUTPUT«True␤»
01:10 zacts joined #perl6
01:23 Psyche^ joined #perl6
01:24 drbean joined #perl6
01:43 colomon r: my $a = 3/5; say $a.clone
01:43 camelia rakudo de2080: OUTPUT«0.6␤»
01:45 adu omg, I'm never using parentheses again
01:47 woosley joined #perl6
01:51 colomon r: class A ( has $.a; }; my $foo = A.new(a => 1); say $a.clone.perl
01:51 camelia rakudo de2080: OUTPUT«[31m===[0mSORRY![31m===[0m�Unable to parse class definition�at /tmp/isJ5CeHeMR:1�------> [32mclass A [33m�[31m( has $.a; }; my $foo = A.new(a => 1); s[0m�    expecting any of:�        statement list�        prefix or term�        prefix or meta-prefix�     …
01:51 colomon r: class A { has $.a; }; my $foo = A.new(a => 1); say $a.clone.perl
01:51 camelia rakudo de2080: OUTPUT«[31m===[0mSORRY!​[31m===[0m�Variable '$a' is not declared�at /tmp/sn3mFZPhtg:1�------> [32m $foo = A.new(a => 1); say $a.clone.perl[33m�[31m<EOL>[0m�    expecting any of:�        method arguments�»
01:51 colomon r: class A { has $.a; }; my $foo = A.new(a => 1); say $foo.clone.perl
01:51 camelia rakudo de2080: OUTPUT«A.new(a => 1)␤»
01:54 FROGGS_ joined #perl6
02:00 awwaiid joined #perl6
02:05 takadonet22 joined #perl6
02:07 takadonet22 left #perl6
02:25 obra joined #perl6
02:54 preflex_ joined #perl6
03:04 adu I think I'm falling in love with Perl6
03:05 zacts joined #perl6
03:05 colomon it's easy to love
03:05 zacts joined #perl6
03:17 grondilu joined #perl6
03:20 fgomez joined #perl6
03:20 kshannon joined #perl6
03:20 lue joined #perl6
03:20 colomon joined #perl6
03:20 Vlavv` joined #perl6
03:20 Timbus joined #perl6
03:20 BinGOs joined #perl6
03:20 ruoso joined #perl6
03:21 robinsmidsrod joined #perl6
03:31 jaldhar joined #perl6
03:34 ravenclaw joined #perl6
03:36 ravenclaw In rakudo, can someone explain to me or tell me where I can go to find out why one must use the IO method on file names to determine if they exist?  It seems to make no sense to me if you can determine if the file is read only without using IO.
03:47 ravenclaw std: say 'hello'
03:47 camelia std 86b102f: OUTPUT«ok 00:00 41m␤»
03:49 jaldhar joined #perl6
03:50 japhb ravenclaw, because while file paths have a stringification, they are not actually arbitrary strings -- depending on OS and filesystem, they have more structure than that.  Also, on a more pragmatic scale, we don't want to pollute the Str method space with lots of methods that really only apply to filesystem paths -- or URIs, for that matter.
03:51 japhb (I should say, paths have both more structure *and* more limits to them than arbitrary strings do.)
03:52 ravenclaw japhb, why doesn't $var ~~ :e trigger auto IO typecasting then?  It would seem that a typecasting paramater wouldn't pollute the Str method space, but just add a certain contextual mapping to the smart match operator
03:53 Nom- Because humans need to read code sometimes?
03:54 Nom- On face value, I have no clue what the heck that would mean
03:55 ravenclaw as of now, :e is not mapped to anything for Str, so if Str ~~ :e, it would, I would imagine, be intended to be IO ~~ :e.
03:55 japhb Well, and then there's the question of whether the thing on the left is a string or a hash of some sort.
03:58 japhb ravenclaw, how do you map Str.x to Str.IO.x for any single-letter x without polluting Strs method space?
03:58 japhb *Str's
04:00 ravenclaw I would think that it should map Str.x to Str.x.IO, if you'd want Str.IO.x, that would be something that should be explicitly stated
04:01 ravenclaw it just seems that more often than not, $var ~~ :e is determining if a filename stored in $var exists
04:01 ravenclaw actually, it seems that 100% of the time
04:03 lue Str.x.IO would convert the result of Str.x to an IO object, if that makes sense. Str.IO.x converts Str to an IO object and then calls the IO object's .x method
04:03 japhb ravenclaw, yes -- if the thing in var is a path or string representing a path.  But not all objects are paths.  ;-)
04:03 japhb What lue said as well.
04:03 japhb IO has the .x methods.  So if you want to have them appear in Str, you have to convert via IO -- so Str.IO.x
04:05 * japhb does not see the hardship in '$var.IO.e' instead of '$var ~~ :e'
04:06 Nom- I do believe I might be out of my depth when I find it easier to write an NQP lexer, parser & compiler from scratch than to decipher the existing code :(
04:07 swarley| joined #perl6
04:09 ravenclaw japhb $var.IO.e seems good syntactically to me because you are explicitly calling a method of the IO class, but when smartmatching agains :e and a string, I think it should convert the result of the left hand side into an IO object and then smartmatch because there is no :e for Str.
04:14 lue I'm not sure how that would work without making that a special case of the ~~ operator (which I would guess is frowned upon).
04:15 ravenclaw I think it would be frowned upon as well, but at the very least, to me, it doesn't make sense...and perl6 makes a lot of sense to me :O)
04:19 ravenclaw it just seems redundant to me and I'm not sure that not wanting to clutter up the method space would be a good reason to exclude this case
04:20 lue Initially "FOO" ~~ :e doesn't look too bad to me either, but then I look at it as a theoretical perl6 implementer and go "Ack! I'm going to have to specially recognize the file test methods on the RHS and then in that case convert the LHS to IO if it's a Str and then compare"
04:25 lue Also, the specific reason why cluttering the method space is a bad idea is because strings containing valid file paths is only a subset of all possible strings, and a Str method that only applies to *some* possible Strs but not *all* possible Strs doesn't make sense.
04:27 lue (In general, a method applying to its class only when the class holds certain correct values would IMO indicate the need for a subclass)
04:28 ravenclaw lue I see the problem...smartmatch just calls a method (RHS) on the LHS.  Maybe designing the smartmatch operator to run a method when provided :RHS was not a smart way to match.  It might be better to have a typecasting loop for smartmatch that will, if method does not exist for a string, try IO.
04:29 ravenclaw just an example, of course
04:30 ravenclaw I would have thought that the smartmatch operator would auto-typecast depending on the RHS.
04:31 lue The problem there is generalizing that behavior in a way that doesn't freeze program execution with a near-infinite loop, esp. if the unsuspecting user was perhaps hoping 42 ~~ :slurp to return a Failure object or similar (in the roast repository, perhaps).
04:31 lue thus why I can only see Str ~~ :IOmethod being a special case in infix:<~~>'s code, the kind of special case I expect those closer to language design to frown upon.
04:33 lue (for the record, if you _really_ need to be able to do Str.e and friends, you could always right a module that augments the Str class with the appropriate methods)
04:34 lue r: use MONKEY_TYPING; augment class Str { method e() { self.IO.e } }; say "test".e; # for example
04:34 japhb ravenclaw, smart match is really just syntactic sugar that eventually boils down to RHS.ACCEPTS(LHS) and gets dispatched that way.
04:34 camelia rakudo de2080: OUTPUT«False␤»
04:34 lue s/right/write/ # sigh
04:36 japhb ravenclaw, see the Smart matching section of the specs, starting at S03:3556, for an explanation of that sugar.
04:36 japhb (And see the IRC logs for that reference turned into a link.)
04:43 ravenclaw Thanks lue and japhb for explaining that.  I figured out how that smart matching RHS.ACCEPTS(LHS) works conceptually from the error messages.  It was the .IO typecasting that made me confused on why there couldn't be a shorter way.  I'm still not in love with the fact that I have to manually typecast (mainly because I'm extremely lazy), but it makes sense.
04:45 lue ravenclaw: it could be worse. IO could be name InputOutput :)
04:45 [Coke] everything's an object, but not necessary of the type you need.
04:45 ravenclaw Then it would be perl6, the fully verbose java-like edition, or "perl6, the verbose java-like edition" for short
04:46 ravenclaw I keep forgetting that, Coke but it's vital to remember
04:47 lee_ sub prefix:<-e>(Str $s) { $s.IO.e } # it works!
04:48 MrMeek joined #perl6
04:48 kaare_ joined #perl6
04:49 [Coke] r: sub prefix:<-e>(Str $s) { $s.IO.e }; say -e"/tmp"
04:49 camelia rakudo de2080: OUTPUT«True␤»
04:50 * [Coke] wonders if the SXX:YYYY highlighting is smart enough to treat those line numbers based on the time the log was captured.
05:18 Maddingu1 joined #perl6
05:19 LV joined #perl6
05:19 sorear don't think so
05:20 labster r: use MONKEY_TYPING; augment class Str { method IO handles <e d w t r x> { IO.new(:path(self.Str)) }; }; say "rakudo".e
05:20 camelia rakudo de2080: OUTPUT«IO is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:2␤  in method new at src/RESTRICTED.setting:17␤  in method IO at /tmp/_MJbk2M2GO:1␤  in method e at src/gen/CORE.setting:341␤  in block  at /tmp/_MJbk2M2GO:1␤␤»
05:20 BooK joined #perl6
05:20 rom1504_ joined #perl6
05:20 mangala_ joined #perl6
05:20 preflex joined #perl6
05:20 patspam_ joined #perl6
05:20 labster that totally works locally, though, ravenclaw.
05:20 Hor|zon_ joined #perl6
05:21 mls_ joined #perl6
05:21 ingyfoo joined #perl6
05:21 ironcame1 joined #perl6
05:21 jaldhar joined #perl6
05:34 woosley joined #perl6
05:41 groky joined #perl6
05:43 SamuraiJack joined #perl6
05:46 kurahaupo joined #perl6
05:55 moritz labster: the evalbot disables most IO stuff
05:55 moritz labster: including IO::Path
06:05 MrMeek-afk joined #perl6
06:10 dwoldrich joined #perl6
06:20 rhinux_ joined #perl6
06:28 rindolf joined #perl6
06:35 labster moritz:  except that the evalbot doesn't really get rid of them entirely
06:35 labster r: r: use MONKEY_TYPING; augment class Str { method IO handles <e d w t r x> { self.path }; }; say "rakudo".e
06:35 camelia rakudo de2080: OUTPUT«[31m===[0mSORRY![31m===[0m�Two terms in a row�at /tmp/hQ2pfEJL8c:1�------> [32mr[33m�[31m: use MONKEY_TYPING; augment class Str {[0m�    expecting any of:�        argument list�        postfix�        infix stopper�        infix or meta-infix�        statem…
06:35 labster r: use MONKEY_TYPING; augment class Str { method IO handles <e d w t r x> { self.path }; }; say "rakudo".e
06:35 camelia rakudo de2080: OUTPUT«True␤»
06:35 labster there, I knew I could make it work.
06:42 labster huh, maybe I should make this a module, for people who are too lazy to write .IO.$filetest.
06:49 crab2313 joined #perl6
06:50 FROGGS morning
06:51 labster good morning
06:51 FROGGS moritz: would you agree that p5's require is more like p6's eval? (p5's eval is like perl6's try)
06:51 FROGGS hi labster
06:55 * labster reads perlfunc, sees:  eval "require $class";
06:56 FROGGS ohh, I mean p5's `require PATH`is like p6's `eval  slurp PATH`
06:57 FROGGS p5's `require ModuleName`is still like p6's one
06:57 labster that sounds right.
06:58 FROGGS sometimes you just must sleep a night to solve a problem :o)
06:59 FROGGS perl 6 is really cleanup up... it is some kind of weird what quirks I see now in perl 5
06:59 labster "The file is included via the do-FILE mechanism, which is essentially just a variety of "eval" with the caveat that lexical variables in the invoking script will be invisible to the included code."
07:00 labster do-FILE?  the rabbit hole goes deep.
07:01 geekosaur yeh, the evolution was do -> require -> use
07:01 rindolf joined #perl6
07:08 census joined #perl6
07:16 kurahaupo joined #perl6
07:17 FROGGS hmmm, do FILE doesn't seem to work :/
07:17 FROGGS looks like a noop
07:17 FROGGS (there is just a print-statement in the included file)
07:22 rindolf joined #perl6
07:30 sorear do-FILE does not exist in perl 6
07:31 sorear the do EXPR syntax has been coopted as a version of the Haskell ($) operator
07:31 sorear it's a precedece-modifying noop
07:31 sorear r: say 10 * do 1 + 2 + 3 + 4 + 5
07:31 camelia rakudo de2080: OUTPUT«150␤»
07:34 labster .oO ( current rakudo version is from .de  67 years in the future )
07:42 araujo joined #perl6
07:42 araujo joined #perl6
07:44 FROGGS hmmm
07:45 FROGGS labster: where do you get that sentence from?
07:45 FROGGS perl5doc?
07:45 labster man perlfunc
07:45 FROGGS k, thanks
07:46 arlinius joined #perl6
07:49 rindolf joined #perl6
07:56 moritz FROGGS: no, Perl 6's require and p5's require are pretty close, except that in Perl 6 symbol storage and exportation is done through lexpads, which are immutable at run time
08:06 cognominal joined #perl6
08:07 rindolf joined #perl6
08:09 FROGGS hmmm, at least p5's require ModuleName is more like p6's need
08:12 FROGGS hmm, well, no
08:12 FROGGS compile time <> runtime
08:12 FROGGS w/e
08:16 masak morning, #perl6
08:20 sorear morning, #masak.
08:26 rindolf joined #perl6
08:34 drbean joined #perl6
08:36 moritz mrnng, msk
08:38 * masak has a good feeling about today
08:39 * moritz too
08:39 moritz $wife is home for the weekend, before she's off to rehab
08:42 masak moritz: my warmest regards to all of you. just... thinking about you and wishing you well.
08:42 masak I'm considering merging the new https://rt.perl.org/rt3/Tic​ket/Display.html?id=117677 into the old https://rt.perl.org/rt3/Tic​ket/Display.html?id=113904 . any objections?
08:42 moritz masak: thanks. We appreciate it
08:43 moritz masak: no objections
08:43 masak likely https://rt.perl.org/rt3/Tic​ket/Display.html?id=115294 is involved too, but it feels different enough.
08:43 * masak merges the first two
08:43 moritz r: (-> $a { say ::MY.keys }).()
08:43 camelia rakudo de2080: OUTPUT«Not enough positional parameters passed; got 0 but expected 1␤  in block  at /tmp/pYMmKrvuqe:1␤␤»
08:43 moritz r: (-> $a { say ::MY.keys }).(1)
08:43 camelia rakudo de2080: OUTPUT«0␤»
08:43 moritz r: (-> $a { say MY::.keys }).(1)
08:43 camelia rakudo de2080: OUTPUT«$a $_ call_sig $*DISPATCHER␤»
08:44 moritz so it gets a $_ even though it shouldn't
08:44 masak r: say MY::.keys
08:44 camelia rakudo de2080: OUTPUT«GLOBALish EXPORT $?PACKAGE ::?PACKAGE $_ $/ $! $=pod !UNIT_MARKER␤»
08:45 masak don't... don't all blocks get a $_?
08:47 moritz if all blocks get a $_, then the example from the RT will never work as intended
08:48 moritz and you don't have lexical scoping anymore
08:51 masak yeah, guess you're right. :)
08:53 sorear masak, moritz: what's up?
08:53 * masak looks up
08:53 moritz the bug count is up
08:54 masak looks to me like a mixture of atoms, vacuum, and the occasional lepton.
08:55 masak pretty standard stuff.
08:55 sorear the comments at :38/39 make me think I've missed something exciting :D
08:55 moritz don't forget the photons. People always forget those photons.
08:55 masak hey, I said leptons.
08:56 moritz photons aren't leptons.
08:56 masak sorear: no, nothing in particular triggered :38.
08:56 masak moritz: dang :/
08:56 * masak .oO( but they're so light! )
08:56 moritz just bosons
08:56 sorear are there more neutrinos or photons in the sky?
08:57 masak photons are... gauge bosons?
08:57 moritz yes!
08:57 sorear i want to there are three times as many neutrinos because there are three generations and equipartition theorem
08:57 sorear *say there
08:57 masak sorear: also, neutrinos get in everywhere. like sand at the beach.
08:58 jnthn Hm. The way Rakudo tries to cheat on $_ a little to avoid some allocations is decidedly on the chopping block.
08:58 masak you wash all your clothes, and the neutrinos *still* keep trickling out, weeks later.
08:58 jnthn It causes bugs but it's also gonna be a pain to port.
08:58 moritz sorear: I don't think the equipartition theorem applies there
08:59 moritz sorear: also it says that the energy is distrubted equally among the degrees of freedoms. But to correlated that to a count of particles, you'd have to take the energy distribution into account
08:59 masak so, let me see if I get this straight. https://en.wikipedia.org/wiki/File:Stan​dard_Model_of_Elementary_Particles.svg -- there's quarks, leptons, and bosons.
08:59 masak quarks are essentially the dreams that stuff is made of.
08:59 masak the things that... matter.
09:00 moritz :-)
09:00 moritz aye
09:00 masak of the leptons, I only tend to use electrons. the rest look kind of like fancy electrons, and I've never had any use of all the neutrinos.
09:00 moritz they are like boilerplate
09:01 masak among the bosons, I can see the use of the photon and gluon. (the gluon has gotta be like the duct tape of the universe, no?)
09:01 moritz you need them to satisfy conservation laws
09:01 sorear masak: "Who ordered that?!" - I.I.Rabi on the muon
09:01 moritz well, all the four gauge bosons are duct tape
09:01 masak I know that Z and W have something to do with radioactivity, which is occasionally useful for things like powering the Sun. so they can stay too, I guess.
09:01 masak sorear: :P
09:02 masak the Higgs boson, I don't like that. feels kinda unnecessary to me. and definitely too hard to find.
09:02 masak and researchers looking for it seem to like Comic Sans. need I say more?
09:02 moritz masak: no, Z and W are related to weak and strong interactions
09:02 masak moritz: oh! interactions!
09:02 moritz that's the stuff that holds the atoms together
09:02 masak moritz: so, what's an interaction? I thought that was the weak and strong force, and that those were involved in radioactive decay.
09:03 moritz force = interaction
09:03 masak maybe I got the cart before the horse here somehow.
09:03 sorear strong force holds atoms together
09:03 moritz yes, they are involved in radioactive decay. but they are even more invovled in having atoms *not* decay
09:03 sorear if you "zoom out" you can simplify some things
09:03 sorear at the cost of others
09:04 masak then I think I get it. you *release* the energy that ususally goes into holding those atoms together. and the holding-together may be mediated by W and Z, but the releasing may not be.
09:04 masak sorear: dude, you just abstracted the concept of "abstraction". :P
09:04 sorear you can take QED, and add a bunch of heavy antielectrons with +1 to +92 charge, and then talk about matter without invoking any force besides EM
09:05 sorear The way I think of it is kind of like the hydrophobic interaction.  There's an energy cost to the gluon screening layer around a proton, and when you have a bunch of them together they share a screening layer and save energy
09:06 masak yeah, sounds like biochemistry, then.
09:06 * masak .oO( this conversation is great. I told you I had a good feeling about today! ) :P
09:07 sorear also you can get rid of the Higgs boson if you go back to the Fermi theory
09:08 masak oh, beta decay.
09:08 sorear which also eliminates W and Z - you have a single Feynman vertex where a neutron goes in, and an electron, proton, and antineutrino come out
09:08 sorear I think there are renormalizability/gauge invariance/unitarity problems with that
09:08 sorear (all problems with QFTs are one of those three)
09:10 masak heh.
09:10 masak https://en.wikipedia.org/wiki/Fermi_theory gives a nice overview.
09:11 sorear interesting
09:11 sorear especially because 100 GeV shows up there
09:12 sorear the electroweak scale, the mass range of the Higgs, W, and Z...
09:12 masak yeah.
09:13 sorear of course you get funny behavior with an electroweak theory around the Z mass... in particular s-channel resonances... but it's cute that the Fermi theory itself predicts exactly where the new physics shows up
09:15 masak that happens in domain modeling, too, in my experience.
09:16 masak some things work well, others... feel like design smells, or feel "not quite right".
09:16 masak and suddenly, in a flash of insight, they rearrange and refactor into something with higher phenotyic fitness.
09:17 masak models are awesome.
09:18 sorear i am perpetually amused by the cosmological parameter "effective number of neutrino species"
09:19 masak why? :)
09:21 sorear because it's a real number with an error bar
09:22 sorear but the true value is forced to be an integer in the most naive models
09:23 masak aha. :)
09:23 sorear (there are corrections in the more complex models that allow non-integer values *waves hands*; its actual cosmological interpretation has more to do with the pressure/temperature curve of the vacuum)
09:26 spider-mario joined #perl6
09:30 masak I have no idea how the vacuum could have a pressure or temperature, but the phrase sounds cool. :)
09:33 sorear masak: imagine a box filled with blackbody radiation, which presses on all sides
09:33 sorear I use the term 'vacuum' somewhat loosely here to describe the state where there is no net matter
09:34 sorear although at above 12 GK or so the blackbody radiation will include electrons and positrons as well as photons...
09:37 sorear which is actually rather problematic because energy equipartition between neutrinos and photons is frozen out below a few TK
09:38 sorear a few hundred TK
09:38 sorear unrelatedly, i ran into the rishon model on thursday. it's pretty cute
09:40 rindolf joined #perl6
09:46 DrEeevil mmh, an unexpected physics tutorial
09:46 masak "a possible deep connection between intelligence and entropy maximization" -- http://www.alexwg.org/publicati​ons/PhysRevLett_110-168702.pdf -- interesting.
09:47 masak (connected to this article: http://www.insidescience.org/content/physicist​-proposes-new-way-think-about-intelligence/987 )
09:49 domidumont joined #perl6
09:50 cognominal that sounds like "scientific creationism". :)
09:50 masak HN has this to say: "Welcome to modern physics, where physicists do unfalsifiable and imprecise things based on bad philosophy."
09:50 masak so, yeah. sounds like that. cognominal++
09:54 sorear it'll be fun to see what happens in the next couple decades
09:54 rindolf joined #perl6
09:54 sorear I'm hoping for something which reduces the number of free variables in the SM...
09:55 masak though this looks less BS-y: http://scalablegamedesign.cs.colora​do.edu/wiki/Collaborative_Diffusion
09:56 masak sorear: I find physics inherently interesting. especially when it leads to innovations in our everyday lives.
09:56 masak sorear: physics increases the manipulexity and whipuptitude of reality :)
09:57 cognominal Everything, including Perl, ends up being a neguentropic demiurgic game even if superficially everything looks like bad PHP.
09:58 nwc10 Is that something like http://www.youtube.com/watch?v=S6P-2GY-SgA ?
09:58 cognominal beware, programmers, the neguentropic police is watching you.
09:58 nwc10 (not yet checked tht that isn't some cruel rickroll)
10:03 masak nwc10: :) I love parodies. I don't even know the original reference here, and it's still funny. :)
10:04 cognominal http://ask.slashdot.org/story/13/04/20/005212/​localized-visual-programming-language-for-kids   Always the same stupid meme, visual programming. thinking that semantic comes without syntax and thinking that a visual lisp is the future.
10:04 masak cognominal: yeah. I've started to notice that, too.
10:04 cognominal Well, sugar-coated lisp, but you can come with only so many forms and colours.
10:05 masak cognominal: I thought about it the other day. text is much better suited for expressing one of the core ideas of programming: variable/parameter use.
10:07 cognominal text is the serialisation of some DAG. the perl syntax design game is finding the nicest serialisation convention.
10:08 cognominal And slangs are allowing everyone dedicated enough to do the same
10:12 Bzek joined #perl6
10:12 masak yes, if Perl's hidden slogan is "everyone can solve anything, because everything's a textual problem", then Perl 6's hidden slogan is "everyone can solve anything (to the second degree), because everything's a compiler".
10:13 cognominal masak: this akin to educational methods who says that verb are red and so on except that every method comes with its own synestetic convention.  We have invented words like 'verb' for a reason and it took often centuries for each word to be common knowledge.
10:14 cognominal mask, I like that slogan
10:16 cognominal * synesthetic
10:18 woosley joined #perl6
10:20 masak cognominal: "verbs are red" should of course be a consistency helper/donkey's bridge at best. not the core thing.
10:20 cognominal about "variable/parameters use" :  languages are creating bindings, that is edges in some semantic DAG
10:21 cognominal * language-based productions
10:22 masak I'm not sure what it is you're modeling as a DAG here.
10:22 cognominal some world representation
10:22 masak in my world, the program surface structure is either a tree (in a sufficiently synchronous program) or an all-out graph (in a sufficiently asynchronous program). a DAG is somewhat in-between.
10:23 cognominal yes
10:25 masak guess I'm just not sure where the "acyclic" part comes in, or if it's significant.
10:26 cognominal in an AST, the same variable appears in many places so what appears as a tree is indeed a directed graph.
10:26 masak depends how you model variable use in the tree.
10:27 masak chances are you don't actually *link down* to the same variable use several times, which would indeed create a DAG structure.
10:27 cognominal But somehow there are distinguished nodes that were leaves in the AST.
10:27 masak you're probably more interesting in *linking up* to where the variable is declared. usually that's meta-information, though, not part of the actual tree strucure.
10:28 cognominal yes
10:28 masak interested*
10:28 masak PAST and QAST have taught me a simple rule for what information to actually expose in the tree structure itself:
10:28 masak the things that you want to traverse over in the most common case.
10:43 kurahaupo joined #perl6
10:55 wtw joined #perl6
11:01 Bzek joined #perl6
11:07 berekuk joined #perl6
11:09 grondilu joined #perl6
11:10 pupoque joined #perl6
11:12 FROGGS joined #perl6
11:15 swarley- joined #perl6
11:25 cognominal masak: the very last sentence of this article promise fun.   "Qui sait si le documentaire qu'il vient d'achever, tout en images animées, sur la théorie du langage de Noam Chomsky ne sera pas, de tous, le plus bouleversant."
11:26 cognominal http://www.lemonde.fr/culture/article/2013/​04/19/gondry-reve-l-ecran_3162423_3246.html
11:29 dmol joined #perl6
11:36 PacoAir joined #perl6
11:39 fgomez joined #perl6
11:48 cognominal joined #perl6
11:53 masak cognominal: hm. I get the gist of the sentence, but not all of it, I think. "Anyone who knows the [level of] documentation he will achieve, in animated images only, by the theory of language of Noam Chomsky will not be, is all the more upsetting."
11:53 masak that's my best-effort translation ;)
11:55 cognominal good, except he is finishing a documentary, not a documentation
11:58 cognominal google translation is not perfect either : "tout en images animées" gives "while moving images".
11:58 grondilu joined #perl6
12:29 masak oh, it was "documentary". I wasn't sure.
12:59 Vlavv_ joined #perl6
13:02 tgt joined #perl6
13:02 MrMeek joined #perl6
13:02 tgt joined #perl6
13:03 crab2313 joined #perl6
13:07 MrMeek-afk joined #perl6
13:11 jaldhar joined #perl6
13:18 masak wow, a really nice illustrated monad tutorial: http://adit.io/posts/2013-04-17-functors,_​applicatives,_and_monads_in_pictures.html
13:24 cognominal with an Idi Amin Dada monad?
13:29 masak I didn't understand that particular image.
13:32 cognominal That's to illustrate the  AHAHAHAHAH
13:32 masak yeah.
13:33 masak perhaps just to convey a sense of "this is pretty crazy stuff"?
13:33 cognominal indeed
13:36 diakopter oh; I thought it was something racist
13:36 masak I'd be surprised if it were.
13:38 diakopter (kidding..)
13:39 masak eh.
13:41 diakopter sorry, misguided self-deprecating humor...
13:45 timotimo r: 0.9.ceil.say
13:45 camelia rakudo de2080: OUTPUT«No such method 'ceil' for invocant of type 'Rat'␤  in block  at /tmp/2mPVmvoEO5:1␤␤»
13:45 timotimo where do i get a ceil? i implemented round($_ + 0.5) for now
13:46 spider-mario r: 0.9.ceiling.say
13:46 camelia rakudo de2080: OUTPUT«1␤»
13:46 spider-mario timotimo : ↑
13:47 timotimo oh, ceiling
13:48 masak yeah, because what the heck is a 'ceil' :P
13:49 * masak .oO( "Mechanic said I had blown a ceil. I said keep my private life out of it." )
13:49 timotimo :)
13:50 jeje joined #perl6
13:52 masak jeje: greetings.
13:52 jeje greetings
13:52 masak ...earthling.
13:52 jeje just demonstrating my wife the power of IRC :)
13:53 masak IRC is very powerful indeed.
13:53 timotimo niecza has no threading for perl6, right?
13:53 masak timotimo: I think it does, a little.
13:53 timotimo (because ... how?)
13:53 jeje I though perl6 was the appropriate channel for that :)
13:53 masak oh, very much appropriate.
13:53 masak rn: say "Perl 6 says hi, too! :)"
13:53 camelia rakudo de2080, niecza v24-37-gf9c8fc2: OUTPUT«Perl 6 says hi, too! :)␤»
13:54 jeje she already have a smile on her face
13:54 jeje thanks guys!
13:54 * masak bows
13:54 masak nice to demo IRC to you, jeje's wife!
13:55 timotimo the true power, i find, is how easy it is to come up with an irc bot. there's hardly any extra work you have to do
13:55 jeje don't demo kikking me out
13:55 masak don't give us ideas. :P
13:55 mattp_ joined #perl6
13:56 jeje I'll have her program some IRC bot a bit later I think
13:56 jeje cheers, have a good one all
13:57 jeje left #perl6
14:00 arlinius joined #perl6
14:14 tgt joined #perl6
14:23 tgt joined #perl6
14:27 c1sung joined #perl6
14:36 timotimo i'm looking for a prettier way to write this: @remainder[$def-type] = 0 if @remainder[$def-type] < 0;
14:36 timotimo ideas?
14:36 colomon max= 0
14:36 colomon ?
14:36 tgt_ joined #perl6
14:37 masak yeah.
14:37 timotimo really!
14:37 timotimo my god how i love this language
14:37 timotimo it even makes sense
14:37 masak :)
14:37 pupoque joined #perl6
14:38 masak infix:<min> and infix:<max> are a bit funny, though, because they only feel like they make sense when used with metaoperators. in their original form, they look rather odd.
14:38 timotimo true
14:39 chinaXing joined #perl6
14:41 masak chinaXing: 你好!
14:44 timotimo it's weird how $foo max= 0 reads a bit like "$foo maxes out at 0", but in fact it means "$foo can now be 0 at minimum"
14:45 masak I read it as "max $foo to 0", which makes a bit more sense.
14:45 timotimo that also sounds the wrong way around to me
14:47 masak hm, yes.
14:48 tgt joined #perl6
14:49 SamuraiJack joined #perl6
14:50 pmichaud "$foo is at least zero"
14:50 timotimo but that has no "max" in it, so it's not a reading of the actual text ;)
14:51 masak right. "at least" sounds more like "min".
14:52 pmichaud "$foo greater than or equal to zero" ?
14:53 pmichaud don't quite like the "greater than" phrase, though, because that's   >
14:53 pmichaud "$foo increases to zero"
14:53 pmichaud ("increase" sounds more like "max")
14:53 timotimo i like the "increases" reading
14:53 pmichaud and then  $foo min= 0    would be "$foo decreases to zero"
14:54 pmichaud or "$foo lowers to zero"
14:54 timotimo yeah, that sounds good
14:54 pmichaud btw, good morning, #perl6
14:54 timotimo this should be written down somewhere
14:54 jnthn morning, pmichaud o/
14:54 pmichaud timotimo: maybe in perl6doc, with the description of max/min
14:55 timotimo where would i put source so that it shows up there?
14:56 moritz all the contents of all the files in lib/*.pod show up there
14:57 timotimo thanks
15:00 moritz maybe in lib/operators.pm or so
15:01 timotimo will edit
15:03 timotimo i'd just put that as a bit of code with a comment below the text, does that sound good?
15:06 moritz aye
15:08 arlinius joined #perl6
15:09 dalek doc: b8c5ac4 | timo++ | lib/operators.pod:
15:09 dalek doc: mention intuitive readings of max= and min=
15:09 dalek doc:
15:09 dalek doc: pmichaud++ came up with those.
15:09 dalek doc: review: https://github.com/perl6/doc/commit/b8c5ac40ee
15:09 timotimo doc.perl6.org gets updated with a cronjob?
15:15 timotimo it's pretty unfortunate that the bottom of the wiki pages on perlfoundation.org shows the date and exact time of last update, but neglects to mention the *year*
15:16 sciurius joined #perl6
15:22 pupoque joined #perl6
15:34 SamuraiJack_ joined #perl6
15:50 kaare_ joined #perl6
15:57 tgt joined #perl6
16:00 dalek roast: f7e0e93 | coke++ | S02-magicals/dollar-underscore.t:
16:00 dalek roast: This corresponds to an open ticket
16:00 dalek roast: review: https://github.com/perl6/roast/commit/f7e0e93841
16:00 dalek roast: 03595c1 | coke++ | S (9 files):
16:00 dalek roast: Remove references to Seq fossil from roast
16:00 dalek roast: review: https://github.com/perl6/roast/commit/03595c15de
16:01 jnthn [Coke]++
16:01 kaare_ joined #perl6
16:01 [Coke] jnthn: one more "regression" down. ;)
16:01 masak [Coke]++
16:01 * jnthn is trying to hunt what exactly about the jvm-support branch busts some Rakudo spectests
16:02 [Coke] r: my Array of Int @a; say @a.WHAT;
16:02 camelia rakudo de2080: OUTPUT«(Array+{TypedArray})␤»
16:02 [Coke] b: my Array of Int @a; say @a.WHAT;
16:02 camelia b 922500: OUTPUT«Method '!select' not found for invocant of class ''␤  in main program body at line 22:/tmp/w0ad0QxdN0␤»
16:03 [Coke] r: role Cup[::contents] {} ; class EggNog {}; my Cup of EggNog $r; say $r.what
16:03 camelia rakudo de2080: OUTPUT«No such method 'what' for invocant of type 'Cup'␤  in block  at /tmp/Y_XgTW6vF2:1␤␤»
16:03 [Coke] r: role Cup[::contents] {} ; class EggNog {}; my Cup of EggNog $r; say $r.WHAT
16:03 camelia rakudo de2080: OUTPUT«(Cup)␤»
16:03 [Coke] b: role Cup[::contents] {} ; class EggNog {}; my Cup of EggNog $r; say $r.WHAT
16:04 camelia b 922500: OUTPUT«Cup()␤»
16:04 [Coke] b: role Cup[::contents] {} ; class EggNog {}; my Cup of EggNog $r; say $r.WHAT.perl
16:04 camelia b 922500: OUTPUT«Cup[EggNog]␤»
16:04 [Coke] r: role Cup[::contents] {} ; class EggNog {}; my Cup of EggNog $r; say $r.WHAT.perl
16:04 camelia rakudo de2080: OUTPUT«Cup␤»
16:04 [Coke] There's a regression.
16:04 [Coke] Is it valid to care?
16:05 moritz I think so, yes
16:05 jnthn Yeah, that should be fixed IMO
16:06 jnthn Hmm
16:06 jnthn r: role Cup[::contents] {} ; class EggNog {}; my Cup of EggNog $r; say $r.HOW.WHAT
16:06 camelia rakudo de2080: OUTPUT«(Perl6::Metamodel::CurriedRoleHOW)␤»
16:08 dalek nqp/jvm-support: 891075b | coke++ | VERSION:
16:08 dalek nqp/jvm-support: bump VERSION to 2013.04
16:08 dalek nqp/jvm-support: review: https://github.com/perl6/nqp/commit/891075b0b3
16:08 dalek nqp/jvm-support: cb70dae | jnthn++ | / (3 files):
16:08 dalek nqp/jvm-support: Fix regression introduced while adding JVM backend
16:08 dalek nqp/jvm-support: review: https://github.com/perl6/nqp/commit/cb70dae1fe
16:08 dalek nqp/jvm-support: e93a51d | jnthn++ | VERSION:
16:08 dalek nqp/jvm-support: Merge branch 'master' into jvm-support
16:08 dalek nqp/jvm-support: review: https://github.com/perl6/nqp/commit/e93a51d278
16:08 kaare__ joined #perl6
16:08 colomon \o/
16:12 kaare_ joined #perl6
16:12 tgt joined #perl6
16:14 grondilu joined #perl6
16:15 wtw joined #perl6
16:16 FROGGS * jnthn is trying to hunt what exactly about the jvm-support branch busts some Rakudo spectests
16:17 FROGGS some??
16:17 FROGGS so, rakudo is already running?
16:17 jnthn It was a sillly thing
16:17 jnthn FROGGS: No
16:17 FROGGS ahh, k
16:17 jnthn FROGGS: The various re-orgs of stuff I did of the repo managed to break something.
16:18 jnthn Just waiting on a clean spectset run then I'll merge.
16:18 FROGGS ahh, so something broke for rakudo@parrot?
16:18 jnthn Right.
16:18 [Coke] aye.
16:18 FROGGS kk
16:18 FROGGS jnthn++ # anyway
16:19 jnthn yeah, this looks better
16:19 dalek Heuristic branch merge: pushed 52 commits to nqp by jnthn
16:20 dalek rakudo/nom: 6297810 | jnthn++ | / (2 files):
16:20 dalek rakudo/nom: Bump NQP_REVISION to latest; chase rename.
16:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6297810880
16:22 lizmat joined #perl6
16:34 dalek roast: 7928071 | coke++ | integration/advent2009-day18.t:
16:34 dalek roast: mark regression with an RT
16:34 dalek roast: review: https://github.com/perl6/roast/commit/7928071897
16:36 woolfy joined #perl6
16:45 tgt joined #perl6
16:46 frdmn joined #perl6
16:48 dmol joined #perl6
16:48 kaare_ joined #perl6
16:57 dalek rakudo/nom: 998cc87 | jnthn++ | / (2 files):
16:57 dalek rakudo/nom: Toss redundant directory/.gitignore entry.
16:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/998cc8770a
16:57 dalek rakudo/nom: ed3a33a | jnthn++ | / (105 files):
16:57 dalek rakudo/nom: Give all NQP files the .nqp extension.
16:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ed3a33adaf
16:57 dalek rakudo/nom: 5e7a2bb | jnthn++ | / (34 files):
16:57 dalek rakudo/nom: Move ops/PMCs/C code under src/vm/parrot/.
16:57 dalek rakudo/nom:
16:57 dalek rakudo/nom: Matches the same kind of structure the NQP repository now has.
16:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5e7a2bba02
17:13 jnthn walk, dinner &
17:14 masak [Coke]: hm, "curried rule"?
17:15 masak r: role Cup[::Contents] {}; class Eggnog {}; my Cup[Eggnog] $mug; say $mug.WHAT.perl
17:15 camelia rakudo de2080: OUTPUT«Cup␤»
17:15 masak seems to be wrong for both 'Cup[Eggnog]' and 'Cup of Eggnog'.
17:16 masak and I wouldn't describe it as "curried". it's just a parameterized role.
17:16 jnthn The issue is in CurriedRoleHOW; it doesn't factor the args into the name.
17:16 masak oh! ok.
17:17 jnthn There's an intermediate level between the parametric role group and picking the actual role.
17:18 jnthn really walk :) &
17:21 Bzek joined #perl6
17:29 berekuk joined #perl6
17:35 lizmat joined #perl6
17:37 lizmat joined #perl6
17:38 lizmat joined #perl6
17:39 kivutar joined #perl6
17:40 spider-mario joined #perl6
17:47 jaldhar joined #perl6
17:50 [Coke] masak: (curried) was in one of the error messages, is all. feel free to change the title.
17:51 [Coke] ... and I'm caught up. nevermind. ;)
18:02 berekuk joined #perl6
18:07 MrMeek joined #perl6
18:11 masak [Coke]: oh, that explains it.
18:23 dukeleto joined #perl6
18:26 berekuk joined #perl6
18:44 berekuk joined #perl6
18:47 cognominal I made a mistake, I committed on the wrong branch and pushed on github. I know how to delete the commit locally but not on github.
18:47 masak cognominal: 'git push --force'
18:47 masak cognominal: but know that downstream, if they pulled already, will suffer.
18:48 cognominal I know but the mistake is minutes old :)
18:50 cognominal masak: will soon be in an appropriate branch  https://github.com/cognominal/​nqp/blob/master/docs/bast.pod  https://github.com/cognominal/nq​p/blob/master/src/QAST/Bast.nqp  :)
18:50 cognominal I would appreciate feedback when it is in a branch. Does not yet work .  got Error while compiling block : Error while compiling op bind (source text: ":="): First child of a 'bind' op must be a QAST::Var
18:51 sizz joined #perl6
18:51 moritz %h('') :=  # looks dubious to me
18:51 moritz %h() is a call
18:52 moritz did you mean %h{ '' } := ?
18:52 cognominal oops, that's the one
18:52 cognominal silly me
18:53 berekuk joined #perl6
18:54 census joined #perl6
18:55 kivutar joined #perl6
19:02 FROGGS \o/ time for $hacking \o/
19:02 masak \o/
19:05 jnthn Sejm here \o/
19:05 FROGGS :o)
19:08 census what about hacking? :)
19:08 census FROGGS++
19:09 FROGGS need to get `require PATH` done for v5
19:10 cognominal .?hacking: :with<fun>  # for those who support that method
19:10 masak census: it's le time for it!
19:11 colomon time for $work here, alas.  :(
19:11 colomon \
19:17 kurahaupo joined #perl6
19:17 tgt joined #perl6
19:20 frdmn joined #perl6
19:21 dalek nqp: dcf2e2f | jnthn++ | src/vm/parrot/QAST/Operations.nqp:
19:21 dalek nqp: Add an nqp::getenvhash op.
19:21 dalek nqp: review: https://github.com/perl6/nqp/commit/dcf2e2fdfc
19:21 dalek nqp: bfb3669 | jnthn++ | src/vm/parrot/QAST/Operations.nqp:
19:21 dalek nqp: Add nqp:: op for stable_set_type_check_mode.
19:21 dalek nqp: review: https://github.com/perl6/nqp/commit/bfb36697aa
19:22 FROGGS ohh, getenvhash, nice
19:23 FROGGS_ joined #perl6
19:24 mberends joined #perl6
19:26 berekuk joined #perl6
19:37 jaldhar joined #perl6
19:38 dalek rakudo/nom: e9e1b5d | jnthn++ | / (5 files):
19:38 dalek rakudo/nom: Bump NQP_REVISION; use new nqp:: ops.
19:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e9e1b5d962
19:40 xen joined #perl6
19:41 xen left #perl6
19:41 projektica joined #perl6
19:41 rindolf joined #perl6
19:43 nwc10 jnthn: worked on my machine (nom at origin/master) without that last commit
19:44 jnthn nwc10: OK. Also note that nqp-jvm-prep is as of today only of historical interest, and work from here on NQP JVM is done in the nqp repo itself.
19:44 colomon \o/
19:44 jnthn nwc10: perl ConfigureJVM.pl && make test
19:45 jnthn nwc10: Some mess still for me to clear up there, but overall it works.
19:48 rindolf left #perl6
19:48 projektica left #perl6
19:49 nwc10 OK. I'd guessed that nqp-jvm-prep was probably "history"
19:56 japhb jnthn, does this also mean you've merged nqp/jvm-support back to nqp/master?
19:56 jnthn japhb: Yes
19:57 japhb \o/
19:57 japhb YES!
19:57 nwc10 jnthn: 5 tests fail here: http://pasta.test-smoke.org/488
19:57 * japhb is most happy indeed
19:57 jnthn nwc10: Yes, those are ones we never attempted in nqp-jvm-prep and are in the nqp repo
19:57 jnthn nwc10: I'll get to them.
19:58 nwc10 OK. Glad to know that they are nothing serious
19:58 nwc10 so, yay
19:58 nwc10 time for beer?
19:58 jnthn ;)
19:59 * jnthn has a whisky barrel aged porter to enjoy this evening :)
19:59 census jnthn++
20:01 nwc10 jnthn: I infer that nqp.sh is generated
20:02 nwc10 it should probably be this:
20:02 nwc10 #!/bin/sh
20:02 nwc10 exec java -cp .:nqp-runtime.jar:3rdparty/asm/asm-4.1.jar nqp "$@"
20:02 japhb cognominal, nice DSL.  So you pushed down the waterbed in one place ... where does it spring back up?
20:02 nwc10 the "exec" is micro-optimisation :-)
20:02 jnthn nwc10: The .sh file is a wild untested guess on my part 'cus I'm mostly a Windows guy ;)
20:03 nwc10 I think that it should be "$@", but maybe it's "$*"
20:03 nwc10 this is the sort of thinkg that timtoady knows :-)
20:03 nwc10 OK, I tested it :-)
20:03 jnthn nwc10: I mean "pass all the args along that we got to this other process"
20:03 nwc10 and "$@" works with arguments with spaces and "
20:03 jnthn Would quoting not risk passing them as one arg, or does it not work like that? :)
20:04 nwc10 yes, you need the "" quoting else whitespace within an argument on the way in gets split
20:04 japhb jnthn, "$@" is a special bash token.
20:04 japhb It is mnemonic, not literal.
20:05 japhb And ... yet another reason I hate bash quoting rules.
20:05 nwc10 IIRC it's a special /bin/sh token. But the key part is that it's special
20:05 dalek nqp: 05fb4ec | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/ (65 files):
20:05 dalek nqp: Whitespace consistency.
20:05 dalek nqp: review: https://github.com/perl6/nqp/commit/05fb4ecb57
20:05 dalek nqp: 9ab4d07 | jnthn++ | src/vm/jvm/nqp.sh:
20:05 dalek nqp: Improve nqp.sh; nwc10++.
20:05 dalek nqp: review: https://github.com/perl6/nqp/commit/9ab4d070dc
20:10 cognominal japhb: https://github.com/cognominal/nqp/tree/bast    but it just compiles so it probably need a lot of work. I need to hook it up to nqp but adding to the EXPR rule does not seem easy.
20:11 cognominal ...working on a test file
20:11 cognominal And to be complete, I need to add dump-bast methods to QAST::Nodes
20:14 nwc10 $ ./nqp.sh -e 'nqp::say("works on my machine")'works on my machine
20:14 nwc10 bah. naughty termianl
20:14 * jnthn wonders if we should just call it "nqp" rather than "nqp.sh" for consistency with how you typically run it today...
20:17 nwc10 possibly. ./nqp was my first assumption for what I should type
20:18 jnthn OK, will do it
20:19 jnthn I'm sure if it breaks some terrible cultural norm somebody will tell me ;)
20:19 jnthn Oh, I missed that you suggested /bin/sh instead of /bin/bash
20:19 mst I dislike having .sh on the name
20:19 mst this is not windows and you are exposing your implementation pointlessly
20:20 jnthn OK, it will be gone shortly ;)
20:21 frdmn joined #perl6
20:22 lue hello world o/
20:22 FROGGS_ hi lue
20:22 masak lue! \o/
20:30 nwc10 make for JVM slightly faster (wallclock) than make for parrot
20:30 nwc10 tests run in 1/3rd of the wallclock time with parrot
20:30 nwc10 seems that the JVM build is often using two processes, as the user CPU is almost double the wallclock time
20:31 nwc10 timinngs suggest that parrot uses only one core
20:31 FROGGS_ huh
20:31 FROGGS_ will build it too now..
20:31 jnthn nwc10: I doubt it's the build.
20:32 nwc10 I assumed that it wasn't the build either
20:32 spider-mario using a parallel make for nqp broke the build for me
20:32 cognominal Has someone compiled jvm nqp on lion?
20:32 spider-mario (on parrot)
20:32 jnthn nwc10: I suspect it's that the JVM uses a concurrent GC
20:32 nwc10 JVM multithreads by default? eg one for GC, and one for actual work :-)
20:32 nwc10 snamp
20:33 jnthn I don't think JVM will ever win on startup time, that I think we can trim some off the current one.
20:34 nwc10 please drink beer *first*, before doing that :-)
20:34 berekuk joined #perl6
21:00 dalek nqp: 26720e8 | jnthn++ | / (7 files):
21:00 dalek nqp: Simple make install; nqp.sh => nqp.
21:00 dalek nqp: review: https://github.com/perl6/nqp/commit/26720e8e5a
21:11 kivutar joined #perl6
21:12 lue jnthn: I'm assuming rakudo can't yet use the shiny new JVM NQP, right?
21:13 FROGGS_ not yet, no
21:13 japhb Getting close to ready to start that, I bet.
21:13 masak lue: see jnthn's latest blog post.
21:14 lue ooh, didn't know there was a post
21:14 * lue reads
21:19 Chillance joined #perl6
21:32 bruges_ joined #perl6
21:33 dalek nqp: bd194cf | jnthn++ | src/vm/jvm/ (2 files):
21:33 dalek nqp: Implement nqp::getenvhash for JVM.
21:33 dalek nqp: review: https://github.com/perl6/nqp/commit/bd194cf60c
21:33 dalek nqp: 14468f9 | jnthn++ | src/vm/jvm/ (2 files):
21:33 dalek nqp: Implement nqp::[get|bind]hllsym for JVM.
21:33 dalek nqp: review: https://github.com/perl6/nqp/commit/14468f91c2
21:48 woolfy left #perl6
21:51 masak 'night, #perl6
21:51 FROGGS_ night masak
21:51 japhb o/
21:58 dalek nqp: fc7cb78 | jnthn++ | tools/build/install-jvm-runner.pl:
21:58 dalek nqp: Add missing chmod.
21:58 dalek nqp: review: https://github.com/perl6/nqp/commit/fc7cb78f56
21:58 adu joined #perl6
22:08 dalek rakudo/jvm-support: 51908e9 | jnthn++ | / (4 files):
22:08 dalek rakudo/jvm-support: Rename Makefile.in -> Makefile-Parrot.in.
22:08 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/51908e9b24
22:08 dalek rakudo/jvm-support: 4e422e9 | jnthn++ | tools/build/ (2 files):
22:08 dalek rakudo/jvm-support: Give gen-cat.pl filtering ability, like NQP one.
22:08 dalek rakudo/jvm-support:
22:08 dalek rakudo/jvm-support: Includes updates to Parrot Makefile to use this updated version.
22:08 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/4e422e91bf
22:08 dalek rakudo/jvm-support: 7e1fcba | jnthn++ | / (4 files):
22:08 dalek rakudo/jvm-support: Add bare-bones ConfigureJVM.pl and JVM makefile.
22:08 dalek rakudo/jvm-support:
22:08 dalek rakudo/jvm-support: At the moment, make just compiles the constant folder, since it has no
22:08 dalek rakudo/jvm-support: dependencies and already compiles with NQP JVM.
22:08 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/7e1fcba04e
22:34 cognominal 'night, *
22:35 census night
22:49 jnthn 'night, #perl6
22:49 adu gnight jnthn
23:01 berekuk joined #perl6
23:10 [Coke] nwc10: nqp's parrot build doesn't use make -j by default.
23:11 dalek perl6-roast-data: 7fa5a51 | coke++ | / (4 files):
23:11 dalek perl6-roast-data: today (automated commit)
23:11 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/7fa5a510de
23:17 [Coke] ooh, exciting jnthn++ commit.

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

Perl 6 | Reference Documentation | Rakudo