Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-12-04

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:17 MikeFair joined #perl6
00:28 dayangkun joined #perl6
00:44 pecastro joined #perl6
00:51 raiph joined #perl6
01:13 raiph looks lik i killed r-j
01:25 BenGoldberg joined #perl6
01:47 TimK1 joined #perl6
01:48 TimK1 irc.perl.org #perl6
01:56 BenGoldberg joined #perl6
01:56 * colomon is suffering a terrible urge to translate Hunt the Wumpus into p6
02:00 rjbs Best to succumb.
02:00 colomon error:imcc:loadlib directive could not find library `perl6_group'
02:00 colomon in file 'perl6-debug.pir' line 1
02:00 colomon Unable to open filehandle from path 'perl6-debug.pbc': No such file or directory(2)
02:00 colomon current instr.: 'generate_code_gcc' pc 871 (tools/dev/pbc_to_exe.pir:294)
02:00 colomon called from Sub 'main' pc 129 (tools/dev/pbc_to_exe.pir:49)
02:00 colomon Compiling lib/Debugger/UI/CommandLine.pm to pir
02:01 colomon rakudo debugger not so happy, it seems.
02:30 TimToady http://rosettacode.org/wiki/Mouse_position#Perl_6  <-- jvm specific solution
02:31 TimToady 5 more to pass up J  :)
02:31 TimToady with D hot on our heels
02:31 TimToady what up with these single-letter names?
02:32 TimToady maybe we should just name our language 6  :)
02:49 xinming joined #perl6
03:03 xenoterracide joined #perl6
03:04 lue TimToady: obviously the correct single-char name is ö (camelia with her wings tucked behind her back)
03:12 colomon joined #perl6
03:19 GlitchMr joined #perl6
03:20 robinsmidsrod joined #perl6
03:20 ribasushi joined #perl6
03:21 DrEeevil joined #perl6
03:22 simcop2387 joined #perl6
03:50 araujo joined #perl6
03:50 araujo joined #perl6
04:05 colomon joined #perl6
04:29 preflex_ joined #perl6
04:31 colomon joined #perl6
04:50 xinming joined #perl6
05:16 mattp__ joined #perl6
05:17 sergot_ joined #perl6
05:17 smash__ joined #perl6
05:19 genehack_ joined #perl6
05:19 PZt joined #perl6
05:20 ribasushi_ joined #perl6
05:23 yves_ joined #perl6
05:32 silug_ joined #perl6
05:36 moritz lue++ # *docs
05:36 xinming joined #perl6
05:37 lue moritz: I assume you mean heredocs, yes? :)
05:38 moritz lue: heredocs, theredocs, *docs :-)
05:39 lue :)
05:39 zakharyas joined #perl6
05:40 lue moritz: just while it's on my mind, is it just me or is S10 lacking in something? My guess is that whole "if it's the same in Perl 5, don't mention it" thing. Of course, I could've just been dense earlier today :)
05:41 xenoterracide joined #perl6
05:42 moritz lue: you really have to read S10 and S11 as one, IMHO
05:44 lue That would make sense. My main issue was that the point of packages wasn't really explained (there was just that CANDO bit, but it doesn't seem that useful without knowing more about packages.)
05:44 lue I know they're what modules and classes are based off, but that's it :P
05:45 moritz IMHO the only use for packages in Perl 6 is as "unspecialized" modules/classes/grammers
05:45 moritz *grammars
05:45 moritz if you write  grammar A::B { }, it autovivifies a package A, which can later be filled in with a class, or a grammar, or a module
05:48 lue For some reason at parts of S10 I was thinking "isn't this kinda walking the line between normal Perl 6 and 6model (knowhows)?" . I'm sure that's a false notion though.
05:52 jnap joined #perl6
05:57 * moritz doesn't see the connection
05:57 lue I think at some point I got the idea that packages could be used to construct more specialized things (modules, classes). Like I said, false notion.
06:00 * lue thinks it was the talk about CANDO that did it.
06:07 MikeFair joined #perl6
06:11 SamuraiJack_ joined #perl6
06:21 darutoko joined #perl6
06:26 [Sno] joined #perl6
06:43 raydiak is there a built-in way to do deep cloning?
06:45 FROGGS joined #perl6
06:47 timotimo just as i get up my cable connection dies...
06:47 moritz raydiak: no
06:48 raydiak moritz: how...odd.  but thanks, I can stop looking for it, then
06:52 timotimo hm, my 'ternet connection is back
06:57 timotimo hoelzro: oh my glob! there's a confirmation for the perl6 linguist ticket!
06:58 FROGGS yay!!
06:58 FROGGS morning
06:58 FROGGS Perl 6 will finally become a proper language!
06:59 kaleem joined #perl6
06:59 kaleem_ joined #perl6
06:59 Woodi hallo :)
07:00 FROGGS hi Woodi
07:00 Woodi about architecture.svg: there is cycle: parser calls actions and vice versa, also Core and World are used by both.
07:01 timotimo core shouldn't be used by the actions and/or parser, but they are parsed by them
07:01 Woodi so it means: "we get Perl6 sources, spin for a while and produce some QAST" :)
07:01 timotimo don't forget that parser and actions are in nqp rather than perl6
07:02 FROGGS the world too, but not ore
07:02 FROGGS core*
07:02 Woodi would be nice to know what calls what, what produces result and returns to what. also: there are no representations and grammars!
07:02 timotimo and parser and actions interact directly; when a rule parse is finished, the action method runs and can set the .ast property of the match object it has as well as do things with the World object
07:05 FROGGS almost, when the document is parsed, the corresponding ation methods of the rules that have matched are called, in reverse order
07:09 FROGGS world is a collection of helper methods used by the grammar and action, and also a stash for thing that are generated at compile time but should be accessible at runtime
07:09 FROGGS (think of begin blocks)
07:10 FROGGS and the action only "use" core in a sense that lookups to e.g. Nil are put into the ast, that will be done at runtime, when core is there that supplies a Nil
07:12 FROGGS ahh, and the world uses the Perl6::Actions directly to parse heredocs
07:24 denis_boyun joined #perl6
07:49 tgt joined #perl6
07:51 dmol joined #perl6
07:54 jnap joined #perl6
08:02 sjn \o
08:02 timotimo the difference between stage parse from nqp/master to nqp/indy-args while compiling a rakudo on the opts branch is from 62.4 seconds down to 53.9 seconds
08:02 sjn good *, #perl6
08:03 timotimo r: say "good {*}, #perl6!".WHAT
08:03 sjn arnsholt: any plans to drop by Oslo.pm today? :)
08:03 camelia rakudo-jvm b227e6: OUTPUT«(timeout)»
08:03 camelia ..rakudo-parrot b227e6: OUTPUT«(Str)␤»
08:03 timotimo hm
08:06 hoelzro morning
08:06 hoelzro timotimo: I know!
08:07 hoelzro I'm glad they responded so quickly
08:09 timotimo that was sarcasm, right?
08:11 SevenWolf if a man speaks in a Forrest where no woman is around to hear is he still wrong?
08:13 frettled punctuationisforwussesbecausesexism?
08:13 SevenWolf lol lighten up that was a copy paste job
08:15 frettled lue: funny, I had the same false notion about packages :)  Glad to see it wasn't just me.
08:17 sjn joined #perl6
08:18 [particle] joined #perl6
08:21 hoelzro timotimo: could be ;)
08:21 hoelzro at least someone responded when I bumped the thread
08:22 hoelzro they could've just let it sit.
08:22 moritz hoelzro: what was the reaction?
08:22 hoelzro they also could've put off the release they did an hour after the guy's response until, you know, after I had a chance to wake up and fix the PR
08:22 hoelzro moritz: enthuastic, if delayed
08:23 hoelzro *enthusiastic
08:23 moritz \o/
08:23 hoelzro it's coming up on a year since I embarked on this voyage.
08:25 frettled yay :)
08:27 tadzik yay :)
08:39 FROGGS timotimo: 9.5s is a nice win!
08:41 tadzik it is
08:41 tadzik it's like 15-20% :o
08:45 tadzik so, I'm really thinking about writing a post about "how does the code go from the editor to the running program, through the compiler" sort of thing
08:45 tadzik what's the place of grammar, actions, nqp, CORE.setting etc
08:46 tadzik I guess I'll write a draft and see if that makes any sense
08:46 hoelzro tadzik: I think that sounds like a good idea
08:47 hoelzro I tried to do something like that for last year; I think it may have been too high-level, though
08:47 rurban joined #perl6
08:48 FROGGS tadzik: +1
08:50 FROGGS that would be a must-read for newcomers then (new "core hackers")
08:52 tadzik well, so architecture.svg blogified
08:53 FROGGS right :o)
08:53 FROGGS I hope to fix some issues with my S11 impl, and then start writing human readable text...
08:55 jnap joined #perl6
08:59 frettled tadzik: if you could make a diagram or flow chart as well, that would be _really_ nice.
08:59 frettled A diagram based on a blog post based on an SVG ;)
08:59 frettled Remember to hang on to the movie rights.
09:01 daniel-s_ joined #perl6
09:02 * FROGGS .oO( T. T. T. Sośnierz )
09:04 aindilis` joined #perl6
09:04 * moritz suddenly hums "Plagiarize" by Tom Lehrer. http://www.sing365.com/music/Lyric​.nsf/Lobachevsky-lyrics-Tom-Lehrer​/D97B21BF6516390448256A7D0024B8B9 "Metro-Goldwyn-Moskva buys movie rights for six million rubles,
09:04 moritz Changing title to 'The Eternal Triangle',
09:04 moritz With Brigitte Bardot playing part of hypotenuse."
09:07 nwc10_ joined #perl6
09:07 sivoais_ joined #perl6
09:07 szbalint_ joined #perl6
09:09 raydiak tadzik: For my scene files, I'm using a modified JSON::Unmarshal which passes any extra keys in the file as args to the constructor, and doesn't pass args for keys which do not exist in the file.  Shall I push my changes and send a pull request, or is it far enough removed from the pure idea of "marshalling" that I should fork and rename instead?
09:19 yogan joined #perl6
09:19 markov joined #perl6
09:19 woolfy joined #perl6
09:20 tangentstorm joined #perl6
09:24 tadzik raydiak: I'd be very interested in looking at those
09:24 tadzik and I think it is something J:U should cover in one way or another, maybe as sort of an "advanced" feature
09:25 tadzik my intention was to model it after Go's "encoding/json", which has a well-defined rules about what to do with extra/nonexistent keys
09:25 tadzik I don't remember implementing those in my version though
09:25 hugme joined #perl6
09:25 tadzik raydiak: from what you say, it sounds very nice and I probably want it right away :P
09:26 daniel-s__ joined #perl6
09:28 mathw tadzik: well-defined rules about what to do with 'extra' keys sounds like a good idea to me :)
09:28 mathw hmm, where are all my colleagues today?
09:29 tadzik I asked myself a similar question today
09:29 raydiak use case is that scene files have an array of objects, typed as pray::scene::object, but each object is actually a subclass (eg pray::scene::sphere)...so I added a 'primitive' prop to object, and object's contructor calls the correct subclass constructor based on that...so Object.new(:primitive<sphere>) returns the same as Sphere.new()...it kinda feels like a dirty trick sometimes, though :)
09:29 tadzik and then there was the "oh, that's because I'm on time today" moment ;)
09:32 tadzik raydiak: the notion of Object being aware of all its subclasses feels a bit dirty, yes :)
09:33 tadzik but I see why you want it
09:36 xinming_ joined #perl6
09:37 raydiak at least it's not really "aware" in the sense that it has a hard-coded list of subclasses in it or anything...just manipulates $.primitive into the proper class name and passes the args on to that constructor (or crashes if there's a typo)
09:38 dakkar joined #perl6
09:39 raydiak I also am about to have a problem where I want some properties to be able to be either a number or another object (or array or something)...eg scaing, where a user might want to use just one value, or separate x, y, and z values...not sure how I plan to handle that yet
09:39 masak good antenoon, #perl6
09:39 FROGGS hi masak
09:40 moritz raydiak: well, if you don't add type constraints to your attributes or variables, that's not really a problem
09:40 moritz raydiak: ... assuming the code that uses them can deal with the contents
09:41 FROGGS raydiak: I might create a Scaling class, where you set the factor for all x, y and z or a general value, and it sets all three to that value
09:41 masak raydiak: re deep cloning -- do you know of any language that provides this, out-of-the-box? it seems to me that shallow cloning is easy, but deep cloning raises all these "interesting" issues.
09:41 FROGGS raydiak: so later in your code you would always take the scaling for x, y and z into account, wether they are the same or not
09:42 hummeleB1 joined #perl6
09:43 xinming joined #perl6
09:44 _daniel-s__ joined #perl6
09:46 frettled A masak! \o/~
09:47 masak where!?
09:47 frettled It hides!
09:47 raydiak tadzik: I pushed the changes to my fork on github so you can check it out
09:48 frettled I think Smalltalk does deep copy reasonably.
09:49 frettled It's not infinitely deep, merely one level.
09:49 raydiak moritz: that's true, I could do without the type constraints, and then just die from my own code if they put a hash or string or something in there...but JSON::Unmarshal generally handling more complex type constraints should probably be addressed one way or another if possible
09:49 frettled IIRC, some LPC implementations do this as well.   (Lars Pensjö's C, usd for LPMUDs)
09:50 raydiak FROGGS: I hadn't considered making the scaling itself a class...I'll have to mull that over some more
09:53 raydiak masak: you're right, of course...I guess Perl 6 just provides for so much powerful expression, I found it a bit surprising that something so common would be entirely excluded.  but you're right about "interesting" issues, only some of which I am even aware of
09:53 masak frettled: oh -- by "deep", I basically meant "a whole object graph".
09:53 FROGGS raydiak: dont have to a class, but I'd compute the scaling factor for x, y and z in all cases so the code afterwards don't have to care
09:53 tangentstorm left #perl6
09:56 jnap joined #perl6
09:56 raydiak FROGGS: I'm thinking specifically of the complications involved with doing this through JSON::Unmarshal, which always tries to unmarshal a value based on the type constraint of the property
09:57 FROGGS k, seems I am lacking knowledge of your architecture
09:58 daniel-s_ joined #perl6
09:59 raydiak FROGGS: it's a little twisty, but I'm in the process of straightening it...like a wrecked car :)
09:59 frettled masak: copy/clone as value or as reference?
09:59 frettled masak: that is, duplicate the entire graph, but as a new graph?
10:00 frettled The latter is promised by copy() in the MudOS LPC driver: http://startfromlil.wordpress.com​/mudos-docs/#efun__general__copy
10:02 masak yeah, my mind has "deep cloning" as "copy each node into the new graph". that is, ever object gets a new ID.
10:03 masak at this point, people generally mention filehandles and database handles.
10:03 moritz what about locks? :-)
10:04 masak and continuations.
10:04 * raydiak wouldn't mind if it just died when attempting anything like that
10:06 masak yes, but the point is that "anything like that" needs to be internalized into the language (and then respected by new user-defined types).
10:08 raydiak hmm
10:11 raydiak I'm going to mull that over while I lose conciousness
10:11 raydiak good *, #perl6 \o
10:11 tadzik o/
10:13 fhelmberger joined #perl6
10:17 daniel-s__ joined #perl6
10:19 kivutar joined #perl6
10:20 hoelzro hmm
10:20 hoelzro the GitHub guy asked what the primary extension for Perl 6 is.
10:21 hoelzro I have .p6 currently
10:21 hoelzro would .pl/.pm be more appropriate?
10:22 tadzik I think it's mostly .pl/.pm, sometimes .pm6, sometimes sometimes .p6
10:22 tadzik looking at the module ecosystem
10:22 hoelzro I think if anything, I should change it to .pl
10:25 denis_boyun joined #perl6
10:27 frettled masak: that's the beauty of LPC in a MUD: no special files
10:27 sqirrel joined #perl6
10:28 FROGGS hoelzro: I vote for pl/pm too
10:28 hoelzro ok
10:28 hoelzro we have to pick just one, though =/
10:31 masak frettled: I see :)
10:33 pecastro joined #perl6
10:34 frettled masak: everything is much simpler when everything is much simpler!
10:34 * frettled could be a philosopher.
10:35 masak frettled: well, that's the key to successful DSLs, for what it's worth.
10:35 frettled masak: that said, there are two principal ways of handling recursive cloning, and variations of both could reasonably be offered, I think.
10:36 masak *nod*
10:36 frettled One is to copy references where they are, which would work with file handles etc.
10:37 frettled But for copying deep values, file handles would probably have be copied as a state snapshot or something like that.
10:38 frettled If "snapshot" isn't copytradepatentyrighted too much, that could perhaps work as a concept.
10:40 xinming joined #perl6
10:45 masak hm. I'm missing a concrete context to discuss all this "deep cloning" in. I don't really believe in providing features without solid use cases to back them up.
10:47 _daniel-s__ joined #perl6
10:53 tgt joined #perl6
10:53 daniel-s_ joined #perl6
10:54 frettled Snapshotting is at least reasonably easy to say that is useful, since it implies that state can be transferred from one instance to another.
10:55 frettled Then again, I think that building deep structures with file handles and whatnot in them is rather nasty.
10:56 FROGGS hoelzro: I'd pick pm, because there are usually more modules than scripts
10:56 hoelzro hmm
10:56 hoelzro true
10:57 FROGGS but dunno how much that matters
10:57 hoelzro I'm going by analogy with Perl 5, though
10:58 hoelzro which uses .pl
10:59 daniel-s_ joined #perl6
11:00 hoelzro hmm
11:00 daniel-s_ joined #perl6
11:01 hoelzro linguist doesn't care for the duplicate primary extensions
11:03 masak frettled: right -- in the cases when you'll be wanting to do deep cloning, chances are you're not interested in file handles anyway :)
11:03 masak frettled: so it's a case of trying to solve a very general problem no-one asked to have solved.
11:06 hoelzro you know, I should actually feel pretty good about the attention GitHub is giving my PR
11:07 hoelzro there are *three* pull requests to get Mercury in there
11:07 hoelzro all from the same guy
11:17 denisboyun joined #perl6
11:19 xinming joined #perl6
11:20 haagenti joined #perl6
11:20 amkrankruleuen joined #perl6
11:25 darutoko joined #perl6
11:28 xenoterracide joined #perl6
11:31 xenoterracide joined #perl6
11:33 dayangkun joined #perl6
11:36 daniel-s__ joined #perl6
11:38 daniel-s__ joined #perl6
11:43 _daniel-s__ joined #perl6
11:44 _daniel-s__ joined #perl6
11:45 Woodi tadzik: I think big amount of work is done in NQP so its internals could be covered too...
11:45 tadzik nqp internals actually look quite similar :)
11:45 atroxaper joined #perl6
11:46 dwoldrich joined #perl6
11:46 tadzik as long as you mean the "how does text become program" part
11:46 Woodi hmm, maybe one day someone will say that: here is the NQP, Perl5 succesor. Perl6 is just slang ;)
11:46 Woodi tadzik: NQP is black box for me :)
11:47 hoelzro "how is program formed?"
11:47 hoelzro that should be the title.
11:48 tadzik :D
11:48 tadzik hoelzro: l4d today evening?
11:48 hoelzro hmm
11:48 hoelzro I have to study for a Russian test tomorrow =/
11:49 hoelzro so *maybe* ;)
11:49 tadzik haha
11:49 hoelzro this weekend, I definitely can!
11:49 tadzik I passed one of the most hardcore exams on my uni after I spent the night finishing Quake 1 :)
11:49 hoelzro sweet
11:55 mberends joined #perl6
11:56 jnthn hoelzro: If all else fails, just draw a huge bear saying ПРЕВЕД :D
11:57 hoelzro haha
11:57 hoelzro unfortunately, I think my instructor's too old for that reference =P
12:10 FROGGS_ joined #perl6
12:18 _daniel-s__ joined #perl6
12:20 sftp joined #perl6
12:31 rindolf joined #perl6
12:41 _daniel-s__ joined #perl6
12:46 frettled masak: I think so too, yes.
12:47 daniel-s_ joined #perl6
12:47 frettled masak: Also, I think this is something that is best solved in a language feature library, _perhaps_ the standard library, but not in language primitives.
12:49 colomon joined #perl6
12:55 denis_boyun joined #perl6
12:56 daniel-s__ joined #perl6
12:58 jnap joined #perl6
12:59 lizmat j: my @p = (^10).map: { start { sleep $_; .say }}; say "waiting"; Promise.allof(@p); say "done"   # what's wrong here?
12:59 camelia rakudo-jvm b227e6: OUTPUT«(timeout)»
13:00 lizmat j: my @p = (^2).map: { start { sleep $_; .say }}; say "waiting"; Promise.allof(@p); say "done"   # what's wrong here?
13:00 moritz j: say 'alive'
13:00 camelia rakudo-jvm b227e6: OUTPUT«(timeout)»
13:00 camelia rakudo-jvm b227e6: OUTPUT«(timeout)»
13:00 lizmat hmmmm....
13:00 moritz it's dead, Jim
13:00 lizmat $ perl6 -e 'my @p = (^10).map: { start { sleep $_; .say }}; say "waiting"; Promise.allof(@p); say "done"'
13:00 lizmat 0
13:00 lizmat waiting
13:00 lizmat Not enough positional parameters passed; got 1 but expected 2
13:01 lizmat seems Promise.allof() is broken ?
13:17 lizmat lue: re http://irclog.perlgeek.de/​perl6/2013-12-03#i_7952356 , that is my proposal, yes
13:18 lizmat having seen FROGGS++ work on it recently, I'm thinking on making that the default, rather than the authoritative specification
13:19 _daniel-s__ joined #perl6
13:19 lizmat but that would bring the burden on the code calling CompUnitRepo.install to have to *specify* name, auth and ver
13:19 jnthn lizmat: You need to await that Promise.allof, but maybe somebody managed to break allof too...
13:20 FROGGS lizmat: the thing that calls .install must already know much about the to-be-installed dist, yes
13:20 FROGGS that is what the META.info is for
13:21 jnthn lizmat: I thought we had tests for allof, though...
13:21 lizmat we have, and they passs
13:21 jnthn Oh...so I guess it's not allof after all...
13:22 jnthn Or if it is, something odd.
13:22 jnthn That looks exactly like an example I used and demo'd in a recent talk
13:23 jnthn Though using "sleep" is a really bad way to do it :)
13:23 jnthn As you'll fill the thread pool and then get the wrong results :)
13:23 jnthn Well, not with 10 things, I guess. But still...
13:27 lizmat well, yes, it was the sleepsort example, no?
13:27 jnthn Right, but do it with Promise.in($_) :)
13:27 jnthn Which needs like one thread instead of 10 ;)
13:28 lizmat ah, yes.  Maybe that's the difference / problem
13:28 lizmat will check in mo
13:28 kivutar joined #perl6
13:29 timotimo also, don't you want to Promise.allof(@p).result? or does the sinking of the promise do the waiting for us?
13:30 FROGGS lizmat: btw, I'd still prefer a `unit` statement rather than putting auth/var/name/... in pod (and this unit statement is redundant if you use a semicolon form of pkg declaration, because that implies unitness)
13:31 _daniel-s__ joined #perl6
13:31 lizmat FROGGS: but what if the same compilation unit has more than 1 package like statement ?
13:32 lizmat *and* provide auth/var/name ?
13:32 FROGGS lizmat: only one can have a semicolon (already)
13:32 lizmat different from the first: should that then die?
13:32 lizmat ah, ok
13:32 lizmat gitcha
13:32 FROGGS and only the first one
13:32 lizmat gotcha rather
13:32 FROGGS so we know if the others are nested or not
13:33 FROGGS I like `unit` because it is a rather important thing
13:33 FROGGS and it is about what we are talking about: units
13:34 lizmat perhaps we should forget about putting any of that information in the source, and force all parameters to CompUnitRepo.install to be obligatory
13:34 FROGGS +1
13:34 FROGGS because the .install don't have to know how to fetch code, it only should are about installing it
13:34 lizmat or let each CompUnitRepo.install figure out for itself what parameters it would need
13:35 FROGGS panda knows how to fetch, and it knows where the meta data is
13:35 FROGGS yeah
13:35 FROGGS makes sense+
13:36 lizmat ok, I'll change S11 accordingly
13:37 FROGGS ohh, thank you
13:37 lizmat BTW, for the advent, what kind of markup does that need?
13:37 FROGGS I am unable to parse your question
13:38 moritz lizmat: html
13:38 lizmat ah, ok, good old html
13:38 lizmat I can do that  :-)
13:38 jnthn a gitcha sounds like a horrible thing where you have the letters making up the sha-1 in some horrible twisted image and you have to read them before you can git show or something...
13:38 moritz (with some caveats, it insert <br /> tags for newlines inside paragraphs)
13:42 masak yeah, was gonna say. you don't need to mark up paragraph breaks either.
13:43 masak but maybe that's a corollary of what moritz++ said.
13:43 masak ok, so lizmat++ is handlin' Thursday.
13:43 masak who wants Friday? :)
13:44 timotimo rebecca black
13:44 tadzik \o/
13:44 tadzik timotimo++
13:45 masak she already got her try, I'd say. :P
13:46 lizmat maybe I should do Friday as well, and elaborate on adverbs on slices ?
13:47 cognominal joined #perl6
13:47 jnthn p: say 'Friday'.comb[0, 1, 2 xx 10, 3..*].join
13:47 camelia rakudo-parrot b227e6: OUTPUT«Friiiiiiiiiiday␤»
13:47 moritz if I do <alias=original> in a regex, which action method is run? 'alias' or 'original'?
13:48 * moritz guesses 'original'
13:48 jnthn moritz: original, 'cus the action method is run before teh rule returns
13:48 timotimo yes, original
13:48 jnthn So the rule has no clue about the alias.
13:48 jnthn Actions are triggered by !cursor_pass, which is the last thing that happens in a rule
13:49 timotimo it would be pretty hard to make that not WAT all over the place
14:00 timotimo hoelzro: on steam, you are "Rob"? last online 3 days ago, played defcon, sir you are being hunted and left 4 dead 2?
14:00 hoelzro timotimo: thats me
14:00 hoelzro I know, original name, right? ;)
14:01 timotimo friend invite sent :)
14:02 hoelzro excellent =) I'll confirm when I'm $HOME
14:02 arnsholt Oooh, Sir you are being hunted =D
14:02 hoelzro it's pretty fun, but really hard
14:02 arnsholt D'you know if there's a Linux version?
14:03 tadzik there is
14:03 tadzik at least steam sells it as such
14:03 hoelzro there is
14:03 tadzik it doesn't neceserilly mean it works
14:03 hoelzro that's what I've been playing
14:03 arnsholt Brilliant
14:03 hoelzro it works well enough
14:03 arnsholt Then I'll probably buy a copy
14:03 kaare_ joined #perl6
14:03 timotimo sometimes steam shows no linux icon when there clearly is a linux port available, even.
14:03 tadzik (I'm looking at you, the-aircraft-game-from-humble-bundle)
14:03 arnsholt I've been wanting to try it from the RPS coverage
14:03 timotimo (even when you can just install it on steam on linux)
14:04 tadzik it can be "beta"
14:04 hoelzro I was astonished: I discovered a few weeks ago that *over half* of my steam library has Linux support
14:04 moritz what's a good way to get the next first date of a month after a given date?
14:04 timotimo linux games: 53, all games: 86
14:04 timotimo makes me a bit sad
14:04 tadzik where do I see this?
14:04 moritz p: say 53 / 86;
14:04 camelia rakudo-parrot b227e6: OUTPUT«0.616279␤»
14:05 timotimo next to the search field in your games library, tadzik
14:05 timotimo top left
14:05 arnsholt moritz: "When does the next month start?", you mean?
14:05 tadzik ah, I don't have a steam client at work
14:05 moritz arnsholt: yes
14:05 timotimo every workplace should have steam clients
14:05 hoelzro timotimo: sad?
14:05 hoelzro why sad?
14:05 tadzik we only have an xbox :(
14:05 timotimo hoelzro: i want 75% at least
14:05 hoelzro time will tell =)
14:06 timotimo though given that linux is currently at 1% of steam user share ...
14:06 arnsholt moritz: I guess the sledgehammer approach is to set day to 1, month to +1 (or 1 if it's already 12), and increment year if it's december
14:06 tadzik do we have 1% of games?
14:06 colomon joined #perl6
14:06 timotimo 1% of users
14:06 arnsholt Of course, that'll fail for BC dates =)
14:06 tadzik yes, but is 1% of steam games available on linux?
14:06 moritz arnsholt: that sounds kinda ugly, because it duplicates the Date logic
14:06 timotimo tadzik: i don't know
14:07 hoelzro I wonder what the breakdown is across the whole store
14:07 hoelzro quick! someone write a scraper!
14:07 hoelzro hmm
14:07 * hoelzro checks modules.perl6.org
14:07 timotimo there's a big amount of games on steam that came out before steam for linux was a thing and that have probably been abandoned by their developers or something
14:07 jnap joined #perl6
14:07 arnsholt moritz: Yeah, it's a bit ugly. But I'm not familiar enough with the logic in Date to know if there's a better solution
14:07 timotimo so it wouldn't surprise me very much if the number of total games ported to linux was very low
14:07 sjn \o
14:07 hoelzro no P6 scraper yet =D
14:07 hoelzro ported? probably not
14:07 moritz p: my $d = Date.today; my $c = $d; ++$c while $c.month == $d.month; say $c
14:07 camelia rakudo-parrot b227e6: OUTPUT«2014-01-01␤»
14:08 moritz works, but not pretty
14:08 hoelzro but I think as more devs leverage existing frameworks, and those frameworks add Linux support, we'll get more games on Linux
14:08 moritz r: my $d = Date.today.delta(1, Month); say $d
14:08 timotimo yeah. unity is a big one. also the current unreal engine as well as the source engine
14:08 arnsholt sjn: I'm stopping by this evening, BTW
14:08 camelia rakudo-jvm b227e6: OUTPUT«(timeout)»
14:08 camelia ..rakudo-parrot b227e6: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/KhFWr9j0qxâ�¤Undeclared name:â�¤    Month used at line 1â�¤â�¤Â»
14:08 sjn arnsholt: great! :)
14:08 timotimo i seem to recall something about the crytek engine and linux
14:09 sjn arnsholt: bring frettled, so we can see if we can make something #perl6-relevant happen next year :)
14:09 tadzik they hired some Big Deal linux game dev
14:09 arnsholt I have no idea how to bring frettled, but I'm coming at any rate
14:09 moritz p: my $d = Date.today.delta(1, months); say Date.new($d.year, $d.month, 1)
14:09 camelia rakudo-parrot b227e6: OUTPUT«2014-01-01␤»
14:10 arnsholt Nice!
14:10 moritz p: my $d = Date.new('2013-12-31').delta(1, months); say Date.new($d.year, $d.month, 1)
14:10 camelia rakudo-parrot b227e6: OUTPUT«2014-01-01␤»
14:10 moritz p: my $d = Date.new('2013-11-30').delta(1, months); say Date.new($d.year, $d.month, 1)
14:10 camelia rakudo-parrot b227e6: OUTPUT«2013-12-01␤»
14:10 moritz p: my $d = Date.new('2014-01-01').delta(1, months); say Date.new($d.year, $d.month, 1)
14:10 camelia rakudo-parrot b227e6: OUTPUT«2014-02-01␤»
14:11 moritz p: my $d = Date.new('2014-01-31').delta(1, months); say Date.new($d.year, $d.month, 1)
14:11 camelia rakudo-parrot b227e6: OUTPUT«day of 2014/2 out of range. Is: 31, should be in 1..28␤  in method check-value at gen/parrot/CORE.setting:14513␤  in method check-date at gen/parrot/CORE.setting:14522␤  in method new at gen/parrot/CORE.setting:14884␤  in method new at gen/parrot…»
14:11 sjn nice.
14:11 moritz is that a bug in Date.delta? masak?
14:11 FROGGS rp: my $d = Date.new("2013-12-13"); $d += $d.days-in-month; say $d.truncated-to(month)
14:11 camelia rakudo-parrot b227e6: OUTPUT«2014-01-01␤»
14:11 sjn moritz: how would you find the date of the first wednesday next month?
14:11 FROGGS rp: my $d = Date.new("2013-11-30"); $d += $d.days-in-month; say $d.truncated-to(month)
14:11 camelia rakudo-parrot b227e6: OUTPUT«2013-12-01␤»
14:11 moritz sjn: read the advent calendar and stay tuned.
14:12 sjn will do :)
14:12 arnsholt moritz: Yeah, that's definitely a bug I think
14:12 FROGGS why is it called 'truncated-to' rather then 'truncate-to' ?
14:12 timotimo because it returns a new object rather than modifying the existing one?
14:12 raiph joined #perl6
14:13 moritz FROGGS: because it returns a truncated-to copy
14:13 tadzik steamdb says: "25,953 packages in database", and "Linux Games: 332 games, 252 confirmed to be working"
14:13 FROGGS hmmm
14:14 tadzik hoelzro: ^
14:14 hoelzro whoa
14:14 tadzik so it's just below 1% :P
14:14 timotimo wow
14:14 hoelzro that bad?
14:14 hoelzro I like how my library is 50% Linux games
14:14 tadzik not sure which of those numbers contains all the dlcs
14:14 hoelzro what a poor representation!
14:14 hoelzro if you ask me
14:15 timotimo it'd be interesting to categorize the games into release years
14:15 hoelzro Steam should work with Wine/Crossover/whatever to try and bring other games into the Linux fold
14:15 hoelzro timotimo: indeed
14:15 tadzik 25k packages, but 13k apps in database
14:15 tadzik so maybe it's like 2% :P
14:15 moritz p: my $d = Date.today.truncated-to(month); say $d + $d.days-in-month
14:15 camelia rakudo-parrot b227e6: OUTPUT«2014-01-01␤»
14:15 tadzik I don't think wine/whatever will be of any help :/
14:15 moritz \o/
14:16 moritz I think I like that solution best so far.
14:16 tadzik I'm now playing Witcher on wine, and it usually works perfectly except that it doesn't render HP bars
14:16 hoelzro tadzik: I run a few games on Wine
14:16 hoelzro haha
14:16 tadzik makes fights a bit more exciting
14:16 hoelzro that's kinda important.
14:16 hoelzro is Witcher good?
14:16 frettled arnsholt: I suspect sjn is trying to ping me because I'm idle on other channels somewhere or something :)
14:16 tadzik yeah, I like it a lot
14:16 hoelzro I've been considering giving it a shot
14:17 tadzik it feels similar to gothic, except that story has a very strong impact on the gameplay
14:17 timotimo i would like wine integration into steam
14:17 timotimo but it's not easy
14:17 tadzik you often make decisions, and then see the outcome a couple of hours later, when it's too late to change anything
14:17 tadzik and you get like "oh god what have I done"
14:17 arnsholt frettled: Sneaky! =)
14:17 hoelzro sweet
14:18 hoelzro timotimo: indeed
14:18 hoelzro I wouldn't even care if they had a big "not fully supported" sticker on it
14:18 tadzik I think it's an option to run the entire steam on wine, and games inside it
14:18 hoelzro because for Wine games, I have a wine installation with Steam on it.
14:18 * moritz has a nice sample program for parsing, Date and rakudo release dates for the advent calendar
14:18 hoelzro tadzik: that's what I do now
14:18 hoelzro it's just annoying to switch between/remember which games are on which
14:19 hoelzro and if I have a game installed via Wine, and a native client comes out, steam could tell me
14:19 tadzik we'll have all that and more with steamos streaming \o
14:19 tadzik assuming one actually has a windows machine
14:19 timotimo well, you'll ... yeah
14:20 frettled arnsholt: yes, very sneaky!
14:20 timotimo personally, i'm excited to see valve put in work in all subsystems of modern desktop linuces
14:20 timotimo graphics drivers are an obvious spot where they've already done good stuff, but there's also input and audio
14:20 hoelzro could be interesting =)
14:20 timotimo networking on linux, on the other hand, i guess is pretty mature already, as is memory management
14:20 tadzik yesterday I had a huge fight with l4d2 and skype both working
14:21 tadzik I should try this teamspeak thing
14:21 hoelzro as long as it benefits everyone, and not just a particular distro
14:21 timotimo mumble :)
14:21 arnsholt Yeah, I'm moderatly hopeful about Linux and gaming ATM
14:21 hoelzro I've never *really* gotten Skype working on Linux
14:21 ajr joined #perl6
14:21 hoelzro now that I have a tablet, I only Skype on there
14:22 timotimo you use your tablet only to skype? what a waste :P
14:22 hoelzro heh
14:23 Gwyxx joined #perl6
14:30 PacoAir joined #perl6
14:35 * Woodi can confirm teamspeak works very good
14:38 Woodi I realy wanted to rebuy Half-Life 1  3rd time (for linux this time) but debian package had invisible letters on my laptop... and on desktop I had problems with drivers for Radeon...
14:38 kaare__ joined #perl6
14:39 tadzik there's a debian package with half life?
14:39 Woodi linux desktop overall is Just In Sorry State (TM)
14:39 Woodi steam package
14:39 tadzik I don't find the state sorry, tbh
14:39 huf it's the year of the linux desktop!
14:39 huf it's been the year since 2000 or so (in my head)
14:40 Woodi tadzik: ok, just instalation part is in terrible state...
14:41 tadzik again, I don't see it as such
14:41 huf the worst part is always getting closed source binary stuff to play nice with software :)
14:41 tadzik but I generally buy hardware that I know works well with it :)
14:41 huf tadzik: you build your own echo chamber!
14:41 tadzik haha
14:41 tadzik yes I do :)
14:41 Woodi but SteamOS had/will have Linux as base ?
14:42 moritz Woodi: yes
14:43 Woodi except it will be standalone hardware (without rooting capability) ? :)
14:43 huf if so, they'll soon break that open
14:44 Woodi I wonder do they do their own X server :)
14:45 huf do they need an x server?
14:45 moritz Woodi: I guess they'll either use an existing one (X, wayland, ..), or directly use OpenGL
14:45 moritz writing a new X server certainly doesn't fit their economic niche
14:45 huf by the time the game has launched, you dont really need X
14:46 Woodi what Android done ?
14:46 huf the gamelauncher UI can be anything. i suppose if they want to support alt-tabbing to the game's wiki, they'll need some X or something :)
14:46 huf unless they expect you to have the game's wiki open on some other device
14:46 moritz maybe they'll just start a browser in always-fullscreen mode directly on top of the display, or something
14:47 huf :)
14:47 huf the gamelauncher UI can be a webapp too!
14:48 Woodi btw. I found commet containing "embadd*" in NQP src/main.nqp, is Rakudo embadable for use as scripting language in games ? :)
14:48 Woodi comment*
14:48 kbenson1 joined #perl6
14:48 moritz not easily
14:49 tadzik they said hardware will be totally open to rooting or whatnot
14:49 tadzik also the OS will be free for everyone to use wherever they want to
14:50 timotimo steam big picture already has a browser built-in
14:52 Woodi yea, military guys probably use open source OSes too... for cutting maintenance costs :)
14:52 Woodi just guesing :)
14:53 moritz everybody uses open source
14:53 moritz it's simply not economical to write your own gzip compression or xml parser/writer "just because"
14:53 huf weeeeeeellllll
14:53 kbenson1 left #perl6
14:53 huf i have friends who work indirectly for the german military in some form
14:53 moritz recently there was a document on reddit that had a list of open source projects used in cars
14:53 huf they could tell you tales :)
14:54 huf internally developed terrible xml parsers and such :)
14:54 moritz but let me guess, written in Perl, or in C and compiled with GCC? :-)
14:54 huf c or c++ most likely
14:54 kaleem joined #perl6
14:54 huf but that codebase seems to have ada and fortran in it too
14:54 huf so it's dwarf-fortress-style fun
14:55 Woodi huf: parsers ? check goverments experimetts with OSes :)
14:59 Woodi btw. the only one proper book shop in my town (20k) in last year or so reduced IT books space to ~null... and few years ago there was explosion in IT books... probably small statistic sample but I wonder what is happening to this market...
15:00 Woodi Thinking in something is not so fun after all ?
15:01 huf i dont even know what our IT book scene is like, except that they insist on translating stuff :)
15:04 Woodi we have some country-made tutorials :) however in the very uncompressed tormat...
15:04 Woodi format*...
15:08 dalek specs: 3e8a4d4 | (Elizabeth Mattijsen)++ | S11-modules.pod:
15:08 dalek specs: Use pod compunit credentials as defaults only
15:08 dalek specs:
15:08 dalek specs: Leave all the nitty gritty to the actual implementation on the "install"
15:08 dalek specs: interface.
15:08 dalek specs: review: https://github.com/perl6/specs/commit/3e8a4d4a29
15:09 lizmat FROGGS: hope that solves your issues ?
15:10 btyler joined #perl6
15:19 ajr_ Woodi: the NIH ("Not Invented Here" principle is alive and well in large organisations. If you've just wasted 4 years learning to write compilers, and landed a job, are you going to tell your boss that they don't need you to write another one?
15:28 Woodi ajr_: no, no one want to say that :) but on positive side usually big organizations do researches and experiments, it need to take time. and security in NIH is important too
15:29 ajr_ Proprietary security usually isn't.
15:29 breinbaas joined #perl6
15:29 Woodi but sometimes there are real problems. eg. inventing and researching and again things when Linux is quite good for games :)
15:33 * jnthn suspects jobs writing compilers are relatively rare. :)
15:34 timotimo jnthn: what piece of code is responsible for mapping the annotated methods to the coderefs?
15:34 jnthn timotimo: Lives in CompilationUnit.java, iirc
15:34 timotimo thanks
15:34 jnthn Which is in nqp repo
15:35 Woodi btw, I lastly asked student of mechanics of planes about softvare in planes and he do not know about "software crisis". on the other hand he pointed that computers have problems with managing physical machines eg. opening and closing something in engine 8k/second - even magnetic lock are too slow.
15:35 * PerlJam suspects that jobs writing compilers either don't exist or are ubiquitous depending on your idea of "compiler"  ;)
15:35 jnthn PerlJam: Well, there is that ;)
15:35 Woodi so computers are kind of virtual boxes, not quite connected to reality :)
15:36 hoelzro hmm
15:36 hoelzro what's nibble for?
15:36 hoelzro (in Perl6::Grammar)
15:36 Woodi compilers was just example of jon in big organizations :)
15:36 jnap joined #perl6
15:36 Woodi job*
15:38 PerlJam I recently purchased a new family vehicle.  It's essentially a set of computers with an engine and various other interfaces.
15:40 Woodi can you use calculating power from that comps ? :)
15:40 PerlJam when I looked under the hood, the engine itself looked like a black box (literally).  The only "normal" enginey bits I recognized were the places where you either check or add fluids (oil, brake fluid, radiator fluid, etc)
15:40 geekosaur whee bsod at 90kph :p
15:42 timotimo geekosaur: i know this! you just have to delete the cookies!
15:44 sivoais joined #perl6
15:46 timotimo jnthn: what's the significance of methods starting with qb_?
15:47 timotimo that could be the mistake i made.
15:47 Woodi timotimo...
15:48 Woodi we needs more timotimo++
15:48 jnthn timotimo: shrot for "qast block"
15:48 jnthn Don't think it's significant
15:49 jnthn beerdecommute &
15:52 timotimo i think that fixed it
15:52 hoelzro hmm
15:52 hoelzro speaking of beer
15:52 hoelzro does anyone remember what that delicious dark beer we were drinking at Frankfurt & Friends was called?
15:52 hoelzro soooo good
15:53 salv0 joined #perl6
15:55 tzhs joined #perl6
15:57 timotimo now with the given arity, the dispatcher ought to throw an exception, but doesn't :/
15:58 vaclavstrachon joined #perl6
15:59 Psyche^_ joined #perl6
16:03 lizmat hoelzro: sorry, my mind's a blank.  Beer was too good, I guess
16:04 denis_boyun joined #perl6
16:05 * hoelzro looks it up
16:05 lizmat cycling&
16:05 timotimo pff. outputting the passed arity in the error message seems like quite the challenge in jvm bytecode >_<
16:06 hoelzro I think it was http://www.andechs.de/
16:06 hoelzro (Kloster Andechs, not the town)
16:06 thou joined #perl6
16:08 timotimo how do i concatenate an integer to the end of a string with the smallest number of jvm bytecode? :\
16:12 TimToady timotimo: that's ambiguous, do you mean as a codepoint, or as a stringified number?
16:12 timotimo stringified number
16:12 TimToady (not that I have an answer)
16:13 timotimo searching for that thing gives me only posts about how java turns series of + into stringbuilders behind the scenes
16:15 * TimToady imagines that one can help things a great deal by doing lazy concatenation
16:16 timotimo yeah. allegedly, java has trouble if you have a loop a la string += foobar
16:16 timotimo it will make one stringbuilder per iteration
16:16 TimToady and anything that does not require substr can just traverse the list as a ropey string
16:17 timotimo yeah
16:17 salv0 joined #perl6
16:17 TimToady a substr might force the rope to get regularized
16:17 timotimo unless you happen to substr a single string inside the rope :)
16:17 timotimo iirc, it could also regularize only a part of the whole thing, right?
16:18 TimToady well, or it could build the offset index for strands of rope
16:18 TimToady lotsa ways to run it without leaking the abstraction, if you don't count performance
16:21 TimToady the proposed Cat type is really just a lazy rope
16:21 timotimo oh, String.concat seems helpful
16:22 TimToady and the concat can be lazy without making the individual bits lazy, if side effects are a concern
16:22 TimToady something like say/print can just traverse the list without actually doing the concat
16:22 arnsholt timotimo: String.format lets you do printf-style formatting of strings
16:22 ajr joined #perl6
16:23 Guest44389 ajr_
16:23 arnsholt If you want a fixed string with a varying number in the middle that might be the simplest
16:24 arnsholt Java lets you infix:<+>(String, int), but not sure what sequence of JVM ops that translates to
16:24 timotimo i want it at the end :)
16:24 timotimo i think i got it now.
16:26 timotimo except i don't really know how to work the method instruction visit method dhing
16:28 timotimo because i have an integer on the stack, but it seems like i need an Integer
16:29 arnsholt Have you tried to just use the native int? I think the JVM should autobox
16:29 [Sno] joined #perl6
16:29 ssutch joined #perl6
16:31 timotimo ah, i need Integer.toString
16:33 timotimo The call to java.lang.StringBuilder.insert doesn't support the given arity: 3 in block  at boot_interop_test.p6:1
16:33 timotimo \o/
16:33 sqirrel joined #perl6
16:33 timotimo The call to java.lang.StringBuilder.insert is ambiguous. Please specify any of the following instead:
16:33 timotimo (IJ)Ljava/lang/AbstractStringBuilder;, (IC)Ljava/lang/StringBuilder;, (II)Ljava/lang/StringBuilder;, (IJ)Ljava/lang/StringBuilder;, (IF)Ljava/lang/StringBuilder;, (I[C)Ljava/lang/StringBuilder;, (ILjava/lang/String;)Ljava/lang/StringBuilder;, (ILjava/lang/CharSequence;)​Ljava/lang/StringBuilder;, (ILjava/lang/Object;)Ljava/lang/StringBuilder;, (IZ)Ljava/lang/StringBuilder;, (IZ)Ljava/lang/AbstractStringBuilder;, (IC)Ljava/lang/AbstractStringBuilder;, ...
16:33 timotimo ... (II)Ljava/lang/AbstractStringBuilder;, (ILjava/lang/String;)Ljava/l​ang/AbstractStringBuilder;, (ILjava/lang/Object;)Ljava/l​ang/AbstractStringBuilder;, (ILjava/lang/CharSequence;)Ljav​a/lang/AbstractStringBuilder;, (I[C)Ljava/lang/AbstractStringBuilder;, (ID)Ljava/lang/StringBuilder;, (ID)Ljava/lang/AbstractStringBuilder;, (IF)Ljava/lang/AbstractStringBuilder;
16:33 timotimo \o/ \o/
16:34 timotimo i guess those should also prepend /method/*methodname* before the suggestions
16:40 raiph joined #perl6
16:45 masak timotimo++
16:45 masak that looks frightening but awesome :)
16:56 Woodi masak: we will have Factories and other abstracts soon too ;)
16:57 ajr_ Does O-O stand for "Objectionably Obfuscated"?
16:57 timotimo i can't run spectests on java at the moment :\
16:58 Woodi ajr_: it's not obfuscation, it is orientation :>
17:00 timotimo does anyone in here have the capability to do a spectest run on jvm for me?
17:01 * masak tends to specialize in object-disoriented programming
17:03 geekosaur objectively disoriented?
17:05 VSC joined #perl6
17:06 dalek nqp/jvm_interop_dispatchers: 2629714 | (Timo Paulssen)++ | src/vm/jvm/runtime/org/perl6/nq​p/runtime/BootJavaInterop.java:
17:06 dalek nqp/jvm_interop_dispatchers: first working version of the arity-based dispatcher in java-land.
17:06 dalek nqp/jvm_interop_dispatchers: review: https://github.com/perl6/nqp/commit/262971460a
17:06 dalek nqp/jvm_interop_dispatchers: 286948c | (Timo Paulssen)++ | src/vm/jvm/runtime/org/perl6/nq​p/runtime/BootJavaInterop.java:
17:06 dalek nqp/jvm_interop_dispatchers: remove lots of debug output
17:06 dalek nqp/jvm_interop_dispatchers: review: https://github.com/perl6/nqp/commit/286948c2c8
17:07 Woodi looks current industry abstraction of choice is VM...
17:10 Woodi maybe OSes should replace proceses with threads run on gced-vms
17:11 Woodi or maybe I wont premature unification :)
17:11 Woodi want*
17:12 Woodi but looks TimToady was working on signals yesterday ;)
17:13 timotimo jnthn: could it be that the arity counting of jvm and nqp disagree on wether or not to count the invocant?
17:13 timotimo it would seem so.
17:13 hoelzro friend added!
17:13 timotimo \o/
17:13 hoelzro Steam pisses me off sometimes
17:13 hoelzro too many sales
17:14 timotimo "stop offering me great deals for games at ridiculous prices!"
17:15 hoelzro they're making me poor!
17:15 Woodi you can resell cards! 4 cents each!
17:16 timotimo you don't have that many games :P
17:16 zakharyas joined #perl6
17:16 hoelzro I feel pretty good about my game count =/
17:16 hoelzro I feel pretty bad about my *unfinished* game count, though!
17:16 timotimo hehehe
17:20 timotimo or perhaps i have to differentiate static vs virtual methods in this case? maybe one counts the invocant towards the arity and the other doesn't?
17:20 kaleem joined #perl6
17:22 rurban1 joined #perl6
17:23 fhelmberger_ joined #perl6
17:23 tadzik hoelzro: I think I sent you an invite too
17:23 hoelzro tadzik: I confirmed it =)
17:24 tadzik okay :)
17:32 moritz since day 6 of the advent calendar is free, and my post is almost ready, should I move from day 7 to 6?
17:33 pmurias joined #perl6
17:34 * moritz is impatient, and does it
17:34 dalek mu: 5fb1f9f | moritz++ | misc/perl6advent-2013/schedule:
17:34 dalek mu: move my post from 7 to 6
17:34 dalek mu:
17:34 dalek mu: it is mostly done, and gives us more time to find
17:34 dalek mu: somebody to fill the free slot
17:34 dalek mu: review: https://github.com/perl6/mu/commit/5fb1f9f134
17:34 * masak hands moritz some forgiveness ;)
17:34 * ingy snatches it away
17:38 SamuraiJack_ joined #perl6
17:39 moritz alright, post scheduled for publication.
17:40 kivutar joined #perl6
17:41 FROGGS lizmat: yes, I like it :o)
17:48 masak speaking of impatience: is there a draft for tomorrow's Advent post to read yet? :)
17:50 ingy joined #perl6
17:50 timotimo i find it annoying how many games require me to turn off my second monitor in order to work properly
17:57 Rotwang joined #perl6
17:59 sqirrel joined #perl6
18:00 timotimo i can't seem to figure out how to make this dispatcher work properly :\
18:04 sftp joined #perl6
18:04 dalek joined #perl6
18:05 diakopter timotimo: just dispatch it
18:06 timotimo
18:07 sergot joined #perl6
18:07 pmurias how will quasi quoting other languags work in Perl6?
18:08 pmurias like [xml|<foo>bar</foo>] in haskell?
18:09 VSC_ joined #perl6
18:09 moritz by having a compiler to the Perl 6 AST format, I suppose
18:10 moritz and yes, I know that's pretty vague.
18:14 timotimo bleh, i say.
18:16 dalek nqp/jvm_interop_dispatchers: cb9d770 | (Timo Paulssen)++ | src/vm/jvm/runtime/org/perl6/nq​p/runtime/BootJavaInterop.java:
18:16 dalek nqp/jvm_interop_dispatchers: try to make this work. fails spectests.
18:16 dalek nqp/jvm_interop_dispatchers: review: https://github.com/perl6/nqp/commit/cb9d7709ce
18:16 timotimo if someone would like to try to fix this up, i'd be happy
18:19 PZt joined #perl6
18:19 cognominal__ joined #perl6
18:20 pmurias moritz: what I'm really asking about is are there plans to support more specifically then general language extensions?
18:24 xenoterracide joined #perl6
18:27 moritz pmurias: I'm not aware of any
18:29 dalek rakudo-star-daily: 14e2b5f | coke++ | log/ (5 files):
18:29 dalek rakudo-star-daily: today (automated commit)
18:29 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/14e2b5f3a5
18:30 dalek perl6-roast-data: 96a5756 | coke++ | / (3 files):
18:30 dalek perl6-roast-data: today (automated commit)
18:30 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/96a575612c
18:31 araujo joined #perl6
18:36 V_S_C joined #perl6
19:00 dalek niecza: d1cf73b | coke++ | t/spectest.data:
19:00 dalek niecza: recent changes to roast make this mostly fail.
19:00 dalek niecza: review: https://github.com/sorear/niecza/commit/d1cf73bd98
19:01 dalek roast: 6312c18 | coke++ | S0 (4 files):
19:01 dalek roast: partial niecza fudge
19:01 dalek roast: review: https://github.com/perl6/roast/commit/6312c18788
19:06 pmurias moritz: having recently played around with quasi quoting in haskell it seems more usefull then just adhocly expanding the language
19:07 jnthn timotimo: If you're calling a static method then the args coming in will have one more positional than you need to have on the stack for the call, I guess...
19:07 jnthn But I'd imagine that's already partly taken care of...
19:19 timotimo i'll be gone until tomorrow now.
19:19 FROGGS see ya o/
19:20 timotimo don't hesitate to fix my code for me :P
19:20 kaare__ joined #perl6
19:21 Rotwang hi
19:22 Rotwang I'm going through: http://perl6advent.wordpress.​com/2012/12/23/day-23-macros/
19:22 Rotwang and I wonder if the LOG macro is inside module how would I make it configurable from caller?
19:23 Rotwang LOGGING is constant so I can never change it, so it is possible to assign False to LOGGING if I modify my module sources only?
19:25 bluescreen10 joined #perl6
19:25 FROGGS you could declare another constant LOGGING in your code, no?
19:26 FROGGS rp: constant Foo = True; { constant Foo = False; say Foo }
19:26 camelia rakudo-parrot b227e6: OUTPUT«False␤»
19:26 FROGGS rp: constant Foo = True; { constant Foo = False; say Foo }; say Foo
19:26 camelia rakudo-parrot b227e6: OUTPUT«False␤True␤»
19:26 moritz Rotwang: you could do constant LOGGING = %*ENV<YOURAPP_LOG>;
19:26 moritz FROGGS: won't help, since the macro always resolves the same constant
19:27 moritz it doesn'T say COMPILING::<LOGGING>
19:28 ajr_ joined #perl6
19:28 moritz but masak++'s point was that you have to change only one piece of code (the constant) to enable/disable logging, and have 0 runtime overhead in the no-logging case
19:29 FROGGS rp: constant L = True; macro log($m) { if $m { say {{{$m}}} } }; log "foo"; { constant L = False; log "bar" }
19:29 camelia rakudo-parrot b227e6: OUTPUT«Block.new()␤===SORRY!===␤too few positional arguments: 2 passed, 3 (or more) expected␤»
19:29 FROGGS rp: constant L = True; macro log($m) { if $m { quasi say {{{$m}}} } }; log "foo"; { constant L = False; log "bar" }
19:29 camelia rakudo-parrot b227e6: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/mjx4Gz9nKCâ�¤Missing blockâ�¤at /tmp/mjx4Gz9nKC:1â�¤------> [32mL = True; macro log($m) { if $m { quasi [33mâ��[31msay {{{$m}}} } }; log "foo"; { constant [0mâ�¤    expecting any of:â�¤       …»
19:30 kaare__ joined #perl6
19:30 FROGGS rp: constant L = True; macro log($m) { if $m { quasi { say {{{$m}}} } } }; log "foo"; { constant L = False; log "bar" }
19:30 camelia rakudo-parrot b227e6: OUTPUT«foo␤bar␤»
19:30 FROGGS :/
19:30 FROGGS rp: constant L = True; macro log($m) { if L { quasi { say {{{$m}}} } } }; log "foo"; { constant L = False; log "bar" }
19:30 moritz FROGGS: think of the macro as a closure
19:30 camelia rakudo-parrot b227e6: OUTPUT«foo␤bar␤»
19:30 moritz it closes over the constant L
19:30 FROGGS yeah
19:31 FROGGS I wrote my first macro right now btw :o)
19:31 xenoterracide joined #perl6
19:36 TimK1 left #perl6
19:41 moritz http://tratt.net/laurie/blog/entries/the_​bootstrapped_compiler_and_the_damage_done
19:44 ingy joined #perl6
19:45 moritz not a particularly good article, but I found it entertaining
19:46 Rotwang can I somehow grab constant from default namespace?
19:46 rurban1 joined #perl6
19:47 moritz well, there is a GLOBAL::
19:48 PerlJam moritz: the line "In essence, a compiler is a simple batch pipeline process." made me smile  :)
19:49 PerlJam well, that one and all of the other assumptions that are made throughout  :)
19:50 moritz and the lack of examples
19:55 lizmat masak: re draft for tomorrow's, no, I'm still working on it  :-)
19:59 masak nice to hear it's coming along. :)
20:02 masak FROGGS++ # first macro!
20:02 FROGGS :o)
20:05 dalek ecosystem: 00ca280 | (Tobias Leich)++ | META.list:
20:05 dalek ecosystem: added JSON::Pretty
20:05 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/00ca280f07
20:11 kivutar joined #perl6
20:19 jnthn .oO( And coming soon: JSON::Ugly )
20:20 perigrin I think that's just called JSON.
20:20 FROGGS I like JSON
20:20 FROGGS (for the reasons I hate XML)
20:21 PerlJam FROGGS++
20:21 jnap joined #perl6
20:25 jnthn TimToady: I've been looking at optimizing away capture creation somewhat, to cheapen calls and let us get close to how (in this case) the JVM likes to do arg passing for some of the simple and very common cases.
20:25 jnthn TimToady: The thing I'm running up against is that callsame/callwith/nextsame/nextwith always need the capture handy.
20:30 tipdbmp joined #perl6
20:31 jnthn TimToady: So, I guess my question is, how statically can be spot that? Can I rely on "is one of these called in the lexical scope of the routine"?
20:42 SevenWolf joined #perl6
20:45 PerlJam I would guess that you can make a Block that could hide the call to callsame/callwith/nextsame/nextwith outside of the lexical scope, but my quick skim of the spec didn't reveal something explicit one way or another
20:46 jnthn PerlJam: I'm not sure sure how you could...'cus blocks have their own dispatchers too (have to for &foo.wrap({ say 'omgz'; callsame }) to work)
20:47 PerlJam oh.  maybe so.
20:47 jnthn PerlJam: About the only way I can see you managing it is weirdness like my &foo := &callsame; # or so
20:47 moritz &::('callsame')
20:48 jnthn I'm think this wants to be in the same territory as eval. The optimzier can by default assume there'll be an actual direct call...
20:48 jnthn And if there's not, go optimizing.
20:49 jnthn We can always provide pragmas for people who want their code to run slower. :)
20:49 PerlJam sounds sane to me
20:49 jnthn As "use soft" does today :)
20:49 lue hello world o/
20:50 moritz jnthn: would it be very hard to create the capture on demand?
20:50 jnthn moritz: Well, it's...icky
20:50 moritz I mean you know the arity statically when you that optimization
20:50 jnthn I mean, we could go and look at the signature, and look up the lexicals...
20:51 jnthn But what if you didn't give them names?
20:51 moritz hm.
20:51 jnthn Or what if we then optimized lexicals into cheaper locals 'cus you never close over them?
20:51 moritz then you need to use the locals :-)
20:51 moritz but I see your point(s)
20:52 jnthn Well, on Moar I can make that happen. On JVM...we don't have general stack inspection to do that.
20:52 jnthn Heck, once the JITs had its way the stack probably looks nothing like you'd imagine it might even if you could.
20:53 dalek rakudo/nom: 262e600 | (Elizabeth Mattijsen)++ | src/core/Mu.pm:
20:53 dalek rakudo/nom: Properly DEPRECATE bless(*) calls
20:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/262e600cbb
20:54 ivanshmakov joined #perl6
20:54 lue lizmat (re =NAME, =AUTHOR): I'm not entirely sure I like using Pod to give info to non-Pod things, but it's alright I guess :) [I was imagining something like module Foo::Bar:auth<baz>; before]
20:57 zakharyas joined #perl6
20:58 ivanshmakov “… most complete / actively maintained … http://github.com/fperrad/lua …” — http://parrot.org/languages/.
20:59 ivanshmakov With last commit being more than a year and a half ago, that doesn’t look quite like “actively maintained.” Is it “most complete”?
21:01 FROGGS ivanshmakov: where do you have that info from?
21:02 jnthn FROGGS: I asume the linked  http://parrot.org/languages/ :)
21:02 * jnthn has no idea of its status, though.
21:02 FROGGS ahh, yes
21:02 FROGGS was looking at parrot's wiki, and it showed that this lua was built against parrot 3.3 and under development
21:03 FROGGS ivanshmakov: no, I don't think that it is really actively maintained, but I can't answer your other question :/
21:04 Rotwang is there specification for perl6 package manager? I'm trying to figure out if panda is going to call Makefile during installation
21:04 FROGGS Rotwang: it does not currently
21:05 moritz but iirc there is *something* it calls
21:05 FROGGS but you can supply your own Build.pl or what it was called
21:05 moritz maybe look at Perl6::Debugger
21:05 jnthn I think Rakudo::Debugger does, that, yeah.
21:06 FROGGS Rotwang: here https://github.com/jnthn/rakudo​-debugger/blob/master/Build.pm
21:06 Rotwang cool, thanks!
21:10 ivanshmakov (My guess is that someone should ping the webmaster…)
21:11 moritz ivanshmakov: my guess is that the website is as unmaintained as parrot itself
21:13 jercos badum tish
21:13 ivanshmakov moritz: With a new release happening less than two weeks ago? Doesn’t seem all that unmaintained, I guess.
21:13 FROGGS ivanshmakov: yes, but there is not much happening
21:14 moritz ivanshmakov: have you looked at the changelogs?
21:14 lizmat masak: draft of tomorrow's perl6 advent: https://gist.github.com/lizmat/7795668
21:14 moritz ivanshmakov: most of it is merges of a 12+ month old merges, or build system
21:14 FROGGS I hope that someone will step in though
21:14 lizmat everybody else: comments welcome!
21:14 ivanshmakov FROGGS: Looking at $ git log right now. Indeed, alas.
21:14 FROGGS moritz: hey! I submitted a patch two months ago :o)
21:16 nwc10 I wonder if there are easily acchievable wins from suggestions in http://simeonfranklin.com/poster.pdf
21:17 moritz lizmat: I like it, except the three empty heading at the end
21:17 lizmat well, I figured I post this while I fill in the last sections  :-)
21:18 Rotwang nwc10: so called "quick wins"
21:22 masak lizmat: looking
21:22 masak lizmat: lines are very long, so it's easier to read raw: https://gist.github.com/lizmat/7795668/raw/cdcde8​9576af924350377df47f73b4c5130f65bc/gistfile1.txt
21:23 lue lizmat: "until earlier this year I decided" -> "until earlier this year when I decided" (under <h1>Enter IS DEPRECATED</h1>) still reading :)
21:23 lue masak: I'm using /raw/ too :)
21:24 masak lizmat: "overseeable"? I don't know what you mean there.
21:24 masak lizmat: do you mean something like "small enough to get an overview of"?
21:25 lizmat I guess it's a dutchism
21:25 lizmat yes
21:25 lizmat removed
21:25 lue "manageable" seems the best fit; but I don't know Dutch too well :)
21:26 lizmat "The changes to calls to bless() in the core setting were implemented by moritz++."
21:26 masak lizmat: looks good.
21:27 masak lizmat: do you intend to write things under the remaining three headings?
21:27 lue Sounds right to me. lizmat++ for the post so far, by the way. (I have no problems believing the rest will turn out find ☺)
21:27 lue s/find/fine/
21:27 lizmat masak: yes
21:27 masak because it would be perfectly cromulent to stop there and save the other topics for another day if you want.
21:27 masak ...thus filling more spots :>
21:27 lizmat ah, ok
21:27 lizmat hmmm.......
21:27 masak lizmat++ either way
21:27 lizmat yes, that would make life easier
21:28 masak 'night, #perl6
21:28 lizmat and give me more time to reasearch
21:29 lue lizmat: If you do end it there, a mention about how to accomplish bless(*) now would be nice. ("(by the way, if you need that candidate to be something other than *, use a custom SUBBUILDTIMETHING method)") If it can fit, that is.
21:29 lue ♞ masak o/
21:29 lizmat ok, I'm dropping the last 3
21:32 lizmat hmm... I'm actually not sure how you would specify another representation than  P6Opaque
21:33 jnthn is repr('...')
21:34 lizmat you mean:
21:34 lue It's fine if you don't, it's just a small thing that's been nagging... oh hai jnthn o/
21:34 lizmat class is repr("P6Hash") ?
21:34 jnthn There's some examples in CORE.setting
21:34 jnthn Well, nearly
21:34 jnthn class Foo is repr('VMArray') { } # for example
21:35 jnthn Need a class anme to make it syntactically valid.
21:35 jnthn Or a ::
21:35 jnthn Otherwise it takes "is" as the class name.
21:35 lue jnthn: I think maybe the name was implied :)
21:35 jnthn Then gets sad :)
21:35 lizmat I think that that would be taken the blog post into a really different direction
21:35 jnthn I didn't read the post yet, but yeah, it's a kinda esoteric area :)
21:36 moritz I would leave it out too
21:36 lue lizmat: like I said, if it fits. Now that I know, I don't particularly care if it's in the post :P
21:36 moritz since that was never a real-world use case for the first argument to bless
21:38 * lue just thought of a method new() that let you choose your own repr. self.bless(:$repr, ...)
21:40 ssutch joined #perl6
21:44 ssutch joined #perl6
21:44 lizmat updated the draft: https://gist.github.com/lizmat/7795668/raw/6dc4a8​c8fce2ee78baf9073facfa3d1985e2249c/gistfile1.txt
21:44 lizmat last 2 paragraphs are new
21:46 lue lizmat++ again for the post
21:49 PerlJam lizmat++ maybe show the change you made to deprecate bless as an example for the 2nd to last paragraph?
21:50 lizmat that's the thing: "is DEPRECATED" doesn't work in the core
21:50 lizmat so in the core, there is really a hack to get the same functionality
21:50 lizmat so I'd rather not do that
21:51 PerlJam oh, I see.
21:51 araujo joined #perl6
21:54 dmol joined #perl6
21:55 lizmat scheduled for 23:00 UTC, is that too early ?
21:56 PerlJam not for me :)
21:59 PerlJam only 8 days unfilled on the schedule  #perl6++ (for making it come together)
22:00 lizmat maybe I *should* do another one about Sets/Bags
22:00 lizmat as the interface sort of changed, apart from the naming as well
22:01 PerlJam lizmat: Sounds excellent to me.   Plus it'll be from a different person and so a different perspective.
22:01 PerlJam (I don't think that a topic has already been covered in past years should preclude it from showing up again if there's something new to say)
22:02 lue PerlJam: agreed
22:03 * lue hopes Bags can be constructed with ⟅ ⟆ :P
22:03 PerlJam I mean ... we cover "The State of Perl 6" every Dec 1  ;)
22:08 raydiak class Foo is repr('VMArray') # where can I read about this?
22:10 dalek mu: a658a16 | (Elizabeth Mattijsen)++ | misc/perl6advent-2013/schedule:
22:10 dalek mu: [12] Bagging the changes in the Set specification
22:10 dalek mu: review: https://github.com/perl6/mu/commit/a658a164c4
22:10 PerlJam raydiak: in the zavolaj repo is a README that explains it IIRC.
22:10 TimToady http://rosettacode.org/wiki/K-d_tree#Perl_6
22:12 lizmat so day 12 should also be covered now
22:14 TimToady jnthn: I'm fine with requiring declarative pessimization of occult nextsame
22:14 PerlJam raydiak: oh, maybe not.   I just acked and didn't see it.
22:14 raydiak ah, I see...let me rephrase the question as what I'm really wondering: is "class Foo is Array" good for my post on array-based objects?
22:16 jnthn TimToady: OK, thanks. Will work on it.
22:16 TimToady raydiak: that would depend on whether the subclass requires intimate knowledge of the superclass, since it can only access Array through its public interface
22:17 jnthn raydiak: You almost certianly don't want to be talking about is repr there, I think.
22:17 raydiak jnthn: that's what I figured, just thought I'd check
22:18 raydiak TimToady: I don't think it does...it's basically just an array with a few extra methods which access the contents of the array, methinks
22:19 TimToady short night was short; nap &
22:31 daniel-s_ joined #perl6
22:31 dalek nqp/indy-args: 8510360 | jnthn++ | src/vm/jvm/QAST/Compiler.nqp:
22:31 dalek nqp/indy-args: Fix string-literal splitting to account for utf-8.
22:31 dalek nqp/indy-args: review: https://github.com/perl6/nqp/commit/85103604f6
22:31 dalek nqp/indy-args: 4b6085d | jnthn++ | src/NQP/ (2 files):
22:31 dalek nqp/indy-args: Avoid overly-cautious initializations.
22:31 dalek nqp/indy-args:
22:31 dalek nqp/indy-args: This teaches NQP to distinguish 'my @a := [...];' from a 'my @a'. In
22:31 dalek nqp/indy-args: the first case, we need not initialize @a with an empty array that we
22:31 dalek nqp/indy-args: immediately throw away. Same for %h. For scalars it's less of a waste
22:31 dalek nqp/indy-args: as we allocate nothing, but still can avoid the work.
22:31 dalek nqp/indy-args: review: https://github.com/perl6/nqp/commit/4b6085d079
22:38 raiph joined #perl6
22:44 daniel-s_ joined #perl6
23:05 dalek nqp/indy-args: d77348a | jnthn++ | src/QAST/ (15 files):
23:05 dalek nqp/indy-args: Don't make throw-away slurpy arrays in QAST nodes.
23:05 dalek nqp/indy-args:
23:05 dalek nqp/indy-args: Switch to using a sentinel and optional parameter. This should be a
23:05 dalek nqp/indy-args: win on all backends.
23:05 dalek nqp/indy-args: review: https://github.com/perl6/nqp/commit/d77348a3c6
23:06 dalek rakudo/opts: a473450 | jnthn++ | src/Perl6/Optimizer.nqp:
23:06 dalek rakudo/opts: Don't pass nqp::null to a QAST node!
23:06 dalek rakudo/opts: review: https://github.com/rakudo/rakudo/commit/a473450de3
23:12 rurban1 joined #perl6
23:18 stevan_ joined #perl6
23:25 * [Coke] yawns
23:39 * lizmat just realizes that she scheduled her post 24 too late
23:39 lizmat *hours
23:40 jnthn fail :)
23:43 lue just change the time to <right day>@00:01 UTC! Hurry, you only have 20 minutes!
23:45 dalek nqp/indy-args: 647351b | jnthn++ | src/QAST/Node.nqp:
23:45 dalek nqp/indy-args: Optimize QAST node creation.
23:45 dalek nqp/indy-args:
23:45 dalek nqp/indy-args: Worth it since it's a very hot path.
23:45 dalek nqp/indy-args: review: https://github.com/perl6/nqp/commit/647351b896
23:51 tadzik what does indy stand for?
23:51 jnthn invoke dynamic
23:51 jnthn Though, last few commits in this branch aren't much to do with it... :)
23:52 lizmat well, it's published now
23:53 ssutch joined #perl6
23:53 lizmat I've updated the table of contents, but now it's no longer on top
23:56 jnthn lizmat++ # nice post!
23:56 jeff_s1 joined #perl6
23:57 lizmat now I wish I knew how to get the TOC on top again
23:58 * jnthn ain't sure 'bout that; sorry...

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo