-Ofun: xrl.us/hxhk | pugscode.org | pugs.kwiki.org | paste: paste.lisp.org/new/perl6 or sial.org/pbot/perl6 Set by apple-gunkies on 11 November 2005. |
|||
00:11
wolv is now known as wolverian
00:20
_meppl is now known as meppl
|
|||
svnbot6 | r8003 | fglock++ | * /docs/notes/laziness.txt - got Array/List difference | 02:05 | |
r8003 | fglock++ | sorted out, I think | |||
r8004 | fglock++ | * /docs/notes/laziness.txt - correction on the example | 02:29 | ||
r8004 | fglock++ | of what a flattened List looks like (a Lazy Array slice | |||
r8004 | fglock++ | has a Generator that generates bounded Scalars) | |||
geoffb | autrijus, I know you're tanking, but what are you tanking *about*? | 06:30 | |
nothingmuch | seen luqui? | 08:17 | |
jabbot | nothingmuch: luqui was seen 2 days 16 hours 1 minutes 16 seconds ago | ||
luqui | hello | 08:28 | |
lisppaste3 | devin pasted "Why does my Pugs build fail?" at paste.lisp.org/display/13960 | ||
luqui dunnos | 08:29 | ||
nothingmuch, thanks, I've bookmarked the article | 08:30 | ||
I'll get to it after my latest experiment *maniacal laugh* | 08:31 | ||
08:39
integral_ is now known as integral,
integral is now known as integral_
08:40
integral_ is now known as integral
|
|||
nothingmuch | =) | 08:56 | |
btw, ragdoll kung fu rocks | |||
thanks | |||
luqui: ping | 09:01 | ||
luqui | pong | ||
nothingmuch | rdkf rucks | ||
rock | |||
s | |||
err.. | |||
luqui | haha, "rucks", can't decide? | ||
nothingmuch | you said you were expecting it | ||
it was out when you said that, methinks | |||
luqui | well, I didn't have a PC at that point, I think | ||
nothingmuch | ah | 09:02 | |
anyway, thanks for the great reccomendation | |||
nothingmuch has been playing on computers at friends houses & work | |||
luqui | sure. I bought it too, and I've played it a little, but haven't had time to really explore it | ||
09:12
integral is now known as integral_
09:14
integral_ is now known as integral
|
|||
nothingmuch | gaal: ping | 09:40 | |
luqui | hooray, my type inferencer is working! | 13:16 | |
it does factorial correctly | |||
nothingmuch | luqui: share | 13:38 | |
luqui | svn.luqui.org/svn/misc/luke/work/co...ell/typist | 13:44 | |
working on polymorphism, so you can have if Bool Int Int and if Bool Bool Bool in the same program :-/ | 13:45 | ||
svnbot6 | r8002 | iblech++ | Finished the svn mv lazyness.txt laziness.txt fglock++ begun. | 13:46 | |
r8003 | fglock++ | * /docs/notes/laziness.txt - got Array/List difference | |||
r8003 | fglock++ | sorted out, I think | |||
r8004 | fglock++ | * /docs/notes/laziness.txt - correction on the example | |||
r8004 | fglock++ | of what a flattened List looks like (a Lazy Array slice | |||
r8004 | fglock++ | has a Generator that generates bounded Scalars) | |||
gaal | nothingmuch: pong | 13:53 | |
nothingmuch | gaal: i had a hackathonian question, buyt forgot it | ||
gaal | oaky | 13:55 | |
gaal rolls his eyes at c and praises glib/gtk | |||
masak | ?eval { say; say } (0..4) | 13:59 | |
13:59
evalbot_8000 is now known as evalbot_8004
|
|||
evalbot_8004 | OUTPUT[ ] bool::true | 13:59 | |
masak | this should be a syntax error according to $larry | 14:00 | |
how do i write a test for something that should be a syntax error? :) | |||
xunxin | seen autrijus | 14:17 | |
jabbot | xunxin: autrijus was seen 1 days 1 hours 23 minutes 10 seconds ago | ||
xunxin | seen autrijus | ||
jabbot | xunxin: autrijus was seen 1 days 1 hours 23 minutes 49 seconds ago | ||
xunxin | ?eval 1+2+3; | 14:18 | |
evalbot_8004 | 6 | ||
xunxin | ?eval "hello,world".say | ||
evalbot_8004 | OUTPUT[hello,world ] bool::true | ||
xunxin | say "hello" | 14:19 | |
luqui | hello | 14:20 | |
xunxin | say "nihao\n" | ||
luqui | nihao\n | ||
:-) | 14:21 | ||
did you mean to say ?eval | |||
xunxin | o , I only test | 14:22 | |
gaal | masak: put it in a stringy eval and check $! | 14:31 | |
Su-Shee | Hi. | 14:47 | |
luqui | hi | 14:48 | |
masak | ?eval my $a = 5; given $a { when $_ < 4 { say "lower than four" } } | 15:09 | |
evalbot_8004 | undef | ||
masak | ?eval my $a = 5; given $a { when $_ < 4 { say "lower than four" } default { say "higher than or equal to four" } } | ||
evalbot_8004 | OUTPUT[higher than or equal to four ] bool::true | ||
masak | this seems wrong to me | ||
dada | why? | 15:10 | |
masak | oh, sorry. bad example :) | ||
maybe i'm just confused | |||
masak goes back to testing | |||
dada | ?eval my $a = 3; given $a { when $_ < 4 { say "lower than four" } default { say "higher than or equal to four" } } | ||
evalbot_8004 | OUTPUT[higher than or equal to four ] bool::true | ||
dada | mmm | ||
_this_ seems wrong | 15:11 | ||
masak | ?eval my $a = 24; given $a { when $_ < 30 { say "lower than thirty" } } | ||
evalbot_8004 | undef | ||
masak | this too | ||
luqui | yeah, that seems pretty wrong | 15:14 | |
?eval my $a = 24; given $a { say $_; when $_ < 30 { say "lower than thirty" } } | |||
evalbot_8004 | OUTPUT[24 ] undef | ||
luqui | ?eval my $a = 24; given $a { say ($_ < 30); when $_ < 30 { say "lower than thirty" } } | ||
evalbot_8004 | OUTPUT[1 ] undef | ||
luqui | ?eval my $a = 24; given $a { when ({$_ < 30}) { say "lower than thirty" } } | 15:15 | |
evalbot_8004 | OUTPUT[lower than thirty ] bool::true | ||
luqui | oh, come to think of it, that might actually be correct | ||
24 != True, IIRC | |||
You could make True a pattern that always returns True, but then you lose: given $a { when True {...} when False {...} } | 15:16 | ||
but maybe that's a worthwhile trade-off | |||
masak | luqui: so ordinary comparisons have to be surrounded by ({ ... })? | 15:22 | |
luqui | yeah | 15:23 | |
except... | |||
?eval my $a = 24; given $a { when ({$^x < 30}) { say "lower than thirty" } } | |||
evalbot_8004 | OUTPUT[lower than thirty ] bool::true | ||
luqui | ?eval my $a = 24; given $a { when ({$^x < 20}) { say "lower than thirty" } } | ||
evalbot_8004 | undef | ||
luqui | yeah, you're actually defining an anonymous predicate sub | 15:24 | |
and then testing $sub($_) | |||
masak | yikes | 15:25 | |
pmurias | ?eval my $a = 24;given $a { if $ < 30 {say "lower than thirty"} } | 15:56 | |
evalbot_8004 | Error: unexpected "{" expecting operator, ":", ",", term postfix, postfix conditional, postfix loop, postfix iteration, ";" or end of input reserved word | ||
pmurias | ?eval my $a = 24;given $a { if $_ < 30 { say "lower than thirty"} } | ||
evalbot_8004 | OUTPUT[lower than thirty ] bool::true | ||
luqui | is the nly thingyou changed that space after the brace? | 15:57 | |
woah, what happened to my fingers while I was typing that? | |||
that shouldn't be a syntax error | |||
?eval if 1 {say "hi"} | |||
evalbot_8004 | OUTPUT[hi ] bool::true | 15:58 | |
luqui | oh, no, you missed the _ in $_ | ||
good | |||
pmurias | ?eval my $a = 24;given $a { when {$^x < 30} { say "lower than thirty"} } | 16:05 | |
evalbot_8004 | Error: No compatible subroutine found: "&when" | ||
pmurias | ?eval my $a = 24;given $a { when sub {$^x < 30} { say "lower than thirty"} } | 16:09 | |
evalbot_8004 | Error: No compatible subroutine found: "&when" | ||
vkon | $?PUGS_VERSION | 16:33 | |
?$?PUGS_VERSION | |||
:?$?PUGS_VERSION | 16:34 | ||
svnbot6 | r8005 | vkon++ | make Pugs compilable with latest GHC as well (starting from november2005 they give an error 'No context is allowed on a GADT-style data declaration') | ||
vkon | well, go read eval bot documentation... | 16:35 | |
integral | ?eval $?PUGS_VERSION | ||
evalbot_8004 | \"Perl6 User\'s Golfing System, version 6.2.10, October 10, 2005 (r8004)" | ||
integral | but there's a slight clue in the bot's name now :) | ||
vkon | thanks! | 16:36 | |
masak | speaking of which, what remains until pugs 6.28 ships? | 16:42 | |
Su-Shee | Wie kann mich der Client offline anzeigen, wenn mich der Client online anzeigt? | 16:57 | |
Ich hasse gaim. | |||
vkon | ni men hao! wo men yi qi bian cheng ba! | 17:01 | |
Su-Shee | vkon: wo hao. ;) | 17:04 | |
vkon: sorry, just wrong window. | 17:05 | ||
vkon | Su-Shee: good... I only understand very-very basics of Chinese, as now I am watching educational program on CCTV9 :):) | 17:06 | |
Su-Shee | vkon: Me too, but I find it incredible interesting. But I have no time. :/ | 17:11 | |
vkon | Su-Shee: I happen to convert video lessons to pocketPC compatible format and watching AVIs while at traffic jams, or while waiting for something... | 17:18 | |
Su-Shee: can freely share; see for example vkonovalov.ru/chinese-related/2x-25...opping.avi (not the best their lesson, but I have plenty of them :) | 17:19 | ||
luqui | "colored type inference" is quite powerful, now that I've had the time to mull over it | 17:42 | |
integral | that's the one where colour marks the direction the info is propagating in? | 17:43 | |
luqui | yeah | ||
because that's the biggest trouble with subtyping: you don't know which subtype (or supertype) to pick for your variables | |||
so it makes that illegal in the type system, which is cool :-) | 17:44 | ||
integral | so it tells you when you should be narrowing the type, and when you should be widening it. So: $a := Foo.new; would narrow $a's type to Foo, but f(5), f("foo") would make f's type something like (Int|Str) -> (forall a. a) | 17:45 | |
luqui | hmm... that union type thingy is difficult | 17:47 | |
no, variables in the context (like f here, apparently) are always synthesized | |||
so you wouldn't be inferring f's type | |||
you'd only be checking that 5 and "foo" are subtypes of whatever f's argument was, not constructing the argument type | |||
however, in the face of lambda, I'm not sure how that works | 17:48 | ||
integral | is that because we're not doing whole program analysis? | ||
surely there you'd want to work out the glb of f's type so you can optimise it appropiately? | |||
luqui | probably. okay, it needs more mulling :-) | ||
you mean the lub? | 17:49 | ||
no, wait | |||
integral | probably, I'm not sure of the direction :) | ||
luqui | covariant | ||
damnit | |||
thinking is hard | |||
:-) | |||
*arguments* are contravariant, *returns* and variables are covariant | |||
I recently had to switch those two in my head | 17:50 | ||
svnbot6 | r8006 | autrijus++ | * Pugs.Lexer - finish refactoring into maybeVerbatimBrackets. | 19:01 | |
19:45
GeJ_ is now known as GeJ
|
|||
Aankhen`` goes to sleep. | 19:56 | ||
G'night. | 19:57 | ||
21:08
Lopo_ is now known as Lopo
|
|||
pmurias | why does pugs use a custom version of parsec? | 21:44 | |
nothingmuch | lambda-the-ultimate.org/node/view/1134 | 21:50 | |
make that: "luqui: lambda-the-ultimate.org/node/view/1134" |