Summer of Perl | 6.2.12 released! | paste: sial.org/pbot/perl6 | pugs.blogs.com | pugscode.org | pugs.kwiki.org | www.treehugger.com/files/th_images/paradigm.jpg Set by nothingmuch on 12 July 2006. |
|||
00:00
justatheory joined
|
|||
Juerd | Who knows the user nemux? | 00:11 | |
He, or someone with his password, used feather for brute force attacks | 00:12 | ||
00:18
kanru joined
00:23
hikozaemon joined
00:29
nekokak joined
|
|||
audreyt | marco romano is not in AUTHORS | 00:32 | |
TimToady: infinte loops should be now gone | 00:34 | ||
svnbot6 | r11862 | audreyt++ | * Perl 5 SVs used to infinitely regress with "$sv.meth" calls | ||
r11862 | audreyt++ | when .meth was not defined in Perl5 land. | |||
r11862 | audreyt++ | Reported by TimToady++. | |||
r11863 | audreyt++ | * pair.t: .key and .value are meth calls. | |||
clkao | audreyt: btw, v6 is in freebsd ports ;) | 00:36 | |
audreyt | but I've migrated to ubuntu now ;) | 00:39 | |
00:39
toku_away is now known as tokuhirom
|
|||
audreyt | (but, cool!) | 00:40 | |
clkao | ya. | ||
so what's new? | |||
audreyt | nothing much... new AST <-> Perl6Class sudoku landed | 00:41 | |
looking at it | |||
also PAR::Repository landed by tsee++ | |||
another puzzle of multiversioning installation | |||
clkao | oh cool | ||
audreyt | s/puzzle/piece of puzzle/ | ||
clkao | how feasible is using the current haskell backend for v6-Compiler? | ||
audreyt | havn't seriously tried | 00:42 | |
try and see? should be workable | 00:43 | ||
I'm about to go out to run some errands | |||
need to get a new ATM card and possibly new ID card | |||
clkao | orz | ||
audreyt | Diebold-- # ate my card | ||
clkao | are things like infix:<+> "closed"? | 00:44 | |
audreyt | they are multis | ||
clkao | do we expect runtime modification | ||
things like; sub add ($x, $y) { $x + $y }; { local infix:<+> = something_else; add(1,2) } ? | 00:45 | ||
audreyt | well | 00:57 | |
you can temporarily rebind | |||
temp &infix:<+> := sub {... }; | |||
is always legal | |||
and indeed that will affect &add | 00:58 | ||
clkao | oh. :/ that's a lot of runtime overhead then | ||
audreyt | bbl... | ||
well | |||
if you have | |||
pugs -O | |||
then we can kill runtime amendmend and subclasses | 00:59 | ||
and perform link time method prebinding | |||
as well as link time static lookups | |||
but that's not yet implemented | |||
and the "unoptimized, open" form must, according to TimToady, be the dfault | |||
so we are exactly like VB9, but with the defaults reversed :) | |||
clkao | ok. so with -O it will have different behaviour then? | ||
audreyt | (perl6 default to late-binding, dynamic-typing, open-classes) | 01:00 | |
clkao | *nod* | ||
audreyt | yes. -O is basically saying "runtime must agree with compile time knowledge) | ||
in js2, to turn on -O on a per-module basis | 01:01 | ||
it's "use strict;" | |||
clkao | i was wondering if such thing will be an error or just suddenly change behaviour not using them. | ||
audreyt | in vb9 it's "option strict;" | ||
runtime modification under -O will always raise erros instead of silently doSomethingElseEntirely | |||
clkao | ok, that's sane then ;) | 01:02 | |
SamB | hmm, that definately sounds better than what I would expect from something called perl | ||
audreyt | SamB: well, same can apply to js2 and "javascript" | 01:03 | |
we are learning our HybridTyping lessons :) | |||
SamB | mmm | ||
b_jonas | surely, you'd write my infix:<+> = ... if you wouldn't want runtime modification, wouldn't you? | ||
audreyt | b_jonas: but then you can't affect other subs yo ucall | 01:07 | |
i.e. that only scopes lexically not dynamically | |||
b_jonas | sure | ||
that might be what I want when I override + to get fancy syntax | 01:08 | ||
well maybe with + indeed overriding globally might be more frequent | 01:09 | ||
like auto bigints etc | |||
01:09
robkinyon joined
|
|||
b_jonas | it would probably make more sense to create new syntax lexically | 01:10 | |
then to override an existing operator | |||
but of course I might want an existing operator to behave a bit differently in my source file but that this doesn't break modules I include | 01:11 | ||
audreyt | and that will always work under -O, sure | 01:16 | |
what clkao was wondering is the perl5 equiv of | |||
*CORE::GLOBAL::+ = sub { ... } | |||
local *CORE::GLOBAL::+ = sub { ... }; | 01:17 | ||
clkao | uhm, can you do that?? | ||
b_jonas | I think no. You can't even do CORE::+ I think even though you can say CORE::x, CORE::and, CORE::my, CORE::sub etc | 01:18 | |
which is btw a nice obfu feature so I'll try it in CORE::my CORE::next obfu | 01:19 | ||
01:19
b00t joined
|
|||
audreyt | clkao: you can't... not without XS | 01:21 | |
clkao | uhm. | 01:22 | |
audreyt ponders B::PPAddr::Hook | |||
clkao giggles | |||
that's another piece of puzzle for 6-on- | |||
5 | |||
audreyt | yes. I wonder if sky can be interested in writing that | ||
clkao | you have to pretend it has nothing to do with perl6 | 01:27 | |
01:32
xinming joined
01:34
joshuapurcell joined
01:41
dolmans joined
|
|||
b_jonas | I tried. | 01:48 | |
01:49
bcorn joined
01:51
justatheory joined
01:57
lane joined
02:03
weinig_ is now known as weinig|sleep
02:11
Bit-Man joined
02:16
rodi is now known as rodi_away
02:31
lane joined
02:35
bcorn joined
02:52
wilx joined
02:56
ajs_home joined
02:58
Kattana joined
|
|||
TimToady | is it normal for v6.pm to take 5 cpu minutes to compile each test file? I note the optional resource limits are at 30 and 60 seconds, and I've never seen a compile that fast... | 03:00 | |
and this is not a particularly slow machine | |||
03:08
unobe_away is now known as unobe
03:16
b00t joined
|
|||
TimToady | the actual compile only takes about 15 seconds, but the require Pugs::Compiler::Perl6; takes 4:45 | 03:19 | |
clkao | tqdo yo uhave cache::filecache? | 03:20 | |
TimToady: do you have cache::filecache? | 03:21 | ||
TimToady | what's that? | 03:23 | |
clkao | a perl5 module | 03:25 | |
TimToady | um. is there any documentation about it's use in pugs? | 03:27 | |
*its | 03:28 | ||
clkao | uhm, no. i added it really quickly after discovering the same thing you did. 4min for require pugs::compiler::perl6 | 03:36 | |
TimToady | do I have to do anything special to enable it? still seems to be taking 4 minutes after installing it. | 03:37 | |
now it's going faster. | 03:46 | ||
this needs to be documented somewhere...not sure where... | 03:47 | ||
can it just be put in as a dependency? | 03:48 | ||
03:55
Revision17 joined
|
|||
svnbot6 | r11864 | lwall++ | Install requirement for Cache::Cache. | 03:55 | |
04:18
christopher joined
04:20
amnesiac joined,
b00t joined
04:36
perlbot joined
|
|||
svnbot6 | r11865 | lwall++ | Found more &{...} lurking. | 04:59 | |
04:59
takesako joined
05:30
kanru joined
|
|||
svnbot6 | r11866 | lwall++ | Bare loop didn't parse. | 05:32 | |
gaal | homepages.inf.ed.ac.uk/wadler/language.pdf # The Evolution of Language | 05:35 | |
obra | harsh | 05:36 | |
05:37
mjk joined
|
|||
dolmans | is it meaningful that adding `&foo.assuming(:x(1))', the ':' style, to currying test suite? | 05:45 | |
TimToady | certainly, especially if it breaks. :) | 05:46 | |
dolmans | i tested it, hack it is ok. :-P | 05:47 | |
*hell | |||
06:05
shachaf joined
|
|||
svnbot6 | r11867 | lwall++ | more s/id/valid/ | 06:08 | |
r11868 | dolmans++ | adding colon style currying | 06:12 | ||
06:15
iblechbot joined
06:19
rgs joined
|
|||
dolmans | sub foo($x, $y) {}; &foo.assuming(y=>10)(x=>10, y=20); should it be parsed error or just ignoring the rebinding y parameter? | 06:27 | |
audreyt | you mean y=>20? | 06:28 | |
it should be an error | |||
I don't think the resulting lambda has an idea of "y" anymore | 06:29 | ||
TimToady | that is correct. | ||
06:29
lollan joined
|
|||
TimToady | audreyt: there's a test that fails because q{{ ... }} is counting single braces inside when it shouldn't. | 06:29 | |
dolmans | yes, the resulting lambda don't know y, then reput a y param should be error, then a bug | 06:30 | |
TimToady | t/operators/recursive_definition.t is the one. | ||
audreyt | 'k | 06:32 | |
svnbot6 | r11869 | lwall++ | Some test parsing triage. | ||
TimToady | or maybe I'm looking at the wrong code, but multiLineComment seems wrong | ||
maybe I'm just misreading it. | |||
at any rate, the test seems confused by single braces. | 06:33 | ||
or maybe it just doesn't allow newline as an "any". | 06:34 | ||
audreyt | #(( ... ) )) | ||
is indeed currently misparsed | |||
er | |||
sorry | |||
TimToady | should ignore the shorter ones. | ||
audreyt | that is actually correct | ||
q(( ... ) )) | |||
is what's being misparsed | |||
multiLineComment is correct; the quoted balanced things in Util.hs is not | |||
TimToady | 'k | 06:35 | |
audreyt | "interpolatingStringLiteral" is what's buggy | ||
TimToady | hmm, I guess q{{ ... }} can interpolate \ thingies... | 06:37 | |
audreyt | there is the \q backdoor, yes | 06:38 | |
TimToady | I just don't think of q// as interpolating, compared to qq// | ||
audreyt | *nod* technically they share the same interpolatingStringLiteral | 06:39 | |
TimToady | I bet qn// does too. :) | ||
audreyt | fixed. | ||
actually I don't think we have qn// yet :) | 06:40 | ||
and it's untested! *gasp* | |||
TimToady | hmm, thought I saw it somewhere. Maybe it doesn't work. :) | ||
audreyt | neither q:n nor qn is in t/ | ||
TimToady | ah, there it was: | 06:42 | |
src/DrIFT/Perl6Class.hs: slQuote str = text "qn'" <> text str <> text "'" | |||
svnbot6 | r11870 | audreyt++ | * Parse multichar closing braces correctly in quoted literals: | ||
r11870 | audreyt++ | q(( This is a test ) )) | |||
r11870 | audreyt++ | Noticed by TimToady++. | |||
audreyt | add some cases to t/operators/quoting.t ? | 06:44 | |
TimToady | yeah, but not tonight... | ||
audreyt | actually | 06:45 | |
TimToady | I'm happy enough that I'm passing about 300 more tests than earlier today. | ||
audreyt | was it known as q:raw? | ||
and q:0 | |||
ooh :) | |||
TimToady | It's been known as those, I think. | ||
audreyt | ok. so pugs does support them but under a different name | 06:46 | |
also, what's known as q:qq// tody was known as q:q// | |||
TimToady | q:q and q:r were both deemed to be excessively confusing | 06:47 | |
audreyt | I'd agree. | 06:48 | |
ok, reflected them in both code and test | |||
TimToady++ | |||
06:48
agentzh joined
|
|||
TimToady | I believe I've expunged all the ${} and such, at least from the exposed P6 syntax. | 06:51 | |
audreyt | yay. that means we can actually retire those forms in Parser | ||
TimToady | yeah, I left the symbolic uses alone, figured you'd change them eventually. | 06:52 | |
audreyt | hm, weird inconsistency | ||
qqq(...) | 06:53 | ||
TimToady | have to be careful not to clobber the p5 overloads though. | ||
audreyt | does not mean the same as q:qq(...) | ||
(one is error, the other is not) | |||
TimToady | qqq is illegal unless you've declared 'quote qqq;' | 06:54 | |
svnbot6 | r11871 | audreyt++ | * test for q:n and qn// | ||
TimToady | after which it would presumably mean qq:q | ||
audreyt | right. but what I mean is that q:n can be apelled qn | 06:55 | |
but qq means q:qq | |||
Parser.hs had the logic of simple :-erasing | |||
which doesn't quite work now | |||
TimToady | qn is only legal after a 'quote qn;' declaration according to spec. | 06:57 | |
audreyt | ah. ok. | ||
TimToady | but maybe it's special enough to be assumed. | ||
audreyt | I'm confused | 06:58 | |
the para says that both qn and qw require predecl | |||
but then in line 1485 | |||
%hash = qw:c/a b c d {@array} {%hash}/; | |||
is used | |||
also S03 says qw{} is still around. | |||
TimToady | yes. used to be the rule was it would assume the first colon, but that made too many forms. | ||
makes q too dangerous in general. | 06:59 | ||
audreyt | only assume it for onechar? | ||
to avoid hardcoding the default tabl | |||
TimToady | qw is pretty useless now. | 07:00 | |
and qn is pretty specialized | |||
audreyt | 'k. so just qq and q | ||
TimToady | so I'm inclined to leave it as it is. | ||
audreyt | ok. so excise qw from spec? | 07:01 | |
TimToady | maybe. lemme think on it s'more. | 07:02 | |
gaal | code generators should always assume long q: form then? | 07:04 | |
TimToady | they can always spit out their own quote declarations, just like any other lexically scoped declarations. | 07:05 | |
they're just macros, basically. | |||
07:06
beppu joined
|
|||
gaal | sorry, I meant things like Perl6Class that write out actually source code. | 07:06 | |
audreyt | qw is fairly widely used in t/ and examples/ | ||
I'd like to keep at least q qq qw... | |||
TimToady | if you don't mind special casing a few, then those are okay, and maybe qn. | 07:07 | |
audreyt | and maybe qx for old time's sake. not sure | ||
gaal | audreyt: five years from now it'll look like a legacy wart... | ||
audreyt | true... | ||
but "q qq qw qn qx" feels mildly better than "q qq" | |||
and you can always unimport the syntax ("no implicit prelude") I hope. | 07:08 | ||
gaal | ah, any ghc extension that doesn't make it into pugs makes it into Perl 6 :-) | ||
buu | HELP | 07:10 | |
Perl is being weird again =[ | 07:11 | ||
eval: %x={}; %y={}; join " | ", keys %x, keys %y; | |||
buubot | buu: HASH(0x842c4c4) | HASH(0x842c4c4) | ||
buu | Why are the strings the same?! | ||
TimToady | I suppose now that we have a consistent qX() rule that makes it a function call, it doesn't matter so much if we throw all the standard ones into the pot. | ||
audreyt | including qwords() etc? | 07:12 | |
TimToady | I'd be inclined to leave the long versions out. | ||
audreyt | so all builtin 1char. | ||
sounds like a plan. | |||
TimToady | does still interfer with list ops though. | ||
gaal | good thing there are lots of chars :) | ||
TimToady | qn() might be function call, but qn ... won't be | 07:13 | |
gaal | qāØ/whee/ | ||
audreyt | that leaves the qww() as odd one out | 07:14 | |
but then, if you are using qww(), chances are that << >> works. | 07:15 | ||
TimToady | I wish there was a single letter available but :s is taken by scalar | ||
audreyt | ok. coded as such | ||
r11872. | 07:18 | ||
svnbot6 | r11872 | audreyt++ | * Pugs.Parser: Restrict the qX() form to only accept up to one char: | ||
r11872 | audreyt++ | qq(...) | |||
r11872 | audreyt++ | qn(...) | |||
r11872 | audreyt++ | qw(...) | |||
r11872 | audreyt++ | are okay, but qwords(...) and qqq(...) are now verboten. | |||
r11872 | audreyt++ | * Also code the special case that qq(...) means q:qq(...) not q:q(...). | |||
TimToady | okay, specced too. | 07:21 | |
audreyt | yay | 07:25 | |
TimToady | I like that that gives us '\qc[{foo}]' so we can be more specific on backdoor interpolations. | ||
audreyt | "perl 6 is still committed to QC support" | ||
obra | heh | 07:26 | |
TimToady | we try to control our quality very tightly so it doesn't get out of hand. | 07:27 | |
07:30
crem joined
07:34
buetow joined
|
|||
rgs | joel spolsky uses the word "moose". is there a correlation ? www.joelonsoftware.com/items/2006/08/01.html | 07:40 | |
lambdabot | Title: Joel on Software | ||
rgs | that's an article about the very basics of functional programming | 07:41 | |
audreyt | pure coincidence | ||
I hope | 07:42 | ||
rgs | :) | ||
rgs tries to figure out how a moose would jump a shark | |||
audreyt | rgs: so, bless-to-0. | 07:43 | |
should I simply exercise the normal class semantics | |||
and write regression tests that ensures all these are working? | |||
rgs | I think that's a good thing to do | 07:44 | |
audreyt | not sure that Scalar::Util::blessed-returns-the-pkg-name is part of core regression suite | ||
also, perldoc -f require says | 07:45 | ||
buubot | also: Type 'perldoc -f require' in your shell or go to perldoc.perl.org/functions/require.html | ||
audreyt | Make sure that CLASSNAME is a true value. | ||
lambdabot | Title: require - perldoc.perl.org | ||
audreyt | which is for "0" specifically | ||
as blessing into '' is "main" | |||
maybe I'll test that as well if there's no test for it | |||
rgs | yes | ||
dolmans | yes, the resulting lambda don't know y, then reput a y param should be error, then a bug | 07:46 | |
oops, just press a return button. | 07:47 | ||
svnbot6 | r11873 | lwall++ | s/q0/qn/ | 07:57 | |
08:30
marmic joined,
iblechbot joined
|
|||
TreyHarris | ?eval my ($x, @a); $x = 'foo'; [=] (@a[], $x) | 08:32 | |
evalbot_11846 | [\"foo",] | ||
TreyHarris | why is that a capture? | 08:33 | |
beppu | eval say "How was The State of the Onion?" | ||
?eval say "How was The State of the Onion?" | |||
evalbot_11846 | OUTPUT[How was The State of the Onion? ] Bool::True | ||
08:43
chris2 joined
09:04
revision17_ joined
09:12
elmex joined
09:16
azuroth joined
09:18
dakkar joined
|
|||
audreyt | TreyHarris: it should not be a capture; the \ notation was used to indicate a container | 09:23 | |
however, that is now obsolete and will go away as part of the CapInternals new AST change | |||
gaal | audreyt: is there any prepwork needed before the work on the switch? | 09:42 | |
I'm free about 20h from now | |||
audreyt | my brain is still too fried to be sure | ||
but I imagine one should simply make it compile :) | 09:43 | ||
(and then dive to Pugs.Parser next, I think) | |||
bbiab... dinner in a bit | |||
gaal | I don't know how to break this down to smaller changes, so I'm just wondering if there's some "smooth the way" things that can be done before the big work. | 09:45 | |
eg any refactorings in Parser we can do before switching over? | |||
audreyt | even more haddock? :) | 09:46 | |
prolly not afaics | |||
gaal | k. lunch & | 09:47 | |
10:03
nnunley joined
10:18
b00t joined
11:08
ludan joined
11:15
rodi joined
11:25
sofit joined
11:49
kanru joined
11:54
wilx` joined
12:10
iblechbot joined
12:11
Odin- joined
12:14
shachaf joined
12:18
PhUrl joined
12:20
dolmans joined
12:21
fglock joined
12:28
Limbic_Region joined
12:40
cognominal joined,
frederico joined
12:50
xinming joined
|
|||
svnbot6 | r11874 | fglock++ | v6.pm - added t/00-grammar - simple parser tests | 12:59 | |
12:59
xinming joined
|
|||
svnbot6 | r11875 | fglock++ | Pugs-Compiler-Rule - added new files from pX | 13:02 | |
r11876 | fglock++ | v6.pm - svn properties | 13:05 | ||
13:07
mauke_ joined
13:13
justatheory joined
13:19
hexmode joined
13:21
kane-xs joined
13:22
mauke_ is now known as mauke
13:24
frederico joined
13:25
kane-xs is now known as kane_
|
|||
meppl | gugu | 13:32 | |
13:47
frederico joined
|
|||
[particle] | in a p6regex, is there a metachar for any unicode char? i expect \u won't work, since that's an escape char | 13:49 | |
audreyt | . | 13:50 | |
(the metachar is ".") | |||
[particle] | that works in token | ||
hrmm, yeah, i thought that's what it was, but have been writing so many \ chars lately... | 13:51 | ||
i've just started working on the js 2.0 grammar | |||
audreyt | cool! | ||
[particle] | here's a tougher question | ||
what if i want to say "any char in category Lu" | 13:52 | ||
svnbot6 | r11877 | mstrout++ | added redirect to perl5/Pugs-Compiler-Perl6 | ||
[particle] | (uppercase letter) | ||
or use some other unicode property | |||
audreyt | \P{IsWord} | 13:53 | |
[particle] | ah. thx. i must have missed that in S05 | ||
audreyt | \P{IsUpper} etc | ||
er | |||
sorry | |||
it's now spelled | |||
<prop IsUpper> | |||
I doubt it's implemented though | |||
[particle] | well, it will have to be, soon :) | 13:54 | |
can i do <prop isUpper | isLower> ? | 13:55 | ||
audreyt | cool :) | ||
[particle] | or [ ... | ... ] or whatever? | ||
i'm not sure that's specced | |||
audreyt | well, isWord suerly | 13:56 | |
[<prop isUpper>|<prop isLower>] | |||
[particle] | i was hoping for more sugar :( | ||
audreyt | that's what named regexes are for. | 13:57 | |
so you can manufacture your own sugar! | |||
[particle] | mmm, sugar beets. | ||
audreyt meanwhile goes sleep... finally stayed awake long enough for today's jetlag adjustment quota :) | |||
gaal | ambidextrous sugar! | 13:58 | |
[particle] moooooooses | |||
gaal | elkelkelkelkelk | ||
14:03
vel joined
|
|||
TimToady | ?eval 'a' ~~ /<lower>/ | 14:21 | |
evalbot_11846 | *** Cannot parse PGE: <lower> *** Error: Cannot find the parrot executable in PATH Match.new( ok => Bool::False, from => 0, to => 0, str => "", sub_pos => (), sub_named => {} ) | ||
TimToady | ?eval 'a' ~~ /<[+<lower>+<upper>]>/ | 14:22 | |
evalbot_11846 | *** Cannot parse PGE: <[+<lower>+<upper>]> *** Error: Cannot find the parrot executable in PATH Match.new( ok => Bool::False, from => 0, to => 0, str => "", sub_pos => (), sub_named => {} ) | ||
14:24
frederico joined
|
|||
[particle] | i don't think pge can parse that syntax yet <[+<foo>...]> | 14:25 | |
TimToady | ?eval 'a' ~~ /<[+alpha+upper]>/ | ||
evalbot_11846 | *** Cannot parse PGE: <[+alpha+upper]> *** Error: Cannot find the parrot executable in PATH Match.new( ok => Bool::False, from => 0, to => 0, str => "", sub_pos => (), sub_named => {} ) | ||
TimToady | that works | ||
just not in evalbot | |||
14:25
frederico joined
|
|||
TimToady | oddly, 'a' ~~ /<+lower+upper>/ doesn | 14:25 | |
14:25
frederico joined
|
|||
TimToady | doesn't match--think it's a bug. | 14:26 | |
[particle] | where alpha and upper are named regexes | ||
TimToady | character classes are named as if they were rules | ||
so you can just say | |||
[particle] | so, i could create named regexes for the unicode properties i'm interested in (that aren't already default named regexes) and use that syntax | ||
TimToady | 'a' ~~ /<lower>/ | 14:27 | |
in theory | |||
[particle] | token UnicodeInitialAlphabetic { | ||
| <prop isUpper> | |||
| <prop isLower> | |||
| <prop isTitlecase> | |||
| <prop isModifier> | |||
14:27
lolage joined
|
|||
[particle] | | <prop isOtherLetter> | 14:27 | |
| <prop isLetterNumber> | |||
can become <upper>|<lower>|<titlecase>|... | 14:28 | ||
14:29
crem_ joined
|
|||
TimToady | supposed to be able to say <+upper+lower+titlecase> | 14:29 | |
[particle] | now that's sugary goodness. | ||
TimToady | set addition and subtraction, maybe & and | eventually | 14:30 | |
[particle] | and no need for prop there? | ||
i'd be happy with <prop +upper+lower+titlecase> | |||
perhaps that's safer, so it won't use a redefined token title | 14:31 | ||
14:31
cjeris joined
|
|||
TimToady | might need prop at a lower level. dunno. | 14:33 | |
but I don't see a lot of trouble with falling back to the unicode props | |||
that way new props wouldn't hide user defined ones. | |||
[particle] | hrmm. | 14:34 | |
TimToady | or go with the <isLu> or some such. | ||
[particle] | i think that would be nice, to use the shortnames | ||
14:37
amnesiac joined
|
|||
[particle] | given what i have now... token UnicodeAlphanumeric { <UnicodeInitialAlphabetic+decimalnumber+nonspacingmark+combiningspacingmark+connectorpunctuation> } | 14:45 | |
short names would be nice :) | |||
TimToady | need a + before the first one to be legal. | 14:54 | |
as it currently is specified | |||
though I could see an argument for relaxing that. | 14:55 | ||
[particle] | TimToady++ # that works great for now | ||
TimToady | the argument against is that <foo+bar> should parse the same as <foo +bar> which would mean <foo('/+bar')> | 14:56 | |
[particle] | '/+bar' ? | 14:57 | |
TimToady | on the other hand we already have a whitespace dependency for the semi-official <foo: string> meaning the same as <foo('string')> | ||
[particle] | right, patrick uses that already | ||
TimToady | <foo(/bar/)> rather | ||
[particle] | ah, gotcha | ||
TimToady | so doing the first-char-after-name trick could be extended to + | 14:58 | |
[particle] | and - ? | ||
TimToady | it's not like the first foo in <foo+bar> is behaving differently from <foo> anyway. | ||
<alpha-title> | |||
[particle] | <-alpha+[wW]> | 14:59 | |
brr. | |||
i forgot the foo | |||
TimToady | if you start with - it probably assumes the universal character set. | 15:00 | |
[particle] | aka '.' | ||
TimToady | don't know the name of it offhand. | ||
but you can't say <.-alpha> | |||
[particle] | no, it needs a name | 15:01 | |
TimToady | well <-alpha> is probably good enough | ||
[particle] | and those unicode folk probably spent hours debating the one they gave it | ||
TimToady | doubtless | ||
[particle] | just as a leading C<+> implies the null set, a leading C<-> implies the universal set | 15:02 | |
TimToady | yeah, and there's no use for the universal set except to subtract from it. | 15:04 | |
given that we have . | |||
[particle] | right. | ||
and null is spelled <?null> | |||
there is no shortcut for that, except when it's not required in [ | <foo> ] | 15:05 | ||
...or <-alpha> | |||
TimToady | <-alpha> is always 1-width, not 0-width | 15:06 | |
(whatever 1 means in the current Unicode settings) | |||
so it really comes down to ". unless <alpha> | |||
" | |||
or rather <!before alpha>. | 15:07 | ||
[particle] | true. width is important here. | 15:08 | |
on a side note, i always get confused with <before ...> and <after ...> | |||
15:08
weinig|sleep is now known as weinig
|
|||
TimToady | they're the declarative interpretation, not the imperative interpretation | 15:09 | |
"we are before", not "look before" | |||
[particle] | which is the problem. | ||
how about ahead/behind | |||
same problem, i guess... | 15:10 | ||
TimToady | yeah | ||
I picked the declarative form for the same reason we say "given" rathre than "switch" | |||
you should be thinking about the problem, not about how you're solving it. | 15:11 | ||
[particle] | is there a way to help nudge people's brains into reading that declaritively? | ||
is_before ? | |||
TimToady | I think people will eventually just get used to it. | ||
rather not impose extra training wheels that will be with us forever | 15:12 | ||
[particle] | it'll keep the perl trainers happy :) | ||
TimToady | gotta give 'em something to work with... :) | ||
[particle] | btw it's hard not to think about the solution, when you're writing perl :) | 15:13 | |
that's probably my problem, right there. | 15:14 | ||
TimToady | we're aiming to encourage "flow". | 15:15 | |
[particle] | i do definitely prefer given to switch. that's a good analog for me to remember how to parse before / after. thx. | ||
15:17
vel6608 joined
|
|||
[particle] | token UnicodeAlphanumeric { <UnicodeInitialAlphabetic+isNd+isMn+isMc+isPc> } # much better | 15:25 | |
15:30
bernhard joined
15:45
foo\ joined
|
|||
gaal | how are complex numbers constructed? Complex.new(:r<42> :i<54>) ? | 15:55 | |
the spec doesn't say much about them. | |||
[particle] | that's cause you're reading the real spec. read the imaginary spec, it's all there. | 15:56 | |
it's a complex spec | |||
gaal | also, in S02: | ||
my ::MySig ::= :(Int, Num, Complex, Status :mice) | |||
shouldn't that be \(...) ? | |||
[particle]: it's a surreal spec! # en.wikipedia.org/wiki/Surreal_numbers | 15:57 | ||
[particle] | looks like | ||
svnbot6 | r11878 | malon++ | t/operators/short_circuit.t - short-circuiting chain comparisons | 15:59 | |
gaal | data Surreal = MkSurreal{ L :: Set Surreal, R :: Set Surreal } | 16:01 | |
TimToady | multi postfix:<i> is one possible way | 16:02 | |
[particle] | Complex.new( 42, 54 i ) | 16:03 | |
Complex.new( 54 i ) | |||
gaal | are there separate constructors for imaginaries and complexes? | ||
is imaginary a first-class class? | |||
[particle]'s suggestion implies that yes. | 16:04 | ||
[particle] | Complex.new( -0.54e+74 i ) | ||
i would suggest yes | |||
[particle] imagines setting constants as imaginary numbers | 16:05 | ||
gaal | well, surely then 42+54i should be enough, given a multi + in scope. | ||
16:05
frederico joined
|
|||
[particle] | sure, that should work then. | 16:06 | |
...conjecturally speaking. | |||
gaal | and presumably if you have postfix:<i> in scope, you also have the complex multi plus. | ||
[particle] | i suppose 54i+42 should work as well | 16:07 | |
gaal | okay, so should the AST be modified for this? currently we have | ||
data NativeComplex = MkComplex{ c_real :: !NativeNum, c_imaginary :: !NativeNum } | |||
that is, no explicit imaginaries. | |||
and the NaN logic is not expressed in the AST directly. | 16:08 | ||
(NaN/Inf that is.) | |||
brb | 16:09 | ||
TimToady | "74 i" is not legal because postfixes do not allow intervening whitespace. have to write 74i or 74.i | 16:13 | |
Limbic_Region | out of curiosity, is anyone using ActiveState Perl with MinGW as the compiler? Relevancy to Pugs is the prequisite modules during the pugs build process | ||
TimToady | dot would be required for $a.i since $ai means something else... | 16:14 | |
[particle] | 74.i looks like (give me the imaginary component of 74) | 16:15 | |
as opposed to 74.r | |||
16:15
Psyche^ joined
|
|||
PerlJam | Limbic_Region: have you looked at Strawberry Perl? | 16:17 | |
gaal | Limbic_Region: which requisite modules? build or smoke? | 16:19 | |
the goal for build requirements is 5.6.1 with a newish EU::MM or 5.8.x where IIRC x=3. | 16:21 | ||
Limbic_Region | PerlJam - no, I am tracking a specific problem | 16:24 | |
gaal - Devel::Caller, Moose, Sub::Multi, Cache::Cache, etc | |||
PerlJam | Limbic_Region: I was just wondering because you seem to be consistently tracking win32 stuff | ||
Limbic_Region | apparently there is a weird problem with the following combination ActiveState, MinGW, and Module::Build | 16:25 | |
PerlJam - at work, I have no other choice | |||
well - that's not entirely true - I can move everything using a stick to a standalone machine of my choice | |||
svnbot6 | r11879 | fglock++ | pX/Pugs-Compiler-Rule - in order to avoid upgrade problems, lrep libraries are now renamed to Lrep*.pm | ||
Limbic_Region | but with net access all I have is a very locked down Win32 box | ||
the weird error being not finding -lperl58 | 16:26 | ||
gaal | ah, you're talking v6 stuff. sorry, no idea about that | ||
16:27
Psyche^ is now known as StudiesInWords
|
|||
Limbic_Region | see perlmonks.org/index.pl?node_id=565224 for details along with a workaround (bypassing Module::Build) | 16:28 | |
lambdabot | Title: Help building Devel::Caller | ||
svnbot6 | r11880 | clkao++ | Fix test count and todo. | 16:31 | |
r11881 | fglock++ | pX/Pugs-Compiler-Rule - Pugs::Grammar::Base is now backwards compatible | 16:34 | ||
clkao | fglock: is it about time to merge? | 16:35 | |
16:35
buetow joined
|
|||
fglock | clkao: I'm fixing the API incompatibilities | 16:35 | |
some routines in v6 create Match objects directly - these will need some refactoring | 16:36 | ||
clkao | ah. | 16:37 | |
svnbot6 | r11882 | fglock++ | pX/Pugs-Compiler-Rule - 'Match::Ratchet' is now just 'Match' | 16:56 | |
16:56
ruoso joined
|
|||
fglock | clkao: how can I use svk to mirror v6 to misc/pX, and then merge back? | 16:59 | |
clkao | uhm ? you just do a cp from v6 to misc/pX, and then sm -Cf the misc/pX | 17:02 | |
fglock | clkao: does it matter that it is a svn directory? | ||
clkao | you can't do that | ||
oh, but you can use svn to do the cp | 17:03 | ||
then svk do to the sm | |||
ruoso now living in lisbon | |||
fglock | thanks - I'll try it! | ||
ruoso: hey! | |||
clkao | fglock: you have a svk mirror already? | 17:06 | |
ruoso | fglock, :) | 17:07 | |
fglock | clkao: no, I use svn | 17:11 | |
ruoso: I talked to mago other day - tell him I want to go too :) | 17:12 | ||
ruoso | fglock, talking to him now :) | 17:14 | |
17:14
hexmode joined
|
|||
svnbot6 | r11883 | fglock++ | pX/Pugs-Compiler-Perl6 - t/00-grammar/01-pcr.t passes | 17:32 | |
r11884 | fglock++ | pX/Pugs-Compiler-Perl6 - unTODO 01-pcr.t | |||
17:49
sofit joined
18:01
frederico joined
|
|||
svnbot6 | r11885 | fglock++ | pX/Pugs-Compiler-Perl6 - Term.pm converted to new 'Match' | 18:08 | |
18:08
awwaiid joined
18:24
larsen joined
|
|||
[particle] | does anybody here know of a host for gobby sessions? | 18:35 | |
does feather provide that? | |||
TimToady | I will likely be offline for a day or so now. | 18:36 | |
(driving home) | |||
fglock | [particle]: I've connected to gobby in feather, but I don't know how to start it - maybe you need a X session | 18:37 | |
TimToady: have a nice trip | |||
TimToady: I hope v6.pm will be faster when you get back :) | |||
obra | TimToady: are you around for the call today? | ||
TimToady | maybe, I have a cell phone, but may be in a dead spot. | 18:38 | |
also don't have a computer to remind me when it's 1:00 | |||
obra | *nod* understood. | 18:39 | |
svnbot6 | r11886 | fglock++ | pX/Pugs-Compiler-Perl6 - Grammar::Perl6 converted to new 'Match' | 18:44 | |
18:45
frobnitz joined
|
|||
svnbot6 | r11887 | fglock++ | pX/Pugs-Compiler-Perl6 - new <ws> | 19:00 | |
19:01
beppu joined,
beppu is now known as beppu_,
beppu_ is now known as beppu
19:17
sofit is now known as Stupido
|
|||
svnbot6 | r11888 | fglock++ | pX/Pugs-Compiler-Perl6 - new Grammar::Expression | 19:45 | |
19:46
yonderboy joined
|
|||
yonderboy | by chance, is anyone from japan in here? | 19:48 | |
beppu | miyagawa is from japan | 19:54 | |
Limbic_Region | several more speak japanese | 19:55 | |
[particle] is turning japanese | 19:57 | ||
20:00
pdcawley joined
|
|||
yonderboy | it's ok, my question actually has nothing to do with perl | 20:01 | |
I need to view japanese chars in putty... and I am having a hard time, but this probably is not the best place to ask | |||
kolibrie thought yonderboy was going to ask about 'Gedo Senki' | 20:03 | ||
20:08
yonderboy left
20:16
rgs joined
20:18
frederico joined
20:26
xinming_ joined
20:59
jferrero joined
|
|||
tewk | seen Juerd? | 21:00 | |
jabbot | tewk: Juerd was seen 20 hours 48 minutes 20 seconds ago | ||
tewk | seen audreyt? | ||
jabbot | tewk: audreyt was seen 7 hours 3 minutes 22 seconds ago | ||
21:11
SageLT joined
21:25
kanru joined
|
|||
svnbot6 | r11889 | fglock++ | pX/Pugs-Compiler-Rule - fixed param passing to subrules | 21:40 | |
r11890 | fglock++ | pX/Pugs-Compiler-Rule - fixed param passing to subrules, again | 21:46 | ||
21:51
pdcawley joined
|
|||
svnbot6 | r11891 | Sage++ | Made the parser component of the translator more general after finding some problems in broad testing. It's now smarter about leading junk and I've made some prelimenary revisions on the regex parser which seems very fragile. | 21:51 | |
r11892 | fglock++ | pX/Pugs-Compiler-Perl6 - expressions compile | |||
r11893 | Sage++ | Some minor revisions to fix bugs revealed in testing the translator across t/op/. With these revisions, the translator can at least partially translate 80% of t/op with 18 files failing due to parse errors (all in regexs) and 10 failing due to head being called on an empty list (which appears to be in the close() translation). | 21:54 | ||
21:57
jferrero left
22:17
rindolf joined
22:23
cjeris left
22:28
weinig is now known as weinig_food
|
|||
svnbot6 | r11894 | fglock++ | pX/Pugs-Compiler-Rule - added test for / { return } / | 22:32 | |
22:33
cmarcelo joined
22:38
fglock left
|
|||
svnbot6 | r11895 | fglock++ | pX/Pugs-Compiler-Rule - added TODO, debug info | 22:38 | |
23:02
Bit-Man joined
23:22
xinming_ is now known as xinming
23:41
evalbot_11895 joined
23:42
drrho joined
23:56
Revision17 joined
|