»ö« 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:09 nif joined, jaldhar joined 00:12 mspaulding left 00:14 nif left 00:17 replore joined 00:26 pun joined, spider-mario left 00:37 fgomez joined 00:38 japhb_ joined
japhb_ sorear, pong 00:38
00:44 fgomez left 00:45 fgomez joined
dalek blets: 862dc2d | (Herbert Breunung)++ | docs/appendix-a-index.txt:
add more stuff from s32 Num
00:46
00:50 jaldhar left 00:51 thelazydeveloper left, tokuhirom left 00:54 scott_ joined
dalek blets: e4dfb4f | (Herbert Breunung)++ | docs/appendix-a-index.txt:
small fixes
00:54
00:55 scott_ is now known as Guest77779
dalek blets: 07b6a0d | (Herbert Breunung)++ | docs/appendix-a-index.txt:
repair old lowercase links
00:59
blets: ed08b03 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
more crosslinks for ops
01:09
01:13 Maddingue left 01:14 Maddingue joined
japhb_ sorear, you rang? 01:15
sorear japhb_: great timing, just got back 01:21
japhb_ :-)
sorear I'm curious to know more about perl6-bench and if I can use it in my workflow
japhb_ What's up?
01:21 lichtkind_ joined
japhb_ Ok, what would you like to know about it? 01:21
01:22 lichtkind left
sorear Dunno, haven't looked too deeply at it 01:22
01:22 lichtkind_ is now known as lichtkind
sorear oh, hey, it has a README, maybe I should have read that before asking :> 01:22
01:22 lichtkind left 01:23 aloha joined
japhb_ heh 01:23
Also, check the TODO for your likely next question(s). ;-) 01:24
sorear mm, only one p6 benchmark?
japhb_ I was getting the structure set up, before launching into writing more benchmarks. 01:25
The core concept was the comparison matrix of multiple compilers versus multiple benchmarks, working up from trivial to hard.
Right now, there's several trivial tests, and one medium-difficult (from the compiler implementor perspective) test. More tests to come (and I'm totally happy with code donations, of course). 01:26
One interesting bit is that I realized I could compare Rakudo running NQP code versus nqp running NQP code. (Aside from the todo item of incrementing bound variables.) 01:27
01:28 fgomez left, fgomez joined, fgomez left 01:29 whiteknight left 01:30 fgomez joined
japhb_ sorear, I'm also happy to move the project under the perl6 project umbrella, if people agree on the basic concept. But even if not, I'm likely to keep working on it, as right now performance is my big Perl 6 implementation hot button. 01:30
So I want to fill out the space of tests enough to give implementors concrete things to work on optimizing. For example, why is Rakudo crazy slow at rc-forest-fire? Is there a particular weakness that could be addressed? Can I write more focused tests that will highlight that weakness and give the Rakudo implementors something concrete to attack? 01:32
01:35 raiph left
japhb_ Oh, I was a tad unclear a few minutes ago. I was pointing out I could compare (NQP/nqp) <-> (NQP/Rakudo) <-> (Perl 6/Rakudo) to determine if (Perl 6/Rakudo) was slow because Perl 6 is relatively complex, or because Rakudo has a large slowdown above nqp, even on NQP code. 01:35
(To a first approximation, of course.)
Anyway, I need to decommute. Any other questions, sorear?
01:38 havenn joined, havenn left
japhb_ OK, I'll take that as a "No" for now ... decommuting & 01:38
01:39 japhb_ left
japhb o/ 01:57
sorear o/ japhb
dalek blets: 488b754 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
repair formating bits
02:04
sorear japhb: the lack of ability to $i++ when $i is bound is not a rakudo bug 02:05
japhb sorear, er ... I don't think I said it was. (Did I?) 02:07
sorear (Aside from the todo item of incrementing bound variables.)
japhb see TODO in perl6-bench 02:08
02:08 pun left 02:11 benabik joined
sorear japhb: the documentation makes it sound like you have more than one bench test 02:12
japhb blinks
Er, I *do* -- some of them are -e tests, currently embedded in the 'bench' script itself. 02:13
sorear oh
I was only looking at the files
japhb But as I said, the important part up to this point was to get the structure correct. Handling -e tests, file-based tests, handling compilers that have to have a separate compile and run pass, managing multiple VMs for the same frontend, all that sort of stuff. 02:14
You might want to get an idea of what happens by just turning off 'enabled' for any compilers you don't currently have installed, and running 'perl bench' to see what happens. You might also want to turn down TEST_COUNT if you let Rakudo run the Perl 6 version of rc-forest-fire. 02:15
02:16 oiig_ joined 02:23 jaldhar joined
japhb realizes that 'get the structure correct' is perhaps misleading for something that is being developed in a fast-iteration style 02:26
It makes it sound like I planned it all out, which I didn't. 02:27
02:31 fgomez left 02:32 agentzh joined 02:45 tyatpi joined, fgomez joined 02:46 betterworld left 02:49 orafu left 02:50 orafu joined 02:54 wolfman2000 joined 02:57 fgomez left, fgomez joined 03:08 cognominal_ joined 03:10 cognominal left 03:12 tyatpi left 03:27 tyatpi joined 03:35 leprevost joined 03:47 fgomez left 03:58 araujo left 04:23 shachaf left, shachaf joined 04:32 raiph joined 04:33 fgomez joined 04:35 wolfman2000 left, spaceships left 04:49 thou joined 04:58 birdwindupbird joined 05:09 wooden left 05:15 leprevost left 05:19 sftp left 05:33 kaleem joined 05:45 machine1 left 05:55 benabik left 05:56 benabik joined 06:08 wtw joined 06:27 machine1 joined 06:31 thou left 06:38 betterworld joined 06:51 ranguard left, ranguard joined 07:01 mucker joined 07:06 fhelmberger joined 07:10 brrt joined 07:14 araujo joined, araujo left, araujo joined 07:19 NamelessTee joined 07:20 fgomez left 07:26 raiph left 07:27 pernatiy left 07:35 pernatiy joined 07:55 fgomez joined 08:00 machine1 left 08:04 machine1 joined 08:08 machine1 left 08:09 fglock joined 08:13 tyatpi left 08:14 daemon left 08:15 daemon joined 08:17 BooK joined, tadzik1 joined 08:18 _sri joined, plobsing_ joined, sunnavy joined 08:19 pjcj_ joined, Tene_ joined, Tene_ left, Tene_ joined, tadzik left, tadzik1 is now known as tadzik 08:20 odoacre_ joined, ivan``_ joined, plobsing left, sunnavy_ left, BooK__ left, odoacre left, pjcj left 08:22 ivan``_ is now known as ivan`` 08:23 FACEFOX-DOT-COM left 08:24 FACEFOX left 08:25 mattp_ joined 08:27 kresike joined 08:31 groky joined 08:32 FACEFOX joined
ab5tract i was surprised to install rakudo yesterday and find that the binary is called 'perl6; 08:32
s/;/'/
moritz we discuss this every two months in here :/ 08:34
08:34 FACEFOX-DOT-COM joined
ab5tract moritz, sorry for the redundancy. was just shocked after all the discussion of 'rakudo' being an implementation and perl 6 being a specification 08:35
moritz ab5tract: IMHO the right approach would be to name the binary 'rakudo', and symlink it to 'perl6'
ab5tract: but there is other precedence; lots of UNIX tools have multiple implementations, all with the same biniary name
ab5tract yes, that's true i guess. 08:36
in general i don't like version numbers on my binaries though ;)
but yes, there is a lot of precedence there 08:37
moritz there are also multiple python implementations, and at least one of them ships with a 'python' binary
08:37 zhutingting joined
moritz but somehow that fails to convince me 08:37
dalek ar: a430d66 | moritz++ | skel/ (2 files):
there are way too many places where we need to update version numbers
08:42
08:44 cognominal___ joined 08:46 nwc10 joined
nwc10 moritz: w.r.t. commit a430d66 - perl5.git.perl.org/perl.git/blob/90...rl-version 08:46
moritz nwc10: I'd rather have some kind of templating system 08:47
nwc10: but thanks for the hint anyway
08:47 cognominal_ left
nwc10 well, it was more "yes, that problem sounds familiar" 08:48
dalek ar: bd2b55a | moritz++ | skel/docs/announce/2012.04:
draft a 2012.04 release announcement
08:54
ar: b8438c1 | moritz++ | skel/Configure.pl:
another forgotton version. Sigh.
08:56
moritz phenny: ask pmichaud to please enable the issues on github for rakudo/star 09:01
phenny moritz: I'll pass that on when pmichaud is around.
Woodi oo, new Star ! :) 09:02
hi :)
nwc10 what's the difference between Rakudo 2012.04.1 and Rakudo 2012.04?
moritz: actually, the potentially more useful bit of advice I can give (which is unsolicited, I realise) is: 09:03
Woodi hmm
probably
moritz nwc10: github.com/rakudo/rakudo/blob/nom/.../2012.04.1 summarizes the difference
tadzik hello Woodi
Woodi there is not such thing like Rakudo 2012.04 :) 09:04
moritz Woodi: there isn't?
Woodi if you add 'Star' then it is
nwc10 before Dave wrote that bump version script, we were doing it by hand. The easiest "technique" was to find the commit that did the previous version bump, edit it, and reverse it, *plus*, look for any subsequent commits within the next "soon" that fixed errors
Woodi I can be wrong...
nwc10 and try to get all those fixes into this update commit
moritz Woodi: there isn't a rakudo star 2012.04 yet. I'm working on that.
Woodi hi tadzik :)
nwc10 iterate, repeat
each new version bump - try to get better
moritz nwc10: sound saneish 09:05
nwc10 in other words, to follow that plan, the victim for the next star release should look back for the commits around this time, and try to get them all in one
(until the templating solution is perfected)
moritz: I think it might be useful to qualify in that Star announcement what that difference is 09:06
eg provide that URL as a footnote too
moritz good idea 09:07
nwc10 possibly just the most useful sentances I spotted there: 09:08
Rakudo 2012.04.1 is a point release in addition to the regular, monthly releases. It contains some of the results of the Perl 6 Patterns hackathon in Oslo. 09:09
(er, with s/This release/Rakudo 2012.04.1/)
dalek ar: 3c2430e | moritz++ | skel/docs/announce/2012.04:
[announce] link to rakudo 2012.04.1 release announcement
nwc10 I might be guessing wrong here, but I'd be surprised if I'm the only one going "hey, wait, what's the difference?"
then again, I might. I sometimes spot little details :-) 09:10
and obsess about them
09:11 daxim joined
moritz I wonder what the significance is. The star releases bundle some versions of some projects which we (the rakudo devs) recommend to our users, and from which we know that they work together 09:11
is it really that important to know if the included compiler is 2012.04 or 2012.04.1, and what's up with them?
09:11 eternaleye joined
moritz but then again, our users are all programmers/geeks, and so do care about details 09:12
nwc10 it's the first time I've noticed that a Star release wasn't using the "regular" compiler release 09:13
so I wondered "eh, what's different?"
moritz it has happened before though
though the last time it was just a single patch that went into the rakudo release, iirc 09:14
into the second rakudo release, that is
fglock how do different perl6 implementations share a PERL6LIB env variable, given there would be some implementation-specific modules?
moritz that was 2010.08, it seems 09:15
fglock such as a (possible) strict.pm module
moritz fglock: good question. Maybe we need RAKUDOLIB and NIECZALIB and PERLITO6LIB
09:15 eternaleye left 09:16 eternaleye joined
tadzik which default to PERL6LIB if not present, maybe 09:17
dalek kudo/nom: 256e1db | moritz++ | src/core/terms.pm:
support RAKUDOLIB env variable in addition to PERL6LIB

  fglock++ asked how sharing of PERL6LIB works between compilers in the presence of compiler-specific modules. I believe this should be part of the answer
moritz tadzik: there's no reason not to have rakudo respect both
tadzik sure, that looks good 09:18
moritz this patch adds RAKUDOLIB paths before PERL6LIB
fglock moritz++ # just do it 09:19
moritz easy enough in this case :-)
fwiw I'm not yet including MiniDBI in the star release, because I have no idea how it behaves when the C libs aren't present 09:20
tadzik they die, I think 09:22
"no libmysqlclient present", or so
moritz I think the test dies 09:23
but what about the compilation?
I don't think rakudo star's 'make install' runs the tests
tadzik I think the compilation may die as well
09:23 ocharles left
moritz tadzik: what's the URL of your smoker again? 09:23
tadzik or maybe not. It's not on zavolaj level, it comes from Nqp NativeCall
moritz: tjs.azalayah.net/new.html 09:24
09:24 ocharles joined
tadzik almost useful :) the tests results are from sunday or so 09:24
daxim tadzik, where's the repo for the software generating that page?
moritz "resolve stage has failed Dependency resolution has failed: stage build failed for NativeCall"
tadzik I'm currently at $dayjob, will re-run it once I get back home
moritz: that was before the nqp branch merge I think 09:25
moritz probably
tadzik daxim: github.com/tadzik/panda/blob/maste...n/masstest produces this
09:26 nwc10 left 09:34 cognominal_ joined
masak good practically-noon, #perl6 09:35
moritz \o masak
masak: I have now watched the "Split or Steal" videos. The last one was awesome :-)
and I actually predicted the outcome of that one correctly :-) 09:36
masak japhb++ # perf benchmark ambitions 09:37
moritz: yeah, it felt like a very rationalist move.
they pointed out in Schneier's comments that in a sense, it doesn't really matter which ball Nick chooses.
09:37 cognominal___ left
masak as long as he makes Ibrahim pick "split", of course. 09:38
frettled It wouldn't look half as neat if he'd picked "steal".
moritz yes, though it would be fine, as long as he actually split afterwards :-) 09:39
frettled yup
By choosing "split", he also ensured that his _opponent_ wouldn't lose by his choice, no matter what it was :)
masak why the heck are people so surprised at finding the rakudo binary called 'perl6'? it's a Perl 6 implementation!
yeah. his strategy is aimed at causing Ibrahim to choose 'split'. 09:40
I like how he goes completely against the current and comes out a winner. that makes it look like a very rationalist move.
(remember, rationalists play to win) :) 09:41
tadzik who
who's suprised?
anyway, I should probably look at what this Split or Steal is :)
for again I don't know what are you guys talking about, as before I read HPatMoR ;)
moritz tadzik: www.schneier.com/blog/archives/201...und_o.html 09:43
masak tadzik: irclog.perlgeek.de/perl6/2012-04-25#i_5491849
arnsholt moritz: I've got some uncommitted code in NQP I think fixes your sqlite problem 09:44
frettled You don't need to see all videos, though, tadzik :)
moritz arnsholt: \o/
09:44 mucker left
masak tadzik: ab5tract was surprised in the backlog: irclog.perlgeek.de/perl6/2012-04-26#i_5498702 09:44
frettled ++arnsholt (preemptive arnsholt++)
arnsholt But I still feel like enough of a guest in jnthn's code that I'd prefer to have a chat with him about it first =)
masak frettled: though watching all the videos and getting a feel for what's par for the course makes watching the last video all the more surprising. 09:45
arnsholt I can put it in a branch if you wanna test it though
tadzik looks interesting
masak I must admit I had never grok'd how *unstable* a prisoner's dilemma situation is.
they do a good job at creating a "pure" prisoners-dilemma situation, in my opinion. 09:46
frettled If you're not careful, you'll end up watching "reality TV" shows, masak.
moritz masak: agreed
masak i.e. not much chance to get to know the other. not many "consequences" afterwards.
frettled …those are pretty good examples of complex and dynamic situations.
masak frettled: perish the thought :)
moritz masak: so far I had only appreciated the iterated prisoner's dilemma properly 09:47
masak I think some part of me would scream in horror and revulsion until I stopped watching reality TV shows again.
frettled masak: or until you've become a reality TV show vegetable, signing up for the next edition of Survivor Geeks or whatever ;)
masak ;) 09:53
ab5tract masak, i was surprised because the rakudo docs are so explicit about rakudo being an _implementation_, while perl 6 is a specification 09:55
tadzik well, renaming it to rakudo was considered 09:56
ab5tract which to me implies that i might have multiple perl 6 implementations on my system
tadzik the symlinking solution sounds fair
ab5tract in which case an environment variable or a symlink to indicate my preferred implementation would seem more appropriate
tadzik same how on most system cc -> gcc, awk -> gawk etc
masak ab5tract: aye. that's probably how it'll end up. 09:57
09:57 zhutingting left
masak and that's what moritz said, and what tadzik just said. 09:57
ab5tract tadzik, indeed. but the env var solution is even better because users can choose
actually, both is probably the best ;)
tadzik users can choose anyway
masak well, some might still expect a 'perl6' executable to be in the PATH. I certainly would. 09:58
tadzik or the actual perl6 binary can be a script that inspects the env variable and runs the appropriate implemetnatino
ab5tract masak, yeah well i'm not here trying to push an agenda or anything. you just asked why people were confused so i thought i would explain myself
masak but I agree that the current situation where Rakudo has a 'perl6' and Niecza doesn't is... odd and a bit unfair.
Pugs doesn't either, I guess.
ab5tract: nod
moritz well, niecza is generally unfriendly to invoke
brrt chiming in: niecza could be made friendly to invoke? 09:59
moritz 'mono $path/to/niecza/run/Niecza.exe script.pl' is just not as nice as {pugs,perl6} script.pl
brrt: sure
masak moritz: I always set it up so that I have a script in the PATH which makes niecza friendly to invoke. 10:00
tadzik same here :)
10:00 replore left
masak but now that I think about it, that should probably be part of 'make install' in Niecza. 10:00
ab5tract moritz, in the case of niecza, making perl6 a helper app to choose a user-specified implementation could ease the invocation, no?
moritz masak: well, I have that too, but it's just not friendly that you have to do it yourself
ab5tract: only if you want to invoke the currently chose compiler 10:01
ab5tract: are you familia with debians 'alternatives' system?
*familiar
that's basically what I'd like every distribution to have, and we could chose to install one or more as 'perl6', and all with their own name too 10:02
masak wonders interestedly what the first non-Star rakudo distribution will be 10:03
tadzik pandakudo! 10:04
moritz
.oO( ActiveKudo )
Mango Perl, inspired by Strawberry Perl :-) 10:05
tadzik :)
masak .oO( Durian Perl ) o.O
arnsholt I think an eventual JVM distro should be called Krakatau 10:06
10:06 ab5tract left
arnsholt So awesome it makes your computer explode =D 10:06
moritz masak: smelly perl? :-)
masak yes, Perl stinks. but it's the magic that counts. 10:07
moritz non-smelly software is pretty rare 10:08
masak the only alternative I've seen to a bit deep in the core of any bit piece of software that has a comment saying "// this is really ugly, and a hack, and probably wrong, too", is literal programming à la Donald Knuth, where you shine a spotlight at every piece of the code, and make it into an academic exposition. 10:09
er, s/literal/literate/ 10:10
moritz if you live in a setting where the requirements never change, that's an option
masak by the way, "literate programming" is about as audacious as "the first postmodern language". "literate programming" implies that all other styles of programming are, in some sense, illiterate ;) 10:11
moritz: right. that's probably why Knuth doesn't feel a strong affinity towards extreme programming practices, either.
10:12 Guest77779 left
arnsholt TBH, I think Knuth in the same camp as Dijkstra and doesn't like CS students using computers for the first few years =) 10:17
10:19 ab5tract joined 10:20 joyce joined
dalek p/dyncall-wb: 480d22d | (Arne Skjærholt)++ | src/6model/reprs/CArray.c:
[CArray] Refactor bind_pos_boxed/at_pos_boxed.

Since we've added child_objs, we can cache the generated String objects as well, and eliminate the need for at/bind_pos_complex.
10:22
p/dyncall-wb: 3776cef | (Arne Skjærholt)++ | src/ (2 files):
Check argument objects for changes after a C language call.

Some refactoring of CArray to fit in with the write barriering.
arnsholt moritz: Have a look at that branch and see if it fixes sqlite
moritz arnsholt: will do, thanks 10:23
arnsholt If you do make dynext/nqp_group.so and then copy dynext/nqp_dyncall_ops.so to install/lib/parrot/4.3.0-devel/dynext you don't have to do the whole recompile-all-the-things dance
s/so/bundle/ on OS X 10:24
10:24 GlitchMr joined
moritz lunch first :-) 10:28
10:32 mdcw` left
moritz oh, by the way: moritz.faui2k3.org/tmp/rakudo-star-....04.tar.gz rakudo star preview 10:34
testing very much appreciated
10:36 spider-mario joined
bbkr_ building it right now... 10:52
10:55 joyce left 11:12 cognominal___ joined 11:14 cognominal_ left 11:16 benabik left
masak today's autopun: apple.slashdot.org/comments.pl?sid=...d=39802647 11:19
11:19 renormalist joined
masak (I haven't experienced Apple Newton's voice recognition, so I can't judge exactly how spot-on that is.) 11:20
11:22 pernatiy left
tadzik is Newton the new Siri or something? 11:24
masak no, Newton is the old iPhone.
very old. like 10-15 years ahead of its time.
tadzik I see 11:26
masak en.wikipedia.org/wiki/File:Apple_Ne...iPhone.jpg
11:27 birdwind1pbird joined
tadzik ho, cool thing :) 11:28
masak :)
tadzik . o O ( Steampunk iPhone )
masak no, steampunk is more brass and wood and valves and pipes. like this: fabrazz.deviantart.com/art/Steampun...-198831687 11:30
bbkr_ moritz: i've found 2 errors so far in star 11:31
gist.github.com/5aba31e819afe81a93a1
tadzik hehe 11:32
hmm, those look like module list updated only in one place
moritz I think I know what's wrong 11:33
they are checked out as uri.git and jsonrpc.git 11:34
bbkr_++ for noticing
bbkr_ also I've spotted many "Virtual call $.XXX may not be used on partially constructed objects"
dalek ar: cbc422a | moritz++ | Makefile:
correct URI format in Makefile, bbkr++
11:35
tadzik huh, non-nom modules included in Star?
bbkr_ gist.github.com/cf28c70674629e6391b3 - looks like some modules failed to compile
tadzik oh, wait. HTTP::Easy is broken in this way, that's why I pulled it into bailador 11:36
masak moritz: was the Star release made already or not?
bbkr_ moritz: my fault, i've pasted .git extension in jsonrpc
tadzik Config::INI is also broken on nom, and ought to be removed, at least for nwo
ehh, HTTP::Easy actually not commited into bailador, or maybe that lies unpushed on my laptop :/ 11:37
I guess I could fork HTTP::Easy, fix it, and we'll then ship the fork 11:38
11:39 alvis` joined
moritz masak: not yet released 11:39
tadzik moritz did that already: github.com/moritz/perl6-http-easy/
moritz oh, right :-)
tadzik could you put this one instead of the original in star? 11:40
moritz sure
tadzik then Bailador should work fine
also, could you remove Config::INI for now?
dalek ar: 99e7a0a | moritz++ | Makefile:
use my fork of HTTP::Easy

advantage: it works :-)
11:41 alvis left
dalek ar: 2474b03 | moritz++ | / (2 files):
remove Config::INI for now, it does not work
11:41
tadzik bbkr_: are you sure you have no MAKEFLAGS="-j2" set?
that will probably break module precompilation, they need to be compiled in order, and when you do that in pararell it usually doesn't end well 11:42
11:42 benabik joined
dalek ar: 4b64d5a | moritz++ | skel/docs/announce/2012.04:
mention Bailador in release announcement
11:42
bbkr_ i will rebuild with forced -j 1
tadzik that should probably be forced in a makefile of some sort 11:43
when ufo && make is run 11:44
moritz hard to do in a portable way :(
tadzik indeed
moritz the proper fix would be for ufo to declare its dependencies
erm, declare the dependencies of the modules
11:46 birdwind1pbird left, Su-Shee joined
Su-Shee hi all. 11:46
dalek osystem: 02fe05c | tadzik++ | META.list:
Put a moritz's fork of HTTP::Easy instead of the mainline, which doesn't work on nom
tadzik hey Su-Shee
oh, my karma^Wnotifications work again
moritz tadzik: I thought it always worked for the perl6/ repos, just not the rakudo repos?
tadzik hmm, I don't think so 11:47
but may be
moritz arnsholt: \o/ seems to work 11:49
arnsholt: at least the connection is now a defined value
arnsholt Awesome! 11:50
I've been pondering if we'll want to just use a singleton array as a standard pattern for the pointer to pointer pattern (which is fairly standard practice in C AFAIK), or if we want some kind of TransparentPointer 11:51
Another thing I'd like to discuss with jnthn
jnthn Well, you could use the CArray repr but wrap it up in a different class. 11:53
So it's not either/or.
(Warning: I'm pretty sick today. Don't trust anything I say too much...) 11:54
arnsholt Ooh, that's certainly an idea
moritz ok, now I get a segfault in sqlite3_prepare_v2
arnsholt Then something's wrong O:) 11:55
moritz cktrace stopped: previous frame inner to this frame (corrupt stack?)
s/^/Ba/
arnsholt: might be me doing something wrong
arnsholt Oh, wow. That's certainly fun =)
moritz: One of us is my guess =)
moritz has an Abba song in his ear now, something like "one of us is dying, one of us segfaulting, waiting for a backtrace" or so 11:57
arnsholt Heh, fun =) 11:58
benabik I think it would depend on why it's a ptr-ptr. If it's actually array of ptr, then it should be represented as such to P6. If it's a parameter to be altered, then it should be `is rw`.
masak plays some Abba
moritz benabik: that would be cute, yes 11:59
12:00 replore joined
arnsholt benabik: Yeah. In this context it's the output parameter pattern 12:00
We have arrays of pointers now, so that's how moritz worked around it
benabik Yeah, it would be 'cute', but also appropriate and obvious to the user why it's that way. :-)
arnsholt I'm not sure how well it'd generalize though 12:01
benabik I wonder if there's an easy way to do it. Eh, I already have projects.
It should generalize fairly well. 'is rw' passes a pointer to the original thing. 12:02
tadzik hmm, Emmentaler should have a layout like perl6.org/compilers/features probably. Then the columns will be builds/tests/something
arnsholt Sending off pointers to the C storage of things we've created in P6 makes me wary
moritz tadzik: prereqs/builds/tests 12:03
arnsholt I think forcing the user to be explicit about pointerness is probably a good idea
moritz that would favor the TransparentPointer approach
tadzik moritz: good point
moritz though of course 'is rw' is also explicit
benabik I suppose it could be a problem if it's keeping the pointer around for some reason. Although that would be an issue with any passed pointer, not just double ones. 12:04
moritz arnsholt: can I get any debugging info from an OpaquePointer except for .defined?
12:08 pernatiy joined
moritz arnsholt: gist.github.com/2476861 is the new segfaulting test :-) 12:10
benabik I think you end up with possible problems whenever you start passing pointers out of the VM. I don't see pointer pointers really being much worse.
moritz squared problems :-)
cognominal___ I had just a weird idea. Parrot is Sigourney Weaver, Alien is rakudo and 6model is Alien's DNA. Fear intelligent design. 12:11
12:12 cognominal___ is now known as cognominal
tadzik did Sigourney Weaver kill herself to stop the DNA from spreading? :) 12:13
cognominal I have not seen all the sequels.
tadzik duh, neither did I, but sorry if I spoiled anything 12:14
just something I recall hearing
masak I still haven't seen all of the third movie.
I'm interested but disgusted. I suspect some rainy day I'll finish it. :) 12:15
but I think it can safely be considered common knowledge at this point what happens in those movies.
there has to be some deadline even for spoiler warnings.
fglock Sigourney Weaver kills herself to stop the sequelae 12:16
moritz that's the best possible reason :-)
tadzik ohh, I could think of the few characters which should definitely do that 12:17
masak a friend and I discussed the overwhelming public good a World-wide Institute for the Prevention of Sequels could do. 12:21
cognominal could it kill SQL databases as well?
tadzik that's a cool book idea actually 12:22
moritz masak: I'm all for it. Except that there's a book to which I really, really want to read the not-yet-written sequel 12:23
masak well, they would still exercise good judgment, and not prevent all sequels.
just the ones that are obviously a bad idea to anyone with sense. 12:24
tadzik imagine this. A forest, a swamp, a small hut. A smoke coming out of pistol silencer, Fiona crying over Shrek dead body, and the guy in a mask saying "I'm terribly sorry, my lady, but it had to be done. It will make millions of people feel better"
moritz tadzik++
tadzik that could maybe evolve into a nice set of stories
masak tadzik: I'm sorry, that's the start of a great sequel.
cognominal the metaphor has come to me when I have seen how 6model is well decoupled from parrot. Thx to jnthn, rakudo will be soon able to feed into another host.
tadzik no no no 12:25
12:25 sjn joined
tadzik no sequels of *this* ;) 12:25
but I'm _so_ writing this once I get back home
and finish my Go slides
s/finish/start/
fglock what would be the second host for rakudo? 12:27
cognominal I wish it to be v8.
moritz fglock: probably JVM
arnsholt: I've just valgrinded the segfaulting script 12:28
tadzik good, I was wondering if it's a secret :)
moritz ==2363== at 0xCEC8B3E: bind_pos_boxed (in /home/moritz/p6/rakudo/install/lib/
parrot/4.3.0-devel/dynext/nqp_dyncall_ops.so)
==2363== by 0x8DAFD83: Parrot_repr_bind_pos_obj_p_i_p (in /home/moritz/p6/rakudo/install/lib/parrot/4.3.0-devel/dynext/nqp_ops.so)
tadzik ww?
cognominal with v8, it would eventually infect chrome and the whole web.
moritz tadzik: nothing has been decided yet. It's just a "probably"
tadzik I know :)
cognominal even Sigourney Weaver could not stop a chrome mediated infection. 12:29
moritz tadzik: sorry, that was meant for arnsholt. I really shouldn't copy&paste noisy stuff here
tadzik oh, I thought it's meant for #parrot ;)
12:30 sjn left, sjn joined 12:31 fglock left 12:35 sjn left, sjn joined 12:39 wooden joined, wooden left, wooden joined, sjn left 12:40 lichtkind joined, sjn joined
lichtkind wouldnt be even nice if the html build script would be written in perl 6? 12:40
12:40 pernatiy left
moritz which one? 12:41
12:42 sjn left 12:43 pernatiy joined 12:45 sjn joined 12:47 sjn left
dalek blets: fd588cc | (Herbert Breunung)++ | docs/appendix-a-index.txt:
add uplinks to nav menu inside the punctuation section for better navigation
12:49
lichtkind moritz: for tablets which just starts the pandic generator 12:50
but i have to tets how globbing works in perl 6 12:51
moritz lichtkind: currently there's also no Perl 6 compiler installed on fether2 12:52
lichtkind: so you'd need to run that on a different machine, and then copy the results 12:53
arnsholt moritz: I think you missed the first line there? Is it read of uninitialised bytes somewhere?
moritz arnsholt: yes, Invalid read of size 8
arnsholt: moritz.faui2k3.org/tmp/valgrind.log has the full story 12:54
12:54 fglock joined
arnsholt Address, 0x10, right 12:55
lichtkind moritz: allright 13:00
13:00 Patterner left
arnsholt moritz: Could be that I need to do a Parrot write barrier there as well, since I've mucked about with the objects 13:00
Is your NQP and friends compiled with debugging symbols? 13:01
jnthn Reading from 0x10 considered bothersome...
arnsholt I guess not, since the valgrind log doesn't have line numbers
jnthn Sounds like an offset calc'd from a NULL pointer somewhere...
arnsholt Yeah, definitely
moritz I wonder why my NQP doesn't have debugging symbols 13:02
arnsholt There're a couple of 8 byte invalid reads before the fault, so it's probably a weird pointer somewhere
moritz judging from the valgrind output, parrot has debugging symbols
and NQP usually just reuses parrot's compiler flags
arnsholt I don't think your parrot has debug flags 13:03
moritz hm, ok
arnsholt There's debug info for your libc, but not Parrot AFAICT
I do --parrot-option='--ccflags=-g' in NQP's Configure.pl 13:04
13:05 mdcw` joined, Psyche^ joined, Psyche^ is now known as Patterner 13:06 pernatiy left, bluescreen10 joined, pernatiy joined
moritz moritz.faui2k3.org/tmp/rakudo-star-....04.tar.gz # release candidate 13:07
masak oh, so we haven't released yet. 13:11
right, that was the compiler release announcement I saw fly by on p6c.
masak grabs and builds moritz.faui2k3.org/tmp/rakudo-star-....04.tar.gz 13:12
jnthn moritz: Just set off a build here on Win64.
13:12 mdcw` left
[Coke] cannot download that at work from the command line. (&#$ interactive web page on the proxy 13:12
13:13 cognominal left
arnsholt Right. I really want to make OS X Zavolaj look for dylibs as well 13:13
moritz how would that work? 13:14
walk the library paths yourself, and pass the exact file name to dlopen if you find one?
arnsholt Special case it, probably
If loading with the bare string doesn't work, try redoing it with .dylib appended
But your script doesn't segfault on my laptop, unfortunately =/ 13:15
moritz ok, doesn't sound too hard
bbkr_ tests new candidate 13:16
13:16 cognominal joined
moritz arnsholt: fwiw this is not with your nqp branch directly, but with that branch merged into master 13:16
arnsholt: otherwise it didn't satisfy rakudos' minimal NQP_REVISION
arnsholt Shouldn't make much of a difference I think
13:16 cognominal left 13:18 mdcw` joined
dalek blets: f696010 | (Herbert Breunung)++ | docs/appendix-d-delta.txt:
propagate .perl in perldelta
13:23
blets: bb46308 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
added Rat.nude + Rat method crosslinks
blets: f352364 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
polish .gist and .perl
13:24 fgomez left
masak lichtkind: isn't the concept of 'delta' steeped in the pre-tuning-fork ideas of Perl 6 being one version up from Perl 5? 13:26
PerlJam "pre-tuning-fork"? That's an interesting way to look at it. 13:27
"This bifurcation *resonates*" :-)
masak also, the three last items in that file, advertised as "idioms", look to me like new bits of syntax, too small or too simple to be idioms.
moritz are there also pre-tuning knifes? sledge scalpels? ;-) 13:28
PerlJam moritz: all that is certain is .... there is no spoon
masak PerlJam: the "tuning fork" analogy is from this post: github.com/masak/strangelyconsiste...r.markdown 13:29
(linking to github as my blog domain seems to be irresponsive at present) 13:30
lichtkind masak: its supposed to do what a delat does , hej man i come from perl 5 what changes i should be aware of,
masak: i mena delta, i optimize for understandibility 13:31
moritz lichtkind: that was a nice autopun 13:32
bbkr_ few "Use of uninitialized value in string eq at tools/build/module-install.pl line 106." in last candidate
13:33 tyatpi joined
PerlJam lichtkind: soon it will get to the point where it's easy to say "Everything is different, except these parts that are the same" 13:33
s/easy/easier/
moritz bbkr_: yes, I got those too, but they are harmless
at least I think so :-) 13:34
bbkr_ this one looks bad: Missing block at /Users/bbkr/Developer/Perl6/rakudo/install/lib/parrot/4.3.0/languages/perl6/lib/Panda.pm:88
moritz doesn't happen here 13:35
masak Perl 6 to me is the experiment of making improvements/changes without being circumscribed by concerns for backwards compatibility like Perl 5.
mikec bbkr_: when do you see that?
masak like, the (?:) et al forms of Perl 5 regexes clearly yearn to be something else :)
13:36 agentzh left
lichtkind PerlJam: i thought about that but, the delta is less about details but things that can you cost the fun during your first tries, is should just ease the migration and set your head right so that deeper concepts get later easier in 13:36
bbkr_ mikec: during make install after "/Users/bbkr/Developer/Perl6/rakudo/install/bin/perl6 --target=pir --output=/Users/bbkr/Developer/Perl6/rakudo/install/lib/parrot/4.3.0/languages/perl6/lib/Panda.pir /Users/bbkr/Developer/Perl6/rakudo/install/lib/parrot/4.3.0/languages/perl6/lib/Panda.pm"
mikec ah ok, haven't got that far yet 13:37
bbkr_ checking also newest Xcode now (bug above was on 4.2)
moritz doesn't sound like something a C compiler is responsible for 13:38
arnsholt: I've recompiled everything with debug symbols, and added the new backtrace to gist.github.com/2476861#file_gdb_session.txt 13:41
jnthn moritz: Looks good here (the Star RC) 13:42
13:42 JimmyZ joined
mikec hmm, i can't load MiniDBD::Pg 13:43
13:43 mdcw` left
moritz mikec: what's the error? 13:43
mikec 'No STable at index 12'
tadzik pararell build? 13:44
moritz or maybe some precompiled modules in ~/.perl6/lib ?
mikec i moved ~/.perl6
tadzik mikec: echo $MAKEFLAGS?
mikec this is just in the build dir
tadzik or do you do make -jx for x > 1?
mikec tadzik: empty, i just did make 13:45
moritz arnsholt: and moritz.faui2k3.org/tmp/valgrind2.log is the new valgrind run with line numbers
frettled Hold your horses, there's no stable? *G,D&R*
tadzik :D 13:46
mikec haha
just me, i take it? 13:49
tadzik it'd appear so
PerlJam frettled: we don't have any ponies apparently.
tadzik maybe the panda database should be called Stable 13:50
frettled PerlJam: and it's hard to ride a gnu well
tadzik as a container for ponies
PerlJam tadzik: but how does that jibe with kung fu panda? 13:51
tadzik no eye deer 13:52
masak r: say 100.base(8) 13:54
p6eval rakudo 256e1d: OUTPUT«144␤»
masak r: say "144".unbase(8)
p6eval rakudo 256e1d: OUTPUT«Method 'unbase' not found for invocant of class 'Str'␤ in block <anon> at /tmp/8YvYxPVA2y:1␤␤»
masak r: say "144".Int(8) 13:55
p6eval rakudo 256e1d: OUTPUT«Too many positional parameters passed; got 2 but expected 1␤ in method Int at src/gen/CORE.setting:3336␤ in block <anon> at /tmp/yjz0l37tut:1␤␤»
masak r: say "144".Int(:base(8))
p6eval rakudo 256e1d: OUTPUT«144␤»
masak heh.
moritz r: say :8('144')
p6eval rakudo 256e1d: OUTPUT«100␤»
masak right.
but if I don't know statically it's 8? 13:56
do I just give up and use &eval?
moritz r: my $eight = 8; say :$eight(8)
p6eval rakudo 256e1d: OUTPUT«Method 'postcircumfix:<( )>' not found for invocant of class 'Pair'␤ in <anon> at src/gen/BOOTSTRAP.pm:815␤ in any <anon> at src/gen/BOOTSTRAP.pm:811␤ in block <anon> at /tmp/pbpTW6aWQp:1␤␤»
masak right. :$eight is a Pair on its own.
you just went around the corner in the syntax corner case ;) 13:57
frettled Oh, we're still there?
moritz r: my $eight = 8; my $str = '144'; say eval ":$eight(\$str)"
p6eval rakudo 256e1d: OUTPUT«Method 'postcircumfix:<( )>' not found for invocant of class 'Int'␤ in <anon> at src/gen/BOOTSTRAP.pm:815␤ in any <anon> at src/gen/BOOTSTRAP.pm:811␤ in block <anon> at /tmp/hX4hC3tR12:1␤␤»
moritz r: my $eight = 8; my $str = '144'; say eval ":$eight\(\$str)"
frettled So, couldn't you create a macro for this? :D
p6eval rakudo 256e1d: OUTPUT«100␤»
bbkr_ after build I get mysterious "No object at index 134" when loading some modules, for example perl6 -e 'use JSON::Tiny;'
moritz bbkr_: :( 13:58
masak wfm 13:59
bbkr_: did you do 'make install'?
bbkr_ yes. and this bug is weird as same code works fine on another machine.
14:00 pernatiy_ joined, pernatiy left 14:01 cognominal joined 14:02 wtw left
bbkr_ after re-running make install it works fine 14:02
tadzik duh 14:03
lichtkind ist nude unnecesary if we have perl and gist? 14:04
moritz .nude is specific to rats
masak they're the only type with hair to begin with. 14:05
tadzik *chuckle*
moritz moritz@jacq:~/p6/star/rakudo-star-2012.04>./install/bin/perl6 -e 'use JSON::Tiny; say to-json [1, {a => 3}, Any]'
[ 1, { "a" : 3 }, null ]
works fine here
masak here too. 14:06
bbkr_ JSON::RPC works also :)
masak star: use JSON::Tiny; say to-json [1, {a => 3}, Any]
moritz should I release?
p6eval star 2012.02: OUTPUT«[ 1, { "a" : 3 }, null ]␤»
masak moritz: +1
moritz is there a reason not to tag releases in the star repo? 14:07
there are no tags so far
PerlJam moritz: +1 for tagging, +1 for releasing 14:08
it's a little weird in that the star repo doesn't actually contain the release, but the recipe for building the release. 14:09
But all the more reason to tag it IMHO
benabik tag all the things!
moritz PerlJam: well, that's why we upload the releases :-)
PerlJam: but I think that was the reason we didn't have any tags so far 14:10
PerlJam I think so too.
moritz because people would download them, and wondered why they couldn't type 'make
I'll tag locally, and only push the tag if pmichaud++ gives his +1
masak sounds good. 14:11
PerlJam sound eminently sane
moritz++
moritz alright, upload under way 14:12
14:13 replore left
moritz where do we send the release announcements? p6c and p6a? 14:15
jnthn yes, and post it on rakudo.org
dalek ar: 8e7b450 | moritz++ | skel/docs/announce/2012.04:
[announce] fix wording thinko
bbkr_ star: use JSON::RPC::Client; JSON::RPC::Client.new(url=>"bbkr.org:8080").hi("everybody").perl.say
p6eval star 2012.02: OUTPUT«===SORRY!===␤Could not find JSON::RPC::Client in any of: lib, /home/p6eval/.perl6/lib, /home/p6eval/star/lib/parrot/4.1.0/languages/perl6/lib, .␤»
moritz bbkr_: that's still the old star 14:16
bbkr_ waits patiently...
jnthn moritz: IN the announce
"The tarball for the February 2012"
moritz I HATE it
jnthn It mentions February in a couple of places :(
PerlJam moritz: isn't the list of places to announce in the release guide for R* ? (Is there a release guide?) 14:17
dalek ar: c92df22 | moritz++ | skel/docs/announce/2012.04:
[announce] s:g/Februar/April/
14:19 smash joined
moritz rakudo.org/2012/04/26/announce-raku...of-perl-6/ 14:19
smash hello everyone
masak smash! \o/
moritz PerlJam: there's no release guide yet for star 14:20
PerlJam the R* release announcement makes me wish for a list of the improvements to the modules that R* contains since the last release 14:23
or a statement about where to find such information
moritz we don't have such information, because module authors usually neither do releases nor keep a changelog
spider-mario star 2012.04 fails to compile with my system-wide parrot, I hope it’s just because it’s 4.2. 14:24
masak decommutes
spider-mario (I’ve notified parrot’s packager for my distro)
moritz spider-mario: well yes, it was 4.3
which is a "stable" release
TimToady wonders what $cat.nude should return
spider-mario parrot in arch is still 4.2 14:25
www.archlinux.org/packages/communit...64/parrot/
14:25 skids left
spider-mario I’ve “flagged the package as out-of-date” 14:25
daxim TimToady, a piece of fur. it's no coincidence that kitten rhymes with mitten.
14:25 raiph joined
tadzik spider-mario: is sirmacik still maintaining star in AUR? 14:25
spider-mario tadzik : there’s rakudo-star, appearently not maintained (but not orphaned either), and rakudo, maintained by me 14:26
TimToady thought the Duke made mittens out of the kittens' insides...
tadzik I see
spider-mario (rakudo used to actually be rakudo star and I hope to make it so again with 2012.04)
(but I can’t update it yet because it fails to build with arch’s parrot) 14:27
PerlJam spider-mario++ 14:28
spider-mario :)
moritz spider-mario: fwiw the only reasons to bump the parrot revision were macos build fixes, and then the parrot release
spider-mario oh
moritz spider-mario: so if you override the check, it might still work with 4.2
TimToady was misreading Thurber, he perceives...
14:28 PacoAir joined
spider-mario it actually passes version checks 14:28
but fails during actual compilation
paste.pocoo.org/show/uLjrc1eKMTXgRHfyGJuZ/ 14:29
moritz it passes version checks? 14:30
that's scary
spider-mario nqp is 2012.04.1
lichtkind rakudo doesnt support the @a >>++ natation
notation
spider-mario Verifying installation ...
Using /usr/bin/nqp (version 2012.04.1).
moritz and nqp 2012.04.1 configures on parrot 4.2.0?
spider-mario yes
moritz once it's build, I'm not surprised that rakudo doesn't complain, because rakudo only checks nqp, not parrot 14:31
14:31 kaare_ joined
PerlJam r: my @a = 3..8; @a>>++; say @a; 14:32
p6eval rakudo 256e1d: OUTPUT«4 5 6 7 8 9␤»
spider-mario Using /usr/bin/parrot (version 0).
that might be it.
PerlJam lichtkind: looks like it does to me.
lichtkind r: say (1..5) >>++;
spider-mario (that’s when building nqp 2012.04.1 with parrot 4.2.0)
p6eval rakudo 256e1d: OUTPUT«===SORRY!===␤Missing << or >>␤at /tmp/UDoHBSjW4M:1␤»
moritz spider-mario: ah, that explains it
lichtkind: whitespace isn't allowed before postfix ops 14:33
lichtkind r: say (1..5)>>++;
p6eval rakudo 256e1d: OUTPUT«Cannot assign to a non-container␤ in sub postfix:<++> at src/gen/CORE.setting:2636␤ in sub hyper at src/gen/CORE.setting:10738␤ in sub METAOP_HYPER_POSTFIX at src/gen/CORE.setting:10697␤ in block <anon> at /tmp/KBAEzrD6n8:1␤␤»
TimToady "assign"?
moritz ++ assigns, sure
spider-mario well, I’ll wait for parrot in arch to be updated then. :) 14:34
TimToady only from the viewpoint of the implementor
lichtkind r: my @a = (1..5)>>++; say @a;
p6eval rakudo 256e1d: OUTPUT«Cannot assign to a non-container␤ in sub postfix:<++> at src/gen/CORE.setting:2636␤ in sub hyper at src/gen/CORE.setting:10738␤ in sub METAOP_HYPER_POSTFIX at src/gen/CORE.setting:10697␤ in block <anon> at /tmp/wG6aqEk17q:1␤␤»
tadzik lichtkind: Parcels are immutable
14:34 spaceships joined
moritz TimToady: I think it should really dispatch-fail 14:34
TimToady error messages are supposed to inform the user
spider-mario and I’ll enforce parrot>=4.3.0 in makedepends.
hm, in depends, actually.
moritz because postfix:<++> has an 'is rw' parameter
TimToady that's the #1 failing of error messages: stating them from the viewpoint of the implementor rather than the user 14:35
moritz though currently rakudo allows the dispatch, but then fails to assign inside the routine
Confused!
TimToady biab &
moritz n: (1..5)>>++
p6eval niecza v16-23-gaa61ed5: ( no output )
moritz ah, and niecza doesn't do readonlyness properly 14:36
lichtkind tadzik: thanky i have czech that out 14:44
14:45 kaleem left
dalek blets: 89be407 | (Herbert Breunung)++ | docs/appendix- (3 files):
linkfixes
14:48
14:51 dakkar joined 14:52 bluescreen10 left, bluescreen10 joined 14:58 bluescreen10 left 15:06 sergot joined
sergot hi o/ 15:06
o/ :)
tadzik hi-o
sergot Don't have enough time to blog.. I'll do this as soon as possible. 15:07
Hope it's not a problem. :)
15:14 bluescreen10 joined 15:16 tokuhirom joined
cognominal jnthn, you got out of you way to make the type registrar fonction accessible with the name "_REGISTER_REPR". How do you access it from rakudo? 15:17
masak sergocie! \o/
timotimo so could i implement postfix:<++> to increase the value and return the increased value and implement prefix:<++> to increase the value and return the previous value? 15:19
and it would work as post- and predecrement?
like it would in c/c++?
tadzik I don't think that you need to implement that 15:20
r: my $a = 3; say $a++; say ++$a; say $a
p6eval rakudo 256e1d: OUTPUT«3␤5␤5␤»
timotimo of course it's already there
but the point i'm making is that i can do things myself that work in a similar way
tadzik oh, you mean swapping those
timotimo no, that's not what i meant
tadzik "so could i implement postfix:<++> to increase the value and return the increased value"
timotimo uh, that was just a brainfart 15:21
tadzik well, postfix:<++> is implemented in Perl 6 and you are able to redefine it the way you want it
r: sub postfix:<++>(Int $a) { say "not $a" }; my Int $a = 5; $a++ 15:22
p6eval rakudo 256e1d: OUTPUT«not 5␤»
colomon I believe all you need to do is implement YouType.succ and Perl6 will handle the rest for you.
tadzik I think so
r: class A { method succ { say "succ" } }; my $a = A.new; $a++
p6eval rakudo 256e1d: OUTPUT«succ␤»
tadzik indeed
k: class A { method succ { say "succ" } }; my $a = A.new; $a++
timotimo the point is that perl6 easily lets me implement something like that, wherein in php or something i'd have to hack around in many source files
tadzik n: class A { method succ { say "succ" } }; my $a = A.new; $a++
p6eval niecza v16-23-gaa61ed5: OUTPUT«succ␤»
colomon r: class X { has $.x; method succ() { $.x += 2; }; }; # errr, never mind, tadzik is faster 15:23
p6eval rakudo 256e1d: ( no output )
colomon r: class A { method succ { say "succ" } }; my $a = A.new; ++$a
p6eval rakudo 256e1d: OUTPUT«succ␤»
tadzik :)
masak r: class A { method succ { "succ" } }; my $a = A.new; say ++$a 15:24
p6eval rakudo 256e1d: OUTPUT«succ␤»
masak r: class A { method succ { "succ" } }; my $a = A.new; say $a++
p6eval rakudo 256e1d: OUTPUT«A.new()␤»
masak \o/
r: class A { method succ { "succ" } }; my $a = A.new; say $a++; say $a
p6eval rakudo 256e1d: OUTPUT«A.new()␤succ␤»
masak yay
raiph ideone.com/ is running rakudo 2010.08 15:32
moritz that is, like, ancient 15:33
raiph i thought i might ping them to suggest an update to latest star
all they ask is that there's a gentoo package
15:33 bumb joined 15:34 kaleem joined, bumb left
raiph patrick lauer updated the gentoo rakudo package 5 hours ago to "2012.04.1" 15:36
sources.gentoo.org/cgi-bin/viewvc.c...iew=markup
15:36 oiig_ left
moritz \o/ 15:36
raiph though some things look odd to me
15:36 fglock left
raiph eg PARROT_VERSION="4.1.0" 15:36
masak huh!
dalek blets: 8fa0404 | (Herbert Breunung)++ | docs/appendix-d-delta.txt:
links from delta to index
15:38
blets: 3ab0a03 | (Herbert Breunung)++ | docs/appendix-g-glossary.txt:
explaining 4 terms in glossary
lichtkind raiph: hai
raiph but it seems like latest p6 on ideone would be great while try.rakudo.org is offline (and even if it were online)
hi lichtkind
lichtkind raiph: do you have clues about complex numbers? 15:40
i mean more than i :)
moritz but there isn't much more than i to complex numbers :-)
jnthn
.oO( I know 2i if that helps...it's more than i... )
moritz r: say 2i > i 15:41
p6eval rakudo 256e1d: OUTPUT«Cannot call 'Real'; none of these signatures match:␤:(Mu:U \$v, Mu *%_)␤␤ in method Real at src/gen/CORE.setting:656␤ in sub infix:<>> at src/gen/CORE.setting:2393␤ in sub infix:<>> at src/gen/CORE.setting:2393␤ in block <anon> at /tmp/sdC6js5xMC:1␤␤»…
moritz can we please have that error message say 'Cannot call *method* 'Real'; ..." ?
raiph i know the square root of less than nothing about them
15:48 daxim left, Psyche^ joined
moritz star: say 1 15:49
p6eval star 2012.04: OUTPUT«1␤»
moritz star: use JSON::RPC
p6eval star 2012.04: OUTPUT«===SORRY!===␤Could not find JSON::RPC in any of: /home/p6eval/.perl6/lib, /home/p6eval/star/lib/parrot/4.3.0/languages/perl6/lib, .␤»
moritz star: use JSON::RPC::Client; say 'alive' 15:50
p6eval star 2012.04: OUTPUT«alive␤»
moritz \o/
and it seems rather snappy
star: use NativeCall; sub fork() returns Int is native('') {*}; say fork() 15:52
p6eval star 2012.04: OUTPUT«Cannot locate native library '.so'␤ in method postcircumfix:<( )> at /home/p6eval/star/lib/parrot/4.3.0/languages/perl6/lib/NativeCall.pm6:102␤ in <anon> at src/gen/BOOTSTRAP.pm:815␤ in any <anon> at src/gen/BOOTSTRAP.pm:811␤ in block <anon> at /tmp/5NXBCusDCa:1…
moritz star: use NativeCall; sub fork() returns Int is native('C') {*}; say fork()
p6eval star 2012.04: OUTPUT«Cannot locate native library 'C.so'␤ in method postcircumfix:<( )> at /home/p6eval/star/lib/parrot/4.3.0/languages/perl6/lib/NativeCall.pm6:102␤ in <anon> at src/gen/BOOTSTRAP.pm:815␤ in any <anon> at src/gen/BOOTSTRAP.pm:811␤ in block <anon> at /tmp/gxKYFXuIQ8:…
15:52 Patterner left, Psyche^ is now known as Patterner
jnthn star: use NativeCall; sub fork() returns Int is native {*}; say fork() 15:52
p6eval star 2012.04: OUTPUT«8502␤»
moritz oh, even nicer
locally i get two lines of output, one from the parent, one from the child 15:53
and the parent is always faster :-) 15:54
lichtkind why behave ^^ in not bool context differently than xor?
raiph bonsaikitten: ping 15:55
bonsaikitten raiph: yes?
moritz r: say 'abc' ^^ 0
p6eval rakudo 256e1d: OUTPUT«abc␤»
moritz r: say 'abc' xor 0
p6eval rakudo 256e1d: OUTPUT«abc␤»
moritz lichtkind: seems pretty much identical to me 15:56
lichtkind: or what do you mean?
raiph bonsaikitten: did u see comments here a few mins ago about gentoo package?
lichtkind r: say 0 xor 6
p6eval rakudo 256e1d: OUTPUT«0␤»
lichtkind r: say 0 ^^ 6
p6eval rakudo 256e1d: OUTPUT«6␤»
lichtkind its a bug? 15:57
benabik r: say so 0
p6eval rakudo 256e1d: OUTPUT«False␤»
bonsaikitten raiph: ... yes, is there anything I can do for you?
lichtkind raiph: get you private messages?
15:58 thou joined
arnsholt moritz: It looks like the line numbers in nqp_dyncall_ops.c aren't very stable (it's an autogenerated file) 16:00
bonsaikitten raiph: ah, let me fix the dependencies a bit :) 16:01
16:01 brrt left
arnsholt Could you say what's in your file on lines 363, 341 and 345? Should be in dyncall_wb_ca 16:02
bonsaikitten raiph: and next time don't be shy, just file a bug (and it'll not be forgotten in the scrollback)
raiph karma bonsaikitten
aloha bonsaikitten has karma of -1.
bonsaikitten tehehe 16:03
raiph ++bonsaikitten
karma bonsaikitten
aloha bonsaikitten has karma of -1.
raiph bonsaikitten++
karma bonsaikitten
aloha bonsaikitten has karma of 0.
benabik raiph: aloha only recognizes postincrement
16:03 skids joined
bonsaikitten it is done. 16:03
raiph right. was checking.
bonsaikitten++
arnsholt Ah, right. That's why preincrement is used for preemptive karma ^_^ 16:04
16:06 pernatiy_ left, pernatiy joined 16:07 kresike left
lichtkind moritz: is ^^^wrong ? 16:07
ahh i mean ^^
bbkr_ star: use JSON::RPC::Client; JSON::RPC::Client.new(url=>"bbkr.org:8080").hi("everybody").perl.say 16:08
p6eval star 2012.04: OUTPUT«"Hi everybody"␤»
bbkr_ \o/
timotimo oooh that's cute 16:09
bbkr_ it even supports named params and multis :) 16:12
star: use JSON::RPC::Client; JSON::RPC::Client.new(url=>"bbkr.org:8080").hi(name=>"everyb...).perl.say 16:13
p6eval star 2012.04: OUTPUT«"Hello everybody"␤»
timotimo does it also give you introspection and such?
16:13 kaleem left
arnsholt moritz: Actually, I've managed to reproduce, so hold on a sec 16:13
tadzik huh, this is awesome 16:15
I wonder if panda could use it to fetch module metadata instead of maintaining one of its own
arnsholt Durr? Apparently the illegal pointer that's being dereferenced is the repr_data 16:16
bbkr_ timotimo: interesting idea! JSON-RPC has some names reserved for internal use which may be used to pass names and signatures. imagine $client.^methods way of checking what is supported by server :) 16:18
timotimo that's what i thought
16:18 JimmyZ left 16:19 pernatiy left
arnsholt moritz: I officially have NO idea what's going on 16:21
Or maybe I do...
16:24 simcop2387 left, tokuhirom left
masak .oO( I officially CAN'T make up my mind. Or maybe I can... ) 16:24
tadzik lol 16:25
sergot :)
arnsholt masak: Yeah, I'm kinda in over my head here
But I may actually be learning to swim ^_^ 16:26
moritz: You around?
16:27 simcop2387 joined
bbkr_ timotimo: I've added your idea about introspection to TODO: github.com/bbkr/jsonrpc/blob/master/README.md 16:28
moritz arnsholt: yes-ish 16:29
fwiw I'd to RPC introspection as $client.methods, not $client.^methods, because then you'd have a hard time introspecting the actual client object 16:30
arnsholt moritz: I think part of the problem is that there's a mismatch between the declared function signature and the arguments 16:31
It's declared (OpaquePointer, Str, Int, CArray[OpaquePointer], CArray[OpaquePointer]), but you call it as (OpaquePointer, Str, Int, CArray, OpaquePointer) 16:32
tadzik masak: is twitter.com/carlmasak/status/195482023132016641 an autopun of yours, or do you really not remember?
arnsholt And since my code doesn't check the type of the object, just goes with the signature, weird shit happens
moritz oh
so I should call it as CArray (the type object) as the last argument? 16:33
PerlJam tadzik: besides ... the egg came first. reptiles were laying eggs long before there were chickens.
arnsholt moritz: Depends on what you want to do
tadzik PerlJam: that's what I've just replied :)
arnsholt CArray the type object will be NULL
moritz arnsholt: pass a NULL Pointer that doesn't cause a segfault
tadzik except that I said "dinosaurs", because dinosaurs are way more cool 16:34
arnsholt Right. Then it should be just the CArray type object I think
tadzik I used to use fishes as an example, but <see above>
arnsholt But that segfaults. Right
bbkr_ moritz: indeed, two client objects connected to two different servers cannot have different set of ^methods. on the other hand i'm not fan of hardcoding method names with special meaning as this is supposed to be multiplatform communication and other languages won't understand p6 gist syntax
arnsholt But if it makes you feel better, I think I know why it segfaults =)
(And it's my fault)
moritz ok, it stops segfaulting here when I pass in CArray[OpaquePointer] 16:35
in the long run, we want to type-check those parameters, I suspect
arnsholt Yeah, definitely 16:36
masak tadzik: I really do not remember. I even suspect different people say different things with equal certainty. it was not meant as an autopun. 16:37
tadzik I see
arnsholt But it's odd that CArray[OpaquePointer] is OK, but CArray with no type parameter doesn't
tadzik well, I replied to you anyway :)
16:37 Timbus joined
tadzik zavolaj tests failing, yep? 16:37
moritz tadzik: on linux you need to set LD_LIBRARY_PATH=. 16:38
arnsholt tadzik: That's not good. But are you on 32-bit or 64-bit?
Oh, right. There's that as well
timotimo www.downforeveryoneorjustme.com/perlcabal.org :(
tadzik arnsholt: 64 16:39
meh
it's hard when we cannot setenv() from Perl 6
arnsholt Yeah, it's a bit inconvenient 16:40
OTOH, if the tests pass after you set it, I'm happy =)
moritz perlcabal.org back up.
timotimo thank you 16:41
tadzik arnsholt: well, I'm not happy :) and panda is not happy, so users will not be happy
I wonder how hard setenv() can be. I'll look into it on TODO+1 16:42
arnsholt Oh, right. I'd forgotten about that aspect of it
But if you already have NativeCall installed setenv() is REAL easy O:) 16:43
tadzik heh
timotimo what was the adress for that list of what every special character could mean in perl6? it was on some wiki type website 16:45
dalek p/dyncall-wb: e99865a | (Arne Skjærholt)++ | src/ops/nqp_dyncall.ops:
No need to write barrier non-concrete objects.
16:47
arnsholt moritz: Pull in that commit, and the segfaults on type-object-argument should go away 16:48
moritz ok, now I need to figure out why it segfaults in SQLite.pm6 but not in my reduced test version
timotimo moritz: wouldn't the client object ideally have exactly the methods the server offers? thus making $client.methods and $client.^methods be the same?
16:48 sivoais left
moritz timotimo: wouldn't the client have .disconnect, and the server not (for example)? 16:48
timotimo oh. hm. 16:49
so maybe it would offer client.^disconnect or something? because disconnect is - to me - one meta level away from the other methods
tadzik hoho, Null PMC Access 16:50
didn't see that one for some time
timotimo at least there should be a difference between methods for the client object and methods "via" the client object
arnsholt moritz: Keep me posted =) 16:51
tadzik r: sprintf ';' 16:52
p6eval rakudo 256e1d: ( no output )
tadzik hrm
arnsholt And thanks a bunch for using my code. Very nice to have help with finding bugs
tadzik r: say sprintf ';', "foo"
p6eval rakudo 256e1d: OUTPUT«;␤»
tadzik r: say sprintf(';', "foo")
p6eval rakudo 256e1d: OUTPUT«;␤»
tadzik -_-
moritz arnsholt: copying over nqp_dyncall_ops.so should be enough, right?
r: sprintf '%x'
p6eval rakudo 256e1d: OUTPUT«Null PMC access in get_integer()␤ in sub sprintf at src/gen/CORE.setting:1973␤ in block <anon> at /tmp/kn6lE7RMIn:1␤␤»
tadzik close enough
moritz arnsholt: because with that I still get the segfault in SQLite.pm6 :/ 16:53
tadzik ll-exceptions tells me "';' is not a valid sprintf format"
16:53 sftp joined 16:55 mspaulding joined
arnsholt moritz: make dynext/nqp_group.so && cp ... yeah 16:55
16:56 fglock joined
benabik nqp: say pir::sprintf(';'); 16:57
p6eval nqp: OUTPUT«Confused at line 1, near "say pir::s"␤current instr.: 'nqp;HLL;Grammar;panic' pc 22008 (src/stage2/gen/NQPHLL.pir:7047) (src/stage2/gen/NQPHLL.pm:329)␤»
benabik nqp: say(pir::sprintf(';'));
p6eval nqp: OUTPUT«error:imcc:The opcode 'sprintf_p' (sprintf<1>) was not found. Check the type and number of the arguments␤ in file '(file unknown)' line 38␤»
benabik nqp: say(pir::sprintf__ss(';'));
p6eval nqp: OUTPUT«error:imcc:The opcode 'sprintf_s_sc' (sprintf<2>) was not found. Check the type and number of the arguments␤ in file '(file unknown)' line 36␤»
moritz arnsholt: oh, probably my fault. The SQL statement isn't defined
benabik Blah.
16:57 bbkr_ left
arnsholt moritz: Oh, right. Might be a problem, yeah 16:58
But it'd be interesting to know if it's zavolaj or sqlite that blows up 16:59
I'm thinking zavolaj
16:59 Tene_ is now known as Tene
moritz well, it segfaulted from within sqlite 16:59
ok, now it parses 14 of the first 15 tests before segfaulting \o/
arnsholt Yay! 17:00
benabik tadzik: What I was trying to show with the nqp lines above is that it's probably complaining about Parrot's sprintf op, not P6's sprintf function
tadzik yes 17:01
benabik That said, I have no idea why ; would be an invalid format. 17:02
tadzik I have no idea what happens in my code :)
17:04 dakkar left
benabik Ah. It's complaining about a '%;' 17:05
tadzik it is?
17:05 erkan left
benabik Yeah, the 'not a valid sprintf format' message is after it's parsed the % 17:06
tadzik interesting 17:07
17:07 fgomez joined 17:09 birdwindupbird left, thelazydeveloper joined
benabik I suppose I could make it include the % in the error message, but I don't have enough information to print the entire format there, just the current character. 17:09
arnsholt moritz: But if the segfault happens inside sqlite, I blame sqlite =)
tadzik aaaargh, wtf 17:10
moritz well, passing a NULL pointer as the statement text just wasn't smart :-)
arnsholt Troo, troo
benabik tadzik: I'll look into improving the message. But my guess is that you have a '%;' in your format string somewhere and it's not getting caught by P6 before it gets to Parrot, which throws an exception. 17:11
tadzik gist.github.com/2501044
I have no idea what's going on here
benabik Is $tmpl-project changing?
tadzik no 17:12
not because of say(sprintf()), I'm sure
benabik Oh. It said 2nd call and I thought you meant "2nd call to gen-result"
tadzik nope, it's just one call there 17:13
gist updated with the template
benabik Was just about to ask. :-D
raiph timotimo: tablets.perl6.org/appendix-a-index.html ?
timotimo that's not the one i meant, but that's still pretty cool 17:14
moritz did you mean the periodic table of operators? 17:15
raiph tablets.perl6.org is the replacement for the likes of www.perlfoundation.org/perl6/index.cgi?witch 17:17
tadzik benabik: ooh, found it :/
benabik: it was the other call to sprintf, which had another template, which had '70%' in it :/
so you were right :)
timotimo ah, witch, that's what i meant
benabik tadzik: Yeah, that's poor.
moritz and now the segfault is because I don't pass enough arguments to a C function 17:18
lichtkind r: say 0 ^^ 4
p6eval rakudo 256e1d: OUTPUT«4␤»
benabik tadzik: That said, Rakudo might want to handle the exception from sprintf better.
tadzik indeed
lichtkind moritz: is that wrong ? 17:19
moritz lichtkind: I don't think so
lichtkind so why it differs from xor?
moritz r: say 0 xor 4
p6eval rakudo 256e1d: OUTPUT«0␤»
moritz r: say (0 xor 4) 17:20
p6eval rakudo 256e1d: OUTPUT«4␤»
moritz lichtkind: doesn't seem to differ, except in precedence
timotimo heh, nice catch
how did you find that?
moritz timotimo: whom did you just ask?
timotimo moritz, i asked moritz
moritz timotimo: ah. Eagle-eye method :-) 17:21
lichtkind moritz: right :)
moritz it's not hard to find which function it segfaults in
and then one just has to look careful
lichtkind r: say (0 xor 4) 17:22
p6eval rakudo 256e1d: OUTPUT«4␤»
lichtkind r: say (-1 xor 4)
p6eval rakudo 256e1d: OUTPUT«Nil␤»
lichtkind r: say (-1 xor -3)
p6eval rakudo 256e1d: OUTPUT«Nil␤»
lichtkind r: say (-1 xor 0)
p6eval rakudo 256e1d: OUTPUT«-1␤»
timotimo huh?
that one i don't understand 17:23
it's not bitwise or something, is it?
moritz no
lichtkind no
moritz it boolifies both args
and -1 is True, 0 is False
so it returns the True
timotimo oh, if both are true, it returns nil, because what else shoud it do, right?
moritz yes, it has to return some False value 17:24
r: say so Nil
p6eval rakudo 256e1d: OUTPUT«False␤»
timotimo r: say (Nil xor True) 17:25
p6eval rakudo 256e1d: OUTPUT«True␤»
timotimo :p
moritz "yeah, right" :-)
lichtkind r: say (0 xor 0)
p6eval rakudo 256e1d: OUTPUT«0␤»
17:27 mdcw` joined
moritz now it changed from segfault to "Malformed UTF-8 string" 17:28
interesting, it succeeds in fetching all columns from the first row 17:39
and then complains about the first column in the second row
17:40 sivoais joined
masak lichtkind: even in Perl 5, the word-y boolean ops have looser precedence than infix:<=>, and the symbol-y boolean ops have tighter. 17:42
that's why we have two sets of them.
timotimo oh, right, like "or die ..." 17:44
masak right. 17:45
if you do `open my $fh, '<', $file || die ...`, then the infix:<||> glues together $file and die
dalek blets: 9bbadd3 | (Herbert Breunung)++ | docs/appendix- (2 files):
explaining xor better
masak which could be what you want (if $file can be falsy and you want to die in those cases) -- but it probably isn't. 17:46
lichtkind: s/none empty/non-empty/ 17:49
17:55 Timbus left, sivoais left 17:57 sivoais joined, Timbus joined 18:02 Chillance joined 18:05 thou left 18:10 erkan joined, erkan left, erkan joined 18:12 sivoais left
tadzik once again I ponder a thought of removing from ecosystem those projects which I don't remember ever running (or building) 18:13
moritz tadzik: +1 18:14
colomon +1
tadzik and again, after a quick consideration, I say no.
...wait, what? :)
the reason for my mixed feelings is that it'd be me who'll have to decide who to throw away
moritz there's no value provided to the users in offering modules that don't work
colomon well, I'd be conservative about what you take out
tadzik don't we have phasers today? 18:15
PerlJam tadzik: annotation is better than removing IMHO.
colomon but for instance, if a project doesn't work and hasn't been modified since the rakudo alpha days, it probably shouldn't be in the ecosystem
PerlJam colomon: that sounds rather arbitrary to me.
moritz tadzik: you mean, "didn't we have #phasers 45 minutes ago"?
tadzik moritz: possibly :)
PerlJam I mean, there are bits of code that were created in the days of alpha that do still run today. 18:16
Su-Shee hello, user here! ;) as a user, I take less modules working well over having more any time.
colomon PerlJam: sure, but I explicitly said "doesn't work"
PerlJam oh, so you did :)
colomon and it's not like he's talking about destroying the project; just taking it off the list of projects 18:17
tadzik okay. I'll start writing up a list, and will reconsider them with you all
PerlJam colomon: but it's easier to get some love when people can see you when you're broken :-) 18:19
colomon yes, but that's sort of my point: it's been pretty obvious these things are broken for YEARS. 18:20
I'm not sure what else you could do to get the authors to fix things up.
moritz send patches :-)
PerlJam okay, maybe it's just my predilection to keep things rather than throw them away that's guiding me now.
colomon moritz: there is that. :)
PerlJam I'm a packrat, but I do eventually throw away useless stuff. :) 18:21
18:21 sivoais joined
moritz PerlJam: we're not throwing away anything. We just don't display the links on the frontpage 18:21
colomon PerlJam: look at it from the perspective of a newcomer to Perl 6. "Awesome! There's a library that does exactly what I need! oh, except it doesn't work, and hasn't in years." (Or quite possibly ever.)
I guess some sort of "status" flag could be used to the same effect. 18:22
PerlJam moritz: aye. I'm just thinking out loud about the stuff in my brain :)
[Coke] If we're going to track /dead/ projects, that's fine, but keep them hidden by default.
tadzik tjs.azalayah.net/index.html look what I can has 18:23
PerlJam What we need is some sort of "autocuration" so that tadzik (or anyone else) doesn't have to *do* anything.
jnthn tadzik: NICE! :)
tadzik++
moritz PerlJam: I think that's overengineering right now 18:24
tadzik note to self: sprintf() is not, _not_, *not* a substitute for a templating system
PerlJam tadzik: sweet. I have one feature suggestion. Make the module name link to the repo
(rather than the link at the end)
tadzik PerlJam: approved. I'll fix it in a second
jnthn tadzik: Bailador claims it doesn't prep ok in there, though it does actually work these days, I thought?
Su-Shee EMMENTHALER? whose idea was that? ;) 18:25
masak 's
benabik That makes me think of cheese.
tadzik jnthn: yeah, it's just that the official repo of HTTP::Easy is still broken
colomon tadzik: you need it to say "Rakudo" somewhere around there .... after all, the ABC module works fine under Niecza. (And ideally we'll get the NIecza stats up there sometime soon too.)
Su-Shee rolls a full wheel of gouda in front of masak's door. ;)
jnthn tadzik: ah, k
tadzik masstest must've used the old db
masak Su-Shee: it comes from this post: strangelyconsistent.org/blog/cheese-speleology
tadzik colomon: indeed, will fix it in a second
colomon++ # the good niecza sheriff 18:26
masak colomon++ 18:27
moritz and the legend is still out of date
colomon: what's blocking ABC on rakudo?
tadzik heh, it also says that panda doesn't build 18:28
it must have something to do with trying to precompile it while running it
colomon moritz: something is mucked up in Rakudo's module handling
[Coke] tadzik: that looks familiar. ;
;)
moritz colomon: hm, ok
tadzik [Coke]: does it? 18:29
(I lean towards hardcoding panda to OK-OK-OK :P)
colomon moritz: symptoms are that ABC::BrokenRhythm uses ABC::Note, but in that file ABC::Note is not correctly recognized as a class name
[Coke] tadzik: (perl6.org/compilers/features)
tadzik oh, yes :)
moritz colomon: I see
tadzik: what a coincidence :-)
jnthn colomon: Is that when you're compiling the modules? 18:30
moritz it is
moritz just tried
jnthn colomon: I fixed a pre-comp bug just like that at the hackathon.
moritz jnthn: happens with newest rakudo too
jnthn shit.
moritz on the upside, it's easy to reproduce
colomon jnthn: it may even have started happening at the hackathon, it ran fine on February's Rakudo.
moritz git clone git://github.com/colomon/ABC.git && cd ABC && ufo && make 18:31
jnthn heh
masak still needs golfin'
jnthn Not sure ufo actually runs on my platform :)
moritz I guess the global merging or module isolation or so doesn't quite work 18:32
masak ufo was only ever meant as a developer tool. I repeat this sometimes, though I'm not sure it helps :)
jnthn moritz: Is it a pre-comp only issue? 18:33
tadzik colomon: what can you tell me about Vector?
jnthn moritz: Or a general one?
colomon jnthn: I think it happens regardless of pre-comp
moritz jnthn: trying...
jnthn colomon: OK, if so then it's not the thing I fixed at the hackathon... 18:34
moritz the first few test files run OK without precompilation
tadzik here are my candidates for deletion: gist.github.com/2501759 18:35
moritz jnthn, colomon: seem to (mostly) work without precomp, and doesn't error out while compiling that module
tadzik I didn't include anything that belongs to one of the active perl6/module developers, so if you feel that you have a module that should not probably be in the ecosystem, please add it to a list
colomon jnthn: moritz++, he's right 18:36
so I guess it is pre-comp
tadzik: Vector versus Math::Vector? Or Math::Vector? (I forget whether the older one is in the ecosystem.)
tadzik colomon: Vector
18:37 birdwindupbird joined
colomon tadzik: it should go, it's completely replaced by Math::Vector 18:37
tadzik okay
moritz wow, that's weird
I've reduced ABC::BrokenRythm to just the class declaration and a sub with the ABC::Note in the signature 18:38
and when I remove the 'use ABC::Stem;' line (and that type isn't used anywhere), I get a totally different error 18:39
colomon tadzik: it would be really cool if the Emmentaler index linked to what error produced a given red state. ;)
tadzik colomon: I'm working on it :)
well, _slowly_
colomon tadzik++
tadzik colomon: how do you feel about writing a Test::Harness in Perl 6? :)
moritz tadzik: your module removal list looks quite OK to me 18:40
colomon tadzik: hmmm. what would be involved? I thought panda already did that, more or less... 18:41
masak moritz: you know this already, but that needs to go into RT somehow.
moritz masak: I'll try to reduce it a bit more 18:42
tadzik colomon: it just runs 'prove', but it's quite hard to tell e.g. how many tests did fail, or which ones
colomon moritz: I completely rewrite the problem methods to be one method with a case statement, and when I did that, the when blocks failed because the parser treated, say, ABC::Note as a sub name rather than a type. (at least, I think that was the gist of my conversation with sorear, the actual error message was completely obscure.) 18:43
masak moritz++
colomon tadzik: I don't think I'll have time for a few days, but I'd certainly be interested in taking a look at the problem. :) 18:44
tadzik I see :)
maybe I should set a prize for the one who implements it first
and something better than "I'll teach you an optimal way to tie a shoe". That didn't convince anybody last time I tried it
dalek osystem: 9091395 | tadzik++ | / (2 files):
Remove DateTime::Parse, as it's gone from Github
18:49
osystem: f9e7ef7 | tadzik++ | / (14 files):
Remove not working and unmaintained modules. My heart bleeds
tadzik that leaves us up to 6 modules in the SHELTER
Digest-sum io-prompt lolsql messagepack-pm6 november SQL-Grammar
18:49 fgomez left
jnthn eek, one of those is mine :) 18:50
tadzik I know :)
jnthn suspects it shouldn't be ahrd to fix 18:51
And clearly it's a critical part of any langauge's ecosystem ;)
oh, it even has all +s 18:52
Just no META.info I guess
masak heh, is november still around? who maintains that module, I wonder? :P 18:53
18:54 icwiener joined
tadzik jnthn: all +s because it has no tests, I'm afraid ;P 18:54
masak: there were commits younger than a year ago, so I decided to keep it
18:55 SIGS3GV joined
[Coke] hey, moritz, jnthn, pmichaud - if parrot stopped shipping an nqp, that wouldn't impact rakudo at all, neh? 18:56
tadzik haha. Yapsi spits out, like, ALL THE WARNINGS :)
timotimo so in theory i should be able to use code from any other language that runs on parrot in rakudo, shouldn't i? does that currently work? 18:57
masak Yapsi should have a much better chance at working than November.
tadzik timotimo: in theory, yes. In practice no, it does not work 18:58
benabik timotimo: There's a lot of sharp corners there because Rakudo has a custom object model.
timotimo i feared that :(
19:00 answer_42 joined
Tene jsil.org/try/ -- CLR->javascript written by an acquaintence of mine 19:01
masak Rakudo having a custom object model should be the least of Parrot's problems.
Parrot is *about* language integration. that's why it was built. 19:02
even the April Fool's joke was about that.
Tene You'd think that, if you hadn't tried to get support for working on language interop in parrot.
masak it worked for a while, thanks to Tene++
and then it bitrotted.
tadzik PerlJam: I think source-url in Grammar::Profiler::Simple is broken
timotimo i remember seeing the ruby/perl gist by tene 19:03
19:03 raiph_ joined
timotimo that was most probably pre-nom and would have to be ported? 19:03
PerlJam looks
tadzik PerlJam: some casing issues, I think 19:04
Tene timotimo: rather more than just that.
PerlJam ah, capitalization
19:04 SIGS3GV left
PerlJam yep, that's it. 19:04
tadzik cool. I'll re-run masstest at least once again today, so it should be all pluses :)
Woodi you earlier mention Alien 3 movie and Ellen Ripley suicide... Yes, she jumped into fluid metal container to prevent alien inside her to run away but we can say that before she touch fluid she was killed by alien going out... 19:05
19:05 fglock left, raiph left
Woodi and Alien 4 is worth to see :) 19:05
PerlJam fixed
[Coke] Woodi: i respectfully disagree. ;) 19:06
tadzik tjs.azalayah.net/index.html updated
[Coke] in fact, I'd skip 3 also.
just read the precis.
Woodi I do not remember exact pictures but in movies ppls die fast when it is needed :) 19:08
masak I'll probably watch Alien 3 at some point just to confirm that [Coke] is right. might skip 4, though.
Woodi however to back to "programming", a lot of "toys" to program in Alien series :) 19:09
[Coke] is reminded to put A2 back in the to-watch pile. 19:10
"Game over, man! GAME OVER!"
19:10 jasonmay joined
Woodi and "toys" is from "Batman" - Joker played by Nicolson says "From where hi have that toys ??" - about Batman tools :) 19:11
and Predators have toys :)
19:11 answer_42 left
tadzik moritz: could you merge github.com/moritz/perl6-http-easy/pull/1 ? 19:11
19:12 jasonmay left
moritz I'm very close to forking modules into the perl6 organization, and just give everyone on the p6 team commit access 19:12
Woodi but seriously I thinking about file format to describe graph of connected tools/machines, eg for kitchen automation...
tadzik sounds sane
moritz++ thanks 19:13
raiph_ option to use putty or openssh
i've got putty installed 19:14
oops. (meant to be /msgs to lichtkind)
moritz ok, on bug submitted 19:20
jnthn moritz: the ABC one?
moritz jnthn: one of them, yes :-)
jnthn moritz: Thanks 19:21
I'll get to it at some day other than today.
jnthn is sick :(
moritz :(
jnthn My concentration level is such that it took me half an hour to find and fix an obvious bug in a 10 line SQL query earlier today :/
moritz jnthn: hope you recover soon
jnthn moritz: Same.
The worst part is that it's runining my sleep...which is what one tends to need to recover from stuff. :/ 19:22
moritz :(
colomon :( 19:23
tadzik hugme: hugme jnthn
hugme tadzik:
tadzik hugme: hug jnthn 19:24
hugme hugs jnthn
tadzik I hope you get well soon
moritz second bug report submitted 19:25
jnthn Thanks. 19:26
19:26 fhelmberger left
moritz it's the one that colomon++ observed 19:26
and maybe the two have the same origin
raiph_ hugme: hug jnthn++ # for double karma? 19:28
hugme hugs jnthn++
masak hugs... *and* karma? :P 19:32
moritz we care about our core developers :-) 19:33
raiph_ masak: what nebulous sense my footnote/rehearse/read notion yesterday(?) made to me faded. but now i get macro/quasi :)
tadzik moritz: I'm wondering if modules.perl6.org and emmentaler should be merged into one thing 19:34
masak raiph_: \o/! 19:35
raiph_: tell me how they work, and I'll implement them right away :P
moritz tadzik: it's useful for sure to have some cross-linking
raiph_ masak: lol 19:36
tadzik moritz: I'm thinking that modules.perl6.org could have a sort of street lights next to the current badges, green for OK, yellow for tests failing, red for not building, or something like this
19:36 FACEFOX left
moritz tadzik: I'm not sure what the best way is to make it happen, I just know that I don't want the actual smoking to happen on feather2, which hosts modules.perl6.org 19:36
tadzik yeah, I remember
moritz tadzik: yes, that's a good idea 19:37
but it wouldn't be a problem to do the smoking somewhere else, and rsync the results
tadzik I'm sure masstest will eventually (tomorrow maybe) produce json instead of HTML, so modules.perl6.org script could just process it
yes
19:39 FACEFOX joined, FACEFOX left, FACEFOX joined, FACEFOX left 19:43 FACEFOX joined, FACEFOX left
colomon moritz++ # thanks for golfing and reporting 19:43
19:43 FACEFOX joined, FACEFOX left
masak moritz++ indeed 19:44
19:44 cognominal left 19:45 FACEFOX joined, FACEFOX left, cognominal joined, FACEFOX joined, FACEFOX left 19:46 FACEFOX joined, FACEFOX left, kaare_ left 19:48 FACEFOX joined 19:52 xinming left 19:54 xinming joined
flussence
.oO( I have more than a little suspicion that one user doing the quit flooding is only here for SEO spamming purposes... )
19:58
tadzik newest test results on tjs.azalayah.net/index.html 20:00
20:01 GlitchMr left
masak flussence: I had just decided that if he came back, I'd op and kickban him. 20:02
moritz tadzik++ 20:03
we really need to fix the NativeCall tests on linux 20:04
tadzik we need setenv 20:05
I'll look at it now
moritz we could use NativeCall to call setenv :-)
tadzik heh, yes :)
moritz star: use NativeCall; sub setenv(Str, Str, Int) returns Int is native; setenv('LD_LIBRARY_PATH', '.', 1); say 'alive'; 20:06
p6eval star 2012.04: OUTPUT«===SORRY!===␤Missing block␤at /tmp/VTDZMzU3Xo:1␤»
moritz star: use NativeCall; sub setenv(Str, Str, Int) returns Int is native {*}; setenv('LD_LIBRARY_PATH', '.', 1); say 'alive';
p6eval star 2012.04: OUTPUT«alive␤»
tadzik hmm 20:07
I think it should be possible to make %*ENV a proxy object, which STORE will use setenv() from Parrot (if there is one)
moritz of course it kinda defeats the point of t/01-argless.t if you have to do a call with several arguments first to be able to do an argless call :-) 20:08
yes, there's the env pmc
I wonder if we can simply substitute the $!storage of a Hash with the Env PMC 20:10
20:11 icwiener left
jnthn No because containers. 20:11
(e.g. you'd only be able to bind to it) 20:12
well, to change existing elements anyway.
Needs doing with Proxy OR just leave it as is and do what pmichaud++ suggested
(which is that things like run first call an UPDATE_ENV that goes through current %*ENV and diddles the contents of the Parrot Env PMC before we call the outside world) 20:13
moritz thing is, we need to ensure an updated environment for every dyncall too 20:14
tadzik Proxy may be wrong after all
moritz and I wouldn't particularly mind %*ENV to be special-ish 20:15
tadzik imagine the following: { my %*ENV; %*ENV<foo> = 5; } say %*ENV<foo>
moritz like being Str-typed
tadzik it would probably print 5, and shouldn't
raiph_ r: macro f { quasi { state $a = 0; if $a++ { quasi { say 1 } } else { quasi { say 2; say f } } } }; f # dihwidt
p6eval rakudo 256e1d: OUTPUT«(signal SEGV)»
moritz well, there can only be one environment per process
timotimo whoops, heh 20:16
moritz tadzik: no, 'my %*ENV' would declare a bog-standard hash with no special features whatsoever
raiph_ masak: golfing...
tadzik hm, true
then where's the dynamicness of %*ENV?
20:17 PacoAir_ joined, PacoAir left, PacoAir_ is now known as PacoAir, FACEFOX left
moritz well, it's an ordinary dynamic var 20:17
but only the setting-provided instance would be bound to the program's env variables 20:18
tadzik mhm
moritz you simply cannot have multiple dynamic vars bound to the same global, have them all distinct all DWIM 20:19
*and all DWIM
masak raiph_: I think calling a macro from inside a quasi isn't going to do what you want yet.
20:19 FACEFOX joined 20:20 imarcusthis left 20:25 raiph_ left, imarcusthis joined 20:27 raiph joined
tadzik r: gist.github.com/2502814 20:29
p6eval rakudo 256e1d: OUTPUT«Method 'set_string_keyed' not found for invocant of class 'Env'␤ in block <anon> at /tmp/cgaWePZijI:2␤␤»
tadzik docs.parrot.org/parrot/latest/html/...v.pmc.html states otherwise
am I doing something wrong Perl6-wise?
moritz yes
set_string_keyed is a VTABLE, not a normal method
tadzik oh
moritz use nqp::bindkey_s instead 20:30
erm, no _s I think
tadzik will do, thanks
moritz -> sleep
tadzik yay, works 20:31
g'night moritz
sergot good night moritz 20:32
masak dream of a dwindling RT queue, moritz.
20:38 birdwindupbird left
tadzik > print %*ENV<HOME>, " "; %*ENV<HOME> = "/not/home/tadzik"; say %*ENV<HOME> 20:49
/home/tadzik /not/home/tadzik
\o/
spectesting
masak \o/ 20:51
dalek p/toqast: 53d95cc | masak++ | t/qast/qast.t:
[t/qast/qast.t] added a test for a unary op
tadzik meh, apparently that doesn't help zavolaj at all 21:00
21:00 raiph left
tadzik see gist.github.com/2503199 21:01
arnsholt: ping
and apparently that works in Perl 5, so it may be a parrotbug 21:04
japhb tadzik, re: irclog.perlgeek.de/perl6/2012-04-26#i_5501834 , if you go with colored circles for status, as the token color-blind person here, I must say I would MUCH prefer a circular version of the capsule indicators used on perl6.org/compilers/features and tjs.azalayah.net/index.html to blank circles or street lights. The combination of good color choices (a little tweaking of either the red or green would push it to 21:08
really excellent) and visually distinctive symbols makes it *much* easier to see what's going on.
tadzik japhb: thanks, I'll keep that in mind
does t/spec/S16-filehandles/filestat.t fail for anyone else? 21:10
21:10 skids left
masak japhb++ # token color-blind person here 21:10
japhb :-)
21:11 oiig_ joined
dalek kudo/setenv: 7845b8d | tadzik++ | src/core/terms.pm:
Implement setting env variables by modifying %*ENV
21:11
tadzik yay, notifications work again
benabik Shouldn't that be %ENV does role? 21:12
I thought but returned a new object.
tadzik I think does does 21:13
well, uh, you know
r: my $a = 5; $a but role { method foo { say "foo
p6eval rakudo 256e1d: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 2␤»
tadzik r: my $a = 5; $a but role { method foo { say "foo" } }; $a.foo
p6eval rakudo 256e1d: OUTPUT«Method 'foo' not found for invocant of class 'Int'␤ in block <anon> at /tmp/Agmd_m_UbL:1␤␤» 21:14
tadzik hm
r: my $a = 5; $a does role { method foo { say "foo" } }; $a.foo
p6eval rakudo 256e1d: OUTPUT«foo␤»
tadzik then I don't know how this works :)
oh, maybe that's the point. It doesn't 21:15
*facedesk*
sergot tadzik++ 21:16
masak right. 'but' is a clone plus a 'does'. 21:17
tadzik too late for me, I guess
right
tadzik recompiles
masak so if you're not assigning the result, you're just throwing it away.
definitely merits a sink-context warning, methinks. :)
21:18 PacoAir left, PacoAir joined
tadzik it's funny how I implemented a no-op and then was quite convinced that it's working as it should 21:18
colomon n: my $a = 5; $a but role { method foo { say "foo" } }; $a.foo 21:19
p6eval niecza v16-23-gaa61ed5: OUTPUT«Unhandled exception: Unable to resolve method foo in class Int␤ at /tmp/GUAuekIAbd line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3840 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3841 (module-CORE @ 65) ␤ at /home/p6…
colomon n: my $a = 5; $a does role { method foo { say "foo" } }; $a.foo
p6eval niecza v16-23-gaa61ed5: OUTPUT«Unhandled exception: Cannot use 'does' operator with an immutable object␤ at /home/p6eval/niecza/lib/CORE.setting line 1364 (die @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1303 (infix:<does> @ 6) ␤ at /tmp/_ZBHAK4u1o line 1 (mainline @ 2) ␤ at…
dalek kudo/setenv: 616b622 | tadzik++ | src/core/terms.pm:
Fix a braino. benabik++ for noticing
21:22
benabik tadzik: Does your example work now? 21:23
tadzik which one? :)
everything seems to work now
> %*ENV<FOOBAR>="dupa"; shell 'echo $FOOBAR' 21:24
dupa
but I still don't know how to fix zavolaj
21:26 tokuhirom joined
tadzik when I set LD_LIBRARY_PATH before running make test, it works. When I set it in NativeCall.pm, it doesn't 21:26
jnthn Setting it in LD_LIBRARY_PAT 21:27
ffs
Setting it in NativeCall.pm is probably not right
It probably wants setting in the test file itself.
tadzik that doesn't help either
masak phenny: pl en "dupa"?
phenny masak: "ass" (pl to en, translate.google.com)
jnthn phenny! How rude!
phenny jnthn!
tadzik yes, it's the "d" word again, sorry
masak phenny: pl ru "dupa"?
phenny masak: "задница" (pl to ru, translate.google.com) 21:28
tadzik is that pronounced "żopa"?
jnthn No, but żopa is Russian for "ass", iirc :)
tadzik ;)
masak thought it was жопа
right.
tadzik phenny: "задница"?
phenny tadzik: "ass" (ru to en, translate.google.com)
benabik I wonder if it has to be set before the program is loaded. :-/
dyld is picky
jnthn benabik: I was wondering that.
tadzik the error comes from NQP's NativeCall
it's nqp::buildnativecall() that dies 21:29
jnthn tadzik: Right, that's when it goes off to the OS to ask it for the symbol.
tadzik right
benabik Based on prior experience with dyld, I would not be surprised if it caches the value of DYLD_LIBRARY_PATH during program start.
Prior experience mostly being "dyld does whatever is least convenient" 21:30
I believe it's considered a safety feature so rogue plugins can't alter the search path for the entire program.
jnthn stackoverflow.com/questions/856116/...for-ctypes 21:31
That's one answer that seems to say "no, this won't cut it"
benabik Bonus! It's not just dyld.
tadzik well, shit
jnthn ooc 21:32
Does
is native('./thelib') not cut it?
tadzik it does 21:33
tadzik wordless
jnthn Wonder what happens on Windows...
tadzik well, it least we have a better %*ENV now
that could be specialcased probably 21:34
but does it break on windows? Maybe there'll be no problem
benabik Dead ends that add useful features aren't dead ends?
tadzik sure 21:35
jnthn sub Argless() is native('./01-argless') { * }
Worked :)
tadzik okay :)
I even have a zavolaj commit bit
jnthn I'll leave you to it...I'm drugging myself up and hoping for at least some sleep tonight. 21:36
tadzik sure thing 21:37
dalek blets: 5a098ab | (Herbert Breunung)++ | docs/appendix-a-index.txt:
describing signature notation in index
21:38
tadzik still, 05-arrays.t fails for me
oh, ok, there's been commits
Juerd Which synopsis describes "is native"? Looks very interesting. 21:39
Or some other document perhaps
tadzik I think the answer is "none" :)
masak Juerd: it's not Perl 6, it's zavolaj. 21:40
github.com/jnthn/zavolaj
benabik Which even comes with a README
Juerd Impressive 21:42
github.com/mberends/MiniDBI/blob/m.../mysql.pm6 # wowowow. 21:52
github.com/mberends/MiniDBI/blob/m...SQLite.pm6 # Whoaaa 21:54
tadzik :) 21:55
masak ain't it great?
tadzik ==> Succesfully installed NativeCall :) 21:56
Juerd So... should I build MiniDBIx::Simple, or is a sane interface part of the actual plan? 21:57
tadzik the slot for Bailador::Plugin::Database is still free :)
Juerd That's a bit too bailador specific for my taste :) 21:58
masak .oO( shoulda called the Dancer clone Syrio::Forel instead... ) 21:59
tadzik oh, well, I'd comment that but that'd be a spoiler :)
masak heh. 22:01
dalek blets: 6f48f3e | (Herbert Breunung)++ | docs/appendix- (2 files):
linking all logical ops
22:02
sergot Good night o/ 22:07
22:07 sergot left 22:10 thou joined
masak 'night, #perl6 22:13
dalek rl6-bench: c81d1d3 | (Geoffrey Broadwell)++ | / (2 files):
For NQP tests, change $i++ to $i := $i + 1 . The difference in a small loop is well within measurement error, so might as well get closer to Rakudo compatibility
22:18
rl6-bench: 79afd70 | (Geoffrey Broadwell)++ | nqp/rc-forest-fire:
Change method new into method init in nqp/rc-forest-fire to paper over difficulty writing a method new that works under both nqp and Rakudo
rl6-bench: bd1524b | (Geoffrey Broadwell)++ | nqp/rc-forest-fire:
Work around NQP/Perl 6 incompatibility in MAIN args: NQP includes the script name at the front, but Perl 6 does not
rl6-bench: fb0e794 | (Geoffrey Broadwell)++ | TODO:
NQP-on-Rakudo TODO items down
tadzik good night, internet 22:19
22:20 oiig_ left 22:25 benabik left 22:27 bluescreen10 left
dalek rl6-bench: de83393 | (Geoffrey Broadwell)++ | TODO:
Add two more TODO items; fix list bullet characters
22:32
rl6-bench: 123cb68 | (Geoffrey Broadwell)++ | bench:
Add 1e6 version of empty_loop test, to see performance of simple loop when startup time is (mostly) taken away
22:36 Chillance left 22:38 skids joined
dalek blets: 871de1a | (Herbert Breunung)++ | docs/appendix- (2 files):
better explained: and or ... (seq op)
22:42
22:46 thelazydeveloper left
dalek blets: 488393a | (Herbert Breunung)++ | docs/appendix- (2 files):
polish for logical ops
23:00
23:05 whiteknight joined
lichtkind karma lichtkind 23:07
aloha lichtkind has karma of 11.
lichtkind karma Herbert Breunung 23:08
aloha Herbert Breunung has karma of 296.
23:17 NamelessTee left 23:29 vlixes joined
spider-mario parrot 4.3 is in arch’s [community-testing] repo. :) 23:29
when it hits [community], I’ll be able to upgrade nqp and rakudo in the AUR.
(unless it happens before monday. it’ll then have to wait until monday.) 23:30
23:41 spider-mario left
whiteknight Is there anybody around who is familiar with NQP's regexes? 23:44
23:48 benabik joined 23:51 mikemol left 23:54 ab5tract left