perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is your friend! Set by moritz_ on 4 May 2009. |
|||
00:00
frew left
00:14
justatheory left
00:23
amoc joined
00:29
bacek__ joined
00:41
wollmers left
00:42
nsh joined
00:53
fridim left
01:16
aindilis left,
aindilis joined
01:21
ra joined
01:25
FurnaceBoy joined
01:27
PhatEddy left
01:28
eternaleye joined
01:29
ra left
01:30
meppl left
01:59
whiteknight left
02:01
justatheory joined
02:04
eternaleye_ joined
02:05
eternaleye left
02:12
alester joined
02:15
nsh left
02:39
cdarroch left
02:45
szabgab_ joined,
szabgab left
02:56
payload left,
zostay left
02:59
zostay joined
03:14
eternaleye_ left
03:16
zostay left
03:18
skids left
03:20
donaldh left,
donaldh joined
03:31
[particle]1 joined
03:37
frew joined
03:44
orafu left,
orafu joined
03:49
[particle] left
03:50
TimToady sets mode: -b *!n=stefan@71.59.220.*,
TimToady sets mode: -b *!*@c-67-174-249-33.hsd1.ca.comcast.net,
DemoPhreak joined,
TimToady sets mode: -b *!*@cpe-72-130-0-248.socal.res.rr.com,
TimToady sets mode: -b *!*@*ompugoat.biz
03:51
TimToady sets mode: -b heyhey*!*@*,
TimToady sets mode: -b *!*n=heyhey@218.25.39.*,
TimToady sets mode: -b *!*n=heyhey@221.130.185.*
03:53
wollmers joined,
wollmers left
03:56
lambdabot joined
04:06
DemoFreak left
|
|||
s1n | moritz_: i'll have to respond tomorrow :/ | 04:10 | |
04:16
FurnaceBoy left
|
|||
frew | can I do given $foo; to set $foo for the topic of the rest of the current scope? | 04:31 | |
rakudo: given 1; .say | |||
p6eval | rakudo 3412a2: OUTPUT«Could not find non-existent sub givencurrent instr.: '_block14' pc 60 (EVAL_18:47)» | ||
frew | well, it could be nice | ||
TimToady | no, that's not currently supported | 04:34 | |
but why wouldn't you just say $_ = 1? | |||
(we do reserve the semicolon syntax for that sort of end-of-block semantics, but most of the time it would not contribute to readability) | 04:35 | ||
frew | that's true | ||
I'd forgotten about manually setting it | 04:37 | ||
05:06
hercynium left
05:14
hcchien left,
clkao left,
hcchien joined,
alester left
05:15
clkao joined
05:19
eternaleye joined
05:33
clkao_ joined,
clkao left
05:34
clkao_ is now known as clkao
|
|||
pugs_svn | r26817 | lwall++ | [Cursor] remove accidental whitespace in :< x > macro | 05:36 | |
05:38
ihrd joined
05:39
ihrd left
05:44
_REPLeffect joined
05:45
_REPLeffect is now known as REPLeffect
05:49
eMaX joined
06:04
LadyLunacy joined
06:13
LadyLuna1y left
06:21
mib_p02slb joined
06:22
eMaX left
06:23
eMaX joined
06:24
mib_p02slb left
06:27
justatheory left
06:45
mberends joined
06:53
iblechbot joined
07:20
donaldh left,
donaldh joined
07:27
frew left
07:32
Kisu joined
07:33
sri_kraih_ joined
07:36
ejs joined
07:42
finanalyst joined
07:49
sri_kraih left
08:00
eMaX left
08:06
_mg_ joined
08:09
NoirSoldats joined
|
|||
Tene | Ooo... when did rakudo spectest learn to run multiple in parallel? | 08:12 | |
moritz_ | Tene: about a month (or two) ago | ||
commit ea9417560bd818e31419b6fcbdf3d265a93f186a | 08:13 | ||
Date: Tue Apr 7 16:59:43 2009 +0200 | |||
re-enable parallel testing in t/harness again | |||
Tene | Heh. | 08:14 | |
OK | |||
Man, so many tests... | |||
la la la waiting for spectests... | |||
♪ spectests song... ♪ | 08:16 | ||
moritz_ | 15min with parrot configured with --optimize and parallel harness | ||
Tene | I didn't think to run it under time... :( | ||
moritz_ | the harness prints the "wallclock secs" at the end | 08:17 | |
Tene | ah nice | ||
08:18
EvanCarroll joined,
EvanCarroll left
08:24
spx2 joined
|
|||
mberends | Tene: be happy. spectest takes 2235 secs (~37min) on this dual AMD64 | 08:25 | |
Tene | Files=388, Tests=13826, 1105 wallclock secs ( 7.01 usr 1.73 sys + 1937.50 cusr 99.34 csys = 2045.58 CPU) | 08:28 | |
moritz_ | mberends: but in serial mode, right? | 08:29 | |
Tene: more importantly, did it PASS? :-) | |||
(except the known segfault in slice.t) | |||
08:29
ejs1 joined
|
|||
Tene | Oops, didn't mean to also push to the hll branch. | 08:30 | |
moritz_: | |||
Test Summary Report | |||
------------------- | |||
t/spec/S32-io/IO-Socket-INET.t (Wstat: 0 Tests: 3 Failed: 2) Failed tests: 2-3 | |||
moritz_ | Tene: could you re-run that test? | 08:32 | |
it sometimes fails, seemingly randomly | |||
(but usually only the third fails) | |||
dalek | kudo: 1064529 | tene++ | (4 files): Make everything actually compile under a different HLL. |
||
Tene | moritz_: yes, it passes all three | 08:33 | |
08:36
spx2_ left
|
|||
moritz_ | Tene: in that commit one comment says "MUST BE LOWERCASE", but then you use get_hll_namespace ['Perl6';'Grammar'] | 08:37 | |
Tene: does that mean we have both 'perl6' and 'Perl6'? | |||
08:38
ejs left
|
|||
Tene | moritz_: get_hll_namespace [ ... ] == get_root_namespace [ 'perl6' ; ... ] | 08:39 | |
so, yes. | |||
moritz_: the issue is that Parrot lowercases whatever HLL name we use | |||
so if we set 'Perl6' as the HLL name, the namespace would be get_root_whatever [ 'perl6' ] | |||
moritz_ | Tene: ah | 08:40 | |
Tene | so in the case where we need to look at the hll namespace directly, it fails | ||
moritz_ | Tene: is that lower casing a parrot bug? | ||
Tene | which we do in src/parrot/Protoobject.pir | ||
moritz_ | and if yes, is there a ticket for it? | ||
Tene | it's a design issue. I asked for feedback from it on the list, and I don't remember the overall response. | ||
It's currently working as specced. | 08:41 | ||
So, not an impl. bug, but maybe a design bug. | |||
no, I don't think there's a ticket for it. | 08:43 | ||
At least, I didn' tmake one. | |||
08:43
eMaX joined,
masak joined
08:44
meppl joined
|
|||
masak | good beforenoon, perl 6 people. | 08:44 | |
lambdabot | masak: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
masak | @messages | ||
lambdabot | eternaleye said 2h 59m 20s ago: (re set operations) something like this? -- multi sub infix:<⊂>( Any @subset_candidate, Any @superset_candidate --> Bool ) { return Bool::True if ( all( @subset_ | ||
candidate ) ~~ any(@superset_candidate) ); }; say ([ 1, 3 ] ⊂ [ 1, 2, 3 ]).perl # Works in Pugs! | |||
masak | eternaleye: aye, something like that. :) | ||
Tene | there's a Set.pm in pugs that defines those. | 08:45 | |
masak | eternaleye: there's also a Set.pm somewhere in the Pugs repo that defines... aye. | ||
Tene | :) masak++ | ||
masak | thing is, I don't think anyone has the big picture on how Sets and Bags will play into the rest of the language. | 08:46 | |
as far as I see it, we don't want to introduce too much new syntax. | |||
it would be best if the new features could just "blend in" somehow. | |||
moritz_ | masak: maybe ask TimToady, he often has a quite concrete (albeit not complete) idea in the back of his mind | 08:54 | |
masak | yes. I expect to have plenty of discussions with TimToady (and the rest of #perl6) about Sets and Bags in the near future. | 08:55 | |
Tene | hmm... decent number of failures in .HLL 'perl6' | 09:02 | |
I have a vague idea about most of them. | |||
spectest still running, though... :( | |||
09:02
bacek__ left
09:05
payload joined
|
|||
Tene | Files=388, Tests=13422, 1563 wallclock secs ( 7.11 usr 1.41 sys + 2653.90 cusr 97.25 csys = 2759.67 CPU) | 09:10 | |
spectests actually do run slower in .HLL 'perl6' | |||
they also fail a lot | |||
09:15
cognominal joined
|
|||
masak | after backlogging, I just have one question: | 09:17 | |
"how do u make your own chanle" :) | |||
oh, and also how is babby formed. | |||
mberends: it might be a good idea to start making a list of things that proto does not do, but that its successor ("pro-II"?) might. | 09:19 | ||
09:20
mhsparks joined
|
|||
mberends | does u rly want 2 get me started? | 09:22 | |
masak | well... thinking about features has never hurt, I think. | 09:23 | |
it's still important not to overdesign, of course, but just listing features seems fairly harmless. | |||
mberends | mainly integrating with the 'use' command to be designed in August. | 09:24 | |
masak | yes, absolutely. | 09:25 | |
also with the whole package idea championed by frettled++. | |||
jnthn | H H | 09:26 | |
mberends | O AI! | ||
masak | jnthn: o/ | 09:27 | |
mberends | it would be best to minimize dependencies, and avoid config files, environment variables and so on if possible. | ||
masak | aye. | ||
make Perl 6 monolithic, in a sense. | |||
one problem with CPAN is that it's very postmodern. it shows all the pipes sticking out, making me answer all these questions the first time, and then spewing out kilometer upon kilometer of make output. | 09:28 | ||
proto was designed partly as a reaction against that. | 09:29 | ||
moritz_ | I think that proto could very well rely on some config file parsing module, but should simply include a copy of it | ||
mberends | that's when PERL6LIB should be phased out. There is a similar background and reasoning behind P5's PERLLIB, but the goals this time are a bit more ambitious. Yes, I think proto's config file idea is much better so far. | 09:30 | |
09:30
LylePerl joined,
donaldh left
|
|||
masak | the comments are out-of-date in config.proto, by the way. :/ | 09:30 | |
Matt-W | Fix them! | ||
masak | I'll see if I'll have time to fix that. | ||
Matt-W | Out of date comments are the source of much evil | 09:31 | |
09:31
payload left
|
|||
masak | Matt-W: aye, sir. | 09:31 | |
mberends | I would not mind if ./perl6 also had a config file in /etc or wherever Windows should do similar. | ||
masak | mberends: sounds like a sane idea. | ||
mberends | just like bash etc | ||
TimToady was very against that in P5 though | 09:32 | ||
09:32
jferrero joined
|
|||
masak | mberends: I'm sensing a disfactoring of Installer.pm coming up. | 09:32 | |
mberends | and with good reason | ||
masak | mberends: thinking of creating a separate class Ecosystem.pm -- name still up for discussion. | ||
likely a separate class Project will fall out of that, too. | 09:33 | ||
mberends | yes, you mentioned that yesterday, probably one part to do Ecosystem and another part for Install. | ||
masak | yes. | 09:34 | |
Install makes use of (and haz) Ecosystem. | |||
mberends | that Ecosystem part might overlap ~/.perl6.conf or /etc/perl6.conf | ||
masak | sure, but this is proto. :) | 09:35 | |
mberends | proto per se AGNI except to beautify a class design. a big monolithic mess is simpler and also does the job. | 09:37 | |
lurkers: Ain't Gonna Need It ;) | |||
back to that 'use' command, versioning and disambiguating authors/authorities should be based on filesystem hierarchy as much as possible, but not obsessively so if sensible configuration data helps. | 09:40 | ||
09:41
Guest89223 left
|
|||
mberends | s/disambiguating/distinguishing/ | 09:41 | |
Ecosystem should support that, but the results *may* not depend on proto, ever. | 09:42 | ||
the .NET Global Assembly Cache is could almost work for P6 | 09:44 | ||
s/is // #gah | |||
masak | mberends: well, I'm going to resist any Functional Additions to proto as long as it seems sensible. | 09:45 | |
people are welcome to fork off, though. :) | |||
09:47
payload joined
|
|||
mberends | would you prefer a clean break / fork between proto and pro-II, or a gradual morph? | 09:48 | |
masak | mberends: that would depend on the reqs for pro-II, I think. | ||
mberends votes for morph | |||
masak | morph is usually easier, yes. | ||
it's the "from fail to work < from work to fail" rule all over again. | 09:49 | ||
mberends | an excellent way of putting it | 09:50 | |
masak | mberends: well, it was you who said it the first time. :) | 09:51 | |
mberends | that's what forks usually do too, and Darwinism finishes the job | ||
masak | it resonates well with me though, because it reminds me of Dawkins' "There are a lot more ways of being dead than of being alive." | ||
believe it or not, that amounts to the same thing. :) | 09:52 | ||
mberends | :) life is precious, and rare | ||
masak | that, too. | ||
but the point is, I think, that once you've got something going (life, sockets, proto, etc), it's a good idea to keep builing from that... | |||
...instead of starting over with something that doesn't work yet. | 09:53 | ||
mberends | to a point. the state of P5 guts are the reason for P6. | ||
masak | oh, to be sure. | 09:54 | |
but note that we're not throwing out all of P5 either. | |||
mberends | proto's guts are nice IMNSHO, hence morph, into multiple classes if that is justified. After the 'use' case, I think popularity-contest would be the next feature I'd like to add. | 09:57 | |
masak | "what's popularity-contest, precious?" | ||
mberends | the Debian term for statistics about number of installations, kind of deployment feedback. It's done via email. | 09:59 | |
masak | ok, I can think rationally about that as long as I don't think of it as an addition to proto. :P | 10:00 | |
mberends | Another feature idea would be wtop-stubber-kwalitee enhancement | ||
masak | oh, yes. | 10:01 | |
but I see that as a separate project, if for no other reason than the fact that deps already point from that towards proto. | |||
10:02
donaldh joined
|
|||
mberends | ?? that's a reason _not_ to separate, surely? | 10:02 | |
lambdabot | Plugin `compose' failed with: Unknown command: "" | ||
masak | lambdabot: ssh. | 10:03 | |
grownups talking. | |||
mberends: I guess it depends. | |||
mberends: if I do the Ecosystem disfactor, I can have WTOP depend on proto. | |||
the former simply asks the latter for all known projects, whether they're installed, etc. | 10:04 | ||
oh, and their locations on disk. | |||
mberends | the similarities to debian packaging are everywhere | 10:05 | |
masak | oh, I would love to see an installer that piggy-backed on the APT system. | 10:06 | |
but I'm not the person to start such a project. | |||
mberends | if support for gzip and ar could be built in (ie no external lib or exe dependency) then I would look no further. I'm still wondering about whether those two could be written in PIR. | 10:07 | |
masak | I don't see why not. | 10:08 | |
lurkers: ^^ projects for you! | |||
mberends | it's a task bigger than 1 hackathon. | 10:09 | |
masak | indeed. | 10:10 | |
10:11
payload left,
pmurias joined
|
|||
mberends | you're right, there is no reason why not. how about this approach: they're both written in C, so try the C to Parrot compiler on them? I don't know the status of C on parrot, though. | 10:12 | |
masak | sounds like a fun experiment. | 10:13 | |
mberends | the experiment is hackathon sized :) | 10:14 | |
afk & | 10:15 | ||
10:16
eMaX left,
eMaX joined
|
|||
masak | lunch & | 10:17 | |
10:21
payload joined
10:41
payload left
10:52
clkao left,
clkao joined
11:02
clintongormley joined
11:20
donaldh left,
donaldh joined
11:41
pmurias left
11:50
eMaX left
11:51
eMaX joined
11:59
VX joined
12:12
ashizawa joined
12:19
payload joined
12:21
H1N1[A] left
12:22
H1N1 joined
12:27
payload left,
payload joined
12:40
abra joined
12:42
ruoso joined
|
|||
ruoso | Hello! | 12:44 | |
Matt-W | hi ruoso | 12:52 | |
12:58
iblechbot left
13:02
ejs2 joined
13:03
payload1 joined
13:04
payload left
13:11
ejs1 left
13:16
payload joined,
payload1 left
13:28
payload left
13:29
lichtkind joined
13:40
skids joined
13:45
exodist joined
13:48
H1N1 is now known as H1N1[A]
|
|||
mberends groks gregorian, julian and other date representations | 13:50 | ||
13:53
Kisu left
13:57
alester joined
13:59
finanalyst left
14:03
ejs2 left
14:04
payload joined
14:09
LadyLuna1y joined
14:19
LadyLunacy left
|
|||
masak | I wouldn't dare say I *grok* gregorian. I've heard of it, that's all. :) | 14:22 | |
14:26
payload left
14:27
_mg_ left
|
|||
mberends | excellent Calendar FAQ www.tondering.dk/claus/calendar.html | 14:27 | |
you could call some of it "applied numerology" | 14:28 | ||
moritz_ | there's not even one calendar I grok :) | 14:29 | |
masak | calendars are serious business. | 14:30 | |
arnsholt | masak: Gregorian is the calendar we're using today, so I'd say you probably grok it reasonably well =) | ||
Infinoid | calendars have always seemed arbitrary and a bit ... "un-round" to me | ||
Infinoid just hates divisors that aren't powers of 2 :) | |||
masak | arnsholt: oh, yeah, right. Gregorian is that calendar. :P | ||
arnsholt: but still, "grok" is a strong word. | 14:31 | ||
"grok reasonably well feels" like a half-oxymoron. | |||
arnsholt | Julian is the predecessor, which is still used by the orthodox church to compute the date for Easter | ||
masak | it's interesting to follow the evolution of the concepts of time and money. as society deepends, these two concepts become more abstract and removed from reality. | 14:33 | |
time used to be related to the movements of the sun. | |||
money used to be related to the physical posession of real things. | |||
arnsholt | Infinoid: Calendars are as arbitrary as they are because the Earth's orbital period isn't an integer (and even the integer part of it is kinda nasty to work with) | ||
mberends | so when I transcribe one algorithm, today is 2009-05-26 :P hopefully just a topy. | 14:34 | |
masak | nowadays, time is vibrations of atoms, and money is numbers created by banks. | ||
arnsholt | masak: Just as an aside, calendars don't have to be solar. They can be lunar as well, like the Muslim and Jewish ones | ||
masak | arnsholt: oh, right. and the Chinese one. | 14:35 | |
arnsholt | Yeah | ||
masak | would be fun to base a calendar on the movements of Venus or something. :) | ||
moritz_ | the curious thing about time is that I haven't seen a good definition of it | ||
it seems it's one the things that are too fundamental to define (what a horror for a mathematician) | 14:36 | ||
mberends | "it's just there to prevent everything happening simultaneously" | ||
Infinoid | arnsholt: Yeah, I'm submitting a ticket for that (Earth's orbital period being non-integer) | ||
masak | I always liked this Jack Handey quote: 'I wish I lived on a planet that had two suns---regular sun and "rogue" sun. That way, when somebody asked me what time it was, I'd say, "Regular time?" And they'd say, "Yeah." And I'd say, "Sorry, all I have is rogue time." It'd be fun to be a stuck-up rogue-time guy.' | ||
moritz_ | and how do you define "simultaneously"? "happining at the same time"? | 14:37 | |
mberends | together | ||
moritz_ | bah, recursive defintions are even more evil than eval :-) | ||
masak | moritz_: pfesh, semantics. :) | ||
arnsholt | No! Semantics are fun! =D | ||
Says the linguist | 14:38 | ||
moritz_ | mberends: "together" isn't very precise | ||
mberends | mumble | ||
TimToady | I'm not together yet... | 14:44 | |
the reason I'm opposed to .conf files for both p5 and p6 is that it leads to invisible monkey patching, as if people can modify your setting without telling you they're changing the language you start in. | 14:47 | ||
I'm fine with redefining the language as long as it's done declaratively. | |||
I don't even mind using a configuration file as long as the *use* of it is declared. | 14:48 | ||
but every Perl 6 program using CORE for the setting had better start out being the same language at the top of the file, or we're screwed before we start | 14:49 | ||
mberends | TimToady: that's a very useful possibility | ||
moritz_ still doesn't see how a module database can work reasonably without config files | |||
TimToady | this is language policy, not database policy :) | ||
for a database, the configuration files *are* the declaration | 14:50 | ||
mberends | moritz_: there would be files, including database files. all is fair if you predeclare (the files). | ||
masak | let's take Rakudo as a concrete example. where would it put its module database? | 14:51 | |
in a subdir of the Rakudo installation, or in a fixed dir on the disk somewhere? | |||
moritz_ | if installed, probably under /usr/lib/perl/6.0/ | 14:52 | |
masak | for the former, the problem is that we have to have something like a RAKUDO_DIR env variable. | ||
moritz_ | or /usr/lib/rakudo/ | ||
mberends | that's implementation detail, either is allowed. Look at Samba to compare. | ||
[particle]- | TimToady: that should be codified, so it's clear that modifying the setting *must* be declared and cannot happen automagically to meet the perl 6 spec | ||
14:52
justatheory joined
|
|||
[particle]- | sorry for dangling that modifier, ETOOEARLY still | 14:52 | |
14:52
mikehh_ joined
|
|||
masak | mberends: I don't think it's that easy to dismiss as "implementation detail". underdesign might mean that bad compromises have to be struck later. | 14:53 | |
cf proto. :) | |||
TimToady | well, it's already implied by the notion that once a module is registered as official, it's immutable | ||
and you must version or auth it to change it | |||
14:54
abra left
|
|||
[particle]- | modules are closed but classes are open? | 14:54 | |
^^ re: immutable | 14:55 | ||
moritz_ | so basically we need a mapping from long name (including unicode short name, version and author) to file name | ||
TimToady | no, what you get out of the library API is immutable; you can modify them after that with monkey patching | ||
moritz_ | and a mechanism to avoid that for local testing | ||
TimToady | but everyone who pulls Foo out of the official library should be getting the same Foo | ||
[particle]- | ok. got it. and agreed, that is implied and makes sense. | 14:56 | |
TimToady | (implying ver and auth in Foo) | ||
masak | moritz_: yes, the mapping thing worries me somewhat. | ||
moritz_: it's nontrivial. | |||
[particle]- | we need CPANfs | ||
mberends | masak: details was not meant to be dismissive, sorry. But implementations will vary in what they need... | ||
TimToady | or to put it another way, language mutation must be fully named, either with module:ver:auth or by a pedigree of lexically scoped declarations | 14:57 | |
14:57
iblechbot joined
|
|||
TimToady | what would happen to the Web if we had multiple roots to http:// that went different places? | 14:58 | |
[particle]- | ask china | ||
TimToady | that's what mutatable configuration files would do to the languge | ||
and it's to be construed as deeply suboptimal | |||
the U is supposed to mean "universal" | 14:59 | ||
masak | mberends: yes, naturally. I'm just implying that the details around modules aren't yet implemented enough to have been proven practical. there may well be one or two impossibilities in there that we don't notice yet. things like "we cannot have any config files or env vars, and the location of the Rakudo install is variable. d'oh!" | ||
[particle]- | indeed. this way lies madness. | ||
TimToady | but essentially locales are the same kind of madness | ||
masak | TimToady: the "U" used to mean "Universal". nowadays it mean "Uniform". :/ | 15:00 | |
TimToady | you're choosing to be in an ambiguous language based on someone else's external definition | ||
[particle]- | but locales are declared | ||
TimToady | it's fine to use locales as long as you declare that you want to be in such an ambiguous situation | ||
mberends | the predeclare config route look fruitful - some kind of 'use thisconfig' above the remaining 'use' lines. | 15:01 | |
TimToady | but we try not to make Perl 6 ambiguous that way except by express declaration | ||
so if you want to use locales in Perl 6, you must declare that. | |||
moritz_ likes that | |||
TimToady | otherwise you get flat Unicode semantics | ||
which tries to do the right thing for everyone to the extent possible without local assumptions | 15:02 | ||
15:02
mib_2gjite joined
|
|||
TimToady | anyway, yes, I still feel strongly about that. :) | 15:02 | |
mib_2gjite | i need help | 15:03 | |
masak | mib_2gjite: with Perl 6? | ||
mib_2gjite | whoz op ? | ||
masak | mib_2gjite: do you have a Perl 6 question? | ||
15:03
mib_2gjite was kicked by TimToady (TimToady)),
mikehh left
|
|||
masak | I think "whoz op?" will be my new greeting in #perl6. :) | 15:04 | |
TimToady | I think anything from mibbit is likely in need of kicking and/or banning these days | ||
I cleaned out some ban slots last night just for that purpose :) | |||
masak | aww, not so sure. some of my best friends use mibbit. | ||
mberends | :) | ||
TimToady | yes, but I recognize the style here from the past several days | 15:05 | |
haven't decided whether it's an irritating bot or non-bot | |||
moritz_ | we don't have to decide | 15:06 | |
masak | not sure the difference is essential. :) | ||
moritz_ | the "irritating" part is important, not the botness | ||
TimToady | anyway, anyone coming in from mibbit and being semi-incoherent should be assumed to be the same person, for now | 15:07 | |
15:07
MalamSAlam joined
|
|||
TimToady | you see | 15:07 | |
mberends ducks | |||
masak | what could a Perl 6 bot do in here to come across as pleasant, besides doing eval tasks, conversions, messages or karma? | ||
15:08
MalamSAlam left
|
|||
moritz_ | masak: being silent | 15:08 | |
masak | moritz_: that's an important criterion, yes. :) | ||
moritz_: but in terms of impressiveness... | |||
moritz_ | maybe hand out ops | ||
masak | good one. | ||
moritz_ | have some lookup for project homepages | ||
(but not as annoying as purl, please) | |||
masak | maybe hand out a prize every evening, based on some unknown rule. | 15:09 | |
moritz_: not being as annoying as purl is the easy part. | |||
moritz_ | "the most active lurker" | ||
masak | :D | ||
15:09
mhsparks left
|
|||
masak | "most polite committer" | 15:10 | |
15:10
mhsparks joined
|
|||
masak | "happiest-sounding debater" | 15:10 | |
15:10
M_o_C joined
|
|||
masak | "most talked-to person" | 15:10 | |
moritz_ | lowest smiley-to-quotes ratio | ||
[particle]- | cutest network packet | 15:11 | |
masak | awwww. <3 | ||
15:14
amoc left
15:19
nihiliad joined
15:20
donaldh left
15:21
donaldh joined
|
|||
pmichaud | good morning, #perl6 | 15:25 | |
sbp | hey pmichaud | 15:26 | |
masak | whoz op, pmichaud. | 15:27 | |
sbp | (translation: masak is a secret mibbit user) | ||
pmichaud | /kick masak | 15:28 | |
masak | :P | ||
pmichaud | I already read the backlog :-P | ||
masak | I just wanted to know how do u make your own chanle... | ||
sbp | masak: obviously a perl6 bot should implement a game of perl6 syntax nomic | 15:30 | |
pmichaud | In your case, you start by writing your own IRC server in Perl 6. | ||
sbp | where people compete to convolute perl6 into the most egregious areas of syntaxitude | ||
TimToady | it isn't already? | ||
sbp | heh, heh | ||
masak | sbp: problem with programming-lang nomics is that they're so different from the original version... | 15:31 | |
sbp | just thought that as well as being a ripe source of entertainment, it might also have the unwanted side-effect of producing ideas that may actually be useful; sort of how Damien's Quantum Superpositions joke, which everybody thought hilarious, became junctions, which everybody thinks even more hilarious | 15:32 | |
*Damian | 15:33 | ||
might not work on IRC so well given the limited space | |||
15:34
jan_ joined
|
|||
TimToady | but I can see a line of daily recursive Setting files being installed in *PAN to define the new language of the day based on earlier ones :) | 15:34 | |
masak | rakudo: multi sub infix:<!+> { $^a + $^b } | 15:35 | |
p6eval | rakudo 106452: OUTPUT«Malformed routine definition at line 1, near "infix:<!+>"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)» | ||
pmichaud | masak: not yet... working on that now :-) | ||
TimToady | take a while to compile after it's nested several thousand settings deep though... | ||
masak | pmichaud: cool. | ||
TimToady | I guess the new game would be called cpanic, or some such... | 15:36 | |
sbp | someone could make a GA for syntax evolution whose fitness function is based on how much people chuckle at the results. though I have a feeling that it'd just turn out like $insert-your-most-hated-programming-language-here | ||
15:37
register72 joined
|
|||
jnthn | hi register72, welcome to #perl6 :-) | 15:39 | |
register72 | hi everybody | ||
how may I help? | |||
sbp | give us the spec for perl7 | ||
masak | register72: a very good question, sir! | ||
mberends | finish perl6? | ||
jnthn | register72 has just been asking me in private message about getting involved in Perl 6, so I suggested he joined here to get more ideas. :-) | 15:40 | |
masak | register72: you can help with the test suite. | ||
register72: or with one of the implementations. or with documentation. | |||
jnthn | mberends: :-P | ||
masak | register72: or you can write programs in Perl 6, dragging out bugs. | ||
sbp still isn't used to people coming to tech channels askign *to* help rather than *for* help... | |||
masak | jnthn: "suggested he join". an excellent time to use the subjunctive. :P | 15:41 | |
register72 | I know that there is some development about a perl6 web framework going on right? | ||
masak admires his own grammar nazi hat | |||
register72: yes. | 15:42 | ||
jnthn | masak: My English not the good, sorry. | ||
masak: btw how is chanel formed? | |||
masak | jnthn: *lol* | ||
jnthn: "chanle" :) | |||
jnthn | register72: See github.com/masak/web/ for more on the web stuff | 15:43 | |
mberends | jnthn: as in Mandlebrot ;) | ||
jnthn | register72: Or ask masak ;-) | ||
masak looks skywards and whistles | 15:44 | ||
15:44
Kisu joined
|
|||
sbp squinteth at feather.perl6.nl/~masak/november-smoke.html | 15:44 | ||
15:44
Psyche^ joined
|
|||
masak | no, actually, questions are fine. | 15:44 | |
sbp | masak: how come it's showing 100% for all these? | ||
and then some are marked as not ok and browned out | |||
masak | sbp: those are called TODO tests. | ||
sbp | more like RFEs than Bugs? | 15:45 | |
15:45
Patterner left,
Psyche^ is now known as Patterner
|
|||
masak | aye. | 15:45 | |
sbp | okay, thanks | ||
masak | np. | ||
patches welcome. :) | |||
also, that smoke is against Oslo, not Bratislava or bleeding. | |||
(because Oslo is all that builds on feather presently) | 15:46 | ||
sbp | =item A URI module based on RFC 3986, using Perl 6 grammars. | 15:47 | |
— github.com/masak/web/blob/d42596a45...OPOSAL.pod | |||
masak: and IRIs? | |||
register72 | masak is your framework a template like system for html rendering? | ||
anyway | |||
to come back to the point | |||
I would like to contribute some C code | |||
but could be also interested in writing some general framework in perl6 | |||
so I am open to suggestions | |||
sbp | register72: do you know CGI.pm from ye olde perl5 days? | ||
it's kinda meant to be a replacement of that | 15:48 | ||
register72 | yes | ||
ah ok | |||
sbp | so yeah, some templating | ||
cf. this: | |||
=item A slightly more advanced XML-aware templating system, similar to | |||
Python's Genshi. | |||
masak | register72: it's not a template-like system, but it has one or two of those. (or "endorses" them, or whatever the relation turns out to be) | ||
register72 | ok | ||
jnthn | register72: There's (intentionally) not that much C in Rakudo. On the other hand, if you want to help rakudo along, I'm sure there's some Parrot issues that you could work on that would directly help Rakudo. | ||
And that'd involve C. | |||
register72 | ok | 15:49 | |
jnthn | Rakudo is mostly written in Perl 6 or subsets of Perl 6, plus PIR. | ||
With just a small sprinkling of C. | |||
masak | sbp: sorry, IRIs? | ||
register72 | jnthn could you provide me some pointers? | ||
TimToady | C already has pointers | ||
jnthn | register72: int *foo; | ||
char *bar; | 15:50 | ||
;-) | |||
register72 | emh | ||
better initialize them | |||
;) | |||
char* bar=NULL; | |||
sbp | masak: RFC 3987. basically URIs that allow unicode in them | ||
jnthn | pmichaud: Do we have anywhere a list of Parrot issues that'd really help Rakudo along? | ||
sbp | for example, an actualy U+0020 space is allowed in an IRI | ||
register72 | int* foo=&perl6_parrot_pointers; | 15:51 | |
pmichaud | jnthn: we have trac tickets, but I don't know that they're organized by "helps rakudo" | ||
sbp | whereas it's not allowed in a URI; you have to encode it as %20 (or some servers interpret + as a space in certain contexts; well, just query strings) | ||
mberends | wouldn't Q:C{ printf "hello, world"; } be cool? | ||
pmichaud | I might be able to tag them. | ||
masak | sbp: a guy wrote to ihrd and me the other day, saying he'd implemented URI.pm using RFC 2396 as a basis. | ||
sbp | masak: browsers are sorta flipping back and forward between IRIs and URIs these days | ||
heh, poor guy | 15:52 | ||
masak | sbp: ok. I don't know much about URIs; so far that has been ihrd++'s department. | ||
an unresolved question for me is how much URI handling should be built into Web.pm. | |||
sbp | m'kay. I can't even find URI.pm in Web.pm | 15:53 | |
15:53
eMaX left
|
|||
jnthn | register72: If you wanted to take on something bigger that would help Rakudo but also Parrot in general, we're very much in need of a PIR-level profiler. | 15:53 | |
register72 | ok | ||
masak | sbp: no, there's no such class yet. | ||
jnthn | register72: We currently don't have a good way of knowing about performance bottlenecks 'cus we just don't have the tools to tell us. | 15:54 | |
sbp | ah. I thought you wrote somewhere you were just incorporating November's URI.pm? | ||
masak | sbp: there's a project called uri, though. | ||
jnthn | Or not really easily anyway. | ||
sbp | hmm, okay | ||
masak | sbp: aye, that project is just November's URI.pm pulled out. | ||
sbp | ah! | ||
masak | (AFAIU) | ||
register72 | that's pretty tough | 15:55 | |
sbp | masak: Got Link™? having trouble finding it on the intergoogles | ||
masak | sbp: hold on. | ||
register72 | I am not so confident that I can make it since I know pretty well how to code in C but I don't know almost nothing about parrot internals | 15:56 | |
15:56
PhatEddy joined
|
|||
register72 | but I can try to have a look | 15:56 | |
ok | |||
moritz_ | register72: then maybe start with smaller features, or bug fixes | ||
register72: also join #parrot on irc.perl.org | |||
masak | sbp: github.com/ihrd/uri github.com/ronaldxs/uri | ||
second one's the one I heard about yesterday. | 15:57 | ||
sbp | cool, thanks | ||
register72 | jnthn are you into parrot? | ||
jnthn | register72: A ticket that directly affect Rakudo: trac.parrot.org/parrot/ticket/536 | ||
register72: yeah, as "jonathan" there | |||
PhatEddy | Yesterday jnthn was having trouble with "make t/spec/sometest" under windows - if it involved mingw32-make I may have a fix | 16:00 | |
If one replaces "t\\*.t t\\*\\*.t t\\*\\*\\*.t: all Test.pir" with "$(shell $(PERL) -e "print join(' ', (<t\\*.t>, <t\\*\\*.t>, <t\\*\\*\\*.t>))"): all Test.pir" (more) | 16:01 | ||
16:01
mikehh_ is now known as mikehh
|
|||
PhatEddy | it seems a bit ugly to me but it seems to work | 16:01 | |
jnthn | register72: Also this one is a real pain for Rakudo - we could pass more tests with this fixed: trac.parrot.org/parrot/ticket/24 | ||
PhatEddy | any interest in a patch like this? | 16:02 | |
register72 | jnthn: saw the ticket and I see also that parrot has a "trace" core. "Tracing" has some connection with profiling so I guess that know I have some material | ||
jnthn | register72: Yes, that'd be a place to start looking. | ||
register72 | thanks guys | 16:03 | |
sbp | hmm. URI ~ URI could join the two URIs according to normal resolution, and URI ~ Str could just bung the string onto the end of the URI, utf-8 and %HH encoded... | ||
jnthn | register72: A profiling runcore sounds like an interesting idea. | ||
masak | sbp: in other words, you want operator overloading too :) | ||
[particle]- | PhatEddy: did you try that with msvc? i don't think $(shell ...) will do anything useful in cmd/nmake | 16:04 | |
sbp | YES!!@ | ||
heh | |||
masak | sbp: coming soon, accoring to pmichaud. | ||
jnthn | register72: chromatic who is on #parrot now and then was talking about refactoring runcores a bit to make things more pluggable as something to help with implementing another runcore for profiling too. | ||
masak | sbp: by the way, what do you mean by "join the two URIs according to normal resolution"? | ||
register72 | ok | ||
jnthn | Anyway, if you want to look into any of the issues I've mentioned, that'd be awesome. :-) | ||
sbp | masak: so joining example.org/test/ and ../filename gives example.org/filename | 16:05 | |
and *not* example.org/test/../filename | |||
standard uri join | |||
masak | sbp: that's quite a nice idea. | ||
16:06
mizioumt joined
|
|||
PhatEddy | [particle]-: sorry I don't work with msvc. I just got it to work with mingw32-make ... but the make program should be identifiable in the configuration/Configure.pl ... | 16:06 | |
jnthn away for a bit | |||
masak | sbp: I was going to object that that isn't close enough to real concatenation, but I think I like it, so... :) | ||
[particle]- | PhatEddy: ok, well i'm a bit distracted (on phone) so i may be missing something and you may be spot on | ||
sbp | masak: it can chain like concatenation too because a ~ b ~ c just means join(join(a, b), c) | 16:07 | |
masak | sbp: aye, that's quite nice. | 16:08 | |
sbp | the head of the chain would have to be absolute though, I think (a URI with a ':' in it) | ||
can't remember the rules precisely | |||
masak | sbp: I was going to say something like that. | ||
PerlJam | sbp: is using .. in that manner part of the URI/URL spec? | 16:09 | |
PhatEddy | [particle]-: bbiab - and hopefully you'll be less distracted. I do have nmake and will try to experiment with that as well .. | 16:10 | |
sbp | PerlJam: yeah | ||
16:10
register72 left
|
|||
sbp | § 5 in RFC RFC 3986 | 16:10 | |
16:10
ejs joined
|
|||
PerlJam | sbp: thanks | 16:10 | |
sbp | (spot the point where I had to look up the number and forgot what I'd typed already) | 16:11 | |
moritz_ | maybe my IRC logs should recognize RFC 3986 and turn it into a link... | ||
sbp | masak: actually, despite what you've put in GRANT-PROPOSAL.pod, I guess it does make sense for URI.pm to be separate, because an HTTP client library is bound to want to use it, but isn't going to want to use anything else in Web.pm really | 16:13 | |
it's one of the few shared aspects between the client and server architectures I suppose | |||
moritz_ | ah, be careful here... a HTTP server that automatically transforms /foo/../ into / could be very dangerous ;-) | 16:14 | |
that aside, I agree | |||
masak | sbp: indeed. | 16:17 | |
sbp: and Web.pm is HTTP-engine-agnostic. | |||
16:22
REPLeffect left
|
|||
sbp | what's the perl6 state of the art for HTTP client side operations? | 16:23 | |
moritz_ | nothingmuch, I fear | ||
there was a basic LWP::Simple implementation at a hackathon (or so I've been told), but the code was never published | 16:24 | ||
rakudo: say "\r".ord | |||
p6eval | rakudo 106452: OUTPUT«13» | ||
sbp | thanks | ||
16:26
kane__ joined
16:31
nbrown_ joined
|
|||
masak | interesting PerlMonks thread from the past about the Perl 6 future: www.perlmonks.org/?node_id=404127 | 16:34 | |
ruoso | pmichaud, were you able to take a look at the problem I mentioned yesterday? | 16:35 | |
Tene | sbp: I can give you something tonight if you want. | ||
masak | Tene++ | ||
PerlJam | masak: unfortunately perl 6 won't be out in 2012 ;) | 16:36 | |
moritz_ | not "out", but "in" (use) | ||
Tene | masak: web.pm *should* be http engine agnostic, but now isn't | ||
masak | Tene: well, it's more like we're using it wrong right now. | 16:37 | |
HTTP::Daemon shouldn't really be a part of Web.pm | |||
just the middleware to accommodate it. | |||
Tene | exactly | 16:38 | |
16:38
eMaX joined
|
|||
masak | PerlJam: you're probably right, but I've realized I don't care about the "out" property of Perl 6, so... | 16:38 | |
PerlJam | yeah, as long as it's useful (and it is now) | ||
masak | Tene: I promise to remedy that before the situation grows too silly. | 16:39 | |
PerlJam | (rakudo is anyway :-) | ||
masak | and Pugs too, to some degree. | ||
sbp | Tene: oh, cool | ||
ruoso | rakudo: class Foo { method bar($a) { say $a }; method foo { $.bar('ok') } }; Foo.new.foo; | ||
sbp | Tene: I was kinda thinking about various things connected with it | ||
p6eval | rakudo 106452: OUTPUT«too few arguments passed (1) - 2 params expectedcurrent instr.: 'parrot;Foo;bar' pc 136 (EVAL_21:74)» | ||
PerlJam | pugs is too frozen in time to be useful enough | ||
ruoso | is that a known bug? | ||
sbp | Tene: a) using such a thing, b) checking such a thing does encoding right, c) checking that the general architecture is sound | ||
especially encoding, because it's always tricky | 16:40 | ||
moritz_ | ruoso: the $.method abbreviatioin doesn't always work in rakudo | ||
masak | ruoso: wtf? | ||
masak submits rakudobug | |||
moritz_ | ruoso: but self.method should work | ||
ruoso | it does... | ||
I was just wondering if that was already a known issue | |||
moritz_ | known to me and pmichaud, at least ;-) | 16:41 | |
16:41
[1]nbrown joined
|
|||
pmichaud | it's a known issue. | 16:41 | |
moritz_ | dunno if known to RT | ||
pmichaud | there's even a ticket for it. | ||
16:41
cognominal left
|
|||
moritz_ | ok | 16:41 | |
masak suspects it's in RT... | |||
ruoso | hi pmichaud | ||
pmichaud | RT #61988 | 16:42 | |
masak hits the undo button | 16:43 | ||
Tene | sbp: Yes, I am encoding-stupid... would love help getting it right in http stuff I'm working on. | ||
masak is encoding-stupid too, but on the learning curve | 16:44 | ||
16:44
cognominal joined
|
|||
moritz_ is pretty encoding-aware | 16:44 | ||
skids | rakudo: my $a; my sub b { return { "OH HAI".say } }; $a = b(); $a.perl.say; $a(); | ||
p6eval | rakudo 106452: OUTPUT«{ ... }OH HAI» | ||
skids | rakudo: my $a; my sub b { { "OH HAI".say } }; $a = b(); $a.perl.say; $a(); | 16:45 | |
p6eval | rakudo 106452: OUTPUT«OH HAI1invoke() not implemented in class 'Integer'current instr.: '_block14' pc 122 (EVAL_20:61)» | ||
skids | rakudo: my $a; my sub b { { $^f; "OH HAI".say } }; $a = b(); $a.perl.say; $a(); | ||
p6eval | rakudo 106452: OUTPUT«too few arguments passed (0) - 1 params expectedcurrent instr.: '_block27' pc 291 (EVAL_20:122)» | ||
skids | rakudo: my $a; my sub b { { $^f; "OH HAI".say } }; $a = b(); $a.perl.say; $a(1); | ||
16:45
masak left
|
|||
p6eval | rakudo 106452: OUTPUT«too few arguments passed (0) - 1 params expectedcurrent instr.: '_block27' pc 298 (EVAL_20:124)» | 16:45 | |
skids | rakudo: my $a; my sub b { return { $^f; "OH HAI".say } }; $a = b(); $a.perl.say; $a(1); | ||
p6eval | rakudo 106452: OUTPUT«{ ... }OH HAI» | ||
pmichaud | skids: note that your nested block is an immediate block | ||
moritz_ | rakudo++ # getting all of tese right so far | 16:46 | |
skids | If it is an immediate block, then is the code in S04 lift wrong? | ||
pmichaud | checking | ||
no, those are pointy subs | |||
(or pointy blocks) | 16:47 | ||
so they aren't immediate | |||
skids | rakudo: my $a; my sub b { -> $f { $^f; "OH HAI".say } }; $a = b(); $a.perl.say; $a(1); | ||
pmichaud | rakudo: my $a; my sub b { -> { "OH HAI".say } }; $a = b(); $a.perl.say; $a(); | ||
p6eval | rakudo 106452: OUTPUT«Cannot use placeholder var in block with signature. at line 1, near "; \"OH HAI\""current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)» | ||
rakudo 106452: OUTPUT«{ ... }OH HAI» | |||
pmichaud | rakudo++ | ||
skids | rakudo: my $a; my sub b { -> $f { $f; "OH HAI".say } }; $a = b(); $a.perl.say; $a(1); | 16:48 | |
p6eval | rakudo 106452: OUTPUT«{ ... }OH HAI» | ||
skids | OK, good then. | ||
Though that's probably going to end up being a FAQ. | |||
16:48
nbrown left,
[1]nbrown is now known as nbrown
|
|||
ruoso | skids, what was the behavior you expected? | 16:50 | |
16:50
cdarroch joined
|
|||
moritz_ | there can be no language with a FAQ | 16:50 | |
if there were one, people would ask "why isn't there a FAQ?", which would be a FAQ | |||
(proof by contradiction)++ | |||
skids | My mind was open :-) I just hadn't remembered reading anything about pointies not being immediate. | 16:51 | |
pmichaud | iirc, only bare blocks can be immediate | ||
Tene | moritz_: but would they ask it *frequentlyz? | ||
skids | Even if there's a topic? | ||
ruoso | yes... bare blocks have a .() implied | 16:52 | |
moritz_ | Tene: sufficiently frequently to qualify as FAQ (compared to all other questions, at least ;-) | ||
ruoso | rakudo: sub foo { { say 'hello' } }; foo(); | ||
p6eval | rakudo 106452: OUTPUT«hello» | ||
moritz_ | without it much of the test suite wouldn't work | 16:53 | |
ruoso | rakudo: sub foo { { say 'hello' }.() }; foo(); # this would be the implied call\ | ||
p6eval | rakudo 106452: OUTPUT«hello» | ||
skids | It's probably the most FAQ-free behavior, mind you (makes sense) | ||
ruoso | skids, it only looks weird while it is in a single line | 16:54 | |
if you put it into a long file | |||
16:54
nbrown_ left
|
|||
ruoso | the other way around would be a FAQ | 16:54 | |
skids | Though maybe the placeholder case might be a bit iffy. | ||
16:54
cognominal left
|
|||
ruoso | on the other hand.... | 16:55 | |
skids | (non pointy with placeholders) | ||
ruoso | I'm not sure a block that is being returned is really "bare" | ||
skids | note the return case worked as a closure, just the fall-off-end didn't. | ||
ruoso | rakudo: sub foo { { say 'hello' } }; my $a = foo; say 1; $a.(); say 2; | ||
p6eval | rakudo 106452: OUTPUT«hello1invoke() not implemented in class 'Integer'current instr.: '_block14' pc 103 (EVAL_22:57)» | 16:56 | |
ruoso | it's important to realize that "for" has this same semantics applied | ||
a 'bare for' is executed immediatly | |||
but a 'for' being used as the return of a sub, even if implicit, is lazy... | |||
16:56
REPLeffect joined
|
|||
[particle]- has spectest failures with msvc | 16:57 | ||
skids | And to make things more confusing, there's the caveat about for returning a value :-) | ||
(which newbies won't expect) | |||
TimToady | sub postfix:< km>($n) { }; 4 km; | ||
std: sub postfix:< km>($n) { }; 4 km; | 16:58 | ||
ruoso | TimToady, is a block that is being implicitly returned in a sub considered a 'bare block'? | ||
p6eval | std 26817: OUTPUT«##### PARSE FAILED #####Syntax error (two terms in a row?) at /tmp/iQg9PIMmJw line 1:------> sub postfix:< km>($n) { }; 4 km; expecting any of: infix or meta-infix infix stopper standard stopper statement modifier loop terminatorFAILED 00:04 | ||
..44m» | |||
skids | sub foo { { say $^d ~ 'hello' } }; my $a = foo; say 1; $a.(1); say 2; | ||
TimToady | std: sub postfix:[' km']($n) { }; 4 km; | ||
p6eval | std 26817: OUTPUT«ok 00:03 44m» | ||
TimToady | that's better | ||
skids | rakudo: sub foo { { say $^d ~ 'hello' } }; my $a = foo; say 1; $a.(1); say 2; | ||
p6eval | rakudo 106452: OUTPUT«too few arguments passed (0) - 1 params expectedcurrent instr.: '_block26' pc 296 (EVAL_22:123)» | ||
skids | ...that's the only case that's iffy in my mind but could go either way. | ||
TimToady | ruoso: you can't implicitly return a block | 16:59 | |
ruoso | you can implicitly return a closure | ||
[particle]- | what happens to placeholders in a bare block? warning? | ||
use values from outer scope? | |||
TimToady | a bare block as the last statement will not be taken as a return value | ||
17:00
riffraff joined
|
|||
ruoso | TimToady, isn't it a bit inconsistent with the way 'for' is handled? | 17:00 | |
TimToady | S04: 560 | 17:01 | |
17:02
mhsparks left
|
|||
TimToady | people's expectations of bare blocks are inconsistent | 17:02 | |
sbp gets confused by "Yes, Byte is both a string and a number." in S29:95; Byte derives from AnyChar, which derives from Str... so it's also deriving from Num? | |||
moritz_ | "a".sqrt | ||
sbp | rakudo: "a".sqrt | 17:03 | |
p6eval | rakudo 106452: ( no output ) | ||
sbp | rakudo: say "a".sqrt | ||
p6eval | rakudo 106452: OUTPUT«0» | ||
Infinoid | rakudo: say "a"+1 | ||
p6eval | rakudo 106452: OUTPUT«1» | ||
sbp | rakudo: say "a".ord.sqrt | ||
p6eval | rakudo 106452: OUTPUT«9.8488578017961» | ||
skids | sbp: "a" isn't a byte, though. | 17:04 | |
sbp | nope. and "a".ord is just a Num, not a Str | ||
ruoso | rakudo: say 'a' ~~ AnyChar | ||
p6eval | rakudo 106452: OUTPUT«Could not find non-existent sub AnyCharcurrent instr.: '_block14' pc 59 (EVAL_17:47)» | ||
ruoso | sbp, rakudo doesn't seem to implement that part of the spec yet | 17:05 | |
pugs: say 'a' ~~ AnyChar | |||
p6eval | pugs: OUTPUT«*** No such subroutine: "&AnyChar" at /tmp/3XjdvyREaC line 1, column 5 - line 2, column 1» | ||
ruoso | nor does pug | ||
17:05
cognominal joined
17:08
eMaX left
|
|||
sbp finds the C<open> implementation in rakudo/src/builtins/io.pir | 17:09 | ||
couldn't find anything about encoding of files in the Synopses | |||
and the only thing I found about encoding in general was in rakudo.org/2009/01/perl-6-design-mi...-31-d.html which seems to indicate that encoding and decoding within I/O operations hasn't really been thought about yet? | |||
skids | so basically rakudo has everything right functionally but the placeholder bare block should be a syntax error not a dispatch error, and could be more specific. | 17:11 | |
jnthn | [particle]-: (fails in msvc) I get a handful too. | ||
4ish. | |||
[particle]- | 2 in S02-magicals/env.t | ||
jnthn | (2 about numeric stuff, one weird, one slice.t segv that is know) | ||
[particle]- | and the slice.t segv. | ||
jnthn | [particle]-: Oh, I thought I pushed a patch yesterday to fix env.t | ||
Yeah, slice.t segv I investigated a bit and wrote a ticket about. | 17:12 | ||
[particle]- | i recall that segv. env.t surprised me a bit | ||
jnthn | It's almost certainly GC related. | ||
(the segv, not env.t) | |||
TimToady | ruoso: and I wouldn't describe for as caring about its context in that sense. It's only that void context happens to be considered eager. | ||
[particle]- | yep | ||
pmichaud | skids: (placeholder bare block as syntax error) -- I'm not sure it's a syntax error. It _might_ be a semantic error, or it could be that placeholder blocks should not be treated as immediate blocks. | 17:14 | |
TimToady | though perhaps void must be considered strictly eager, or "for 1..*" won't work | ||
dalek | kudo: cf98479 | pmichaud++ | docs/spectest-progress.csv: spectest-progress.csv update: 388 files, 11257 passing, 0 failing |
17:15 | |
17:15
payload joined
|
|||
TimToady | I suspect a placeholder block should be supported as "non-bare" but disrecommended as devious | 17:16 | |
pmichaud | how much disrecommended? Generate a warning? ;-) | 17:17 | |
"Devious use of placeholder block at ..." | |||
TimToady | I'm thinking of posting the culprit's name in the town square, more like... | ||
sbp | hmm. p6eval gives me 13025 (i.e. 0x32E1) for "\c[CIRCLED KATAKANA TU]".ord, which is right, but when I read a file from disc with an actual "\c[CIRCLED KATAKANA TU]\n" line in it and then ord what it read, it gives me 227, which is the first byte of CIRCLED KATAKANA TU utf-8 encoded... | ||
so it seems it's just reading bytes and converting them to codepoints... | 17:18 | ||
and it also seems to do the same the other way round, so "say" just bungs out the unicode characters as bytes (which means you can see the character fine if your locale settings are set to UTF-8) | 17:19 | ||
moritz_ | so there's a decoding step missing on reading. | 17:20 | |
pmichaud | sbp: You're correct that rakudo doesn't impose any encoding semantics on things read from files yet. | ||
TimToady | I absolve in advance anyone who breaks rakudo to fix this :) | ||
or parrot :) | |||
pmichaud | TimToady: The "fix" is that files should assume utf8 ? | 17:21 | |
TimToady | files are assumed to be "text", and that means Unicode | ||
pmichaud works for absolution. | |||
No problem. | |||
That's easily fixed. :-) | |||
17:23
eMaX joined
|
|||
sbp | rakudo: say "\c[CIRCLED KATAKANA TU]\n".chars(); | 17:23 | |
p6eval | rakudo cf9847: OUTPUT«2» | ||
TimToady | files that aren't text should generally have their own open-like methods anyway | ||
sbp | rakudo: say "\c[CIRCLED KATAKANA TU]\n".bytes(); | ||
pmichaud | Seems reasonable. | ||
p6eval | rakudo cf9847: OUTPUT«Method 'bytes' not found for invocant of class 'Str'current instr.: 'parrot;P6metaclass;dispatch' pc 252042 (src/gen_actions.pir:0)» | ||
sbp | sorry if I'm being thick, but what does it mean for a file to be text/Unicode? | 17:24 | |
all files are sequences of bytes, which means that there must be a decoding stage to interpret them correctly as Unicode, i.e. as sequences of Unicode characters | |||
TimToady | one of UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, or UTF-32BE | ||
sbp | aha, thanks | ||
hmm, I like the idea of referring to files encoded in any of those encodings as text files | 17:25 | ||
pmichaud | for the time being, Rakudo will assume utf8. I'm not sure Parrot supports any of those other encodings yet. | ||
TimToady | with a bias towards UTF-8, but if there are nulls, intuiting one of the others is okay, I think | 17:26 | |
since I hate BOMs with a passion | |||
(but recognize BOMs too, of course) | |||
ruoso | rakudo: my @a = (/ a /, / b /, / c /); my @b = map -> &rx { token { <rx> u } }, @a; my &subrx = sub ($/) { for @b -> &eachrx { my $match = Match.new($/); my $result = eachrx($match); if $result {return $result;}; }; return Match.new($/); }; say 'au' ~~ token { <subrx> }; say 'bu' ~~ token { <subrx> }; say 'cu' ~~ token { <subrx> } | ||
p6eval | rakudo cf9847: OUTPUT«cu» | ||
ruoso | pmichaud, that's the problem I'm facing... maybe it can be narrowed down a bit more... | 17:27 | |
sbp | moritz_: Str.bytes is mentioned in your Perl6-Str-0.0.3/lib/Perl6/Str.pm but doesn't seem to be implemented in rakudo yet (see test above). what's the status with that? | ||
17:28
jan_ left
17:32
jan___ joined
|
|||
pmichaud | rakudo: rx() | 17:32 | |
p6eval | rakudo cf9847: OUTPUT«Could not find non-existent sub rxcurrent instr.: '_block14' pc 53 (EVAL_17:43)» | ||
ruoso | pmichaud, note the signature | 17:33 | |
17:33
Kisu left
|
|||
pmichaud | rakudo: my @a = /a/, /b/, /c/; my @b = map -> &rx { token { <rx> u } }, @a; for @b { .WHICH.say } | 17:33 | |
p6eval | rakudo cf9847: OUTPUT«146001524146001524146001524» | ||
ruoso | hah | 17:34 | |
there it is | |||
pmichaud | well, maybe. | ||
there are some odd things that happen with subs in rakudo. | |||
that might cause them to report odd .WHICH values | |||
ruoso | the actual problem is consistent with the WHICH behavior | 17:35 | |
pmichaud | agreed. | ||
I wonder if the token isn't being cloned properly. | |||
rakudo: my @a = 1, 2, 3; my @b = map -> $rx { sub { $rx.say } }, @a; for @b { $_(); } | 17:36 | ||
p6eval | rakudo cf9847: OUTPUT«333» | ||
ruoso | hmm... now that was unexpected | ||
pmichaud | rakudo: my @a = 1, 2, 3; my @b = map -> $rx { $rx }, @a; for @b { $_.say; } | 17:38 | |
p6eval | rakudo cf9847: OUTPUT«123» | ||
TimToady | I suspect we could also recognize SCSU and BOKU compressions of unicode when indicated by BOM | ||
ruoso | pmichaud, ok... now *that*'s just weird | ||
pmichaud | why is that? | 17:39 | |
ruoso | ah | ||
sorry... | |||
I thought there was a closure there also | |||
pmichaud | the problem comes down to something similar with the given/take one we've described earlier | ||
ruoso | rakudo: my @a = 1, 2, 3; my @b = map -> $rx { my $a = $rx; sub { $a.say } }, @a; for @b { $_(); | ||
p6eval | rakudo cf9847: OUTPUT«Unable to parse block; couldn't find final '}' at line 1, near ""current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)» | 17:40 | |
pmichaud | sorry, gather/take | ||
ruoso | rakudo: my @a = 1, 2, 3; my @b = map -> $rx { my $a = $rx; sub { $a.say } }, @a; for @b { $_(); } | ||
p6eval | rakudo cf9847: OUTPUT«333» | ||
pmichaud | as far as map is concerned, the sub { ... } that is returned is the same sub each time | ||
there's nothing there to indicate that it should be cloned | |||
ruoso | rakudo: my @a = 1, 2, 3; my @b = map -> $rx { my $a = $rx; my $b = sub { $a.say }; say $b.WHICH; $b }, @a; for @b { $_(); } | ||
p6eval | rakudo cf9847: OUTPUT«146329000146329000146329000123» | ||
pmichaud | yes, we can force a cloning | 17:41 | |
ruoso | uh? | ||
pmichaud | rakudo: my @a = 1, 2, 3; my @b = map -> $rx { my $b = sub { $rx.say }; $b }, @a; for @b { $_(); } | ||
p6eval | rakudo cf9847: OUTPUT«123» | 17:42 | |
pmichaud | compare with | ||
rakudo: my @a = 1, 2, 3; my @b = map -> $rx { sub { $rx.say }; }, @a; for @b { $_(); } | |||
p6eval | rakudo cf9847: OUTPUT«333» | ||
pmichaud | so, going back to the original | ||
ruoso | pmichaud, the fact it is a closure means it needs to be cloned | ||
pmichaud | ruoso: in the general case, if I do return $x does $x get cloned? | 17:43 | |
currently no -- it gets placed into a capture | |||
and then it's "cloned" upon assignment to something else | 17:44 | ||
ruoso | but the closures are different in each iteration | ||
by definition | |||
they have a different lexical scope as their outer scope | |||
rakudo: my @a = (/ a /, / b /, / c /); my @b = map -> &rx { my $t = token { <rx> u }; $t }, @a; my &subrx = sub ($/) { for @b -> &eachrx { my $match = Match.new($/); my $result = eachrx($match); if $result {return $result;}; }; return Match.new($/); }; say 'au' ~~ token { <subrx> }; say 'bu' ~~ token { <subrx> }; say 'cu' ~~ token { <subrx> } | |||
p6eval | rakudo cf9847: OUTPUT«aubucu» | ||
ruoso | cool | 17:45 | |
workaround++ | |||
pmichaud | ruoso: so, you're saying that return { ... } should always force a clone, while return $some_other_value; shouldn't. | ||
ruoso | no... when you declare a closure, it is specific to that moment | 17:46 | |
it should be cloned *before* being used in that block | |||
TimToady | in theory {...} is always cloned, but sometimes you can optimize it away | ||
pmichaud | Yes, I'm thinking we just mis-optimize it at the moment. | ||
17:48
eternaleye left,
payload left
|
|||
pmichaud | okay, I think I've found the closure bug. I suspect I'll try to fix it and the outer lexicals issue in PGE | 17:53 | |
(the one that currently requires use to use 'token' instead of 'regex') | |||
s/use/us/ | 17:54 | ||
spectesting the utf8 IO stuff | |||
17:56
icwiener joined
|
|||
ruoso | YAY! Faz' Yarn version works! | 17:58 | |
pmichaud | lunchtime. | 17:59 | |
18:00
ejs left
18:07
icwiener_ joined
18:11
eMaX left
18:12
NoirSoldats_ joined,
NoirSoldats left
18:19
Kisu joined
18:20
hercynium joined,
ejs joined
18:23
icwiener left
18:41
hercynium left
18:42
eMaX joined
18:51
M_o_C left
|
|||
dalek | kudo: 3f8ff62 | pmichaud++ | src/builtins/io.pir: Default file I/O to utf8 encoding. |
19:01 | |
kudo: 7b56f00 | pmichaud++ | : Merge branch 'master' of [email@hidden.address] |
|||
19:03
nihiliad left
19:06
nihiliad joined
19:07
nihiliad left
19:11
ejs left
19:13
nihiliad joined
19:17
obra joined
19:18
alester left
19:19
ejs joined
19:20
donaldh left,
donaldh joined
19:22
pmurias joined
19:31
alester joined
|
|||
pmurias | ruoso: hi | 19:37 | |
pugs_svn | r26818 | pmurias++ | [re-mildew] pushed method signatures in the right direction - | 19:38 | |
r26818 | pmurias++ | t/capture_expansion.t passes | |||
19:38
obra left
|
|||
pugs_svn | r26819 | pmurias++ | [re-mildew] fixed test | 19:40 | |
moritz_ | rakudo: module Foo { say (1,2,3).map: { $_ } } | 19:44 | |
p6eval | rakudo 7b56f0: OUTPUT«Parameter type check failed; expected something matching but got something of type Code() for expr in call to mapcurrent instr.: 'die' pc 17050 (src/builtins/control.pir:225)» | ||
19:51
ruoso left
|
|||
jnthn | rakudo: say (1,2,3).map: { $_ } | 19:52 | |
p6eval | rakudo 7b56f0: OUTPUT«123» | ||
jnthn | rakudo: module Foo { say (1,2,3).WHAT } | 19:53 | |
p6eval | rakudo 7b56f0: OUTPUT«List()» | ||
19:53
riffraff left
|
|||
jnthn | rakudo: module Foo { say { $_ }.WHAT } | 19:54 | |
p6eval | rakudo 7b56f0: OUTPUT«Code()» | ||
jnthn | rakudo: say { $_ }.WHAT | ||
p6eval | rakudo 7b56f0: OUTPUT«Block()» | ||
jnthn | ah ffs | ||
that's why | |||
19:55
nbrown left
|
|||
pugs_svn | r26820 | moritz++ | [t/spec] tests for map inside modules | 19:57 | |
moritz_ | rakudo: say Block ~~ Code | 19:59 | |
p6eval | rakudo 7b56f0: OUTPUT«1» | ||
jnthn | moritz_: yeah, it's not quite that straightforward. :-) | ||
20:08
nihiliad left
20:11
nihiliad joined
20:14
jhorwitz joined
20:19
anon1254 joined
20:20
mizioumt1 joined,
anon1254 left
20:22
clintongormley left
20:26
PacoLinux left
20:27
PacoLinux joined
20:31
icwiener-_- joined,
icwiener-_- is now known as icwiener
20:34
dduncan joined,
dduncan left
20:37
mizioumt2 joined
20:39
mizioumt left
20:47
icwiener_ left
20:53
NoirSoldats joined
20:55
mizioumt1 left,
NoirSoldats_ left,
jhorwitz left
|
|||
pugs_svn | r26821 | moritz++ | [t/spec] RT #62730 | 21:04 | |
21:08
DemoPhreak is now known as DemoFreak
21:11
pmurias left
21:14
skids left
21:23
amoc joined
21:25
mizioumt2 left
|
|||
moritz_ | rakudo: my @a := 1; say @a.WHAT | 21:26 | |
p6eval | rakudo 7b56f0: OUTPUT«Int()» | ||
21:33
icwiener left
21:36
mberends left
21:39
masak joined
|
|||
masak | oh hai, kittehs. | 21:39 | |
whoz op? | 21:40 | ||
moritz_ | how to mkae now chanle??? | 21:41 | |
masak | :) | ||
21:41
ejs left
|
|||
masak | I just blogged about w7 of Web.pm: use.perl.org/~masak/journal/38973 | 21:42 | |
(I hope I didn't forget anything, there was so much happening this week) | 21:43 | ||
PerlJam | masak: do you do the preambles by hand or is there some place you get them from? | 21:44 | |
masak | PerlJam: www.lolcatbible.com/index.php?title=Matthew_5 | ||
PerlJam: crazy, huh? :) | 21:45 | ||
PerlJam | indeed. | ||
moritz_ wonders if shlomi finds those offensive ;-) | |||
PerlJam | heh | ||
masak | they translations are not always tasteful, but I try to filter out the interesting bits. | 21:46 | |
s/y// | |||
iluvs2pac | hi how iz compiler formed? | ||
how world get prel6? | |||
masak | iluvs2pac: a Perl 6 compiler? | ||
I think we've just sunk to a new low. :) | 21:47 | ||
jnthn | Delighted to be a part of it. :) | ||
Will Rakudo Day on Friday. | |||
moritz_ | ;-) | ||
masak | not that I'm complaining. I love the contrast between exquisite parser discussions and lolspeak. | ||
jnthn: \o/ | |||
jnthn | Not had Rakudo time today - dealing with $other_stuff. | 21:48 | |
But hopefully get back to working on other stuffs tomorrow. | |||
masak | I haven't backlogged yet -- any news on those operator overlords? | 21:49 | |
jnthn | pmichaud is our operator overlord ;-) | ||
moritz_ | masak: no | ||
jnthn | masak: not seen any news though | ||
masak | ok. | ||
masak sits tight | 21:50 | ||
moritz_ wonders about implementing infix:<ff> | |||
jnthn | I suspect other distraction (like, the one involving grammar.pg and Latin-1) haven't helped... | ||
pmichaud | I'm about this > < close to having operator definitions in Perl 6. | ||
jnthn | moritz_: I'd wondered about that too. | ||
moritz_ | things is, that operator needs state internally | ||
masak | aye. | ||
pmichaud | I've already gotten it to parse &infix:<+> and the like. | ||
jnthn | pmichaud: The angles go the other direction. ;-) | ||
moritz_ | and it needs to have that state separately for each source code locations it appears in | ||
pmichaud | jnthn: when the angles swap sides, then it'll be done :-) | 21:51 | |
jnthn | pmichaud: Really happy you got it parsing that bit at least. :-) | ||
moritz_ | I don't see a way to declare such a thing in Perl 6 | ||
pmichaud | yes. Right now I'm just figuring out how to add things to the optable. | ||
jnthn | moritz_: Global is a bit ugly too. | ||
moritz_: Consider for 1..$big_number { eval('1 ff 2') } | 21:52 | ||
masak | moritz_: it feels like it should have something to do with closures, just like that canonical incrementer example. | ||
jnthn | masak: It can be attached to the current block but we need to be damm sure we clone it along with the current block. | 21:53 | |
moritz_ | jnthn: global won't work either, unless infix:<ff> know its caller's source location (including column information) | ||
jnthn | moritz_: True. I think it maybe wants to hang off the enclosing block. | ||
meppl | good night | ||
moritz_ | jnthn: I don't understand what that means | ||
masak | jnthn: you just tipped me off to another evil way to break Rakudo when the time comes. :) | ||
meppl: 'night. | 21:54 | ||
jnthn | moritz_: I mean, maybe we should associate the state of the flip-flop with the block. | ||
moritz_: Then we only need a block-unique identifier, and those aren't so hard. | |||
meppl | ;) | ||
moritz_ | jnthn: would that work with two ff ops in a block? | 21:55 | |
masak | gosh, I sure hope so. | ||
21:55
meppl left
|
|||
jnthn | moritz_: For sure. I'm not being very good at explaining here. :-) | 21:55 | |
moritz_ | jnthn: is it something that can be (theoretically) written in pure Perl 6? | 21:56 | |
jnthn | moritz_: I meant that the storage for all of the flip-flops in a block would be associated with that block, and we'd just generate a unique ID for each flip-flop, but it only has to be unique to that block, not globally. | ||
moritz_ | jnthn: ah | 21:57 | |
jnthn | moritz_: If we implement can do &CALLER::?BLOCK | ||
moritz_: Then you can mix in a role with a storage location (e.g. a hash) perhaps. | |||
Though then the unique identifier for it is still a bit tricky. | |||
moritz_ | another idea might be a macro | ||
because a macro can have local storage per "call" | 21:58 | ||
jnthn | yeah, but when you do a macro you lose the multi-dispatch. | ||
And thus ff becomes not overloadable. | |||
moritz_ | multi macros? ;-) | ||
jnthn | Ssshhh! | ||
masak | :) | ||
protomacros. | 21:59 | ||
moritz_ | the macro could store the state, and re-dispatch to an ordinary multi | ||
jnthn | Yeah, perhaps. | ||
It is an interesting question though, how to get the unique identifier for the operator. | |||
.oO( caller's bytecode program counter ) |
22:00 | ||
moritz_ is sufficiently convinced by the macro idea that he doesn't have to write a mail to p6l | |||
jnthn | .oO( oh, that's not really pure Perl 6 :-) ) |
||
masak | oh noes, midnight! | ||
jnthn | Welcome to Thursday. | ||
masak | I kinda liked Wednesday... :/ | 22:01 | |
jnthn | You can have another one next week. | ||
They're a renewable resource. | |||
masak | yes, but given the rate at which we're consuming them... | ||
I'm not sure how long they'll last. | 22:02 | ||
moritz_ | masak: I'm sure the calendar FAQ that mberends linked to earlier today has an answer to that ;-) | ||
masak | anyway, off to bed with me. I have to at least pretend to be doing something about my wretched sleep habits of late. | ||
jnthn | masak: Enjoy going to bed with you. | 22:03 | |
moritz_ | good night masak | ||
jnthn | night | ||
masak | good night. it was nice speaking to you. | ||
22:03
masak left
|
|||
jnthn | pmichaud: BTW, does this mean that you've got multi trait_auxilliary:is($x, $y) { } parsing too? ;-) | 22:04 | |
pmichaud | no. | ||
moritz_ | :<is> please ;-) | ||
pmichaud | trait_auxiliary:<is> would parse, yes. | ||
jnthn | Oh, yes | ||
That's the one I meant. | |||
:-) | |||
OK, I'm happy. | |||
We can haz traits. | 22:05 | ||
pmichaud | it doesn't add it into the parser.... but 'is' is already in the parser. | ||
22:05
iblechbot left
|
|||
jnthn | The "adding to the parser" bit for traits ahdn't occured to me so much. | 22:05 | |
It's more declaring overloads of existing ones. | |||
pmichaud | sure, that'll work. I have that part working already also :-) | 22:06 | |
the "adding into the parser" is the current obstacle -- not huge, just requires a bit of fiddling around at compile-time to make it happen. | |||
jnthn | std: multi trait_auxiliary:<foo>($x, $y) { }; my $x is 42; my $y foo 42; | ||
p6eval | std 26821: OUTPUT«##### PARSE FAILED #####Syntax error at /tmp/RObLCBh6VC line 1:------> t_auxiliary:<foo>($x, $y) { }; my $x is 42; my $y foo 42; expecting nameFAILED 00:03 38m» | 22:07 | |
jnthn | std: multi trait_auxiliary:<foo>($x, $y) { }; my $x is Int; my $y foo Int; | ||
p6eval | std 26821: OUTPUT«##### PARSE FAILED #####Syntax error (two terms in a row?) at /tmp/PvqgrspKv9 line 1:------> o>($x, $y) { }; my $x is Int; my $y foo Int; expecting any of: infix or meta-infix infix stopper standard stopper statement modifier loop terminator | ||
.. traitFAILED... | |||
jnthn | Heh, std doesn't allow that either. | ||
moritz_ | jnthn: I think I gave TimToady a bit of a headache with that one | ||
pmichaud | afaict, std only handles infix:, postfix:, prefix:, etc. at the moment | ||
jnthn | Aye. | ||
pmichaud | I might not have seen the code that handles the other. | ||
jnthn | That's quite enough for now. :-) | 22:08 | |
pmichaud | std also doesn't seem to handle the assoc, equiv, tighter, or looser traits yet. | ||
jnthn | Ooh, does that mean we might be a bit ahead of std? ;-) | ||
pmichaud | i.e., all infix: operators are treaded as equiv(&infix:<+>) | ||
jnthn | (on that issue...) | ||
pmichaud | yes, I'm aiming for supporting at least equiv | ||
jnthn | woo | ||
pmichaud++ | |||
pmichaud | if I can get that to work, tighter/looser/assoc won't be far behind. | 22:09 | |
22:09
LadyLunacy joined
|
|||
moritz_ | fwiw, pugs never did the precedence/associativity traits either | 22:09 | |
pmichaud | we may run into a few issues with postfix: ops, though, dealing with precedence. | ||
jnthn | At the PGE/Rakudo level, or in a wider Perl 6 sense? | 22:10 | |
pmichaud | PGE/Rakudo level | ||
TimToady++ has already solved it in STD.pm, but that solution doesn't map well to PGE's current operator parser | |||
it would've been a lot nicer to implement PGE after STD.pm was written, instead of before. :-) | 22:11 | ||
pugs_svn | r26822 | moritz++ | [t/blocks] remove outdated tests | 22:12 | |
r26822 | moritz++ | | |||
r26822 | moritz++ | The recent spec changes imply that it should be re-written in terms of | |||
r26822 | moritz++ | augment slang MAIN { ... }, which would be quite different from what it looked | |||
r26822 | moritz++ | like now | |||
moritz_ | 64 test files remaining that needs review wrt moving to spec/ | 22:14 | |
with less than 300 individual tests in total | |||
jnthn | Impressive! | ||
moritz_ | (in contrast: t/spec is 589 files, 16.5k tests) | ||
pmichaud | really? There are that few tests left to go? | 22:15 | |
moritz_ | pmichaud: really. | ||
pmichaud | so the total size of t/spec is upper-bound by 16.8k? | ||
jnthn | Once I've got traits and deference in, I plan to go through S12-* and S14-* and see what's left. | ||
pmichaud | (as it exists today, that is) | ||
moritz_ | (the individual test counts are done by grepping for plan \d+, so not too reliable, but right order of magnitude) | 22:16 | |
jnthn: I leave t/oo/syntax-but.t for you to review ;-) | |||
jnthn | moritz_: OK, pester me if I forget. :-) | 22:17 | |
22:17
lichtkind_ joined
|
|||
moritz_ | I'm a bit at loss what to do with t/perl5/ | 22:17 | |
it contains Perl 5 code in '{ use v5; ... }' blocks | |||
should I make that S01-Perl-5-integration/ or so? | 22:18 | ||
jnthn | moritz_: Oh, for testing Perl 5 / Perl 6 integration? | ||
22:18
LadyLuna2y joined
|
|||
moritz_ | jnthn: right | 22:18 | |
jnthn | S01-Perl-5-integration sounds like a sane name for it. | 22:19 | |
moritz_: Do you know how much of it Pugs managed to pass, btw? | |||
moritz_ | jnthn: quite a few, at some point | ||
22:20
LadyLuna1y left
|
|||
moritz_ | jnthn: I remembered I once loaded a non-XS perl 5 module from within pugs, and it sort of worked | 22:20 | |
(linked against libperl, and with some internal bridge) | |||
22:20
lichtkind left,
lichtkind_ is now known as lichtkind
|
|||
jnthn | Looks like it's ~75 tests. | 22:21 | |
moritz_ | actually it's all eval($str, :lang<perl5>) | ||
but still | |||
jnthn | aye | 22:22 | |
That's a bit easier to handle. | |||
(Doesn't need parser assistance.) | |||
moritz_ | aye | ||
modify_inside_p5_p6.t being an exception | |||
but it uses something that's both valid Perl 5 and Perl 6 | |||
(just with different semantics each) | 22:23 | ||
jnthn | *nod* | ||
pugs_svn | r26823 | moritz++ | [t] move perl5/* to spec/S01-perl-5-integration/ | 22:25 | |
r26823 | moritz++ | | |||
r26823 | moritz++ | (Didn't review them all, but the ones I looked at were rather sane) | |||
22:26
LadyLunacy left
|
|||
moritz_ | ok, 52 files left ;-) | 22:26 | |
22:29
hercynium joined
22:30
alester is now known as alester_away
22:33
raiph_ joined
|
|||
moritz_ | bed time for me | 22:34 | |
22:35
payload joined
|
|||
raiph_ | g'night | 22:35 | |
22:40
justatheory left
|
|||
raiph_ | tene: i'd like to call your attention to pleasedieinafire.net:2080/post/9 | 22:41 | |
22:42
payload left,
payload joined
22:43
justatheory joined
22:48
Ariens_Hyperion joined
22:49
nihiliad left
22:50
Ariens_Hyperion left
22:51
payload1 joined
22:52
payload left
23:05
skids joined
23:20
donaldh left,
donaldh joined,
nbrown joined
23:27
vx64z joined,
mib_zwepfp joined
23:28
mib_zwepfp left
23:30
eMaX left,
eMaX joined
23:32
nbrown_ joined
23:38
lichtkind left,
exodist left
23:45
VX left
23:46
nbrown left,
nbrown_ is now known as nbrown
|