Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-11-25

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:00 Layla_91 joined #perl6
00:14 packetknife joined #perl6
00:48 whiteknight joined #perl6
00:51 molaf_ joined #perl6
01:25 alvis joined #perl6
01:41 replore joined #perl6
02:07 IngisKahn joined #perl6
03:05 mkramer joined #perl6
03:10 satyavvd joined #perl6
03:36 guidj0s joined #perl6
03:46 fridim_ joined #perl6
04:52 kaleem joined #perl6
05:22 kfo_ joined #perl6
05:50 benabik joined #perl6
06:01 localhost joined #perl6
06:05 mkramer joined #perl6
06:20 kaleem joined #perl6
06:21 packetknife joined #perl6
06:27 mkramer joined #perl6
06:29 mkramer1 joined #perl6
06:38 koban joined #perl6
06:53 mkramer joined #perl6
06:55 Trashlord joined #perl6
07:04 replore joined #perl6
07:05 wk joined #perl6
07:07 am0c joined #perl6
07:11 replor___ joined #perl6
07:16 * Woodi can confirm 'nom' work a lot faster then Rakudo Star 2011.07 :)
07:17 Woodi 10k's of pings to Redis via Simple::Redis takes 80s on 2011.07 and only max 13 on yesterday version of 'nom'
07:20 moritz \o/
07:21 Woodi however I was starting that tests becouse I saw that on Ryby it takes 1.1852 s without pipelining and 0.250783 s with pipelining...
07:21 mkramer joined #perl6
07:21 Woodi but just tested on Perl5 and result without pipelining was 0.3428199291 s
07:24 Woodi so I feel I am in kind of depression :)
07:24 hundskatt joined #perl6
07:25 mkramer joined #perl6
07:26 Woodi but, again, I think Rakudo is world-scripting-ready
07:27 mkramer1 joined #perl6
07:28 wtw joined #perl6
07:50 grondilu joined #perl6
07:50 grondilu so now there is bigint support ??
07:51 japhb nom: 2**70
07:51 p6eval nom de3997:  ( no output )
07:51 japhb nom: say 2**70
07:51 p6eval nom de3997: OUTPUT«1180591620717411303424␤»
07:51 grondilu great
07:51 japhb grondilu, ^^
07:52 grondilu you guys make fast progress, that's fantastic :)  Keep on the good work :-)
07:53 grondilu nom: say 0.5.WHAT
07:53 p6eval nom de3997: OUTPUT«Rat()␤»
07:54 japhb grondilu, on behalf of those who actually do the fast and good work, but who are currently not around, thank you.  :-)
07:55 grondilu a decimal litteral being parsed as a Rat is kind of annoying, as it slows some computations.  I spent quite some time finding out why a computation hung, yesterday.
07:55 japhb grondilu, you can simply add 'e0' to the end of the decimal literal, and it will be a Num instead.
07:56 grondilu yeah I guess, but it's not much intuitive.  Had I wanted a rational, I would have typed <1/2> or something.
07:56 grondilu but e0 or .Num is fine
07:57 Woodi nom: say now
07:58 p6eval nom de3997: OUTPUT«Instant:1322205588.89651␤»
07:58 japhb grondilu, the idea is that *by default* Perl 6 tries to not lose precision unnecessarily.  If you want speed instead, you can ask for it several ways.  You can even declare something to use a (VM-)native int or num.
07:58 japhb damn, just missed him
08:00 Woodi is Time::HiRes built in v6 ?
08:01 japhb Woodi, if you mean "Is 'now' by default in high resolution?" the answer is yes.
08:01 Woodi sleep 0.01 works too :)
08:03 sayu joined #perl6
08:03 Woodi so: Data::Dumper and Time::HiRes are built in. Moose too :) something else ? :)
08:04 japhb Woodi: lots else.  :-)
08:04 grondilu joined #perl6
08:05 grondilu perl6: say (0.5, { 4*$^x*(1-$x) } ... *)[10], (0.5.Num, { 4*$^x*(1-$x) } ... *)[10]
08:06 p6eval rakudo de3997: OUTPUT«00␤»
08:06 p6eval ..niecza v11-27-gdaa9117: OUTPUT«0/10␤»
08:06 p6eval ..pugs b927740: OUTPUT«*** ␤    Unexpected "["␤    at /tmp/WmlfGGhENa line 1, column 34␤»
08:07 grondilu perl6: say (0.5, { 4*$^x*(1-$x) } ... *)[^10]
08:07 p6eval rakudo de3997: OUTPUT«0.5 1 0 0 0 0 0 0 0 0␤»
08:07 p6eval ..pugs b927740: OUTPUT«*** ␤    Unexpected "[^"␤    at /tmp/eem5kD8zl0 line 1, column 34␤»
08:07 p6eval ..niecza v11-27-gdaa9117: OUTPUT«1/2 1/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1␤»
08:07 grondilu ahh nevermind
08:18 japhb OK, I'm thinking myself in circles here.  What *should* the behavior be for: my $equal := 'a' == 0;
08:18 japhb I can see several possibilities:
08:18 japhb 1. 'a' coerces to 0 and $equal is True
08:19 japhb 2. 'a' coerces via Str.Numeric to Failure, but Failure used in == returns True
08:19 japhb 2. 'a' coerces via Str.Numeric to Failure, and Failure used in == returns False
08:19 japhb 2. 'a' coerces via Str.Numeric to Failure, and Failure used in == throws
08:20 japhb er, those should of course be 1,2,3,4
08:20 japhb :-)
08:20 japhb Thoughts?
08:20 japhb Erg, I should have collected my thoughts first.
08:21 japhb In the second line, I meant that Failure used in == acts as 0 and thus the == returns True.
08:22 geekosaur 2 and 2a [ :) ] remind me of SQL's NULL and the lovely bugs it engenders
08:26 japhb geekosaur, yeah, it's that kind of thing that's bothering me.  I can see arguments for all of the possibilities I listed.  :-/
08:27 japhb Generally, I want to be able to give the programmer more information about suspect coercions.  However, I also don't want to break DWIM just to grind an axe.
08:44 mj41 joined #perl6
08:53 mkramer joined #perl6
09:10 Mowah_ joined #perl6
09:21 jnthn morning
09:23 jnthn japhb: I think that should come out True, but that still leaves two mechanisms for it to do so :)
09:28 Moukeddar joined #perl6
09:31 mkramer joined #perl6
09:42 masak nom: sub do-twice(&f, $x) { f f $x }; sub double($x) { 2 * x }; say do-twice &double, 10
09:42 p6eval nom de3997: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&x' called (line 1)␤»
09:42 shabble_ joined #perl6
09:43 masak nom: sub do-twice(&f, $x) { f f $x }; sub double($x) { 2 * $x }; say do-twice &double, 10
09:43 p6eval nom de3997: OUTPUT«40␤»
09:43 masak nom: sub do-twice(&f, $x) { f f $x }; sub add-one($x) { $x + 1 }; say do-twice &add-one, 10
09:43 p6eval nom de3997: OUTPUT«12␤»
09:47 mkramer joined #perl6
09:51 dakkar joined #perl6
09:52 mkramer joined #perl6
09:55 jnthn masak: cute :)
09:57 mkramer left #perl6
09:58 jnthn Woodi: I'm sure there's plenty more performance improvements to come in Rakudo yet. :) Real-world code is often better than microbenchmarks; I'd be happy to see the profiler output for your program, or if you give me instructions on how to reproduce your test locally I can take a look at it.
10:12 satyavvd joined #perl6
10:16 masak interesting discussion on p6u.
10:20 masak I'm not sure I believe in a "when it arrives" -- for me, Perl 6 has arrived for the most part.
10:21 masak it's more like, the future is unevenly distributed, and we'd like to roll it out it to more people in a structured way.
10:22 masak meaning that people have their "early adopter setting" set to different values, and the early adopters will help us prepare the spec and the implementations for the mainstream users.
10:22 masak but it'll be a gradual thing, not a "whoa! release! look, Perl 6 is out!" thing
10:28 Moukeddar_ joined #perl6
10:47 moritz many people don't remember this, but even the now-popular languages didn't have a "woah, $language is out and production ready" moment
10:47 moritz for example the early versions of java where known to be rather slow and too memory hungry to be used for bigger things
10:54 masak in a way, we have ourselves to blame, because we set up a story arc for Perl 6 that was bound to lead to people becoming disappointed/disillusioned.
10:54 masak 2000: "We're gonna develop Perl 6 and it'll be awesome! Just imagine all current problems of Perl 5 gone, and everything just better!"
10:55 masak maybe that was inevitable. people have a tendency to fill in the blanks when you say "next version of X", and imagine their particular problems solved.
10:56 jnthn At least a few hundred of those blanks got put into the RFCs.
10:56 daxim joined #perl6
10:58 masak I still think it would be extremely interesting to go through the RFCs and see how modern Perl 6 addresses those issues.
10:58 masak I've done it twice in blog posts; once here: http://strangelyconsistent.org/b​log/the-dot-is-the-cutest-sigil
11:00 masak oh, and once here: http://strangelyconsistent.org/blog​/speaking-hypothetically-in-perl-6
11:00 masak both mentions of RFCs are at the end of those posts.
11:05 thou joined #perl6
11:08 masak the RFCs by their very nature had to be merged into something like the Apocalypses, because each of them made a local change on the current Perl 5, and providing 361 new Perl 6s wasn't an option :)
11:20 mkramer joined #perl6
11:34 colomon_Droid joined #perl6
11:34 colomon_Droid o/
11:43 Bzek joined #perl6
11:51 rafl how are your GCI efforts coming along? are you all set with the tasks you want to do? it's just two more days til the next publication deadline.
11:56 cognominal in nom, it seems there is a problem with scope handling for a var evaluated in a block within a string :    "{$s}" with $s a lexical variable of a recursive routine. I am trying to reproduce in a simple program.
11:58 mkramer joined #perl6
12:07 moritz rafl: I've published one task, and plan to do more today or tomorrow
12:07 Woodi masak: you are right about 'not a "whoa! release! look, Perl 6 is out!"'. BUT maybe, if we name this scenario a certain future or something what was happens, we can change the future NOW ? some planning for BIG ANOUNCEMENT someday ? not, yet I know, but someday ? :)
12:08 Woodi probably anouncing not complete product is not good thing too :)
12:09 Woodi anyway, i can call a certain future and 'something what was happen' a fact that ppls will be complain :) so maybe not worry to much ?
12:11 daxim I've read that three times now and yet have to grok it
12:14 moritz nom: sub f($x) { return if $x == 0; say $x; say "{$x}"; f($x - 1) }; f(3)
12:14 p6eval nom de3997: OUTPUT«3␤3␤2␤2␤1␤1␤»
12:14 Woodi but as part of planning will be good to partition a spec and mark few parts as 'v6', other as 'probably will change', other experimental and other research. what I mean, realy: mark some spec aspects as research/experimental - other partw will 'look' more stable and it will made Perl6 arrive faster :) just marketing proposition, don't shoot !
12:14 moritz nom: sub f($x) { return if $x == 0; my $s = $x; say $s; say "{$s}"; f($x - 1) }; f(3)
12:14 p6eval nom de3997: OUTPUT«3␤3␤2␤2␤1␤1␤»
12:18 Psyche^ joined #perl6
12:27 whiteknight joined #perl6
12:34 mkramer joined #perl6
12:36 leprevost joined #perl6
12:38 cognominal moritz: I have to throw some more ingredient to trigger the problem. Don't know wich yet.
12:46 bitpart joined #perl6
13:07 thou joined #perl6
13:08 cognominal So far I have reduced the problem to :  https://gist.github.com/1393482
13:13 daxim joined #perl6
13:15 icwiener joined #perl6
13:19 bluescreen10 joined #perl6
13:23 cognominal nom:  sub test($p) {   my $s ~= "$p";   test $p -1  if $p-1 > 0;  return "$s" }; test 3
13:23 p6eval nom de3997:  ( no output )
13:23 cognominal nom:  sub test($p) {   my $s ~= "$p";   test $p -1  if $p-1 > 0;  return "$s" }; say test 3
13:23 p6eval nom de3997: OUTPUT«3␤»
13:23 cognominal nom:  sub test($p) {   my $s ~= "$p";   test $p -1  if $p-1 > 0;  return "{$s}" }; say test 3
13:23 p6eval nom de3997: OUTPUT«1␤»
13:25 cognominal now that's simpler enough for jnthn to chase the bug.
13:25 cognominal *simple
13:26 cognominal need to get something to eat.
13:30 mkramer joined #perl6
13:35 jnthn cognominal: Thanks for golfing...please ticket it, as I won't get Perl 6 time until this evening.
13:35 mkramer joined #perl6
13:40 diakopter__ joined #perl6
13:50 am0c joined #perl6
13:52 benabik joined #perl6
13:53 mkramer joined #perl6
14:07 donri joined #perl6
14:15 flussence .oO( unpack() could be a little more efficient if it could parse the format string once for multiple inputs... )
14:23 whiteknight joined #perl6
14:33 masak flussence: it could do that internally, perhaps. using a hash or some such.
14:33 masak flussence: or maybe it's really two primitives, one "compile" and one "run", and you can apply them separately and pass around the compiled form.
14:34 flussence more FP! :D
14:35 flussence (I did just find Convert::Binary::C for perl5, but its learning curve is a bit overwhelming...)
14:36 benabik joined #perl6
14:36 masak I wonder what the constant folder could do in terms of precompiling regexes. at least regexes with no interpolation in them are practically constants already.
14:36 user45689135 joined #perl6
14:37 masak hm, but wait. we already compile regexes at compile-time. so that's not a problem, really.
14:38 PacoLinux joined #perl6
14:40 masak though maybe some regexes could be optimized away altogether.
14:41 user45689135 (useless message but I've got to tell this to someone) please, anyone, change the design of the perl6.org website or I definitively move to python
14:42 user45689135 how can you tell your coworkers to use Perl with such a website
14:43 masak user45689135: could you be more specific?
14:43 masak I'm not disputing that it could be improved, I'm just wondering what about it you want to improve.
14:44 sjn user45689135: so your coworkers decide on the usefulness and power of a language mainly by seeing if the language webpage looks shiny? :)
14:44 masak web presence is a factor, surely.
14:44 flussence user45689135: if you're looking for a site that appeals to shallow people, try http://dev.perl.org/perl6/
14:45 user45689135 Sorry for this aggressive stance, i'm half jocking though
14:45 masak not sure the dividing line is shallowness, either :)
14:45 donri i like the haskell.org design and how they reuse it in api docs etc
14:45 user45689135 yes, dev.perl.org is surely better
14:45 masak user45689135: that's fine, as long as you don't believe you can bribe us into changing it :)
14:45 masak user45689135: I would like to hear what about it you feel can be improved, though.
14:46 sjn purdy pictures are nice, yes...
14:46 sftp joined #perl6
14:46 * sjn might accept bribes <_<
14:46 domidumont joined #perl6
14:46 * sjn *whistles*
14:46 user45689135 masak: this don't look professionnal at all, all these different colors. The butterfly !
14:46 flussence .oO( maybe "easily frightened" was the adjective I was looking for there... )
14:47 donri user45689135: why does it need to look "professional"?
14:47 donri it's -Ofun ;)
14:47 user45689135 donri: yes, that's a true question
14:47 masak user45689135: that's the idea.
14:47 masak it's made to look this way, not to look professional.
14:47 masak if you dislike that fact, your best bet probably is http://dev.perl.org/perl6/
14:47 user45689135 can't we find a way between the two worls ?
14:47 * sjn wonders if user45689135 isn't completely aware of the importance of fun in programming
14:47 donri and if by "professional" you mean something like what microsoft or oracle etc do i'm all against it :P
14:48 masak user45689135: I think we can, and that middle ground is always worth exploring.
14:48 masak user45689135: but as you can see here, people have certain... doubts as to the automatic usefulness of professionalism.
14:48 user45689135 masak: agree with you that oracle website is on the opposite extrem
14:49 masak well, donri said that, not me. :)
14:49 masak but yes, we do prefer to enjoy ourselves more than to please others' expectations of professionalism.
14:50 masak I believe that attitude is still less offputting than the rockstaritude of e.g. the Ruby community :)
14:50 sjn there's a point in having an _aestethic_ website though. an sell done aestethic website surely helps in communicating the message of that website
14:51 mkramer joined #perl6
14:51 masak aye.
14:51 daxim I applied an aesthetic patch once.
14:51 masak that's part of why I ask for specific points of improvement.
14:52 awwaiid I just looked at sites for python, ruby, scala, ocaml, java, squeak, perl5, perl6... ruby is the prettiest imo and notably the only one with any code on the front page
14:52 flussence Make it look more like learnyouashaskell.com :) /me ducks
14:52 masak I believe we still can improve the page aesthetically, even while retaining the "happy colors" theme and the butterfly.
14:52 huf are we talking about perl6.org?
14:52 user45689135 masak: I don't want to be misunderstood. I love Perl humor and i understand that we want to revendicate it. I just found it ugly, and think the sentiment is so strong that it might be somewhat objective.
14:52 masak awwaiid: I've always admired what the Ruby front page does with code examples. it's attractive.
14:52 awwaiid perl6 is actually more colorful and playful than squeak :)
14:53 awwaiid huf, yes perl6.org
14:53 huf ah yeah. it breaks if you set your minimum font size high enough
14:53 huf (like i do, with my shitty eyes)
14:54 masak user45689135: I do hope that I haven't misunderstood you. I try not to. :)
14:54 masak user45689135: you want a nicer perl6.org page, but you haven't yet said how. you've only said what you dislike about it.
14:54 masak user45689135: best would be if you could provide us with a new, better design -- maybe through a patch.
14:54 user45689135 masak: i will try to purpose some improvments. thanks for having answering me
14:55 awwaiid user45689135, I'm under the impression that the current look of perl6 fits the current embriotic state of perl6 -- child-like joy in growing and exploring the (platonic) universe
14:55 masak huf: yeah, I don't like using floats like that. they're not meant for that kind of thing.
14:55 huf masak: yep. and i dont have a better solution either
14:55 huf masak: unless html5
14:55 daxim I set to min 30pt and it still looks okay
14:55 huf but that has to wait a bit
14:56 masak awwaiid: I've never thought of it like that -- though it could be argued that Perl 6 is an 11-year-old and prefers a slightly more mature style at this point :)
14:56 huf daxim: as the font gets too large, lines get wrapped into more and more lines and that pushes the >>MORE<< below the edge of the box
14:56 awwaiid masak, could be!
14:56 daxim aha
14:56 masak huf: http://giveupandusetables.com/
14:56 huf yep :D
14:57 huf i'm used to sites breaking, so it's not a big deal for me
14:57 huf but then, i hate the web with a passion :D
14:57 masak I kinda like the web. I like emergent things.
14:57 huf i liked what it could have been, the hyperlinked set of documents thing. i dont like what it's become, an application platform
14:58 huf not because i dont think we need that, but because it sucks at it
14:58 awwaiid me too -- I love the chaos that magically still leads to such utility
14:58 donri this http://www.conversationmarketing.com/2010​/12/10-great-content-friendly-designs.htm not this http://www.oracle.com/us/products/serve​rs-storage/solaris/solaris11/index.html
14:58 masak I do believe that the dream of separating content from presentation that fuels the desire not to use tables for layouts is, ultimately, unattainable.
14:59 donri separating content from presentation is easy: keep the content in a database :P
14:59 donri generating different presentations is a simple matter of templating
15:00 flussence CSS3 does have some stuff that can be used for table-like layout... but it's not finished and every browser does it differently :(
15:00 donri but, css does make a lot of things easier
15:00 flussence (display: box & related things)
15:00 daxim http://use.perl.org/comments​.pl?cid=70360&amp;sid=43716
15:01 donri flexbox is in deed cuteness
15:02 masak donri: CSS does make a lot of things easier. what I mean is that it's impossible to pull exactly *all* of the presentation aspects out into the CSS. some thing (such as ordering) will always be in the HTML.
15:02 donri but, css positioning is far from as difficult to manage as many seem to think, at least if you keep your design simple which you should anyway
15:02 fridim_ joined #perl6
15:03 donri masak: in deed, also the need for nested containers etc
15:03 masak right. nesting carries some presentation information, too.
15:04 mkramer joined #perl6
15:04 masak maybe "keep it in a database" is actually the answer, though. if you turn absolutely all text into some gettext/i18n system, I imagine you could get fairly close to a "pure content" model.
15:05 masak but you'd still need to build the HTML, which would still contain a bunch of presentation details.
15:06 donri the problem is when you store content as (non-semantic) html
15:06 jnthn Presentation may be too hand-wavey to be useful. Maybe splitting it as content/structure/semantics (fine in HTML) and appearance (what's meant to go in the CSS) is more helpful.
15:07 masak jnthn: well, that's kinda my point. "presentation" is too hand-wavey, and as such, an unattainable ideal.
15:07 donri if your only copy of the content is html filled with font color=red it's rather difficult to present it in any other way
15:07 awwaiid this "content" of which you speak has both data and the _meaning_ of the data, the semantics. This "presentation" of which you speak has both color scheme and font goo, and layout relative to the _meaningin_ of the data. The data is useless without the structure around it, and cannot be presented without it.
15:07 masak donri: the problem in general is when one doesn't separate concerns :P
15:08 donri but if you have a copy in markdown or docbook or something, outputting "bad" html is less of an issue
15:08 jnthn masak: Well, sure, it's hard to achieve things if you don't know what they are. ;)
15:08 donri that's the original issue, i  believe; then the purists came along and made it into an issue of correctness :P
15:08 masak and the problem of becoming aware of it is that concerns are only really visible when they've been separated. :)
15:08 awwaiid thus the venn diagrams overlap, and a balance must be found
15:09 donri the only reasons to care about the cleanliness of *output* html is bandwidth and scrapability (SEO i guess)
15:09 donri which are certainly important reasons, but not the ones people usually think of it seems
15:09 masak also, because it's so *pretty* :>
15:10 * masak hugs `tidy`
15:10 donri masak: true; we should try to make the binary/byte code our compilers output similarly pretty
15:11 masak donri: seriously though, sometimes I care about cleanliness of such things because of some sense of craftmanship.
15:11 masak I "know" that it will pay off, not least psychologically because I'm not afraid to go back and look at the HTML when I need it.
15:11 donri of course, i'm one of the worst offenders in this obsession about puristic correctness and cleanliness
15:11 donri i'm half arguing against myself here :)
15:12 donri the thing is generated html is about as easy to change as the stylesheet
15:12 masak donri: but yes, what we're talking about is web standards for their own sake, which is not always a good thing: http://www.eod.com/devil/a​rchive/web_standards.html
15:13 donri css might still be more maintainable in some areas; just throw a class on your markup and reuse existing style rules; but you can similarly reuse html templates in some situations
15:16 donri the great thing is that we get to use both and whatever best solves the problem, as long as, yes, we're less anal-retentive about omg-standards
15:18 daxim standard angels and other mythical creatures:  http://web.archive.org/web/20110514114618/http​://diveintomark.org/archives/2004/08/16/specs
15:19 daxim damn you, mark pilgrim, why'd you pull a why_ and take down your whole goddamn 10 year blog?!
15:21 masak he did? :/
15:24 masak I'm not sure you can "pull a why_" unless you have an online persona distinct from your actual identity.
15:25 awwaiid I've often fantasized about creating a separate internet persona. Unfortunately it takes enough effort for just one to keep me busy.
15:28 donri i used to juggle several in my youth
15:29 * jnthn suspects that if he created an alternate persona and hung around on #perl6, the alternate persona would probably still make awful puns and get outed in no time... :)
15:31 * donri notes that jnthn is talking about his alternate persona in third person
15:31 jnthn Oh. :)
15:33 * jnthn gets too confused about how to refer to himself-but-not-himself, and goes back to whining about why on earth somebody would make an Excel sheet in order to send him a bunch of SQL queries
15:34 * masak .oO( Exquel )
15:35 * jnthn guesses its the same somebody that wrote 200-line stored procedures involving cursors because they'd never come accross GROUP BY... :)
15:35 flussence heh... I just got told to turn an excel sheet into some JSON structure at $dayjob. Copy/paste/regex'ed it in vim in about 5 minutes...
15:36 jnthn What, you weren't tempted to write a JSON transformer in VBA?
15:36 donri why didn't you export it to something like csv and load it up in some proglang?
15:36 flussence this was the quickest way :)
15:37 flussence (it's one of those horrible spreadsheets that uses tables for layout...)
16:07 * Woodi would like to note that actual perl6.org is state of art of early XXI century - it have round corners and animated menus
16:08 Woodi second note: it is improved, previous version was more disasterous
16:09 * Woodi now feels free to complains (too) :)
16:13 odoacre joined #perl6
16:14 Woodi damn, I am sure I remember animated menus... :)
16:16 moritz Woodi: I've been involved with perl6.org since it got its current structure and layout, and it never had any animated menus
16:19 Woodi nvm :)
16:38 MayDaniel joined #perl6
16:50 jnthn nom &
16:56 mkramer1 joined #perl6
17:17 kmwallio joined #perl6
17:27 Woodi on contrary - about Web-hate-ing - probably yesterday I asked on #perl for best Perl _bindings_ for UI programming; got *strong* sugestion to use W3 :)
17:32 drbean joined #perl6
17:51 ksi joined #perl6
18:17 fsergot joined #perl6
18:18 fsergot Hi perl6 o/ !
18:28 mkramer joined #perl6
18:31 kaleem joined #perl6
18:34 birdwindupbird joined #perl6
18:34 birdwindupbird left #perl6
18:45 zby_home joined #perl6
18:48 mkramer joined #perl6
18:55 moritz \o
19:02 mkramer1 joined #perl6
19:06 drbean joined #perl6
19:24 dorlamm joined #perl6
19:31 vmspb joined #perl6
19:40 mj41 joined #perl6
20:10 japhb Anyone else (thanks jnthn++!) have any thoughts on http://irclog.perlgeek.de/​perl6/2011-11-25#i_4755358 ?
20:10 mkramer joined #perl6
20:20 mkramer1 joined #perl6
20:20 moritz japhb: S03 say "Note that, like most other operators, a comparison naturally returns failure if either of its arguments is undefined, and the general policy on unthrown exceptions is that the exception is thrown as soon as you try to use the exception as a real value. However, various parallelizable contexts such as hyper (or other "mass production" contexts such as sort) will pass through unthrown exceptions rather than throwing them."
20:21 moritz since a Failure is undefined, the first part applies
20:21 moritz "a comparison naturally returns failure if either of its arguments is undefined"
20:22 moritz but it needs to wrap the original failure, so that no information is lost
20:34 mkramer joined #perl6
20:36 * jnthn home
20:38 mkramer1 joined #perl6
20:40 moritz I think we need a smarter handling of failures in comparison ops than writing down many, many dispatch candidates
20:40 moritz for each op we need three Failure candidates
20:41 moritz (Failure, Mu), (Mu, Failure) and (Failure, Failure)
20:41 moritz or two of them, one of them marked as "is default"
20:42 jnthn Was there not some consideration that Failure be !~~ Any but instead hang about in the same kind of space junctions to?
20:42 jnthn *do
20:43 jnthn If so it could be a dispatch failover thing.
20:43 moritz there was some such consideration, yes
20:48 alvis joined #perl6
20:53 mkramer joined #perl6
20:58 cognominal jnthn: I have filed the lexical bug : #104594
20:59 jnthn cognominal: merci bcp
20:59 cognominal and I should not paste code from aquamacs to gmail. It looks good until I see the result in RT :(
21:02 kmwallio joined #perl6
21:03 masak cognominal: maybe 'cus you have Gmail in "pretty text" mode.
21:03 moritz RT doesn't seem to preserve whitespace
21:04 masak HTML emails always come back to bite you in the end. they're not worth it.
21:04 moritz agreed
21:05 Woodi jnthn: about performance tests I was talking in the morning: scripts are now in tools/performance directory (v6 and v5 tests). Perl5 stats are: PP Redis: 0.416, XS: 0.20281, XS+pipelining: 0.02340 (??)
21:05 masak plus, they're not nice to the little gnomes inside of your computer who translate your email to Morse code and send it off over the wire. HTML is too verbose.
21:05 Woodi repo is @ https://github.com/slunski/perl6-simple-redis
21:05 masak Woodi++
21:06 jnthn Woodi: Thanks.
21:07 Woodi pls be nice for newbie programmer :) C in Perl, childish code, etc. I know... but every improvement sugestions are welcome
21:07 Woodi oki, gn #perl6
21:07 cognominal hopefully many perl6 bugs can be golfed in one line.
21:07 jnthn night, Woodi
21:29 mj41 Rakudo - 75% of Perl 6 features implemented http://j.mp/oBiIfn http://j.mp/tIlqUT
21:30 mj41 You can retweet  https://twitter.com/#!/mj41cz
21:33 jnthn mj41++ # pretty graphs :)
21:33 jnthn And visualizes nicely where nom needs a shove. Thanks. :)
21:35 mj41 jnthn: Thanks for your work on Rakudo.
21:37 masak mj41++ # nice!
22:03 donri joined #perl6
22:04 mkramer joined #perl6
22:11 drbean joined #perl6
22:12 * japhb grumbles good-naturedly
22:13 japhb Wouldn't you know I'd get pulled away right after asking a question?
22:13 japhb Anyway ...
22:15 masak it's amazing how similar Rakudo 2011.07 and Niecza look in those pie charts.
22:15 japhb moritz, My question wasn't *just* about == comparison where one of the arguments is Failure, though that was definitely part of it.  The other part is whether == should do a strict Numeric conversion of its arguments, so 'a' becomes Failure, or a non-strict conversion, where 'a' becomes 0, or 0 but Failure, or some other mystery meat that won't cause a throw.
22:16 japhb Earlier last night I was going with a strict conversion policy, and starting to track down all the places in the Setting that non-strict conversion was assumed, and correct them.
22:17 japhb But I soon realized there was a LOT of stuff that would need to be corrected, and it would probably get a fair toss slower.
22:18 japhb So then I wondered if that's really what DWIMs best for the user anyway, and that's when I started going in mental circles arguing the various cases different ways.
22:20 japhb I had done a survey of the Synopses, but while any particular quote argued for one or two of the interpretations, taken together, I couldn't see a clear pattern of intent that pointed to just one interpretation.
22:20 * japhb takes a virtual breath or two
22:20 jnthn Is the virtual air good in here?
22:20 * jnthn reads what japhb writed
22:21 japhb generally yes
22:21 japhb :-)
22:21 jnthn Hm :)
22:21 jnthn Good questions.
22:22 jnthn They...kinda need a TimToady ;)
22:22 japhb I was afraid of that
22:24 jnthn japhb: could you elaborate a little on the "get slower" bit?
22:25 jnthn Often being stricter/less dwimmy gives us more info/assurances.
22:29 japhb jnthn, sure.
22:30 japhb There are a few places where the body of an operator is very, very simple.
22:31 japhb Actually, == is a good example.
22:31 japhb multi infix:<==>(\$a, \$b) { $a.Numeric == $b.Numeric }
22:32 japhb If we want to avoid throwing the Failure if $a or $b cannot be cleanly coerced, I can see a couple routes to take:
22:32 japhb 1. You might bind $a.Numeric and $b.Numeric to lexicals, check whether either or both is Failure, and pick a result to return; False, say.
22:33 japhb 2. You could coerce them, then redispatch against something with more dispatch choices, including all variants of Failure (moritz++ mentioned this, I believe)
22:34 japhb (Of course, there's the question of where and how #2 bottoms out when $a and $b are different, non-built-in Numeric types.)
22:35 jnthn Note that more candidates - if they're all based on simple types and no where constriants - is unlikely to impact performance much, if at all
22:35 japhb Or you could make sure that $a.Numeric always returns something that will not throw when compared, but somehow can act as a Failure elsewhere -- which is odd and somewhat counter to moritz's S03 quote
22:35 jnthn Rakudo multi-dispatches pretty efficiently these days.
22:36 japhb jnthn, yes, but it's the redispatch that got me -- an extra dispatch and function call.
22:36 japhb s/function/operator/
22:36 jnthn But $a.Numeric == $b.Numeric is *already* re-dispatching.
22:37 jnthn Or maybe I'm missing what you're getting at.
22:38 japhb jnthn, it's possible, or I could be mistaken as well.
22:39 flussence .oO( hm, I just realised that most of the ideas I put into Str.indent would work for Text::Wrap too. Time to get rid of that horrible 10-line regex eval... )
22:39 japhb I'm thinking 'a' == 'b'  becomes Failure == Failure becomes 0 == 0 become true (if we go with the non-throwing behavior)
22:39 felher mj41++, nice graph :)
22:40 japhb As opposed to 'a' == 'b' becomes 0 == 0 becomes True.
22:40 japhb Or maybe our Failure variants just directly return a boolean rather than themselves redispatching.
22:41 japhb That would probably be more expedient ... but it depends on the type of the non-Numeric result actually being Failure or a subclass.
22:41 japhb What happens if someone tries to == compare an Exception against something?  Or something that makes no sense to ==
22:42 japhb er, something *else* that makes no sense to == ?
22:42 japhb What is the path to a resolved final value?
22:43 jnthn japhb: Ah, OK, now I see the extra re-dispatch you're getting at.
22:45 japhb I mean, there's always the argument that error cases don't need to be optimized ... as long as checking for and/or handling the error cases properly doesn't slow down the "normal" case too much.
22:46 japhb dangit, AFK again, will backlog
22:46 Lothar joined #perl6
22:50 jnthn Well, yeah, exceptions kinda should be exceptional :)
22:56 japhb jnthn, yes.  But I was guided partly by TimToady++'s ideas on parallelism, plus the classic issue that a parallel implementation that operates in lockstep is slowed to the speed of the slowest work item.  So if exceptional cases get too slow, they will slow down parallel implementations as well.  Of course, that argument is thinking of a horizon rather farther than the near future.  :-)
23:01 japhb Gripping hand I guess is that all of this depends on what TimToady decides the behavior *should* be.
23:16 masak or what the community redesigns it to be :)
23:19 dalek rakudo/nom: a227e73 | jnthn++ | src/core/Str.pm:
23:19 dalek rakudo/nom: substr was rather wasteful before, and didn't give the optimizer half as much to go on as it could; this improves things a bit. Found while profiling Simple::Redis by Woodi++.
23:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a227e73f6f
23:27 masak 'night, #perl6
23:37 felher 'night, masak
23:46 dalek rakudo/nom: da4426a | jnthn++ | src/core/ListIter.pm:
23:46 dalek rakudo/nom: Some small optimizations to ListIter. Knocks about 10% more off Simple::Redis benchmark, which has iteration on hot path.
23:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/da4426ae77
23:50 snearch joined #perl6
23:58 drbean joined #perl6
23:59 Ingis joined #perl6

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

Perl 6 | Reference Documentation | Rakudo