»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by wolfe.freenode.net on 30 October 2009.
TimToady std: [??42!!] 1,2 00:00
p6eval std 29290: ===SORRY!===␤Can't reduce ?? !! because conditional operators are too fiddly at /tmp/DQTaqDDv18 line 1:␤------> [??42!!]⏏ 1,2␤ expecting prefix_circumfix_meta_operator__S_258reduce␤FAILED 00:01 104m␤
TimToady std: [?? 42 !!] 1,2 00:01
p6eval std 29290: ===SORRY!===␤Preceding context expects a term, but found infix ?? instead at /tmp/fYZ9eVlSqF line 1:␤------> [??⏏ 42 !!] 1,2␤FAILED 00:01 105m␤
colomon TimToady: btw, I suspect I will get roped into helping implement metaoperators in ng when that is on the table...
TimToady have the appropriate amount of pain^Wfun 00:02
colomon The problem is that I'm addicted to using them, therefore... 00:03
TimToady std: say $^O
p6eval std 29290: ===SORRY!===␤Unsupported use of $^O variable; in Perl 6 please use $?OS or $::OS at /tmp/lRd2sI1LR0 line 1 (EOF):␤------> say $^O⏏<EOL>␤FAILED 00:01 105m␤
TimToady there we go
colomon (Considering my second Advent post, I guess I'm a pusher, too.)
TimToady std: undef
p6eval std 29290: ===SORRY!===␤Unsupported use of undef as a value; in Perl 6 please use something more specific:␤ Mu (the "most undefined" type object),␤ an undefined type object such as Int,␤ Nil as an empty list,␤ *.notdef as a matcher or method,␤ Any:U as a type
..constraint␤ or fail() …
zaslon lolperl6adventhazblogged! perl6advent++ 'Day 8: .comb your constraints': perl6advent.wordpress.com/2009/12/0...nstraints/ 00:12
RichiH when i run perl6 in interactive mode, i am left with a _very_ basic line editor. it does not support <up>, <home>, etc 00:14
RichiH is there a way to get a more comfortable, i.e. actuallu useful, line editor? 00:15
using rakudo, fwiw
colomon What platform? (<up>, for instance, works fine on my OS X Rakudo build.) 00:16
RichiH current debian sid
carlin RichiH: You need to have a readline library installed when you build Parrot 00:18
apt-get install libreadline5-dev 00:19
RichiH hmm, yes, that makes sense. why 5 and not 6, though? 00:20
mberends RichiH: it's GNU readline 5.2, independent of Perl 00:21
RichiH mberends: yes, i know. i am just wondering why carlin suggested 5.2, not 6.0 00:22
mberends RichiH: either one may be OK, 5.2 is probably in other Debian builds such as lenny or squeeze 00:23
carlin RichiH: because 6 didn't come up in my apt-cache search. 6 should be alright too. 00:25
wayland76 Will he have to rebuild after installing readline?
mberends yes, clean and rebuild Parrot even
RichiH already on it 00:26
carlin Yip. rm -r parrot_install, and perl Configure.pl --gen-parrot again
mberends carlin++: good going on proto installed-modules 00:27
RichiH perl6: say [.] "while", " i", " am", " here";
p6eval rakudo 7ef386: say requires an argument at line 2, near " [.] \"whil"␤in Main (file src/gen_setting.pm, line 2593)␤
..elf 29290: Parse error in: /tmp/GG7rvrRfpH␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: say [.] "while", " i", " am", ␤WHERE:/\<-- HERE␤ STD_red/prelude.rb:99:in `panic'␤ STD_red/std.rb:76:in `scan_unitstopper'␤ STD_red/std.rb:224:in `comp_unit'␤
..STD_red/std.rb…
..pugs: *** ␤ Unexpected "[.]"␤ expecting bare or pointy block construct, ":", identifier or operator␤ at /tmp/OexqcbvkWy line 1, column 5␤
colomon Is proto installed-modules actually up and running now?
TimToady std: say [.] "while", " i", " am", " here"; 00:28
p6eval std 29290: ===SORRY!===␤Unsupported use of . to concatenate strings; in Perl 6 please use ~ at /tmp/AazVWxCKzo line 1:␤------> say [.]⏏ "while", " i", " am", " here";␤FAILED 00:01 106m␤
TimToady RichiH: see ^^
RichiH perl6: say [~] "while", " i", " am", " here";
p6eval elf 29290: /home/p6eval/pugs/misc/STD_red/match.rb:117:in `block in to_dump0': undefined method `to_dump0' for nil:NilClass (NoMethodError)␤ from /home/p6eval/pugs/misc/STD_red/match.rb:117:in `map'␤ from /home/p6eval/pugs/misc/STD_red/match.rb:117:in `to_dump0'␤ from
../home/p6eval/pugs/misc/STD_red/…
..pugs, rakudo 7ef386: while i am here␤
carlin colomon: no, still needs a bit of work 00:36
colomon carlin++ # progress here is really good even if it's not complete yet. 00:37
RichiH why is the identifier function called .WHAT and not .what? 01:09
diakopter I suspect the interrogatives are uppercase so they're less likely to conflict with user code. 01:12
diakopter .. and/or more easily identifiable as built-in stuff 01:12
jnthn RichiH: Uppercase generally means something a bit more magical is going on. 01:15
A kind of cry for attention in a sea of more normal code. :-) 01:16
Most of the time, there's ways to do stuff without relying on the .UPPERCASE stuff.
RichiH k
sjohnson can P6 interpolate constants in the left hand segment of s/cow/pig/; type operation? 01:21
jnthn sjohnson: Perl 6 can. Rakudo doesn't do that just yet (in master). 01:22
(Not sure if it'll be in ng, or following closely behind ng.) 01:23
sjohnson cool thanks 01:25
my guess is when it is ready, it will use the {CONSTANT} syntax 01:26
jnthn I'm not quite sure what syntax it will be...maybe not that one though.
becuase that's just a block, rather than implying anything to match. 01:27
jnthn I mean, if it was a constant $foo instead then it'd be s/$foo/bar/ 01:27
std: constant ::foo = 42; / ::foo / 01:29
p6eval std 29290: ok 00:01 107m␤
TimToady s/$(constant)/bar/ probably works 01:30
jnthn uh, menat constant foo = 42
TimToady std: s/$(pi)/pie/
p6eval std 29290: ok 00:01 106m␤
jnthn I fear the :: will be taken as a "don't backtrack" thingy there though.
TimToady :: is not a true sigil 01:30
jnthn Aye. 01:31
.oO( sigilish )
jimi_hendrix when does perl6 come out, i know Fedora 12 will have it (or was it 13?), but it must be released before then... 01:31
jnthn jimi_hendrix: Hi! Perl 6 is a language spec. Fedora will include Rakudo, which is an implementation of the Perl 6 spec. It's not 100% there, but it's increasingly useful. 01:33
jimi_hendrix: Development releases of Rakudo happen every month, and have for a while - now it's just hitting the point where it's considered worth packaging to make it easier to install. :-) 01:34
jimi_hendrix oh cool
jnthn We're planning a major, non-development release for April.
jimi_hendrix so the command to run the interpreter is rakudo, not something like perl6 01:35
sjohnson jnthn: a bit after xmas :)
jimi_hendrix: that's right
jnthn jimi_hendrix: Rakudo installs a perl6 executable. 01:36
jimi_hendrix: At the moment Rakudo is the most advanced implementation.
jimi_hendrix ok
what does it lack?
jnthn Right now, quite a few bits (laziness, but that's coming in a month or two...things that still need significant effort are handling of native types, concurrency bits, versioned modules, etc). Equally, it does an awful lot too (lots of the built-in operators and types are there, the object model implementation is pretty advanced, multi-dispatch works well, a large proportion of the regexes/grammars stuff is there and more is to come soon). 01:39
jimi_hendrix perl6 is lazy? cool! 01:40
IllvilJa How is TCP/IP doing in rakudo?
colomon jnthn: any idea why Rat.abs would work and Int.abs would not? 01:40
IllvilJa Or rather, IPC in general.
jnthn IllvilJa: Apparently, well enough for people write write HTTP clients and IRC bots. :-)
IllvilJa: Oh, and HTTP servers too.
IllvilJa Whooooo...
\o/
jnthn IllvilJa: See HTTP::Daemon on github somewhere. :-) 01:41
colomon: Erm. Not off hand. :-/
IllvilJa Opens up a wide spectra of intresting things to tinker with!
jnthn colomon: Can you define "doesn't work" a little more? :-)
colomon jnthn: Well, it works, for some broken definition of works. I've written Int.abs and Rat.abs. My version of Rat.abs is called when you say abs(Rat), but my version of Int.abs is not called when you say abs(Int). 01:43
jnthn Both are marked is export and/or are multi?
If so, I smell a bug...
colomon in fact, I just cut and pasted from one to the other. :)
jnthn heh
Sounds failish. 01:44
colomon I mean, abs is just self < 0 ?? -self !! self, after all.
Trying another tweak of things....
jnthn Oh! I wonder if it's just that the invocant's type is not being set up properly yet.
colomon also, getting horrible self-recursive things when I try to call abs(Inf) or abs(NaN), which is just odd. 01:45
this tweak didn't work either.
invocant's type?
jnthn yeah
When you have a class Foo { method bar() { } } then the type of the invocant of bar in its signature shoulod be Foo. 01:46
Otherwise it won't work out too well when exported.
I'll try and have a dig tomorrow on that.
colomon Shall I check in what I have? 01:48
jnthn Sure, provided it doesn't cause breakage of other things. 01:49
colomon okay, that's even weirder. 01:51
colomon abs(123).WHAT ~~ Int, but 123.abs.WHAT ~~ Num. 01:52
sjohnson rakudo: say sprintf("%.02f", 12.30000"); 01:53
p6eval rakudo 7ef386: Confused at line 2, near "(\"%.02f\", "␤in Main (file <unknown>, line <unknown>)␤
sjohnson rakudo: say sprintf("%.02f", 12.30000);
p6eval rakudo 7ef386: 12.30␤
sjohnson rakudo: say sprintf("%.02f", 12.3);
p6eval rakudo 7ef386: 12.30␤
sjohnson i don't think p5 can do that.. or at least i have no idea how it's done
nevermind, seems to work 01:55
*scratches his head*
Tene jnthn: Fedora has included rakudo for months. 02:01
RichiH btw, even though i don't suppose anyone really cares i know why the context of sigils has changed in perl6 (i think) 02:03
(from "what is coming out to the box" to the plain old "what kind of box is it coming out of")
my assumption would be overloading 02:04
sjohnson hugme: patpat sjohnson
masak lay it on me, phenny. 02:12
phenny masak: 07 Dec 11:04Z <jnthn> tell masak first virtual servers...then virtual timezones. :-) And yes, :foo(:bar(:$baz)) will get you a few entries. :-)
masak: 07 Dec 12:00Z <carlin> tell masak gist.github.com/250786 # Not what you were after but Rakudo's IO couldn't do that yet
masak: 07 Dec 19:16Z <Wolfman2000> tell masak November is on Web.pm, right? I'm starting to wonder if I can use Squerl, Astaire, and whatever else effectively. May need some backup with installing the modules right, though.
masak phenny: tell Wolfman2000 that November isn't on Web.pm yet. plan to migrate it in the next few months, though. whether Squerl, Astaire et al can be used effectively at this point remains an open question. my hunch is that they will shrink the codebase of November (by removing insane hacks), and not make it deadly slow or unreliable in the process. 02:14
phenny masak: I'll pass that on when Wolfman2000 is around.
sjohnson heh
masak carlin: interesting. it'd be interesting to hear what you learned from the whole exercise. 02:15
JimmyZ Squerl? 02:24
Astaire? 02:25
masak JimmyZ: good evening. yes. they're part of the Web.pm effort. 02:27
JimmyZ: one is a database interface, the other is a cute-syntax dispatcher. 02:28
JimmyZ I had treated Squerl as *Super perl* by my eye several times. 02:29
masak: good evening to you. 02:30
masak well, I'd like to think the code is pretty nice. so "Super Perl" might be appropriate. :P
but the real etymology is more along the lines of SQL + Perl.
JimmyZ Squerl -> Superl 02:31
Tene good evening, masak
masak Tene: y0. 02:32
JimmyZ So My eye see it, Super perl ;)
Wolfman2000 evening
phenny Wolfman2000: 02:14Z <masak> tell Wolfman2000 that November isn't on Web.pm yet. plan to migrate it in the next few months, though. whether Squerl, Astaire et al can be used effectively at this point remains an open question. my hunch is that they will shrink the codebase of November (by removing insane hacks), and not make it deadly slow or unreliable in the process.
Wolfman2000 masak: ...could have thought...nevermind
masak JimmyZ: I would think an eye which has to separate all these characters would be able to distinguish a few letters. :P masak.org/carl/w/index.php/Characte...hone_poles 02:33
JimmyZ oh, SQLperl
masak: yep 02:34
carlin masak: I learnt how it could possibly be done once rakudo has better IO, but without being able to run it I don't know if/how well it would work in practice 02:36
masak carlin: what do we need to implement in Rakudo?
carlin masak: non-blocking IO. Need to be able to accept new connections while still receiving and relaying messages to the exisiting connections. 02:37
Tene carlin: like, perhaps, select()?
masak JimmyZ: there are worse examples: these are my personal unfavourite. 失 矢
Tene I've had select() on my tasklist for quite a while... just need to get around to writing it. 02:38
JimmyZ mask: 生 牛 | 白 日 甲 由 旦 02:39
masak JimmyZ: aye; similar. I don't seem to have a problem with those, though. 02:40
JimmyZ masak: or 牛 午
masak aye. they're in my telephone poles list.
JimmyZ It's just like 失 矢
carlin Tene: yes, that would help 02:41
carlin wishes he had the skillset to implement that kind of thing
Tene carlin: the first step is writing a Select PMC for Parrot. 02:42
TimToady I have trouble with 釆 vs 采 02:43
JimmyZ masak,TimToday: I think the right way is writing them for 5 years. I had do it in my primary school and junior high school, It is 9 years. :) 02:44
s/do/done/ 02:45
pugs_svn r29291 | colomon++ | [t/spec] Get working with ng.
JimmyZ s/in my/at/
TimToady: I don't think 釆 is a modern word. 02:48
TimToady: It hadn't be used now.
masak it might be in modern use in Japanese. 02:49
JimmyZ that's out of my language
masak well, sure. but kanji don't always look like the hanzi they came from. 02:53
Wolfman2000 ...I still need to eventually learn how to speak/type native japanese 02:55
JimmyZ masak: I don't know kanji much. 02:56
masak me neither.
Wolfman2000 I know only extreme basics, like ひらがな, カタカナ, and 漢字
Wolfman2000 or rather, I know how to use my Mac IME 02:57
TimToady I have to look twice at 兆 vs 北 03:00
dalek kudo/ng: 153b18e | (Solomon Foster)++ | src/Perl6/Grammar.pm:
Remove pirop from abs.
03:03
kudo/ng: 16307de | (Solomon Foster)++ | t/spectest.data:
Turn on abs.t.
kudo/ng: ed63968 | (Solomon Foster)++ | src/core/ (5 files):
Try to rework abs to return the same type passed in.
masak TimToady: don't think I've ever mistaken those. they sound completely different. :P
JimmyZ TimToady: Maybe ;) though they are very different
colomon ng: say abs(-10).WHAT 03:09
p6eval ng fcdef6: 0␤
colomon wth?
ng: say (abs(-10)).WHAT
Wolfman2000 rakudo: say abs(-10).WHAT
p6eval ng fcdef6: Int()␤
rakudo 7ef386: Use of type object as value␤0␤
Wolfman2000 ...
rakudo: say (abs(-10)).WHAT
p6eval rakudo 7ef386: Int()␤
masak 11k views yesterday on the perl6advent blog! \o/
colomon oh 03:10
Wolfman2000 masak: wonder how many we'll get this time with my code challenge
masak the thing doing visitor number graphs has literally collapsed. it doesn't appear any more.
colomon we're still running about 140 hits an hour, I think.
carlin slashdot++
Wolfman2000 3360 hits then 03:11
masak timoreilly++
colomon jnthn: I've checked in all the abs changes. What I can see (just added a bunch of says locally), if you call 10.Rat.abs or 10.Num.abs, it calls Rat.abs or Num.abs. If you call 10.abs, it calls Any.abs and then Num.abs. 03:32
Same with 10.Int.abs 03:33
ng: say 10.Int.abs.WHAT 03:42
p6eval ng 153b18: Num()␤
colomon ng: say 10.Rat.abs.WHAT 03:43
p6eval ng 153b18: Rat()␤
PerlJam Who controls the content of dev.perl.org/perl6 ? 03:44
thowe um, hi! 03:44
PerlJam greetings thowe
thowe Hiya PerlJam. 03:45
thowe I somehow tripped over something about Perl 6 online today and I feel like I have been distracted by something shiny. So I'm indulging that impulse. I have fond memories of learning Perl 5, but it's been a while since I used perl. 03:46
PerlJam or perhaps more importantly, who controls the content of perlcabal.org/syn? It would be exceedingly better IMHO if the synopses weren't listed on dev.perl.org/perl6 under "related sites"
thowe So, is Parrot something kind of like the jvm or Mono?
PerlJam thowe: Perl 5 is Kansas, Perl 6 is Oz :)
thowe: yes, Parrot is a VM similar to those but geared more towards dynamix languages like Perl 03:47
thowe: btw, Parrot has it's own IRC channel irc.parrot.org:#parrot 03:48
thowe PerlJam: I have to say, Perl lost some of its appeal when I started doing Ruby back in 2003... But I would be a fool to not learn something about Perl 6. 03:49
PerlJam thowe: why exactly did perl lose some appeal? Was it Ruby's higher-level, better integrated object model? 03:50
PerlJam I've used ruby and found it a joy to program in, but somehow Perl still fits my brain better. 03:51
thowe There were some specific things, but Ruby seemed cleaner, easier to read, powerful... Also, when I would pass a multi-dimensional array just a sec 03:55
sorry.. when passing a multi-dimensional array to a function, it would flatten it, things like that. 03:56
Also, I did kind of find it hard to read, but I learned a LOT by learning perl.
But this new Perl sounds like it removes cruft and is redesigned to be groovy. Kind of hard to ignore a language that has this much work in it plus is written by people who know what they are doing. 03:57
PerlJam That last comment is curious. Do you mean to imply that other language designers/implementors *don't* know what they are doing? ;) 03:58
PerlJam thowe: btw, have you seen perl6advent.wordpress.com ? Is that what led you here? 04:00
thowe um, no... 04:01
What's that?
PerlJam the perl 6 advent calendar.
thowe Ah, yes actually :) 04:02
PerlJam Well, Day 1 shows you how to get and install Rakudo (a Perl 6 implementation) if you're interested in playing with Perl 6
thowe About other language designers... No, not that they don't know what they are doing, but that they slmost certainly don't have this amount of background and direct community involvement to draw on when creating a language for mass appeal. 04:03
Perl 5 showed itself suitable for an extremely wide array of tasks. I would suspect that Perl 6 would also, AND be very modern and compete well against other modern languages with all the buzz words. 04:06
...also, the rails groupies have almost ruined Ruby for me...
PerlJam You have an interesting viewpoint. So often I hear/see extremes that I don't really know what the middle ground might look like. 04:07
thowe wasn't there a link to an early copy of a book someplace? I would like to read about it. All I've heard is the years of hating on it and some tidbits about what it wants to be. I would love to get some actual knowledge. 04:09
PerlJam github.com/perl6/book 04:10
thowe Sadly, as much as I respect Python, it just doesn't feel right to me.
PerlJam It's in very rough form though
PerlJam python wouldn't be so bad if Guido understood more powerful language features. 04:11
thowe Is there a better place to get some useful "This is what Perl 6 is about" reading done?
PerlJam thowe: there are the synopses (if you're not afraid to read alot) perlcabal.org/syn 04:11
thowe: you can always ask stuff here. 04:12
Usually there are others awake than just me.
thowe Hm. I should see how hard this is to install on Free/OpenBSD 04:13
nothing beats a bit of playing.
y'know, one thing that got me into Ruby was that the CGI library would auto-detect that I was testing it in a browser and take arguments as if I was working in a browser. Made troubleshooting a breeze... 04:14
I mean, testing from the command line...
I always wished the perl CGI module would do that... 04:15
PerlJam eh? 04:16
thowe When you write a ruby cgi program, and run it from the command line, it detects that you are in a command line and allows you to input stuff that it would normally get from the URL string. 04:17
Maybe there is a way to do this with the perl cgi module, but I never learned how.
PerlJam perl's CGI module has always done that.
you simply pass name=val on the command line 04:18
(or you could set some environment variables)
thowe hm... Wish I had known that then...
PerlJam heck, I think cgi-lib.pl even did this back in the perl 4 days. 04:19
thowe I probably would have figured that out today, but back then I was a bit green
thowe I'm also kind of grateful how much I learned about oop when I finally "got" Ruby. 04:20
thowe but I digress. I wanna see what Perl 6 is all about. 04:20
PerlJam thowe: install Rakudo. Play! :)
wayland_ To me, Perl 6 = grammars 04:21
You can group your regexes into grammars
kind of like you can group methods into objects
thowe I'm not sure I grok what rakudo is yet...
wayland76 Oh. Perl 6 = specification. Rakudo = implementation 04:22
carlin thowe: rakudo is a perl6 implementation that runs on the Parrot VM
wayland76 Official Perl 6 spec documents: perlcabal.org/syn/
Yes. Rakudo is not the only implementation, only the most famous one at the moment
thowe What has made it the most famous? 04:23
wayland76 Well, it runs on Parrot, which was the plan from the beginning, and it has developers who talk about it, and it's probably the furthest along in general 04:24
thowe OK
wayland76 Another one, SMOP, is probably the main competitor 04:25
thowe so, I need a parrot vm first then(?)
PerlJam Rakudo also implements most of the spec as compared with the other implementations
carlin thowe: rakudo pulls that in itself during the install
PerlJam thowe: if you follow the instructions on Day 1 of the Perl 6 Advent Calendar, you'll get a Parrot too 04:26
wayland76 Or if you're a package fiend (like me), there are other options, I think 04:26
PerlJam aye, fedora and debian both have rakudo packages I do believe. 04:27
thowe OK, I'm going to get into this calendar. Will BSD make work, or do I need gmake?
PerlJam and I think there's a cygwin package too
thowe: try it and report back to us :)
thowe ok
PerlJam thowe: though my gut says it should work
wayland76 There seems to be a FreeBSD port 04:28
and I know there's a mac one
PerlJam feather is a BSD system, but I'm not sure what's been installed in the way of making parrot/rakudo work
thowe is git-ing a clone...
thowe is gen-ing a parrot 04:29
I'm on an oldish OpenBSD system at the moment. I really need to get my act in gear. 04:31
masak rakudo: sub foo($a = 1, $b) { say $a }; foo(3) 04:37
p6eval rakudo 7ef386: Not enough positional parameters passed; got 1 but expected between 1 and 2␤in Main (file src/gen_setting.pm, line 324)␤
masak submits rakudobug 04:38
ng: sub foo($a = 1, $b) { say $a }; foo(3)
p6eval ng 153b18: Not enough positional parameters passed; got 1 but expected between 1 and 2␤current instr.: '&foo' pc 108 (EVAL_1:49)␤
thowe rakudo: sub foo($a, $b = 2) { say $a }; foo(3) 04:39
p6eval rakudo 7ef386: 3␤
thowe rakudo: sub foo($a, $b = 2) { say $b }; foo(3) 04:40
p6eval rakudo 7ef386: 2␤
thowe I don't understand, shouldn't it expect $b to be passed since it wasn't given a default value? 04:41
PerlJam $b was given a default value of 2 04:42
thowe not in masak's code.
PerlJam oh. 04:43
thowe I actually expected mine to work as it did. But I also would have expected his to act as it did...
PerlJam $a and $b are positional parameters, the first thing passed will always be $a and the second thing $b
thowe unless this is just something I don't know about Perl6
PerlJam: yeah. But he said he was going to submit a bug, but he actually got the result I would have expected him to. 04:44
PerlJam rakudo: sub foo($a = 1, $b) { say $a }; foo(:b(5));
p6eval rakudo 7ef386: 1␤
thowe ooo. That's a trick I don't have in C++
or C
PerlJam rakudo: sub foo($a = 1, $b) { say $b }; foo(:b(5)); # to show the other side 04:45
p6eval rakudo 7ef386: 5␤
thowe Maybe I'm just naive, but I don't think I have seen that kind of trick in another language.. Where you define which parameter you are passing 04:46
maybe I've just had too much beer
masak thowe: you mean named arguments? it exists here and there. 04:47
TimToady std: sub foo($a = 1, $b) { say $a }; foo(3) 04:48
p6eval std 29291: ===SORRY!===␤Can't put required parameter after optional parameters at /tmp/jynShhenPv line 1:␤------> sub foo($a = 1, $b⏏) { say $a }; foo(3)␤ expecting any of:␤ constraint␤ parameter␤ trait␤ whitespace␤FAILED 00:01 108m␤
thowe Hmm. Not in C/C++ I don't think. Been doing too much of those lately.
carlin C# has them
thowe Haven't seen C#/ I wonder if I can do that in Ruby... 04:49
can you do that in Perl 5? 04:51
If I do make install of this Rakudo thing, where will it install to? Can I uninstall it? 04:52
carlin It installs into the same directory parrot was installed in 04:53
usually parrot_install in rakudo's directory
thowe ah, ok 04:54
masak thus, uninstalling is just rm -rf on that directory. :)
thowe OpenBSD's built-in make seems to have worked fine, BTW. 04:56
I'm told Ruby can't name the parameters passed. I didn't think so... 04:57
name arguments I mean
thowe So, FYI, Rakudo is in and working. Thanks! 05:03
masak thowe++ 05:05
thowe on to day2 I guess... 05:06
wayland76 Perl 5 does hash keys instead of named parameters; similar on the outside, different on the inside 05:08
thowe heh, how does one end a Perl6 program? Can't seem to get out of the REPL. 05:12
nm, crtl-d did it... 05:13
mdxi ^D works, as per usual
masak thowe: the REPL is not very user-friendly yet. pmichaud++ is working on it.
JimmyZ rakudo perl startup time is 2s up. 05:19
masak JimmyZ: what do you mean? has it become 2s shorter? 05:21
or 2s longer?
JimmyZ masak: 2s longer now. 05:22
masak ah. 'up by 2s'.
rakudo: sub foo { @_[0] = "bah" }; my $a = "!"; foo($a); say $a 05:32
p6eval rakudo 7ef386: !␤
masak is the default signature :(*@_ is copy) ?
I'd have expected the above to say "bah".
in Perl 5, it says "bah". I thought the point of the default signature was to emulate Perl 5 behaviour. 05:33
TimToady i'd've expected it to blow up
masak submits rakudobug
TimToady: so in the default signature, @_ isn't writeable? 05:34
TimToady no, it's different from P5 in that
masak ok.
TimToady but most P5 programs aren't modifying their parameters
and we didn't want to pay the might-be-lvalue penalty anymore
that was decided in about 2003 or so 05:35
masak nod.
masak here's an early draft for tomorrow's Advent Calendar post: gist.github.com/251434 05:44
it's been great fun to write it. I'm learning new things, too. :)
I expect it to be quite long, maybe 2x as long as the current draft. 05:45
that may or may not be a good thing...
anyway, comments, especially ones pointing out where I've mixed up the concepts 'parameter' and 'argument', are most welcome.
swimming & 05:47
diakopter It also -> It is also 05:52
paramters -> parameters
thowe I know this is probably a stretch, but is there a perl6 program that does kind of what nanoc does? nanoc.stoneship.org/ It's a "CMS" that "compiles" some templates and other stuff into static html. I was about to start moving to the new version, but then I was kind of wondering if there was something similar in Perl6 to try(?) 06:08
wayland76 ping masak? 06:18
I don't think there's anything like that; there's a Web.pm module that does things like that; masak knows the most about those things 06:19
If you're asking perl6 web-related questions, you may also want to try the #november-wiki channel
But I see he's gone swimming. 06:20
Maybe eiro or PerlJam know something too
(some people's IRC clients will go "bing" if I mention their name) 06:21
thowe gah. I got some tea, came back and touched my mouse and the static shock rebooted my computer. 06:35
If anyone ever answered my question about a nanoc work-alike I missed it. 06:36
carlin thowe: irclog.perlgeek.de/perl6/2009-12-08#i_1812478 06:37
thowe ah, cool. Guess I didn't miss anything. Is there a place where people can look for apps written in Perl6? Like ruby forge? Or is perl so huge it would be pointless? 06:38
carlin Most of the Perl 6 projects are on github, because CPAN-for-Perl6 is still up in the air at the moment 06:40
There's a (prototype) Perl 6 package manager, that has a list: github.com/masak/proto/blob/master/projects.list
If you see something there you want to look at pointme can help you find it 06:42
pointme: rssbot
pointme carlins's rssbot is at github.com/carlins/rssbot/
thowe cool.. Now I have to remember my github password 06:43
I think I found one called Krang 06:46
krangcms.com/ 06:47
or not, I guess it is Perl 5 06:48
ugh, and MySQL...
Wolfman2000 PerlJam: You here? I have a report to give you. 06:54
...alright, do things the old fashioned way 06:58
phenny: tell PerlJam there are more catches than expected with nearlyfreespeech.net. Frameworks are not as easy to set up as expected due to to a variety of issues. I'll keep you informed.
phenny Wolfman2000: I'll pass that on when PerlJam is around.
PerlJam Wolfman2000: thanks. 07:00
phenny PerlJam: 06:58Z <Wolfman2000> tell PerlJam there are more catches than expected with nearlyfreespeech.net. Frameworks are not as easy to set up as expected due to to a variety of issues. I'll keep you informed.
Wolfman2000 that was fast
PerlJam I was just about to ask everyone to critique my perl6advent post
:-) 07:01
Wolfman2000 PerlJam: let me take a look 07:01
Wolfman2000 ...the private one on Day 10? 07:02
PerlJam It shouldn't be private any more 07:03
But yes, Day 10
Any and all comments welcome. 07:04
Wolfman2000 Long as it's not out for the public to see...
Wolfman2000 applauds the story, but boos the self inclusion. 07:05
PerlJam Would you rather I used your nick?
Wolfman2000 heck no
I just don't like the idea that you end up being the savior of the gift...even if it is true. 07:06
PerlJam I would have used someone else's nick, but I said something I would say rather than trying to think of what someone else might say.
PerlJam "saviour of the gift" is an interesting phrase. 07:07
anyway ... I'm tired and it's way past my bed time. 07:08
good night and I'll see y'all in a few hours :)
Wolfman2000 similar...I'm getting tired of dealing with this issue right now. 07:09
Can't even focus on Perl 6 properly until I take care of my websites, and those are in danger of being knocked offline in a few weeks
spinclad masak: line 1, they way -> the way 07:22
line 41, gives solves -> solves 07:23
line 115: paramtere 07:25
spinclad phenny: tell masak ^^ typos from diakopter and me 07:27
phenny spinclad: I'll pass that on when masak is around.
moritz_ good morning 07:33
spinclad good &stilldark, moritz 07:34
psalc1 So where does a newbie just through the llama book begin to contribute? 07:40
moritz_ psalc1: the llama book is Perl 5. If you want to contribute to Perl 6, you have to learn the language first 07:42
Su-Shee good morning. 08:52
moritz_ hi Su-Shee
mathw Good morning 08:53
Su-Shee moritz_: do I have to buy the special edition with your article? :)
moritz_ Su-Shee: not really
Su-Shee: it's mostly just a rebrush from the first article in the iX series
Su-Shee moritz_: any feedback from readers? 08:54
moritz_ Su-Shee: nope 08:55
mathw writes a lengthy reply to one of the Slashdot comments 09:18
Someone actually asked about some misconceptions fairly intelligently, so I felt it was worth setting things straight 09:19
sjohnson yo matt-w 09:29
moritz_ mathw: which question are you replying to? 09:31
wayland76 oh, and mathwis a much cleverer handle than Matt-W :) 09:42
Juerd_ 05:28 <@PerlJam> feather is a BSD system, but I'm not sure what's been installed in the 09:43
way of making parrot/rakudo work
Are there multiple systems called feather?
feather.perl6.nl isn't BSD; it's Linux.
mathw moritz_: developers.slashdot.org/comments.pl...d=30349730 unfortunately my lack of a Slashdot account means my reply sort of disappears. I should've made one. Oh well. 09:49
wayland76: I definitely prefer it. That hyphen was awkward, and it didn't sound right in my head
moritz_ I think you have to pay for /. accounts 09:50
wayland76 Hmm. I have a slashdot account, and I've never paid 09:53
I thought they were free, but paying got rid of the ads
moritz_ then maybe I did something wrong when trying to sign up, like 3 years ago 09:53
then again my English wasn't particularly good back then, and I might have misunderstood something 09:54
wayland76 I signed up about 12 years ago :)
moritz_ I'm not sure I had internet 12 years ago :-) 09:55
wayland76 I must be the old man here :)
wayland76 I got the Internet in '95. I started Uni the same year that the Internet went from unknown to "Hey, what's this Internet thing everyone's talking about" 09:56
It took my University's IT department pretty much my entire time at University to recover from the sudden resource drain. 09:57
wayland76 Anyway, I probably signed up to Slashdot in 96. So 13 years ago. 09:57
mathw slashdot accounts are free 09:59
that explains the rampant stupidity
wayland76 mathw: I gave you a "Mod parent up"
mathw see the difference on metafilter, which charges $5 for an account...
carlin rakudo: my @a = <foo bar baz quux corge>; for @a -> $k, $v { if $v eq 'baz' { @a.delete($k) } }; say @a.perl 10:06
p6eval rakudo 7ef386: StopIteration␤in Main (file <unknown>, line <unknown>)␤
carlin Oh, did it wrong 10:07
rakudo: my @a = <foo bar baz quux corge>; for @a.kv -> $k, $v { if $v eq 'baz' { @a.delete($k) } }; say @a.perl
p6eval rakudo 7ef386: ["foo", "bar", undef, "quux", "corge"]␤
carlin rakudo: my @a = 1..5; undefine @a[3]; say @a.perl; my @b = 1..5; @b.delete(3); say @b.perl; 10:27
p6eval rakudo 7ef386: [1, 2, 3, undef, 5]␤[1, 2, 3, undef, 5]␤
carlin shouldn't delete completely remove the key? 10:28
moritz_ no
splice should do that
carlin rakudo: my @a = 1..5; @a.splice(3, 1); say @a.perl; 10:38
p6eval rakudo 7ef386: [1, 2, 3, 5]␤
carlin cool. delete making it undef is a bit unexpected though 10:39
oh, perl5 does that too, nevermind 10:43
colomon isa_ok(@l[0], Regex::Match, 'first item is a Regex::Match'); 11:27
Method 'isa' not found for invocant of class 'Regex;Match'
???
(ng, of course)
moritz_ where did you get that from? 11:28
colomon comb.t 11:29
but I just wrote it myself based on experimentation.
ng: say ("a ad afd".comb(/./, :match))[0].WHAT
p6eval ng 153b18: Regex::Match()␤
colomon the existing test was clearly not following the spec.
moritz_ that's wrong
it should be just Match
and it's probably not a Perl 6 type, and thus has no .isa method 11:30
seems like some type magic is needed
colomon (checks S32-Rules.) yup on just Match. 11:31
Guess I can fudge these tests for the moment.
Huh. The .to values we're returning are one greater than the .to values the test expects. 11:33
moritz_ ng: say "abc".comb(:match)[0].to # I expect 1 here
p6eval ng 153b18: 1␤
moritz_ rakudo: say "abc".comb(:match)[0].to 11:34
p6eval rakudo 7ef386: Method 'to' not found for invocant of class 'Str'␤in Main (file src/gen_setting.pm, line 324)␤
colomon So it's the index of the first character past the match?
lisppaste3 colomon pasted "Test comb tests in questio" at paste.lisp.org/display/91760 11:35
moritz_ rakudo: "abc".match(/./)[0].to
p6eval rakudo 7ef386: Method 'to' not found for invocant of class 'Failure'␤in Main (file src/gen_setting.pm, line 324)␤
moritz_ rakudo: "abc".match(rx/./)[0].to 11:36
colomon ng: say ("this test is weird".comb(/\w+/, :match))[0].to
p6eval rakudo 7ef386: Method 'to' not found for invocant of class 'Failure'␤in Main (file src/gen_setting.pm, line 324)␤ 11:37
ng 153b18: 4␤
colomon master had a todo for the .to tests....
moritz_ is not so sure anymore what's right
rakudo: "abc".match(rx/./).to 11:38
p6eval rakudo 7ef386: ( no output )
moritz_ rakudo: say "abc".match(rx/./).to
p6eval rakudo 7ef386: 1␤
moritz_ ng: say "abc".match(rx/./).to
p6eval ng 153b18: Confused at line 1, near "say \"abc\"."␤current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336)␤
moritz_ ng: say "abc".match(/./).to
p6eval ng 153b18: 1␤
moritz_ master cheated very strongly in .comb
colomon S05-Match objects seems to imply .to should be the char past the match 11:41
otherwise $/.chars # $/.to - $/.from would be 3 when "this" is matched
colomon i'm changing the test 11:43
errr... ng spectest has fails now? :( 11:48
moritz_ last I looked split-simple-2.t failed 11:49
colomon bother: random crashes 11:50
ben_bash hey should I be able to 'git pull' to update my source tree? I seem to be unable after changing my branch to ng 11:53
good morning btw
moritz_ good morninig 11:54
yes, you should
what's the error message?
ben_bash Permission denied (publickey). 11:55
moritz_ are you using your own fork, or rakudo's main repo?
ben_bash I forked it 11:56
moritz_ ben_bash: could you please nopaste the output from `git remote -v`? 11:57
ben_bash sure
lisppaste3 ben_bash pasted "untitled" at paste.lisp.org/display/91761 11:59
moritz_ ben_bash: does pulling from upstream works? 12:00
ben_bash I figured out the issue 12:11
ben_bash it was a key naming thing 12:12
:-\
wayland76 Question all: Rakudo works from an installed Parrot, right? 12:13
wayland76 phenny, tell pmichaud that he needs to comment on the "Gerd or Allison" thread :) 12:15
phenny wayland76: I'll pass that on when pmichaud is around.
moritz_ wayland76: if you installed rakudo too, yes 12:16
moritz_ looks at the freenode link flipping and netsplits, and hums "the day the routers died" (see <www.youtube.com/watch?v=_y36fG2Oba0>) 12:23
moritz_ wayland76: I've answered to the thread, hopes it cleared some things up (but I'm not sure if I understood the questions/concern correctly) 12:37
pugs_svn r29292 | pmurias++ | [viv] all the VAST::package_declarator__S_* classes inherit from 12:53
r29292 | VAST::package_declarator
r29293 | pmurias++ | [mildew] more progress on porting to new STD
arnsholt likes the latest Advent calendar post 13:03
And replacing split with comb is a move that makes sense 13:04
Saying what you want rather than what you don't is nice
moritz_ there are applications for both
arnsholt True, true
moritz_ it requires a bit of rethinking, so it's good mental training :-) 13:05
takadonet morning all
arnsholt Yeah. Especially when you've acquired the habit of thinking in terms of split =)
takadonet Going to be hard to learn to switch between them at first 13:06
moritz_ in Perl 5 I also often used while($str =~ /regex/g) { ... }, which is actually very close to for $str.comb($regex) { ... } 13:07
in fact (in an ideal world) .comb is just a shallow wrapper around .match(:g) 13:08
rakudo: sub f { return }; say defined f 13:11
p6eval rakudo 7ef386: 0␤
moritz_ ng: sub f { return }; say defined f
p6eval ng 153b18: return requires an expression argument at line 1, near "}; say def"␤current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336)␤
arnsholt moritz_: Very good point that 13:14
PerlJam good morning. 14:01
Anyone have a look at perl6advent day 10? Any comments? 14:03
mathw when I try to view it I get a 404 14:06
presumably because it's only scheduled
but that seems a bit shoddy on the dashboard coding there
and I don't have edit permission, so I can't look at it that way
rodi rakudo: say "5065726C36".comb(/<xdigit>**2/)».fmt("0x%s")».chr 14:07
p6eval rakudo 7ef386: Perl6␤
PerlJam mathw: try again :)
mathw heh, now I do :) 14:08
Shouldn't $/ positional captures be accessed with $/[0] rather than $/<0>? 14:10
moritz_ they should, yes 14:11
mathw Thought so 14:14
moritz_ apart from that: PerlJam++
mathw I think the style's slightly inconsistent
moritz_ ng: 'x' ~~ /(.)/; say $0
p6eval ng 153b18: Confused at line 1, near "say $0"␤current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336)␤
moritz_ ng: 'x' ~~ /(.)/; say $/[0] 14:15
p6eval ng 153b18: sh: ./perl6: No such file or directory␤
mathw You've got this warm fuzzy narrative style, then sometimes there are some sentences which are just flat Perl 6 tutorial material, and it doesn't blend entirely well.
moritz_ ng: 'x' ~~ /(.)/; say $/[0]
p6eval ng 153b18: sh: ./perl6: No such file or directory␤
mathw The technical content is fine though
PerlJam mathw: yeah, I feel the same about the style switching. But that's what happens when I write when I'm tired :) 14:18
mathw well you've got all tomorrow to smooth it out if you want
so there's no panic :)
I should get to work on my day 12 entry soon, but I'm in a concert tonight so I shall get that done first
I'm doing junctions :/ 14:19
which are very cool, but I'm a bit weak in some areas so I need to do some reading and experimenting and asking questions
mathw although I think I'll hook them in with the joy of if $x == any(1, 2, 3) 14:20
takadonet mathw: You could add a bioinformatics example using junction :) 14:21
mathw I don't know any bioinformatics
So I probably shouldn't :)
The other major thing of course is junctive autothreading 14:22
moritz_ how do we call the things that fail() return? "soft" exceptions? or "unthrown" exceptions? 14:23
mathw unthrown exceptions, I think 14:24
moritz_ ng: 'x' ~~ /(.)/; say $/[0] 14:30
p6eval ng 153b18: Can't postcircumfix:<[ ]> foreign objects yet.␤current instr.: '!postcircumfix:<[ ]>' pc 261373 (src/gen/core.pir:29467)␤
carlin phenny: tell masak pushed a few more proto commits for review. Alos, what would you suggest doing about the perl6-examples/http-daemon conflict? 14:36
phenny carlin: I'll pass that on when masak is around.
carlin 'Night all
Tene moritz_: "Failures" works too. 14:37
but "unthrown exception" is used in the specs.
mathw I like the idea of an unthrown exception 14:38
it does hint very much at what will happen if you try to do something with it that might not expect it to be an exception
Tene do you like it enough to verify spectest coverage for it? ;) 14:39
mathw no
:P
I'm quite busy at the moment
Writing advent calendar entries
and being in concerts
and staring at the telephone, wondering why it doesn't ring
and trying to convince the cat that the keyboard is not a comfortable place to sit 14:40
arnsholt A bit offtopic: Does anyone know when prove from Test::Harness changed the --perl option to --exec? (Or how I can find out) 14:49
mathw I don't, but it drove me nuts for a while because Ubuntu and Fedora seemed to have different versions 14:52
moritz_ did you look at the change log? 14:53
cpansearch.perl.org/src/ANDYA/Test-...anges-2.64 and cpansearch.perl.org/src/ANDYA/Test-...17/Changes 14:54
pmichaud yes, ubuntu still ships with 2.64 14:56
phenny pmichaud: 12:15Z <wayland76> tell pmichaud that he needs to comment on the "Gerd or Allison" thread :)
pmichaud (already commented :)
moritz_ and of course they couldn't support both versions for some time to allow easier transition... 15:01
mberends phenny: tell carlin the http-daemon in perl6-examples is the obsolete prototype, better to keep separate modules in separate repositories 15:04
phenny mberends: I'll pass that on when carlin is around.
arnsholt Hmm. AFAICT it doesn't explicitly state when the change occured, but the version increment to 3.x sounds like a plausible candidate
moritz_ mberends: then delete it from perl6-examples
mberends moritz_: will do this evening, thanks :) 15:05
moritz_ mberends++ # promises to clean up
mberends karma for promising :) hmm, a burden of guilt until done 15:06
pmurias mberends: hi 15:14
pugs_svn r29294 | pmurias++ | [mildew] more porting 15:15
Wolfman2000 *yawn* morning 15:46
mberends hi pmurias, it will be nice to see your updates this evening after $work
pmurias mberends: if you have any question about mildew-js feel free to ask 15:58
mberends :) thanks 15:58
pmurias mildew is in a broken stage currently as it's not yet fully ported to the new STD 16:01
mberends even without the code being complete and running, it's interesting to compare how STD.pm leads to different implementations in Mildew-js and in Sprixel. 16:07
mberends de-commute & 16:12
diakopter pmurias: regex/nfa engine in C# completed; now to create a char-by-char LTM mode... 16:36
it's about 10x slower in mono (in a 32-bit linux vm) than on windows 64-bit .NET CLR (not in a vm) on the same hardware 16:37
diakopter i'll try a 64-bit linux mono soon.. 16:38
I haven't compared them to Perl's or V8's regular expressions. :) I also haven't added memoization at all... 16:40
arnsholt diakopter: How have you implemented it? Just a standard breadth first search, or something cleverer? 16:48
diakopter the char-by-char LTM mode will need specialized editions of every automaton that can chew more than 1 char (everything except Char && CharRange) - Both, Either, NonEmpty, Literal
diakopter arnsholt: normal mode is depth-first-search; the LTM mode will be effectively breadth-first-search 16:49
recursive descent, but not using the host language stack (or function calls at all, actually)
fully backtracking
arnsholt Right. Looping over an agenda stack?
diakopter not exactly; a tree of automata instances is walked.. 16:50
arnsholt Ah, cool 16:51
diakopter the LTM mode needs to be able to jump around the tree aribtrarily to be efficient... 16:53
treating each of the branches as coroutines..
diakopter it's really great to be working in a VM (both V8 & clr/mono) that has excellent garbage collection 16:54
moritz_ wonders how hard it is to actually construct a DFA for the LTM thing
diakopter TimToady & I discussed that here a few days ago; it's possible to construct one for the first (longest) match, but not for backtracking into it 16:55
arnsholt moritz_: Well, if you have an NFA there's an algorithm to make a DFA
diakopter yeah, but the states would explode too hugely in many cases... 16:56
arnsholt Yup. That's the problem
moritz_ arnsholt: I know the algorithm exist :-)
moritz_ and I also know that there are regex matchers which actually use DFAs 16:56
arnsholt There are? Didn't know that 16:57
moritz_ iirc TGE does
diakopter www.haskell.org/haskellwiki/Regular_expressions helpful reference, even though it's for ghc
arnsholt Huh. For complex regexes the memory requirements have to be a bit nuts, no?
diakopter Posix vs Perl (above) 16:58
diakopter but with smart memoization and some smart selective compilation into deterministic branches, an nfa engine can (my intuition tells me after effecting it a time or two) get somewhat close to a deterministic... 17:01
diakopter such as, reversing direction and working backwards from anchors, avoiding greedy stars 17:03
diakopter moritz_: but yes, if you reverse the alternations in a pattern, and put ^(.*?) at the beginning, that will simulate LTM mode in a regex for the first match 17:05
before reversing the order of the alternations, you have to order the alternations by their LTM prefix priority 17:07
diakopter which won't necessarily be the same as their declaration order 17:07
diakopter moritz_: I thought most regex matchers compiled to DFAs... 17:09
moritz_ diakopter: most regex matchers that don't capture, right 17:10
diakopter oh
oh, neat: augeas.net/libfa/
moritz_ like grep and the like
pmurias diakopter: the rule engine receives AST?
diakopter yeah
langue.pastebin.com/d5ef9c2e5 17:11
moritz_ sounds promising
diakopter public static AstBoth Plus(AstNode node) is the only really tricky portion 17:12
moritz_ diakopter++ # sharing the libfa link 17:13
diakopter now to port www.brics.dk/automaton/ to C#... 17:14
diakopter stupid netsplits 17:15
diakopter at least ilbot2 wasn't splitted 17:15
diakopter ooooo www.brics.dk/automaton/ rocks 17:18
commute&
masak thanks everybody for corrections to the blog post draft. 17:29
phenny masak: 07:27Z <spinclad> tell masak ^^ typos from diakopter and me
masak: 14:36Z <carlin> tell masak pushed a few more proto commits for review. Alos, what would you suggest doing about the perl6-examples/http-daemon conflict?
masak carlin: I would suggest removing it. no need having two versions of the same module hanging around in different repos. 17:31
diakopter more regex coolness: tusker.org/regex/regex_benchmark.html 17:48
diakopter masak`: hi 17:51
masak: hi
masak` diakopter: oh hai. 17:51
masak I'm turning off graphical smileys in perl6advent. I hope that's ok. 18:51
quantumEd :(
masak they're giving false positives on my post.
specifically, the :x in :x2
moritz_ masak++ 18:52
PerlJam masak++ indeed.
jnthn started working on his advent post last night
masak jnthn++
jnthn Will put a draft later today or tomorrow.
omgmasakisawakewheniam! 18:53
masak jnthn: hello. :)
colomon Yay! It's a nice feeling to have a number of posts ready to go.
masak jnthn: yes, but I'm dead tired. it's past my bedtime.
colomon is being circumnavigated by his son.... 18:54
masak did you know we're being translated to Russian? ky6uk.ugatu.net/den-1-poluchaem-rakudo
Tene masak: Yes, please turn them off.
moritz_ I've seen the trackbacks from that site
masak Tene: already done.
colomon Is that what's happening with those posts? Sweet!
jnthn masak: dobre! 18:55
masak: Heh. Your bedtime seems to shift. :-)
masak jnthn: yes, I've been on a 26-hour day for a week. 18:56
jnthn masak: That's...an interesting idea.
masak today is my first deviation. I want to get my post done, and I'm sitting in on a Skype meeting.
otherwise, I'd have been sound asleep an hours ago. 18:57
jnthn I guess it's a good way to prepare for living on a different planet... :-)
masak jnthn: actually, I've slept better in the past week than in a long time.
jnthn masak: Really? 18:58
That's...interesting.
masak yes, really. long, undisturbed sessions of sleep.
sometimes in the middle of the day. :)
Tene I sleep so much better when I'm on that sleep schedule. 18:59
colomon has only had a couple of undisturbed sessions of sleep in the last year and a half...
which reminds me, I think I might have had something ready to commit in the middle of the night last night. 19:00
PerlJam If my (lack of)sleep schedule didn't have to intersect and overlap with others, I'd not be on 24 hour days either.
arnsholt masak: I tend to like that schedule as well. Pity it interoperates so badly with the rest of the world =) 19:01
masak arnsholt: yes. it worked during my vacation.
pugs_svn r29295 | colomon++ | [t/spec] Add tests for .comb that returns Strs. Fix tests for .comb that returns Matches. Fudge for ng. 19:13
colomon There we go. 19:14
dalek kudo/ng: 098b472 | (Solomon Foster)++ | t/spectest.data:
Add comb.t to spectest.data.
19:15
takadonet colomon++ 19:20
pugs_svn r29296 | colomon++ | [t/spec] Fix broken .comb test, then unfudge it. 19:44
masak my blog post for tomorrow sits among the drafts; people are welcome to review it, especially the end, which is new since this morning. 19:47
masak I'll be heading home soon to sleep, so if people find things to change, feel free to just go ahead. 19:52
moritz_ masak++ 19:53
masak: you should schedule it
masak I did.
moritz_ ok
masak I still find the ending a bit abrupt. I'm open to suggestions there. 19:54
moritz_ sub f(Array @a) { ... } # WRONG, unless you mean a List of Arrays
sub f(Int @a) { ... } # Array of Int
inconsistent use of Array vs. List detected
masak: you could point out that thse signatures are essential for multi dispatch, and thus extensibility of the language 19:56
masak moritz_: but doesn't @ mean List?
moritz_ it means Positional
masak oh, right.
I'll change that.
moritz_++
moritz_ I'd just go with Array in both places
masak lies-to-children? :)
moritz_ yes
jnthn It's really Positional of Int as a constraint in a siggy. :-) 19:57
masak can I write '(actually, Positional)' in the table?
jnthn But my Int @x; declares an Array of Int.
moritz_ masak: sure
jnthn So it all depends on context. :-)
masak what's the actually of Code?
moritz_ Callable
jnthn Callable
Nothing is actually Code though. 19:58
but rather subclasses of it.
masak nodnod.
jnthn (Block, Sub, Method)
moritz_ WhateverCode
masak Regex.
jnthn Submethod
Yourmom
oh, wait.
masak :) 19:59
.oO( "your mom is so Callable, she has a postcircumfix:<( )> method..." )
20:00
rodi masak++
jnthn Meh, I wish ng's laziness was as good as my dogs. 20:01
"Want to go for a walk?" <dog curls up in even tinier ball>
jnthn goes to take it for some exercise anyway...bbl 20:02
colomon masak++ # nice post 20:04
masak thanks.
colomon jnthn++ # dog walking
I love the fact that I'm learning new stuff from almost every post.... 20:05
masak as pmichaud predicted, the placeholder variables are a low-hanging fruit for someone else.
that would make a nice post by itself.
I hope jnthn mentions the OO twigil parameters, because they're nice.
colomon placeholder variables? 20:08
masak colomon: $^foo
colomon ah!
moritz_ $:foo! 20:09
colomon they got mentioned in a previous post.
masak we're not getting nearly as many visitors today. only 2k so far.
still, more than any day before the Slashdotting. :) 20:10
colomon can still remember how excited he was to reach 1000 hits last week....
PerlJam Just like any other "product", it needs to be kept fresh in people's minds. 20:12
masak that's why we have daily releases. :)
moritz_ well, I don't think we'll ever see 10k hits per day this year
but it's been a huge marketing success already
and I've seen a few newcomers here, which I think is a very good sign
masak moritz_: we saw 11k hits yesterday.
aye.
takadonet moritz_: hopefully a few stay and help out 20:23
colomon so, Any.p5chop says for @.list -> $str is rw { 20:24
and ng replies: Method 'list' not found for invocant of class 'Perl6Str'
Is that @.list something like "self as a list"?
moritz_ @.list is the same as @( self.list )
lambdabot No module "is the same as @( self.list )" loaded
moritz_ just like $.foo is short for $( self.foo )
colomon ng: for 1 -> $x { say $x } 20:25
p6eval ng 098b47: 1␤
colomon would it make sense to just say for self -> $str there, then?
moritz_ no idea 20:26
PerlJam ng: for list(1) -> $x { say $x } 20:27
p6eval ng 098b47: 1␤
PerlJam (just checking :)
takadonet cannot wait for the next post on Perl6 advent calendar 20:31
PerlJam takadonet: well you're gonna have to! ;)
takadonet Perljam: NO!!! hehe
colomon ng: for list("hello") -> $x { say $x } 20:33
p6eval ng 098b47: hello␤
jnthn for list("hell", "no") -> $x { say $x } 20:35
ng: for list("hell", "no") -> $x { say $x }
p6eval ng 098b47: hell no␤
jnthn fail.
...I think... :-)
jnthn guesses a list should flatten, anyways... 20:36
moritz_ lolzaslonisslow 20:37
colomon ah well. p6chop is pretty darned low priority as far as I'm concerned...
pmichaud yes, the list should flatten 20:38
sjohnson afternoon guys 20:42
and girls
quantumEd hi
sjohnson how's it going
zaslon lolmoritzhazblogged! moritz++ 'Perl 6: Failing Softly with Unthrown Exceptions': perlgeek.de/blog-en/perl-6/failing-softly.html
quantumEd super!!!
pugs_svn r29297 | colomon++ | [t/spec] Fudge no-break space test. 20:44
masak .oO( Roberta Flack ) 20:45
PerlJam masak++ indeed. 20:46
moritz_ Fatal error: Unresolved cultural reference at line 1 near "Roberta" 20:47
masak :)
moritz_: www.youtube.com/watch?v=dpNdMIAnKko
PerlJam masak: I was even expecting a nod to the song within the body of the text after reading the title :) 20:48
masak moritz_: you might know the song better by its awful modern remix. :/
moritz_ so clive + youtube is the dynamic linker for cultural references :-)
masak: I do
dalek kudo/ng: 98d34f1 | (Solomon Foster)++ | t/spectest.data:
Turn on flip.t and words.t in spectest.data.
moritz_ masak: and I wondered how to make the pun on that song title more explicit
masak moritz_: now you know. :) 20:49
colomon woah. I know that song from back in the day, I think, but I don't recognize the artist or remember the words...
masak moritz_: a simple faked "Listening to: ..." would be enough. :)
moritz_ masak: well, you had the "right" idea anyway 20:50
PerlJam Does ng have any known LHF that haven't been plucked?
PerlJam isn't feeling too productive today
colomon If I knew, I'd be plucking them. ;) 20:52
colomon would like to see the spec test with more than 2100 tests before he gets to mailing stuff and cleaning the house...
colomon Though as I suggested to moritz_ the other day, there's easily plucked stuff in getting the named versions of various math operations to work.... 20:53
TimToady masak: what is this "undef" of which you speak? 20:54
masak TimToady: oh dang.
TimToady: are you saying that writing that post will force me to actually try to grok the Mu stuff? :/ 20:55
KyleHa For me, words.t sometimes segfaults after test 5.
PerlJam Hmm. Wolfman's post mentions undef too
oh, but that's in a perl 5 snippet
TimToady I'd just say "if you default is undefined" or some such prose
masak I can do that. TimToady++ 20:56
TimToady unspecified, maybe
masak aye.
moritz_ TimToady: should *.defined return False, or a WhateverCode object?
colomon KyleHa: on the test with tabs? 20:57
KyleHa colomon: Yes, that one.
colomon weird.
KyleHa I'm recompiling after a 'git clean -xdf' to see if that makes a difference.
TimToady moritz_: WhateverCode, I think 20:58
we want "when *.defined" to work as expected 20:59
moritz_ rakudo: say *.defined
p6eval rakudo 7ef386: set_integer_keyed() not implemented in class 'Sub'␤in Main (file <unknown>, line <unknown>)␤
moritz_ TimToady: wfm
KyleHa OK, now words.t segfaults every time (or at least, ten times in a row). 21:02
colomon blast, can't get roots working easily without list assignment.
moritz_ KyleHa: lemme guess... you don't have icu installed?
KyleHa moritz_: I thought I did. How can I tell? 21:03
moritz_ KyleHa: ./parrot_install/bin/parrot_config has_icu
KyleHa I haver version 3.8.1-3+lenny2
moritz_ of libicu-dev?
KyleHa Yes. 21:04
KyleHa parrot_config agrees that I have icu. 21:04
moritz_ I have that too, parrot has no problems with that on
colomon ooo, I don't have icu installed, I think. 21:04
but why would icu affect that test? 21:05
moritz_ because it deals with strings?
no, it's really just a guess
TimToady masak: is that final one-liner supposed to put out something recognizable? 21:07
masak yes. doesn't it?
TimToady ### ## ### 21:08
# # ## # ## # #
### # # ## # ####
# #### # # # #
# # # # # #
# ## # ## ###
masak o.O
TimToady that's what the html says
masak the spaces have been collapsed in that one.
quantumEd I can't read it
tim toady
PERL ?
masak it looks fine in the preview.
"Perl 6".
it's formatted in the same way as in my post a week ago, so I'm not too worried about the way it'll look in the post. 21:09
TimToady I cut and pasted the whole thing to an html file, and that's what came out
masak ah.
TimToady are those not normal spaces? 21:10
masak TimToady: try running the code indead :)
TimToady: yes.
TimToady: but they're in a <pre> enclosure.
TimToady is there a way to tell the gist to render it?
masak oh, you're reading the gist?
I have no idea.
sjohnson rakudo: my $string; say $string.WHAT; 21:15
p6eval rakudo 7ef386: Failure()␤
TimToady yeah, if I just sweep-select the pre section, it takes out all the extra spaces. bizarre...
sjohnson rakudo: my $string; say $string.length;
p6eval rakudo 7ef386: Method 'length' not found for invocant of class 'Failure'␤in Main (file src/gen_setting.pm, line 324)␤
sjohnson rakudo: my $string; say $string.chars;
p6eval rakudo 7ef386: Use of uninitialized value␤0␤
sjohnson TimToady: is "use of ..." an actual compile error? 21:16
moritz_ it's a run-time warning
TimToady where?
oh, there
sjohnson TimToady: when $string hasn't be defined
i'm trying to bash javascript's annoying errors on method fails
TimToady what moritz_++ said
sjohnson thanks guys 21:17
rakudo: my $str = ''; say $str.WHAT
p6eval rakudo 7ef386: Str()␤
moritz_ rakudo: my Str $str; say $str.WHAT
p6eval rakudo 7ef386: Str()␤
TimToady rakudo: say Str.chars 21:18
sjohnson my respect for javascript has gone down a few notices
p6eval rakudo 7ef386: 5␤
PerlJam sjohnson: why is that?
sjohnson PerlJam: not a huge fan of its strong typing
var string; string.length // fail 21:19
must be = ''; or instantiated i believe
i like perl6's warning behaviour much more
just an opinion i suppose 21:20
TimToady well, but I didn't get that on the Str.chars, which means .chars is using the wrong stringifier
it should use the ~ one that returns '' with warning rather than the .Str which produces "Str()"
sjohnson is this a bug ? or am i going about my opinion rant with the wrong knowledge 21:21
moritz_ rakudo doesn't know about Stringy yet
TimToady we're just trying to finesse Perl 6 such that it does the warning when you expect it, but gives you type information when you expect that 21:22
for suitable values of "expect"
sjohnson use expect; 21:23
TimToady which, as moritz_++ mentions, is tied to the Str vs Stringy distinction
at least as currently specced
moritz_
.oO( "do what I mean" vs. "exepct what I do")
TimToady in those terms, I'm arguing that the coercion that .chars does should use Stringy, not Str
TimToady and arguably, the coercion that Stringy does depends on both the value and the current unicode abstraction level 21:24
moritz_ I wonder if the "current unicode abstraction level" is really such a good idea 21:27
sjohnson i'll just pretend my peanut-sized brain can understand what you just said
moritz_ we already have text strings and byte strings
why not just introduce another type, like Codepoint-strings?
TimToady I suspect Str always means graphemes, and some other type probably means a string of codepoints
we could call it a Codfish
TimToady in a sense, codepoints are a partial encoding 21:28
sjohnson was the idea behind parrot to make it so implementing Perl 6 would be a heck of a lot easier 21:29
TimToady but we call those abstract encodings "canonicalizations"
sjohnson than writing it as perl5 C interpreter was?
TimToady there have been many ideas behind parrot...
sjohnson i know one is for other languages to possibly be implemented as well 21:30
but im wondering if making it far easier to implement all the fancy and innovative and complex things in Perl 6 was also a definite by-product / goal
TimToady another was to have an unencumbered VM
parrot has gone back and forth on that issue, depending on how much they understand how strange Perl 6 is. :) 21:31
but by and large, yes, that has been a constant goal at some level or other
it was de-emphasized some number of years ago as the primary goal, however 21:32
sjohnson i'm really excited about this Perl 6 rakudo release coming in a few months
TimToady since it was felt that emphasizing Perl would scare away developers from other languages
sjohnson it will convince many folks that a lot of dev work has actually gone into it
and is not just some pipe dream
TimToady it's not yet clear how much benefit derived from the de-emphasis, though... 21:33
most of the other language communities keep parrot on the back burner
PerlJam sjohnson: what makes you think the April release will convince anyone of anything where the 2 years of continuous monthly releases have not? 21:34
sjohnson PerlJam: because the news of it being released might reach some people who don't keep up to date on Perl news 21:35
i've been using perl for 2 years before i even heard about perl 6
i am i am doubtful python programmers etc know much about the perl6 dev work
Tene PerlJam: because it's RELEASED BETA GAMMA DEVELOPMENT LOLCAT VERSION
PerlJam sjohnson: well, I raise my Dr Pepper to you in the hopes that you are correct. 21:36
sjohnson python programmer: "wait, you mean perl 6 is actually happening?" 21:37
PerlJam hopes to work on Perl 6 documentation over the Christmas break so that said python programmer has an easyish place to start. 21:38
masak too 21:41
takadonet hopes he can write some Bioperl6 before april 21:43
Tene ha sother secret christmas plans. 21:43
PerlJam TimToady: just remember ... www.snorgtees.com/withgreatmoustache-p-863.html 21:44
mathw evening 21:56
masak mathw: \o 21:57
well-deserved sleep &
moritz_ o/ 21:57
PerlJam Is that "half praise"?
(or 2/3 as is your wont)
moritz_ it's raising one hand it greeting/waving goodbye 21:58
mathw o/
rather than \o/ which is more like 'w00t'
PerlJam I always think of \o/ more like "yay!" 21:59
moritz_ btw I did some Perl 6 advocacy on perlmonks yesterday or so: www.perlmonks.org/?node_id=811487 22:00
mathw moritz_++
PerlJam moritz++ indeed 22:01
mathw unsolicited, I see
:)
PerlJam that's the best kind of advocacy
avar Maybe I should reply with a message on how to do it in php :) 22:02
PerlJam That way, someone reads it unassuming and thinks, "hmm, that's interesting" and goes to try out Rakudo :)
sjohnson hello
PerlJam avar: sure ... but that'll just get you downvoted.
:)
mathw avar: no no resist the temptation! be strong!
and also consider the effect of posting PHP on PerlMonks 22:03
avar or CL: (sort array #'>) instead of @array.sort: { $^b <=> $^a }
mathw #'> is saying 'use the > operator' ? 22:04
moritz_ the idiomatic reverse sort in Perl 6 is probably @array.sort: -*
or @array.sort.reverse
PerlJam moritz_: does the former work? 22:05
mathw that depends if there's a meaningful prefix:<->
moritz_ PerlJam: don't think so
rakudo: say -*
p6eval rakudo 7ef386: !whatever_closure␤
avar mathw: yes
moritz_ rakudo: say <10 08 34 8>.sort: -*
p6eval rakudo 7ef386: 3410088␤
mathw could you not say something like @array.sort: &infix:<cmp>
moritz_ rakudo: say <10 08 34 8>.sort( -*).perl 22:06
p6eval rakudo 7ef386: ["34", "10", "08", "8"]␤
avar mathw: Actually "use the > function", > is just a function in CL
moritz_ mathw: you can, but &infix:<cmp> is the default anyway
mathw avar: of course, I forget that lisp doesn't have infix operator syntax
in Haskell you'd say: sort (>) list
moritz_ ... and then you'd spend half an hour figuring out why the compiler yells at you 22:07
mathw meh 22:08
you get used to it
diakopter TimToady: the "raw" link on the gist?
moritz_ mathw: that's the same "you get used to it" as in the Inline:::PERL documentation :-) 22:09
mathw or Sun Studio C++'s error messages 22:13
and generally better than Rakudo's... 22:14
:P
yes I know, unfair comparison
sjohnson hows it going masak?
mathw masak went to bed 22:25
moritz_: why didn't you save the unthrown exceptions post for the advent calendar? 22:30
zaslon lolmoritzhazblogged! moritz++ 'Keep it stupid, stupid!': perlgeek.de/blog-en/misc/keep-it-st...tupid.html
mathw -> bed 22:32
o/
moritz_ mathw: because 1) somebody in #perlde asked me for it today 2) I have no free slot 3) I didn't really think about it :-)
mathw fairy muff
o/
moritz_ and 4) I need to blog for the iron man contest anyway :-)
good night 22:34
carlin phenny: oh hai 22:53
phenny carlin: 15:04Z <mberends> tell carlin the http-daemon in perl6-examples is the obsolete prototype, better to keep separate modules in separate repositories
carlin I meant more a general case of how to handle conflicts but now that mberends++ has removed the duplicates I guess I can cross that bridge if I come to it again 22:54
wayland_ I know there's a branch supposed to be landing before the December release. Has it landed, and if not, do we have a timescale? 23:02
moritz_ it hasn't 23:03
PerlJam wayland76: no, it hasn't
moritz_ and the timescale is "when it's ready" :/
PerlJam wayland76: the timescale is "soon" 23:03
wayland76 Ok
Because I just got an RPM of the last release to build
But before submitting spec file changes, I'd like to test it on the new branch
But I'd rather wait until the branch has landed, if that's possible :) 23:04
wayland76 Anyway, thanks :) 23:05
PerlJam wayland76: hang around here and you'll know when it lands. 23:06
wayland76 PerlJam: I'm sure :) 23:06
thowe hi
wayland76 But I'd rather ask than backlog :) 23:07
thowe: Hi!
Is the hugme bot non-responsive?
moritz_ hugme: list projects 23:08
hugme moritz_: I know about book, gge, hugme, ilbot, json, november, nqp-rx, nqpbook, perl6-examples, proto, svg-matchdumper, svg-plot, temporal-flux-perl6syn, tufte, web
moritz_ wayland76: it seems very responsive to me :-)
sjohnson wayland76: hi 23:09
that's a nick i haven't seen in months !
thowe man, have I been having a unique day... 23:14
thowe actually had to ban a guy from our building... never done anything of the sort before 23:15
wayland76 Wow! :)
hugme: hug moritz_
hugme hugs moritz_
thowe yeah. That was a really uncomfortable phone call to his boss. 23:16
wayland76 hugme: hug thowe
hugme hugs thowe
thowe thanks. It was tough.
wayland76 sjohnson: Yeah, i was doing NaNoWriMo, so that took me out for November, and part of October.
thowe needs to check the advent calendar today.... 23:17
wayland76 But I dropped by here when the Slashdot article came out, although I would've been back here on Monday anyway.
sjohnson which slashdot article was it?
wayland76 The advent calendar one 23:18
thowe the slashdot thing about the advent calendar reminded me to look in on Perl 6 again... So I'm kind of grateful for the work done on that.
wayland76 I'm back here partly to get the RPM working again
Because when the new branch lands, I want to test my 8 or so Perl 6 projects, to see if any of the bugs that they're blocking on are fixed :) 23:19
moritz_ thowe: good to hear that 23:23
wayland76 Part of the problem is that in the past, I haven't usually tried very hard to work around bugs, I just wait for them to be fixed
moritz_ all in all I'm very pleased... 20k+ page views, some 60-odd comments, a few new faces here on #perl6 23:24
colomon++ and PerlJam++ for starting it
thowe you guys sure are nicer than most folks in language channels... 23:32
romanhunt hello all 23:34
thowe there's like a more friendly energy...
hi
romanhunt the Perl 6 wikibook has been a big help. THx to whoever has been maintaining it 23:35
thowe Wikibook? Where's that at? I wanna take a look. 23:35
romanhunt en.wikibooks.org/wiki/Perl_6_Programming/ 23:36
thowe Ah, OK, thx. I was wondering if it was amongst those 23:37
romanhunt make sure to click the "more" links on perl6.org
theres some stuff hidden from view
thowe OK
whoa. that's a really... friendly looking site too. and why not, I guess... 23:38
romanhunt rakudo ng: my $d = 5; if ($d ~~ "five") { say "true";} else { say "false";} 23:40
rakudo: my $d = 5; if ($d ~~ "five") { say "true";} else { say "false";} 23:41
p6eval rakudo 7ef386: false␤
romanhunt rakudo: my $d = 5; if ($d ~~ "5") { say "true";} else { say "false";} 23:42
p6eval rakudo 7ef386: true␤
romanhunt clearly I have been at work too long :-\ 23:43
slavik haha 23:48
I though $d ~~ "five" was actually supposed to return true ... 23:49
thowe How would one know if these projects were in development? www.perlfoundation.org/ilya_carl_an...for_perl_6 23:54
pmichaud thowe: maybe look at news.perlfoundation.org for updates? 23:55
thowe ok
carlin pointme: web 23:58
pointme masak's web is at github.com/masak/web/
carlin thowe: ^
thowe Nifty! thanks, carlin 23:59