|
brainstorming lists: gist.github.com/203173 paste.lisp.org/display/88288 IRC logs: irclog.perlgeek.de/perl6book/today source: github.com/perl6/book/ Set by moderator on 20 October 2009. |
|||
|
07:25
masak joined
12:11
lichtkind joined
12:36
lichtkind_ joined
|
|||
| masak | meeting tonight? | 13:31 | |
| moritz_ | oops | ||
| wrong way 'round | |||
| masak: yes | 13:32 | ||
| moritz_ hopes for more attendees than last week | |||
| masak | I'll come. | 13:39 | |
| when we do the release later in the week, do we plan to release things with '# TODO' comments in them? | 14:03 | ||
| moritz_ plans to, yes | 14:04 | ||
| jnthn | what time? 1800 utc? | 14:05 | |
| moritz_ | yes, I think so | ||
| masak | I think so too. | ||
| anyone mind s/Stone/Rock/ in the Rock-Paper-Scissors game? | 14:06 | ||
| moritz_ | go right ahead | ||
| as long as you :g it :-) | |||
| masak | I will :) | 14:08 | |
| rakudo: enum Signs <Rock Paper Scissors>; multi wins(Rock $, Paper $) { 1 }; multi wins(Paper $, Rock $) { 1 }; multi wins(Scissors $, Paper $) { 1 }; multi wins(::T $, T $) { 0 }; multi wins ($, $) { -1 }; say wins(Rock, Paper) | |||
| p6eval | rakudo 073d5e: TIMED_OUT | ||
| masak | that works locally. | ||
| masak kicks p6eval | |||
| I would argue that an enum is nicer than three empty classes. | |||
| moritz_ | it is | ||
| masak | I'll make the changes separately, for great justice. | 14:09 | |
| moritz_ | and feel free to do hack any improvements in, I don't feel stronlgy about "owning" that chapter | ||
| masak | excellent. | ||
| jnthn | masak: yeah but | 14:13 | |
| I'm not sure that's going to type sort the way you want. | |||
| Hmm...maybe | |||
| Does draw still work? | 14:14 | ||
| masak | I'll check. | ||
| why would it type sort differently, by the way. | 14:15 | ||
| s/\\./?/ | |||
| jnthn | I'm not sure enum elems count as nominal types. | 14:16 | |
| masak | they better do, or they'll have me to deal with! | ||
| moritz_ | if the aren't, they shouldn't be allowed as type constraints | ||
| std: enum Foo <Bar Baz>; my Baz $x; | 14:17 | ||
| p6eval | std 28870: OUTPUTĀ«ok 00:02 112mā¤Ā» | ||
| masak | draw works. | ||
| dalek | ok: abc7de1 | masak++ | src/multi-dispatch.pod: [MMD] s:g:ii/stone/rock/ familiar to people. |
14:33 | |
| ok: e5d44d9 | masak++ | src/multi-dispatch.pod: [MMD] replaced the classes by an enum decl |
|||
|
16:00
dalek joined
17:05
colomon joined
17:08
perlpilot joined
|
|||
| moritz_ | What I did last week: * Wrote about MMD, regexes and a bit about grammars * wrote a release announcement * Got lots of feedback. masak++ and jnthn++ in particular | 17:15 | |
| What I plan to do this week: | |||
| * Announce the book, and make a "release" | |||
| (if nobody provides a toolchain for conversion to HTML or PDF it will be | |||
| just a tarball of .pod files) | |||
| * Split regexes and grammars | |||
| (into separate chapters) | |||
| * More about grammars | |||
| * Action methods for grammars | |||
| What I'm blocking on | |||
| * Tuits | 17:16 | ||
| * More good examples | |||
| EOR | |||
| masak | oh, we're pre-reporting? | ||
| moritz_ | I suggested that last week. Nobody objected ;-) | ||
| masak | ok, here goes: | 17:17 | |
| did last week: the Task class example, various minor corrections, an SVG diagram for MMD. | |||
| plan to do this week: help with release, help set up toolchain if we get the tools. | 17:18 | ||
| blocking on: tuits, focus, plain ol' time. | |||
| .eor | |||
| moritz_ | masak: could you add the +1/0/-1 to the table in that awesome SVG thing? | 17:22 | |
| I'm thinking of the color blind here | |||
| masak | consider it done. | ||
| moritz_: hm. you wrote +1 instead of just 1. I'm thinking whether that might not be a good idea, in the table, in the coloured code next to the table, and in the chapter text. what do you think? | 17:30 | ||
| moritz_ | masak: for symmetry I'd prefer to use +1 everywhere, but I'm also fine with justing 1 everywhere | 17:31 | |
| masak | same here. I'll try +1 everywhere, since we haven't done that yet. | 17:32 | |
| if I put all the changes into one commit, they won't be difficult to separate from the rest. | |||
| moritz_ | +1 ;-) | ||
|
17:33
takadonet joined
|
|||
| masak | :P | 17:33 | |
| moritz_ | masak: do you have local changes to the regex-chapter? | ||
| masak | nope. | ||
| moritz_ | good. | ||
| masak | but even if I did -- this is git, so no problem. :) | 17:37 | |
| moritz_ just splitted it into two chapters | |||
| masak | (it's not you, it's English grammar. 'split') | 17:38 | |
| moritz_ | oh | ||
| right | |||
| masak | we spent years in school rehearsing that. instead of fixing the problem at its root. :) | ||
| moritz_ | well, I learned that too. And then spent countless hours on IRC where your grammar can decay, and nobody tells you (except masak++ ;-) | 17:39 | |
| masak | it's a gamble telling people. they are wont to get defensive. | 17:40 | |
| moritz_ | well, you can safely tell here, because you'd have to correct it in the repo in the end anyway ;-) | 17:42 | |
| masak | that's a good reason. :) | 17:44 | |
| skimming the regex chapter, I don't see anything about code assertions and similar not-yet-in-Rakudo-but-in-Rakudo-star stuff. | 17:56 | ||
| moritz_ | aye | ||
| my plan was to add them when they actually work | |||
| masak | that might be a good plan. | 17:57 | |
| moritz_ | so that I can actually test them | ||
| perlpilot | (working code)++ | ||
| masak | I'll start thinking about good examples already, though. :) | ||
| it would be neat to hook up all code snippets in the book to a testing framework, somehow. | |||
| moritz_ | aye | ||
| masak: there's a very good example for assertions: parsing whitespace-significant formats | 17:58 | ||
| masak | right, with indentation and things. | ||
| moritz_ | ^^(\\s+) <{ $0.chars >= $limit }> | ||
| masak | I agree. | ||
| another common, simple example is IP numbers. | |||
| moritz_ | right | 17:59 | |
| maybe a good IPv6 grammar would be nice | |||
| masak | I like it because the corresponding 'pure regex' is possible to write out, and it look pretty hideous in comparison. :) | ||
| perlpilot | Did we say that the book was going to have one voice or if each chapter would have its own voice? | ||
| moritz_ | that chesk the max. number of colons, at most one :: etc. | ||
| masak | perlpilot: are you referring to the use of the pronoun 'I' in the book? | 18:00 | |
| moritz_ | 'I' vs. 'we' should be standardized | ||
| masak | moritz_: are we sure IPv6 will take off, though? it might make the book look quaint in 5 years or so. | ||
| perlpilot | I was thinking more of the general tone than that. | 18:01 | |
| moritz_ | in 5 years there'll be a much more awesome {Programming,Learning} Perl anyway ;-) | ||
| perlpilot: a consistent tone would be nice, IMHO | |||
| masak | I'd very much like it for the general tone to be the same throughout the book. but I'm not going to worry about that in a few months. | ||
| moritz_ | btw it's meeting time ;-) | ||
| masak | right now it's spit-out-many-examples. | ||
| moritz_ | any more reports? | ||
| masak | any lurkers actually participating in the meeting? | 18:02 | |
| perlpilot | I've done nothing but read. EOR :) | ||
| moritz_ | perlpilot++ # concise report | ||
| rakudo: token ws { A+}; say 'fAAAb' ~~ m/:s f b/ | 18:03 | ||
| p6eval | rakudo 073d5e: OUTPUTĀ«ā¤Ā» | ||
| moritz_ | rakudo: token ws { A+}; say 'fAAAb' ~~ m/:s[]f b/ | ||
| p6eval | rakudo 073d5e: OUTPUTĀ«Confused at line 2, near "f b/"ā¤in Main (file <unknown>, line <unknown>)ā¤Ā» | ||
| moritz_ | rakudo: token ws { A* }; say 'fAAAb' ~~ m/:s f b/ | 18:04 | |
| p6eval | rakudo 073d5e: OUTPUTĀ«ā¤Ā» | ||
| moritz_ | so overriding ws only works in grammars right now? | ||
| masak | doesn't surprise me. | ||
| perlpilot | Should I mention the book effort in the Rakudo release announcement? | 18:05 | |
| moritz_ | perlpilot: no need, there's going to be a separate announcement on Friday | ||
| perlpilot | It's not a question of "need" as much as "want" :) | ||
| moritz_ | it's fine by me either way | 18:06 | |
| masak | I'd like to see if we can get hold of chromatic before Friday, and ask him nicely about the converter he mentioned. | ||
| moritz_ | rakudo: role A { method foo { 'foo' } }; grammar B does A { token TOP { <foo> } }; say B.parse('foo') | ||
| p6eval | rakudo 073d5e: TIMED_OUT | 18:07 | |
| masak | ooh, interesting. grammars doing roles. | ||
| moritz_ | and it fails | 18:08 | |
| No such attribute '$.pos' | |||
| in Main (file src/gen_setting.pm, line 288) | |||
|
18:08
KyleHa joined
|
|||
| masak | works here. | 18:08 | |
| prints "foo" | |||
| moritz_ | curious | 18:09 | |
| masak | very. | ||
| moritz_ needs to run a 'make install' | |||
| masak | maybe you just found a bug which was fixed before it was reported. :) | 18:10 | |
|
18:10
chromatic joined
|
|||
| masak | chromatic: oh hai. about that converter from POD to... was it LaTeX? | 18:11 | |
|
18:11
perlpilot joined
|
|||
| moritz_ | sorry, have to run for supper, bbl | 18:12 | |
| chromatic | Yes, it's Pod::PseudoPod::LaTeX on the CPAN. We use it at Onyx Neon for all of our projects. | 18:13 | |
| masak | oh, on CPAN. | ||
| that makes things easier. | 18:14 | ||
| perlpilot was under the impression that it was proprietary last time this came up | |||
| CPAN++ | |||
| chromatic | We have a custom LaTeX stylesheet, but I hesitate to describe formatting instructions as *proprietary*. | 18:15 | |
| perlpilot | I meant the code that grappled with pseudo pod, but you're right, that word is probably not quite what I meant at all. :) | 18:17 | |
|
18:19
dalek joined
18:20
dalek joined
18:22
dukeleto_ joined,
PerlJam joined,
jnthn joined,
pmichaud joined
18:38
hugme joined
|
|||
| moritz_ | ls | 18:40 | |
| masak | I just pushed a script that generates a .tex file from the POD sources. | ||
| moritz_ | masak++ | ||
| masak | moritz_: there are no files here. | ||
| only people :) | |||
| moritz_ | "ls" just means "list", not "list files" | ||
| masak | true. | ||
| and according to Plan 9, everything is files, so... | 18:41 | ||
| KyleHa | Plan 9 is from outer space. | ||
| masak | someone is very welcome to create a Makefile from what I just made. | 18:43 | |
| dalek | ok: 026f34f | masak++ | (2 files): [bin/book-to-latex] script to generate a .tex file $ perl bin/book-to-latex > book.tex $ pdflatex book.tex Now, could someone who knows how please make a Makefile that does the above? |
||
| masak | it's probably not hard. | ||
| moritz_ | I've added all of the previous ops who are registered to freenode to the access list | 18:45 | |
| jnthn | hi hi hi! | ||
| Am I late to b00k meeting? | |||
| moritz_ | jnthn: yes | ||
| so we can just become op when necessary | |||
| no need to carry around our donoughts publicly ;-) | |||
| jnthn | Also, what on earth happened while I was doing @otherjob... | 18:46 | |
| moritz_ | jnthn: feather went down | ||
| jnthn | ah | ||
| gah, now we irssi window numberings have changed. :-/ | |||
| PerlJam | actually feather appears to have stayed up, it's just that its neetwork connection went away for a while | ||
| moritz_ | right | 18:47 | |
| PerlJam | jnthn: you can save those (I forget the syntax) | ||
| moritz_ | the processes were still running | ||
| jnthn | I'll be posting in the wrong place for days. | ||
| Yeah, my screen session lived. | |||
| moritz_ | jnthn: /window move $number | ||
| jnthn | moritz_: oh wow! | ||
| moritz++ | |||
| So...people call the game Rock Paper Scissors? | 18:49 | ||
| PerlJam | jnthn: in the USA they do | ||
| jnthn | Oh. | ||
| Paper Scissor Stone in proper English. | |||
| masak | oh. | ||
| jnthn | ;-) | ||
| Erm, British. I meant British English. | |||
| :-) | |||
| PerlJam | (I think it's a minor cultural thing that anyone can get used to, so the british english way would be fine by me) | 18:50 | |
| moritz_ | we should keep two branches, one in Proper English, one in Slanglish ;-) | ||
| PerlJam | The USAian version has the benefit of unique first characters | ||
| jnthn | Don't forget the Geordie branch, which is just like the others, but eveyr sentence ends in "like", like. | ||
| moritz_ | rakudo: say 'a.b' ~~ m/<.ww>b/ | 18:52 | |
| masak | is this still the meeting? or are we just having an after-meeting chat? | ||
| p6eval | rakudo 073d5e: TIMED_OUT | ||
| moritz_ | I suppose it's after-meeting chate | ||
| *chat | |||
| sorry, I had to run off, so I kinda lost track | |||
| jnthn | I'm backlogging at the moment. Is there anything anyone wanted to ask me? | 18:53 | |
| Since I managed an off-by-1 error. | |||
| (1 hour, that is...) | |||
| moritz_ | ;-) | ||
| don't think so | |||
| masak | jnthn: so you were actually 15 minutes early? :P | 18:54 | |
| jnthn | Yeah, I'd just finished dinner and was going to write my pre-meeting report of what I did for book this week. ;-) | ||
| moritz_ | well, write it now | 18:55 | |
| jnthn | Fine | ||
| Scribbled some stuff in the OO chapter. | |||
| Reviewed moritz++'s MMD chapter | |||
| EOR | |||
| masak | jnthn++ | ||
| jnthn | I'm planning to do more on OO chapter during the next week, unless that conflicts with anyone? | ||
| moritz_ | not with me | 18:56 | |
| jnthn | My only other thing. Moritz wrote "'I' vs. 'we' should be standardized". I agree. | ||
| moritz_ | I'm focusing on grammars for now | ||
| I'd prefer 'we' | |||
| erm | |||
| jnthn | I don't mind strongly which one, but I hate fixing up text from one to the other, so would rather try and having it right. | ||
| moritz_ | we'd prefer 'we' | ||
| jnthn | We'd prefer it too. | 18:57 | |
| Are we amused? | |||
| masak | I don't use either much. | ||
| moritz_ | we can haz pluralz_ | ||
| s/_/?/ | |||
| (tippgicht) | |||
| (tipp = typing, gicht = gout) | 18:58 | ||
| jnthn | German is awesomecombinatinglanguage. | ||
| masak is considering heading home | |||
| jnthn | "we" works for me though | ||
| I think it's what I've been using. | |||
| chromatic | Where's this pronoun use? | ||
| masak | I'm not sure it's such a big problem. there's lots of editing to be done once we have all the material anyway. | 18:59 | |
| jnthn isn't quite sure how to answer that | |||
| masak | we will read the text hundreds of times... | ||
| jnthn | chromatic: Erm, "in the bits of the book written so far" is the first answer that comes to mind. :-) | ||
| chromatic: What is it specifically that you're asking? | |||
| chromatic | How do you address the reader? As "you" or as "we"? | 19:00 | |
| jnthn | I've been using "we" so far. | ||
| But the discussion is mostly, should we try and standardize on one. | |||
| moritz_ has been using "you", mostly | |||
| chromatic | My preference is "you". | ||
| jnthn | OK | ||
| If we^Wyou prefer that, I can switch. | 19:01 | ||
| chromatic | I find the imperative mood "Reader, go do this!" clearest. | ||
| masak | nod. | ||
| and 'we' for the writers makes sense, since we're several. | |||
| jnthn | Yes. | ||
| masak | and 'we' for both writers and readers also makes sense. | ||
| moritz_: did you try creating a PDF? | 19:02 | ||
| moritz_ | masak: no, not yet | ||
| masak | it already looks pretty cool. 19 pages. :) | ||
| I'd say the priority until Friday is to make it look a bit more polished... releasable, simply. | 19:03 | ||
| that's probably what I'll be putting my effort on. | |||
| moritz_ | I'm writing a bit about grammar inheritance right now, and then will focus on polishing | ||
| jnthn | I'm madly sorting out slides for my talks at IPW, and tomorrow will be jumping on a flight, and then will be doing conferency things for next couple of days. | 19:04 | |
| So I'm not sure I'll be able to make a lot of time for book before the release - sorry. | |||
| moritz_ | no problem. | ||
| masak | what moritz_ said. | 19:05 | |
| good luck, and have a good flight! | |||
| jnthn | masak: Thanks! | 19:06 | |
| pmichaud | I'll make book time, although I also have a conferency-thing this weekend. | ||
| chromatic | Would it help for me to make a quick editorial pass? | ||
| pmichaud | But mine isn't quite so far out-of-town as jnthn's | ||
| chromatic +1 | |||
| chromatic | Someone'll have to hugme commit access. | ||
| moritz_ | hugme: add chromatic to book | 19:07 | |
| hugme hugs chromatic. Welcome to book! | |||
| masak | :) | ||
| jnthn | .oO( first time I saw hugme used as a verb :) ) |
||
| moritz_ | we can verb anything! | ||
| jnthn | pmichaud: Mine's so far out of town, it's even out of country! ;-) | ||
| chromatic | I'm an editor. I have fiendish word powers. | ||
| pmichaud | jnthn: well, sometimes my "in-state" conferences are still farther than your out-of-country ones :) | 19:08 | |
| jnthn | pmichaud: I knew that comment was coming. :-) | ||
| pmichaud | ...you could see it coming from halfway across the state? ;-) | ||
| jnthn | ...not literally. Ya state's so big even Hubble can't see accross it. | 19:09 | |
| pmichaud | it's not only size, it's ozone coming from Houston. | ||
| "Worst air quality in the U.S.! Woo hoo!" | 19:10 | ||
| masak | sounds like Houston has a problem. | ||
| jnthn | :-) | ||
| Thing with ozone is, unlike methane you can't just blame it on the huge number of cattle. | 19:11 | ||
| chromatic | This must be some use of the name "US" which no one outside of Texas intends. | ||
| pmichaud | heh.... did you see the poll about Texas seceeding from the union? | 19:12 | |
| chromatic | I voted for it! | 19:13 | |
| pmichaud | so did apparently a majority of folks in the U.S. (outside of Texas) | ||
| www.dallasnews.com/sharedcontent/dw...3cb13.html | 19:14 | ||
| masak | hah! | ||
| moritz_ | dalek eated my commit. Bah. | 19:15 | |
|
19:15
dalek joined
|
|||
| masak | dalek was booted because of your commits? :) | 19:16 | |
| moritz_ feels mostly inocent | |||
| jnthn | Man, these people who commit too much. | 19:18 | |
| masak | "captain! the bots are overheating due to all the commits!" | 19:19 | |
| I really like the development the book has had so far. | 19:20 | ||
| I feel I've contributed very little to it, but that might change in the future. | |||
| I have think-of-examples running as a background job in my mind. | 19:21 | ||
| jnthn | masak: Your have contributed. | ||
| masak: Your OO example inspired me to write the bits I did. | 19:22 | ||
| masak | yeah, that was kinda cool. | ||
| I should do more of those drive-by commits. | |||
| jnthn | I've have found it a lot harder to start without a good example to work from | ||
| moritz_ | same here | ||
| jnthn | If you feel like showing the code for some extensions too (not bulk out the original but a more "how we could add to it") to demonstrate delegation and inheritance, that would be excellent. | ||
| Oh, and multi-dispatch. | 19:23 | ||
| masak | I can put together the variant with parallel tasks I mentioned. | ||
| moritz_ | and you can delegate to @!dependencies.push ;-) | 19:24 | |
| masak | wohoo! TimToady++ | ||
| jnthn | Both good examples. | ||
| Also multi-methods if we can fit those in. | |||
| moritz_ | which reminds me, I wanted to write tets for that | ||
| masak | logging off. see y'all around. o/ | ||
| jnthn | o/ | ||
| moritz_ | seeya | ||
| jnthn | moritz_: yay, tests :-) | 19:25 | |
| moritz_: I suspect that while we enabled tests for named and attributive parameters, they both might be more extensively tested too. | |||
| moritz_: Further to that, signature literals also now work. I'm nt sure we have/enabled any tests for those either. | |||
| moritz_ | we don't have that many | 19:26 | |
| jnthn | *nod* | ||
| moritz_ | rakudo: say (-> $x, $y { }).signature === :($x, $y) | ||
| jnthn | I'm not saying you do them all, but maybe stuff to put in TASKS file. :-) | ||
| p6eval | rakudo 073d5e: OUTPUTĀ«0ā¤Ā» | ||
| moritz_ | rakudo: say (-> $x, $y { }).signature eqv :($x, $y) | ||
| jnthn | moritz_: I didn't actually make them do a whole lot yet. | ||
| p6eval | rakudo 073d5e: TIMED_OUT | ||
| jnthn | moritz_: I mean, .perl and introspection on 'em work. | 19:27 | |
| moritz_ | that should be enough to get eqv to work too | ||
| jnthn | Before you couldn't even write a signature literal without it exploding. | ||
| moritz_ | ae | ||
| aye | |||
| jnthn | Feel free to put eqv support in, if you like. :-) | ||
| dalek | ok: f027e5e | moritz++ | src/ (5 files): PseudoPod starts at =head0, so decrease the heading level by one everywhere |
19:32 | |
|
19:39
KyleHa left
|
|||
| colomon | Might I get a commit bit for the book? I've just found a typo... :) | 19:58 | |
| moritz_ | hugme: add colomon to book | 19:59 | |
| hugme hugs colomon. Welcome to book! | |||
| colomon | Thanks! | ||
| Is it okay if I edit sentences as well? | 20:03 | ||
| moritz_ | sure | ||
| PerlJam | colomon: you can only edit odd numbered lines that do not end with a consonant | 20:05 | |
| :-) | |||
| colomon | is that before or after I'm done editing them? | ||
| moritz_ | depending on the moon phase | 20:06 | |
| the correct algorithm is still being worked on | |||
| PerlJam consults some tarot cards for colomon's answer | |||
| colomon | Huh. I'm having a heck of a time trying to get my change into the PDF. Like book-to-latex worked once and that was it.... | 20:12 | |
| moritz_ | it works here | 20:13 | |
| colomon | apparently I am suffering from "made dumb by the battering of a 13-month-old" syndrome. I've got it working now. | 20:14 | |
| and of course now I realize I'm editing in a git sandbox clone without write privileges. where is that git book? | 20:16 | ||
| moritz_ | just edit .git/config | 20:17 | |
| url = git@github.com:perl6/book.git | |||
| now it's proably url = git://something | |||
| colomon | ye-ha! I've gone down the dark path to editing text.... | 20:19 | |
| dalek | ok: cac7c9f | (Solomon Foster)++ | src/multi-dispatch.pod: Add missing t to arbitrary. Rewrite first sentence of paragraph to flow more naturally (IMO). |
||
| moritz_ | colomon++ | 20:20 | |
| colomon | Ack, while I was working on that, I managed to bork up a $work build by typing svn up in the wrong place. | 20:24 | |
| I'm still reading the JSON example (and learning stuff, hurrah!) | 20:35 | ||
| Having just reached the first paragraph of page 6, I'm wondering how to-json($d where undef) actually matches anything. | 20:36 | ||
| Or is undef always of type Any? | 20:37 | ||
| moritz_ | any object in Perl 6 can be undef | 20:38 | |
| if it responds with False to .defined | |||
| colomon | So if I have an undef Int variable, to-json will fire off the (Int $d) case rather than the ($d where undef) case? | 20:39 | |
| moritz_ | right | 20:40 | |
| colomon | seems like maybe that could use further clarification in the text. | 20:41 | |
| moritz_ | ah, that's an even simpler way to get an undef Int | 20:49 | |
| PerlJam | colomon: the first paragraph under Constraints is awkward. If you can think of a way to make it less so, that would be awesome | 20:53 | |
| colomon | PerlJam: nothing jumps to mind at the moment, but I will try to look at again later when I don't have a 13-month-old pounding on me. :) | 20:55 | |
| dalek | ok: 437783b | moritz++ | src/multi-dispatch.pod: [MMD] further clarifications requested by colomon++ |
||
| moritz_ | colomon: does that answer your question? | 20:57 | |
| colomon | moritz_: it's a good start, for sure. the second half of the question is explaining how this applies to the to-json example. | 21:01 | |
| Another way of saying this is when I saw the to-json example, I figured ($x where undef) must beat (Int $x) for undefined Ints. (Mind you, I didn't understand how.) | 21:04 | ||
| then later I understood that it wouldn't, but then I was confused about the example. :) | 21:05 | ||
| PerlJam | C<$d where { $d ~~ undef }> That should be $d where { $_ ~~ undef }, right? | 21:07 | |
| moritz_ | PerlJam: the two are equivalent | ||
| PerlJam | right, but only because $d is in the scope of the block. | 21:08 | |
| Two different things that do the same thing leads to confusion :) | |||
| moritz_ | it alwyas is, in the case of constraints | ||
| PerlJam: but feel free to change it if you think it's clearer the other way round | |||
| PerlJam | I'll think on it some. | 21:09 | |
| After the Rakudo release I'll probably hack the book in my spare time | |||
| colomon | I've always done it $d where { $d ~~ undef }. | ||
| Seems more natural to my C++ perverted mind. | 21:10 | ||
| PerlJam | Can we do $foo where &some_sub ? | ||
| moritz_ | sure | 21:11 | |
| PerlJam | I guess that gets translated to $foo where { $foo ~~ &some_sub } # :-) | ||
| moritz_ | aye | ||
| PerlJam | not at all what I meant though. | 21:12 | |
| moritz_ | which in turn calls some_sub | ||
| what did you mean? | |||
| PerlJam | shorthand for C<$foo where { some_sub($foo) }> | ||
| moritz_ | that's what it does | 21:13 | |
| PerlJam hasn't delved into the particulars of constraints enough to remember much of anything about the syntax | |||
| moritz_: are you saying that C<some_sub($foo)> and C<$foo ~~ &some_sub> are equivalent? | |||
| moritz_ | yes. | 21:14 | |
| at least if some_sub is unary | |||
| PerlJam | obviously I hadn't thought about that at all, but it seems weird. | ||
| moritz_ | it is very convenient | 21:15 | |
| anything that expects a matcher and does a smartmatch against that can be fully customized by a closure | |||
| PerlJam reads S03 again | 21:16 | ||
| Hmm. | 21:20 | ||
| So ... C<$x ~~ &some_sub> checks the arity of C<&some_sub> and if it's 0 or 1, calls C<some_sub>, but if the arity is > 1, it dies a horrible death? | 21:22 | ||
| moritz_ | either that, or it fail()s or so | ||
| PerlJam | Or, in keeping with the language of the paragraphs preceeding the table, it could read the signature directly (that's how I read "pattern types"). | 21:24 | |
|
22:21
d4l3k_ joined
23:21
dalek joined
|
|||