»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by lichtkind on 5 March 2010. |
|||
00:02
meppl left
|
|||
lichtkind | moritz_: and after? | 00:04 | |
moritz_ | lichtkind: don't know | 00:07 | |
you can easily find out yourself, though | 00:08 | ||
snarkyboojum | would be cool to have an autobuild type tool showing spectest pass/fails available on the web somewhere | 00:09 | |
phenny | snarkyboojum: 07 Mar 14:21Z <masak> tell snarkyboojum that when he wakes up, he might want to take a look at the new code I just pushed to github.com/masak/tardis -- variable assignments now work! \o/ | ||
lichtkind | moritz_: i have a pugs and parrot repo locally but im not that deep into it to run tests | ||
moritz_ | lichtkind: it's not hard, and well described in rakudo's README file | 00:11 | |
lichtkind | moritz_: i din't doubt that, just not tried yet :) | ||
moritz_ | snarkyboojum: that's basically what smolder does | 00:16 | |
snarkyboojum | moritz_: thought there might be something out there :) what's/where's smolder? | ||
snarkyboojum is quite the newbie | |||
00:17
f00li5h[HireMe] is now known as f00li5h
|
|||
moritz_ | snarkyboojum: it's a generic client/server thing for collecting test information | 00:17 | |
moritz_ tries to find the link | 00:18 | ||
smolder.plusthree.com/app/public_pr...reports/18 | 00:19 | ||
00:20
amenhotep left
|
|||
snarkyboojum | moritz_: oh :) thanks | 00:21 | |
rakudo: say ~(1,2,3) | 00:23 | ||
p6eval | rakudo 213974: OUTPUT«3» | ||
snarkyboojum | rakudo: say (1,2,3).Str | ||
p6eval | rakudo 213974: OUTPUT«1 2 3» | ||
snarkyboojum | rakudo: say (1,2,3).WHAT | ||
p6eval | rakudo 213974: OUTPUT«Parcel()» | ||
moritz_ | that's a very odd one | ||
snarkyboojum | rakudo: say (1,2,3).iterator.WHAT | 00:24 | |
p6eval | rakudo 213974: OUTPUT«List()» | ||
snarkyboojum | rakudo: say ~((1,2,3).Seq) | ||
p6eval | rakudo 213974: OUTPUT«1 2 3» | ||
snarkyboojum | weird :) | ||
moritz_ | rakudo: class A { }; say ~A.new; say A.new; say A.new.Str | ||
p6eval | rakudo 213974: OUTPUT«maximum recursion depth exceededcurrent instr.: 'parrot;P6protoobject;VTABLE_name' pc 1296 (runtime/parrot/library/P6object.pir:764)» | ||
moritz_ | rakudo: class A { }; say A.new; say A.new.Str | 00:25 | |
p6eval | rakudo 213974: ( no output ) | ||
snarkyboojum | I was trying to track it down, as a learning exercise | ||
moritz_ | wow, things are really more screwed than I thought | 00:26 | |
the method Str in Any-str.pm is oh so wrong | |||
rakudo: class A { }; say A.WHICH | |||
p6eval | rakudo 213974: OUTPUT«47668155388928» | ||
moritz_ | rakudo: class A { }; say A.WHERE | ||
p6eval | rakudo 213974: OUTPUT«47314470797688» | ||
00:27
quester_ joined
|
|||
moritz_ | rakudo: class A { }; say A.new.WHERE | 00:27 | |
p6eval | rakudo 213974: OUTPUT«47098753465736» | ||
moritz_ | rakudo: class A { }; say A.new.WHICH | ||
p6eval | rakudo 213974: OUTPUT«47956305276616» | ||
snarkyboojum | found the definition for prefix<~> src/cheats/str-ops.pir, which just returns a 'Str' PMC.. is that right? | ||
moritz_ | yes... | 00:28 | |
this PIR level conversion calls the get_string vtable method | |||
snarkyboojum | so the parcel is stringifying somewhere.. | ||
right | |||
moritz_ | and then in class Mu there's :.sub '' :vtable('get_string') :method | 00:29 | |
(in src/builtins/Mu.pir) | |||
which just calls the .Str() method on the invocant | |||
snarkyboojum | so why does (1,2,3).Str work? | 00:30 | |
rakudo: say (1,2,3).Str() | |||
moritz_ | so it should be a matter of simply installing the correct .Str methods somewhere | ||
p6eval | rakudo 213974: OUTPUT«1 2 3» | ||
moritz_ | rakudo: say Parcel ~~ Mu | ||
p6eval | rakudo 213974: OUTPUT«1» | ||
moritz_ | snarkyboojum: I have no idea; that's where the sneakyness comes in | 00:31 | |
rakudo: say (1, 2, 3).^methods.map({~$_}).grep({/Str/}).perl | |||
p6eval | rakudo 213974: ( no output ) | 00:32 | |
moritz_ | says "maximum recursion depth exceeded" locally here | 00:33 | |
anyway, time for bed here... | |||
Tene | moritz_: vtable overrides don't get inherited properly, afaict. | 00:34 | |
00:36
colomon joined,
colomon left
00:39
jferrero joined
00:49
yinyin joined
00:51
colomon joined
|
|||
lichtkind | moritz_: thanks | 00:52 | |
colomon | moritz_ is still awake?! hackathon++! | 00:53 | |
00:54
TiMBuS left
00:55
amenhotep joined
|
|||
snarkyboojum | rakudo: say ~(1,) | 00:56 | |
p6eval | rakudo 213974: OUTPUT«1» | ||
snarkyboojum | rakudo: say ~() | ||
p6eval | rakudo 213974: OUTPUT«0» | ||
snarkyboojum | rakudo: say ().WHAT | ||
p6eval | rakudo 213974: OUTPUT«Parcel()» | ||
00:58
jaldhar left
|
|||
snarkyboojum | is that right? stringifying () --> 0? | 00:58 | |
00:59
Trashlord left
|
|||
colomon | snarkyboojum: I think it's stringifying to the number of elements in the Parcel, so no. | 00:59 | |
snarkyboojum | colomon: how would I work out how parcels are stringified? :) | ||
can't see anything in Parcel.pir | 01:00 | ||
colomon | might also check Parcel.pm | ||
snarkyboojum | not there either | ||
colomon | then look for the base class(es?) of Parcel | ||
parcelproto = p6meta.'new_class'('Parcel', 'parent'=>'parrot;ResizablePMCArray Iterable', 'does_role'=>pos_role) | 01:01 | ||
So iterable, maybe or ResizablePMCArray(??) | |||
snarkyboojum | 'parent'=>'parrot;ResizablePMCArray Iterable' | ||
I take it that's important | |||
:) | |||
colomon | doesn't look like Iterable.Str is getting called. | 01:02 | |
01:02
wknight8111 joined
|
|||
colomon | unfortunately, that's all the ideas I have.... | 01:03 | |
snarkyboojum | colomon: cheers - thought I'd have a bash ;) | ||
colomon | :) | 01:04 | |
snarkyboojum | rakudo: say (1,2,3).of | 01:05 | |
p6eval | rakudo 213974: OUTPUT«Mu()» | ||
01:18
snarkyboojum left
01:25
snarkyboojum joined
01:29
jferrero left
|
|||
colomon | so, it looks like the hackathoners took my challenge and ran away with it, going 25,678 passing tests this morning to 26,630 passing tests now, well past the 26,000 I suggested. | 01:31 | |
rakudo: say 4063328477 % 65535 | 01:32 | ||
p6eval | rakudo 213974: OUTPUT«27407» | ||
colomon | alpha: say 4063328477 % 65535 | 01:33 | |
p6eval | alpha 30e0ed: OUTPUT«27407» | ||
colomon | > say 4063328477 % 65535 | 01:34 | |
27406 | |||
kind of disturbed that I'm getting a different answer for that one locally.... | 01:35 | ||
rakudo: say (4063328477 % 65535).WHAT | 01:36 | ||
p6eval | rakudo 213974: OUTPUT«Int()» | ||
01:36
avar left,
elmex left,
z3ndrag0n left,
lisppaste3 left,
krunen left,
araujo left
01:38
avar joined,
elmex joined,
z3ndrag0n joined,
lisppaste3 joined,
krunen joined,
araujo joined,
hatseflats joined,
farmer.freenode.net sets mode: +v lisppaste3
|
|||
lichtkind | good night | 01:41 | |
01:41
lestrrat is now known as lest_away
|
|||
lichtkind | use.perl.org/~perl6doc/journal/ | 01:41 | |
colomon | o/ | ||
lichtkind | :) | ||
01:42
lichtkind left
01:43
jaldhar joined
01:45
jaldhar left,
jaldhar joined
01:48
lue left
|
|||
diakopter | colomon: wow | 01:54 | |
colomon | I'm getting 50+ fails in arith.t. | ||
diakopter | rakudo: say say 4063328477 / 65535 | 01:55 | |
p6eval | rakudo 213974: OUTPUT«62002.41820401311» | ||
diakopter | rakudo: say 4063328477 / 65535 | ||
p6eval | rakudo 213974: OUTPUT«62002.4182040131» | ||
colomon | > say 4063328477 / 65535 | 01:57 | |
-3534.5818112459 | |||
02:00
amenhotep left
|
|||
colomon | > say 4063328477 | 02:01 | |
-231638819 | |||
diakopter | ah | 02:04 | |
overflow | 02:05 | ||
02:11
lest_away is now known as lestrrat
02:14
hudnix left
02:15
z3ndrag0n left
02:16
z3ndrag0n joined,
hudnix joined
02:17
lue joined,
wknight8111 left
|
|||
diakopter | colomon: p6eval is on 64-bit... | 02:24 | |
linux | |||
what's yours | |||
colomon | diakopter: 32-bit OS X | ||
diakopter | suspicious | ||
it's suspect; I'm suspicious | 02:25 | ||
colomon | I should be looking at it more, but I'm very tired. | ||
diakopter | :D | ||
colomon | It's got to be the 32-bit thing, I reckon. | ||
I mean, 4063328477 == -231638819 is a classic 32-bit int issue. | |||
diakopter | sounds like rakudo assumes ints are 64-bit | ||
does parrot have checked arithmetic operations? | 02:26 | ||
or all unchecked? | |||
colomon | I don't know, but Rakudo does. | ||
I think, anyway.... | |||
our sub upgrade_to_num_if_needed($test) { | 02:27 | ||
Q:PIR { | |||
.local num test | |||
$P0 = find_lex '$test' | |||
test = $P0 | |||
if test > 2147483647.0 goto upgrade | |||
if test < -2147483648.0 goto upgrade | |||
$I0 = test | |||
.return ($I0) | |||
upgrade: | |||
.return (test) | |||
} | |||
} | |||
.... nope, never even reaches there in these cases. | 02:28 | ||
problem is maybe in dec_number in Actions.pm? | 02:30 | ||
quester_ Patched www.perlfoundation.org/perl6/index....evelopment to say bugs and patches going to rt.perl.org should be marked [BUG] and {PATCH], with square brackets. The wiki had turned them into links to pages called BUG and PATCH without visible brackets. ...Well, I either fixed it or made it even more broken. | 02:32 | ||
02:37
jaldhar left,
fridim left
02:40
jaldhar_ joined
03:00
gfx joined
03:33
am0c left
03:38
payload left
|
|||
lue | hello? | 03:40 | |
quester_ | lue: Hello. I guess no one is watching their screen now. | 03:49 | |
quester_ Submitted RT #73418: [PATCH] Fix bug #68752, make perl6 --version more informative (second version of patch, replaces #73148) | |||
03:52
snarkyboojum left
04:02
snarkyboojum joined
|
|||
lue --afk & | 04:03 | ||
04:04
rv2733 joined
04:09
athenot_ joined
04:12
athenot left,
athenot_ is now known as athenot,
fridim joined
04:16
athenot left
04:36
jaldhar_ left
04:40
jaldhar_ joined
04:57
tuxdna joined
05:22
Sarten-X joined
05:30
quester_ left,
rv2733 left
05:35
Apocal left
05:36
IllvilJa left
05:38
nihiliad1 left
05:42
am0c joined
05:46
nihiliad joined,
vamped joined
05:50
IllvilJa joined
06:26
oracle joined
06:30
payload joined
06:42
OracleOnLog joined
06:43
mst joined
|
|||
mst | I'm not sure who should be told about this | 06:43 | |
but k23z__ is spx2/qp_pq - known troll, permanently banned from irc.perl.org for repeated ban evasion, legally banned from use of any shadowcat systems due to repeatedly hassling us | 06:44 | ||
continued to connect illegally and had his VPS and shell accounts terminated by his service providers as a result | |||
still convinced that I'm evil rather than admitting the possibility he ever did anything wrong | |||
and continues to hassle me in query every 24 hours asking to be unbanned | |||
you guys get to choose whether you still want him in here; if anybody needs more information do contact me. | 06:45 | ||
jnthn: ^^ | |||
pmichaud: ^^ | |||
mst vanishes again | |||
06:45
mst left
06:55
kaare joined,
kaare is now known as Guest27326
06:56
cx3180 joined
06:57
rgrau left,
cx3180 left
07:03
uniejo joined
07:04
OracleOnLog left
07:05
k23z__ is now known as thor_L
|
|||
vamped | lol. | 07:06 | |
snarkyboojum | heh | 07:08 | |
07:10
payload left
07:18
wasmahen joined
|
|||
wasmahen | hi, i have created a url shortener, anyone would want it? | 07:18 | |
07:19
JimmyZ joined
07:20
wasmahen left
|
|||
moritz_ | good morning | 07:22 | |
vamped | guten Tag moritz | 07:23 | |
JimmyZ | good moring moritz_ | 07:26 | |
07:26
Su-Shee joined
|
|||
moritz_ | colomon: feel free to move any failing tests from arith.t into overflow.t | 07:26 | |
I'd do it, but I'm kinda lost without knowing which fail | 07:27 | ||
07:32
nihiliad left
07:33
justatheory left
07:38
snarkyboojum left
07:41
masak joined
|
|||
masak | moritz_: heh. I might have checked on IRC whether you were awake before knocking... :) | 07:41 | |
anymoose; good morning, #perl6. | |||
moritz_: breakfast soon? | 07:42 | ||
moritz_ | masak: breakfast after shower... I'll give you a ping | ||
masak | shower. goodish idea. | ||
szbalint | hah, (irc coordination)++ | 07:43 | |
07:44
mikehh left
07:45
mikehh joined
07:49
oracle left
|
|||
moritz_ | speaking of which... is arnsholt still in the hotel? | 07:53 | |
masak | I think so. | ||
don't know when he was to leave. | |||
shall I text him? | |||
moritz_ | yes; maybe he's intersted in joined breakfast too | ||
masak makes it so | 07:54 | ||
heh. it became a text message in Swedish/Norwegian/English :) | 07:56 | ||
he replies. he's up for breakfast. | 07:57 | ||
07:57
eiro joined
07:58
vamped left,
xabbu42 joined
|
|||
moritz_ | so am I | 07:59 | |
masak | as am I. | ||
jnthn wanted to sleep in, no? | |||
moritz_ | yes :-) | ||
masak | then we'll let him. | 08:00 | |
08:19
payload joined
08:24
Toony joined
08:26
payload left
|
|||
JimmyZ | good morning masak | 08:37 | |
08:45
iblechbot joined
|
|||
JimmyZ | rakudo: say "hello" | 08:47 | |
p6eval | rakudo 213974: OUTPUT«hello» | ||
08:49
thor_L is now known as k23z__
09:04
Oracle joined
|
|||
masak | good morning, JimmyZ. | 09:15 | |
masak moves down to the lobby area | |||
09:16
masak left
|
|||
m6locks | /j perl6book | 09:20 | |
whops | |||
09:22
f00li5h is now known as moar-f00li5h,
moar-f00li5h is now known as f00li5h
09:25
payload joined
|
|||
jnthn | oh hai | 09:27 | |
oh masak oh masak where hacketh thee? | |||
moritz_ | jnthn: in the lounge (close to the elevators) | ||
jnthn | cool, will come join you in a moment :-) | 09:28 | |
colomon | will there be group hacking today as well? | ||
colomon was impressed with yesterday's results. | |||
moritz_ | colomon: aye | 09:29 | |
colomon | \o/ | ||
moritz_: good suggestion on moving the tests from arith.t | |||
I take it arith.t is working perfectly on 64-bit platforms? | |||
moritz_ | it does | ||
09:29
masak joined
|
|||
masak backlogs | 09:29 | ||
colomon | I'll take a stab at the reorganization sometime in the next few hours, then. | 09:30 | |
(might go back to bed first. :) | |||
moritz_ tries to fix the Parcel stringification bug | |||
colomon | moritz_: where do you think it's located? | 09:31 | |
masak hack-ish-es on named enums | |||
maybe this article on Scala will interest some people in here: enfranchisedmind.com/blog/posts/pos...onal-scala | |||
moritz_ | colomon: I suspect it's because Parcel isa parrot;ResizablePMCArray so it gets the wrong vtable override | ||
and of course method Str() { self } in class Any is Just Wrong[tm] | 09:32 | ||
jnthn | moritz_: (vtable override) I know how to fix that one. :-) | 09:33 | |
jnthn is heading down :-) | |||
masak | lolitsjnthn! | ||
baest | colomon: fyi, I kinda gave up on the float parsing yesterday. I submitted a patch which patrick wasn't too happy about (with valid reasons). The handling seem to be quite wrong. Now it dies parsing long floats and my patch at least fixes that. | 09:38 | |
colomon | moritz_: with you 100% on Any.Str { self } being wrong wrong wrong. | 09:43 | |
moritz_ blames jnthn++ | |||
erm, git does :-) | 09:44 | ||
masak annotates jnthn++ | |||
colomon | baest: went to bed thinking about this issue last night. Are your code (and pmichaud's comments) posted somewhere? I'd like to look at both when I properly wake up in a few hours. :) | ||
moritz_ | it's in a nopaste somewhere in yesterday's backlog | ||
a ticket actually... irclog.perlgeek.de/perl6/2010-03-07#i_2073620 | 09:46 | ||
baest | colomon: yes as moritz_ says. The patch is in #73392 | ||
colomon | thanks guys! see you in the morning... | ||
baest | I also did a loop which did * .1 instead of dividing | ||
resulting in same precision. I can attach the diff to the ticket and then you can do whatever :) | 09:47 | ||
moritz_ conquered the Parcel | 09:48 | ||
09:48
gfx left
|
|||
moritz_ | waiting for the spectest to finish | 09:48 | |
jnthn: github.com/moritz/rmp | 09:51 | ||
masak | how do I use custom operator precedence parsing from within Perl 6? | 09:55 | |
moritz_ | you don't | ||
it's not specced | |||
masak | right. | 09:56 | |
shall I go ahead and spec it? :) | |||
moritz_ | please do | ||
jnthn | masak: EXPR rule in STD | ||
Also in Rakudo master. | |||
masak | jnthn: right, but the EXPR is for Perl 6 expressions, no? | ||
what if I want Java expressions? | |||
moritz_ | is <a b c> specced to return a Parcel | 09:57 | |
dalek | kudo: f56934d | moritz++ | t/spectest.data: we now pass S09-typed-arrays/hashes.t again, arnsholt++ |
10:00 | |
10:02
barney joined
|
|||
baest | isn't the spectest status updated anymore? | 10:03 | |
on rakudo.org | |||
masak | baest: pmichaud has always done that manually, I think. | 10:04 | |
when he's busy/tied up, it lags. | |||
baest | of course | ||
moritz_ | more specifically, he updated docs/spectest-progress.csv | 10:05 | |
masak | hm, yes. | ||
moritz_ | and a cron job on rakudo.de would generate the graphic | ||
which rakudo.org just uses inline | |||
dalek | kudo: b1fd5d8 | moritz++ | src/builtins/Parcel.pir: Fix RT #73128, stringifications of Parcel the one defined in Mu. Another vtable override fixes that. |
10:06 | |
10:07
yinyin left
|
|||
baest | moritz_: could that cronjob not run the spectest and update the csv file? Or is too much work for the server | 10:07 | |
moritz_ | baest: it needs to go into the repo somehow anyway, and I won't set up a cronjob that commits to the repo | 10:08 | |
baest | moritz_: no, that wouldn't be very good. Ok, it's not that important | ||
moritz_ | and I think pmichaud prefers to do it manually, to give him a feeling for what's going on | 10:09 | |
masak | in theory and at a distance, thinks always look smooth and uncomplicated. when you actually realize things and build them in the World of Stuff, they get all knobbly and gnarly, sometimes with irreducible uglinesses or horrible corners that you didn't anticipate. I like that. | ||
arnsholt | masak: That's exactly the reason a friend of mine gives for Scheme not being useful in the real world =) | 10:11 | |
masak | Lisp and Scheme have a fairly low preparedness for the world being gnarly. | 10:12 | |
dalek | kudo: df743fe | moritz++ | t/spectest.data: run the new parcel.t file |
||
moritz_ | rakudo: say sprintf '%x', [].WHERE | ||
p6eval | rakudo 213974: OUTPUT«2b8c1815f398» | ||
arnsholt | He also thinks that Common Lisp is very good at handling gnarly =) | ||
masak | hm :) | ||
moritz_ | low-hanging fruit: sprintf exists in rakudo master, but printf doesn't | ||
masak | CLOS certainly has a gnarlyish quan to it. | 10:13 | |
s/quan/qwan/ | |||
arnsholt | CLOS is one of his prime examples, actually | 10:14 | |
masak | aye. | ||
masak loves the metaobject protocol | |||
arnsholt | He's also introduced me to the writings of Naggum, which was an interesting experience | ||
masak googles | |||
arnsholt: cpansearch.perl.org/src/PODMASTER/A...cme/MJD.pm | 10:16 | ||
moritz_ | arnsholt: perl.plover.com/IAQ/IAQlist.html | 10:17 | |
masak | baest: you should see this: perl.plover.com/IAQ/IAQlist.txt -- the question 'How do I convert a string to a number?'. look familiar? :P | 10:19 | |
10:21
sunnavy left
|
|||
moritz_ | rakudo: class A { }; say A.WHAT.substr(0, -2) | 10:23 | |
p6eval | rakudo f56934: OUTPUT«A» | ||
moritz_ | alpha: class A { }; say A.new | ||
p6eval | alpha 30e0ed: OUTPUT«A()<0x2b9ba4a70490>» | ||
moritz_ works on RT #73410 (in case that wasn't obvious... ) | 10:25 | ||
baest | masak: heh, yes. Also that it doesn't handle overflow at all :) But Perl 6 version handles 1_000 numbers | ||
1_000 style numbers | 10:26 | ||
10:27
orafu left,
orafu joined
|
|||
masak | baest: :) | 10:28 | |
diakopter is not amused [by something OT] | |||
10:30
JimmyZ left
|
|||
masak | std: my enum foo <a b c> | 10:34 | |
p6eval | std 29993: OUTPUT«ok 00:01 107m» | ||
moritz_ | rakudo: say 5.Str.What | ||
p6eval | rakudo f56934: OUTPUT«Method 'What' not found for invocant of class 'Str'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
masak | std: anon enum foo <a b c> | ||
p6eval | std 29993: OUTPUT«ok 00:01 105m» | ||
moritz_ | rakudo: say 5.Str.WHAT | ||
p6eval | rakudo f56934: OUTPUT«Str()» | ||
masak | std: state enum foo <a b c> | ||
p6eval | std 29993: OUTPUT«ok 00:01 105m» | ||
masak | o.O | ||
moritz_ | rakudo enum <foo bar>; | 10:37 | |
rakudo: enum <foo bar>; | |||
p6eval | rakudo f56934: ( no output ) | ||
moritz_ | rakudo: enum <foo bar>; say bar | ||
p6eval | rakudo f56934: OUTPUT«Could not find non-existent sub &barcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
baest | I'm replying to a rt ticket (email), but my reply doesn't appear on the ticket. Weird. I'm including the [] stuff | ||
moritz_ | baest: it might take some time | ||
baest | moritz_: more than 2 hours? | 10:38 | |
moritz_ | baest: usually not | ||
10:38
am0c left
|
|||
baest | ok, I haven't received any rejection or something like that | 10:38 | |
moritz_: ok, maybe I have spammed two tickets then | 10:40 | ||
masak | S32-setting-library/Abstraction.pod talks about Abstraction as a role, and then the classes Class, Role, Module, Package and Grammar doing that role. | ||
which is all good and well, but it doesn't have much support in the rest of the spec, such as S02. | |||
as far as I recall, the Class and Role classes have actually gone away over time from the spec. | 10:41 | ||
moritz_ | std: Class, Role, Abstraction, Module, Package | ||
p6eval | std 29993: OUTPUT«ok 00:01 105m» | ||
masak | huh. | ||
jnthn | :-) | ||
masak | std: Enumeration | ||
moritz_ | std: Foo, Bar | ||
p6eval | std 29993: OUTPUT«Undeclared name: 'Enumeration' used at line 1ok 00:01 104m» | ||
std 29993: OUTPUT«Undeclared names: 'Bar' used at line 1 'Foo' used at line 1ok 00:01 105m» | |||
10:41
Sarten-X left
|
|||
jnthn | rakudo: Class | 10:42 | |
p6eval | rakudo f56934: OUTPUT«Could not find non-existent sub &Classcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
jnthn | rakudo: Role | ||
p6eval | rakudo f56934: ( no output ) | ||
moritz_ | masak: the Abstraction role is what the :: sigil constraints to | ||
masak | moritz_: yes, I know. | ||
moritz_: and do you agree that Enumeration should be an Abstraction? | |||
moritz_ | masak: I don't have the slightest idea | 10:44 | |
rakudo: my %h; say %h.perl | 10:46 | ||
p6eval | rakudo df743f: OUTPUT«{}» | ||
moritz_ | rakudo: my @a = 1..20; say @a[*-1] | 10:47 | |
p6eval | rakudo df743f: OUTPUT«Method 'Num' not found for invocant of class 'Block'current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)» | ||
masak | moritz_: I think it should, because nowadays it's sorta kinda a package. I'll go and read S12 in this light to see what falls out. | 10:48 | |
hm. it's Enum, it seems. | 10:49 | ||
std: Enum | |||
p6eval | std 29993: OUTPUT«ok 00:01 104m» | ||
masak | rakudo: say Enum ~~ Abstraction | ||
p6eval | rakudo df743f: OUTPUT«0» | ||
masak | S12: "[...] it presents itself to the user's namespace as a typename package containing a set of constant declarations." | 10:50 | |
oh, it's not only Enum, but Enumeration, too. | 10:52 | ||
10:52
Sarten-X joined
10:53
am0c joined
|
|||
lisppaste3 | moritz_ pasted "attempt to fix stringification of Any; for jnthn++" at paste.lisp.org/display/96090 | 11:04 | |
moritz_ annotated #96090 "error message" at paste.lisp.org/display/96090#1 | 11:07 | ||
11:09
lestrrat is now known as lest_away
11:10
am0c left
11:17
sunnavy joined
11:25
TiMBuS joined
|
|||
moritz_ | rakudo: say ?{} | 11:30 | |
p6eval | rakudo df743f: OUTPUT«1» | ||
moritz_ calls BUG | |||
moritz_ hilights masak | |||
jnthn | nqp: my $x := 'ee'; say $beer ~~ /$x/; | 11:31 | |
p6eval | nqp: OUTPUT«Confused at line 1, near "say $beer "current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)» | ||
jnthn | nqp: my $x := 'ee'; say($beer ~~ /$x/); | 11:32 | |
p6eval | nqp: OUTPUT«Symbol '$beer' not predeclared in <anonymous>current instr.: 'parrot;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
baest | jnthn: beer always seem to confuse nqp :) | ||
jnthn | nqp: my $x := 'ee'; say('beer' ~~ /$x/); | ||
p6eval | nqp: OUTPUT«» | ||
masak submits rakudobug | |||
I'm sure this comic can be related to Perl 6 in some way: abstrusegoose.com/249 | 11:33 | ||
moritz_ | method Bool() { | 11:43 | |
?pir::getattribute__PPs(self, '$!storage'); | |||
} | |||
masak: www.youtube.com/watch?v=YY6kElOYcd8 | 11:45 | ||
11:45
eswara joined
11:46
eswara left,
fridim left
11:47
ruoso joined
|
|||
moritz_ | rakudo: say { a => 3, b => 5).pairs | 11:54 | |
p6eval | rakudo df743f: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 11current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)» | ||
moritz_ | rakudo: say { a => 3, b => 5}.pairs | 11:55 | |
p6eval | rakudo df743f: OUTPUT«a 3b 5» | ||
11:55
dakkar joined,
payload left
|
|||
masak | rakudo: say { a => 3, b => 5 }.kv | 11:57 | |
p6eval | rakudo df743f: OUTPUT«a3b5» | ||
12:00
Chillance joined,
lest_away is now known as lestrrat
|
|||
masak | lunch & | 12:02 | |
12:02
masak left
|
|||
dalek | kudo: 393fcd4 | moritz++ | src/ (4 files): fix stringification of Any, and thus RT #73410 |
12:06 | |
kudo: bd7c6f5 | moritz++ | src/core/Hash.pm: implement method Bool in Hash |
|||
12:06
Oracle left
12:08
Oracle joined
12:10
Oracle left
12:14
Oracle joined
12:15
eiro left,
eiro joined
12:18
cls_bsd left
12:22
Oracle left
12:24
Oracle joined
|
|||
colomon | For a brief moment there, my still sleep-addled brain thought moritz_++ had reimplemented the Bool type as a Hash... | 12:47 | |
pmichaud | good morning, #perl6 | 13:00 | |
I can only stay a minute or two at the moment | 13:01 | ||
mathw | hi | ||
13:02
takadonet joined
|
|||
pmichaud | things have gotten very "interesting" here over the last 24h | 13:02 | |
takadonet | morning all | ||
colomon | \o | 13:03 | |
colomon hopes that's interesting in a practical sense, and not interesting in a ancient fake Chinese proverb sense... | |||
pmichaud | both. | ||
but also generally positive senses | 13:04 | ||
anyone heard anything from the copenhagen hackers this morning? | 13:05 | ||
colomon | yes, they've been posting all morning. | ||
colomon was talking to them at 4:30 am... | 13:06 | ||
pmichaud | okay. I'll have to read the scrollback a bit later | 13:07 | |
I hope to be back on in ~3h | |||
colomon | Don't know how much you backlogged, but it looks like they got about 1000 tests running yesterday. | ||
pmichaud | haven't backlogged at all yet | ||
will have to do it later | |||
colomon | There's a lot. :) | ||
pmichaud | anyway, hope things are going well, will bbiaw | ||
13:13
cls_bsd joined
13:28
Jedai left
|
|||
mathw | 1000 more tests? nice. | 13:28 | |
colomon | 1000 more passing tests. nice! :) | ||
mathw treats himself to a new book | 13:34 | ||
baest | yeah, it must be a lot more than 1000 new tests. | 13:35 | |
13:42
rv2733 joined
13:43
bluescreen joined
13:47
betterworld left
13:52
nihiliad joined,
karthi joined
|
|||
karthi | hi guys | 13:52 | |
colomon | o/ | ||
13:52
k23z__ left
|
|||
takadonet | hey | 13:53 | |
karthi | so wats the big deal with perl 6..?? | ||
13:57
karthi left
13:58
mberends joined
|
|||
mberends | ahoj #perl6 | 13:58 | |
colomon | o/ | ||
14:01
betterworld joined
14:02
iblechbot left,
SmokeMachine joined
|
|||
mberends | travel induced sleep deprivation is having a funny effect at $work today - the skull can feel that there's a brain in there, but the brain does not seem to feel that there's a mind inside ;-) | 14:03 | |
14:08
lichtkind joined
14:11
TiMBuS left,
TiMBuS joined
14:14
athenot joined
14:21
ignacio_ joined
14:23
masak joined
|
|||
masak | arnsholt: perlcabal.org/~nothingmuch/harrorth/ | 14:24 | |
14:25
krr joined
14:26
athenot left,
athenot joined
|
|||
lichtkind | masak: hej | 14:28 | |
masak | lichtkind: moin | ||
lichtkind | :) | 14:31 | |
masak is trying to understand what to do next in trying to get named enums to work | |||
pugssvn | r29994 | moritz++ | [t/spec] new file S02-builtin_data_types/parcel.t | 14:32 | |
r29995 | moritz++ | [t/spec] work on context-forcers.t: use stricter comparison; test that Int.Str returns STr | |||
14:34
nihiliad left
14:41
Oracle left
|
|||
colomon is trying out some PIR to maybe fix int constant handling. (sort of) | 14:42 | ||
14:42
Oracle joined
14:45
TiMBuS left
14:46
TiMBuS joined
|
|||
mathw | masak: I would suggest writing the code that makes them work :P | 15:01 | |
masak | mathw: I'll take that into serious consideration. | ||
colomon | mathw: actually had good reason to play five different whistles in public yesterday, which I think may be a personal record. | 15:05 | |
arnsholt | std: /<?![abc]>/ | 15:06 | |
p6eval | std 29995: OUTPUT«ok 00:01 108m» | ||
arnsholt | std: /<!![abc]>/ | ||
p6eval | std 29995: OUTPUT«ok 00:01 105m» | ||
arnsholt | Should that be legal? | 15:07 | |
TimToady | std: /<!!!!!!!!!!!!!!!!!!!!!![abc]> | ||
p6eval | std 29995: OUTPUT«===SORRY!===Unable to parse metachar__S_478Lt_Gt; couldn't find final '>' at /tmp/JxcoLXpXal line 1:------> /<!!!⏏!!!!!!!!!!!!!!!!!!![abc]>FAILED 00:01 105m» | ||
TimToady | std: /<!!!!!!!!!!!!!!!!!!!!!![abc]>/ | ||
p6eval | std 29995: OUTPUT«===SORRY!===Unable to parse metachar__S_478Lt_Gt; couldn't find final '>' at /tmp/axbw9b3Px6 line 1:------> /<!!!⏏!!!!!!!!!!!!!!!!!!![abc]>/FAILED 00:01 105m» | ||
moritz_ is not sure how the second ! is parsed | |||
TimToady | std: /<!!!!!!!!!!!!!!!!!!!!!!foo>/ | ||
p6eval | std 29995: OUTPUT«===SORRY!===Unable to parse metachar__S_478Lt_Gt; couldn't find final '>' at /tmp/nENV53UcPR line 1:------> /<!!!⏏!!!!!!!!!!!!!!!!!!!foo>/FAILED 00:01 105m» | ||
TimToady | hmm | ||
15:07
Oracle left
|
|||
TimToady | it's supposed to just be recursive | 15:07 | |
arnsholt | std: /<?!?![abc]> | ||
p6eval | std 29995: OUTPUT«===SORRY!===Regex missing terminator at /tmp/Ni40AtpV6B line 1 (EOF):------> /<?!?![abc]>⏏<EOL>FAILED 00:01 105m» | ||
arnsholt | std: /<?!?![abc]>/ | 15:08 | |
p6eval | std 29995: OUTPUT«ok 00:01 105m» | ||
TimToady | maybe there's a prohibition on !!! n there somewhere | ||
*in | |||
masak | by the way, why is <!!before ...> used in some places in STD.pm, rather than <?before ...> ? | ||
arnsholt | At least for the ! metaop, !!op is explicitly forbidden | ||
TimToady | S05:1452 | 15:09 | |
and the problem is that !!! means something | |||
masak | TimToady: thanks. | ||
TimToady | but yeah, LTM ignores !! and continues looks for token after it | 15:10 | |
*looking | |||
15:10
alester joined
|
|||
TimToady | while ? is considered the rest of the LT, and ignores what comes after | 15:10 | |
masak | ah. | 15:11 | |
TimToady | seems kinda strange, but that's how STD ended up working out | ||
masak | :) | ||
one day I will recline in my chair, safe in the knowledge that I truly grok LTM. that day is not today. | |||
TimToady | I guess the alternative would have been to provide some way of saying which you want, but this way is pretty handy | 15:12 | |
moritz_ | rakudo: say ().min | 15:14 | |
p6eval | rakudo bd7c6f: OUTPUT«Inf» | ||
moritz_ | rakudo: say ().max | 15:15 | |
p6eval | rakudo bd7c6f: OUTPUT«-Inf» | ||
moritz_ | rakudo: say ().min.defined | ||
p6eval | rakudo bd7c6f: OUTPUT«1» | ||
dalek | kudo: d183ebe | moritz++ | t/spectest.data: enable context-forcers.t |
||
diakopter | oh. it's morning. | 15:17 | |
15:17
TiMBuS left
|
|||
masak | lolitsdiakopter! | 15:17 | |
mberends | perl6.org/community/ lacks conferences and hackathons, which I tried to show someone today. I'll add something later today, unless someone (tm) beats me to it | ||
jnthn | mberends++ # good idea :-) | 15:18 | |
mberends: Survived day of training? | |||
15:18
TiMBuS joined,
nihiliad joined
|
|||
TimToady | it's pretty easy to type ™ with the compose key, actually... :) | 15:19 | |
at least on my machine, I suppose I should hedge it... | |||
a little harder to remember how to do ® | 15:20 | ||
I suppose that's appropriate :) | |||
15:21
zostay joined
|
|||
diakopter remembers again why I switched away from C#/CLR 3 or 4 times ago... it's just as difficult to debug generated code that's generated by code I can't debug because it's generated at runtime as well. | 15:22 | ||
15:22
mssm joined
|
|||
baest | dk | 15:23 | |
whoops | |||
diakopter: as I remember it, it is difficult enough to debug one level of code generation | |||
diakopter | I got that figured out (finally) | ||
masak can type ® and © with the TeX input mode in Emacs but not ™ | 15:24 | ||
15:24
tuxdna left
|
|||
diakopter | but I neglected to finish my sentence.. | 15:24 | |
oops :) | |||
to finish it: | |||
mberends | jnthn: sort of. the lights were on, but at times it looked like nobody was at home ;-) | ||
15:24
PacoLinux joined
|
|||
jnthn | ;-) | 15:24 | |
15:24
jonafk joined
|
|||
jnthn | Glad you got there, anyways. | 15:25 | |
15:25
iblechbot joined,
jonafk is now known as jonasbn
|
|||
jnthn | Hope you can get adequete sleep tonight. | 15:25 | |
diakopter | ... as it is to debug generated JavaScript from generated JavaScript... and .. hmm. | ||
jonasbn | jnthn: hai | ||
TimToady | hugme: Hug Trolls™ | ||
jnthn | jonasbn: oh hai | 15:26 | |
mberends | how to type (tm) better on webchat.freenode.net in Firefox on Windows XP? Ugh... | ||
masak | diakopter: you remember the given/when idea for implementing gotos that I stole from you? | ||
15:26
TimToady sets mode: +vvvv buubot dalek hugme iblechbot,
TimToady sets mode: +vv ilogger2 IRSeekBot,
TimToady sets mode: +vvv lisppaste3 p6eval phenny
|
|||
masak | diakopter: well, moritz_ took one look at it and said "you should use a hash of closures instead" :) | 15:26 | |
jonasbn | the OSD ppl just called me back | ||
diakopter | masak: I didn't remember you stealing it from me.. | ||
masak | diakopter: and then he went away to benchmark the two variants. | ||
dalek | kudo: 54c983e | jonathan++ | src/ (3 files): Start to be a tiny bit smarter about :auth and :ver - now we treat them as not just part of the name, but also something you can introspect on the meta-class. |
||
kudo: 8f90546 | jonathan++ | (2 files): Translate much of moritz++'s prototype implementation of module location in NQP. Untested and unused so far. |
|||
jonasbn | jnthn: the hotel should be figured out | ||
masak | diakopter: guess what? hashes and closures are not significantly faster in Rakudo :P | ||
diakopter | sigh | 15:27 | |
oh wait | |||
thought you wrote "slower" | |||
jnthn | jonasbn: oh oops...see what I wrote in pm... | ||
diakopter | are they about the same? | ||
masak | diakopter: no, it's just that his speedup was not more than 10% or something. | ||
not enough for me to switch. | |||
diakopter | hm | ||
why would they be faster | 15:28 | ||
masak | diakopter: because there are far fewer string comparisons? | ||
baest | masak: the greater the number of whens the greater the speedup should be, right? Personally I prefer lookups | ||
masak | baest: yes. | ||
mberends | rakudo: my @a=1,2; my @b=3,4; my @c=@a,@b; @c.perl.say # hoping for something that doesn't flatten | 15:29 | |
p6eval | rakudo bd7c6f: OUTPUT«[1, 2, 3, 4]» | ||
TimToady | that would depend on whether the switch was optimized | ||
baest | maybe there is something to gain in the hash implementation though | ||
TimToady: creating a lookup behind the scene? | |||
TimToady | The way Perl 5 optimized switches, it could be faster than a hash | ||
*4 | |||
esp if all your strings started with a different char | 15:30 | ||
basically turned into a jump straight to the correct case | |||
moritz_ | I don't think rakudo does any of those optimizations yet | ||
TimToady | nor does Perl 5, last I heard :) | 15:31 | |
15:31
payload joined,
pmurias joined
|
|||
moritz_ | perl 4 had switches? I never new that :-) | 15:31 | |
pmurias | hi | ||
TimToady | it became more politically interesting to encourage people to use a dispatcher at that point, I guess | ||
baest | TimToady: but how would you do that when you could have a regex or a number of even a hash as when target? | ||
pmurias | moritz_: you mean command line switches? | ||
TimToady | well, you don't, for anything mutable | 15:32 | |
moritz_ | pmurias: no, switch statements | ||
15:32
k23z__ joined
|
|||
TimToady | a regex is immutable, though, and many regexen are anchored and know their first char | 15:32 | |
baest | true | ||
TimToady | p4 made use of that info, if available | ||
baest | cool | ||
pmurias | moritz_: what was the syntax? | ||
TimToady | despite the fact that there was no syntax | ||
mberends | rakudo: my @a=1,2; my @b=3,4; my @c=\@a,\@b; @c.perl.say | 15:33 | |
p6eval | rakudo bd7c6f: OUTPUT«[Capture.new(), Capture.new()]» | ||
jonasbn | when are ppl leaving Copenhagen tomorrow? | ||
TimToady | instead, it would optmimize any conditional structure as if it were a switch | ||
diakopter | masak: wait, which given/when idea for implementing gotos did you steal? | ||
moritz_ | pmurias: I don't know anyhting about them | ||
jnthn | jonasbn: Afternoonish I think. | ||
jonasbn | I work just next to the hotel, so I could invite the remains for lunch | ||
moritz_ remains until Wednesday morning - train leaves at 7:45 AM | 15:34 | ||
15:34
Psyche^ joined
|
|||
TimToady | otoh, hashes with common short strings can also be optimized | 15:34 | |
jnthn | .oO( the remains of the Perl 6 hackers... ) |
||
jonasbn | jnthn: leftovers? | ||
15:34
ignacio_ left
|
|||
masak | diakopter: the state loop in the generated regex code. | 15:35 | |
jonasbn | let me know if you want to come by for lunch, it is a five minute walk by the harbour | ||
jnthn | jonasbn: those who are left | ||
jonasbn: I'm in for lunch. :-) | |||
moritz_ | jonasbn: I'd love to | ||
jonasbn | masak: what about you? | 15:36 | |
jnthn | we'll drag him along :-) | 15:37 | |
jonasbn | super | ||
15:37
Patterner left,
Psyche^ is now known as Patterner
|
|||
jonasbn | which one is the pastebot in here? | 15:38 | |
moritz_ | paste.lisp.org/new/perl6 -> lisppaste3 | ||
15:40
justatheory joined
|
|||
lisppaste3 | jonasbn pasted "map to jonasbn@work" at paste.lisp.org/display/96106 | 15:40 | |
jonasbn | arnsholt: you still in Copenhagen? | ||
moritz_ | jonasbn: he just left us for the airport | 15:41 | |
jonasbn | ah | ||
okay | |||
moritz_ | (actually first meeting a friend, then airport) | ||
masak | jonasbn: I'm more distracted than usual. yes, lunch together would be grand. | 15:42 | |
jonasbn | masak: sounds good, go back to your distractions :) | 15:43 | |
15:45
iblechbot left
|
|||
k23z__ | do extended Perl5-type regexes that allow code in the "replace" part exist in p6 also ? | 15:45 | |
mathw | colomon: All in different keys? High and low? Four's not bad for one session given the lack of key range we usually get. | 15:46 | |
masak | k23z__: yes. if you mean s/.../.../ | ||
k23z__ | masak, yes that's what I mean | ||
masak | k23z__: there's also an assignment form s[...] = "new substring" | ||
it's in S05 if you crave the exact details. | 15:47 | ||
k23z__ takes a look | |||
masak | (also, neither of these syntaxes are implemented in Rakudo currently) | ||
k23z__ | I was just wondering if one has a variable in the replace part if the regex is still immutable | ||
masak | hm. | 15:48 | |
k23z__ | per what TimToady said above <TimToady> a regex is immutable, though, and many regexen are anchored and know their first char | ||
moritz_ | k23z__: if variables were immutable, you'd call them constants | ||
rakudo: my %h = (a => 3, b => 5); say %h.keys | 15:49 | ||
masak | in the case of .subst, one has to closurize any $/-related variables to get the ones from the substring match. | ||
p6eval | rakudo 8f9054: OUTPUT«ab» | ||
diakopter | masak: but... I never suggested using given/when | ||
colomon | mathw: from top to bottom, high D, C, A, G, and low D. | ||
moritz_ | rakudo: my %h = (a => 3, b => 5); say keys(%h) | ||
p6eval | rakudo 8f9054: OUTPUT«ab» | ||
masak | diakopter: no, you used switch in JS, I think. | ||
moritz_ | rakudo: my %h = (a => 3, b => 5); say sort keys(%h) | ||
p6eval | rakudo 8f9054: OUTPUT«Could not find non-existent sub &sortcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
masak | diakopter: or if/else if/else? I don't recall... | ||
moritz_ | rakudo: <b a c d>.sort.say | 15:50 | |
p6eval | rakudo 8f9054: OUTPUT«abcd» | ||
diakopter | I was using switch/case in JS and CIL, which are translated to jump tables, because I used a continuous range starting from 0 | ||
baest | k23z__: I think the immutable only refers to the search part, not the replacement | ||
k23z__ | baest, ah, then yes | ||
masak | pugs: my $a = 'foor'; $a ~~ s/foo/bar/; say $a | ||
p6eval | pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.14/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** '<HANDLE>' trapped by operat… | ||
k23z__ | but if I have a variable in the search part, it will interpolate once and the regex be constructed with that value right ? | 15:51 | |
baest would think so | |||
masak | pugs: say 'compiled OK'; s[foo] = 'bar'; | ||
p6eval | pugs: OUTPUT«compiled OKError eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.14/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** '<HANDLE>' trapp… | ||
masak | Pugs implements both syntaxes, but is currently broken WRT regexes. | ||
at least on the evalbot server. | |||
moritz_ | rakudo: Callable | ||
p6eval | rakudo 8f9054: ( no output ) | ||
PerlJam | greetings | 15:52 | |
moritz_ | l\o/litsperljam! | ||
PerlJam | heh | ||
15:52
uniejo left
15:53
ignacio_ joined
|
|||
PerlJam | you don't think the \ and / make good ell substitutes? | 15:53 | |
moritz_ | I was just being verbose | ||
erm, charbose | |||
TimToady | oh noes, a new productive suffix | ||
masak | suffbose. | 15:54 | |
why's it called 'suffix' in linguistics but 'postfix' in Perl 6? | |||
moritz_ | because a postfix is syntactically distintict | 15:55 | |
TimToady | though I suppse, technically, it should be -ose, since "verb" is the root | ||
moritz_ | so the lexer can easily find it | ||
TimToady | suffix technically is in the same word | ||
but it's mostly arbitrary anyway | 15:56 | ||
and for parallelism | |||
masak | nod. | ||
TimToady | most people don't think of sur as the opposite of pre | ||
masak .oO( subfix ) | 15:57 | ||
TimToady | resumably short for super or some such | ||
*pre | |||
mberends | rakudo: my @a=1,2; my @b=3,4; my @c=[@a,@b]; @c.perl.say | ||
p6eval | rakudo 8f9054: OUTPUT«[[1, 2, 3, 4]]» | ||
mberends | rakudo: my @a=1,2; my @b=3,4; my @c=[@a],[@b]; @c.perl.say | ||
PerlJam | TimToady: does that mean a prefeit is the opposite of a surfeit? | ||
p6eval | rakudo 8f9054: OUTPUT«[[1, 2], [3, 4]]» | ||
15:57
am0c joined
|
|||
masak | mberends: maybe a parfait is. | 15:58 | |
TimToady | ah, glo has looked it up in the amher, and it's from sub, not super | ||
PerlJam | amher? | ||
oh. never mind. | |||
TimToady | American Heritage dictionary | 15:59 | |
PerlJam | yeah, I got it belatedly | ||
TimToady | which, despite its name, is very good at etymology | ||
diakopter | jaxenter.com/gilad-bracha-java-is-b...10456.html | ||
15:59
mberends left
|
|||
moritz_ | rakudo: say (3 xx 5).perl | 15:59 | |
masak | the 'su-' of 'suffix' is short for 'sub'? that's... unexpected. | ||
p6eval | rakudo 8f9054: OUTPUT«[3, 3, 3, 3, 3]» | ||
TimToady | glo blames the french, they don't have "post" as a prefix in french | ||
linguistic affixes often mutate the nearby sounds | 16:00 | ||
masak | that's actually an inaccuracy in my talk from day before yesterday, then. I said it means 'on', I think. | ||
TimToady | and sometimes it even depends on the meaning, hence the field of "morphophonemics" | 16:01 | |
we try to avoid those kinds of things in Perl 6; variant sigils were are arguably a form of that | 16:02 | ||
moritz_ | TimToady: do we really want p5chomp as currently specced, being a method on a list? | ||
TimToady | the purpose of p5chomp os to do whatever p5's chomp does, that's all | 16:03 | |
*is | |||
moritz_ | then I don't see why it needs to exist as a method at all | ||
TimToady | I suppose one can interpret "do" on more than one level though | ||
I envision it more at the syntactic level for someone translating p5 code to p6 who doesn't want to think | 16:04 | ||
moritz_ accepts and shuts up | |||
lisppaste3 | colomon pasted "Failed attempt at getting Rakudo to properly handle integer overflow..." at paste.lisp.org/display/96107 | ||
16:05
payload left
|
|||
TimToady | given that i/o handles autochomp, and that chomp in p5 uses a naughty global variable, I don't see then need to push it deep into p6's guts | 16:06 | |
*the need | |||
moritz_ | rakudo: multi a(&a) { }; multi a(&a) { }; a { }; | 16:13 | |
p6eval | rakudo 8f9054: OUTPUT«No applicable candidates found to dispatch to for 'a'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
moritz_ | rakudo: multi a(&a) { }; multi a(&a) { }; a {; }; | ||
p6eval | rakudo 8f9054: OUTPUT«No applicable candidates found to dispatch to for 'a'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
moritz_ | rakudo: multi a(&a) { }; multi a(&a) { }; a sub { }; | ||
p6eval | rakudo 8f9054: OUTPUT«Ambiguous dispatch to multi 'a'. Ambiguous candidates had signatures::(&&a):(&&a)current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
masak submits rakudobug | |||
colomon | woah. perlcabal.org/syn/S32/IO.html hasn't regenerated since mid-February? | 16:14 | |
moritz_ | ooops | 16:15 | |
16:15
k23z__ left
|
|||
colomon | It changed last Friday, I believe. | 16:16 | |
S03 is up-to-date there... | |||
moritz_ runs the update-syn script manually to see if it gives any helpful output | 16:17 | ||
masak has a new job title: 'statistics whore' :) | |||
lisppaste3 | moritz_ pasted "update from update-syn" at paste.lisp.org/display/96108 | 16:18 | |
moritz_ | it doesn't enlighten me. | 16:19 | |
colomon | Doesn't even look like it's trying to do S32? | ||
japhb | Tene, any luck with 'use OpenGL :from<parrot>;' this weekend? | ||
jnthn | doesn't look into directories, perhaps? | ||
colomon | Is something in S22 breaking the process? | ||
pugssvn | r29996 | moritz++ | [t/spec] numerous unfudges for rakudo | ||
masak | jnthn: sounds plausible. | ||
colomon | but (judging by that) S26, S28, S29, and S31 are not getting processed either.... | 16:20 | |
*that paste | |||
moritz_ | actually it's S26 that contains defn blocks | 16:22 | |
masak | ah. | ||
S26 is the odd one, of course. | |||
it's in Pod. | |||
not POD. | |||
moritz_ | rakudo: say Array ~~ Seq | 16:24 | |
p6eval | rakudo 8f9054: OUTPUT«1» | ||
moritz_ | it's odd how hard it is to add the sub form of sort() | ||
colomon | moritz_: what's the issue? (issues?) | 16:25 | |
jnthn | moritz_: iirc in alpha we looked to see if the first thingy that was passed was a block rather than relying on multi-dispatch. | 16:26 | |
diakopter | patft.uspto.gov/netacgi/nph-Parser?.../6,368,227 | ||
jnthn | I don't see why multi-dispatch shouldn't handle it though. | ||
moritz_ | nopaste.snit.ch/19879 | ||
colomon | rakudo: sub foo(*@a) { say @a.WHAT }; foo(1, 2, 3) | 16:27 | |
p6eval | rakudo 8f9054: OUTPUT«Array()» | ||
colomon | rakudo: sub foo(*@a) { say @a[0] }; foo(1, 2, 3) | 16:28 | |
p6eval | rakudo 8f9054: OUTPUT«1» | ||
colomon | rakudo: sub foo(*@a) { say @a.sort }; foo(1, 2, 3) | ||
p6eval | rakudo 8f9054: OUTPUT«No applicable candidates found to dispatch to for 'postcircumfix:<[ ]>'current instr.: '!postcircumfix:<[ ]>' pc 10640 (src/builtins/Role.pir:90)» | ||
colomon | Indeed. | ||
diakopter | the S32s are ... hmm | 16:29 | |
colomon | That error seems vaguely familiar to me, actually, now that I think about it. I know for sure I've had frustrations with *@a arguments. | ||
moritz_ | rakudo: say grep { $_ !% 3 }, 1..5 | 16:30 | |
p6eval | rakudo 8f9054: OUTPUT«3» | ||
moritz_ looks to see how grep does it | 16:31 | ||
TimToady | grep doesn have to handle "grep 1,2,3" | ||
*'t | |||
moritz_ | that's not the point | ||
the definition above wouldn't accept any ordering closure | |||
colomon | our proto sub grep($test, @values) { @values.grep($test); } | ||
moritz_ | 17:28 < colomon> rakudo: sub foo(*@a) { say @a.sort }; foo(1, 2, 3) | ||
rakudo: say grep { $_ !% 3 }, 1 | 16:32 | ||
TimToady | it's just a positional argument, I'd think | ||
p6eval | rakudo 8f9054: OUTPUT«» | ||
moritz_ | why does it work with @values even if 1 is not Positional? | ||
colomon | rakudo: say grep { $_ !% 3 }, 1, 2, 3 | ||
p6eval | rakudo 8f9054: OUTPUT«Too many positional parameters passed; got 4 but expected 2current instr.: 'grep' pc 246943 (src/gen/core.pir:6658)» | ||
moritz_ | oh. | ||
masak submits rakudobug | |||
colomon | max and min seem to work, though... | 16:33 | |
TimToady | well, ~~ 1 is perfectly valid... | ||
colomon | our proto sub min($by, *@values) { @values.min($by); } | ||
rakudo: min({ $^a <=> $^b }, 1, 2, 3) | 16:35 | ||
p6eval | rakudo 8f9054: ( no output ) | ||
colomon | rakduo; say min({ $^a <=> $^b }, 1, 2, 3) | ||
rakudo | 16:36 | ||
TimToady | and : | ||
colomon | rakudo: say min({ $^a <=> $^b }, 1, 2, 3) | ||
p6eval | rakudo 8f9054: OUTPUT«1» | ||
colomon | rakudo: sub foo($str, *@a) {say $str; say @a.sort }; foo("hello", 1, 2, 3) | 16:37 | |
p6eval | rakudo 8f9054: OUTPUT«helloNo applicable candidates found to dispatch to for 'postcircumfix:<[ ]>'current instr.: '!postcircumfix:<[ ]>' pc 10640 (src/builtins/Role.pir:90)» | ||
colomon | just checking | ||
seems like it might actually be a bug in .sort? | |||
moritz_ | rakudo: say (@(1, 2, 3)).sort | 16:39 | |
TimToady | it would be useful if "No applicable candidates" would tell you the nearest misses | ||
p6eval | rakudo 8f9054: OUTPUT«123» | ||
colomon | S03-operators/context-forcers.rakudo aborted 69 test(s) ? | ||
jnthn | TimToady: Heh. Then it's just deciding on what "nearest" means. :-) | ||
moritz_ | did I forget to push something? | ||
colomon | ok 24 - + context forcer works (5) | ||
Use of type object as value | |||
is what I get when I run the test by itself | 16:40 | ||
(I mean, minus 23 passing tests.) | |||
moritz_ | colomon: are you on latest spectests? | ||
colomon | oh, dear heavens, no. | ||
how did that many tests get changed already this morning? | |||
dalek | kudo: e533f86 | moritz++ | t/spectest.data: three more test files that we pass now that parcels stringify correctly |
16:41 | |
masak | TimToady: I've been thinking the same thing at times. right now it just says "no, you're doin' it wrong", which can be frustrating sometimes. | ||
[particle] | (thundering herd)++ | ||
colomon | works fine after svn up | ||
TimToady | it's one of those LTA things that is slowing people down but is unlikely to be on anyone's roadmap | ||
moritz_ | colomon: we've been hackathoning for about 7 hours (with a lunch pause inbetween), and I've split my time between test suite and rakudo | ||
colomon has been thinking that TimToady has the same syllable pattern as "Caldonia"... | 16:42 | ||
moritz_: hackathon++ | |||
TimToady | "Something's wrong near line 1000, give or take a few hundred" | 16:43 | |
16:43
ash_ joined
|
|||
jnthn | Patches welcome. ;-) | 16:44 | |
masak | TimToady: that's still better than 'something's wrong'... :/ | ||
jnthn | Even from me. :-) | ||
moritz_ | TimToady: I just agreed with jnthn++ that listing all candidates which accept the right number of arguments would be a big win already | ||
16:44
jonasbn left
|
|||
TimToady | at this point, too much info would be better than too little | 16:44 | |
it can always be cut down later | 16:45 | ||
once we have a working sort :) | |||
moritz_ | lol | ||
masak | *lol* | ||
colomon | :) | ||
ash_ | nqp-rx is a LALR type parser right? or is it just an LR parser? | ||
colomon | we do have a mostly working sort, though. You just have the invoke it with the right magic. | 16:46 | |
TimToady | eh? It's more like LL, with ribbons | ||
masak | also, it's two parsers. | ||
TimToady | only bottom up in the operator precedence parser | ||
the rest is top down | |||
just like STD | |||
masak | with lookahead/lookbehind, custom actions, and backreferences... | 16:47 | |
TimToady | and the opp is neither LR nor LALR | ||
[particle] | what about string processing? | ||
TimToady | +1 | ||
I like string processing | 16:48 | ||
[particle] | :) | ||
moritz_ too | |||
masak | I can get fed up with it sometimes. | ||
moritz_ | it's why I switchted from qbasic to perl :-) | ||
TimToady | that's string *cheese* processing | ||
masak | 哈哈 | 16:49 | |
colomon | ah, qbasic.... | ||
16:49
Psyche^ joined
|
|||
[particle] | why are you whispering? | 16:49 | |
QBASIC! | 16:50 | ||
TimToady | masak: re 哈, if it fits in your mouth, you're not sufficiently fed up yet | ||
moritz_ | [particle]: QBasic actually | ||
masak | actually, QBasic. | ||
:) | |||
jnthn | OH NO | ||
ash_ | why would it do LL instead of LR? | ||
[particle] | urk, some languages have no respect for their predecessors | ||
TimToady | because LL is top down, but it's not really LL either | ||
jnthn | Parrot's stat opcode...throws exceptions on file not found. :-/ | 16:51 | |
moritz_ | colomon: the other day after $hackathon we remembered that qbasic used MID() instead of substr... how very intuitive :-) | ||
TimToady | it's just recursive descent, with most of the left-recursive issues solved by inserting a bottom-up parser in the middle | ||
colomon | moritz_: I actually did a couple of years of quasi-professional programming in QBasic, right at the beginning of my career... | ||
TimToady | that's pretty much all basic, not just qbasic | ||
[particle] | jnthn: there's been no design consistency enforced for parrot op error condition reporting mechanisms | ||
it's a headache, for sure | |||
colomon | well, during high school, at any rate. | 16:52 | |
jnthn hopes that the "does the file exist" mode won't return an exception on file not found too :-) | 16:53 | ||
16:53
Patterner left,
Psyche^ is now known as Patterner
|
|||
colomon | jnthn: I was wondering about that. Should we change the filetest operations to fail more gracefully when the file is not found? | 16:53 | |
jnthn | colomon: I think so :-) | 16:54 | |
colomon | oh other wise ones: what do you think? | ||
jnthn | We certainly shouldn't throw an exception in response to "is this thingy a directory". | 16:55 | |
Not existing is a perfectly valid way of not being a directory. | |||
TimToady | parrot's braindamaged exception happiness must be hidden behind p6's more consistent model | 16:56 | |
ash_ | TimToady: when you say "inserting a bottom-up parser in the middle" you mean for operator precedence, right? | ||
TimToady | yes | ||
but it could be any bottom-up parser | |||
as long as it's guaranteed to advance at least one token, you fix left recursion | 16:57 | ||
you could throw a yacc grammar in the middle too, but it would be differently flexible | |||
ash_ | is it possible to express p6 in a bottom-up parser? | ||
masak | the horror. | ||
TimToady | yes, but you'd be rerunning yacc every time the language tweaks itself, which is all over the place | 16:58 | |
and you still have to make sure all your rules reach sequence points where the language shifts | |||
ash_ | well, i am only trying to parse nqp, which is a fairly limited subset | ||
TimToady | or you'll have yacc guessing from information that is outside of what it should know via unwarranted lookahead | 16:59 | |
yes, reducing p6 to a subset makes it easier | |||
especially if it isn't a mutable subset | |||
but then you're not gonna have macros or new operators or... | 17:00 | ||
ash_ | my current goal is not a mutable subset, i mainly wanted to implement just basic control structures, single dispatch, classes and grammars, both of those being restricted to what nqp can handle | 17:01 | |
TimToady | well, p5 uses a yacc grammar | ||
moritz_ | and an insane lexer | 17:02 | |
TimToady | indeed, yacc is one of the reasons for that :) | ||
ash_ | i am starting to think i probably shouldn't use yacc | ||
it looks like i might have to make my own LL-ish parser | |||
TimToady | yacc is one of those hammer things, which work pretty well on nails | ||
PerlJam | ash_: It seems to me that yacc would be fine if you were re-inventing NQP | 17:03 | |
masak | ash_: what is your ultimate goal in reimplementing nqp? | ||
TimToady | but some of your nails are thumbnails | ||
pmurias | TimToady: would there be any benefits in parsing Perl 6 bottom up? | ||
moritz_ | pmurias: can you even do that? | ||
I mean, predictively as it's specced to parse | 17:04 | ||
ash_ | masak: learning, i am doing an indepedant study at my college, i just choose nqp because it looked like enough of a challenge that i'd learn something, but also it seemed possible (at the time) | ||
dalek | kudo: 49749c0 | masak++ | src/core/Signature.pm: [Signature.pm] removed extra '&' for params in .perl |
||
TimToady | pmurias: do you consider useless Syntax error messages to be a benefit? :) | ||
masak | ash_: in Tardis, I hope to get a small Perl 6 runtime going. I implemented very simple assignment yesterday :) | ||
TimToady | "Something's wrong near line 42" is pretty much all the help you get from yacc | 17:05 | |
ash_ | Tardis? (other than a reference to doctor who) | ||
jnthn | wow...masak fixed a bug as well as reporting it! | ||
masak | ash_: time-travelling debugger. | ||
pmurias | TimToady: got enough of those from python today ;) | ||
masak | ash_: github.com/masak/tardis | ||
TimToady | yes, well, that was state of the art for a couple decades | 17:06 | |
masak | jnthn: Swedish proverb: "Undrens tid är inte förbi." -- "The time of wonders is not yet over." Meaning "Expect odd things at times." | ||
moritz_ | std: ( } | ||
p6eval | std 29996: OUTPUT«===SORRY!===Unable to parse parenthesized expression; couldn't find final ')' at /tmp/jAIWIQYWff line 1:------> ( ⏏} expecting semicolon listFAILED 00:01 106m» | ||
jnthn | :-) | ||
TimToady | and bits of parrot still think that a car with a single "?" indicator will be sufficient to tell the user that he should figure out what's wrong. | ||
I prefer my computer to work a little harder at telling me what's wrong. | 17:07 | ||
ash_ | kinda like clang's error messages? | 17:08 | |
moritz_ | ash_: those are really good | ||
17:08
skeptical_p joined
|
|||
moritz_ | ash_: showing both expanded and unexpanded macros is such a great idea for C++, I wonder why nobody else thought of it earlier | 17:08 | |
(probably because compiler writers were glad not to touch the preprocessor...) | 17:09 | ||
ash_ | i'd say because of how daunting of a task it is to make a compiler | ||
masak | that's a good idea to remember for Perl 6 as well. | ||
TimToady | It's always easy to treat user-oriented engineering and Someone Else's Problem | 17:10 | |
jnthn | oh heh. Parrot's stat op claims that "./" is not a directory and does not exist. :-/ | 17:11 | |
ash_ | umm | 17:12 | |
TimToady | s/and/as/ | ||
ash_ | that sounds like stat didn't dwim | ||
colomon | jnthn: ./ isn't, is it? | ||
it's just . | 17:13 | ||
[particle] | yeah, i'd argue that the trailing slash is incorrect there | ||
jnthn | how helpful. | ||
moritz_ | rakudo: say ?{} | ||
p6eval | rakudo e533f8: OUTPUT«0» | 17:14 | |
masak | \o/ | ||
ash_ | in bash, ls can take ./, also stat ./ works just fine | 17:15 | |
the trailing / might not be useful, but it seems valid to me | |||
moritz_ | ash_: jnthn is on windows | ||
TimToady | SysV actually treated '' as equivalent to . for just that reason | ||
moritz_ | where everything is weird[tm] | 17:16 | |
ash_ | moritz_: i know, but doesn't parrot try to handle some of the differences in the fs layout? | ||
moritz_ | I don't really know | ||
ash_ | i guess that may be something thats hard to figure out then? /shrug | ||
colomon | jnthn: I'll try to take a look at making filetests not choke if the file doesn't exist this afternoon. | ||
jnthn | colomon: Cool | ||
colomon: I'm akshually working on module location/loading atm rather than those. | 17:17 | ||
17:17
quietfanatic joined
|
|||
jnthn | But ran into same issue there. | 17:17 | |
17:18
am0c left
|
|||
colomon | I can try to bang it out in the next couple of minutes if it would be useful to you. (Been working on moving failing arith.t tests to overflow.t.) | 17:18 | |
masak | colomon: if it doesn't exist in the morning, it's fine? :P | 17:19 | |
colomon | masak: in the morning, who cares if your code crashes? :p | ||
masak | I love the smell of crashes in the morning :) | 17:20 | |
TimToady | in that case, they're already swearing at you tomorrow in Japan | 17:21 | |
17:22
Trashlord joined,
lisppaste3 left,
lisppaste3 joined
17:23
payload joined
|
|||
colomon | jnthn: so, for :z (is file zero length?) does it return true or false if the file does not exist? | 17:25 | |
moritz_ | .oO( yes ) |
17:26 | |
jnthn | Hmm, that's maybe a trickier one. :-) | ||
Well, could return an undefined value I guess | 17:27 | ||
colomon | A fail, or Mu, or Bool() ? | ||
moritz_ | undefined but True? | ||
17:27
barney left
|
|||
moritz_ | colomon: we don't usually use Mu anymore, more likely Any | 17:27 | |
masak | NaB | 17:29 | |
colomon | NaB? | ||
masak | Not a Bool :P | ||
colomon | rakudo: say Bool() | ||
p6eval | rakudo e533f8: OUTPUT«Could not find non-existent sub &Boolcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
colomon | rakudo: say Bool | ||
p6eval | rakudo e533f8: OUTPUT«Bool()» | ||
masak | hm. | 17:30 | |
strange error. | |||
moritz_ | it is kind of funny | ||
jnthn | why? | ||
colomon | jnthn: does rakudo have directory test operators yet? if so, where? | 17:32 | |
moritz_ | rakudo: say '/' ~~ :d | 17:34 | |
p6eval | rakudo e533f8: OUTPUT«Method 'd' not found for invocant of class 'Perl6Str'current instr.: 'perl6;Enum;ACCEPTS' pc 362070 (src/gen/core.pir:50271)» | ||
17:35
meppl joined
17:37
pmurias left
|
|||
moritz_ | rakudo: [[]].perl.say; [[]].''().perl.say | 17:39 | |
p6eval | rakudo e533f8: OUTPUT«[[]][]» | 17:40 | |
jnthn | colomon: I think so | ||
masak | rakudo: Code.'' | 17:41 | |
p6eval | rakudo e533f8: OUTPUT«Quoted method name requires parenthesized arguments at line 11, near ""current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
masak | rakudo: Code.''() | ||
p6eval | rakudo e533f8: OUTPUT«Use of type object as valuecurrent instr.: 'perl6;Perl6Exception;throw' pc 14523 (src/builtins/Seq.pir:77)» | ||
masak | rakudo: Code.new.''() | ||
p6eval | rakudo e533f8: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expectedcurrent instr.: 'perl6;Code;new' pc 12663 (src/builtins/Num.pir:58)» | ||
masak | rakudo: Code.new.''(Code.new) | ||
p6eval | rakudo e533f8: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expectedcurrent instr.: 'perl6;Code;new' pc 12663 (src/builtins/Num.pir:58)» | ||
masak | rakudo: Code.new.''(Code.new, Code.new) | ||
p6eval | rakudo e533f8: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expectedcurrent instr.: 'perl6;Code;new' pc 12663 (src/builtins/Num.pir:58)» | ||
masak | :) | ||
colomon | rakudo: say 'etc' ~~ :d | ||
p6eval | rakudo e533f8: OUTPUT«Method 'd' not found for invocant of class 'Perl6Str'current instr.: 'perl6;Enum;ACCEPTS' pc 362070 (src/gen/core.pir:50271)» | ||
masak | Perl6Str? o.O | 17:42 | |
colomon | rakudo: say '/etc/passwd' ~~ :d | ||
p6eval | rakudo e533f8: OUTPUT«Method 'd' not found for invocant of class 'Perl6Str'current instr.: 'perl6;Enum;ACCEPTS' pc 362070 (src/gen/core.pir:50271)» | ||
colomon | rakudo: say '/etc/passwd' ~~ :e | ||
p6eval | rakudo e533f8: OUTPUT«1» | ||
colomon | masak: pay not attention to the type behind the curtain | ||
masak | colomon: :) | ||
colomon: 'Objectivist C is a "dynamically typed" language, which means that you can type in whatever you damn well like.' | 17:43 | ||
moritz_ | rakudo: my Int (Str $x); say $x.WHAT | ||
p6eval | rakudo e533f8: OUTPUT«Int()» | ||
dalek | kudo: 9978b34 | jonathan++ | src/ (4 files): Need to set up @*INC by BEGIN time, othrewise we'll not be able to use it in module loading. Kinda switch on new module locator code; gets us looking through @*INC again and should handle loading Foo::Bar style things. |
17:44 | |
moritz_ | rakudo: $0 | ||
p6eval | rakudo e533f8: OUTPUT«Method 'postcircumfix:<[ ]>' not found for invocant of class ''current instr.: '!postcircumfix:<[ ]>' pc 10640 (src/builtins/Role.pir:90)» | ||
colomon | implementing :d now.... | ||
17:45
krr left
|
|||
TimToady | remember we're likely taking .d etc away from strings and making the user do the .IO cast | 17:45 | |
moritz_ | rakudo: sub foo($x where { $x == $y }, $y) { }; foo(1,2) | ||
p6eval | rakudo e533f8: OUTPUT«Use of type object as valuecurrent instr.: 'perl6;Perl6Exception;throw' pc 14523 (src/builtins/Seq.pir:77)» | ||
masak | yes, I think that's sane. | ||
even though already that little piece of sanity hurts conciseness compared to Perl 5. | 17:46 | ||
TimToady | but $x.IO ~~ :r & :w & :x factors it out to some extent | 17:47 | |
also qp{/etc/passwd} probably makes something IOish | |||
colomon | is :z gone altogether, then? | 17:48 | |
TimToady | yes | ||
colomon | argh. hard to keep up. | ||
TimToady | makes for too many double negatives :) | ||
masak | std: sub foo($x where { $x == $y }, $y) { } | ||
p6eval | std 29996: OUTPUT«===SORRY!===Variable $y is not predeclared at /tmp/UwCqbZKpPp line 1:------> sub foo($x where { $x == $y⏏ }, $y) { } expecting any of: POST postfix postfix_prefix_meta_operatorFAILED 00:01 109m» | ||
masak | std: my $y; sub foo($x where { $x == $y }, $y) { } | ||
p6eval | std 29996: OUTPUT«ok 00:01 107m» | ||
masak | TimToady: shouldn't STD.pm complain that I use both an outer $y and declaring an inner one? | 17:49 | |
TimToady | ya'd think | ||
masak | so, STD-bug. | ||
17:50
payload left
|
|||
TimToady | std: my $y; sub foo ($x where $x == $y, $y) { } | 17:51 | |
p6eval | std 29996: OUTPUT«===SORRY!===Preceding context expects a term, but found infix = instead at /tmp/zRaprddxcN line 1:------> my $y; sub foo ($x where $x =⏏= $y, $y) { } expecting any of: an infix operator with precedence tighter than chaining | ||
..constraint p… | |||
masak | This Uncyclopedia article reminds me of the discussion with lichtkind yesterday about side effects: uncyclopedia.wikia.com/wiki/Nonfunc...rogramming | ||
TimToady | hmm | ||
std: my $y; sub foo ($x where ($x == $y), $y) { } | 17:52 | ||
p6eval | std 29996: OUTPUT«===SORRY!===Lexical symbol '$y' (from line 1) is already bound to an outer scope implicitly and must therefore be rewritten explicitly as 'OUTER::<$y>' before you can unambiguously declare a new '$y' in the same scope at /tmp/SbS1EUG74u line 1:------> | ||
..m… | |||
masak | 'found infix ='? | ||
TimToady | it's the fact that you use the $y in its own little lexical scope that hides it | ||
masak | aye. | ||
I realized that. | |||
perhaps that even makes it OK. | |||
TimToady | mebbe, mebbenot | ||
masak | right. | ||
still thinking about it :) | 17:53 | ||
17:53
Toony left
|
|||
TimToady | and yes, the found infix message is LTA | 17:54 | |
colomon | rakudo: say "/etc".IO | ||
p6eval | rakudo 49749c: OUTPUT«Method 'IO' not found for invocant of class 'Perl6Str'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
masak | std: my $a; sub foo { say "OH HAI": { say $a }; my $a } | ||
p6eval | std 29996: OUTPUT«ok 00:01 107m» | ||
masak | I'd consider that not OK. | ||
17:55
ignacio_ left
|
|||
TimToady | might not be a difficult fix | 17:55 | |
17:55
uniejo joined
|
|||
masak | \o/ | 17:55 | |
17:56
cdarroch joined,
cdarroch left,
cdarroch joined
17:58
perpetrator joined
17:59
mberends joined
|
|||
moritz_ is actually happy with the current behaviour | 18:00 | ||
because in my book the $y actually belongs to the scope of the block of the sub | 18:01 | ||
so it's not the same scope as the outer $y, thus no warning necessary | |||
masak | hm. | ||
I don't have a strong argument for either view. | 18:02 | ||
moritz_ | signatures are the exception to the usual rule that scope = block | ||
18:02
ash_ left
|
|||
masak | I just remembered that we once had a type of statement called 'nothing' in the spec. we could write things like 'repeat nothing while some-condition();' | 18:03 | |
TimToady | I guess it depends on whether you think the inner scope is asking the intermediate scope for its definition of $y as a go-between | ||
masak | std: sub some-condition() {}; Whatever while some-condition(); | ||
p6eval | std 29996: OUTPUT«ok 00:01 108m» | 18:04 | |
TimToady | in any case, it could result in the same sort of confusion | ||
masak | troo. | ||
TimToady | so I'm still inclined to make someone say OUTER::OUTER::<$y> in that case | ||
moritz_ would use Nil instead of Whatever for that | |||
TimToady | seems like Nil would be fine | ||
masak | moritz_: aye, shorter and more exact. | ||
TimToady: I also think it's the same case from the perspective of the confusion it creates. | 18:05 | ||
TimToady | user-oriented-engineering++ | ||
18:05
payload joined
|
|||
TimToady | it's not *quite* as easy a fix as I hoped, because I can't install OUTER aliases until I know what I'm aliasing to, so it takes another loop | 18:06 | |
or recursion | |||
recursion is probably correcter | |||
masak | std: Nil until Whatever; | ||
p6eval | std 29996: OUTPUT«ok 00:01 104m» | ||
moritz_ | rakudo: say ?* | 18:07 | |
p6eval | rakudo 49749c: OUTPUT«!whatever_dispatch_helper» | ||
masak | rakudo: say +?* | ||
p6eval | rakudo 49749c: OUTPUT«Method 'Num' not found for invocant of class 'Block'current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)» | ||
masak | hm. | ||
alpha: say +?* | |||
p6eval | alpha 30e0ed: OUTPUT«get_number() not implemented in class 'Sub'in Main (file <unknown>, line <unknown>)» | 18:08 | |
masak | rakudo: say ?Whatever | ||
p6eval | rakudo 49749c: OUTPUT«!whatever_dispatch_helper» | ||
18:11
abra joined,
ignacio_ joined,
athenot left
18:13
uniejo left
|
|||
moritz_ | rakudo: say (4...^5).perl | 18:14 | |
p6eval | rakudo 49749c: OUTPUT«GatherIterator.new()» | ||
moritz_ | rakudo: say 6 >== 2 | 18:15 | |
p6eval | rakudo 9978b3: OUTPUT«Cannot assign to readonly valuecurrent instr.: '&die' pc 16825 (src/builtins/Junction.pir:373)» | ||
18:16
quietfanatic left
18:25
hercynium left
|
|||
colomon | t/01-sanity/99-test-basic.t failing for me? | 18:25 | |
moritz_ tests | |||
colomon | Wynne:rakudo colomon$ ./perl6 t/01-sanity/99-test-basic.t | 18:26 | |
stat failed: No such file or directory | |||
colomon looks at jnthn... | |||
jnthn | :-/ | 18:27 | |
It works on Win32. | |||
Looing at it with moritz++ here. | 18:28 | ||
colomon | could be my changes, but I'd be surprised at that error message... | ||
moritz_ | colomon: nope, jnthn++ has worked on module loading | ||
colomon | moritz_: right, but I've just rewritten rakudo's file tests locally... | 18:29 | |
moritz_ | colomon: I get that error too | 18:30 | |
colomon | which could conceivably be the problem (if you... | ||
moritz_ | colomon: I have local changes too, but they are completely unrelated | ||
colomon | well, then, make jnthn fix it. :) | ||
18:31
ignacio_ left
18:32
Salada345 joined
18:33
quietfanatic joined
18:35
Salada345 left
18:37
ignacio_ joined
|
|||
jnthn | masak: PAST::Op.new( :pirop('get_namespace P') ) | 18:38 | |
colomon: moritz_++ has got to the bottom of it, I think. | 18:44 | ||
colomon | \o/ | ||
jnthn | It's finding an installed Test.pm over the local one | 18:45 | |
But then expects that to have been pre-compiled. | |||
I don't have any installed though. | |||
So never hit the issue. | |||
colomon | hmmmm | ||
where would it be looking? | |||
moritz_ | /home/moritz/rakudo/parrot_install/lib/2.1.0-devel/languages/perl6/lib/Test.pm | ||
jnthn | @*INC | ||
colomon | ah | 18:47 | |
jnthn | nqp: my $match := "lol.123.pm" ~~ /^(<[\w\-\_]>)+\.\d+\.pm$/; say $match; | ||
p6eval | nqp: OUTPUT«Confused at line 1, near "say $match"current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)» | ||
jnthn | nqp: my $match := "lol.123.pm" ~~ /^(<[\w\-\_]>)+\.\d+\.pm$/; say($match); | ||
p6eval | nqp: OUTPUT«» | ||
colomon | it's in parrot | ||
mberends | rakudo: .say for @*INC # we discussed moving '.' to the top of the list | ||
p6eval | rakudo 9978b3: OUTPUT«/home/p6eval/.perl6/lib/home/p6eval//p1/lib/parrot/2.1.0-devel/languages/perl6/liblib.» | ||
jnthn | nqp: my $match := "lol.123.pm" ~~ /^(<[\w\-_]>)+\.\d+\.pm$/; say($match); | ||
p6eval | nqp: OUTPUT«» | ||
jnthn | nqp: my $match := "lol.123.pm" ~~ /^(\w+\.\d+\.pm$/; say($match); | 18:48 | |
18:48
ignacio__ joined
|
|||
p6eval | nqp: OUTPUT«Confused at line 1, near "my $match "current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)» | 18:48 | |
jnthn | nqp: my $match := "lol.123.pm" ~~ /^\w+\.\d+\.pm$/; say($match); | ||
p6eval | nqp: OUTPUT«lol.123.pm» | ||
colomon | suggested solution? (for test.pm) | 18:49 | |
moritz_ | colomon: git pull | 18:50 | |
colomon | \o/ | ||
18:50
ignacio_ left
|
|||
masak | nom & | 18:52 | |
18:52
masak left
|
|||
dalek | kudo: e4e1a0d | (Jaume Martí)++ | src/Perl6/Grammar.pm: Rewrite of parse_name in NQP |
18:52 | |
kudo: e66c48d | moritz++ | src/ (4 files): Merge branch 'master' of github.com:rakudo/rakudo |
|||
kudo: 086bed5 | moritz++ | src/Perl6/Compiler.pir: fix using Test.pm by putting the . as the first entry in @*INC than not running any tests when there's a Test.pm installed |
|||
19:04
xomas_ is now known as xomas,
rindolf joined
|
|||
rindolf | Hi all. | 19:04 | |
colomon | o/ | ||
rindolf | \o | 19:05 | |
19:05
ShaneC joined
|
|||
rindolf | rakudo: [1 .. 10].reverse | 19:09 | |
p6eval | rakudo 9978b3: ( no output ) | ||
19:10
hercynium joined
|
|||
colomon | rakudo: say [1..10].reverse | 19:11 | |
p6eval | rakudo 9978b3: OUTPUT«10987654321» | ||
19:17
hercynium left
|
|||
Tene | japhb: I got frustrated by what's there right now and how much I needed to put back together again, and by complaints about the API pmichaud replaced what was there before with, and didn't actually make any commits. I pretty much know the order I need to go in now, though. | 19:20 | |
colomon | woah, still massive test fail here. | 19:25 | |
...and they work when I run them by themselves?! | 19:26 | ||
colomon is getting annoyed at how hard it is being to spectest his relatively simple changes.... | |||
19:29
ash__ joined
|
|||
Tene | colomon: obviously the problem is that your changes are too simple. Try something more-complex, and I bet testing becomes easier. That's what the waterbed theory says, right? | 19:29 | |
mberends | colomon: 'perl tools/test_summary.pl' is making more sense than 'make spectest' at the moment | ||
colomon | mberends: really? | ||
mberends | colomon: try it :-) | ||
colomon | but I'm halfway through a spectest run.... | ||
make spectest, that is. | 19:30 | ||
I have been loving test_summary for finding LHF to work on, mind you. | |||
mberends | ok, they should be able to run concurrently in different shells | ||
test_summary is going to get microbenchmarks very soon | |||
colomon | yes, but my poor laptop will beg for mercy if I do that | 19:31 | |
mberends | heh | ||
colomon | I'm just logged into the quad core downstairs and I'm building rakudo there at the moment... | 19:32 | |
lichtkind | mberends: still on that conference? | 19:34 | |
mberends | lichtkind: no, back in .nl since this morning | 19:35 | |
19:35
abra left
|
|||
colomon | so is make spectest just hosed? it looks like it's reporting a bunch of failures which aren't actually happening.... | 19:37 | |
mberends | the error message here is that the test script is returning a non 0 exit code after outputting all the right 'ok' lines... | 19:38 | |
19:39
jaldhar_ left
|
|||
ash__ | so... i just saw the new file docs/S11-Modules-proposal.pod, some umm interesting things in it, for instance, all parts of the path are considered, so the order of the parts of the lookup path doesn't matter anymore... that seems interesting, but kinda scary... if you have a Foo.pm in your library folder and in the system library with the exact same version information it says it will arbitrarily pick one, which seems like an od | 19:41 | |
19:42
rindolf left
|
|||
mberends | ash__: it seemed easier at the time to scare the programmer into writing different version numbers into the various copies of the file. | 19:45 | |
we don't want to make it harder than necessary to implement versioning in Rakudo *, by adding even more rules for ambiguities. | 19:46 | ||
ash__ | yeah, that does seem like an easy way to resolve the ambiguity, but when you say your arbitrarily choosing things it seems like there should be some sort of "better way" but that better way may be to scare the programmer into using a version number | 19:47 | |
mberends | the "arbitrary" is a threat, indeed | ||
19:47
iblechbot joined
|
|||
ash__ | are they supposed to be 2 part or 3 part versions? or has that been decided? | 19:48 | |
mberends | we forgot to discuss that, but the examples were all 3 part | ||
as long as the v-strings are not run through Google we should be ok ;) | 19:49 | ||
ash__ | i know some projects get some really wacky naming convetions with versions, like 1.2.3_r123b | ||
vs 1.2.3_r123c | |||
mberends | omg pleez no | 19:50 | |
ash__ | yeah, those seem overly crazy IMO, why not 1.2.124 or something, but hey, i don't make those rules, it would be kinda nice to have some sort of standard, possibly extendable, speced out | ||
mberends | 1.2.124 is a great format, certainly good enough for Rakudo *. We really need to keep it simple enough that the implementation goes quickly and well. | 19:52 | |
ash__ | CPAN seems to be mostly 2 part, Major.Minor or something, but i don't know if thats what you want to do for Rakudo * | 19:53 | |
19:53
payload left
|
|||
mberends | there is probably very little extra coding to go from 2 part to 3 part, and that matches Parrot, so should be worth it. A fourth part, otoh, does not improve the system very much. | 19:54 | |
dalek | kudo: f0a5552 | (Solomon Foster)++ | src/ (2 files): Remove obsolete Str.z and Str.filebytes functions. Add Str.d, Str.f, and Str.s functions. |
19:56 | |
kudo: d928a86 | (Solomon Foster)++ | src/Perl6/ (2 files): Merge branch 'master' of [email@hidden.address] |
|||
kudo: 45b806a | (Solomon Foster)++ | src/builtins/Str.pir: Port :l from alpha. |
|||
mberends | colomon++ | ||
quietfanatic | I thought perl's handling of version strings was specced somewhere. | 19:58 | |
colomon | oh, bother, didn't push the right version of :l | 19:59 | |
mberends | yes, it's in S11: Anything matching v? [\d+ '.']* \d+ is treated as a version number | 20:00 | |
dalek | kudo: ec9b0df | (Solomon Foster)++ | src/builtins/Str.pir: Tweaks to :l to make it work (more or less). |
20:02 | |
quietfanatic | Ah. I remember a while back there was some specification for dealing with versions that had alphabetic characters in them, but it must not be there anymore. | ||
quietfanatic | It was basically: assume a . between numbers and letters, and sort letters before numbers. | 20:03 | |
It was years ago I read it though. | |||
20:13
ash__ left
20:14
ash__ joined
|
|||
m6locks | what's that imcc in Compiler.pir | 20:24 | |
caused an error while building rakudo | |||
lichtkind | mberends: like posted most of my edits are now not visible, i just wanted addk you if you help translate of write this other implementation article ? | 20:30 | |
mberends | lichtkind: ok, which article URL? | 20:31 | |
20:32
ignacio__ left
|
|||
lichtkind | mberends: i ments the one you wanted write, i think elf or so | 20:32 | |
mberends: or what you asking for? | |||
mberends | lichtkind: I was asking what you were asking me to help translate | 20:33 | |
lichtkind | mberends: i made polish of www.perlfoundation.org/perl6/index....tro_tablet and the other stuff will coe in now | 20:34 | |
s/coe/come/ | |||
20:37
krr joined
|
|||
pugssvn | r29997 | lwall++ | [STD] rebound OUTER::OUTER:: variables can also make their OUTER:: ambiguous | 20:37 | |
mberends | ah. well, I'm not feeling awake enough to write a new description of Elf, because I would need to research the details as well. | ||
lichtkind | mberends: great | ||
mberends: and maybe a line more on www.perlfoundation.org/perl6/index....in_berends | 20:38 | ||
mberends | lichtkind: I hope we can support the wiki idea of people not editing articles about themselves. I don't mind answering questions that another editor may wish to ask, though. | 20:40 | |
20:41
skeptical_p left
|
|||
lichtkind | mberends: i understood that already but some people see that pages as personal space :) | 20:41 | |
mberends | lichtkind: ok, that is obviously not the way I look at it :) | 20:43 | |
lichtkind | mberends: social wiki lacks a userspace | ||
one of the reasons i proposed to develope november into a replacement | |||
but no devs for it now | |||
mberends | lichtkind: what is your attitude to the page about yourself? | ||
lichtkind | mberends: you think its toomuch on it? | 20:44 | |
TimToady | std: my $y;sub foo ($x where {$x == $y},$y) { } | 20:45 | |
p6eval | std 29996: OUTPUT«ok 00:01 109m» | ||
lichtkind | mberends: my attitude is that the page is somewhat owned by the person written about, just in case abandoned written by others | 20:47 | |
20:48
ignacio__ joined
|
|||
mberends | lichtkind: your page is just the right size to fill a netbook browser window without starting to need scrolling. Therefore I think the amount of information is just right. | 20:49 | |
20:50
ash__ left
|
|||
mberends | lichtkind: your page describes your Perl 6 related work in a good, neutral-point-of-view way. It's well written. | 20:52 | |
lichtkind | thank you | 20:53 | |
20:56
ash__ joined
|
|||
lichtkind | mberends: excuse if i ask twice , you didnt found missing itmes in timeline | 20:57 | |
20:57
bluescreen left
|
|||
mberends | lichtkind: I like the timeline a lot already. Nothing obvious seems missing, but I'll give it another careful look now :) | 20:59 | |
20:59
krr left
21:02
masak joined
21:03
ruoso left
|
|||
mberends | masak: haz u eated nom? | 21:03 | |
masak | saluton, #perl6! | ||
mberends: I haz. we all haz. | |||
mberends | \o/ | ||
masak | mberends: jnthn is asking 'why is mberends awake?' ;) | 21:04 | |
mberends | bio-clock FAIL | ||
pmichaud | good afternoon, #perl6 | ||
21:04
meppl left
|
|||
masak | good evening, pmichaud. | 21:05 | |
mberends | good afternoon pmichaud | ||
jnthn | oh hai all | ||
ash__ | has anyone else ever wondered why apachectl uses -k for commands? I feel like i am using a fake russian accent or something , "Kommand" | ||
masak | ash__: it's actually not short for "command" at all, but for "off topic"... | 21:06 | |
;) | |||
ash__ | yup, i know :P | ||
masak | (which is relatively OK here, as you also know) | ||
jnthn | oh hai, pmichaud | ||
21:11
mssm left
|
|||
Tene | I reas "OK" as "Off Topic" the first few times I read that comment, masak. | 21:11 | |
21:13
ignacio__ left,
ned left
|
|||
masak | Tene: you're thinking of "Off Koptic". that's when diakopter does his evalbot thing... :P | 21:13 | |
TimToady | std: my $y;sub foo ($x where {$x == $y},$y) { } | 21:14 | |
p6eval | std 29997: OUTPUT«===SORRY!===Lexical symbol '$y' is already bound to an outer symbol (see line 1); the implicit outer binding at line 2 must be rewritten as OUTER::OUTER::<$y> before you can unambiguously declare a new '$y' in this scope at /tmp/PvpjsoCGCz line 3:------> | ||
..[3… | |||
masak | TimToady++ | 21:15 | |
TimToady: I'm starting to understand why you don't need an RT for STD.pm. you have very nice bug-to-fix turnaround. | |||
ash__ | ooo, fancy error messages are fancy is that an error or a warning? | ||
masak | of course, it helps not being encumbered by a runtime... :P | 21:16 | |
ash__: error. | |||
ash__: when it starts with 'SORRY!', it's a syntax error. | |||
ash__ | got ya | ||
masak | or at least a parse-time error. | ||
moritz_ | fsvo "syntax" :-) | ||
masak | right. | ||
lichtkind | hello pmichaud | 21:17 | |
masak just noticed how awesomely awesome that error message is | |||
TimToady++ | |||
TimToady | it took a while to get all the line numbers straight, and to get the actual name that it needed in the inner scope, not just the scope where it found the collision | 21:18 | |
masak | std: my $y; { say 1; { my $y }; $y } | ||
p6eval | std 29997: OUTPUT«ok 00:01 105m» | ||
jnthn | std: my $y; {{{{{{{{{{ sub bar(($x where {$x == $y}) { } }}}}}}}}}} | ||
p6eval | std 29997: OUTPUT«===SORRY!===Unable to parse signature; couldn't find final ')' at /tmp/G9IAKphMBI line 1:------> {{{{{{{{{ sub bar(($x where {$x == $y}) ⏏{ } }}}}}}}}}} expecting any of: constraint param_sep traitFAILED 00:01 108m» | ||
jnthn | std: my $y; {{{{{{{{{{ sub bar($x where {$x == $y}) { } }}}}}}}}}} | ||
p6eval | std 29997: OUTPUT«ok 00:01 108m» | 21:19 | |
masak | :/ | ||
TimToady | that's fine | ||
you didn't redeclare it | |||
masak | :P | ||
jnthn | std: my $y; {{{{{{{{{{ sub bar(($x where {$x == $y}, $y) { } }}}}}}}}}} | ||
p6eval | std 29997: OUTPUT«===SORRY!===Lexical symbol '$y' is already bound to an outer symbol (see line 1); the implicit outer binding at line 1 must be rewritten as OUTER::OUTER::OUTER::OUTER::OUTER::OUTER::OUTER::OUTER::OUTER::OUTER::OUTER::OUTER::<$y> before you can unambiguously | ||
..d… | |||
masak | *lol* | ||
jnthn | Yes, that's what I was after. :-) | ||
masak | jnthn++ | ||
STD.pm++ | 21:20 | ||
Tene | (++)++ | ||
PerlJam | insane | ||
pmichaud | std: insane | 21:21 | |
ash__ | is there a way to jump to the outer most layer? i suppose if you did module foo; then did foo::<$y> ? | ||
p6eval | std 29997: OUTPUT«Undeclared routine: 'insane' used at line 1ok 00:01 104m» | ||
PerlJam | ash__: my $tmp = $y; ... where { $x == $tmp } | ||
TimToady | std: my $y; {{{{{{{{{{ sub bar(($x where {$x == UNIT::<$y>}, $y) { } }}}}}}}}}} | 21:22 | |
p6eval | std 29997: OUTPUT«===SORRY!===Unable to parse signature; couldn't find final ')' at /tmp/zBXtyxuJVk line 1:------> b bar(($x where {$x == UNIT::<$y>}, $y) ⏏{ } }}}}}}}}}} expecting any of: constraint param_sep traitFAILED 00:01 108m» | ||
ash__ | PerlJam: i was more wondering if there was if maybe ::<$y> worked or something | ||
moritz_ | ash__: modules and lexicals are orthogonal | ||
TimToady | std: my $y; {{{{{{{{{{ sub bar($x where {$x == UNIT::<$y>}, $y) { } }}}}}}}}}} | ||
p6eval | std 29997: OUTPUT«ok 00:01 108m» | ||
21:22
Su-Shee left
|
|||
ash__ | UNIT seems to be the missing thing i was searching for, cool | 21:22 | |
TimToady | mind you, it's not actually doing UNIT lookups correctly there | ||
ash__ | oh | 21:23 | |
std: my $y; {{{{{{{{{{ sub bar($x where {$x == ::<$y>}, $y) { } }}}}}}}}}} | |||
p6eval | std 29997: OUTPUT«ok 00:01 108m» | ||
TimToady | doesn't do OUTER:: lookups right yet either--I'm working on that | ||
PerlJam | ash__: but "outer most scope" isn't always the one you want anyway :) | ||
TimToady | most of your scopes will generally have a name | 21:24 | |
21:24
mssm joined
|
|||
ash__ | doesint :: infront of the package name make it go to the outer most scope? | 21:25 | |
TimToady | no, that's p5-think | ||
ash__ | ah, okay | 21:26 | |
TimToady | it's GLOBAL:: or some such if you really want global | ||
or some named lexical scope | 21:27 | ||
UNIT, SETTING, CORE, or some inner package name | |||
(all the inner package names are in fact aliased lexically as well) | |||
ash__ | so, if you did class Foo; class Bar::Foo; and did ::Foo it wouldn't always give you the first Foo, right? | 21:28 | |
TimToady | it would search outward for the first Foo it could find | ||
one can always say GLOBAL::Foo to force it to the global package | 21:29 | ||
ash__ | gotya | ||
21:29
ShaneC left
|
|||
ash__ | is there a like *Foo (thinking of the twigil) way of calling it? | 21:29 | |
TimToady | well, $*Foo::x could probably be made to look for a dynamic package Foo containing x | 21:30 | |
doubt that works at the moment | |||
ash__ | i suppose you could say my $a = &*Foo::new; if i wanted a new GLOBAL::Foo | 21:31 | |
err, &*Foo.new | |||
TimToady | well, not unless Foo is declared dynamic | ||
but mostly we're trying to discourage global names | 21:32 | ||
when you say 'use Foo', it imports a Foo alias into your current lexical scope | |||
that's what Foo::bar usually finds | |||
most of the long names have auths and versions anyway | |||
21:33
ShaneC joined
|
|||
TimToady | so you want the short name in your lexical scope to be bound to something more specific outside of it | 21:33 | |
ash__ | yeah, that makes sense | ||
21:34
hercynium joined
|
|||
TimToady | bbl & | 21:36 | |
21:39
xabbu42 left
|
|||
moritz_ | masak, jnthn: I'm afraid I'm too tired for hacking already :( | 21:42 | |
masak | moritz_: 's ok. | ||
jnthn | moritz_: No worries. | ||
moritz_ | but I look forward to another session tomorrow :-) | ||
jnthn | Sleep well :-) | ||
masak | moritz_: are you up for a walk to the top floor? we're thinking of making one to admire the view. | ||
if not, that's fine too. | 21:43 | ||
Tene | roofhacking? | 21:45 | |
masak | got roof? | ||
m6locks | hmm t/spec/S32-io/file-tests.t fails | 21:47 | |
also t/spec/S32-str/uc.rakudo | 21:48 | ||
moritz_ | m6locks: uc.rakudo fails and passes fairly randomly here | 21:49 | |
m6locks | aye | ||
21:52
TiMBuS left
|
|||
colomon | sorry, I forgot to commit the changes to file-tests.t | 21:52 | |
one sec. | |||
pugssvn | r29998 | colomon++ | [t/spec] Change to be a little bit closer to the spec. | 21:53 | |
moritz_ | happened so often to me these past days... | ||
colomon | uc.t has been randomly todo passing here... it never seems to fail, but sometimes it has todo passes and sometimes it doesn't. | 21:54 | |
21:56
SmokeMachine left
|
|||
masak | loliblogged! use.perl.org/~masak/journal/40232 | 22:01 | |
mathw | \o/ | 22:02 | |
masak | ...therefore, I propose we rename the language to Perl 68. | 22:04 | |
22:04
Guest27326 left
|
|||
ash__ | 2068, its from the future | 22:04 | |
masak | will we make it till then? | ||
sounds a bit rushed. | 22:05 | ||
Tene | I keep reading "loli" as en.wikipedia.org/wiki/Lolita_fashion whenever you say that, masak. | ||
masak | Tene: don't think you can shock me; I'm Swedish. :) | ||
ash__ | masak: i think we might have just enough to release 'Rakudo' ** 68 | ||
22:05
cotto_work joined
|
|||
Tene | I don't understand what you'd think was implied as shocking. | 22:06 | |
colomon | Rakudo ** 68 is the April 1st release, right? ;) | ||
masak | Tene: hm. maybe it isn't. I actually havn't clicked the link to investigate what Lolita fashion is. | 22:07 | |
ash__ | i wonder how you raise a string to a power... | ||
masak | Tene: I'm just extrapolating from what I know of that cluster of terms. | ||
Tene | masak: well, it really just reminded me of that cluster of terms, so close enough. | ||
I chose one randomly from the WP disambiguation page. | |||
masak | Tene: ISTR there's a "Lolicon" in relation to that. | ||
Tene | Yes. | 22:08 | |
masak | s/con/Con/ | ||
masak relents and clicks on the link | 22:09 | ||
pmichaud | unless things go all haywire here (as they have for the last two^Wfour^Weight days) I should be around tomorrow during any hacking sessions (up until about 11am CST) | 22:10 | |
colomon | \o/ | 22:11 | |
pmichaud | ...but I think I'm betting on "haywire". :-\ | 22:13 | |
masak | Tene: actually, finding out that the subculture has nothing to do with the eponymous book by Nabokov (something that I just had assumed until now) makes the whole subculture seem very non-shocking. | ||
jnthn | pmichaud: If you are able to make it, that's when we'll be around too. If not, no worries - I'm sure we'll continue to be productive and pun relentlessly. | 22:16 | |
masak | we've been and done so thus far. | ||
just for reference, we've renamed "metaphor" into "moving van". | |||
jnthn | pmichaud: Quick question. What's the easiest way to do a parse but associate it with different Actions? | ||
(parse with Perl6::Grammar, that is) | 22:17 | ||
22:18
quietfanatic left
|
|||
colomon | rakudo: say 0.14285714285714 | 22:18 | |
p6eval | rakudo ec9b0d: OUTPUT«0.14285714285714» | ||
colomon | > say 0.14285714285714 | ||
2.36232865590783 | |||
oh bother, another 32-bit issue? | 22:19 | ||
moritz_ | 32bit ints vs. 64bit ints | ||
yes | |||
arnsholt | jnthn: The usual .parse($text, :actions($actions)) doesn't work? | ||
mberends | jnthn: if you're thinking of parsing every module.pm with Grammar.pm just to obtain :auth and :ver, I humbly think that massively expensive overkill. You can't stop it descending all the way down :( | ||
colomon feels his sanity slowly slipping away... | |||
masak | is there a way to abort a whole parse successfully from within an action method? | 22:20 | |
jnthn | Yes, throw an exception. | ||
mberends: What do you propose instead? | |||
masak | jnthn: doesn't just an exception propagate upwards out of the .parse method? | ||
jnthn | (Keeping in mind that in the future we'll be able to populate a cache.) | ||
mberends | jnthn: a teeny grammar | ||
jnthn | masak: Yes, and we catch it in the module locator. | ||
masak | jnthn: you're not planning to use an exception to return normally, are you? | 22:21 | |
jnthn | Yes. :-P | ||
masak | jnthn: that's a mortal sin, you know... | ||
jnthn | Kill me now! | ||
mberends: But that may miss all kinds of things. :-/ | |||
mberends | jnthn: getting :auth and :ver is all you want for candidate selection | 22:22 | |
masak | jnthn: no, 'kill me now' is the modus operandi that caused you to choose exceptions for this in the first place. :P | ||
moritz_ | "Backtracking over a C<< <commit> >> assertion causes the entire match | ||
to fail outright, no matter how many subrules down it happens" | |||
masak | moritz_: but we want it to succeed outright. | 22:23 | |
moritz_: and from within an action method. | |||
moritz_ | succeed. Oh. | ||
that's.... not very gramary | |||
jnthn | mberends: If we don't parse using the proper Perl 6 grammar, it'll not be long before somebody finds a way confuse it. | ||
masak | moritz_: true. | ||
moritz_ | for aborting when you found the first module definition? | ||
jnthn glances over at masak | |||
masak | moritz_: yes. | ||
22:23
IllvilJa left
|
|||
mberends | jnthn: doctor, it hurts when I do this... ;) | 22:24 | |
moritz_ | masak: for such an exceptionally evil thing using an exception is just appropriate | ||
masak | :) | ||
p'haps. | |||
mberends | jnthn: once the correct module file has been chosen, parse it with the main Perl/Grammar.pm | ||
masak | moritz_: it's a bit as if in Prolog there was a construct for saying "oh well, just skip the rest of the details and declare a match here" :) | 22:25 | |
jnthn | mberends: Yes, but how do you construct said teeny grammar and have any confidence it'll not get upset over full Perl 6? | ||
mberends | jnthn: I was guessing it would be simple, in the same way Perl6/Grammar.pm skips all of Pod. | 22:26 | |
pmichaud | sorry, was away for a moment | 22:27 | |
moritz_ | Pod doesn't need so much predictive parsing as Perl 6 does | ||
pmichaud | associate with different actions is simply provide another :actions object to .parse | ||
jnthn | moritz_: Yes, that's kinda my concern. | 22:28 | |
pmichaud | one can fail a match outright by using :::<!> | ||
pugssvn | r29999 | colomon++ | [t/spec] Move tests that have 32-bit overflow issues from arith.t to overflow.t. | ||
pmichaud | oh, wait | ||
that'd be <commit> <!> | |||
Tene | pmichaud: are you going to be around in about 3 hours? | ||
pmichaud | Tene: hard to say. | ||
jnthn | I dunno, I just got a very bad feeling about making another "fake" Perl 6 grammar. | ||
Tene nods. | |||
masak | pmichaud: yes, but one cannot succed a match outright, because that (almost) doesn't make sense. | ||
mberends | jnthn: ok. I did write (how?) for a reason... ;) | ||
jnthn | We might as well do a regex like /[class|role].../ :-) | 22:29 | |
masak | jnthn: if you make a "fake" Perl 6 grammar, I *will* break it. | ||
mberends | jnthn: that was another thought, yes | ||
Tene | jnthn: set the desired :auth and :ver in a dynamic var, and have the grammar throw an exception containing the detected :auth and :ver when found if they don't match. | ||
jnthn | mberends: masak WILL break that. | ||
mberends | so? | ||
jnthn | Tene: Yes, that's kinda my plan. | ||
masak accidentally a sledgehammer | 22:30 | ||
moritz_ | mberends: it basically contradicts the Perl 6 philosphy too deeply to be acceptable | ||
Tene | The *whole* sledgehammer‽ | ||
mberends | forget trying to make things masak proof | ||
masak | Tene: a sledgehammer. | ||
Tene: I take back everything I took back about you saying shocking things :P | 22:31 | ||
pmichaud | I agree with Tene's answer, for the moment. | ||
jnthn | pmichaud: About ver and auth, or sledgehammers? | ||
pmichaud | set the desired :auth/:ver somewhere, and have the grammar throw an exception when it reaches the module/class/whatever statement and they don't match. | 22:32 | |
masak | what's not to agree with about sledgehammers? | ||
jnthn | pmichaud: +1 | ||
masak | as long as we all agree that it's evil to communicate through the call stack using explicit exceptions like that. | ||
jnthn | Evil can be beautiful. | 22:33 | |
moritz_ | we agree, and do it anyway | ||
pmichaud | I'm not sure I agree to that. | ||
masak | exceptions are made for *exceptional* circumstances. hence the name. | ||
this is a normal return. | |||
pmichaud | Seems to me that much of Perl 6 is being designed to use exceptions to communicate through the call stack. | ||
masak | a continuation would have been fine. | ||
pmichaud | even normal returns are exceptions. | ||
so I'm not so sure that the exception mechanism is all that exceptional. | |||
mberends | then that's a terminological fail | 22:34 | |
masak | and a break in tradition. | ||
it's a sort of cargo non-culting. | |||
Tene finally clues in that you guys are talking about library loading, and that he might want to pay attention to avoid stepping on toes when working on HLL library interop. | 22:35 | ||
pmichaud | in particular, the way that a called routine communicates to its stack of calling routines is by throwing exceptions | 22:36 | |
because the notion of "exception" is very context sensitive | |||
things that should be fatal in one context are "business as usual" in another context. | |||
moritz_ | Tene: you might want to look at docs/S11-Modules-proposal.pod in the rakudo repo | ||
Tene | moritz_: I read it, yes. | ||
moritz_ | Tene: and if you happen to implement lexical imports, that would be very welcome :-) | 22:37 | |
masak | pmichaud: do we pass along the extracted values with the exception? | ||
Tene | moritz_: I'm more concerned right now with getting rakudo able to load parrot libraries, and other HLL interop. | ||
masak: yes. | |||
masak | Tene: jnthn has another plan here, it seems. | 22:38 | |
22:38
kensanata joined
|
|||
TimToady | I think exceptions have turned into hammers here | 22:38 | |
masak | Tene: just set attributes in the action class, and then throw the exception. | ||
TimToady: we should rename them 'hammers'. sort of parallel to 'phasers'. | 22:39 | ||
"And then we just throw a hammer..." | |||
see? it works! | |||
colomon | throw a brick. | ||
jnthn | And failures are just like thos foam hammers. | ||
soft. | |||
colomon | unless we're all Thor or something... | ||
moritz_ | Thor really threw a boomerang in disguise | ||
Tene | moritz_: no, Mjolnir is just a resumable hammer. | 22:40 | |
masak | moritz_: I'm sure there's a pun in there somewhere. | ||
oh, look. there was. | |||
colomon | (Actually, there is a hammer toss in the highland games, isn't there?) | ||
moritz_ thought they were throwing trees, not hammers. Could be wrong, though | |||
masak | colomon: the trick is to throw from the High Lands, so that it lands on those in the Low Lands. | ||
moritz_: no, tree throwing is a Druid tradition. | 22:41 | ||
not Vikings. | |||
22:41
IllvilJa joined
|
|||
moritz_ | what have trees got to do with your board game? | 22:41 | |
masak | moritz_: I would explain, but it would blow the pun stack. | 22:42 | |
jnthn | .oO( I knew we should adopt Continuation Punning Style ) |
22:43 | |
masak | in CPS, you never 'return', you just 're-pun'. | ||
using a continuation pointing to the puns not yet executed. | 22:44 | ||
22:48
wknight8111 joined
22:54
iblechbot left,
dakkar left
22:55
mberends left
22:59
rv2733 left
23:05
Limbic_Region joined
|
|||
Limbic_Region | f00li5h - ping | 23:05 | |
23:13
ash__ left
23:14
meteorjay left
|
|||
Tene | masak: not sure if you saw it, but irclog.perlgeek.de/perl6/2010-03-08#i_2075199 might be of minor interest to you. | 23:17 | |
masak | Tene: thanks. yep, saw it. | ||
lichtkind | goodnight | 23:19 | |
23:19
lichtkind left
|
|||
masak | I told k23z__ I wasn't sure he was not a troll. since then he's threatened never to come back, and then recanted a bit and instead vowed never to express opinions on the channel. | 23:19 | |
then we hugged, and after that he has even expressed tendencies to fit in. | 23:20 | ||
so the development so far is better than mst's experience. | |||
Tene | Yeah, I saw that. I was there. | 23:22 | |
23:22
payload joined
|
|||
TimToady | the most redemption response to oppositional behavior is not always to be oppositional yourself. :) | 23:24 | |
*redemptive | 23:25 | ||
masak | I sometimes think about how to scale a culture like Perl 6's. | ||
one of my nightmares is to wake up one day, and to see the channel flooded with newbies, and with no regulars left who can give sensible answers to newbie questions. :P | 23:26 | ||
so all the answers given are wrong or cargo-culted in some way. | |||
TimToady | well, sometimes new wine needs new wineskins... | 23:27 | |
masak | aye. | ||
I guess what I'm saying is that it's hard to extract what good aspects of the Perl 6 culture are due to it having a small graph radius, and what good aspects are due to the members being wholecloth people. | 23:29 | ||
23:30
mssm left
|
|||
masak | s/wholecloth/wholesome/ :) | 23:31 | |
masak is not a native English speaker | |||
23:39
daemon left
23:40
daemon joined
23:44
wallberg joined
|
|||
masak | wallberg: hello there. | 23:46 | |
pugssvn | r30000 | lwall++ | [STD] remove mention of *.notdef in favor of :!defined | 23:47 | |
r30000 | change some debugging says to use the more official .deb method | |||
masak | TimToady++ # *.notdef gone | ||
23:48
nihiliad left
|
|||
masak | wallberg: are you perchance a colleague of viklund's? | 23:50 | |
pmichaud | (notdef gone) \o/ | 23:51 | |
masak .oO( you don't need to shout, I'm notdef ) | |||
jnthn | *groan* | 23:52 | |
23:54
synth left
|