»ö« | 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 diakopter on 25 January 2010. |
|||
00:00
PacoLinux left
00:05
cognominal joined
|
|||
lichtkind | gud night | 00:07 | |
00:08
lichtkind left
|
|||
m-locks | all tests passed, Files=240, Tests=26045, 1258 wallclock secs (1027.91 cusr + 89.79 csys = 1117.70 CPU) | 00:09 | |
00:09
jaldhar left
|
|||
m-locks | now it's time to go ot bed ;P | 00:09 | |
00:14
ihrd joined,
ihrd left
00:16
xomas is now known as xomas_,
xomas_ is now known as xomas
00:25
jaldhar joined
|
|||
pugssvn | r29908 | bkeeler++ | New test for proto tokens | 00:29 | |
00:33
alester left
00:37
lestrrat is now known as lest_away
00:38
SandroToronto left
00:39
jaldhar left
00:43
yinyin joined
00:47
ash_ left
|
|||
bkeeler_ takes a nap while the trig tests run... | 00:47 | ||
colomon | bkeeler_: sorry.... | 00:49 | |
bkeeler_ | Oooh, a beep! I'm awake now | ||
00:55
snarkyboojum joined
00:58
nihiliad joined
|
|||
colomon | doubly sorry then, I should have let you sleep. | 00:59 | |
01:00
jaldhar joined
|
|||
jnthn | lol I haz mberends++ here :-) | 01:11 | |
01:11
lest_away is now known as lestrrat
|
|||
supernovus | Well, still on January Rakudo, but pre-compiling the Perl 6 to PIR decreases CGI time from 13.6 seconds to 2.5 seconds, and SCGI time from 2.75 seconds to 403ms. | 01:13 | |
arlinius | rakudo: my $x; say Nil.defined, ().defined, Any.defined, Mu.defined, Cool.defined, $x.defined, [].defined, {}.defined, \().defined | 01:16 | |
p6eval | rakudo 5e5969: OUTPUT«Could not find non-existent sub &Coolcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
01:16
mssm left
|
|||
arlinius | rakudo: my $x; say Nil.defined, ().defined, Any.defined, Mu.defined, $x.defined, [].defined, {}.defined, \().defined | 01:16 | |
p6eval | rakudo 5e5969: OUTPUT«00000111» | ||
arlinius | bug, I think | 01:17 | |
at least, it disagrees with the spec | |||
and the spec test does too | |||
S02 says Nil.defined and ().defined return True | 01:18 | ||
alpha: my $x; say Nil.defined, ().defined, Any.defined, Mu.defined, $x.defined, [].defined, {}.defined, \().defined | 01:20 | ||
p6eval | alpha 30e0ed: ( no output ) | ||
arlinius | odd | ||
pugs: my $x; say Nil.defined, ().defined, Any.defined, Mu.defined, $x.defined, [].defined, {}.defined, \().defined | |||
p6eval | pugs: OUTPUT«***  Unexpected "." expecting operator at /tmp/ojgtkJAtks line 1, column 101» | ||
arlinius | alpha: say Nil.defined | ||
p6eval | alpha 30e0ed: OUTPUT«0» | ||
arlinius | alpha: say ().defined | ||
p6eval | alpha 30e0ed: OUTPUT«0» | ||
arlinius | pugs: say ().defined | ||
p6eval | pugs: OUTPUT«1» | ||
arlinius | pugs: say Nil.defined | ||
p6eval | pugs: OUTPUT«*** No such subroutine: "&Nil" at /tmp/PpmgE7SXHt line 1, column 5 - line 2, column 1» | ||
colomon | jnthn: oh no, has The Gathering started already? | ||
arlinius | pus gets it right for ()! | 01:21 | |
s/s/gs/ | 01:22 | ||
dalek | ok: 8b0befd | (Jeff Balogh)++ | django_extensions/management/commands/ (4 files): Django removed ERROR_OUTPUT in [12009]; ERROR does the same thing |
01:23 | |
01:23
dalek left
|
|||
diakopter | sigh | 01:23 | |
dalek | ok: d365759 | fperrad++ | setup.pir: manifest: add missing lua_private.h |
||
grok: 857f04d | fperrad++ | setup.pir: | |||
grok: add doc_files field | |||
diakopter | o_O | 01:24 | |
01:24
dalek joined
|
|||
dalek | november: faf8ff7 | tav++ | doc/zero-planfile.txt: | 01:24 | |
01:24
dalek left
|
|||
diakopter | sigh | 01:24 | |
01:25
dalek joined
|
|||
arlinius | sigh? | 01:26 | |
diakopter | dalek flapping | ||
arlinius | ah | ||
flood heh | 01:27 | ||
TimToady | Infinoid: dalek seems to be misbehaving again | 01:30 | |
01:30
TimToady sets mode: +vv buubot dalek,
TimToady sets mode: +vv ilogger2 IRSeekBot,
TimToady sets mode: +vvv lisppaste3 p6eval phenny
|
|||
mikehh_ | went away for a bit, back again, we'll see | 01:31 | |
01:36
lisppaste3 left
|
|||
lue | hello! | 01:40 | |
(oh noes not the dalek again :/) | |||
01:43
ash_ joined
01:47
lisppaste3 joined,
snarkyboojum left,
mikehh_ is now known as mikehh
|
|||
lue | o great. I'm here when noone else is :( | 01:48 | |
arlinius | nah | ||
we're here when noone else is :P | |||
mikehh | just hidin' | ||
pugssvn | r29909 | lwall++ | [STD] move unexpected-!! panic from infixstoppers to infix:<!!> | 01:49 | |
r29909 | so a user's infix definition isn't ignored if it starts with !! | |||
colomon is intermittently here and very very tired. | 01:50 | ||
lue | this place was hopping ~ 20 minutes ago. Then I come back on :/ | 01:51 | |
TimToady | "children and art" -- Stephen Sondheim | 01:52 | |
lue must get a laptop battery so he can cart it (the laptop) around in the middle of the day | |||
TimToady | colomon has both | ||
lue a DECENT laptop battery | |||
colomon | well, a child and some pretensions at (musical and perhaps programming) art, anyway. | 01:53 | |
TimToady | I spent much of the weekend dismantling, rinsing in distilled water, and remantling an old laptop in the vain hope that cat pee wouldn't destroy the motherboard. | ||
colomon | long time since I thought of that song. | ||
TimToady | unfortunately, it got turned on before I got to it, so things had shorted out on the motherboard | 01:54 | |
01:54
airbase left
|
|||
TimToady | fortunately an old laptop... | 01:54 | |
colomon | doh! | ||
still, a sad fate for a noble machine. | |||
TimToady | yes, well, our fault for leaving it somewhere that looked like a catbox to the stupid cat, I suppose... | ||
but I now know how to completely disassemble an old ThinkPad :) | 01:55 | ||
not to mention reassemble it, with only one screw left over!!! | |||
lue | that's not good necessarily... | 01:56 | |
I would prefer to use one more screw than it originally came with :) | |||
TimToady | well, I always have a screw loose in any case... | ||
colomon | so wait: I have "children and art", and you were "putting it together", eh? | 01:57 | |
TimToady | well, motherboard don't generally like to have self-threading screws run through 'em in random spots... | 01:58 | |
lue | the motherboard could care less. It's the components soldered TO the motherboard that mind. | ||
01:59
hudnix joined,
airbase joined
|
|||
TimToady | colomon: yeah, it's "No Life" | 02:00 | |
colomon | TimToady: geez, I had to look that one up in my iTunes. | 02:02 | |
TimToady | I just found that one on the Wikipedia | ||
let's not start Into the Woods though | 02:03 | ||
colomon | That makes me feel better. | ||
TimToady | Or we won't get home before dark... | ||
colomon | I don't know Into the Woods at all. My Sondheim knowledge is mostly Sunday in the Park and Sweeny Tood. | ||
with small bits of Company thrown in. | |||
TimToady | ItW is one of the best | 02:04 | |
colomon | (the latter is my wife's influence) | ||
02:05
hudnix left
|
|||
lue | Is there something in rakudo that needs working on? (I want to put off the jnthn omnisub until a full-featured stable P6 implementation exists...) | 02:05 | |
TimToady | maybe you could put Sondheim quotes into every file? | ||
"Good is better than nice." -- Little Red | 02:06 | ||
02:06
hudnix joined
|
|||
lue | how does that help, besides amusing reading? I may as well put Monty Python quotes in all the PIR files :) | 02:07 | |
02:08
hercynium joined
|
|||
TimToady | Amusing reading is the bedrock of a healthy culture. :) | 02:09 | |
colomon | "But not for long." -- S. Todd | ||
TimToady | "Red, red, red, red, red..." --George & Dot | 02:10 | |
colomon is mildly disturbed that that is the first Sondheim quote which pops into his mind. | |||
lue | so... permission to instill "fun"? | ||
TimToady | that usually requires forgiveness instead | 02:11 | |
arlinius | in other words, do it, quick | ||
TimToady | has to be an appropriate line from Assassins, but I haven't seen it... | 02:12 | |
lue Chase him, Exegesis Man! I will cut him off with the ApocolypseMobile! | |||
colomon | I'm also finding it hard to think of Sondheim lyrics while listening to the Dardanelle's "Uncle Manual Milks the Cow" set. :) | 02:13 | |
02:14
meppl left
|
|||
Tene | lue: have the file test operators been added back into master from the alpha branch? | 02:15 | |
colomon | nope. | 02:16 | |
Tene | rakudo: say '/etc/passwd' ~~ :f | ||
p6eval | rakudo 5e5969: OUTPUT«Method 'f' not found for invocant of class 'Perl6Str'current instr.: 'perl6;Enum;ACCEPTS' pc 352177 (src/gen/core.pir:49834)» | ||
Tene | lue: that should be a fairly simple project. | ||
arlinius | alpha: say '/etc/passwd' ~~ :f | ||
p6eval | alpha 30e0ed: OUTPUT«1» | ||
lue | file test...? (I prefer the humourification project better :D ) | ||
TimToady | seems like one could compare the passing tests from alpha and master to see what used to work | ||
Tene | that would be a good project too. | 02:17 | |
lue: the equivalent of -e, -f, -d, -x, -r, -w, etc from Perl 5. | |||
TimToady | I think you'll find that Python quotes will require much more forgiveness than Sondheim | ||
lue | Tene: don't talk to me in foreign languages I haven't studied! :) | 02:18 | |
TimToady | which foreign languages have you studied? | ||
lue | TimToady: *jarring chord* NOBODY expects the spanish inquisiton! | ||
Tene | lue: it's inherited from shell scripting, the 'test' command has arguments to determine the properties of filesystem locations. | 02:19 | |
TimToady | 日本語を話しますか? | ||
Tene | -e is "does this path exist", -f is "does this path exist and is it a file", -w is "does this exist and is it writable?", etc. | ||
colomon | On the test thing (alpha versus rakudo), I've just been going through Rakudo's t/spectest.data file looking at the tests which are commented out. When I see one that looks "likely" to me, I just try it individually in master and see what happens. | ||
lue | Let's see: English, German (forgot most), French (learning), Esperanto (learning), Japanese (want to learn) [more] | ||
Tene | in Perl 6, the syntax has been changed to use pairs instead of subs named with a dash at the start. | 02:20 | |
02:20
hudnix left
|
|||
lue | [more] BASIC, C++ (a little), Python 3, HTML, JS, CSS, and P6 (learning) | 02:20 | |
oh, and some of 6502 assembler :) | 02:21 | ||
02:21
hudnix joined
|
|||
Tene | lue: blog.endpoint.com/2009/08/file-test...shell.html has a table listing translation of file tests between perl and python, among others. | 02:22 | |
lue | Tene: will look | ||
02:22
wknight8111 left
|
|||
Tene | given $filename { when :f { say "It's a file!" }; when :d { say "It's a directory!" } } | 02:23 | |
colomon | It's amazing how many test files "almost" work now, and work with a little fudge or a tiny patch. | ||
Tene | when :r & :w { say "Readable and writable!" } | ||
lue | wait, you can PATCH perl 6? Huh. (I've been running out of fingers lately...) | ||
TimToady | it's already doing the translation from :f to *.f so all that you need really is to define .f etc. on string types, or whatever type we end up with for filenames | 02:24 | |
Tene | lue: Yeah. | ||
02:24
hudnix left
|
|||
Tene | You could do a lot worse than defining a role and then adding that role to the string class. | 02:25 | |
lue ACHTUNG! hudnix has exceeded my patience in terms of # of times /join ing and /leave ing. That is all | |||
TimToady | rakudo: augment Str { method f { say "GOT HERE" } }; '/etc/passwd' ~~ :f | ||
p6eval | rakudo 5e5969: OUTPUT«In "augment" declaration, typename Str must be predeclared (or marked as declarative with :: prefix) at line 11, near " { method "current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
TimToady | o_O | 02:26 | |
Tene | lue: just ignore JOINs and PARTS in your client. | ||
That's what I do. | |||
arlinius | or just ignore them in your head | ||
Tene | interferes with excessive backlogging | ||
arlinius | hiding it leaves out some important context for some conversations | 02:27 | |
colomon | rakudo: augment class Str { method f { say "GOT HERE" } }; '/etc/passwd' ~~ :f | ||
p6eval | rakudo 5e5969: OUTPUT«Method 'f' not found for invocant of class 'Perl6Str'current instr.: 'perl6;Enum;ACCEPTS' pc 352177 (src/gen/core.pir:49834)» | ||
lue | and it tells you who is probably a roaming bot :) | ||
02:27
daemon left
02:28
hudnix joined
|
|||
TimToady | rakudo: say '/etc/passwd'.WHAT | 02:28 | |
p6eval | rakudo 5e5969: OUTPUT«Str()» | ||
colomon | rakudo: say PARROT('/etc/passwd') | 02:29 | |
p6eval | rakudo 5e5969: OUTPUT«Perl6Str» | ||
lue | TimToady: allow me to detour your attention for a moment. | ||
colomon | evil! | ||
lue | rakudo: say '/etc/passwd'.WHO | ||
p6eval | rakudo 5e5969: OUTPUT«Str» | ||
arlinius | rakduo: say '/etc/password.WHY | ||
ugh | |||
lue | give me a reason why WHO is counterintuitive (and therefore redundant) | ||
arlinius | rakduo: say '/etc/password'.WHY | ||
rakudo: say '/etc/password'.WHY | 02:30 | ||
p6eval | rakudo 5e5969: OUTPUT«Method 'WHY' not found for invocant of class 'Perl6Str'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
lue | WHO, WHAT, and WHERE are the only ones implemented :) | ||
(and WHO is a counterintuitive reiteration of WHAT) | |||
I'll start working on stuff when I'm back from doing stuff. | 02:31 | ||
arlinius | rakudo: say '/etc/password'.WHERE | ||
p6eval | rakudo 5e5969: OUTPUT«47578612508784» | ||
arlinius | but WHY is the most important | 02:32 | |
TimToady | rakudo: say '/etc/passwd'.WHICH | ||
p6eval | rakudo 5e5969: OUTPUT«/etc/passwd» | ||
arlinius | rakudo: say '/etc/password'.HOW | ||
p6eval | rakudo 5e5969: ( no output ) | ||
TimToady | rakudo: say 'foo'.HOW('foo') | 02:33 | |
p6eval | rakudo 5e5969: OUTPUT«too many positional arguments: 2 passed, 1 expectedcurrent instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:98)» | ||
TimToady | rakudo: say 'foo'.'HOW'('foo') | ||
p6eval | rakudo 5e5969: OUTPUT«too many positional arguments: 2 passed, 1 expectedcurrent instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:98)» | ||
TimToady | rakudo: say 'foo'.HOW.WAHT | ||
p6eval | rakudo 5e5969: OUTPUT«Method 'WAHT' not found for invocant of class 'ClassHOW'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
TimToady | rakudo: say 'foo'.HOW.WHAT | ||
p6eval | rakudo 5e5969: OUTPUT«Str()» | ||
TimToady | o_O | ||
arlinius | ah, right | 02:34 | |
rakudo: say Nil.WHAT | 02:35 | ||
p6eval | rakudo 5e5969: OUTPUT«Parcel()» | ||
arlinius | rakudo: say ().WHAT | ||
p6eval | rakudo 5e5969: OUTPUT«Parcel()» | ||
TimToady | rakudo: say 'foo'.WHAT.WHICH | ||
p6eval | rakudo 5e5969: OUTPUT«47943198851984» | ||
TimToady | rakudo: say 'foo'.HOW.WHICH | 02:36 | |
p6eval | rakudo 5e5969: OUTPUT«47335069823888» | ||
arlinius | you see the bit about Nil earlier? | ||
rakudo: say Nil.defined | |||
p6eval | rakudo 5e5969: OUTPUT«0» | ||
TimToady | we changed it to defined a few days ago, and rakudo hasn't caught up with pugs :) | ||
arlinius | so it should be true? | ||
TimToady | yes | ||
arlinius | ok | ||
TimToady | S02:2035 | 02:37 | |
arlinius | yeah | ||
any chance I could get access to fix the spec test in S02-builtin_data_types/undefined-types.t? | |||
TimToady | you don't have a pugs repo commit bit? | 02:38 | |
arlinius | nope | ||
TimToady | if you /msg me your email and preferred svn nick, I can send you a commitbit | ||
02:38
hudnix left
|
|||
arlinius | ok | 02:38 | |
TimToady | commitbit sent | 02:40 | |
arlinius | thanks | ||
02:40
hudnix joined
|
|||
TimToady | it's customary to add yourself to AUTHORS as a first test commit | 02:40 | |
02:41
Chillance left
|
|||
arlinius | before I'm an actual author, eh :) got it | 02:41 | |
TimToady | as soon as you modify AUTHORS, you are one. :) | ||
arlinius | in a very small way, I suppose :) | 02:42 | |
TimToady | we have a very low opinion of authority around here... | ||
02:43
cognominal left
02:44
supernovus left
02:56
ShaneC left
|
|||
arlinius | silly mail forwarder must be clogged or something | 03:03 | |
03:07
cognominal joined
|
|||
ash_ | so, i noticed === uses .WHICH, but i don't see many (any) tests on it... or maybe i am not looking in the right place... anyone have any pointers? | 03:21 | |
03:21
agentzh joined
|
|||
TimToady | WHICH tests? | 03:22 | |
WHICH is pretty basic--any value returns itself, and any object returns its WHERE | |||
(any non-value object, more acccurately) | 03:23 | ||
lue | hellos again! | 03:26 | |
03:26
snarkyboojum joined
|
|||
lue | rakudo: my $a="hi"; say $a.WHICH | 03:26 | |
p6eval | rakudo 5e5969: OUTPUT«hi» | ||
lue | rakudo: my $a="hi"; say $a.HOW | ||
p6eval | rakudo 5e5969: ( no output ) | ||
lue | I think WHO should return the variable name. Especially if you use it on a reference (ex:) | 03:28 | |
my $a=3; my $b :=3; say $b.WHO #I want it to return either $a or a | |||
03:29
quietfanatic joined
03:31
dalek left,
dalek joined
|
|||
lue | o hai dalek! o/ | 03:32 | |
ash_ | my thoughts on which were for custom objects with not default ways of comparing | ||
Infinoid | TimToady: Thanks for the heads up, we'll see if this fixes it | 03:33 | |
ash_ | like, take an object that represents a lazy database table. If you compared two objects based off their attributes like === seems to imply, then it seems like normal === might not work correctly if certain attributes have been lazily loaded | 03:35 | |
i guess WHICH gives you the that sort of control though | 03:36 | ||
lue | rakudo: say "hello".REASON | 03:37 | |
p6eval | rakudo 5e5969: OUTPUT«Method 'REASON' not found for invocant of class 'Perl6Str'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
TimToady | the definition of === does WHICH on both, and then eqv of the resulting values | ||
a class should not be overriding it | |||
it should only override eqv | 03:38 | ||
ash_ | overriding WHICH? | ||
TimToady | WHICH always returns a value | ||
either the value itself, or the address of the object | |||
in either case eqv will work on the resulting values | |||
redefining WHICH changes what kind of value type you have | 03:39 | ||
and eqv will default to !cmp | |||
ash_ | so... you should be redefining eqv then? | 03:40 | |
for an object? | |||
TimToady | === only uses eqv on value types | 03:41 | |
non value types it's just comparing address values | |||
so it doesn't matter if a non-value type defines eqv or not | |||
(from ==='s perspective) | 03:42 | ||
lue | is that file test project still up for grabs? (Assuming no sneaky time-travelers came in while I was gone) | ||
lue hates ==='s perspective, and asks it to please raise the blinds | |||
ash_ | well, how would i define how two objects get compared? do i need to add a new multi infix:<eqv> ( ) for my object type? | 03:43 | |
TimToady | if you want cmp and eqv to work on a type, you have to define at least cmp | 03:44 | |
cmp/eqv are "snapshot" semantics, compare the current values | |||
since objects can change, unlike values | |||
ash_ | so, a method cmp(other) { return Order::Increase or Order::Decrease or Order::Same } ? | ||
TimToady | well, there's probably a default for cmp too if there's any kind of serializer | 03:45 | |
just serialize the two objects and then compare those serializations | |||
but most types will want to define their own cmp for effficiency | 03:46 | ||
like, a string should have to serialize itself to compare first chars, etc. | 03:47 | ||
*shoudn't | |||
03:47
wmiksss joined
|
|||
ash_ | well, going back to my example of a database row type object, what if I only wanted to compare two objects on a single variable, like the row ID, whatever that may be, i'd have to implement an eqv/cmp method then? or a serialize method? or... sorry, i guess i work best from examples, is there an example i should go look at in the spec? | 03:49 | |
TimToady | composite items should delegate to the cmp of their parts in the pecking order desired | 03:50 | |
lue imagines file test to be a potential nightmare O.o (but it shouldn't be _that_ bad... right?) | |||
ash_ | but, would i be overriding a multi infix:<eqv> ? or a meta method of some sort? | 03:51 | |
TimToady | just defines a more specific eqv, multi dispatch should find it | 03:52 | |
ash_ | would i have to define it multiple times though? for infix:<eqv> (Any $a, MyObj $b), infix:<eqv> (MyObj $a, Any $b); infix:<eqv>(MyObj $a, MyObj $b) | 03:53 | |
03:55
wmiksss left
|
|||
TimToady | just do the same type for now; out-of-type comparisions are not yet specced | 03:55 | |
ash_ | i guess, it seems like i am searching for something like a comparable role, that if you implement it, your object is comparable for a given definition of comparable, and by a similar notion, a role of sortable might be useful too | 03:56 | |
lue | question: if file tests have been implemented *at all*, where would they be? | ||
ash_ | S32-IO i think | 03:57 | |
03:57
wmiksss joined
|
|||
ash_ | or S16 which is also on IO | 03:57 | |
lue | so, that means no-one's programmed it? *sigh* | 03:58 | |
snarkyboojum | seems like S16-filehandles/filetest.t | ||
lue | Even 1 bit of programming would be nice (1 byte would be wonderful :D ) | 03:59 | |
ash_ | i am sure someones programmed it somewhere, if its implemented in rakudo/pugs/elf/mildew/etc... i cannot say, i haven't tried those features yet | ||
TimToady | alpha has it already | 04:00 | |
alpha: say '/etc/passwd' ~~ :r | |||
p6eval | alpha 30e0ed: OUTPUT«Method ':r' not found for invocant of class 'Str'in Main (file src/gen_setting.pm, line 324)» | ||
TimToady | er, used to have it... | ||
alpha: say '/etc/passwd'.r | 04:01 | ||
p6eval | alpha 30e0ed: OUTPUT«Method 'r' not found for invocant of class 'Str'in Main (file src/gen_setting.pm, line 324)» | ||
TimToady | alpha: say qp{/etc/passwd} ~~ :r | ||
p6eval | alpha 30e0ed: OUTPUT«Confused at line 10, near "{/etc/pass"in Main (file <unknown>, line <unknown>)» | ||
ash_ | alpha: say '/etc/passwd' ~~ :e | 04:02 | |
p6eval | alpha 30e0ed: OUTPUT«1» | ||
ash_ | some of them seem to work | ||
:e is exists | 04:03 | ||
snarkyboojum | alpha: say '/etc/passwd' ~~ :f | ||
p6eval | alpha 30e0ed: OUTPUT«1» | ||
snarkyboojum | alpha: say '/etc/passwd' ~~ :d | ||
p6eval | alpha 30e0ed: OUTPUT«0» | ||
lue | ah, well, if it's mildew, I might as well start over :) | ||
TimToady | alpha is not mildew | 04:04 | |
ash_ | alpha is the old master of rakudo | ||
TimToady | alpha is parrot-based | ||
so probably has the primitives you want somewhere | |||
lue | TimToady: see ash_ 's comment above | ||
snarkyboojum | rakudo: say '/etc/passwd' ~~ :f | 04:05 | |
p6eval | rakudo 5e5969: OUTPUT«Method 'f' not found for invocant of class 'Perl6Str'current instr.: 'perl6;Enum;ACCEPTS' pc 352177 (src/gen/core.pir:49834)» | ||
TimToady | lue: which one? none of them are surprising to me... | 04:06 | |
lue | the one involving mildew. That's what I was referring to :) | ||
TimToady | there's nothing inconsistent between what ash_ said and what I said | 04:07 | |
lue | I'm only concerned about how to test the files w/o file tests. The rest (ought to) be easy. | ||
TimToady: then I am misunderstanding everybody. | 04:08 | ||
ash_ | to test files you generally need to call stat on the file, that should tell you about the file, but thats an operating specific function in most languages | 04:09 | |
lue | .oO(maybe someday you can program file test functions by using file tests (part of the self-compiling thing)) |
04:10 | |
rakudo: say stat('/etc/passwd') | |||
p6eval | rakudo 5e5969: OUTPUT«Could not find non-existent sub &statcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
lue | o great. I has to program stat too? :( | ||
TimToady | not if parrot already supplies it | 04:11 | |
look at how alpha (old master) does it | |||
lue | that's what I looking for. I think PIR is a better first step than P6 for brand-new programming (especially when the space between steps nothing and P6 is 7pc high :D ) | 04:12 | |
ash_ | github.com/rakudo/rakudo/blob/alpha...r.pir#L106 | 04:15 | |
is the old implmentation of :e | |||
implementation* | |||
04:15
alester joined
|
|||
ash_ | they use the stat built into parrot to check if a given file string exists | 04:15 | |
you'd have to check parrots documentation for stat | 04:16 | ||
TimToady | rakudo: say pir:stat('/etc/passwd',0) | 04:17 | |
p6eval | rakudo 5e5969: OUTPUT«Could not find non-existent sub &pir:stat('/etc/passwd',0)current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
ash_ | i think its 2 :: | ||
lue | did you mean pir:: ? | ||
TimToady | rakudo: say pir::stat('/etc/passwd',0) | ||
p6eval | rakudo 5e5969: OUTPUT«The opcode 'stat_p_p' (stat<2>) was not found. Check the type and number of the argumentscurrent instr.: 'perl6;PCT;HLLCompiler;evalpmc' pc 972 (compilers/pct/src/PCT/HLLCompiler.pir:538)» | ||
TimToady | 0 isn't a parrot int, I guess | 04:18 | |
rakudo: say pir::stat('/etc/passwd') | |||
p6eval | rakudo 5e5969: OUTPUT«The opcode 'stat_p' (stat<1>) was not found. Check the type and number of the argumentscurrent instr.: 'perl6;PCT;HLLCompiler;evalpmc' pc 972 (compilers/pct/src/PCT/HLLCompiler.pir:538)» | ||
TimToady is not a pir expert... | 04:19 | ||
lue | just be glad I didn't decided to program it in pasm :D | ||
ash_ | is stat an opcode or a method? it looks like they are using it like an opcode so it might be invoked differently | ||
lue | s/decided/decide/ | ||
arlinius | stat is an opcode | ||
but it's not defined for PMCs | |||
which is apparently all rakudo is willing to pass to it | |||
lue | point is, I have found some good code, and I shall 'steal it' thank you >:) | 04:20 | |
pugssvn | r29910 | plunix++ | AUTHORed a one-liner. | 04:21 | |
TimToady | arlinius++ | ||
arlinius | hi | ||
lue | rakudo: say (pir::stat('/etc/passwd') | 04:23 | |
p6eval | rakudo 5e5969: OUTPUT«Confused at line 11, near "say (pir::"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | rakudo: say (pir::stat('/etc/passwd')) | ||
p6eval | rakudo 5e5969: OUTPUT«The opcode 'stat_p' (stat<1>) was not found. Check the type and number of the argumentscurrent instr.: 'perl6;PCT;HLLCompiler;evalpmc' pc 972 (compilers/pct/src/PCT/HLLCompiler.pir:538)» | ||
lue | rakudo: say (pir::stat('/etc/passwd'),0) | 04:24 | |
p6eval | rakudo 5e5969: OUTPUT«The opcode 'stat_p' (stat<1>) was not found. Check the type and number of the argumentscurrent instr.: 'perl6;PCT;HLLCompiler;evalpmc' pc 972 (compilers/pct/src/PCT/HLLCompiler.pir:538)» | ||
lue | rakudo: my $filename="/etc/passwd"; my $in=0; say pir::stat($filename,$in); | ||
p6eval | rakudo 5e5969: OUTPUT«The opcode 'stat_p_p' (stat<2>) was not found. Check the type and number of the argumentscurrent instr.: 'perl6;PCT;HLLCompiler;evalpmc' pc 972 (compilers/pct/src/PCT/HLLCompiler.pir:538)» | ||
lue | rakudo: say pir::stat() | ||
p6eval | rakudo 5e5969: OUTPUT«The opcode 'stat' (stat<0>) was not found. Check the type and number of the argumentscurrent instr.: 'perl6;PCT;HLLCompiler;evalpmc' pc 972 (compilers/pct/src/PCT/HLLCompiler.pir:538)» | ||
lue | rakudo: say (pir::stat('/etc/passwd'),'0') | 04:25 | |
p6eval | rakudo 5e5969: OUTPUT«The opcode 'stat_p' (stat<1>) was not found. Check the type and number of the argumentscurrent instr.: 'perl6;PCT;HLLCompiler;evalpmc' pc 972 (compilers/pct/src/PCT/HLLCompiler.pir:538)» | ||
lue | alpha: say '/dev/xyzzy'.:e | ||
p6eval | alpha 30e0ed: OUTPUT«Multiple Dispatch: No suitable candidate found for 'concatenate_str', with signature 'PSP->P'in Main (file <unknown>, line <unknown>)» | ||
lue | alpha: say '/dev/xyzzy' ~~ :e | ||
p6eval | alpha 30e0ed: OUTPUT«0» | ||
pugssvn | r29911 | plunix++ | Update test for Nil definedness: Nil is an empty list, but it is defined. | 04:27 | |
r29911 | Added test for ().defined. | |||
arlinius | woo | 04:28 | |
04:29
jaldhar left
|
|||
ash_ | so... comparison semantics generally depend on which side of the equation your on in practice, but in theory a Foo > Bar should have the same result as Bar < Foo | 04:30 | |
lue | alpha: say pir::stat(0,'/etc/passwd',0) | 04:31 | |
p6eval | alpha 30e0ed: OUTPUT«invoke() not implemented in class 'Undef'in Main (file <unknown>, line <unknown>)» | ||
lue | I got closer \o/ | ||
master: say pir::stat(0,'/etc/passwd',0) | |||
ash_ | lue, you might want to use Q:PIR { } | ||
lue | how doth I use that? | ||
arlinius | rakudo: Q:PIR { $I5 = stat '/etc/passwd', 0 } | ||
ash_ | one sec | ||
p6eval | rakudo 5e5969: ( no output ) | ||
ash_ | arlinius++ beat me to it | 04:32 | |
inside { } you can put normal parrot code | |||
lue | \o/ just what I was hoping for | ||
arlinius | not sure how to return values to rakudo from it | ||
ash_ | %r = $I5 | ||
lue | rakudo: Q:PIR { $I0 = stat '/etc/passwd', 0 ; say $I0 } | 04:33 | |
p6eval | rakudo 5e5969: OUTPUT«error:imcc:syntax error, unexpected ';', expecting '\n' (';') in file 'EVAL_1' line 64» | ||
lue | rakudo: Q:PIR { $I0 = stat '/etc/passwd', 0 \n say $I0 } | ||
p6eval | rakudo 5e5969: OUTPUT«error:imcc:syntax error, unexpected $undefined, expecting '\n' ('\') in file 'EVAL_1' line 64» | ||
ash_ | you can't really use it in here | ||
TimToady | what's a hash doing in an integer? | ||
lue | rakudo: Q:PIR { say stat '/etc/passwd',0 } | 04:34 | |
p6eval | rakudo 5e5969: OUTPUT«undefined identifier 'stat'current instr.: 'perl6;PCT;HLLCompiler;evalpmc' pc 972 (compilers/pct/src/PCT/HLLCompiler.pir:538)» | ||
arlinius | can't chain opcodes in pir | ||
lue the sobbing never ends, it goes on and on and on and on | |||
ash_ | parrot code needs new lines to seperate op's which you can't write in IRC | ||
arlinius | rakudo: Q:PIR { $I5 = stat '/etc/passwd', 0say $I5 } | ||
p6eval | rakudo 5e5969: OUTPUT«1» | ||
arlinius | yes you can | ||
snarkyboojum | hehe | ||
arlinius | kind of | ||
ash_ | lol, well, you have a fancy unicode newline enabled input method | 04:35 | |
lue | or great copy-n-paste ;) | ||
arlinius | no, I copy and paste from p6evals output :P | ||
lue | rakudo: Q:PIR { $I10 = stat '/etc/passwd',2say $I10 } | 04:36 | |
p6eval | rakudo 5e5969: OUTPUT«0» | ||
lue | this file is not a directory. | ||
rakudo: Q:PIR { $I10 = stat '/etc',2say $I10 } | |||
p6eval | rakudo 5e5969: OUTPUT«1» | ||
ash_ |  | ||
 = alt + 2424 on my computer | |||
lue | .u  | ||
phenny | U+2424 SYMBOL FOR NEWLINE () | ||
ash_ | on OS X with hex unicode keyboard mode enabled | ||
lue | is THAT what the mac hex keypad option in KDE does!? | 04:37 | |
TimToady | ctrl+shift-u 2424 on gnome | ||
lue QUICK! to the settings! | |||
arlinius | rakudo: say Q:PIR { $I5 = stat '/etc/passwd', 0%r = box $I5 } | ||
p6eval | rakudo 5e5969: OUTPUT«1» | ||
arlinius | ah | ||
ash_ i haven't the foggiest on kde | |||
arlinius++ you just implemented :e | 04:38 | ||
no commit it to rakudo master somewhere :P | |||
04:38
JimmyZ joined
|
|||
arlinius | can't :P | 04:38 | |
bkeeler | Ewwww, gross, just took a sip of yesterday's beer by mistake | ||
lue | bkeeler! \o/ | ||
bkeeler | Also, evening #perl6! | ||
TimToady | serves you right for leaving it sitting | 04:39 | |
bkeeler | True true | ||
Also (reading scrollback) 6502 assembly was the WORST EVAH! | |||
I suggest you attempt to forget it | 04:40 | ||
lue | hey! I was working on an NES emulator... | ||
arlinius | 6502 asm is awesome | ||
04:40
LifeIsPain left
|
|||
arlinius | I should implement Perl 6 in it | 04:41 | |
bkeeler | No 16 bit registers. Trying to do pointer arithmetic was an exercise in masochism | ||
lue | some of you may find this sad that KDE supports more calendars than P6 :) | ||
ash_ | is there ever a time when $a > $b is not reversible by simply flipping the whole equation around, eg. $b < $a ? | ||
bkeeler | Now the Z80. There was a MAN's chip | ||
arlinius | hrm, no but you can use concurrent bytes in memory as 16 bit pointers | ||
bkeeler | My point is you shouldn't have to | 04:42 | |
ash_ | if not... then don't you only ever have to make > ? and just translated < into an equivalent > ? | ||
bkeeler | The only possible value in a CPU that can't store an address in a register is leaving it upside down on the floor so your roommate steps on it and gets lots of little holes in his feet | 04:43 | |
arlinius | ash_: is 0 < 0? | ||
bkeeler | *ahem* | ||
not that I would ever have done such a thing | |||
ash_ | arlinius: isn't that the same as 0 > 0 ? | 04:44 | |
is what i am arguing | |||
arlinius | but is 0 > 0 equivalent to !(0 < 0)? | ||
lue | bkeeler: the Z80 is featured in several TI graphing calculators and the Gamebody (Advance, i think) | ||
ash_ | why i am arguing it, i am not sure, i am just kinda thinking if there is a way to make comparison semantics into some sort of ~~ like operation, kinda just thinking outloud | 04:45 | |
arlinius | you mean like cmp? | ||
ash_ | yeah, like cmp | ||
my issue with cmp is it seems restrictive if you have a custom type that uses some different way of comparing itself to things | 04:46 | ||
arlinius | as opposed to <? | ||
ash_ | just thinking about other languages, like in ruby if you implement the Comparable module (its a p6 role effectively) then you have to define <=> which you return -1 0 or 1, thus giving you = > < >= <= and between?(a, b) | 04:47 | |
err, that = needs to be == | 04:48 | ||
the only issue i see with that is it matters what side of the equation your object is on | |||
if its on one side of the equation it functions different than if its on the other | |||
arlinius | not if you do it right | ||
ash_ | a <=> b translates to a.<=>(b) | ||
04:49
stephenlb left
|
|||
ash_ | but is there some way you can ensure that? ruby doesn't, so you have to be careful how you write your comparisons | 04:50 | |
arlinius | that's why b should have a well-defined to-string, to-num, etc. method that a can use | ||
ash_ | so, should you attempt to cast before you compare? | 04:51 | |
lue is trying to find decent documentation on his keyboard options for once | 04:52 | ||
arlinius | not necessarily explicitly | ||
PerlJam | What's the latest wisdom on flattening? How do I get (1,2) to flatten? | 04:53 | |
arlinius | rakudo: say ((1,2),3,5) | 04:54 | |
p6eval | rakudo 5e5969: OUTPUT«1235» | ||
ash_ | rakudo: say ((1, 2), 3, 5).perl | ||
p6eval | rakudo 5e5969: OUTPUT«((1, 2), 3, 5)» | ||
bkeeler | rakudo: say map { $_, $_*2 }, 1..5 | ||
p6eval | rakudo 5e5969: OUTPUT«22222» | ||
ash_ | rakudo: say @((1, 2), 3, 5) | 04:55 | |
p6eval | rakudo 5e5969: OUTPUT«1235» | ||
bkeeler | That's my favorite example of parcel non-flattening | ||
ash_ | rakudo: say (@((1, 2), 3)).perl; | ||
p6eval | rakudo 5e5969: OUTPUT«List.new()» | ||
lue | does anyone know where the heck they define the options you can use for setxkbmap? | ||
ash_ | o.0 um... weird | ||
arlinius | options, lue? | 04:56 | |
ash_ | pugs: say (@((1, 2), 3)).perl; | ||
p6eval | pugs: OUTPUT«[1, 2, 3]» | ||
arlinius | setxkbmap -help | ||
rakudo: say [1,2,3].perl | 04:57 | ||
p6eval | rakudo 5e5969: OUTPUT«[1, 2, 3]» | ||
arlinius | rakudo: say [1,2,3].WHAT | ||
p6eval | rakudo 5e5969: OUTPUT«Array()» | ||
lue | setxkbmap -option [args here] I need the args | ||
arlinius | read the next lines? | ||
you really just get one line with your setxkbmap -help? | 04:58 | ||
lue | I just want the args you can use and an explanation for them! (why are they soooo hard to find?) | ||
I do get more with -help, but those are the args for setxkbmap. I need the ones for the -option command. | |||
arlinius | oh | 04:59 | |
ash_ | rakudo: my @b = map { say $_[0], $_[1] } , map { $_, $_ * 2 }, 1..5; say @b; | ||
p6eval | rakudo 5e5969: OUTPUT«1224364851011111» | ||
arlinius | you tried man? | ||
ash_ | bkeeler: i think that map you did was returning the correct things | 05:00 | |
arlinius | not that it looks very helpful... | ||
ash_ | but it printed the parcel as its length, not its values... | ||
bkeeler | Sure, but the parcels are supposed to get flattened somewhere in the process of being passed to say | ||
lue | believe me, most of my search come up with zarking HTML-ified man pages | ||
arlinius | meaning it didn't flatten them | ||
lue | if it helped, I would have solved these problems 6 months ago :) | 05:01 | |
bkeeler | There's parcel-flattening code in List.pir's get() method, but it's not being used | ||
ash_ | got ya, i guess i misunderstood what you were pointing out | ||
arlinius | oh you use kde, go to keyboard layout in kcontrol and there's some examples | ||
lue | kcontrol? hm... n'er heard of it. | ||
arlinius | guess you use the wrong kde :\ | ||
kde 4? | 05:02 | ||
lue | yes. | ||
arlinius | too bad they haven't gotten around to making that usable yet | ||
pugssvn | r29912 | bkeeler++ | New grammar test for rules with signatures | ||
lue | They don't do a good job explaining the options (why should they — they're xkb's options) | ||
arlinius | example: setxkbmap -option altwin:super_win,grp:rwin_switch,grp:ctrl_alt_toggle | 05:03 | |
lue | options thru kde work, you just need to have a knowledge beforehand of what the options are :) | ||
(trying to figure out what the hex keypad is right now) | |||
arlinius | yeah, it doesn't show you the setxkbmap command to run to set the options you chose at the bottom in kde 4? | 05:04 | |
lue | it does, I just need to know what the options due (hence the need for documentation) | ||
s/due/do/ | |||
arlinius | time to adventure into the X source? | 05:05 | |
bkeeler | TimToady: is the <foo: 1, 2> syntax of subrule calls with args supposed to be able to process arbitrary expressions as arguments? The problem I'm having is (I think) that EXPR wants to eat the closing angle... | ||
lue | I've banged my head against this table before. I hate it every time | ||
(wow, that's bad. x.org's wiki can't find setxkbmap when I search for it O.o) | 05:07 | ||
arlinius | rakudo: my int $alpha = Nil; | 05:08 | |
TimToady | bkeeler: if you want a > in the expression, then you want the <foo(1,2)> form instead | ||
p6eval | rakudo 5e5969: OUTPUT«Malformed my at line 11, near "int $alpha"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
arlinius | pugs: my int $alpha = Nil; | ||
p6eval | pugs: OUTPUT«*** No such subroutine: "&Nil" at /tmp/AQDnyBk2T4 line 1, column 12-20» | ||
arlinius | alpha: my int $alpha = Nil; | ||
p6eval | alpha 30e0ed: OUTPUT«Malformed declaration at line 10, near "int $alpha"in Main (file <unknown>, line <unknown>)» | ||
05:09
jaldhar joined
|
|||
bkeeler | TimToady: yeah, but it gets confused whether I want an angle in there or not. | 05:09 | |
TimToady | which "it"? STD doesn't get confused as far as I know | ||
arlinius | pugs: say defined(Nil) | ||
p6eval | pugs: OUTPUT«*** No such subroutine: "&Nil" at /tmp/S6WSdQC44h line 1, column 13-16» | ||
arlinius | pugs: say defined(()) | ||
p6eval | pugs: OUTPUT«1» | ||
05:10
ihrd joined
|
|||
bkeeler | The form with parens works fine, but colon form barfs on anything whatsoever once I switch it over to use rakudo's arglist | 05:10 | |
05:10
ihrd left
|
|||
bkeeler | This is rakudo with my grammar patch | 05:10 | |
arlinius | pugs: say defined([]) | ||
p6eval | pugs: OUTPUT«1» | ||
TimToady | rakudo probably isn't doing all that STD is doing in terms of tracking the current language | ||
arlinius | rakudo: say defined([]) | 05:11 | |
p6eval | rakudo 5e5969: OUTPUT«1» | ||
TimToady | the language inside <> has > as a terminator | ||
arlinius | rakudo: say defined({}) | ||
p6eval | rakudo 5e5969: OUTPUT«1» | ||
bkeeler | I see | ||
I think perhaps I should ask pmichaud about it then | 05:12 | ||
TimToady | I don't think rakudo is really doing derived languages yet | ||
05:12
ash_ left
|
|||
bkeeler | It sort of is, I mean we can call p6 closures with regexes within p6 code and stuff | 05:13 | |
It switches languages by saything things like <arglist=.LANG('MAIN', 'arglist'> | 05:14 | ||
TimToady | that's just switching to an existing langauge via the current language braid | ||
but to take the existing expression language and add > as a terminator, I don't think it does htat | |||
*that | |||
arlinius | rakudo: my @qa; say defined(@qa); say @qa.defined; | 05:15 | |
p6eval | rakudo 5e5969: OUTPUT«11» | ||
bkeeler | Ah, I see what you're getting at | ||
Well, for now the colon form can deal with a simple list of literals | |||
And they can use the paren form if they need anything more complicated | |||
lue bang ow bang ow bang ow (please, can something figure out what the various C<setxkbmap -option> settings are? | 05:16 | ||
TimToady | or maybe it's just buggy | ||
arlinius | rakudo: my @x ; undefine @x; | ||
p6eval | rakudo 5e5969: ( no output ) | ||
lue | TimToady: what input method do you recommend, should I use one? | ||
TimToady | for Japanese? I use anthy | 05:17 | |
bkeeler | Set it to use handwriting recognition via mouse gestures | ||
arlinius | lue: what is it you're trying to do with setxkbmap -option? | 05:18 | |
lue | I'm trying to figure out what the various options for C<setxkbmap -option> do. *grab hair* | 05:20 | |
arlinius | rakudo: my @vax = 2,3,4; undefine @vax; say +@vax; | ||
p6eval | rakudo 5e5969: OUTPUT«1» | ||
lue | bkeeler: I has a mousepad. | ||
arlinius | rakudo: my @vax = 2,3,4; say +@vax; | ||
p6eval | rakudo 5e5969: OUTPUT«3» | ||
arlinius | odd | ||
rakudo: my @vax = 2,3,4; undefine @vax; say +@vax; say @vax[0] | |||
p6eval | rakudo 5e5969: OUTPUT«1Any()» | ||
arlinius | heh | ||
bkeeler | Or perhaps morse code on the middle mouse button | 05:21 | |
You always wanted an excuse to learn morse code, admit it | |||
lue | bkeeler: I has one mouse button | ||
and emulate the others thru keyboard | |||
arlinius | morse code on mouse button then | ||
lue | ah well. I'll continue using mac third-level for now :) | 05:22 | |
¡™£¢∞§¶•ªº–≠œ∑†¥ŭøπ“‘«æ…¬ĥĝƒ∂ŝåΩ≈ĉ√∫∫≤≥÷ | 05:23 | ||
arlinius | you might want to look into editing a layout file | ||
bkeeler | Ah yes, one button mice, I forgot | ||
I love Macs and all, but the mouse is the first thing to go | |||
lue | hah! I considered it. Not that desperate yet :) | ||
arlinius | yeah, macs: the height of technology | ||
*shrug* a lot easier than finding documentation for setxkbmap options :) | 05:24 | ||
bkeeler | Perhaps I should get one of those ridiculous gaming mice with almost a full keyboard on it | ||
05:25
JimmyZ_ joined
05:27
JimmyZ left,
JimmyZ_ is now known as JimmyZ
05:28
JimmyZ left
|
|||
lue wants to find out who wrote setxkbmap and beat him with his own code for not creating documentation | 05:29 | ||
lue wants to know where everybody went all of a sudden (sudden silence is interesting to him) | 05:37 | ||
TimToady | everyone is trying to figure out whether they wrote setxkbmap and just forgot about it... | 05:38 | |
arlinius | ...i don't think i wrote it | 05:39 | |
lue | whoever here wrote is trying to cushion it for when I impact them with it, to avoid pain. | 05:40 | |
arlinius | rakudo: Nil.undefine; | 05:42 | |
p6eval | rakudo 5e5969: OUTPUT«Method 'undefine' not found for invocant of class 'Parcel'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
arlinius | rakudo: Nil*undefine; | ||
p6eval | rakudo 5e5969: OUTPUT«Not enough positional parameters passed; got 0 but expected 1current instr.: 'undefine' pc 225637 (src/gen/core.pir:2607)» | ||
lue | try undef | 05:43 | |
arlinius | rakudo: Nil*undef; | ||
p6eval | rakudo 5e5969: OUTPUT«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() as a failure return … | |||
arlinius | rakudo: Nil*Mu; | ||
p6eval | rakudo 5e5969: OUTPUT«No applicable candidates found to dispatch to for 'infix:<*>'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
lue | rakudo: Nil*Nil | 05:45 | |
p6eval | rakudo 5e5969: ( no output ) | ||
lue | rakudo: say Nil*Nil | ||
p6eval | rakudo 5e5969: OUTPUT«0» | ||
lue | rakudo: {use v5; say Nil*undef;}; | ||
p6eval | rakudo 5e5969: OUTPUT«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() as a failure return … | |||
lue | guess that part of the spec isn't supported yet :) | ||
arlinius | rakudo: say +Nil*+Mu; | 05:46 | |
p6eval | rakudo 5e5969: OUTPUT«Use of type object as valuecurrent instr.: 'perl6;Perl6Exception;throw' pc 14359 (src/builtins/Seq.pir:52)» | ||
arlinius | rakudo: say +Nil*+Nil; | 05:47 | |
p6eval | rakudo 5e5969: OUTPUT«0» | ||
arlinius | rakudo: my Array $x; | 05:50 | |
p6eval | rakudo 5e5969: ( no output ) | ||
lue | rakudo: my Array $x; $x[1]=4; say $x[1]; | 05:51 | |
p6eval | rakudo 5e5969: OUTPUT«4» | ||
lue | when sigils don't matter... | 05:52 | |
diakopter | rakudo: my Hash $x; $x[1] # masakbot | ||
p6eval | rakudo 5e5969: OUTPUT«No applicable candidates found to dispatch to for '_block12549'current instr.: 'perl6;Perl6Role;!select' pc 9770 (src/gen/RoleToClassApplier.pir:574)» | ||
diakopter | TimToady: LOL | 05:53 | |
lue | rakudo: say 5.WHAT | ||
p6eval | rakudo 5e5969: OUTPUT«Int()» | 05:54 | |
lue | rakudo: my Int %x; # hee hee | ||
p6eval | rakudo 5e5969: ( no output ) | ||
bkeeler | rakudo: my int $a = 3 | ||
p6eval | rakudo 5e5969: OUTPUT«Malformed my at line 11, near "int $a = 3"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | rakudo: my Int %x = 3; say %x; # hee hee | ||
p6eval | rakudo 5e5969: OUTPUT«Odd number of elements found where hash expectedcurrent instr.: '&die' pc 16676 (src/builtins/Junction.pir:347)» | ||
arlinius | rakudo: my Int &foo = 3; say &foo; | ||
p6eval | rakudo 5e5969: OUTPUT«3» | ||
diakopter | rakudo knows about type names only if they're uppercase | ||
lue | rakudo: my Int %x = 3,5; say %x; # hee hee | ||
p6eval | rakudo 5e5969: OUTPUT«3 5» | ||
lue | rakudo: my Int %x = 3,5; say %x.WHAT; # hee hee | ||
p6eval | rakudo 5e5969: OUTPUT«Hash()» | ||
bkeeler | So it doesn't have the low-level naked ints yet I see | 05:55 | |
diakopter | masakbot reported that one last week I think | ||
no | |||
perl6: my int $x | |||
arlinius | rakudo: my Int %x = 3,5; say %x.perl; | ||
p6eval | elf 29912, pugs: ( no output ) | ||
..rakudo 5e5969: OUTPUT«Malformed my at line 11, near "int $x"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | |||
rakudo 5e5969: OUTPUT«{"3" => 5}» | |||
diakopter | oh; somseone fixed/implemented Hash.ToString() | 05:56 | |
or whatever | |||
arlinius | rakudo: my Int %x = 3,5; say %x | ||
p6eval | rakudo 5e5969: OUTPUT«3 5» | ||
arlinius | rakudo: my Int %x = 3,5,6,9; say %x | ||
p6eval | rakudo 5e5969: OUTPUT«3 56 9» | ||
diakopter | o_O | ||
arlinius | yep | ||
diakopter | rakudo: my Int %x = 3,5,6,9,12,14; say %x | 05:57 | |
p6eval | rakudo 5e5969: OUTPUT«6 912 143 5» | ||
diakopter | rakudo: my Int %x = 3,5,6,9,12,14,3332,33123423; say %x | ||
p6eval | rakudo 5e5969: OUTPUT«6 93332 331234233 512 14» | ||
diakopter | that's some odd spacing | ||
arlinius | rakudo: my Int %x = 1..20; say %x | ||
p6eval | rakudo 5e5969: OUTPUT«19 201 211 123 413 145 615 167 817 189 10» | ||
diakopter | and by odd, I mean even | ||
snarkyboojum | rakudo: my Int %x = 1..3; say %x | ||
p6eval | rakudo 5e5969: OUTPUT«Odd number of elements found where hash expectedcurrent instr.: '&die' pc 16676 (src/builtins/Junction.pir:347)» | ||
snarkyboojum | :) | 05:58 | |
diakopter | heh | ||
"Step Right Up, to the StressFuzz Rakudo Game. All are welcome; just don't laugh too maniacally." | |||
lue | rakudo: my Any %.x=3; say %.x | 05:59 | |
p6eval | rakudo 5e5969: OUTPUT«Odd number of elements found where hash expectedcurrent instr.: '&die' pc 16676 (src/builtins/Junction.pir:347)» | ||
arlinius | rakudo: my %x = 1,2,3,4; undefine %x; | ||
p6eval | rakudo 5e5969: OUTPUT«Odd number of elements found where hash expectedcurrent instr.: '&die' pc 16676 (src/builtins/Junction.pir:347)» | ||
lue | rakudo: my Mu $$omething = 3; say $$omething; # so many things wrong here :D | ||
p6eval | rakudo 5e5969: OUTPUT«In "my" declaration, typename Mu must be predeclared (or marked as declarative with :: prefix) at line 11, near " $$omethin"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
diakopter | rakudo: my Any %.x=3,%.x; say %.x # masakbot | ||
p6eval | rakudo 5e5969: OUTPUT«Lexical 'self' not foundcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
lue | rakudo: my $$omething = 3; say $$omething; # so many things wrong here :D | ||
p6eval | rakudo 5e5969: OUTPUT«Malformed my at line 11, near "$$omething"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | rakudo: my $en$e$=3; say $en$e$ | 06:00 | |
p6eval | rakudo 5e5969: OUTPUT«Confused at line 11, near "my $en$e$="current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
arlinius | rakudo: my Array $x; say $x.WHAT; undefine $x; say $x.WHAT | ||
p6eval | rakudo 5e5969: OUTPUT«Array()Type check failed for assignmentcurrent instr.: '&die' pc 16676 (src/builtins/Junction.pir:347)» | ||
lue | rakudo: my $.x=3; say $.x | ||
p6eval | rakudo 5e5969: OUTPUT«Lexical 'self' not foundcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
diakopter | yar | 06:01 | |
lue | rakudo: my $!x=3; say $!x | ||
p6eval | rakudo 5e5969: OUTPUT«Lexical 'self' not foundcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
diakopter | eenteresting | ||
lue | rakudo: my .x=3; say .x | ||
p6eval | rakudo 5e5969: OUTPUT«Malformed my at line 11, near ".x=3; say "current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | rakudo: my eval('$hi') = 3; say eval('$hi'); | ||
p6eval | rakudo 5e5969: OUTPUT«Malformed my at line 11, near "eval('$hi'"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | >:D *maniacal laugh* | 06:02 | |
diakopter | well | ||
hejki | it seems getting working perl6 compiler might just take some months :) | ||
diakopter | erm | 06:03 | |
arlinius | depends what you meant by 'working' | ||
it's already taken years :P | |||
hejki | by working i mean something that's finished and does what the language whitepaper supposes it to do :) | ||
diakopter | oh, never | ||
hejki | woot | 06:04 | |
:< | |||
don't be joking | |||
never would mean downfall for the king of languages :> | |||
lue | :O freenode doesn't allow 楽土 in my nick! | ||
diakopter | no | ||
there will be releases | 06:05 | ||
it's just too huge of a spec to ever match exactly | |||
lue | never is actually not that long. It's the length of Inf (∞) in NaNometers | ||
diakopter | or even to write a test suite to cover the whole language | ||
heh | |||
arlinius | heh | ||
lue | :( I must tell freenode to upgrade their servers to allow Unicode in nicks | 06:06 | |
hejki | diakopter: well that should make the compiler devs pretty depressed :) | ||
arlinius | rakudo: my Array $x; $x = (); | ||
p6eval | rakudo 5e5969: OUTPUT«Type check failed for assignmentcurrent instr.: '&die' pc 16676 (src/builtins/Junction.pir:347)» | ||
arlinius | rakudo: my Array $x; $x = Nil; | ||
p6eval | rakudo 5e5969: OUTPUT«Type check failed for assignmentcurrent instr.: '&die' pc 16676 (src/builtins/Junction.pir:347)» | ||
arlinius | rakudo: my Array $x; $x = []; | ||
diakopter | hejki: nah; that's been the state for years upon years | ||
p6eval | rakudo 5e5969: ( no output ) | ||
diakopter | hejki: if they weren't depressed by now, they never will be | 06:07 | |
(either way is fine) | |||
hejki | diakopter: sounds super frustrating :) | ||
diakopter | sometimes, to some people, yes | ||
some are more patient than others. | |||
TimToady | the patient ones aren't the ones working on it :) | ||
diakopter | some have more of a vested interest in the expediency than others | ||
lue | everyone: imagine if a full implementation of Perl 6.1 ever came out. | 06:08 | |
hejki | i'd so wet my patns | ||
pants* | |||
TimToady | that much better than 6.0, is it? | ||
06:08
Sarten-X joined
|
|||
lue | .oO(stock up on Molybdenum, because that's the only way to save ourselves from the awesome power of the death star) |
06:09 | |
s/the death star/P6.1/ | |||
arlinius | TimToady: hopefully not worse? | ||
TimToady | this language is fully operational | ||
diakopter | or operatoral, at least | ||
TimToady | the Fat Lady has already sung several times, but we're still going... | 06:10 | |
lue | I believe rakudo's perl 6.1 should be named die*(Rakudo) [try to interpret that one] | ||
or maybe [*] die(Rakudo) | |||
TimToady | maybe not | 06:11 | |
06:11
quester joined
|
|||
lue | Rakudo * implies the rebels have taken a page from the Empire's book | 06:13 | |
diakopter | the death star spreads death; rakudo star spreads ... rakudo | ||
lue has the sudden urge to (horribly) draw the Rakudo * in the sky | 06:15 | ||
"The Rakudo * is fully functional" "What about fully OOP sir?" "...Zark" | 06:16 | ||
diakopter | rakudo: say (1...4).iterator.^parents[1].new(3, 4, 5) | 06:19 | |
p6eval | rakudo 5e5969: OUTPUT«Method 'iterator' not found for invocant of class 'Iterable'current instr.: 'perl6;List;get' pc 10869 (src/builtins/Role.pir:262)» | ||
lue | .oO(what would be a good name for a P6/R* based parody of Star Wars?) |
06:20 | |
diakopter | rakudo: say 0.00000000000000000000 | 06:22 | |
p6eval | rakudo 5e5969: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'current instr.: 'perl6;Rat;new' pc 317321 (src/gen/core.pir:37490)» | ||
diakopter | rakudo: say 0.0000000000000000000 | ||
p6eval | rakudo 5e5969: OUTPUT«Nominal type check failed for parameter '$b'; expected Int but got Num insteadcurrent instr.: 'perl6;Rat;gcd' pc 316741 (src/gen/core.pir:37267)» | ||
diakopter | erm | ||
masakbot: see the last two | |||
lue | rakudo: say 0.000000000000000000000000000000000000000000000000000000000000000000 | 06:23 | |
p6eval | rakudo 5e5969: OUTPUT«Divide by zerocurrent instr.: 'infix:<div>' pc 253560 (src/gen/core.pir:12580)» | ||
diakopter | nice! 3 different bugs | 06:24 | |
lue | the exact error changes with the number of extra 0's you have! | ||
rakudo: say 0.000000000000000000000000000000000000000001000000000000000000000 # hee hee | |||
p6eval | rakudo 5e5969: OUTPUT«Nominal type check failed for parameter '$a'; expected Int but got Num insteadcurrent instr.: 'perl6;Rat;gcd' pc 316741 (src/gen/core.pir:37267)» | ||
diakopter | omg | ||
lue | first $b, now $a! | ||
diakopter | 4 different bugs | ||
lue | diakopter: want me to create four? >:) | ||
s/four/more/ | 06:25 | ||
diakopter | well, not in RT | ||
06:25
wmiksss left
|
|||
diakopter | let masak add them if he thinks there aren't dupes | 06:25 | |
lue | rakudo: say 1.0000000000000000000000000000000000000000000000000000000000000 | ||
p6eval | rakudo 5e5969: OUTPUT«Nominal type check failed for parameter '$a'; expected Int but got Num insteadcurrent instr.: 'perl6;Rat;gcd' pc 316741 (src/gen/core.pir:37267)» | ||
lue | rakudo: say 00000000000000000000000000000000.000000000000000000000000000000 | ||
p6eval | rakudo 5e5969: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'current instr.: 'perl6;Rat;new' pc 317321 (src/gen/core.pir:37490)» | ||
lue | rakudo: say 0e-293 | 06:26 | |
p6eval | rakudo 5e5969: OUTPUT«0» | ||
diakopter | rakudo: say 0xFFFFFFFFFFFFFFFF # masakbot | ||
p6eval | rakudo 5e5969: OUTPUT«-1» | ||
lue | \o/ | ||
rakudo: say 0x16D.4 | |||
p6eval | rakudo 5e5969: OUTPUT«Confused at line 11, near "say 0x16D."current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
arlinius | rakudo: Mu.say | ||
p6eval | rakudo 5e5969: OUTPUT«Mu()» | ||
arlinius | rakudo: defined Mu | ||
p6eval | rakudo 5e5969: ( no output ) | ||
arlinius | rakudo: say Mu.defined | ||
p6eval | rakudo 5e5969: OUTPUT«0» | ||
arlinius | rakudo: say defined Mu | ||
p6eval | rakudo 5e5969: OUTPUT«0» | 06:27 | |
hejki | rakudo: say Mu.HOW | ||
p6eval | rakudo 5e5969: ( no output ) | 06:28 | |
diakopter | rakudo: say 0o7777777777777777777777 | ||
p6eval | rakudo 5e5969: OUTPUT«-1» | ||
arlinius | rakudo: say Mu.HOW.WHAT | ||
p6eval | rakudo 5e5969: OUTPUT«Mu()» | ||
lue | rakudo: sub moo() {return Mu;}; say moo.WHAT | ||
p6eval | rakudo 5e5969: OUTPUT«Mu()» | ||
06:29
cotto left,
cotto joined
|
|||
lue | rakudo: eval('alpha: say "hi";'); | 06:30 | |
p6eval | rakudo 5e5969: ( no output ) | ||
diakopter | heh | ||
doesn't work that way ;) | |||
lue | std: say "I print things" | ||
p6eval | std 29912: OUTPUT«ok 00:01 107m» | ||
lue | std: say "I made it through STD's time barrier!" | ||
p6eval | std 29912: OUTPUT«ok 00:02 105m» | ||
lue | std: say that you hate letting things through your ok time barrier | 06:31 | |
p6eval | std 29912: OUTPUT«Undeclared routines: 'barrier' used at line 1 'hate' used at line 1 'letting' used at line 1 'ok' used at line 1 'that' used at line 1 'things' used at line 1 'through' used at line 1 'you' used at line 1 'your' used at line 1ok 00:01 106m» | ||
lue | :D | ||
std: say "Proof of STD's iron curtain" | |||
p6eval | std 29912: OUTPUT«ok 00:01 105m» | ||
lue | This rakudo stressing has been fun. (If freenode would let me, I'd've changed my nick to 楽土StressTester) | 06:34 | |
arlinius | rakudo: my @x; say @x.ACCEPTS(); | 06:36 | |
p6eval | rakudo 5e5969: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Array'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
arlinius | rakudo: my @x; say @x.ACCEPTS(()); | ||
p6eval | rakudo 5e5969: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Array'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
lue | rakudo: my @x; say @x.ACCEPTS(((((((((((((((((((()))))))))))))))))))) # maybe if you put in enough () | ||
p6eval | rakudo 5e5969: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Array'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
lue | rakudo: my @x; say @x.ACCEPTS | 06:37 | |
p6eval | rakudo 5e5969: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Array'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
arlinius | rakudo: my @x; say @x ~~ Nil | 06:38 | |
p6eval | rakudo 5e5969: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Parcel'current instr.: 'infix:<~~>' pc 214726 (src/gen/perl6-actions.pir:16060)» | ||
arlinius | rakudo: my $x; say $x ~~ Nil | ||
p6eval | rakudo 5e5969: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Parcel'current instr.: 'infix:<~~>' pc 214726 (src/gen/perl6-actions.pir:16060)» | ||
arlinius | Parcel hrm | ||
rakudo: my $x; say $x ~~ () | 06:39 | ||
p6eval | rakudo 5e5969: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Parcel'current instr.: 'infix:<~~>' pc 214726 (src/gen/perl6-actions.pir:16060)» | ||
arlinius | rakudo: my $x; say $x ~~ [] | ||
p6eval | rakudo 5e5969: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Array'current instr.: 'infix:<~~>' pc 214726 (src/gen/perl6-actions.pir:16060)» | ||
arlinius | rakudo: my $x; say $x ~~ 3 | ||
lue | I has a bed. See yall tomorrow for more stressing! | ||
p6eval | rakudo 5e5969: OUTPUT«Use of type object as valuecurrent instr.: 'perl6;Perl6Exception;throw' pc 14359 (src/builtins/Seq.pir:52)» | ||
diakopter | arlinius: you can also msg p6eval directly while experimenting | ||
arlinius | heh :P | ||
06:40
lue left
06:42
rgrau left
|
|||
diakopter | rakudo: say |\/_\|/|\/_\|/|/_\|/|\/_\|/|/_\|/|\/_\|/|/_\|/|\/_\|/|/_\|/|\/_\|/|/_\|/|\/_\|/|/_\|/ | 06:44 | |
p6eval | rakudo 5e5969: OUTPUT«any(Capture.new(), Capture.new(), { ... }, Capture.new(), { ... }, Capture.new(), { ... }, Capture.new(), { ... }, Capture.new(), { ... }, Capture.new(), { ... })» | ||
06:45
cognominal left
|
|||
hejki | rakudo: say _\|/_; | 06:46 | |
p6eval | rakudo 5e5969: OUTPUT«Confused at line 11, near "say _\\|/_;"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
06:48
xinming_ is now known as xinming
06:50
cognominal joined
06:54
agentzh left
|
|||
arlinius | rakudo: my &foo = { say 1 }; undefine &foo; | 06:55 | |
p6eval | rakudo 5e5969: ( no output ) | ||
06:56
nihiliad left
06:57
alester left
06:58
szabgabx left,
kaare joined
06:59
kaare is now known as Guest27086
07:02
vamped joined
|
|||
quester | diakopter: If Perl5 is accused of looking like line noise, what on Earth will people say about "say |\/_\|/|\/_\|/;"? | 07:03 | |
snarkyboojum | looks like an upside down bridge to me | 07:04 | |
07:05
uniejo joined,
xomas left
|
|||
quester | snarkyboojum: Yes. Given the output, you might say it's a row of Venus flytraps. You know, Capture.new(fly), {eat(fly)}, ... | 07:05 | |
07:08
masak joined
|
|||
masak | good morning, #perl6! | 07:08 | |
07:08
masak left
|
|||
uniejo | Good morning, masak | 07:09 | |
snarkyboojum | quester: I have no idea what it does other than -> any(Capture.new(), Capture.new()), so :) | ||
07:09
masak joined
07:10
meppl joined
|
|||
masak | diakopter: [backlog] is that rod logic you're doing? :) | 07:12 | |
quester | rakudo: say / foo / | /bar/; | 07:13 | |
p6eval | rakudo 5e5969: OUTPUT«any({ ... }, { ... })» | ||
quester | rakudo: say \/ foo / | \/bar/; | ||
p6eval | rakudo 5e5969: OUTPUT«any(Capture.new(), Capture.new())» | ||
quester | diakopter: Thank you, that was very educational. Weird, but educational. | 07:15 | |
masak | [WEIRD] | ||
07:16
Su-Shee joined
|
|||
pugssvn | r29913 | plunix++ | Added tests for Nil, (), [], and {} definedness. | 07:16 | |
r29913 | Added a few tests for @array-variable definedness. | |||
Su-Shee | good morning | 07:17 | |
masak | Su-Shee: \o | 07:18 | |
07:23
gfx joined
07:24
justatheory left
07:32
cosimo left,
cosimo joined
|
|||
masak | I think I fell off the Iron Man challenge as of yesterday. ah well, back up on the horse, I guess. | 07:34 | |
std: my @a[ %10_000 ] | 07:43 | ||
p6eval | std 29913: OUTPUT«===SORRY!===Whitespace is required between alphanumeric tokens at /tmp/3g9Acr4WK7 line 1:------> my @a[ %10⏏_000 ]FAILED 00:01 107m» | ||
07:43
mssm joined
|
|||
pugssvn | r29914 | colomon++ | [t/spec] Fix number of tests for defined.t. | 07:52 | |
colomon | This test file now has tests saying both Nil is defined and Nil is undefined. | 07:55 | |
masak | the mystery of emptiness... | ||
pugssvn | r29915 | colomon++ | [t/spec] Fudge new tests to defined.t passes again. | 07:57 | |
colomon | So, that file definitely needs more work. But I am up in the middle of the night, and not to be trusted to actually figure out the tricky bits. | ||
masak | from p3rl.org: "The use of *any* camel image with the topic of Perl is a trademark of an American media company. Fortunately, the image in the top right corner is just a photoshopped monkey. :-)" Juerd++ | 08:02 | |
colomon | justrakudoit.wordpress.com/2010/03/...es-branch/ | 08:06 | |
masak | lolcolomonblogged! | 08:07 | |
colomon | not a very big post, but see previous comments about the need for sleep. :) | ||
in fact, I think I will wander that way now.... | |||
08:08
eternaleye left
|
|||
mathw | Morning | 08:10 | |
masak | mathw! | 08:11 | |
good morning! | |||
08:12
dual left
08:14
iblechbot joined
|
|||
mathw | Hey masak | 08:17 | |
Thanks for the Esperanto lesson at the weekend :) | |||
masak | Neniu problemo. :) | 08:18 | |
mathw | Along with all the musical things I learned, I also learned that I still don't have a handle on how to use the accusative :) | 08:21 | |
masak | mathw: they way you used it in twitter.com/MaW/status/9816053764 conveys direction. | 08:22 | |
generally, using it after a preposition conveys direction. | |||
08:23
jonasbn joined
|
|||
masak | rakudo: say "foo" ~~ /foo/ | 08:23 | |
p6eval | rakudo 5e5969: OUTPUT«foo» | ||
masak | rakudo: say "foo" ~~ /foo ** 5/ | ||
p6eval | rakudo 5e5969: OUTPUT«» | ||
masak | rakudo: say "foo" ~~ /foo ** {5}/ | ||
p6eval | rakudo 5e5969: OUTPUT«foo» | ||
masak is mildly curious about that one | 08:24 | ||
moritz_++ | |||
08:25
eternaleye joined
08:30
agentzh joined
08:34
[synth] joined
08:35
synth left,
[synth] left
|
|||
mathw | masak: and since we went to the bar, and *then* played music, there is no direction involved | 08:39 | |
08:40
cosimo left,
cosimo joined
|
|||
masak | mathw: well, the way it's written, it gives me the sense that music is flowing into the bar from outside. though the predicate is only implicit in that reading, so it's all a bit vague. | 08:40 | |
basically, it says 'music into the bar'. | 08:41 | ||
quester | I have a trivia question about submitting Rakudo patches... I posted a patch to rt.perl.org/rt3/Public/Bug/Display.html?id=73148 about three days ago. Should I have notified someone, or jost continue waiting patiently for feedback, or...? | ||
mathw | which is entirely inappropriate, as the music was generated in the bar | ||
quester | s/jost/just/ | ||
masak | quester: the 'patiently' option. | 08:42 | |
quester: I have the feeling patches are very much appreciated, but there's not a system of regularly applying them or anything. instead, there's a kind of squaks-loudest system in place. :) | 08:43 | ||
quester | masak: Thanks... roughly how long does it take to get feedback, typically? | ||
masak | quester: keep squaking, and it won't be long :) | ||
masak reviews the patch | |||
quester | masak: Okay. Thank you very much. | ||
08:48
cosimo left
08:49
cosimo joined,
am0c joined
|
|||
masak | phenny: tell pmichaud that I reviewed quester++'s rt.perl.org/rt3/Public/Bug/Display.html?id=73148 and it looks good. before I introduce new files into the build, I just thought I'd clear it with you. also, you might want to have a say in the exact --version message. | 08:52 | |
phenny | masak: I'll pass that on when pmichaud is around. | ||
quester | masak: Thank you again. (And yes, the exact --version message is an exercise in aesthetics.) | 08:53 | |
masak | quester: "CAUTION: if you enable strict or warnings you might wind up with Perl 5 error messages in the output file, src/gen/compiler.pir." That sounds backwards to me for some reason. perhaps because winding up with error messages in src/gen/compiler.pir sounds like a lesser evil than leaving strict/warnings off. | 08:55 | |
08:56
snarkyboojum left
|
|||
quester | masak: It is a bit funky, but if the git commands fail, turning on warnings puts the warnings into the pir source code, when then fails to compile. With warnings off, it fails silently. Since the git commands are likely to fail for people installing Rakudo from tarballs, it seemed like the lesser of two evils. | 08:59 | |
masak | ok. I think I see the reasoning. I guess that's yet another tradeoff I'm happy to leave to any of the more core developers. :) | 09:00 | |
quester | There may be a much better way of handling that. Normally I would try to redirect stderr but I'm not sure if there is a good way of doing that in a makefile without breaking the build process on non-*nix platforms, Windows in particular. | 09:01 | |
masak | good point. | ||
mathw | bloody windows | 09:03 | |
always making a mess | |||
09:03
mathw sets mode: +o masak
|
|||
masak | mathw: snow blowing in? :) | 09:03 | |
masak .oO( why we find young Linux users in basements: because they dislike Windows ) | 09:05 | ||
quester | mathw: You just have to keep beating it until all the blood is gone. Then it's no longer bloody. (Oops, I think I'm channeling Wednesday Addams.) | 09:06 | |
pmichaud | good morning, #perl6 | ||
phenny | pmichaud: 08:52Z <masak> tell pmichaud that I reviewed quester++'s rt.perl.org/rt3/Public/Bug/Display.html?id=73148 and it looks good. before I introduce new files into the build, I just thought I'd clear it with you. also, you might want to have a say in the exact --version message. | ||
masak | pmichaud: wow, you're up early! | ||
pmichaud | really? feels like I'm up late :-) | 09:07 | |
masak | or that :) | ||
mathw | and isn't he nice, he adapts his greeting for our time zone | ||
masak | it's mostly just confusing. :) | ||
pmichaud | oh, believe me, it's definitely morning here. | ||
for rt #73148, I'd prefer that we not be modifying Compiler.pir | 09:09 | ||
(reading...) | |||
the .pl script ought to go into build/, along with the other scripts that generate code | 09:10 | ||
quester | pmichaud: So, you would prefer to put the version method into a new something.pir file instead...? | ||
pmichaud | yes | ||
src/gen/version.pir would make sense | 09:11 | ||
(src/gen/ being the place where we put generated files) | |||
it only needs to contain the 'version' method | |||
09:11
dakkar joined
|
|||
masak | perhaps that solves the strict/warnings conundurum, too? | 09:12 | |
pmichaud | (not familiar with that conundrum :-) | ||
quester | Okay, would you be inclined to place the template into src/Perl6, or build, or just put it as a series of print statements into the .pl file? | 09:13 | |
pmichaud | print in .pl file is fine | ||
I'm looking for an exmaple | |||
quester | ... of what the perl6 -v output looks like now? | ||
masak | pmichaud: oh, just something from the recent backlog. the .pl script didn't have strict/warnings turned on, because of a tradeoff. | 09:14 | |
pmichaud | no, example of where we generate code | ||
09:14
snarkyboojum joined
|
|||
pmichaud | anyway, for better our worse, we tend to create code-generating-scripts in build/*.pl | 09:15 | |
those output files which are then placed in gen/ | |||
and the files can then be easily grabbed using .include | |||
so in this case | 09:16 | ||
create src/gen/version.pir | |||
then maybe include it via the CHEATS_PIR macro in the makefile | 09:17 | ||
see build/gen_uprop.pl for an example of how the unicode property rules are generated, follow that model | 09:18 | ||
quester | pmichaud: Okay, let me move the files and test and generate a new patch, probably in about a day or two. Should I just post it to rt.perl.org again? | 09:19 | |
pmichaud | yes, that'd be great. | 09:20 | |
the features the patch adds are terrific | |||
I really like the new version information | |||
quester | pmichaud: Thank you very much. I'm all excited, this is my first contribution to an open-source project. | 09:21 | |
pmichaud | I'm glad to hear that, and hope you can contribute more like this one :)( | 09:23 | |
er, :-) | |||
(typo -- hard to type where I'm currently at) | |||
09:24
am0c left
|
|||
quester | pmichaud: Yes, I hope so too. Thanks again. Actually, I do have a beard a little bit like :)( ... how did you know? | 09:27 | |
pmichaud | sometimes my fingers know more than my brane | 09:28 | |
masak | rakudo: say '(foo' ~~ / '(' ~ ')' [foo] / | ||
p6eval | rakudo 5e5969: OUTPUT«Unable to parse _block48, couldn't find final ')' at line 1current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)» | 09:29 | |
09:29
yinyin left
|
|||
masak | why does everything in regexes indicate falure with a False-valued $/, except for goals, which indicate failure by throwing an exception? | 09:29 | |
quester | Take care, everyone, and good {localtime}. Off shopping and then sleep & | 09:30 | |
pmichaud | maybe should return failure instead of throwing exception | ||
masak | yes, please. | ||
my real-world situation to back this up is a test file with a grammar parse wrapped in a method call which checks whether the syntax of an expression is correct. I only expect the method call to return a Bool, not to blow up. | 09:31 | ||
pmichaud | I'll have to think a bit about how to pull that off. But feel free to file this as a ticket :) | ||
masak | gladly. | 09:32 | |
masak submits rakudobug | |||
pmichaud | well, I can certainly get it to fail the match. I'm not sure where the message goes, though. | ||
09:33
clintongormley joined
09:35
mberends joined
|
|||
mberends | good morning from Bratislava! Hmm, that beer was good last night :-) | 09:37 | |
pmichaud | good morning from Houston! I haven't had a beer yet. | 09:38 | |
bars are probably closed by now anyway :-( | |||
09:39
am0c joined,
agentzh left
|
|||
sjohnson | :( | 09:40 | |
masak | mberends: are you perchance at jnthn's place? :) | ||
mberends | masak: indeed | 09:41 | |
masak | woot! | ||
and symmetric in some way. my two last hotel buddies under the same roof :) | 09:42 | ||
sjohnson | perlpals | 09:43 | |
mberends | we'll be even togetherer soon :) | ||
mberends looks forward to a full time week of Perl 6 | 09:45 | ||
masak | it'll be awesome. | 09:47 | |
mathw sighs | |||
masak hugs mathw | |||
jnthn | oh hai | ||
mathw | This is what happens when I spend all my money on music holidays :) | ||
oh hai jnthn | |||
masak | lolitsjnthn! | ||
pmichaud | oh hai jnthn | ||
jnthn | wow, pmichaud awake at what time?! | 09:48 | |
.oO( how late did I sleep in? ) |
|||
pmichaud | currently 0345 | ||
mathw thinks about a tune for Rakudo | |||
pmichaud | "Elephant Walk" by H. Mancini ? | 09:49 | |
jonasbn | mberends: could you extend your talk to 40 minutes as you mention? | 09:50 | |
pmichaud | jonasbn! | ||
jonasbn | mberends: we have the time in the schedule | ||
mberends | jonasbn: no problem | ||
jonasbn | super duper | 09:51 | |
official schedule is online | |||
masak | I already found it :) | ||
mathw | pmichaud: actually I was considering writing one. I'll let you know if I come up with anything suitable | ||
09:51
quester left
|
|||
masak | www.opensourcedays.org/2010/node/267 | 09:52 | |
jnthn | jonasbn: The sessions look to be for an hour...is that an invitation to fill it? :-) | 09:53 | |
09:55
kst` joined
|
|||
jonasbn | jnthn: they say 45 minutes + 10 minutes for questions etc. | 09:57 | |
so... yes | 09:58 | ||
vamped | /exit | ||
jnthn | fail | ||
jonasbn: OK, cool. | |||
09:58
vamped left
|
|||
pmichaud | hour, coolness | 09:58 | |
jonasbn | hotel information will come today, just got a mail from the OSD coordinator | ||
pmichaud checks schedule | |||
jnthn | hehe | ||
pmichaud | it's always dangerous to give me more time :) | 09:59 | |
jnthn | pmichaud: You're the Grand Finale | ||
pmichaud | Perhaps I should change my talk title | ||
jonasbn | my only worry with the lengthy schedule is that it takes time from the hackathon, since the audience is somewhat the same | ||
but we have the whole Sunday too | 10:00 | ||
pmichaud | it's okay | ||
if I'm grand finale, and we expect most attendees to be hackathon folks, I'll orient my talk towards hackathon activities | |||
10:00
jaldhar left
|
|||
pmichaud | and it looks like we're done by 15h00, so there's a bit of time after me | 10:00 | |
10:01
jaldhar joined
|
|||
m-locks | aye, talking about hacking makes people wanna hack | 10:02 | |
pmichaud | mberends: are you going to be up for going first? ;-) | 10:04 | |
mberends | pmichaud: yes. I think my topic is good as an overview for the track. | ||
masak | he can give the talk and the go to sleep :) | ||
pmichaud | I agree -- just didn't know if you'd be well-enough-rested after traveling overnight :) | ||
mberends | :D | ||
jonasbn | and then wake up for the bar night | 10:05 | |
pmichaud | oh, there is that. | ||
I like the "Too Cool for IE" marker at the bottom right of the OSD pages :) | |||
jnthn | pmichaud: You should see what happens in IE6. :-) | ||
pmichaud | I hope it's very apocalyptic. | 10:06 | |
jnthn | Yes, it displays the plans for a new programming langauge. | 10:08 | |
pmichaud | "We'll rid the world of IE6 about the same time that Perl 6 comes out. Shortly after DNF is released." | 10:09 | |
jnthn | It'll run on a Javascript backend that's incompatible with IE6? | 10:11 | |
10:12
kst`` joined
10:13
kst` left
|
|||
pmichaud | something like that. | 10:13 | |
arnsholt | jonasbn: You around? | 10:14 | |
jonasbn | yes | ||
arnsholt | Ah, excellent | 10:15 | |
Do you know of any decent places to stay near the hackathon venue, suitable for a student budget? | |||
10:15
bacek joined
|
|||
bacek | o hai | 10:15 | |
seen moritz_ | 10:16 | ||
jonasbn | arnsholt: check www.opensourcedays.org/2010/node/283 | 10:17 | |
the hostels are cheap I guess | |||
Su-Shee | the entire perl schedule is perl6? :) | 10:19 | |
pmichaud | it's a "Perl 6 Hackathon", so yes :) | ||
Su-Shee | denmark will be assimilated. ;) | ||
arnsholt | jonasbn: Thanks | 10:20 | |
10:22
riffraff joined
|
|||
bacek | pmichaud, aloha. Do you have time for couple of questions? | 10:25 | |
10:26
orafu left
|
|||
pmichaud | yes, although I may have to disappear suddenly at any moment. | 10:26 | |
bacek | ok | ||
jonasbn | arnsholt: looking forward to seeing you in Copenhagen | ||
10:26
orafu joined
|
|||
bacek | 1. Can you quick review my fork of nqp-rx for Settings? | 10:26 | |
pmichaud | not at the moment, I should be able to do so in the next ~12 hrs | 10:27 | |
bacek | 2. What is best NQP/Perl6 replacement for $absolute ||= $body =~ s/\bgoto\s+ADDRESS\((.*?)\)/{{=$1}}/mg; | ||
pmichaud | there's not a built-in for NQP to do that. | 10:28 | |
one could do the match, get the match object details, and do the substitutions | |||
but one of the things japhb++ worked on was providing a .subst method for being able to do /g | |||
bacek | I know. But implementing it in function form looks awful. | ||
subst($body, /\b/, { eval('{{$0}}') } ); | 10:29 | ||
something like this | |||
pmichaud | you want it to execute a goto? | ||
bacek | no | ||
I want replace "goto" with "{{=$1}}" | 10:30 | ||
ops2c actually want it. | |||
But nqp chokes on parsing {} inside strings. Or I totally misunderstand Perl6 string interpolations... | |||
pmichaud | {} inside double-quoted strings is a closure interpolation. | 10:31 | |
nqp: say("3 + 2 = {3 + 2}"); | |||
p6eval | nqp: OUTPUT«3 + 2 = 5» | ||
pmichaud | so if you want braces in the output, you probably need to backwhack them | 10:32 | |
nqp: say("3 + 2 = \{3 + 2\}"); | |||
p6eval | nqp: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 1current instr.: 'parrot;Regex;Cursor;FAILGOAL' pc 1664 (src/Regex/Cursor-builtins.pir:179)» | ||
pmichaud | ooops | ||
pmichaud files nqpbug | |||
jnthn | Well, it makes a change from masak... | ||
;-) | |||
bacek | Unable to parse blockoid, couldn't find final '}' at line 259 | ||
mberends | (laughter) | ||
pmichaud | yeah, looks like an nqp bug | 10:33 | |
nqp: say("3 + 2 = \x[7c]3 + 2\}"); | |||
p6eval | nqp: OUTPUT«3 + 2 = |3 + 2\}» | ||
pmichaud | nqp: say("3 + 2 = \x[7c]3 + 2\}"); | ||
p6eval | nqp: OUTPUT«3 + 2 = |3 + 2\}» | ||
pmichaud | .u { | ||
phenny | U+007B LEFT CURLY BRACKET ({) | ||
pmichaud | nqp: say("3 + 2 = \x[7b]3 + 2}"); | ||
p6eval | nqp: OUTPUT«3 + 2 = {3 + 2}» | ||
masak | wither are nqpbugs filed? just curious. | 10:34 | |
pmichaud | (LTA workaround) | ||
bacek | nqp: subst($body, /\b/, '{{' ~ $0 ~ '}}' ); | ||
p6eval | nqp: OUTPUT«Confused at line 1, near "subst($bod"current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)» | ||
bacek | nqp: my $body; subst($body, /\b/, '{{' ~ $0 ~ '}}' ); | ||
p6eval | nqp: OUTPUT«Confused at line 1, near "subst($bod"current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)» | ||
pmichaud | nqpbugs can go in the issues queue on github or into the parrot trac tracker | ||
I don't think nqp knows $0 | 10:35 | ||
bacek | nqp: my $body; subst($body, /\b/, '{{' ~ $/[0] ~ '}}' ); | ||
pmichaud | although japhb's implementation of subst might be able to do it. and I could perhaps add $0 | ||
p6eval | nqp: OUTPUT«Symbol '$/' not predeclared in <anonymous>current instr.: 'parrot;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
masak | gotcha. thanks. | ||
bacek | Should $/ be always predefined? | ||
pmichaud | in Perl 6, yes, in NQP, we try not to have implicit vars | 10:36 | |
(because they add a lot of overhead to every block) | |||
anyway, I suggest asking japhb++ how to do the subst | 10:37 | ||
he's done it a few times :) | |||
(I'm likely to disappear shortly) | |||
10:37
[particle] left
|
|||
bacek | I already stole his code for subst :) | 10:37 | |
pmichaud | ah | 10:38 | |
then ask him how to make it work :) | |||
bacek | I just cant figure out easy way to present "{{$1}}" in left side :) | ||
pmichaud | I'll look at it a bit later when I review the lib stuff | ||
bacek | ok | ||
nqp: subst($body, /\b/, '{{' ~ $^match[0] ~ '}}' ); | 10:39 | ||
p6eval | nqp: OUTPUT«Confused at line 1, near "subst($bod"current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)» | ||
bacek | sigh... | ||
pmichaud | yes, handling the $0 $1 is always a trick, even in full P6 | 10:40 | |
bacek | nqp: sub foo($body) { subst($body, /\b/, '{{' ~ $^match[0] ~ '}}' ); } | ||
p6eval | nqp: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 1current instr.: 'parrot;Regex;Cursor;FAILGOAL' pc 1664 (src/Regex/Cursor-builtins.pir:179)» | ||
masak | trick? how so? | ||
bacek | nqp: sub foo($body) { subst($body, /\b/, '[[' ~ $^match[0] ~ ']]' ); } | ||
p6eval | nqp: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 1current instr.: 'parrot;Regex;Cursor;FAILGOAL' pc 1664 (src/Regex/Cursor-builtins.pir:179)» | ||
pmichaud | (because it has to be encapsulated in a closure so you get the correct $/ and not the outer one to the subst) | ||
masak | what? no. | ||
.subst isn't specially treated in any way. | 10:41 | ||
the user has to manually provide the closure. | |||
pmichaud | right | ||
that's what I'm saying-- to use $0, you have to put it in a closure | |||
10:41
lestrrat is now known as lest_away
|
|||
pmichaud | (not that .subst does it for you) | 10:41 | |
masak | good. we're in violent agreement. | ||
pmichaud | (I'm a bit distracted atm, so my words are likely not precise) | 10:42 | |
masak | same here. | ||
I read 'trick' as 'a thing we need need to make sure to put into the implementation'. | |||
pmichaud | it's tricky for nqp because not all closures automatically get $/, and pattern matching doesn't automatically set $/ | 10:43 | |
masak | rakudo: use Opendir | ||
p6eval | rakudo 5e5969: OUTPUT«"load_bytecode" couldn't find file 'Opendir.pir'current instr.: '!use' pc 365776 (src/gen/core.pir:54663)» | ||
masak | alpha: use Opendir | ||
p6eval | alpha 30e0ed: OUTPUT«Can't find ./Opendir in @*INCin Main (file <unknown>, line <unknown>)» | ||
masak | Rakudo master only supports .pir module loading so far, yes? | 10:44 | |
pmichaud | and even in rakudo/Perl 6, it's tricky because with .subst(/pattern/, { $0 } ) we have to intercept the $/ that the closure is using and put our own $/ into place | ||
i.e., the $/ acts more like a dynamic variable instead of a lexical one | |||
10:47
kst`` left
|
|||
masak | ooh, cpan6.org/ has a new design. I really like it. too bad that the project, and the person behind it, are essentially disconnected from Perl 6 and the Perl 6 community. | 10:48 | |
too bad also that the page implies that Perl 6 isn't usable at the moment. | |||
CPAN6 also has a release date of April 2010. wonder if that's a coincidence. | 10:49 | ||
10:49
snarkyboojum left
|
|||
pmichaud | depends on someone's definition of usable, as usual. | 10:50 | |
mberends | afk & # Blava guided tour :-) | 10:51 | |
bacek | rakudo: my $str = "yada yada yada goto ADDRESS(dest) foo bar baz"; say $s ~~ /<?wb>goto\s+ADDRESS\((.*)\)/; | 10:58 | |
p6eval | rakudo 5e5969: OUTPUT«Symbol '$s' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
10:58
snarkyboojum joined
|
|||
bacek | rakudo: my $str = "yada yada yada goto ADDRESS(dest) foo bar baz"; say $str ~~ /<?wb>goto\s+ADDRESS\((.*)\)/; | 10:58 | |
p6eval | rakudo 5e5969: OUTPUT«» | ||
bacek | rakudo: my $str = "yada yada yada goto ADDRESS(dest) foo bar baz"; say $str ~~ /<?wb>goto/; | ||
p6eval | rakudo 5e5969: OUTPUT«goto» | ||
bacek | rakudo: my $str = "yada yada yada goto ADDRESS(dest) foo bar baz"; say $str ~~ /<?wb>goto\s+ADDRESS/; | ||
p6eval | rakudo 5e5969: OUTPUT«goto ADDRESS» | ||
bacek | rakudo: my $str = "yada yada yada goto ADDRESS(dest) foo bar baz"; say $str ~~ /<?wb>goto\s+ADDRESS\(.*\)/; | 10:59 | |
p6eval | rakudo 5e5969: OUTPUT«goto ADDRESS(dest)» | ||
pmichaud | << goto \s+ ADDRESS '(' (.*?) ')' / | ||
bacek | pmichaud++ # thanks | 11:00 | |
pmichaud | (backslashes should work also... but the failure of \{ earlier has me a bit skittish. quotes are clearer anyway) | ||
bacek | rakudo: my $str = "yada yada yada goto ADDRESS(dest) foo bar baz"; say $str ~~ /goto \s+ ADDRESS '(' (.*) ')'/; | ||
p6eval | rakudo 5e5969: OUTPUT«» | ||
bacek | bad luck... | ||
pmichaud | rakudo: my $str = "yada yada yada goto ADDRESS(dest) foo bar baz"; say $str ~~ /goto \s+ ADDRESS '(' (.*) ')'/; | ||
p6eval | rakudo 5e5969: OUTPUT«» | ||
pmichaud | rakudo: my $str = "yada yada yada goto ADDRESS(dest) foo bar baz"; say $str ~~ /goto \s+ ADDRESS '(' (.*?) ')'/; | ||
p6eval | rakudo 5e5969: OUTPUT«» | ||
pmichaud | rakudo: my $str = "yada yada yada goto ADDRESS(dest) foo bar baz"; say $str ~~ /goto \s+ ADDRESS '(' /; | 11:01 | |
p6eval | rakudo 5e5969: OUTPUT«goto ADDRESS(» | ||
bacek | rakudo: my $str = "yada yada yada goto ADDRESS(dest) foo bar baz"; say $str ~~ /goto \s+ ADDRESS '(' .* ')'/; | ||
p6eval | rakudo 5e5969: OUTPUT«goto ADDRESS(dest)» | ||
pmichaud | looks like a problem with the subcapture? | ||
maybe: | |||
rakudo: my $str = "yada yada yada goto ADDRESS(dest) foo bar baz"; say $str ~~ /goto \s+ ADDRESS '(' $<addr>=[.*?] ')'/; | |||
p6eval | rakudo 5e5969: OUTPUT«goto ADDRESS(dest)» | ||
bacek | O@ | 11:02 | |
pmichaud | rakudo: my $str = "yada yada yada goto ADDRESS(dest) foo bar baz"; say $str ~~ /goto \s+ ADDRESS '(' $<addr>=[.*?] ')'/; say $<addr>; | ||
bacek | O! | ||
p6eval | rakudo 5e5969: OUTPUT«goto ADDRESS(dest)dest» | ||
pmichaud | (named captures are better documenting anyway :) | ||
bacek smells ignorance of bugs :) | |||
pmichaud | I'm surprised the parens don't work, though, I thought I had tested those. | ||
rakudo: my $str = 'abc'; say $str ~~ / (...) /; | 11:03 | ||
p6eval | rakudo 5e5969: OUTPUT«abc» | ||
11:03
barney joined
|
|||
pmichaud | rakudo: my $str = 'abc'; say $str ~~ / a (.) /; | 11:03 | |
p6eval | rakudo 5e5969: OUTPUT«ab» | ||
bacek | iiuc it should work in nqp? | ||
11:03
am0c left
|
|||
pmichaud | rakudo: my $str = 'abc'; say $str ~~ / a (.*?) c/; | 11:03 | |
p6eval | rakudo 5e5969: OUTPUT«» | ||
pmichaud | rakudo: my $str = 'abc'; say $str ~~ / a (.*) c/; | ||
p6eval | rakudo 5e5969: OUTPUT«» | ||
pmichaud | looks like a backtracking issue. | ||
...and yes, I think I know this bug. | 11:04 | ||
it's not backtracking properly into the subpattern. | |||
I better put that as a high-priority fix... that's likely to cause a lot of confusion. | 11:05 | ||
(I think moritz++ might've reported this bug already, too) | |||
11:05
meppl left
11:11
snarkyboojum left
|
|||
pmichaud | afk, hoping to catch some sleep :-| | 11:26 | |
11:34
bacek left,
snarkyboojum joined
11:52
jonasbn left
11:55
lest_away is now known as lestrrat
12:02
snarkyboojum left
12:10
payload joined
12:12
snarkyboojum joined
12:22
bacek joined
12:27
ignacio_ joined
12:34
iblechbot left
12:37
ignacio_ left,
gfx left
12:49
SmokeMachine joined
|
|||
takadonet | morning all | 12:50 | |
colomon | mathw: Did I hear you say (a few days ago) that you have a wind synth? Which one? | ||
masak | takadonet: \o | 12:51 | |
12:51
b_jonas joined
|
|||
colomon | o/ | 12:52 | |
12:52
ignacio_ joined
12:56
bluescreen joined
13:01
bacek left
|
|||
masak | are types automatically exported from an included module? | 13:03 | |
13:04
stepnem left
13:08
stepnem joined
|
|||
masak | rakudo: sub foo() { try { return 42 }; return 5 }; say foo | 13:10 | |
p6eval | rakudo 5e5969: OUTPUT«5» | ||
masak | o.O | ||
ok, so I know about the returns-are-exception idea, but surely... :/ | |||
s/ion/ions/ | |||
masak submits rakudobug | 13:14 | ||
b_jonas | masak: maybe a bare try like that should only catch some exceptions, not all, like how in ruby a bare catch catches only instances of RuntimeError | 13:15 | |
(thoguh the analogy is not really complete because ruby has like ten different kinds of non-local exits, only some of which are exceptions, and you can only catch exceptions with catch Object) | 13:16 | ||
masak | b_jonas: yes. I believe that's why CONTROL was invented, to enable catching of non-bad exceptions. | ||
13:16
dual joined,
snarkyboojum left
13:20
ignacio_ left
13:21
daemon joined
|
|||
b_jonas | anyway, I think I had a revelation and started to understand why roles might make sense | 13:24 | |
I'm still not sure, but I think I understand | |||
masak | b_jonas: here's my take on it, for what it's worth: use.perl.org/~masak/journal/40107 | 13:25 | |
b_jonas | thanks for the link | 13:29 | |
masak | my pleasure. | 13:31 | |
the funny thing about those roles is that I had factored all of them away a few weeks later. doesn't necessarily disprove the points made in the post, though. :) | |||
mathw | colomon: I've got an Akai EWI4000s | 13:35 | |
b_jonas | only eight, not ten | 13:39 | |
not counting callcc which is implemented in a different way | |||
and threads and fibers | |||
colomon | mathw: I'm jealous. :) | 13:40 | |
b_jonas | so I guess that makes ten | ||
mathw | colomon: Oh really? I wasn't aware that they were a commonly desired instrument :) | ||
IllvilJa | masak: that time traveling debugger you mention (tardis), is it a debugger that allows you to study the state of the debugged program not only at current point of execution but also at any earlier point in time during that exec? | 13:41 | |
masak | IllvilJa: that's what it is, yes. | ||
IllvilJa | masak++! | 13:42 | |
masak | IllvilJa: I felt a pressing need for it when writing an operator precedence parser in Perl 6 last year :) | ||
colomon | mathw: well, it's mostly the wind controller idea. I've wanted one for about fifteen years. (Though apparently not enough to ever buy one for myself; these days I'm much more into very simple acoustic stuff.) | ||
IllvilJa | Would be wonderful for debugging... we all know how to use it: run the code ONCE until it breaks/crashes/barfs and from there, backtrack until one finds the root cause. | 13:43 | |
But does not that require a (potentially) quite large 'log' of all execution and all variable changes, or will it allow you to explicitly specify some variables to keep track of? | 13:44 | ||
masak | IllvilJa: there are all sorts of performance and memory problems involved in creating a time-travelling debugger. I guess that's why they're not extremely common. | 13:47 | |
IllvilJa: our goal right now is just to have fun until we hit an actual limit of some kind. | |||
jnthn | lol we're back! | 13:55 | |
masak | \o/ | 13:59 | |
IllvilJa | masak: is 'hitting a limit of some kind' and 'having fun' really mutually exclusive? ;-) | 14:02 | |
14:06
b_jonas left
|
|||
masak | IllvilJa: I wasn't implying we won't have fun after hitting the limit, or during :P | 14:07 | |
14:08
betterworld joined
14:10
IllvilJa left,
Sarten-X left,
pmurias joined
14:11
cognominal left
|
|||
pugssvn | r29916 | pmurias++ | [mildew] simple gtk based profiling | 14:11 | |
r29917 | pmurias++ | [mildew] display the elapsed time on blocks | 14:12 | ||
pmurias | masak: re CPAN6 as it seems to be content independent it doesn't seem to be a big problem that the author is not closely involved in Perl6 | 14:19 | |
masak | pmurias: you might be right. on the other hand, I wouldn't mind seeing a CPAN-like solution which specifically took S11 into account. | 14:23 | |
CPAN6 seems to be going in the generalizing direction rather than specializing on Perl 6. I can see advantages of doing the latter, too. | |||
14:24
IllvilJa joined,
cognominal joined
|
|||
BinGOs | if perl6 was backwards compatible you could have just used CPAN | 14:25 | |
pmurias | masak: Mark Overmeer is the person behing CPAN6? | ||
masak | pmurias: yes. | ||
BinGOs: some people (moritz++, szabgab++) have been using CPAN for Perl 6 modules. there's not really any problem in doing that, it's just that we foresee that Perl 6 might have needs above and beyond CPAN. | 14:27 | ||
pmurias | masak: he takes part in p6l so he's involved to a certain degree | ||
masak | pmurias: that's true. he was involved in the Pod discussions. | 14:28 | |
what I mean is that not much of the CPAN6 development is visible to the Perl 6 community, on p6l or anywhere else. | 14:29 | ||
PerlJam | If CPAN grows enough to support Perl 6, it'll be able to support anything else. No sense in mentioning the Perl specificity any more at that point. | 14:32 | |
BinGOs | I think it is doable. | 14:34 | |
I don't like the idea of having Perl6:: this and that. | |||
I think if the two toolchains are distinct it could work. | 14:35 | ||
Perl5 has Makefile.PL and Build.PL | |||
Perl6 has something shiny | |||
masak | also, the Perl6:: namespace is traditionally meant for Perl 5 modules emulating Perl 6 behaviour. | ||
14:36
[particle] joined
|
|||
PerlJam | Is GGE in the Perl6:: namespace? | 14:36 | |
BinGOs | the Perl5 toolchain doesn't find Makefile.PL/Build.PL but a Shiny.PL it knows to ignore that distribution | ||
14:36
barney left
|
|||
BinGOs | and vice versa | 14:36 | |
masak | PerlJam: not in any sense I can think of, no. | 14:37 | |
BinGOs | Just my pennyworth. | 14:38 | |
14:42
rv2733 joined
14:48
mssm left,
pmurias left,
Guest27086 left
14:55
snarkyboojum joined,
jonasbn joined
14:57
nihiliad joined
|
|||
jonasbn | the hotel information is now available in the Wiki and I have sent a mail to the perl6-workshops listing | 15:06 | |
15:06
uniejo left
|
|||
jonasbn | let me know if you need anything else | 15:06 | |
arnsholt: ping | |||
15:09
PacoLinux joined
|
|||
masak | jonasbn++ | 15:09 | |
15:11
ignacio_ joined
15:18
[particle] left
|
|||
Tene | ... rakudo doesn't support loading modules? why didn't anyone tell me this? It's now added to my task queue. | 15:29 | |
Tene afk work. | |||
15:31
iblechbot joined
|
|||
colomon | Tene: ... use Test works, right? | 15:33 | |
15:34
[particle] joined,
kcwu joined
|
|||
Tene | colomon: yes, but it loads Test.pir | 15:35 | |
colomon | I see. Carry on. :) | 15:36 | |
15:36
ignacio_ left
15:39
justatheory joined
15:40
Psyche^ joined
15:41
astrojp joined,
rgrau joined
|
|||
arnsholt | jonasbn: pong? | 15:42 | |
jonasbn | arnsholt, just for your information, all of the invited ppl are staying at the hotel listed in the wiki | 15:43 | |
arnsholt | Ah, thanks | 15:44 | |
15:44
Patterner left,
Psyche^ is now known as Patterner
|
|||
jonasbn | I have only just received confirmation | 15:44 | |
arnsholt | Hmm. It's actually a bit cheaper than a single room at the hostel nearby | 15:45 | |
jonasbn | hehehe | ||
well I do not know if there is room, but you can always try, it is often nicer to tag along with other attendees | 15:46 | ||
arnsholt | Indeed | ||
masak | I totally dig that map. www.opensourcedays.org/2010/node/283 -- if this isn't living in the digital future, I don't know what is. | 15:47 | |
15:50
ignacio_ joined
|
|||
eternaleye | rakudo: class Fruit { method height() { (1..10).pick; }; }; my Fruit @problems .= map: *.new; my $low = 3; say +( @problems.grep( $low >= *.height ) ) ~ " low-hanging fruit picked!"; | 15:51 | |
p6eval | rakudo 5e5969: OUTPUT«No candidates found to invokecurrent instr.: '!dispatch_.=' pc 440 (src/glue/dispatch.pir:118)» | ||
15:52
[particle] left
|
|||
eternaleye | alpha: class Fruit { method height() { (1..10).pick; }; }; my Fruit @problems .= map: *.new; my $low = 3; say +( @problems.grep( $low >= *.height ) ) ~ " low-hanging fruit picked!"; | 15:52 | |
p6eval | alpha 30e0ed: OUTPUT«Confused at line 10, near ": *.new; m"in Main (file <unknown>, line <unknown>)» | ||
arnsholt | masak: Definitely. Makes it that much easier to decide where to stay, instead of using street adresses, which are pretty much meaningless in an unfamiliar city | ||
eternaleye | Is what I'm inputting above sensible? | 15:54 | |
Oh wait | 15:55 | ||
rakudo: class Fruit { method height() { (1..10).pick; }; }; my Fruit @problems[10] .= map: *.new; my $low = 3; say +( @problems.grep( $low >= *.height ) ) ~ " low-hanging fruit picked!"; | |||
p6eval | rakudo 5e5969: OUTPUT«No candidates found to invokecurrent instr.: '!dispatch_.=' pc 440 (src/glue/dispatch.pir:118)» | ||
eternaleye | rakudo: class Fruit { method height() { (1..10).pick; }; }; my Fruit @problems = (1..10).map: Fruit.new; my $low = 3; say +( @problems.grep( $low >= *.height ) ) ~ " low-hanging fruit picked!"; | 15:56 | |
p6eval | rakudo 5e5969: OUTPUT«No candidates found to invokecurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
Tene | height that varies each time you look at it, eh? So if it's too high the first timy ou try, just try again. | 15:58 | |
16:00
[particle] joined
|
|||
masak | "No candidates found to invoke" feels like a last-resort error message to me. in many situations, one could probably give more clues than that. | 16:03 | |
jnthn | That's an odd one. | 16:07 | |
I'm not sure where it's coming from. | |||
ah, it is a Rakudo one, but should only show up in...unusual...circumstances. :-/ | |||
rakudo: say (*.height).WHAT | 16:08 | ||
p6eval | rakudo 5e5969: OUTPUT«Block()» | ||
m-locks | rakudo: (1..10).pick; | ||
p6eval | rakudo 5e5969: ( no output ) | ||
m-locks | rakudo: say (1..10).pick; | ||
p6eval | rakudo 5e5969: OUTPUT«10» | ||
16:08
Trashlord joined
16:11
mberends left
16:14
|newbie| joined
|
|||
masak | |newbie|: welcome :) | 16:15 | |
16:15
|newbie| is now known as jaffa4
|
|||
jaffa4 | thanks. | 16:15 | |
masak | oh, it's you :P | ||
jaffa4 | it s fun to be here under a different name | ||
masak | sure, if you have nothing better to do... | 16:16 | |
16:16
rv2733 left
|
|||
jaffa4 | !seen diacopter | 16:17 | |
masak | ENOPURL | ||
jaffa4 | !seen diakopter | ||
masak | jaffa4: diakopter was last seen on 06:44 UTC. | 16:18 | |
jaffa4 | in the morning? | 16:19 | |
where is he? | |||
16:20
vorner joined
|
|||
masak | he seems to inhabitate the Krupier belt, mostly. but he has been known to swing by the moons of Neptune. | 16:20 | |
16:20
kleanchap joined
|
|||
jaffa4 | what is his country? | 16:21 | |
16:21
[particle] left
|
|||
masak | are you from the FBI? | 16:21 | |
jaffa4 | do you have something to hide? | ||
masak | I don't know; should I? | ||
TimToady | What is your Quest? | 16:22 | |
What is your favourite Colour? | |||
masak | I seek the Holy Parse. blue. | 16:23 | |
no wait. | |||
masak is catapulted down a ravine | |||
jaffa4 | Are you paranoid? | ||
masak hugs jaffa4 | 16:24 | ||
16:24
mberends joined,
alester joined
|
|||
jaffa4 | I want to know his country so I can predict when he is going to visit this channel. | 16:24 | |
16:25
masak left
|
|||
jaffa4 | Probably when he is awake. | 16:25 | |
16:25
masak joined
|
|||
masak | jaffa4: yes, probably then. | 16:25 | |
TimToady | diakopter's waking hours are not well correlated with his position, but he happens to be residing in California currently. | ||
jaffa4 | that means he can be awake soon | 16:26 | |
TimToady | why can correlate and corollary spell themselves the same way on the front? | 16:27 | |
*can't | |||
my n't key seems to be giving me trouble lately | |||
masak | you have an actual n't key? | 16:28 | |
that's a neat idea. | |||
jaffa4 | you could introduce a shortcut | ||
eg, nt= n't | |||
16:28
jonasbn left
|
|||
masak | wouldn't want that. | 16:28 | |
but putting it on an unused key sounds like a nice idea. | |||
jnthn | That just isnt as cool. | ||
masak | hehe jn'thn :) | 16:29 | |
mberends | you wouldn't wan't it all the time | ||
jnthn | You can stick an apostrophe in me, but I'll still be a valid Perl 6 identifier. | ||
masak | sometimes you don't in'tend to type n't. | ||
jnthn: :D | 16:30 | ||
16:30
meppl joined
|
|||
jaffa4 | do not abbreviate! | 16:30 | |
TimToady | sez hoo? | 16:31 | |
masak | is that you, Strunk and White? | ||
jnthn | I went in'to town in'terested in in'tercepting an in'telligent in'terior designer. | ||
...yeah, it'd suck sometimes. | |||
:-) | |||
mberends | windows n't | 16:32 | |
masak | an an't colony. | 16:34 | |
16:35
ignacio_ left
|
|||
arnsholt | TimToady: IIRC corollary and corellate are spelled differently because of ablaut | 16:35 | |
masak | also, there are the few occasions when you actually want to write 'cant' or 'wont'. | ||
arnsholt | Quite possibly the funkiest part of Indo-European languages =D | ||
jnthn is wont to cant. | |||
16:36
^kleanchap joined
|
|||
jaffa4 | about should not? | 16:36 | |
masak | arnsholt: I really like that explanation! is it related to 'correlate' having the stress on the first syllable? | ||
arnsholt | masak: A bit out of my depth, but AFAIK ablaut and stress are not strictly correlated | 16:37 | |
16:37
[particle] joined
|
|||
masak | arnsholt: ok. just checking. | 16:37 | |
arnsholt | Although derivations with ablaut might sometimes have different stress as well | ||
Ablaut is just the vowel alternation, like deus (god) -> divinus (godlike) | 16:38 | ||
masak | nod. | ||
jnthn | sing/sang/sung, etc? | ||
16:39
kleanchap left
|
|||
arnsholt | jnthn: Indeed. The Germanic strong verbs are remnants of the ablaut system | 16:39 | |
masak | I'm kinda fond of that. it's quirky but colourful. | 16:42 | |
arnsholt | Ablaut is quite awesome | ||
16:42
^kleanchap left
|
|||
arnsholt | Particularly when you get to the languages where it's more or less a productive phenomenon, like Sanskrit | 16:42 | |
Almost as Semitic root structure ^^ | 16:43 | ||
Almost as awesome, even | |||
masak | 'productive phenomenon'? | 16:45 | |
16:45
abra joined
|
|||
arnsholt | masak: Well, it's hypothesised that in the protolanguage, this was the normal way of deriving new words from other words | 16:46 | |
And in Sanskrit, you can still do that to a certain extent | |||
TimToady | like certain prefixes/suffixes are productive in English | 16:47 | |
antidisestablishmentarianism | |||
masak | i.e. able to produce an open set of new words/meanings? | ||
TimToady | yes | ||
masak | got it. | ||
TimToady | yesish, anyway | ||
masak | :D | ||
16:47
estrabd left
16:48
ignacio_ joined
|
|||
TimToady | its truthinesslessness is apparent | 16:48 | |
arnsholt | masak: en.wikipedia.org/wiki/Productivity_(linguistics) for more gory details =) | ||
masak | arnsholt: thank you. added to the queue :) | 16:49 | |
pmichaud | masak, jnthn, moritz, mberends: see /invite | ||
arnsholt | Heh. I'm also available for monologuing in Copenhagen =) | 16:50 | |
16:52
colomon left
16:53
silug joined
|
|||
TimToady | George might have done it, but I'd'ven't. | 16:56 | |
masak | that took a while to parse. | 16:57 | |
is that a negated conjunctive? | |||
dalek | kudo: e3f183e | jonathan++ | src/cheats/use.pir: Don't crash in use if we don't find a namespace with a matching name. |
16:58 | |
kudo: 6867a56 | jonathan++ | src/Perl6/Actions.pm: Try to do use actually at BEGIN-ish time, and fix up routine traits so they can see a block's signature. |
|||
17:01
athenot joined
17:02
uniejo joined
17:06
kcwu left
17:09
kcwu joined
17:13
hercynium left
17:14
rgrau left
17:15
snarkyboojum left
|
|||
masak | wow, I'd'ven't actually gives a couple hundred Google hits! | 17:17 | |
"If they weren't real words, I'dn't've mentioned them!" :D | |||
PerlJam | Heh, I just got an email from the director of a place called "Plasma Engineering Research Lab (PERL)" :-) | 17:18 | |
masak | so that's what it stands for! | ||
'Is is now OK to say "I'd'ven't'd that extra piece of pie."?' | 17:19 | ||
17:22
pyrimidine joined
|
|||
Tene | Re: recent discussions about time: news.yahoo.com/s/space/20100302/sc_...aysonearth | 17:22 | |
.title | |||
phenny | Tene: Chile Earthquake May Have Shortened Days on Earth - Yahoo! News | ||
Tene | ""... should have shortened the length of an Earth day by 1.26 milliseconds..." | 17:23 | |
masak | now that you mention it, I did feel I haven't gotten a full night's sleep lately... | ||
jnthn | masak: Suggest going to bed 1.26 milliseconds earlier on a night to compensate. | 17:25 | |
masak | jnthn: I'd have to revise my schedule... | ||
Tene | masak: are you: 1) woken by the sun instead of by an alarm clock, 2) woken by an alarm clock that measures time by detecting the rotation of the earth, or 3) have an alarm clock that's affected by quakes in the same was as the earth? | 17:26 | |
... or I guess it could affect the time you go to bed instead, I guess. | 17:27 | ||
masak | Tene: I really like the thought that you put into that. :) | 17:28 | |
Tene | masak: I really like the blackberry pie I'm eating for a late breakfast. | 17:29 | |
masak .oO( smartphone pie ) | 17:30 | ||
Tene | masak: not the phone, these: en.wikipedia.org/wiki/File:Ripe,_ri...erries.jpg | ||
:P | |||
PerlJam tries to make sense of masak and fails | |||
17:30
ignacio_ left
|
|||
PerlJam | :-) | 17:31 | |
masak | I'm just in a silly mood, I think. :) | ||
pmichaud | hahahahahahaha "blackberry pie" ahahahahahahahahah | ||
L.O.L. | |||
masak | :) | ||
PerlJam | masak++ "a little nonsense now and then is relished by the wisest men" | ||
pmichaud | PerlJam: that's a wonky quote :) | ||
masak | well, if Tene relishes pie, I guess I'll have to make do with nonsense. | 17:32 | |
diakopter | masak: did you see my masakbot hilites the past 24 hours | ||
masak | diakopter: no, but now that you've alerted me to them... | ||
diakopter++ | |||
diakopter | see the irclog... | ||
some bugs and maybe-bugs | |||
masak | gotcha. | ||
17:33
pmurias joined
|
|||
masak | diakopter: also, a secret agent disguised as jaffa4 was asking for you earlier. | 17:33 | |
diakopter | yeah | ||
Tene | ew relish pie | 17:34 | |
pmurias | diakopter: hi | ||
cj | diakopter: I'm thinking about gsoc and perl6 and the dlr | ||
diakopter | pmurias: hi | ||
cj: gsoc? | |||
pmurias | google summer of code | 17:35 | |
cj | diakopter: summer of code | ||
diakopter | cj: know any .NET students? | ||
cj | diakopter: what is a .NET student? | ||
diakopter | a student who uses .NET? | ||
cj | diakopter: sure, there are a few in my department. why? | ||
diakopter | oh | ||
cj | diakopter: I'm a grad student now, so I think I qualify to apply ;) | 17:36 | |
diakopter | ah | ||
cj | diakopter: you've put more time and energy into evaluating the dlr than I have... is it worth considering? | 17:38 | |
diakopter | cj: I went back and forth on it for a year, and I'm currently at the "yes" point | ||
tho I'm working on my own micro-dlr | |||
based on runsharp | |||
cj looks up runsharp | 17:40 | ||
17:40
dakkar left,
pyrimidine left
17:41
pyrimidine joined
|
|||
cj | looks pretty flexible | 17:43 | |
diakopter | I added named locals and named labels/gotos | ||
17:44
meppl left
17:45
ignacio_ joined,
colomon joined
|
|||
cj | hmmm... should I propose the project to MS or TPF? MS has offices and would probably have office space for me to work from. But TPF is more involved in "teh community" | 17:47 | |
diakopter | how would you propose the project to ms? | 17:48 | |
cj | but the latter might be an argument for MS, since it would be nice to drag them kicking and screaming into participation ;) | ||
diakopter | through gsoc? | ||
17:49
ignacio_ left
|
|||
pmurias | Microsoft takes part in gsoc? | 17:50 | |
cj | diakopter: yeah... "Mentoring Organizations" need to apply to GSoC to list proposed "ideas" | ||
17:50
iblechbot left
|
|||
diakopter | oh; heh | 17:50 | |
cj | pmurias: I could probably convince them to | ||
diakopter coughs | |||
diakopter IMs jschem | 17:51 | ||
cj | it would probably be CodePlex and not MS directly | ||
diakopter: yeah, jimmy would be a good contact | |||
diakopter: especially since I've worked with him on packing the dlr for debuntu | |||
cj has the distinction of having packaged for Debian the first piece of software with official upstream support from MS | 17:52 | ||
diakopter | and the rue of some portion of ubuntu community :P | 17:54 | |
cj | diakopter: haters :) | 17:55 | |
pmurias | cj: what do you intend your project to be? | 17:56 | |
cj | pmurias: an implementation of perl6 using the dlr | 17:57 | |
pyrimidine | rakudo: @*INC.push('./foo'); @*INC.join(':').say; | ||
p6eval | rakudo 6867a5: OUTPUT«/home/p6eval/.perl6/lib:/home/p6eval//p2/lib/parrot/2.1.0-devel/languages/perl6/lib:lib:.:./foo» | ||
pmurias | cj: that seems to be loads of work | ||
diakopter | cj: the biggest hump is the first one - the parser | ||
cj | pmurias: get a few tests to pass, put a repo up on github or something where development can be coordinated | ||
pyrimidine | rakudo: BEGIN{ @*INC.push('./foo');}; @*INC.join(':').say; | 17:58 | |
p6eval | rakudo 6867a5: OUTPUT«Confused at line 11, near "BEGIN{ @*I"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
cj | I guess diakopter already started a github repo | ||
diakopter | cj: yes, you can use it | ||
I'm using svn | |||
on googlecode | |||
pyrimidine | rakudo: BEGIN{ @*INC.push('./foo'); }; @*INC.join(':').say; | ||
p6eval | rakudo 6867a5: OUTPUT«Confused at line 11, near "BEGIN{ @*I"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
diakopter | rakudo: BEGIN { @*INC.push('./foo'); }; @*INC.join(':').say; | 17:59 | |
p6eval | rakudo 6867a5: OUTPUT«/home/p6eval/.perl6/lib:/home/p6eval//p2/lib/parrot/2.1.0-devel/languages/perl6/lib:lib:.» | ||
pyrimidine | rakudo: BEGIN{ @*INC.push('./foo');}; @*INC.join(':').say; | 18:00 | |
p6eval | rakudo 6867a5: OUTPUT«Confused at line 11, near "BEGIN{ @*I"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
18:00
kcwu left
|
|||
pyrimidine | ahh... | 18:00 | |
rakudo: BEGIN { @*INC.push('./foo');}; @*INC.join(':').say; | |||
p6eval | rakudo 6867a5: OUTPUT«/home/p6eval/.perl6/lib:/home/p6eval//p2/lib/parrot/2.1.0-devel/languages/perl6/lib:lib:.» | ||
pyrimidine | BEGIN block isn't working yet, I'm guessing | 18:01 | |
18:03
kcwu joined,
colomon left
|
|||
pmurias | cj: it could make sense to do it with CodePlex with a DLR knowledgable mentor | 18:04 | |
18:04
ignacio_ joined
|
|||
diakopter | cj: since it would take years to get a working grammar engine, I recommend using Larry's standard parser in Perl 6 (transliterated to Perl 5) as the front-end | 18:05 | |
and of course not allowing dynamic grammars/slangs | |||
18:07
colomon joined
|
|||
TimToady | despite the fact that Larry's standard parser does allow them? :) | 18:07 | |
you just don't want to implement BEGIN... :) | 18:08 | ||
diakopter | yes, but not in user input | ||
oh wait | |||
yes, BEGIN; sry | |||
and eval STRING | |||
and such | |||
pmurias | eval string is a different beast | ||
cj: if you want to add a .NET backend to mildew i could help with that | 18:11 | ||
jaffa4 | what is mildew? | 18:12 | |
18:13
alester left
|
|||
pmurias | a Perl 6 to js or C+smop compiler | 18:13 | |
jaffa4 | smop? | 18:14 | |
pmurias | www.perlfoundation.org/perl6/index.cgi?smop | ||
18:17
stephenlb joined
|
|||
jaffa4 | and where is the project? | 18:20 | |
masak | svn.pugscode.org/pugs/v6/mildew/ | 18:22 | |
svn.pugscode.org/pugs/v6/smop/ | |||
colomon | > (1, { 1 / ((1 / $_) + 1) } ... *).batch(10).perl.say | 18:23 | |
(1, 1/2, 1/3, 1/4, 1/5, 1/6, 1/7, 1/8, 1/9, 1/10) | |||
Just wanted to share. ;) | |||
masak | colomon++ | 18:24 | |
colomon | I really dig the new series syntax. Just hope we can get it all actually implemented. | ||
masak | rakudo: my Hash $x; $x[1] # by diakopterbot | 18:25 | |
p6eval | rakudo 6867a5: OUTPUT«No applicable candidates found to dispatch to for '_block12568'current instr.: 'perl6;Perl6Role;!select' pc 9770 (src/gen/RoleToClassApplier.pir:574)» | ||
masak submits rakudobug | |||
18:25
ignacio_ left
|
|||
masak | alpha: my Hash $x; $x[1] | 18:25 | |
p6eval | alpha 30e0ed: ( no output ) | ||
masak | o.O | ||
pugssvn | r29918 | colomon++ | [t/spec] Start of simple test file for arity-1 series. | ||
masak | locally, alpha says "Could not build C3 linearization: ambiguous hierarchy". I recognize that error. it's in some other bug ticket. | 18:26 | |
but this is a new issue, so new ticket it is. | |||
pyrimidine | masak: while digging through RT loking for BEGINS bugs, noticed rt#71096 appears to be fixed | 18:27 | |
masak | pyrimidine: feel free to close it, then. | ||
pyrimidine | s/loking/looking/ | ||
ok | |||
masak | pyrimidine++ | 18:28 | |
pyrimidine | rakudo: my $a; BEGIN { $a = 42 }; | ||
p6eval | rakudo 6867a5: ( no output ) | ||
18:28
snarkyboojum joined
|
|||
pyrimidine | note that doesn't mean BEGIN works atm | 18:29 | |
rakudo: my $a; BEGIN { $a = 42 }; say $a; | |||
p6eval | rakudo 6867a5: OUTPUT«Any()» | ||
masak | rakudo: rakudo: my Hash $x | ||
p6eval | rakudo 6867a5: OUTPUT«Confused at line 11, near "rakudo: my"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | 18:30 | |
masak | erm. | ||
rakudo: my Hash $x | |||
p6eval | rakudo 6867a5: ( no output ) | ||
masak | rakudo: my %x; %x[1] | ||
p6eval | rakudo 6867a5: OUTPUT«Method 'postcircumfix:<[ ]>' not found for invocant of class ''current instr.: '!postcircumfix:<[ ]>' pc 10518 (src/builtins/Role.pir:45)» | ||
snarkyboojum | is there going to be vid of any of the copenhagen hackathon talks? :) | 18:31 | |
the talks look very juicy | |||
pyrimidine | masak: getting a 'permission denied' on closing that ticket (#71096). :-( | 18:32 | |
colomon | snarkyboojum: what's the link for the talk descriptions? | ||
masak | snarkyboojum: haven't heard anything about vids. wouldn't rule it out, though. ask jonasbn++ | ||
snarkyboojum thinks there should be a crew of dedicated video guys doing vid of Perl 6 talks as a matter of course :) | |||
masak | pyrimidine: I'll do it. we should give you an account. | 18:33 | |
snarkyboojum | masak: cheers | ||
masak | std: my Any %.x=3,%.x; | ||
p6eval | std 29917: OUTPUT«ok 00:01 109m» | ||
masak | rakudo: my Any %.x=3,%.x; | ||
snarkyboojum | colomon: I'm looking at www.opensourcedays.org/2010/node/267 | ||
p6eval | rakudo 6867a5: OUTPUT«Lexical 'self' not foundcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
masak submits LTA rakudobug | |||
snarkyboojum | under the Perl column on the right :) | ||
colomon | snarkyboojum++ # and that does look like a sweet schedule. | 18:34 | |
masak | colomon: www.opensourcedays.org/2010/node/267 | ||
oh. snarkyboojum++ beat me to it :) | |||
snarkyboojum curses being in the southern hemisphere (at least momentarily) | |||
:) | |||
colomon | masak++ # even if he is slow. ;) | ||
masak | the "Perl" is in fact _only_ Perl 6 :) | ||
colomon | I loved that. | 18:35 | |
snarkyboojum | hehe.. I like that | ||
colomon | rakudo: say Block ~~ Code | ||
p6eval | rakudo 6867a5: OUTPUT«1» | ||
masak | rakudo: Block() | ||
p6eval | rakudo 6867a5: OUTPUT«Could not find non-existent sub &Blockcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
pyrimidine | masak: np, let me know re: account | ||
masak | rakudo: Block.() | ||
p6eval | rakudo 6867a5: OUTPUT«Null PMC access in invoke()current instr.: 'perl6;Code;callwith' pc 12703 (src/builtins/Str.pir:23)» | ||
masak submits rakudobug | |||
rakudo: Code.() | 18:36 | ||
p6eval | rakudo 6867a5: OUTPUT«Null PMC access in invoke()current instr.: 'perl6;Code;callwith' pc 12703 (src/builtins/Str.pir:23)» | ||
masak | pyrimidine: I actually don't really know who to ask. I forgot. | ||
pyrimidine: moritz_++ would know. | |||
cj | snarkyboojum: hi! ltns ;) | 18:37 | |
18:38
ignacio_ joined
|
|||
masak | rakudo: Sub.() | 18:39 | |
p6eval | rakudo 6867a5: OUTPUT«Null PMC access in invoke()current instr.: 'perl6;Code;callwith' pc 12703 (src/builtins/Str.pir:23)» | ||
masak | rakudo: Method.() | ||
p6eval | rakudo 6867a5: OUTPUT«Null PMC access in invoke()current instr.: 'perl6;Code;callwith' pc 12703 (src/builtins/Str.pir:23)» | ||
masak | rakudo: Class.() | ||
p6eval | rakudo 6867a5: OUTPUT«Could not find non-existent sub &Classcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
masak | oh, right. | ||
rakudo: Any.() | |||
p6eval | rakudo 6867a5: OUTPUT«invoke() not implemented in class 'Any'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
masak | rakudo: Multi.() | 18:40 | |
p6eval | rakudo 6867a5: OUTPUT«Null PMC access in invoke()current instr.: 'perl6;Code;callwith' pc 12703 (src/builtins/Str.pir:23)» | ||
masak | rakudo: Routine.() | ||
p6eval | rakudo 6867a5: OUTPUT«Null PMC access in invoke()current instr.: 'perl6;Code;callwith' pc 12703 (src/builtins/Str.pir:23)» | ||
masak | rakudo: Callable.() | ||
p6eval | rakudo 6867a5: OUTPUT«invoke() not implemented in class 'Perl6Role'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
18:40
am0c joined
18:41
snarkyboojum left
|
|||
masak | rakudo: say 0.00000000000000000000 # also by diakopterbot | 18:42 | |
p6eval | rakudo 6867a5: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'current instr.: 'perl6;Rat;new' pc 317386 (src/gen/core.pir:37507)» | ||
masak | rakudo: say 0.0000000000000000000 | ||
p6eval | rakudo 6867a5: OUTPUT«Nominal type check failed for parameter '$b'; expected Int but got Num insteadcurrent instr.: 'perl6;Rat;gcd' pc 316806 (src/gen/core.pir:37282)» | ||
masak submits rakudobug | |||
this one is very close to getting a [WEIRD] label, but I think it might actually occur in someone's code, so... | 18:43 | ||
jaffa4 | rakudo is the most complete implementtation now | 18:45 | |
, is it not? | |||
masak | I would say so, yes. but Pugs still has some things Rakudo doesn't, I believe. | ||
but in terms of raw test-passing numbers, sure. | 18:46 | ||
jaffa4 | I could not compile pugs | ||
pugs is dead. | |||
If I know it correctly | |||
masak | it's hibernating. | ||
18:46
colomon left
|
|||
jaffa4 | vapourware? | 18:47 | |
masak | the attention it gets is in the form of updates to the newest GHC compiler, IIUC. | ||
jaffa4: no, vapourware is a product with no releases and a lot of hype. | |||
18:47
ignacio_ left
|
|||
masak | Pugs had a number of releases in its time. | 18:47 | |
diakopter | jaffa4: pugs is obtained from hackage | ||
pyrimidine | Duke Nukem Forever | ||
diakopter | not from pugscode | ||
it's still maintained | 18:48 | ||
pyrimidine | diakopter: by audreyt? | ||
masak | rakudo: say 0xFFFFFFFFFFFFFFFF # diakopterbot | 18:50 | |
p6eval | rakudo 6867a5: OUTPUT«-1» | ||
jaffa4 | ok | ||
masak submits rakudobug | |||
rakudo: say 0o7777777777777777777777 | 18:51 | ||
p6eval | rakudo 6867a5: OUTPUT«-1» | ||
diakopter | pyrimidine: yes | ||
pyrimidine | ok, nice to know! | ||
diakopter | jaffa4: hackage.haskell.org/package/Pugs last release 2009-12-16 | ||
for GHC 6.10 | 18:52 | ||
18:53
jonasbn joined
|
|||
jonasbn | good evening ppl | 18:54 | |
diakopter | it's broken up into a couple others: hackage.haskell.org/package/pugs-DrIFT hackage.haskell.org/package/pugs-compat hackage.haskell.org/package/MetaObject hackage.haskell.org/package/HsParrot | ||
masak | jonasbn: \o | ||
diakopter | and hackage.haskell.org/package/HsSyck | ||
masak | I'm hungry now. time to care about nom. | ||
18:54
masak left
19:02
aesop left
19:06
kcwu left
19:08
meppl joined
19:09
abra left
19:10
xomas joined,
xomas left,
xomas joined,
riffraff left
19:11
colomon joined
19:13
kcwu joined
|
|||
pugssvn | r29919 | colomon++ | [t/spec] Arity-0 test added. | 19:16 | |
19:19
kcwu left
19:22
kcwu joined
19:23
cotto_work joined,
Chillance joined
19:24
ignacio_ joined
19:25
uniejo left
19:33
kcwu left
19:34
am0c left
19:35
cotto_work left
19:36
aesop joined,
jaldhar left
19:47
cotto_work joined
19:56
Trashlord left
19:58
cotto_work left
20:05
payload left
20:09
bacek joined
20:11
cotto_work joined
20:12
kst joined
20:17
lichtkind joined
20:19
cotto_w0rk joined
20:20
cotto_work left
|
|||
lichtkind | hello p6 people i have a very broad question, what events where important to perl 6 beside the obvious 4 (announcement, birth of pugs, birth of Rakudo and rakudo star) | 20:21 | |
Su-Shee | monthly release date since xy. | 20:22 | |
TimToady | um, birth of parrot? | ||
smop? | |||
lichtkind | TimToady: when was that? | 20:23 | |
Su-Shee: good idea | |||
TimToady | you could get that from svn logs, I expect | ||
lichtkind | TimToady: that would be great i write it into wiki so nobody has to ask this again | ||
TimToady | or search for smop in the irc logs | ||
lichtkind | in fact im currently writing the perl 6 timeline | 20:24 | |
bkeeler | Don't forget the apocalypses, and before that the RFC phase | ||
TimToady | and the part where I was sitting there in complete paralysis for six months after the RFCs came out... | 20:26 | |
Su-Shee | call it a "phase of intense meditation". | ||
bkeeler | For giggles you could even dig up Chip's Topaz effort | 20:27 | |
20:27
b_jonas joined
|
|||
TimToady | then there was 2003 wherein I had stomach cancer, almost bled to death after the Perl Whirl in Hawaii, avoided becoming uninsurable by a mere two days, had two stomach surgeries after OSCON. | 20:29 | |
and was basically out of it for the next year, mentally speaking. | |||
(and was unemployed for four years) | 20:30 | ||
lichtkind | bkeeler: its already mentioned in historic implementations page | 20:31 | |
bkeeler | Topaz? Yeah, it was kinda neat in its way. He did things with C++ templates that I'd never seen at any rate | 20:32 | |
lichtkind | TimToady: want we really put that into the timeline ... (larry had personal struggles) | ||
TimToady | r15172 | lwall | 2007-02-03 16:06:55 -0800 (Sat, 03 Feb 2007) | 2 lines | 20:33 | |
First snapshot of proposed standard Perl 6 grammar in standard Perl 6. | |||
Su-Shee | why not? open source developers aren't machines churning out projects on a deadline. | ||
20:33
cotto_w0rk left
|
|||
TimToady | lichtkind: in my culture, vulnerability is considered a strength, not a weakness. | 20:34 | |
20:34
cotto_work joined
|
|||
lichtkind | TimToady: in my too :) | 20:34 | |
TimToady: i just ask before it goes online | |||
TimToady | Perhaps it's a bit selfish of me to want people to know I wasn't slacking off *all* the time... :) | 20:35 | |
lichtkind | TimToady: that one is great thanks | ||
i mean the STD.pm info | 20:36 | ||
20:37
bluescreen left
|
|||
lichtkind | bkeeler: do you know when first apocalypses came out? | 20:39 | |
TimToady | it says there right in the document, 2 April 2001 | 20:40 | |
Tene | Author: ask <ask@d31e2699-5ff4-0310-a27c-f18f2fbe73fe> | 20:42 | |
Date: Wed Aug 29 11:36:49 2001 +0000 | |||
first readme. | |||
first commit in the parrot repo | |||
bkeeler | pmichaud: around perchance? | 20:43 | |
lichtkind | TimToady: thanks excuse my i was still busy typing | ||
20:43
astrojp left
|
|||
Tene | in my culture slacking off is occasionally a virtue. | 20:43 | |
lichtkind | Tene: :) | 20:44 | |
20:44
rgrau joined
20:45
snarkyboojum joined
20:46
payload joined
|
|||
pyrimidine | Is there anything GSoC-related going on with perl6 this year? | 20:46 | |
I think proposals are due next week... | 20:47 | ||
cj | pyrimidine: I'm thinking about it | ||
pyrimidine | what organisation? | ||
cj | pyrimidine: I just sent mail to TPF, CodePlex.org & MS about potentially doing perl6 on the dlr | ||
pyrimidine | okay, that makes sense | 20:48 | |
20:49
alester joined
|
|||
cj | insomuch as allison is TPF, Sam is CodePlex.org and Jimmy is MS, anyway | 20:49 | |
s/al/Al/ | |||
20:50
bluescreen joined
20:55
stephenlb left
|
|||
lichtkind | thanks hackers : www.perlfoundation.org/perl6/index.cgi?timeline | 20:55 | |
thats just a start | |||
21:00
Exodist joined
21:02
root___ joined
21:09
elmex left
21:14
cotto_w0rk joined
21:16
cotto_work left
|
|||
colomon | what is the dlr? (he said, backlogging) | 21:23 | |
cj | colomon: the dynamic language runtime ;) | ||
arnsholt | Dynamic Language Runtime (or somesuch) | ||
cj | wp.colliertech.org/cj/?p=175 | ||
arnsholt | The VM used by .Net | ||
cj | arnsholt: almost ;) | 21:24 | |
the CLR is the VM used by .NET | |||
colomon | but it's a funky interface to the CLR? sweet! | ||
cj | the DLR is infrastructure on top of that to ease implementation of dynamic languages on the CLR | ||
colomon | Having perl 6 running on the CLR would be a huge plus for my $work... | 21:25 | |
21:25
stephenlb joined
|
|||
colomon | cj++, arnsholt++ | 21:26 | |
bkeeler | Agreed, perl6 on the DLR would be teh w00t! | 21:27 | |
21:28
bacek left
|
|||
eternaleye | rakudo: sub fisher-yates( @input ) { my $output; while +@input { my $rnd = ( ^+@input ).pick; @input.=rotate( $rnd ); @output.push( @input.shift ); @input.=rotate( -$rnd ); }; return( @output ); }; fisher-yates( ^10 ); #Is this how .pick( * ) is implemented under the hood? | 21:28 | |
p6eval | rakudo 6867a5: OUTPUT«Symbol '@output' not predeclared in fisher-yatescurrent instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
eternaleye | Grr, sigil mistype | 21:29 | |
rakudo: sub fisher-yates( @input ) { my @output; while +@input { my $rnd = ( ^+@input ).pick; @input.=rotate( $rnd ); @output.push( @input.shift ); @input.=rotate( -$rnd ); }; return( @output ); }; fisher-yates( ^10 ); #Is this how .pick( * ) is implemented under the hood? | |||
p6eval | rakudo 6867a5: OUTPUT«Nominal type check failed for parameter '@input'; expected Positional but got Range insteadcurrent instr.: 'fisher-yates' pc 191 (EVAL_1:78)» | ||
eternaleye | alpha: sub fisher-yates( @input ) { my @output; while +@input { my $rnd = ( ^+@input ).pick; @input.=rotate( $rnd ); @output.push( @input.shift ); @input.=rotate( -$rnd ); }; return( @output ); }; fisher-yates( ^10 ); #Is this how .pick( * ) is implemented under the hood? | ||
p6eval | alpha 30e0ed: ( no output ) | ||
eternaleye | alpha: sub fisher-yates( @input ) { my @output; while +@input { my $rnd = ( ^+@input ).pick; @input.=rotate( $rnd ); @output.push( @input.shift ); @input.=rotate( -$rnd ); }; return( @output ); }; say fisher-yates( ^10 ); #Is this how .pick( * ) is implemented under the hood? | ||
p6eval | alpha 30e0ed: OUTPUT«1605974328» | ||
cj | TimToady: looks like Mono's got continuations now: www.mono-project.com/Continuations | 21:30 | |
eternaleye | alpha: sub fisher-yates( @input ) { my @output; while +@input { my $rnd = ( ^+@input ).pick; @input.=rotate( $rnd ); @output.push( @input.shift ); @input.=rotate( -$rnd ); }; return( @output ); }; say ~fisher-yates( ^10 ); #Is this how .pick( * ) is implemented under the hood? | ||
p6eval | alpha 30e0ed: OUTPUT«2 3 4 6 5 7 9 1 8 0» | ||
eternaleye | Well, without the infinite recursion | 21:31 | |
colomon | eternaleye: no, I'm pretty sure it's not how pick is implemented under the hood. | ||
lichtkind | mberends: haj | ||
eternaleye | colomon: Not .pick, .pick( * ) | ||
Different algorithms | |||
pmichaud | bkeeler: around, for a very short bit | ||
colomon | well, to be more precise, I know that's not how it works in alpha, and .... | ||
no, exact same algorithms | 21:32 | ||
eternaleye | Fisher-yates is the generally accepted random-ordering of a set | ||
cj | however, if I want to woo MS into mentoring the project, I probably shouldn't use features that aren't available on their platform ;) | ||
bkeeler | pmichaud: heyas. I've got that grammar patch pretty much ready to go I think | ||
eternaleye | O( N ) as opposed to O( NlogN ) for tagging and sorting | ||
bkeeler | pmichaud: Think there's time to get it in before the conference? | ||
pmichaud | bkeeler: cool -- send it to me in email, or in an rt ticket? I'll review it (but probably not before tomorrow) | ||
bkeeler: sure, I think it's very likely to go in before the conference | 21:33 | ||
colomon | eternaleye: I ported alpha's pick to master, so I probably count as an authority on the subject. :) | ||
bkeeler | pmichaud: will do. That's great | ||
eternaleye | Okay, cool | ||
21:33
riffraff joined
|
|||
colomon | I've been meaning to switch pick to using something more like f-y, but haven't gotten around to it. | 21:33 | |
not least because I'm not sure we've got enough pick tests to verify that the new version actually works. :( | 21:34 | ||
eternaleye | What algorithm does it use? Iterate and select maintaining an already-picked list, or tag-and-sort? | ||
21:34
cotto_w0rk left
|
|||
colomon | it actually copies the source list and deletes elements off it as it is picked. | 21:34 | |
eternaleye | ( just came from reading www.robweir.com/blog/2010/02/micros...allot.html ) | ||
Ah, .delete($num) aka :delete | 21:35 | ||
Still fisher yates, just a slightly different implementation | |||
en.wikipedia.org/wiki/Fisher–Yates_shuffle | |||
colomon | but swapping must be drastically more effiicient | ||
lichtkind | masak for the name GGE :) | 21:36 | |
21:36
riffraff left
|
|||
colomon | ours is O(N^2), I fear, unless delete's doing something magical I don't know about. | 21:36 | |
lichtkind | masak++ | ||
eternaleye | No idea; it depends on the internals of the picked class. If rotating is more efficient than an inplace delete (ring-buffer style), then my style might be faster. For a linked list, master's way would be faster | ||
colomon | good point, I guess I don't actually know how array is implemented internally. I've always assumed it is a flat array rather than a linked list. | 21:37 | |
eternaleye | For a static array, it would be easier to set deleted ones to a flag value and just skip over those and pretend they aren't there | 21:38 | |
21:38
cotto_work joined
|
|||
colomon | eternaleye: oooo, I'm pretty sure that is much harder to get correct. | 21:38 | |
afk for a bit.... | 21:39 | ||
eternaleye | colomon: Maybe an ImplementationMu, that should never be seen by the user and implementations consider a 'nothing to see here, move along' sign? | ||
OTOH, PMCNULL might be considered as filling that roll | 21:41 | ||
*role | |||
21:45
snarkyboojum left,
elmex joined
21:51
jonasbn left,
pyrimidine left,
ignacio_ left
21:52
SmokeMachine left
21:53
Su-Shee left
22:01
bacek joined
22:06
bluescreen left,
bacek left
22:08
pjcj left
22:22
riffraff joined
22:28
riffraff left
22:35
nihiliad left
|
|||
pmurias | cj: does p5 have .NET interop? | 22:36 | |
cj: that is, is it possible to use .NET libraries from p5? | |||
jaffa4 | activestate have such options | 22:40 | |
it is commerical | |||
pmurias: activestate | |||
cj | pmurias: nope, not unless you count libmono | 22:43 | |
22:43
athenot left
|
|||
pmurias | cj: C# has an FFI? | 22:44 | |
cj | pmurias: I don't think so... it goes the other way, though: | 22:45 | |
The term foreign function interface is generally not used to describe multi-lingual runtimes such as the Microsoft Common Language Runtime, where a common "substrate" is provided which enables any CLR-compliant language to use services defined in any other. (However, in this case the CLR does include an FFI, P/Invoke, to call outside the runtime.) | |||
(perl is not a CLR-compliant language :) ) | 22:46 | ||
using libmono from XS to spin up a VM will get you in the door, though | |||
www.mono-project.com/Embedding_Mono | 22:47 | ||
22:53
astrojp joined
23:02
rv2733 joined
|
|||
lichtkind | further hints for www.perlfoundation.org/perl6/index.cgi?timeline ? | 23:03 | |
pmurias | a variable can't be rebound from within a subroutine? | 23:15 | |
23:17
jaffa4 left
23:20
xabbu42 joined
|
|||
colomon | justrakudoit.wordpress.com/2010/03/...le-series/ | 23:20 | |
23:28
wknight8111 joined
23:29
root___ left
23:31
[particle]1 joined
|
|||
diakopter | rakudo: 5.=() | 23:32 | |
p6eval | rakudo 6867a5: OUTPUT«src/oo.c:911: failed assertion 'method_name'Backtrace - Obtained 14 stack frames (max trace depth is 32)./home/p6eval//p1/lib/libparrot.so.2.1.0 [0x2b17fc69fd03]/home/p6eval//p1/lib/libparrot.so.2.1.0(Parrot_confess+0x87) | ||
..[0x2b17fc69fe37]/home/p6eval//p1/lib/libparrot.so.2.1.0(… | |||
diakopter | rakudo: 5.+() | ||
p6eval | rakudo 6867a5: OUTPUT«src/oo.c:911: failed assertion 'method_name'Backtrace - Obtained 14 stack frames (max trace depth is 32)./home/p6eval//p1/lib/libparrot.so.2.1.0 [0x2b2d6a0ecd03]/home/p6eval//p1/lib/libparrot.so.2.1.0(Parrot_confess+0x87) | ||
..[0x2b2d6a0ece37]/home/p6eval//p1/lib/libparrot.so.2.1.0(… | |||
23:32
[particle] left
|
|||
diakopter | oh, hm | 23:32 | |
there was another... | |||
oh yeah | |||
rakudo: .=() | |||
p6eval | rakudo 6867a5: OUTPUT«src/hash.c:144: failed assertion 's'Backtrace - Obtained 17 stack frames (max trace depth is 32)./home/p6eval//p1/lib/libparrot.so.2.1.0 [0x2b1bc452ad03]/home/p6eval//p1/lib/libparrot.so.2.1.0(Parrot_confess+0x87) [0x2b1bc452ae37]/home/p6eval//p1/lib/libparrot.so.2.1.0 | ||
..[0x2b1bc… | |||
23:34
pmurias left
23:37
mberends left
|
|||
wknight8111 | rakudo: 4.+() | 23:41 | |
p6eval | rakudo 6867a5: OUTPUT«src/oo.c:911: failed assertion 'method_name'Backtrace - Obtained 14 stack frames (max trace depth is 32)./home/p6eval//p1/lib/libparrot.so.2.1.0 [0x2b1691b3cd03]/home/p6eval//p1/lib/libparrot.so.2.1.0(Parrot_confess+0x87) | ||
..[0x2b1691b3ce37]/home/p6eval//p1/lib/libparrot.so.2.1.0(… | |||
wknight8111 | oi | ||
4.=() | 23:42 | ||
rakudo: 4.=() | |||
p6eval | rakudo 6867a5: OUTPUT«src/oo.c:911: failed assertion 'method_name'Backtrace - Obtained 14 stack frames (max trace depth is 32)./home/p6eval//p1/lib/libparrot.so.2.1.0 [0x2b4a4a9c3d03]/home/p6eval//p1/lib/libparrot.so.2.1.0(Parrot_confess+0x87) | ||
..[0x2b4a4a9c3e37]/home/p6eval//p1/lib/libparrot.so.2.1.0(… | |||
23:50
mberends joined
23:52
clintongormley left
|
|||
diakopter | wknight8111: sorry, the other one was .=() | 23:53 | |
hash.c | |||
dalek | kudo: 9921175 | jonathan++ | (3 files): Start to tease apart abstract roles (the name for the whole set of possible parameterizations) and concrete roles (a particular variant) in the type system, and tweak infix:<does> to take advantage of it. Probably more to come on this, but it's a start. |
23:55 | |
kudo: 32a9461 | jonathan++ | src/core/traits.pm: Start to put back of and returns traits a bit more. We don't enforce return type constraints yet, however. |