»ö« 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 & namespaces as bolted-on afterthought, 1- & 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 expectedcurrent 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 usedcurrent 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!===Confusedat /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" ]} worldinsidestuffINNERmore stuffOUTER | ||
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
|