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