svn switch --relocate svn.openfoundry.org/pugs svn.pugscode.org/pugs/ | run.pugscode.org | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com | dev.pugscode.org/
Set by putter on 11 February 2007.
00:01 Psyche^ joined 00:04 Psyche^ is now known as Patterner, diakopter joined 00:14 mako132_ joined 00:15 Psyche^ joined 00:26 Patterner joined 00:34 bsb joined 00:38 cognominal joined 01:00 miyagawa joined 01:03 weinig|bbl is now known as weinig 01:10 Schwern joined, nipotaway is now known as nipotan 01:20 Limbic_Region joined 01:22 [particle] joined
Limbic_Region .seen flgock 01:28
?seen fglock
lambdabot I saw fglock leaving #perl6 4h 4s ago, and .
Limbic_Region diakopter ping
diakopter Limbic_Region 01:30
01:39 dolmans joined 01:58 xinming joined 02:02 [particle] joined 02:07 H0LE joined 02:25 forsaken joined 02:49 Schwern joined 03:18 mako132_ joined
allbery_b ?eval 1 03:21
03:21 evalbot_r15716 is now known as evalbot_r15722
evalbot_r15722 1 03:21
03:26 forsaken joined
pasteling "allbery_b" at 66.93.61.215 pasted "ghc 6.7.20070314 can't build pugs; 6.6 is fine (6.7.20070309 fails the same way)" (4 lines, 216B) at sial.org/pbot/23501 03:35
03:52 ilogger2 joined 03:53 amnesiac joined 03:58 forsaken joined 04:02 [particle] joined 04:16 bsb joined
allbery_b audreyb++ but I kicked the 6.6 build off and at this point I should be in bed (whee, insomnia. awake but brainless...) 04:52
audreyt mm zombie committers 04:55
finally wrangled Inline::Java into shape. "use java:Foo.Bar.Baz" in Pugs would be trivil now (via Inline) 04:56
*trivial
cpan++ # damn fine language
04:57 mjk joined
Aankhen`` audreyt: That whole threads + events concurrency model is supposed to be implemented in 6.8, right? 05:17
GHC 6.8, that is.
05:37 shay_ joined
ayrnieu GHC has had both Parallel and Concurrent ( Haskell) for a good while. 05:38
05:40 Debolaz2 joined 05:42 Schwern joined 05:46 Schwern joined 05:48 drupek12 joined 05:57 Schwern joined 06:03 the_dormant joined 06:14 BooK joined 06:16 kanru joined
audreyt Aankhen``: correct. 06:19
ayrnieu: yes, but GHC has no native Coro.pm (libaio and workalike) yet
Aankhen``: like dph (data parallel haskell, the thing that neables automagic GPU/SMP for hyperops), the event/thread unification currently exists as a third-party library, but both are scheduled to be core in 6.8; since both are in active dev we won't track them in third-party/; instead will wait till 6.8 core 06:20
Aankhen`` Ah< I see. 06:21
s/</,/
Any timeframe for when we'll see similar stuff accessible directly in Pugs? :-D
audreyt the dph is already in pugs 06:22
it's just not autotransformed to GPU/SSE yet
you need explicit SMP (env GHCRTS=-N2)
Aankhen`` Mmm.
audreyt so once dph is core we get that immediately
ditto for thread/event
once it's core we just expose the event primitives
Aankhen`` Sweet.
audreyt and everything should Just Work.
Aankhen`` drools in anticipation. 06:23
audreyt and exposing primitives is easier than before
# svn.pugscode.org/pugs/src/Pugs/Meta/Str.hs
_StrClass = mkPureClass "Str"
[ "reverse" ... Str.reverse
, "join" ... Str.join
, "chop" ... (\str -> if Str.null str then str else Str.init str) 06:24
etc
really can't get easier than that
Aankhen`` nods.
audreyt but, $job, and see if I can get pugs/java bridged today
$job often pushes pugs in unexpected directions ;)
Aankhen`` Heh, have fun. 06:25
TimToady
.oO(p6/java)
audreyt bbiab
06:56 devogon joined 07:01 rfordinal joined 07:04 bsb left 07:18 Schwern joined
meppl good morning 07:20
07:26 the_dormant joined 07:37 DrSlump_2 joined 07:50 iblechbot joined 08:20 dolmans joined 08:25 lichtkind joined 08:36 lisppaste3 joined 08:57 jamessan joined 09:03 dolmans joined 09:12 Bit-Man joined
moritz_ 'morinin 09:12
09:26 IllvilJa joined
lichtkind morjn :) 09:30
09:30 sili joined 10:26 fridim joined 10:29 ruoso joined 10:32 cognominal joined 10:40 DHGE joined 11:07 ofer1 joined 11:14 buetow joined 11:15 VenganceBlade joined, VenganceBlade left 11:39 awwaiid joined 11:50 weinig joined 12:12 chris2 joined 12:21 theorbtwo joined
lichtkind moritz_ auch lust probezulesen? 12:27
12:35 meppl joined 12:40 mr_ank joined
moritz_ lichtkind: aber sicher 12:41
lichtkind welche adresse ? bin aber noch dabei die letzten kapitel umzuschreiben sie fliessen noch nicht 12:43
moritz_ lichtkind: [email@hidden.address] 12:46
lichtkind moritz_ moritz.faui2k3.org/ das photo sieht ganz schƶn gefƤhrlich aus 12:50
lambdabot Title: Moritz Lenz
Patterner Es gibt was zu lesen? 12:51
moritz_ lichtkind: why?
lichtkind long hair like al qaida o wait i have long hair myself 12:52
you look so young and enthusiastic
moritz_ lichtkind: registrierterterrorist.de/ <-- just a prototype by now 12:53
lambdabot Title: Registrierter Terrorist
lichtkind moritz_ abgeschickt 12:56
allbery_b hrm, r15272 / ghc6.6 went inmto an infinite loop and mbegan consuming large amounts of memory on ext/HTML-Entities/t/entities.t 13:09
yves evdb ?
lichtkind moritz_ lustig wollte auch mal sudoku programms schreiben ist halbfertig
13:16 xinming joined 13:20 iblechbot joined 13:24 dolmans joined 13:25 xinming joined 13:32 fglock joined
moritz_ lichtkind: s/gebrauch/gebraucht/ (im Kapitel Ć¼ber Ponie) 13:38
lichtkind ja 13:39
geƤndert
13:40 mako132_ joined
moritz_ "Dadurch kƶnnten wir bald einen 13:40
funktionsfƤhigen und schnellen Perl5-Interpreter bekommen, auch wenn die Sprache
sich noch Ƥndern wird. "
das sollte wohl p6 heissen?
fglock Limbic_Region: pong 13:41
13:44 rindolf joined
fglock later & 13:49
lichtkind moritz_: ja ber p6 hab ich oft genug gesagt es wird schon klar sein worums geht 13:50
moritz_ lichtkind: ok. Sehr schƶner artikel, gefƤllt mir 13:51
lichtkind :) freut mich aber noch nicht fertig
13:53 polettix joined
lichtkind moritz_: mir gefallen einige sachen aber nocht nichts so gut :) 13:54
moritz_: www.foo-magazin.de/ 14:02
lambdabot Title: $foo - Perl-Magazin
moritz_ lichtkind: notify me when your article is published, I'm currently blogging about perl6 from time to time 14:09
lichtkind first of may 14:10
14:10 vel joined 14:12 diakopter joined 14:14 iblechbot joined
moritz_ is there a way to run a smoke with the currently installed pugs rather than the one built in the repository? 14:19
rindolf moritz_: what is your blog? 14:20
moritz_ rindolf: moritz.faui2k3.org/blog/
lambdabot Title: Moritz Lenz - Blog 14:21
audreyt this mutable COMPILING:: thing is wrecking my brain :/
rindolf moritz_: hmmm... it's not in English. 14:22
Or in Hebrew. ;-)
moritz_ rindolf: you're absolutely right ;)
audreyt @tell TimToady { my $x; { ...; { $x = 1 }; my $x } } # should be an error, right? so S04:88 is incomplete -- $x could be bound to $OUTER::OUTER::x instead of $OUTER::x in this case, and it's equally invalid to redecl it in an intermediate scope. correct?
lambdabot Consider it noted.
allbery_b @tell audreyt r15272 / ghc6.6 went into an infinite loop and began consuming large amounts of memory on ext/HTML-Entities/t/entities.t 14:27
lambdabot Consider it noted.
allbery_b whoops :)
audreyt allbery_b: which test? 14:28
lambdabot audreyt: You have 1 new message. '/msg lambdabot @messages' to read it.
audreyt which subtest that is
lambdabot: @moosages
lambdabot allbery_b said 27s ago: r15272 / ghc6.6 went into an infinite loop and began consuming large amounts of memory on ext/HTML-Entities/t/entities.t
14:34 buetow joined 14:36 Limbic_Region joined
allbery_b hm, my log prints the test file name and stops :( 14:38
audreyt most curious 14:39
can you dupe it with trunk ghc?
fwiw it works here
ok 10 - Decoding an array ref should work.
*** No compatible multi variant found: &decode_entities at ext/HTML-Entities/t/entities.t line 46, column 4-27
is what I get
also, with ghc 6.6
can you try pugs -d
and see where it loops?
allbery_b running verbose, it goes away after "ok 9" 14:41
this is ghc6.6 14:42
14:43 [particle] joined
audreyt ok 14:43
and without verbose it doesn't output anything?
Limbic_Region audreyt - did you get my @tell about which test hangs on smoke with Win32? 14:44
allbery_b well, under the normal test framework it didn't output anything
audreyt Limbic_Region: yes, and it's the same here 14:45
allbery_b I'm running with pugs -d now
audreyt allbery_b: try run it normally
pugs -Iblib6/lib ext/HTML-Entities/t/entities.t
audreyt ponders what could be wrong
Limbic_Region wanders off 14:50
allbery_b running normally, same problem 14:51
14:52 fglock joined
audreyt what does -d say then? 14:52
allbery_b it's still churning
I had to interrupt it to run the other test, s I'm starting over 14:53
audreyt k
thanks for looking into it
allbery_b (remember, g4 macmini; not a speed demon :)
audreyt is still fighting with COMPILING::
allbery_b make realclean didn't work after my attempt with ghc6.7 (n makefiles yet) btu I suppose it's conceivable that there might be some turd left over from the ghc6.7 attempt... 14:54
audreyt ok
offby1 allbery_b: I have a script that deletes every file that isn't under svn control. It's the strongest possible form of "make clean".
can't get no cleaner than that!
allbery_b although ghc6.7 stuff should produce errors at compile time, the .hi files aren't compatible 14:55
audreyt rm -rf * .* ; svk revert -R .
offby1 audreyt: but that'll nuke your .svn directory too.
allbery_b no svk here
offby1 thereby making "revert" not work. I would guess.
audreyt offby1: svk has no .svn directories
and is much faster
offby1 aaaahhh
audreyt :)
offby1 the one reason I'm not using svk is that the initial mirror looked like it would take approximately one million years. 14:56
audreyt svk2.0 has improved considerably
also you can opt to start getting from head rev
which has the same bandwidth cost as svn co
offby1 aha 14:57
and since I don't care about the history ... y'know, I think I'll try that. thanks
audreyt woot :)
svk co svn.pugscode.org/pugs
and answer "h"
lambdabot Title: Revision 15723: /
offby1 "h", huh? hmm.
audreyt is all takes
it'll ask how many revs you want to get
[a]ll or [h]ead etc
moritz_ debian etch still has svk-1.08-2
audreyt well svk 1.08 can do that too 14:58
it's just svk2's network usage = much more efficient
15:02 avarab joined
allbery_b gack, this is slow :) 15:02
audreyt maybe it looped already
tail to see if it complains about recursion depth 15:03
allbery_b no, a grep indicates it hasn't even reached test 9 yet
it was still on test 4 :) 15:05
was getting "deep recursion" warnings even there, though
audreyt where did it recurse? 15:06
allbery_b I'm not sure how to read this 15:07
pasteling "allbery_b" at 66.93.61.215 pasted "deep recursion (ext/HTML-Entities/t/entities.t test 4" (16 lines, 754B) at sial.org/pbot/23508 15:08
allbery_b I have to head to campus,. won't be able to work on this until tonight sometime
audreyt ok, thanks 15:10
located from the trace. 15:11
fixing
allbery_b yay audreyt++ 15:12
now I must run
15:14 amnesiac joined
offby1 #svn seems dead; can someone help me check out pugs? here's the problem: nopaste.snit.ch:8001/9696 15:20
s/svn/svk/
15:21 lichtkind joined
audreyt offby1: weird 15:21
lichtkind audreyt: have you looked at the text ? 15:22
offby1 pouts
audreyt svk sync //mirror/pug -s 15723
try this?
offby1 already did. 15:23
same problem
well, I put the "-s 15723" _before_ the //mirror/pugs, so lemme try it exactly as you typed it
yeah, same failure.
or _almost_ the same: RA layer request failed: REPORT request failed on '/pugs/!svn/bc/15724': REPORT of '/pugs/!svn/bc/15724': 200 OK (svn.pugscode.org) 15:24
lambdabot Title: Revision 15723: /
offby1 the URL is different by one digit
audreyt svk sy -t 10 ; svk sy -s 15723
# what about this?
but looks like a bug.
offby1 -t 10 works 15:25
15:26 avarab is now known as avar, svnbot6 joined
audreyt @tell Limbic_Region the infinite loop should be gone now 15:31
lambdabot Consider it noted.
audreyt @tell allbery_b the infinite loop should be gone now
lambdabot Consider it noted.
offby1 @tell aunt_rhodie the old gray goose is dead 15:33
lambdabot Consider it noted.
15:35 shay_ is now known as shay
lichtkind audreyt: sorry for repeating have you looked at the text ? 15:36
15:43 buetow joined
kolibrie running 'svk pull' on feather, I get: Svndiff data ends unexpectedly: Unexpected end of svndiff input 15:46
and then it just seems to hang forever
offby1 today is a good day for svk trouble, apparently.
kolibrie well, I just saw all the conversation and thought I'd add my two cents 15:47
TimToady @messages 16:10
lambdabot audreyt said 1h 47m 33s ago: { my $x; { ...; { $x = 1 }; my $x } } # should be an error, right? so S04:88 is incomplete -- $x could be bound to $OUTER::OUTER::x instead of $OUTER::x in this case,
and it's equally invalid to redecl it in an intermediate scope. correct?
TimToady audreyt: yes, that's correct
geoffb audreyt: Is there a doc somewhere that explains how svk 2 got faster? 16:17
geoffb is still in 1.08 land (Debian Etch), but curious about the technical details of just about any nice optimization
geoffb finds it very, very hard not to optimize everything he touches ... but if I did that, I'd never get any work done. :-) 16:18
[particle] thinks geoffb could be typing fewer chars
geoffb huh? 16:19
[particle] optimize your text
geoffb oh
Yeah, I am kinda verbose, aren't I?
[particle] ;)
geoffb Blame my mother, she's an English teacher.
16:25 prly_ joined 16:30 prly__ joined
[particle] geoffb: i think the svk speed improvement is due to improvements in svn 1.4 16:36
geoffb [particle]: hmmm ... so anyone using svn 1.4 would have seen the improvement, not just svk users .... 16:37
[particle] i'm sure there are svk-specific improvements, but i know syncs with svn 1.4 (both client&server required) are much improved 16:38
hey, here's a blog entry about svk 2.0: bestpractical.typepad.com/worst_imp....html#more 16:39
lambdabot Title: Best Practical: SVK 2.0 is better, faster and just as free, tinyurl.com/ytbmdc
audreyt lichtkind: I have not yet received it. 16:44
let me check spam folder 16:45
16:45 weinig is now known as weinig|bbl
audreyt lichtkind: no. did you send to [email@hidden.address] can you try [email@hidden.address] 16:45
clkao the improvement requiring 1.4 is during sync 16:47
lichtkind audreyt: yesterday 13:20 to [email@hidden.address] 16:57
geoffb [particle]: thanks for the url, reading ...
audreyt lichtkind: please resend to the gmail addr 16:58
sorry about that but I've not seen it even in spamfolder
geoffb clkao: Has the "other big announcement" about svk happened?
clkao uhm. no the announcement hasn't happened 16:59
but what's happened in the potential big announcement has happened.
audreyt so if you demand a big announcement, the value can be yielded 17:00
instead of fail with nontermination
geoffb Is the thing that happened secret, or can you share?
lichtkind audreyt: i forwarded the send mail to your gmail its inside the textblock
audreyt danke
lichtkind bitte :)
geoffb Oooh, that pullyu utility is a NICE feature ... 17:02
geoffb now can't wait for Etch to release so package updates start flowing into testing again
audreyt lichtkind: got it this time thanks 17:04
lichtkind audreyt: moritz also liked it when you think have time to look through?
audreyt lichtkind: looking at it now 17:05
but will sleep soon, so don't expect reviews until tomorrow
lichtkind great so i wait here :)
audreyt but it's an entertaining read (and I think I grok the meanings even without dictionary)
lichtkind ah
audreyt "die mƤchtigste und durchdachteste Sprache unter dem Erdenhimmel" indeed. :-) 17:06
lichtkind thanks but im bit curious that you say entertaining even when you dont understand fully :)
audreyt well, that's not unlike reading a beautifully written, say, O'Caml program
lichtkind yes bit fanboyism but i wouldnt be here if it were anything other
lichtkind doesnt speak O'Caml 17:07
audreyt that's exactly the idea.
lichtkind but i havent seen it ... will look
audreyt fullname is "Perl 6 User's Golfing System" 17:12
not "user golfing system"
a user-golfing system would be a lot of fun 17:13
lichtkind haha
audreyt where we can knock user's heads as golf balls
lichtkind OCamls looks nice
audreyt but probably not as productive
lichtkind replacing the topic 17:14
are you really trough or just skipping?
audreyt both
I skipped the words I don't know :)
lichtkind haha
i want to revamp the last chapters bit 17:15
and add something about span6
cpan and also mention MAD
and there are some bits about pugs i want to and and therefore its great that you here so i can ask :) 17:16
did you noticed some other mistakes?
audreyt yeah. PIL is not Parrot Intermediate Language 17:18
lichtkind but? 17:19
audreyt Pugs's Intermediate Language
17:19 Jedai joined
lichtkind haha 17:19
audreyt look ad parrot/docs/glossary.pod
lichtkind ah no joke?
audreyt *at
no, no joke.
lichtkind so i mistaken this one 17:20
audreyt yeah
lichtkind so i assume thats very different from PIR
audreyt yeah. it's roughly equivalent to PAST
though it precedes PAST, and is more perl6-specific
(i.e. assume perl6 calling convention, binding convention, etc)
lichtkind no clue, i code maily in p5 editors you know, but please what is PAST? 17:21
an AST?
audreyt PAST is "Parrot/Punie Abstract Syntax Tree" 17:22
lichtkind the thing pge compiles into?
audreyt er, was
[particle] parrot abstract syntax tree
audreyt now promoted to "Parrot Abstract Syntax Tree"
though still referred to with old name in e.g. compilers/past/PAST.pir
lichtkind yes but thats what PGE generates
audreyt dunno. last I recall PGE generates a parse tree 17:23
which is transformed by TGE into PAST 17:24
then again into POST
but that may have changed.
seems not.
[particle] audreyt: you recall correctly
but now tge allows you to define your own transforms 17:25
lichtkind i dunno the details but will told me that TGE generates PIR
[particle] so you could go parse -> pil if you wanted to
audreyt though not recursively
so the inner block is still PIR
but yes.
lichtkind and what the heck is difference between PAST and POST? 17:26
audreyt (recursion really would help :))
lichtkind so TGE is transforming it several time but finally produces PIR 17:27
audreyt (as in, recursive subcompilation so you can write transformers in any language that has a compiler to PIR. I think. but </backseat-driving> :))
lichtkind i just want to be correct
:)
[particle] lichtkind: perl 6 is the high level language as typed by developer, parse tree is converted to tree format, past is conversion of hll-syntax tree to express semantic operations, post is conversion to vm-synax tree, pir is vm level language 17:28
obra TimToady: ping
audreyt ProgramText -(PGE)-> PAST -(TGE)-> POST -(TGE)-> PIR
17:28 justatheory joined
TimToady obra: pongongongong 17:28
lichtkind [particle]: thanks i knew just didnt heard about POST 17:29
audreyt er sorry.
ProgramText -(PGE)-> Match -(TGE)-> PAST -(TGE)-> POST -(TGE)-> PIR
[particle] lichtkind: think of PAST as a transformational mirror, where hll is reflected as pir, and parse tree is reflected as opcode syntax tree (aka post)
obra TimToady: groups.google.com/group/news.softwa...46db058d2d prompted a friend of mine to realize that he really missed playing Warp...and then to discover that it's not packaged for Debian. He asked me to ping you to see if you knew where he might find a recent source tree that he could port to modern Linux and package for debian.
lambdabot Title: A new OFF THE WALL SOFTWARE PRODUCT from LARRY WALL - news.software.b | Google G ..., tinyurl.com/2abf3f
lichtkind thanks audrey but what Match stands for? 17:30
audreyt the match tree objects that PGE parses the program text to 17:31
it has no particular name.
some call it "parse tree"
it's not really a language with semantic meaning at that level. 17:32
obra Ah. www.isc.org/index.pl?/sources/games.../warp7.php Is that the most recent release?
lichtkind good 17:33
[particle]: thanks
audreyt: any more mistakes?
audreyt: after the mistakes in the article i want also mention that pugs brought a new dev culture my question: is still developing in all directions or is now more sttled down? 17:34
audreyt well, it's still developing in all directions, though the directions are more settled down. 17:35
TimToady obra: as far as I know that's the most recent. was still optimized for dumb terminals at that point, so used nulls to control timing of explosions. running under X tends to defeat that though, so it tends to zip through the turbolasers rather too fast. :/
[particle] wonders if svk views could be set up to make it easier to develop a part of pugs
audreyt [particle]: mm interesting thought
[particle] like, a kp6 view
audreyt *nod* 17:36
TimToady obra: over the years I've heard from a couple of people who asked to port it, but I don't know if anything every came of those efforts.
obra TimToady: I'll pass that along. Oh. heh. Apparently, it's not debian free, so it will end up in non-free. 17:38
audreyt lichtkind: sorry really need to sleep
lichtkind: can we sync this again tomorrow? :)
obra I'll tell you if kcr gets anywhere
TimToady ok, thanks 17:39
by the way, the original version was written in BASIC/PLUS. :)
obra Oh wow.
. o O { Warp 6 } 17:40
obra gets bad ideas about release announcements for 1 April
args obra++
I mostly had the same idea at the same time. 17:41
lichtkind audreyt: gut bis morgen :)
good nicht 17:42
night
18:09 nxu7-wrk joined 18:12 jisom joined 18:18 iblechbot_ joined 18:20 idiotmax joined 18:37 bonesss joined 18:42 xerox joined 18:48 devogon joined 18:49 rashakil_ joined 18:50 the_dormant joined
svnbot6 r15725 | audreyt++ | * Today's $job hack to get Java working with Pugs. 18:56
r15725 | audreyt++ | You need: Inline::Java and a suitable CLASSPATH variable.
r15725 | audreyt++ | You write:
r15725 | audreyt++ | use java:java.lang.System;
r15725 | audreyt++ | say "Greetings from Java ", System.getProperty('java.version');
r15725 | audreyt++ | You see:
r15725 | audreyt++ | Greetings from Java 1.5.0_07
r15725 | audreyt++ | Qualified class names aka java::lang::System.getProperty(...) works too.
r15725 | audreyt++ | Enjoy. :-)
wolverian audreyt, whoa! nice :) 18:57
audreyt ($job has code that probes JNI, does more type coercion stuff, CLASSPATH shuffling, etc) 18:58
but too mangled to check in
so just the simple version
but it's fun :)
*puff*
TimToady now you just have to change to new syntax: "use System:from<Java java.lang.System>;" :)
having worked once upon a time on Java/Perl interaction, I know just about how much fun it is. ;) 19:00
19:00 bonesss joined 19:04 fglock joined 19:12 wilx` joined 19:15 amnesiac joined
TimToady www.usnews.com/usnews/biztech/artic...record.htm 19:32
19:48 geoffb joined
svnbot6 r15726 | fglock++ | Data::Bind - added tests for blessed references 19:50
fglock hmm - I know there was a problem with Data::Bind and references, but I can't reproduce it 19:51
19:55 ruz joined 19:56 [particle] joined
audreyt @tell TimToady S06:1711 is contradicting S02:1542 badly :) 19:57
lambdabot Consider it noted.
audreyt @tell TimToady "our multi f (){...}; { &f(1); our multi f($x){...} }" is fine, right? "our multi f(){...}; { &f(1); my multi f($x){...} }" explodes, correct? 19:58
lambdabot Consider it noted.
TimToady yes, should probably explode as a too-late redef 20:03
lambdabot TimToady: You have 2 new messages. '/msg lambdabot @messages' to read them.
TimToady fixing S02...
audreyt so just to be sure, "my $x; { ...; { $x } my $x }" explodes right? 20:05
20:06 Aankhen`` joined
audreyt and under default stricture, an unbound "&f" is resolved at end of compunit to &*f if &*f is there, but "$f" in same situation is error 20:06
(that's the assumptions this refactored-pugs are working with now; just want a sanity check)
jrockway hey, can i ask a stupid haskell question here (#haskell never gives me an understandable answer) 20:07
audreyt jrockway: sure... 20:08
xerox :O
audreyt TimToady: that set of assumption allows "die(); my sub die () { 'not really' }" to not die at all (and no error at all.) probably sane.
would be fine if it's ruled as error (prebinding to global considered part of too-late rule) 20:09
but, which would reject "die(); sub die () {...}" too.
jrockway if i have a data Foo a = Foo a, and data Bar a = Bar a, and I want to write a function "baz" that depends on the type, I can create a class and two instances to handle that, right? 20:10
i hope so, but i can't figure out the syntax
xerox yep
jrockway class Bazable where \n baz :: b a -> b a -> a ?
xerox class Quux n where quux :: n -> n
jrockway what is the n there? 20:11
i have a (Foo a) and then the (a)
xerox the constrained type variable
jrockway the function takes two (Foo a)s and returns a
(a is probably a Num)
audreyt class Bazable m where baz :: m a -> m a -> a
xerox keep in mind that Foo is a type constructor, and Foo a is a type
TimToady audreyt: yes, I think that is all sane.
xerox instance (Num a) => Quux (Foo a) where ... should work?
audreyt TimToady: cool, consider it done :) 20:12
sleephack & 20:13
jrockway yeah, that ends up being a kind mismatch 20:15
expected * -> * , Foo a is '*' 20:16
20:24 vel joined
audreyt TimToady: wow. this system has a very good mfix/letrec property. if $y is not in scope, we can have 20:27
sub f ($x = $y, $y = $x) { ... }
and either f(x=>1) or f(y=>1) would work. 20:28
or, more generally: 20:29
my @x := (1, @y); my @y := (2, @x);
would work fine as well.
(assuming, again, that @y is not in scope.)
TimToady hope it doesn't shoot our performance to heck 20:30
audreyt nope; not at all related to performance 20:31
TimToady do we know why we're currently still about 2X slower than we were
?
audreyt yes. the new Pad node is behaving very slowly 20:32
(part of the reason to motivate refactoring)
we shouldn't have a Pad node anyway.
since now it's always first stored into the mutable %COMPILING::, then directly grafted onto a block. 20:33
so should be faster after the padrefactor.
TimToady good. please keep me honest if you see any design decisions that make it impossible to run blazing fast eventually. 20:34
audreyt sure
also. CALLER::<$?LINE> is not a lexical variable at all, right?
TimToady no, but just clarified that CALLER:: does lookup of any available symbol at that point.
audreyt it can't really be closed over; also a lexical variable doesn't vary padentry across lines
TimToady spec in svn, hasn't popped up here yet 20:35
specbot6 r14350 | larry++ | Change CONTEXT:: vars to be consistent with new context() function.
r14350 | larry++ | Clarify that CALLER:: can return variables defined elsewhere if visible there.
jrockway hey, i got my program working :) 20:36
thanks for your help
TimToady don't worry, we'll find some way to break it. :)
jrockway the key was to put the Num a => in the type signature of a method in the class
i don't understand why it works yet... but it does :)
20:38 vel joined
Limbic_Region audreyt - judging from svn up - you found the Win32 hanging problem with entities.t? 20:40
lambdabot Limbic_Region: You have 1 new message. '/msg lambdabot @messages' to read it.
Limbic_Region @moosages
lambdabot audreyt said 5h 9m 35s ago: the infinite loop should be gone now
audreyt Limbic_Region: yeah
Limbic_Region heh
audreyt TimToady: spec is weird... sub f { my $x is context; CALLER::<$x> = 123; f() } 20:41
Limbic_Region running a smoke. Hopefully it will finish and upload - will be the first time for me in well over a month
TimToady eh? CALLER can't see its own $x 20:42
20:42 [particle] joined, vel joined
TimToady can't set it either without <rw> 20:43
20:44 vel joined
TimToady are you thinking you have to close CALLER::<$x>? Doesn't quite seem like a requirement to me... 20:45
to me it's more like caller.my('$x') 20:46
though it would be nice to avoid looking it up multiple times, I suppose 20:47
but that's more like a memoization
audreyt I see. 20:48
TimToady where that lookup cache is what is closed
more like a state 20:49
xerox jrockway: Haskell single parameter type classes are just sets. Sets of types. |class| defines such a set. |instance| puts the given type (or set of types, like in your case) in the set.
TimToady hmm, state doesn't work for recursion tho
and caller would vary 20:50
audreyt ok, that's clear... re $?LINE, does OUTER::<$?LINE> have to make sense?
TimToady maybe a line range...
xerox jrockway: it's very straightforward, I think. Also, multi parameter type classes are actually relations, in the mathematical sense (subset of the cartesian product).
TimToady but if just a num, presumably first line of outer block
xerox jrockway: in the end functional dependencies turn these relations into functions. 20:51
TimToady @?LINES for a range maybe
audreyt but CONTEXT::<$?LINE> would be the last line before our block
even though they are (conceptually) same scope
TimToady CONTEXT is this scope, not OUTER
xerox jrockway: that's the way through which one can actually do computation in the type system :)
TimToady so CONTEXT($?FOO) is likely to be equiv to $?FOO
audreyt gotcha. 20:52
but still
CALLER::<$?LINE>
would be the line of call
not the first line of caller's scope
TimToady presumably
audreyt so they are actually distinct symbols, provided they are constant entries 20:53
TimToady hmm, two meanings of "current line"
audreyt one way to do this is, when entering a call frame
TimToady $?LINE current dynamic location
audreyt in addition to "is context" vars
TimToady @?LINES the block range?
audreyt it pushes $?LINE into the is-context set
but it isn't really lexical
i.e. not existing in the block's pad
well, the problem is that $?LINE wouldn't be @?LINE[0] that way 20:54
TimToady well, we could abandon $?LINE as part of context, and make context.line actively figure it out
audreyt it's not really nesting...
yes.
since we're pushing toward making magical constants actually compiler-filled const entries 20:55
i.e. it has to be definable using "constant ..." notation conceptually
TimToady context.pc
audreyt we should eliminate dynamic access to $?LINE under the same logic we eliminated $?SELF 20:56
TimToady so COMPILING::<$?LINE> makes sense, but not CALLER::<$?LINE>
*nodnod*
audreyt after glacing all $?, I see nothing worth keeping as part of cxt
*glancing 20:57
TimToady good!
audreyt so maybe they are never is-contextual.
and dyncursor access is always through methods -- which is good, because methods means it does work, instead of just symbols you can close over.
TimToady still want to get at them somehow
audreyt and sure re COMPILING:: :)
sure, but they are more like runtime API instead of padentry 20:58
TimToady so is it a problem that CALLER:: implies work?
audreyt not a problem, but CALLER:: implies scope
TimToady CONTEXT:: certainly implies work to find the scope...
audreyt and punning within that scope should be restricted to things that we con conceivably marked as both dyn and lex 20:59
via "is context"
which you can't really define $?LINE this way
TimToady yeah, that'd imply that $+?LINE should work, shudder. :) 21:00
on the other hand, can a user say "constant $?FOO = ..."? 21:01
21:01 wilx` is now known as wilx
TimToady and then, of course, they want "constant $?FOO is context" 21:02
audreyt I don't think that's possible
or rather, should be made possible :)
TimToady force 'em to say 'constant $line is context = $?LINE' ? 21:04
audreyt yeah.
$?FOO are to me but special names to constant inlined macros
not unlike __FOO__
so I'd like to keep them apart from anything that depends on runtime info 21:05
because with
constant $LINE is context = $?LINE;
everybody knows it's fixed to that line
not varying to whatever Apply nodes in that scope
constant $LINE is context = $?LINE; f(); g(); h(); 21:06
&f&g&h sees the same caller-line
TimToady officially forgettable symbols, but possibly keep a secret stash of 'em for caller.compilersymbol('$?LINE') lookup
audreyt yup
and the real dynamic line is better known as caller.line 21:07
==>> @moresleephack & 21:08
TimToady have the appropriate amount of sleepfun
miyagawa hi audreyt 21:11
[particle] -Odreams 21:14
21:15 ofer0 joined 21:20 rashakil__ joined
specbot6 r14351 | larry++ | Refinements to context methods. 21:27
TimToady commuting & 21:29
Limbic_Region yawns 21:30
21:31 pelagic joined
offby1 don't start that!! 21:32
offby1 stifles
tene yaaaawns 21:34
21:46 Psyche^ joined
offby1 Nooo!!! 21:46
offby1 drinks three double-tall skinny extra-mocha lattes 21:47
avar offby1: I was off by one in a program yesterday and though of you 21:50
offby1 oh goody :-p
avar >:)
offby1 serves me right for naming myself after an error.
Limbic_Region holy cow - smoke is still running after an hour 21:51
21:54 iblechbot joined 22:02 Psyche^ is now known as Patterner 22:03 forsaken joined 22:04 diakopter joined
Limbic_Region salutations diakopter 22:07
Limbic_Region was just about to go check the mail 22:08
have you received yours yet?
22:10 theorbtwo joined 22:26 ludan joined
moritz_ has anybody written a sudoku solver in perl for arbitrary sudoku sizes? 22:31
and released it as open source, that is
Khisanth there are several on CPAN
moritz_ *looking* 22:33
22:44 forsaken joined 22:54 larsen_ joined 22:57 dvorak joined
meppl good night 23:13
23:15 IllvilJa left 23:18 Limbic_Region joined 23:19 ofer0 joined 23:27 jamessan left 23:35 amnesiac joined 23:37 polettix joined
svnbot6 r15727 | lwall++ | Test cross operator in smooth vs chunky context. 23:40
TimToady Welcome to the Paradigm Exchange Research Laboratory. 23:43
Tours and tasting daily. 23:44
23:47 dmpk2k joined
Khisanth points dmpk2k towards TimToady :) 23:48
dmpk2k --;
Okay, what's a smooth and chunky context?
diakopter chunky is less melted. 23:51
Khisanth mmm melted brains 23:52
TimToady a reference to peanut butter. smooth context is normal list context, indicated by @() coercer. chunky preserves original structure of a list of captures, so you end up with a list of arrays instead, and the coercer is @@(). 23:53
Khisanth goes to look for the Hannibal Lecter operator
TimToady grep all the @@ from the synopses for more
dmpk2k I see. Thanks.
TimToady it avoids writing twice as many functions for things like zip and map 23:54
and the X operator, in the case of the recent patch.
dmpk2k Ouch. I see I have a lot of reading to do. :) 23:55
TimToady I'm not sure whether to hope it will be boring or not boring reading...
23:57 explorer joined
diakopter wishes svnbot6 would post a link to the revision page, e.g. the last one: dev.pugscode.org/changeset/15727 23:57
lambdabot Title: Changeset 15727 - Pugs - Trac
dmpk2k Reading about Perl6 is rarely dull, so...
diakopter or lamdbabot could post the url in response to an svn revision so lambdabot wouldn't also respond with the url's title. 23:59