»ö« 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/Ep063anGcN␤Unsupported use of rand(N); in Perl 6 please use N.rand for Num or (^N).pick for Int result␤at /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/wudwRsNtJx␤Undeclared 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/cMl2ElW3SD␤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument␤at /tmp/cMl2ElW3SD:1␤------> say ⏏“110”.Int[0…»
colomon m: say “110”.Real
camelia rakudo-moar f53a94: OUTPUT«===SORRY!=== Error while compiling /tmp/UCOBCmOaKf␤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument␤at /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 &copy 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/E5HrdkAE3D␤Two terms in a row␤at /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/5KUjXYxLig␤Variable '$a' is not declared␤at /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 declared␤at /tmp/7rdFWNA3rF:1␤------> my π ⏏= 3;␤Malformed my␤at /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_ud3BtDep␤Variable '$π' is not declared␤at /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«hi␤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:sin…»
Kristien m: sub f { fail "foo"; }; my $x = f; say "hi"; say $x
camelia rakudo-moar 2f7046: OUTPUT«hi␤foo␤ 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«6␤6␤»
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