»ö« 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:07
awwaiid left
00:13
PacoAir left
|
|||
labster | Well, I'm finally back, after an expedition that, among other things, included buying a new keyboard. | 00:16 | |
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:22 | ||
00:23
census joined
00:35
census left
00:36
awwaiid joined
00:37
japhb_ left
00:40
kbenson left
00:52
cognominal left
|
|||
dalek | osystem: f1de06f | colomon++ | META.list: Change URI to use my fork |
00:55 | |
01:00
berekuk left
01:03
sftp joined
01:04
berekuk joined,
zacts left
|
|||
[Coke] | r: my $array_ref1 = ("foo", "bar", "baz"); say $array_ref1.WHAT | 01:05 | |
camelia | rakudo de2080: OUTPUT«(Parcel)» | ||
[Coke] | rpn: my $array_ref1 = ("foo", "bar", "baz"); say $array_ref1.WHAT | ||
camelia | rakudo de2080, niecza v24-37-gf9c8fc2: OUTPUT«(Parcel)» | ||
..pugs: OUTPUT«Array()» | |||
01:05
zacts joined
|
|||
[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» | ||
[Coke] | ... that description is backwards, yes? | ||
colomon | .... no? | 01:09 | |
r: say Rat ~~ Real | |||
camelia | rakudo de2080: OUTPUT«True» | ||
01:10
zacts left,
zacts joined
01:19
tgt left
01:22
drbean left
01:23
Psyche^ joined
01:24
drbean joined
01:27
Patterner left,
Psyche^ is now known as Patterner
01:39
LylePerl left
|
|||
colomon | r: my $a = 3/5; say $a.clone | 01:43 | |
camelia | rakudo de2080: OUTPUT«0.6» | ||
adu | omg, I'm never using parentheses again | 01:45 | |
01:47
woosley joined
01:48
awwaiid left
|
|||
colomon | r: class A ( has $.a; }; my $foo = A.new(a => 1); say $a.clone.perl | 01:51 | |
camelia | rakudo de2080: OUTPUT«===SORRY!===Unable to parse class definitionat /tmp/isJ5CeHeMR:1------> class A ⏏( has $.a; }; my $foo = A.new(a => 1); s expecting any of: statement list prefix or term prefix or meta-prefix … | ||
colomon | r: class A { has $.a; }; my $foo = A.new(a => 1); say $a.clone.perl | ||
camelia | rakudo de2080: OUTPUT«===SORRY!===Variable '$a' is not declaredat /tmp/sn3mFZPhtg:1------> $foo = A.new(a => 1); say $a.clone.perl⏏<EOL> expecting any of: method arguments» | ||
colomon | r: class A { has $.a; }; my $foo = A.new(a => 1); say $foo.clone.perl | ||
camelia | rakudo de2080: OUTPUT«A.new(a => 1)» | ||
01:54
FROGGS_ joined
01:58
FROGGS left
02:00
awwaiid joined
02:05
takadonet22 joined
02:07
takadonet22 left
02:25
obra joined
02:54
preflex_ joined,
preflex left
02:55
preflex_ is now known as preflex
03:03
zacts left
|
|||
adu | I think I'm falling in love with Perl6 | 03:04 | |
03:05
zacts joined
|
|||
colomon | it's easy to love | 03:05 | |
03:05
zacts left,
zacts joined
03:15
fgomez left,
kshannon left
03:17
grondilu joined
03:20
fgomez joined,
kshannon joined,
lue joined,
colomon joined,
Vlavv` joined,
Timbus joined,
BinGOs joined,
ruoso joined
03:21
robinsmidsrod joined
03:26
zacts left
03:31
jaldhar joined
03:34
ravenclaw joined
|
|||
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:36 | |
03:43
gdey left
03:45
jaldhar left
|
|||
ravenclaw | std: say 'hello' | 03:47 | |
camelia | std 86b102f: OUTPUT«ok 00:00 41m» | ||
03:49
jaldhar joined
|
|||
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:50 | |
(I should say, paths have both more structure *and* more limits to them than arbitrary strings do.) | 03:51 | ||
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:52 | |
Nom- | Because humans need to read code sometimes? | 03:53 | |
On face value, I have no clue what the heck that would mean | 03:54 | ||
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. | ||
ravenclaw, how do you map Str.x to Str.IO.x for any single-letter x without polluting Strs method space? | 03:58 | ||
*Str's | |||
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:00 | |
it just seems that more often than not, $var ~~ :e is determining if a filename stored in $var exists | 04:01 | ||
actually, it seems that 100% of the time | |||
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. ;-) | ||
What lue said as well. | |||
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 | |||
japhb does not see the hardship in '$var.IO.e' instead of '$var ~~ :e' | 04:05 | ||
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:06 | |
04:07
swarley| joined
|
|||
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:09 | |
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:14 | |
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:15 | |
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:19 | ||
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:20 | |
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:25 | ||
(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:27 | ||
04:28
Chillance left
|
|||
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:28 | |
just an example, of course | 04:29 | ||
I would have thought that the smartmatch operator would auto-typecast depending on the RHS. | 04:30 | ||
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 | |
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. | |||
(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:33 | ||
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. | ||
camelia | rakudo de2080: OUTPUT«False» | ||
lue | s/right/write/ # sigh | ||
japhb | ravenclaw, see the Smart matching section of the specs, starting at S03:3556, for an explanation of that sugar. | 04:36 | |
(And see the IRC logs for that reference turned into a link.) | |||
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:43 | |
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. | ||
ravenclaw | Then it would be perl6, the fully verbose java-like edition, or "perl6, the verbose java-like edition" for short | ||
I keep forgetting that, Coke but it's vital to remember | 04:46 | ||
lee_ | sub prefix:<-e>(Str $s) { $s.IO.e } # it works! | 04:47 | |
04:48
MrMeek joined,
kaare_ joined
|
|||
[Coke] | r: sub prefix:<-e>(Str $s) { $s.IO.e }; say -e"/tmp" | 04:49 | |
camelia | rakudo de2080: OUTPUT«True» | ||
[Coke] wonders if the SXX:YYYY highlighting is smart enough to treat those line numbers based on the time the log was captured. | 04:50 | ||
04:58
BenGoldberg left
05:18
Maddingu1 joined,
preflex left
05:19
LV joined
|
|||
sorear | don't think so | 05:19 | |
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,
rom1504_ joined,
mangala_ joined,
preflex joined,
patspam_ joined
|
|||
labster | that totally works locally, though, ravenclaw. | 05:20 | |
05:20
Hor|zon_ joined
05:21
mls_ joined,
ingyfoo joined,
ironcame1 joined,
jaldhar left,
jaldhar joined
05:25
woosley left,
rom1504 left,
Hor|zon left,
patspam left,
Maddingue left,
ingy left
05:27
ravenclaw left
05:34
woosley joined
05:41
groky joined
05:43
SamuraiJack joined
05:45
kaare_ left
05:46
kurahaupo joined
|
|||
moritz | labster: the evalbot disables most IO stuff | 05:55 | |
labster: including IO::Path | |||
06:05
MrMeek-afk joined
06:06
MrMeek left
06:10
dwoldrich joined
06:15
fgomez left
06:19
woosley left
06:20
rhinux_ joined
06:24
DreamingInCode left
06:28
rindolf joined
06:34
dwoldrich left
|
|||
labster | moritz: except that the evalbot doesn't really get rid of them entirely | 06:35 | |
r: r: use MONKEY_TYPING; augment class Str { method IO handles <e d w t r x> { self.path }; }; say "rakudo".e | |||
camelia | rakudo de2080: OUTPUT«===SORRY!===Two terms in a rowat /tmp/hQ2pfEJL8c:1------> r⏏: use MONKEY_TYPING; augment class Str { expecting any of: argument list postfix infix stopper infix or meta-infix statem… | ||
labster | r: use MONKEY_TYPING; augment class Str { method IO handles <e d w t r x> { self.path }; }; say "rakudo".e | ||
camelia | rakudo de2080: OUTPUT«True» | ||
labster | there, I knew I could make it work. | ||
huh, maybe I should make this a module, for people who are too lazy to write .IO.$filetest. | 06:42 | ||
06:49
crab2313 joined
06:50
FROGGS_ is now known as FROGGS
|
|||
FROGGS | morning | 06:50 | |
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) | ||
hi labster | |||
labster reads perlfunc, sees: eval "require $class"; | 06:55 | ||
FROGGS | ohh, I mean p5's `require PATH`is like p6's `eval slurp PATH` | 06:56 | |
p5's `require ModuleName`is still like p6's one | 06:57 | ||
06:57
kurahaupo left
|
|||
labster | that sounds right. | 06:57 | |
FROGGS | sometimes you just must sleep a night to solve a problem :o) | 06:58 | |
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." | ||
do-FILE? the rabbit hole goes deep. | 07:00 | ||
07:00
rindolf left
|
|||
geekosaur | yeh, the evolution was do -> require -> use | 07:01 | |
07:01
rindolf joined
07:08
census joined
07:16
kurahaupo joined
|
|||
FROGGS | hmmm, do FILE doesn't seem to work :/ | 07:17 | |
looks like a noop | |||
(there is just a print-statement in the included file) | |||
07:21
SamuraiJack left
07:22
rindolf left,
rindolf joined
|
|||
sorear | do-FILE does not exist in perl 6 | 07:30 | |
the do EXPR syntax has been coopted as a version of the Haskell ($) operator | 07:31 | ||
it's a precedece-modifying noop | |||
r: say 10 * do 1 + 2 + 3 + 4 + 5 | |||
camelia | rakudo de2080: OUTPUT«150» | ||
07:33
mattp__ left
|
|||
labster | .oO ( current rakudo version is from .de 67 years in the future ) | 07:34 | |
07:42
araujo joined,
araujo left,
araujo joined
|
|||
FROGGS | hmmm | 07:44 | |
labster: where do you get that sentence from? | 07:45 | ||
perl5doc? | |||
labster | man perlfunc | ||
FROGGS | k, thanks | ||
07:46
arlinius joined
07:48
rindolf left
07:49
rindolf joined
|
|||
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 | 07:56 | |
08:06
cognominal joined
08:07
rindolf left,
rindolf joined
|
|||
FROGGS | hmmm, at least p5's require ModuleName is more like p6's need | 08:09 | |
hmm, well, no | 08:12 | ||
compile time <> runtime | |||
w/e | |||
08:16
kurahaupo left
|
|||
masak | morning, #perl6 | 08:16 | |
08:17
rindolf left
|
|||
sorear | morning, #masak. | 08:20 | |
08:26
rindolf joined
08:33
drbean left
08:34
drbean joined
08:36
jaldhar left
|
|||
moritz | mrnng, msk | 08:36 | |
masak has a good feeling about today | 08:38 | ||
moritz too | 08:39 | ||
$wife is home for the weekend, before she's off to rehab | |||
masak | moritz: my warmest regards to all of you. just... thinking about you and wishing you well. | 08:42 | |
I'm considering merging the new rt.perl.org/rt3/Ticket/Display.html?id=117677 into the old rt.perl.org/rt3/Ticket/Display.html?id=113904 . any objections? | |||
moritz | masak: thanks. We appreciate it | ||
masak: no objections | 08:43 | ||
masak | likely rt.perl.org/rt3/Ticket/Display.html?id=115294 is involved too, but it feels different enough. | ||
masak merges the first two | |||
moritz | r: (-> $a { say ::MY.keys }).() | ||
camelia | rakudo de2080: OUTPUT«Not enough positional parameters passed; got 0 but expected 1 in block at /tmp/pYMmKrvuqe:1» | ||
moritz | r: (-> $a { say ::MY.keys }).(1) | ||
camelia | rakudo de2080: OUTPUT«0» | ||
moritz | r: (-> $a { say MY::.keys }).(1) | ||
camelia | rakudo de2080: OUTPUT«$a $_ call_sig $*DISPATCHER» | ||
moritz | so it gets a $_ even though it shouldn't | 08:44 | |
masak | r: say MY::.keys | ||
camelia | rakudo de2080: OUTPUT«GLOBALish EXPORT $?PACKAGE ::?PACKAGE $_ $/ $! $=pod !UNIT_MARKER» | ||
masak | don't... don't all blocks get a $_? | 08:45 | |
moritz | if all blocks get a $_, then the example from the RT will never work as intended | 08:47 | |
and you don't have lexical scoping anymore | 08:48 | ||
masak | yeah, guess you're right. :) | 08:51 | |
sorear | masak, moritz: what's up? | 08:53 | |
masak looks up | |||
moritz | the bug count is up | ||
masak | looks to me like a mixture of atoms, vacuum, and the occasional lepton. | 08:54 | |
pretty standard stuff. | 08:55 | ||
sorear | the comments at :38/39 make me think I've missed something exciting :D | ||
moritz | don't forget the photons. People always forget those photons. | ||
masak | hey, I said leptons. | ||
moritz | photons aren't leptons. | 08:56 | |
masak | sorear: no, nothing in particular triggered :38. | ||
moritz: dang :/ | |||
masak .oO( but they're so light! ) | |||
moritz | just bosons | ||
sorear | are there more neutrinos or photons in the sky? | ||
masak | photons are... gauge bosons? | 08:57 | |
moritz | yes! | ||
sorear | i want to there are three times as many neutrinos because there are three generations and equipartition theorem | ||
*say there | |||
masak | sorear: also, neutrinos get in everywhere. like sand at the beach. | ||
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. | ||
jnthn | It causes bugs but it's also gonna be a pain to port. | ||
moritz | sorear: I don't think the equipartition theorem applies there | ||
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. en.wikipedia.org/wiki/File:Standar...ticles.svg -- there's quarks, leptons, and bosons. | ||
quarks are essentially the dreams that stuff is made of. | |||
the things that... matter. | |||
moritz | :-) | 09:00 | |
aye | |||
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. | ||
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?) | ||
moritz | you need them to satisfy conservation laws | ||
sorear | masak: "Who ordered that?!" - I.I.Rabi on the muon | ||
moritz | well, all the four gauge bosons are duct tape | ||
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. | ||
sorear: :P | |||
the Higgs boson, I don't like that. feels kinda unnecessary to me. and definitely too hard to find. | 09:02 | ||
and researchers looking for it seem to like Comic Sans. need I say more? | |||
moritz | masak: no, Z and W are related to weak and strong interactions | ||
masak | moritz: oh! interactions! | ||
moritz | that's the stuff that holds the atoms together | ||
masak | moritz: so, what's an interaction? I thought that was the weak and strong force, and that those were involved in radioactive decay. | ||
moritz | force = interaction | 09:03 | |
masak | maybe I got the cart before the horse here somehow. | ||
sorear | strong force holds atoms together | ||
moritz | yes, they are involved in radioactive decay. but they are even more invovled in having atoms *not* decay | ||
sorear | if you "zoom out" you can simplify some things | ||
at the cost of others | |||
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 | |
sorear: dude, you just abstracted the concept of "abstraction". :P | |||
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 | ||
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:05 | ||
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 | |||
sorear | also you can get rid of the Higgs boson if you go back to the Fermi theory | 09:07 | |
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 | ||
I think there are renormalizability/gauge invariance/unitarity problems with that | |||
(all problems with QFTs are one of those three) | |||
masak | heh. | 09:10 | |
en.wikipedia.org/wiki/Fermi_theory gives a nice overview. | |||
sorear | interesting | 09:11 | |
especially because 100 GeV shows up there | |||
the electroweak scale, the mass range of the Higgs, W, and Z... | 09:12 | ||
masak | yeah. | ||
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:13 | |
masak | that happens in domain modeling, too, in my experience. | 09:15 | |
some things work well, others... feel like design smells, or feel "not quite right". | 09:16 | ||
and suddenly, in a flash of insight, they rearrange and refactor into something with higher phenotyic fitness. | |||
models are awesome. | 09:17 | ||
sorear | i am perpetually amused by the cosmological parameter "effective number of neutrino species" | 09:18 | |
masak | why? :) | 09:19 | |
sorear | because it's a real number with an error bar | 09:21 | |
but the true value is forced to be an integer in the most naive models | 09:22 | ||
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
|
|||
masak | I have no idea how the vacuum could have a pressure or temperature, but the phrase sounds cool. :) | 09:30 | |
sorear | masak: imagine a box filled with blackbody radiation, which presses on all sides | 09:33 | |
I use the term 'vacuum' somewhat loosely here to describe the state where there is no net matter | |||
although at above 12 GK or so the blackbody radiation will include electrons and positrons as well as photons... | 09:34 | ||
which is actually rather problematic because energy equipartition between neutrinos and photons is frozen out below a few TK | 09:37 | ||
a few hundred TK | 09:38 | ||
unrelatedly, i ran into the rishon model on thursday. it's pretty cute | |||
09:39
rindolf left
09:40
rindolf joined
|
|||
DrEeevil | mmh, an unexpected physics tutorial | 09:46 | |
masak | "a possible deep connection between intelligence and entropy maximization" -- www.alexwg.org/publications/PhysRev...168702.pdf -- interesting. | ||
(connected to this article: www.insidescience.org/content/physi...igence/987 ) | 09:47 | ||
09:49
crab2313 left,
domidumont joined
|
|||
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." | ||
so, yeah. sounds like that. cognominal++ | |||
09:53
rindolf left
|
|||
sorear | it'll be fun to see what happens in the next couple decades | 09:54 | |
09:54
rindolf joined
|
|||
sorear | I'm hoping for something which reduces the number of free variables in the SM... | 09:54 | |
masak | though this looks less BS-y: scalablegamedesign.cs.colorado.edu/..._Diffusion | 09:55 | |
sorear: I find physics inherently interesting. especially when it leads to innovations in our everyday lives. | 09:56 | ||
sorear: physics increases the manipulexity and whipuptitude of reality :) | |||
cognominal | Everything, including Perl, ends up being a neguentropic demiurgic game even if superficially everything looks like bad PHP. | 09:57 | |
nwc10 | Is that something like www.youtube.com/watch?v=S6P-2GY-SgA ? | 09:58 | |
cognominal | beware, programmers, the neguentropic police is watching you. | ||
nwc10 | (not yet checked tht that isn't some cruel rickroll) | ||
masak | nwc10: :) I love parodies. I don't even know the original reference here, and it's still funny. :) | 10:03 | |
cognominal | ask.slashdot.org/story/13/04/20/005...e-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. | ||
cognominal | Well, sugar-coated lisp, but you can come with only so many forms and colours. | ||
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:05 | |
cognominal | text is the serialisation of some DAG. the perl syntax design game is finding the nicest serialisation convention. | 10:07 | |
And slangs are allowing everyone dedicated enough to do the same | 10:08 | ||
10:12
Bzek joined
|
|||
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:12 | |
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:13 | |
mask, I like that slogan | 10:14 | ||
* synesthetic | 10:16 | ||
10:18
woosley joined
|
|||
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 | ||
* language-based productions | 10:21 | ||
masak | I'm not sure what it is you're modeling as a DAG here. | 10:22 | |
cognominal | some world representation | ||
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. | ||
cognominal | yes | 10:23 | |
masak | guess I'm just not sure where the "acyclic" part comes in, or if it's significant. | 10:25 | |
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. | ||
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. | ||
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. | ||
cognominal | yes | 10:28 | |
masak | interested* | ||
PAST and QAST have taught me a simple rule for what information to actually expose in the tree structure itself: | |||
the things that you want to traverse over in the most common case. | |||
10:37
Bzek left
10:43
kurahaupo joined
10:55
wtw joined
10:58
FROGGS left
11:01
Bzek joined
11:05
berekuk left
11:07
berekuk joined
11:09
grondilu left,
grondilu joined
11:10
pupoque joined
11:12
FROGGS joined
11:15
swarley- joined
11:19
swarley| left
11:22
swarley- left
11:25
Bzek left
|
|||
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:25 | |
www.lemonde.fr/culture/article/2013..._3246.html | 11:26 | ||
11:29
dmol joined
11:36
PacoAir joined
11:39
fgomez joined
11:47
cognominal left
11:48
kurahaupo left,
cognominal joined
|
|||
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 | |
that's my best-effort translation ;) | |||
cognominal | good, except he is finishing a documentary, not a documentation | 11:55 | |
google translation is not perfect either : "tout en images animées" gives "while moving images". | 11:58 | ||
11:58
grondilu left,
grondilu joined
|
|||
masak | oh, it was "documentary". I wasn't sure. | 12:29 | |
12:54
woosley left
12:59
Vlavv_ joined,
Vlavv` left
13:02
MrMeek-afk left,
tgt joined,
MrMeek joined,
tgt left,
tgt joined
13:03
crab2313 joined
13:07
MrMeek-afk joined
13:08
crab2313 left
13:09
MrMeek left
13:11
jaldhar joined
|
|||
masak | wow, a really nice illustrated monad tutorial: adit.io/posts/2013-04-17-functors,_...tures.html | 13:18 | |
cognominal | with an Idi Amin Dada monad? | 13:24 | |
masak | I didn't understand that particular image. | 13:29 | |
13:31
tgt left,
arlinius left
|
|||
cognominal | That's to illustrate the AHAHAHAHAH | 13:32 | |
masak | yeah. | ||
perhaps just to convey a sense of "this is pretty crazy stuff"? | 13:33 | ||
cognominal | indeed | ||
diakopter | oh; I thought it was something racist | 13:36 | |
masak | I'd be surprised if it were. | ||
diakopter | (kidding..) | 13:38 | |
masak | eh. | 13:39 | |
diakopter | sorry, misguided self-deprecating humor... | 13:41 | |
13:43
wtw left
|
|||
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» | ||
timotimo | where do i get a ceil? i implemented round($_ + 0.5) for now | ||
spider-mario | r: 0.9.ceiling.say | 13:46 | |
camelia | rakudo de2080: OUTPUT«1» | ||
spider-mario | timotimo : ↑ | ||
timotimo | oh, ceiling | 13:47 | |
masak | yeah, because what the heck is a 'ceil' :P | 13:48 | |
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
|
|||
masak | jeje: greetings. | 13:52 | |
jeje | greetings | ||
masak | ...earthling. | ||
jeje | just demonstrating my wife the power of IRC :) | ||
masak | IRC is very powerful indeed. | 13:53 | |
timotimo | niecza has no threading for perl6, right? | ||
masak | timotimo: I think it does, a little. | ||
timotimo | (because ... how?) | ||
jeje | I though perl6 was the appropriate channel for that :) | ||
masak | oh, very much appropriate. | ||
rn: say "Perl 6 says hi, too! :)" | |||
camelia | rakudo de2080, niecza v24-37-gf9c8fc2: OUTPUT«Perl 6 says hi, too! :)» | ||
jeje | she already have a smile on her face | 13:54 | |
thanks guys! | |||
masak bows | |||
nice to demo IRC to you, jeje's wife! | |||
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 | ||
masak | don't give us ideas. :P | ||
13:55
mattp_ joined
|
|||
jeje | I'll have her program some IRC bot a bit later I think | 13:56 | |
cheers, have a good one all | |||
13:57
jeje left
14:00
arlinius joined
14:14
tgt joined,
tgt left
14:23
tgt joined
14:27
c1sung left,
c1sung joined
14:30
arlinius left,
pupoque left
14:31
jaldhar left
|
|||
timotimo | i'm looking for a prettier way to write this: @remainder[$def-type] = 0 if @remainder[$def-type] < 0; | 14:36 | |
ideas? | |||
colomon | max= 0 | ||
? | |||
14:36
tgt_ joined
|
|||
masak | yeah. | 14:37 | |
14:37
tgt_ left
|
|||
timotimo | really! | 14:37 | |
14:37
tgt left
|
|||
timotimo | my god how i love this language | 14:37 | |
it even makes sense | |||
masak | :) | ||
14:37
pupoque joined
|
|||
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
|
|||
masak | chinaXing: 你好! | 14:41 | |
14:43
chinaXing left
|
|||
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:44 | |
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 | ||
masak | hm, yes. | 14:47 | |
14:48
tgt joined
14:49
SamuraiJack joined
|
|||
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 ;) | ||
masak | right. "at least" sounds more like "min". | 14:51 | |
pmichaud | "$foo greater than or equal to zero" ? | 14:52 | |
don't quite like the "greater than" phrase, though, because that's > | 14:53 | ||
"$foo increases to zero" | |||
("increase" sounds more like "max") | |||
timotimo | i like the "increases" reading | ||
pmichaud | and then $foo min= 0 would be "$foo decreases to zero" | ||
or "$foo lowers to zero" | 14:54 | ||
timotimo | yeah, that sounds good | ||
pmichaud | btw, good morning, #perl6 | ||
timotimo | this should be written down somewhere | ||
jnthn | morning, pmichaud o/ | ||
pmichaud | timotimo: maybe in perl6doc, with the description of max/min | ||
timotimo | where would i put source so that it shows up there? | 14:55 | |
moritz | all the contents of all the files in lib/*.pod show up there | 14:56 | |
timotimo | thanks | 14:57 | |
moritz | maybe in lib/operators.pm or so | 15:00 | |
timotimo | will edit | 15:01 | |
i'd just put that as a bit of code with a comment below the text, does that sound good? | 15:03 | ||
moritz | aye | 15:06 | |
15:08
arlinius joined
|
|||
dalek | c: b8c5ac4 | timo++ | lib/operators.pod: mention intuitive readings of max= and min= pmichaud++ came up with those. |
15:09 | |
timotimo | doc.perl6.org gets updated with a cronjob? | ||
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:15 | ||
15:16
sciurius joined
15:21
pupoque left
15:22
pupoque joined
15:24
tgt left
15:27
frdmn left
15:34
SamuraiJack_ joined,
SamuraiJack left
15:50
kaare_ joined
15:56
kaare_ left
15:57
tgt joined
|
|||
dalek | ast: f7e0e93 | coke++ | S02-magicals/dollar-underscore.t: This corresponds to an open ticket |
16:00 | |
ast: 03595c1 | coke++ | S (9 files): Remove references to Seq fossil from roast |
|||
jnthn | [Coke]++ | 16:01 | |
16:01
kaare_ joined
|
|||
[Coke] | jnthn: one more "regression" down. ;) | 16:01 | |
masak | [Coke]++ | ||
16:01
spider-mario left
|
|||
jnthn is trying to hunt what exactly about the jvm-support branch busts some Rakudo spectests | 16:01 | ||
[Coke] | r: my Array of Int @a; say @a.WHAT; | 16:02 | |
camelia | rakudo de2080: OUTPUT«(Array+{TypedArray})» | ||
[Coke] | b: my Array of Int @a; say @a.WHAT; | ||
camelia | b 922500: OUTPUT«Method '!select' not found for invocant of class '' in main program body at line 22:/tmp/w0ad0QxdN0» | ||
[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» | ||
[Coke] | r: role Cup[::contents] {} ; class EggNog {}; my Cup of EggNog $r; say $r.WHAT | ||
camelia | rakudo de2080: OUTPUT«(Cup)» | ||
[Coke] | b: role Cup[::contents] {} ; class EggNog {}; my Cup of EggNog $r; say $r.WHAT | ||
camelia | b 922500: OUTPUT«Cup()» | 16:04 | |
[Coke] | b: role Cup[::contents] {} ; class EggNog {}; my Cup of EggNog $r; say $r.WHAT.perl | ||
camelia | b 922500: OUTPUT«Cup[EggNog]» | ||
[Coke] | r: role Cup[::contents] {} ; class EggNog {}; my Cup of EggNog $r; say $r.WHAT.perl | ||
camelia | rakudo de2080: OUTPUT«Cup» | ||
[Coke] | There's a regression. | ||
Is it valid to care? | |||
moritz | I think so, yes | 16:05 | |
jnthn | Yeah, that should be fixed IMO | ||
Hmm | 16:06 | ||
r: role Cup[::contents] {} ; class EggNog {}; my Cup of EggNog $r; say $r.HOW.WHAT | |||
camelia | rakudo de2080: OUTPUT«(Perl6::Metamodel::CurriedRoleHOW)» | ||
dalek | p/jvm-support: 891075b | coke++ | VERSION: bump VERSION to 2013.04 |
16:08 | |
p/jvm-support: cb70dae | jnthn++ | / (3 files): Fix regression introduced while adding JVM backend |
|||
p/jvm-support: e93a51d | jnthn++ | VERSION: Merge branch 'master' into jvm-support |
|||
16:08
kaare__ joined
|
|||
colomon | \o/ | 16:08 | |
16:09
tgt left
16:10
kaare_ left
16:12
kaare_ joined,
tgt joined
16:13
grondilu left
16:14
grondilu joined,
kaare__ left
16:15
wtw joined
|
|||
FROGGS | * jnthn is trying to hunt what exactly about the jvm-support branch busts some Rakudo spectests | 16:17 | |
some?? | |||
so, rakudo is already running? | |||
jnthn | It was a sillly thing | ||
FROGGS: No | |||
FROGGS | ahh, k | ||
jnthn | FROGGS: The various re-orgs of stuff I did of the repo managed to break something. | ||
Just waiting on a clean spectset run then I'll merge. | 16:18 | ||
FROGGS | ahh, so something broke for rakudo@parrot? | ||
jnthn | Right. | ||
[Coke] | aye. | ||
FROGGS | kk | ||
jnthn++ # anyway | |||
jnthn | yeah, this looks better | 16:19 | |
dalek | Heuristic branch merge: pushed 52 commits to nqp by jnthn | ||
kudo/nom: 6297810 | jnthn++ | / (2 files): Bump NQP_REVISION to latest; chase rename. |
16:20 | ||
16:22
lizmat joined
16:25
tgt left
|
|||
dalek | ast: 7928071 | coke++ | integration/advent2009-day18.t: mark regression with an RT |
16:34 | |
16:36
woolfy joined
16:39
kaare_ left
16:42
dmol left
16:45
tgt joined
16:46
frdmn joined
16:48
dmol joined,
kaare_ joined
|
|||
dalek | kudo/nom: 998cc87 | jnthn++ | / (2 files): Toss redundant directory/.gitignore entry. |
16:57 | |
kudo/nom: ed3a33a | jnthn++ | / (105 files): Give all NQP files the .nqp extension. |
|||
kudo/nom: 5e7a2bb | jnthn++ | / (34 files): Move ops/PMCs/C code under src/vm/parrot/. Matches the same kind of structure the NQP repository now has. |
|||
jnthn | walk, dinner & | 17:13 | |
masak | [Coke]: hm, "curried rule"? | 17:14 | |
r: role Cup[::Contents] {}; class Eggnog {}; my Cup[Eggnog] $mug; say $mug.WHAT.perl | 17:15 | ||
camelia | rakudo de2080: OUTPUT«Cup» | ||
masak | seems to be wrong for both 'Cup[Eggnog]' and 'Cup of Eggnog'. | ||
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. | ||
masak | oh! ok. | ||
jnthn | There's an intermediate level between the parametric role group and picking the actual role. | 17:17 | |
really walk :) & | 17:18 | ||
17:21
Bzek joined
17:26
berekuk left
17:27
lizmat left
17:29
berekuk joined
17:35
lizmat joined
17:37
lizmat left,
lizmat joined
17:38
lizmat left,
lizmat joined
17:39
kivutar joined
17:40
spider-mario joined
17:47
jaldhar joined
|
|||
[Coke] | masak: (curried) was in one of the error messages, is all. feel free to change the title. | 17:50 | |
... and I'm caught up. nevermind. ;) | 17:51 | ||
18:00
berekuk left
18:02
berekuk joined
18:05
hlin_ left
18:07
MrMeek joined,
berekuk left
18:08
adu left,
MrMeek-afk left
|
|||
masak | [Coke]: oh, that explains it. | 18:11 | |
18:17
kivutar left
18:23
dukeleto joined
18:26
berekuk joined
18:34
berekuk left
18:44
berekuk joined
|
|||
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' | ||
cognominal: but know that downstream, if they pulled already, will suffer. | |||
18:47
berekuk left
|
|||
cognominal | I know but the mistake is minutes old :) | 18:48 | |
18:49
census left
|
|||
cognominal | masak: will soon be in an appropriate branch github.com/cognominal/nqp/blob/mas...s/bast.pod github.com/cognominal/nqp/blob/mas...T/Bast.nqp :) | 18:50 | |
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,
domidumont left
|
|||
moritz | %h('') := # looks dubious to me | 18:51 | |
%h() is a call | |||
did you mean %h{ '' } := ? | 18:52 | ||
cognominal | oops, that's the one | ||
silly me | |||
18:53
berekuk joined
18:54
census joined
18:55
kivutar joined
|
|||
FROGGS | \o/ time for $hacking \o/ | 19:02 | |
masak | \o/ | ||
jnthn | Sejm here \o/ | 19:05 | |
FROGGS | :o) | ||
19:05
berekuk left
|
|||
census | what about hacking? :) | 19:08 | |
FROGGS++ | |||
FROGGS | need to get `require PATH` done for v5 | 19:09 | |
19:09
rindolf left
|
|||
cognominal | .?hacking: :with<fun> # for those who support that method | 19:10 | |
masak | census: it's le time for it! | ||
colomon | time for $work here, alas. :( | 19:11 | |
\ | |||
19:17
tgt left,
kurahaupo joined,
tgt joined
19:20
frdmn left,
frdmn joined
|
|||
dalek | p: dcf2e2f | jnthn++ | src/vm/parrot/QAST/Operations.nqp: Add an nqp::getenvhash op. |
19:21 | |
p: bfb3669 | jnthn++ | src/vm/parrot/QAST/Operations.nqp: Add nqp:: op for stable_set_type_check_mode. |
|||
FROGGS | ohh, getenvhash, nice | 19:22 | |
19:23
FROGGS_ joined
19:24
mberends joined
19:25
FROGGS left
19:26
berekuk joined
19:33
jaldhar left
19:37
jaldhar joined
|
|||
dalek | kudo/nom: e9e1b5d | jnthn++ | / (5 files): Bump NQP_REVISION; use new nqp:: ops. |
19:38 | |
19:40
xen joined
19:41
xen left,
projektica joined,
rindolf joined
|
|||
nwc10 | jnthn: worked on my machine (nom at origin/master) without that last commit | 19:43 | |
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/ | ||
jnthn | nwc10: perl ConfigureJVM.pl && make test | ||
nwc10: Some mess still for me to clear up there, but overall it works. | 19:45 | ||
19:48
rindolf left,
projektica left
|
|||
nwc10 | OK. I'd guessed that nqp-jvm-prep was probably "history" | 19:49 | |
japhb | jnthn, does this also mean you've merged nqp/jvm-support back to nqp/master? | 19:56 | |
jnthn | japhb: Yes | ||
japhb | \o/ | 19:57 | |
YES! | |||
nwc10 | jnthn: 5 tests fail here: pasta.test-smoke.org/488 | ||
japhb is most happy indeed | |||
jnthn | nwc10: Yes, those are ones we never attempted in nqp-jvm-prep and are in the nqp repo | ||
nwc10: I'll get to them. | |||
nwc10 | OK. Glad to know that they are nothing serious | 19:58 | |
so, yay | |||
time for beer? | |||
jnthn | ;) | ||
jnthn has a whisky barrel aged porter to enjoy this evening :) | 19:59 | ||
census | jnthn++ | ||
nwc10 | jnthn: I infer that nqp.sh is generated | 20:01 | |
it should probably be this: | 20:02 | ||
#!/bin/sh | |||
exec java -cp .:nqp-runtime.jar:3rdparty/asm/asm-4.1.jar nqp "$@" | |||
japhb | cognominal, nice DSL. So you pushed down the waterbed in one place ... where does it spring back up? | ||
nwc10 | the "exec" is micro-optimisation :-) | ||
jnthn | nwc10: The .sh file is a wild untested guess on my part 'cus I'm mostly a Windows guy ;) | ||
nwc10 | I think that it should be "$@", but maybe it's "$*" | 20:03 | |
this is the sort of think^H^Hg that timtoady knows :-) | |||
OK, I tested it :-) | |||
jnthn | nwc10: I mean "pass all the args along that we got to this other process" | ||
nwc10 | and "$@" works with arguments with spaces and " | ||
jnthn | Would quoting not risk passing them as one arg, or does it not work like that? :) | ||
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. | ||
It is mnemonic, not literal. | |||
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 | ||
dalek | p: 05fb4ec | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/ (65 files): Whitespace consistency. |
||
p: 9ab4d07 | jnthn++ | src/vm/jvm/nqp.sh: Improve nqp.sh; nwc10++. |
|||
cognominal | japhb: 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:10 | |
...working on a test file | 20:11 | ||
20:11
Bzek left
|
|||
cognominal | And to be complete, I need to add dump-bast methods to QAST::Nodes | 20:11 | |
20:12
kaare_ left
20:13
frdmn left
|
|||
nwc10 | $ ./nqp.sh -e 'nqp::say("works on my machine")'works on my machine | 20:14 | |
bah. naughty termianl | |||
jnthn wonders if we should just call it "nqp" rather than "nqp.sh" for consistency with how you typically run it today... | |||
nwc10 | possibly. ./nqp was my first assumption for what I should type | 20:17 | |
20:17
berekuk left
|
|||
jnthn | OK, will do it | 20:18 | |
I'm sure if it breaks some terrible cultural norm somebody will tell me ;) | 20:19 | ||
Oh, I missed that you suggested /bin/sh instead of /bin/bash | |||
mst | I dislike having .sh on the name | ||
this is not windows and you are exposing your implementation pointlessly | |||
jnthn | OK, it will be gone shortly ;) | 20:20 | |
20:21
frdmn joined
|
|||
lue | hello world o/ | 20:22 | |
FROGGS_ | hi lue | ||
masak | lue! \o/ | ||
20:24
kivutar left
|
|||
nwc10 | make for JVM slightly faster (wallclock) than make for parrot | 20:30 | |
tests run in 1/3rd of the wallclock time with parrot | |||
seems that the JVM build is often using two processes, as the user CPU is almost double the wallclock time | |||
timinngs suggest that parrot uses only one core | 20:31 | ||
FROGGS_ | huh | ||
will build it too now.. | |||
jnthn | nwc10: I doubt it's the build. | ||
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 | ||
cognominal | Has someone compiled jvm nqp on lion? | ||
spider-mario | (on parrot) | ||
jnthn | nwc10: I suspect it's that the JVM uses a concurrent GC | ||
nwc10 | JVM multithreads by default? eg one for GC, and one for actual work :-) | ||
snamp | |||
jnthn | I don't think JVM will ever win on startup time, that I think we can trim some off the current one. | 20:33 | |
nwc10 | please drink beer *first*, before doing that :-) | 20:34 | |
20:34
berekuk joined
20:36
berekuk left
|
|||
dalek | p: 26720e8 | jnthn++ | / (7 files): Simple make install; nqp.sh => nqp. |
21:00 | |
21:00
SamuraiJack_ left
21:11
kivutar joined
|
|||
lue | jnthn: I'm assuming rakudo can't yet use the shiny new JVM NQP, right? | 21:12 | |
FROGGS_ | not yet, no | 21:13 | |
japhb | Getting close to ready to start that, I bet. | ||
masak | lue: see jnthn's latest blog post. | ||
lue | ooh, didn't know there was a post | 21:14 | |
lue reads | |||
21:19
Chillance joined
21:25
grondilu left
21:32
bruges_ joined
|
|||
dalek | p: bd194cf | jnthn++ | src/vm/jvm/ (2 files): Implement nqp::getenvhash for JVM. |
21:33 | |
p: 14468f9 | jnthn++ | src/vm/jvm/ (2 files): Implement nqp::[get|bind]hllsym for JVM. |
|||
21:48
woolfy left
|
|||
masak | 'night, #perl6 | 21:51 | |
FROGGS_ | night masak | ||
japhb | o/ | ||
dalek | p: fc7cb78 | jnthn++ | tools/build/install-jvm-runner.pl: Add missing chmod. |
21:58 | |
21:58
adu joined
|
|||
dalek | kudo/jvm-support: 51908e9 | jnthn++ | / (4 files): Rename Makefile.in -> Makefile-Parrot.in. |
22:08 | |
kudo/jvm-support: 4e422e9 | jnthn++ | tools/build/ (2 files): Give gen-cat.pl filtering ability, like NQP one. Includes updates to Parrot Makefile to use this updated version. |
|||
kudo/jvm-support: 7e1fcba | jnthn++ | / (4 files): Add bare-bones ConfigureJVM.pl and JVM makefile. At the moment, make just compiles the constant folder, since it has no dependencies and already compiles with NQP JVM. |
|||
22:13
spider-mario left
|
|||
cognominal | 'night, * | 22:34 | |
census | night | 22:35 | |
22:43
kurahaupo left
|
|||
jnthn | 'night, #perl6 | 22:49 | |
adu | gnight jnthn | ||
22:54
kivutar left
23:01
berekuk joined
|
|||
[Coke] | nwc10: nqp's parrot build doesn't use make -j by default. | 23:10 | |
dalek | rl6-roast-data: 7fa5a51 | coke++ | / (4 files): today (automated commit) |
23:11 | |
[Coke] | ooh, exciting jnthn++ commit. | 23:17 | |
23:24
fgomez left
23:28
berekuk left
23:35
PacoAir left
23:42
pupoque left
23:43
mberends left
23:46
tgt left
|