pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, elf: etc.) (or perl6: for all) | irclog: irc.pugscode.org/ Set by Tene on 29 July 2008. |
|||
00:16
cognominal left
00:19
a-jing joined,
a-jing left
00:22
Jedai joined
00:25
cognominal joined
01:52
jfredett_ joined
01:56
jfredett left
02:02
yahooooo left
02:07
alester joined
02:11
jfredett joined
02:15
jfredett_ left
02:18
[particle]1 joined
02:35
[particle] left
02:42
jfredett_ joined
02:45
jfredett_ left
02:49
jfredett_ joined
02:50
sail0r joined
02:53
jfredett left
02:54
sail0r left
03:00
sail0r_ joined
|
|||
sail0r_ | wtf | 03:02 | |
03:02
sail0r_ left,
elmex_ joined
03:04
simcop2387 left,
simcop2387 joined
03:05
sail0r_ joined,
sail0r_ left
03:17
jfredett joined
03:19
elmex left
03:20
elmex_ is now known as elmex
03:21
jfredett_ left,
alanhaggai joined
|
|||
pugs_svn | r22175 | lwall++ | [rx.t] previous change left unbalanced parens, oops, TimToady-- TimToady-- | 03:25 | |
Auzon | TimToady: You're going to talk at the ACM conference at U of I, aren't you? | 03:26 | |
TimToady | yes | 03:29 | |
03:30
alanhaggai_ left
|
|||
Auzon | I don't know what your talk is about yet, but I thought it was cool that you were coming to campus :) | 03:30 | |
03:34
jfredett left
|
|||
TimToady | well, they keep asking me what my talk is about, and I haven't told 'em yet. :) | 03:37 | |
Auzon | I'm one of "them" (ACM, not conference organizers), but I won't bother you. | 03:39 | |
TimToady | at the moment I'm distracted by trying to figure out if there should be a "where" infix | ||
I've got some tests that look like eval() ~~ Failure where /some message/ | |||
currently STD parses it as merely a refinement of the type name | 03:40 | ||
03:40
justatheory joined
|
|||
TimToady | maybe that's good enough | 03:40 | |
the problem is that I need a version of & that short circuits | 03:41 | ||
I can say something like eval() ~~ Failure & /some message/ | |||
but that doesn't guarantee that the Failure is tested first | |||
otoh, eval() ~~ Failure && /some message/ doesn't have the right semantics | 03:42 | ||
(or even the right precedence) | |||
but eval() ~~ (Failure && /some message/) doesn't work either | 03:43 | ||
Auzon | So infix:<where> would add more conditions to the smartmatch? | ||
TimToady | no | ||
it would add more conditions to the pattern | |||
has to bind tigher than ~~ | |||
*tighter | 03:44 | ||
but it has uses that don't involve ~~ directly | |||
pattern arguments to functions that will use smartmatch internally for instance | |||
context(Label where 'FOO') for instance, or whatever the syntax is | 03:45 | ||
maybe that's a bad example, since contexts aren't labels | |||
but also maybe things like grep Int where 0..10, @list | 03:47 | ||
and maybe things like grep 0..10 where .odd, @list | 03:48 | ||
where the left of the where is not a traditional typename | |||
which is why I think a general &&-ish infix "where" is more useful than just refining typenames | 03:49 | ||
otherwise you'd have to say | |||
grep Int where 0..10 where .odd, @list | |||
which isn't that bad, but maybe is not conducive to duck typing | 03:50 | ||
Auzon | It sounds pretty useful in the generic case. | 03:51 | |
TimToady | but then I can't come up with a good precedence for it, because it'd want to be tighter than ~~, so I can't make it the same as && | ||
maybe same as &, though that's a bit counterintuitive with | which would be looser | 03:52 | ||
03:52
apeiron joined
|
|||
TimToady | other the other hand, pretty easy to explain as an ordered junction, perhaps | 03:53 | |
and I'd like to get rid of the special case on typenames that I just kludged in | 03:54 | ||
I guess I'll try that and see how things parse | 03:56 | ||
Auzon | You just made me think of another area for testing, oddly enough | 03:57 | |
03:59
eternaleye joined
|
|||
pugs_svn | r22176 | Auzon++ | [TASKS] added some tasks for bitwise operations. I'll get to this this week unless someone snatches them up first. | 04:00 | |
04:00
apeiron_ left
|
|||
pugs_svn | r22177 | lwall++ | [STD] trying "where" as Junctional infix resembling "&", but with order guaranteed | 04:21 | |
speckbot | r14580 | larry++ | "where" as Junctional infix resembling "&", but with order guaranteed | 04:22 | |
TimToady | note to pugs/parrot implementors, should be easy to clone & into a where operator, at least syntactically | 04:25 | |
04:45
Maghnus left
04:47
justatheory left
04:54
apeiron_ joined
05:02
apeiron left
05:17
Maghnus joined
05:20
sail0r joined
05:21
sail0r left
05:24
alester left
05:25
Psyche^ joined
05:43
Patterner left,
Psyche^ is now known as Patterner
05:44
jferrero left
06:12
smtms_ joined
06:25
smtms left
06:27
zamolxes left
|
|||
pmichaud | TimToady: I don't see a problem with 'where' as a Junctional infix in rakudo. :-) | 06:27 | |
06:30
sri_work joined
06:41
Ehtyar joined
07:09
sail0r_ joined
07:18
clkao_ joined
07:23
clkao_ left
07:24
clkao_ joined
07:25
clkao_ left,
clkao_ joined,
sail0r_ left
07:36
charsbar_ joined,
charsbar left
07:48
Myoma left,
a-jing joined
07:49
a-jing left
07:54
charsbar joined
08:04
tmwnn joined
08:07
charsba__ joined
08:15
charsbar_ left
08:16
Myoma joined
08:21
iblechbot joined
08:28
charsbar left
08:34
charsbar joined
08:43
charsba__ left
08:47
barney joined
08:54
tmwnn left
09:14
zamolxes joined
09:18
ludan left
09:20
PZt joined
09:56
pmurias joined
09:57
pmurias left
|
|||
pugs_svn | r22178 | moritz++ | [t/spec] unfudged a test for rakudo | 10:13 | |
10:25
meppl joined
10:27
pmurias joined
|
|||
pmurias | ruoso: hi | 10:27 | |
10:41
larsen joined
11:19
meppl left
|
|||
pmurias | audreyt: is more pugs development planned once ghc 6.10.1 is released? | 11:35 | |
11:54
smk_ joined,
DJ-DONGDOT joined
11:58
apeiron_ left
12:06
alanhaggai left
|
|||
pugs_svn | r22179 | pmurias++ | [pugs-m0ld] basic functions calls with only positionals and integer literals | 12:06 | |
12:10
smk_ left
12:19
wknight8111 joined
12:28
jan_ left
12:29
elmex_ joined,
elmex left
12:30
elmex_ is now known as elmex,
jan_ joined
|
|||
pmurias | ruoso: is ::Code really Code in the lexical pad/global namespace? | 12:31 | |
12:53
a-jing joined,
a-jing left
|
|||
rakudo_svn | r30856 | moritz++ | [rakudo] implement Str.rindex, bacek++. Closes RT #58308 | 13:10 | |
r30856 | moritz++ | Patch courtesy by Vasily Chekalkin <bacek at bacek.com> | |||
audreyt | pmurias: yes. | 13:17 | |
13:18
Myoma left
13:19
Myoma joined
|
|||
pmurias | audreyt: good ;) | 13:29 | |
DJ-DONGDOT | I think Perl6 should use : than :: , so we can write something like `use Win32::Exe, strict, CGI;` | 13:34 | |
pmurias | audreyt: how do you think should context be specified in mold? as part of the method call opcode or as another method call eq. $foo.bar(42).List for list context? | ||
DJ-DONGDOT: could you rephrase your suggestion, how does using : instead of :: allow you to use several modules in 1 line? | 13:36 | ||
DJ-DONGDOT: use strict is a default in Perl 6 by the way | 13:37 | ||
DJ-DONGDOT | pmurias: like in Pascal, Delphi. So we can write `uses windows, etc1, etc2` | 13:39 | |
I think Perl6 should steal that cool stuff from Delphi | |||
pmurias: so in Perl6 we can write like `use Win32:exe, PAR:Packer, etc;` | 13:41 | ||
pmurias | and if the modules take arguments | ||
use Win32::Exe <>,strict <>? | 13:42 | ||
DJ-DONGDOT | no problem, `use CGI 'fatalsToBrowser', Win32:Exe;` should works. (but maybe we Perl6 should add new keyword: `uses`) | 13:43 | |
pmurias | adding a new keyword for a minor syntactic convenience dosn't seem worth it | 13:44 | |
DJ-DONGDOT | or maybe we should just existing `use` keyword | 13:45 | |
pmurias | and using : instead of :: would confilict with use CGI:from<perl5> | ||
audreyt | pmurias: either as part of the opcode or as an implicit interpreter state | ||
13:45
barney left
|
|||
audreyt | also $foo.bar(42).List does not give "want" in &bar a hint abot listness -- rather it expects an item to come out of it | 13:46 | |
pmurias | ruoso wants to do it the Contextual::Return way | 13:47 | |
DJ-DONGDOT | or maybe we should just existing `use` keyword, with additional features taken from Delphi & Pascal like `uses` | 13:48 | |
audreyt | pmurias: you mean constructing many many closures? | 13:50 | |
that is valid | |||
just expensive | |||
if ruoso thinks it can be made nonexpensive, that's excellent | |||
pmurias | how does context work with multis? | ||
13:51
DJ-DONGDOT left
|
|||
audreyt | they don't, at least iirc. digging | 13:51 | |
S12:1027 | 13:52 | ||
Therefore return-type tiebreaking need not be supported | |||
in 6.0.0 unless some enterprising soul decides to make it work. | |||
so multi tiebreaking happens first using incoming params | |||
and then context is applied to the winner | |||
and if ambiguous (two or mo candidates with equal validity), no context match is done, it's simply anerror | 13:53 | ||
=cut | |||
ruoso | audreyt, the thing is that few objects actually implement contextual return | 13:54 | |
and this objects can have low-level implementations | |||
and thus not requiring new closures all the time... | 13:55 | ||
most objects use the contextual properties of other types | |||
hi pmurias | 13:57 | ||
audreyt | ruoso: that is correct | ||
pmurias | ruoso: hi | ||
ruoso | pmurias, I don't know if code is being registered in the namespace | ||
but feel free to add it | |||
pmurias | it is, but i was wondering if it is registered as Code or as ::Code | 13:58 | |
ruoso | oh.. | ||
that was something I've been wondering | |||
maybe the Class should be registered as Code | |||
and the package as Code:: | |||
since you need to have a way to access both the package and the class | 13:59 | ||
pmurias | swimming& | 14:00 | |
ruoso . o O ( the use of low-level objects interchangeably with high-level objects is indeed the most important aspect of SMOP ) | 14:01 | ||
14:02
pmurias left
14:11
rhr_ joined
14:21
jferrero joined
14:25
rhr left
14:28
rhr_ is now known as rhr
|
|||
ruoso | audreyt, about using context as part of the multi dispatch, I've been thinking that the context could be set in the capture... that should be enough to implement it... | 14:29 | |
14:30
wknight8111 left,
wknight8111 joined
14:36
jferrero left
14:38
jferrero joined
14:45
larsen left
|
|||
pugs_svn | r22180 | ruoso++ | [smop] specific test for array iterator... | 14:48 | |
15:03
jan_ left
|
|||
pugs_svn | r22181 | ruoso++ | [smop] starting the code for the array iterator... | 15:04 | |
15:13
[particle] joined
15:24
[particle]1 left
15:33
Myoma left
16:10
jan_ joined
16:37
sail0r joined
|
|||
pugs_svn | r22182 | moritz++ | [t/spec] tests for rindex on non-strings (Int, in this case) | 16:44 | |
16:50
smtms_ is now known as smtms
16:52
sail0r left
16:54
pmurias joined
|
|||
pmurias | re | 16:55 | |
ruoso | pmurias, re? | 17:03 | |
pmurias | i always assumed re is something like rehi, but i might be wrong ;) | 17:04 | |
ruoso | heh... | ||
pmurias | irclog.perlgeek.de/perl6/2008-08-01#i_419120 | 17:05 | |
lambdabot | Title: IRC log for #perl6, 2008-08-01 | ||
ruoso | geez... my memory sux... I can't really remember that conversation... | 17:06 | |
heh | |||
pmurias | ruoso,audreyt: what sort of context do multi's enforce? | ||
ruoso | pmurias, that's the point where the context is not really determined... | 17:07 | |
pmurias | like multi foo($a is rw) {...};multi foo($a is ro) {...};foo(bar()); | ||
ruoso | it's only determined after the signature .ACCEPTS the capture | 17:08 | |
pmurias | but it can't choose the right variant before determining the right context | ||
ruoso | it only happens as late as possible | 17:09 | |
pmurias | if bar has a want check at top | ||
ruoso | that's why forward context propagation is not always possible | ||
pmurias | you have a big problem | ||
ruoso | and that's why I'm using late context propagation in SMOP | ||
pmurias | context *could* be junctions | 17:10 | |
ruoso afraid... | |||
pmurias | or we could throw an ambiguous use of context exception | 17:13 | |
or use a context general enough to cover all variants (assuming contexts form a hierarchy) | 17:14 | ||
17:14
meppl joined
|
|||
ruoso really would like to see "want" dropped... | 17:14 | ||
or "want" could cause the code to be suspended and only continued after the context is effectively defined | 17:15 | ||
rakudo_svn | r30860 | pmichaud++ | [rakudo]: spectest-progress.csv update: 158 files, 3287 passing tests | 17:16 | |
pmurias | you mean create a deadlock... | ||
ruoso | heh... | ||
Auzon | the spectest graph on rakudo.de is highly amusing. | ||
moritz_ | indeed ;) | 17:17 | |
that was the back-and-forth with the regex tests | |||
Auzon | heh, even more amusing with the latest update. I only saw the first spike on my first pageload | 17:18 | |
ruoso | pmurias, but the fact is that sometimes you simply doesn't have a way to predict the context... | ||
like in... | |||
my $a = \foo() | 17:19 | ||
moritz_ | Auzon: well, TimToady rewrote the +700 regex tests inline into a file, and deleted the old one that read them line by line... | ||
Auzon: and due to the change in the file name the tests were run on friday, but not saturday | 17:20 | ||
pmurias | ruoso: yes, captures have to create thunks | ||
moritz_ | then I fudged the new tests and included them in spectest_regression, so here we are again ;) | ||
Auzon | I see. I heard something about that, but I was randomly adding tests for .trans on Friday | ||
pmurias | food& | 17:21 | |
moritz_ | Auzon: did you already submit your code to google? (I think I've asked that before, not sure...) | ||
Auzon | No, I plan on doing that today | 17:22 | |
moritz_ | good | ||
rakudo_svn | r30861 | pmichaud++ | [rakudo]: Add 'fail' function. | ||
17:22
wknight8111 left
|
|||
Auzon | I'm going to have to look back and see how we decided to send in my code. | 17:22 | |
moritz_ | bbl | 17:24 | |
Auzon | ok | ||
17:28
jferrero left
17:30
jferrero joined
17:32
larsen joined
|
|||
moritz_ | back, faster than thought | 17:32 | |
Auzon: Google wants both runnable code and know what *you* did | 17:33 | ||
Auzon: so I suggest you send in a copy of t/ before and after your project, and a series of patches that you extract from svn | |||
Auzon | OK. | ||
moritz_ | maybe also check with [particle], but I think that should be fine | 17:34 | |
(and if not the google folks will surely tell you what else they want) | |||
Auzon | Yeah, sounds good. | 17:35 | |
18:03
eternaleye_ joined
|
|||
pugs_svn | r22183 | ruoso++ | [smop] implementing the array iterator... some weirdness is still happening, the test is still failing... but it is mostly working | 18:03 | |
ruoso | pmurias, how do I compile with debug information using cmake? | 18:11 | |
pugs_svn | r22184 | ruoso++ | [smop] implementing destroyall on the array iterator | 18:12 | |
18:14
eternaleye left
|
|||
pmurias | i used set(CMAKE_C_FLAGS "-fprofile-arcs -ftest-coverage -O0") to have gcov | 18:16 | |
18:17
eyu joined
18:22
xuser left
|
|||
moritz_ | std: "abc" | 18:23 | |
p6eval | std 22184: OUTPUT[syntax error at tryfile line 13, near "print"ā¤Execution of tryfile aborted due to compilation errors.ā¤] | ||
18:24
p6eval left
18:25
p6eval joined
|
|||
moritz_ | std: "abc" | 18:25 | |
p6eval | std 22184: OUTPUT[parsedā¤] | ||
moritz_ | std: "abc" "cde" | ||
p6eval | std 22184: OUTPUT[parse failureā¤] | ||
18:25
eternaleye_ left,
eternaleye_ joined
18:28
abra joined
18:29
abra left,
xuser joined
18:35
larsen left
|
|||
eyu | std: "abc" | 18:43 | |
p6eval | std 22184: OUTPUT[parsedā¤] | ||
eyu | std: "abc" "cde" | 18:44 | |
p6eval | std 22184: OUTPUT[parse failureā¤] | ||
18:46
eternaleye_ left
18:47
eternaleye_ joined
19:00
jferrero left
19:02
jferrero joined
19:04
eyu100 joined
|
|||
eyu100 | ?eval say "hello!" | 19:04 | |
eval say "hello!" | 19:05 | ||
moritz_ | pugs: say "hello!" | ||
p6eval | pugs: OUTPUT[hello!ā¤] | ||
eyu100 | pugs: say "hello!" | ||
p6eval | pugs: OUTPUT[hello!ā¤] | ||
eyu100 | pugs: say 5 + 5 | ||
p6eval | pugs: OUTPUT[10ā¤] | ||
eyu100 | pugs: use v6; | 19:06 | |
p6eval | pugs: RESULT[undef] | ||
19:06
eternaleye_ left
19:12
eternaleye joined
19:23
alester joined
19:26
eternaleye left
19:57
rlb3 joined
|
|||
pmurias | pugs: say((1,2,3),(4,5,6)) | 20:01 | |
p6eval | pugs: OUTPUT[123456ā¤] | ||
pmurias | pugs: say([1,2,3],(4,5,6)) | ||
p6eval | pugs: OUTPUT[1 2 3456ā¤] | ||
pmurias | pugs: sub f {(1,2,3};say(f(),(4,5,6)) | ||
p6eval | pugs: OUTPUT[*** ā¤ Unexpected "};"ā¤ expecting "_", fraction, exponent, term postfix, operator or ")"ā¤ at /tmp/E8oi5HJmCl line 1, column 14ā¤] | ||
pmurias | pugs: sub f {(1,2,3)};say(f(),(4,5,6)) | 20:02 | |
p6eval | pugs: OUTPUT[123456ā¤] | ||
pmurias should use his own copy of pugs instead of abusing evalbot | |||
20:08
wknight8111 joined
|
|||
pugs_svn | r22185 | pmurias++ | [smop] | 20:18 | |
r22185 | pmurias++ | unbroke m0ld | |||
r22185 | pmurias++ | changed the example s1p code to take an iterpreter and a scope | |||
20:18
justatheory joined
20:19
eternaleye joined
|
|||
pugs_svn | r22186 | pmurias++ | [pugs-m0ld] pugs -Cm0ld compiles 'say 42', it needs runtime support | 20:27 | |
20:28
meppl left,
c9s left
|
|||
pmurias | ruoso: we now need runtime support to have "say 42" working ;) | 20:29 | |
20:35
wknight8111 left
20:36
wknight8111 joined
21:22
pmurias left
21:41
meppl joined
21:42
elmex left
|
|||
moritz_ | std: m bab | 21:45 | |
p6eval | std 22186: OUTPUT[parsedā¤] | ||
wolverian | TimToady, S09 Parallelized parameters and autothreading could show the tensor multiplication written out in concrete form (as motivation?) | 21:51 | |
rakudo_svn | r30864 | moritz++ | [rakudo] parse m/.../ and similar regex forms. Closes RT #57346 | 21:56 | |
22:04
wknight8111 left
22:11
iblechbot left
|
|||
ruoso | @tell pmurias, we do have runtime support to have "say 42" working, don't we? | 22:25 | |
lambdabot | Consider it noted. | ||
22:27
wknight8111 joined
|
|||
rakudo_svn | r30867 | moritz++ | [rakudo] tools/autounfudge.pl: add --exclude options and exclude long running | 22:38 | |
r30867 | moritz++ | and looping tests by default | |||
22:48
Choco-ail joined
|
|||
Auzon | rakudo: say 1 if "foo" ~~ m/oo/ | 23:00 | |
p6eval | rakudo 30867: OUTPUT[1ā¤] | ||
Auzon | rakudo: say 1 if "foo" ~~ m[oo] | ||
p6eval | rakudo 30867: OUTPUT[1ā¤] | ||
moritz_ | rakudo: say 1 if "foo" ~~ m boob | 23:01 | |
p6eval | rakudo 30869: OUTPUT[1ā¤] | ||
moritz_ | that's the weird side of perl ;) | ||
Auzon | and that's allowed now? | 23:02 | |
moritz_ | seems so, yes | ||
STD.pm parses it | |||
and I couldn't find a restriction in S02 on what is allowed as a quote delimiter | |||
std: say 1 if "foo" ~~ m boob | 23:03 | ||
Auzon | well, # isn't allowed | ||
moritz_ | right | ||
p6eval | std 22186: OUTPUT[parsedā¤] | ||
moritz_ | and : isn't either, iirc | ||
but no other restriction, afaict | |||
(I fixed the std: evalbot target with some small hacks and black permission magic | 23:04 | ||
) | |||
Auzon | :) | ||
I saw that | |||
Whenever I tried it, it seemed to work ok for a bit then permissions got reset :-/ | 23:05 | ||
moritz_ | basically it sets lex/* to be 0775, and to a common group of evalenv and evalbot | ||
the trick is to use umask in the tryfile | |||
Auzon | If you say so :) | ||
moritz_ | so that newly generated files also have the right permission | ||
well, let's see if it still works in two weeks | |||
if yes, I claim success ;) | 23:06 | ||
Auzon | Will it break if tryfile is updated? | ||
moritz_ | perhaps | ||
maybe I should take a copy with a different name | |||
my local copy doesn't even print a parse tree; | 23:07 | ||
it just does 'my $result = eval { # parse here; 1 }' | |||
Auzon | Yeah, a copy would be good, to prevent accidental overwrites | ||
moritz_ | anyway, it's 1 am here and I need to go to bed :/ | ||
I can fix that tomorrow.... | 23:08 | ||
Auzon | See you :) | ||
moritz_ | bed& | ||
23:09
meppl left
23:14
eternaleye left
23:15
eternaleye joined
23:40
eternaleye left
23:45
ruoso left
23:46
ruoso joined
23:49
justatheory left
23:57
sri_work_ joined
|