6.2.10 released! xrl.us/hxnb | geoffb's column (/. ed): xrl.us/hxhk | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 | www.geeksunite.net
Set by autrijus on 10 October 2005.
00:47 coral is now known as everything, everything is now known as coral
scook0 iblech++ # for fixing named-args with non-bareword LHSs 02:18
(of course, `foo( ($lhs) => $rhs )` is still broken, but I don't see an easy fix for that)
and it's something we can live with for now
svnbot6 r7636 | scook0++ | * Tests for problems in current demagicalized-pair implementation 03:43
r7636 | scook0++ | (Unfortunately, two of these inexplicably hard-parsefail.)
pasteling "putter" at 66.30.119.55 pasted "summary of basic -CPerl5 status" (56 lines, 3.5K) at sial.org/pbot/13722 03:46
putter fyi. 03:47
very basic - did -CPerl5 have any output, did it eval() ok, and did pugs complain. 03:48
it would be nice to have a pil-uncompiler, ie, a pil->p6 emitter. the generated p6 would then be run under test/smoke instead of the original p6. providing a roundtrip test of pil generation. 03:51
anything test which failed on the roundtrip, but not under normal pugs, would indicate a bug in pil or pil->p6. 03:53
of course, as pil2js comes to have coverage equal to hs pugs, it could serve this role. but a pil->p6 would be much simpler (no runtime), and thus less ambiguous. 03:54
cheers &
gaal Juerd: it isn't available through debian, unfortunately, and I can't be sure it won't break future upgrades (though I don't see why it should), so I'm not installing it for now. 06:07
rafl_: could you please give the complete one-or-three-liner I need to test this from scratch? Just apt-get source and the dpkg command you mentioned? 06:08
brother Is svn down or is it just my connection? 07:25
scook0 brother: all of openfoundry seems to be down :( 07:34
r0nny hoi 07:37
scook0 hi r0nny 07:41
brother Ehmmm 07:46
? sub foo (*%named, Pair *@pairs) { say "hash"; say %named.perl; say "list"; for @pairs -> Pair $p { say $p.perl } } ; foo('a' ..'c' => 'ABC') 07:47
?eval sub foo (*%named, Pair *@pairs) { say "hash"; say %named.perl; say "list"; for @pairs -> Pair $p { say $p.perl } } ; foo('a' ..'c' => 'ABC')
evalbot_7636 hash {("a b c" => "ABC")} list undef
brother ?eval sub foo (*%named, Pair *@pairs) { say "hash"; say %named.perl; say "list"; for @pairs -> Pair $p { say $p.perl } } ; foo ('a' ..'c' => 'ABC')
evalbot_7636 hash {} list (("a", "b", "c") => "ABC") undef
brother Is that difference intended? 07:48
nothingmuch heh, /me did 'dd .... bs=1024x1024x1024' by accident 07:52
by the time I realized what was going on it was too late ;-) 07:53
ask.slashdot.org/comments.pl?sid=16...d=13801120 09:24
nothingmuch thinks this works:
choose a leader
all other prisoners also get k switches
they switch randomly, like the king
the leader prisoner waits for (n+1)k states he wasn't responsible for 09:25
rafl Can someone please tell me when I parted this channel the last time before 11am CEST?
nothingmuch rafl: use the logger?
rafl nothingmuch: Where is the logger?
nothingmuch irc.pugscode.org/ 09:26
rafl Thank you.
nothingmuch realizes he was wrong 09:28
because the game might be stuck with all the prisoners running out of k before the leader gets his situations
do we need a list context and? 10:05
($var ?? (key => $var) !! ()); 10:06
i find myself doing that a lot in arg lists lately
i hope the touple type can get rid of it
but i'm not sure
autrijus hi from stockholm airport
nothingmuch hi from omer industrial park
autrijus boarding in... 20 min
nothingmuch headed to the nordic perl workshop?
autrijus but network may stop any time now 10:07
journal up (a bit)
no euro oscon
nothingmuch ah
autrijus: what do you think wrt list context && ? 10:08
maybe a prefix operator on pairs
what would a maybe operator look like?
autrijus you can define it yourself... maybe :)
nothingmuch right, it's nto hard
sub maybe (Pair $x) { $x.v ?? $x :: () } 10:09
lunchtime
wolverian heh. 10:11
autrijus, hey, you're almost near me! :)
autrijus mmmnm?
wolverian I know because I feel unusually energetic. 10:12
(I'm in helsinki)
autrijus :D 10:13
I was in helsinki.
autrijus ponders the Amulet of Yendor effect
joao wolverian: heh 10:14
integral there's always the risk you got the fake one mixed up
autrijus mm cheap plastic copy of autrijus 10:15
about 30% finished slides is on perlcabal.org/~autrijus/tmp/pugs.xul
it should be obvious that I'm in Unicode abuse mode. 10:16
wolverian about time someone abused Unicode and not the reverse.. 10:18
use fp;? 10:19
xerox autrijus: impressive!!! 10:20
wolverian agrees 10:21
xerox autrijus: Unicode abuse mode is great. 10:22
wolverian heh. what's erdosing? I think I missed that sometime ago :) 10:23
theorbtwo Aww... I can't display slide 44 correctly! 10:36
scook0 grr, openfoundry still down? :( 10:39
nothingmuch autrijus: what is "our feature presentation" going to be? 10:52
11:11 Grrrr is now known as Gruber
rafl Hrm.. what's up with openfoundry? RA layer request failed: PROPFIND request failed on '/pugs': PROPFIND of '/pugs': could not connect to server (svn.openfoundry.org) 12:34
gaal rafl: autrijus mentioned it "got its weekend shutdown" just as his mailbox got full
did you see my ~threeliner request? 12:35
rafl gaal: I can remember it roughly. Would you please repeat it, though?
btw, pugs 6.2.10 was accepted by the FTP masters and will go into Debian sid today. 12:36
gaal yaya
rafl 6.2.8 is in testing since yesterday.
gaal rafl: you said ghc builds for you in a clean chrooted environment. how do i attempt the same?
rafl apt-get install pbuilder; pbuilder create --distribution sid --mirror the.nearest/mirror; apt-get source ghc6; pbuilder build ghc6*.dsc 12:38
Maybe you also need to install cdeboostrap to make the pbuilder create work.
gaal thanks, i'll try that later on today if i have time 12:40
rafl gaal: btw, which version do you use? 6.4-4.1 or 6.4.1-1? 13:28
gaal rafl: whatever ghc6 is on unstable :)
rafl gaal: Yesterday it was 6.4-4.1. Today it's 6.4.1-1.
gaal okies. can't try anything right now anymoose. 13:29
rafl OK.
Why doesn't the pugs binary link against the haskell interface? It's still such a huge binary.. 13:45
13:57 r0nny_ is now known as r0nny 14:02 ods15_ is now known as ods15
rafl Who wrote the yaml_harness and config.yml/smoker.yml stuff? 14:04
svnbot6 r7637 | stevan++ | Perl6::MetaModel - 14:10
r7637 | stevan++ | * added a simplistic parser for class syntax (see tests for examples)
r7637 | stevan++ | - added a number of tests for this as well
r7638 | rafl++ | r17178@ata: rafl | 2005-10-16 15:45:31 +0200 14:12
r7638 | rafl++ | Debian:
r7638 | rafl++ | * Configure with DESTDIR=/usr/lib/haskell-packages/ghc6/ so the paths in the
r7638 | rafl++ | generated cabal file are correct.
r7639 | rafl++ | r17179@ata: rafl | 2005-10-16 16:01:18 +0200
r7639 | rafl++ | Debian:
r7639 | rafl++ | * Updated ghc6 dependency for libghc6-pugs-dev.
r7639 | rafl++ | * Added perl dependency for libghc6-pugs-dev.
r7639 | rafl++ | * Some minor description improvements.
r7640 | rafl++ | r17180@ata: rafl | 2005-10-16 16:03:57 +0200
r7640 | rafl++ | debian/copyright:
r7640 | rafl++ | * Added two spaces in front of the pugscode url to prevent some broken tool to
r7640 | rafl++ | do a wrong line-wrapping.
r7640 | rafl++ | * Added full text of the BSD license because the BSD license of
r7640 | rafl++ | src/syck/COPYING differs from the original BSD license.
r7641 | rafl++ | r17181@ata: rafl | 2005-10-16 16:08:45 +0200
r7641 | rafl++ | * debian/rules: various cleanups.
14:14 GeJ_ is now known as GeJ
svnbot6 r7642 | iblech++ | * Usual svn props. 14:18
r7642 | iblech++ | * docs/quickref:
r7642 | iblech++ | * control: Subroutines, named args, positional pairs etc.
r7642 | iblech++ | * data: Minor fix to the use of that hash() sub.
r7643 | iblech++ | Fixed some tests in t/builtins/ WRT pairs now being demagicalized. 14:24
r7644 | iblech++ | * Renamed examples/slurpy-list-parms to slurpy-list-params.
r7644 | iblech++ | * examples/japh/* and examples/output/slurpy-list-params/* are now tested
r7644 | iblech++ | by t/examples/examples.t.
r7645 | autrijus++ | * larry_mariner.txt: Stanza 3 15:24
r7646 | stevan++ | Perl6::MetaModel - 15:42
r7646 | stevan++ | * some more work on the parser
r7646 | stevan++ | - handles very simple parameter lists
r7646 | stevan++ | - now allows . method invocation and ~ string concat
r7646 | stevan++ | NOTE: this is still not very robust, mostly just a toy project at
r7646 | stevan++ | this point, however some of this might be adaptable to using PIL
r7646 | stevan++ | output to construct classes
15:49 stevan_ is now known as stevan
spinclad autrijus: no idea if anyone else has mentioned this... 15:53
autrijus: in haskell4.xul, p30: parseTest expr "1*2|-3 or 'A'": the -3 shows up as 3 below... 15:55
autrijus thanks, fixed
spinclad :) 15:56
autrijus spinclad++ 15:57
autrijus catches up
ooh scook0++ # demagicalizing pairs
dinner & 16:12
svnbot6 r7647 | iblech++ | * Usual svn props. 16:49
r7647 | iblech++ | * Misc. test fixes:
r7647 | iblech++ | * var/autoref.t: Minor test description fix.
r7647 | iblech++ | * pugsbugs/topic_in_map.t: Test fix (one-char patch) and moved out of
r7647 | iblech++ | pugsbugs/ as the test passes now.
r7647 | iblech++ | * pugsbugs/cast_undef_shortcircuit.t: Fixed test expectations,
r7647 | iblech++ | PIL2JS passes this test now.
r7647 | iblech++ | * pugsbugs/parsing_bool.t: Test fix (s:g/err/or/)
r7647 | iblech++ | * pugsbugs/value_alias_readonly.t: Added another test for the readwrite-ness
r7647 | iblech++ | of $pair.values. XXX: Should (key => $value).value =:= $value? (See the
r7647 | iblech++ | test for details).
r7647 | iblech++ | * pugsbugs/return_in_anonymous_subs.t: Fixed the test (passes under PIL2JS now).
geoffb *yawn* 16:52
Morning, all 16:53
spinclad autrijus, would you want Erd{\''o}sing (that is, the acute-umlaut accent) as long as we're abusing Unicode? 16:57
(please forgive that i haven't tracked down how to type it properly myself!)
integral "Erdƶsing"
spinclad isn't that a simple umlaut? in hungarian i believe it's a long ƶ, which they spell with double-acutes 16:59
integral oh, good point, they look too similar too often. (/me &)
spinclad what finns would happily spell ƶƶ 17:02
(which is easier to type in latin-1) 17:04
svnbot6 r7648 | putter++ | pugs -CPerl5 representation of VRat changed from (2/3) to [2,3]. 17:13
r7648 | putter++ | So backends can decide how to represent rationals.
r7648 | putter++ | Tweaked PIL2JS to work with the new rep.
r7648 | putter++ | [2,3] was chosen over 2,3 to avoid creating a unique two-part PIL value.
r7648 | putter++ | Example: bless([[2,3]],"VRat")
theorbtwo Well, in theory, it's o+umlout+accute. 17:14
oōæ½xCCōæ½x88ōæ½xCCōæ½x81 17:15
Hm, that didn't work quite right.
?eval say "o\x{308}\x{301}"; 17:16
evalbot_7647 o\x308\x301 bool::true
17:16 Lopo_ is now known as Lopo
svnbot6 r7649 | putter++ | t/rules/perl5.t broken into 9 bitesized 100-test pieces. 17:31
r7649 | putter++ | It is supposed to be a rules test, not to be avoided because it is
r7649 | putter++ | stress testing parser backtracking and backend memory handling.
r7649 | putter++ | PIL2JS code generation now works on all nine files. Three still
r7649 | putter++ | cause an uncomfortably large bin/js (maybe 4,5 and 8?). One could
r7649 | putter++ | add backend-specific skips to those files. Or ideally, figure out
r7649 | putter++ | which specific expressions are blowing up and skip/fix those.
Aankhen`` goes to sleep. 18:08
G'night.
geoffb Oddly quiet here today. 18:19
Juerd
.oO( figlet LOUD ENOUGH? )
18:21
geoffb heh 18:25
Normally it takes me a couple hours just to read the log from when I go to bed to when I wake up. I just read two days of logs in an hour and a half . . . . 18:26
Juerd Wow, you read all of it? 18:27
Admirable
putter toots on horn. shouldnt be quiet on a weekend at this hour. toot. 18:28
putter forgot key pugs design objective recently. -Ofun. nice autrijus slides reminded. 18:29
geoffb Juerd, as long as I've been away no more than 2-3 days (depending on my mood after such a break)
putter tnx ;)
geoffb putter, :-)
Juerd Why does the operating system I wanted to love suck so much? 18:35
geoffb Juerd, ?
coral it's got the wrong shade of blue as the default color?
Juerd As I'm cleaning up my Mac mini's hard drive for the partition to be resized and the rest of the drive to be filled with Linux stuff, I wonder why I had so great hopes for OS X 18:36
I bought a Mac because I had wanted it for years. I wanted to use OS X.
And less than a year later, I'm going to install Linux on it because KDE is so much better in many respects.
And Debian is so much better at managing a system (esp. upgrades) 18:37
rafl And it always has an up-to-date pugs! 8-) 18:41
Juerd I haven't even compiled anything on my mac yet
putter rafl++
Juerd It's too much trouble to get all the pieces in place before doing so
I ssh to linux boxes all the time 18:42
Because the shell environment Apple gives you is so limiting, and I'm too lazy to change that
putter hmm.. what is infix:^^ ? (<-- more noise:) 18:43
Juerd putter: logical xor, high precedence
geoffb Juerd, why is that not ?^ ? 18:44
Or does logical implicitely get all doubled forms? 18:45
Juerd geoffb: That would be boolean, not logical, although for xor it's probably the same in all respects.
$foo ?& $bar evaluates to true or false
$foo && $bar evaluates to $bar or false
I think ^^ is there for symmetry with && and || 18:46
geoffb Ah, right, been too long since I reviewed that AES
Juerd It was missing in Perl 5.
putter Juerd: thanks :) search.cpan.org/dist/Perl6-Bible/li...le/S03.pod dev.perl.org/perl6/doc/design/syn/S03.html
Juerd I prefer short URLs :)
tnx.nl/S03
stevan putter: ping 18:55
putter ponnnnnggg! 18:58
stevan hey putter :) 18:59
putter hey stevan!
stevan we keep missing one another
putter adding sugar i see! :)
:(
stevan yes, kinda sugar,.. just an idea I have had
putter I'm playing regexp games with my new p5 backend spike. but only in a controlled environment (a complete prelude) 19:00
stevan nice
putter kind of painful. unpack, then repack as something that looks like pil, then unpack that... :( 19:01
stevan ouch
putter ah well. makes it much easier to massage the prelude.
stevan I was going to experiment with parsing PIL structures into classes... any advice? 19:02
I want to make sure it can be folded into PIL-Run
putter hmm... lets see, think I had some memos for you...
PIL-Run is dead. long live Perl6::Run::OnPerl5::X1 ! ;) not really. 19:03
stevan I basically want to help get the MM more integrated into PIL-Run, but I need to come at it from the MM side
putter right
stevan LOL
ok
P6::R::OP5::X1 it is
putter bottom line, pil doesnt have the data to do oo. lossy. I tried adding annotations pugs-side, but that proved painful and limiited. so my best guess is 19:04
one should regexp the code before handing it to pugs, add informational annotations on stuff that gets lost in something which doesnt (ie, method _hint_does_xxencodedclassxx(){}) and 19:06
stevan I am not sure I get what you mean 19:07
putter then massage the resulting pil back to something more plausible. probably want to ignore some bits that pugs does generate, like accessors.
stevan hmmm, and when is PIL2 supposed to hit the shelves? 19:08
putter the pil for 'class A{does B}' doesnt mention does'ing or B. so given p6 code, one regexp's the does'es, and adds an extra "method _im_a_hint_does_B(){}" which will make it out in the pil, and can be interpreted as "oh, there's a does() going by". 19:09
stevan ah 19:10
I see now
putter stevan: re when, no idea. completely no idea.
stevan autrijus: ping
(he was around earlier, maybe he is in flight)
mrborisguy may I ask what PIL stands for? 19:11
putter tries to remember... 19:12
Pugs Intermediate Language?
stevan Pugs Intermediate Languages
yes
mrborisguy thanks
autrijus stevan: pong
putter think "scheme with sematics". a "kernel language" for pugs.
autrijus stevan: I'm in amsterdam, but may have to sleep soon
putter err, s/scheme with/scheme with more/ 19:13
autrijus very early (8:30am) tutorial tomorrow
putter hi autrijus. liked slides. looking forward to movie. ;)
autrijus of RoR... looks intriguing. probably not going to skip
putter: sadly I didn't get time to record, maybe I'll have to recycle the oscon one.
mrborisguy putter: I've never even looked at scheme.
autrijus the main problem is my two lightning talk (the least well prepared) are the _first_. 19:14
on the first day morning
mrborisguy looks like a form of lisp?
stevan autrijus: you are ahead of schedule as usual :P
autrijus: we were wondering about PLI2
autrijus: did you see my recent toy class parser ? 19:15
autrijus I only checked the tests, not the imp, looks healthy
putter mrborisguy: the core idea is that the user and the compiler want different things from a language (richnesss vs simplicity-even-if-it-costs-clarity). so one takes the surface langauge (p6), and convert it to a "kernel" language, with just a few orthogonal constructs, which is much easier for compilers and such to deal with. 19:16
stevan I would like to switch it over to PIL, but according to putter OO support in PIL is not there yet
putter autrijus: eep
mrborisguy putter: okay... that makes sense. Thanks for the explanation.
autrijus there is fake support of OO in PIL, that of course needs to go 19:17
putter my create_class or whatever it was hack can be immediately pulled out. proved to hard to go down that path (having pugs add annotations), so it's unused. 19:18
good night autrijus. (hint;) 19:21
stevan autrijus: the impl is not as healthy, its one of my quick-n-dirty stream parsers
autrijus smiles
yeah, sleep deprivation probably means I shouldn't do this now
stevan LOL
putter sucks _starting_ a conference already burned out 19:22
stevan ok, well anytime you want to, I would love to talk PIL2 OO stuff
autrijus though the idea is instead of BDUF'ing PIL2, instead implement the serialize-BEGIN-time-object thing first
nothingmuch evening all
stevan hey nothingmuch
autrijus so that a class is composed at begin time
and serialized -- as all opaque objects that does not involve external resources can -- into PIL tree
stevan autrijus: that makes sense
autrijus for the runtime to pick up even before INIT
putter in the BEGINing... there was Chaos.pm... and ...
autrijus putter++
and I got some proof of concept sketches 19:23
but I think I should listen to putter
stevan yes, you should :)
autrijus and sleep instead of working it out as I tend to go on :)
putter I too look forward to a PIL2 conversation. but clearly not tonight!
nothingmuch autrijus: you should make some responsible persons ops, so that they can temp-ban you when you need sleep ;-) 19:24
putter lol
autrijus rofl
nothingmuch needs that too
let's make a bot
we'll call it sleep bot
stevan regularly ignore nothingmuch without the help of a bot ;)
nothingmuch individuals can opt in to be banned, and opt out
putter ?nannybot cut me off in 1/2 hour
putter: yes dear 19:25
nothingmuch whenever they mention sleep deprevation, etc
the bot starts to count down time
the more frequent the mentions the less time the person has left
eventually it starts warning the user
and then it sends him off to bed
whatdya say?
theorbtwo nm: Careful, or you'll get voted off the island. 19:26
nothingmuch voted off the island
?
stevan we would need another one for people who talk abotu the $work they should be doing
nothingmuch aye
nannybot: i need to work
nannybot: i need to sleep 19:27
these opt in to "categories"
anyway, i'm off cycling 19:28
autrijus: good night
theorbtwo Have fun, nothingmuch.
nothingmuch grazie, theorbtwo!
putter then there's the ever useful "tell me what you've done in the 20 minutes since I last asked." ... "now, has that been worth losing 20 minutes of sleep for?" ... 19:29
nothingmuch &
are nor and infix:!! gone? I don't see them in S03. 19:30
gaal whoa, you guys are having fun 19:32
autrijus nite people... at least I got the journal up :) *wave*
stevan nite 19:33
gaal hi a, bye a.
autrijus hi g, bye g.
gaal ?eval %*ENV.perl; # I wonder if this is safe? 19:35
evalbot_7649 "\\undef"
gaal heh.
theorbtwo infix:!! ? 19:39
putter ?
gaal no such op, i think.
putter once upon a time must have been in Prim.hs.
theorbtwo I thought so as well, which is why I was surprised that putter expected it in S03. 19:40
gaal In Perl5 it's more or less equivalent to P6's "?". :)
putter ;)
theorbtwo That's prefix:!!, gaal...
putter hmm... putter goes to check if its a prefix/infix transcription error...
gaal hmm, indeed.
theorbtwo Was there an infix !! standing in for half of the trinary ?? !! 19:41
putter no, predates that. 19:42
gaal it meant... xor or something?
putter is/was there a prefix:<!!> ? (ok, putter goes off to check Prim.hs)
theorbtwo AFAIK, it's just a double application of prefix !. 19:43
putter not there now. fine. commented out.
Juerd Well, !! is part of ?? !! 19:44
And very probably without ??, !! should be disallowed, to avoid terrible confusion.
This does not take away a feature, because booleanification can now be done with ?
revdiablo And using !! for booleanification is borderline obfu anyway, even if it's a common idiom 19:55
putter wonders if the perl6 "periodic table of operators" has been updated recently... 20:02
wolverian what do private instance variables look like nowadays? $:foo or $_foo or $._foo? 20:20
gaal $: 20:23
wolverian and private methods are _foo? (I thought Larry was thinking that) 20:27
gaal don't know 20:28
wolverian okay, thanks 20:29
chronoa.dy.fi/~wolverian/hq9+.perl6.txt (wikipedia for HQ9+ if you're not familiar with it :) 20:36
comments welcome
(particularly the run method looks like java) 20:37
rafl Heh :-) 20:38
gaal heheh. 20:40
wolverian wonders why everyone is chuckling 20:41
gaal "Following the principle of information hiding, it is not possible to access this object."
this reminds me of an old April issue of Dragon 20:42
it had a compendium of useless spells
wolverian right - maybe I should add a HQ9++ subclass
gaal my favorite: "Undetectable Runes"
wolverian could this go as an example into pugs, or does it need to run?
(I can remove the typing and a few other things and it will run)
theorbtwo Don't remove things from the examples so that they run.
Add features to the compiler so that they run instead. 20:43
gaal you know, when my mind was on esoteric languages i wanted to write an Interpreter role
to unify the basic stuff for l33t and Mondrian and ZT 20:44
(etc.)
wolverian gaal, that sounds like a good idea - although maybe it needs a role hierarchy if they don't all fit into one rough role category?
gaal you can, for example, implement the first debugger for HQ9+.
wolverian theorbtwo, good point.
gaal could be :) 20:45
but I'm off to sleep now :)
bye bye!
wolverian gaal, heh :) well, sketch out the interface and I'll make HQ9Plus conform
oh, and good night 20:46
gaal zzZZZ & 20:47
svnbot6 r7650 | iblech++ | t/syntax/pairs.t: Guarded a test by try{} (necessary because otherwise, PIL2JS 20:56
r7650 | iblech++ | would abort early (as it respects the + in a (+$foo) subroutine signature)).
r7651 | iblech++ | * Usual svn props. 21:02
r7651 | iblech++ | * Added the usual she-bang lines to the non-trivial examples and non-JAPHs etc.
r7651 | iblech++ | of examples/.
r7651 | iblech++ | * examples/cookbook/01strings/01-03exchanging-values.p6:
r7651 | iblech++ | Answered the question "could ::= be used here"?
putter & 21:19
theorbtwo ponders... 22:12
What's the status of perl6's webish libraries?
How hard is it to mix with good continuations? 22:13
Hmm, I need to continue with filehandles, too...
Perhaps I need some sort of client-server thing going on even at that level.
theorbtwo wonders if anybody but him is awake.
joao theorbtwo: hello 22:18
joao smiles
theorbtwo Hello, joao.
I'm considering writing a web-based frontend to nethack. 22:19
joao I don't know how to answer, sorry :)
integral hmm, need a perl6 level for nethack ;-) 22:20
coral theorbtwo: there's a port of the door game LoRD to the web somewhere that might offer some useful code to work with 22:21
legend of the green dragon, i think it was called
a key-controlled ascii art game translated to Web/JS stuff
theorbtwo Well, I can use nethack-lisp's modifications to nethack, so I don't have to write my own. 22:22
coral oh, neat
theorbtwo (I have to parse it's mostly-lisp output, but that should be easy.)
coral nethack-lisp has a webui?
theorbtwo I'm just wondering how to do it as a repeatedly-called CGI. 22:23
nothingmuch, nethack-lisp outputs something that's mostly lisp, and expects some simple input.
Damn broken autocompletion!
I typed no comma, not nothingmuch comma.
I can attach to that with perl6 and make whatever I like. 22:24
What I wonder is how to keep the end-user talking to the same game across multiple requests.
coral to avoid duplicate keystrokes out of place with state 22:25
you have to include a uuid
theorbtwo Oh, that's not the problem I'm wondering about.
coral o
when the user requests the cgi, do they then display the returned content?
theorbtwo How do I pass the fh pair to the nethack-lisp process from the one CGI to the next? 22:27
That's my thinking, coral, more or less.
coral hmmmmmm.
because it's not efficient to save and resume the game each time
integral screen?
coral keep a local daemon with a bunch of nethack process fh's 22:28
and then have the cgi communicate keystrokes to and request new updates from the process associated with the user's uid
theorbtwo integral: Talking with screen is a huge mess. That was my last abandonded project.
coral if you implement ncurses in js you can just record the raw tty output of nethack after each keystroke and then send it to the browser 22:29
integral ah. well you want something like that. I remember the expect book from o'reilly had one years ago
theorbtwo Yeah, coral, that was my first thought. I was wondering if there might be a simpiler method.
coral alternately, instead of passing fh you can name sockets on disk by uuid and then communicate directly with them
integral if you implement parrot in js, and get a c->parrot compiler going, you can just run nethack in the browser... :-P
theorbtwo Hm, I could implement my own simple web server.
Hm, that's an idea.
Coral's, I meant. 22:30
coral yeah, with th eoption to compile parrot to JS you've got all sorts of nifty stuff open to you
does the OS support detaching/reattaching to FHs?
svnbot6 r7652 | wolverian++ | Add an HQ9+ example implementation to examples/ 22:31
theorbtwo coral: No, I don't think so...
I really don't understand sockets and named pipes and psudottys, and all that jazz...
coral pseudottys are addressable on filesystem 22:32
theorbtwo I seem to recal years ago having what seemed like a good book that had that sort of thing, but I don't have it anymore...
coral sockets and named pipes differ in the sense that one has a filename
pseudottys have the additional benefits of being tty sockets and not just normal sockets, which doesn't mean anything to me
coral knows not of this stuff 22:33
integral ttys support termio ioctls, are isatty, and can be set as the controlling tty for POSIX process control
but once the master side closes, you can't reconnect. you'd need a daemon which held that open, and then passed the FD over a LOCAL/UNIX/POSIX domain socket to whoever wanted to use it
(or proxied, between a FIFO/socket and the tty) 22:34
coral if cgis called a socket open function that routed all socket open calls through the master process
then you could have the webserver control all sockets and handle IO requests by the CGI processes that way
theorbtwo integral, where did you learn this stuff?
integral hmm, _Advanced Programming In The Unix Environment_ got me started, but for the intricaces of the POSIX process control stuff I ended up source diving on Linux 22:35
*intricacies
joao integral++ 22:36
:)
integral and I've only seen passing FDs over sockets once in a paper on using FDs as capabilities, to build a capability system over UNIX.
theorbtwo Do you have a suggestion for the implementation? 22:39
integral I guess I'd just go with a UNIX domain socket or a FIFO to listen for the CGI script, one daemon process managing 1 or more nethacks 22:40
(does p6 have anything as easy to use for this as POE::Wheel::Run?) 22:41
theorbtwo integral: Since my only clients are also written by me, and I don't think I need to worry about terribly slow nethack processes, I think I'm OK doing it the more or less obvious way. 22:47
integral *nod* it'll be fun, and the perl6 bit will run the slowest :-)
theorbtwo wonders if pugs has that many docs that pugs-doc is worth it as a seperate package. 22:59
23:00 joao is now known as bracaman, bracaman is now known as joao
theorbtwo apt-get++ 23:03
joao :)
Juerd theorbtwo: Seperability is a good reason for separation. 23:16
s/per/par/ 23:17
rafl theorbtwo: 1.7MB of architecture independent data. 17MB if they were in the arch-dep packages. 23:18
theorbtwo: I think that justifies a seperate package.
theorbtwo OK. 23:19
rafl (~10Archs currently in Debian)
theorbtwo I didn't consider that multiplier. 23:20
rafl theorbtwo: Beside that: Maybe someone only want's to use pugs for an application or so. Then he won't need the docs and will not be forced to install them. 23:21
Juerd I installed kubuntu on my mac today
It feels good to have something with apt-get instead of that osx crap
For now: zz 23:22
Good night
rafl Bye Juerd
theorbtwo Hm, I'm going to wander off for a bit, and hope a map coeleses in my mind. 23:24
geoffb nothingmuch, ping 23:42
rafl, good choice to separate doc into separate package, btw.
ingy seen autrijus
jabbot ingy: autrijus was seen 4 hours 9 minutes 42 seconds ago
rafl Well, modules are also seperated to keep the archive small. 23:43
geoffb ingy, aut* is trying to get some shut-eye, because he is burnt and has to give 2 unprepared lightning talks first thing tomorrow morning
rafl, nodnod
rafl geoffb: Mostly stolen from the perl package, though. 23:44
geoffb rafl, ?
oh, following the same decisions, you mean?
rafl geoffb: Yes. the perl source package produces: libperl5.8, perl-base, perl-modules, libcgi-fast-perl, perl-suid, perl-doc, perl-debug, libperl-dev, perl. We don't need pugs-base because it's not needed for the Debian base installation (yet :-) and no -suid or -debug version. 23:45
geoffb nodnod 23:46
rafl geoffb: The libperl* stuff is in libghc6-pugs-dev in our case.
geoffb rafl, gotcha
rafl reduces the output of non-helpful information 23:47
ingy geoffb: thx 23:49
geoffb ingy, np
rafl, do you understand the m68k comment under "Testing Status" on packages.qa.debian.org/p/perl.html ? 23:50
Does that mean that out of date on m68k will not prevent a move to testing?
rafl That's also what I thought. But I don't know about that fact. bjorn.haxx.se/debian/testing.pl?package=perl also doesn't mention it. 23:51
I think m68k is still preventing it from entering testing. 23:52
geoffb ARM has been holding it back for a long time.
rafl And not only perl. 23:53
m68k and arm are known to be major blockers for lots of packages.
geoffb is conflicted: I love that Debian and NetBSD push OSS authors to be very portable. I *HATE* that m68k and ARM slow down Debian's progress 23:55
rafl Well, can the development progress in Debian really be slower? :-) 23:56
geoffb I dunno. But without this block, it could be faster. :-)
rafl I still think that it's a good thing to support lots of arches. But lots of them will be droped until or after etch anyway..
I think it will be focused on i386, ppc, amd64, ia64 officially. Other's will be not official but get support and stuff. They just won't be released at the same time as the other "official" archs. 23:57
geoffb rafl, do tell. I've not been able to keep up with Debian news of late. 23:58
rafl At least if I remember it right.
geoffb Oh, the staggered release idea was approved?
rafl I'm not sure. But I think it will if it isn't already. 23:59