|
Feather users: perlcabal.org/~autrijus/ | pugscode.org/ <Overview Journal Logs> | pugs.kwiki.org Set by autrijus on 26 May 2005. |
|||
| mugwump | I guess I don't need the built-in ASCII ones to be overloadable; there's plenty of lookalike unicode characters I can use :-> | 00:00 | |
| meppl | gute nacht | 00:02 | |
| mugwump | das bin alles du sagen! | 00:03 | |
| Ich bedeute, ist das alles, das Sie überhaupt sagen;) | 00:06 | ||
| eric256 | later all. | 00:09 | |
| autrijus | SamB: so you broke pugscc for this release... :-/ | 00:10 | |
| SamB | autrijus: oops | ||
| how? | |||
| autrijus | SamB: I think I'll revert things to before the <ref> bug | ||
| meppl | so i made tests for a developer some weeks ago :o) thats my only contributuin as yet | 00:11 | |
| SamB | I thought that was there *before* I started messing with it? | ||
| autrijus | SamB: that is possible. then it's not your fault :) | ||
| I merely ran "svk annotate" | |||
| and saw your name associated with the | |||
| 16860 ( bsmith 2005-05-10): instance (Typeable a) => Show (TVar a) where | |||
| line | |||
| apologies if that's actually broken before you | |||
| meppl: that's nice :) | 00:12 | ||
| ok, no big deal. I'll just declare it broken. | |||
| SamB: right, it was broken before you started hacking AST.Internals. my apologies | 00:16 | ||
| autrijus wonders what really broke it | 00:17 | ||
| mugwump dashes off home to meet the guy who's installing his 55 MEGABIT uplink | 00:23 | ||
| autrijus | :) | ||
| nice | |||
| mugwump | sadly I won't get full rate to work | 00:24 | |
| as we've only got a 10Mbit fibre connection here | |||
| theorbtwo | You know, it's a crazy world when the 10Mbit fibre connection is the slow one. | 00:25 | |
|
00:27
ChanServ sets mode: +o autrijus,
autrijus sets mode: -o autrijus
|
|||
| autrijus | so, preflight. finally | 00:28 | |
| pugscode.org/tmp/Perl6-Pugs-6.2.6-pre1.tar.gz | pugscode.org/ <Overview Journal Logs> | pugs.kwiki.org | 00:29 | ||
| theorbtwo | Does this mean that I should wait to check in any Code::Exp patches? | 00:29 | |
| (Not that I'm actively working on them at the moment...) | 00:30 | ||
| autrijus | Preflight! pugscode.org/tmp/Perl6-Pugs-6.2.6-pre1.tar.gz | ||
| theorbtwo: well, if you're relatively sure it won't break existing tests, go ahead :) | |||
| theorbtwo | Nod. | ||
| autrijus | is anyone running smoke on the preflight? :) | 00:36 | |
| wolverian | sorry, have to go sleep. 25 hours or so of the waking world is too much | 00:39 | |
| autrijus | that's fine :) | 00:40 | |
| autrijus ponders if letting it simmer a bit is a better idea | |||
| SamB: the compile problem is fixed. it's caused by Prelude. sorry :) | 00:41 | ||
| SamB | you mean GHC.*? | ||
| then again, I guess that is where everything in Prelude comes from... | 00:42 | ||
| (nearly) | |||
| autrijus | I mean src/perl6/Prelude.pm | 00:43 | |
| SamB: got some time to run a "make test"? :) | |||
|
00:49
ChanServ sets mode: +o autrijus,
autrijus sets mode: -o autrijus
|
|||
| puetzk | anyone here want to commit a patch to docs/quickref/unicode with more of the vim digraphs? | 01:03 | |
| autrijus | puetzk: why don't you commit yourself? | 01:04 | |
| puetzk | autrijus: I suppose I could ask for a committer bit too :-) | ||
| autrijus | puetzk: email? :) | ||
| puetzk | but then I'd have to learn haskell | 01:05 | |
| not that that would be bad :-) | |||
| autrijus | nah, you can commit in docs/ first :) | ||
| what's your email again? | |||
| puetzk | [email@hidden.address] | ||
| autrijus | invitation sent. welcome aboard! | 01:08 | |
| oh wait | |||
| you're already registered. | |||
| you're a committer now :) | |||
| puetzk | registered where? | ||
| autrijus | in openfoundry | ||
| puetzk | oh, since I submitted a bug | ||
| ok :-0 | 01:09 | ||
| autrijus | anyone on win32 willing to test the preflight? | 01:10 | |
| puetzk | committed :-) | 01:11 | |
| eric256_ | the call for a test still out there? | 01:17 | |
| i can run a test on Win32 if needed | 01:18 | ||
| autrijus | woot! | ||
| yes | |||
| eric256_ | do you want smoke or just a regular test run? | ||
| theorbtw1 supposes he should do that testing thing. | |||
| autrijus | eric256_: just "make test" | ||
| from the tarball in the topic | 01:19 | ||
| pugscode.org/tmp/Perl6-Pugs-6.2.6-pre1.tar.gz | |||
| theorbtw1 | Oh, that isn't equiv to a svn checkout? | ||
| autrijus | it's somewhat earlier | ||
| should be the same | |||
| eric256_ | eww tarball? can i just SVN a certain version? | ||
| autrijus | so if you already have a checkout going, just use that | 01:20 | |
| eric256_: you can use svn also. the idea of tarball is just making sure the manifest etc are right | |||
| eric256_ | i'll download that then | ||
| theorbtw1 | Anybody check AUTHORS? I see it was just modified. | ||
|
01:21
theorbtw1 is now known as theorbtwo
|
|||
| autrijus | theorbtwo: I just fixed some capitalisation | 01:21 | |
| hadn't run the usual script | |||
| eric256_ waits for it to finish building | 01:23 | ||
| autrijus | all tests clean on freebsd | ||
| still going on feather | 01:24 | ||
| puetzk glares at Pugs.Embed.Perl5 | |||
| I thought this worked yesterday | 01:25 | ||
| maybe I was just crazy | |||
| autrijus | puetzk: what worked? | ||
| puetzk | that it compiled | ||
| autrijus | if you toggle between the two you'd need to rm the .o and stub files | ||
| puetzk | it had never worked before | ||
| autrijus | it should work | ||
| puetzk scrubs his tree | |||
| autrijus | but if you had an older build without embedperl5 in the same locatio | ||
| you need to kill the .o and stub files | 01:26 | ||
| puetzk | it's missing a _GNU_SOURCE, so it doesn't get a declaration needed for rcrypt | ||
| eric256_ realizes he did nmake instead of nmake unoptimized....well maybe the tests will run faster and it will balance out | |||
| puetzk | at least, that's what was going wrong before | ||
| puetzk lets it build again | |||
| eric256_ | does svnbot need fixed? someone working on that? | 01:27 | |
| puetzk | same failure. Hmm... | 01:28 | |
| autrijus | I'm fixing that | 01:29 | |
| puetzk: hmm. what if you add, by hand, the _GNU_SOURCE to $ghc_flags in Makefile.PL or in Makefile | |||
| puetzk tinkers | 01:34 | ||
| adding it at the top of perl5.h didn't work, which makes me think that something is specifically messing with those flags | 01:35 | ||
| autrijus | bah. svnbot6 is beyond repair | ||
| autrijus gives up | |||
| maybe when I'm more awake | 01:36 | ||
| eric256_ | .me vows never to make optimized agian | 01:37 | |
| theorbtwo | Hm, I see what looks like an awful lot of "# Looks like you planned 42 tests, but ran 0# Looks like you planned 42 test | 01:39 | |
| autrijus | theorbtwo: what files were those? | 01:41 | |
| eric256_ | final linking almost done! lol | ||
| puetzk | hmm, actually -D_GNU_SOURCE is in the compile command line | 01:43 | |
| so why *else* would crypt_data not be defined | |||
| puetzk pokes | |||
| autrijus | theorbtwo: note that you need a "make" before "make smoke" | ||
| but "make test" will take care of that | |||
| puetzk | any way to get it to dump the preprocessed header in between? | ||
| autrijus | puetzk: not sure... ghc -v3 or something | ||
| theorbtwo | -keep-temp -optc-keep-temps, or something very much like that. | 01:44 | |
| It def built first. | 01:45 | ||
| Might not have built completely, though. | |||
| Various ext tests. Now that it's gotten to the core tests, it's doing much better. | 01:46 | ||
| eric256_ | running test. so far so good | ||
| autrijus | theorbtwo: yeah, I think it's because of stale pm_to_blib | ||
| theorbtwo: in ext/ tree. you're running it off a svn checkout with previous builds, right? | 01:47 | ||
| if so that's as expected | |||
| theorbtwo | No, that was from a tarball. | 01:48 | |
| autrijus | uh oh. | ||
| "make smoke" or "make test"? | 01:49 | ||
| theorbtwo | make smoke. | 01:50 | |
| autrijus | ok. make smoke needs a make all first | 01:51 | |
| fixing that | 01:52 | ||
| thanks, fixed as r4313 | 01:54 | ||
| gugod: can we have jabbot back as svnbot? | |||
| at least before iblech's return | |||
| gugod | sure | ||
| autrijus | gugod++ | 01:55 | |
| eric256_: how's the tests? | |||
| puetzk | autark-jp: ok, ghc has -D_GNU_SOURCE, but it's not passing it through to gcc | ||
| puetzk digs | |||
| eric256_ | it is realy unhappy about some /builtines/system/01-strings-with-spaces file? | ||
| NOK 127 and counting | 01:56 | ||
| autrijus | oh wow. | ||
| eric256_ | t/builtins/system/01-strings-with-spaces...........NOK 137pugs.exe: ./t/builtins | ||
| y) | |||
| autrijus | ok, thanks | ||
| eric256_ | is it going to get over this and mov on? because its at 171 and still counting. | ||
| autrijus | 322 | 01:57 | |
| it's going to get over that | |||
| jhorwitz | evening, lambdacamels. | ||
| autrijus | yo jhorwitz | ||
| puetzk | ah, but there's no -optc "-D_GNU_SOURCE" | ||
| jhorwitz | autrijus: good to see you're alive. ;-) | ||
| autrijus | jhorwitz: I'm sick but alive ;) | ||
| theorbtwo | Evening, jhorwitz. | ||
| puetzk | so the literate preprocessor (-optl) gets it, and haskel itself gets it (apparently haskell itself uses CPP?), but gcc didn't | 01:58 | |
| jhorwitz | autrijus: just getting over something myself. | ||
| autrijus | eric256_: that's the only failure so far? | ||
| puetzk wonders if that means all the -D_LARGEFILE_SOURCE and such aren't working either, or if it's supposed to pass through | |||
| eric256_ | yes | ||
| autrijus | jhorwitz: got time to test pre2? | 01:59 | |
| eric256_: ok, keep it running | |||
| jhorwitz | autrijus: will do. | ||
| eric256_ | hehe t/builtins/system/01-strings-with-spaces...........FAILED tests 2-323 | 02:00 | |
| autrijus | pugscode.org/tmp/Perl6-Pugs-6.2.6-pre2.tar.gz | pugscode.org/ <Overview Journal Logs> | pugs.kwiki.org | 02:00 | |
| autrijus | jhorwitz: pugscode.org/tmp/Perl6-Pugs-6.2.6-pre2.tar.gz | 02:00 | |
| jhorwitz | giddyup | ||
| autrijus | eric256_: hm, Win2k? winxp? | ||
| eric256_ | xp home | ||
| autrijus | Corion will probably need to reinvestigate then | ||
| for now I'm just disabling the entire test in pre2 | 02:01 | ||
| theorbtwo: "make smoke" with pre2 should initialise the ext/ correctly now | |||
| jhorwitz | autrijus: i assume parrot is now required for testing? | 02:02 | |
| autrijus | jhorwitz: no, not really | ||
| jhorwitz: the rules test will skip if parrot is not found | |||
| at least that's the idea | |||
| theorbtwo | Ugh, lots of missing people. | ||
| jhorwitz | i'll test it anyway | ||
| autrijus | k | ||
| lunch, bbiab & | 02:03 | ||
| theorbtwo | SamB, dakkar, broquaint, naesten, fireartist, mrborisguy, simon, puetzk, cdpruden. | ||
| puetzk | theorbtwo: in fairness, autrijus added me about 15 mins ago :-) | ||
| SamB | theorbtwo: missing from what? | 02:04 | |
| autrijus | SamB: AUTHORS persumably | ||
| puetzk | ah, -optl is the linker, -optL would be the literate preprocessor. Now this makes mrore sense | ||
| theorbtwo | The AUTHORS file. | ||
| puetzk | case-only distinctions are evil :-) | ||
| SamB | um, no I'm not. | 02:05 | |
| theorbtwo | Yeah, but you checked in code since then, so you should be in AUTHORS. | ||
| Ah, but your line doesn't have "SamB", so my script couldn't see it. (It's not quite smart enough to figure out that Samuel is Sam. | 02:06 | ||
| SamB | okay, want me to fix it? | 02:07 | |
| theorbtwo | No, I will. | ||
| SamB | right, makes sense. | ||
| theorbtwo | The openfoundry people should probably buy ossf.org | 02:08 | |
| Anybody know simon's last name? | 02:21 | ||
| eric256_ | any one know if t/rules/perl5 takes a long time to run? | 02:23 | |
| puetzk | hmm | ||
| theorbtwo | Yes. | ||
| eric256_ | good. i was worried it had stuck | ||
| puetzk | and ghc -optc "-pipe" ends up passing -optc to gcc | ||
| that's... weird | |||
| theorbtwo | Try -optc-pipe -- no space. | ||
| puetzk | same | 02:26 | |
| theorbtwo ci's an updated AUTHORS. | 02:27 | ||
| puetzk | it's the last argument passed too, which seems suspiscious | 02:28 | |
| since everything else from -optc is before ghc starts passing filenames | 02:29 | ||
| theorbtwo thinks it's sleep time for him. | 02:34 | ||
| Oh, Aankhen, cpruden, gcomnz, mattc, simon: More information in AUTHORS would be quite welcome. | 02:35 | ||
| eric256_ | autrijus that file had the only failures for me | 02:36 | |
| how do i use the modules in the ext/ directory? | 02:37 | ||
| gugod | weird... | 02:46 | |
| autrijus | eric256_: you can "make install" and then "use" them | 03:05 | |
| mrborisguy | theorbtwo: do you want me to do a commit for the sole purpose of putting my name in? sounds a bit pointless... but i will if need be | 03:06 | |
| (and yes, i merely forgot again) | |||
| autrijus | well, not "need" per se | 03:07 | |
| simply that's kind of many people's first commit :) | |||
| but I see | |||
| Bryan "mrborisguy" Burgers | |||
| already | |||
| is that you? | |||
| jabbot | pugs - 4316 - * cpan-upload.p6, the script we're going | ||
| pugs - 4317 - * simon is simon cozens. also add sri. | |||
| mrborisguy | oh, hey, yeah it is | ||
| well then, i won't worry about it! | |||
| great | |||
| autrijus | =) | ||
| anyone still running test for preflight? | 03:08 | ||
| if not I think we're going to fly :) | |||
| eric256_ | all went well here. make install in the base pugs directory? or do i need to make each module i want to use? | 03:11 | |
| well by 'all went well' i mean all but that strings_with_spaces thing | |||
| autrijus | in the base pugs | ||
| nod | |||
| eric256_ | that wont touch my perl5 at all though right? | 03:12 | |
| i hadn't done a make install because i was worried about that | |||
| autrijus | it won't touch perl5 | 03:13 | |
| $ pugs cpan-upload.p6 Perl6-Pugs-6.2.6.tar.gz | 03:14 | ||
| Using FTP to upload files to PAUSE | |||
| uploading file "Perl6-Pugs-6.2.6.tar.gz" | |||
| Enveigler | One minor itch. I found a bug in inc/Module/Install/Win32.pm a couple of days ago but couldn't commit because I don't have commit. | 03:17 | |
| jabbot | pugs - 4318 - * This be Pugs ,version 6.2.6. | ||
| autrijus | Enveigler: what was it? and what's your email so I can make you a committer? | ||
| mugwump | how far away is yapc/hackthon? | 03:18 | |
| autrijus | mugwump: 20 days | ||
| Pugs 6.2.6 uploaded by cpan-upload.p6! | gttp://pugscode.org/ <Overview Journal Logs> | pugs.kwiki.org | 03:19 | ||
| autrijus | Pugs 6.2.6 uploaded by cpan-upload.p6! | pugscode.org/ <Overview Journal Logs> | pugs.kwiki.org | ||
| Enveigler | The bug is that - !$self->can_run('nmake') should be + !$self->can_run('nmake.exe'). I causes Makefile.pl to download nmake v1.5 whena later better version is available. | 03:19 | |
| mupnmar02 at sneakemail dot com | 03:21 | ||
| mugwump | cool. That gives me a deadline of 20 days to convert as much as S29 and Prim.hs to Perl-MetaModel classes as possible :) | ||
| mrborisguy steals that email address for spam | |||
| :D | 03:22 | ||
| Enveigler: just kidding | |||
| Enveigler | :) | ||
| eric256_ | for =$tempfile { shouldn't that put the each line in $_ ?? | 03:53 | |
| i ended up having to do for =$tempfile -> $_ { instead | |||
| jabbot | pugs - 4319 - svnbot.p6 - Fixed some formating issues | 03:57 | |
| autrijus | eric256_: that's weird | 04:02 | |
| eric256_ | $0 and $1 only seem to work the first time accessed, but i'm still trying the narrow that down. | 04:04 | |
| gaal | morn' | 04:11 | |
| eric256_ | \nick eric256 | ||
| gaal | wha-! release? | 04:12 | |
| eric256_ | opps. | ||
| gaal | sounds like i missed all the fun :-) | 04:15 | |
| autrijus | sorry for that :) | ||
| journal up. I'll nap a bit. bbiab | 04:16 | ||
| gaal | heh, i was havin' fun asleep :-) night, er, morning, autrijus. | ||
| jabbot | pugs - 4320 - * the usual props on cpan-upload.p6 | 04:17 | |
| pugs - 4321 - Fix 'nmake' -v- 'nmake.exe' | |||
| Enveigler | Gaal: Did you get the smoke report ? | 04:24 | |
| gaal | checking | ||
| think not, when did you send it? | |||
| Enveigler | 8 hrs ago? | 04:25 | |
| gaal | i'm checking the belly of my spam filter, hold on. | ||
| Enveigler | 'K | ||
| yome | Hi. Is there a channel more appropriate for Parrot discussion? Or is this the one? | ||
| obra | #parrot on irc.perl.rog | 04:26 | |
| org | |||
| yome | OK thanks. | ||
| gaal | oi, sorry Envigler, i hit 'd' on it this morning before i had cofee :/ | 04:27 | |
| can you resend | |||
| ? | |||
| mugwump | gaal, has that looping bug gone away for you in the Set tests? | 04:28 | |
| gaal | (saw a random-looking address w/o a subject and 100k... ;-) | ||
| mugwump, it hadn't, so i checked in a "skip_rest ; exit" in there :-) | |||
| mugwump | sure, I saw that ...I assumed that the bug had been fixed, as I couldn't reproduce it | 04:31 | |
| is it still happening for you on a current revision? | |||
| or the 6.2.6 release version? | |||
| (r4318) | 04:32 | ||
| gaal | hm, let me check | ||
| yikes! it's 7:30 | |||
| i can't chekc | |||
| sorry :) i have to $work early today | |||
| i really have to go now. & | |||
| mugwump | np | ||
| later | 04:33 | ||
| gaal | fwiw other people testing on win32 saw it too, work with Enveigler | ||
| mugwump | ah, it's win32 specific. how strange | 04:34 | |
| Enveigler | Sorry. I'm running nmake smoke and my screen is running like molasses. Strange. WHy won;t pugs.exe allow me to change it's priority? | 04:44 | |
| japhy | so look-ahead is <before PATTERN>. this implies that rules can take arguments. | ||
| so how is that defined? where is that argument for the rule to access? I don't see any mention of this anywhere | 04:46 | ||
| grr! | 04:47 | ||
| eric256_ | now that we have eval in pugs does evalbot need to use the .p5 helper? hhmmmm but then there is the Resource part. | 05:02 | |
| nothingmuch | www.storewars.org/flash/index.html | 06:36 | |
|
06:36
castaway_ is now known as castaway
|
|||
| jabbot | pugs - 4322 - * changelog: spelling nits from uri | 06:37 | |
| pugs - 4323 - * ChangeLog: 80char fix. | |||
| f0rth | there are 6 irc bots in examples/network, create a sub dir for them? | 06:46 | |
| nothingmuch | f0rth: i think that's a good idea | 06:49 | |
| drbean | just tried to build 6.2.6, but failed | 07:25 | |
| scook0 | drbean: what went wrong? | ||
| drbean | Parrot.hsc couldn't find parrot/packfile.h, interpreter.h, register.h | 07:26 | |
| they are in my parrot build tree, but not in the tree where parrot got installed | 07:27 | ||
| autrijus | drbean: that's right. you need to point PARROT_PATH to the build tree | ||
| drbean: the parrot installation process is b0rken. | |||
| drbean | Is PARROT_PATH supposed to be the build tree, or the installation tree. | ||
| OK. I understand | 07:28 | ||
| autrijus | japhy: those are calls. | 07:33 | |
| <before Foo> merely calls Rule.before() to form a new rule | 07:34 | ||
| japhy: <not before Foo> calls Rule.not(Rule.before()) | |||
| and those methods are in turn dispatched to parameterised rules int he current grammar. | 07:35 | ||
| japhy: see A05, "Defining Your Own Rules" | |||
| bbiab & | 07:36 | ||
| nothingmuch | Juerd: ping | 08:14 | |
| first class signatures discussion: | 08:19 | ||
| a signature is an object | |||
| it can take two lists - parameters and invocants | |||
| and produce a first class binding | |||
| the binding is a reflective object | 08:20 | ||
| allowing you to modify and query the bound parameters | |||
| (parameters are first class objects too, they have context, slurpiness, namedness, etc) | |||
| and when you are satisfied, to verify the where clauses | |||
| and invoke the sub | |||
| (from the binding) | 08:21 | ||
| Optional: argument + invocants are a first class object too | |||
| we have a new quoting operator: | |||
| signature(); | |||
| it's like a macro | |||
| it takes the string inside () and makes a first class signature | 08:22 | ||
| by creating parameters with certain info, parsed from the string | |||
| function signatures can now be generated: | |||
| sub foo is signature $sig { }; # or whatever the way is, it's documented in s06 i think | |||
| probably done as | 08:23 | ||
| sub foo is signature BEGIN { ... generate a signature object } { ... }; | |||
| any thoughts? | |||
| castaway | (woo, monologous :) | 08:24 | |
| nothingmuch | =) | ||
| castaway | I have absolutely no idea what you are on about, either :) | 08:27 | |
| (blissful ignorance) | |||
| nothingmuch | well | ||
| you might like it | |||
| castaway | Umm.. | ||
| nothingmuch | function signatures are not enoug meta-meta-meta-meta IMHO | ||
| this is a proposition for making an API | 08:28 | ||
| castaway | signatures are the name/params bit ? (or also the "multi" etc?) | ||
| nothingmuch | all of it | ||
| it is the full description of the code: | |||
| what it takes, | |||
| what it returns | |||
| how it behaves (it's type) | |||
| it's attributes, maybe (is pure, is cached) | |||
| castaway | Ok | 08:29 | |
| so hows the API bit? | 08:30 | ||
| nothingmuch | if you want a funky demo, grep for 'method dispatch' in docs/mmd.kwid | 08:32 | |
| Juerd: I need some feather system administration help... please pong when you have 5 mins | |||
| it's not the details of the API, just what it should give us | 08:34 | ||
| my $s = &foo.meta.signature; | |||
| $s.params ==> map { .name } ==> say; | |||
| sub foo ($a, $b); will yield '$a$b' in that print | |||
| say $s.params».context | |||
| "ScalarScalar" | |||
| i think | 08:35 | ||
| my $b = $s.bind(1, 4); | |||
| $b.invoke; # like foo(1, 4); | |||
| method assuming (Code $c, *@args){ my $b = $c.meta.signature.bind(@args); return sub { $b.invoke(@_) } }; | 08:36 | ||
| i like perl 6's meta meta ness | |||
| you can describe most features of the language using other features | |||
| the atoms are conceptually very few: closures, primitives, namespaces | 08:37 | ||
| castaway | hmm, wasnt theorbtwo fiddling with someting about exposing params ? | 08:40 | |
| nothingmuch | probably | 08:41 | |
| i think we all thought about it at some point =) | |||
| castaway | collaboration sounds clever here | ||
| nothingmuch | announcement: I am starting an experiment | ||
| castaway | hmm, and can you change the sig there? :) | ||
| nothingmuch | castaway: i was thinking outloud | ||
| so that I can get others to think | |||
| feather.perl6.nl/~nothingmuch/harrorth/README | |||
| the experiment is writing a haskell tutorial, as I am learning haskell | 08:42 | ||
| castaway | cool | ||
| nothingmuch | if anyone wants to follow, have fun | ||
| castaway | I currently have 63 other things I want to do in my spare time.. need more hours in the day :) | ||
| nothingmuch | castaway: i will post my concrete ideas on p6l once I have them so they can be discussed by others | ||
| *cough*andeventuallywarnocked*cough* | 08:43 | ||
| castaway | hehe | ||
| well, should poke James harder.. (he keeps getting stuck places then giving up on things) | |||
| clkao | nasty cpanupload.p6! | 08:49 | |
| castaway | hmm? | 08:50 | |
| nothingmuch | clkao: can I have the link to the we hate software images? | 08:52 | |
| sri_ | what's the new name of $0? | 08:53 | |
| nothingmuch | $/ i think | ||
| s04 IIRC | |||
| sri_ | it's not $/ | 08:54 | |
| or not implemented... | |||
| nothingmuch | oh wait! | 08:55 | |
| sorry | |||
| i got it mixed up | |||
| $0 is $*PROGNAME i think | |||
| $0 is now an alias to $/, or something like that. It's the rule match object | |||
| PROGRAM_NAME | 08:56 | ||
| t/magicals/progname.t | |||
| sri_ | thats it :) | ||
| thx | |||
| castaway was about to say it should be something with an actual name.. | |||
| clkao | nothingmuch: sure. | 09:01 | |
| mugwump | yay! Broadband at home again ... at long last | 09:42 | |
| castaway | grats :) | ||
| scook0 | mugwump: you don't notice how important it is until it's gone... | 09:46 | |
| mugwump | yup. it's a bit intermittant, sadly (long range wireless) | 09:49 | |
| but during its good moments it's about 4ms ping | |||
| this means I'm a lot more likely to do OSS at home now | 09:50 | ||
| mugwump downloads ghc 6.4 onto his laptop at a lovely 350kB/s | 10:10 | ||
| castaway | heh | ||
| Enveigler is green with envy! | 10:15 | ||
| nothingmuch | clkao: dum dee dum | 10:27 | |
| clkao | *yawn* | 10:28 | |
| nothingmuch | clkao: have a salad | ||
| beats coffee any day | |||
| did you find the links yet? | 10:29 | ||
| clkao | what links? | ||
| nothingmuch | for the 'We hate software" images | ||
| oooh, sync problems | |||
| "w | |||
| clkao | opensource.fotango.com/~clkao/runap...ftware.jpg | 10:30 | |
| nothingmuch | grazie! | 10:31 | |
| Juerd | nothingmuch: pong | 10:38 | |
| nothingmuch | beh | 10:56 | |
| how much of that got through? | |||
| castaway | of what? | 10:58 | |
| (there was nothing after Juerds "pong") | |||
| nothingmuch | network problems | 10:59 | |
| castaway noticed | |||
| nothingmuch | castaway: i need db2 help | 12:02 | |
| what's the name of the interactive shell? | |||
| castaway | "db" :) | 12:03 | |
| ehh.. "db2" | |||
| nothingmuch | hah | ||
| castaway | I usually skip it and run things like: db2 "select ... " | less -S, tho | ||
| nothingmuch | okay, that's good | ||
| castaway | (thaht is, after doing the connect) | 12:04 | |
| nothingmuch | how do i do the connect? | ||
| castaway | db2 "connect to <dbalias> user <user> using <password>" | ||
| nothingmuch | state persists between procs? it knows how to call the correct db2agent? | 12:05 | |
| castaway | its quite nice in that your shell just stays connected, and you can do whatever.. disconnect with: db2 "terminate" when done | ||
| I think the answer to that is yes :) | |||
| nothingmuch | goody =) | ||
| castaway | what're you up to, anything fun? | 12:06 | |
| jabbot | pugs - 4324 - * 100% Haddocks for Context.hs | 12:07 | |
| castaway | oh, jabbot is back, where'd the other announcerbot go? | 12:08 | |
| nothingmuch | castaway: we have an AIX box with 8gb of ram | ||
| and, for fun, aix can't meter mmap'ed memory | |||
| or malloc blocks larger than 256 | |||
| so if a program needs lots of memory, it usually mmaps | 12:09 | ||
| and we can't know how much | |||
| we're trying a big pull from db2 | |||
| and we want to see who is the guilty party | |||
| castaway | ah, fun | ||
| nothingmuch | because the box uses 7900MB of ram, and then swap-thrashes | ||
| castaway | wow thats a loz | ||
| lot | |||
| nothingmuch | yup | 12:10 | |
| for a fetch with no order or anything this is really a lot | |||
| plain old fetch without aggregation on our side is about 5000mb | |||
| and now i'm trying to see if it's our data fetching code, or db2agent or something like that | |||
| castaway nods | 12:11 | ||
| how many millions of rows of data are we talking about? | |||
| castaway wonders how much ram our AIX boxes have | |||
| nothingmuch | 200,000,000 | ||
| castaway boggles :) | |||
| nothingmuch | hah | 12:14 | |
| castaway | whats all that for? | 12:15 | |
| nothingmuch | db2 connect to db... \n | ||
| <delay> | |||
| then it finishes | |||
| 5gb taken | |||
| the delay is the time it takes to actually allocate the data | |||
| this is absurd | |||
| castaway: that's just to emphasise what I typed in the terminal | |||
| castaway | ummm ? | 12:17 | |
| nothingmuch | doing db2 connect causes a db2agent to start | ||
| that db2agent allocates 5gb of memory | |||
| and then I can start working | 12:18 | ||
| castaway | eh? | ||
| ouch | |||
| wtf? | |||
| nothingmuch | since our product is configured to use 5.5 gb of memory for aggregation | ||
| castaway | Oh, it preallocates? weird | ||
| nothingmuch | this slurps in about 30,000,000 records | ||
| and then the thrashing starts | |||
| since we would need 2.5 extra gb | |||
| Juerd | 30M records of how much bytes? | 12:28 | |
| I've used 30M record tables in sqlite even, so that says nothing :) | |||
| Hi L~R | |||
| Limbic_Region | hey Juerd - how's tricks? | 12:29 | |
| Juerd | tricks? | ||
| castaway | guess he's no magician | ||
| hey limbic | |||
| Limbic_Region | it's an expression | ||
| Juerd | Everything is an expression. | 12:30 | |
| Limbic_Region | just means how's it going | ||
| Juerd | Or a statement. | ||
| Limbic_Region: How is what going? | |||
| Limbic_Region hugs castaway | |||
| castaway hugs back | |||
| Juerd | Can I join the hug? | ||
| castaway | life, the universe, and everything! | ||
| castaway hugs Juerd too | |||
| Juerd | *hug* | ||
| Limbic_Region thinks it is too early in the morning for Juerd's literalism | |||
| Juerd | life is going well enough, the universe is about to implode, everything is hardly developed anymore. | 12:31 | |
| castaway | :) | ||
| Juerd | neodymium magnets ++ | ||
| Amazingly strong for 5x5x5mm | |||
| Limbic_Region is begrudgingly getting used to using IE again | 12:32 | ||
| Juerd | Limbic_Region: Huh? Why? | ||
| Limbic_Region: Do you require medical attention? | |||
| Limbic_Region | local policy I guess | ||
| Juerd | I know a good psychiatrist | ||
| Limbic_Region | all of a sudden FF stopped working unless I went through some bizarre incantation and rain dance | 12:33 | |
| Juerd | Get a new one then | ||
| Or run X remotely :) | 12:34 | ||
| Limbic_Region | Juerd - basically all ports have been locked down and HTTP is forced through a proxy | ||
| the only way to get around this is to knowingly circumvent security | |||
| not that I haven't figured out how to do that | 12:35 | ||
| but it is pretty hard to plead ignorance | |||
| Juerd | Limbic_Region: Does this proxy support CONNECT? | ||
| Can't you ssh? | |||
| Limbic_Region | no ssh | 12:36 | |
| Juerd | How are you connected to IRC? | ||
| Limbic_Region | cgiirc | ||
| perlmonk.org is actually connecting to IRC | |||
| Juerd | You must really hate your employer. | ||
| Limbic_Region | I am merely viewing a web page | ||
| not really | |||
| they do it for good reason | |||
| Juerd | But the reverse even more so: they must really hate you. | ||
| Limbic_Region | *shrug* - they probably don't think anything of me at all | 12:37 | |
| Odin-LAP | Don't they always? :p | ||
| Juerd | Limbic_Region: How is that? | ||
| And what about dns-tunnels, or http-tunnels? | 12:38 | ||
| What is your job anyway, that you can do it with such limitations? | |||
| Limbic_Region is an information technology specialist for the US Government | |||
| and it doesn't matter if I CAN get around the restrictions - the point is I would lose my job (and likely other things as well) if I did | 12:39 | ||
| Juerd | An IT specialist with only web access? Weird. | ||
| theorbtwo | L~R: Are your ports only cut off from the outside world, or do they expect you to admin boxes that you can only http to? | ||
| Er, s/from the/to the/ | 12:40 | ||
| Limbic_Region | it is actually much worse than you think | ||
| Juerd | Is that possible? | 12:41 | |
| Limbic_Region | but I can't really talk about that | ||
| theorbtwo | Ah. | ||
| Even more fun. | |||
| Juerd | You work for the US government and you have only access to the web, and you say it's even worse than that? | ||
| That's surprisingly hard to believe ;) | |||
| theorbtwo | Juerd: I'd tend to believe him anyway. | ||
| Juerd | (Oh, for the sniffers: come and visit me at einsteinstraat 67, 3316 gg dordrecht, the netherlands ;)) | 12:42 | |
| theorbtwo | He works for a segment of the government that has a reputation, and possibly even a policy, of being even more paranoid then the rest of the US government. | ||
| Juerd | But paranoia and productivity don't go together | ||
| How do they get anything done? | 12:43 | ||
| theorbtwo | Juerd, what makes you think they get anything done? | ||
| This is the US government we're talking about. | |||
| Limbic_Region | listen - I don't really feel comfortable talking about the particulars of my work environment | ||
| Juerd | Limbic_Region: Sorry | ||
| theorbtwo: Hmm.. | |||
| theorbtwo | Sorry. | ||
| Limbic_Region | it is a PITA, but what it really means for my work in perl6 is that I will only be able to use nopaste | 12:44 | |
| at least while I am at $work | |||
| Juerd | Limbic_Region: Perhaps we can set up a web based shell interface for you, on feather. | ||
| Limbic_Region | now that would be neat | ||
| Juerd | Limbic_Region: Your using CGI:IRC indicates that you can use long lived http connections. | ||
| Limbic_Region: Can you use https though? | 12:45 | ||
| Limbic_Region | yes | ||
| but also forced through a proxy | |||
| Juerd | https can't be proxied :) | ||
| It's a direct feed - and there is your chance to connect to anything if the other side is prepared to listen | 12:46 | ||
| Limbic_Region checks his settings again | |||
| perhaps all it is doing is NATing | 12:47 | ||
| Juerd | IIRC, https proxying is simply supporting the CONNECT request | ||
| Which essentially turns the proxy into a port forwarder (hint) | |||
| Limbic_Region | but I assure you - my machine which is currently connected to gmail via https has no connections with a public IP address | ||
| Juerd | That's possible. | ||
| puetzk | Juerd: well, one can get more evil than that and substitute the cert :-) | ||
| I've seen that done, though it triggers a browser warning (as it should) | |||
| Juerd | puetzk: Which would be noticed instantly, by clueful personell. | 12:48 | |
| Limbic_Region | so in other words, I have to direct all my outbound traffic to a specific host - if it is doing more than NATing is unknown to me | ||
| theorbtwo | OTOH, https is designed to protect against man-in-the-middle attacks, and to be proxiable, without being seen by the proxier. | ||
| Juerd | Limbic_Region: google for stunnel | ||
| theorbtwo | puetzk: They could have disabled that warning, however. | ||
| puetzk | theorbtwo: right | ||
| Juerd | I was inaccurate | ||
| It can be proxied, but not be cached (because the data is unknown) | 12:49 | ||
| puetzk | by making the substituted cert's CA known to the browser in their desktop baseload | ||
| then they can write forged certs to their heart's content | |||
| it's still rare | |||
| theorbtwo | Note that there's not even anything that says that Limbic isn't running a version of IE with modified code; it's public knowladge that the US government has a source-code license. | ||
| Limbic_Region | in any case - it isn't like I am integral to the success of Pugs | ||
| I am only generating p6 code anyway | |||
| not Haskell | |||
| castaway | *only*? | ||
| Limbic_Region | I can get by with nopasting stuff | 12:50 | |
| castaway | theres no only, here | ||
| puetzk | Limbic_Region: of course, svn passes most HTTP proxies | ||
| Limbic_Region | puetzk - against policy | ||
| puetzk | Limbic_Region: why? it's plain HTTP | ||
| well, DAV | |||
| it's not tunneling, it's just actually HTTP | |||
| Limbic_Region | because I am downloading stuff from an untrusted source | ||
| its the same as saying you can't visit naughty sites | 12:51 | ||
| puetzk | oh, having svn is not OK | ||
| gotcha | |||
| as opposed to using it being the problem | |||
| theorbtwo | It seems like the best solution is the shell on feather. | ||
| That way any untrusted code runs on feather, not your machine. | |||
| Limbic_Region | no - the best solution is for me to do nothing that may jeapordize my job until I have had a chance to talk to someone in security that I can trust not to make rash judgements | 12:52 | |
| Juerd | Limbic_Region: You could publish files on feather using webdav, and then have an irc bot execute things | ||
| :) | |||
| You know how to request an account if you want one (if you don't already have one) | |||
| Limbic_Region | I do, I thank you, and I just might | 12:53 | |
| Juerd | Hm | ||
| Limbic_Region | for now I am off to read use.perl journals | ||
| theorbtwo | Or have a IRC/ssh tunnel, and use that, though the inability to type plus might kill that idea. | ||
| Juerd | Even simpler: write CGI scripts that use pugs :) | ||
| You can run your personalized apache and use one cgi script to tail the error log | |||
| theorbtwo: He's using http for irc | |||
| puetzk | Juerd: one would assume if browsing svn.openfoundry.org/pugs is verboten, that using IRC is too :-) | 12:54 | |
| Juerd | theorbtwo: Through a CGI gateway | ||
| theorbtwo | Juerd: He can run his own apache and still have it on port 80? | ||
| Juerd: I know. | |||
| Juerd | theorbtwo: Why is port 80 required? | ||
| theorbtwo | Because that's the only port he can see. | ||
| Juerd | (If necessary, I can assign feather a second IP, but it shouldn't be) | ||
| theorbtwo | Hm, possibly not. | ||
| Juerd | theorbtwo: He hasn't said that here. | ||
| theorbtwo | Yeah, I just thought it over again, and he didn't, my bad. | 12:55 | |
| Juerd | [gemeente dordrecht]++ # they have a ticketing system for stuff like broken traffic lights | 13:04 | |
| webmind | netjes | 13:05 | |
| theorbtwo | Very cool, Juerd. | ||
| Juerd | cms.dordrecht.nl/dordt?nav=wmrkIsHa...waBjqaBhHL | 13:06 | |
| Limbic_Region | question - anyone know how to uninstall firefox? | 13:13 | |
| castaway | on what? | 13:15 | |
| theorbtwo | Add/Remove programs? | ||
| Limbic_Region | Windows - and that doesn't work theorbtwo - I think it has to do with the fact that I didn't have admin rights when I installed it | ||
| nevermind me - I will figure it out | |||
| PerlJam | good morning #perl6 | 13:16 | |
| Juerd | Limbic_Region: Remove its directory and syml^H^H^H^Hshortcuts to it, and it's practically gone. Windows is never clean anyway, so why try? | 13:17 | |
| PerlJam | I was just looking over the release announcement ... What's with the "exclusive range" ops? Is that a pugs feature or was that specced somewhere? | ||
| Juerd | PerlJam: Specced | ||
| I think they're overkill. | |||
| We know how to +1 or -1, thank you. | 13:18 | ||
| Before you know it, every string operator will have a case insensitive variant | |||
| puetzk | Juerd: of course, if they work on floats that could be interesting | ||
| but they probably don'e :-0 | |||
| integral | the problem is that there's no way to tell the difference between a float and an int... | 13:19 | |
| plus ranges on enumerable types, and intervals on continuous types are quite different | |||
| Limbic_Region | IE crisis averted | 13:36 | |
| ;-) | |||
| jabbot | pugs - 4325 - Enveigler | Allow pugs to find 'ghc.exe' | 13:37 | |
| sri_ | ported FindBin | 13:53 | |
| autrijus | sri++ sri++ | 13:56 | |
| jabbot | pugs - 4326 - Ported FindBin | 13:57 | |
| sri_ | jabbot: you're slow | 13:58 | |
| jabbot | sri_: Perhaps you would like to be slow. | ||
| Limbic_Region | autrijus - of the 4 things that need to be done to get svn.openfoundry.org/pugs/examples/c...scoring.p6 working - which one in your opinion requires the least amount of work (or rather, the least amount of Haskell skills) ? | ||
| autrijus | remind me -- which 4? | ||
| oh got it | |||
| commits++ | 13:59 | ||
| Limbic_Region | # Bug 1 - t/pugsbugs/return_with_trailing_stuff.t | ||
| # Bug 2 - t/pugsbugs/postincrement_in_subscripts.t | |||
| autrijus | yeah, got them | ||
| Limbic_Region | # Feature 1 - t/operators/hyper.t (hyper dereferencing) | 14:00 | |
| oh | |||
| sorry | |||
| Limbic_Region is doing multiple things at once again | |||
| it is sooooo nice to have tabbed browsing back | |||
| autrijus | well hm. | ||
| hyper deref requires some work in src/Parser.hs | |||
| clkao | autrijus++ # cpan-upload.p6 | ||
| PerlJam | surely last LABEL can't be too difficult. | ||
| autrijus | but if you have elementary haskell utilz that's trivial | ||
| last LABEL is merely turning | 14:01 | ||
| FOO: { ... } | |||
| into | |||
| my sub FOO { ... } | |||
| Limbic_Region | this would be my first introduction to Haskell | ||
| autrijus | I think. it's probably a hack, but it probably works | ||
| PerlJam | Limbic_Region: have you been exposed to FP before? | ||
| Limbic_Region | no PerlJam | ||
| autrijus | all four is about equally difficult | ||
| Limbic_Region | great | ||
| autrijus | hyper deref will make you learn about parser :) | ||
| which is considerably easier than the rest of source code | 14:02 | ||
| so maybe that first | |||
| Limbic_Region guesses he will wait for a rainy day | |||
| autrijus | Limbic_Region: basically we already have &infix:<.{}> | 14:03 | |
| so hyper deref is just adding the >>.{} form to parser, that's all | |||
| theorbtwo | .{} is infix? Shouldn't it be postcircumfix? | ||
| autrijus | good catch. | 14:04 | |
| feel free to fix the Prim entry | |||
| clkao | autrijus: got time to look at rw array? | ||
| autrijus | clkao: no. | ||
| clkao | *stunning silence* | 14:05 | |
| autrijus | clkao: I'm fried... ;) | 14:07 | |
| <- just went back from $w0rk | |||
| and I need to 1)shower 2)sleep | |||
| Limbic_Region | theorbtwo - will you have time tonight or tomorrow night (my time) to help me with a little Haskell ? | ||
| theorbtwo | Limbic, should. | 14:09 | |
| ...I think. | 14:10 | ||
| Limbic_Region | ok - will ping you | 14:12 | |
| $foo.chars will return the number of chars in $foo - is there a way (other than split) to get the actual chars themselves ? | 14:21 | ||
| PerlJam | Limbic_Region: substr() :-) | ||
| theorbtwo | substr should work. | ||
| Limbic_Region | how so? | 14:22 | |
| I guess I should read S29 huh | |||
| theorbtwo | The quick answer is "just like p5". | 14:23 | |
| Limbic_Region isn't sure how he would use substr() in p5 without first getting the length of the string and repeatedly calling substr() for each position with a length of 1 | |||
| sproingie | so strings still aren't subscriptable? | 14:24 | |
| sproingie ARGH | |||
| theorbtwo | That would feel very strange to me. | 14:25 | |
| Limbic_Region | PHPish IIRC | ||
| theorbtwo | When you have a reference with overloaded stringification, and use a subscriping operator, does it dereference, or stringify? | ||
| Limbic_Region | what I am trying to do is the equivalent of split //, $foo; | ||
| theorbtwo | I think just like in p5. Possibly chars in list context does that? | 14:26 | |
| Limbic_Region | I was hoping theorbtwo | ||
| PerlJam | Limbic_Region: why the restriction on using split though? | ||
| Limbic_Region | but say list $foo.chars still says 4 | ||
| PerlJam - not a restriction really - just trying to learn more of the language | 14:27 | ||
| PerlJam | oh | ||
| Limbic_Region | I often do that by taking a relatively simple problem and intentionally handi-capping myself | ||
| my favorite way to do that is to say "no regexen" | |||
| PerlJam | Limbic_Region: well, I believe that $foo.chars in a list context actually gives you the chars (or it's supposed to) | ||
| Limbic_Region | oh - well if that's the case it is b0rk | 14:28 | |
| .chars .bytes etc replaced length right? | 14:29 | ||
| PerlJam | right | ||
| Hmm. I can't find it in the AES where I got that .chars in list context gives the chars as a list, so either I made it up or it was said on p6l or something | 14:32 | ||
| Limbic_Region is still looking | |||
| sproingie | subscripting a reference with overloaded stringification would simply be ambiguous | 14:33 | |
| you'd pick one behavior and use it. god knows perl doesn't normally shy away from ambiguity | |||
| lumi | It's not supposed to, but it should be supposed to | ||
| Limbic_Region | PerlJam - lots of references | ||
| A02, A05, A12, E05, S05, S26 | 14:34 | ||
| Limbic_Region is going to investigate further | |||
| drbean | 9 rules tests and 170 subtests failed for me in 6.2.6 | 14:37 | |
| Limbic_Region | ok - I don't see anything that says it should do it so I will ask on p6l | 14:39 | |
| sri_ | how do i define additional methods for a class at runtime? | 14:45 | |
| theorbtwo | sri_: method Foo:newmeth(Foo $self: ...), I think. | 14:47 | |
| sri_ | hmm...then it's a bug in my code :/ | 14:52 | |
| pugs needs more verbose parse errors | |||
| sproingie | hey, i used ed, '?' is error enough for real men | 14:53 | |
| sri_ | you're sooo 1960's :) | ||
| sproingie | 70's anyway | 14:58 | |
| mainframe editors actually had decent ui. ed was small first, functional second ... or more like third or nineteenth or so | 14:59 | ||
| i suppose it made more sense on teletypes | 15:00 | ||
| PerlJam | Limbic_Region: A virtual $10 says you get warnocked :-) | 15:09 | |
| Limbic_Region | PerlJam - that's perfectly alright | 15:11 | |
| I will just ask again in a month or so | 15:13 | ||
| Limbic_Region is persistent | |||
| Limbic_Region likes the thought of being able to do something terribly inefficient like say "there is a letter" if any( $str.chars ) eq any( 'a'..'z', 'A'..'Z' ); | 15:18 | ||
| Khisanth | persistence is futile! | ||
| Limbic_Region | Khisanth plus plus | ||
| Boogie | join catalyst | 15:19 | |
| Boogie says oops | 15:20 | ||
| sri_ | :) | 15:22 | |
| Boogie | anyway, I'm interested in joining to Catalyst. Catalyst6. | 15:23 | |
| sri_ | that'll take some time... | ||
| Boogie | Autrijus wrote about it in his blog, but i found no info about it. | ||
| sri_ | still porting prereqs | 15:24 | |
| Juerd | Does anyone happen to know how to reset a 3com switch? | ||
| Boogie | sri_: I have not much time, but would like to help. I have a lot of ideas. | ||
| Juerd: no reset switch on it? | 15:25 | ||
| sri_ | pugs -e 'class Foo; eval "method foo (\$self:) { return \$self }"' | 15:28 | |
| isn't this supposed to work? | |||
| nothingmuch | evening! | 15:31 | |
| sri_ pokes autrijus | |||
| nothingmuch also pokes autrijus | 15:32 | ||
| Limbic_Region | sri_ - autrijus mentioned needing a shower and sleep | 15:33 | |
| sri_ | dammit... | ||
| Khisanth | hmm | 15:37 | |
| Juerd | Boogie: No | ||
| Khisanth needs to figure out how to abuse [] | 15:38 | ||
| nothingmuch | Khisanth: the reduce meta operator? | ||
| Khisanth | :) | 15:40 | |
| Boogie | sri_: your pugs code works for me. just don't escape $, and use ' for eval | 15:44 | |
| sri_ | i need a dynamic method name | ||
| Boogie | pugs -e "class Foo; eval 'method foo ($self:) { return $self }'" | ||
| you mean: pugs -e "class Foo; $mn='hey'; eval 'method '~$mn~' ($self:) { return $self }'" | 15:45 | ||
| sri_ | good idea! :) | 15:46 | |
| stevan | sri_: you might be able to (eventually) do that through the meta-model | 15:47 | |
| but thats no use to you now :) | |||
| sri_ | yea, confuse me even more! :P | ||
| stevan | :) | ||
| sri_: I will port the Tree::Simple::Visitor stuff for you this weekend | 15:48 | ||
| sri_ | nice! | ||
| stevan | BTW - I switched from CamelCase to perl_style for Tree | ||
| stevan has finally seen the "light" | |||
| sri_ hugs stevan | 15:49 | ||
| stevan | :) | ||
| wolverian | yay! | ||
| stevan | sri_: you should consider putting a ext/Catalyst6 folder into pugs | ||
| and at the very least, having a list of pre-reqs that need porting | 15:50 | ||
| Boogie | guys, is there a plan of Catalyst6? | ||
| stevan | I am sure people will help out :) | ||
| sri_ | as soon as i have File::Find::Rule working | ||
| Boogie | yes, stevan++ | ||
| stevan | nice | ||
| sri_ | don't think there are more prereqs :) | ||
| stevan | oh, even better | 15:51 | |
| sri_ | well, i'll need real trait support...but autrijus promised to work on it | ||
| stevan | sri_: trait or role? | ||
| sri_ | trait | ||
| for actions | 15:52 | ||
| stevan | traits are a little of fuzzy in S12, what exactly do you need | ||
| sri_ | method foo is Path('/lalala/foo') | ||
| stevan | as i understand them, traits are compile time roles on crack | ||
| sri_ | i guess trait_auxiliary:is is what i need | 15:53 | |
| stevan | so are you just tagging meta-data there? or is it altering the method? | ||
| sri_ | meta data | 15:54 | |
| stevan | what uses the meta-data? the dispatcher? | 15:55 | |
| sri_ | yes | ||
| stevan starts dreaming of custom meta-level method dispatchers :) | |||
| jhorwitz | anyone with apache2 here have some cycles to test mod_pugs? | ||
| sri_ | hmmm... | 15:56 | |
| Boogie wonders if somebody there who porting a Class::DBI like thing? | 15:57 | ||
| stevan | Boogie: I have had some thoughts on ORM system for Perl6, but I never liked CDBI, so it will not be similar | 15:58 | |
| nothingmuch and I talked them out a bit | |||
| from what I know of Class::DBI, I think it could be made much nicer through Roles too | |||
| sri_ | cdbi is nice imo | 15:59 | |
| it could be better indeed | |||
| stevan | sri_: it does the job, but its not really O/R | ||
| sri_ | you like tangram? :) | ||
| stevan | never used it | ||
| Boogie | I don't know Class::DBI. I just like the idea. I would like to use something like Ruby on Rails, if you know it. | ||
| sri_ | thats cdbi ;) | 16:00 | |
| Boogie | OK. So cdbi++; | ||
| stevan | we have a in house system, which is starting to show it's age (going on 2 1/2 years now) | ||
| the system is more Tangram/SPOPS-ish than CDBI | |||
| Boogie | My idea is to let's create an ext/Catalyst6 dir, and put there the ideas we have. | 16:01 | |
| stevan | with a lot of IOC in the middle to handle all the dependency relationships | ||
| sri_ | Boogie: Cat6 will be quite like Cat5 | ||
| Khisanth | Cat5e :) | 16:02 | |
| stevan | Cat6.1 :) | ||
| sri_ | all models and views are just addons | ||
| it doesn't matter if you use cdbi or tangram or whatever | |||
| it's just glue | |||
| Boogie | So, should I start to hack on another project, that's like Rails? | ||
| stevan | yup, thats why I like Catalyst so much :) | ||
| sri_++ | |||
| sri_ | Boogie: if you like... :) | 16:03 | |
| but rails was made for ruby | |||
| stevan | sri_: so the plan now is to do a straight port | ||
| sri_ | it's less flexible | ||
| Boogie | sri_: I would like to create a thing, that will be used... ;) | ||
| sri_ | stevan: i'm always open for new ideas | ||
| but it's already quite good imo | 16:04 | ||
| stevan | sri_: I am not thinking of changing the design so much, as just perl6-ifying it more | ||
| sri_ | Boogie: maybe join perlonrails.org *eg* | 16:05 | |
| stevan: indeed | |||
| stevan proabably doesn't actually know enough Catalyst to be saying this though | |||
| Boogie | sri_: I've checked Catalyst some weeks ago, and It was too much typing for me. ;) | ||
| sri_ | wait, much typing? | 16:06 | |
| you kidding? | |||
| stevan | Boogie: catalyst seems to be moving a Pugs speed, so a few weeks might be ancient | ||
| sri_ | take a look at the upcoming perl.com article, ajax powered wiki in less than 30 lines of written code ;) | ||
| Boogie | sri_: At first, it's possible I don't know it well. I've checked it after Rails, and it was my impression. | 16:07 | |
| sri_ | oh well, we so have to make videos too... | ||
| :) | |||
| Boogie | sri_: I agree. Maybe I just didn't catch the idea enough. :) | ||
| As I can imagine, Catalyst on Perl6 will be much cleaner and shorter, than Catalyst for Perl5. | 16:09 | ||
| sri_ | much | ||
| stevan | sri_: so will you be developing Cat6 in the Pugs tree? | ||
| sri_ | mhm | ||
| Boogie likes stevan's idea. | |||
| sri_ | i'd like to have a mason port too | 16:10 | |
| and cdbi :) | |||
| stevan | you can always use perl5 embded for now | 16:11 | |
| sri_ | don't think that would work so well with cdbi | 16:12 | |
| gaal | hullough! | 16:23 | |
| stevan | hey gaal :) | ||
| gaal | Enveigler about? | ||
| Limbic_Region | salutations | ||
| gaal | heya stevan, L~R | ||
| theorbtwo | Oh, stevan, fix your AUTHORS entry, please. | 16:25 | |
| stevan | ? | ||
| whats wrong with it? | |||
| theorbtwo | Oh. Nevermind. | 16:26 | |
| I was thinking of simon, not stevan, and that's fixed. | |||
| Limbic_Region | woah - I just thought of a way of doing arbitrarily nested loops - I wonder if it is the same way tye does it in Algorithm::Loops | 16:28 | |
| Limbic_Region needs to try this in p6 | |||
| gaal | heh heh heh. dvdrewinder.com/index.php?main_page...ducts_id=1 DVD Rewinder. | 16:36 | |
| sri_ | a Data::Dumper port would be nice too | 16:40 | |
| stevan | sri_: we have .perl() already | 16:41 | |
| sri_ | oh :) | ||
| nice | 16:42 | ||
| stevan | ye ask and ye shall receive :P | ||
| Limbic_Region | ok - I want to define a sub that has 1 required parameter (an array), and 2 optional parameters (a hash and a code ref) - what is the proper way to say that? | 16:44 | |
| sub foo (@array, ?%foo, ?$ref) {...} ? | 16:45 | ||
| stevan | or foo(@array, +%hash, +$code) | ||
| Limbic_Region | I thought meant named parameter not optional? | ||
| or does that equate to the same thing? | |||
| stevan | that allows you to do: foo([1, 2, 3], code => sub {}) | ||
| named and optional IIRC | 16:46 | ||
| Limbic_Region | and that space there was a plus that got eaten | ||
| stevan | with ?$foo I think you are stuck with positional only | ||
| let me check the tests, one second | |||
| Limbic_Region | ahhh | ||
| found it | 16:47 | ||
| named parameters are optional unless marked is required | |||
| stevan | yup | ||
| Limbic_Region | so you way is best then | ||
| stevan | of course ;) | ||
| although come to think of it, your way should behave the same | 16:48 | ||
| that is how much of the Test.pm subs work | |||
| Limbic_Region | positional is problem | ||
| not in my case | |||
| but it could be | |||
| stevan | I dont think it forces positional though | ||
| the ? that is | |||
| look in Test.pm, they all use ?$todo, and that is not postional | |||
| so I was wrong there | 16:49 | ||
| Limbic_Region | stevan - problem is what happens if you have two optional (un-named) of the same type | ||
| stevan | actually + and ? look fairly interchangable | ||
| Limbic_Region | is HAS to be position or else there is no way of knowing which it is | ||
| stevan | true | ||
| Limbic_Region | so I am going with all named - 1 marked is required | 16:50 | |
| stevan | so using named forces people to DWTM | ||
| Limbic_Region | hopefully that is supported already | ||
| stevan | L~R, looks like it | ||
| in t/subroutines/sub_named_parameters.t it is not TODO | 16:51 | ||
| Limbic_Region | stevan - I don't see any "is required" in that test file? | 16:53 | |
| stevan | line 70 | ||
| sub mandatory (++$param) {} | |||
| Limbic_Region | oh - I guess I should read the blurb at the top since that disagrees with A06 | 16:54 | |
| perhaps it was changed in S06 | |||
| nope | |||
| I think the plusplus is wrong | |||
| according to the docs - that should be done with the "is required" trait | |||
| oops | 16:55 | ||
| s/wrong/not official/ | |||
| it does say that plusplus is an alternate that MAY be considered | 16:56 | ||
| *shrug* - I will just use the plusplus since apparently it is what Pugs has now | |||
| ok - now how do you define a list of array references - something with a semi-colon? | 17:01 | ||
| my @foo = (1,2,3; 4,5,6; 7,8,9); | 17:02 | ||
| ? | |||
| theorbtwo | ?eval (1,2,3;4,5,6;7,8,9) | ||
| evalbot6 | Error: unexpected ";" expecting digit, fraction, exponent, term postfix, operator, "," or ")" | ||
| Limbic_Region | theorbtwo - hence the question (something with a semi-colon)? | 17:03 | |
| theorbtwo | I remember Larry redefined how to do it when he introduced the [] metaoperator. | 17:04 | |
| Limbic_Region | ?eval ([1..3],[4..6],[7..9]) | 17:07 | |
| evalbot6 | ([1, 2, 3], [4, 5, 6], [7, 8, 9]) | ||
| Limbic_Region | that appears to be doing the right thing but I am not sure if it is supposed to | ||
| theorbtwo | That's certianly supposed to do that, but the question is if there is a better way to do it... and if we care. | 17:08 | |
| Limbic_Region | well, I for one care | 17:09 | |
| and that's what I meant - supposed to meaning supposed to be the best way | |||
| theorbtwo | The mail you want is "reduce metaoperator", by Larry, 05/04/05 14:36. | 17:13 | |
| [email@hidden.address] if you can figure out how to search by message-id. | 17:14 | ||
| OTOH, it looks to be somewhat unimplemented. | |||
| Limbic_Region | why would searching by msgid be any different then subject line or body? | 17:15 | |
| just c/p into the search bar | |||
| wolverian | Limbic_Region: what mail client are you using? | 17:49 | |
| if I may ask :) | |||
| geoffb | allo | 17:53 | |
| Warning: trying to read everything linked from the Perl 6 summary in one sitting may result in Cranial Liquefaction, a potentially debilitating disorder. | |||
| cognominal | ho, that would explain the liquid dropping from my head. | 17:59 | |
| wolverian | you read the summaries? weakling, I read the original posts. :) | 18:00 | |
| stevan | HAH!,... real perl6 hackers read the Apocolypses :P | 18:01 | |
| wolverian | yes, but that gets boring after the first few years. | 18:02 | |
| stevan | : D | ||
| cognominal | Apos are old news... | ||
| Limbic_Region | wolverian - several of them | ||
| Juerd | Literally. | ||
| Limbic_Region | were you asking how I was searching for msgid? | 18:03 | |
| or for some other reason | |||
| Limbic_Region now has a working implemenation of arbitrary nested loops in p6 | |||
| Limbic_Region still needs to add a few of the features from Algorithm::Loops such as onlywhen and code blocks - but so far so good | |||
| perlbot nopaste | 18:04 | ||
| perlbot | Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel> | ||
| geoffb | wolverian, I get enough mail already. I think my mail reader would go on strike if I added the load of all perl6-* lists. | ||
| Limbic_Region | I hate when that happens | 18:05 | |
| wolverian | Limbic_Region: nah, I was just curious what kind of a client you prefer. | ||
| pasteling | "Limbic_Region" at 129.33.119.12 pasted "Arbitrarily Nested Loops in p6 - though not very p6ish I don't think" (24 lines, 669B) at sial.org/pbot/10665 | 18:06 | |
| wolverian | geoffb: heh. I'm subscribed to the ubuntu-* lists as well. imagine that. :) | ||
| Limbic_Region | wolverian - I use gmail, yahoo mail, outlook, mailx, pine, elm - whatever is available | ||
| wolverian | Limbic_Region: ah, okay. | ||
| geoffb | wolverian, you must be crazy. Or have spent a very large block of time tuning your mail reading skills | 18:07 | |
| wolverian | Limbic_Region: that is very unperl6ish. I think the idea is to use coroutines for this kind of a thing, and 'for' instead of 'while'. it's all pretty much unspecced right now I think, though. :) | ||
| geoffb: I don't read all the ubuntu-* mails. | 18:08 | ||
| Limbic_Region | wolverian - here is the trouble | ||
| I think in p5 | |||
| when I am writing p6 I am really just translating the p5 in my head | |||
| wolverian | right. that's a common problem, I think. | ||
| you need a more functional mindset | |||
| Limbic_Region | well - from a p5 perspective - that is pretty freaking functional | 18:09 | |
| geoffb | wolverian, that's why I read the p6 summaries -- to get a clue as to which threads I care about. Reading every last email would leave me with no coding time. :-) | ||
| Limbic_Region, wolverian: yeah, I suspect that p5-think will be an issue for a while. I know it will be for me . . . . | |||
| Maybe I need to follow the path someone else started on today and learn Haskell and Forth at the same time, just for brain expansion purposes | 18:10 | ||
| Juerd | my @pos = (0) xx (@loop.elems - 1), -1; | 18:11 | |
| The former () are bad style now. | |||
| wolverian | is prefix:<=> specced? | ||
| Juerd | ++@loop | ||
| What's ++@loop? (in a signature) | |||
| Limbic_Region | Juerd - apparently an alternative to "is required" | 18:12 | |
| Juerd | Aha | ||
| Limbic_Region | according to S06, named parameters are optional unless marked "is required" | ||
| it goes on to say, alternatively we may ... | |||
| wolverian | why require it to be named? | ||
| Limbic_Region | but only the plusplus version is in pugs ATM | ||
| wolverian - so they can come in any order | 18:13 | ||
| wolverian | also, I'm now unsure what your code actually does, Limbic_Region | ||
| Limbic_Region | and also so that it is easy to add options later | ||
| wolverian | oh, arbitrary nested loops. | ||
| right. | |||
| Limbic_Region | wolverian - given a list of array refs - it will loop... yeah | ||
| ok Juerd - what specifically about my @pos = (0) xx (@loop.elems - 1), -1; is bad style? | 18:14 | ||
| the parens around the 0 | |||
| or the ones around the substraction? | |||
| Limbic_Region assumes the 0 | |||
| Juerd | Limbic_Region: The 0 | 18:15 | |
| Limbic_Region | done - thanks | ||
| Juerd | Note that this is my opinion, not necessarily that of the perl 6 community. | ||
| Limbic_Region | I agree with dropping stuff that isn't required as long as it is still readable | ||
| in this case both are true | |||
| wolverian | hrm. how does one write a method on an array that loops over its own elements, besides an explicit @self? | 18:16 | |
| Limbic_Region | again - issue of p5 to p6 since the parens ARE needed in p5 to DWIM | ||
| Corion | I saw in the backlogs that my system() test caused failures - any Win32 user can enlighten me as to what exactly was the output because it worksforme (resp. did when I commited :) ) | 18:26 | |
| (maybe svn has problems with binary files?) | 18:27 | ||
| (and the test still worksforme) | |||
| Limbic_Region | perlmonks.org/index.pl?node_id=462987 for anyone who is interested | 18:30 | |
| Limbic_Region has to wander off to a meeting now | |||
| meppl | guten abend | ||
| lumi | Juerd.ping | 18:33 | |
| Juerd | pong | 18:37 | |
| lumi | Would it be possible for me to have a feather account? | 18:38 | |
| Juerd | Of course. | ||
| But only when requested by email, which you did | |||
| Enveigler1 | Corion: Save me searching, is there an easy way to run individual tests? | ||
| Corion | Enveigler1: pugs -Iblib6\lib -w t\builtins\system\01-* | 18:40 | |
| pugs -Iblib6\lib -w t\builtins\system\01-strings-with-spaces.t.disabled | 18:41 | ||
| (to be exact) | |||
| Limbic_Region | is the proper thing for ref to return on a code ref 'Sub' ? | ||
| or rather, is 'Sub' the only thing ref will return for a code reference? | 18:42 | ||
| wolverian | Code | ||
| Limbic_Region | pugs -e "my $foo = sub { say 'bar'; }; say ref $foo" | 18:43 | |
| ?eval ref sub { say 'bar'; } | |||
| evalbot6 | ::Sub | ||
| Limbic_Region | ? | ||
| wolverian | Sub.does(Code) | 18:44 | |
| ?eval Sub.does(Code) | |||
| evalbot6 | bool::true | ||
| wolverian | ?eval Code.does(Sub) | ||
| evalbot6 | bool::false | ||
| wolverian | ?eval Bare.does(Sub) | ||
| evalbot6 | bool::false | ||
| wolverian | ?eval Bare.does(Code) | ||
| evalbot6 | bool::true | ||
| wolverian | sorry for the spam. :) | ||
| geoffb | That was a short meeting, Limbic_Region . . . wish all of mine were that short | 18:45 | |
| Limbic_Region | well - I am trying to add in optional code ref support to the arbitrary nested loops and I am confused as to how to determine if it is the "right thing" or not | 18:46 | |
| geoffb - other parties were delayed | |||
| likely will start in 5-10 minutes | |||
| pasteling | "Enveigler" at 81.131.127.188 pasted "Sample 01-strings-with-spaces.t output" (15 lines, 540B) at sial.org/pbot/10667 | 18:47 | |
| Limbic_Region | wolverian - you did give me an idea though | ||
| $code(@group) if $code.does(Code); | |||
| Enveigler1 | Corion: That's from the first two tests. Lots more if you want it? | 18:48 | |
| Corion | Enveigler1: Hmmm. Does t\builtins\system\t e s t\showav.exe exist ? | ||
| Ow! Ow! Ow! | 18:49 | ||
| I see now :( | |||
| geoffb | Limbic_Region, out of curiosity, why not do your looping code recursively, since that seems to be the FP way . . . ? | ||
| Corion | I forgot to add the "t e s t" directory to subversion :( | ||
| Corion goes to add it | |||
| Enveigler1 | Corion: I won;t past the other 321 cases then :) | 18:50 | |
| Corion | Hmmmm. We-ird. "t e s t" supposedly is already under version control. | ||
| (but it doesn't get checked in or out) | 18:51 | ||
| Enveigler1 | Where in the tree? | ||
| Corion | Maybe svn has problems with directories with spaces in their names? | ||
| Enveigler1 | Could be. | ||
| Corion | r4329 should work now ... | 18:53 | |
| Corion crosses his fingers | |||
| theorbtwo | svn up just did a bunch of As on the t e s t directory. | 18:54 | |
| Of course, this is on linux, not win32, but I doubt it makes much difference. | |||
| Enveigler1 | I'll update | ||
| Corion: That's fixed it. | 18:56 | ||
| Corion | theorbtwo: Yeah - I wiped the .svn directory in "t e s t" and then added the files again, and then it seemed to work... | ||
| yay :) | |||
| BTW, I really wonder - Haskells system() and quoting seems to be much better/more robust than Perl5s system(LIST) | 18:57 | ||
| (on Win32) | |||
| jabbot | pugs - 4327 - Tree : adding extended tests (213 of the | ||
| pugs - 4328 - Added 't e s t' directory for system() t | |||
| pugs - 4329 - Reenabled system() test | |||
| Enveigler1 | All 323 now pass | 18:59 | |
| Khisanth | Corion: as long as it doesn't require some contortions just to make it treat a single arg as a path | 19:00 | |
| it would be better :) | |||
| Corion | src/Pugs/Context.hs:145:0: Warning: Defined but not used: `castOk' | ||
| src/Pugs/Context.hs:211:0: Warning: Defined but not used: `prettyTypes' | 19:01 | ||
| (on Win32 at r4329) | |||
| theorbtwo | I get those too, Corion. | ||
| Corion | Ah, so these warnings are cross-platform ;) | ||
| BTW, I'd like if somebody wrote the ShowArgv.hs which I punted on :) | 19:02 | ||
| ... and if we have Parrot, we should also test that Parrot sees the same command line (resp. parses it the same way) | 19:03 | ||
| nothingmuch | anybody familiar with parsec? | 19:04 | |
| wolverian | I am imploding my brain trying to grok how to use coroutines to do permutations | 19:05 | |
| Corion | nothingmuch: Not really familiar but I think I understand parts of the concept | 19:08 | |
| nothingmuch | Corion: i'm doing an excercise | ||
| i'm forcing myself to write a forth compiler in haskell, which will eventually target parrot | |||
| so that I will finally learn all three | |||
| and documenting my progress in tutorial format | 19:09 | ||
| and I'm having some issues writing the parser, but they were just resolved, so now i have other issues | |||
| Corion | nothingmuch: I think Forth people have a special word for other people that never wrote Forth yet wrote an interpreter/compiler of it :) | 19:13 | |
| nothingmuch | heh =) | ||
| Limbic_Region | geoffb - I think in p5 and that's how I would have done it in p5 | ||
| geoffb | Limbic_Region, nodnod. I had to do something similar in p5 some time ago (but not as a lazy generator; I just took all combos at once). Tried to do it iteratively, kept dealing with edge cases, turned it into a couple recursive lines. | 19:15 | |
| That said, I'm now working on your puzzle, because its fun. :-) | |||
| wolverian | what does prefix:<=> do? | 19:16 | |
| Limbic_Region | geoffb - I am currently adding support for the optional parameters - should be done RSN | 19:17 | |
| geoffb | cool | ||
| One downside of pugs being incomplete is I can never tell if my understanding is broken or pugs doesn't support something yet | 19:18 | ||
| nothingmuch | how do i match the "end" in parsec? | ||
| Corion | Limbic_Region: I think "prefix:<=>" is the =$fh syntax | 19:19 | |
| wolverian | Corion: is it specifically for filehandles? | ||
| Limbic_Region | Corion - ok - and this means what to me? | 19:20 | |
| Corion | wolverian: Judging from "&prefix:<=>", I'd say no. | ||
| Limbic_Region: Dunno - depends on what context you saw it in. | |||
| wolverian | Corion: without the arg list, you can't tell :) | ||
| Corion: if it is a generic op, what are its semantics exactly? | |||
| Limbic_Region didn't ask Corion | 19:21 | ||
| wolverian | no, I did. :) | 19:22 | |
| Limbic_Region has no idea what you are talking about | |||
| Corion | Ah. I'm confused | ||
| wolverian | I wonder if 'for' can take a coroutine as the first argument and iterate it without wrapping it in something | ||
| Corion | wolverian: With the &prefix<=>, that should be it - because =$fh is $fh.readline() | ||
| so `for =$fh { ... }` # should call $fh.readline() (or $fh.getline(), dunno) | 19:23 | ||
| wolverian | hmm. why? | ||
| as in, how does = know that? or does it ask $fh? | |||
| what I really want to know is an iterator spec | 19:25 | ||
| which I guess isn't written yet ) | |||
| :) | |||
| Corion | wolverian: I think that for() knows that, but I'm not sure. | 19:26 | |
| wolverian | hmm. maybe $fh isn't an iterator nor a coroutine. then = would make sense. | 19:27 | |
| but that doesn't make sense either. | |||
| I'm just going to give up and wait for AES17, or whichever it was that these will be specced in :) | 19:28 | ||
| geoffb | lunchtime . . . | 19:30 | |
| nothingmuch | wooo! | ||
| *Harrorth.Parser> parseTest forth ": FOO 2 4 BAR; GORCH : ding baz oi oi oi ;" | 19:31 | ||
| [NewWord "FOO" [Push 2,Push 4,Invoke "BAR"],Invoke "GORCH",NewWord "ding" [Invoke "baz",Invoke "oi",Invoke "oi",Invoke "oi"]] | |||
| Limbic_Region found a pugsbug but isn't sure it is worth pursuing | |||
| next if $foo.does(Code); # works fine | |||
| next if $foo.does(Code) && $foo.($bar); # bombs out | 19:32 | ||
| but only if $foo is undef | |||
| sri_ | is it possible to stringify rules? | ||
| Corion | I guess that $rule.perl() doesn't work ;) | ||
| sri_ | for reuse in eval... | 19:33 | |
| Corion | sri_: Why use eval ? :) | ||
| sri_ | would be a pita to write File::Find::Rule without it | ||
| Corion | Without eval() ` | ||
| ? | 19:34 | ||
| sri_ | it builds big strings for rules | ||
| Corion | sri_: Then Perl6ify it | ||
| ... instead of doing a 1-by-1 port | |||
| sri_ | suggestion? | ||
| Corion | "don't build strings" | ||
| sri_ | what instead? | 19:35 | |
| Corion | sri_: Dunno - use subroutines | 19:37 | |
| sri_ | slow *cough* | ||
| Corion | (rules won't be available everywhere currently anyway) | ||
| ... | |||
| "slow" when talking about interaction with the file system ... | 19:38 | ||
| Limbic_Region | geoffb - finished | ||
| I will post the two optional arguments as a reply | |||
| sri_ | iterating over a stack of subs will definately slow it down | ||
| Corion | I guess "slow" is better than "not working". But that's me. | 19:39 | |
| sri_ | isn't there some magic new perl6 construct? :) | ||
| Corion | It's called "autrijus" :) | 19:40 | |
| sri_: First implement the slow version and then ask autrijus to make it faster ;) | |||
| sri_ | it's currently not available | ||
| Corion | re | 19:42 | |
| Juerd | sri_: Rules are code, not string-like | 19:49 | |
| geoffb | bak | ||
| Limbic_Region, OK, I'll take a look in a bit. In the mean time, still messing with my impl. | |||
| sri_ | hmm... :/ | ||
| Limbic_Region | perlmonks.org/index.pl?node_id=463006 # when you get to it | 19:50 | |
| sri_ | maybe i should implement a callback based File::Find for now | 19:51 | |
| Khisanth | isn't File::Find alreayd callback based? | 19:53 | |
| sri_ | yes, but not very nice | 19:54 | |
| imo | |||
| Khisanth | Limbic_Region: why not loop { }? | ||
| Limbic_Region | Khisanth - while ( 1 ) you mean? | 19:55 | |
| good idea | |||
| Khisanth | hmm $code() is going take a bit of getting used to | 19:56 | |
| Limbic_Region | you prefer the . | 19:58 | |
| $code.( @foo ); # ??? | |||
| Khisanth | not at all | ||
| but $code->() to $code() mapping takes a bit more effort than some of the other changes | 19:59 | ||
| integral is starting to get used to it | 20:01 | ||
| Limbic_Region wanders off to another meeting but hopes this challenge will get more of a response then the last one | |||
| integral | OTOH using -> for pointy blocks is very handy | ||
| Limbic_Region | it is way cooler code IMO anyway | ||
| wolverian | my &code = { }; code "bar"; | 20:03 | |
| integral | that is very, very cool :-) | ||
| wolverian | $code is very unperl6ish, I think. | 20:04 | |
| integral | although shouldn't that give an arity mismatch error now? | ||
| wolverian | integral: I forgot the ..., obviously :) | ||
| integral | ah! | ||
| wolverian | integral: anyway, that should put "bar" into $_ | ||
| further checking is impossible in the presence of eval | |||
| theorbtwo | I'd prefer to see a lazy-list based file-find. | ||
| integral | I thought blocks didn't have that as a default signature now? | ||
| wolverian | integral: they certainly do in pugs, and the Synopsis (still?) says so. | 20:05 | |
| theorbtwo | ?eval ({}).arity | ||
| evalbot6 | 1 | ||
| integral | ah, ok | ||
| make it hard to specify a zero-arity block though | |||
| theorbtwo | (The parameter is *@_, though there is presently no way to find that out.) | ||
| ?eval (sub (){}).arity | |||
| wolverian | ?eval (-> {}).arity | ||
| evalbot6 | 1 | ||
| 0 | |||
| wolverian | argh! | 20:06 | |
| theorbtwo | ?eval (sub (){}).arity | ||
| evalbot6 | 1 | ||
| wolverian | I win. :) | ||
| theorbtwo | Yep. | ||
| integral | bug :-) | ||
| theorbtwo | I agree, integral. | ||
| dha throws confetti at wolverian | |||
| wolverian | is that specced? | ||
| wolverian eats the confetti | |||
| dha | Let me know when you're all done with the esoteric stuff so I can bug you about something more mundane. :-) | 20:07 | |
| wolverian | mundane is just as interesting. | ||
| integral | perl6 makes the advanced mundane! | ||
| wolverian | true. | ||
| integral++ | |||
| dha | ok, then. why has my build of Pugs (on OS X) been hanging for the past hour at "/usr/bin/perl -Iinc util/version_h.pl src/Pugs/pugs_version.h" ? | 20:08 | |
| integral | that is interesting | 20:09 | |
| Are you using a tarball, svn or svk? | |||
| wolverian | theorbtwo: re: lazy lists. how does one generate a lazy list? | ||
| dha | tarball. 6.2.6 | ||
| theorbtwo | The lazy {} thingy, but that's unspecced, I think. | ||
| dha | I had the same problem with 6.2.5, but didn't have a chance to bother anyone else about it. :-) | 20:10 | |
| integral | did it say anything after that line? | ||
| wolverian | theorbtwo: right. so I guess I'll just wait. :) | ||
| theorbtwo | Blast, I thought we figured out that problem. | ||
| dha | nope. that's the last line emitted | ||
| For what it's worth, the cursor is on the line following. | |||
| integral | do you have svk installed? | 20:11 | |
| dha | yep | ||
| integral | ah, it could be a subtle interaction with that I suppose | ||
| if you kill it, and try a "svk info" in your pugs directory, does that hang? | |||
| dha | lemme see... | 20:12 | |
| mind you, if I interrupt there, it goes on. but if this follows suit from 6.2.5, it'll stall later on too | |||
| svk wants me to create a repository (I haven't had a chance to actually *use* it on this machine) | 20:13 | ||
| integral | ah, that'll be the problem | ||
| dha | ok, svk isnt' hanging. | ||
| ah. I'll try building again | |||
| integral | it doesn't ask for user input? | ||
| dha | uh... no | 20:14 | |
| theorbtwo | Yeah. It's asking you a question where you can't see it, and waits for you to answer it. | ||
| integral | ok, the quick fix is for you to do the svk depot init thing | ||
| dha | svk tells me "path /Users/dha/Perl6-Pugs-6.2.6 is not a checkout path. " | ||
| yes, did that. | |||
| integral | ok, and does your build still hang? | ||
| dha | and now the build is progressing from version.h | ||
| so far, so good. hopefully, the later hang won't occur either. | 20:15 | ||
| integral | ok. This is really my fault for not writing robust code for this stuff ;-) | ||
| dha | thanks | ||
| yes. I blame you. ;-) | |||
| And, while I'm asking stupid questions, is there a way to recover your password for nick registration on freenode? I've not been here for ages, and I can't remember it to save my life | |||
| integral | if you set an email just ask a staff member (hostmask: *.staff.freenode) | 20:16 | |
| dha | frankly, this hasn't been my week. | ||
| PerlJam | dha: so, naturally, it's a perfect time to start using pugs! ;) | ||
| dha | as soon as I figure out what that means, I'll do that. thanks. :-) | 20:18 | |
| pj - what, so I can feel the previous part of my week was less frustrating by comparison? :-) | 20:19 | ||
| integral | well pressure does appear to encourage quick bodges that work, rather than well-designed code that doesn't after months of work ;-) | ||
| dha | somehow, I'm not surprised. | 20:20 | |
| theorbtwo | Can somebody who uses SVK do perl -le '{close STDIN; $x=`svk info`;}; print $x' for me? | ||
| Limbic_Region is quite happy that his latest project didn't uncover any bugs (at least not ones he is sure are bugs) | |||
| dha | ok. I'm going to go on to work on problems I actually understand for a change. | 20:22 | |
| Thanks, integral. | |||
| integral++ | |||
| wolverian | theorbtwo: done. want me to nopaste it? | 20:23 | |
| theorbtwo | Sure. | ||
| nothingmuch tries to wake autrijus up | 20:24 | ||
| wolverian | The requested URL /paste was not found on this server. | 20:25 | |
| wolverian ponders | |||
| integral | sial.org/pbot/perl6 | ||
| Pugs 6.2.6 uploaded by cpan-upload.p6! | pugscode.org/ <Overview Journal Logs> | pugs.kwiki.org | paste at sial.org/pbot/perl6 | 20:25 | ||
| nothingmuch | anybody mind going through feather:~nothingmuch/harrorth and making sure chapter 3 isn't complete utter crap? | 20:25 | |
| wolverian: add a slash at the end | |||
| wolverian | nothingmuch: it gave me that after I sent the paste request | 20:26 | |
| pasteling | "wolverian" at 80.222.110.168 pasted "theorbtwo's svk thing" (10 lines, 304B) at sial.org/pbot/10669 | 20:27 | |
| nothingmuch | wolverian: indeed. add a slash at the end of pbot/ | ||
| i suspect the action is "paste" | |||
| and thus it becomes "sial.org/paste" instead of "sial.or/pbot/paste" | |||
| wolverian | nothingmuch: ah. right. | ||
| nothingmuch | i'm only guessing though, i use pbotutil.pl ;-) | 20:28 | |
| autrijus: when you wake up, AST + Parser are done | |||
| Limbic_Region | nothingmuch plusplus | 20:29 | |
| nothingmuch | Limbic_Region: have you dabbled in haskell yet? | ||
| Limbic_Region | I was going to start this morning | 20:30 | |
| got scared | |||
| decided to do more p6 | |||
| will play with Haskell tonight or tomorrow night | |||
| depending on theorbtwo's availability to coach me | 20:31 | ||
| nothingmuch | so you might be interested: | ||
| i'm writing a tutorial | |||
| except the catch is that I don't know it yet | |||
| theorbtwo | Woo! | ||
| Limbic_Region hugs nothingmuch | |||
| nothingmuch | so I hope it can be more grokkable by us commoners ;-) | ||
| theorbtwo | Limbic_Region: nothingmuch's haskell may well be better then mine. | ||
| nothingmuch | the project backing it is compiling forth to parrot assembly with haskell | ||
| so that I can learn all three =) | |||
| Limbic_Region | theorbtwo - in the land of the blind, the cyclops is king | ||
| iow - any sight AFAIAC is what I need right now | 20:32 | ||
| nothingmuch | feather.perl6.nl/~nothingmuch/harrorth/ | ||
| theorbtwo | We will likely both be up, so we can form the #teaching_limbic channel. | ||
| nothingmuch | darcs get 'feather:~nothignmuch/harrorth' | ||
| Limbic_Region really needs to figure out how to fix that | 20:33 | ||
| nothingmuch | fix what? | ||
| geoffb | The fact that CGI:IRC keeps logging in and out? | 20:34 | |
| Limbic_Region | I had to reinstall FF today to fix some weird bug and now the open link in new tab and this tab are next to one another | ||
| geoffb - that's me clicking on the wrong thingy | |||
| nothingmuch | Limbic_Region: did you get the link? | ||
| geoffb | bad thingy! | ||
| Limbic_Region | I am looking in the IRC log now | ||
| theorbtwo | Don't you have a middle button? | ||
| Limbic_Region | got it | ||
| theorbtwo yes | 20:35 | ||
| geoffb | OK, coroutines aren't terribly difficult as a general concept, but DAMN they're hard to use correctly. | ||
| SamB | yes, I agree. | ||
| I can't even *think about them* correctly really at all. | 20:36 | ||
| theorbtwo | I just got into the habit of middle-clicking. | ||
| SamB | they are probably not quite as confusing as multi-shot continuations in an imperative language. | ||
| Limbic_Region thinks he will too | |||
| nothingmuch - do I have to read it in kwid or is there a kwid2X thingy? | 20:37 | ||
| nothingmuch | Limbic_Region: i have no idea if there's a kwid2x or whatever, but i find it to be pretty readable | ||
| Limbic_Region | ok - will look at it tonight | 20:38 | |
| oh shit | |||
| nothingmuch | it's just your plain old wiki text, really | ||
| Limbic_Region notes the time and heads home | |||
| nothingmuch | KWID: www.wougnet.org/Profiles/kwid.html | 20:40 | |
| stevan | nothingmuch: your kwid docs seem to make sense | 20:45 | |
| someone should port Parsec to perl 6 ;) | |||
| nothingmuch | indeed =) | ||
| stevan | it seems to just be a stack of subroutines which eat tokens | 20:46 | |
| or am I simplifying it | |||
| s/simplifying/over-simplifying/ | 20:47 | ||
| theorbtwo | You are oversimplifying it, but you've got the basic idea, I think. | ||
| The problem is intelegant and elegant handling of failure. | 20:48 | ||
| nothingmuch | that's where monads finally start making sense =) | ||
| and purity, too | |||
| stevan | theorbtwo: elaborate please :) | ||
| purity++ | |||
| theorbtwo | If you do 'ac' =~ /a(b|c)/, you need to have the b fail, and try c. | 20:49 | |
| stevan | so the subs should eat tokens, but also be able to throw them back up if something is wrong :) | 20:50 | |
| theorbtwo | Something like that, yeah. | 20:51 | |
| stevan | hmmm | ||
| nothingmuch | stevan: the try thing is how it's done | ||
| see parsec docs | |||
| stevan | nothingmuch: reading them right now | ||
| geoffb | How do you get a coroutine to stop? In other words, how do you get it from running through all its yields and just starting over again? | 21:02 | |
| s/get it from/keep it from/ | |||
| integral | one approach is to recreate it: sub make_coro { coro { ... } }; my $coro = make_coro; ...run_it...; $coro = make_coro; | 21:03 | |
| nothingmuch | geoffb: from without the coro? | ||
| integral | err, I probably mean: my &coro := make_coro; | ||
| geoffb | Hmmm . . . | 21:04 | |
| Going for a bit of concreteness here: | |||
| nothingmuch | integral++ | ||
| geoffb | Let's say I have sub foo(@list) { coro { @list.map:{yield $^item} } } | 21:05 | |
| integral | wouldn't ???/take be the better option? | ||
| geoffb | I want to run through all the items in the list, then stop giving back anything. | 21:06 | |
| integral, hmmm | |||
| theorbtwo | G'night, all. | ||
| Limbic: I'll probably be back. | |||
| integral | coro { ...; yield undef while 1 } | ||
| nothingmuch | theorbtwo: he left a while ago | ||
| theorbtwo | I know, but he'll see the log. | ||
| nothingmuch | ah | 21:07 | |
| geoffb | integral, yeah, I figured I was going to have to do that . . . | ||
| integral | you almost want: swap &?CURRENT_SUB, sub { return undef }; | 21:08 | |
| geoffb | integral, Actually, got an idea . . . if I combine your previous idea with always doing 'yield $^item but true' then a caller can know when to stop asking | 21:09 | |
| integral, now that would be a nice toy . . . . | |||
| integral | hmm, doesn't this fit an array/iterator pattern better? | ||
| ugh, I can't remember the think that goes with take | 21:10 | ||
| geoffb | Trying to learn coroutines . . . | ||
| gather? | |||
| integral | yep that's it | ||
| I think I don't like about: return $foo but true, is that you can't get back what truth $foo had before the trueness was forced on it | |||
| geoffb | I'm doing the Limbic_Region method: do it the hard way to force yourself to learn something | ||
| integral, true enough. :-/ | 21:11 | ||
| integral | hmm, I should post to p6l more =) | ||
| Actually what I really should be using is something like haskell's Maybe, where you add another box | |||
| and in haskell maybe is a monad so it can quite invisible | 21:12 | ||
| sri_ | oh, -l is not yet implemented, that makes File::Find quite dangerous... | 21:18 | |
| stevan | sri_: file tests are pretty easy to do in the Haskell | ||
| assuming the Haskell System.IO library implements the function | 21:19 | ||
| sri_ | then go implement :) | ||
| i'm very bad at haskell | |||
| stevan | sri_: outta tuits for the day, but you are free to do it :)( | ||
| I bet I suck at haskell more ;) | |||
| sri_ | no way! :) | ||
| stevan | what does it do anyway? | 21:20 | |
| sri_ | symlinks can result in infinite loops | ||
| very easy | |||
| -l just tests for symlink | 21:21 | ||
| stevan | hmm | ||
| lemme look at the haskell docs | |||
| no promises, but I will give it a try | |||
| sri_ | :) | ||
| stevan | sri_: I found the Haskell function, but it is in the Posix library an so it is non-portable | 21:31 | |
| which means its it over my head :) | |||
| sri_ | mkay...thx for trying ;) | ||
| stevan | although wait a second,.. I just found something | ||
| sri_: what OS are you on? | 21:32 | ||
| sri_ | osx | ||
| stevan | src/Pugs/Compat.hs has some Posix stuff in it, ... hmm this is Corion's territory really | 21:33 | |
| sri_ | parent directory is on every os ..? | ||
| theorbtwo | sri_: No -- it's not on VMS, or on MacOS <= 9. | 21:35 | |
| stevan | theorbtwo: any thoughts on this? | ||
| theorbtwo | Donno what this is yet. | ||
| Aankhen`` | G'night. | ||
| stevan | adding -l support | ||
| there is a System.POSIX.Files.isSymbolicLink | 21:36 | ||
| isSymbolicLink :: FileStatus -> Bool | |||
| I am thinking that adding isSymbolicLink to the Pugs.Compat export(?) list will do the trick | 21:37 | ||
| (and of course add a failing version for Win32) | |||
| theorbtwo | So do it in terms of that in the POSIX case, and make it return false always in the non-posix case? | ||
| stevan | return false, or warn/fail,.. it seems the convention in Compat | 21:38 | |
| once it is in there, it should be fairly simple to add it to Pugs.Prim.FileTest and Pugs.Prim | 21:39 | ||
| but as I said before | |||
| my haskell sucks :) | |||
| theorbtwo | stevan: The only way for it to start sucking less is for you to use it more. | 21:40 | |
| stevan | theorbtwo: agreed, but its a matter of tuits | ||
| I have been reading algorithms though, so I can read it now | |||
| just not write yet | |||
| stevan is very much looking forward to the hackathon (aka - no $work for a week) | 21:41 | ||
| theorbtwo | I'm very worried about the hackathon. | 21:42 | |
| ...but largely just because I'm like that. | |||
| Welcome back, Limbic! | 21:46 | ||
| Limbic_Region | thanks | 21:47 | |
| I see you are back too | |||
| Limbic_Region is reading what nothingmuch has produced so far ATM | |||
|
21:50
mrborisguy is now known as mrborisguy_
21:51
mrborisguy_ is now known as mrborisguy
|
|||
| geoffb | Limbic_Region, have first coroutine version of looper function . . . just signing up for a PM account so as to reply to your node. | 21:52 | |
| theorbtwo | Welcome to the monestary, geoffb. | ||
| Limbic_Region | geoffb - you can post anonymously | 21:53 | |
| but we do encourage you to sign up | |||
| btw - does it run in pugs? | |||
| geoffb | Limbic_Region, my AC days are over, now that I'm published. Got tired of full on paranoia 24x7 | 21:54 | |
| And yes, it runs under pugs | |||
| :-) | |||
| Limbic_Region | cool | ||
| I have no idea why I didn't think of this solution before | |||
| it is quite simple and I know I thought about it a bunch of times (though never invested serious effort) | 21:55 | ||
| Limbic_Region is going to beat nothingmuch senseless if he ends up learning YAL by reading his tutorial on Haskell | 21:56 | ||
| theorbtwo grins. | 21:57 | ||
| jabbot | pugs - 4330 - Hopefully, solve the problems with the v | ||
| geoffb | LOL | 21:58 | |
| OK, Guess I'm off to the Writeup Formatting Tips node . . . | |||
| Ah, now THAT'S a little less borken | 21:59 | ||
| perlmonks.org/index.pl?node_id=463036 | 22:00 | ||
| That's just the raw iterator. | |||
| I'll work on the other params next | |||
| wolverian | geoffb: now make it use 'for' syntax instead of 'while'. :) | 22:01 | |
| Limbic_Region | geoffb++ | ||
| will play with it after I am finished reading nothingmuch's tutorial and building pugs | 22:02 | ||
| wolverian | (that wasn't criticism - I'm just overeager to know how to do that generally) | ||
| (lazily.) | |||
| Limbic_Region | lazy {} is still unspecced though right? | 22:03 | |
| geoffb | wolverian, I'll get there . . . hell, I just got pugs running yesterday. :-) | 22:04 | |
| wolverian | geoffb: nice. :) | ||
| Limbic_Region: yes, there is no official spec how to make lazy lists. | |||
| (or whatever other interface 'for' and iterators might use) | |||
| Limbic_Region | I would have liked to have included some of the p6 iterators I have built recently in the iterators tutorial I wrote | 22:05 | |
| perhaps I will make a part 2 | 22:06 | ||
| theorbtwo - still about? | |||
| actually - coroutines are still unspecced too AFAIK | 22:07 | ||
| AES17 hasn't been written yet | |||
| theorbtwo | I am. | ||
| Limbic_Region | ok - mind if I /msg you | 22:08 | |
| I didn't get very far with nothingmuch's tutorial | |||
| other than to learn that parsec looks like Parse::RecDescent at a superficial level | |||
| theorbtwo | Not at all, though talking in the chan might be a better idea. | ||
| Limbic_Region | you know how verbose I can be - didn't want to monopolize the main channel | 22:09 | |
| theorbtwo | Create a new chan, then? | ||
| geoffb | Yes, but it's interesting stuff | ||
| theorbtwo | I don't want you to miss out on tutoring from people who know more then me. | ||
| geoffb | Appropriate to the channel | ||
| Especially since the IRC logs are so handy | 22:10 | ||
| theorbtwo | And I don't want to miss out on more audiance. | ||
| geoffb | theorbtwo: ham | ||
| :-) | |||
| theorbtwo | Lazy, Hubirific. | ||
| Lazyness is not wanting to give the same speech more then once. | |||
| Hubrific is thinking that I have something to teach. | 22:11 | ||
| Obviously, I'm not very good at the second. | |||
| theorbtwo wonders how to work in Impatience. | |||
| geoffb | Having to spend time saying something more than once? | 22:12 | |
| theorbtwo | I already called that Lazyness, though. | ||
| Limbic_Region | geoffb - I just replied to your node to point out that coroutines aren't specced yet for the benefit of others | ||
| geoffb | good point | 22:13 | |
| (er, that was for theorbtwo ) | |||
| Limbic_Region | theorbtwo - let's start then with what I want to get working | ||
| geoffb | Limbic_Region, thanks | ||
| theorbtwo | Whenever you're ready. | ||
| Limbic_Region | svn.openfoundry.org/pugs/examples/c...scoring.p6 | ||
| there are 4 things (in comments) that need to be done before that code will work | 22:14 | ||
| so what I would like to do is pick 1 (that you think you know how to do) and have you walk me through fixing it | |||
| hopefully learning how to fish in the process | |||
| theorbtwo | mikfire09: Not sure how approprate this is really going to be -- but pick up a copy of ghc (at least 6.4), and a svn checkout of pugs, while I figure out which of Limbic's four bugs to tackle. | 22:16 | |
| mikfire09 | It will take me a while -- my laptop is not connected at the second. | 22:17 | |
| theorbtwo | Oh. | ||
| Limbic_Region | theorbtwo - only 2 are bugs | 22:18 | |
| the other 2 are unimplemented features | |||
| theorbtwo | As far as I'm concerned, unimplemented features are bugs. | 22:20 | |
| Limbic_Region | heh | ||
| well, if I had my choice of the 4 | |||
| I would pick hyperdereferncing | |||
| theorbtwo | Good; I think that may be the most reasonable of them -- mostly because I overheard autrijus give a plan for it. | 22:21 | |
| Of course, I don't remember what it was. | |||
| Limbic_Region | right - I asked about it earlier this morning | ||
| it is in the IRC logs | |||
| colabti.de/irclogger/irclogger_log/...-06-02,Thu | 22:22 | ||
| search for "autrijus - of the 4 things that need to be done to get" | |||
| that's the start of the conversation | |||
| theorbtwo | autrijushyper deref will make you learn about parser :) | ||
| which is considerably easier than the rest of source code | |||
| so maybe that first 14:02 | |||
| Limbic_Region guesses he will wait for a rainy day 14:02 | |||
| autrijusLimbic_Region: basically we already have &infix:<.{}> | |||
| so hyper deref is just adding the >>.{} form to parser, that's all 14:03 | |||
| theorbtwo.{} is infix? Shouldn't it be postcircumfix? 14:03 | |||
| autrijusgood catch. | |||
| feel free to fix the Prim entry 14:04 | |||
| We're going to do that, since autrijus suggested doing it first. | 22:23 | ||
| Limbic_Region | ;-) | ||
| ok | |||
| I assume Prim.hs | |||
| theorbtwo | Also, I don't know much about the parser, and this is a good excuse to learn. | ||
| mikfire09 | orb -- I will be back in a bit. I need to find food & beer | 22:25 | |
| jabbot | pugs - 4331 - Ported File::Find, first try for a new a | 22:27 | |
| Limbic_Region | geoffb - you got another useful reply | 22:29 | |
| geoffb | thx | ||
| Limbic_Region | not sure if you have your settings set up to automatically /msg you when you get a reply | ||
| if you don't you should | |||
| it is helpful | |||
| revdiablo | dang, this code geoffb posted doesn't work -- I guess my week-old pugs is out of date | ||
| :) | |||
| Limbic_Region | that was like 3 releases ago revdiablo | 22:30 | |
| :P | |||
| revdiablo | :) | ||
|
22:31
kelan_ is now known as kelan
|
|||
| revdiablo | this build I have is about a day after 6.2.5 | 22:31 | |
| building the HEAD now... | |||
| theorbtwo | Uff... this stuff is harder then I thought. | ||
| Khisanth | theorbtwo: autrijus makes it look so easy eh? | 22:32 | |
| geoffb | Limbic_Region, OK, I'll go take a look at my settings. | 22:34 | |
| theorbtwo | Exactly, Khisanth. | ||
| revdiablo | Limbic_Region: hmm, that's not a default setting? | ||
| theorbtwo | Really, I've not strayed that far out of the stuff I know how to do. | ||
| Somewhat sadly, no, it's not the default. | |||
| Perhaps I should fix that at some point. | |||
| Limbic_Region | dunno revdiablo | 22:35 | |
| which is why I said - if its not go set it | |||
| Limbic_Region is playing with geoffb's example now | |||
| geoffb | Limbic_Region, I take it the /msg functionality assumes (as luckily is the case) that your PM name matches your freenode nick? | 22:36 | |
| mugwump | damn, my PM name is too long.. | ||
| Limbic_Region | nope | ||
| revdiablo | geoffb: it sends you a PM /msg | ||
| Limbic_Region | Limbic~Region at the Monastery | ||
| mugwump | (for IRC) | 22:37 | |
| revdiablo | geoffb: at perlmonks, above the chatterbox nodelet, you will see any msgs you have received | ||
| Limbic_Region | and it goes to the Monastery (which has its own messaging system) | ||
| mugwump | oh, maybe it isn't. I'm sure I'm had it truncated to "mugwumpjis" before | ||
| mugwump shrugs | |||
| geoffb | revdiablo, Ah, so should refresh the page often, I guess | ||
| theorbtwo | Ah, so you /are/ that mugwump. | ||
| I was unsure. | |||
| revdiablo | geoffb: well, I usually notice it after I have clicked on another link | ||
| mugwump | :) | ||
| revdiablo | geoffb: but if you want to refresh often, be my guest :) | 22:38 | |
| Limbic_Region | geoffb - I tend to not use "refresh" | 22:39 | |
| I tend to click on the link for Other Users | |||
| that takes you to their homenode - so you can learn a bit about your fellow monks | |||
| they often have good links for you to follow | |||
| when that fails to keep my interest, I check out Newest Nodes | |||
| geoffb | Ah. | 22:40 | |
| And you manage to get coding done also? ;-) | |||
| Limbic_Region | when I have tabbed browsing - sure | ||
| ok - so in your example you are optimizing for specific cases | 22:41 | ||
| I got that much no problem | |||
| theorbtwo | I think I'm beginning to figure this out. | ||
| Limbic_Region | my &rest = NL2(loop => @loop[1..Inf]); # is giving me some problems though | 22:42 | |
| mind explaining? | |||
| oh wait | |||
| geoffb was about to explain, then saw light over Limbic_Region's head | |||
| Limbic_Region | is the Inf a slick way of not having to figure stuff out? | 22:43 | |
| revdiablo | aw, the debian version number was out of date -- gotta build it again | ||
| mugwump | geoffb: is that coro on PM in pugs examples anywhere? | ||
| Limbic_Region | mugwump - nope | ||
| I just came up with the challenge | |||
| geoffb | yeah, don't have to figure out how big @loop is | ||
| Limbic_Region | and geoffb just came up with the contribution | ||
| geoffb | Just basically "give me every element, starting at 1" | ||
| Limbic_Region | ok - not sure that's how I would have cheated | ||
| geoffb | Hey now, no cheating here. :-) | 22:44 | |
| Limbic_Region | as in it isn't clear from first glance | ||
| mugwump - I do intend to check in 1 or more examples after more people have had a chance to reply | |||
| for instance - revdiablo's sagely advice of turning the map into a for | |||
| geoffb | Limbic_Region, as noted in my reply -- my current version has that. | 22:45 | |
| Limbic_Region | right | ||
| geoffb | Hmmm, not used to thinking PM way -- probably should go back and edit it. | ||
| Or not, better to spend time getting full version done | |||
| Limbic_Region | geoffb - typically you only do 1 or the other | ||
| update the node saying "updated thanks to revdiablo" | 22:46 | ||
| or post a comment agreeing/disagreeing leaving the original in tact | |||
| mugwump | Limbic_Region: personally I don't buy that :). Maybe there needs to be Array.loop in S29 | ||
| geoffb | Limbic_Region, makes sense | ||
| Limbic_Region | don't buy what mugwump? | ||
| mugwump | changing map to for | ||
| Limbic_Region | ok | ||
| well I was going to suggest changing Inf to @loop.end | 22:47 | ||
| jabbot | pugs - 4332 - change version number | ||
| Limbic_Region | geoffb - I updated my reply to you accordingly - feel free to ignore the suggestion though | 22:48 | |
| geoffb | Limbic_Region, fair enough -- though isn't my method described in one of the SAE? | 22:50 | |
| Limbic_Region | I know blokhead is working on a solution to but he ran into unimplemented pugs features | ||
| that's my point about p6 DWYM but that it isn't as clear (IMO) as an explicit @foo.end | |||
| geoffb | ah, gotcha. | 22:51 | |
| Limbic_Region | should also be able to do it several other ways | ||
| I am about to play with them now | |||
| geoffb | heh | ||
| Limbic_Region | actually - they are more obfuish | 22:52 | |
| geoffb - did you see the original p6 challenge I posted? | 22:54 | ||
| geoffb | Erm, don't think so. | ||
| Limbic_Region | I would love to see what you could do with that | ||
| perlmonks.org/?node_id=458728 | |||
| that one is already checked in as an example | 22:55 | ||
| geoffb | @geoffb_stack.push($url) | ||
| Limbic_Region | svn.openfoundry.org/pugs/examples/c...scoring.p6 | ||
| geoffb | nod | ||
| revdiablo | mugwump: you don't think that map should be changed to for? | 22:56 | |
| theorbtwo | I think I got it. | ||
| So, we're trying to fix return. Start by searching for "return" in src/Pugs/Prim.hs | 22:57 | ||
| mugwump | revdiablo: sure. that return list isn't built and discarded like in perl5. | ||
| Limbic_Region | which 1 are you addressing theorbtwo? | ||
| mugwump | so, it's a matter of style | ||
| Limbic_Region | hyperderefing | ||
| or the step that autrijus said to do first? | |||
| revdiablo | mugwump: it's not built and discarded in perl5 anymore either | 22:58 | |
| mugwump: my suggestion was one about style, not efficiency :) | |||
| Limbic_Region | I'm there theorbtwo | ||
| mugwump | well, I don't think it's bad style, but obviously some do | ||
| theorbtwo | The first one is the case where return is called with no arguments. Skip that one, go on to the op1 case. | ||
| revdiablo | mugwump: to me, it just adds some extra syntax for no benefit | 22:59 | |
| mugwump | it's the benefit of not having to restructure the statement to put the for at the front | ||
| Limbic_Region | k - I am in the op1 section theorbtwo | ||
| mugwump | Maybe a .loop:{ ... } would be nicer for that | ||
| to make it clearer | |||
| theorbtwo | OK -- that just calls out to op1Return, so search for that. | 23:00 | |
| revdiablo | mugwump: it didn't need any restructuring. don't get me wrong, when map makes sense, I'll use it. I just don't think it makes sense here. *shrug* | ||
| Limbic_Region | I'm there | ||
| theorbtwo | That finds the depth, checks if it's 0, and dies if it is. | ||
| Limbic_Region | right | ||
| mugwump | you changed; @loop[0].map:{ yield [$^first] }; to: for @loop[0] { yield [$^first] } | 23:01 | |
| Limbic_Region | I can even read that ;-) | ||
| mugwump | this is swapping the order of the array and the loop directive | ||
| theorbtwo | Then it gets &?SUB, the perl value representing the current sub, and unwraps it. | ||
| Limbic_Region | ok - I don't understand all of that - but I get the general idea | 23:02 | |
| theorbtwo | fromVal unwraps a perl-level thing into a haskell-level thing. | ||
| All perl-level values are repesented by Val. fromVal takes the Val, and converts it into the approprate type of haskell variable. | |||
| Limbic_Region | and sticks it in something called sub | ||
| revdiablo | mugwump: I guess we will just disagree here :) | ||
| Limbic_Region | I got that | 23:03 | |
| theorbtwo | (Without, in general, you having to tell it what is approprate, even though haskell is statically typed, though the magic of type inference.) | ||
| Anyway, then it calls subCont on it, to get it's continuation. | |||
| If it doesn't have one, then it's a normal sub; if it does then it's a continuation. | 23:04 | ||
| Perl rules say that trying to return from a continuation is a failure, so it fails. | |||
| If not, it is action. | |||
| Limbic_Region | ok | ||
| theorbtwo | ...so return ($foo) is just a fancy way of checking if we return, and making the value of the statement $foo if we can. | ||
| Limbic_Region | while I understand that - I couldn't have written it | ||
| theorbtwo | It doesn't actually end execution of the current sub. | 23:05 | |
| Limbic_Region | and that's the problem? | ||
| geoffb | mugwump, revdiablo: sorry, had to take a call -- from the backscroll it sounds like @loop[0].loop:{...} would be best all around, except it doesn't work in pugs yet? | ||
| theorbtwo | That's the problem. | ||
| I couldn't have written that either, BTW. | |||
| revdiablo | geoffb: no, I still like the for loop better, using my "less syntax" rule of thumb | 23:06 | |
| Limbic_Region | well - I am just glad that I recognized the problem before you said "the problem is..." | ||
| mugwump | geoffb: doesn't work in pugs yet? Of course not, I just made it up ;) | ||
| Limbic_Region | so do you know how you would go about fixing it | ||
| theorbtwo | So, here's the question: What does exhibit the behavior we want? | ||
| revdiablo | geoffb: but mugwump disagrees. so you can decide whichever way you like | ||
| geoffb | mugwump, ah, gotcha | ||
| Limbic_Region | theorbtwo - I am not sure I am following | ||
| you want an example of something that works correctly and something that breaks? | |||
| theorbtwo | Somewhere else in the pugs code base, there's a primitive that does correctly end execution of the current sub. | 23:07 | |
| geoffb | revdiablo, for now I have the 'for' version, but I would probably like .loop:{}, as it would Do What It Says | ||
| theorbtwo | That thing is die. | ||
| Limbic_Region | oh - I see - copy/paste | ||
| theorbtwo | Well, I think we can do a bit better then cut and paste... but only a little bit. | ||
| Limbic_Region | let me see if I can find it and see if I can figure out the proper thing to copy | ||
| revdiablo | geoffb: how does a for loop not do what it says? unless there is some extra semantic meaning you're attaching to for that I don't see | 23:08 | |
| geoffb | No, I meant as opposed to .map:{} | ||
| Limbic_Region | no luck theorbtwo | 23:09 | |
| my best bet would be fail | |||
| s/bet/guess/ | |||
| revdiablo | geoffb: ah, ok, I can agree with that :) | ||
| revdiablo is not trying to disagree just for disagreement's sake, honest! | |||
| geoffb | heh | 23:10 | |
| geoffb valiantly trying to figure out whether his code is buggy, or pugs is | |||
| Limbic_Region | geoffb - still working on the optional support - or the other challenge? | ||
| geoffb | optional support. | ||
| For some reason, the path I have chosen is throwing errors from pugs. | 23:11 | ||
| And now I'm invested in figuring out WHY | |||
| revdiablo | geoffb: when you do, if you find a bug, make sure to create a test case for it. :) | 23:12 | |
| geoffb | :-) | ||
| theorbtwo | op1 "die" calls fail, which does the hard part of failure. | 23:13 | |
| Sadly, "fail" is not listed directly in the index. | 23:14 | ||
| You have to do your own sniffing about to find it. | |||
| Limbic_Region | well - that's why I said it was my best guess | ||
| ok - will find . -type f -exec grep -l fail {} \; | |||
| there is a fail_ btw | |||
| revdiablo | golf! grep -rl fail . | 23:15 | |
| :) | |||
| theorbtwo | fail_ is on the perl6 layer, though. | ||
| revdiablo: Assumes a GNU grep. | |||
| OTOH, find -exec assumes a GNU find. | |||
| revdiablo | self refutation++ | 23:16 | |
| theorbtwo | The one you want is on line 1092 of src/Pugs/AST/Internals.hs | ||
| Thanks, rev. | |||
| Limbic_Region | theorbtwo - no it doesn't | ||
| ref -exec assuming GNU find | |||
| theorbtwo | Oh. | 23:19 | |
| OK. | |||
| Anyway, you see the defintion of fail? | |||
| Limbic_Region | fail str = do | ||
| that line? | |||
| geoffb | OK, here's one of the problems: 'do_something() if $code_ref and $code_ref()' doesn't safely shortcircuit; pugs dies with a casting error if $code_ref is undef. | ||
| Limbic_Region | yeah | ||
| theorbtwo | Yep. | ||
| Limbic_Region | I found that earlier geoffb | ||
| geoffb | But it works just fine if you say ' if $code_ref {do_something if $code_ref()} | ||
| Limbic_Region | I didn't pugsbug it but I should have | ||
| geoffb | cool, I'm not insane | ||
| Limbic_Region | I think it is how the parser works | ||
| theorbtwo | Anyway, the meaty line is shiftT . const . return $ VError str [pos] | ||
| Limbic_Region | in any case geoffb | ||
| make a simple test case | |||
| right - theorbtwo | |||
| only we aren't interested in an error | |||
| are we? | 23:20 | ||
| theorbtwo | Right. | ||
| But we are intersted in screwing with the evaluation, which is I think what shiftT does. | |||
| Limbic_Region | ok - we are once again way over my head | ||
| theorbtwo | So now we need to figure out how to use shiftT. Looking it up in the index of pugscode.org/haddock/ gives two of them. | 23:21 | |
| We want the one in Pugs.AST.Internals. | |||
| (That's from a guess, just because I've never heard of Pugs.Cont before.) | |||
| Yeah, we're in a bit over my head too. | |||
| Limbic_Region | ok | 23:22 | |
| geoffb - Limbic_Region found a pugsbug but isn't sure it is worth pursuing | |||
| next if $foo.does(Code); # works fine | |||
| next if $foo.does(Code) && $foo.($bar); # bombs out | 23:23 | ||
| but only if $foo is undef | |||
| theorbtwo | If you look in Pugs.AST.Internals, you can find the defintion of shiftT, of which I understand the about a word. | ||
| geoffb | got it | ||
| Limbic_Region | I found the same bug earlier today | ||
| geoffb | Great minds clearly think alike. | ||
| Limbic_Region | theorbtwo - but what exactly are we wanting to do with it | ||
| theorbtwo | ?eval say 'HI' if 0 and die('horribly') | 23:24 | |
| evalbot6 | undef | ||
| theorbtwo | (Why didn't that die?) | ||
| We want to call it, but first we have to figure out how. | |||
| Limbic_Region | oh... | 23:25 | |
| I was thinking you wanted to manipulate it | |||
| wolverian | theorbtwo: 0 and ... shortcuts | ||
| if that's what you asked. (upon rereading backlog) | 23:26 | ||
| theorbtwo | wolverian: It should, but isn't that the same as the code that Limbic_Region had bomb? | ||
| Anyway, I'm getting side-tracked. | |||
| Limbic_Region | theorbtwo - no - you misread | 23:27 | |
| it bombs out with an undef error | |||
| it should have never gotten to the undef part | |||
| because it SHOULD have short circuited | |||
| but didn't | |||
| theorbtwo | shiftT takes a argument that's a function... so we need some function to pass it. | 23:28 | |
| So we pass it (\_ -> action). | |||
| wolverian | hmm. | ||
| say "hi" if undef.does(Code); # Can't modify constant item: VBool False | |||
| Limbic_Region | back to the other bug for a second | ||
| if $OnlyWhen.does(Code) { $OnlyWhen(@group) or next } | |||
| that line is written that way because it won't work as | |||
| theorbtwo | That is, an anonymous function that takes a single parameter, and then calls action. | 23:29 | |
| Limbic_Region | next if $OnlyWhen.does(Code) && ! $OnlyWhen(@group; | ||
| theorbtwo - I am understanding what you are saying but I haven't assimilated it | |||
| I think I need to start more basic | 23:30 | ||
| and by "won't work" - I mean it is a parse error saying it isn't defined even though it shouldn't have gotten called in the first place | |||
| theorbtwo | Oh. | ||
| Well, with my modification, it still doesn't pass the test. | 23:31 | ||
| wolverian | Limbic_Region: $foo.?meth; # call .meth if it exists; I assume $OnlyWhen.?(@group); would work | ||
| although that might be too ugly to live. :) | |||
| (unless () isn't a method, of course.) | 23:32 | ||
| Limbic_Region | wolverian - that's getting around the bug | ||
| that isn't fixing the bug | |||
| theorbtwo | I'm going to revert out my modification, and wait until I know WTF shiftT does. | ||
| geoffb | OK, 'No compatible subroutine found' is rapidly becoming my nemesis | ||
| Limbic_Region | I got around the bug in a completely different way | ||
| wolverian | Limbic_Region: I'm just thinking about more perl6ish ways to do this. | ||
| Limbic_Region | geoffb - you know why right? | ||
| wolverian | Limbic_Region: sorry. | ||
| Limbic_Region | wolverian - no need to apologize | ||
| geoffb | Limbic_Region, ? | ||
| Limbic_Region | geoffb - signatures | ||
| geoffb | Oh, yeah, that I knew. | 23:33 | |
| wolverian | try { $foo() } err next; | ||
| geoffb | Why exactly the sigs are incompatible is what's got me confuzzled | ||
| wolverian | hmm that didn't quite do the same thing as your code. :) | ||
| Limbic_Region | nopaste it geoffb | ||
| geoffb | Going to try fiddling for a couple minutes more, then will do. | ||
| Limbic_Region | theorbtwo - sounds good to me | ||
| geoffb - you are going to pugsbug the problem though right? | 23:38 | ||
| geoffb | hold on -- daughter wants some attention atm | ||
| Limbic_Region | give her all your attention then | ||
| she deserves it | |||
| Limbic_Region notes the time and calls it a night | 23:53 | ||
| but hopes that geoffb will submit a test exhibiting the bug | |||