»ö« 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:03 cjbot joined 00:27 dayangkun joined 00:53 silug left 01:00 FROGGS_ joined 01:04 FROGGS left 01:11 scott__ joined 01:19 silug joined 01:33 popl joined 01:38 MikeFair joined 01:40 whiteknight left 01:42 replore_ joined 01:43 ObseLeTe left 01:45 cjbot left 01:48 cjbot joined
cjbot @ryanbriones tweeted '@garybernhardt I didn’t realize you’d been working on Perl 6 this whole time… :trollface:' 01:50
01:59 cognominal joined 02:00 FROGGS__ joined 02:04 FROGGS_ left 02:05 cognominal left 02:22 thou left 02:27 alvis joined
diakopter cjbot: usocool 02:27
diakopter found a trove of interesting papers on language implementation optimization 02:31
02:33 cjbot left
diakopter I can't tell whether ryanbriones' tweet is sarcastic, even after reading the gist to which he was replying 02:36
02:37 cjbot joined 02:38 tokuhiro_ left
benabik diakopter: I know. I'm not sure if I'm annoyed or amused that I can't tell. 02:40
diakopter on second thought, I'm guessing sarcastic 02:42
02:44 Circlepuller left, Circlepuller joined
diakopter maybe someone can help me with my data structures problem 02:45
sorear did someone say data structures?
I will attempt to help with all data structures problems 02:46
* I reserve the right to go no-true-scotsman-ing on what constitutes a data structures problem 02:47
diakopter I need to represent records whose fields are either retrieved by following a chain of parents to find where it's set, or to use what's set in that record
sorear prototype OO? disjoint set forest? 02:48
diakopter if I had JavaScript it would be a piece of cack
*cake 02:49
but I just have C
sorear are you implementing javascript?
diakopter heh no
and they're not lexical closures either
:D
MikeFair You mean like you have to find the node in the linked list that has your property set? 02:50
sorear I'd be curious to know more about your problem, especially as it impacts the operation ratios
MikeFair Or to use the one on the node you got?
diakopter It's not a real problem; I'm imagining how I might do type flow analysis 02:51
it's not a real problem in the sense that I don't *have* to do it
it's really just an exercise
MikeFair I asume your musing about ways to make that analysis "fast" 02:52
diakopter my idea was to represent each position in the program as an array of type-unions
and just propagate them all through every branch until homeostasis is reached
sorear right, that's the standard approach 02:53
kleene fixed points
diakopter oh goody, glad to see I reinvented the wheel
sorear is that sarcasm? it sholdn't be
diakopter light-hearted :) 02:54
diakopter looks up kleene fixed points
MikeFair: yep trying to make the analysis fast and not use gigabytes of space for a medium-sized program
sorear bleh, the [[w:Kleene fixed-point theorem]] is pretty much useless 02:55
diakopter for routines with hundreds of locals, probably hashtables would be most space efficient. but surely I can do better with 0-40 locals 02:58
locals including intermediate resuls of expressions
02:58 jaldhar joined
sorear diakopter: don't use a hash table, replace the variable names with consequtive small integers and use an array. 03:01
diakopter right, but for hundreds of locals the array would be gigantic
MikeFair diakopter: and it would be smaller with a hash table? 03:03
diakopter yes, but it would include only entries that changed in that step 03:04
er, entry
hm
sorear diakopter: I think you maybe want a persistant map
it's like a hash table, but the "set" operation nondestructively returns a new map 03:05
it's possible to make these with O(log N) set performance
diakopter oh?
sorear oh? for "possible" ? 03:06
diakopter yes
("do tell..") :)
sorear haskell's Data.Map is one. I don't know offhand if any other languages come with them
if you want to roll your own, you start with a binary or 2-3 truee 03:07
s/truee/tree/
then, when you want to change a leaf, clone nodes up to the root instead
diakopter but I don't want to clone, I want to reference
shachaf You only copy the ones you change. 03:08
diakopter oh
sorear if your tree has a million items, and is maximally balanced with a depth of 20, you only have to clone 20 of the nodes for a set
diakopter oh, and each of those nodes can be a bit? 03:09
shachaf I wonder whether there are any libraries that present persistent maps as mutable maps with a cheap "clone" function.
sorear diakopter: each interior node needs two pointers, a key, + GC overhead 03:10
this is mostly a standard self-balancing search tree
diakopter each level can be one bit in the key, I meant 03:11
sorear yes.
if you're doing this for a dense set of integers, you could just have two pointers, omit the key, and implicitly identify (left, right, left, left, right) with 0b01001 = 9 03:12
if that made sense
diakopter oh, that's what I was imagining 03:13
shachaf If it's not dense you can store a prefix for each node.
diakopter except the other direction
shachaf Like a Patricia tree (that's what Haskell's Data.IntMap does).
03:14 jaldhar left
sorear diakopter: I like to make inorder traversal of the tree correspond to numeric order on the implied map 03:14
diakopter since items will never be removed from the structure, does it need to be a tree or can each record be stored in a table 03:15
03:15 jaldhar joined
diakopter but with the same inter-references as the tree, 03:15
just using array indexes instead of pointers
sorear Sure
diakopter that would save the GC overhead 03:16
sorear That's just like saying "I'm never going to free these, so I'll make a custom GC with 0 memory overhead"
Also you can make the indexes smaller than pointers would be, especially on 64-bit 03:17
[Coke] sorear: parrot has that GC plugin! 03:18
... except it probably also has overhead. nevermind.
diakopter orly
shachaf Inserting into a persistent tree leaves you with nodes that might be unused, of course. 03:19
shachaf isn't sure of the context here. 03:20
diakopter how would I enumerate the values at one level (not of the tree), of the inheritance chain 03:21
MikeFair (I just finished building from GIT, I'm sure everyone will be happy know that the make test result says "PASS")
sorear diakopter: with this approach there is no inheritance chain. 03:22
you can, however, efficiently enumerate the changes between an arbitrary pair of versions
diakopter how would I enumerate the values of one version 03:23
sorear Recursively. 03:24
It's a tree.
if (leaf) { value! } else { enum_left(); enum_right(); }
diakopter I'm having trouble seeing the effective inheritance chain 03:27
sorear There is no inheritance chain.
diakopter right, but I'm having trouble seeing how it implements the same thing. 03:28
sorear Say you have a, b, c, d
node 0 = [a,b] node 1 = [c,d] node 2 = [0,1] root = 2
Now you change the d to an e 03:29
two new nodes are created, node 3 = [c,e] node 4 = [0,3]
The new root is 4
node 0 is unchanged and did not have to be copied, so 33% of the memory was shared with the old version
In a deeper tree the ratio would be much better
diakopter ah. 03:30
good explanation.
sorear It might also help to think that this is very close to how git's blob and tree objects work 03:31
03:32 thou joined
MikeFair Is there any reason Java couldn't be treated as CPU architecture for PIR? 03:34
diakopter all the PMCs would need implemented somehow 03:35
MikeFair diakopter: Right just like on x86, arm, etc
diakopter well, that compiles from C
but can you compile C to JVM? 03:36
MikeFair en.wikipedia.org/wiki/Java_virtual_..._compilers
The LLJVM one seems interesting 03:39
diakopter last update 2 years ago 03:42
none of the others looks maintained either or looks suitable
s/or/and/ 03:43
win32 only, mobile only, last updated years ago, bought by private company 03:44
incopmlete
MikeFair I didn't see the "bought by private company" 03:45
MikeFair didn't click all the links either.
diakopter ampc
MikeFair Oh, the one that seemed the most complete (even targetted mobile devices) 03:46
Though I don't think for this purpose, targetted a mobile device would be bad would it?
diakopter no
ampc looked the best but wasn't the one to j2me 03:47
03:49 rsimoes joined
MikeFair Do you see a license on C2J, they say win32 because they wrote it originally in C. But they go on to say that since C2J spits out java code, they simply used the Win32 compiler to produce a Java version of C2J (which runs everywhere java runs) 03:49
It's free to download, but I don't immediately see source or license.
Beta versions of C2J are under GNU license. 03:51
(Successfully created java versions of PGP and YACC -- Standard ANSI C runtime library fully supported. -- ANSI C and K&R C fully supported 03:52
)
I'm not a C expert but that seems like a fairly decent festureset 03:53
err featureset
MikeFair disappears to put kids to bed.
bbiab
03:54 thelazydeveloper left
cjbot @Kharec tweeted 'En revanche, j'ai essayé deux-trois fois, j'suis pas trop #Perl6. J'pense que je m'y mettrais que quand #perl n'existera plus. #PasDeSuite' 04:00
bonsaikitten haha
sorear troll? 04:05
[Coke]: what does cjbot listen for? is #p6p5 on the list? 04:07
diakopter there's only one tweet ever with that tag
er, 2. 04:08
sorear diakopter: twitter is lying to you.
twitter.com/nogoodnickleft/status/...2656698368 04:09
diakopter sure enough
sorear I think the all-time total for #p6p5 tweets is closer to 5 04:10
diakopter yeah, google seems to think so
04:13 cjbot left, telex left
[Coke] sorear: yes. 04:15
but it's possible tweets come in while cj is getting disconnected and reconnecting, and he's too stupid to remember the last thing he saw, so he just drops anything that happens in between connections right now. 04:16
04:16 cjbot joined
sorear does cjbot respond to pongs? 04:16
pings
04:17 skids left 04:21 telex joined
[Coke] cjbot: help 04:22
cjbot Run by Coke, I relay tweets about Perl 6.
diakopter cjbot: do you take crack or snow 04:23
sorear WHAT. 04:29
diakopter two forms of coke?
sorear github redirects github.com/downloads/sorear/niecza...cza-19.zip to cloud.github.com/downloads/sorear/n...cza-19.zip
I think this is a grave bug! 04:30
04:30 replore_ left
diakopter well, if you can't trust the same dns server that got you to the https one... 04:30
shachaf What does it have to do with DNS? 04:31
sorear https doesn't require you to trust dns
because server certificates
04:32 xinming_ left
diakopter what's wrong with the redirect? 04:32
sorear it's redirecting https to http
after the redirect, an adversary can tamper with the traffic
04:32 telex left 04:37 telex joined
cjbot @itimesupuc tweeted 'Perl 6 Now: The Core Ideas Illustrated With Perl 5 (Expert's Voice in Open Source) (Paperback) t.co/6AJW8Zki' 04:44
@uhyreni tweeted 'Perl 6 Essentials (Paperback): Perl 6 Essentials is a sneak-preview of Perl 6, the widely-anticipated rewrite of... t.co/0hrxMEdj' 04:45
dalek kudo/nom: 5836fd5 | moritz++ | src/core/Cool.pm:
add Str:D and str variants of &chars
moritz good morning 04:47
diakopter cjbot needs some spambot detection 04:48
04:51 aloha left 04:54 aloha joined
sorear morning moritz 04:59
moritz good *, sorear 05:00
05:03 cjbot left
dalek ast: 025504e | moritz++ | S03-operators/buf.t:
test ~ on Buf
05:05
05:06 cjbot joined 05:10 replore_ joined
pmichaud good morning, #perl6 05:26
dalek ecza: e78d613 | sorear++ | docs/announce.v21:
Draft v21 announce
05:32
sorear good morning pmichaud.
pmichaud sorear! \o/
good morning.
dalek ar/build2: a16dda6 | pmichaud++ | win32/rakudo. (2 files):
Remove obsolete win32 stuff.
05:34
05:37 popl left
bonsaikitten sorear: bonus points for providing proper tags for all releases 05:39
masak good morning, #perl6.
pmichaud masak! \o/
sorear bonsaikitten: proper tags? is that intended to be a reference to how I didn't get v20 tagged properly? :|
masak is off for another day of teaching
bonsaikitten sorear: yes, that mildly irritated me :) 05:40
dalek ecza: a8aa70b | sorear++ | / (2 files):
Update bootstrap to v21
05:45
sorear release done I think 05:47
n: 2
p6eval niecza v19-44-g55e895a: ( no output )
masak sorear++ # release 05:49
&
bonsaikitten excellent 05:52
05:57 wtw joined 06:02 FROGGS__ left
dalek ar/build3: c012d8b | pmichaud++ | / (53 files):
Move skel/ into top-level directory, to try building directly from the repo.
06:05
ar/build3: a8079a0 | pmichaud++ | / (12 files):
Move build/binary/darwin_dmg to ports/ .
ar/build3: af09f22 | pmichaud++ | / (28 files):
Add some submodules.
ar/build3: 06aa30a | pmichaud++ | win32/rakudo. (2 files):
Remove obsolete win32 building stuff.
ar/build3: aa6fe69 | pmichaud++ | modules/MODULES.txt:
Add MODULES.txt index file.
ar/build3: f9f2df3 | pmichaud++ | Configure.pl:
De-template Configure.pl.
ar/build3: 048c88e | pmichaud++ | template-skel/Configure.pl:
De-template Configure.pl.
06:07 preflex_ joined 06:08 preflex left, preflex_ is now known as preflex 06:09 marmay joined
dalek ar/build3: 9f56672 | pmichaud++ | / (2 files):
Move star-level Makefile out of the way.
06:10
ar/build3: bb733c2 | pmichaud++ | build/ (4 files):
Remove obsolete build/ directory.
06:13
06:16 kaleem joined 06:18 cjbot left 06:21 cjbot joined 06:25 SamuraiJack joined
dalek ar/build3: 251ada7 | pmichaud++ | Configure.pl:
Block Configure.pl from running from a git checkout and display a helpful message.
06:26
06:31 lateau joined 06:32 SamuraiJack left
sorear > { my class A {}; my class B { }; my class C is B is A {}; multi f(A) { "A" }; multi f(B) { "B" }; sub g(A $x) { say f($x) }; g(C.new); } 06:33
A
> { my class A {}; my class B { }; my class C is B is A {}; multi f(A) { "A" }; multi f(B) { "B" }; sub g(B $x) { say f($x) }; g(C.new); }
B
I want to call this a bug
rakudo
06:33 SamuraiJack joined
sorear your optimizer is making unfounded assumptions that are false even at compile time 06:34
06:36 cjbot left, lorn left
moritz so at some point the optimizer confuses constraint type with actual type? 06:37
06:38 lestrrat left, simcop2387 left
moritz submits rakudobug 06:38
06:38 simcop2387 joined 06:39 lestrrat joined, cjbot joined, lorn joined
sorear moritz: what I think is going on here is that rakudo sees "B" and assumes "not A". 06:41
but our types don't actually express any kind of exclusionary constraint
moritz sorear: I just started the bug report with "Just because it's an A doesn't mean it can't be a B" before I saw what you wrote here
sorear I think that BEGIN-time multiple dispatch optization is fundamentally incompatible with MI 06:42
moritz that's a pity, because it's very useful :(
sorear CHECK-time could work because then we would know which pairs of classes are never found in the same MRO 06:43
moritz well, it is done at CHECK time
but it doesn't check for known subclasses that do MI
and even then a new class at runtime would need to invalidate it 06:44
or require a 'use final;' or so to declare that you aren't going to do it
06:45 simcop2387 left 06:53 benabik left, simcop2387 joined 06:58 lateau left
bonsaikitten sorear: eh, why does niecza-21 try to write to /root/.local during bootstrap?! :( 07:01
(and why is the v20 tag not source but binary??) 07:02
07:06 SamuraiJack left, SamuraiJack joined
bonsaikitten ah, I see ... need to override the guessing of $HOME :) 07:09
sorear /root probably not the best idea, I have no clue how some of that code works :D 07:10
07:10 xinming joined
bonsaikitten well, where is it defined / how do I crudely override it? 07:12
it's a bug that has affected gtk apps for over a decade, using $HOME is always wrong ;)
07:16 GlitchMr joined
pmichaud sorear++ # v21 07:18
shachaf Isn't sorear v22 coming out in November?
07:18 kresike joined
sorear dude, not cool shachaf 07:19
kresike good morning all you happy perl6 people
shachaf sorear: ?
sorear that is PERSONAL INFORMATION
07:19 cosimo left
shachaf Oh. Sorry! I've seen it mentioned in the channel before. 07:19
sorear yes, and anyone who mentions it again will be told off and/or kicked
shachaf didn't realize. OK. 07:20
TimToady anyone who wants to know my birthday can just look it up :) 07:21
pmichaud ...gosh, is it almost that time again?
TimToady suspects sorear++ will be that famous someday too :) 07:22
sorear yeah, I'm really regretting not doing more under psuedonyms now
shachaf Ugh. I didn't mean to start anything. :-(
pmichaud sometimes it's best to just accept the fame (or infamy) as gracefully as possible, I think. 07:23
not that I'd know, of course.
TimToady well, nobody's tried to steal my identity yet (that I know of)
pmichaud although at dinner the other night, woolfy was saying "I know so-and-so from conference, and so-and-so from another conference, and pmichaud because he's famous." :-)
moritz pmichaud, sorear: you are both famous enough to have been cold-call^Wemailed with a sponsored workshop invitation :-) 07:26
07:26 cjbot left
pmichaud That's not always fame... sometimes it's just "who you know" :-) 07:26
sorear I know. wtf.
TimToady moritz: is there still an api to delete stuff from the ir clog? 07:27
07:27 cosimo joined
moritz TimToady: if by API you mean 'delete from irclog where id = ?', then yes 07:28
and if sorear++ wants it, I can delete the offensive line above (though reluctantly, because then the rest of the discussion doesn't make much sense anymore) 07:29
07:29 cjbot joined
sorear I'm not going to press this 07:29
I mostly just want to keep shachaf on this side of the slippery slope 07:30
I'm worried he's going to eventually leak my parents' medical records or something 07:31
shachaf ?
TimToady heh, well, we all have to live somewhere on the slippery slope
bonsaikitten hrrhrr. This is a hilarious puzzle 07:32
TimToady was raised as a religious fundamentalist, and hence has grown (over)sensitive to slippery slope arguments, which are usually used to justify an extreme positoin
bonsaikitten whoever thought about a "portable" way to guess $HOME should be punished with Windows ME for two years
bonsaikitten hands TimToady some soap to make it more slippery 07:33
TimToady now where did I put my skis...
sorear niecza on mono on unix shouldn't be guessing $HOME at all, because it uses the value from the environment
niecza on windows won't be using $HOME because it uses the Local Application Data folder
what OS are you on? 07:34
not either of those I guess
GlitchMr Would the portable way be something like $ENV{HOME} // $ENV{LOGDIR} // $ENV{'SYS$LOGIN'}?
sorear I'll do my best to support it, but mono itself is rather unportable in that regard
GlitchMr (any idea what ENV variables or random backticks I can add to make this more portable?) 07:35
TimToady Quoth Gloria: "I'm in favor of defending people's rights, including the right to privacy, but when people spend too much energy defending their rights, it tends to get in the way of what they really want to do."
07:35 FROGGS joined
moritz gloria++ 07:36
sorear bonsaikitten: niecza-on-mono-on-unix uses --obj-dir, $XDG_DATA_HOME, and $HOME/.local/share in that order
you will notice I've dropped this
GlitchMr What is $XDG_DATA_HOME?
Sounds interesting
bonsaikitten sorear: I think there's one line in Makefile that is missing --obj-dir, let me try to verify 07:37
TimToady sorear: yes, sorry I'm still carrying the lady across the river. :)
bonsaikitten GlitchMr: freedesktop.org spec
GlitchMr Well, I don't have this ENV variable on my system for some reason
sorear bonsaikitten: ah, are you trying to build the tag or the HEAD?
bonsaikitten sorear: tag
that's what they are there for, reproducable builds :)
sorear there _is_ one line missing --obj-dir in the tag 07:38
bonsaikitten nope. that didn't do it :\
bonsaikitten tries forcing XDG_DATA_HOME since HOME is ignored
sorear are you just trying to build or are you going through the whole reboot procedure?
GlitchMr I remember my "sandbox" which uses /tmp as home directory 07:39
07:39 MikeFair left
moritz ways to shoot yourself in the foot 07:40
bonsaikitten sorear: trying to build, but with some sandboxing to avoid modifications to live filesystem
sorear which command triggers the stray write 07:41
bonsaikitten NIECZA_KEEP_IL=1 mono boot/run/Niecza.exe -C CORE JSYNC
GlitchMr > sprintf('%vd', 'AB\u0100')
'65.66.256'
bonsaikitten ok, setting HOME has no effect, it's not taken from env ... but XDG_DATA_HOME is honoured
GlitchMr Is it just me, or I've written second implementation of sprintf() which supports vectors?
sorear bonsaikitten: that's rather weird, what's the highest numbered file in boot/docs/announce.* 07:42
bonsaikitten sorear: v21
sorear bonsaikitten: I think you have a dirty build 07:43
the v21 tag requests github.com/downloads/sorear/niecza...cza-19.zip
bonsaikitten unlikely as it is unpacked from tarball
ah, I had to override that madness
no fetching :) 07:44
sorear v21 won't build on itself.
the next patch after v21 fixes building on v21
but v21 is only intended to be built using v19
07:45 hoelzro|away is now known as hoelzro
bonsaikitten it does now 07:45
:D
so there. gentoo is all up to date with perl6 again. 07:52
07:53 Liz_ joined
tadzik \o/ 07:53
bonsaikitten++
moritz \o/
07:53 krunen_ joined
tadzik bonsaikitten: do you have this gentoo magic to make perl point to perl6? :> 07:53
bonsaikitten rakudo is easier to package than niecza - it just works every single time
tadzik: hrm, I don't know if that's a good idea to do globally
tadzik probably not 07:54
I remember the thrill when I made my perl6 executable point to nom
07:55 Liz_ is now known as lizmat
bonsaikitten # file /usr/bin/perl 07:56
/usr/bin/perl: symbolic link to `perl5.16.0'
so, in theory, if I were crazy, I could just bend that symlink away
tadzik that would be almost as funny as in those distros that make 'python' point to 'python3'
bonsaikitten you mean arch? they are really funny
tadzik like: "future. NOW!"
AT ALL COST 07:57
bonsaikitten yeah, upstream says change
so change! systemd! /usr move! python3!
tadzik Arch devs are hilarous sometimes
<loudmouth bug story>
bonsaikitten they make gentoo look good ;)
tadzik haha
gentoo has clean hands imho
"things break? Oh, you're using ~arch, don't you? Well, don't be surprised then" ;) 07:58
bonsaikitten well, ~arch is so stable now that people complain *if* anything breaks
tadzik yep
bonsaikitten we're at ~98% stuff compiling OOTB, like debian
tadzik community level-up, as they say 07:59
bonsaikitten the biggest effort to improve that was a simple set of 2 scripts with combined 12 lines of code
tadzik I'm not on gentoo for around 2 years now, but things rarely break there from something else than users' fault
as I remember it
bonsaikitten there's been some ugly stuff like udev upstream going crazy
so now udevd is systemd-udevd and moved from /sbin to /usr/libexec 08:00
moritz wtf?
bonsaikitten (note: this fucks up separate /usr permanently and thus defines separate /usr as unsupported)
reasoning: separate /usr didn't work (well, it did, so let's create facts)
so, uhm RedHat / Fedora are moving things around because they can, and all other distros get to either revert their changes and create huge patchsets or watch things fail in hilarious ways 08:03
08:03 am0c left
bonsaikitten ... /sbin/ip has been in the same place for so long that it's hardcoded in many places. SIGH. 08:03
08:05 krunen_ left 08:07 birdwindupbird joined 08:08 replore_ left 08:10 leont joined 08:11 fhelmberger joined
dalek volaj/list-assignment: 77c4bd1 | moritz++ | / (2 files):
allow list assignment to CArray[int].new and CArray[num].new
08:17
arnsholt moritz: Emptying the array won't be possible in the general case if the array comes from C 08:18
moritz arnsholt: oh, is that why list assignment isn't supported? 08:19
08:19 Psyche^ joined
arnsholt Dunno if jnthn has thought about it 08:19
I just hadn't thought about implementing that particular feature 08:20
moritz still it's very convenient for initialization
arnsholt Yup
It's a good feature
moritz should I just make it die if it has more elements than elements in the initializer list?
oh, and I want to support it for CArray[Str] too 08:21
how do I do that?
there's no specialization role for Str
so I have no idea how it even works in the first place (which at_pos is it using?)
arnsholt Do we have tests using CArray[Str]? 08:22
moritz yes
arnsholt Right, so it works, at least =)
moritz I need that for [email@hidden.address]
erm, pastefail 08:23
for PQconnectdbParams
08:23 Patterner left, Psyche^ is now known as Patterner
arnsholt Oh, the Str case goes through the bind_pos_boxed code path 08:23
Numbers go through bind_pos_ref, that might be why they're special cased
dalek ar/build3: 186a632 | pmichaud++ | .gitignore:
Update .gitignore.
08:25
ar/build3: a127aa7 | pmichaud++ | tools/star/ (2 files):
Initial build makefile and script to prefix input lines.
ar/build3: bba776e | pmichaud++ | .gitignore:
More .gitignore entries.
arnsholt moritz: Line 239 in your branch
Str goes through the TypedCArray role
moritz arnsholt: thanks 08:26
bonsaikitten moritz: hmm, using rakudo as /usr/bin/perl seems to be nontrivial, I'll play around with it some more if I get bored
moritz bonsaikitten: it wasn't me who suggested that :-) 08:27
tadzik I have a feeling that there may be things that'll break after that
bonsaikitten oh right, sorry
tadzik yes, I suggested that :P
bonsaikitten tadzik: indeed, for one all installed perl modules "disappear"
tadzik hahaah
well
arnsholt It'll probably break all the things, since Perl scripts tend to crop up all over the place =) 08:28
bonsaikitten yup
kills autotools directly *g*
but still a fun little experiment
tadzik aren't the 54 modules we have working enough for everybody? :P
bonsaikitten heh 08:30
want bug reports for everything that I can make fail?
(hint: say no) 08:31
moritz no
bonsaikitten when I did a build-test for perl 5.16 I ended up with ~1750 pkgs to build, and only about a dozen failed 08:32
imagine the amount of bugs I could throw in your direction!
08:32 lestrrat left 08:33 lorn left 08:34 simcop2387 left, lorn joined
moritz arnsholt: oh, there's no r_elems opcode 08:35
arnsholt: so I don't know how to make it die if $elems > @init.elems
08:35 simcop2387 joined 08:36 lestrrat joined
arnsholt moritz: Really? That's odd 08:38
There's a function for it in the indexing REPR ops API at least
tadzik FEED ME BUGS 08:40
moritz arnsholt: oh, maybe I just need nqp::elems 08:41
arnsholt Might be, yeah
08:45 xinming left
moritz hm, no :( 08:46
elements() not implemented in class 'CArray+{NumTypedCArray}'
that went through the vtable, not the REPR
arnsholt: there's a static INTVAL elems(PARROT_INTERP, STable *st, void *data) { 08:47
in CArray.c
how would I expose that to NQP land?
pmichaud I'm very consistently getting the segfault when trying to compile nqpmo within my star repo :-( 08:51
like, retyping 'make' doesn't cause it to continue.
there it worked, on the fifth try. 08:52
moritz :(
pmichaud ...that's a real issue that we need to iron out. I didn't realize it got into the releases that way.
tadzik pmichaud: pararell build maybe?
but well, segfault :/
pmichaud tadzik: parallel build? 08:53
tadzik pmichaud: are you doing make -jN? That may cause it to sometimes fail and sometimes not
pmichaud no, I'm not doing -jN
plain 'make'.
tadzik and no MAKEFLAGS set in env? 08:54
pmichaud no MAKEFLAGS set
bonsaikitten MAKEOPTS 08:55
(gnu make)
pmichaud I wonder if it has to do with parrot 4.6.0 versus 4.4.0
tadzik I think only Gentoo uses MAKEOPTS
I've seen MAKEFLAGS everywhere else
dalek volaj/list-assignment: e2eea9c | moritz++ | / (2 files):
list assignment for non-int/num cases
pmichaud since normally I've been building off of 4.4.0 (the one specified in PARROT_REVISION), whereas the star release is using 4.6.0 08:56
08:56 xinming joined
moritz why is star using 4.6.0? 08:57
bonsaikitten tadzik: MAKEFLAGS appears to be an internal var, MAKEOPTS is what you should use 08:58
tadzik oh, TIL
arnsholt moritz: It already is exposed. Line 465 09:01
moritz arnsholt: but how do I access it from NQP? 09:02
arnsholt Dunno. No go with nqp::elems? 09:03
moritz nope, that goes through the vtable
arnsholt Hmm
moritz I'm now experimenting with adding an nqp::r_elems
arnsholt Hmm. Looks like that particular op isn't there, yeah 09:05
09:09 MayDaniel joined
dalek ar/build3: b9187e6 | pmichaud++ | Configure.pl:
Add --force option to Configure.pl to force configuration even
09:10
09:10 preflex_ joined
moritz jnthn: ping 09:10
09:10 _jaldhar joined, simcop2387_ joined
dalek ar/build3: 1697e20 | pmichaud++ | .gitignore:
Add config.status to .gitignore.
09:11
09:14 thou left 09:15 dayangkun_ joined 09:16 dayangkun_ left, simcop2387 left, lorn left, leont left, cjbot left, GlitchMr left, preflex left, jaldhar left, dayangkun left, simcop2387_ is now known as simcop2387, lorn_ joined 09:17 preflex_ is now known as preflex
moritz do I have to rebootstrap to make new nqp:: ops available? 09:19
09:21 daxim joined
arnsholt Don't think so 09:22
09:22 Coleoid joined, leont joined 09:23 krunen_ joined 09:24 GlitchMr joined
moritz then I'm simply not competent enough :( 09:26
moritz.faui2k3.org/tmp/0001-add-rep...lems.patch 09:27
after recompilation, I still get "unrecognized nqp:: op"
arnsholt Or maybe you do need to. Come to think of it, I had some weirdness when adding an op as well 09:29
moritz even a bootstrap didn't help :( 09:30
FROGGS maybe make clean doesn't clean up the right files? 09:32
moritz unlikely 09:34
FROGGS is the QAST.pbc made from src/QAST/* ? 09:35
moritz yes
09:35 Ultali joined
FROGGS its not getting deleted when doing make clean 09:36
moritz that should be fixed
Ultali is anyone working on a MacPort for Rakudo?
09:36 Ultali is now known as Ulti
moritz but it's still not the root of my problem (I didn't even run 'make clean') 09:36
moritz isn't aware of any macport work 09:37
Ulti k k 09:38
I might have a go then
is there a "latest" tar ball somewhere I should work from? 09:39
moritz the latest compiler release in 2012.08
the corresponding star distribution hasn't been released yet 09:40
09:40 xinming left
Ulti I meant more is there a web location that is static but always the latest release? 09:40
moritz I don't think so
bonsaikitten Ulti: you can programatically deduce the current newest version 09:42
Ulti I can programatically deduce when the NOAA-12 satellite will be over head of the data centre where the source is stored too... 09:44
09:44 cjbot joined
bonsaikitten I've not yet had to care enough about that to demand a "latest" symlink 09:46
Ulti its fine a port should be a static version anyway, its just I could also make a "bleed" version that is just the most current at time of install
bonsaikitten that's what git is there for
reminds me, I should package that too :)
dalek p/toqast: c318942 | jonathan++ | src/QAST/PIRT.nqp:
A few PIRT updates.
p/toqast: bac6e6e | jonathan++ | src/core/NQPMu.pm:
NQPMu should be able to Intify also.
p/toqast: d653ec4 | jonathan++ | src/QRegex/Cursor.nqp:
Update the way we look for hashes.
p/toqast: 0ada719 | jonathan++ | src/core/NQPMu.pm:
NQPMu really needs to stringify to the empty string, since it replaces the role Undef played.
FROGGS if somebody would add a tag like relase it would be github.com/rakudo/star/tarball/release
Ulti if only git came as default
dont really want a portfile that pulls in git and everything else just to build 09:47
jnthn moritz: pong
tadzik Ulti: you'll have to do that anyway
bonsaikitten Ulti: first world problems ;)
Ulti hur
moritz jnthn: for the native call stuff I need access to the repr_elems
tadzik Ulti: rakudo needs to pull nqp and parrot from git anyway
moritz jnthn: what's the best way to do that?
Ulti orly
heh ok then
I cant really imagine the sort of person who would want rakudo installed and doesn't want git tbqh 09:48
tadzik hehe
next step: panda :)
moritz jnthn: I've tried moritz.faui2k3.org/tmp/0001-add-rep...lems.patch but it still complains that it can't find the op, and I have no idea if the approach is right at all
Ulti I already own a portfile on MacPorts so hopefully it wont take a year to get this one in 09:49
bonsaikitten tadzik: well, you could be lame and just use release tarballs
Ulti s/lame/awesome/
bonsaikitten <-- lazy gentoo person
jnthn moritz: That OBJ_SC_WRITE_BARRIER($1); is wrong for one thing
(should not be there)
tadzik bonsaikitten: hm, true that
moritz jnthn: oh, copy/past-o 09:50
jnthn moritz: You don't do anyting with the result also
REPR(obj)->idx_funcs->elems(interp, STABLE(obj), OBJECT_BODY(obj));
That line evaluates to the elements
Oh
the op is rong too
+inline op repr_elems(invar PMC) :base_core {
wants to be
+inline op repr_elems(out INT, invar PMC) :base_core {
moritz oh, right
jnthn So
+ PMC *obj = decontainerize(interp, $1);
Wants $2
And you assign the result into $1
moritz allright
jnthn (tht is, $1 = REPR(obj)... 09:51
)
moritz but is the general approach correct?
jnthn yes 09:53
moritz ok, I'll do a second attempt later
09:56 zhutingting joined
jnthn moritz++ 09:57
moritz oh, more fun
there's a function in the postgresql C API for connecting, which doesn't require escaping of strings 09:58
but it's not present in the lib on the machine I'm testing it
so, it seems to be new. Yukk.
added between 8.4 and 9.0, it seems 09:59
dalek Iish/pg-connect-params: 4cd506b | moritz++ | lib/DBDish/Pg.pm6:
[WIP] try to connect with PQconnectdbParams
10:06
10:09 scott__ left
moritz r: my %h = a => 1, b => 2; $_ *= 2 for %h.values; say %h.perl 10:09
p6eval rakudo 5836fd: OUTPUT«("a" => 1, "b" => 2).hash␤»
dalek Iish/pg-connect-escape: c3ef1ca | moritz++ | lib/DBDish/Pg.pm6:
[Pg] escape connection params
10:13
moritz phenny: ask ChoHag to please test the DBIish/pg-connect-escape branch with a space in the password, and report the success or failure to me. Thanks. 10:14
phenny moritz: I'll pass that on when ChoHag is around.
10:18 xinming joined
ChoHag Oh. 10:20
phenny ChoHag: 10:14Z <moritz> ask ChoHag to please test the DBIish/pg-connect-escape branch with a space in the password, and report the success or failure to me. Thanks.
ChoHag I hacked in a very un-perl-6-like use of PQConnectdbParams.
Then I got upset because I realised I have to change my plans from a threading model to a polling model and went to bed. 10:21
moritz ChoHag: the machine I'm currently on doesn't have PQConnectdbParams (pg client libs too old), so I guess I can't make it the default 10:22
ChoHag Got rid of the default options too, which libpq doesn't need.
moritz ChoHag: anyway, testing would be very welcome
ChoHag I will. 10:23
moritz thanks
++ChoHag
ChoHag How old does libpq have to be to not support pqconnectdbparams? 10:24
moritz jnthn: fwiw my revised patch still dies with "Unrecognized nqp:: opcode 'nqp::r_elems'"
it seems the QAST part also has problems 10:25
do I need to bootstrap? 10:27
10:29 cjbot left 10:30 wamba joined 10:32 cjbot joined 10:36 wamba left 10:37 wamba joined 10:48 krunen_ left 10:49 REPLeffect left
cjbot @ajbrowe tweeted 'RT @perlbuzz: Starting again with Rakudo Perl 6 t.co/UhFAG4RL' 10:52
jnthn moritz: No, but where are you using the op from? Rakudo or NQP? 10:53
moritz: Remember NQP doesn't yet use QAST
jnthn is working on that ;-)
11:03 REPLeffect joined 11:04 cognominal joined 11:06 cognominal left, cognominal joined 11:12 leont left
moritz jnthn: oh, right. Hm :-) 11:24
11:24 lizmat left, lizmat joined 11:25 JimmyZ joined
dalek ar/build3: 180c590 | pmichaud++ | tools/build/ (2 files):
Convert module-install to read modules from MODULES.txt .
11:26
11:30 wamba left 11:34 imarcusthis left, ObseLeTe joined 11:49 imarcusthis joined
dalek p: 384d3c3 | moritz++ | src/ (3 files):
add repr_elems op and nqp::r_elems
11:49
p: 143a6d0 | moritz++ | tools/build/PARROT_REVISION:
bump PARROT_REVISION to get socket.read_bytes with optional minimal size argument
kudo/nom: f3d2b53 | moritz++ | tools/build/NQP_REVISION:
bump NQP revision

this gives us nqp::r_elems (needed for nativecall stuff) and a newer parrot for improved binary socket handling
11:51
volaj/list-assignment: 1c3d64e | moritz++ | lib/NativeCall.pm6:
[CArray] guard against partial overwriting in list asignment
11:52
volaj/list-assignment: 9d8de5e | moritz++ | t/05-arrays.t:
test for the bounds check in CArray.STORE
11:56
moritz arnsholt: and with that I consider the branch mergable, if you don't have any objections
pmichaud: I think R* should ship zavolaj commit 3228da6deef132df61500fb1382a99c14595786d. Later commits depend on newer NQP features, afaict 11:57
GlitchMr perl6: print +(0.1, 0.3 ... 1) 12:00
p6eval rakudo 5836fd, niecza v21-1-ga8aa70b: OUTPUT«(timeout)»
12:01 lizmat left 12:02 ObseLeTe left, lizmat joined 12:03 REPLeffect left 12:17 REPLeffect joined 12:20 stuckdownawell joined
daxim axisofeval.blogspot.co.at/search/la...hispltlife # scroll down for Perl 6 12:25
12:25 imarcusthis left 12:26 odoacre left, odoacre joined
jnthn I blug: 6guts.wordpress.com/2012/08/28/a-ra...-debugger/ 12:28
12:28 imarcusthis joined 12:33 imarcusthis left 12:35 imarcusthis joined, cjbot left
FROGGS jnthn++ 12:37
12:38 cjbot joined
lizmat indeed, jnthn++ 12:38
12:39 dayangkun joined
FROGGS as the u.s. americans would say: "its just like wow" 12:39
colomon jnthn++ # need to play with that thing...
lizmat soon in a place near you with Rakudo * !
pmichaud moritz: (zavolaj commit) okay, I guess I'll go ahead and put the commit-level stuff in place. 12:44
I'm getting various failures when testing modules; should I be trying to figure out what's going on there?
(i.e., running the modules' test suites)
or is that something we should focus on for the next R* release? 12:45
12:46 dayangkun left, zhutingting left
tadzik pmichaud: any particular modules? 12:46
anything much different from tjs.azalayah.net/new.html ? 12:47
(which may be a bit outdated too, though :/)
pmichaud tadzik: checking 12:48
12:48 Pleiades` left
pmichaud tadzik: Bailador has failing tests 12:49
tadzik oh
pmichaud DBIish passes 12:50
tadzik I'll try to run it here now and see what happens there
FROGGS emmentaler... interesting 12:52
12:54 Pleiades` joined 12:55 FROGGS left, Coleoid_aside joined
pmichaud gist.github.com/3497770 # failures in t/02-response-status.t 12:55
I get lots of failures in perl6-lwp-simple about pir::load_bytecode missing a signature 12:56
tadzik we may want to s/cosimo/ronaldxs/ there 12:57
pmichaud anyway, I think this is something we'll want to address for next month's release :/ 12:58
tadzik when do you plan to cut the release?
12:58 Coleoid left
pmichaud well, I'm hoping to do it today or tomorrow. 12:58
today preferred, but I'll wait until tomorrow if there's a strong reason.
after tomorrow, I can't cut the release until next week.
tadzik LWP::Simple in ronaldxs' fork works fine and passes tests 12:59
pmichaud so I should switch to that one?
tadzik as for Bailador, I'll try taking a quick look at it soon; if not, I'll prefer it to not be in Star than to be there broken
I think so
pmichaud well, removing something that used to be there is kind of anti-social
tadzik in the worst case I'll fix it today on 18-ish 13:00
pmichaud I can wait that long.
tadzik ok cool
pmichaud although modules.perl6.org still lists cosimo for the LWP::Simple module :-/ 13:01
tadzik yep
I think there's a pull request awaiting there
nope, there's none 13:02
seen UncleFester6
aloha UncleFester6 was last seen in #perl6 8 days 14 hours ago leaving the channel.
cosimo tadzik: I have updated my lwp::simple guys
pmichaud: ^^ 13:03
pmichaud looking.
tadzik oh, indeed, it's merged
cosimo should be the latest and greatest 13:04
and I tested it with latest rakudo
13:05 cognominal left
cosimo basically all ronaldxs work is in, and it passes same test suite as before + more (chunked transfers \o/) 13:06
[Coke] msg diakopter: that'd be spiffy. right now I'm just retweeting everything that matches the various search criteria. on github at coke/cjbot
dalek p: ba96247 | (Elizabeth Mattijsen)++ | src/QAST/Compiler.nqp:
pir::join now eradicated from live code: use nqp::join instead
pmichaud cosimo: I think i'm using 79944c6 and getting the errors
I just checked it out a few hours ago. 13:07
cosimo pmichaud: do you have a log of the errors? 13:10
pmichaud gist.github.com/3497841 13:11
13:11 c1sung_ left, c1sung joined
cosimo pmichaud: ah, I get it, that is MIME::Base64 13:12
[Coke] phenny: tell diakopter (spamchecking) that'd be spiffy. right now I'm just retweeting everything that matches the various search criteria. on github at coke/cjbot
phenny [Coke]: I'll pass that on when diakopter is around.
cosimo on which LWP::Simple depends
pmichaud yes... just got that far myself.
[Coke] pmichaud: I pushed the very little work so far on partcl-nqp. having less time for hacking than I thought this wee at the conference. ;)
cosimo pmichaud: I had just fixed it manually myself, now I remember
pmichaud [Coke]: okay, no problem; I've been pretty swamped with R* release and hackathon stuff anyway
why did pir::load_bytecode stop working, ooc? 13:13
jnthn pmichaud: All pir::blah must have an explicit signature these days
[Coke] pmichaud: I didn't add in the NQPHLL stuff yet. I also want to switch over the remaining PIR to NQP. some of the PIR there is really old from when it was much harder to do that from nqp 13:14
13:15 tokuhiro_ joined, odoacre left
pmichaud [Coke]: noted 13:18
dalek ar/build3: 8ef7e15 | pmichaud++ | / (3 files):
Remove out-of-date Perl6-MIME-Base64 (step 1 of 2).
13:21
13:22 fernandocorrea joined
dalek p: b6b527d | (Elizabeth Mattijsen)++ | src/QAST/ (2 files):
Eradicated pir::die, replaced by nqp::die
13:22
13:23 cognominal joined
dalek ar/build3: 7cc1862 | pmichaud++ | modules/Perl6-MIME-Base64:
Remove modules/Perl6-MIME-Base64 (part 1.5 of 2).
13:25
ar/build3: b57fbc5 | pmichaud++ | .gitignore:
Some .gitignore updates.
13:26
tadzik bah, seems that HTTP::Easy is broken for similar reasons that LWP::Simple was 13:27
it dies on "Invalid operation on binary string" when I try to run some Bailador application
13:28 odoacre joined
tadzik seen supernovus 13:28
aloha supernovus was last seen in #perl6 19 days 10 hours ago saying "Anyway, enough for tonight. Hope someone finds the library useful. I need to expand the documentation, as currently you need to read the WWW::App documentation in addition to the WWW::App::Easy to figure out all of the different
..features.".
tadzik so Bailador is broken alright :( 13:29
the tests don't rely on the HTTP server though, so it's broken on at least 2 abstraction layers :)
daxim yesterday I asked <daxim> re: blogs.perl.org/users/perl_6_reports...08-25.html , what's Math::Polynomial about?
but warnocked
pmichaud daxim: is there a readme? maybe find the author at modules.perl6.org and ask there. (I don't know what it's about.)
dalek p: 904ecde | (Elizabeth Mattijsen)++ | src/HLL/Compiler.pm:
Eradicated pir::can, replaced by nqp::can
13:30
13:30 skids joined
daxim yes, it exists and has that info; this answers my question 13:31
13:34 odoacre left 13:36 stuckdownawell left, kaleem left 13:37 marmay left, zhutingting joined 13:38 FROGGS joined 13:39 SHODAN left 13:40 smash left, odoacre_ joined 13:42 SHODAN joined 13:46 asogani joined 13:49 asogani left 13:52 plobsing joined, fhelmberger left
dalek ar/build3: 9b37c6c | pmichaud++ | .gitmodules:
Update .gitmodules with new location of Perl6-MIME-Base64.
13:54
[Coke] pmichaud: is "use NQPHLL;" only needed in the Compiler classes? 13:55
(I'm actually really close here, I think.)
jnthn [Coke]: What do you mean by "compiler classes"? 13:57
[Coke]: It supplies HLL::Compiler and the other HLL:: things.
[Coke] jnthn: partcl-nqp has, e.g. Partcl::Grammar, Partcl::Compiler, Partcl::Actions - each is compiled into its own .pir file. which ones of these need "use NQPHLL;" to work. 13:59
13:59 stopbit joined
[Coke] all 3, it sounds, since they all extend something in HLL:: 13:59
jnthn All 3. 14:01
14:01 PacoAir left
arnsholt moritz: Thanks for the branch! I'll look over it soon-ish 14:02
GlitchMr Just wondering, why »+« is operator and >>+« isn't?
colomon conistency 14:04
GlitchMr Hmmm... I guess that if q[blah> would work I would complain too... 14:05
colomon exactly
14:07 ismaele joined
dalek ar/build3: 306310f | pmichaud++ | .gitmodules:
Re-sync .gitmodules.
14:08
ismaele I'm new on perl6
colomon welcome!
ismaele I want to generate a PIR file from a PERL6 script 14:09
I do: perl6 --target=PIR hello.pl6 > hello.pir
dalek ar/build3: 33f95bb | pmichaud++ | / (2 files):
Add moritz/Perl6-MIME-Base64 repository.
jnthn ismaele: That only works for modules so far, not for scripts.
ismaele but the pir file generated do not works as: parrot hello.pir
How can I corvert a perl6 script to pbc ? 14:10
jnthn ismaele: You have to be able to get it to PIR first, and that only works for modules at present, not for scripts. There's no way to do it (short of working out why it doesn't work and fixing it). There's an RT ticket for it. 14:12
geekosaur I was under the impression that was known broken at the moment, and there are higher priorities ... that
jnthn Right, there's more pressing things. 14:13
It'd be nice to have.
[Coke] gist.github.com/3498370 - I'm using this class in another .pm file. when I run that file, I get this error on the given line.
ismaele I have installed Rakudo/Parrot beacuse I think that was supported the converting for perl6 script to binary, this functionality is broker on Win platforms? 14:15
JimmyZ ismaele: what jnthn++ said :) 14:16
diakopter [Coke]: I don't have any good ideas on how to detect twitter spambots that happen to tweet about things relating to Perl 6
phenny diakopter: 13:12Z <[Coke]> tell diakopter (spamchecking) that'd be spiffy. right now I'm just retweeting everything that matches the various search criteria. on github at coke/cjbot
masak morning, #perl6 14:17
welcome, ismaele!
ismaele I hope that this will be fixed soon!!! 14:18
;)
geekosaur contributions (and new contributors) welcome
GlitchMr perl6: ($*OUT ~~ :w).perl.say
p6eval rakudo f3d2b5, niecza v21-1-ga8aa70b: OUTPUT«Bool::False␤»
geekosaur still not in position to contribute effectively, *grumble*
GlitchMr So, how can I check if filehandle is writeable?
Or readable? 14:19
diakopter still not in position to contribute effectively, *grumble*
geekosaur althoguh if it compiles modules, it occurs to me a workaround is to rephrase your script as a module, compile it, then invoke it from a stub main script
flussence GlitchMr: write or read from it, catch the exception if it fails. Anything else is a race condition.
GlitchMr oh, ok
geekosaur mm? once you have the handle, its r/w state is immutable 14:20
flussence that relies on the assumption the underlying filesystem r/w state is also immutable :)
14:21 wtw left 14:22 araujo left 14:24 cjbot left 14:27 cjbot joined 14:28 stealthii joined, kaare_ joined
[Coke] for that gist with the method-that-returns-a-new-instance-but-isn't-new- ... is that supported anymore? 14:29
14:29 araujo joined, stealthii left
jnthn [Coke]: any method can be a constructor 14:30
It just needs to call bless or something
14:32 cjbot left
ismaele doesn't works either with modules, as: perl6 --target=PIR hello.pm > hello.pir 14:34
or were you mean something else? 14:35
14:36 immortal joined, immortal left, immortal joined, cjbot joined, erkan left
flussence what happens when you run perl6 --target=PIR -e '' ? 14:37
tadzik ismaele: I'm quite sure it works well with modules 14:38
14:39 orafu joined
jnthn ismaele: That should work just fine, though you must load the module with a "use" statement. 14:39
[Coke] looks for an example of how to use bless. Class.bless(Class.CREATE(), ?); ? 14:40
flussence using "*" for the first arg works IIRC
14:41 thou joined
flussence and then I think the rest is passed to BUILD()? 14:41
masak r: class A { has $.x; method new { self.bless(*, :x(42)) } }; say A.new.x
p6eval rakudo f3d2b5: OUTPUT«42␤»
ismaele @flussence: gist.github.com/3498602
[Coke] what if I don't have anything else to pass? 14:42
flussence ismaele: everything looks as it should there.
[Coke] (bless seems to require 2 args)
ismaele but doesn't work as: parrot test.pir 14:43
tadzik yes, you can't compile & run scripts 14:44
you can precompile modules and load them from perl 6 code
so perl6 --target=pir --output=Foo.pir Foo.pm; perl6 -e 'use Foo;' 14:45
that'll load Foo.pir, not Foo.pm
the speed gain is significant
14:45 tokuhiro_ left
[Coke] it's self.bless, not ClassName.bless? 14:45
tadzik [Coke]: it'll be the same thing, I think 14:46
when you call .new you call it on a type object
flussence [Coke]: here you go, example code - github.com/flussence/perl6-XMMS2/b...Client.pm6 14:47
[Coke] gist.github.com/3498659 - any pointers on this error?
ismaele thank you 14:48
14:48 ismaele left
tadzik [Coke]: self.bless returns a new object, not modifies self 14:49
so you can just return its result
as for the parsefail, no idea
[Coke] ok. still doesn't compile.
cjbot @trochee tweeted '@arthaey ... Objects &amp; namespaces as bolted-on afterthought, 1- &amp; 2-char built-in fns, perl 6 (15 years of "almost ready"!)...'
[Coke] ah, there's a cjbot bug. 14:50
ooh, is it a troll?
tadzik seems so
masak some people just don't appreciate the Perl 5 object model enough :) 14:51
or the versatility of a well-placed s/// or tr[][] 14:52
flussence I often wonder how these perl-bashers would survive in their own language if they had libpcre taken away :) 14:53
14:53 thou left
[Coke] ok. error is on this line: self.bless(*, :outer($outerP), :depth($depthP)); 14:54
masak I'm starting to find language-bashing almost provocatively boring.
pmichaud ...15 years? really?
PerlJam [Coke]: Are you sure the error isn't actually before that line? 14:55
pmichaud would like to tweet back something about opinions coming from people who can't do math. :-)
[Coke] yes. ah. the problem is that nqp doesn't like bless(*, )
PerlJam pmichaud: if you start counting from Chip's Topaz project, it's maybe 15 years :)
cjbot @blasgordon tweeted 'RT @PerlWeekly: perl6.announce: ANNOUNCE: Niecza Perl 6 v21 by Stefan O'Rear t.co/v7Ap88zZ'
masak phenny: en et "honey, harvest"?
phenny masak: "mesi , saagi" (en to et, translate.google.com)
[Coke] switches it to self.bless(self.CREATE(), ...) and it compiles. 14:56
Can only use repr_get_attr_obj on a SixModelObject
at least I'm rapidly cycling through errors here. ;)
14:57 fhelmberger joined 14:59 thou joined
[Coke] pushes to partcl-nqp:nqp 15:05
you can see the error I'm seeing if you run "nqp src/init.pm", which I mention mainly for pmichaud ;) 15:06
15:13 JimmyZ left
dalek p: d786460 | (Elizabeth Mattijsen)++ | docs/nqp-opcode.txt:
Added missing nqp::push_s reference to opcode list
15:13
tadzik pmichaud: I'm not going to be able to fix Bailador today, and possibly not tomorrow either 15:14
so there's both Bailador and HTTP::Easy broken in Star
I think I'd sooner have them removed than broken 15:15
[Coke] are they in the previous star?
star: use Bailador; 15:16
p6eval star 2012.07: ( no output )
[Coke] star: use HTTP::Easy;
p6eval star 2012.07: ( no output )
[Coke] I think we should hold the release if they're broken.
unless I misunderstand how stable star is supposed to be .
masak +1
tadzik HTTP::Easy breakage looks like some Buf/Str mess. As for Bailador, the bug there is not obvious to me 15:17
I need to dedicate some time to it, and it's possible that my next tuits will be available on thursday evening
15:17 PacoAir joined, JimmyZ joined
tadzik or wednesday night 15:18
if someone feels like taking a look at it, that'd be awesome too :)
FROGGS well, I can give it a try
tadzik awesome :) ++FROGGS
FROGGS just pull latest star repo and do [...] make test 15:19
tadzik its tests do not depend on HTTP server, luckily
FROGGS ?
tadzik just grab the latest rakudo, I think
then panda install Bailador will fail
FROGGS k
tadzik but all the dependencies should go in
the problem is that for some reason the dispatcher doesn't find the routes it's looking for 15:20
but it has them there, 01-route-existence is passing
FROGGS k
tadzik I don't remember it working after toqast merge, so it may be that something regex-related got screwed 15:21
which will indeed break everything, because internally every route gets compiled to a regex
so my guess is that something inside Bailador::App::find_route or near is borked
15:22 JimmyZ left
pmichaud realize that "hold the release" means we might not have a release until 2012.09.01 15:22
tadzik but again, I didn't have time to look at it too carefully
okay, so in the worst case I'll sacrifice a few hours of sleeps today
pmichaud there's a reasonable chance I would be able to get a release done on 2012.08.31.... but there's also a possibility that I won't. 15:23
tadzik decomutees, bbat ~22-23
kresike bye all 15:24
15:24 kresike left
pmichaud I'm open for consensus opinion on this one: (1) release tomorrow with buggy Bailador, (2) release tomorrow without Bailador, (3) release Friday no matter what, (4) hold release until Bailador is ready. 15:24
where option #3 might end up not being possible but I won't know until Friday. 15:25
fwiw, all other modules pass their tests now... Bailador is the only failing one.
I'm testing a tarball (created with new build system) now. 15:26
15:26 wamba joined
[Coke] pmichaud: http::easy is ok too? 15:27
pmichaud checking. 15:28
masak pmichaud: does releasing with a buggy Bailador break any promises that we made wrt R* stability?
pmichaud perhaps I missed that
http::easy doesn't have a test suite.
so I can't really know if it works or not.
no-test-suite makes me kinda want to remove it from R* until it gets one. :-/ 15:29
[Coke] ugh. we should have a rule, don't include anything without a test suite. I'd be ok dropping http:easy from the distro with a note to that effect. ;)
pmichaud++
pmichaud masak: I don't know that removing Bailador breaks any promises in a big way, or how long it's been included in R*.
checking.
looks like 2012.04 15:30
15:30 fhelmberger left 15:34 Exodist joined
pmichaud actually, come to think of it, a release today isn't likely because I still have to integrate rakudo-debugger into the build :-/ 15:35
so it's either tomorrow, friday, or after that.
15:38 p6rd left 15:58 hoelzro is now known as hoelzro|away 15:59 wamba left
masak 's all good. pmichaud++ 16:16
dalek p/toqast: 0450eaa | jonathan++ | src/QAST/PIRT.nqp:
Switch a for loop for a while loop for a bit (need to debug why this is needed).
16:19
p/toqast: a96116e | jonathan++ | src/QAST/Operations.nqp:
Some tweaks to for loop code-gen (though doesn't fix the issue).
p/toqast: 8c23a0a | jonathan++ | src/QAST/Compiler.nqp:
A couple of minor compiler tweaks.
p/toqast: f786fd4 | jonathan++ | src/QAST/Compiler.nqp:
Fix a register allocation overlap bug.
16:19 cjbot left
p/toqast: a9e13ea | jonathan++ | src/QRegex/Cursor.nqp:
Tweak CAPHASH.
16:22 cjbot joined 16:24 leont joined
flussence
.oO( we could include Bailador as a demo for rakudo-debugger )
16:24
16:26 cjbot left 16:28 uvtc joined 16:29 cjbot joined
uvtc I changed the perl6/reports such that each file should contain news from the week prior. Thought I'd mention it here in case anyone had any automation running regarding those reports. 16:30
pmichaud uvtc: any particular reason for the change, ooc?
normally I think "Week of August 25" instead of "Week ending August 31". 16:31
uvtc pmichaud: Well, I figured they're *reports*, so they're reporting on what's happened in the previous week.
Also, blogs.perl.org/users/perl_6_reports...08-25.html had "week ending" in the title, and I thought that made sense.
pmichaud the files should definitely match the blog post titles; I agree fully with that. 16:32
uvtc I thought "for week ending" was more common than "for the week starting with". 16:33
pmichaud works for me then.
PerlJam uvtc: you're responsible for the reports? 16:35
[Coke] wonders if he can sneak 5m of nqp help.
pmichaud raiph did the reports, I believe.
uvtc No. I just poke my head in once in a while.
PerlJam oh
Well, uvtc++ anyway then :)
and raiph++ for sure :)
pmichaud [Coke]: sure, I've got 15 mins 16:36
pmichaud looks for a git repository to clone 16:39
[Coke] pmichaud: whee.
16:40 daxim left
[Coke] sorry, on phone with wife, who I'm away from for several days over my anniversary, had to chat! ;) 16:40
pmichaud found it
[Coke] so, if you clone partcl-nqp, nqp branch, build, and run "nqp src/init.pm", that's my current failure.
I'm going to switch over src/Partcl.pir to src/Partcl.pm, but this is the current blocker. 16:41
you had actually got a great start on this a few months ago.
pmichaud what does the "build" step require? 16:44
[Coke] perl Configure.pl; make
needs nqp in your path something.
*somewhere.
pmichaud yeah, okay.
[Coke] (there's no --gen-parrot, I don't think.)
oh! there is a --gen-parrot, but I doubt it's been updated to build nqp instead of just parrot 16:46
16:47 telex left
pmichaud okay, I can do nqp src/init.pm and I get the failure... but I'm not sure why that failure is important/interesting. 16:48
looking. 16:49
[Coke] init.pm is run as part of the startup. so I get that failure on startup. 16:50
pmichaud hmmm
I'm getting a different failure when I try to run partcl
[Coke] partcl is still using all the pir. I wasn't expecting that to work yet. 16:51
perhaps I'm putting the cart before the horse though.
pmichaud pir::load_bytecode('P6object.pir'); 16:52
not sure what's going to happen there; NQP doesn't necessarily like dealing with P6object.
jnthn P6object?
[Coke] leftover from the old version, probably.
jnthn oh my :)
jnthn forgot about that :)
[Coke] I seem to get a lot of "missing or wrong version" of when recompiling individual .pm to .pir 16:53
16:53 uvtc left
pmichaud they all have to be compiled in dependency order 16:53
i.e., if A uses B, and you recompile B, you also have to recompile A 16:54
16:54 leont left
[Coke] ah. so, bad makefile. 16:55
pmichaud all of the P6object related stuff in init.pm worries me more than a bit. 16:56
I'm not sure how well nqp will be able to cope with it. In some sense, it should be able to cope okay, because it was able to do PAST handling.
(and PAST is all P6object based)
jnthn It'll sorta-ish cope 16:57
pmichaud we're being called to dinner here. :-/
jnthn If you re-write your .WHAT to ."WHAT" for example
[Coke] ok, I'm being summoned back to the conference. no worries.
thanks for poking, we'll catch up later. 16:58
pmichaud afk, dinner
16:59 Khisanth left 17:00 Khisanth joined
FROGGS how do I get panda? I thought its shipped with rakudo 17:00
17:02 immortal left, erkan joined, erkan left, erkan joined
sorear good * #perl6 17:02
FROGGS: it ships with rakudo _star_ 17:03
colomon \o
sorear FROGGS: so either ditch rakudo and get Star, or github.com/tadzik/panda 17:04
star = rakudo + everything you're likely to use
the perl6 ecosystem is small enough now that we can ship the whole thing as one tarball 17:05
17:05 birdwindupbird left 17:08 fhelmberger joined 17:11 cjbot left 17:12 zhutingting left 17:15 cjbot joined 17:17 telex joined 17:19 fhelmberger left 17:44 geekosaur is now known as allbery_b, allbery_b is now known as geekosaur 17:51 SamuraiJack left 17:56 wamba joined 17:57 DarthGandalf left
dalek rlito: 6d1b90e | (Flavio S. Glock)++ | / (2 files):
Perlito5 - parser: add special-variable globs
17:59
18:00 DarthGandalf joined 18:02 sirrobert joined
GlitchMr github.com/perl6/doc/issues/8 18:08
dl.dropbox.com/u/63913412/stringyiscolorful.png
I don't know why, but I don't like those colors 18:09
masak which colors?
GlitchMr Those in issue #8
Of Perl6 doc
<pre> block
18:09 wamba left, wamba joined
GlitchMr Those seem.... blue? 18:10
moritz better than what we have know, which is no design at all
masak hm. on my screen, the bright grey against the #fff white creates a bit of glare. might this be what you are experiencing?
moritz: agree.
GlitchMr Hmmm, yeah
I would like to have syntax highlighting in Perl 6 doc.
18:10 wamba left
masak I'd make the background of the page be something like what that bright grey is. and the bright grey greyer. 18:10
GlitchMr That probably would involve JavaScript, but well... 18:11
18:11 uvtc joined, wamba joined
masak GlitchMr: not necessarily. processing at generation-time is entirely doable. 18:11
uvtc I just picked those colors out of .... out of the blue.
moritz :-)
uvtc They looked ok on my lcd flatscreen.
moritz uvtc++
GlitchMr It's possibily my LED screen...
18:12 wamba left
GlitchMr Most people use LCD screens anyways 18:12
uvtc I was going to create a feature-request there for blocks to eventually get syntax highlighting ... though maybe that's still a ways off yet.
GlitchMr Well, I would like to see syntax highlighting - but I want it to support Perl 6 grammars ;) 18:13
moritz sombody could investigate porting Text::VimColor to p6
GlitchMr And written either in Perl 6 or JavaScript 18:14
moritz fwiw I'm firmly against substantial functionality in client-side JS
GlitchMr Hmmm, I guess it makes sense
moritz oh, and I don't want every code block to be highlighted, just those with actual Perl 6 code 18:15
GlitchMr That too
Do we have code blocks without Perl 6 code?
moritz it's a valid long-term TODO
GlitchMr Oh, I see
moritz GlitchMr: sure, with output for example
GlitchMr doc.perl6.org/type/Str
% a literal percent sign
But this shouldn't use code block, I think
And as far I can see, usually output is in comments 18:16
sirrobert hi all... I have a script that fails depending on the order of use statements. The libs each just define a simple class. Any ideas?
it's kind of a blocker for me right now...
moritz sirrobert: are any of those dependencies precompiled?
sirrobert I'm doing a "make clean && ufo && make test" each time
moritz sirrobert: and are you precompiling the code in question?
ok 18:17
sirrobert (to try to eliminate that as a problem)
moritz sirrobert: just for testing, do it without precompilation once
GlitchMr Actually, I may have fun making syntax highlighter in Perl 6
sirrobert ok
moritz: one sec
GlitchMr Text::VimColor?
moritz just perl6 -Ilib lib/Failing/Module.pm
uvtc Does Perl 6 Pod supply any way to mark or annotate a code block ? (That is, so you could mark it "highlight" or "don't-highlight".) 18:19
moritz yes, there are ways
sirrobert moritz: so, that module loads fine either precompiled or not. It fails when I run my tests.
GlitchMr I hope that vim is installed on feather ;)
moritz sirrobert: what if you run your tests without precompilation? 18:20
sirrobert moritz: checking if the tests fail without precompiling...
GlitchMr (don't tell me now I've to install vim)
sirrobert moritz: successful when I don't recompile 18:21
dalek c: b041329 | moritz++ | lib/Str.pod:
[Str] mark tables as tables
sirrobert moritz: does that mean it's a Parrot issue or ?
moritz sirrobert: no, most likely a rakudo bug
sirrobert (the issue is that it can't find some symbols, depending on the use order)
dalek rlito: 5ec800c | (Flavio S. Glock)++ | / (3 files):
Perlito5 - add encoding.pm placeholder
sirrobert ok, what's the best way to report it without sending all my code? =)
I can try to pare back the code to the point of breaking ... 18:22
moritz it might already be reported, let me dig something up for you
sirrobert ok, thanks
right now the work-around is just don't precompile?
(and if so, can I modify ufo to take that into account?)
moritz if you don't want to precompile, why would you use ufo at all? 18:23
sirrobert touche =)
masak .oO( is "touche" the new spelling of "d'oh!"? ) :P 18:24
18:28 erkan left, immortal joined, immortal left, immortal joined
FROGGS hmmm, in rakudo star the following test failed: 18:35
t/spec/S02-types/version.t ................................ Failed 6/35 subtests
is that normal? 18:36
[Coke] nqp: say(nqp:p6box_n(3)); 18:38
p6eval nqp: OUTPUT«Method 'value' not found for invocant of class 'PAST;Want'␤current instr.: 'nqp;NQP;Actions;colonpair_str' pc 111964 (src/stage2/gen/NQP.pir:42249) (src/stage2/gen/NQP.pm:1455)␤»
[Coke] nqp: say(nqp::p6box_n(3));
p6eval nqp: OUTPUT«Unrecognized nqp:: opcode 'nqp::p6box_n' at line 2, near ");"␤current instr.: 'nqp;HLL;Grammar;panic' pc 21408 (src/stage2/gen/NQPHLL.pir:8190) (src/stage2/gen/NQPHLL.pm:326)␤»
[Coke] how do you box something in nqp sans rakudo? 18:39
GlitchMr I'm going to make Text::VimColor for Perl 6, ok? 18:42
18:43 lizmat left
masak you don't need our permission to make modules ;) 18:43
er, I mean "ok! do it!" :P 18:44
pmichaud back from dinner 18:45
good evening, #perl6
colomon o/ 18:46
18:46 lizmat joined
moritz sirrobert: rt.perl.org/rt3/Ticket/Display.html?id=112626 18:47
18:48 Patterner left
GlitchMr What is "!UNIT_MARKER()"? 18:50
[Coke] if I want to use bless with multiple named arguments, what's the syntax? self.bless(self.CREATE(), :one($one), two($two)); that works, but the missing colon seems wrong. (but if I add the colon, it fails to compile. 18:51
moritz huh? should work with the colon
[Coke] s/works/compiles/
moritz also you can abbreviate :one($one) to :$one 18:52
r: class A { has $.a; has $b; method new( self.bless(*, :a(1), :b(2) } }; say A.new.b
p6eval rakudo f3d2b5: OUTPUT«===SORRY!===␤Invalid typename in parameter declaration at line 2, near ".bless(*, "␤»
moritz r: class A { has $.a; has $b; method new() { self.bless(*, :a(1), :b(2) } }; say A.new.b
p6eval rakudo f3d2b5: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 2, near "} }; say A"␤»
moritz r: class A { has $.a; has $b; method new() { self.bless(*, :a(1), :b(2)) } }; say A.new.b
p6eval rakudo f3d2b5: OUTPUT«No such method 'b' for invocant of type 'A'␤ in block at /tmp/wq2rgtFU5k:1␤␤»
sirrobert moritz: thanks 18:53
moritz r: class A { has $.a; has $.b; method new() { self.bless(*, :a(1), :b(2)) } }; say A.new.b
p6eval rakudo f3d2b5: OUTPUT«2␤»
[Coke] moritz: this is nqp, not rakudo.
nqp: class A { has $.a; has $.b; method new() { self.bless(self.CREATE(), :a(1), :b(2)) } } ; say A.new.b 18:54
p6eval nqp: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 2, near "has $.a; h"␤current instr.: 'nqp;HLL;Grammar;panic' pc 21408 (src/stage2/gen/NQPHLL.pir:8190) (src/stage2/gen/NQPHLL.pm:326)␤»
moritz nqp needs () around the argument list of say 18:55
[Coke] nqp: class A { has $.a; has $.b; method new() { self.bless(self.CREATE(), :a(1), :b(2)) } } ; say(A.new.b);
p6eval nqp: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 2, near "has $.a; h"␤current instr.: 'nqp;HLL;Grammar;panic' pc 21408 (src/stage2/gen/NQPHLL.pir:8190) (src/stage2/gen/NQPHLL.pm:326)␤»
sirrobert moritz: my error is a little different, but it could be the same bug 18:56
moritz oh, NQP might not have apubblic attributes
*public
[Coke] nqp: class A { has $!a; has $!b; method new() { self.bless(self.CREATE(), :a(1), :b(2)) } } ; say(A.new.b);
p6eval nqp: OUTPUT«too many positional arguments: 2 passed, 1 expected␤current instr.: 'bless' pc 4878 (src/stage2/gen/NQPCORE.setting.pir:2204) (src/stage2/NQPCORE.setting:94)␤»
[Coke] there you go, there's my error. ;)
moritz++;
moritz nqp needs () around the argument list of saynqp: class A { has $!a; has $!b; method new() { self.bless(:a(1), :b(2)) }; say(A.new.b) 18:57
nqp: class A { has $!a; has $!b; method new() { self.bless(:a(1), :b(2)) }; say(A.new.b)
p6eval nqp: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 2, near ""␤current instr.: 'nqp;HLL;Grammar;panic' pc 21408 (src/stage2/gen/NQPHLL.pir:8190) (src/stage2/gen/NQPHLL.pm:326)␤»
sirrobert are there any ORMs under development?
moritz nqp: class A { has $!a; has $!b; method new() { self.bless( :a(1), :b(2)) } } ; say(A.new.b); 18:58
p6eval nqp: OUTPUT«Method 'b' not found for invocant of class 'A'␤current instr.: '_block1000' pc 58 ((file unknown):45) (/tmp/WOf6ZnI29U:1)␤»
moritz that's better
nqp: class A { has $!a; has $!b; method new() { self.bless( :a(1), :b(2)) }; method b() { $!b } } ; say(A.new.b);
p6eval nqp: OUTPUT«2␤»
GlitchMr Just wondering, can I have something like "share" directory?
moritz [Coke]: there you go. NQP's bless doesn't expect the candidate
sirrobert: not that I'm aware of
[Coke] moritz: O_o
moritz++
sirrobert moritz: ok, thanks
GlitchMr Text::VimColor has "share" directory which contains vim script to help doing stuff 18:59
moritz GlitchMr: I don't think we have support for that yet 19:00
GlitchMr: but it's a good opportunity to carve the way for such stuff
[Coke] nqp: class A { has $!a; has $!b; method newthing() { self.bless( :a(1), :b(2)) }; method b() { $!b } }; say (A.newthing.B); 19:02
p6eval nqp: OUTPUT«Confused at line 2, near "say (A.new"␤current instr.: 'nqp;HLL;Grammar;panic' pc 21408 (src/stage2/gen/NQPHLL.pir:8190) (src/stage2/gen/NQPHLL.pm:326)␤»
[Coke] nqp: class A { has $!a; has $!b; method newthing() { self.bless( :a(1), :b(2)) }; method b() { $!b } }; say(A.newthing.B);
p6eval nqp: OUTPUT«Method 'B' not found for invocant of class 'A'␤current instr.: '_block1000' pc 58 ((file unknown):152248953) (/tmp/d7tN1ZU7Ic:1)␤»
[Coke] nqp: class A { has $!a; has $!b; method newthing() { self.bless( :a(1), :b(2)) }; method b() { $!b } }; say(A.newthing.b);
p6eval nqp: OUTPUT«2␤»
[Coke] nqp: class A { has $!a; has $!b; method newthing() { self.bless( :a(1), :b(2)) }; method b() { $!b } method a() {$!a} }; say(A.newthing.b);
p6eval nqp: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 2, near "method b()"␤current instr.: 'nqp;HLL;Grammar;panic' pc 21408 (src/stage2/gen/NQPHLL.pir:8190) (src/stage2/gen/NQPHLL.pm:326)␤»
[Coke] nqp: class A { has $!a; has $!b; method newthing() { self.bless( :a(1), :b(2)) }; method b() { $!b } ; method a() {$!a} }; say(A.newthing.b); 19:03
p6eval nqp: OUTPUT«2␤»
19:03 masak left, cosimo left 19:04 cosimo joined, masak joined
[Coke] moritz: feather.perl6.nl/~coke/TclLexPad.pm 19:05
that eventually dies with: too many named arguments: 2 passed, 0 used 19:06
(when calling new)
I don't know why that new is there; commenting it out to get the default is no help.
any suggestions appreciated. 19:07
moritz [Coke]: how do you call .new?
19:08 sivoais left
dalek ar/build3: ac2620b | pmichaud++ | modules/MODULES.txt:
Correct error in module name.
19:08
ar/build3: ecdf8b2 | pmichaud++ | tools/star/Makefile:
Improve building of MANIFEST.
ar/build3: ce08ad2 | pmichaud++ | tools/star/Makefile:
Add "make release" for star.
ar/build3: b3bd9d6 | pmichaud++ | / (2 files):
Move rakudo-debugger into modules (I hope).
19:09 kaare__ joined
dalek ar/build3: 8ba25b1 | pmichaud++ | modules/MODULES.txt:
Update MODULES.txt with rakudo-debugger.
19:09
[Coke] looks like it's coming from the bless.
19:09 kaare_ left
moritz nqp: class A { method b() { } }; A.b(:foo) 19:10
p6eval nqp: OUTPUT«too many named arguments: 1 passed, 0 used␤current instr.: 'nqp;A;b' pc 318 ((file unknown):211) (/tmp/W3rrXalUDA:1)␤»
moritz [Coke]: try to give method BUILD a signature of *%a
pmichaud nqp: class A { method b() { } }; A.b(); 19:11
p6eval nqp: ( no output )
pmichaud nqp: class A { method b(*%other) { } }; A.b(:foo);
p6eval nqp: ( no output )
pmichaud I don't know if nqp defaults the slurpy hash.
19:11 fibo joined
pmichaud (there are good performance reasons not to do so.) 19:11
[Coke] moritz: ... that did something, as I'm now getting a completely different error. ;) 19:13
(in a different file, even.)
19:13 Psyche^ joined, Psyche^ is now known as Patterner
moritz "and now for something completely different ...!" 19:13
jnthn pmichaud: it doesn't 19:15
pmichaud I should add that to my list of differences between p6 and nqp
[Coke] pmichaud: is "bless's first arg" on the list?
GlitchMr perl6: print BEGIN { my $BEGIN = BEGIN { BEGIN {2} + BEGIN {2} }} 19:18
p6eval rakudo f3d2b5: OUTPUT«4»
..niecza v21-1-ga8aa70b: OUTPUT«Potential difficulties:␤ $BEGIN is declared but not used at /tmp/4gXNb8W1BZ line 1:␤------> print BEGIN { my ⏏$BEGIN = BEGIN { BEGIN {2} + BEGIN {2} }␤␤4»
19:19 GlitchMr left
pmichaud [Coke]: I'll add it, but I don't know why NQP's bless doesn't have a candidate arg. :-P 19:19
[Coke] ok, moritz, you've unblocked me, now I'm getting issues with classes in nqp not defining various vtables. (and when I add them, I am told the underlying pmcs don't implement them. bother.)
pmichaud: ... performance? ;)
moritz [Coke]: \o/ 19:20
[Coke] classes /defined/ in nqp, not nqp classes. 19:21
[Coke] wanders to the next talk
dalek p/toqast: dac7c49 | jonathan++ | src/QAST/Operations.nqp:
Fix for compilation bug.
p/toqast: 102fc0f | jonathan++ | src/QAST/PIRT.nqp:
Undo while hack now that for is fixed.
p/toqast: f4baa7c | jonathan++ | src/how/NQPClassHOW.pm:
Fix mixin handling.
p/toqast: 0742204 | jonathan++ | src/ (2 files):
Fix the segfault at termination.
p/toqast: 8689070 | jonathan++ | / (5 files):
Switch over to using NQP on QAST for the standard NQP build (just in the toqast branch for now). Just five failing tests to triage, plus the P5Regex build.
19:22 fernandocorrea_ joined 19:24 fernandocorrea left, fernandocorrea_ is now known as fernandocorrea
dalek c: 38b1209 | moritz++ | html (2 files):
add some basic CSS. Closes #8
19:25
19:33 birdwindupbird joined 19:37 stopbit left 19:38 stopbit joined 19:40 stopbit left
[Coke] nqp: class A { method joe is parrot_vtable_handler('set_pmc_keyed') { } } 19:40
p6eval nqp: OUTPUT«Routine declaration requires a signature at line 2, near "is parrot_"␤current instr.: 'nqp;HLL;Grammar;panic' pc 21408 (src/stage2/gen/NQPHLL.pir:8190) (src/stage2/gen/NQPHLL.pm:326)␤»
[Coke] nqp: class A { method joe($str) is parrot_vtable_handler('set_pmc_keyed') { } }
p6eval nqp: OUTPUT«Null attribute map for P6opaque in class 'A'␤current instr.: 'nqp;NQPClassHOW;publish_parrot_vtablee_handler_mapping' pc 17654 (src/stage2/gen/nqp-mo.pir:8410) (src/stage2/gen/nqp-mo.pm:1012)␤»
19:41 stopbit joined
jnthn [Coke]: is parrot_vtable 19:41
[Coke]: See src/core/NQPMu for examples 19:42
[Coke] jnthn++
19:44 cjbot left 19:47 cjbot joined 19:48 crab2313 joined 19:50 thou left
[Coke] Serialization Error: could not locate static code ref for closure 'after' 19:56
that's new. ;)
19:56 Patterner left
masak [Coke]: what code triggers that error? 19:57
[Coke] rebuilding. one moment.
19:57 fibo left
[Coke] current instr.: 'nqp;HLL;World;serialize_and_produce_deserialization_past' pc 46343 (src/stage2/gen/NQPHLL.pir:20355) (src/stage2/gen/NQPHLL.pm:2289) 19:58
19:58 uvtc left, sivoais joined 19:59 Psyche^ joined, Psyche^ is now known as Patterner
eiro hello all 20:01
[Coke] masak: I pushed the latest code to partcl-nqp that triggers it. 20:04
(nqp branch) 20:06
masak [Coke]: do you think golfing the code would be possible or useful? 20:11
moritz maybe just try a $*W.add_object(&after) 20:12
or so
20:15 cjbot left
dalek p/toqast: dae24c6 | jonathan++ | src/QAST/CompUnit.nqp:
Avoid null PMC access in BEGIN-time compilation.
20:15
p/toqast: 72485de | jonathan++ | / (6 files):
Rip out the NQPQ directory and build, now we've switched over to it.
p/toqast: 71b2e9a | jonathan++ | src/NQP/Actions.pm:
Fix sub installation/call to always have & before the sub name.
20:15 birdwindupbird left
dalek p/toqast: 5745da8 | jonathan++ | t/nqp/11-sub.t:
Update sub tests.
20:15
[Coke] moritz: I don't know what you mean. 20:16
20:17 thou joined, birdwindupbird joined 20:18 cjbot joined, cognominal left, cognominal joined
masak [Coke]: that's the way to register objects with the serialization context. 20:24
[Coke]: the error seems to indicate that's what's missing.
jnthn But you tend to have to opt in ot having one of those. 20:26
[Coke] I don't know what "after" is in this context, except perhaps the first tcl command.
20:30 thou left
sirrobert is there something like Data::Dumper for pretty-printing p6? 20:30
[Coke] though it looks like nqp itself has an "after", though. 20:31
r: my @a=1,2,3;say @a.perl;
p6eval rakudo f3d2b5: OUTPUT«Array.new(1, 2, 3)␤»
jnthn sirrobert: .perl 20:32
20:32 cognominal left
jnthn r: [1, a => 2].perl.say 20:32
sirrobert hoping for a slightly prettier print ;)
p6eval rakudo f3d2b5: OUTPUT«[1, "a" => 2]␤»
sirrobert nested hashes, indenting, what not 20:33
jnthn ah
sirrobert more for deep, structured data. I'll whip up a module and stick it in Masquerade
jnthn yeah, not sure I've seen a module for that
sorear [Coke]: are your tcl commands NCI subs? 20:34
20:35 cognominal joined
[Coke] sorear: no. nqp all the way down. (except where it's pir) 20:35
sorear: e.g. github.com/partcl/partcl-nqp/blob/...s/after.pm 20:36
so, how can I track down what that error message is telling me? 20:37
jnthn [Coke]: Does it go away if you remove the "our"? 20:38
[Coke] feather.perl6.nl/~coke/err.txt
jnthn: hah! 20:39
yes, then it complains about "append", which is the next one. 20:40
jnthn ok...
[Coke] wonders what the our was doing in parrot-nqp that it is hurting now.
jnthn suspects it shoulda worked with the "our" anyway 20:41
[Coke] will be happy to compile again at this point. :( 20:42
jnthn: removed all the ours. now I get: Serialization Error: could not locate static code ref for closure '_block1005' 20:43
[Coke] cries a bit.
block1005 appears in 16 pir files. 20:44
20:44 smash joined 20:45 breakEM joined
dalek p/toqast: fc90164 | jonathan++ | src/QAST/Compiler.nqp:
Fix subrule compilation bug, which nails the last t/nqp regression.
20:45
sorear starts writing a reply to p6u Marc Chantreux
sirrobert r: class A { my $foo = 'bar'; method foo () {$foo); } say A.new.foo;
p6eval rakudo f3d2b5: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 2, near "); } say A"␤»
sirrobert r: class A { my $foo = 'bar'; method foo () {$foo}; } say A.new.foo;
p6eval rakudo f3d2b5: OUTPUT«===SORRY!===␤Confused␤at /tmp/CRGsSs1TJC:1␤»
sorear I am _not_ going to reply to his Parrot question because I'm not even an unbiased observer
20:46 kaare__ left
moritz "on top of rakudo" 20:46
that's easy to answer: no, unless you count JSON as a language
sorear I suspect that was a typo, considering the subject line
moritz mebby
sorear rakudo doesn't (currently) sell itself as a multilanguage platform, parrot does 20:47
moritz and I guess NQP will, eventually
pmichaud should I answer?
or I can wait for sorear++'s answer :)
20:48 plobsing left
moritz also wants to write one 20:48
sorear More answers is good, though it might be good to space them out in time to avoid overlapping content
pmichaud I'll let you two write responses then, and I'll only respond if I think something was missed.
sirrobert (nevermind, was missing a semicolon...whug =)
sorear mine is short and I'll send it quite soon
dalek p: 54544b6 | (Elizabeth Mattijsen)++ | src/QAST/ (3 files):
Fix some commentary spelling errors while going through the source
[Coke] pmichaud: should I push a commit removing the 'our's from the individual partcl command subs?
pmichaud [Coke]: wfm
20:48 benabik joined
diakopter probably should subscribe to that 20:49
masak 'night, #perl6
sirrobert nice
er night
sorear sent 20:51
moritz good night masak, dream of hygienic macros
masak :)
masak will
[Coke] pushed. now down the the block error. 20:52
eiro is it true to say that rakudo is "the official implementation" of perl6 ?
sorear No.
moritz eiro: no
eiro: unless you also count niecza and pugs as "the official implementation"
where "the official implementation" means "the Perl 6 hackers are happy it exists" :-) 20:53
sorear The authoritative definition of Perl 6 is roast. Anything which passes all of roast can call itself an official implementation.
[Coke] and perlito!
sorear Since roast itself is incomplete, this cannot be satisfied by anything yet
:D
moritz [Coke]: aye
eiro ok so. it's the recommended implementation for beginners ?
moritz and yapsi!
eiro: some recommend it. Others recommend niecza 20:54
eiro yapsi, crap! i forgot it :)
sorear Hard to say, there are different classes of beginner
Rakudo is generally the most complete and least buggy
Niecza has official binary packages 20:55
Perlito runs in a browser 20:56
moritz gist.github.com/3406172 # my totally biased attempt at a rakudo-vs-niecza summary
sorear moritz: I think that's pretty fair 20:57
[Coke] pugs ... is written in haskell.
moritz \o/
[Coke] it's also pretty fast for the stuff it does.
20:57 lizmat left
moritz [Coke]: right, just wanted to say that 20:57
curiously it got much faster after au++ mostly stopped hacking on it
(temporal "after", not causal "after", I think) 20:58
diakopter ghc got better?
moritz I dunno if that#s the main reason 20:59
TimToady eval: use v5.14;␤say <<"OUTER";␤hello @{[ <<"INNER" ]} world␤insidestuff␤INNER␤more stuff␤OUTER
buubot_backup TimToady: ERROR: Unrecognized character \x{2424}; marked by <-- HERE after use v5.14;<-- HERE near column 49 at (eval 20) line 1. 21:00
TimToady hah
sorear: anyway, Perl 6 will not be the first language to support nested heredocs :)
sorear eval: "use v5.14;\nsay <<\"OUTER\";\nhello \@{[ <<\"INNER\" ]} world\ninsidestuff\nINNER\nmore stuff\nOUTER\n" 21:02
buubot_backup sorear: use v5.14; say <<"OUTER"; hello @{[ <<"INNER" ]} world insidestuff INNER more stuff OUTER
moritz sorear++ # I like your answer on p6u
sorear eval: eval "use v5.14;\nsay <<\"OUTER\";\nhello \@{[ <<\"INNER\" ]} world\ninsidestuff\nINNER\nmore stuff\nOUTER\n"
buubot_backup sorear: hello insidestuff world more stuff 1
21:03 gongyiliao joined 21:04 skids left
sorear
.oO( there documents )
21:04
21:08 benabik left
moritz it's quite scary that the vim syntax hilighting for nested heredocs is mostly correct 21:09
21:11 cjbot left
eiro ok so is it true to say that there are more active contributors on rakudo than on others (it's my guess, maybe it's wrong) 21:11
sorear absolutely
niecza and perlito are mostly one-man projects 21:12
perlito moreso lately, colomon++
moritz and [Coke]++ supplies everything with spectests :-)
21:13 fernandocorrea_ joined 21:14 fernandocorrea left, fernandocorrea_ is now known as fernandocorrea, cjbot joined
eiro sorear, moritz, i read your answers on perl6-users: thank you guys 21:16
will mod-parrot be uppdated ? 21:21
TimToady you'd have to ask the parrotfolk that, I suspect 21:22
eiro ok. 21:23
it seems the 2 articles i promised will turn into "a serie of articles" 21:24
moritz even better :-)
eiro well ... i have to admit i prefer coding than writting articles 21:25
moritz me too
eiro but this job has to be done!
moritz which is why I prefer it that *you* write the articles, not me :-) 21:26
eiro haha ... you'll have to translate :)
moritz pas de probleme :-)
well, maybe it'll be a problem. We'll see. 21:27
eiro \o/ so you'll be part of proofread too ? :)
moritz erm. I can try :-)
eiro actually: i'll be ok to translate but i will need some backup there because my english is ... well ... i remember a translation of mine proofreaded by mdk: he made a lot of modifications 21:29
but also said that it's way easier to start from a "almost english" than from french :)
my father used to use "Onusien" for "almost english", reference to ONU (NATO), where everyone speaks "almost english" 21:30
sorear I also volunteer to proofread/copyedit 21:31
eiro cool! 21:33
21:35 benabik joined, birdwindupbird left
eiro AFAIR, there where an implementation of perl6 targetting a lisp langage, right ? 21:39
sorear there may have been more than one
dalek p/toqast: 0456425 | jonathan++ | src/NQP/Actions.pm:
One for & related fix for subs.
p/toqast: e99463f | jonathan++ | src/Q (2 files):
A couple of fixes that eliminate many of the failures in t/qregex.
p/toqast: 7dd6f87 | jonathan++ | src/QRegex/Cursor.nqp:
Check actions for nullness.
sorear pmurias wrote a common lisp backend for niecza a year or so ago as part of his studies 21:40
jnthn And with that, NQP on QAST passes t/qregex as well as t/nqp
diakopter \o/
jnthn Amongst others
sorear jnthn: \o/!
jnthn The demise of PAST is, hopefully, not far away. ;)
japhb Yay! 21:41
jnthn++
jnthn hmm, fails once I make bootstrap-files though 21:51
21:54 kurahaupo joined 21:59 crab2313 left
pmichaud time for sleep here... bbt 21:59
jnthn Anyways, now looks very likely we'll have PAST eliminated in the next Rakudo release :D 22:00
sorear jnthn: YES :D :D :D 22:02
22:04 stopbit left
dalek ar/build3: 1c45e98 | pmichaud++ | tools/star/Makefile:
Remove temp MANIFEST.1 file when done.
22:07
ar/build3: 770e8d0 | pmichaud++ | tools/star/MANIFEST.exclude:
Add MANIFEST.exclude, identifying files to be excluded from the MANIFEST (and thus the tarball).
ar/build3: e63d1d7 | pmichaud++ | modules/rakudo-debugger:
Add rakudo-debugger as a module.
ar/build3: e9aacc4 | pmichaud++ | tools/build/Makefile.in:
Add rules for building/installing perl6-debug .
jnthn pmichaud++ # getting le debugger into the Star build \o.
22:08 kurahaupo left
eiro sorear, github.com/sorear/niecza < official page ? 22:09
sorear eiro: for now
22:09 kurahaupo joined
eiro ok. tell me if it changes 22:09
dalek p/toqast: 8e9590d | jonathan++ | tools/build/Makefile.in:
Fix up install target.
22:11
22:13 whiteknight joined
eiro official NQP doc ? tutorial ? 22:13
jnthn ENOTYET
I believe pmichaud++ is planning to work on an NQP tutorial in the near-ish future, though 22:14
eiro so where is NQP ? 22:15
jnthn github.com/perl6/nqp
eiro is it worth to talk about viv for now ? 22:16
thx jnthn
dalek ar/build3: 429c9d7 | pmichaud++ | tools/build/Makefile.in:
Fix modules-install target.
22:17
sorear a substantial number of people are working in Stavanger on fleshing out the NQP ecosystem
jnthn s/in/near/ ;-)
We're in the middle of nowhere. It's awesome :)
diakopter hello nowhere 22:18
japhb
.oO( What is the edge of nowhere like? )
jnthn japhb: Rather like the edge of somewhere. 22:19
eiro :)
japhb jnthn, But presumably with opposite sign .... 22:20
cognominal eiro, I would say that rakudo will be in the long run the most portable perl6 implementation, meaning portable to other vm than parrot. jnthn and pmichaud have done a lot of work these last few months to segregate the part specific to parrot.
dalek ar/build3: 7a5d72c | pmichaud++ | tools/build/Makefile.in:
Be sure to correctly chmod the perl6-debug executable.
22:21
cognominal eiro, nqp is there to bootstrap rakudo, so it is of little interest to the end user.
eiro cognominal, please help me to write those articles :)
cognominal, yep but i want to mention it as it can be refered in documentations 22:22
diakopter (nqp would have to be just as portable)
tadzik o/ 22:26
sorear o/ tadzik 22:28
eiro hmm .. the undergoing work to make rakudo portable is related to NQP. NQP is about writting PIR code. so where is the layer of compatibility ?
o/ tadzik
jnthn NQP isn't about writing PIR code. NQP is about writing NQP code. :)
diakopter I'm sure eiro meant emitting 22:29
jnthn Ah
Yeah, the code-gen is platform specific
pmichaud even there, NQP isn't about emitting PIR anymore.
jnthn But that's one part of NQP
pmichaud NQP is about providing a perl6-like syntax for building compilers on top of virtual machines.
parrot just happens to be the first virtual machine we're targeting. 22:30
eiro diakopter, thanks :)
diakopter eiro: one would write something that compiles QAST to whatever
eiro so github.com/perl6/nqp must be updated 22:31
diakopter the README yeah
sorear This is "Not Quite Perl" -- a compiler for quickly generating PIR
routines from Perl6-like code.
jnthn hm :) 22:32
eiro QAST ?
cognominal the sucessor of PAST
P++
sorear would anyone object to renaming README to README.pod for the benefit of github's formatter?
cognominal I don't think so 22:33
eiro to be sure i understand: if i want perl6 to run on JVM, i have to write an jvm NQP emitter
pmichaud I thought we had already updated the README> 22:34
diakopter eiro: no, you'd write a compiler in NQP that took QAST objects and emitted JVM bytecode
sorear pmichaud: it's partially updated
eiro cognominal, isn't it what you want for v8 ?
pmichaud note that the rest of the readme talks explicitly about creating things for virtual machines (plural)
cognominal my understanding is the goal of QAST is to have an abstract syntax tree that is more independant from parrot. 22:35
eiro cognominal, how about nqp -> cdent ? 22:36
pmichaud cognominal: that's pretty close. More precise is that QAST is itself written in nqp, unlike PAST which was written in PIR.
sorear reason 1: PAST is written in PIR and so cannnot be portable
cognominal now the AST is translated to pir using github.com/perl6/nqp/blob/master/s...T/PIRT.nqp ?
pmichaud beyond that, QAST incorporates several new design improvements that we couldn't easily get into PAST without running afoul of Parrot's deprecation policies
sorear reason 2: PAST uses native Parrot objects, which are more extensible than 6model objects and so PAST pays a substantial memory price for a feature it mostly doesn't use 22:37
(actually it's worse than that, it uses Capture as the base type)
eiro are you aware of cdent project ? cdent.org/ 22:38
22:38 skids joined
dalek p: 13b550b | pmichaud++ | README:
Update README to eliminate "for quickly generating PIR routines".
22:38
p: 41b003e | pmichaud++ | / (10 files):
Merge branch 'master' of github.com:perl6/nqp
diakopter ingy: someone mentioned cdent 22:39
eiro haha ingy is on this chan too :)
pmichaud okay, I'm off to bed. be back tomorrow 22:40
tadzik: hope you're able to get Bailador working :-)
cognominal eiro, I think that acmeism is minimalist (biggest common denominator so pretty small) while perl6 is maximalist. So there is an impedance mismatch 22:41
eiro good night pmichaud 22:43
jnthn Think I'm gonna sleep also
eiro cognominal, right
ok... to bed too! thanks everyone for answers 22:44
22:44 thou joined
ingy cognominal: acmeism is a critical part of perl6 though 22:52
FROGGS tadzik: I cant find the error, in Bailador::App the %.routes gets reinitialized after the GET and the POST is pushed to it.
ingy when cdent compiles to perl6 and perl5 I'll be writing all my perl modules in a coffeescript variant 22:53
not my perl6 *code*, my perl6 *modules*
FROGGS tadzik: need to go to bed now, sorry that I couldnt fix it yet
ingy anywhoots, back to #cdent :) 22:54
hi eiro :)
colomon ingy++ 23:07
23:07 wamba joined, wamba left
thou o/ 23:09
23:15 MayDaniel left 23:16 alester left 23:21 Exodist left, Exodist joined 23:52 thou left 23:53 erkan joined, erkan left, erkan joined, immortal left 23:57 Exodist left 23:58 Exodist joined