»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:06 PacoAir joined 00:16 benabik left 00:17 benabik joined 00:33 MayDaniel left 00:35 sudokode left, mikemol left 00:36 spider-mario left, integral joined, integral left, integral joined 00:37 geekosaur joined, Targen joined 00:42 mikemol joined, HarryS joined 00:53 sudokode joined 01:31 PacoAir left 01:38 jeffreykegler left 01:44 mucker left 01:54 benabik left 01:55 benabik joined 02:12 jeffreykegler joined 02:29 Targen left, Targen_ joined 02:38 Psyche^ joined 02:42 Patterner left, Psyche^ is now known as Patterner 02:45 orafu left, orafu joined, soooga joined 03:07 Chillance left 03:14 localhost left 03:16 localhost joined
dalek d: 31d74ba | larry++ | STD.pm6:
hash subscripts not subject to endargs
03:24
d: 285983f | larry++ | STD.pm6:
don't treat % as separator when it's a sigil
d: a741fac | larry++ | STD.pm6:
recommend a ** b --> a +% b rather than a+ % b
diakopter I haven't had a blue-screen-of-death since XP (none in Vista, none in Win7), but I just got my first one in Win8 03:34
benabik Good to know it's a step back in more than just UI design. 03:35
diakopter it's a step forward in a _lot_ of areas; I'm extremely pleased overall. (since I totally ignore the Start screen and hacked my own start menu) 03:37
03:39 smash left 03:58 topo left 04:12 thou joined 04:13 kaare_ joined 04:22 birdwindupbird joined
moritz \o 04:22
dalek d: b669e5c | larry++ | / (2 files):
various snaptest cleanups
04:24
d: 02fbd65 | larry++ | boot/STD.pmc:
make reboot
04:25 JimmyZ joined
diakopter TimToady: I noticed some json dump in viv 04:26
TimToady yaml, surely
diakopter oh yes.
ingy Y♥ML 04:32
JimmyZ just found there is old perl6 site: www.perl-6.org/ 04:34
04:42 thou left 04:47 ptl joined
dalek ecs: 7c9bbf5 | larry++ | S03-operators.pod:
[&foo] is okay but [$foo] is too ambiguous
04:58
04:58 cognominal_ left
dalek d: d96f25c | larry++ | / (2 files):
Allow only [&foo] form, not [$foo]
04:59
JimmyZ TimToady: looks like you revert 6aa4943b3be3a12b29264cb85db304c2e0718ece 05:04
TimToady whoops 05:05
otoh, I'm not sure I believe in the ^ -> HOW shortcut 05:06
JimmyZ is not sure which is right too 05:07
diakopter has been staring at a bug for a few hours, weakly attempting to trace it 05:09
TimToady oh, it was removing the fossil, so I'd better redo it
dalek ecs: be2490f | larry++ | S03-operators.pod:
put back moritz++'s fossil removal
05:10
TimToady JimmyZ++ too
moritz oh, did that get lost in a merge? 05:13
TimToady: let me guess, you had an editor open with your changes, then you 'git pull'ed and saved S03 in your editor
that seems to be the most common cause for accidentally reversing stuff 05:14
05:14 driador joined
diakopter c'mon, someone give me some magic inspiration to solve this 05:15
benabik Abracadabra!
moritz diakopter: cosmic ray!
benabik Tenser's Floating Disk!
moritz the hardest bugs are when there are two copies of the code (like, in different directories, or on different machines) and you're looking at the wrong one 05:16
JimmyZ the harder bug is that you're gdbing it, but you find it you're in wrong branch eventually. 05:18
benabik My current favorite is "the function returns the correct value, but it seems to mutate to the wrong one in memory at some random point". 05:19
diakopter moritz: the cosmic ray must've worked 05:20
moritz diakopter: \o/
benabik Always nice when cosmic rays help solve bugs instead of randomly introducing one.
diakopter I had forgotten to set an environment variable that enabled debug output 05:21
so I was staring at stable debug output for the longest time 05:23
*stale
I blame the Win8 forced reboot. 05:24
05:28 thelazydeveloper left
moritz diakopter++ # cosmic ray debugging 05:32
nr: say (1 + 2i) < (2 + 3i) 05:34
p6eval niecza v19-15-g051783d: OUTPUT«Unhandled exception: Complex numbers are not arithmetically ordered; use cmp if you want an arbitrary order␤ at /tmp/GOT7IoSM39 line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3929 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.settin…
..rakudo 0dd82c: OUTPUT«Cannot call 'Real'; none of these signatures match:␤:(Mu:U \$v, Mu *%_)␤␤ in method Real at src/gen/CORE.setting:705␤ in sub infix:<<> at src/gen/CORE.setting:2550␤ in sub infix:<<> at src/gen/CORE.setting:2550␤ in block at /tmp/M5eEfoTv82:1␤␤»
benabik niecza++ # useful error messages
dalek c: 65fff9b | moritz++ | lib/operators.pod:
[operators] Range operators, associativity updates
05:37
c: 30d87e2 | moritz++ | lib/operators.pod:
[operators] numeric comparison operators
c: de992b4 | moritz++ | lib/operators.pod:
[operators] start to list non-coercive multi variants too
05:46
06:02 SamuraiJack joined 06:09 driador left 06:11 _fall0ut_ joined 06:12 birdwindupbird left 06:18 SamuraiJack left 06:23 jeffreykegler left 06:24 SamuraiJack joined 06:26 MayDaniel joined 06:27 brrt joined 06:28 brrt left
moritz nr: my $a; my $b := $a; say $b =:= $a 06:35
p6eval rakudo 0dd82c, niecza v19-15-g051783d: OUTPUT«True␤»
moritz nr: my $a; sub f($x) { say $x =:= $a }; f my $b; f $a; 06:38
p6eval rakudo 0dd82c: OUTPUT«False␤False␤»
..niecza v19-15-g051783d: OUTPUT«Potential difficulties:␤ $b is declared but not used at /tmp/UhKC5qtWWL line 1:␤------> y $a; sub f($x) { say $x =:= $a }; f my ⏏$b; f $a;␤␤False␤False␤»
06:44 Targen_ is now known as Targen 07:04 birdwindupbird joined, gongyiliao left
moritz n: sub f($) { }; my $x; f $x 07:07
p6eval niecza v19-15-g051783d: ( no output )
moritz n: sub f($) { }; f my $x
p6eval niecza v19-15-g051783d: OUTPUT«Potential difficulties:␤ $x is declared but not used at /tmp/e01k4IRPCF line 1:␤------> sub f($) { }; f my ⏏$x␤␤»
moritz submits nieczabug
TimToady I don't think that's a bug 07:08
moritz why should the warnings differ for my $x; f $x; and f my $x 07:09
when both do exactly the same?
TimToady no, they don't
the second one declares a name that is never used
moritz but it used 07:10
it is passed to f
TimToady the value is used
$x isn't
moritz the container is used, potentially
TimToady n: sub f($) { }; f my $
p6eval niecza v19-15-g051783d: ( no output )
TimToady that is the equivalent
moritz hmm
moritz unsubmits nieczabug
TimToady the point of the message is the name, not the value
sorear n: sub f($) { }; f anon $x 07:16
p6eval niecza v19-15-g051783d: ( no output )
sorear if you want to name it for documentation/debugging purposes
(currently anon names are only used for functions, but this is an idea I could persue if I ever find debugger tuits, whatis $ref) 07:17
dalek c: 0bf9571 | moritz++ | lib/operators.pod:
[operators] more chaining comparison operators
07:29
sorear TimToady: what's wrong with [$fooo 07:36
[?
]?
07:49 topo joined
dalek href="https://perl6.org:">perl6.org: 6e8909f | moritz++ | source/snippets/ (5 files):
add example snippets. Compiled by masak++ in gist.github.com/3324433
07:53
08:15 quietfanatic left
dalek kudo/nom: e20252c | moritz++ | src/Perl6/Actions.pm:
do not Whatever-prime prefix:<^>

the spec does not say it should, and niecza does not
08:34
href="https://perl6.org:">perl6.org: ab0620f | moritz++ | mowyw.conf:
[mowyw.conf] do not process RFCs
08:35
sorear moritz: I'm pretty sure niecza's list was just copied from rakudo ng 08:36
moritz sorear: :-)
meh 08:52
I'm trying to set up the random snippets for perl6.org with apache2 + mod_random
and I simply get a 404
and of course there's no debugging output or anything 08:53
08:58 MayDaniel left
moritz last commit in 2001 09:00
meh, I'll just write a perl script that does it 09:02
dalek href="https://perl6.org:">perl6.org: 18407b3 | moritz++ | source/snippet.pl:
add CGI script for randomly serving a file

mod_random simply did not work, always returned a 404
09:10
href="https://perl6.org:">perl6.org: 1a85052 | moritz++ | source/snippet.pl (2 files):
make it executable
09:13
masak *yawn* 09:14
good morning, #perl6
moritz good antenoon, masak 09:15
masak .oO( should have antecepated that one... ) 09:16
JimmyZ 早上好,麦高
dalek href="https://perl6.org:">perl6.org: 1ed51c4 | moritz++ | source/snippet.pl:
fix thinko
moritz masak: perl6.org/snippet
sjohnson sorear: if i may ask, what is your first language?
i'm guessing English isn't it, since I've been surprised so many times already 09:17
moritz I think American English :-)
sorear hahaha.
masak 晚上好,荣幸
卓明亮
# New Ticket Created by 卓明亮 # Please include the string: [perl #74910] # in t...
5/5/10
sorear US English is my first and only decent language
masak heh. paste fail. 09:18
晚上好,荣幸卓明亮
sorear um
extremely interesting - I recognize the name '卓明亮' but not the characters in it
did not know my brain could do that.
masak considers having some coffee to avoid creating further embarassment
dalek href="https://perl6.org:">perl6.org: 4fdb255 | moritz++ | source/index.html:
[front page] just Modules, thanks
09:19
masak rr*
moritz: re perl6.org/snippet -- cool.
JimmyZ heh 09:20
sjohnson sorear: everytime I ask someone, it's English, everytime I never suspect it, it's German :)
moritz++ being a good example
sorear sjohnson: I was going to learn as much German as possible this month, but I misestimated my tuit supply and that turned out to be none. 09:21
(I think I have the pronunciation/orthography rules mostly down though)
masak moritz: for some reason, I picture the way it would look on the main page: rectangular div, #3333dd background, maybe white text, rounded corners. 09:22
moritz masak: then make it that way :-) 09:23
masak: fwiw there are CSS classes in the output for syntax hilighting
masak oh wow.
is it fine to wire it all up with jQuery ajax?
or do we do ajax without jQuery on the perl6.org site?
moritz without ajax please
there's no need for javascript on the front page 09:24
perlgeek.de/css/screen/syntax.css is what I use on my blog, fwiw
masak sorry, how are we meaning to randomly load and show snippets on the main page without javascript? 09:25
sorear iframe? 09:27
SSI?
iframe probably best 09:28
moritz SSI 09:29
sorear was that intended as a pick? 09:30
moritz yes 09:31
<!--#include virtual="/snippet"-->
09:31 tokuhiro_ joined
moritz I'll add a AddOutputFilter INCLUDES .html to the virtual host config 09:33
done 09:37
(I don't like iframes for this, because it results in another request, and burdens the client with something that the server should do) 09:38
(plus, the snippets don't a fulll HTML structure, just <pre>...</pre>)
09:43 birdwindupbird left 09:44 Targen left 09:46 tokuhiro_ left, spider-mario joined 09:50 Targen joined 09:55 brrt joined 09:56 daniel-s_ joined 09:57 MayDaniel joined, spider-mario left 10:00 spider-mario joined, daniel-s left 10:07 spider-mario left 10:20 brrt left
masak I may have time to look at doing an SSL patch later today. 10:21
10:21 spider-mario joined
masak moritz++ for laying the groundwork. 10:21
10:23 Patterner left, cognominal joined, Psyche^ joined 10:24 Psyche^ is now known as Patterner
sorear o/ masak 10:25
masak \o 10:26
heading offline for a few hours of extended lunch with people I don't know.
see you later, #perl6.
10:56 birdwindupbird joined 10:57 Targen left 11:00 Targen joined
dalek href="https://perl6.org:">perl6.org: 73033d7 | moritz++ | source/TEMP-example.html:
add a temporary page to test exampl snippet inclusion
11:03
moritz masak: see that new page, includes work in there 11:08
11:12 JimmyZ left
moritz ... or not 11:14
looks fine when downloaded with wget
but opera shows a bunch of binary data after the example
chromium says "Error 330 (net::ERR_CONTENT_DECODING_FAILED): Unknown error." 11:15
firefox says "The page you are trying to view cannot be shown because it uses an invalid or unsupported form of compression."
must be some content negotation f*ckup 11:16
'cause wget + hexdump show that there's nothing to complain about
sorear what's the URL? 11:18
moritz sorear: perl6.org/TEMP-example
apache seems to reply with Content-Encoding: gzip 11:22
and then 2cd
then the response unencoded
and then a blob, of which I suspect it might be the gzip version 11:23
sorear hehe
jnthn afternoon, #perl6
sorear I guess wget is sending different accept headers?
moritz ah no, the 2cd probably a marker from the Transfer-Encoding: chunked
sorear Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 11:24
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
pulled out of chrome inspecter.
moritz aye
I guess that wget dosn't send the Accept-Encoding header
sorear response was chunked+gzip
(I had to pull an odd stunt to get chrome to _tell me_ that) 11:25
moritz sorear: I just started wireshark right away :-)
moritz.faui2k3.org/tmp/temp.stream # that's what wireshark gives me, after 'Follow TCP stream' -> 'Save As' 11:26
ok, now to the interesting question: how to stop apache from doing that stupid stunt? 11:27
jnthn moritz: You made a CGI script? Does it emit a Content-type header?
jnthn guessing wildly after incomplete backlog :) 11:28
ah, perl6.org/snippet works well here 11:29
huh, oddness. I just got Firefox to send requests through Fiddler. Firefox says it can Accept-Encoding gzip. Then the respose that comes back has Content-encoding: gzip 11:32
(That's on perl6.org/TEMP-example)
The raw response is odd because it seems to have a uncompressed chunk of text (the source from the snippet script afaict) followed by some binary data 11:34
And trying to get fiddler to decode it complains that the magic number in the gzip header is incorrect.
11:35 gongyiliao joined
moritz jnthn: yes, that's the problem 11:36
it seems to send chunked encoded, with one plain text chunk and one gzip chunk
or maybe s:g/chunk/junk/ :-)
ok, I'm now tryin the obvious and upgrading apache :-) 11:37
nope, no dice
jnthn moritz: Is the unencoded chunk coming from SSI?
moritz jnthn: yes 11:38
jnthn lo.O
jnthn would have expected it to incorporate that and *then* do the gzip stuff
moritz maybe the output filter is run after the gzip encoding? :-)
jnthn Yeah, that's what I'm wondering
But that'd be a really wtf thing to do!
jnthn hasn't configured and apache server for > 5 years 11:39
moritz I've now removed the output filter, and instead actived the x bit hack 11:41
still same problem
11:42 capiira joined
moritz disable the 'deflate' module 11:42
perl6.org/TEMP-example now works in the browsers I've tried
(ff, opera, chromium) 11:43
that seems a bit LTA, but oh well, I'm not inclined to dig too deep into it 11:45
jnthn moritz: We ain't the first to see bad interactions between deflate and include in seems
issues.apache.org/bugzilla/show_bu...i?id=17629
moritz jnthn++ 11:47
that example uses a redirect in the CGI
which mine doesn't. But still same symptoms
"On further thought, this is a much more general problem than mod_deflate." 11:49
how encouraging :-)
sorear how old is our apache? 11:51
moritz ii apache2 2.2.16-6+squee Apache HTTP Server metapackage
11:52 JimmyZ joined
sorear seems the PR17629 fix made Apache 2.2.17. mirror.cogentco.com/pub/apache//htt...HANGES_2.2 11:56
11:57 gongyiliao left 12:18 alvis` left 12:26 xinming left 12:28 xinming joined 12:38 thelazydeveloper joined 12:44 birdwindupbird left
arnsholt Hmm. Time to clean up some stashes in my NQP repo I think 12:49
12:50 tokuhiro_ joined 12:53 capiira left
arnsholt jnthn: Does Rakudo implement any of the 6model C APIs directly? 13:20
13:30 smash joined
smash hello everyone 13:30
arnsholt 'lo 13:31
13:36 kaare_ left 13:49 szabgab joined
szabgab \o/ 13:50
Currently I am a very frustrated Windows user
I cannot bootstrap Panda
I still get this error: www.nntp.perl.org/group/perl.perl6....g1635.html 13:51
anyone with some Windows and Panda fu around? 13:52
Anyone maybe called tadzik ?
anyway, I played with the code a bit and changed the shell command in the build method of the Panda::Builder to be 13:53
shell "perl lib/File/Find.pm" with the hard-code file name. 13:54
That did not generate the strange error message
sorry that was perl6 of course
but if I left "perl6 $file" I still got the error 13:55
Other experiments showed that the 'p' in the error comes from the first letter of the command.
colomon szabgab: I'll try to take a look at this in a few minutes, but right now I've got a snuggly three-year-old demanding to watch model railroading videos on my computer. 13:56
szabgab colomon: sure, that's how I bought my railroad set too :)
13:57 JimmyZ left 13:59 SamuraiJack_ joined, SamuraiJack left 14:00 xinming_ joined 14:01 xinming left
colomon szabgab: ack, now he wants a 51 minute video. sorry! 14:10
TimToady sorear: the problem with [$foo] is that it's too likely to misparse an Array composer; had this line from roast: unshift @c, [[$a[0], $b[0]], $a[1] + $b[1]]; 14:12
szabgab :)
TimToady it had already committed to parsing as [[$a]] too deeply to backtrack out of it for some reason 14:14
and I decided it was just too ambiguous anyway
dalek p/dyncall-sized-num: f126661 | (Arne Skjærholt)++ | src/ (6 files):
Update get_attribute_ref prototype to return bit width of attribute.
p/dyncall-sized-num: 2407c15 | (Arne Skjærholt)++ | src/ops/nqp.ops:
Pass bits pointer to get_attribute_ref in nqp.ops.
p/dyncall-sized-num: 08bdce1 | (Arne Skjærholt)++ | src/6model/reprs/ (2 files):
Update (functional) implementors of get_attribute_ref to return bit-width.

Right now they are hard-coded to just return 8*sizeof(void *). I think that should be a good way to return the number of bits in a machine word, but probably a decision that deserves some more scrutiny.
p/dyncall-sized-num: 049a630 | (Arne Skjærholt)++ | src/6model/reprs/CStruct.c:
Return correct number of bits in get_attribute_ref in CStruct.c.
TimToady and one can always write [&($foo)] in that case
one is much less likely to start an array composer with & than with $ 14:17
diakopter szabgab: the author of panda knows about that error 14:20
but doesn't have Windows machine to test/develop on, it seems
szabgab diakopter: you mean tadzik ?
wors cae I can grab hom at YAPC 14:21
worst case
masak I again come here.
(hi, #perl6) 14:22
szabgab hi masak
masak hello, szabgab.
TimToady is that how you'd say it in Swedish?
or is it just weird English? (I again come here.) 14:23
masak TimToady: no. there was a guy here over a year ago who always said that on entry. I tried to teach him more colloquial ways. :)
diakopter szabgab: whoever the author of panda is; he had me test panda bootstrap the other day and I got the same error and sent it to him but he couldn't do anything about it.
masak I don't remember his nick, but I think it was something with "Perl" in it. 14:24
szabgab: I've been having a mild blogger's burnout in the past two weeks. otherwise I would've already taken you up on your offer to blog for 6maven, which I think is a great initiative.
szabgab masak: sure no problem, 14:25
I am just sooo frustrated with this Windows bug
masak oh! it was "perlhack". and he said "I again come to here".
irclog.perlgeek.de/search.pl?channe...k=perlhack 14:26
diakopter szabgab: it's probably not so much a bug as just unimplemented on Windows
szabgab diakopter: if I hardcode the same command it works but when I get it from the variables it gives this stupid error 14:27
I thought there might be some unicode issue or some invisible characters 14:28
diakopter explain hardcode
aloha positive: nothing; negative: nothing; overall: 0.
diakopter (where)
14:28 whiteknight joined, whiteknight is now known as Guest2660
szabgab the code hase something like shell "perl6 $file" that gives the error 14:28
if I write shell "perl6 lib/Find/File.pm" it works 14:29
thought the commend is a bit longer with --targer=pir etc
masak <perlhack> i again come to here. 14:30
<perlhack> *IN LOVE*
and not once did the channel try to put him down for showing such enthusiasm over being here.
TimToady till now :)
masak even though his main purpose seemed to be to learn English rather than talk about Perl 6. :)
TimToady: oh, I hope I'm not saying anything which I couldn't say to his face. I think it was a nice guy. 14:31
TimToady agreed
shower &
masak I read the logs with him in it, and see him "disrupting" the whole discourse of the channel simply by being happy and chatting in extremely nonstandard English. 14:32
and I get the feeling that #perl6 as a channel *liked* being thus disrupted, and played along. 14:33
I don't know *any* other channel on any IRC network which would react that way.
<perlhack> Oh i am a new English person 14:34
that sentence makes perfect sense if you know Mandarin. 14:35
szabgab or if you are Yoda 14:37
szabgab is still frustrated but this time with mkdir
masak what's frustrating about mkdir? 14:38
tadzik szabgab: looking for me? 14:39
masak r: my @blocks; my $i = 1; while $i <= 10 { push @blocks, { say $i }; $i++ }; .() for @blocks
p6eval rakudo e20252: OUTPUT«11␤11␤11␤11␤11␤11␤11␤11␤11␤11␤» 14:40
szabgab masak: in the end that seems to be just my stupidity
tadzik: Panda bootstrap issue, if you would read the backlog
tadzik oh, panda on windows
masak szabgab: is it something we could have prevented with docs or something?
jnthn arnsholt: Which APIs are you thinking of? It has no custom REPRs, but it does in the C code use the various STABLE(...) macros etc.
szabgab masak: nope
tadzik yeah, I'm planning to take a look at that on the yapc 14:41
masak ok.
14:41 mhasch left
szabgab masak: I just left out a condition on a die statement and it always died :) 14:41
jnthn tadzik: I think I already suggested we could try and look at the Panda on Windows together at YAPC. :) 14:43
tadzik: If not: it'd be a Good Thing to do :)
tadzik jnthn: yep, that was the plan :) 14:44
jnthn \o/
masak szabgab: sounds like a rather benign error, overall. 14:45
szabgab I have a partial and very nasty workaround for the panda issue 14:46
tadzik partial and nasty workaround... sounds like bootstrap.pl ;) 14:47
at leat before moritz++ started hacking on it
arnsholt jnthn: No custom REPRs was my main worry 14:49
jnthn ok
arnsholt I'm working on sized ints/nums in NQP and was wondering if my changes would require keeping Rakudo in sync with the changed APIs
14:50 jeffreykegler joined
arnsholt (Ref. my latest push) 14:50
14:54 thou joined
arnsholt Although, a quick ack of the Rakudo source finds a copy of sixmodelobject.h. Is that bundled or copied from the NQP source? 15:00
15:01 not_gerd joined
not_gerd hello, #perl6 15:02
arnsholt: re github.com/perl6/nqp/commit/049a6300ab 15:03
that code has some portability issues
jnthn arnsholt: copied
not_gerd in particular, types with sizes > 64 bit (eg 128-bit long double), and it's not a good idea to determine alignment from bit size 15:04
you need to invoke ALIGNOF in a place where you know the actual type of the attribute
15:04 tokuhiro_ left 15:05 MayDaniel left
colomon n: my $foo = -> $a, $b { say $a*$b+1; }; 4 [$foo] 5 15:05
p6eval niecza v19-15-g051783d: OUTPUT«21␤» 15:06
arnsholt not_gerd: Thanks for the review!
Unfortunately, that's the place I have the best idea of what the type is. I might be able to improve it a bit more though 15:07
not_gerd if you want to be fully portable, you need to keep track of bit-width and alignment seperately 15:08
eg x86: 80-bit long double, and accessing 64-bit double is only atomic in case of 8-byte alignment
depending on the use case, you might drop one of these values...
arnsholt Right
15:09 szabgab left
arnsholt We don't handle 80 or 128 bit type ATM, but the atomicity is a good point 15:10
Huh. Apparently I broke something num-related in QAST 15:12
not_gerd there should probably be a field align in storage_spec 15:14
jnthn: ^^ 15:15
jnthn not_gerd: Yes, I suspect there should be. 15:20
We've kinda gotten away with it so far, but now arnsholt++ has reached the point of needing to care about things where it matters. 15:21
arnsholt Tests saved my copypasta! \o/ 15:22
15:23 JimmyZ joined
JimmyZ hello, not_gerd 15:23
dalek p/dyncall-sized-num: 009285a | (Arne Skjærholt)++ | src/6model/reprs/CStruct.c:
Turns out Parrot #defines ALIGNOF, so no need to redo it in CStruct.c.
p/dyncall-sized-num: d384d49 | (Arne Skjærholt)++ | src/ops/nqp.ops:
Handle bit widths in nqp.ops.
15:25 soooga left 15:26 Guest2660 left 15:28 kaare_ joined
JimmyZ sleeps 15:29
good night all
15:29 JimmyZ left
masak 晚安,卓明亮 15:33
colomon std: my $foo = -> $a, $b { say $a*$b+1; }; 4 [$foo] 5 15:46
p6eval std d96f25c: OUTPUT«===SORRY!===␤Two terms in a row at /tmp/R9iW6ggHZO line 1:␤------> y $foo = -> $a, $b { say $a*$b+1; }; 4 [⏏$foo] 5␤ expecting infix or meta-infix␤Parse failed␤FAILED 00:00 44m␤»
colomon n: my &foo = -> $a, $b { say $a*$b+1; }; 4 [&foo] 5 15:53
p6eval niecza v19-15-g051783d: OUTPUT«21␤»
colomon s: my &foo = -> $a, $b { say $a*$b+1; }; 4 [&foo] 5
std: my &foo = -> $a, $b { say $a*$b+1; }; 4 [&foo] 5 15:54
p6eval std d96f25c: OUTPUT«ok 00:00 47m␤»
15:55 MayDaniel joined 16:10 benabik left 16:11 benabik joined
skids sees the 11-venn diagram on /. and wonders if there are 2048 consecutive unicode codepoints that have distinct glyphs :-) 16:12
16:33 q0tw4 joined 16:34 not_gerd left
TimToady std: 1 [&atan2] 1 16:45
p6eval std d96f25c: OUTPUT«ok 00:00 44m␤»
felher Hey folks. Any special hints where to stay the night while attending yapc::eu in Frankfurt? Otherwise i will just search for a normal $hotel. 16:55
masak felher: www.booking.com/hotel/de/imperial-n..._confemail 16:56
felher: pmichaud, jnthn, and I are staying there.
felher masak: thanks :). Thats a bit too pricy for me, though. But booking.com seems to have some cheaper hotels which are in my prace range :) 17:03
moritz maybe tadzik++ has already figured out something more budget-y 17:04
and wasn't there some website where you can search for private accomodation?
jeffreykegler I've a question about rule/regex/token syntax 17:05
Is the "::=" syntax available or used anywhere?
masak in rules? 17:06
jeffreykegler I'm thinking of doing a Perl 6-ish interface for Marpa (a parser I've written), and most of my user base likes "::="
17:06 crab2313 joined
jeffreykegler masak: Rules are often written lhs ::= rhs , where perl 6 seems to be regex lhs { rhs } 17:07
masak right. 17:08
moritz ::= is used in mainline (non-regex) Perl 6 for binding-and-make-readonly
masak I'm not sure I understand what you're asking, though.
moritz++
moritz isn't sure if he answered the question 17:09
masak would really like heredocs in Rakudo
moritz ::= looks more like EBNF, not Perl 6 rules :-)
geekosaur suspects the question is "can I use EBNF as a DSL"... that
jeffreykegler moritz: actually you answered my question and my next two as well
moritz: in which synopsis could I find out more about the current use of "::=" in Perl 6 17:10
moritz jeffreykegler: S03, I think
jeffreykegler moritz: thanks 17:11
moritz S03:2292, :C<< infix:<::=> >>, bind and make readonly
it's what signature binding uses
sub f($x) { }; my $a; f($a);
performs something like $x ::= $a at call time
jeffreykegler moritz: Let me go read up -- you're getting way ahead of me 17:12
moritz food &
jeffreykegler Where I am going is that I'd like to have my interface look both like Perl 6 and EBNF -- I'll need to think this out. Thanks 17:13
topo Hello, #perl6. Who should I talk to about a commit bit for perl6-examples? 17:17
17:27 mhasch joined
felher tadzik: if you know someting cheap, i apreciate it if you let me know :) Otherwise i will just pick one of the alternatives of booking.com, which don't seem to bad :) 17:27
mhasch o/ perl6 gang 17:28
masak mhasch! \o/ 17:29
tadzik felher: me and leont are staying in Sophien Hotel 17:42
it's about 500m from the venue and about 50 EUR per night I think 17:43
moritz tadzik: me, for example. What's your github ID?
erm, meant topo. Sorry
topo: what's your github ID?
topo geekface. :P
felher tadzik: okay, thanks a lot :)
tadzik oh, oh 17:44
if you have a credit card that they don't immediately reject, please let me know :)
moritz topo: you now have a commit bit (as well as to some other perl6 repos, because we can't be bothered to make permissions more fine grained) 17:45
topo moritz: Oh, awesome. Thanks!
moritz topo: have fun!
topo Will do. o7
17:48 DarthGandalf left 17:53 cognominal left
felher tadzik: I haven't decied yet. I might be staying at a friend's apartment in a student dorm. But I don't know if that will work out until tomorrow. And if it doesn't I need a backup plan :) But if i'm going to stay at your hotel and they don't reject my card i let you know :) 17:58
18:04 spaceships left
tadzik ok, thanks 18:05
18:11 jeffreykegler left
moritz nr: say (1 ^^ 1).perl 18:11
p6eval rakudo e20252: OUTPUT«Nil␤»
..niecza v19-15-g051783d: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in type Any␤ at /tmp/np_OaLOIYQ line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3929 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3930 (module-CORE @ 564…
18:13 fhelmberger joined 18:15 fhelmberger left 18:16 jeffreykegler joined 18:17 am0c left 18:19 benabik left 18:20 benabik joined 18:27 snearch joined
dalek c: cb36b25 | moritz++ | lib/operators.pod:
[operators] &&, ||, //, min, max, item =, =>, not, so
18:35
18:39 DarthGandalf joined
dalek ecza: 856e494 | (Solomon Foster)++ | src/STD.pm6:
Remove [$foo] infixed function form as per TimToady++'s recent spec and std changes.
18:44
18:52 q0tw4 left
moritz nr: say (1, 2 Z <a b c> Z <+ ->).perl 18:52
p6eval rakudo e20252: OUTPUT«((1, "a", "+"), (2, "b", "-")).list␤»
..niecza v19-15-g051783d: OUTPUT«(1, "a", "+", 2, "b", "-").list␤»
masak rakudo++ 18:53
18:56 benabik left
moritz r: say (1..3 X <a b> X 'c').perl 18:59
p6eval rakudo e20252: OUTPUT«((ListIter.new(),), (ListIter.new(),), (ListIter.new(),), (ListIter.new(),), (ListIter.new(),), (ListIter.new(),)).list␤»
moritz r: say (1..3 X <a b> X 'c')
p6eval rakudo e20252: OUTPUT«1 a c 1 b c 2 a c 2 b c 3 a c 3 b c␤»
dalek c: fae19c3 | moritz++ | lib/operators.pod:
[operators] ,, :, Z, X
19:04
19:10 jeffreykegler left 19:11 benabik joined 19:15 jeffreykegler joined
colomon masak: I'm off vacation again. You're not allowed to find Niecza bugs faster than I can fix them! ;) 19:16
masak heh. 19:17
moritz fwiw I'm now at a point where I want to refactor htmlify.pl
masak moritz: why? 19:18
moritz currently I have several hashes where I store stuff, and I'm starting to get confused what hash holds what
for example, I want to do lookup by "type" (if it's a type, a routine, an operator, a language doc)
sometimes I want the Pod DOM tree 19:19
sometimes I want the URLs
masak you should call that "kind" or something, not "type", since type is a kind of "type" :)
moritz "kind" is good
currently I'm at a bit of a loss on how to do all those kinds of lookups efficiently 19:20
benabik In CS theory a "kind" is basically a type for a type.
moritz how very kind of the CS folks :-)
masak :P
right. I saw that usage in Haskell.
Wikipedia. "Kind (type theory), the type of types in a type system". yo dawg. 19:21
moritz funny, then I'll have 'kind' and 'subkind'
for example if 'kind' is 'type', then 'subkind' can be class/role/grammar/enum
or if 'kind' is routine, then 'subkind' can be 'sub', 'method' 19:22
masak go for it. 19:25
dalek ecza: 07dcc9e | (Solomon Foster)++ | lib/CORE.setting:
infix:<eqv> should be equal only if the two operands are of the same type.
19:26
masak colomon++ # fixing bugs 19:27
colomon masak: re neiczabug #142, are there any tests in roast? As far as I can tell I fixed the bug, but I didn't get any additional passing tests. 19:28
colomon is adding one now 19:29
19:31 crab2313 left
dalek ast: 52a1f79 | (Solomon Foster)++ | S03-operators/eqv.t:
Add test for Nieczabug #142, !(4 eqv 4.0)
19:32
19:32 birdwindupbird joined
dalek ast: 43e72e3 | moritz++ | S03-operators/eqv.t:
[eqv.t] another type difference test
19:34
19:41 snearch left, snearch joined 19:43 snearch left
moritz nr: my @a = 1, 2, 3; say @a.push: 5 19:47
p6eval rakudo e20252, niecza v19-19-g856e494: OUTPUT«1 2 3 5␤»
masak nr: my %h = 1..4; say @a.push: 5 => 'bar'; 19:48
p6eval niecza v19-19-g856e494: OUTPUT«===SORRY!===␤␤Variable @a is not predeclared at /tmp/q5tqQlzXoN line 1:␤------> my %h = 1..4; say ⏏@a.push: 5 => 'bar';␤␤Potential difficulties:␤ %h is declared but not used at /tmp/q5tqQlzXoN line 1:␤------> my …
..rakudo e20252: OUTPUT«===SORRY!===␤Variable @a is not declared␤at /tmp/rq_doOSGVW:1␤»
masak nr: my %h = 1..4; say %h.push: 5 => 'bar';
p6eval rakudo e20252: OUTPUT«("1" => 2, "3" => 4, "5" => "bar").hash␤»
..niecza v19-19-g856e494: OUTPUT«Unhandled exception: Nominal type check failed in binding '$key' in 'Hash.array-push'; got Int, needed Str␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (Hash.array-push @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1884 (Hash.push @ 25) ␤ at /t…
masak colomon: look, another one! :P
colomon :p
dammit, I've got to do $work, too!
masak I could just submit it to the issue list and you could get to it later. 19:49
colomon please 19:50
errr... anyone know why svn dumps would suddenly balloon in size and then go back down again?
19:52 bbkr left
colomon like, most of my complete dumps are around 500M in size, slowly growing bigger, but for three weeks in the last two months it's been more like 2.4 gigs? 19:53
masak submits nieczue 19:55
masak writes `.print($document) and .close given open('talk.html', :w);` and feels pretty good about using statement_mod:given in that way 19:56
colomon oooo! the big ones are not gzipped properly
masak oh, but we have that slurp opposite now!
what's its name again?
arnsholt splurt?
Something like that
moritz spurt 19:57
moritz uses it in htmlify
masak uses it for the first time o/
19:58 kaare_ left
dalek c/htmlify-refactor: 6e06b33 | moritz++ | lib/Perl6/Documentable.pm:
Perl6::Documentable skeleton
19:59
c/htmlify-refactor: 05d0485 | moritz++ | lib/Perl6/Documentable.pm:
flesh out Documentable a bit
c/htmlify-refactor: eecc292 | moritz++ | / (3 files):
introduce Perl6::Documentable::Registry, and start to populate it. No way to retrieve those objects yet
20:03 jeffreykegler left 20:04 SamuraiJack_ left
moritz r: say (*."uc"()).('a') 20:04
p6eval rakudo e20252: OUTPUT«A␤»
moritz \o/
20:04 SamuraiJack joined
masak that's crazy. crazy, I tell you. 20:08
rn: say { ."$_"() }('uc') 20:09
p6eval rakudo e20252, niecza v19-20-g07dcc9e: OUTPUT«UC␤»
moritz I have a nice use case for it
method grouped-by(Str $what) {
@!documentables.classify(*."$what"());
}
masak .oO( a nice uc case )
moritz: that trips my injection alarms, though. but you're probably aware of the risks. 20:11
moritz masak: aye
masak "Hey hey, I've got this list of objects that I'm willing to run arbitrary code on! Just tell me what to run! Come on!" :P
jnthn Call an arbitrary method on :) 20:12
masak right.
but we have quite a bunch of methods on our Cool objects. 20:13
though these may not be Cool, I dunno.
arnsholt jnthn: A Perl 6 int8 would be backed by a P6int REPR, right? 20:16
jnthn arnsholt: Yes 20:18
arnsholt: The .bits isn't meant to be hardcoded
arnsholt: You'll note there's already some native_size stuff in place, it's just not considered by the REPR yet.
arnsholt Ah, cool. I hadn't really gotten further than noting that P6int was likely the right one and that it had hardcoded .bits =) 20:19
thou prn: class A { method foo() { say "Foo!"; }}; my A $a .= new.foo; 20:20
p6eval niecza v19-20-g07dcc9e: OUTPUT«Potential difficulties:␤ $a is declared but not used at /tmp/J0sWSYjJij line 1:␤------> A { method foo() { say "Foo!"; }}; my A ⏏$a .= new.foo;␤␤Foo!␤»
..rakudo e20252: OUTPUT«===SORRY!===␤Confused␤at /tmp/7x7OEuUesF:1␤»
..pugs: OUTPUT«Foo!␤»
thou ^ rakudobug?
jnthn On on earth is that parsed? 20:21
std: class A { method foo() { say "Foo!"; }}; my A $a .= new.foo;
p6eval std d96f25c: OUTPUT«ok 00:00 43m␤»
pmichaud ...why do the yapc::eu t-shirts have trashcan icons on them...? blogs.perl.org/users/yapceurope_201...D-880.html
jnthn hmmm
masak pmichaud! \o/
jnthn I'm wondering if it parses as 20:22
(class A { method foo() { say "Foo!"; }}; my A $a .= new).foo
n: class A { method foo() { say "Foo!"; }}; say (my A $a .= new.foo);
p6eval niecza v19-20-g07dcc9e: OUTPUT«Potential difficulties:␤ $a is declared but not used at /tmp/NsCAi8hNTx line 1:␤------> ethod foo() { say "Foo!"; }}; say (my A ⏏$a .= new.foo);␤␤Foo!␤True␤»
jnthn n: class A { method foo() { say "Foo!"; }}; my A $a .= new.foo; say $a
p6eval niecza v19-20-g07dcc9e: OUTPUT«Foo!␤A.new(...)␤»
jnthn Yeah 20:23
thou prn: class A { method foo() { say "Foo!"; }}; my A $a .= new().foo;
p6eval rakudo e20252: OUTPUT«===SORRY!===␤Confused␤at /tmp/fc3hH_uQrn:1␤»
..pugs: OUTPUT«Foo!␤»
..niecza v19-20-g07dcc9e: OUTPUT«Potential difficulties:␤ $a is declared but not used at /tmp/V6GAlCpxVn line 1:␤------> A { method foo() { say "Foo!"; }}; my A ⏏$a .= new().foo;␤␤Foo!␤»
jnthn pmichaud: Is it...a trashcan or a drink class?
masak std: class A { method foo() { say "Foo!"; }}; my A $a .= new.foo
p6eval std d96f25c: OUTPUT«ok 00:00 43m␤»
jnthn or...something else...huh :)
pmichaud jnthn: if there's ambiguity, then it means some people will see it as a trashcan. :-) 20:24
jnthn s/class/glass/
pmichaud: Evidently :P
masak "mountains, onions... and trash!"
pmichaud then, of course, the other question is.... why is there a big "5" numeral on the yellow shirts? ;-)
masak the fiver conspiracy! it has begun! 20:25
jnthn OH, they're mountains? I had that one as cathedral...
moritz starts to wonder if the organizers see it as YAP5C::EU
masak jnthn: it might be a cathedral :)
jnthn: then maybe the trashcan is a bazaar :P
thou jnthn, i was looking for a way to avoid writing: my A $a = A.new.foo;
jnthn thou: That isn't what the code you wrote is doing. 20:26
masak thou: I think the '.= new.foo' syntax should either be disallowed, or mean 'A $a = A.new.foo'.
pmichaud ponders a blog post about YAP5C::EU.
moritz isn't that the Römer? de.wikipedia.org/wiki/R%C3%B6mer_%28Frankfurt%29
masak moritz: dude, the Römer looks nothing like a trashcan. 20:27
show some respect :P
jnthn pmichaud: We don't know that there ain't 6 shirts too :)
thou r: class A { method foo() { say "Foo!"; }; method bar() { say "Bar." }}; my A $a = A.new.foo; $a.bar;
p6eval rakudo e20252: OUTPUT«Foo!␤Type check failed in assignment to '$a'; expected 'A' but got 'Bool'␤ in block at /tmp/A9tjB1JJha:1␤␤»
pmichaud I wonder if we're being set up for an ambush. :-P
moritz masak: I meant the mount^Wcathedral :-)
jnthn
.oO( It isn't an 'ambush, it's a bacon tree! )
20:28
thou right, forgot my return self;
pmichaud asks $wife to give her opinion on the shirts. 20:29
sorear good * #perl6
thou nrp: class A { method foo() { say "Foo!"; return self; }; method bar() { say "Bar." }}; my A $a .= new.foo; $a.bar; 20:30
20:30 adam7504 joined
p6eval rakudo e20252: OUTPUT«===SORRY!===␤Confused␤at /tmp/TKFTMXpqZJ:1␤» 20:30
..niecza v19-20-g07dcc9e, pugs: OUTPUT«Foo!␤Bar.␤»
dalek c/htmlify-refactor: f4e236d | moritz++ | lib/Perl6/Documentable/Registry.pm:
more random Perl6::Documentable::Registry hackery
thou nrp: class A { method foo() { say "Foo!"; return self; }; method bar() { say "Bar." }}; my A $a = A.new.foo; $a.bar;
p6eval rakudo e20252, niecza v19-20-g07dcc9e, pugs: OUTPUT«Foo!␤Bar.␤»
pmichaud Paula says: "It looks like 'Our women have three breasts; their breath smells like onion, and our lives are trash.'" 20:31
masak :P
jnthn :D
thou ow
moritz Paula++
masak pmichaud: additional opinion. some people would probably put "Perl >>>FIVE<<<" on a shirt and mean nothing offensive/mean by it.
I used the >>>> <<<< because IRC doesn't do font-size: 1000% 20:32
moritz many people discriminate without meaning offense, and still offend others
masak my biggest beef with the yellow shirt is that it looks like a soccer player's shirt. :)
jnthn masak: Just do a huge ascii-art 5 :P 20:33
moritz I guess that's the idea :-)
(soccer t-shirt)
masak "Hey, coder boy! Your soccer shirt is the wrong way around!"
"Number goes on the back!"
pmichaud That *is* the back. 20:34
compare the tag location on the other shirts.
masak oh!
phew, then the jocks won't tease us. :P
sorear soccer? why is masak using such a blatant US-English-ism?
jnthn I know. It's *football*.
:P 20:35
masak fairy nuff.
the three comments on the shirts post are positive. blogs.perl.org/users/yapceurope_201...l#comments
pmichaud I might need to bring a sharpie with me to alter the "5" :-P
20:35 adam7504 left
masak :D 20:35
pmichaud or, maybe I'll just create my own yapc::eu shirt and bring it with me :) 20:36
masak pmichaud: you're my hero.
colomon pmichaud: put them up at an online store? 20:37
colomon wonders if TimToady++ needs a "Perl 1" option...
moritz Perl 1..6
pmichaud if you're going to yapc::eu and want a P6-ified t-shirt, /msg or email me your t-shirt size. 20:38
I'm not sure I can get them done before leaving on wednesday, but if I can I'll bring them to .eu
moritz or maybe "Perl ^6" for TimToady++
pmichaud yes, I can create a big "1" version for TimToady
or yes, "^6"
moritz considering that he started with Perl 0, and 6 isn't quite there, ^6 seems to fit very well
pmichaud although really it should be ^7 . 20:39
moritz nr: say 6.3 ~~ ^7
p6eval rakudo e20252, niecza v19-20-g07dcc9e: OUTPUT«True␤»
pmichaud also let me know what color you want.
and I'm going to change the trashcan to a beer stein
sorear attempted to read moritz' link. Wondering if people who actually know German are as amused by the proximity of Rathaus to Ratte(n?)haus
masak \o/
moritz sorear: not usually. "Rathaus" is a verycommon term in German 20:40
s/very//
jnthn After all, we get by in English without noticing that politics => poli (many) tics (blood sucking creatures) :P 20:41
masak sorear: users of a language generally have methods to disambiguate proportionally to how confusable two terms are. :) 20:42
thou rn: class A {}; sub foo(A *@a) { say "I got ", +@a }; foo(A.new); 20:46
p6eval rakudo e20252: OUTPUT«Nominal type check failed for parameter '@a'; expected Positional but got Array instead␤ in sub foo at /tmp/MSw_qc79Wd:1␤ in block at /tmp/MSw_qc79Wd:1␤␤»
..niecza v19-20-g07dcc9e: OUTPUT«I got 1␤»
thou ^ rakudobug?
rn: class A {}; sub foo(*@a) { say "I got ", +@a }; foo(A.new);
p6eval rakudo e20252, niecza v19-20-g07dcc9e: OUTPUT«I got 1␤»
masak thou: it might be Rakudo is correct (but LTA), and you can't type slurpy arrays. 20:47
ISTR such a rakudobug.
pmichaud should I keep the mysterious eight-bit mountain/cathedral/other icon or replace it with something else also? Maybe an 8-bit camelia?
jnthn I'm not even sure you can type slurpy arrays. 20:48
We should probably say so though
pmichaud: ooh :)
jnthn goes for a short walk
masak 8-bit camelia ftw
pmichaud Done. 20:49
well, if I can get the shirts printed in time :)
if not, they'll go up on spreadshirt/cafepress/zazzle somehow. 20:50
masak \o/
20:52 UncleFester6 joined
thou hmm. is there a nice way to write some sub that takes 0-many Foo like foo($foo1, foo2) (sub foo(Foo *@foos) {}) instead of writing foo([$foo1, $foo2]) (sub foo(Foo @foos) {})? 20:52
UncleFester6 cosimo: ping
pmichaud heh. Maybe TimToady's shirt should have a big asterisk instead of the number. :-) 20:53
or perhaps he gets the colon again. :-P
20:55 cognominal joined
moritz thou: I didn't quite understand the question. Are you looking for slurpies? 20:57
sub foo(*@foos) { 0
s/0/}/
thou moritz: typed slurpies
so i get a compile error if $foo1 isn't a Foo
21:00 SamuraiJack left, not_gerd joined
not_gerd hello again, #perl6 21:00
that trashcan is as "Geripptes", btw: upload.wikimedia.org/wikipedia/comm...Bembel.jpg
masak phenny: de en "geripptes"? 21:03
phenny masak: "ribbed" (de to en, translate.google.com)
masak for your pleasure.
pmichaud I'm afk for a while. 21:05
21:11 seldon joined 21:12 not_gerd left 21:14 not_gerd joined
masak .oO( was it something I said? ) :P 21:14
21:15 birdwindupbird left
jnthn moritz: In Exception.pm, I see: 21:26
if X::Comp.ACCEPTS($e) || is_runtime($ex.backtrace) {
My intuitive understanding is that X::Comp errors are compile time, but here it's in the check looking for runtime errors.
What am I missing? :)
21:28 MayDaniel left
sorear jnthn: eval mayb? 21:30
jnthn sorear: Yeah, I thought that...I just don't grok how it differentiates between X::Comp's that happen at compile time vs runtime 21:31
felher pmichaud++ #for his effort to get us perl6 shirts :) 21:45
dalek rl6-roast-data: 146f0c9 | coke++ | / (3 files):
today
21:53
rl6-roast-data: 7f90694 | coke++ | / (4 files):
today
22:10 not_gerd left
masak maybe there are some people who haven't seen plus.google.com/u/0/11098103006171...aSKeg4vQtz yet. 22:10
it's a good read -- I recommend it.
(Steve Yegge divides the programming world into conservatives and liberals.) 22:11
'night, #perl6 22:18
felher o/ masak 22:19
22:25 PacoAir joined
[Coke] notes some failures in niecza and rakudo's latest spectest runs. 22:27
colomon [Coke]: sorry about that, I've had my niecza with extra hacks in it for a few weeks, and so haven't been doing much to clean up roast issues. 22:40
22:47 seldon left
[Coke] colomon: no worries. 22:47
23:09 spider-mario left
ChoHag Does perl6 have a structure (or a relatively straightforward way to implement a structure) which is like cons cells? 23:24
The main differences from a regular array being the ability to share part of the tail (not just a copy), and (though I've yet to see why it's useful) the ability for the final pointer to the next cons cell to contain a value instead. 23:26
japhb ChoHag, pairs can be used as cons cells.
phenny japhb: 11 Aug 06:48Z <sorear> tell japhb I screwed up those microbenchmarks. Doing it less improperly, untyped arrays are only twice as slow for integer data
ChoHag But that just implements my own SLL. 23:27
japhb r: ((a => 2) => (b => 5)).perl.say
p6eval rakudo e20252: OUTPUT«"a" => 2 => "b" => 5␤»
TimToady n: ((a => 2) => (b => 5)).perl.say
p6eval niecza v19-20-g07dcc9e: OUTPUT«"a" => 2 => "b" => 5␤»
ChoHag Which I can do, sure, but it seems best to let perl handle the majority of the listy goodness.
TimToady hmm 23:28
23:28 xinming_ left
japhb ChoHag, You asked if we have cons cells, which we effectively do. Did you mean to ask if we have a linked list with shared nodes as a built-in primitive? 23:28
benabik rn: (a=>(2=>(b=>5))).perl.say
p6eval rakudo e20252, niecza v19-20-g07dcc9e: OUTPUT«"a" => 2 => "b" => 5␤»
benabik No attention to precedence. Ah, well. 23:29
ChoHag Both.
Though I'm not sure who this we is...
japhb benabik, I think it's probably just LTA .perl methods for pairs
we := the community of Perl 6 users. :-) 23:30
benabik japhb: Yes. Pair.perl pays no attention to precedence. Although this is something of a more general problem
TimToady .perl should obviously be paying attention to precedence 23:31
and associativity
benabik: but pairs are right associative, so your parens are unnecessary there 23:32
ChoHag So do we have such a LL type?
TimToady intentionally, I might add, so that => is essentially a cons
benabik TimToady: Well there should have been parens for one of us. 23:33
rn: (((a => 2) => b) => 5).perl.say
p6eval niecza v19-20-g07dcc9e: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'b' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1402 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) ␤ at /home/p…
..rakudo e20252: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&b' called (line 1)␤»
benabik rn: (((a => 2) => 'b') => 5).perl.say
p6eval rakudo e20252, niecza v19-20-g07dcc9e: OUTPUT«"a" => 2 => "b" => 5␤»
TimToady .key is CAR and .value is CDR, basically 23:35
ChoHag Perl people are much friendlier than Lisp people. 23:39
TimToady usually :) 23:40
japhb glares at Google+ for wasting over 200 pixels of vertical space above the Yegge article with a bunch of stuff pinned in place (so I can't even scroll it away) 23:41
23:41 whiteknight joined, whiteknight is now known as Guest46600
TimToady Lisp folks have this idea of perfection that we are mostly immune to, since we know Perl is a hodgepodge of many different ideas 23:41
ChoHag Indeed. 23:42
As I keep telling people - perl is shit.
Just not as much as everything else.
I like the way someone (Larry?) likened it to English, which is just ... awful.
benabik To paraphrase Churchill: "Perl is the worst programming language, except for all the others that have been tried." 23:43
TimToady indeed, English itself has over 300 grammar rules
japhb Now, now, ChoHag, Perl is *fertilizer*. High-grade fertilizer at that. ;-)
ChoHag I tried to explain to a colleague the other day why writing code the way I think rather than the way the computer thinks is so much faster.
He just went on about whitespace and strict types. 23:44
Doesn't implementing a LL with the Pair type waste space? 23:45
TimToady that's the one way Python culture is more like Lisp culture
diakopter moritz: I need another cosmic ray
ChoHag 99% of the time I don't care that the .CDR is just a pointer to the next cell.
s/space/space & time/
TimToady which is why Perl lists don't do that
or if they do, it's beneath the abstraction layer 23:46
(but they don't)Z
ChoHag Is there some way I can have perl lists share the back end of their data structure?
In perl 5 parlance, a reference to the nth item?
benabik Implement ropes?
TimToady no, that's the downside
ChoHag benabik: Is that your way of saying 'not yet'? 23:47
TimToady but we should be able to have alternate implementations of lists that can support it
yes, not yet
ChoHag heh :)
I have been extremely impatient for perl 6.
TimToady nobody's been more impatient than the people working on it :) 23:48
23:48 jeffreykegler joined
TimToady the other thing to say about cons lists is that it actively *prevents* parallelization of lists 23:49
benabik ChoHag: Ropes are, basically, somewhere halfway between cons lists and arrays. It's a tree-like structure to support simple slicing and sharing in the way you describe. 23:50
TimToady Guy Steele noticed this and was trying to do something about it Fortress; we're doing the same, with a bit less fanfare
benabik ChoHag: This is not a core part of Perl6, but you could certainly write it with the given fetaures.
TimToady we find it much more powerful to hide the linkage under the list abstraction, and then it's trivial to express parallel operations 23:52
(whether or not the machine actually takes advantage)
23:54 gongyiliao joined