»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
dalek ecza: 4becd9e | coke++ | t/spectest.data:
These tests rely too heavily on SetHash/BagHash

Need to implement those before we can run them.
00:04
ast: e195879 | coke++ | S (7 files):
niecza fudge
00:12 Psyche^ joined, Psyche^_ left 00:32 ivanshmakov left
grondilu r: subset Prime of Int where &is-prime; say 2013 ~~ Prime 00:41
camelia rakudo 50cecf: OUTPUT«False␤»
colomon is there a simple way to get the first or second half of an array in p5?
colomon wishes p6 were fast enough for his current task 00:42
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?
colomon: (Half a p5 array): Copy the array and splice? 00:44
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.
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
colomon japhb__: I'm trying to do a binary search on the set of faces which are toruses in a STEP file. 00:49
00:50 ivanshmakov joined
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?
colomon each face in question would be on a torus surface 00:52
japhb__ Oh, I see.
grondilu other set of faces can be spheres, for instance?
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?
colomon grondilu: that's just step one.
Ip.amkrankruleuen 00:54
whoops
grondilu that's far from trivial
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
grondilu: I know it's literally a torus, ie a TOROIDAL_SURFACE. So that part is easy. 00:55
at the moment, it's mostly the p5 equivalent of @array[0..*/2] that's bugging me 00:56
grondilu doesn't @array[0..@array/2] work? 00:57
p5eval: my @a = 1..10; @a[0..@a/2]
p5eval grondilu: 6
grondilu p5eval: my @a = 1..10; @a[0..(@a/2)] 00:58
p5eval grondilu: 6
colomon p5eval: my @a = 1..10; say @a[0..(@a/2)]
p5eval colomon: 1234561
grondilu p5eval: my @a = 1..10; join ' ', @a[0..(@a/2)]
p5eval grondilu: 1 2 3 4 5 6
colomon grondilu++ 00:59
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
colomon p5eval: my @a = 1..10; join ' ', @a[0..^@a/2] 01:01
p5eval colomon: ERROR: syntax error at (eval 7) line 1, near "..^"
grondilu p5eval: my @a = 1..10; use integer; join ' ', @a[0..@a/2]
p5eval grondilu: 1 2 3 4 5 6
grondilu p5eval: my @a = 1..10; use integer; join ' ', @a[0..@a/2 - 1]
p5eval grondilu: 1 2 3 4 5
01:11 grondilu left
dalek p: 50f5632 | coke++ | docs/ops.markdown:
add opcode doc
01:18
01:18 BenGoldberg joined 01:21 stevan_ left 01:22 stevan_ joined 01:31 ivanshmakov left 01:35 btyler left 01:36 ivanshmakov joined 01:47 zakharyas joined
BenGoldberg p5eval: my @a = 1..2; say $a[0.5]; 01:48
p5eval BenGoldberg: 11
japhb__ colomon: Keep a separate array of indices, modify that during your binary search, and then slice with @a[@i] ?
BenGoldberg p5eval: my @a = 1..2; $a[0.5];
p5eval BenGoldberg: 1
colomon japhb__: I think I've got things okay now, thanks.
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. ;-)
ugh, hate that.
BenGoldberg my @a = 1..10; $a[ $#a / 2 ];
p5eval: my @a = 1..10; $a[ $#a / 2 ];
p5eval BenGoldberg: 5
BenGoldberg :)
01:56 ivanshmakov left 01:58 ivanshmakov joined 02:34 btyler joined 02:38 jeff_s1 joined 02:55 ssutch left 03:11 btyler left 03:29 SamuraiJack joined 03:44 cognominal left 03:47 btyler joined 03:53 preflex_ joined, ChanServ sets mode: +v preflex_ 03:54 preflex left, preflex_ is now known as preflex 03:58 xenoterracide_ left 04:07 BenGoldberg left 04:08 fridim_ left 04:22 [Sno] left 04:37 xenoterracide_ joined 04:57 SamuraiJack_ joined 05:01 SamuraiJack left 05:08 xenoterracide_ left 05:11 btyler left 05:26 [Sno] joined 05:42 kaleem joined
moritz \o 05:54
JimmyZ o/ 06:02
06:14 darutoko joined
masak o/ 06:38
labster \o 06:51
masak sjn: I'm almost 100% sure you don't *actually* want aleph 0, aleph 1, etc, in the language... 06:56
sjn: but I'm curious. can you think of *one* use case for those? I can't. :)
japhb__++ # irclog.perlgeek.de/perl6/2013-10-09#i_7695203 06:58
jnthn o/
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...
labster expellimodulus! 07:02
arnsholt Inferring a grammar from data is... non-trivial
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
For values of "complex" similar to that required for Godel's theorems; that is, not very complex =) 07:04
07:05 KroKite joined
arnsholt I wanted to do grammar induction for my master's thesis, actually. That turned out to be a mite over-amobitious 07:05
masak :) 07:07
arnsholt: what you said about negative data sounds very much like chapter 8 of HPMoR. 07:08
arnsholt What's that chapter about? 07:10
masak EY calls it "positive bias", but I've also heard it called "confirmation bias". 07:12
the tendency to have a preferred model, and to "validate" it by finding instances that match it.
but not going out of your way to invalidate it by finding instances that don't match.
moritz it's about mental models being wrong because you only look at matches, not non-matches
07:14 itz joined
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
but it's a constant battle against that bias, for sure.
07:15 FROGGS joined
masak the brain likes to smudge the limit between sensory input and mental model. 07:15
arnsholt Yeah, it's a classic bug in the human brain I Think 07:17
moritz first reported hundreds of years back, and still not patched 07:18
jnthn
.oO( unintelligent design... )
07:26
masak it's probably a hard one to fix. being convinced of something has its evolutionary advantages, too. 07:29
specifically, being convinced of something with less-than-complete evidence. 07:30
jnthn teaching & 07:33
07:41 dmol joined 07:45 sqirrel joined, denis_boyun joined
masak .oO( There are 10 types of people in the world. I'm not actually sure you can have 0 as a base. ) 07:46
hoelzro o/ #perl6 07:50
07:52 cognominal joined
sjn masak: novelty. :) 07:53
masak sjn: I was asking because I'm genuinely curious. I can't think of any use case. 07:54
sjn: specifically, aleph one is "non-constructive" in a way I can't really make precise (but sorear probably could). 07:55
07:55 hummeleB1 joined
masak and non-constructive things don't really work that well on Turing hardware. 07:55
stackoverflow.com/questions/1921093...constant-1 # C is weeeeeird
07:55 telex left 07:56 hummeleB1 left, telex joined 08:20 johnny5_ left 08:32 dakkar joined
arnsholt masak: What does non-constructive mean in this context? 08:33
masak arnsholt: in my mind, I have it as "you can build it with finite components in computer memory". 08:34
ah, sorry, that was "constructire" :) 08:35
I removed the negation.
constructive*
arnsholt Right, that makes sense I think 08:38
08:49 dansamo joined 09:05 fhelmberger joined 09:06 daniel-s_ joined 09:07 daxim joined 09:15 dansamo left, dansamo joined 09:23 daniel-s__ joined, daniel-s_ left 09:33 zakharyas left
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: www.vidarholen.net/contents/blog/?p=324 10:02
10:03 stevan_ left
masak nice post. 10:08
yeah, surrogate pairs and composing chars were the ones I was immediately aware of.
BOMs, directional overrides, RTL markers, and interlinear annotations are there too. good point. 10:09
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
well, directed graph.
moritz
.oO( god DAG )
10:20
masak yeah, guess so. can't think of a case with cycles :) 10:26
10:45 sqirrel left 10:53 grondilu joined 10:54 imarcusthis- joined
jnthn nwc10: ouch :) 11:15
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:18
masak reversing the jamo sounds odd. 11:20
diakopter omaj.... 11:21
.oO( homage to jamo.. )
11:22
11:23 hummeleB1 joined 11:27 lizmat joined 11:28 woolfy joined 11:32 SamuraiJack__ joined 11:35 SamuraiJack_ left 11:44 KroKite left, dayangkun joined 11:46 dayangkun_ left 12:01 sqirrel joined
dalek rlito: 219ca58 | (Flavio S. Glock)++ | / (2 files):
Perlito5 - perl6 - call
12:08
12:24 woosley1 joined, woosley1 left 12:25 daniel-s left 12:26 daniel-s joined 12:28 bloonix left
GlitchMr std: / abc /xms 12:33
camelia std a0bcfb1: OUTPUT«===SORRY!===␤Unsupported use of suffix regex modifiers; in Perl 6 please use prefix adverbs at /tmp/g3ZjTpWvQY line 1:␤------> / abc /xms⏏<EOL>␤Other potential difficulties:␤ Unsupported use of /m; in Perl 6 please …»
GlitchMr std: / [a-z] /
camelia std a0bcfb1: OUTPUT«===SORRY!===␤Invalid regex metacharacter (must be quoted to match literally) at /tmp/ivaiVBJWcP line 1:␤------> / [a-⏏z] /␤Potential difficulties:␤ [a-z] appears to be an old-school character class; please use <[a..…»
GlitchMr std: // 12:42
camelia std a0bcfb1: OUTPUT«===SORRY!===␤Null regex not allowed at /tmp/egDRZeK7z9 line 1:␤------> //⏏<EOL>␤Check failed␤FAILED 00:01 120m␤»
12:44 _daniel-s__ joined, daniel-s__ left
dalek p/moarboot: 2fda98b | (Tobias Leich)++ | / (2 files):
strip now unneeded heisenbug-switches
12:46
jnthn yay! 12:47
moritz \o/ 12:48
FROGGS I'm happy that they are gone too!
so, fix all the bugs so that we can think about rakudo? :o)
and we need to steal^Wimplement encode/decode 12:49
jnthn I think Moar already partly has what we need for those 12:50
So it's probably mostly wiring
We should fix the other bugs too
FROGGS hmmm, yeah, right
coll :D
cool* 12:51
12:53 benabik left
jnthn I may have energy for some of them after my train journey home this evening 12:55
If not, tomorrow is free-ish :)
FROGGS I'll have some time this evening I guess :o) 12:59
13:04 fhelmberger left
moritz is it normal that the JVM takes about about 3 cores while compiling the setting? 13:06
jnthn 2 I could imagine, 3 is curious 13:07
(one for GC, one for running stuff)
moritz it does say 299 to 302% CPU here (in htop)
jnthn wow
tadzik mine is using 4 alright 13:08
jnthn 4? core blimey!
moritz huh, rakudo jvm build failed 13:09
moritz tries again with a newer nqp
jnthn Odd...did today's roast data look fine? 13:10
13:13 stevan_ joined 13:15 sqirrel left 13:17 sqirrel joined, PacoAir joined 13:19 kaare_ joined 13:24 ajr joined 13:25 ajr is now known as Guest25499, Guest25499 is now known as ajr_
moritz build succeeded now. 13:28
13:29 lowpro30 joined 13:33 xinming left 13:34 xinming joined 13:35 fridim_ joined 13:36 zakharyas joined 13:37 lowpro30_ joined 13:39 lowpro30 left 13:48 bluescreen10 joined
moritz r-j: say 'just checking if it still works' 13:48
camelia rakudo-jvm 50cecf: OUTPUT«just checking if it still works␤»
diakopter r-j: say eval "1"x 9999999 13:58
camelia rakudo-jvm 50cecf: OUTPUT«(timeout)»
diakopter r-j: say eval "1"x 999999
FROGGS .oO( just checking if it still breaks )
camelia rakudo-jvm 50cecf: OUTPUT«(timeout)»
diakopter r-j: say eval "1"x 99999
camelia rakudo-jvm 50cecf: OUTPUT«(timeout)» 13:59
moritz fwiw I have no idea how timeouts and evalserver relate
diakopter r-j: say eval "1"x 9999
camelia rakudo-jvm 50cecf: OUTPUT«11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111…»
diakopter r-j: say eval "11"x 9999
camelia rakudo-jvm 50cecf: OUTPUT«11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111…»
diakopter r-j: say eval "111"x 9999
moritz I never considered the question whether an inifnite loop will kill the evalserver for good
camelia rakudo-jvm 50cecf: OUTPUT«11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111…»
diakopter r-j: say eval "1111"x 9999
13:59 btyler joined
camelia rakudo-jvm 50cecf: OUTPUT«11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111…» 13:59
diakopter r-j: say eval "11111"x 9999
moritz diakopter: would you mind doing that experimentation in private message?
diakopter ok
camelia rakudo-jvm 50cecf: OUTPUT«11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111…» 14:00
jnthn wonders which is slowest, the parsign of the constructing epic bigint... :)
moritz there's no epic bigint 14:01
just a string
jnthn no
eval
moritz oh
right
14:03 skids joined
diakopter r-j: say eval " " x 999 x 999 x 999 14:04
camelia rakudo-jvm 50cecf: OUTPUT«java.lang.OutOfMemoryError: Java heap space␤␤»
diakopter I'm trying to remember how I caused invalid bytecode the other day
masak Y U FILL BACKLOG WITH ONES!? 14:06
diakopter pauses from rotfl to type this
diakopter again pauses from rotfl to type this 14:07
tadzik this is how I rofl
14:07 fridim_ left
masak tadzik: :) 14:08
masak .oO( "but diakopter, what are you doing on the carpet?" -- "it's just how I roll" )
PerlJam
.oO( ... and then he zaps people with static electricity )
14:09
moritz prefers dynamic electricity 14:10
masak .oO( J. K. Rowling On The Floor, Laughing ) 14:11
FROGGS -.-
14:12 sqirrel left
Ulti the J.K. stands for Joe King 14:12
or maybe Jo King to be moar obvious and effeminate 14:13
moritz I think it was "Just Kidding" 14:14
diakopter zombie discovered in Ohio: goo.gl/sb2C7d 14:20
tadzik Left 4 Dead: Ohio
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
I like the disneyland campaign
hoelzro hahaha 14:22
14:22 zakharyas left
hoelzro I love it 14:22
tadzik we should play a co-op some day
hoelzro sure! 1 or 2?
tadzik 2
there's no 1 on linux, so I don't even have it ;)
hoelzro ah =)
it's been a while since I've played; that would be fun 14:23
tadzik steamcommunity.com/sharedfiles/file...=176102683
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"
hoelzro will do =)
hoelzro completely forgot you could mod L4D
we could *make* the Tokyo campaign =)
tadzik there is some nice stuff in there
yeah, that's what I was saying ;)
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.
hoelzro google: "How to write left for dead mods in Perl 6"
tadzik hah
diakopter .g "How to write left for dead mods in Perl 6"
yoleaux No results found.
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.
hoelzro damn! 14:27
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
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" =)
FROGGS (if you don't flip the coin)
14:30 xenoterracide_ joined
masak hoelzro: give me an example when a choice wasn't based on opinion 14:31
(of a language design decision)
hoelzro ah, so you're just pointing out that saying "opinionated choice" is kinda redundant? 14:32
I can't think of an example where a choice didn't follow an opinion
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".
"insanely awesome" is a nice feeling to have about a language, but it's not a detailed, textured feeling. 14:33
"opinionated and making engineering tradeoffs" is detailed and textured.
tadzik well, they say that you don't know a prog language until you can say something bad about it
masak that approximates what I mean to say.
like, every such opinionated choice is a coin with a front and a back. 14:34
generalist programming languages try very hard to make the front big and the back small :)
this is different (but not entirely disjunct) from "DWIM vs WAT". 14:35
hoelzro ah, I see 14:37
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:38
14:40 xinming left
skids
.oO(elexically scoped electricity. Bah there's a pun to be had there, just can't... make... it... work...)
14:41
14:42 kaleem left 14:43 xinming joined
masak skids: have you tried switching the pun off and then on again? :) 14:44
skids Once, or several times rapidly?
diakopter DWAT 14:50
14:50 kaleem joined
GlitchMr .u 「」 14:52
yoleaux U+FF62 HALFWIDTH LEFT CORNER BRACKET [Ps] (「)
U+FF63 HALFWIDTH RIGHT CORNER BRACKET [Pe] (」)
GlitchMr rn: say "elephant" ~~ / \b elephant \b / 14:53
camelia niecza v24-98-g473bd20: OUTPUT«===SORRY!===␤␤Unsupported use of \b as word boundary; in Perl 6 please use <?wb> (or either of « or ») at /tmp/7RgMVtR2BZ line 1:␤------> say "elephant" ~~ / \b⏏ elephant \b /␤␤Parse failed␤␤»
..rakudo 50cecf: OUTPUT«Nil␤»
colomon "(or either of « or »)" ? 15:00
15:04 benabik joined 15:06 lowpro30_ left
arnsholt colomon: Boundary to the left and boundary to the right. Can't remember which is which off-hand 15:06
colomon arnsholt: that's a new one to me 15:07
15:08 jnap joined 15:09 sqirrel joined 15:10 rindolf joined
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
15:17 stevan_ left
TimToady also, if you're famaliar with \< and \> in grep, those face the same way 15:17
15:17 ajr_ left 15:19 [Sno] left
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.
PerlJam too
TimToady yes, but that's part of what I mean by "figure" :) 15:20
masak yes. 15:21
TimToady it really is an important psychological concept
which is why we find it funny when a sculptor says: just carve away everything that isn't the elephant
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
comb concentrates on the elephant instead of the whitespace 15:23
15:24 kaleem left 15:25 ajr joined, ajr is now known as Guest94069 15:26 Guest94069 is now known as ajr_
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:26
15:27 jnap left
TimToady does such a tall embedded object cause the whole line to become fatter? 15:27
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
fortunately, I am not that sane :)
not saying whether it's good fortune or bad fortune... 15:29
15:29 jnap joined 15:32 lowpro30_ joined
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
as long as we know which cat is parsing code at the moment, we're fine :) 15:38
*Comes
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
'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
'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:42 lowpro30_ left 15:44 fgomez joined
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 :)
"needs negative data too" 15:45
timotimo otherwise every grammar will just end up matching .* 15:46
15:48 FROGGS left
PerlJam
.oO( but ... every grammar *does* match .* ;-)
15:50
15:50 lowpro30_ joined
moritz r: say '.*' ~~ /\d+/ 15:50
TimToady the error messages are LTA however
camelia rakudo 50cecf: OUTPUT«Nil␤»
moritz no, it doesn't!
15:52 spider-mario joined
diakopter you win internet 15:52
masak payable at exit
TimToady your internet is LTA
PerlJam
.oO( you can checkout any time you like, but you can never leave )
15:53
TimToady git leave --> Did you mean "rebase"?
geekosaur or freebase, thereby nicely fitting back in... 15:54
TimToady leave->rebase is a big stretch
at least the vowels are the same, and there are two liquids on the front, and two labials in the middle
PerlJam geekosaur: I fail to see how an ontological database has any relevance ;) 15:55
TimToady it's just a library issue
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...
goodness, this letter from Lincoln and this letter from FDR are the same letter!! 15:57
PerlJam indeed. :)
16:01 daxim left 16:04 fgomez left 16:08 lowpro30 joined 16:09 lowpro30_ left 16:12 btyler left 16:13 JimmyZ joined, Exodist joined
timotimo the only thing you can win in the internet is even more internet 16:18
16:18 segomos joined 16:21 FROGGS joined, btyler joined 16:23 spider-mario left 16:24 spider-mario joined 16:29 fhelmberger joined 16:30 fhelmberger left 16:31 btyler left 16:36 sqirrel left 16:37 stevan_ joined 16:39 btyler joined, SamuraiJack__ left 16:41 SamuraiJack__ joined 16:50 colomon left 16:55 colomon joined 16:56 dakkar left 16:57 denis_boyun left 16:59 risou_awy joined, risou_awy left 17:00 risou_awy joined, risou_awy is now known as risou 17:02 risou is now known as risou_awy 17:03 SamuraiJack__ left 17:05 stevan__ joined 17:08 stevan_ left 17:10 ajr_ left 17:13 mahesh_ joined, mahesh_ left
dalek ast: b353ee1 | coke++ | S (4 files):
pugs fudge
17:15
[Coke] whoops, thought I pushed it last night. 17:16
17:25 btyler left 17:27 jnap left
[Coke] current pugs bocker on daily test server is: 17:32
dist/build/pugs/pugs-tmp/perl5/p5embed.o: In function `perl5_can':
p5embed.c:(.text+0x1f91): undefined reference to `PL_stack_sp'
(during the build)
17:32 [Sno] joined
diakopter need a lower libperl version 17:35
try 5.12.1 from perlbrew
17:37 jnap joined 17:39 frettled_ left
diakopter lolol mov mov mov mov mov mov mov mov www.cl.cam.ac.uk/~sd601/papers/mov.pdf 17:40
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:41
diakopter heh 17:42
talk about branchless...
17:49 btyler joined 17:50 REPLeffect left 17:54 ssutch joined 18:05 REPLeffect joined 18:16 denis_boyun joined, ajr joined 18:17 ajr is now known as Guest10050, Guest10050 is now known as ajr_ 18:18 darutoko left
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
like, and stuff...
masak TimToady: what portion of my recent kvetchings caused you to say this? :) 18:26
from my vantage point, I'm neither more nor less pomo than usual. 18:27
masak .oO( just more married ) :P
diakopter consider yourself deconstructed
diakopter falls apart
FROGGS masak: you are now more married than some time before? 18:28
masak FROGGS: we recently passed our 1y anniversary. 18:29
FROGGS ahh, cool!
err, I missed the party :o(
masak for anyone interested in postmodernism, may I heartily recommend www.amazon.com/Small-World-David-Lo...140244867/
(fiction)
TimToady masak: the opionated part :P 18:31
diakopter looks for the opion 18:32
18:33 Rotwang joined 18:35 ajr_ left, ajr_ joined
masak TimToady: ah yes. I see that. 18:39
18:40 ajr_ left, ajr_ joined
masak TimToady: I think the final thing that made me realize that was starting to sketch my own programming language. 18:42
TimToady: basically any decision is a tradeoff.
FROGGS like when being married :o) 18:45
18:46 ajr_ left
diakopter like getting married! 18:47
18:52 rindolf left
masak :) 18:53
18:55 ajr_ joined
lue hello world! o/ 19:02
19:02 xinming left
masak hellue! 19:03
19:09 xinming joined 19:21 xinming left 19:23 frettled joined, xinming joined 19:30 lowpro30 left 19:32 xinming left 19:34 xinming joined 19:37 lowpro30 joined 19:49 nine_ is now known as nine 19:51 kaare_ left 19:53 xinming left 19:55 xinming joined 19:58 lowpro30_ joined
[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 20:01 hummeleB1 left, kathyz left 20:02 lowpro30 left 20:03 _daniel-s__ left 20:13 hummeleB1 joined 20:15 spider-mario left 20:16 rurban left 20:23 bruges_ joined 20:24 bruges left 20:41 BenGoldberg joined 21:02 skids left, dayangkun left 21:16 spintronic joined
spintronic helo 21:16
21:17 dayangkun joined 21:18 hummeleB1 left
FROGGS hi spintronic 21:18
21:20 beatboxchad joined 21:24 Rotwang left 21:28 spintronic left, integral joined 21:30 lowpro30_ left 21:34 stevan__ left 21:37 zwut00 joined 21:45 FROGGS left
dalek p/moarboot: ee57fd9 | jnthn++ | t/nqp/19-file-ops.t:
Correct a test to also work on Windows.
21:45
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␤»
BenGoldberg r: my $x = (1..1e99).pick; say $x 21:51
camelia rakudo 50cecf: OUTPUT«(timeout)»
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.
benabik Specialize .pick on ranges.
grondilu indeed 21:53
r: say (1, 3 ... 97).WHAT
camelia rakudo 50cecf: OUTPUT«(List)␤»
BenGoldberg r: say gather {}.WHAT
camelia rakudo 50cecf: OUTPUT«(List)␤»
BenGoldberg r: say (1..2).WHAT 21:54
camelia rakudo 50cecf: OUTPUT«(Range)␤»
grondilu r: say (0 .. *).pick # does that even make sense?
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␤␤»
grondilu apparently not 21:55
benabik r: (1..1e99)^.methods(:local).say
camelia rakudo 50cecf: OUTPUT«No such method 'methods' for invocant of type 'Nil'␤ in block at /tmp/DuY8BdQpCf:1␤␤»
benabik r: (1..1e99).^methods(:local).say
oops
camelia rakudo 50cecf: OUTPUT«new BUILD flat infinite iterator list bounds reify at_pos roll pick of ACCEPTS perl Numeric <anon> <anon> <anon> <anon>␤»
benabik ^^ Range already has a pick?
Or does methods(:local) get methods from roles as well? 21:56
grondilu it does a method. See Range.pm line 157
*does have
BenGoldberg r: r: (gather {}).methods(:local);
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);
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…»
benabik r: 1e99.WHAT
camelia ( no output )
benabik r: 1e99.WHAT.say
camelia rakudo 50cecf: OUTPUT«(Num)␤»
benabik That's why. Range.roll looks for an Int on either side for the simple version.
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␤»
BenGoldberg r: .say for 1 .. 6.7
camelia rakudo 50cecf: OUTPUT«1␤2␤3␤4␤5␤6␤»
BenGoldberg r: .WHAT.say for 1 .. 1.6
camelia rakudo 50cecf: OUTPUT«(Int)␤»
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.
Er... I mean listifies to regularly spaced numbers.
22:00 PacoAir left 22:06 dansamo left 22:07 dansamo joined, dansamo left 22:18 rurban joined 22:21 c1sung left 22:23 skids joined 22:31 c1sung joined 22:34 bluescreen10 left 22:36 denis_boyun left 22:43 fgomez joined
diakopter jnthn: what do you think about building all 3 NQPs optionally... 22:49
sounds like daxim wants it
(so there has to be only 1 spec file)
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.
diakopter: The less I have to do with this stuff, the better. 22:51
diakopter heh ok
has pmichaud communicated any part of those plans?
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 :)
*sigh* 22:52
So, we have *one* failing t/qregex test
diakopter well I think it's good to optimize for packager ease
jnthn diakopter: Aye, I'm just not a good person to make judgements on that.
nqp: say('baabbbb' ~~ /a**2..4/) 22:54
camelia nqp: OUTPUT«aa␤»
jnthn nqp-m: say('baabbbb' ~~ /a**2..4/)
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…»
jnthn nqp-jvm: say('baabbbb' ~~ /a**2..4/)
camelia nqp-jvm: OUTPUT«aa␤»
jnthn So, bug, BUT...
nqp-m: say('baaabbbb' ~~ /a**3..4/)
camelia nqp-moarvm: OUTPUT«aaa␤»
jnthn Works for 3!
nqp-m: say('babbbb' ~~ /a**1..4/) 22:55
camelia nqp-moarvm: OUTPUT«a␤»
jnthn Works for 1!
Y U NO WORK FOR 2?
The 1 case ain't surprising, it's a different code path
But the 2 one is weird...
diakopter what's calling substring
nqp-m: say('baabbbb' ~~ /a**2..2/) 22:56
camelia nqp-moarvm: OUTPUT«aa␤»
diakopter nqp-m: say('baabbbb' ~~ /a**2..3/)
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…»
jnthn diakopter: .Str on the Mathc object
nqp-m: say(?('baabbbb' ~~ /a**2..4/))
camelia nqp-moarvm: OUTPUT«0␤»
jnthn nqp-m: say(?('baabbbb' ~~ /a**2..3/))
camelia nqp-moarvm: OUTPUT«0␤»
jnthn nqp-m: say(?('baabbbb' ~~ /a**2..2/))
camelia nqp-moarvm: OUTPUT«1␤»
jnthn wtf 22:57
diakopter jnthn: try it by forcing procedural 23:00
jnthn I'm quite sure it's not using the NFA there
diakopter hm
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»
BenGoldberg nqp-m: my $x := 'baabbb' ~~ /a**2..4/; say so $x
camelia nqp-moarvm: OUTPUT«Confused at line 2, near "say so $x"␤panic»
BenGoldberg nqp-m: my $x := 'baabbb' ~~ /a**2..4/; say ?$x
camelia nqp-moarvm: OUTPUT«Confused at line 2, near "say ?$x"␤panic»
BenGoldberg nqp-m: my $x := 'baabbb' ~~ /a**2..4/; say $x;
camelia nqp-moarvm: OUTPUT«Confused at line 2, near "say $x;"␤panic»
BenGoldberg nqp-m: my $x := 'baabbb' ~~ /a**2..4/; say($x);
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…»
BenGoldberg nqp-m: my $x := 'baabbb' ~~ /a**2..4/; say(so $x);
camelia nqp-moarvm: OUTPUT«Confused at line 2, near "say(so $x)"␤panic»
diakopter nqp-m: say(?('aa' ~~ /a**2..3/)) 23:02
camelia nqp-moarvm: OUTPUT«0␤»
BenGoldberg nqp-m: my $x := 'baabbb' ~~ /a**2..4/; say($x.WHAT);
camelia nqp-moarvm: OUTPUT«(signal SEGV)»
diakopter nqp-m: say(?('aa' ~~ /.**2..3/))
camelia nqp-moarvm: OUTPUT«0␤»
BenGoldberg blinks
diakopter jnthn: heh segv
jnthn um.
yeah
BenGoldberg That can't be good
nqp-m: my $x := 'baabbb' ~~ /a**2..4/; my $y := $x.WHAT; say('alive'); 23:03
camelia nqp-moarvm: OUTPUT«alive␤»
BenGoldberg nqp-m: my $x := 'baabbb' ~~ /a**2..4/; my $y := $x.WHAT; say($y); 23:04
camelia nqp-moarvm: OUTPUT«(signal SEGV)»
BenGoldberg nqp-m: my $x := 'baabbb' ~~ /a**2..4/; my $y := $x.WHAT; say(?($y));
camelia nqp-moarvm: OUTPUT«(signal SEGV)»
diakopter nqp-m: my $x := 'baabbb' ~~ /a**2..4/; my $y := $x.WHAT; say($y.WHAT);
camelia nqp-moarvm: OUTPUT«(signal SEGV)»
jnthn nqp-m: my $x := 'baabbb' ~~ /a**2..4/; say(nqp::isnull($y))
camelia nqp-moarvm: OUTPUT«Use of undeclared variable '$y' at line 2, near "))"␤panic»
jnthn nqp-m: my $x := 'baabbb' ~~ /a**2..4/; say(nqp::isnull($x))
camelia nqp-moarvm: OUTPUT«0␤»
jnthn nqp-m: my $x := 'baabbb' ~~ /a**2..4/; say(nqp::isnull($x.WHAT)) 23:05
camelia nqp-moarvm: OUTPUT«0␤»
BenGoldberg nqp-m: my $x := 'baabbb' ~~ /a**2..4/; my $y := ?($x); say($y);
camelia nqp-moarvm: OUTPUT«0␤»
jnthn nqp-m: my $x := 'baabbb' ~~ /a**2..4/; say($x.HOW.name($x))
camelia nqp-moarvm: OUTPUT«NQPMatch␤»
jnthn nqp-m: say(NQPMatch)
camelia nqp-moarvm: OUTPUT«(signal SEGV)»
jnthn nqp-m: say(NQPMu)
camelia nqp-moarvm: OUTPUT«␤»
jnthn Well, that golfs it...
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)␤»
BenGoldberg nqp-jvm: say(NQPMatch)
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 (…»
jnthn aha
And that explains it
somewhat, at least
23:07 fgomez left 23:08 dmol left
jnthn oh...it may be a register lifetime screwup... 23:14
t\qregex/01-qregex.t .................. ok 23:23
\o/
dalek p/moarboot: 84ff46d | jnthn++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
Fix register lifetime for min/max in quants.

Since we backtrack in/out of the quant code, the min/max must not be kept in registers with a lifetime of just that region of code, or they may get scribbled over. Fixes the remaining t/qregex failure and one of the t/p5regex failures.
23:25
23:25 Guest65723 left
jnthn That took some finding... 23:25
TimToady
23:25 kay__ joined, btyler left
TimToady 23:26
jnthn ooh, a drink...
or an ice cream?
.u Y̊
yoleaux U+0059 LATIN CAPITAL LETTER Y [Lu] (Y)
U+030A COMBINING RING ABOVE [Mn] (◌̊)
jnthn oh bah :P
but now I read it as a drink, I guess I'll have a beer... :) 23:27
23:28 Mouq joined
huf they look like sainted letters 23:28
TimToady o􏿽xCC􏿽x86 23:29
23:29 zwut00 left
huf fat bird? 23:29
TimToady o􏿽xCC􏿽x8C
huf oh no i made it angry
TimToady 23:30
23:30 kay__ left
Mouq o̊̊̊ 23:30
jnthn mmm...Imperial Porter... \o/ 23:32
dalek p/moarboot: d857b01 | jnthn++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
Small anchor compilation fix.

Gets us down to 2 failures in t/p5regex.
23:35
23:35 dansamo joined
jnthn Down to 6 fails over 3 test files 23:35
23:42 araujo left, araujo joined 23:45 dansamo left 23:51 ajr_ left
diakopter
.oO( I did haz a bug? )
23:51
jnthn aye :) 23:52
ooh
My attempt to fix another one produced me that "Use of undeclared variable" heisenbug!
diakopter oh joy
jnthn Well, it's good that I finally have it here. 23:53
'cus nobody else who got it so far managed to make much progress solving it...
diakopter I've never seen it either, so probably so do I have it too now
well, we could reproduce it on the camelia machine anyway
jnthn true
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
jnthn yeah
diakopter tho I wouldn't look there first 23:56