»ö« 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:04
tyatpi left
00:09
cog_ joined
00:11
raiph left
00:12
cog__ left
00:21
PacoAir left
00:30
adu joined
00:42
thou left
00:43
tokuhirom joined
01:03
xinming left
01:05
xinming joined
01:08
cognominal joined
01:11
cog_ left
01:14
cognominal left,
cognominal joined
01:23
aindilis left
01:24
jaldhar joined
01:30
mcglk left
01:39
mcglk joined
01:45
UncleFester6 left
01:58
cognominal left,
cognominal joined
02:24
orafu left,
orafu joined
02:28
adu left
02:41
tokuhirom left
02:42
tokuhirom joined
02:46
tokuhirom left
02:52
tyatpi joined
03:03
daemon left
03:07
mcglk left,
mcglk_ joined
03:22
{Velvet} left
03:25
leprevost joined
03:32
mikemol joined
03:33
mcglk_ left
03:43
vlixes joined
03:50
kaare_ joined
04:02
stephenlb joined
04:05
vlixes left
04:13
tyatpi left
04:20
Chillance left
04:38
thou joined
05:13
sisar joined
05:21
cog_ joined,
cognominal left
05:25
cog__ joined
05:28
cog_ left
05:56
leprevost left
06:33
GlitchMr joined
06:35
araujo left
06:36
Juerd left
06:37
p6eval left
06:38
hugme left,
tadzik left,
dalek left
06:39
pmichaud left,
masak left,
[Coke] left,
Util left,
PerlJam left
06:50
tokuhirom joined
|
|||
moritz | \o | 06:52 | |
06:52
thou left
|
|||
moritz | yesterday afternoon we were in the zoo with the small one, and this morning we read that while we were there, a small cheetah broke out :-) | 06:54 | |
r: say 1 | 06:57 | ||
is feather down? | 06:58 | ||
sorear | o/ moritz | 07:05 | |
moritz | \o sorear | 07:06 | |
07:09
brrt joined
07:14
clkao_ is now known as clkao
07:21
odoacre left
07:25
Timbus left,
sivoais left
07:27
Timbus joined
07:32
sivoais joined
07:43
cog__ left,
cog__ joined
07:49
brrt left
07:59
Juerd joined,
p6eval joined,
ChanServ sets mode: +v p6eval
08:00
pmichaud joined,
Util joined,
dalek joined,
ChanServ sets mode: +v dalek
08:01
masak joined,
PerlJam joined,
[Coke] joined,
hugme joined,
ChanServ sets mode: +v hugme
08:02
p6eval left,
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
moritz | r: say 1 | 08:03 | |
p6eval | rakudo 06a730: OUTPUT«1» | ||
diakopter | wb feather | 08:04 | |
sorear | sleep& | 08:10 | |
08:14
ajs_home joined
|
|||
ajs_home | Having to re-build my rakudo environment at home... wow, a clean checkout does take a bit to build, don't it? | 08:15 | |
moritz | it does | 08:16 | |
try a fresh gcc checkout for comparison :-) | |||
ajs_home | the identifier "stage0" is somewhat demoralizing in nqp ;-) | ||
mortiz: ah, I remember the day. I used to kick off a gcc build on an Apollo Domain/OS box and go out for a long lunch ... at home ... and a nap | 08:17 | ||
xkcd.com/303/ -- ah the heady days of mis-spent youth | 08:18 | ||
08:23
brrt joined
08:25
tadzik joined
08:27
benabik left
08:28
benabik joined
08:30
araujo joined
08:36
sergot joined
|
|||
sergot | hi o/ | 08:36 | |
:) | |||
ajs_home | hey sergot | ||
08:37
fgomez joined,
fgomez left,
fgomez joined
08:40
sporous left,
sporous joined
08:48
cj left
08:56
PacoAir joined
|
|||
masak | morning, #perl6 | 09:18 | |
diakopter | halyoy | 09:19 | |
er, hello/ahoy | |||
masak | :) | 09:20 | |
masak .oO( how did the small cheetah break out? probably by bending the rules a little ) | 09:21 | ||
09:22
brrt left
|
|||
masak | today's autopun spotting: twitter.com/codinghorror/status/216...7730018304 | 09:23 | |
I hasten to add that bipolarity doesn't always merit a laugh. I know that. | |||
masak is a little curious if Jeff Atwood actually is bipolar, or whether he was just making the joke | 09:25 | ||
09:25
spider-mario joined
|
|||
masak | this looks interesting for our infrastructure champs: lucumr.pocoo.org/2012/6/22/hate-hat...verywhere/ news.ycombinator.com/item?id=4146847 | 09:27 | |
au | . o O { At the neuronal level, we're all bipolars (in more than one sense). } | 09:31 | |
09:33
birdwindupbird joined
|
|||
masak | au! \o/ | 09:35 | |
yeah, biprobably. | |||
moritz | biopolarity | ||
masak | is that when you polarize light through an organism? :) | 09:36 | |
au | "bears for polar biopolarity" | 09:37 | |
or perhaps it's just polar bioplurality... | |||
moritz | now where did the polar bears come from, all of a sudden? | 09:38 | |
jnthn | morning :-) | ||
diakopter | o/ | ||
jnthn | uh-oh...there's polar bears?! | 09:39 | |
au | 🐻/ | ||
moritz | jnthn: biopolar plurality bears | ||
\o diakopter, jnthn | 09:40 | ||
jnthn | .oO( should not come here before coffee...too many hard words... :) ) |
||
masak .oO( bipolar polar bears are so popular! ) | 09:41 | ||
moritz | now don't get me started with populism | ||
masak | it's all polar bear propaganda. | ||
diakopter | I'm bipopular | 09:42 | |
masak | polar bears are bipartisan. | ||
au | or bearly partisan | ||
masak | *lol* | 09:43 | |
urs, I can't bear the puns. | 09:44 | ||
au | but you can pun the bears just fine | ||
09:52
birdwindupbird left
10:19
snearch joined
10:47
grondilu joined
11:01
grondilu_ joined
11:04
grondilu left
|
|||
Juerd | masak: Was "urs" a play on the latin word for bear? ursus, ursa. ;) | 11:18 | |
tadzik | morning | 11:19 | |
moritz is pretty sure it was | |||
masak | Juerd: of curs :) | 11:21 | |
Juerd | :) | ||
11:24
cog_ joined,
cog__ left
|
|||
jnthn | That's o so clever. | 11:25 | |
moritz | clever enough for the cleaver? | 11:26 | |
masak | phenny: "oso"? | 11:27 | |
phenny | masak: "bear" (es to en, translate.google.com) | ||
masak tho so | |||
11:30
sergot left
11:31
fgomez left
|
|||
tadzik | aak | 11:31 | |
Juerd | It's sometimes confusing when someone talks about beer in English, when there are Dutch people around. | 11:33 | |
11:47
sergot joined
|
|||
masak | Juerd: pardon? :P | 11:48 | |
Juerd | Horses! | 11:52 | |
12:03
asperge joined
|
|||
asperge | hi | 12:03 | |
12:06
fgomez joined
|
|||
masak | asperge: oh hai | 12:14 | |
phenny: fr en "asperge"? | |||
phenny | masak: "asparagus" (fr to en, translate.google.com) | ||
masak refrains from any asparaging remarks | 12:15 | ||
asperge | :) | ||
12:25
birdwindupbird joined
12:26
birdwindupbird left,
birdwindupbird joined
|
|||
pmichaud | good morning, #perl6 | 12:43 | |
moritz | \o pmichaud | 12:44 | |
jnthn | o/ | 12:45 | |
tadzik | good morning pmichaud | ||
szabgab | hi tadzik | ||
tadzik | hey szabgab | 12:46 | |
moritz | the nqp repo's docs/release_guide.pod misses instructiong for creating a tar ball | ||
szabgab | I am looking at panda and I see a number of modules without a friendly panda face on the right | ||
moritz | which is why release managers don't create tarballs, and i have to do that after the fact when making a star release :( | ||
szabgab | it seems these are the same modules that don't have a source-url | ||
can anyone help me understand why are some without panda and why no source-url? | 12:47 | ||
moritz | szabgab: the probably follow and outdated standard, or are even older than panda itself | 12:48 | |
s/the/they/ | |||
12:48
mustapha joined
|
|||
moritz | and since nobody has updated them, you can imagine how well maintained they are... :/ | 12:48 | |
tadzik | it doesn't always mean so | 12:49 | |
GlitchMr++ recently found some my modules following the old standard, and they were quite well maintained, but I'm probably biased :) | |||
szabgab: generally, emmentaler is probably the best way to see how well a module is maintained these days | 12:50 | ||
alghough it should probably also point out if a module has no tests at all; now it just says "yeah, passes" | |||
szabgab | emmentaler? | 12:51 | |
ok, found it | 12:54 | ||
tadzik | where, ooc? | 12:58 | |
12:59
mtk left
13:02
mtk joined
|
|||
cog_ | jnthn, have created an engine to highlight any code using a json of the parse tree (ie the Match object). github.com/cognominal/codeview | 13:02 | |
The whole point of the exercise was to do that on Perl 6 files but there is no way to dump the parse tree of a Perl6 file | 13:03 | ||
can you fix that? | |||
szabgab | tere used to be flag for that | 13:04 | |
that was created for padre but I could not find it now | |||
cog_ | I have yet to segragate the json dumper in a library. It is here github.com/cognominal/codeview/blo...nParseTree | 13:05 | |
13:06
grondilu_ left
|
|||
cog_ | Right now I parse a json file (but that could be anything that genereate a Perl 6 Match) and generate a json file, that I load using ajax in a html file. | 13:06 | |
szabgab: it has been broken for almost a year if not much. | 13:07 | ||
13:07
grondilu joined
|
|||
cog_ | szagab: currently I am able to do classic static highlighting, and show the parse path that was used to reduce some code when I hover over the corresponding html element. | 13:09 | |
13:10
Patterner left
|
|||
cog_ | jnthn, I would like to show the tool for the french perl workship | 13:11 | |
13:11
whiteknight joined
|
|||
moritz | currently Perl6::Grammar creates NQP match objects, not Perl 6 match objects | 13:11 | |
not sure how easy that is to change | 13:12 | ||
13:12
whiteknight is now known as Guest23753
|
|||
cog_ | moritz: the problem seem that when --target=parse is used, some stuff is not yet set up correctly to call whatever filter. | 13:13 | |
13:14
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
moritz | oh right | 13:17 | |
jnthn, pmichaud, PerlJam: there's a small problem: nqp's VERSION is not bumped. That way non-git builds report version 2012.05, which breaks rakudo star | 13:18 | ||
what should be do about it? a nqp 2012.05.1 point release with a bumped VERSION? | |||
cog_ | moritz: probably some World.pm internal | ||
$ perl6 --target=parse -e '0' # indeed : ===SORRY!=== Could not locate compile-time value for symbol StaticLexPad | 13:19 | ||
13:22
leprevost joined
|
|||
pmichaud | moritz: looking | 13:22 | |
dalek | kudo/nom: dba6e9c | moritz++ | docs/release_guide.pod: mention nqp VERSION bump in rakudo's release_guide.pod |
13:26 | |
pmichaud | moritz: really, though, bumping VERSION should've been done as part of step 2. | 13:27 | |
13:28
cog_ is now known as cognominal
|
|||
moritz | pmichaud: maybe it's better to remove the overlapping information altogether | 13:30 | |
pmichaud | well, step 2 is in the wrong place anyway. We shouldn't cut a nqp release immediately after parrot release; it should be immediately before rakudo release. | ||
but I do want nqp version management held in nqp's release guide, not in rakudo's. Other than rakudo's release guide might have reminders to check certain things. | 13:31 | ||
jnthn | cognominal: I suspect the --target=parse issue at least for that particular case is because it's not triggering setting loading when the actions are not run. | 13:32 | |
moritz | we should automate as much of that as possible | ||
pmichaud | moritz: yes, that would make sense also; perhaps the tagging step can be a makefile target | 13:33 | |
anyway, let me think about it one issue at a time for a bit... starting with what to do for the star release | |||
13:34
PacoAir left
|
|||
pmichaud | the easiest thing to do for star is to simply have it fix the file coming from the tarball after it unpacks it | 13:34 | |
having distributions "patch" the upstream sources isn't unheard of. | |||
13:35
grondilu left
|
|||
pmichaud | I think I'm also fine with creating a 2012.06.1 tarball for nqp/star | 13:35 | |
cognominal | jnthn, I would like to be able to call my Match dumper-in-json at this stage so I could highlight Perl 6 code. | 13:39 | |
Doing it for nqp would be nice but least important to me. | |||
pmichaud | cognominal: it's almost impossible to produce a parse tree for Perl 6 using --target=parse because Perl 6 parsing _requires_ executing some of the code (which requires stages after --target=parse) | 13:40 | |
cognominal | pmichaud: I don't mind being handed the parse tree after other stages have been executed. | ||
13:41
PacoAir joined
|
|||
pmichaud | at one time I had a special target for that... just a sec | 13:41 | |
cognominal | Anyway, sooner or later people will want to write Perl 6 highlighter. | ||
masak | basically, only a Perl 6 grammar can hand you that parse tree. | 13:42 | |
or rather, I'd like to see something that isn't a Perl 6 grammar try ;) | 13:43 | ||
cognominal | pmichaud: that would be cool. | ||
13:43
Pleiades` left
|
|||
cognominal | My tool is very pedagogical too. Using the parse tree, it can display the parse path used to reduce any part of code. | 13:44 | |
masak | PPI basically cheats in a way that's sometimes useful. Alias++ has sometimes driven by here and stated that this kind of useful cheating will be much harder for Perl 6. | ||
because Perl 6 embraces language modding to a much greater extent. | 13:45 | ||
cognominal | I will soon display the used rule too. Well it will soon cheat to do so for JSON grammars. | ||
by "used rule", I mean the rule used to reduce the code the mouse is hovering over. | 13:46 | ||
pmichaud | okay, I don't think the issue is with --target=parse itself, but rather with the resulting parse tree not having sufficient information/runtime loaded to display itself. | 13:48 | |
...but that's just a guess. | |||
jnthn | pmichaud: Does it attempt to dump the $!ast also? | 13:49 | |
That would probably cause issues... | |||
pmichaud | jnthn: I don't know what it's attempting to dump. But I think it's a dumping issue more than a staging issue. | ||
by way of comparison, try ./perl6 --target=past -e 0 | 13:50 | ||
so, my guess is that we need to clean up dumping. There are some preliminary dumper capabilities in nqp that we should probably use; I suspect HLL::Compiler is still trying to use Parrot's Data::Dumper | 13:51 | ||
13:51
snearch left
|
|||
pmichaud | since rakudo is now using QRegex for parsing/compilation, we ought to be able to avoid Data::Dumper altogether | 13:51 | |
jnthn | Indeed | ||
pmichaud | it would also be very nice to eliminate Data::Dumper as a runtime requirement altogether | 13:52 | |
13:53
mikemol_ joined
|
|||
cognominal | pmichaud/jhntn: I did not want to push you before I was ready to use that dumping feature. Now that I am, I am very eager to show it at the french perl workshop. | 13:53 | |
13:54
daemon joined
|
|||
pmichaud | moritz: I vote we create a 2012.06.1 release of nqp to be used in star. I don't think we need a separate rakudo release or to do anything to the rakudo repo. Does that sound sane? | 13:54 | |
cognominal | Also my Match json dumper is nice. I think one can reconstruct a Match from it. | ||
I don't know about World serialization of Matches but a json serialization is nice. | 13:55 | ||
moritz | pmichaud: sounds sane | 13:56 | |
pmichaud: should I do it? | |||
pmichaud: and if so, from master, or branch off from 2012.06 ? | |||
I don't think master breaks anything, so we could it from master | |||
13:57
birdwindupbird left
|
|||
pmichaud | moritz: looking. I think there have been some nqp commits since the release. | 13:58 | |
moritz | r: say 1.HOW ~~ Any | 14:00 | |
p6eval | rakudo 06a730: OUTPUT«True» | ||
pmichaud | I think I prefer from 2012.06. I don't want to have to deal with a possible variation between rakudo 2012.06 and star 2012.06 relating to the nqp changes. | ||
I know it's unlikely; but ... *sigh* | |||
moritz | aye | 14:01 | |
I gravitated the same way | |||
dalek | p/release-2012.06.1: 8a787d6 | moritz++ | VERSION: bump VERSION |
14:02 | |
14:02
JimmyZ joined
|
|||
dalek | ar: 8b15e79 | moritz++ | / (2 files): bump NQP version to 2012.06.1 2012.06 had a wrong VERSION file |
14:04 | |
14:05
Pleiades` joined
|
|||
pmichaud | ...star might need 2012.06 as its version requirement, not .1 | 14:09 | |
oh, nm, looks like the $(NQP) variable isn't used anyway. :) | 14:11 | ||
(in skel/tools/build/Makefile.in) | |||
I have to leave shortly; later today I will review the release_guide.doc files and make some updates. | 14:12 | ||
(others are free to do the same, also :) | 14:13 | ||
Juerd | 14:17 | ||
14:18
Guest23753 left
|
|||
pmichaud | afk, meetings | 14:29 | |
14:30
mikemol_ left
|
|||
Juerd | Away from keyboard and meetings? | 14:30 | |
cognominal | for people attending the french perl workshop, don't forget to send your id number to eiro before tuesday. That's a necessary (and moronic) condition to access the wifi at epitech | 14:31 | |
in Rome do what the romans do… | 14:32 | ||
si fueris Romae, Romano vivito more; si fueris alibi, vivito sicut ibi # apparently the original quote | 14:33 | ||
Juerd | Do you think they'd know if you'd make something up? | 14:35 | |
tadzik | that makes me consider using Tor there | ||
Juerd | I'd make me consider buying a local SIM | ||
tadzik | that too | ||
Juerd | But alas, I'm not going to the FPW at all :( | 14:36 | |
tadzik | shame :/ | ||
14:36
Gesh joined
14:44
cognominal left
14:45
cognominal joined,
_jaldhar joined,
jaldhar left
|
|||
masak | I think we're living in an age where people are throwing away their privacy like it was pocked lint. | 14:55 | |
I wonder if that will just become the default (and we'll consider it the price we pay for all the useful interconnectedness), or if there'll be a pendulum swing and people will rise up against governments and Facebook. | |||
huf | both! | 14:57 | |
people will rise up but ultimately nothing will change | |||
14:58
_jaldhar left
|
|||
cognominal | masak, stuff like small federated wikis (I pointed it earlier) will be way to discuss and organize and make centralized information repositories (à la fesse bouc, or G+) | 14:58 | |
… make them optionnal | |||
ho, btw, fesse bouc is the usual French pun on Facebook. | 14:59 | ||
masak | oh, of course. | ||
phenny: "la fesse bouc"? | |||
phenny | masak: "buttock goat" (fr to en, translate.google.com) | ||
masak | :P | ||
huf | oh good, everyone has some pun for facebook :) | 15:00 | |
masak | phenny: sv en "fejan"? | ||
phenny | masak: "your face" (sv to en, translate.google.com) | ||
15:00
_jaldhar joined,
Pleiades` left
|
|||
moritz | phenny: de en "fratze"? | 15:01 | |
phenny | moritz: "grimace" (de to en, translate.google.com) | ||
15:03
leprevost left
|
|||
masak | r: say (1, 2 Z 3, 4).perl | 15:07 | |
p6eval | rakudo dba6e9: OUTPUT«((1, 3), (2, 4)).list» | ||
masak | r: say (1, 2 Z, 3, 4).perl | ||
p6eval | rakudo dba6e9: OUTPUT«((1, 3), (2, 4)).list» | ||
masak | \o/ | ||
15:08
Chillance joined
15:12
tokuhirom left
|
|||
Gesh | r: say (1, 2, 3 Z, 4, 5, 6 Z, 7, 8 ,9).perl | 15:12 | |
p6eval | rakudo dba6e9: OUTPUT«(((1, 4), 7), ((2, 5), 8), ((3, 6), 9)).list» | ||
moritz | that looks wrong | 15:14 | |
masak submits rakudobug | 15:16 | ||
moritz++ | |||
er, and Gesh++ | |||
Gesh: hi, are you new here? | |||
15:16
asperge left
|
|||
Gesh | masak: yep) | 15:16 | |
masak | Russian? | ||
Gesh | yes | ||
masak | I'm a lucky guesser today) | ||
Gesh | huh | 15:17 | |
sisar | Gesh: welcome ! | ||
masak | Я немного говорю по русский, но я хотел бы говорить лучше. | ||
flussence | I'm not sure that code's wrong... | ||
Gesh | Thanks. I didn't really had an idea what i executed -.- | ||
masak | Gesh: you just found a bug, and it got reported. congratulations. | 15:18 | |
you are now part of a small but warm-hearted community of Perl 6 contributors. | |||
Gesh | Because first of all I even don't have an idea whether perl6 is reasonable to use nowdays. | ||
moritz | ((1, 4, 7), (2, 5, 8), (3, 6, 9)).list would be correct | ||
masak | depends on your definition of reason. | 15:19 | |
Gesh | yep. I wanted to obtain that | ||
masak | and your definition of use. | ||
Gesh | masak: у тебя неплохо получается :) | ||
masak | me and Google Translate, we work well together ;) | ||
sisar | phenny: en "у тебя неплохо получается" ? | ||
moritz | masak: I was just about to say that (though I'd have said definition of reasonable). Stop being so disturbing :-) | ||
masak | sisar: no, not 'en', 'ru'. | 15:20 | |
sisar: and no space before the '?' | |||
sisar | phenny: ru "у тебя неплохо получается"? | ||
phenny | sisar: "you have pretty well" (ru to en, translate.google.com) | ||
sisar | masak++ | ||
flussence | r: say (1..3 Z, 4..6 Z, 7..9).perl | ||
p6eval | rakudo dba6e9: OUTPUT«(((1, 4), 7), ((2, 5), 8), ((3, 6), 9)).list» | ||
flussence | r: say (1..3 Z, (4..6 Z, 7..9)).perl | ||
p6eval | rakudo dba6e9: OUTPUT«((1, 4), (2, 7), (3, 5)).list» | ||
flussence | well that's just weird. | ||
masak | moritz: when co-thinking happens, we're both equally disturbing :P | 15:21 | |
Gesh | s/have/do it/ | ||
flussence | r: say (1..3 Z, (4..6 Z, 7..9 , )).perl | ||
p6eval | rakudo dba6e9: OUTPUT«((1, 4), (2, 7), (3, 5)).list» | ||
masak | moritz: we should ride a tandem bicycle some day :) | ||
Gesh: some people would say we try to avoid answering the question by saying "depends on your definition of..." | 15:22 | ||
Gesh: let's just say many of us here would love to be able to say "yes". and we don't want to say "no", because that also doesn't cover it. | |||
Gesh | masak: That's seem to be correct anyway | 15:23 | |
masak | so we say "depends", and then we try to work on the bits that don't allow us to say "yes" unreservedly. | ||
thing is, turns out this is a big project. who knew. | |||
Gesh | Well, i have several simple scripts written in perl5 that make my work easier. Though I had some fun rewriting them in python and ruby I still prefer perl/ And i even don't know why. | 15:24 | |
masak | :) | 15:25 | |
tadzik | it's mostly a matter of preference, I think | ||
masak | yeah. | ||
but just like there are cat people and dog people, it seems that there are Perl people and Python people and Ruby people. | |||
thought the Perl/Ruby groups might be the ones that are closest to each other. | 15:26 | ||
though* | |||
Gesh | So, my question should sound more like 'is perl6 stable enough?' that must be followed by questions about literature, but I think i'll just google it. I'm not going to use it for some kind of enterprice and production | 15:27 | |
masak | perl6.org | ||
if you're not using it for very fancy/demanding things, I'd say it's ready/stable enough for you. | |||
but if I'm wrong on that point, we'd like to hear about it. | 15:28 | ||
15:29
Pleiades` joined
|
|||
tadzik has been pondering an idea to write a bayesian text classifier in Perl 6 | 15:30 | ||
sisar | raiph++ #replying to rakudo.org/2012/05/23/rakudo-star-2...mment-1665 | 15:32 | |
15:32
cognominal left,
cognominal joined
|
|||
Gesh | Ok :) I'll try it. | 15:32 | |
masak | the challenge in getting started is still finding the good bits of information; tutorials, blog posts, documentation. | 15:40 | |
moritz | that's what perl6.org was supposed to help you with, back in the days when I started with it | ||
masak | right. | ||
and it does help. | |||
but we're still far from actually having something of perldoc quality. | 15:41 | ||
15:44
kurahaupo left
|
|||
pmichaud | r: (1,2,3 Z 4,5,6 Z 7,8,9).perl.say | 15:47 | |
p6eval | rakudo dba6e9: OUTPUT«((1, 4, 7), (2, 5, 8), (3, 6, 9)).list» | ||
pmichaud | r: (1,2,3 Z+ 4,5,6 Z+ 7,8,9).perl.say | ||
p6eval | rakudo dba6e9: OUTPUT«(12, 15, 18).list» | ||
15:47
Pleiades` left
|
|||
pmichaud | hmmmmm | 15:47 | |
Gesh | r: say (1, 2, 3 Z, 4, 5, 6 Z, 7, 8 ,9).perl | 15:48 | |
p6eval | rakudo dba6e9: OUTPUT«(((1, 4), 7), ((2, 5), 8), ((3, 6), 9)).list» | ||
Gesh | r: say (1, 2, 3 Z 4, 5, 6 Z 7, 8 ,9).perl | ||
p6eval | rakudo dba6e9: OUTPUT«((1, 4, 7), (2, 5, 8), (3, 6, 9)).list» | ||
Gesh | commas | 15:49 | |
pmichaud | r: say ([,] 1,2,3).perl | ||
p6eval | rakudo dba6e9: OUTPUT«(1, 2, 3)» | ||
pmichaud | yes, I'm trying to decide how to distinguish them. | ||
15:49
cog_ joined
|
|||
jnthn | pmichaud: Is it not a little like the [|] fix you did not so long ago? | 15:49 | |
pmichaud | jnthn: it might be... but I'm not sure why it's not working in the first place.... and I'm not convinced that it's wrong. | 15:51 | |
masak | I got the title wrong. was 'Z', should be 'Z,'. changed now. rt.perl.org/rt3/Ticket/Display.html?id=113800 | 15:52 | |
15:52
cognominal left
|
|||
masak | pmichaud: depends. is infix:<,> a list infix op? | 15:52 | |
if it is, then arguably infix:<Z,> should be too. | |||
pmichaud | other that the fact that S03 explicitly says that Z, should work that way. | 15:53 | |
15:53
Pleiades` joined
|
|||
pmichaud | infix:<,> has list associativity, yes. | 15:53 | |
masak | ah. yes. that's probably what I meant. | 15:54 | |
pmichaud | it's not %list_infix precedence. | ||
masak | I see from the S03 precedence table that it... right. | ||
pmichaud | %comma is tighter than %list_infix | ||
masak | nod. | ||
pmichaud | anyway, I'm at a meeting now; I'll look into it more later | ||
(if someone doesn't beat me to it) | 15:55 | ||
bbl | |||
moritz | r: say (<a b c> Z <d e f> Z <g h i>).tree.perl | 15:58 | |
p6eval | rakudo dba6e9: OUTPUT«Not enough positional parameters passed; got 1 but expected between 3 and 4 in method new at src/gen/CORE.setting:5016 in method tree at src/gen/CORE.setting:5272 in block <anon> at /tmp/2tCaEc_m1b:1» | ||
moritz | masak: wanna submit? | ||
r: say (<a b c> Z <d e f> Z <g h i>).lol.perl | |||
p6eval | rakudo dba6e9: OUTPUT«LoL.new(ListIter.new())» | ||
moritz | masak: wanna submit? | ||
r: say .join('|') for (<a b c> Z <d e f> Z <g h i>).lol | 15:59 | ||
p6eval | rakudo dba6e9: OUTPUT«a|d|g|b|e|h|c|f|i» | ||
moritz | r: say .join('|') for (<a b c> Z <d e f> Z <g h i>).lol.map(*.item) | ||
p6eval | rakudo dba6e9: OUTPUT«a|d|g|b|e|h|c|f|i» | ||
moritz | r: say .join('|') for (<a b c> Z <d e f> Z <g h i>).tree(*.item) | ||
p6eval | rakudo dba6e9: OUTPUT«Not enough positional parameters passed; got 1 but expected between 3 and 4 in method new at src/gen/CORE.setting:5016 in method tree at src/gen/CORE.setting:5283 in block <anon> at /tmp/MNSpCE3r4I:1» | ||
15:59
kurahaupo joined
|
|||
moritz | r: say (<a b c>, <d e f>, <g h i>).tree.perl | 16:01 | |
p6eval | rakudo dba6e9: OUTPUT«LoL.new($("a", "b", "c"), $("d", "e", "f"), $("g", "h", "i"))» | ||
moritz | r: say (((1, 2), 3), 4).tree.perl | ||
p6eval | rakudo dba6e9: OUTPUT«LoL.new($((1, 2), 3), 4)» | ||
moritz | then I don't understand why .tree carps at the return value from Z | 16:02 | |
16:06
Pleiades` left
|
|||
dalek | href="https://perl6.org:">perl6.org: 9739149 | moritz++ | source/ (3 files): general cleanup; remove links to outdated resources also state that up-to-dateness is more important than comprehensiveness |
16:12 | |
16:16
Gesh is now known as pupoque
16:17
pupoque left
16:18
ponbiki joined
16:23
vmspb joined
16:24
pupoque joined
16:28
pupoque left
16:32
pupoque joined
16:35
_jaldhar left
16:36
_jaldhar joined
|
|||
masak submits rakudobug | 16:39 | ||
sorry, was out :) | |||
r: say (<a b c> Z <d e f>).tree.perl | 16:41 | ||
p6eval | rakudo dba6e9: OUTPUT«Not enough positional parameters passed; got 1 but expected between 3 and 4 in method new at src/gen/CORE.setting:5016 in method tree at src/gen/CORE.setting:5272 in block <anon> at /tmp/9HJzWnbf7k:1» | ||
masak | r: say <d e f>.tree.perl | ||
p6eval | rakudo dba6e9: OUTPUT«LoL.new("d", "e", "f")» | ||
masak | r: say (1,2 Z 3,4).tree.perl | 16:42 | |
p6eval | rakudo dba6e9: OUTPUT«Not enough positional parameters passed; got 1 but expected between 3 and 4 in method new at src/gen/CORE.setting:5016 in method tree at src/gen/CORE.setting:5272 in block <anon> at /tmp/3NFL8gcjvK:1» | ||
masak | r: say (<a b c> Z <d e f> Z <g h i>).lol.perl | 16:43 | |
p6eval | rakudo dba6e9: OUTPUT«LoL.new(ListIter.new())» | ||
masak | moritz: what's the bug in ^ | ||
? | |||
diakopter: when marking up some RT ticket as being a dupe of some other RT ticket, it's very helpful for those of us who can merge tickets if the id of that other ticket is provided ;) | 16:45 | ||
anyway, diakopter++ for lots of RT triaging while I was away. | |||
ajs_home | so, right now, nothing calls DESTROY? | 16:50 | |
masak | I assume people here on #perl6 either have seen this already, or will want to be blown away by it: xahlee.org/math/recursive_game_of_life.html | ||
ajs_home: could you please be more specific? | 16:51 | ||
ajs_home: there are several implementations of Perl 6. | |||
ajs_home | r: class A { method DESTROY { say "Gone" } }; given A.new() { } | ||
p6eval | rakudo dba6e9: ( no output ) | ||
ajs_home | As part of the IO buffering change I mentioned yesterday, I'm trying to make sure that self.flush() is called when an IO goes away, but DESTROY never gets called, so I don't know how to force that to happen... | 16:54 | |
moritz | r: say eval('LoL.new(ListIter.new())').perl | ||
p6eval | rakudo dba6e9: OUTPUT«LoL.new(ListIter.new())» | ||
16:54
swapnil joined
|
|||
moritz | r: say eval('LoL.new(ListIter.new())').list | 16:54 | |
p6eval | rakudo dba6e9: OUTPUT«» | ||
moritz | masak: the .perl output produces an empty LoL | ||
masak | it's not empty, it's just not unrolled yet. | ||
16:54
Pleiades` joined
|
|||
masak | but yes, I think I agree that's wrong. | 16:54 | |
moritz | what does "not unrolled yet" mean? | 16:55 | |
16:55
cog_ left
|
|||
masak | that the list iterator hasn't been, I dunno, .gimme'd yet. | 16:56 | |
ajs_home | so, grepping for DESTROY in src shows nothing. I'm guessing that either it's been renamed or it's just NYI... | ||
masak | or something. I'm no listiter expert. | ||
ajs_home: it's NYI, at least in Rakudo. | |||
16:56
cognominal joined
|
|||
ajs_home | ok, is there any way to hook object destruction at all in the short-term, or should I just put a scary NYI comment around my DESTROY method? | 16:57 | |
masak | I'd be happy to hear about your use case. I don't see how DESTROY methods can ever be practical in Perl 6. | 16:59 | |
I think your best bet is to call a destructor manually. | |||
might as well call it .DESTROY ;) | |||
ajs_home | masak: I don't understand. Can you explain how you think it should be called manually? Currently, in my implementation, DESTROY calls self.flush to clear any buffered output. Who would manually call that? | 17:01 | |
flussence | I guess you'd have to manually reference-count the object in all scopes it's used in, and have LEAVE emulate a "real" destructor in each place. | 17:04 | |
ajs_home | flussence I don't really have access to user scopes from IO.pm, do I? | 17:05 | |
flussence | hm, every user's going to have to do it themselves in that case | 17:06 | |
masak | aye. | ||
which is less than awesome. | |||
the nicest solution I've seen is something like `my $fh will leave { .flush }` | 17:07 | ||
but the onus is still on the end user programmer. | |||
...and I don't know that with a GC (as opposed to refcounting), we'll ever be able to improve on that. | |||
ajs_home | yeah, i think it's a reasonable expectation that, for example, a socket that goes out of scope will flush its contents.... | ||
17:08
Pleiades` left
|
|||
masak | ajs_home: it's a reasonable expectation with a refcounting deallocator. | 17:08 | |
jnthn | Well, apart from it may be referenced by something other than the lexical it was declared it. | ||
ajs_home | But that's a special case, in my current example this writes nothing to the file: given open("test.foo",:w) { .buffer_type(:full); .say("test") } | ||
jnthn | So end of scope isn't a sane default really. | ||
ajs_home | and that just feels wrong | ||
masak | jnthn: that's not even the problem. the problem is that collection isn't timely. | ||
ajs_home: I agree. I would very much like to see a solution to this. I just don't know one. | 17:09 | ||
jnthn | masak: That doesn't contradict what I said. | ||
17:09
cognominal left
|
|||
masak | jnthn: right. what you said is just an extra complication that isn't necessary to make this a hard problem. | 17:09 | |
jnthn | masak: My point was that if you have non-timely collection then end of scope reached != known the thing is unused. | 17:10 | |
And no good way to know. | |||
masak | what you said is valid in a refcounting environment as well. | ||
jnthn | With a refcoutning GC you have a way to know. | ||
masak | oh, I see what you mean. | ||
17:10
cognominal joined
|
|||
masak | well, the thing seems easy and "maybe we could do some clever analysis", but then one remembers threads. | 17:11 | |
jnthn | So only the programmer understands the lifetime well enough to know if end of scope is a good time to do final-ish things, and the will leave... thing is a way to mark that. | ||
ajs_home | At some point, though, some piece of the infrastructure does clean up unused items, though, right? Or does A.new() allocate RAM that will only be freed when the parrot process calls a C exit(2)? | 17:12 | |
jnthn | ajs_home: Something will clean up, yes. But it could be in 10 miliseconds, or 10 hours. | ||
(if you have a process that runs that long) | 17:13 | ||
ajs_home | jnthn: that's less than ideal, but it would be a better time to call .DESTROY than never, wouldn't it? | ||
masak | I think cleanup is guaranteed at exit, but .DESTROY isn't. which is what makes .DESTROY particularly useless. | ||
I could be wrong on this. | |||
ajs_home | reading whiteknight.github.com/2012/05/23/d...ot+Blog%29 | 17:14 | |
jnthn | ajs_home: Sure, it should get called at some point, afaik. | 17:15 | |
The real reason that DESTROY isn't implemented is because of Parrot not currently solving the ordering problem or the resurrection problem. | |||
(Which are hard problems.) | 17:16 | ||
masak | what are those? curious. | ||
a URL is fine. | |||
ajs_home | I think whiteknight.github.com/2012/05/23/d..._hard.html is a good reference which is why I linked it. | 17:17 | |
"Parrot does have destructors, of a sort, in the form of the destroy vtable. That routine is called by the GC when the object is being reclaimed, during the sweep pass." | |||
masak | ok; thank you. | ||
jnthn | Don't have one handy, but basically, resurrection means that the DESTROY could bring dead objects back to life. | ||
And I suspect the other link explains the ordering issue | |||
masak | ok. | ||
17:18
JimmyZ left
|
|||
ajs_home | heh, "Turning off GC finalization leads to the problem above where data written to the FileHandle is not not flushed before program exit. You are probably now starting to understand the bigger picture here." --- boy howdy, I wish I'd read this first | 17:18 | |
masak | :) | 17:19 | |
17:23
Pleiades` joined
|
|||
ajs_home | Hmm... tried asking if that's been implemented on #parrot, but crickets so far... | 17:27 | |
I'll do some testing | 17:28 | ||
moritz | iirc they recently separated destruction vtables and actual deallocation | ||
(or did it in a branch at least) | |||
oh, that's what the link was talking about | |||
never mind, I should not half-backlog and then babble about it | 17:29 | ||
ajs_home | yeah | ||
heehee | |||
Yep, that article sounds very promising (and mentions you, moritz) but it wasn't clear if it's been implemented yet | |||
17:33
swapnil left
17:38
Pleiades` left
17:42
thou joined
17:43
thou left
17:50
vmspb left
|
|||
tadzik | re DESTROY and flushing buffers, Go has no destructors and seems to use defer statement, which is similar to our LEAVE | 17:52 | |
ajs_home | In Python, I can take the value of foo.x where foo is an object and x is a method name. What I get is a sort of functor that knows its invocant is foo and when invoked calls the method x. | 17:53 | |
is there anything like that in Perl 6? | |||
masak | tadzik: 'defer' seems to be a LEAVE for functions. | ||
ajs_home | Obviously I can make one explicitly by defining a closure, but I was wondering if there was something simpler... it rings a bell, but I can't keep %*SPECS in my head | 17:54 | |
moritz | *.method ? | ||
masak | nr: class Foo { method x { say "OH HAI" } }; my $foo = Foo.new; my &c = -> { $foo.x }; say "not called yet"; &c() | ||
p6eval | rakudo dba6e9, niecza v18-7-ga660099: OUTPUT«not called yetOH HAI» | ||
masak | \o/ | ||
ajs_home: goodenuf? | |||
ajs_home | masak, moritz, thanks! | 17:55 | |
moritz | r: say <a b c>.map: *.uc | ||
p6eval | rakudo dba6e9: OUTPUT«A B C» | ||
18:00
cognominal left
18:01
cognominal joined
|
|||
sorear | good * #perl6 | 18:06 | |
18:06
Pleiades` joined
|
|||
moritz | \o sorear | 18:09 | |
sorear | o/ moritz | ||
moritz | p6: role A { }; say A ~~ Mu | ||
p6eval | rakudo dba6e9, niecza v18-7-ga660099: OUTPUT«True» | ||
masak | sorear! \o/ | 18:15 | |
huh? what about Pugs? | 18:16 | ||
sorear | masak! \o/ | ||
masak | pugs: say "you there?" | ||
p6eval | pugs: OUTPUT«you there?» | ||
masak | p6: say "OH HAI" | ||
p6eval | rakudo dba6e9, niecza v18-7-ga660099: OUTPUT«OH HAI» | ||
masak | so 'p6' and 'rn' are synonymous now? | ||
sorear | 2012.06.22.13.52.16 < dalek> evalbot: 61a54c0 | moritz++ | evalbot.pl: | ||
2012.06.22.13.52.16 < dalek> evalbot: remove pugs from p6/perl6 targets | |||
moritz | masak: I've removed it from the 'perl6' target, because it spews errors on every regex invocation | ||
masak | ok. | ||
moritz | rnp: say 'but I am here too' | ||
p6eval | rakudo dba6e9, niecza v18-7-ga660099, pugs: OUTPUT«but I am here too» | ||
ajs_home | rn: every regex invocation | 18:17 | |
p6eval | rakudo dba6e9: OUTPUT«===SORRY!===Malformed regexat /tmp/dl00QH_6cu:1» | ||
..niecza v18-7-ga660099: OUTPUT«===SORRY!===Methods must be used in some kind of package at /tmp/hNfoeI8Idj line 1 (EOF):------> every regex invocation⏏<EOL>Malformed block at /tmp/hNfoeI8Idj line 1 (EOF):------> every regex invocation⏏… | |||
sorear | rpn: say "hi" | ||
p6eval | rakudo dba6e9, niecza v18-7-ga660099, pugs: OUTPUT«hi» | ||
sorear | prn: say "hi" | ||
p6eval | rakudo dba6e9, niecza v18-7-ga660099, pugs: OUTPUT«hi» | ||
moritz | ... and I've added all 6 permutations :-) | ||
ajs_home | seems rn has the same problem. You should fix the "every regex invocation" bug | ||
I'm assuming it should execute all possible regexen? Or perhaps just print "go fish" to $*OUT... | 18:18 | ||
tadzik | :) | ||
ajs_home | OK, now I'm way off in the weeds... | 18:19 | |
masak | pn: say "Pugs and Niecza! \\o/" | ||
aww :) | |||
ajs_home | I'm trying things like: Mu.HOW.add_parrot_vtable_mapping(Mu, "destroy", ->($self){ $self.DESTROY }); Mu.HOW.publish_parrot_vtable_mapping(Mu); class A { has $.i; method DESTROY { say "Gone ", .i } } ; for 1..1 -> $i { say "Step $i"; my $tmp = A.new(:$i) } | ||
which, btw, doesn't work | |||
18:20
pupoque left
|
|||
moritz | it needs support in the 6model layer first | 18:20 | |
jnthn | I suspect adding that first needs destruction vs. deallocation stuff figuring out too | 18:21 | |
ajs_home | ah ok, I was hoping it was a trivial thing to rip Mu's guts out and replace them with whatever I liked... this, in retrospect, is a crazy assumption | ||
moritz | fwiw the rakudo star is now releasable; just needs an announcement, and somebody doing it | ||
ajs_home | Q:PIR { $lunch.invoke() } | 18:22 | |
masak | moritz++ | ||
18:22
sftp left
|
|||
jnthn | (R*) I can probably find tuits for that in the next couple of days, but anybody who fancies making the release can feel free to beat me to it :) | 18:22 | |
18:22
sftp joined
|
|||
dalek | c: 709d140 | moritz++ | lib/Mu.pod: add so basic Mu docs |
18:24 | |
moritz | LHF: improve the wording of the 'clone' docs | ||
18:25
kaare_ left
18:27
MayDaniel joined
|
|||
sisar | doing `perl Configure.pl --gen-nqp` gives me "NQP has been built and installed. ===SORRY!=== NQP revision 2012.06-11-gfcc9a23 required (currently 2012.05-203-g7176d14)." What's wrong? | 18:41 | |
moritz | that's weird | 18:42 | |
sisar | It seems that '--gen-nqp' is not building the latest nqp, as it is supposed to. | ||
moritz | sisar: is there an older NQP in $PATH maybe? | ||
sisar | moritz: i'll check | ||
moritz | I don't think it should matter, but maybe it does | ||
sisar | moritz: yes there is an older version, but I thought '--gen-nqp' will replace it automatically. | 18:45 | |
(found using /rakudo/install/nqp --version) | 18:46 | ||
err, rakudo/install/bin/nqp --version | |||
moritz | sisar: it does, usually | 18:47 | |
sisar | "usually" ? :-) | ||
moritz | "works for me" :-) | ||
sisar | "has always worked for me" ;-) | 18:48 | |
moritz | sisar: I'm curious, if you call Configure.pl --gen-parrot does it rebuild nqp? | ||
dalek | p: 8a787d6 | moritz++ | VERSION: bump VERSION |
||
p: c7f76bc | moritz++ | VERSION: Merge branch 'release-2012.06.1' |
|||
sisar | moritz: yes it rebuilds nqp | 18:50 | |
moritz: will ^^ these commits help ? | |||
moritz | sisar: I doubt it. Talking about NQP versions just made me remember that I should have merged the release branch | 18:51 | |
sisar | moritz: oh. | ||
sisar tries --gen-parrot again | 18:52 | ||
yup, same error again :| | 19:01 | ||
tadzik | who wants to write an urldecode implementation? :) | 19:02 | |
19:02
MayDaniel left
|
|||
sisar | moritz: can I just manually delete the nqp execulablt in rakudo/install/bin ? | 19:02 | |
tadzik | oh, URI has one | ||
ask, and the answer will magically turn out | |||
flussence | tadzik: does it do utf-8-encoded things properly? | ||
tadzik | flussence: I'll check | 19:03 | |
flussence: tests seem to indicate that it does | |||
sisar | moritz: if this helps, here is my build log for `perl Configure.pl --gen-parrot` gist.github.com/2979501 . The error is at the end. | 19:05 | |
flussence | the url escape thing bundled in Pod::To::HTML doesn't quite do it right, if that works then maybe I'll swap it | 19:06 | |
tadzik | flussence: see github.com/ihrd/uri/blob/master/t/escape.t | ||
sisar | huh, i just found out, nqp REPL too ! | ||
flussence | tadzik: looks like exactly what I'm looking for :D | ||
sisar | *there is nqp REPL too ! | ||
tadzik | yep | 19:07 | |
but it's a bit lta | |||
masak | rn: my @a = [1, 2, 3], [4, 5, 6]; @a.push(@a».reverse); say @a.perl | 19:08 | |
p6eval | niecza v18-7-ga660099: OUTPUT«Unhandled exception: Unable to resolve method reverse in type Int at /tmp/ZUtci_oCmp line 1 (ANON @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 3051 (hyperunary @ 66)  at /home/p6eval/niecza/lib/CORE.setting line 3042 (hyperunary @ 36)  at /hom… | ||
..rakudo dba6e9: OUTPUT«Array.new([1, 2, 3], [4, 5, 6], [1, 2, 3], [4, 5, 6])» | |||
masak submits rakudobug | 19:09 | ||
r: say [1, 2, 3].reverse | |||
p6eval | rakudo dba6e9: OUTPUT«3 2 1» | ||
masak | oh wait. | 19:10 | |
moritz | >> is hyper | ||
and descends into arrays | |||
masak | it's not a bug, it's the crappy spec'd behavior of » | ||
tadzik | flussence: yeah, verified on Bailador | ||
masak | I shouldn't say "crappy". I just never understood what problem TimToady was solving with that spec change. | 19:11 | |
maybe if I did I would think it was great. | |||
oh well. &map works like I want. | |||
moritz | if somebody wants to hack a bit of fun and useful Perl 6, write a script that HTMLifies the .pod files in github.com/perl6/doc/ | 19:12 | |
sorear | i'm with masak here insofar as rationales are one of the most important parts of userdocs | ||
masak | r: my @a = [1, 2, 3], [4, 5, 6]; @a.push(map &reverse, @a); say @a.perl | ||
p6eval | rakudo dba6e9: OUTPUT«This type cannot unbox to a native integer in method reify at src/gen/CORE.setting:5059 in method reify at src/gen/CORE.setting:4958 in method reify at src/gen/CORE.setting:4958 in method gimme at src/gen/CORE.setting:5342 in method push at src/gen/CORE.s… | ||
masak | wtf | ||
masak submits rakudobug | |||
moritz | r: ~<a b c>.map: &reverse | 19:13 | |
p6eval | rakudo dba6e9: OUTPUT«This type cannot unbox to a native integer in method reify at src/gen/CORE.setting:5059 in method reify at src/gen/CORE.setting:4958 in method reify at src/gen/CORE.setting:4958 in method gimme at src/gen/CORE.setting:5342 in method eager at src/gen/CORE.… | ||
moritz | masak: long known | ||
masak | ok. | ||
long in RT, too? :) | |||
moritz | masak: it's when you pass a callable with slurpy positional to map | ||
yes | |||
masak | ah. | 19:14 | |
moritz | it tries to unbox_i(&code.count) | ||
which is Inf | |||
I thought that pmichaud++'s map branch had fixed that | |||
but maybe it was only an early version that fixed it | |||
masak | `map { [.reverse] }` does what I want. | 19:15 | |
moritz | *.reverse.item might also work | 19:16 | |
19:17
brrt joined
|
|||
moritz | I wonder if map + slurpy should warn | 19:17 | |
or if it should act as if the .count was 1 | 19:18 | ||
because map + slurpy is the same as just calling the slurpy with the whole list, which means you could have left out the map altogether. If you did write the map, you likely expected something else | 19:19 | ||
geekosaur | warn is probably best. personally I'd expect something like a type mismatch in that case, unless it's a list of lists | 19:20 | |
moritz | usually warnings are the worst solution | 19:21 | |
they stigmatize patterns that might still be useful one way or another | |||
which is why I'm not going straight ahead and implementing or speccing a warning, but rather discuss it here :-) | 19:22 | ||
19:31
birdwindupbird joined
19:33
GlitchMr left
|
|||
masak | I keep reimplementing perms. | 19:43 | |
rn: sub insert-everywhere($e, @a) { map { [@a[^$_], $e, @a[$_..*]] }, 0..@a }; multi perms() { [] }; multi perms($hd, *@tl) { map { insert-everywhere($hd, $_) }, perms |@tl }; say perms(1,2,3).perl | 19:44 | ||
p6eval | niecza v18-7-ga660099: OUTPUT«(timeout)» | ||
..rakudo dba6e9: OUTPUT«([1, 2, 3], [2, 1, 3], [2, 3, 1], [1, 3, 2], [3, 1, 2], [3, 2, 1]).list» | |||
masak | this might possibly be the nicest implementation I've written so far. | ||
Niecza seems to hiccup on that one. | 19:45 | ||
r: say |[1, 2, 3, 4, 5, 6] | 19:47 | ||
p6eval | rakudo dba6e9: OUTPUT«123456» | ||
masak | r: say |(1..6) | ||
p6eval | rakudo dba6e9: OUTPUT«No such method 'FLATTENABLE_LIST' for invocant of type 'Range' in block <anon> at /tmp/QoQTK6Marz:1» | ||
masak | could I request such a method in Range? | ||
jnthn | Should be pretty easy. | 19:48 | |
masak submits rakudobug | |||
19:54
stephenlb left
|
|||
flussence | I'm not having much luck with perl6 lately... now panda seems to be broken for me and I can't even reinstall it :( | 20:16 | |
"resolve stage failed for panda: Dependency resolution has failed: stage test failed for File::Tools" | |||
20:19
mj41 left
|
|||
masak | that's unfortunate. | 20:19 | |
are you able to debug the error in any way. | |||
s/.$/?/ | 20:20 | ||
flussence | I'm getting: | ||
t/01-file-find.t (Wstat: 0 Tests: 7 Failed: 6) Failed tests: 1-3, 5-7 | |||
I've no idea why it'd fail though | |||
it's testing for existence of certain test files, and they *are* there... | 20:22 | ||
moritz tries | |||
same here | |||
flussence | oh! maybe it's because of the dir IO change | 20:23 | |
masak | sorry about that. | ||
20:23
mj41 joined
|
|||
moritz | eeks | 20:23 | |
flussence | .oO( that might also explain why my already-installed panda didn't install anything even when the output showed success... ) |
20:24 | |
20:24
birdwindupbird left
|
|||
masak .oO( pro tip: when making API changes to upstream, consider the downstream effects ) | 20:25 | ||
masak-- | |||
flussence | no need to be so hard on yourself, things have to break sometimes. :) | ||
20:25
birdwindupbird joined
|
|||
moritz | masak: I guess the right lesson is just not to do it shortly before the release | 20:26 | |
spider-mario | .u þ | ||
phenny | U+00FE LATIN SMALL LETTER THORN (þ) | ||
masak | moritz: right. Star hasn't been released yet, has it? | ||
moritz | masak: correct, it hasn't | 20:27 | |
masak | oh phew | ||
flussence++ # discovering | |||
flussence | I think someone else would've complained before me if it had :) | ||
moritz | masak: second lesson: note API breakages in docs/ChageLog | ||
masak | ooh, good idea. | 20:28 | |
may I do that now? | |||
moritz | sure | ||
masak does it | |||
20:29
vmspb joined
|
|||
masak | will it go under 2012.06 or 2012.07? | 20:30 | |
moritz | 2012.06 | ||
masak | ok | ||
(git commit --amend)++ | |||
dalek | kudo/nom: 85d88b3 | masak++ | docs/ChangeLog: [docs/ChangeLog] &dir API changed |
||
moritz | hm, File::Tools isn't fixed by simply adding .path to the return values of dir() | 20:31 | |
20:31
brrt left
|
|||
masak | that would be because .path gives the full path, whereas &dir used to return only filenames. | 20:32 | |
moritz | ok, how do I get only the file name from IO? | ||
masak | I didn't spec or implement that. | ||
but one way would be .split('/')[*-1], I guess. | |||
20:33
thou joined
|
|||
moritz | masak: have you patched ufo already? | 20:34 | |
masak | um, no. | ||
I can do that. | 20:35 | ||
moritz | it probably simplifies the code a bit | ||
masak | aye, looks like. | ||
it needs a patch to dirwalk at the end. | 20:36 | ||
I'm on it. | |||
moritz | modularization++ | ||
tadzik: moritz.faui2k3.org/tmp/0001-fix-fin...nges.patch | 20:37 | ||
masak | moritz++ | 20:42 | |
20:46
thou left
20:48
MayDaniel joined
|
|||
moritz | masak: would you please set up dalek notifications for ufo? | 20:49 | |
masak | somehow I thought ufo would have them already. | ||
where's dalek again? | |||
hm, whiteknight's repos? | 20:50 | ||
moritz | the instructions are in mu | ||
masak | oki, thanks. | ||
moritz | misc/dalek-push.txt or so | ||
jnthn: I tried to add two lines to Range.pm | 20:51 | ||
+ method FLATTENABLE_LIST() { nqp::getattr(self.flat, List, '$!items') } | |||
+ method FLATTENABLE_HASH() { nqp::hash() } | |||
but f(|$range) gives me "flattened parameters must be a hash or array" | 20:52 | ||
jnthn | moritz: Does .flat actually reify the thing? | ||
moritz | nqp: say (1..5).flat.WHAT | 20:53 | |
p6eval | nqp: OUTPUT«Confused at line 2, near "say (1..5)"current instr.: 'nqp;HLL;Grammar;panic' pc 22164 (src/stage2/gen/NQPHLL.pir:8486) (src/stage2/gen/NQPHLL.pm:326)» | ||
moritz | r: say (1..5).flat.WHAT | ||
p6eval | rakudo dba6e9: OUTPUT«List()» | ||
moritz | r: say (1..5).flat.gimme(1) | ||
p6eval | rakudo dba6e9: OUTPUT«1» | ||
jnthn | No :) | ||
maybe needs .eager too | |||
moritz | ah, that's a parrot error | 20:54 | |
jnthn | yes | ||
moritz tries again, eagerly this time | 20:55 | ||
dalek | o: e55c146 | moritz++ | bin/ufo: fix up installation mkdir |
20:57 | |
o: db12dc5 | moritz++ | bin/ufo: handle installing scripts |
|||
o: c863621 | moritz++ | bin/ufo: install .pod files |
|||
o: 45773b2 | moritz++ | bin/ufo: handle dependencies to modules not in the current distribution (ie ignore them) |
|||
o: e889d21 | moritz++ | bin/ufo: do not rely on the "find" executable based on dirwalk code by not_gerd++ |
|||
o: a644578 | (Carl Mäsak)++ | bin/ufo: [bin/ufo] chased Rakudo &dir API change A simplifying change to &dirwalk. &dir now dresses up the path as an IO object. |
|||
masak | hook seems to be working. | ||
moritz++ | |||
moritz | masak: is it noremal that it reports (Carl Mäsak)++ instead of masak++? | 20:58 | |
ah, in rakudo you're "Carl Masak" | |||
masak | hrm. | 20:59 | |
dalek | kudo/nom: 582c906 | moritz++ | / (2 files): allow ranges to interpolate into argument lists |
21:01 | |
moritz | remote: fatal: bad object b9c2e9529d1d17ef5158a67a65cc2bf1ef14a547 | 21:02 | |
remote: aborting due to possible repository corruption on the remote side. | |||
I got this during a rakudo 'git pull' | |||
second one worked | |||
but that's a scary error message :-) | 21:03 | ||
Woodi | good * :) there is nice bear vs newest & expensives Nikon thread. info from fredmiranda.com: www.dpreview.com/news/2012/05/21/Gr...d-Nikon-D4 | 21:04 | |
21:05
thou joined
|
|||
moritz | was it a bipolar bear? | 21:06 | |
nr: .say for Iterable, Iterator | 21:07 | ||
p6eval | niecza v18-7-ga660099: OUTPUT«===SORRY!===Undeclared name: 'Iterable' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1401 (die @ 5)  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37)  at /hom… | ||
..rakudo dba6e9: OUTPUT«Iterable()Iterator()» | |||
masak | or did it object to the bipolar objectives in the camera? | ||
moritz | r: class A { has $.x; method succ { A.new(x => $.x + 1) } }; say (A.new(x => 3)..A.new(x => 5)).list.perl | 21:10 | |
p6eval | rakudo dba6e9: OUTPUT«(A.new(x => 3),).list» | ||
21:10
birdwindupbird left
|
|||
Woodi | ppls definitly states that that grizzli prefer Canon over Nikon or Nikon over Canon so bipolarity here :) | 21:11 | |
tadzik | moritz++ # thanks, applied | 21:14 | |
ah, I need a new enough Rakudo to test it :) | |||
21:15
thou left
|
|||
moritz | r: say ('a' ^.. 'f').list | 21:17 | |
p6eval | rakudo 582c90: OUTPUT«b c d e f» | ||
21:17
pupoque joined
|
|||
masak | r: say ('q' ^..^ 'q').list | 21:20 | |
p6eval | rakudo 582c90: OUTPUT«» | ||
szabgab | how can I make a push NOT flatten the hash ? @a.push( %h ) | 21:23 | |
masak | %h.item | ||
or $%h | |||
r: my @a; my %h = 1..4; @a.push(%h); say @a | 21:24 | ||
p6eval | rakudo 582c90: OUTPUT«1 2 3 4» | ||
masak | r: my @a; my %h = 1..4; @a.push(%h.item); say @a.perl | ||
p6eval | rakudo 582c90: OUTPUT«Array.new({"1" => 2, "3" => 4})» | ||
masak | r: my @a; my %h = 1..4; @a.push($%h); say @a.perl | ||
p6eval | rakudo 582c90: OUTPUT«===SORRY!===Invalid hard reference syntax at line 2, near "%h); say @"» | ||
masak | oh, forget about $%h for now :) | ||
szabgab | masak: yeah I saw that :) | ||
thanks for the .item though | 21:25 | ||
masak | np | ||
21:33
herbert_ joined
|
|||
dalek | c: 04c86cc | moritz++ | lib/Range.pod: initial Range docs |
21:34 | |
masak | those look like excellent docs. | 21:35 | |
I'm more inclined to jump in now that I see the standard of them. | 21:36 | ||
21:40
MayDaniel left
|
|||
dalek | nda: b78a5a0 | tadzik++ | ext/File/Find.pm: Update File::Find for new Rakudo |
21:42 | |
tadzik | moritz: btw, did you look at the panda/p6doc issue? | ||
my new ufo doesn't work with my new rakudo | 21:49 | ||
spider-mario | I just got an LTA error message | ||
“Can not get non-existent attribute '$!ex' on class 'Exception'” | |||
tadzik | gist.github.com/2980176 | ||
"Can not"? | |||
sergot | tadzik: there are some "can_not"s. :) | 21:50 | |
tadzik: if that's what you mean. | 21:51 | ||
tadzik | I thought is was to be unified as "cannot" everywhere | ||
spider-mario: code? | |||
spider-mario | I may be able to reproduce it here | ||
r: sub test(%?faulty){} | |||
p6eval | rakudo 582c90: OUTPUT«===SORRY!===In signature parameter %?faulty, it is illegal to use the ? twigilat /tmp/oK01bLjizh:1» | ||
sergot | nqp/src/6model/reprs/P6opaque.c:472 - that's this error message | ||
tadzik | indeed | 21:52 | |
sergot | or nqp/src/6model/reprs/CStruct.c:406 | ||
tadzik | and jnthn wrote that, so I assume it's correct :) | 21:53 | |
jnthn | The error is a bit of an "internal" one. | ||
Most likely wrong use of nqp::getattr(...) somewhere. | 21:54 | ||
21:54
herbert_ left
21:55
mikemol_ joined
|
|||
masak | good night, butterflies. | 21:57 | |
diakopter | o | ||
tadzik | goonight | 21:58 | |
sergot | good night :) | ||
21:59
mikemol_ left
22:07
sergot left
22:08
pupoque left,
pupoque joined
|
|||
jnthn | 'night, #perl6 | 22:14 | |
22:56
vmspb left
23:05
am0c left
23:28
spider-mario left
23:29
PacoAir left
|
|||
pmichaud | good evening, #perl6 | 23:32 | |
tadzik | good evening pmichaud | ||
sorear | good evening pmichaud and jnthn | ||
*tadzik | 23:33 | ||
23:33
pupoque left
|
|||
pmichaud | r: sub xyz(*@a) { say @a.join('|'); }; my $c = 3; xyz(|$c); | 23:34 | |
p6eval | rakudo 582c90: OUTPUT«No such method 'FLATTENABLE_LIST' for invocant of type 'Int' in block <anon> at /tmp/7qU3SLJsLk:1» | ||
dalek | c: 58486e8 | moritz++ | lib/Range.pod: [Range] add some examples |
23:36 | |
23:41
pupoque joined
|
|||
pmichaud | r: shell('ls'); | 23:44 | |
p6eval | rakudo 582c90: OUTPUT«shell is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting:2 in sub shell at src/RESTRICTED.setting:7 in block <anon> at /tmp/Qz_TdeuUls:1» | ||
pmichaud | \o/ | 23:45 | |
skids finds himself wishing there was adverbial pair sugar like unto :adverbkey⌈This value is a string with spaces⌉ | 23:52 | ||
pmichaud | :adverb("This value is a string with spaces") # :-) | 23:53 | |
you need more sugar than that??? | |||
skids | Need? no. but when my string contains ' and ", :x(q«...») gets clunky. | 23:55 | |
pmichaud | just a sec, checking | 23:56 | |
could do: :adverb(「my string here」) | 23:58 | ||
.u 」 | |||
phenny | U+FF63 HALFWIDTH RIGHT CORNER BRACKET (」) | ||
pmichaud | and it wouldn't surprise me too much if :adverb「my string here」 could be made to work. | 23:59 | |
skids | Well, it's probably only because :x<array of identifiers> is sitting there taunting me that I pay it any mind :-) |