»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by moritz on 25 December 2014. |
|||
00:00
espadrine left
|
|||
dalek | kudo/native-ref: 91a6de6 | jnthn++ | src/vm/moar/Perl6/Ops.nqp: Make unboxing account for native refs. This also improves code size, in turning a two-op sequence into a single op. |
00:03 | |
kudo/native-ref: ecbcb52 | jnthn++ | src/core/ (2 files): Set up $PROCESS::FATAL sooner. Otherwise, if we fail(...) early enough while loading CORE.setting, the dynamic variable $*FATAL is looked up by fail, which isn't found, so it calls fail(...), which looks up $*FATAL, which... |
|||
kudo/native-ref: b541633 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp: Fix native ref interacation of :D in multis. Native refs always point to a concrete value, since natives can't be undefined. |
00:05 | ||
kudo/native-ref: 69ea078 | jnthn++ | src/core/Range.pm: Fix some num/int sloppy in Range hot-path. |
|||
TimToady | looks like that beer helped | 00:06 | |
jnthn | ooh, damn, I forgot to grab one! | ||
japhb | The mere *thought* of beer kickstarted him | ||
jnthn | This works for horrible reasons, but... | 00:07 | |
> my int $a = 0; $a++; say $a; | |||
1 | |||
japhb | \o/ | ||
raiph | :) | ||
TimToady | it's going through 5000 meta-levels on each ++? | ||
jnthn | Not quite that bad | ||
00:08
avuserow_ left
|
|||
jnthn | There's no "is rw" on natives yet, so I can't write the int candidate. So for now it falls back to the Int candidate, which in accessing the native ref leads to the value being boxed, and then we add 1, creating another boxed Int, and then we store it back through the native ref, causing an unboxing. | 00:09 | |
TimToady | er...progress... | ||
and clever sad-path code :) | |||
jnthn | Well, I figured if we're not going to make native and non-native code mix horribly, we have to be somewhat smart on the sad path. | 00:10 | |
jnthn passes all the sanity tests | |||
Got one more unpushed patch which does the switch | |||
spectest looks less than good, though I kinda expected that. | 00:11 | ||
raydiak | nice jnthn++ | 00:15 | |
raydiak has never had his sanity formally tested and would prefer to keep it that way | |||
TimToady | m: sub foo(int:U $x) { $x }; foo(Int) | 00:17 | |
camelia | rakudo-moar f53a94: OUTPUT«(signal SEGV)» | ||
TimToady | kewl! | ||
m: rand(42) | 00:18 | ||
camelia | rakudo-moar f53a94: OUTPUT«===SORRY!=== Error while compiling /tmp/Ep063anGcNUnsupported use of rand(N); in Perl 6 please use N.rand for Num or (^N).pick for Int resultat /tmp/Ep063anGcN:1------> rand⏏(42)» | ||
TimToady wonders if it's worth trying to s/N/42/ there... | |||
dalek | kudo/native-ref: 098ed27 | jnthn++ | src/Perl6/ (2 files): Code-gen native lexical/attr access as ref-taking. This makes a number of things work that never have before (of note, ++ on a native variable). However, various things need updating to know about native refs (so there are quite some spectest regressions), and the many, many possible code-gen optimizations are not yet in place, let alone any of the cleverer VM-level ones. |
||
jnthn | Well, that's at least the end of the beginning... :) | ||
TimToady | exposition -> development -> recapitulation | 00:19 | |
jnthn | Ugh, get the SEGV in my branch too | ||
00:19
avuserow_ joined
|
|||
TimToady | m: sub foo(int:U $x) { $x }; | 00:20 | |
camelia | ( no output ) | ||
TimToady | m: sub foo(int:U $x) { $x }; foo(1) | 00:21 | |
camelia | ( no output ) | ||
jnthn | m: sub foo(int $x) { $x }; foo(Int) | ||
camelia | rakudo-moar f53a94: OUTPUT«(signal SEGV)» | ||
masak | TimToady: re worth replacing: probably not. or are you planning to do it for literal things only? it feels like the risk of something needing parens would be nontrivial... | ||
jnthn wonders what's to blame... | |||
m: my int $x = Int; | |||
camelia | rakudo-moar f53a94: OUTPUT«Cannot unbox a type object in block <unit> at /tmp/ILlhXl0Hz5:1» | ||
00:21
skids joined
|
|||
TimToady | masak: I'd probably do it for only digits or a simple var, but it's marginal | 00:22 | |
and probably not worth the bloat | |||
masak | agreed. | 00:23 | |
it's pretty clear as it is. | |||
I wonder if there isn't an "uncanny valley" effect there as well. | 00:24 | ||
like, if you make the error messages *too* helpful, they will come off as not being helpful enough somehow. | |||
TimToady | "Here, this code's wrong, let me refactor it for you..." | ||
jnthn | TimToady: Fixed the SEGV; thanks. | 00:25 | |
Though should really give it a spectest, except it's fixed in a branch, so... :) | |||
TimToady | m: say 0777; | 00:26 | |
camelia | rakudo-moar f53a94: OUTPUT«Potential difficulties: Leading 0 does not indicate octal in Perl 6; please use 0o777 if you mean that at /tmp/svaR6uJL1R:1 ------> say 0777⏏;777» | ||
jnthn pokes masakbot to submit an RT :P | |||
TimToady | there's a place we do the rewrite | ||
masak bot submits an RT | 00:28 | ||
raydiak saw an idea once where someone wanted to be able to answer "Did you mean ..." with "y" and have the source file modified and the updated version executed | 00:29 | ||
masak | m: class A { method foo(int $x) { $x } }; A.new.foo(Int) | 00:30 | |
camelia | rakudo-moar f53a94: OUTPUT«(signal SEGV)» | ||
00:31
coffee` left
|
|||
masak | m: sub foo(int $x) { say "haha!" }; foo(Int) | 00:31 | |
camelia | rakudo-moar f53a94: OUTPUT«(signal SEGV)» | ||
masak | m: my int $x = Int; say "alive" | ||
camelia | rakudo-moar f53a94: OUTPUT«Cannot unbox a type object in block <unit> at /tmp/NEZ6_sYpTa:1» | ||
jnthn | masak: That's what it reports locally now I've fixed it. | 00:32 | |
(Instead of the SEGVs) | |||
masak | jnthn: rt.perl.org/Ticket/Display.html?id=123789 | 00:35 | |
b2gills | radiak: that would be great in an IDE when you try to run the code | 00:38 | |
jnthn | masak++ | 00:39 | |
raydiak | b2gills: yeah it was certainly an interesting idea if nothing else...probably not for core, but I hadn't thought about trying to do it in an IDE | 00:43 | |
b2gills | If an IDE could hook into the parser it would be awesome ( imagine how much better the highlighter will be ) | 00:45 | |
TimToady | would currently need to have some incremental abilities to avoid being too slow | 00:46 | |
00:50
vendethiel left
01:05
yeahnoob joined,
wicope left
01:08
vendethiel joined
|
|||
dj_goku | avuserow_: thanks (enum example) | 01:11 | |
01:21
adu left,
locsmif left
01:28
BenGoldberg joined
01:30
adu joined,
dayangkun joined
01:31
vendethiel left
|
|||
jnthn | Sleep time; 'night o/ | 01:33 | |
masak | 'night, jnthn | ||
dream of RT tickets magically resolving themselves while you sleep ;) | 01:34 | ||
01:51
telex left
|
|||
masak | 'night, #perl6 | 01:52 | |
01:52
telex joined
|
|||
hahainternet | nn masak | 02:01 | |
02:06
vendethiel joined
02:10
raiph left
02:13
Pleiades` joined
02:16
Mouq left
02:20
dduncan joined,
dduncan left
02:25
dduncan joined,
dduncan left
02:29
_dolmen_ joined
02:33
yeahnoob left
|
|||
TimToady | rosettacode.org/wiki/Textonyms#Perl_6 <-- .trans is still pretty darn slow | 02:34 | |
02:36
yeahnoob joined
02:39
vendethiel left
02:49
dduncan joined
02:50
ninjazach joined
02:58
vendethiel joined,
hagiri joined
02:59
BenGoldberg left,
BenGoldberg joined
03:02
BenGoldberg left,
BenGoldberg joined
03:07
colomon left
03:11
noganex_ joined
03:14
noganex left
03:15
colomon joined
03:18
Patterner joined,
colomon_ joined
03:19
vendethiel left
03:20
colomon left,
colomon_ is now known as colomon
03:21
vendethiel joined
03:22
Psyche^ left
03:23
_dolmen_ left
03:29
zmisc joined,
zmisc is now known as Guest69141
03:32
ninjazach left,
Nashukray joined
03:35
Guest69141 left
03:36
_dolmen_ joined
03:41
dduncan left
03:42
vendethiel left
03:47
cibs left
03:48
colomon left
|
|||
hoelzro | [Coke]: what do you mean? | 03:48 | |
03:49
colomon joined
03:55
Mouq joined
03:56
adu left
03:59
Mouq left
04:00
Mouq joined,
nyuszika7h left
04:01
nyuszika7h_ joined
04:06
yeahnoob left
04:08
dduncan joined,
cibs joined,
Nashukray left,
dduncan left
04:13
molaf_ left
04:20
vendethiel joined,
kurahaupo1 joined
04:35
yeahnoob joined,
BenGoldberg left,
BenGoldberg joined
04:41
kurahaupo1 left,
camelia left,
Bucciarati left
04:42
Bucciarati joined,
camelia joined,
vendethiel left
04:44
ChanServ sets mode: +v camelia
04:46
kurahaupo1 joined
04:51
BenGoldberg left,
BenGoldberg joined
04:52
BenGoldberg left,
BenGoldberg joined
04:53
hagiri left
05:11
vendethiel joined
05:22
BenGoldberg left
05:28
khisanth_ joined
05:30
Khisanth left
05:31
mr-foobar left
05:33
vendethiel left
05:40
vendethiel joined
06:01
vendethiel left
06:14
alini joined
06:15
bjz joined
06:17
vendethiel joined
06:20
bjz left
06:23
nyuszika7h_ is now known as nyuszika7h
06:35
xfix joined,
mr-foobar joined
06:39
vendethiel left
06:41
salva left
06:43
vendethiel joined
06:44
rindolf joined
06:45
bjz joined
06:49
_dolmen_ left
06:51
skids left
06:54
FROGGS_ left
06:59
nyuszika7h left
07:01
nyuszika7h joined
07:04
mr-foobar left
07:06
vendethiel left
07:09
diana_olhovik joined
07:12
vendethiel joined
07:20
rindolf left,
rindolf joined
07:29
Rounin joined
07:31
espadrine joined
07:32
darutoko joined,
gfldex joined
07:35
wicope joined
07:36
vendethiel left
07:38
kaare_ left
07:39
kaare__ joined
07:42
brrt joined
07:47
vendethiel joined
07:51
coffee` joined
07:52
alini left
07:54
FROGGS joined,
colomon left
07:58
rindolf left
|
|||
FROGGS | "so it calls fail(...), which looks up $*FATAL, which..." :D | 08:00 | |
FROGGS hears TimToady saying "you can say that again" in his head | 08:01 | ||
08:01
_mg_ joined
08:05
prime- left
08:07
pmurias joined
|
|||
pmurias | [Coke]: yes, do you get any failures? | 08:07 | |
moritz | \o | 08:08 | |
08:09
prime joined
08:11
vendethiel left
08:12
gfldex left
08:15
MadcapJake left
|
|||
ven | o/, #perl6 | 08:16 | |
08:18
Mr0rris0 joined
|
|||
brrt | \o ven, #perl6 | 08:21 | |
08:25
_mg_ left
08:30
vendethiel joined
08:31
salv0 joined
08:32
brrt left
08:33
zakharyas joined
08:36
kaleem joined
08:37
colomon joined
08:51
vendethiel left
08:53
alini joined
09:13
kaleem left
|
|||
jnthn | morning o/ | 09:14 | |
FROGGS | morning jnthn | 09:15 | |
09:15
kaleem joined
09:21
dakkar joined
09:28
espadrine left
09:29
Ugator joined
09:32
salv0 left
09:35
vendethiel joined
|
|||
lizmat | .botsnack | 09:35 | |
hmmm.... | 09:36 | ||
timotimo: if you feel like doing next week's P6 Weekly again, that's fine by me | |||
geekosaur | yoleaux lived, once... | ||
jnthn | We be botless | ||
o/ lizmat | |||
09:36
andreoss joined
|
|||
lizmat hopes timotimo will read this in backlog | 09:36 | ||
jnthn /o | |||
jnthn | Hope you're feeling at least somewhat better | 09:37 | |
lizmat | a bit, but not much :-( | ||
jnthn | Urgh | ||
lizmat | splitting headache | ||
jnthn | :( | ||
lizmat | I fell I can't be trusted with MoarVM internals atm, so lstat and friends are out of the question for now | 09:38 | |
*feel | |||
*sigh* | |||
09:38
dayangkun left,
Kristien joined
|
|||
Kristien | hi | 09:39 | |
ven | o/ | ||
jnthn | lizmat: Well, you can always ask for review etc. before committing. I'll be about most of the day doing 6-y stuffs... | ||
But yeah, I tend not to write C with a headache either... :) | 09:40 | ||
o/ Kristien | |||
ven | .oO( declarative is about being a second-class citizen ) |
09:41 | |
09:42
Kristien left
09:43
yeahnoob left
09:46
slavik left
09:51
salv0 joined
09:53
fhelmberger joined
09:56
telex left,
andreoss left
09:58
telex joined,
espadrine joined,
Guest45 joined
09:59
vendethiel left
|
|||
dalek | p/native-ref: c6ce3d9 | jnthn++ | src/vm/moar/QAST/QASTCompilerMAST.nqp: Elide reference taking when we want a native. This eliminates a huge number of the unrequired reference-takes. |
10:00 | |
Humbedooh negotiates with yoleaux's captors... | |||
10:00
slavik joined
|
|||
dalek | kudo/native-ref: 4202b86 | jnthn++ | src/core/Range.pm: Revert "Fix some num/int sloppy in Range hot-path" Code-gen improvements mean we can get away with this again. |
10:03 | |
lizmat | jnthn: I added .close on the Supply | 10:07 | |
that is probably wrong, reading your explanation yesterday | 10:08 | ||
I intended it to be a quick way of closing all the taps | |||
on a supply | |||
jnthn | lizmat: Ah, OK. Did you have a use-case in mind? | ||
lizmat: It feels scarily action-at-distance to me, is all. | 10:09 | ||
lizmat | well, yes... not sure what I had in mind at the time | ||
I guess it should at least be called something like "close-all-taps' | |||
if we want to keep it | 10:10 | ||
jnthn | Well, thinking about how I'd do it in Rx... | ||
It's not unreasonable to have many taps share a common source, and to want to have an on/off switch at *that* point | |||
They have a mechanism called a connectable observable. If we followed the API (not advocating the names), then it's something like: | 10:11 | ||
my $sharer = $some-underlying-supply.publish(); | |||
...many things tap $sharer | |||
10:11
_mg_ joined
10:12
Guest45 left
|
|||
jnthn | (Perhaps indirectly, etc. $sharer.grep(...).tap(...) etc.) | 10:12 | |
Then $sharer.connect(); # actually taps the underlying supply | |||
$sharer.disconnect(); # closes the underlying tap | |||
That allows it through a useful mechanism (a distribution point). | 10:13 | ||
JimmyZ | m: my Int $i = 1; ++$i # it's not a bug? | ||
camelia | ( no output ) | ||
jnthn | JimmyZ: What's a bug? | ||
JimmyZ | m: my Int $i = 1; ++++$i # it's not a bug? | ||
camelia | rakudo-moar f53a94: OUTPUT«Cannot assign to an immutable value in sub prefix:<++> at src/gen/m-CORE.setting:5522 in block <unit> at /tmp/s2OXZ8pYtJ:1» | ||
jnthn | JimmyZ: Uh, what do you think might be a bug, I meant? :) | ||
std: my Int $i = 1; ++++$i | 10:14 | ||
camelia | std f9b7f55: OUTPUT«ok 00:00 136m» | ||
jnthn | Hm, doesn't fall under the "won't parse that" rules :) | ||
JimmyZ: Well, ++ at the moment returns the value, not the container with the thing that got ++'d. | |||
JimmyZ | /MoarVM/install/bin/perl6 -e 'my int $i =0; say ++++$i' | ||
2 | |||
/MoarVM/install/bin/perl6 -e 'my int $i =0; say +++++$i' | 10:15 | ||
Cannot assign to an immutable value | |||
jnthn | I wouldn't read much into that. | ||
JimmyZ | native-ref branch | ||
jnthn | Yes | ||
That branch is getting return value decontainerization REALLY wrong for native refs at the moment. | |||
JimmyZ | I thought 2 is right anser | 10:17 | |
10:17
Vlavv_ left
|
|||
jnthn | Well, if we want it to be, we can have it that way | 10:18 | |
But the inconsistency is 'cus the native-ref stuff is still a work in progress | |||
As you'll no doubt have noticed if you've tried spectesting it :) | |||
[ptc] | m: say "θ".ord() | 10:19 | |
camelia | rakudo-moar f53a94: OUTPUT«952» | ||
JimmyZ | yeah, I just don't know which answer is right | ||
jnthn | Well, in terms of "doing what the code says", the exception is correct | 10:22 | |
lizmat defers reading more backlog | 10:23 | ||
( raydiak++ masak++ for nudge ) | |||
& | |||
10:24
yoleaux joined,
ChanServ sets mode: +v yoleaux
|
|||
Humbedooh | it returneth <3 | 10:26 | |
10:28
Phagus joined,
pecastro joined
10:30
Vlavv_ joined
|
|||
yoleaux | Humbedooh: phew, your negotiations saved me! thanks! | 10:32 | |
jnthn | Humbedooh++ # thanks | 10:33 | |
Humbedooh | \o/ | ||
10:34
Phagus left
|
|||
FROGGS | .botsnack | 10:34 | |
yoleaux | :D | ||
FROGGS | 'love it | ||
masak | good antenoon, #perl6 | 10:41 | |
jnthn | Barely... :P | 10:42 | |
10:42
abraxxa joined,
_mg_ left
10:43
ceronman joined,
Kristien joined
10:46
Guest45 joined
10:49
ceronman left
|
|||
[ptc] | m: sprintf("%x", 'θ'.ord() ) | 10:50 | |
camelia | ( no output ) | ||
[ptc] | m: say sprintf("%x", 'θ'.ord() ) | ||
camelia | rakudo-moar f53a94: OUTPUT«3b8» | ||
FROGGS | m: say 'θ'.fmt('%#x') | 10:51 | |
camelia | rakudo-moar f53a94: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏θ' (indicated by ⏏) in method Int at src/gen/m-CORE.setting:14615 in method Int at src/gen/m-CORE.setting:6785» | ||
FROGGS | m: say 'θ'.ord.fmt('%#x') | ||
camelia | rakudo-moar f53a94: OUTPUT«0x3b8» | ||
Kristien | Speaking of FROGGS, I'm hungry. I should go catch a frog. | 10:52 | |
FROGGS | ewww | ||
masak | I knew having the French on this channel was a bad idea. | ||
:P | |||
FROGGS | Kristien: I thought you are from .nl? | ||
Kristien | I am. | ||
masak | oh, that qualifies too. | ||
FROGGS | does it :S | ||
Kristien | I want to hunt some day. I have never eaten a frog before. | 10:53 | |
FROGGS | me neither | ||
I almost got frog legs last year in Lyon, but since I had muscles the day before I ordered something more usual | 10:54 | ||
Kristien | I hope my Perl book arrives today. :< | ||
FROGGS | I put this on my wishlist yesterday: www.vintage-basic.net/games.html | ||
masak | Kristien: which Perl book is that? | ||
DrForr_ | The mussels were excellent at Sunday's dinner. | ||
masak | FROGGS: the paper book? it's great. | ||
Kristien | Modern Perl | ||
FROGGS | and I want to port all code snippets from that web site over to Perl 6 :/ | 10:55 | |
masak | Kristien: oh, chromatic's? yes, it's very nice. | ||
FROGGS | though time... | ||
masak | Kristien: but if you want to read it now, it can be downloaded for free online as a PDF. | ||
10:55
vendethiel joined
|
|||
FROGGS | masak: aye, and the 'More Basic Computer Games' | 10:55 | |
DrForr_ | Kristien: It's also available online, though thanks for buying the paper version. | ||
Kristien | I know, I have the PDF but I prefer paper. | ||
FROGGS | me too | ||
masak | I'm sort of halfway at this point. | 10:56 | |
FROGGS | I don't like to read book-ish things on my laptop or on a pad | ||
DrForr_ | FROGGS: EGADS. I still have my original copy in storage. | ||
Kristien | I actually started learning Perl by reading the first chapter. | ||
masak | I have some use cases for paper and a few use cases for Kindle/iPad. | ||
FROGGS | DrForr_: EGADS? | ||
[ptc] | it would be nice to have something like "θ".hex() which then returns the hex value of the character, much like .ord() returns the codepoint number | 10:57 | |
DrForr_ | Just hadn't even thought of that book for a long time. | ||
[ptc] | this would save people having to pipe the output of .ord() through sprintf to find out the hex value (which would then be used to construct the char in e.g. vim) | ||
FROGGS | ahh "EGADS" | ||
[ptc] | how hard would it be to implement that? Should I give it a go and submit a PR? | 10:58 | |
moritz | [ptc]: the problem is finding a good, unambiguous name | ||
Kristien | m: say 1>>.perl | ||
camelia | rakudo-moar f53a94: OUTPUT«1» | ||
[ptc] | or is there something I've missed, which would be much easier? | ||
10:58
Ugator left
|
|||
moritz | [ptc]: for example .hex doesn't sound like the character code is involved | 10:58 | |
DrForr_ | I also met the author shortly thereafter when he was at a computer club in Lincoln. | ||
moritz | at least to me | ||
Kristien | m: sub p($x) { $x.perl.say }; p 'just like Ruby!' | 10:59 | |
camelia | rakudo-moar f53a94: OUTPUT«"just like Ruby!"» | ||
moritz | m: say 'thingy'.encode | ||
camelia | rakudo-moar f53a94: OUTPUT«utf8:0x<74 68 69 6e 67 79>» | ||
[ptc] | moritz: true, but then .ord didn't say much to me either | ||
moritz | [ptc]: yes, that's a weird one, mostly historic | ||
[ptc] | moritz: the docs were saying: returns Unicode codepoint, so I used what was returned and couldn't reproduce the char in vim | ||
dalek | Heuristic branch merge: pushed 54 commits to rakudo/native-ref by jnthn | ||
Kristien | what's the data type of a codepoint? | ||
moritz | Kristien: Int | 11:00 | |
Kristien | Rust uses a specific codepoint type which can't represent invalid codepoints. | ||
[ptc] | moritz: then spent a while being confused and worked out I should have used hex, which led me to the sprintf solution | ||
Mouq | m: say 'θ'.ord.base(16) | ||
camelia | rakudo-moar f53a94: OUTPUT«3B8» | ||
jnthn | (Merge about is just getting latest nom commits, so I can see in spectest what I've actually broken, fwiw.) | ||
*above | |||
[ptc] | Mouq: ah, that's a simpler solution! | ||
do we have a document explaining how to type in Unicode into various editors? | 11:01 | ||
moritz | [ptc]: but maybe the real solution would be to have a .charinfo or so which returns an object that has things like Unicode codepoint notation (U+1234), character classes it belongs to, classification etc. | ||
[ptc]: (various editors) no, but it would be nice to have that | |||
[ptc] | moritz: yes, something like .charinfo sounds like a good, more general, idea | ||
Kristien | useful for APL slang! | 11:02 | |
11:03
Kristien left
|
|||
[ptc] | moritz: (various editors) I'll try and put something together. Is there a preferred location for something like that? Under lib/Language? | 11:03 | |
11:05
Mouq left
|
|||
ven | masak: hey, hey, stop with that already :P. I don't know anyone who has eaten frog. | 11:08 | |
ven remembers talking with FROGGS++ about that at apw14 | |||
masak: I consider reading on comp to be horrible. Reading on phone to be headeach-y, but still a bit better. But a good book is the best, though, eh, it weighs a lot | 11:09 | ||
jnthn | m: (1 .. (10**1000) ).pick(50); say now - INIT now | 11:11 | |
camelia | rakudo-moar f53a94: OUTPUT«0.1622190» | ||
jnthn | Bah, seems I've broken something such that it tries to actually reify that list... | 11:14 | |
11:20
vendethiel left
11:23
vendethiel joined
11:24
Kristien joined
|
|||
masak | ven: I had frog back in September in .cn -- so now you know someone ;) | 11:24 | |
11:24
Kristien left
|
|||
masak | ven: but yeah, stereotypes are boring and limiting. sorry about that. | 11:24 | |
jnthn has seen a LOT more frog eating in .cn than .fr | 11:25 | ||
masak | ven: I used to be all dead trees too. I'm slowly coming around. | ||
11:26
ilbot3 left
|
|||
jnthn | otoh, they seem to eat anything that moves (well, used to :P) in China... :) | 11:26 | |
masak | they consider it a challenge. "let's see if the right seasoning makes this edible!" | 11:27 | |
pmurias | masak: are frogs tasty? | ||
masak | pmurias: tastes like chicken. | ||
jnthn | Bah. Apparently 150 is larger than 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | ||
masak | jnthn: ...no. | 11:28 | |
jnthn | Yeah, that's what I thought too. | ||
11:28
ilbot3 joined
|
|||
masak | I can tell at a glance that you're mistaken. | 11:28 | |
jnthn | Guess I better go debugging again :) | ||
11:31
rindolf joined
|
|||
[ptc] | 'I.... see?' ~~ / \w+ <punctuation=-[\w\s]> \s* $<final-word> = [ \w+ . ] /; say $/<punctuation>; | 11:34 | |
m: 'I.... see?' ~~ / \w+ <punctuation=-[\w\s]> \s* $<final-word> = [ \w+ . ] /; say $/<punctuation>; | |||
camelia | rakudo-moar f53a94: OUTPUT«Nil» | ||
[ptc] | hrm, that's supposed to say '....', what am I doing wrong? | ||
FROGGS | m: 'I.... see?' ~~ / \w+ <punctuation=-[\w\s]> \s* $<final-word> = [ \w+ . ] /; say $/; | 11:37 | |
camelia | rakudo-moar f53a94: OUTPUT«Nil» | ||
FROGGS | [ptc]: only if it matches at all | ||
[ptc] | FROGGS: that's an example in the docs, which is supposed to print '....'. | 11:38 | |
FROGGS | m: 'I.... see?' ~~ / \w+ $<punctuation>=[ <-[\w\s]>+ ] \s* $<final-word> = [ \w+ . ] /; say $/; | ||
camelia | rakudo-moar f53a94: OUTPUT«「I.... see?」 punctuation => 「....」 final-word => 「see?」» | ||
ven | masak: I used to be *no dead trees*. mostly because I couldn't afford (programming) books, though | ||
[ptc] | FROGGS: unfortunately, I don't see how to fix it | ||
FROGGS | m: 'I.... see?' ~~ / \w+ $<punctuation>=[ <-[\w\s]>+ ] \s* $<final-word> = [ \w+ . ] /; say $<punctuation>; | ||
camelia | rakudo-moar f53a94: OUTPUT«「....」» | ||
[ptc] | FROGGS: ah, so the $ and trailing > before the = were missing? | 11:39 | |
ven | masak: but my eyes are pretty unhappy with how I treat them, it seems | ||
(also, I meant french people having eaten frog.) | |||
FROGGS | [ptc]: that was the missing but important bit: <-[\w\s]>+ | 11:40 | |
[ptc]: you just matched one "." | |||
m: 'I.... see?' ~~ / \w+ <punctuation=-[\w\s]> /; say $/; # see? | |||
camelia | rakudo-moar f53a94: OUTPUT«「I.」 punctuation => 「.」» | ||
[ptc] | FROGGS: thanks for the explanation :-) That was hard to parse in my head... | 11:41 | |
moritz | [ptc]: re preferred location, dunno. Your guess is as good as mine :-) | ||
FROGGS | yeah, I trip over that too... it helps to remove rules from the end of your pattern to see how far it gets | 11:42 | |
[ptc] | moritz: ok :-) | 11:43 | |
ok, docs updated. Commit forthcoming. Thanks for the help :-) | 11:44 | ||
dalek | c: b25fb13 | paultcochrane++ | lib/Language/traps.pod: Wrap long =items to improve readability |
11:53 | |
c: 2ffcba1 | paultcochrane++ | lib/Language/variables.pod: Correct variable type in sigilless variables example The variables degrees and θ are actually C<Num>s, not C<Int>s. |
|||
c: b5b80b1 | paultcochrane++ | lib/Language/variables.pod: Correct variable name in ^ twigil example |
|||
c: fa6cd6e | paultcochrane++ | lib/Language/variables.pod: Correct regex in C<$/> example Thanks to FROGGS++ for helping to correct the regex. |
|||
c: 72d0197 | paultcochrane++ | lib/Language/variables.pod: Update output in all named attributes example |
|||
c: 7e7f167 | paultcochrane++ | lib/Language/variables.pod: Correct minor typos etc in variables.pod |
|||
c: fa2e20b | paultcochrane++ | lib/Language/variables.pod: Wrap paragraphs consistently in variables.pod |
|||
12:03
kaare__ is now known as kaare_
12:07
Kristien joined
12:14
perl6beginner joined
|
|||
perl6beginner | hi | 12:14 | |
tadzik | hello perl6beginner :) | ||
perl6beginner | :) | ||
how do i subtract two DateTime objects in Perl 6? :) | |||
Kristien | that makes no sense | 12:15 | |
perl6beginner | to calculate the duration between the two that is | ||
Kristien | you can't | ||
you need timezone information to do that | |||
perl6beginner | i have timestamp1 and timestamp2 in the same timezone | 12:16 | |
tadzik | well, what if you assume both are in the same | ||
that sounds like a valid usecase to me | |||
perl6beginner | it is valid since im parsing a log file | ||
and want to calculate the duration | |||
Kristien | use instants when you want instants | ||
tadzik | m: now.perl.say | ||
camelia | rakudo-moar f53a94: OUTPUT«Instant.new(<2683593538499/1885>)» | ||
perl6beginner | metacpan.org/pod/DateTime#dt-subtr...e-datetime # like | ||
tadzik | m: DateTime.new.Instant.perl.say | 12:17 | |
camelia | rakudo-moar f53a94: OUTPUT«Must provide arguments to DateTime.new() in method <anon> at src/gen/m-CORE.setting:14623 in any find_method_fallback at src/gen/m-Metamodel.nqp:2823 in any find_method at src/gen/m-Metamodel.nqp:1001 in block <unit> at /tmp/hM0bsZi0se:1» | ||
tadzik | pff | ||
m: DateTime.new(now).Instant.perl.say | |||
camelia | rakudo-moar f53a94: OUTPUT«Instant.new(<1134654685586/797>)» | ||
moritz | m: DateTime.now.Instant.perl.say | ||
camelia | rakudo-moar f53a94: OUTPUT«Instant.new(1423657074.0)» | ||
Kristien | converting an instant into a datetime makes no sense | ||
without a timezone | |||
implicity dependency on the system timezone is a recipe for broken APIs | 12:18 | ||
jnthn | This is converting a DateTime into an Instant, though. :) | 12:19 | |
Kristien | same thing unless datetime contains timezone | ||
jnthn | It does. | ||
perl6beginner | i have a log file that contains the following: 2015-01-28 11:18:24,412 Operation started <newline> 2015-01-28 11:18:25,039 Operation ended <newline> | ||
Kristien | those are really representations of instants and you should convert them to instants as soon as you read them | 12:20 | |
perl6beginner | i thought date time math was easier in Perl 6 | ||
Kristien | log events happened at a point in time and you want to get that point back | ||
perl6beginner | also how do i access DateTime documentation on doc.perl6.org ? | 12:22 | |
jnthn | perl6beginner: Once you have the DateTime objects, do $dt1.Instant - $dt2.Instant | ||
Kristien | ewww | ||
jnthn | You'll get back a Duration | ||
Kristien | time to port nodatime to Perl 6 | ||
perl6beginner | r: DateTime.new(now).Instant - DateTime.new(now).Instant | ||
camelia | ( no output ) | ||
perl6beginner | r: say DateTime.new(now).Instant - DateTime.new(now).Instant | ||
camelia | rakudo-moar f53a94: OUTPUT«-0.0142907» | ||
..rakudo-parrot f53a94: OUTPUT«-0.03138785» | |||
12:22
Kristien left
|
|||
perl6beginner | cool | 12:23 | |
thx :) | |||
jnthn++ | |||
tadzik++ | |||
now about the documentation of DateTime, where can i access it online? I cannot seem to find it in doc.perl6.org or p6doc | 12:24 | ||
12:24
Kristien joined
|
|||
dalek | c: b2a3958 | jnthn++ | WANTED: Note Date/DateTime docs are todo |
12:26 | |
jnthn | perl6beginner: It looks like Instant/Duration are documented, but DateTime/Date are still todo. I put them on the WANTED list so we don't forget that. | 12:27 | |
moritz | perl6beginner: design.perl6.org/S32/Temporal.html | ||
jnthn | Ah, and yeah, that's dthe design doc. :) | ||
moritz | jnthn: doc.perl6.org/type/Date that one is documented | ||
jnthn | moritz: Oh... | 12:28 | |
moritz | just not DateTime | ||
jnthn | Why'd I not find that in the search... | ||
Oh, it's there | |||
fail | |||
Kristien | m: say Time | ||
camelia | rakudo-moar f53a94: OUTPUT«===SORRY!=== Error while compiling /tmp/wudwRsNtJxUndeclared name: Time used at line 1» | ||
dalek | c: ef25a73 | jnthn++ | WANTED: We have Date, it's only DateTime/Datish missing. moritz++ for correcting. |
12:29 | |
jnthn | m: my Int $x; say $x | ||
camelia | rakudo-moar f53a94: OUTPUT«(Int)» | ||
jnthn | m: my Int ($x); say $x | ||
camelia | rakudo-moar f53a94: OUTPUT«(Int)» | ||
jnthn | m: my Int ($x, $y); say $x | ||
camelia | rakudo-moar f53a94: OUTPUT«(Int)» | ||
jnthn | m: my int ($x, $y); $x = 42 | 12:30 | |
camelia | ( no output ) | ||
jnthn | m: my int ($x, $y); EVAL ''; say nqp::getlexprimspec('$x') | ||
camelia | rakudo-moar f53a94: OUTPUT«===SORRY!===No registered operation handler for 'getlexprimspec'» | ||
jnthn | m: my int ($x, $y); EVAL ''; say nqp::lexprimspec('$x') | ||
Kristien | i typed "/my perl" instead of "/join #perl" :( | ||
camelia | rakudo-moar f53a94: OUTPUT«===SORRY!===Arg count 1 doesn't equal required operand count 3 for op 'lexprimspec'» | ||
jnthn | m: my int ($x, $y); EVAL ''; say nqp::lexprimspec(nqp::ctx(), '$x') | ||
camelia | rakudo-moar f53a94: OUTPUT«0» | ||
jnthn | m: my int $x; EVAL ''; say nqp::lexprimspec(nqp::ctx(), '$x') | ||
camelia | rakudo-moar f53a94: OUTPUT«1» | ||
jnthn | Aha. | ||
12:31
vendethiel left
|
|||
perl6beginner | cool thx | 12:31 | |
jnthn | lunch & | 12:32 | |
12:32
Kristien left
|
|||
tadzik | oh, it's Design now :) | 12:32 | |
12:41
vendethiel joined
12:42
Guest45 left
12:49
Mouq joined
12:50
bjz left
12:54
Mouq left,
rindolf left
12:59
perl6beginner left
|
|||
hoelzro | o/ #perl6 | 13:03 | |
masak | \o | 13:13 | |
jnthn | hoelzro/ | 13:18 | |
timotimo | o/ | 13:19 | |
yoleaux | 10 Feb 2015 04:02Z <raiph> timotimo: nbviewer.ipython.org/github/zmughal...demo.ipynb | ||
13:21
bjz joined
|
|||
dalek | kudo/native-ref: ed66bc5 | jnthn++ | src/Perl6/World.nqp: Fix my int ($a, $b). It's never really worked, though it did compile to something valid-ish before native-ref. Now it declares both as natives, as it should. |
13:22 | |
13:23
MadcapJake joined
13:24
vendethiel left
13:28
vendethiel joined
|
|||
hoelzro | pmurias: do you have any thoughts on how to implment curlexpad? | 13:32 | |
timotimo | FRo/GGS | ||
[Coke] | pmurias, hoelzro: yes, I got a bunch of failures running 'make js-test' | 13:39 | |
hoelzro | [Coke]: ah ha...yeah, that should be clean. | 13:40 | |
[Coke]: which tests? | |||
interestingly enough, for me, 14-while.t fails, *unless* I run it standalone | 13:42 | ||
colomon | m: say “110”.Int | 13:44 | |
camelia | rakudo-moar f53a94: OUTPUT«===SORRY!=== Error while compiling /tmp/cMl2ElW3SDUnsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argumentat /tmp/cMl2ElW3SD:1------> say ⏏“110”.Int[0…» | ||
colomon | m: say “110”.Real | ||
camelia | rakudo-moar f53a94: OUTPUT«===SORRY!=== Error while compiling /tmp/UCOBCmOaKfUnsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argumentat /tmp/UCOBCmOaKf:1------> say ⏏“110”.Real[…» | ||
[Coke] | hoelzro, pmurias : gist.github.com/coke/256bbd3ba079633a3845 | 13:45 | |
colomon | dang thing | ||
hoelzro | eesh | ||
[Coke]: what's your HEAD? | |||
13:46
muraiki_ joined
|
|||
[Coke] | hoelzro: 2a199d1 | 13:46 | |
using the 'js' branch of nqp | |||
hoelzro | hmm | ||
[Coke] | used this config line: | ||
perl Configure.pl --backends=moar,js --gen-moar | |||
hoelzro | [Coke]: you just read my mind =) | ||
hoelzro tries that | 13:47 | ||
[Coke] | Happy to provide more output on any of those. node on v0.10.32 | ||
hoelzro | [Coke]: this seems silly, but have you tried with a clean clone of nqp on the js branch? | 13:49 | |
I'm on node 0.10.36, but I can't imagine that small difference changing much | 13:50 | ||
[Coke] | I thought it was clean when I started yesterday. Sure, I'll start fresh. | ||
hoelzro | thanks, just want to be thorough | 13:51 | |
[Coke] | did a git clean -xdf; rm -rf parrot install MoarVM | ||
re-configging. | 13:52 | ||
doing 'make' instead of 'make -j', just in case. | 13:55 | ||
colomon | say %info<episodeNumber>; | ||
say +%info<episodeNumber>; | |||
109 | |||
1 | |||
????? | |||
colomon hopes he’s missing something really, really obvious here | |||
[Coke] | "it's .gist, I dont know what it's doing" | ||
hoelzro | [Coke]: using -j *has* tripped me up in the past, but I thought I'd fixed any issues with it | 13:56 | |
[Coke] | then make js-test (which, btw, still builds a bunch of stuff that 'make' didn't, or it's building again) | ||
jnthn | colomon: Got a cut-down test case? | ||
[Coke] | ... and another very long list of failures, which I will just assume is the same. | ||
hoelzro | [Coke]: how odd..what OS/distribution are you on? | 13:57 | |
[Coke] | OS X 10.9.5 | ||
pmurias | [Coke]: could you nopaste the errors you are getting | ||
? | |||
[Coke] | Sure, I'll pick a random failure... | 13:58 | |
pmurias | hoelzro: re curlexpad, I'll have to think about is a bit | 13:59 | |
colomon | jnthn: Oh! I think it’s an array containing one element | ||
[Coke] | pmurias: gist.github.com/coke/f71b4b0f9b7be981959c | ||
hoelzro | pmurias: ok | ||
jnthn | colomon: That'd explain it :) | ||
colomon | jnthn: I was hoping it was something simple like that. Lesson: I should have .perl ‘d it, or .WHAT’d, or something. | 14:00 | |
pmurias | hoelzro: it could be possible do it with something like curlexpadthing({'foo': {getter: function() {return foo}, setter: function(val) {foo = val}},...) | ||
s/to/to do/ | 14:01 | ||
14:03
rindolf joined
|
|||
hoelzro | interesting | 14:05 | |
if I do $assoc<key> in nqp-js, does that resolve to DOLLAR_assoc.key? | 14:06 | ||
I'm wondering how much work would have to occur to get it to call lex.foo.getter() | |||
[Coke] | is the getstdin op defined in js? I see one instance in src/vm/js/old-nqp-runtime-node/ops/fs.js that defines op.getstdin, but not the line I would expect about registering the op. | 14:12 | |
pmurias | [Coke]: you are getting a test failure from a test that js-test isn't suppost to be running | 14:13 | |
14:13
ven left
|
|||
pmurias | * supposed | 14:13 | |
hoelzro | 2a199d1 is causing the intermittent 14-while.t failures for me | ||
hoelzro gets ready for commute & | 14:14 | ||
pmurias | hoelzro: that has nothing to do with while loops... :( | ||
[Coke]: how are you running tests? | |||
[Coke] | "make js-test" | 14:15 | |
if I run src/vm/js/bin/run_tests, I get the same issue. | |||
t/nqp/{01..18}* doesn't do what you want, I think | 14:17 | ||
ls t/nqp/{01..18}* | wc -l # 91 files | |||
pmurias | could you nopaste the result of that? | 14:18 | |
[Coke] | gist.github.com/coke/a0c136d3b58fe3999361 | ||
pmurias | hmm, it works differently on my machine | 14:19 | |
maybe different version of bash? | |||
14:20
Kristien joined
14:21
Kristien left
|
|||
dalek | p/js: b64a2d2 | (Pawel Murias)++ | src/vm/js/bin/run_tests: Try to make run_tests more portable. |
14:21 | |
pmurias | [Coke]: does that commit fix your problem? | 14:22 | |
14:22
tengignick joined
|
|||
[Coke] | GNU bash, version 3.2.53(1)-release (x86_64-apple-darwin13) | 14:26 | |
pmurias: All tests successful. | 14:27 | ||
pmurias++ | |||
Excellent. | |||
pmurias | jnthn: what's the difference between ctx and curlexpad? | 14:29 | |
jnthn | pmurias: Up to you. :) | 14:31 | |
pmurias: On Moar, nothing. | |||
(They point to the same thing) | |||
On Parrot, the context and lexpad were separate objects | |||
14:32
silug joined
|
|||
jnthn | Unless you've a reason to do otherwise, there's no problem with them being aliased to the same underlying thing. | 14:32 | |
hoelzro | pmurias: I know =/ | 14:33 | |
tengignick | hi! I'm a total noob. I've been reading perl6.org and rakudo.org. "aptitude install rakudo" works on my debian box, but "aptitude install panda" does not. can someone point me at a guide for people like me? Is there something as easy as "cpan"? | 14:34 | |
FROGGS | tengignick: blogs.perl.org/users/ovid/2014/08/t...rency.html | 14:35 | |
[Coke] | panda is how you get to the cpanish thing. | ||
masak | tengignick: welcome! | ||
tengignick | thanks! :) | ||
[Coke] | if you install rakudo from aptitude, what version do you get? | ||
You may want to get a more recentish version. | 14:36 | ||
[Coke] ponders doing a rakudo compiler bundle for macports. | |||
colomon | have we vetted that “copy” works with very large files in rakudo? | ||
tengignick | after apt install rakudo, I get perl6 "This is perl6 version 2012.01 built on parrot 4.0.0 revision 0" | ||
[Coke] | *ugh* | 14:37 | |
tengignick | heh | ||
[Coke] | that is so old, you will just hurt yourself. | ||
tengignick | alright | ||
I'll remove it :-) Is there a packaged way to get a recent version yet, or should I just git? | |||
colomon is wasting his morning trying to do something that should have been a ten minute process.... | 14:38 | ||
[Coke] | rakudobrew will hide all the guts from you. | ||
tengignick | ok, good enough for me | ||
[Coke] | if you're comfy with git, I would just git for now. | ||
pmurias | hoelzro: I had that test failure once myself... :( :( :( | ||
colomon | verified: Rakudo-moar’s copy function cannot handle files >2GB | ||
14:39
_mg_ joined
|
|||
hoelzro | pmurias: I'm guessing it's something deeper | 14:41 | |
commute & | |||
jnthn | colomon: HOw does it fail, ooc? | 14:42 | |
colomon | jnthn: only copies the first 2GB or so, reports that it copied it correctly. | ||
colomon is working on a script to import TV programs from the TiVo into Plex | 14:43 | ||
tengignick | This is perl6 version 2015.01-126-gf53a94d built on MoarVM version 2015.01-28-ga910556 | 14:45 | |
ooh :-) better. | |||
masak | colomon: a Perl 6 script? | 14:46 | |
colomon | masak: yes | ||
masak | ooh | ||
colomon: please submit a rakudobug about >2GB. | |||
colomon | masak: ooo, not actually from the TiVO itself | ||
masak: I’m using kmttg to get the files off the TiVo and convert them to standard .mpg | 14:47 | ||
pmurias | jnthn: is curlexpad writeable? | ||
colomon | masak: the p6 script’s job is just to read the meta-data and create a Plex-friendly filename | ||
jnthn | colomon: I'm guessing there's something taking a 32-bit number somewhere... | ||
colomon | jnthn: yes, that is the logical conclusion. :) | 14:48 | |
jnthn | pmurias: Yeah, I think so | ||
colomon: The stat comes back with a 64-bit number | |||
So I'm suspecting sendfile. | |||
colomon | does [email@hidden.address] still work? | ||
14:49
adu joined
|
|||
masak | oh yes. | 14:50 | |
[Coke] assumes raukdo copy isn't using the system copy, then. | 14:51 | ||
colomon | bug submitted. | ||
jnthn | [Coke]: Is there even a system copy function on non-Windows? | ||
(As in, in the C API) | |||
uh, POSIX, sorry. | 14:52 | ||
On Windows there's CopyFile | |||
14:53
_mg_ left
|
|||
[Coke] | jnthn: whoops, you're right. Maybe system() to cp, then. :) | 14:53 | |
mathw | POSIX doesn't have one as far as I know | 14:54 | |
you have to open some file handles and do it yourself | |||
colomon | system() to cp opens all sorts of filename quoting problems. | 14:55 | |
mathw | POSIX'll make you a hard link or a symlink | ||
but that might be surprising if the users are expecting a copy :D | 14:56 | ||
jnthn | Aye :) | ||
Too bad I can't ask for a cowlink... | |||
mathw | that'd be nice | 14:57 | |
mkdir file-copy && cd file-copy && git init . && mkdir -p src/File && emacs src/File/Copy.pm6 | 14:58 | ||
colomon solved the problem for himself by just “rename”ing the files, which was really what he had wanted in the first place. | |||
14:58
ninjazach joined
15:03
_mg_ joined
15:04
skids joined
15:05
rgrau joined
15:08
_mg_ left
15:10
rgrau left
15:14
kurahaupo1 left
|
|||
dalek | p/js: 7e006ea | (Pawel Murias)++ | src/vm/js/nqp-runtime/deserialization.js: Fix bug. |
15:15 | |
p/js: 1d4d34c | (Pawel Murias)++ | src/vm/js/ (2 files): Stub setmethauthcache as we assume all method caches are authoritative for now. |
15:16 | ||
15:17
adu left,
tengignick left
15:19
Rounin left
15:25
kaare_ left
15:27
abraxxa left
15:28
abraxxa1 joined
15:29
coffee` left,
coffee` joined
15:30
kurahaupo joined
15:36
tengignick joined
15:54
Mouq joined
16:05
molaf joined
16:10
kaleem left
16:13
gfldex joined
16:14
abraxxa1 left
16:18
diana_olhovik left
16:21
MilkmanDan left
|
|||
pmurias | hoelzro: re adding a layer of indirection instead of using foo.bar directly, it should be a small change | 16:23 | |
16:23
alini left
|
|||
jnthn | > sub foo(int $x is rw) { $x = 42 }; my int $a = 1; foo($a); say $a | 16:24 | |
42 | |||
hoelzro | ok, cool | ||
jnthn | yays. | ||
masak | \o/ | ||
FROGGS | jnthn++ | 16:25 | |
jnthn | Still gotta update the slow-path binder | ||
FROGGS wonders how jnthn will look like when he wears a slow-path binder | |||
dalek | p/native-ref: 601b400 | jnthn++ | src/vm/moar/QAST/QASTCompilerMAST.nqp: Allow binding to lexicalref slot. Otherwise, the signature binder will never be able to bind a native reference into place. |
16:26 | |
jnthn | .oO( binders full of slow-paths ) |
16:27 | |
FROGGS | jnthn: a Binder is also a Schlips :D | ||
would be nice to hear you saying that :o) | 16:28 | ||
dalek | kudo/native-ref: 5d0f760 | jnthn++ | src/Perl6/Actions.nqp: Add 'is rw' native handling in fast-path binding. Works for both only and multi case, however failures are not reported properly yet due to the slow-path binder (used for error generation) not yet being updated. |
||
jnthn | What? Schlips? :P | 16:30 | |
FROGGS | a tie | 16:31 | |
jnthn | Yes...it's not too tongue-twisting... :) | ||
FROGGS | but yeah, Schlips... to to confuse with Schnaps though | ||
not to* | |||
jnthn | Just don't get your schlips in your schnaps... | ||
FROGGS | jnthn: not as tongue-twisting as Eichhörnchen, but still :D | ||
*g* | 16:32 | ||
jnthn | Ouch... :P | ||
psch never heard Binder for Schlips | |||
tadzik | Eichhörnchen sounds more throat-twisting :P | ||
psch | must be regional | ||
FROGGS | psch: it is not used anymore I think | 16:33 | |
you'd say that when you were 80+ or so I guess | |||
psch | wikipedia says it used as "Langbinder" in context with uniforms | 16:34 | |
*is | |||
dalek | p/js: 571ff00 | (Pawel Murias)++ | / (3 files): Cloning code refs. |
||
masak | is it called a "tie clip" in English? | ||
pmurias | hoelzro: how often does the test 14 fail? | 16:35 | |
hoelzro | pmurias: more often than not | ||
psch | i'm struggling with multi-dim array marshalling | 16:36 | |
fwiu, perl6 level «[[1,2],[3,4]]» is an Array which can be turned into a VMArray with p6listitems once, and it's elems are Array again which i also have to p6listitems? | |||
(because multi-dim, even if not particularly idiomatic in java, should probably be supported :) ) | 16:37 | ||
FROGGS | masak: no, a Langbinder is just a 'long tie' (the usual tie) | 16:40 | |
masak: a tie clip is called Krawattennadel over here | |||
masak | ah. | 16:41 | |
16:46
tengignick left
|
|||
[ptc] still finds Streichholzschächtelchen very tongue-tying | 16:51 | ||
16:51
Mouq left
|
|||
FROGGS | ohh, that's a good one | 16:52 | |
dalek | kudo/native-ref: 765de1d | jnthn++ | src/core/Int.pm: Implement prefix/postfix ++/-- on native int. |
16:53 | |
jnthn | multi sub prefix:<++>(Num:D \a is rw) { # XXX | 16:54 | |
So, uh...why the XXX? | |||
16:55
_4d47 joined
|
|||
jnthn wonders if because of the instead of $a | 16:55 | ||
It's faster with $a these days, I believe | |||
16:57
diana_olhovik_ joined
|
|||
dalek | rl6-roast-data: 759b4e5 | coke++ | / (5 files): today (automated commit) |
16:59 | |
FROGGS | jnthn: wasn't there an issue on parrot? about relying on an optimisation or so... | 17:01 | |
hmmm, probably not | 17:02 | ||
dalek | kudo/native-ref: af05fab | jnthn++ | src/core/Num.pm: Implement prefix/postfix ++/-- on native num. Also improve the non-native versions (for Num). Things with a $ sigil compile into better assignments than unsigil'd things, and for rw args there's no benefit with \ over $. |
17:05 | |
jnthn | FROGGS: Don't think so... | ||
FROGGS: This branch merges post-Feb-relesae anyway. | |||
FROGGS | and it won't get ported to the other VMs anyway soon, right? | 17:06 | |
but will it actually break anything for perl6-p/-j? | |||
jnthn | I'll port it to -j | 17:07 | |
-j on the inside often looks quite a bit like -m because, unbeknown to anyone watching -j progress at the time, -m guts were being built around the same time as the -j port :) | 17:08 | ||
FROGGS | yeah... | ||
jnthn | Yes, it will very much bust things | ||
FROGGS | though, what's your timeline? | ||
jnthn | I plan to land this branch late-Feb | 17:09 | |
FROGGS | and then port it to -j, and then tackle other TLAs? | ||
jnthn | I'll do the -j port by then | ||
FROGGS | I see | 17:10 | |
17:10
spider-mario joined
|
|||
jnthn | I suspect I can churn it out in not overly long, now I have the design. | 17:10 | |
It's just...tedious waiting for builds etc. | |||
FROGGS | yeah | ||
jnthn | What I won't do for -j right off is look at exactly how we might optimize it to the degree I'll do on -m | 17:11 | |
FROGGS | fair enough | ||
17:11
Mouq joined
|
|||
jnthn | If I want to make -j faster, spending a day on getting the fast-path bind stuff working on JVM would probably be the best use of time, anyways... | 17:11 | |
But yeah, NFG will be the next TLA I'll be looking at. | 17:12 | ||
FROGGS | I hope I can help by fixing some RT tickets, though, often I run into problem I cannot solve :o( | ||
17:13
FROGGS[mobile] joined,
FROGGS left
17:14
ninjazach left
17:15
_4d47 left
|
|||
dalek | p/js: 76fa42f | (Pawel Murias)++ | / (2 files): Cloning objects. |
17:15 | |
p/js: 2a9002a | (Pawel Murias)++ | nqp-js: Remove the tmp.js file, that might help hunt down the sometimes failing test 14. |
|||
jnthn | The native-ref path from here is approximately: finish up native "is rw" stuff, fix handling of returning natives, get native arrays in place, then various bits of optimization along with -j porting. | 17:16 | |
FROGGS[mobile] | sounds like you are quite far already | 17:17 | |
Mouq enjoys that we have development at a solid enough point where Rakudo has three major branches being worked concurrently on other than nom | |||
dalek | p/js: 962c5ad | (Pawel Murias)++ | src/vm/js/bin/run_tests: Make run_tests support options. |
||
jnthn | FROGGS[mobile]: Yeah, I'm overall happy with the foundations. | ||
pmurias | hoelzro: src/vm/js/bin/run_tests -v should print out more info to debug the weird failure | 17:18 | |
moritz | Mouq: which three major branches? | ||
hoelzro | pmurias: cool, thanks! | ||
moritz | Mouq: I'm only aware of native-ref and newio | ||
hoelzro | interestingly enough, I think it only happens when I make js-test | ||
jnthn | I suspect I'll be ready to merge back to master in moar in the next days. | ||
pmurias | make js-test just calls src/vm/js/bin/run_tests | ||
Mouq | moritz: js :P | 17:19 | |
FROGGS[mobile] | and I am happy that you are happy because seeing that progress is very motivating to get something done | ||
Mouq | moritz: Oh, I suppose that's NQP | ||
pmurias | hoelzro: so if just wrapping stuff in make causes failures that's really crazy | 17:21 | |
hoelzro | pmurias: it's intermittent, so I'm guessing it just "didn't happen" when I tried run_tests by hand | 17:22 | |
17:22
espadrine left
17:24
btyler left
|
|||
moritz | Mouq: the nqp/js branch isn't really modifying existing behavior, so its existence can't be a testimony for any stability | 17:25 | |
dalek | kudo/nom: 2f7046f | Mouq++ | src/Perl6/Actions.nqp: Add type info to constant decls. Fixes #114506 |
17:26 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=114506 | ||
pmurias | the fact the nqp-js isn't getting constantly broken nowdays is a testimony for stability of sorts | ||
17:27
eiro left
|
|||
pmurias | when dropping rakudo support for parrot why do we plan to keep nqp parrot support? | 17:27 | |
jnthn | pmurias: s/dropping/suspending/ | 17:29 | |
17:29
telex left
|
|||
pmurias | it will still be an official parrot death annoucement | 17:29 | |
masak | we can't kill Parrot. | 17:30 | |
17:30
telex joined
|
|||
pmurias | * announcement | 17:30 | |
moritz | pmurias: because some folks like FROGGS[mobile]++ expect to bring rakudo-parrot back | ||
moritz is still curious about pmichaud++'s upcoming blog post | 17:31 | ||
pmurias | masak: can't as that it's already dead or that we need to keep it alive? | ||
masak | pmurias: as in, it's not ours to kill. | 17:32 | |
we're just a downstream client. | |||
pmurias | what are the arguments for bringing rakudo-parrot back after the suspension? | 17:34 | |
moritz | pmurias: "FROGGS likes parrot" | 17:35 | |
pmurias is suprised that anyone like parrot | |||
dalek | ast: d7d6f66 | Mouq++ | S05-modifier/my.t: Refactor S05-modifier/my.t for fudging and test for #121229 |
||
ast: e650e93 | Mouq++ | S04-declarations/constant.t: Add tests for #114506 |
|||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121229 | ||
Link: rt.perl.org/rt3//Public/Bug/Displa...?id=114506 | |||
vendethiel | pmurias: I was very surprised when FROGGS[mobile] told me he liked PIR, I admit :P | 17:39 | |
17:39
smi1er joined
|
|||
moritz | as a user, I've seen worse assembly languages | 17:40 | |
vendethiel | i learned assembly with chips that didn't support conditional jumps. so hey, me too :P | 17:41 | |
but still. I guess nqp is more fun :p | |||
hoelzro | pmurias: I can't reproduce the failure on my work machine =( | 17:44 | |
17:45
dakkar left,
zakharyas left
|
|||
moritz | hoelzro: you could always try to reproduce on hack.p6c.org :-) | 17:47 | |
hoelzro | moritz: good point =) | ||
I don't actually know if I have creds on that box | |||
moritz | you don't. Yet. | 17:48 | |
but if you'd find it useful, just say the word | 17:49 | ||
hoelzro | noted =) thanks! | 17:50 | |
18:01
tengignick joined
18:02
Kristien joined
|
|||
Kristien | hi | 18:03 | |
hoelzro | o/ | ||
18:07
_mg_ joined
|
|||
lizmat | colomon: re #123796 I can't seem to reproduce that on OS X | 18:09 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123796 | ||
lizmat | what OS was this on? | ||
$ 6 'say copy("big","big2")' | 18:12 | ||
True | |||
$ ls -ls big* | |||
11724800 -rw------- 1 liz macports 6003097600 Feb 11 19:08 big | |||
11724800 -rw-r--r-- 1 liz macports 6003097600 Feb 11 19:11 big2 | |||
masak | by the way, is it intentional (or by spec) that those two files have different access right bitmasks? | 18:13 | |
lizmat | the first file was created with cp /dev/zero big and CTRL-c ing after 15 seconds | 18:14 | |
18:14
adu joined
|
|||
lizmat | I guess the copy used a different umask | 18:14 | |
$ umask | 18:15 | ||
0022 | |||
hmmm... | |||
Juerd | imho copy should force the permissions to be the same, regardless of the umask | ||
(When chmod is permitted at all) | |||
moritz | is that what GNU cp does? | ||
flussence | shouldn't use looser defaults than the input file in any case, IMO... | 18:16 | |
Juerd | moritz: Yes: | 18:17 | |
18:17
espadrine joined
|
|||
Juerd | open("a", O_RDONLY) = 3 | 18:17 | |
fstat(3, {st_mode=S_IFREG|0400, st_size=0, ...}) = 0 | |||
open("b", O_WRONLY|O_CREAT|O_EXCL, 0400) = 4 | |||
0400 is the mode | |||
And that changes if I delete b and chmod a and then do another "strace cp a b" | 18:18 | ||
nine_ actually enjoyed working in PIR, too. | 18:19 | ||
18:19
Ugator joined
|
|||
nine_ | Reminded me of my childhood when I did x86 assembly :) | 18:19 | |
18:20
mr-foobar joined
|
|||
lizmat | this is how MoarVM opens the file to be copied: | 18:21 | |
const uv_file out_fd = uv_fs_open(tc->loop, &req, (const char *)b, O_WRONLY | O_CREAT | O_TRUNC, DEFAULT_MODE, NULL); | |||
where DEFAULT MODE is: #define DEFAULT_MODE _S_IWRITE /* work around sucky libuv defaults */ | |||
masak | ok, now I feel like submitting a rakudobug about © not setting the umask to the same, like GNU cp does. | ||
lizmat | masak: please do, so it won't fall though the cracks | 18:22 | |
masak does | |||
lizmat | I'm not sure at which level this should be fixed, though | ||
feels to me, MoarVM should be doing the right thing on open | |||
masak | the thing with PIR is that it does feel quite a lot like an assembly language for Perl 5. | ||
but it was never a good match for Perl 6. | |||
lizmat | .oO( If all you know is a nail, you create a hammer ) |
||
or something like that | 18:23 | ||
18:23
Rounin joined
|
|||
flussence | wait... it sets O_TRUNC? | 18:23 | |
masak | I'd be very interested in reading an in-depth comparison between Parrot and MoarVM, for example between PIR and... whatever it is MoarVM has on that level. | ||
I don't know who I'd prefer to write it. :) jnthn has more important things on his plate. | |||
geekosaur | that would be the target file, O_WRONLY seems wrong for the source :p | ||
lizmat | you'd need in depth knowledge of both parrot and Moar | 18:24 | |
geekosaur | and O_TRUNC makes sense for the target | ||
lizmat | not too many people around who have that :-( | ||
geekosaur: that was for the output file | |||
18:24
xinming left
|
|||
geekosaur | "opens the file to be copied" implies source file to me | 18:24 | |
lizmat | ok, "opens the file to be copied to" was what I intended :-) | 18:25 | |
geekosaur | "...to be copied to" is potentially confusing ("yay" English) but would indicate the targer | ||
18:25
Mouq left
|
|||
lizmat | sorry for the ambiguity | 18:25 | |
it all perfectly made sense when I wrote it :-) | |||
flussence | O_TRUNC makes sense for the target yes... but only for copy(:createonly). What's the C code doing for the default case? | 18:26 | |
wait, I've got it backwards | |||
does :createonly work? | 18:27 | ||
"Unexpected named parameter 'createonly' passed"... guess not. | |||
lizmat | flussence: it works in the newio branch | 18:29 | |
flussence | ah, that's fine then | ||
18:31
eiro joined
18:34
tengignick left
18:39
pecastro left
18:40
FROGGS joined
18:41
FROGGS[mobile] left
18:48
pmqs joined
18:49
abraxxa joined
18:53
MadcapRusso joined
18:57
khisanth_ is now known as Khisanth,
MadcapJake left
|
|||
Kristien | m: my Str @xs = 'a', 'b', 'c'; my Any @ys := @xs; @ys[0] = 42; | 18:59 | |
camelia | rakudo-moar 2f7046: OUTPUT«Type check failed in assignment to '@xs'; expected 'Str' but got 'Int' in method assign_pos at src/gen/m-CORE.setting:10288 in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:3282 in block <unit> at /tmp/Yj0CC_v1gk:1» | ||
Kristien | Is that a runtime error? :( | ||
jnthn | Yes | ||
It could be caught at compile time | |||
Kristien | Covariant arrays. :( | ||
m: say (Array of Str) ~~ (Array of Any) | 19:00 | ||
camelia | rakudo-moar 2f7046: OUTPUT«===SORRY!=== Error while compiling /tmp/E5HrdkAE3DTwo terms in a rowat /tmp/E5HrdkAE3D:1------> say (Array ⏏of Str) ~~ (Array of Any) expecting any of: infix stopper infix or meta-in…» | ||
Kristien | m: say (Array[Str]) ~~ (Array[Any]) | ||
camelia | rakudo-moar 2f7046: OUTPUT«False» | ||
Kristien | hmm nice | ||
19:01
grettir joined
|
|||
TimToady | m: say Array[Any] ~~ Array[Str] | 19:01 | |
camelia | rakudo-moar 2f7046: OUTPUT«False» | ||
TimToady | seems like just an accident | ||
Kristien | Mutable arrays should be invariant on their element type. | 19:02 | |
TimToady | yes, in general we should consider our declarations immutable in the absence of MONKEY_* | 19:05 | |
which is why we require MONKEY_TYPING for augment | |||
but since we're not coming at this from the viewpoint of genius FP scientists, we've tended to let some of these constraints take the form of S99:DIHWIDT | 19:07 | ||
hmm, no bot? | |||
FROGGS | S99#DIHWIDT | ||
TimToady | or does it not look for S99 thingies? | ||
FROGGS | S32#foo | ||
jnthn | S99 | ||
FROGGS | S32:foo | ||
bah, bots | 19:08 | ||
jnthn | synopsebot: Helloooo? | ||
TimToady | there's a synopsebot but it's seems incommunicado | ||
geekosaur | yoleaux went missing earlier as well | ||
I presume freenode glitched; bots recover less well than humans... | |||
pmqs | froggs: quick question if you have a moment | ||
TimToady | maybe kicking would help? | ||
FROGGS | pmqs: k | 19:09 | |
pmqs | having fun building p6-inline-c | ||
on r* 2015.01 | |||
FROGGS | pmqs: you created an issue, right? | ||
pmqs | yes | 19:10 | |
froggs:didn't have irc access when I stumbled over the issue | |||
FROGGS | pmqs: can you update your NativeCall and reinstall Inline::C? | ||
pmqs | it blowsd up as well | 19:11 | |
FROGGS | pmqs: I've seen a patch to NativeCall just a few days ago | ||
pmqs | blows up | ||
FROGGS | hmmm | ||
pmqs | looks like the same place in NativeCall | ||
FROGGS | pmqs: this patch is just two days old: github.com/jnthn/zavolaj/commit/b2...8cc62390c6 | ||
pmqs | I just downloaded Native Call 10 mins ago | ||
FROGGS | damn | 19:12 | |
pmqs | sorry | ||
FROGGS | no need to feel sorry :o) | ||
pmqs: can you put the build output of NativeCall in a gist? | 19:13 | ||
19:13
MadcapRusso left,
MadcapRusso joined,
MadcapRusso left,
MadcapRusso joined
|
|||
FROGGS | pmqs: ohh, and you are still using the 2015.01 version? that might be too old now | 19:13 | |
masak | Mouq++ # does a lot of good stuff, like fixing RT tickets | 19:14 | |
pmqs | froggs:yes, I am | ||
bartolin agrees, Mouq++ | |||
FROGGS | pmqs: can you upgrade? | ||
masak: I want to tackle RT #123696, it does not look to hard after all | 19:15 | ||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123696 | ||
pmqs | froggs: Can try. Leave that with me & I'll give it a go. | ||
FROGGS | pmqs++ | 19:16 | |
19:16
Kristien left
|
|||
masak | FROGGS: wow, that's a weird one :) | 19:17 | |
19:17
fhelmberger left
|
|||
FROGGS | aye :o) | 19:17 | |
19:20
tengignick joined
19:22
tengignick left
19:26
ninjazach joined
|
|||
raydiak | \o | 19:27 | |
19:32
lsm-desktop left,
Mouq joined
|
|||
masak | Mouq++ # fixing rakudobugs | 19:35 | |
19:40
btyler joined
|
|||
dalek | kudo/native-ref: 94a87fc | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp: Fix an indento. |
19:41 | |
kudo/native-ref: 6ca96c8 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp: Tie native refs into the slow-path binder. |
|||
abraxxa | what's the recommended way to install the current moarvm perl6? | 19:42 | |
jnthn | rakudobrew | ||
If you mean "current bleeding edge" | |||
abraxxa | jnthn: I've used that at work, didn't see that is also supports installing master | ||
19:45
lsm-desktop joined
|
|||
abraxxa | tadzik: can you please merge my rakudobrew pull request and fix the whitespace afterwards? | 19:46 | |
tadzik: i've updated my pull request | 19:48 | ||
jnthn: what tag do I have to use to build the current moarvm rakudo? | 19:51 | ||
rakudobrew list-available only shows tags | |||
Mouq | masak++ # filing rakudobugs | 19:52 | |
19:55
zakharyas joined
|
|||
pmqs | froggs: hmmm. Built Rakudo + MoarVM from git. Problems building NativeCall | 19:59 | |
lots of errors in the test suite | 20:00 | ||
abraxxa | pmqs: i'm just doing the same | ||
pmqs | abraxxa: not just me then :-) | ||
abraxxa | github is slow again... | 20:01 | |
20:01
zakharyas1 joined
20:02
zakharyas left
|
|||
PerlJam | pmqs: ooc, 32 bit or 64 bit system? | 20:02 | |
pmqs | 32 | ||
the errors have the smell of that kind of issue | |||
PerlJam | I seem to recall that NativeCall had issues on 32 bit systems, but I don't remember the details. | 20:03 | |
FROGGS | the tests did pass though | ||
pmqs | not for me :-) | ||
the r* 2015.01 build was fine | 20:04 | ||
NativeCall "seemed" ok | |||
TimToady | are there any tests that assume P6 int == C int? | ||
20:04
coffee` left
|
|||
TimToady | because that's not guaranteed | 20:04 | |
pmqs | will I paste a failing test? | ||
nwc10 | jnthn: t/spec/S04-declarations/constant.rakudo.moar only runs 55 of 56 tests. Apart from that native-ref is identical to nom | ||
20:05
_mg_ left
|
|||
FROGGS | TimToady: there are no such tests | 20:05 | |
TimToady | okay | ||
pmqs | t/04-pointers.t ........ ok | ||
# Failed test 'int in struct in element 0' | |||
# at t/05-arrays.t line 50 | |||
# expected: '2' | |||
# got: '901866509943439362' | |||
20:05
echowuhao joined
|
|||
FROGGS | zavolaj's docs state that P6's int32 is C's int, and P6's int is C's long | 20:06 | |
though, P6's int is not 32 bit away on 32 bit systems | |||
20:06
darutoko left
|
|||
dalek | osystem: 1eb3e2e | moritz++ | META.list: Remove XMMS module its META.info has been invalid JSON since September at least, so there is nothing we can do with it anyway |
20:08 | |
FROGGS | ewww, that test *is* about a C long vs a P6 int | ||
abraxxa | pmqs: moarvm-nom built, how can i run those tests? | ||
jnthn | nwc10: Interesting... :) | 20:09 | |
TimToady | on a Vax, both long and int were 32 bits | ||
FROGGS | abraxxa: either get panda and run 'panda install NativeCall', or clone zavolaj | ||
jnthn | abraxxa: Sorry, had phone call...looks like you figured it :) | ||
FROGGS | TimToady: that's what that table says: github.com/jnthn/zavolaj#passing-a...ing-values | 20:10 | |
abraxxa | jnthn: why 'nom' and not 'master'? | ||
FROGGS | abraxxa: nom = new object model | ||
PerlJam | abraxxa: because it was/is the New object Model | ||
jnthn | nwc10: I'm confused, the copy of that I have here has only 54 tests... | ||
moritz | if we want to swith the default branch to 'master', we should do it pre-6.0 | 20:11 | |
abraxxa | but nowadays there is no old object model any more, right? | ||
FROGGS | jnthn: you have to say "===SORRY===" before stating that you are confused | ||
moritz | abraxxa: no, it's all new, polished and shiny | ||
jnthn | nwc10: Oh, a new test was added. | ||
abraxxa | pmqs: ==> Successfully installed NativeCall | ||
64bit here | |||
TimToady | yes, we could switch back to master if we like | ||
FROGGS | but then we can't do any nom puns anymore :o( | 20:12 | |
TimToady | at the time it was felt that it was better to name major experiments differently, but that turned out to be a successful experiment, so it stuck | ||
PerlJam | There's also no compelling reason to use "master" either. | ||
jnthn | yeah but you can git remote add dark [email@hidden.address] | ||
TimToady | except expectations | ||
jnthn | And get push dark master | ||
*git | |||
:P | |||
PerlJam | TimToady: not compelling enough for me :) | 20:13 | |
TimToady | we didn't get where we are today by ignoring cultural issues :P | ||
moritz | PerlJam: except that 'git checkout master' is ingrained deep in my muscle memory | ||
abraxxa | Buf.bytes is fine now ;) | ||
PerlJam | very true (both) | ||
jnthn has not particular feelings for/against it | 20:14 | ||
abraxxa | PerlJam: it's the standard which means newbies easier find the right git branch | ||
PerlJam | abraxxa: if they're newbies, they won't be changing branches and "nom" is the default when you clone. | ||
abraxxa | PerlJam: it's not the default of rakudobrew | 20:15 | |
pmqs | abraxxa: hmm, perhaps time to move to 64 bit then | ||
jnthn | nwc10: Oh, that one is just ath nom moved. | ||
abraxxa | or is it? | ||
i didn't try to build without specifying a branchname | |||
jnthn | nwc10: and so I'm missing a patch in native-ref that the test needs. | ||
So, nothing to worry about. | |||
moritz | hey, maybe we can just name the GLR branch 'master' | ||
PerlJam | moritz: +1 :) | 20:16 | |
moritz | or the NFG branch, for that matter | ||
jnthn | Will there be a Rakudo NFG branch? :) | ||
TimToady | or the native branch, since that's kinda the opposite of master in the language of imperialism | ||
jnthn had mostly seen it as VM-level work... | 20:17 | ||
TimToady | Very Master | ||
FROGGS | pmqs: we do care about 32bit system but atm 64 bit has a higher priority | ||
pmqs: though, we really want to fix these issues, I personally just don't know how | |||
pmqs | froggs: agree - 32-bit needs to be supported. 64-bit just sounds like less pain for me in the short term. | 20:20 | |
FROGGS | pmqs: very true | 20:21 | |
pmqs | froggs: does NativeCall need a ticket to get 32-bit working? I can create it | 20:22 | |
FROGGS | pmqs: there is one | ||
pmqs | ok, ta | ||
20:24
ninjazach left
|
|||
arnsholt | I think we might have one already | 20:24 | |
tadzik | abraxxa: done, thanks | 20:25 | |
arnsholt | pmqs: Zavolaj #37 is the ticket | ||
pmqs | thanks | 20:26 | |
arnsholt | I've an idea for how to solve it (more or less), but not too much time to actually fix it, sadly | ||
abraxxa | tadzik: thanks | 20:29 | |
20:32
Sqirrel left
20:33
Sqirrel joined
|
|||
FROGGS understands now | 20:34 | ||
m: (6;) | |||
camelia | rakudo-moar 2f7046: OUTPUT«===SORRY!===Cannot find method 'returns'» | ||
FROGGS | m: (5;) | ||
camelia | ( no output ) | ||
FROGGS | :D | ||
seems there is no return for Perl 6 | |||
jnthn | :P | 20:35 | |
moritz | it dies in the optimizer, but the actual problem is fautly code-gen | 20:36 | |
20:37
echowuhao left
|
|||
FROGGS | I know | 20:37 | |
jnthn | grmbl | 20:38 | |
Mouq | m: my $a = 4; 6; my $b = 8 | 20:39 | |
jnthn | We assemble Parameter/Signature objects really rather late | ||
camelia | ( no output ) | ||
Mouq | m: my $a = 4; 6; $b = 8 | ||
camelia | ( no output ) | ||
Mouq | m: $a = 4; 6; $b = 8 | ||
camelia | rakudo-moar 2f7046: OUTPUT«===SORRY!=== Error while compiling /tmp/5KUjXYxLigVariable '$a' is not declaredat /tmp/5KUjXYxLig:1------> $a⏏ = 4; 6; $b = 8 expecting any of: postfix» | ||
jnthn | Which makes it rather tricky to have nice things like, knowing if the thing is meant to be ro when we produce AST for access to it. | ||
Which we kinda need to know statically to get it right for natives, but really should catch at compile time in other cases too. | 20:40 | ||
jnthn figures he'll bite the bullet and have a go at the refactor | |||
FROGGS | sounds like a can of worms that wants to be opened :o( | 20:41 | |
m: my $a = (6;); | |||
camelia | rakudo-moar 2f7046: OUTPUT«===SORRY!===Unknown QAST node type NQPMu» | ||
FROGGS | m: my $a = (use Test); | 20:42 | |
camelia | ( no output ) | ||
FROGGS | m: my $a = (use Test); say $a | ||
camelia | rakudo-moar 2f7046: OUTPUT«(Any)» | ||
alpha- | any? | ||
moritz | doc.perl6.org/type/Any Any | 20:43 | |
20:43
mohij joined
|
|||
FROGGS | the use statement returns Nil, so you see the default type of $a | 20:43 | |
20:43
rindolf left
20:45
Guest45 joined
|
|||
Mouq | FROGGS: I'm guessing a lack of definition for a "method statement_control:sym<6>" in Actions.pm is at fault | 20:45 | |
FROGGS | Mouq: yes, but when I add that and install Nil in the ast, this won't work either: my $a = (6;) | 20:46 | |
20:47
kaare_ joined
|
|||
moritz | what is it supposed to do? | 20:47 | |
Mouq | Yeah… it's only supposed to be 6; in sink context… which is something we'd usually handle in Actions, but we can't here | ||
FROGGS | moritz: turn on lax mode | 20:48 | |
Mouq | m: my $a = (no strict); | ||
camelia | rakudo-moar 2f7046: OUTPUT«===SORRY!===Unknown QAST node type NQPMu» | ||
moritz | FROGGS: even in parens? | 20:49 | |
FROGGS | moritz: no | 20:50 | |
20:53
bjz left
|
|||
moritz thinks that 6; turning off strict mode is a mis-feature | 20:54 | ||
it's already off in one-liners | |||
and everything else can deserve a bit more verbosity | |||
masak | agreed. | ||
I'm not even that sold on strict being off in one-liners... :) | |||
moritz | it a "you think this a cute today" features | ||
masak | as evidenced by this bug. | ||
moritz | masak: me neither, but I'm willing to try it out a bit more | 20:55 | |
masak | I used it today. | ||
I was pleasantly surprised that variables are implicitly 'our' declared. | |||
that's something, I guess. | |||
vendethiel | I really think it's good for one-liners. | 20:56 | |
I won't have many more scopes anyways... | |||
masak | troo | ||
but I still make typos in one-liners. | 20:57 | ||
moritz usually doesn't have many variables in one-liners | |||
20:58
tgt joined
|
|||
Juerd | "I don't always have variables in one-liners, but when I do..." | 20:58 | |
FROGGS | TimToady: do you agree about un-design-docing '^6;' as a synonym of 'no strict;' ? | ||
moritz | Juerd: "... then they are *very* variable" | 20:59 | |
PerlJam | FROGGS: forgiveness >> permission ;) | 21:00 | |
masak | Juerd: "...I name them all with characters from CJK character set." | ||
vendethiel | reading HN and stuff like that made me realize that, except for the trolls, and the somewhat lukewarm-because-of-time first reaction, people have actually enjoyed their time trying p6 | ||
raydiak could be misremembering, but thought the '6;' was a throwback from when you'd get p5 if you don't 'use v6;', and '6;' was the implicitly non-strict version intended for p6 one-liners | |||
masak | vendethiel: I'm constantly reminded how fantastic it is that most outsiders actually still have (and want to have) faith that the Perl 6 project will succeed and/or lead somewhere good. | 21:01 | |
vendethiel | indeed :-) | 21:02 | |
vendethiel would like masak he was such an outsider not so long ago | 21:03 | ||
21:03
Rounin left
|
|||
vendethiel | I also used to say "perl is write-only", but only before I actually read a perl program | 21:03 | |
masak | people repeat the silliest things. | ||
not just you :) | 21:04 | ||
vendethiel | first time I actually read a perl program was "not all that bad... I mean, looks better than php". "those postfixes are pretty neat, if you ask me" | 21:05 | |
geekosaur | that said, far too many perl5-ers *do* write write-only programs, and there is something of s subculture that considers such things "clever" | ||
vendethiel | though I also thought "they... really don't have function parameters??" | ||
but hey, that's fixed :P | 21:06 | ||
.oO( I should've wished for that earlier ) :P |
|||
abraxxa | alex0209 | 21:09 | |
dalek | c: 78ed2e6 | moritz++ | / (3 files): Introduce Dateish, move severa methods for Date.pod to Dateish.pod also newly document Dateish.week |
21:10 | |
21:10
zakharyas1 left
|
|||
FROGGS | whoops | 21:10 | |
the design docs talk about 'v6;' instead of '6;' | 21:11 | ||
but the problem persists I'd say | |||
moritz | even then it's not explicit enough for me :-) | ||
FROGGS | aye | ||
Juerd | FWIW, I agree that that is a misfeature. | ||
lizmat | I also agree :-) | ||
moritz | so, no dissent | ||
Juerd | ...yet! | 21:12 | |
FROGGS | that settles it :o) | ||
jnthn agrees to | |||
*too | |||
(If we're talking about a plain 6;) | |||
moritz | jnthn: what about v6; disabling strict? | 21:13 | |
raydiak | S11 says starting with any bare version number or any other literal should give you lax mode | ||
dalek | kudo/native-ref: 0cafcda | jnthn++ | src/Perl6/Actions.nqp: Refactor handling of default parameter types. We can set it as we traverse collected parameter info to build the Parameter objects, saving us an extra pass over the list and a very common pair of calls. |
||
moritz | that sounds excessive | 21:14 | |
Juerd | Any literal, really? :( | ||
moritz | "use strict;" # look ma, I know javascript :-) | ||
raydiak | yeah provides "Coolness, dude!" as an example | ||
Juerd | moritz: LOL | ||
moritz: This hurts | |||
21:14
Mouq left
|
|||
raydiak | S11:575 | 21:14 | |
synopsebot | Link: design.perl6.org/S11.html#line_575 | ||
colomon is very pro-strict | 21:15 | ||
21:15
colomon left
|
|||
jnthn | moritz: Not sure about that one... | 21:15 | |
We already have "no strict;" which is probably huffmanized about right, given the -e has it by default | |||
Juerd | Why even require the literal? Just imply "no strict" if the program begins with a literal OR empty statement. Golfed down to ";", hah! | ||
FROGGS | m: no strict; # will turn off strict | 21:16 | |
camelia | ( no output ) | ||
FROGGS | m: "use strict" # also meant to turn off strict | ||
camelia | ( no output ) | ||
FROGGS | that's very strange | 21:17 | |
Juerd | perl6 --no-strict-I-know-what-I\'m-doing -e'$x = 42' | ||
21:17
Mouq joined
|
|||
raydiak | I kinda dislike that it's perl convention to have to start *all* your code with some of the same declarations (strict and warnings for 5, v6 for 6)...feels like boilerplate | 21:17 | |
Juerd | raydiak: It feels like boilerplate because it's exactly that. | ||
FROGGS | raydiak: I often dont put anything there | ||
raydiak: I know my perl 6 scripts :o) | |||
moritz | I like that p5 gives a good error message when I start my p6 scripts with 'use v6;' | 21:18 | |
raydiak | I do see the argument for use v6 and allowing multiple perls to coexist peacefully... | ||
21:19
abraxxa left
|
|||
raydiak | I don't like that I'll be typing it for likely another half century or so (if I'm lucky) | 21:19 | |
Juerd | moritz: 5.005 doesn't :P | ||
21:20
prammer left
21:21
echowuhao joined
|
|||
dalek | ecs: b7196bd | moritz++ | S (2 files): Require "no strict;" to enable lax mode literals or bare "v6;" do not seem to be explicit enough for our current taste (and -e still defaults to lax mode) |
21:21 | |
raydiak | Juerd: I suppose if we cared about perls from antiquity, we could allow 'use 6.000;' or whatever the pre-Vstring format was | ||
moritz | there, I did it. | ||
Juerd | moritz++ | ||
raydiak | \o/ moritz++ | ||
lizmat | moritz++ | 21:22 | |
21:22
xfix left
|
|||
Mouq | moritz: Any spectest fallout? | 21:22 | |
lizmat | timotimo: ^^^^ P6 weekly mention worthy | ||
PerlJam | moritz++ | ||
FROGGS | damn, looks like I can throw away my changes to "specs" | 21:24 | |
ohh, looks like there are some oversights | 21:26 | ||
[ptc] | m: say π | ||
camelia | rakudo-moar 2f7046: OUTPUT«3.14159265358979» | ||
FROGGS | I'll commit in a minute, please stand by | ||
[ptc] | omfg is that cool! | ||
FROGGS | :D | ||
[ptc] | unicode in perl6 just rocks | ||
raydiak | FROGGS: I just caught what you were saying...it's safe to write your scripts without 'use v6'? I thought I used to get some kinda error when I did that...guess it does appear to work here now | 21:27 | |
[ptc] | m: my π = 3; | ||
camelia | rakudo-moar 2f7046: OUTPUT«===SORRY!===Type 'π' is not declaredat /tmp/7rdFWNA3rF:1------> my π ⏏= 3;Malformed myat /tmp/7rdFWNA3rF:1------> my π ⏏= 3;» | ||
[ptc] | m: my $π = 3; | ||
camelia | ( no output ) | ||
[ptc] | m: say $π = 3; | ||
camelia | rakudo-moar 2f7046: OUTPUT«===SORRY!=== Error while compiling /tmp/2_ud3BtDepVariable '$π' is not declaredat /tmp/2_ud3BtDep:1------> say $π⏏ = 3; expecting any of: postfix» | ||
FROGGS | raydiak: it always worked as far as I can remember | 21:28 | |
Mouq | m: constant π = 3; | ||
camelia | ( no output ) | ||
21:28
Guest45 left
|
|||
raydiak | FROGGS: cool, good to know; must just be a fossil assumption from when I dove in to p6 head-first and got all confused :) | 21:29 | |
[ptc] | Mouq: thanks :-) | ||
was just trying to see if I could get a Simpsons joke to work ... | 21:30 | ||
21:30
Kristien joined
|
|||
PerlJam | [ptc]: that's no joke to the Indiana legislature. | 21:30 | |
Kristien | amazon is committing fraud | 21:31 | |
I still have not received book :< | |||
dalek | ecs: ca9b96b | FROGGS++ | S (3 files): minor corrections about -e and strictness Now it should be clear that one-liners (-e) are lax by default and that only 'use strict' and 'no strict' have an effect on one-liners and scripts. |
21:33 | |
FROGGS | :S | ||
21:34
colomon joined
|
|||
Kristien | Speaking of FROGGS, I still haven't hunted for frogs either. | 21:34 | |
FROGGS | Kristien: well, that sounds like a good thing :o) | ||
Kristien | Yes! | 21:35 | |
I did catch a mouse today. | |||
With a mousetrap. | |||
FROGGS | :o( | ||
moritz | FROGGS++ # syn updates | ||
FROGGS | probably wasn't one of these usb or ps/2 mice | 21:36 | |
skids | People put traps out for those? I'd better wtach my fingers. | ||
Kristien | I then prepared the mouse and ate it! | ||
raydiak considers attempting to catch a frog (not for eating, just for fun)...never tried as a child | 21:38 | ||
Kristien catches camelia | |||
omnomnom | 21:40 | ||
FROGGS | raydiak: I just did that in last Autumn... (to show it to my kids) | ||
b2gills | 80386 int types: uint1, (uint1 x 32), (uint1 x 8 * 4Gi), int8 uint8, int16, uint16, (uint20 (memory address size)), (uint48 (fake memory address size)), int32, uint32, int64, uint64, uintBCDu, uintBCDp en.wikipedia.org/wiki/Intel_80386#...s_of_80386 | 21:41 | |
FROGGS | was a small one, less than an inch in total | ||
b2gills | Which one should `int` be? | ||
I especially like uint20, uint48, uintBCDu, and uintBCDp | |||
muraiki_ | just be careful, because amphibians can carry salmonella, and they also generally find the oils on our hands toxic to them | ||
FROGGS | b2gills: github.com/jnthn/zavolaj#passing-a...ing-values | ||
muraiki: ohh, good to know O.o | 21:42 | ||
PerlJam | and some amphibians have skin secretions that are toxic to humans! | ||
raydiak | FROGGS: was it difficult to catch? any tips? I'm a city boy, I just walk out there and ignore the fact that I don't know what I'm doing, like everything else I do :) | ||
FROGGS | PerlJam: probably not that common over here :o) | ||
b2gills | FROGGS: The problem is that `long` can change depending on what compiler you use | ||
even on the same system | 21:43 | ||
PerlJam | FROGGS: as long as there are no rain forests, probably not :) | ||
FROGGS | raydiak: it was hard to see (because green on grass), but not that hard to catch, no :o) | ||
21:43
bjz joined,
virtualsue joined
|
|||
FROGGS | b2gills: yes, but it usually is either 64bits or 32 on the systems rakudo runs on | 21:43 | |
raydiak notes "bring glasses and don't catch salmonella or get the frog sick" | |||
21:44
bjz left
|
|||
FROGGS | hehe | 21:45 | |
dalek | kudo/native-ref: 2cc5f30 | jnthn++ | src/Perl6/Actions.nqp: Fold rw-by-default into create_signature_object. |
||
kudo/native-ref: 76114cc | jnthn++ | src/Perl6/Actions.nqp: Move auto-slurpy code to create_signature_object. |
|||
21:49
virtualsue left
|
|||
FROGGS | raydiak: froggs.de/IMG_20140814_112132.jpg | 21:50 | |
raydiak: that's what I mean by 'hard to see ' :o) | 21:51 | ||
hahainternet | that's a frog alright | ||
pff he's well obvious | |||
that's terrible camoflage :p | |||
FROGGS | :P | ||
b2gills | In "Microsoft QuickC for Windows" (win16) `long` is 32-bit, but on a compiler designed to compile win32 programs `long` could just as well be 64-bit. | ||
hahainternet | i need to write stuff in p6 | 21:52 | |
FROGGS | b2gills: "rakudo runs on" ;o) | ||
skids | Yeah NativeCall needs some work with size_t, long, uint* and sizeof(enum foo). Maybe a role for coercion types to play there. | ||
hahainternet | not that i want to appear like i expect people to work for me | ||
colomon used QuickC a bit in pre-Windows days… | |||
hahainternet | but did allocation of fixed chunks ever get sorted? | ||
FROGGS | skids: I imagine a NativeCall::Hints module that expose types like size_t, long, short and so on... these would carry the size of *your system right now* | 21:53 | |
skids: it would compile some probes at module installation time, to figure out how the sizes are | |||
b2gills | FROGGS: which would mean that it is wrong to expect `int` to ever be 32-bit on x86 processors | ||
skids | Right, but even if you know that size, what you are mapping it to would need to either adapt, or be large enough to coerce the value into. | 21:54 | |
FROGGS | b2gills: we are talking about P6's int, which is a C long | ||
b2gills | on which compiler | ||
raydiak | FROGGS: ah nice trick...the body and legs are even roughly leaf-shaped; if that's < 1 inch I can see the issue (or not see it, as the case may be, depending on my spot check) | ||
FROGGS | b2gills: that does not matter on the systems I have touched in the last years | 21:55 | |
skids: are you sure? | |||
skids | I mean, knowing the sizeof(int) does not help you choose what P6 type $a should be to call nativefund($a) | 21:56 | |
Because the types are compile-time. | |||
FROGGS | skids: you'd get a type that has the correct nativesize | ||
and then you just use `long` as the type in Perl 6 | 21:57 | ||
or size_t | |||
use NativeCall; use NativeCall::Hints; class Foo is repr<CStruct> { has size_t $.bar; has long $.baz } | |||
it would also export int with 32bits width, so to not have the int <-> long confusion anymore | 21:59 | ||
it would also export short and char for convenience | 22:00 | ||
b2gills | I'm just saying that `long` **has** meant both 32-bit and 64-bit integers on compilers for 32-bit x86 processors. It has transitioned to being 64-bit | 22:01 | |
skids | My point is, the C environment can change type sizes on you, so any time you pass to/from nativecall, you have to rely on (and perhaps manually perform) a coercion to a known-wide-enough type. (For stuff that isn't a perl6 native type -- int is lockstep.) | 22:02 | |
FROGGS | b2gills: 64bit on 64bit machines, aye | ||
b2gills | No 64-bit on 32-bit machines | 22:03 | |
FROGGS | b2gills: then we would not have any problem with NativeCall on 32 bit machines | ||
PerlJam | b2gills: you mean *maybe* 64 bit on 32 bit machines :) | ||
b2gills | exactly | ||
22:04
_dolmen_ joined,
FROGGS_ joined
|
|||
b2gills | the 386 was a 32-bit processor, but has opcodes for dealing with 64-bit integers, by storing the upper half and lower half in separate registers | 22:05 | |
skids | So unless we make corresponding P6 native types for a lot of persnickety C types, which does not sound like a good thing to me) something like sub a is native( long(int64) $a) looks like a possible option. But it goes both ways so that stretches the intended meaning of coercion types which are one-way. | 22:06 | |
FROGGS_ | intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678, d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 | ||
ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8, alignbytes=4, prototype=define | |||
b2gills: ^---- ubuntu x86 | |||
skids | What current sizes are is entirely beside the point IMO. It's what they are specced to be by C standards that matters. | 22:07 | |
FROGGS_ | intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678, d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 | ||
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8, alignbytes=8, prototype=define | |||
ubuntu x86_64 | |||
22:07
Sqirrel left
|
|||
b2gills | The problem is that x86_64 still starts off in 16-bit mode | 22:07 | |
22:08
FROGGS left
|
|||
dalek | p: 6a5ff39 | lizmat++ | tools/build/MOAR_REVISION: Bump MoarVM to get new nqp::stat behavior |
22:09 | |
b2gills | and is completely backwards compatible to compilers that considered `long` to be 16-bit | ||
skids | Anyway, prefer to drive in sunlight o/ | ||
raydiak | \o skids | ||
dalek | c: dff2318 | paultcochrane++ | lib/Language/unicode_entry.pod: Document unicode character entry |
22:11 | |
c: 7b2a32e | paultcochrane++ | / (3 files): Merge branch 'master' of github.com:perl6/doc |
|||
[ptc] sleep(8*60*6) | 22:12 | ||
hahainternet | i don't get the units | ||
raydiak | [ptc]: enjoy your 0.8 hours of sleep :) | ||
hahainternet | how long do you plan to sleep for? | ||
[ptc] sleep(8*60*60) | |||
hahainternet | aah there we go | ||
[ptc] | *sigh* | ||
raydiak: thanks :-) | 22:13 | ||
dalek | kudo/nom: 62266f7 | FROGGS++ | src/Perl6/Grammar.nqp: remove buggy handling of "6;" as way to say "no strict" The design docs said that a bare literal (not only the number six) would trigger lax mode, but we came to the conclusion that this is not explicit enough. |
||
22:13
colomon left
22:14
travis-ci joined
|
|||
travis-ci | NQP build failed. Elizabeth Mattijsen 'Bump MoarVM to get new nqp::stat behavior' | 22:14 | |
travis-ci.org/perl6/nqp/builds/50413111 github.com/perl6/nqp/compare/eb40e...5ff395364e | |||
22:14
travis-ci left
|
|||
lizmat | huh? | 22:14 | |
dalek | ast: 8626cca | FROGGS++ | S02-names/strict.t: favor "use strict" over bare literals - RT #123696 |
||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123696 | ||
raydiak | [ptc]: heh np...we wouldn't want your alarm going off in 48 minutes | ||
22:15
skids left
|
|||
Kristien | m: sub f { fail "foo"; }; my $x = f | 22:15 | |
camelia | rakudo-moar 2f7046: OUTPUT«Unhandled exception: foo at <unknown>:1 (/home/camelia/rakudo-inst-2/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295) from src/gen/m-CORE.setting:14627 (/home/camelia/rakudo-inst-2/languages/perl6/runtime/CORE.setting.moarvm:sink:29)…» | ||
Kristien | m: sub f { fail "foo"; }; my $x = f; say "hi" | ||
camelia | rakudo-moar 2f7046: OUTPUT«hi» | ||
Kristien | m: sub f { fail "foo"; }; my $x = f; say "hi"; $x | 22:16 | |
camelia | rakudo-moar 2f7046: OUTPUT«hiUnhandled exception: foo at <unknown>:1 (/home/camelia/rakudo-inst-2/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295) from src/gen/m-CORE.setting:14627 (/home/camelia/rakudo-inst-2/languages/perl6/runtime/CORE.setting.moarvm:sin…» | ||
Kristien | m: sub f { fail "foo"; }; my $x = f; say "hi"; say $x | ||
camelia | rakudo-moar 2f7046: OUTPUT«hifoo in method gist at src/gen/m-CORE.setting:14619 in sub say at src/gen/m-CORE.setting:17379 in block <unit> at /tmp/LYEsWCLPP3:1» | ||
Kristien | interesting | ||
especially the first one where the variable definition is the last statement | 22:17 | ||
dalek | p: ee0b84c | lizmat++ | t/nqp/19-file-ops.t: Comment out failing symlink test for now |
22:18 | |
lizmat | FWIW, this test did *not* fail for me on OS X | 22:19 | |
but it should make Travis happy | |||
22:20
pmurias left
|
|||
dalek | kudo/nom: 1b0d7af | lizmat++ | tools/build/NQP_REVISION: Bump NQP version to get latest stat behavior |
22:20 | |
22:21
MadcapRusso is now known as MadcapJake
22:22
tengignick joined
22:23
travis-ci joined
|
|||
travis-ci | NQP build passed. Elizabeth Mattijsen 'Comment out failing symlink test for now' | 22:23 | |
travis-ci.org/perl6/nqp/builds/50414079 github.com/perl6/nqp/compare/6a5ff...0b84cbf80c | |||
22:23
travis-ci left
|
|||
b2gills | skids: the problem with the C spec is that it depends on the processor, and considering there are 16,32,64 bit versions of the the 80x86 processor that can lead to problems | 22:23 | |
dalek | kudo-star-daily: 1572d3c | coke++ | log/ (14 files): today (automated commit) |
22:24 | |
FROGGS_ | gnight #perl6 | 22:25 | |
[Coke] | moritz: iwbni hack.p6c.org had a web page that showed it was a perl 6 community server at the default port. might help me get the page classified so I could get to the box through our internal http proxies. | ||
22:25
FROGGS_ left
22:26
Alina-malina left
|
|||
b2gills | The 8086 was also made source compatible with the 8bit 8085 (still in use inside of modern hardware like WLAN and harddrives) | 22:27 | |
22:27
tengignick left,
Alina-malina joined
|
|||
[Coke] | (master) I'd like us to switch to a master/develop branch strategy, but not enough to argue with anyone. | 22:29 | |
lizmat | good night, #perl6! | 22:30 | |
b2gills | Perl5 uses `blead` | ||
*bleed? | |||
PerlJam | blead | ||
but I'd say that more of a distinction that separates rather than joins | 22:31 | ||
22:32
tengignick joined
|
|||
b2gills | I think the branch name should reflect how it is being used, so `develop` would make just as much, or more sense than `master` | 22:33 | |
22:33
alini joined
|
|||
[Coke] | (going through this now for work stuff, and nvie.com/posts/a-successful-git-branching-model/ nvie.com/posts/a-successful-git-branching-model/ looks like the simplest thing that works for us) | 22:35 | |
PerlJam | If we're going to rename the main branch, I'd argue for "master" and against anything else. | 22:36 | |
b2gills | .oO( Perl 6 is good enough to nom on ) |
||
[Coke] | PerlJam: I don't think anyone is arguing for master to be anything other than master (or nom) | 22:37 | |
22:38
Mouq left
|
|||
b2gills | I just don't like it when things are the way they are just because `this is the way it's always been done` | 22:39 | |
22:39
colomon joined
|
|||
PerlJam | b2gills: I don't like it when things are changed just because "this is the way it's always been done, time for a change" :-) | 22:41 | |
22:41
tgt left
|
|||
raydiak | methinks sometimes that is a perfectly valid reason...otoh in many cases it is also a good reason for *not* doing things that way...bah yer all too quick for me :) | 22:41 | |
PerlJam | b2gills: It's like when my wife feels compelled to rearrange the livingroom furniture for no apparent reason. I was happy with the existing arrangement, why change? | ||
TimToady | avoid wearing paths in the carpet/floor | 22:42 | |
b2gills | PerlJam: I don't like change for the sake of change either. ( really I don't care what the main branch is called ) | ||
PerlJam | TimToady: and then people get up at 2am and stumble through the living room damaging their shins and/or furniture on their way to the kitchen :) | 22:43 | |
raydiak | bah people heal, it's the furniture you need to worry about | 22:44 | |
b2gills | Floors usually wear by the doors first, which isn't that easy to change | ||
TimToady | LED nightlights are very cheap to run these days | ||
raydiak | in the case of branch naming, I think it'd be wisest to go with a familiar scheme more than break the mold...don't think there is much to be gained by going unconventional, but there is much to be lost (e.g. contributors) | 22:47 | |
(that answer makes my particular personality a tad disappointed, but...priorities I guess) | |||
PerlJam | "nom" is kind of idiosyncratic just like "blead" is in p5-land. | 22:48 | |
22:48
diana_olhovik_ left
|
|||
PerlJam | for some reason "blead" bothers me more than "nom" as far as named go | 22:48 | |
masak | there's a point where the "new" in "new object model" isn't so new anymore... :) | ||
raydiak | what is up with "blead" anyway? it ain't hydraulics :P | ||
22:48
alini left
|
|||
b2gills | bleading edge | 22:49 | |
raydiak | the result of cutting is bleeding, not bleading, unless it's another EU thing | ||
PerlJam | masak: then we just morph "new" into "natural" or something that starts with "n" :) | ||
aye, "blead" probably bothers me because of the spelling | 22:50 | ||
(whereas "nom" makes more sense) | |||
raydiak | you could make the argument that your blood *is* a hydraulic system and so blead may be appropriate, but that's quite a stretch imo | 22:51 | |
22:51
tengignick left
|
|||
hahainternet | raydiak: what are you a spider? | 22:52 | |
dalek | kudo/native-ref: 0ea942a | jnthn++ | src/Perl6/Actions.nqp: Move out illegal placeholder detection. Can probably further move this into placeholder variable handling itself later on. |
22:53 | |
kudo/native-ref: 9e89663 | jnthn++ | src/Perl6/Actions.nqp: Make build_signature_object a method. In preparation for being able to call it after we parse a signature. |
|||
masak | it's only hydraulic if it's oil-based, no? | ||
b2gills | I believe that the latest version of Perl was called `blead` on the download page even before the transition to git | ||
raydiak | hahainternet: you first...what are you? most people don't have a (meaningful) answer to that :) | ||
PerlJam | masak: no, any liquid should do | ||
hahainternet | definitely not hydraulically powered :p | ||
raydiak | masak: hydraulics applies to any fluid, even pneumatics | ||
masak | PerlJam: ah, TIL. | ||
hahainternet | raydiak: fwiw unless you knew already, spiders do articulate their limbs via blood hydraulics | 22:54 | |
masak | raydiak: surely air isn't a fluid, tho'? | ||
PerlJam | raydiak: pneumatics are about gases, not fluids | ||
hahainternet | that's why they curl up when they die | ||
raydiak | masak: liquids and gasses are both fluids | ||
masak | o.O | 22:55 | |
PerlJam | raydiak: only if you squint quite a bit | ||
raydiak: and are plasmas also "liquid" ? :) | |||
raydiak: er, fluid | |||
raydiak | PerlJam: I am not sure which way they chose to go with that one, whoever "they" are that decideds such vernaculars | 22:56 | |
b2gills | We had a hydraulic tilt/trim system for our boat that used 5W30 motor oil | ||
PerlJam | raydiak: and rocks can be fluid during an avalanche, I don't see anyone talking about hydraulics there. ;) | ||
TimToady | "a substance that has no fixed shape and yields easily to external pressure; a gas or (especially) a liquid." | ||
"Fluids are a subset of the phases of matter and include liquids, gases, plasmas and, to some extent, plastic solids." | 22:57 | ||
masak | fluids get around much more than I knew. | ||
raydiak wonders whether solids could be modelled by the same dynamics over large enough spans of time and space | |||
PerlJam | ah, then back to hydraulics ... they're about *liquids*, not just any fluid ;) | ||
raydiak | like glass | ||
TimToady | but hydraulics is usually construed as liquid as the prototypical meaning | ||
since hydro is "water" | 22:58 | ||
but it's generalized from that somewhat | |||
language is not really about drawing boundaries, but about central meanings and which word's central meaning is close enough to use | |||
b2gills | and there is already a name for things which use a gas: pneumatic | 22:59 | |
22:59
espadrine left
|
|||
raydiak | kinda like how usually when peole say supercharger they don't mean a turbo, even though the term actually covers both regardless of power source (crank or exhaust gasses^WFLUIDS) | 22:59 | |
23:00
vendethiel left,
alini joined
|
|||
raydiak | I thought the more important lesson of that was to look at how liquids and gasses move in very similar ways, have vorticies, waves, etc...even when I look up in the sky and see those choppy-looking clouds, it looks like you're looking up at the water from beneath the surface...b/c they're behaving according to fluid dynamics | 23:00 | |
23:00
tengignick joined
|
|||
TimToady | someone should build a "water clock" based on the flow of glass | 23:00 | |
unfortunately, it'll probably speed up as the earth heats up | 23:01 | ||
dalek | kudo/native-ref: 3038152 | jnthn++ | src/Perl6/ (2 files): De-confuse parameter info hashes with objects. Storing them under the same key was just asking for confusion, and gets in the way of dealing with parameters earlier. (Longer term, we might just want to skip the hashes and work with Parameter objects right off.) |
||
kudo/native-ref: 9aa014c | jnthn++ | src/Perl6/ (2 files): Build routine_def sigs immediately after parsing. This means we also properly register the variables with their nominal types and rw-ness, meaning we'll be able to generate simpler QAST with less lexicalref, and also catch assignments to ro native parameters at compile time. (Similar refactors are now needed for methods and pointy blocks.) |
|||
PerlJam home & | |||
b2gills | The meaning of words also tend to drift from there original meanings english.stackexchange.com/question...e-vs-awful | ||
TimToady always kinda thought hashes were overkill for named params generally | 23:02 | ||
masak | b2gills: yes, that's awful :P | ||
b2gills | awesomely awful? | ||
dalek | kudo/native-ref: c8db372 | jnthn++ | src/Perl6/ (2 files): Flag ro-native parameters, and use the info. With this we now emit lexical rather than lexicalref accesses to the known-readonly things, and produce a compile-time error if there is an obvious assignment to them. Note, only effective in subs so far. |
23:03 | |
jnthn | TimToady: It's not about named params in this case | 23:04 | |
b2gills | Well hashes were the simplest thing that could possibly work for named params | ||
( in Perl ) | |||
jnthn | TimToady: The hash is a bunch of data we collect as we parse parameters | ||
TimToady: It's then transformed into a Parameter object | |||
TimToady | um, I don't think hashes are the simplest thing that could possibly work, no | ||
jnthn | We don't pass named params as a hash. | 23:05 | |
uh, named args | |||
23:05
vendethiel joined
|
|||
jnthn | A hash only shows up if you slurp them up. | 23:05 | |
TimToady | but the slow binder puts them into a hash and deletes them, as I recall | ||
jnthn | Yeah | ||
The VM-level one that we hit in all the common cases does't. | 23:06 | ||
*doesn't | |||
Just keeps a char array and notes what it saw. | |||
Ugh, I seem to have upset a bunch of the docs tests. | |||
TimToady wonders if we could track those notes good enough to say "this parameter was never used, did you mean..." | 23:07 | ||
s/parameter/argument/ | |||
jnthn | Maybe :) | ||
sub foo(int $a) { $a = 42 } # now a compile-time error \o/ | 23:08 | ||
masak | whoa. | ||
jnthn++ | |||
jnthn | Only for natives; I'll look into expanding that to other things later. | ||
sub foo(int $a is rw) { $a = 42 } # works, of course | 23:09 | ||
Kristien | why is the former an error? | 23:10 | |
is $a immutable? | |||
raydiak | Kristien: yes unless you use 'is rw' or 'is copy' | ||
jnthn | Yes | ||
masak | Kristien: yes, parameters are by default. | ||
Kristien | weird | ||
masak | Kristien: it's a nice default. | ||
jnthn | Hm, I didn't deal with "is copy" yet :) | ||
Juerd | Kristien: Perhaps, but it's very useful. | ||
Kristien | inconsistent with variables | ||
jnthn | (on natives) | ||
hoelzro | I kinda wish that variables were ro by default | 23:11 | |
masak | Kristien: well, that matters less than you might think. | ||
Kristien: you create a variable for a different purpose than you create a parameter. | |||
TimToady | hoelzro: that role is currently filled by my \foo = expression | ||
sort of SSA on the p6 level | 23:12 | ||
hoelzro | interesting, I've been wondering what that was | ||
23:12
molaf left
|
|||
b2gills | m: my $a ::= 5; $a++; say $a | 23:13 | |
camelia | rakudo-moar 2f7046: OUTPUT«Cannot assign to an immutable value in sub postfix:<++> at src/gen/m-CORE.setting:5530 in block <unit> at /tmp/kWpSNxgkiz:1» | ||
TimToady | well, that's not really working the way it's supposed to | ||
masak | Kristien: there are two ways for a parameter to be writable: either it's a copy of the argument ('is copy'), or it's bound to the argument ('is rw'). Perl 6 chooses the safe default ('is readonly'), and as a bonus, you also have to specify explicitly which kind of writability you want. | ||
Kristien | m: my $x = 1; $$x.perl.say; # can you pass a container? | 23:14 | |
camelia | rakudo-moar 2f7046: OUTPUT«1» | ||
b2gills | m: my $a = 5; my $b ::= $a; $a++; say $a; say $b | ||
camelia | rakudo-moar 2f7046: OUTPUT«66» | ||
Kristien | m: my $x = 1; ($$x).perl.say; # can you pass a container? | ||
camelia | rakudo-moar 2f7046: OUTPUT«1» | ||
TimToady | m: my $a = 0; my $b ::= $a; $b++; say $b; # should fail | ||
camelia | rakudo-moar 2f7046: OUTPUT«1» | ||
geekosaur | m: my $a = 5; $a.VAR.say; # ? | ||
camelia | rakudo-moar 2f7046: OUTPUT«5» | ||
geekosaur | hm, can't tell that way :p | ||
m: my $a = 5; $a.VAR.perl.say; # ? | |||
camelia | rakudo-moar 2f7046: OUTPUT«Int.new()» | ||
Kristien | m: my $a = 5; $a.VAR.perl.say | ||
camelia | rakudo-moar 2f7046: OUTPUT«Int.new()» | ||
Kristien | welltime to sleep | 23:15 | |
bey! | |||
23:15
Kristien left,
wicope left
23:26
Ugator left
23:31
mohij left
|
|||
jnthn | 'night, #perl6 | 23:33 | |
23:35
_dolmen_ left,
adu left
23:36
Mouq joined
23:47
Sqirrel joined
|
|||
raydiak is still pondering "language is not really about drawing boundaries, but about central meanings and which word's central meaning is close enough to use"...just another one of those seemingly simple ideas with the potential to permanently change how you think; TimToady++ | 23:50 | ||
hahainternet | would a posessive apostrophe on word make sense? this is how bad at grammar i am | ||
23:53
alini left
|
|||
masak | raydiak: sounds like what Hofstadter refers to as "clouds" of meaning | 23:53 | |
hahainternet: "that's how bad at grammar I *is*" | 23:54 | ||
:P | |||
hahainternet | masak: innit | ||
raydiak | masak: oh that's a very good description of the image it gave me in my head | ||
b2gills | You might be a redneck: www.youtube.com/watch?v=BvPCcYrBg5s | 23:55 | |
masak | raydiak: if you like that, I can recommend books by Hofstadter. | 23:56 | |
23:56
_dolmen_ joined
|
|||
raydiak | masak: no book budget atm, but couldn't hurt to add them to my list and to the distant horizon of my mental landscape | 23:57 | |
masak | might happen sooner than you think :) | 23:58 | |
23:58
telex left
23:59
BenGoldberg joined
|
|||
raydiak | certainly could :) | 23:59 |