»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by Juerd on 28 August 2009.
ruoso I'm actually not sure it's worth splitting the two objecsts 00:00
TimToady Num is narrower than Rat 00:01
in terms of precision
ruoso I was meaning in terms of signature match 00:02
00:03 cdarroch left
TimToady pragmatically, they should probably be considered equivalent, but useful as tiebreakers 00:04
00:04 frew__ joined
ruoso uses Rat then 00:05
00:08 ihrd joined 00:09 arnsholt joined 00:28 nErVe left
frew__ pmichaud: ping? 00:29
00:35 zerhash left 00:40 sri_kraih left 00:41 sri_kraih joined 00:42 nbrown joined 00:53 mrsaturn left 00:54 meppl joined 01:03 xinming left 01:08 justatheory left, justatheory joined 01:09 justatheory left, justatheory joined 01:11 mrsaturn joined, hercynium left 01:14 patspam left 01:15 mrsaturn left
pmichaud frew__: pong 01:15
oops, I forgot tonight was meeting night (I couldn't have made it anyway -- too many things going on around the house)
frew__ yeah, I figured that
zaphar_ps has anyone been able to build recent rakudo on Mac OSX? 01:19
actually rakudo might build just fine but the parrot revision it has as a dependency is broken 01:20
01:22 sevvie left 01:23 ysth joined
colomon zaphar_ps: Yes 01:29
01:29 nihiliad joined
zaphar_ps yes you have built it or yes it's broken on OSX right now? 01:29
colomon I took this afternoon's Rakudo from github, changed build/PARROT_REVISION to 41159, and then did the standard perl Configure.pl --gen-parrot build process. 01:30
It fails a few spectests, but other than that works okay.
zaphar_ps ok so that revision builds just fine then?
01:31 frew__ left
colomon Yes, that was the latest Parrot as of earlier today, and it builds just fine. 01:31
zaphar_ps thanks 01:32
colomon You're welcome.
01:33 etoxam joined 01:34 sevvie joined 01:35 frew__ joined 01:43 mrsaturn joined 01:50 agentzh joined 01:53 Whiteknight left 01:54 __ash__ joined 01:57 frew__ left 02:05 ihrd left 02:12 frew__ joined 02:13 payload left, __ash__ left, etoxam left 02:19 etoxam joined
pugs_svn r28208 | ruoso++ | [spec-S32-Temporal] Complete rewrite of Temporal.pod taking into account today IRC talks, TAI time, alternative calendars, time-zone information and, most importantly, the perl 5 DateTime API 02:27
ruoso TimToady, ^^
02:32 nihiliad left, nihiliad joined
pugs_svn r28209 | ruoso++ | [spec-S32-Temporal] minor pod fixes 02:32
02:33 vmbrasseur joined 02:40 patspam joined
pugs_svn r28210 | ruoso++ | [spec-S32-Temporal] Gregorian::Duration doesnt have a time-zone. 02:41
02:47 hercynium joined
PerlJam "most importantly"? 02:48
:-)
jnthn heh 02:49
ruoso PerlJam, ok... maybe I over-stated that ;) 02:51
frew__ wayland76: my roommate says you have a queen 02:52
that's false right?
also there is no Australian SS in charge of books....right? 02:53
PerlJam frew__: The queen of england is Australia's queen too.
(but what do I know? I'm just an american)
frew__ srsly?
PerlJam frew__: last time I checked
frew__ weird..
jnthn All your Australia are belong to uk. 02:59
;-)
akl canada's, too 03:00
yay for the commonwealth
mrsaturn wiki.answers.com/Q/Does_the_Queen_o..._Australia
is true
akl I feel like 'kind of' is a better answer to that, but that's nowhere near as conclusive :) 03:01
ruoso as true as any contemporary monarchy can be... at least they share the costs of the people doing nothing ;) 03:02
03:04 patspam left 03:05 patspam joined, jaldhar joined 03:09 patspam left, patspam joined 03:26 PacoLinux left 03:31 patspam left, patspam joined 03:42 mepplock joined 03:47 mepplock left
wayland76 Yes, the queen is our head of state. She appoints the governor-general (who is usually recommended by the prime minister at the time) 03:49
But just because we have the same queen doesn't mean that the British parliament rules us or anything 03:50
Just out of interest, I'm under the impression that the Queen officially becomes a Presbyterian when she crosses into Scotland (could be wrong about this, but it was true at one time) 03:51
As for SS in charge of books, that probably depends what SS stands for :) 03:53
03:57 meppl left 03:58 drbean left 04:04 justatheory left
wayland76 ruoso / TimToady: I haven't been following the calendar stuff, but I'm hoping it's been discussed with autarch -- his original plan was to make the basic Temporal stuff quite simple, and to leave the more complex stuff up to non-core modules. 04:05
Personally, I don't care, but I think he's a good person to have on board for this kind of stuff 04:06
04:08 tak11 left 04:10 ihrd1 joined
wayland76 ruoso: The "multi calendartime" etc don't declare a return value -- maybe multi calendartime($epoch = time(), $calendar = $*CALENDAR, *%options --> DateTimeWhatever) 04:12
04:15 alester joined, mrsaturn left 04:17 patspam left 04:22 avuserow joined
avuserow Hi guys. I'm trying to read in binary data using Rakudo's latest release. lines() says that the :bin flag isn't supported. Do I have any other options? 04:22
TimToady .slurp perhaps 04:23
avuserow hm. slurp doesn't even tell me that :bin isn't supported, but it still complains about malformed UTF-8 04:25
04:29 ihrd1 left 04:45 ihrd joined 05:04 tarbo2 joined 05:14 vmbrasseur left 05:18 alester left 05:26 frew__ left 05:29 cmv left 05:30 meppl joined 05:32 dukeleto joined 05:39 zamolxes left 05:40 tarbo2 left 05:41 nihiliad left 05:43 tarbo2 joined 05:49 dukeleto_ joined 05:56 dukeleto left, dukeleto_ is now known as dukeleto 06:00 kidd left 06:14 xinming joined 06:22 ejs joined 06:29 hugme joined
moritz_ good morning 06:29
avuserow: reading in binary isn't implemented in Rakudo yet, sorry 06:30
06:31 Khisanth left
araujo good local time 06:31
lambdabot araujo: You have 1 new message. '/msg lambdabot @messages' to read it.
moritz_ good global time ;-) 06:32
06:32 cotto left 06:37 ejs left 06:40 orafu left, orafu joined
dukeleto good localtime() 06:41
pugs_svn r28211 | moritz++ | [perl6.org] include favicon link in the html 06:44
r28212 | moritz++ | [perl6.org] include type= in the favicon link 06:46
moritz_ somehow my firefox refuses to display the favicon of perl6.org correctly 06:47
but it could be just caching
I noticed before that firefox caches the favicon more aggressively than other stuff
arnsholt Works for me with Opera 06:49
(Assuming Camelia is what you want as a favicon =)
moritz_ it is 06:51
speaking of opera - I think I finally found something in SVG that firefox renders better than opera ;-) 06:53
arnsholt Heh 06:54
moritz_ (it's something related to <text> elements and the dominant-baseline attribute - I haven't figured out the details yet) 06:56
06:58 mberends joined, Khisanth joined, explorer joined 06:59 araujo left 07:00 stephenlb left 07:10 nbrown left
moritz_ rakudo: ( { say $^x } ).(3) 07:19
p6eval rakudo 446d49: OUTPUT«too few arguments passed (0) - 1 param expected␤in Main (/tmp/7o0izA2nfH:1)␤»
moritz_ what's wrong with that? is that closure executed immediately? 07:20
rakudo: ( {; say $^x } ).(3)
p6eval rakudo 446d49: OUTPUT«too few arguments passed (0) - 1 param expected␤in Main (/tmp/YX0UXvlC6G:1)␤»
07:21 ihrd left 07:24 rfordinal joined 07:26 M_o_C joined 07:27 snearch joined 07:33 iblechbot joined 07:34 ejs joined 07:36 rbaumer left, Bzek joined 07:40 dukeleto left 07:43 drbean joined, ejs1 joined 07:52 ejs left 07:55 dukeleto joined, zloyrusskiy left 08:01 zloyrusskiy joined 08:19 snearch left 08:24 mberends left, dukeleto_ joined 08:25 zamolxes joined 08:34 dukeleto left, dukeleto_ is now known as dukeleto 08:37 masak joined
masak oh hai 08:37
Matt-W o/ masak
masak does anyone want to help me draft a reply to this tweeter?: twitter.com/mhalligan/status/3857343212
Matt-W Hmm 08:38
ysth should be a one-liner of some sort
masak I'm looking for something that acknowledges that he was trying to be funny, yet informs him about the state of affairs.
Matt-W I assume it needs to fit in a tweet 08:39
masak Matt-W: yes.
dukeleto masak: #trollhug ? 08:40
masak dukeleto: that's fine, but verging on rude, I think. 08:41
note that audreyt++'s hugging technique doesn't outright call the trolls trolls.
Matt-W Maybe we should produce several replies independently :)
masak sure, go ahead. 08:42
but I think there's a combination of tongue-in-cheek and matter-of-fact that anyone replying to would benefit from including in their reply.
Matt-W Yes
If I think of something appropriate, I'll do it
dukeleto the guy seems like he is talking past his abilities 08:43
masak yes.
we all do, at times.
Matt-W Like a lot of statements about Perl 6, it comes from a lack of knowledge
masak it's like, the joke is floating around out there, free for exploitation.
dukeleto indeed, but there is doing it in a negative way, and a positive way
masak one possible answer would be: "you know, that's not very funny". but chances are he won't see why. 08:44
it might even be people have already given him positive feedback on that joke. he's already had one retweet.
08:45 xomas_ left
masak how about "hello. if you think that's funny, you might want to check out how far Perl 6 has come at this point" ? 08:48
moritz_ "I wonder where I can download a compiler for santa claus?" 08:49
08:49 kidd joined
moritz_ and then a link to rakudo.org/how-to-get-rakudo 08:49
masak moritz_++ 08:50
I'll do that one. 08:51
Matt-W Something like "@mhalligan We're working hard to make Perl 6 an everyday reality. Unfortunately, even when the increasingly awesome compiler is finished it won't deliver chocolate, presents or money." possibly 08:52
masak but it will! :) 08:53
Matt-W you can write that module
masak Chocolate::Presents::Money 08:55
Matt-W I told him that 08:56
So you're stuck with it now
:P
masak that's fine. 08:57
I'm glad for this discussion. and for the sudden communal interest in micro-PR.
08:57 athomason left
Matt-W This is the kind of thing Twitter is so good for 08:58
Although he's going to suspect we're conspiring with all the mentions he's going to get
masak well, we are.
Matt-W This is true
and there's no point hiding that
need to go now
boring meeting time
09:01 athomason joined, mberends joined
mberends good TAI-morning 09:02
masak mberends: \o/ 09:03
mberends hi masak, there's a bit more settled in proto TODO 09:04
masak goodie.
I'm in the middle of writing up a weeb, so I'm afraid I cannot do more than skim it.
mberends it's enough for me to start coding
masak skims 09:05
mikehh rakudo (62879bb) builds on parrot r41171 - make test / make spectest (up to 28212) PASS - Ubuntu 9.04 i386 (g++) 09:09
rakudo - t/spec/S03-operators/arith.rakudo - TODO passed: 131
rakudo - t/spec/S06-multi/proto.rakudo, t/spec/S12-attributes/class.rakudo and t/spec/S14-roles/basic.rakudo - Non-zero wait status: 11 (Segfault after passing tests)
masak aha. refresh/update. I like. 09:10
mberends masak, if we're "breaking whatever needs to be broken", I'd like to rename config.proto 09:11
*gulp*
masak why? 09:12
mberends it's very non intuitive (to me). the most intuitive would have been proto.conf
(principle of least surprise) 09:13
masak config.proto was probably thusly named because I already had deps.proto
mberends but if you're not keen, we'll leave it 09:14
masak I'm neither keen nor anti-keen, but I don't see an overwhelming need to change it.
mberends ok, I'll wait another few months ;) 09:15
masak 哈哈
a bigger problem is how to find that file from an arbitrary directory.
mberends ah 09:16
moritz_ ~/.ecosystem/proto/config ?
09:16 sevvie left
masak moritz_: but ~/.perl6lib (as it's called nowadays) is for modules, not for config files... 09:16
might as well put it as ~/.proto.conf, in that case. 09:17
mberends ~/.proto/config
moritz_ what about a ~/.perl6/ which contains lib/ and other stuff?
masak mberends: ah, yes. better.
moritz_ anyway, I should stop bikeshedding :-)
mberends moritz_: :-) your ideas are always welcome 09:18
09:18 _tim__ left
masak hehe. "laziness++ ;)" ;) 09:19
mberends we could switch Rakudo to moritz_++'s idea (~/.perl6/lib) now quite trivially, before too much depends on it 09:20
masak fine by me.
mberends likes ~/.perl6/lib a lot. moritz_++
masak mberends: done skimming. kudos on the fine plan. 09:21
I have but one remaining concern.
09:21 sevvie joined
masak I'll try to put it into words. 09:21
we're setting a bit of a bad precedent here, with this non-root, $HOME-only installation. 09:22
mberends true
masak the proto philosophy is to do good behind the scenes.
I fear that this might do some harm.
take 'pun' as an example of when the $HOME-only install is not only meaningless, but outright wrong. 09:23
pun has no modules, only three script files.
mberends the "installed rakudo" has another lib/ directory, but installing requires root in many environments
masak a 'make install' target (which it currently doesn't have, but it would be a good idea) would put the script files in a /bin directory somewhere. 09:24
moritz_ so you could look in ~/.perl6/proto/config or so if proto is configured for home or global installation
09:24 _tim__ joined
masak moritz_: yes. 09:24
at least with user accounts configured for 'sudo', it would work.
moritz_ well, if the user has root privs she can also make the global installation dir writable for her user or group 09:26
I think perl 5's CPAN.pm as an 'acquire root' command config
which you can leave empty if you install in ~
mberends masak, could we run the pun scripts into parrot_install/lib/1.5.0-devel/languages/perl6/ ? that seems to do duty as a kind of installed bin/ directory. 09:29
although it makes no sense to add that dir to $PATH 09:30
masak for pun especially, that would be fitting.
(since pun provides alternative executables)
mberends the perl6 "executable" is in /home/martin/rakudo/parrot_install/bin though, that would be the $PATH candidate 09:32
sans my name, of course ;)
mberends does not like adding directories to PATH 09:33
mberends does 'sudo ln -s <parrot_install>/bin/perl6 /usr/local/bin' instead 09:35
09:41 sharada joined
mberends ok, the "projects providing executable commands" seems to be orthogonal to module libraries, so it can remain a question to be resolved later. I'd like pmichaud's approval before replacing ~/.perl6lib with ~/.perl6/lib in Rakudo, however, although it looks sane. 09:45
masak ruoso++ # Temporal rewrite
mberends: nod. 09:46
moritz_ mberends: did you ask for approval before adding ~/.perl6lib? 09:47
mberends yes
09:47 sevvie left
mberends nobody uses it yet, so the current impact it nil. It's more a matter of what we live with in future... 09:48
masak right. that path will probably be a lot more long-lived than proto. 09:50
09:56 cmv joined
cognominal what is the difference btetween the Pattern subset and the Matcher role? 09:59
masak cognominal: Pattern seems to be a role, and Matcher a subset. 10:05
Juerd moritz_: juerd.nl/i/661a62775d092068f4536c0fe39f8e89.png feather2 had a high fork rate just before it crashed.
masak cognominal: but my guess is that one of them could just as well be made to go away. 10:06
10:08 mikehh left
cognominal object that do a role are indeed a subset of the class they belong to. 10:10
*objects
Also in 10:14
our multi method clone (::T $self --> T) {...}
our multi method clone (::T $self, *%attributes --> T) {...}
the second multi encompasses the first 10:15
is there a point of having both, it seems that's a pmc implementation detaill that leaks into Perl 6 10:16
Anyway, it does not matter much, the neat result is the same 10:17
10:18 mikehh joined 10:21 sm` left, sm` joined 10:39 tarbo2 left, avuserow left, jql left, Tene left, krakan left, betterwosld left, BooK left, diakopter left, chipdude left, hatseflats left, psychoschlumpf left, cj left, pioto left, |Jedai| left, buu left, sharada left 10:40 buu joined, diakopter joined, avuserow joined 10:42 _tim__ left 10:43 ruoso left 10:44 _tim__ joined, _tim__ left 10:49 carlin joined 10:51 tarbo2 joined, jql joined, |Jedai| joined, BooK joined, psychoschlumpf joined, betterwosld joined, krakan joined, cj joined, pioto joined, hatseflats joined, chipdude joined
moritz_ Juerd: thanks for the info - I'll look into giving stuff stricter resource limits 10:53
10:53 iblechbot left 10:54 iblechbot joined
masak Matt-W: *loul* @ TAIME 11:12
11:13 agentzh left 11:15 rbaumer joined
Matt-W masak: eh? 11:18
masak oh, ah. "Wilson", not "Walton". sry. :/
it was a p6l some other Matt just sent.
Matt-W aaah
okay
moritz_ masak: that's diakopter then, iirc 11:19
masak by the way, watch as the bikeshedding has started around Temporal again. :/
moritz_: aha, ok.
Matt-W I prefer not to watch...
I have limited tuits, and diving in is unlikely to expedite the process
Quite the opposite, in fact 11:20
Matt-W -> lunch &
moritz_ btw moritz.faui2k3.org/tmp/access.svg # updated visitors-per-day statistics from perl6.org
the blog posts, twitters etc. about the new perl6.org layout had caused quite a wave of visitors 11:21
(and it's a nice oocasion to show-off SVG::Plot)
M_o_C Interestingly that post got no comments :o 11:22
masak moritz_: my first impression is that the labels at the bottom are upside-down.
moritz_: probably because they form vertical "rows", and then they should logically have their baseline to the left. 11:24
er, to the right.
moritz_ masak: makes sense - I'll change that
masak an alternative might be to slant them 45 degrees ccw. but I think just rotating them 180 degrees is better. 11:25
moritz_++ # putting SVG graphs to good use 11:26
moritz_ rotating 45 degrees makes exact positioning much harder 11:27
M_o_C I'd also go for a 180° rotation for the time being.
masak moritz_: true. 11:28
diakopter yah 11:32
11:32 sm` left, sm` joined
diakopter masak: yeah, me 11:33
yeah, I, I mean
masak diakopter: ok. *loul*, then. 11:34
diakopter: also, thanks for not choosing a nick starting with the letter "M". 11:35
M_o_C :D 11:36
moritz_ :-) 11:37
11:40 explorer is now known as Guest53746 11:57 pmurias joined 12:05 takadonet joined
takadonet morning all 12:05
masak takadonet: o/ 12:06
12:08 sharada joined 12:14 ruoso joined 12:15 diakopter is now known as mdiakopter 12:16 mdiakopter is now known as miakopter, miakopter is now known as diakopter
pmichaud good morning, #perl6 12:16
ruoso good morning, pmichaud
12:16 iblechbot left
masak morning, pmichaud 12:17
moritz_ oh hai pmichaud 12:20
12:20 JimmyZ joined
Matt-W hai pmichaud 12:31
can haz LTM? :P
pmurias ruoso: hi 12:32
moritz_ moritz.faui2k3.org/tmp/access.svg # now with labels rotated the other way round
masak moritz_++
ruoso hi pmurias
moritz_ masak++ for suggesting it 12:33
pugs_svn r28213 | ruoso++ | [spec-S32-Temporal] uses Instant instead of Rat for the return of time(), Allow base Duration type to work with TAI-seconds delegating to Gregorian::Duration otherwise, Add some methods to Gregorian::DateTime to make the distinction of Instant vs DateTime more evident
masak I see I will have to do some rebasing.... 12:34
moritz_ hugme: list projects
hugme moritz_: I know about these projects: json, perl6-examples, proto, svg-matchdumper, svg-plot, temporal-flux-perl6syn, tufte
ruoso masak, see my last commit on Temporal.pm. It should clarify things regarding your comments on the list 12:36
masak ruoso: yes. I see it does.
ruoso: it's already much better than a few days ago. 12:37
wait, so now we have both Instant and DateTime? :/ 12:38
ruoso yeah.. Instant is independent of TimeZone, Calendars and other variations
just TAI-time semantics
DateTime implements the semantics of a specific calendar 12:39
by default the Gregorian calendar
masak I will have to mull over that...
I'm all for being correct about these things, but I often value API simplicity more.
ruoso the definition of year, month, day, hour, minute and second is specific to the gregorian calendar 12:40
other calendars specify different cycles
pmichaud "Things should be as simple as possible, but no simpler." :-)
ruoso the hebrew calendar have the day starting at sunset
so you not only need to take the timezone in concern, but the geographical posistioning as well 12:41
pugs_svn r28214 | masak++ | fixed minor typo
masak IMO, Java made the mistake of overvaluing the "but no simpler" part, exposing too much complexity to the end programmer. 12:42
moritz_ aye; there's nothing wrong with oversimplifying things a bit
ruoso masak, it's funny you mention Java, since java DateTime doesn't support all the needed semantics 12:43
moritz_ and offer a module that exposes all the complexity
ruoso it's just wronfg
masak thus, things like these have been created: joda-time.sourceforge.net/
moritz_ ruoso: I don't think we should have anything more complicated than DateTime in core.
ruoso moritz_, by "anything more complicated than DateTime" you mean? 12:44
masak ruoso: my point is, I think, that the ones who win at bikeshedding and specifications are often the ones who take the most things into account. I'm not sure that always leads to the most easy-ti-use design.
s/-ti/-to/
ruoso masak, note that Instant and Duration are still available for the simpler use 12:45
they just don't pretend to be possible to turn TAI into a datetime spec
masak ruoso: aye. that is indeed a plus.
ruoso because it isn't
(unless you select a calendar, a time-zone and, in some calendars, the geographical position)
and most importantly... DateTimes allow you to ask things like grep { .month == 1 }, @dates 12:48
and this question should respect the original timezone used to define that objects
for instance, an order placed in Japan must have its date according to the actual date it happened, even if that TAI-second is already another date in the current timezone 12:49
masak ...so Instant is the hassle-free version of DateTime, for when you don't give a damn about dates. 12:50
ruoso exactly
masak good.
ruoso and, the same way you can't get the encoding of a Str, you can't get the Date of an Instant 12:51
you need to "encode" it using a Calendar
masak what's the way to do that for the gregorian calendar?
ruoso the default $*CALENDAR is the Gregorian Calendar
so
localtime($instant) returns what you want by default 12:52
or gmtime($instant) if you want it in the gmt timezone
or, more generically, calendartime($instant, $calendar, *%options) 12:53
masak nod.
ruoso (where Calendar::TimeZoneObservant calendars support the :time-zone option)
masak paraphrasing, "hide the appropriate amount of complexity". 12:55
pugs_svn r28215 | ruoso++ | [spec-S32-Temporal] move Duration to the top, making it more generic, while it still delegates to Gregorian::Duration if you use anything different than :tai in the constructor 12:56
12:57 zamolxes left
ruoso wonder about Gregorian::Calendar/DateTime/Duration vs Calendar/DateTime/Duration::Gregorian 13:00
pmichaud ruoso++ # excellent description above of the difference between Instant and DateTime
somehow Calendar::Gregorian feels righter to me 13:01
masak ditto. 13:02
pmichaud or perhaps even... (shudder) Calendar[Gregorian]
ruoso hmm... I like the package-scoping 13:03
pmichaud yes, I think I prefer that as well
masak "take this fine Gregorian, and let him parameterize this Calendar..." 13:04
ruoso the thing is, what is more usfull? having to look at the Calendar sub-packages to list the supported calendars?
M_o_C What do the brackets mean?
masak M_o_C: parameterized roles.
moritz_ arguments to param... what masak said 13:05
M_o_C Ah, I already suspected it had something to do with roles.
ruoso the other idea is having an entire calendar implementation inside a package
pmichaud I somewhat like that idea
but I'm needing to look at the existing Calendar/DateTime/Duration stuff.
ruoso pmichaud, you like all ideas :)
PerlJam good morning #perl6
pmichaud no, there are some ideas I do not like. Such as the notion of trying to put the calendar stuff into the TAI representation :)
13:07 SmokeMachine joined
masak M_o_C: watch: 13:07
rakudo: class Beer {}; role Bottle[::T] { multi method put(T $a) {}; multi method put($a) { die "You cannot put {$a.WHAT} in a Bottle of {T.WHAT}!" } }; class Water {}; my $beer-bottle = Bottle[Beer].new; $beer-bottle.put(Water)
p6eval rakudo 446d49: OUTPUT«You cannot put Water() in a Bottle of Beer()!␤in method Bottle[::T]::put (/tmp/3Bqmjdll52:2)␤called from Main (/tmp/3Bqmjdll52:2)␤»
masak Education By Beverage.
ruoso cool
moritz_ that looks like a jnthn++ example 13:08
masak jnthn++
it is.
wayland76 can put water in a beer bottle :)
masak wayland76: not with my Bottle role, you can't. :) 13:09
wayland76 masak: Well, there is that :)
M_o_C Nice example indeed.
wayland76 Error: Insufficient reality in Bottle role :)
masak I still haven't used parameterized roles in a real project, but that example inspires me.
ruoso any example with Beer should inspire me 13:10
moritz_ hey, we could parameterize plots with the graph type
masak moritz_: does that buy us anything over just using Plot::PlotType? 13:11
wayland76 Hmm. If inspire = inhale, then beer is not for inspiring :)
pmichaud www.pmichaud.com/perl6/rakudo-tests...-09-09.png # spectest summary with updated suite size estimates
M_o_C However it sort of confuses me, as I thought roles were not meant to be standalone classes but instead classes can be constructed using roles.
moritz_ masak: don't think so
wayland76 M_o_C: Every role also works as a class. This is called "punning". 13:12
moritz_ pmichaud: that looks quite sane to me
dalek kudo: 872cd0d | pmichaud++ | docs/spectest-progress.csv:
Revise spectest-progress.csv results since August 2009 release to

  (moritz++)
kudo: 5960161 | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 436 files, 14268 (69.3% of 20599) pass, 0 fail
wayland76 Basically, you probably won't need classes much any more
Matt-W nice big spectest jumps lately
pmichaud moritz_: there's a bit of a discontinuity between 08-20 and 08-21; I figured making the transition from the old method of counting to the new one made more sense as of a release date
ruoso wayland76, actually you will still use classes for things that really *are* classes 13:13
M_o_C masak: If it makes sense then there's no reason not to do it :) Plus you get used to using the New Stuff.
ruoso wayland76, the problem is that OO programmign started to call everything a class just because it was the only way to be done
masak M_o_C: you're half right.
M_o_C I guess I got the second one right?
masak M_o_C: I'd prefer an application where param'd roles actually fit very well.
I think that'd increase the joy of trying them out. 13:14
Matt-W We have parameterised roles, can we do it for classes as well?
moritz_ pmichaud: wfm
ruoso Matt-W, parametrised roles make sense because the parameter is set at class composition time
M_o_C Well, I don't know how the plot module's layed out, I just thought that moritz_'s suggestion made sort of sense from a theoretical point of view.
ruoso Matt-W, a parametrised class is simply a class that uses a parametrised role 13:15
moritz_ in the next release announcement we should mention that we changed our way of counting the spectests, which accounts for a different percentage of passed overall tests
pmichaud I was thinking either that, or simply don't cite the percentage of passed overall tests :)
I'm still trying to come up with good answers to the "when we reach 100%, we're done" question.
Matt-W ruoso: ah okay, some slightly different thought patterns required (maybe some punning too) 13:16
moritz_ pmichaud: I could blog a few random thoughts about taht
pmichaud moritz_: that would be excellent, yes. 13:17
PerlJam pmichaud: just like we're done with perl 5? :)
13:17 Guest53746 left
pmichaud PerlJam: yes, I've used that one also. :) While accurate, it doesn't seem explanatory. 13:17
moritz_ my working title will be "when we reached 100% we did something wrong"
PerlJam moritz++
moritz_ s/reached/reach/
M_o_C moritz++ indeed. 13:18
pmichaud I have the sense that if you ask random X programmer "Is Perl 5 done?" their gut instinct is "yes", fsvo "done"
PerlJam We should asymptotically approach 100%, never quite reaching it until the language is dead. 13:19
13:19 jaffa8 joined
PerlJam pmichaud: What if you s/Perl 5/Ruby/ or s/Perl 5/Python/? How do you think that would change the answer? 13:19
jaffa8 hi
pmichaud of course, the question "Is Perl 5 done?" pastes over the underlying notion of "which Perl 5?", since "Perl 5" is by no means a static definition.
jaffa8 I am looking for testers.
Matt-W people would say Python is 'done' I think 13:20
in that it's released
pmichaud PerlJam: I don't think it would change the answer much
jaffa8 Would anyone bother to test something?
Matt-W what people really want to know when they ask if Perl 6 is 'done' is 'when will I be able to use it'
although perhaps not phrased to imply quite such a level of enthusiasm
pmichaud Matt-W: correct, mostly.
13:21 ejs1 left
pmichaud an unfortunate side-effect of having a specification is that it provides a target that is separate from "release" 13:21
jaffa8 Would anyone bother to test regular expression converter?
PerlJam Matt-W: I don't know ... I've seen some criticism of Rakudo Star because, while it'll be usable, it won't be the full language spec.
pmichaud Perl 5 doesn't have this problem, in that the implementation _is_ the spec. 13:22
PerlJam jaffa8: perhaps you'd get more response if you actually give people something to test than asking if they'd test it.
:-)
Matt-W PerlJam: That is a problem, and people also see that the spec isn't done yet and so assume nothing's going to happen this decade 13:23
M_o_C Maybe it would make sense to release different versions of the spec with the rakudo releases which will contain only the implemented stuff? Because I think that even now it's somewhat awkward because of the dynamic spec.
Matt-W masak: do you have intentions for u4x with regard to Rakudo *?
jaffa8 I mean this could be tested: www.equinoxbase.com/p5p6regconv/converter.html 13:24
PerlJam M_o_C: I can see it now ... "Rakudo Star is Perl 6 1.0 but it implements version 3.7 of the spec"
masak Matt-W: good question. I don't know. maybe it'd be good to have some intermediate "release" of u4x by then.
13:25 ejs joined
takadonet jaffa8: I will play around with it 13:25
jaffa8 ok
PerlJam M_o_C: though I think it would be a good idea to have a "spec release" just like we have implementation releases
s/release/snapshot/ really 13:26
(but that's the concept people have difficulty with)
masak jaffa8: first impression: it does not degrade gracefully, for those of us with JavaScript turned off by default.
jaffa8 Is there anyone who does not use javascript?
moritz_ quite many geeks, actually 13:27
masak jaffa8: blind people. 13:28
jaffa8: people on exotic platforms.
jaffa8 it is supposed to be modern in this design.
PerlJam jaffa8: do you or do you not put the delimiters to the regex?
masak jaffa8: people with text-based browsers.
jaffa8: I found a bug: (foo(bar))\2 is converted to /(foo(bar))$1/
PerlJam jaffa8: the interface makes it seem like you could put something in either the perl5 or perl6 boxes and expect it to DTRT (but it doesn't) 13:29
masak jaffa8: should be $0[0]
jaffa8 PerlJam: I am not sure what you mean
pmichaud jaffa8: I think PerlJam means that the perl6 box shouldn't be editable
PerlJam jaffa8: that the converter works both ways 13:30
jaffa8: what pmichaud said
jaffa8 ok, it does not.
it is one-way only
PerlJam jaffa8: It seems like you can put delimiters, but it doesn't honor modifiers? 13:31
jaffa8 masak: are you sure about $0[0]?
13:31 zamolxes joined
masak jaffa8: yes, it's right there in S05. 13:31
jaffa8 PerlJam,it should honor gmsx
PerlJam jaffa8: then /foo<CR>/x is broken 13:32
pmichaud I haven't been able to get it to honor gmsx
/a\012b/ doesn't appear to work.
moritz_ jaffa8: [0-9] gets translated to /<[0..9]]>/ (]] is wrong) 13:33
jaffa8 you tear it apart, just joking
PerlJam jaffa8: you wanted testing :)
jaffa8 continue.
PerlJam jaffa8: perhaps if you had an automated test suite for the converter ... 13:34
;)
jaffa8 I tested it.
moritz_ jaffa8: $ -> $ is also wrong
jaffa8 there are so many cases.
moritz_ jaffa8: that should be $ -> \n?$
I planned to write such a thing for ages, never got around to it :-) 13:35
jaffa8++
pmichaud I agree, it's pretty impressive. jaffa8++
moritz_ std: / a++ /
p6eval std 28215: OUTPUT«ok 00:02 37m␤»
13:36 ejs1 joined
moritz_ do we have the possesive quantifiers in Perl 6? 13:36
std: / a*+ /
p6eval std 28215: OUTPUT«ok 00:02 37m␤»
moritz_ jaffa8++ # getting (?i:foo) right 13:37
13:39 SmokeMachine left
jaffa8 so are there possesive quantifiers? 13:39
moritz_ not sure yet 13:40
jaffa8 Why do you say /foo<CR>/x is broken, what should it be? 13:41
PerlJam I thought we did it as a modifier :keep or something
jaffa8: it backwhacks the carriage return in the perl6 version. It shouldn't 13:42
jaffa8 so what is wrong with /foo\<CR\>/? 13:43
JimmyZ From S02, I found parrøt and dötnet, is it right?
13:44 ejs left
moritz_ jaffa8: in /x mode whitespaces in the regex are ignored 13:44
so having an \<CR> in the translated version gives it a significance it should not have 13:45
jaffa8 ok, I know how x should work.
moritz_ re possessive quantifiers, we don't have them in Perl 6 directly 13:46
PerlJam moritz_: possessive quantifiers just don't do backtracking, right?
moritz_ right
JimmyZ Ok, I will update it.
moritz_ you can translate a*+ to [:ratchet a*]
PerlJam perlcabal.org/syn/S05.html#Backtracking_control Read the fourth bullet point :)
moritz_ JimmyZ: uhm, you should give us more context to answer your question 13:47
jaffa8 moritz_, so there is no a*+ in Perl 6
JimmyZ moritz_: todo(:parrøt<0.42>, :dötnet<1.2>));
this line from S02
moritz_ JimmyZ: that's just an example
PerlJam jaffa8: a*+ in other regex engines is a*: in perl 6
JimmyZ I think it is parrot and dotnet
moritz_ JimmyZ: and I think it intentionally does not use parrot and dotnet 13:48
JimmyZ ok
moritz_ (to emphasize that it's not tied to parrot, or any other particular implementation)
JimmyZ moritz_: though I don't know why.
jaffa8 so is a*: is the same as [:ratchet a*]? 13:49
moritz_ yes
unless :s is present, of course :-)
13:50 PacoLinux joined
moritz_ jaffa8: the perl 5 test suite is a great source for obscure regexes that you could check 13:50
jaffa8 ok 13:51
I guess a++ is a+: 13:52
moritz_ aye
pmichaud okay, I have a question for the temporal design 13:56
suppose I have a unix timestamp (# of seconds since 1-jan-1970 gmt). How do I get the local calendar time from that?
13:58 pmurias left, [particle] left, [particle] joined 14:00 zamolxes left 14:02 SmokeMachine joined 14:03 patspam joined 14:06 alester joined
M_o_C Btw, it seems that rakudo.org contains no info about Rakudo *. You should probably change that. 14:11
s/probably // 14:12
Juerd I'm sure that you can do that if you ask 14:13
And that everyone will be happy with your contribution too :)
14:13 justatheory joined
M_o_C True, problem is the only reason I realised that was because I was searching for that information. 14:13
Juerd M_o_C: use.perl.org/~pmichaud/journal/39411 14:14
14:14 [1]jaffa8 joined
pmichaud I'm also working on a better description of Rakudo * (but don't let that stop any efforts to go ahead and put something on rakudo.org) 14:15
14:18 nihiliad joined 14:19 frew__ joined, frew_ left 14:22 abra joined 14:31 jaffa8 left, [1]jaffa8 is now known as jaffa8 14:33 SmokeMachine left 14:34 payload joined 14:36 kidd left 14:39 dukeleto left 14:40 dukeleto joined 14:41 cotto joined 14:43 Saran joined
PerlJam pmichaud: the two questions that come to mind when I think about Rakudo* are: Will it be fast? What *won't* be implemented? The first one is just something that I tend to worry about (perhaps too much) and the second it what I hear from others in the form of "will it have X?" (X is often "threads" too) 14:46
14:46 rfordinal left
pmichaud PerlJam: good to know :) 14:46
14:47 SmokeMachine joined
pmichaud I think I need to run through all of the synopses and put a bunch of X<...> markers in them so that we can use them to identify specific synopsis sections 14:48
14:51 Psyche^ joined, gbacon left
jaffa8 PerlJam, it is already implemented partly 14:53
PerlJam jaffa8: which "it"? Threads?
jaffa8 Perl 6
14:54 ejs2 joined 14:55 finanalyst joined 14:56 carlin left 15:04 ejs1 left 15:05 gbacon joined 15:06 sm` left, sm` joined 15:08 Patterner left, Psyche^ is now known as Patterner, ejs2 left 15:10 JimmyZ left 15:16 rfordinal joined
cognominal is :@a an array of Pairs? 15:18
moritz_ no 15:19
it's a pair a => @a
rakudo: my @a = <a b c>; say (:@a).perl
p6eval rakudo 446d49: OUTPUT«"a" => ["a", "b", "c"]␤»
moritz_ rakudo: my @a = <a b c>; say :@a.perl 15:20
p6eval rakudo 446d49: OUTPUT«"a" => ["a", "b", "c"]␤»
PerlJam Larry gets the colon, but man does it seem overused sometimes :)
masak PerlJam: I respectfully disagree. :)
moritz_ overused? not really, IMHO
PerlJam There's colons all over the place. They're everywhere! ;) 15:21
masak I had that reaction when sitting in on szabgab++'s class before YAPC too. I was honestly surprised.
moritz_ tries to count the number of uses in the Main slang 15:22
signature creation
pair construction
named parameters
masak the specific situation was that the adverb colon had just been clarified satisfactorily by szabgab. then we came upon another colon, and people sort of assumed that it'd be another adverbial colon. but it happened to be an invocant colon. this seemed to be a bit too much for people. :)
PerlJam backtracking control
moritz_ method thing ($f.method: )
PerlJam: that's not the Main slang :-)
adverbs (which are quite like pairs, in some sense, maybe) 15:23
anything I forgot? 15:24
cognominal the twigil?
moritz_ that's 5 uses so far, of which 3 are rather similar
cognominal: right
masak do double colons count? :)
moritz_ yes 15:25
7
masak well, there's A::B and ::T
PerlJam moritz_: in painting the picture of colons-everywhere, I'm not going to restrict my mentioning of them because of where they come from ;)
moritz_ PerlJam: :-)
ok, in regexes we have backtracking control (:, ::, :::), adverbs (:i) and declarations (:my $x = 3;) 15:26
cognominal I don't mind, but the doc begs for a good index and the ecosystem for a syntax aware editor that open the doc at the good page.
masak moritz_: and in quantifiers.
moritz_ masak: quantifiers? example? 15:27
cognominal: that's what `grok' is for
cognominal grok?
moritz_ (but it needs more docs to feed it)
literal++'s SoC project
PerlJam masak: a*: is just a special case of the non-backtracking :
15:28 JimmyZ joined
moritz_ an application, not a special case 15:28
15:28 moritz_ sets mode: +o PerlJam
JimmyZ rakudo: my Int $x = *; $x.say; 15:28
p6eval rakudo 446d49: ( no output )
masak well, syntactically it can be seen as a separate operator.
literal cognominal: "cpanp -i App::Grok" if you'd like to try it
PerlJam moritz_: now do the same tally but for other symbols in Perl. How many different uses are there for $? or @? or %? or ^? or &? etc.
moritz_ let's take ^
PerlJam masak: yes, LTM means that it is. 15:29
masak moritz_: in ranges.
moritz_: meta-class.
moritz_ xor
twigils
prefix:<^>
15:29 payload left
moritz_ anything else we missed? 15:30
masak moritz_: ff^ et al.
PerlJam moritz_: are we counting regex too? 15:31
moritz_ PerlJam: separately, yes
there's ^ and ^^ in regexes
PerlJam I guess what really matters is not how many syntactic categories the symbol appears in, but how many semantic categories. 15:32
(but in any case, : wins with the most :) 15:33
masak PerlJam: of course, ^ doesn't have any : at all!
15:33 mikehh_ joined
moritz_ rakudo: say (3 ^ 5 ^ 7).perl 15:33
p6eval rakudo 446d49: OUTPUT«one(3, 5, 7)␤»
moritz_ we forget that one, it seems
s/forget/forgot/ 15:34
I wonder if + or * have more :-)
masak + has five, IIRC. 15:35
moritz_ it lost its meaning as a sigil
masak Main( prefix, infix ), twigil( depr ), Regex( postfix ), version( postfix )
true. so, four. 15:36
15:36 rfordinal left
PerlJam weird ... I was just trying to type "filename" and I actually typed "filebane" 15:36
must be some kind of freud coming out there :)
moritz_ * has main (prefx, infix, term), twigil, ** (infix, term), slurpy, regex(postfix infix)
masak then there's the somewhat special + signs in 1e+5 and 42+5i, as TimToady pointed out.
moritz_ masak: + has also Regex(<+[..]>) 15:37
masak moritz_: oh, there's ++ too, if we're counting that.
moritz_: right, so again five. forgot that one.
moritz_: and there's all the num operators which start with a +.
moritz_ aye
masak but it feels weird to count those, as well as ++.
I think I've internalized too much of LTM for it to feel right. 15:38
moritz_ right :-)
oh, * is not a prefix, I got that one wrong
15:38 patspam left, patspam joined 15:45 cmv left 15:47 mikehh left 15:50 ejs joined 15:53 rbaumer left
TimToady fuzzes into existence 15:54
PerlJam Is there a notation for unpacking a pair within a for loop? something like for @array_of_pairs -> [$key,$value] { ... } ? 15:55
masak don't think so, but I expect something like that to be a syntax-extending module. 15:56
15:58 mikehh_ is now known as mikehh
TimToady but there's always for @array_of_pairs».kv -> $key, $value {...} 15:58
PerlJam ah! I keep forgetting about >>
15:59 kidd_ joined 16:00 JimmyZ left
PerlJam But still, we have a sig for unpacking arrays, why not for pairs too? 16:02
masak 16:03
or ℘ or ℙ 16:04
16:05 payload joined, [1]jaffa8 joined
cognominal Timtoady, what linguistic books would you recommend for someone who want to understant what natural language principles you translated to Perl 16:05
16:05 Saran left 16:06 Bzek left
cognominal *understand 16:06
16:08 rfordinal joined 16:10 finanalyst left, finanalyst joined, jaffa8 left, [1]jaffa8 is now known as jaffa8
[particle] cognominal: try search.barnesandnoble.com/booksearc...3110142554 :) 16:11
cognominal :) 16:12
the price is just not right :( 16:13
kidd_ [particle]: ist that price for real, or it's part of humour?
it might be like reading 'Gödel Escher Bach' :) 16:14
16:14 abra left
[particle] that's for real, but you can get a cheaper version here: www.amazon.com/Cruel-Unusual-Intrep...0440208505 16:15
16:15 abra joined
TimToady cognominal: not much from any book, except maybe the book I'll write after Perl 6 is done :) 16:17
16:17 SmokeMachine left 16:18 jferrero joined
TimToady some ideas from tagmemics, some UC Berkeley classes concerning on prototypes and anthropology, some notions like "How to do things with words" 16:20
16:20 hercynium left 16:21 masak left
TimToady most of which I absorbed through the skin, not from books 16:21
oh, maybe Umberto Eco's The Search for the Perfect Language, that's a good one 16:22
PerlJam (Umberto Eco)++
TimToady that book talks a lot about the problems of similar-things-should-look-similar 16:23
what makes foolish consistencies foolish, as it were
16:25 pyrimidine joined
PerlJam TimToady: do you read the english translations of Umberto Eco's work? 16:26
TimToady yes, my Italian is a bit rusty :) 16:27
16:27 vmbrasseur joined
PerlJam I wonder what's lost in translation there :) 16:27
16:28 vmbrasseur left
TimToady He seems to have very good translators, and probably helps a lot with the translations in any case 16:28
jaffa8 I read one book of Umberto, it was depressing 16:30
16:31 cahek joined
TimToady jaffa8: maybe you were just depressed anyway :) 16:31
jaffa8 maybe
What is the effect of those books on you, anyway? 16:32
I mean emotionally 16:33
TimToady I find that Eco's notions of joy are not much related to surface happiness 16:34
16:35 ysth left
TimToady and there's a lot of "fun", on some level 16:35
but yes, he's not a Disney scriptwriter
16:36 hercynium joined
PerlJam I've noticed that what my wife and her family calls "fun", I think is just silly. Not fun-silly, just silly. 16:36
TimToady anyway, the Search for the Perfect Language is non-fiction, and not exactly optimistic, but perhaps realistic 16:38
it's a history book, in any case
and doesn't talk about anything modern
except by implication
jaffa8 I have not read that one. 16:39
TimToady SWMBO is requiring me to go take a walk so I don't drop dead 16:40
bbl &
16:41 Exodist joined 16:42 jrtayloriv left
cognominal thx TimToady, I like Eco 16:44
16:45 stephenlb joined
cognominal I sure will like "Programming Perl 6" 16:45
16:46 pnu left 16:47 pnu joined
cognominal subtitle: create your own slang ? :) 16:52
somehow the missing 'in' within Programming Perl was prescient 16:53
payload (#66498) two words: snowman. comet. :D
17:04 cdarroch joined 17:18 ruz_ left 17:19 Exodist left 17:27 ejs left 17:35 nihiliad left 17:40 hercynium left 17:46 dukeleto left
cj TimToady: .pl was already taken! 17:48
17:50 bbb_ joined, pmurias joined
pmurias cj: prolog uses .pl 17:50
cj pmurias: my point exactly. ;) 17:51
bbb_ webchat wriiten in php?
17:53 ejs joined 17:55 abra left 18:00 jaldhar left 18:02 SmokeMachine joined 18:07 bbb_ left 18:10 abra joined 18:12 masak joined
masak evening, little snowmancomets. 18:12
18:13 rbaumer joined
masak is stuck in a Live Apple Keynote coverage 18:14
18:15 nihiliad joined 18:22 payload left 18:26 payload joined 18:28 hercynium joined
hercynium hey there, I have a non-code-related question for you guys 18:29
masak is it Perl-6-related?
hercynium yep!
I'd like to buy a "second system" T shirt...
and maybe a few to give out at the next Boston.PM
masak cool.
hercynium which store should I buy from.... Cafe Press or Spreadshirt? 18:30
masak I don't even have the beginning of an idea. 18:31
hercynium (I can't tell the diff... maybe you make more from one or the other?)
[particle] hercynium: pmichaud set those up last week, only he knows....
masak try both, and go for the one you like better?
hercynium sounds like a plan. I'm game for it. 18:32
heh
18:32 finanalyst left
hercynium when I saw that logo on a slide at YAPC::NA, I think it was pmichaud whom I said "where can I get that on a shirt?" 18:32
pmichaud cafepress.com/rakudo 18:35
rakudo.spreadshirt.com/
zazzle.com/rakudo
hercynium ooo, I think I found something that explains it... spreadshirt is based in europe?
so, for me in the US, cafepress would probably be best to benefit perl6? 18:36
pmichaud I've heard some people say they like spreadshirt's quality better
I've not tried any of them myself yet as far as actually purchasing any products, so I don't know the relative quality 18:37
which is partially why I did all three :)
hercynium OK, cool.
thanks, pmichaud and masak
moritz_ spreadshirt charges $ 14 for shipment to Germany. *gulp* 18:38
hercynium holy shipping charges batman 18:39
;-)
18:41 cahek left
masak rakudo: class Feeling { method mouth { ... } }; class Happiness is Feeling { method mouth { ")" } }; class Sadness is Feeling { method mouth { "(" } }; role Smiley[Feeling $f] { method smile { ":-" ~ $f.mouth } }; say Smiley[Happiness].new.smile 18:43
p6eval rakudo 446d49: OUTPUT«:-)␤»
pmichaud rakudo: class Feeling { method mouth { ... } }; class Happiness is Feeling { method mouth { ")" } }; class Sadness is Feeling { method mouth { "(" } }; role Smiley[Feeling $f] { method smile { ":-" ~ $f.mouth } }; say Smiley[Happiness].new.smile 18:44
oops
p6eval rakudo 446d49: OUTPUT«:-)␤»
pmichaud rakudo: class Feeling { method mouth { ... } }; class Happiness is Feeling { method mouth { ")" } }; class Sadness is Feeling { method mouth { "(" } }; role Smiley[Feeling $f] { method smile { ":-" ~ $f.mouth } }; say Smiley[(Happiness, Sadness).pick].new.smile
p6eval rakudo 446d49: OUTPUT«:-)␤»
pmichaud rakudo: class Feeling { method mouth { ... } }; class Happiness is Feeling { method mouth { ")" } }; class Sadness is Feeling { method mouth { "(" } }; role Smiley[Feeling $f] { method smile { ":-" ~ $f.mouth } }; say Smiley[(Happiness, Sadness).pick].new.smile
p6eval rakudo 446d49: OUTPUT«No applicable candidates found to dispatch to for '_block127'␤in Main (/tmp/dnqQdbuowh:2)␤»
masak o_O 18:45
pmichaud :-(
masak rakudo: class Feeling { method mouth { ... } }; class Happiness is Feeling { method mouth { ")" } }; class Sadness is Feeling { method mouth { "(" } }; role Smiley[Feeling $f] { method smile { ":-" ~ $f.mouth } }; say Smiley[Sadness].new.smile
p6eval rakudo 446d49: ( no output )
masak rakudo: class Feeling { method mouth { ... } }; class Happiness is Feeling { method mouth { ")" } }; class Sadness is Feeling { method mouth { "(" } }; role Smiley[Feeling $f] { method smile { ":-" ~ $f.mouth } }; say Smiley[Sadness].new.smile
pmichaud Sadness.
p6eval rakudo 446d49: ( no output )
masak p6eval-- 18:46
pmichaud rakudobug: Rakudo doesn't know how to be sad.
18:46 mberends left
masak pmichaud: what could have caused the 'no applicable candidates' above? 18:46
arnsholt What's the meaning of the "second system" slogan?
pmichaud masak: I don't know. I'm still learning the dispatch.
masak arnsholt: there's something called "second system syndrome". 18:47
Juerd arnsholt: en.wikipedia.org/wiki/Second-system_effect
arnsholt Oh, right, right
18:47 pen12346 joined
M_o_C Is that second system thing explained somewhere? Because I don't really understand what it means. 18:47
arnsholt Juerd's Wikipedia link is pretty good
TimToady backlog about 30 seconds
M_o_C Meh, sorry 18:48
18:48 mberends joined
masak mberends! \o/ 18:48
M_o_C Didn't notice scrollbar was half way up
pmichaud "...to design the successor as an elephantine, feature-laden monstrosity. "
...is that Perl 6? ;-)
Juerd butterfline?
masak pmichaud: yes, but done right. :)
18:49 lmc joined
pmichaud "...to design the successor as an elephantine, feature-laden monstrosity done right." 18:49
masak Smiley[Happiness]
jaffa8 elephantine?
Is that positive?
masak jaffa8: no.
TimToady depends on whether you think elephants are oversized, I suppose
Juerd jaffa8: Sure. Elephants have good memory. 18:50
jaffa8 or powerful?
masak jaffa8: it means "large", "bulky", "unwieldy"
TimToady there's too much subtle elephantism in the world
mberends masak: \o/ doin' da proto
hercynium Elephants are excellently adapted animals
masak mberends++
hercynium (and I think they're cute)
masak they are.
pen12346 www.thaiadpoint.com/tap8.1/bin/redi..._id=363435 18:51
masak "elephantine" is still usually not a compliment.
TimToady just like "femenine"
*feminine
gah
jaffa8 the end is "done right"
18:51 ejs left
Juerd An elephant's end is done right? 18:51
masak pen12346: hello, are you perchance a spammer?
TimToady and thereby hangs a tail 18:52
18:52 pen12346 was kicked by TimToady (TimToady)), pen12346 joined
masak that was quick. 18:52
probably a bot. 18:53
18:53 pen12346 left
masak ...with hurtable feelings. 18:53
Juerd role Bot { has Feeling $feeling; }... 18:54
masak Bot[Sadness]
TimToady the rejoin was presumably to check if it was also banned
pmurias j
masak TimToady: ah. bot psychology.
TimToady "Tune in next week, same bot time, same bot channel!" 18:56
hercynium groans
TimToady carefule, you're showing your age 18:57
masak TimToady: not necessarily. that series aired in my country when I was growing up. 18:58
TimToady
.oO(cultural backwaters...)
hercynium used to watch reruns as a kid, in the 80's
masak I suspect ours weren't reruns. 18:59
hercynium The Batman TV series was a paragon of televised onomatopoeia
mberends masak: .oO( preload project.state file with @old_project_names? ) 19:00
TimToady why do my fingerse keepe adding extra e's on the endse of wordse these dayse?
masak mberends: .oO( your call. programmer's privilege how much to serve the transitioning user. )
hercynium why was the first thing I thought of after reading that the word "goats" 19:01
moritz_ hercynium: too much /.e?
masak hercynium: thanks for sharing. :)
19:01 rba_ joined
hercynium has spent too much time in #perl on magnet 19:01
ok, work has a bug. later guys! 19:02
masak work does indeed have a bug.
my neighbour, too. he came in here coughing earlier. 19:03
TimToady there are a lot of people hacking here in silicon valley 19:07
masak groans
19:07 rbaumer left, rba_ is now known as rbaumer
TimToady you get an assist 19:07
masak :) 19:08
TimToady in fact, I took up golf just so I could be a hacker³ 19:09
masak I just ran out of homonyms. 19:10
diakopter and they locked the door behind you 19:11
masak what is this, pun Wednesday or something? :) 19:12
19:13 SmokeMachine left
diakopter what bug? it works for me... 19:16
TimToadye: how's the weather 19:19
19:20 hercynium left
jaffa8 rakudo : /a\012b/ 19:20
rakudo: /a\012b/ 19:21
p6eval rakudo 446d49: OUTPUT«perl6regex parse error: Alphanumeric metacharacters are reserved at offset 14, found '1'␤in Main (src/gen_setting.pm:3469)␤»
TimToady std: /a\012b/
p6eval std 28215: OUTPUT«===SORRY!===␤Unrecognized regex backslash sequence at /tmp/ONKRl2GVpb line 1:␤------> /a\⏏012b/␤ expecting backslash␤FAILED 00:02 37m␤»
TimToady std: /a\0o12b/
p6eval std 28215: OUTPUT«ok 00:02 37m␤»
TimToady std: /a\o12b/
p6eval std 28215: OUTPUT«ok 00:02 37m␤»
TimToady rakudo: /a\o12b/ 19:22
p6eval rakudo 446d49: ( no output )
TimToady rakudo: say "a\o12b" ~~ /a\o12b/
p6eval rakudo 446d49: OUTPUT«a␤b␤»
TimToady diakopter: a bit hot 19:23
moritz_ I have been thinking if abolishing want() was a bit too much
specifically I thought about keeping a mechanism for querying if something is in void context or not 19:24
for two reasons
1) getting good warnings
2) making lazy lists eager
somebody[tm] said that 'for' and 'map' are synonymous
if that's true, and you do 'for @list { .say }' not everything might be printed 19:25
because the for would be lazily evaluated
TimToady void is automatically eager
19:25 nihiliad left
masak I've been wanting proper continuations in the language lately. especially after realizing that PIR has them. 19:26
moritz_ but how does builtin know it's in void context?
s/does/does the/
or the list
TimToady it doesn't know, it just returns an iterator 19:28
19:28 abra left
moritz_ and something calls $it.void on it? 19:28
which exhausts the iterator
TimToady something like that 19:29
moritz_ ok, who or what calls .void?
TimToady the implicit statement_prefix:<void> we put at the front of void statements, maybe? 19:30
moritz_ wfm 19:31
pmichaud ak 19:32
afk
TimToady hmm, I think we need to define the inside of a gather as "void lazy" though, if void is eager
well, gather is magical in any case 19:33
the laziness is attached to the takes, not to the outer loop 19:34
19:34 araujo joined
jaffa8 rakudo: my $v="\033"; print $v; 19:34
TimToady it's more of an async context there
p6eval rakudo 446d49: OUTPUT«\123 form deprecated, use \o123 instead at line 2, near "\\033\"; pri"␤in Main (src/gen_setting.pm:3469)␤»
19:35 pmurias left 19:37 hercynium joined
araujo hello 19:39
masak o/
jaffa8 ok, I fixed the errors you mentioned me. 19:42
thanks, masak and pmichaud.
and others., 19:43
TimToady .oOo° # michelin man waving
araujo hah
masak jaffa8: still just an empty page for us non-JavaScripters, though. 19:44
jaffa8 there should be a message too.
masak there isn't.
jaffa8 I can see it in Opera. 19:45
what browser do you use?
masak Firefox 3.
I see it when I view source.
jaffa8 yes, it is in the header.
masak, try now. 19:47
masak aye, that works.
jaffa8++
19:49 SmokeMachine joined 19:54 cognominal left
masak proto's projects.list now contains 35 projects. 20:00
TimToady phone
moritz_ masak: that's another thing we can chart over time ;-) 20:01
masak moritz_: oh, indeed. thanks to git. 20:02
I've been thinking the same thing, actually.
jaffa8 What happened to the perl 5 to perl 6 converter? 20:05
moritz_ I guess it bitrotted
20:05 SmokeMachine left
masak is there code somewhere, publicly? 20:05
jaffa8 Could it convert code partially? 20:06
ruoso TimToady, have you seen my changes to Temporal.pod?
masak ruoso: TimToady is currently on the phone. 20:07
moritz_ masak: in pugs/misc/
masak looks
moritz_ misc/pX/Common/P5_to_P6_Translation
masak ooh, Haskell. 20:08
jaffa8 Is it in Haskell?
masak seems so. 20:09
it was a common tool during the Golden Age.
M_o_C Golden Age of what?
moritz_ of pugs 20:10
masak ...of the history of Perl 6, actually.
what we have now is nice and all, but it's relatively calm compared to the activity back then.
M_o_C so to what does "it" refer? The converter, haskell or pugs?
masak Haskell.
jaffa8 I have doubts if Haskell is really compact 20:11
araujo the converter is in Haskell? :)
jaffa8 there are so many lines.
araujo jaffa8, it is ... compared to many languages out there 20:12
also, remember to do this comparison with static languages too
masak jaffa8: there are probably many lines because it does a whole lot.
moritz_ araujo: Haskell *is* a static language ;-)
araujo food
masak Haskell is definitely a static language. 20:13
anyone who has tried to get a program through GHC can tell you that.
moritz_ aye
araujo you feel it very dynamic once you get used to it you know :P 20:14
masak yeah, yeah. :)
I feel dynamic once I get going with Java too.
araujo I remember an interview of this guy ... the STL C++ author (what is his name?) ... telling that he never got used to java , I do think java is a hard language to get used to though 20:16
20:16 justatheory left
jaffa8 but where is MADSKILLS? 20:17
araujo Haskell might look tough or ugly at first, but people can certainly get used to it since it is a very simple language
moritz_ knowing Eiffel and C I didn't find it too hard to get used to Java
M_o_C moritz_, masak: Does "static" only apply to typing or are there other things which can be static/dynamic about a language?
20:17 justatheory joined
masak good question. binding? 20:18
syntax evaluation?
moritz_ monkey patching, for example
M_o_C syntax evaluation? # True, didn't think of that. 20:19
moritz_ but yes, run time tzping and eval() are very typical points
mberends araujo: en.wikipedia.org/wiki/Alexander_Stepanov
jaffa8 if I like about ghc..
it is very easy to make an exe out of it.
moritz_ I saw a great talk (only on youtube, sadly) where the speaker defined dynamic languages as "languages like perl, ruby, php, python, tcl and javascript" 20:20
masak would like a language with a built-in dynamic Alexander Stepanov...
araujo mberends, that one :)
colomon rakudo: my $a = 1; my @b = (1, 2, 3); say ($a <<-<< @b).perl 20:21
p6eval rakudo 446d49: OUTPUT«[0, -1, -2]␤»
moritz_ phenny: tell Su-Shee rakudo.spreadshirt.net/de/DE/Shop/Index/ Perl 6 goodies without horrible shipping costs. Sadly spreadshirt.de doesn't allow images on dark t-shirts (wtf?) 20:22
phenny moritz_: I'll pass that on when Su-Shee is around.
colomon rakudo: my $a = 1; my @b = (1, 2, 3); say ($a «-« @b).perl
p6eval rakudo 446d49: OUTPUT«Non-dwimmy hyperoperator cannot be used on arrays of different sizes or dimensions.␤in Main (/tmp/LipUHwW8BT:2)␤»
araujo Ok, anyway .. perl6 is going to be a dynatic language
colomon Aha!
araujo food time!
masak Perl 6 is also going to be a static language. 20:23
jaffa8 so my is not going to be needed. 20:24
20:24 rapacity left, rapacity joined
araujo dynatic is dynamic+static! 20:24
TimToady stynamic
masak dynastic 20:25
20:25 rapacity left
M_o_C dyntastic :) 20:25
TimToady well, now that quietfanatic is starting to follow in my footsteps...
20:26 SmokeMachine joined
araujo hah, food time for real :P 20:26
20:28 vmbrasseur joined 20:29 vmbrasseur left
TimToady jaffa8: I am now imagining a style of programming that uses only 'state' declarations 20:29
masak 'dynstatic'? 20:30
TimToady "never call any closure more than once, or it will misbehave"
20:30 dukeleto joined
TimToady sort of a single-closure-semantics paradigm 20:30
[particle] static-single-assignment 20:31
TimToady sort of hyper structured programming: every block should have a single entry point, and you should only ever call it once 20:32
masak YaY! first Squirrel test passes!
TimToady sorta like html
moritz_ use_ok('Squirrel'); ?
masak moritz_: I've never understood those use_ok tests...
TimToady I'm an HTML programmer; what is this loop thing you keep talking about? 20:33
masak loops are just a special case of on-the-fly code generation.
moritz_ uhm, you can write loops with only state variables
colomon masak++ # even though as a dog lover I am required to be anti-squirrel... 20:34
moritz_ why? do squirrels attack your dog?
colomon moritz_: No, but my dog would spend all her time chasing squirrels if given the chance. 20:35
masak they gang up on the dog, turn it over, and carry it away...
diakopter TimToady: wait, but, here's the question about this new language you're pondering:
20:36 eiro left
colomon I've also sustained minor injuries as she lunged at a squirrel while I've had her on leash.... :) 20:36
moritz_ which keeps her fit and healthy - isn't that an argument for squirrels?
diakopter when you call one of these single-use routines, does control return back to the callsite or to directly after where the routine was declared? :)
colomon moritz_: shhhh... I can't be heard saying things like that.
TimToady diakopter: I knows a goto when I sees one. 20:37
moritz_: yes, you can write a loop, but your hosed if you put a loop inside a loop, 'cause then the inner loop wouldn't reset 20:38
*you're
unless, of course, you recreate the closure :) 20:39
diakopter hosed like piped?
moritz_ unless you manually reset the variables in the inner loop, of course
TimToady the intertube is a series of hoses
diakopter and the biggest one goes on forever
TimToady well, yes, the entire universe *is* inside a black hole, so? 20:40
moritz_ saying the univers is *in* something implies that there's an outside, which kinda contradicts the defintion of "universe" 20:41
TimToady I guess a black hole looks kinda like a hose in spacetime
ruoso decommute &
20:41 ruoso left, buubot left
TimToady yeah, well, just because that's how the university defines universe doesn't make it so :P 20:41
20:42 buubot joined
[particle] refills his klien bottle 20:42
mberends rakudo: class Installer { method fetch { ... }; method fetch { ... }; };
diakopter TimToady: it's goto, but with context injection
TimToady wie klien ist es?
p6eval rakudo 446d49: ( no output )
pmichaud My dog chases squirrels all the time. And rabbits. Her day is totally incomplete if she doesn't get to go out looking for rabbits, and she very forcefully lets us know that it's time to go look for rabbits.
masak mberends: I think I reported that as a bug once. 20:43
20:44 buubot left
mberends why am I not surprised? ;) 20:44
20:44 eiro joined, buubot joined
colomon pmichaud: I'd love to live somewhere rural enough I could let my dog chase off-leash to her heart's content. She'd love it even more, of course! 20:44
TimToady STD won't catch that one yet, since metaclasses are their own namespace
pmichaud oh, my dog doesn't get to be off-leash :)
20:44 rapacity joined 20:45 pyrimidine left
pmichaud at least, not normally. Sometimes she manages to slip her collar and then we go a-chasing her (as happened last night, unfortunately) 20:45
TimToady diakopter: mostly, the weather here has either been 10 degrees hotter or 10 degrees cooler than predicted 20:47
masak mberends: yup: rt.perl.org/rt3/Ticket/Display.html?id=57788 20:48
mberends :) masak++
20:49 pyrimidine joined
TimToady well, STD will find the subs, since it checks lexpad and package names 20:49
but methods no longer go into either of those by default
20:50 pyrimidine left, pyrimidine joined, dukeleto left
masak uses a given inside a gather! 20:57
20:59 stephenlb left 21:00 stephenlb joined 21:23 [1]jaffa8 joined
masak phenny: tell Tene that I've made nice progress on Squirrel. I've pushed it so that you can see (in the Web.pm repo). try running t/squirrel/sqlite-write.t -- the second test fails for me, even though I think it ought to pass. it's a mystery. will look at it tomorrow with fresh eyes. 21:26
phenny masak: I'll pass that on when Tene is around.
masak g'night, people.
21:26 masak left 21:35 sundar_ joined 21:41 jaffa8 left, [1]jaffa8 is now known as jaffa8 21:49 pyrimidine left 22:01 sundar_ left 22:02 SmokeMachine left 22:05 ruoso joined 22:19 jaffa8 left, mberends left 22:20 lmc left 22:23 Whiteknight joined 22:24 sevvie joined 22:25 Matt-W left 22:32 Matt-W joined 22:33 patspam left 22:37 SmokeMachine joined 22:42 stephenl1 joined 22:53 stephenlb left 22:54 kidd_ left 23:01 jan_ left 23:05 jaldhar joined 23:06 zpmorgan joined 23:09 cognominal joined 23:12 jan joined, jan is now known as Guest36141 23:15 elton_ joined
s1n pmichaud: so you fixed Env? 23:16
pmichaud I did. 23:17
justatheory moritz_: honk 23:18
s1n pmichaud: no proxy objects?
pmichaud I decided that %ENV itself would be the proxy for the entire environment
s1n how did you fix that? was the change a parrot change? 23:19
pmichaud i.e., I decoupled %ENV from Parrot's Env object, and we just set the environment when we're about to do something where that's liable to make a difference
e.g., just before run()
and opening a command pipe 23:20
s1n hmm, the change was in run()?
pmichaud several places 23:21
s1n looks like !hash_to_env does some of those bits 23:22
pmichaud but the convincing case is that { my %*ENV = <a hash>; run("command"); } has to work
23:22 tak11 joined
pmichaud so that told me that proxy objects weren't really the way to go. 23:23
sorry I missed yesterday's meeting; things got hectic around the house and I ended up forgetting about it until it was too late. I did remember it the day before, though :)
s1n pmichaud: it seemed way complicated to me but i wasn't in any position to argue with jnthn about it
pmichaud well, I was the one who originaly thought we'd need proxy objects, so it's ultimately my fault :) 23:24
23:24 hercynium left
s1n it's alright, like i mentioned after the hackathon, i suspected people would miss this one 23:24
no sweat, mini-hackathon in two weeks :) 23:25
pmichaud let me check that it's on my calendar... :)
It is. 23:26
23:27 patspam joined 23:28 hercynium joined 23:32 sm` left, sm` joined 23:41 jferrero left 23:49 ab5tract joined
ruoso .oO( it seems Temporal bikes^Wspec work stabilized a bit) 23:49
23:58 patspam left