Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-10-10

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:04 dalek niecza: 4becd9e | coke++ | t/spectest.data:
00:04 dalek niecza: These tests rely too heavily on SetHash/BagHash
00:04 dalek niecza:
00:04 dalek niecza: Need to implement those before we can run them.
00:04 dalek niecza: review: https://github.com/sorear/niecza/commit/4becd9e601
00:04 dalek roast: e195879 | coke++ | S (7 files):
00:04 dalek roast: niecza fudge
00:04 dalek roast: review: https://github.com/perl6/roast/commit/e1958799c5
00:12 Psyche^ joined #perl6
00:41 grondilu r: subset Prime of Int where &is-prime; say 2013 ~~ Prime
00:41 camelia rakudo 50cecf: OUTPUT«False␤»
00:41 colomon is there a simple way to get the first or second half of an array in p5?
00:42 * colomon wishes p6 were fast enough for his current task
00:43 grondilu colomon: maybe change the way your array is encoded.  Use a binary tree or something.
00:43 japhb__ colomon: What is your current task?
00:44 japhb__ colomon: (Half a p5 array): Copy the array and splice?
00:45 japhb__ p5eval: my @a = (1, 2, 3, 4, 5, 6); splice(my @b = @a, @a/2); say "@b";
00:45 p5eval japhb__: ERROR: Not an ARRAY reference at (eval 7) line 1.
00:46 japhb__ p5eval: my @a = (1, 2, 3, 4, 5, 6); my @b = @a; splice(@b, @b/2); say "@b";
00:46 p5eval japhb__: 1 2 31
00:49 colomon japhb__: I'm trying to do a binary search on the set of faces which are toruses in a STEP file.
00:50 ivanshmakov joined #perl6
00:51 colomon but I simplified that down to binary pruning of an array of face IDs
00:51 japhb__ A single face which is a torus?
00:52 colomon each face in question would be on a torus surface
00:52 japhb__ Oh, I see.
00:52 grondilu other set of faces can be spheres, for instance?
00:53 * japhb__ was imagining "faces" actually being arbitrary N-dimensional surfaces, or some such.
00:53 grondilu I mean, you have several kinds of objects and you want to detect which ones are toruses?
00:53 colomon grondilu: that's just step one.
00:54 colomon Ip.amkrankruleuen
00:54 colomon whoops
00:54 grondilu that's far from trivial
00:54 colomon anyway way, I'm fairly certain the problem face is a torus.  But there are 323 torus faces in the file.  So I need to zero in on the troublemaker somehow
00:55 colomon grondilu: I know it's literally a torus, ie a TOROIDAL_SURFACE.  So that part is easy.
00:56 colomon at the moment, it's mostly the p5 equivalent of @array[0..*/2] that's bugging me
00:57 grondilu doesn't @array[0..@array/2] work?
00:57 grondilu p5eval: my @a = 1..10; @a[0..@a/2]
00:57 p5eval grondilu: 6
00:58 grondilu p5eval: my @a = 1..10; @a[0..(@a/2)]
00:58 p5eval grondilu: 6
00:58 colomon p5eval: my @a = 1..10; say  @a[0..(@a/2)]
00:58 p5eval colomon: 1234561
00:58 grondilu p5eval: my @a = 1..10; join ' ', @a[0..(@a/2)]
00:58 p5eval grondilu: 1 2 3 4 5 6
00:59 colomon grondilu++
01:00 grondilu p5eval: my @a = 1..10; join ' ', @a[0..@a/2]  # thought I didn't need the parens
01:00 p5eval grondilu: 1 2 3 4 5 6
01:01 colomon p5eval: my @a = 1..10; join ' ', @a[0..^@a/2]
01:01 p5eval colomon: ERROR: syntax error at (eval 7) line 1, near "..^"
01:01 grondilu p5eval: my @a = 1..10; use integer; join ' ', @a[0..@a/2]
01:01 p5eval grondilu: 1 2 3 4 5 6
01:01 grondilu p5eval: my @a = 1..10; use integer; join ' ', @a[0..@a/2 - 1]
01:01 p5eval grondilu: 1 2 3 4 5
01:18 dalek nqp: 50f5632 | coke++ | docs/ops.markdown:
01:18 dalek nqp: add opcode doc
01:18 dalek nqp: review: https://github.com/perl6/nqp/commit/50f56328b3
01:18 BenGoldberg joined #perl6
01:22 stevan_ joined #perl6
01:36 ivanshmakov joined #perl6
01:47 zakharyas joined #perl6
01:48 BenGoldberg p5eval: my @a = 1..2; say $a[0.5];
01:48 p5eval BenGoldberg: 11
01:48 japhb__ colomon: Keep a separate array of indices, modify that during your binary search, and then slice with @a[@i] ?
01:48 BenGoldberg p5eval: my @a = 1..2; $a[0.5];
01:48 p5eval BenGoldberg: 1
01:48 colomon japhb__: I think I've got things okay now, thanks.
01:49 colomon Right now I'm in the terrible area of not quite duplicating my bug....
01:49 japhb__ colomon: Yes, but now you've unleashed an interesting puzzle on us.  ;-)
01:49 japhb__ ugh, hate that.
01:49 BenGoldberg my @a = 1..10; $a[ $#a / 2 ];
01:49 BenGoldberg p5eval: my @a = 1..10; $a[ $#a / 2 ];
01:49 p5eval BenGoldberg: 5
01:49 BenGoldberg :)
01:58 ivanshmakov joined #perl6
02:34 btyler joined #perl6
02:38 jeff_s1 joined #perl6
03:29 SamuraiJack joined #perl6
03:47 btyler joined #perl6
03:53 preflex_ joined #perl6
04:37 xenoterracide_ joined #perl6
04:57 SamuraiJack_ joined #perl6
05:26 [Sno] joined #perl6
05:42 kaleem joined #perl6
05:54 moritz \o
06:02 JimmyZ o/
06:14 darutoko joined #perl6
06:38 masak o/
06:51 labster \o
06:56 masak sjn: I'm almost 100% sure you don't *actually* want aleph 0, aleph 1, etc, in the language...
06:56 masak sjn: but I'm curious. can you think of *one* use case for those? I can't. :)
06:58 masak japhb__++ # http://irclog.perlgeek.de/perl6/2013-10-09#i_7695203
06:58 jnthn o/
07:01 labster I have recently discovered that maintenance programming Perl 5 isn't so bad, but when I want to design new software, I really miss Perl 6.  I automatically start writing "has $.name;" and I keep wanting to push pairs onto a hash.  And where is my zip operator?!
07:01 masak Grammar::Infer sounds like a grammar controlled by a corpse controlled by a dark wizard from the Harry Potter universe...
07:02 labster expellimodulus!
07:02 arnsholt Inferring a grammar from data is... non-trivial
07:03 masak yeah.
07:03 arnsholt In fact, if I remember correctly there's a theorem in learning theory that says that for a sufficiently complex rule system, you need negative data as well as positive data to learn the full system
07:04 arnsholt For values of "complex" similar to that required for Godel's theorems; that is, not very complex =)
07:05 KroKite joined #perl6
07:05 arnsholt I wanted to do grammar induction for my master's thesis, actually. That turned out to be a mite over-amobitious
07:07 masak :)
07:08 masak arnsholt: what you said about negative data sounds very much like chapter 8 of HPMoR.
07:10 arnsholt What's that chapter about?
07:12 masak EY calls it "positive bias", but I've also heard it called "confirmation bias".
07:12 masak the tendency to have a preferred model, and to "validate" it by finding instances that match it.
07:12 masak but not going out of your way to invalidate it by finding instances that don't match.
07:12 moritz it's about mental models being wrong because you only look at matches, not non-matches
07:14 itz joined #perl6
07:14 masak I consider myself having independently learned to counteract confirmation bias through my adventures in bug submitting, and its associated golfing and finding the cause.
07:14 masak but it's a constant battle against that bias, for sure.
07:15 FROGGS joined #perl6
07:15 masak the brain likes to smudge the limit between sensory input and mental model.
07:17 arnsholt Yeah, it's a classic bug in the human brain I Think
07:18 moritz first reported hundreds of years back, and still not patched
07:26 jnthn .oO( unintelligent design... )
07:29 masak it's probably a hard one to fix. being convinced of something has its evolutionary advantages, too.
07:29 masak specifically, being convinced of something with less-than-complete evidence.
07:33 jnthn teaching &
07:41 dmol joined #perl6
07:45 sqirrel joined #perl6
07:45 denis_boyun joined #perl6
07:46 * masak .oO( There are 10 types of people in the world. I'm not actually sure you can have 0 as a base. )
07:50 hoelzro o/ #perl6
07:52 cognominal joined #perl6
07:53 sjn masak: novelty. :)
07:54 masak sjn: I was asking because I'm genuinely curious. I can't think of any use case.
07:55 masak sjn: specifically, aleph one is "non-constructive" in a way I can't really make precise (but sorear probably could).
07:55 hummeleB1 joined #perl6
07:55 masak and non-constructive things don't really work that well on Turing hardware.
07:55 masak http://stackoverflow.com/questions/19210935/why-does-the-c-preprocessor-interpret-the-word-linux-as-the-constant-1 # C is weeeeeird
07:56 hummeleB1 left #perl6
07:56 telex joined #perl6
08:32 dakkar joined #perl6
08:33 arnsholt masak: What does non-constructive mean in this context?
08:34 masak arnsholt: in my mind, I have it as "you can build it with finite components in computer memory".
08:35 masak ah, sorry, that was "constructire" :)
08:35 masak I removed the negation.
08:35 masak constructive*
08:38 arnsholt Right, that makes sense I think
08:49 dansamo joined #perl6
09:05 fhelmberger joined #perl6
09:06 daniel-s_ joined #perl6
09:07 daxim joined #perl6
09:15 dansamo joined #perl6
09:23 daniel-s__ joined #perl6
10:02 nwc10 jnthn: this made me think of things you've said about string reversing. But I wasn't aware how much more pain there was: http://www.vidarholen.net/contents/blog/?p=324
10:08 masak nice post.
10:08 masak yeah, surrogate pairs and composing chars were the ones I was immediately aware of.
10:09 masak BOMs, directional overrides, RTL markers, and interlinear annotations are there too. good point.
10:10 masak the more you think about it, the less a string is an array-like thing; it's more of a graph-like thing.
10:10 masak well, directed graph.
10:20 moritz .oO( god DAG )
10:26 masak yeah, guess so. can't think of a case with cycles :)
10:53 grondilu joined #perl6
10:54 imarcusthis- joined #perl6
11:15 jnthn nwc10: ouch :)
11:18 diakopter nwc10: do you reverse the jamo in a Hangul syllable? <shrug> do you reverse the combining characters of Indic consonant clusters, which aren't even Unicode combining codepoints? <shrug>
11:20 masak reversing the jamo sounds odd.
11:21 diakopter omaj....
11:22 diakopter .oO( homage to jamo.. )
11:23 hummeleB1 joined #perl6
11:27 lizmat joined #perl6
11:28 woolfy joined #perl6
11:32 SamuraiJack__ joined #perl6
11:44 dayangkun joined #perl6
12:01 sqirrel joined #perl6
12:08 dalek Perlito: 219ca58 | (Flavio S. Glock)++ | / (2 files):
12:08 dalek Perlito: Perlito5 - perl6 - call
12:08 dalek Perlito: review: https://github.com/fglock/Perlito/commit/219ca58403
12:24 woosley1 joined #perl6
12:26 daniel-s joined #perl6
12:33 GlitchMr std: / abc /xms
12:33 camelia std a0bcfb1: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unsupported use of suffix regex modifiers; in Perl 6 please use prefix adverbs at /tmp/g3ZjTpWvQY line 1:â�¤------> [32m/ abc /xms[33mâ��[31m<EOL>[0mâ�¤Other potential difficulties:â�¤  Unsupported use of /m; in Perl 6 please …»
12:33 GlitchMr std: / [a-z] /
12:33 camelia std a0bcfb1: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Invalid regex metacharacter (must be quoted to match literally) at /tmp/ivaiVBJWcP line 1:â�¤------> [32m/ [a-[33mâ��[31mz] /[0mâ�¤Potential difficulties:â�¤  [a-z] appears to be an old-school character class; please use <[a..…»
12:42 GlitchMr std: //
12:42 camelia std a0bcfb1: OUTPUT«[31m===[0mSORRY![31m===[0m�Null regex not allowed at /tmp/egDRZeK7z9 line 1:�------> [32m//[33m�[31m<EOL>[0m�Check failed�FAILED 00:01 120m�»
12:44 _daniel-s__ joined #perl6
12:46 dalek nqp/moarboot: 2fda98b | (Tobias Leich)++ | / (2 files):
12:46 dalek nqp/moarboot: strip now unneeded heisenbug-switches
12:46 dalek nqp/moarboot: review: https://github.com/perl6/nqp/commit/2fda98b6f5
12:47 jnthn yay!
12:48 moritz \o/
12:48 FROGGS I'm happy that they are gone too!
12:48 FROGGS so, fix all the bugs so that we can think about rakudo? :o)
12:49 FROGGS and we need to steal^Wimplement encode/decode
12:50 jnthn I think Moar already partly has what we need for those
12:50 jnthn So it's probably mostly wiring
12:50 jnthn We should fix the other bugs too
12:50 FROGGS hmmm, yeah, right
12:50 FROGGS coll :D
12:50 FROGGS cool*
12:55 jnthn I may have energy for some of them after my train journey home this evening
12:55 jnthn If not, tomorrow is free-ish :)
12:59 FROGGS I'll have some time this evening I guess :o)
13:06 moritz is it normal that the JVM takes about about 3 cores while compiling the setting?
13:07 jnthn 2 I could imagine, 3 is curious
13:07 jnthn (one for GC, one for running stuff)
13:07 moritz it does say 299 to 302% CPU here (in htop)
13:07 jnthn wow
13:08 tadzik mine is using 4 alright
13:08 jnthn 4? core blimey!
13:09 moritz huh, rakudo jvm build failed
13:09 * moritz tries again with a newer nqp
13:10 jnthn Odd...did today's roast data look fine?
13:13 stevan_ joined #perl6
13:16 sqirrel joined #perl6
13:17 PacoAir joined #perl6
13:18 kaare_ joined #perl6
13:24 ajr joined #perl6
13:28 moritz build succeeded now.
13:29 lowpro30 joined #perl6
13:34 xinming joined #perl6
13:35 fridim_ joined #perl6
13:36 zakharyas joined #perl6
13:37 lowpro30_ joined #perl6
13:48 bluescreen10 joined #perl6
13:48 moritz r-j: say 'just checking if it still works'
13:48 camelia rakudo-jvm 50cecf: OUTPUT«just checking if it still works␤»
13:58 diakopter r-j: say eval "1"x 9999999
13:58 camelia rakudo-jvm 50cecf: OUTPUT«(timeout)»
13:58 diakopter r-j: say eval "1"x 999999
13:58 * FROGGS .oO( just checking if it still breaks )
13:58 camelia rakudo-jvm 50cecf: OUTPUT«(timeout)»
13:58 diakopter r-j: say eval "1"x 99999
13:59 camelia rakudo-jvm 50cecf: OUTPUT«(timeout)»
13:59 moritz fwiw I have no idea how timeouts and evalserver relate
13:59 diakopter r-j: say eval "1"x 9999
13:59 camelia rakudo-jvm 50cecf: OUTPUT«11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111…»
13:59 diakopter r-j: say eval "11"x 9999
13:59 camelia rakudo-jvm 50cecf: OUTPUT«11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111…»
13:59 diakopter r-j: say eval "111"x 9999
13:59 moritz I never considered the question whether an inifnite loop will kill the evalserver for good
13:59 camelia rakudo-jvm 50cecf: OUTPUT«11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111…»
13:59 diakopter r-j: say eval "1111"x 9999
13:59 btyler joined #perl6
13:59 camelia rakudo-jvm 50cecf: OUTPUT«11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111…»
13:59 diakopter r-j: say eval "11111"x 9999
13:59 moritz diakopter: would you mind doing that experimentation in private message?
13:59 diakopter ok
14:00 camelia rakudo-jvm 50cecf: OUTPUT«11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111…»
14:00 * jnthn wonders which is slowest, the parsign of the constructing epic bigint... :)
14:01 moritz there's no epic bigint
14:01 moritz just a string
14:01 jnthn no
14:01 jnthn eval
14:01 moritz oh
14:01 moritz right
14:03 skids joined #perl6
14:04 diakopter r-j: say eval " " x 999 x 999 x 999
14:04 camelia rakudo-jvm 50cecf: OUTPUT«java.lang.OutOfMemoryError: Java heap space␤␤»
14:04 diakopter I'm trying to remember how I caused invalid bytecode the other day
14:06 masak Y U FILL BACKLOG WITH ONES!?
14:06 * diakopter pauses from rotfl to type this
14:07 * diakopter again pauses from rotfl to type this
14:07 tadzik this is how I rofl
14:08 masak tadzik: :)
14:08 * masak .oO( "but diakopter, what are you doing on the carpet?" -- "it's just how I roll" )
14:09 PerlJam .oO( ... and then he zaps people with static electricity )
14:10 * moritz prefers dynamic electricity
14:11 * masak .oO( J. K. Rowling On The Floor, Laughing )
14:11 FROGGS -.-
14:12 Ulti the J.K. stands for Joe King
14:13 Ulti or maybe Jo King to be moar obvious and effeminate
14:14 moritz I think it was "Just Kidding"
14:20 diakopter zombie discovered in Ohio: http://goo.gl/sb2C7d
14:20 tadzik Left 4 Dead: Ohio
14:21 hoelzro my fianceé and I sometimes talk about how cool it would be if there were a L4D in Tokyo.
14:21 tadzik let's do that
14:21 tadzik I like the disneyland campaign
14:22 hoelzro hahaha
14:22 hoelzro I love it
14:22 tadzik we should play a co-op some day
14:22 hoelzro sure! 1 or 2?
14:22 tadzik 2
14:22 tadzik there's no 1 on linux, so I don't even have it ;)
14:22 hoelzro ah =)
14:23 hoelzro it's been a while since I've played; that would be fun
14:23 tadzik http://steamcommunity.com/sharedfiles/filedetails/?id=176102683
14:25 tadzik hoelzro: let me know when you have some free evening :)
14:25 masak for a long time, I've wanted to express (and blog about) something along the lines of "languages can't fail to be opinionated"
14:25 hoelzro will do =)
14:25 * hoelzro completely forgot you could mod L4D
14:25 hoelzro we could *make* the Tokyo campaign =)
14:25 tadzik there is some nice stuff in there
14:25 tadzik yeah, that's what I was saying ;)
14:26 tadzik I've no idea how to do this, actually
14:26 masak when I first came to Perl 6, I viewed Perl 6 as making many design decisions as they "should" be made.
14:26 hoelzro google: "How to write left for dead mods in Perl 6"
14:26 tadzik hah
14:26 diakopter .g "How to write left for dead mods in Perl 6"
14:26 yoleaux No results found.
14:26 masak but "opinionated" implies that a choice has been made, and it wasn't the "right" choice because there isn't necessarily a "right" choice. just a choice.
14:27 hoelzro damn!
14:28 FROGGS "opinionated" sounds to me as one isnt allowed to drive a car or operate on heavy machines
14:28 hoelzro masak: I would argue that "opinionated" implies that choices were made according to opinion
14:29 FROGGS hoelzro: that is always the case
14:29 hoelzro and the result of those choices tend to be what the opinion holder feels is "right" =)
14:29 FROGGS (if you don't flip the coin)
14:30 xenoterracide_ joined #perl6
14:31 masak hoelzro: give me an example when a choice wasn't based on opinion
14:31 masak (of a language design decision)
14:32 hoelzro ah, so you're just pointing out that saying "opinionated choice" is kinda redundant?
14:32 hoelzro I can't think of an example where a choice didn't follow an opinion
14:32 masak no, my point is partly this: over the years, my view of Perl 6 has shifted from "insanely awesome" to "opinionated and making engineering tradeoffs, just like everyone else".
14:33 masak "insanely awesome" is a nice feeling to have about a language, but it's not a detailed, textured feeling.
14:33 masak "opinionated and making engineering tradeoffs" is detailed and textured.
14:33 tadzik well, they say that you don't know a prog language until you can say something bad about it
14:33 masak that approximates what I mean to say.
14:34 masak like, every such opinionated choice is a coin with a front and a back.
14:34 masak generalist programming languages try very hard to make the front big and the back small :)
14:35 masak this is different (but not entirely disjunct) from "DWIM vs WAT".
14:37 hoelzro ah, I see
14:38 masak actually, that same blog posts would probably be a lot about how such design decisions come back, months or years later, and bite you in unpredictable/unexpected ways.
14:41 skids .oO(elexically scoped electricity.  Bah there's a pun to be had there, just can't... make... it... work...)
14:43 xinming joined #perl6
14:44 masak skids: have you tried switching the pun off and then on again? :)
14:44 skids Once, or several times rapidly?
14:50 diakopter DWAT
14:50 kaleem joined #perl6
14:52 GlitchMr .u 「」
14:52 yoleaux U+FF62 HALFWIDTH LEFT CORNER BRACKET [Ps] (「)
14:52 yoleaux U+FF63 HALFWIDTH RIGHT CORNER BRACKET [Pe] (」)
14:53 GlitchMr rn: say "elephant" ~~ / \b elephant \b /
14:53 camelia niecza v24-98-g473bd20: OUTPUT«[31m===[0mSORRY![31m===[0m��Unsupported use of \b as word boundary; in Perl 6 please use <?wb> (or either of « or ») at /tmp/7RgMVtR2BZ line 1:�------> [32msay "elephant" ~~ / \b[33m�[31m elephant \b /[0m��Parse failed��»
14:53 camelia ..rakudo 50cecf: OUTPUT«Nil␤»
15:00 colomon "(or either of « or »)"  ?
15:04 benabik joined #perl6
15:06 arnsholt colomon: Boundary to the left and boundary to the right. Can't remember which is which off-hand
15:07 colomon arnsholt: that's a new one to me
15:08 jnap joined #perl6
15:09 sqirrel joined #perl6
15:10 rindolf joined #perl6
15:17 TimToady which is which follows from two facts: 1) words are figure rather than ground, and 2) we generally prefer to use brackets with their conccave side inward (strict hypers being an exception to that)
15:17 TimToady also, if you're famaliar with \< and \> in grep, those face the same way
15:19 * TimToady realizes that decades of using split to find words has confused people on the figure/ground issue
15:19 masak I find «elephant» to be very visual-pill-y.
15:19 * PerlJam too
15:20 TimToady yes, but that's part of what I mean by "figure" :)
15:21 masak yes.
15:21 TimToady it really is an important psychological concept
15:21 TimToady which is why we find it funny when a sculptor says: just carve away everything that isn't the elephant
15:22 * masak .oO( and quickly, before the elephant suffocates! )
15:22 TimToady but that is exactly what is happening when we split away the whitespaces around the elephant
15:23 TimToady comb concentrates on the elephant instead of the whitespace
15:25 ajr joined #perl6
15:26 TimToady there are some subtle figure/ground issues on the subject of multiline bracket characters too; do the "ascenders" and "descenders" cover over the areas above and below the line, or move them sideways, or are they just overstruck, as colliding fonts would do?
15:27 TimToady does such a tall embedded object cause the whole line to become fatter?
15:28 TimToady I'm sure most language designers, faced with multi-line brackets, would decide one of these without much thought (or just give up on the idea, if they are as sane as masak++)
15:28 TimToady fortunately, I am not that sane :)
15:29 TimToady not saying whether it's good fortune or bad fortune...
15:29 jnap joined #perl6
15:32 lowpro30_ joined #perl6
15:37 masak TimToady: we really, really need to get slangs implemented -- to give you a big enough playground for crazy notions. :)
15:37 TimToady Glo and I are sitting here discussing how Perl 5's approach to complexity is like The Cat in the Hat, and Perl 6's approach is more like The Cat in the Hat Come Back
15:37 TimToady as long as we know which cat is parsing code at the moment, we're fine :)
15:38 TimToady *Comes
15:41 masak 'But this is no retread of the first book. The wily Cat has some new tricks to share, and some new friends to introduce to us.' -- yeah, sounds like Perl 6 alright.
15:41 masak 'As in the original, the book has some unsettling nuances. Why are these kids home alone? Just what is that bizarre pink substance in the bathtub?' -- lol
15:42 masak 'Congratulations, Dr. Seuss: you have shown that the sequel to a classic can be just as excellent as the beloved original!'
15:42 * masak gets all warm and fuzzy
15:44 fgomez joined #perl6
15:44 * felher looks up 'cat in the hat' because in the newest simpsons episode homer is the 'fat in the hat' and he has wondered if there is anything more to that name that name. :)
15:44 * TimToady notes in the backlog that the discussion of inferring grammars has also run into the importance of both figure and ground :)
15:45 TimToady "needs negative data too"
15:46 timotimo otherwise every grammar will just end up matching .*
15:49 PerlJam .oO( but ... every grammar *does* match .*  ;-)
15:50 lowpro30_ joined #perl6
15:50 moritz r: say '.*' ~~ /\d+/
15:50 TimToady the error messages are LTA however
15:50 camelia rakudo 50cecf: OUTPUT«Nil␤»
15:50 moritz no, it doesn't!
15:52 spider-mario joined #perl6
15:52 diakopter you win internet
15:52 masak payable at exit
15:52 TimToady your internet is LTA
15:53 PerlJam .oO( you can checkout any time you like, but you can never leave )
15:53 TimToady git leave --> Did you mean "rebase"?
15:54 geekosaur or freebase, thereby nicely fitting back in...
15:54 TimToady leave->rebase is a big stretch
15:54 TimToady at least the vowels are the same, and there are two liquids on the front, and two labials in the middle
15:55 PerlJam geekosaur: I fail to see how an ontological database has any relevance    ;)
15:55 TimToady it's just a library issue
15:56 PerlJam TimToady: the letters are all the same size and some are even the same letter!
15:56 TimToady in this drawer are letters from A. Lincoln, in this drawer from FDR...
15:57 TimToady goodness, this letter from Lincoln and this letter from FDR are the same letter!!
15:57 PerlJam indeed.  :)
16:08 lowpro30 joined #perl6
16:13 JimmyZ joined #perl6
16:13 Exodist joined #perl6
16:18 timotimo the only thing you can win in the internet is even more internet
16:18 segomos joined #perl6
16:21 FROGGS joined #perl6
16:21 btyler joined #perl6
16:24 spider-mario joined #perl6
16:29 fhelmberger joined #perl6
16:37 stevan_ joined #perl6
16:39 btyler joined #perl6
16:41 SamuraiJack__ joined #perl6
16:55 colomon joined #perl6
16:59 risou_awy joined #perl6
17:00 risou_awy joined #perl6
17:05 stevan__ joined #perl6
17:13 mahesh_ joined #perl6
17:13 mahesh_ left #perl6
17:15 dalek roast: b353ee1 | coke++ | S (4 files):
17:15 dalek roast: pugs fudge
17:15 dalek roast: review: https://github.com/perl6/roast/commit/b353ee1b3e
17:16 [Coke] whoops, thought I pushed it last night.
17:17 peteretep left #perl6
17:31 [Coke] current pugs bocker on daily test server is:
17:31 [Coke] dist/build/pugs/pugs-tmp/perl5/p5embed.o: In function `perl5_can':
17:32 [Coke] p5embed.c:(.text+0x1f91): undefined reference to `PL_stack_sp'
17:32 [Coke] (during the build)
17:32 [Sno] joined #perl6
17:35 diakopter need a lower libperl version
17:35 diakopter try 5.12.1 from perlbrew
17:37 jnap joined #perl6
17:40 diakopter lolol   mov mov mov mov mov mov mov mov http://www.cl.cam.ac.uk/~sd601/papers/mov.pdf
17:41 benabik "Thus, while it has been known for quite some time that x86 has far too many instructions, we can now contribute the novel result that it also has far too many registers."
17:42 diakopter heh
17:42 diakopter talk about branchless...
17:49 btyler joined #perl6
17:54 ssutch joined #perl6
18:05 REPLeffect joined #perl6
18:16 denis_boyun joined #perl6
18:16 ajr joined #perl6
18:22 TimToady masak: from the backlog, it sounds like you're finally getting into the spirit of post-modernism, fsdo that any self-respecting pomofolk would probably take great delight in deconstructing--but that's just my opinion, man... :)
18:22 TimToady like, and stuff...
18:26 masak TimToady: what portion of my recent kvetchings caused you to say this? :)
18:27 masak from my vantage point, I'm neither more nor less pomo than usual.
18:27 * masak .oO( just more married ) :P
18:27 diakopter consider yourself deconstructed
18:27 * diakopter falls apart
18:28 FROGGS masak: you are now more married than some time before?
18:29 masak FROGGS: we recently passed our 1y anniversary.
18:29 FROGGS ahh, cool!
18:29 FROGGS err, I missed the party :o(
18:29 masak for anyone interested in postmodernism, may I heartily recommend http://www.amazon.com/Small-World-David-Lodge/dp/0140244867/
18:29 masak (fiction)
18:31 TimToady masak: the opionated part :P
18:32 * diakopter looks for the opion
18:33 Rotwang joined #perl6
18:35 ajr_ joined #perl6
18:39 masak TimToady: ah yes. I see that.
18:40 ajr_ joined #perl6
18:42 masak TimToady: I think the final thing that made me realize that was starting to sketch my own programming language.
18:42 masak TimToady: basically any decision is a tradeoff.
18:45 FROGGS like when being married :o)
18:47 diakopter like getting married!
18:53 masak :)
18:55 ajr_ joined #perl6
19:02 lue hello world! o/
19:03 masak hellue!
19:09 xinming joined #perl6
19:22 frettled joined #perl6
19:23 xinming joined #perl6
19:34 xinming joined #perl6
19:37 lowpro30 joined #perl6
19:55 xinming joined #perl6
19:58 lowpro30_ joined #perl6
19:59 [Coke] .to colomon big things just fudged: :delete, :!exists, SetHash, BagHash
19:59 yoleaux [Coke]: I'll pass your message to colomon.
19:59 kathyz joined #perl6
20:13 hummeleB1 joined #perl6
20:23 bruges_ joined #perl6
20:41 BenGoldberg joined #perl6
21:16 spintronic joined #perl6
21:16 spintronic helo
21:17 dayangkun joined #perl6
21:18 FROGGS hi spintronic
21:20 beatboxchad joined #perl6
21:28 integral joined #perl6
21:37 zwut00 joined #perl6
21:45 dalek nqp/moarboot: ee57fd9 | jnthn++ | t/nqp/19-file-ops.t:
21:45 dalek nqp/moarboot: Correct a test to also work on Windows.
21:45 dalek nqp/moarboot: review: https://github.com/perl6/nqp/commit/ee57fd96ee
21:50 BenGoldberg r: say sort { (1,2).pick }, 1..20
21:50 camelia rakudo 50cecf: OUTPUT«1 2 6 7 9 10 13 14 15 16 17 18 19 3 4 5 8 11 12 20␤»
21:51 BenGoldberg r: my $x = (1..1e99).pick; say $x
21:51 camelia rakudo 50cecf: OUTPUT«(timeout)»
21:51 grondilu :)
21:52 grondilu funny request, I wonder if it can be made fast
21:52 BenGoldberg Shurely .pick could detect that it's being give a Range and choose /not/ to iterate through all of the values.
21:52 benabik Specialize .pick on ranges.
21:52 grondilu indeed
21:53 grondilu r: say (1, 3 ... 97).WHAT
21:53 camelia rakudo 50cecf: OUTPUT«(List)␤»
21:53 BenGoldberg r: say gather {}.WHAT
21:53 camelia rakudo 50cecf: OUTPUT«(List)␤»
21:54 BenGoldberg r: say (1..2).WHAT
21:54 camelia rakudo 50cecf: OUTPUT«(Range)␤»
21:54 grondilu r: say (0 .. *).pick # does that even make sense?
21:54 camelia rakudo 50cecf: OUTPUT«Cannot .roll from an infinite list␤  in method gist at src/gen/CORE.setting:11894␤  in method gist at src/gen/CORE.setting:963␤  in sub say at src/gen/CORE.setting:12798␤  in block  at /tmp/Zh__1Zfw4u:1␤␤»
21:54 grondilu apparently not
21:55 benabik r: (1..1e99)^.methods(:local).say
21:55 camelia rakudo 50cecf: OUTPUT«No such method 'methods' for invocant of type 'Nil'␤  in block  at /tmp/DuY8BdQpCf:1␤␤»
21:55 benabik r: (1..1e99).^methods(:local).say
21:55 benabik oops
21:55 camelia rakudo 50cecf: OUTPUT«new BUILD flat infinite iterator list bounds reify at_pos roll pick of ACCEPTS perl Numeric <anon> <anon> <anon> <anon>␤»
21:55 benabik ^^ Range already has a pick?
21:56 benabik Or does methods(:local) get methods from roles as well?
21:56 grondilu it does a method.  See Range.pm line 157
21:56 grondilu *does have
21:56 BenGoldberg r: r: (gather {}).methods(:local);
21:56 camelia rakudo 50cecf: OUTPUT«No such method 'methods' for invocant of type 'List'␤  in block  at /tmp/ISd1uxNkUj:1␤␤»
21:57 BenGoldberg r: say (gather {}).^methods(:local);
21:57 camelia rakudo 50cecf: OUTPUT«new Bool Int end fmt flat list lol flattens tree Capture Parcel eager elems exists exists_pos gimme infinite iterator munch pick pop shift roll reverse rotate splice sort uniq squish REIFY FLATTENABLE_LIST FLATTENABLE_HASH keys values pairs kv reduce sink STORE…»
21:57 benabik r: 1e99.WHAT
21:57 camelia rakudo 50cecf: ( no output )
21:57 benabik r: 1e99.WHAT.say
21:57 camelia rakudo 50cecf: OUTPUT«(Num)␤»
21:57 benabik That's why.  Range.roll looks for an Int on either side for the simple version.
21:59 BenGoldberg r: .say for 1.5 .. 6.7
21:59 camelia rakudo 50cecf: OUTPUT«1.5␤2.5␤3.5␤4.5␤5.5␤6.5␤»
21:59 BenGoldberg r: .say for 1 .. 6.7
21:59 camelia rakudo 50cecf: OUTPUT«1␤2␤3␤4␤5␤6␤»
21:59 BenGoldberg r: .WHAT.say for 1 .. 1.6
21:59 camelia rakudo 50cecf: OUTPUT«(Int)␤»
21:59 BenGoldberg Surely Range.roll should work just as well with an Int and a Num as it does with an Int and an Int
22:00 benabik If a Num range listifies to single integers, it seems likely that roll can be generalized to Num..Num as well.
22:00 benabik Er...  I mean listifies to regularly spaced numbers.
22:07 dansamo joined #perl6
22:18 rurban joined #perl6
22:23 skids joined #perl6
22:31 c1sung joined #perl6
22:43 fgomez joined #perl6
22:49 diakopter jnthn: what do you think about building all 3 NQPs optionally...
22:49 diakopter sounds like daxim wants it
22:49 diakopter (so there has to be only 1 spec file)
22:50 diakopter but if we do that, there's no reason to merge the Configure.pl
22:50 jnthn diakopter: Dunno. I've only been concenred with making the build stuff, well, good enough to build stuff. I know Pm has other plans for it.
22:51 jnthn diakopter: The less I have to do with this stuff, the better.
22:51 diakopter heh ok
22:51 diakopter has pmichaud communicated any part of those plans?
22:51 jnthn Think he's pondering exactly what it should look like still. He's a LOT more likely to come up with something sane here than I am :)
22:52 jnthn *sigh*
22:52 jnthn So, we have *one* failing t/qregex test
22:52 diakopter well I think it's good to optimize for packager ease
22:52 jnthn diakopter: Aye, I'm just not a good person to make judgements on that.
22:54 jnthn nqp: say('baabbbb' ~~ /a**2..4/)
22:54 camelia nqp: OUTPUT«aa␤»
22:54 jnthn nqp-m: say('baabbbb' ~~ /a**2..4/)
22:54 camelia nqp-moarvm: OUTPUT«Substring length (-10) cannot be negative␤   at nqp-src/QRegex.nqp:1062  (./QRegexMoar.moarvm:Str:4294967295)␤ from nqp-src/NQPCORE.setting:668  (./NQPCOREMoar.setting.moarvm:frame_name_8:6)␤ from nqp-src/NQPCORE.setting:667  (./NQPCOREMoar.setting.moarvm:pr…»
22:54 jnthn nqp-jvm: say('baabbbb' ~~ /a**2..4/)
22:54 camelia nqp-jvm: OUTPUT«aa␤»
22:54 jnthn So, bug, BUT...
22:54 jnthn nqp-m: say('baaabbbb' ~~ /a**3..4/)
22:54 camelia nqp-moarvm: OUTPUT«aaa␤»
22:54 jnthn Works for 3!
22:55 jnthn nqp-m: say('babbbb' ~~ /a**1..4/)
22:55 camelia nqp-moarvm: OUTPUT«a␤»
22:55 jnthn Works for 1!
22:55 jnthn Y U NO WORK FOR 2?
22:55 jnthn The 1 case ain't surprising, it's a different code path
22:55 jnthn But the 2 one is weird...
22:55 diakopter what's calling substring
22:56 diakopter nqp-m: say('baabbbb' ~~ /a**2..2/)
22:56 camelia nqp-moarvm: OUTPUT«aa␤»
22:56 diakopter nqp-m: say('baabbbb' ~~ /a**2..3/)
22:56 camelia nqp-moarvm: OUTPUT«Substring length (-10) cannot be negative␤   at nqp-src/QRegex.nqp:1062  (./QRegexMoar.moarvm:Str:4294967295)␤ from nqp-src/NQPCORE.setting:668  (./NQPCOREMoar.setting.moarvm:frame_name_8:6)␤ from nqp-src/NQPCORE.setting:667  (./NQPCOREMoar.setting.moarvm:pr…»
22:56 jnthn diakopter: .Str on the Mathc object
22:56 jnthn nqp-m: say(?('baabbbb' ~~ /a**2..4/))
22:56 camelia nqp-moarvm: OUTPUT«0␤»
22:56 jnthn nqp-m: say(?('baabbbb' ~~ /a**2..3/))
22:56 camelia nqp-moarvm: OUTPUT«0␤»
22:56 jnthn nqp-m: say(?('baabbbb' ~~ /a**2..2/))
22:56 camelia nqp-moarvm: OUTPUT«1␤»
22:57 jnthn wtf
23:00 diakopter jnthn: try it by forcing procedural
23:00 jnthn I'm quite sure it's not using the NFA there
23:00 diakopter hm
23:01 BenGoldberg nqp-m: my $x = 'baabbb' ~~ /a**2..4/; say so $x
23:01 camelia nqp-moarvm: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 2, near " 'baabbb' "␤panic»
23:01 BenGoldberg nqp-m: my $x := 'baabbb' ~~ /a**2..4/; say so $x
23:01 camelia nqp-moarvm: OUTPUT«Confused at line 2, near "say so $x"␤panic»
23:01 BenGoldberg nqp-m: my $x := 'baabbb' ~~ /a**2..4/; say ?$x
23:01 camelia nqp-moarvm: OUTPUT«Confused at line 2, near "say ?$x"␤panic»
23:01 BenGoldberg nqp-m: my $x := 'baabbb' ~~ /a**2..4/; say $x;
23:01 camelia nqp-moarvm: OUTPUT«Confused at line 2, near "say $x;"␤panic»
23:01 BenGoldberg nqp-m: my $x := 'baabbb' ~~ /a**2..4/; say($x);
23:01 camelia nqp-moarvm: OUTPUT«Substring length (-9) cannot be negative␤   at nqp-src/QRegex.nqp:1062  (./QRegexMoar.moarvm:Str:4294967295)␤ from nqp-src/NQPCORE.setting:668  (./NQPCOREMoar.setting.moarvm:frame_name_8:6)␤ from nqp-src/NQPCORE.setting:667  (./NQPCOREMoar.setting.moarvm:pri…»
23:01 BenGoldberg nqp-m: my $x := 'baabbb' ~~ /a**2..4/; say(so $x);
23:01 camelia nqp-moarvm: OUTPUT«Confused at line 2, near "say(so $x)"␤panic»
23:02 diakopter nqp-m: say(?('aa' ~~ /a**2..3/))
23:02 camelia nqp-moarvm: OUTPUT«0␤»
23:02 BenGoldberg nqp-m: my $x := 'baabbb' ~~ /a**2..4/; say($x.WHAT);
23:02 camelia nqp-moarvm: OUTPUT«(signal SEGV)»
23:02 diakopter nqp-m: say(?('aa' ~~ /.**2..3/))
23:02 camelia nqp-moarvm: OUTPUT«0␤»
23:02 * BenGoldberg blinks
23:02 diakopter jnthn: heh segv
23:02 jnthn um.
23:02 jnthn yeah
23:02 BenGoldberg That can't be good
23:03 BenGoldberg nqp-m: my $x := 'baabbb' ~~ /a**2..4/; my $y := $x.WHAT; say('alive');
23:03 camelia nqp-moarvm: OUTPUT«alive␤»
23:04 BenGoldberg nqp-m: my $x := 'baabbb' ~~ /a**2..4/; my $y := $x.WHAT; say($y);
23:04 camelia nqp-moarvm: OUTPUT«(signal SEGV)»
23:04 BenGoldberg nqp-m: my $x := 'baabbb' ~~ /a**2..4/; my $y := $x.WHAT; say(?($y));
23:04 camelia nqp-moarvm: OUTPUT«(signal SEGV)»
23:04 diakopter nqp-m: my $x := 'baabbb' ~~ /a**2..4/; my $y := $x.WHAT; say($y.WHAT);
23:04 camelia nqp-moarvm: OUTPUT«(signal SEGV)»
23:04 jnthn nqp-m: my $x := 'baabbb' ~~ /a**2..4/; say(nqp::isnull($y))
23:04 camelia nqp-moarvm: OUTPUT«Use of undeclared variable '$y' at line 2, near "))"␤panic»
23:04 jnthn nqp-m: my $x := 'baabbb' ~~ /a**2..4/; say(nqp::isnull($x))
23:04 camelia nqp-moarvm: OUTPUT«0␤»
23:05 jnthn nqp-m: my $x := 'baabbb' ~~ /a**2..4/; say(nqp::isnull($x.WHAT))
23:05 camelia nqp-moarvm: OUTPUT«0␤»
23:05 BenGoldberg nqp-m: my $x := 'baabbb' ~~ /a**2..4/; my $y := ?($x); say($y);
23:05 camelia nqp-moarvm: OUTPUT«0␤»
23:05 jnthn nqp-m: my $x := 'baabbb' ~~ /a**2..4/; say($x.HOW.name($x))
23:05 camelia nqp-moarvm: OUTPUT«NQPMatch␤»
23:05 jnthn nqp-m: say(NQPMatch)
23:05 camelia nqp-moarvm: OUTPUT«(signal SEGV)»
23:05 jnthn nqp-m: say(NQPMu)
23:05 camelia nqp-moarvm: OUTPUT«␤»
23:05 jnthn Well, that golfs it...
23:06 BenGoldberg nqp: say(NQPMatch)
23:06 camelia nqp: OUTPUT«Cannot look up attributes in a type object␤current instr.: 'Str' pc 18620 (src/stage2/QRegex.pir:7461) (src/stage2/QRegex.nqp:1113)␤»
23:06 BenGoldberg nqp-jvm: say(NQPMatch)
23:06 camelia nqp-jvm: OUTPUT«Cannot look up attributes in a type object␤  in Str (src/stage2/gen/QRegex.nqp:1113)␤  in  (src/stage2/gen/NQPCORE.setting:672)␤  in print (src/stage2/gen/NQPCORE.setting:671)␤  in say (src/stage2/gen/NQPCORE.setting:678)␤  in  (/tmp/P9yw7nKZcQ:1)␤  in  (…»
23:06 jnthn aha
23:06 jnthn And that explains it
23:06 jnthn somewhat, at least
23:14 jnthn oh...it may be a register lifetime screwup...
23:23 jnthn t\qregex/01-qregex.t .................. ok
23:23 jnthn \o/
23:25 dalek nqp/moarboot: 84ff46d | jnthn++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
23:25 dalek nqp/moarboot: Fix register lifetime for min/max in quants.
23:25 dalek nqp/moarboot:
23:25 dalek nqp/moarboot: Since we backtrack in/out of the quant code, the min/max must not be
23:25 dalek nqp/moarboot: kept in registers with a lifetime of just that region of code, or they
23:25 dalek nqp/moarboot: may get scribbled over. Fixes the remaining t/qregex failure and one
23:25 dalek nqp/moarboot: of the t/p5regex failures.
23:25 dalek nqp/moarboot: review: https://github.com/perl6/nqp/commit/84ff46d789
23:25 jnthn That took some finding...
23:25 TimToady
23:25 kay__ joined #perl6
23:26 TimToady
23:26 jnthn ooh, a drink...
23:26 jnthn or an ice cream?
23:26 jnthn .u Y̊
23:26 yoleaux U+0059 LATIN CAPITAL LETTER Y [Lu] (Y)
23:26 yoleaux U+030A COMBINING RING ABOVE [Mn] (◌̊)
23:26 jnthn oh bah :P
23:27 jnthn but now I read it as a drink, I guess I'll have a beer... :)
23:28 Mouq joined #perl6
23:28 huf they look like sainted letters
23:29 TimToady
23:29 huf fat bird?
23:29 zwut00 left #perl6
23:29 TimToady
23:29 huf oh no i made it angry
23:30 TimToady
23:30 Mouq o̊̊̊
23:32 jnthn mmm...Imperial Porter... \o/
23:35 dalek nqp/moarboot: d857b01 | jnthn++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
23:35 dalek nqp/moarboot: Small anchor compilation fix.
23:35 dalek nqp/moarboot:
23:35 dalek nqp/moarboot: Gets us down to 2 failures in t/p5regex.
23:35 dalek nqp/moarboot: review: https://github.com/perl6/nqp/commit/d857b01b54
23:35 dansamo joined #perl6
23:35 jnthn Down to 6 fails over 3 test files
23:42 araujo joined #perl6
23:51 diakopter .oO( I did haz a bug? )
23:52 jnthn aye :)
23:52 jnthn ooh
23:52 jnthn My attempt to fix another one produced me that "Use of undeclared variable" heisenbug!
23:52 diakopter oh joy
23:53 jnthn Well, it's good that I finally have it here.
23:53 jnthn 'cus nobody else who got it so far managed to make much progress solving it...
23:53 diakopter I've never seen it either, so probably so do I have it too now
23:53 diakopter well, we could reproduce it on the camelia machine anyway
23:53 jnthn true
23:54 jnthn It almost certainly has to be that $*W.is_lexical($name) is returning the wrong answer
23:54 diakopter yeah; it's possible there's an error in the hash stuff
23:54 jnthn yeah
23:56 diakopter tho I wouldn't look there first

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

Perl 6 | Reference Documentation | Rakudo