6.2.10 released! xrl.us/hxnb | geoffb's column (/. ed): xrl.us/hxhk | pugscode.org | pugs.kwiki.org | paste: feather.perl6.nl:8888/ | www.geeksunite.net
Set by Juerd on 20 October 2005.
Juerd buu: Hm? 00:02
wolverian: You can use the mail server on feather if you wish 00:03
wolverian: If it's temporary
buu Juerd: You are freaky.
Juerd wolverian: ssh -L 2525:127.0.0.1:25 feather.perl6.nl, then use localhost:2525 while the ssh connection lasts 00:04
buu: Why?
wolverian Juerd, nah, it'll pass, I think. I'm too tired to start doing weird stuff now. :) I'm just wondering when postfix will pick it up again from deferred... 00:06
Juerd wolverian: weird? 00:07
buu Juerd: 'oliebol'
wolverian Juerd, as in, 'things I haven't done before'
Juerd wolverian: It's a port forward. ssh listens locally (-L), and connects on the remote host
wolverian: And the rest of ssh you probably did use before. Or so I hope.
wolverian Juerd, oh, right - I don't have to configure anything locally?
Juerd wolverian: Indeed
wolverian: Well, your MTA or MUA, to use the forwarded connection (localhost:2525) 00:08
wolverian right
Juerd buu: Oh, that's a dutch old/new year's delecasy (tastes like a sponge, though) 00:15
buu: The fun is that you can type 7083170 on a calculator, rotate it 180, and see this word.
buu Juerd: Fascinating!
wolverian hmm.
Juerd buu: Likewise, lol + lol results in hihi. "lol" is Dutch for "fun", "hihi" sounds like "heehee", giggling.
buu: Even better: "heleboel" (73083734), which means "a great many" 00:16
Which, for a number, is very meaningful
wolverian shouldn't a bounced message come back to me?
Juerd wolverian: Yes, but very often the "me" isn't so clear. 00:17
wolverian right.
Juerd wolverian: Are you using feather now?
wolverian no. I just think I've misconfigured the envelope address again here.
Juerd I can have a look in the logs if you want
Oh, ok
wolverian I forgot what to do with it.
Juerd Ah,Ah
s/Ah,//
wolverian and it's bouncing to the e-mail address that this server does _not_ deliver for
Juerd The envelope from is important, yes :)
buu holy fucking shit 00:18
wolverian how did I set that up, again?
sorry to be such a bother
Juerd How should I know? I don't remember all that stuff :)
wolverian at least this time I figured what's wrong myself
hehe :)
Juerd buu: Hm? :)
buu Juerd: It's saturday =[
Juerd wolverian: On an average day, I help out four to five people on IRC. I really do not remember much of it afterwards. 00:19
wolverian :)
buu I thought it was still friday
Holy shit!
wolverian okay, man 5 postconf helps. thanks
Juerd buu: It's Sunday here.
buu Juerd: I'm actually at work!
Juerd buu: So was I, an hour ago.
buu Juerd: I shouldn't be! 00:20
Juerd For personal matters, but still
wolverian hmm.
Juerd I want a sheet of orange reflector plastic.
Why is that so hard to find?
wolverian what should I put in as the envelope from?
wolverian@localhost? :)
Juerd wolverian: The address you want bounces delivered to.
wolverian well
that's actually fine as it is now 00:21
Juerd wolverian: And preferably, the same address you use in the From: header, if you care (I have it set to something different on purpose)
wolverian it's just that when my postfix can't connect to the relay, it's bouncing things to an address it can't deliver to
Juerd wolverian: @localhost not. It must be externally deliverable.
wolverian (since it would have to go through the relay)
which is weird. I would have thought the canonical mapping would have kicked in
Juerd wolverian: Ah, the relay is the server that also happens to handle mail for the envelope from domain? 00:22
wolverian: 'cause that's a classic example of why that shouldn't be the same :)
wolverian Juerd, no, it's not. :)
Juerd (It very commonly is, though)
I don't know postfix. Last time I tried, I found it way too complex.
wolverian Juerd, the server postfix runs on is non-deliverable (it uses fetchmail). it fetches mail from helsinki.fi, and relays to mail.inet.fi 00:23
Juerd I know the protocol in detail, I know how many unix things work, but that wasn't enough to grok postfix.
wolverian if mail.inet.fi bounces, postfix tries to send through it again, to my helsinki.fi address
which is obviously retarded.
Juerd, right.
Juerd I prefer qmail :)
wolverian I tried to make it play nice with the university relay as well 00:24
but I just could not make the SSL auth work.
Juerd wolverian: Why is that retarded? I fail to see the obviousness.
wolverian Juerd, oh. it's retarded because the relay is itself broken
Juerd, I guess it can't know that.
s,it,postfix,
Juerd wolverian: That has nothing to do with the other configuration though :)
wolverian: You should have multiple relays :)
wolverian right.
Juerd Not that that is possible for most people 00:25
wolverian I'd use the university one if postfix would just connect to it
but I get a VERY unhelpful "Connection closed."
Juerd Use a proxy
And listen locally, unencrypted
Move the SSL out of the complex beast into something you can debug.
wolverian argh. :) 00:26
I don't know the protocol well enough yet
to feel safe doing that
albeit I guess CPAN has something to do exactly that
Juerd it goes like helo, 2xx, mail from: [email@hidden.address] 2xx, rcpt to: [email@hidden.address] 2xx, data, Subject: Hello, World\n\nHi!\n.\n 00:27
wolverian auth?
Juerd 2xx
wolverian: Oh, you need authentication. That sucks :)
wolverian I _think_ I do.
Juerd Don't think before trying 00:28
wolverian I don't know what SASL is and if I need that, or just SSL, or if they are the same thing
Juerd Hm
Usually I give opposite advice.
wolverian hehe. ;)
Juerd But in this case trying won't hurt
wolverian right
Juerd SASL is smtp auth.
Not related to SSL
Except for spelling
wolverian ah. thanks 00:30
I need TLS, I think. 00:31
Juerd TLS is SSL, practically
It's newer.
Very often, when people say SSL, they mean TLS
wolverian yeah, knew that. I just think I tried it already
maybe my ISP doesn't like :25 though
(sucks)
Juerd I have a so much easier setup 00:32
An always-connected, always-on box that's entirely publicly reachable.
wolverian but you have a host that is deliverable, right? :)
right. :)
I would use the university server and run mutt there, but it's SunOS and entirely fucked up.
Juerd I get to ssh to it and read my mail from anywhere
wolverian its procmail is from 1995, or something like that.
Juerd 1995 didn't have enough spam for procmail to be designed for it :) 00:33
Same for sendmail
Be big, fork a lot, use memory, be generally inefficient? Sure, why not? 00:34
wolverian wait, I also need to authenticate
Juerd Oh, and security? Why'd you waste your time on that.
wolverian is that SASL?
Juerd Very probably
wolverian argh.
Juerd Authentication on a relay. I've never used that.
I'm used to IP-based authorization on relays. 00:35
wolverian it's for the intraweb only, outsiders have to auth
intranet, rather
Juerd That's the common setup, yes 00:36
wolverian this is so ridiculously complex compared to just using, say, Evolution 00:39
I'm a sucker for using mutt.
:)
s,using mutt,following the unix 00:40
mail principles,
thankyou enter.
Juerd Trying to follow unix mail principles in a very limited environment 00:46
wolverian true enough
Juerd Unix is nice, but it doesn't cope very well with being disconnected
wolverian I just want to see my mail whenever I screen -r :)
Juerd Of course! 00:47
Best advice I can give you is to get a shell account on a well connected box somewhere.
wolverian like feather? :) 00:48
Juerd Yes, but not like feather in that feather is for Perl 6 stuff only
wolverian yeah. it's not that my box isn't connected - it just doesn't have a name 00:49
(that others could see :)
Juerd Then get a hostname.
There are a million ways to do this.
Including a few dozen free dynamic dns services
wolverian I'm a poor student etc. yeah, I will.
Juerd More important is that you can receive connections on port 25 00:50
Many ISPs block this
That's because most servers are by default open relays.
wolverian oh, but if I want the box to be deliverable, dyndns isn't enough, is it?
Juerd dyndns would be enough, provided that ingress port 25 is not blocked.
wolverian it is not 00:51
Juerd When mail is delivered, the MX record is checked first
If there is no MX record, the A record is used.
wolverian and I do have a dynamic address
Juerd feather.perl6.nl has no MX record. It doesn't need any, because the same box handles mail.
What's the address?
wolverian chronoa.dy.fi
Juerd Remote host said: 554 [email@hidden.address] Relay access denied 00:52
Okay, now start accepting mail for it :)
wolverian heh.
dy.fi also allows me to set an MX record
which isn't needed, I guess.
Juerd You don't need any
wolverian right. 00:53
Juerd That's for when the mail server is ANOTHER host
wolverian I think I'd only use [email@hidden.address] as the envelope from, though
hm.
Juerd That's very possible
And possibly a good idea
I use a different envelope from because I want to kill all bounces that are sent to other addresses :)
wolverian right
Juerd (This prevents lots of spam and spam bounces) 00:54
wolverian it also prevents from bounces being bounced back because there's only one relay
Juerd Lots in my case being a few hundred messages per day, on peak days
wolverian (which is broken)
Juerd It's still not accepting mail ;)
wolverian heh. 00:55
I'm still thinking about this
because, for me, it only fixes the particular situation that the relay is broken
it might be better to just find more relays
Juerd It also makes bounces more reliable
Because there's a step less. 00:56
wolverian true
Juerd It makes bounces be push, rather than pull
Which means you get them sooner. Which means you can react quicker, and waste less of other people's time.
And it makes local configuration mistakes not travel to your provider, only to find out that this doesn't work either :) 00:57
In other words: debug info! :)
Good night 01:11
Blicero does pugs do threading yet 01:21
Cryptic_K dinner 02:36
bbl
wolverian Juerd, it accepts mail now. 03:11
SplinterFL Does anyone in here travel from 'The West to the East' aka a 'traveling man'? 04:19
woog 980406,1607,1612,1602,16why? 05:23
980406,1607,1612,1602,16who is online?
woog 980406,1607,1612,1602,16pp 05:24
woog 980406,1607,1612,1602,16ōæ½xC0ōæ½xCAōæ½xC9ōæ½xF9Ėµōæ½xB5ōæ½xC0: "ōæ½xBDōæ½xF1ōæ½xB7ōæ½xACōæ½xC1ōæ½xBCōæ½xCEōæ½xEE, ōæ½xBAōæ½xC0ōæ½xD0Ė²ōæ½xBBĒ³, ōæ½xCBōæ½xFBōæ½xC8ōæ½xD5ōæ½xBDōæ½xADōæ½xBAōæ½xFEōæ½xCFōæ½xE0ōæ½xB7ōæ½xEA, ōæ½xD4ōæ½xD9ōæ½xB5ōæ½xB1ōæ½xB1ōæ½xADōæ½xBEōæ½xC6ōæ½xD1Ō»ōæ½xB6. ōæ½xD4ōæ½xDBōæ½xC3ōæ½xC7ōæ½xBEōæ½xCDōæ½xB4ōæ½xCBōæ½xB1ōæ½xF0ōæ½xB9ōæ½xFD." Ėµōæ½xD7ōæ½xC5ōæ½xC5ōæ½xDBōæ½xD0ōæ½xE4Ņ»ōæ½xB7ōæ½xF7, ʮȻōæ½xC0ōæ½xEBōæ½xBFōæ½xAA #perl6 05:28
dduncan wha? 05:43
woog, use the utf8 encoding on your IRC client ... it works better 05:44
QtPlatypus I don't think he is here. 05:45
autrijus good morning! 07:33
dirtsimple.org/2005/10/children-of-...ython.html # nice read about PyPy
clkao i heard they are targetting js as well 07:38
from the python lightning talks
autrijus I think that is wonderful. 07:40
dynamic languages has long eschewed compiler technologies
but that is unavoidable if they are to go "mainstream". 07:41
(as in, survive in a static, IDE-dominated, heterogenous environment)
clkao we should get heterogenous source control working 07:43
obra good morning, autrikus 07:45
Where are you?
xerox Let me find an url about type inference in pypy, it's sort of a reverse Hindley-Milner :-)
codespeak.net/pypy/dist/pypy/doc/dr...ation.html 07:46
autrijus obra: first row 07:50
Khisanth ?eval "A".."C" Ā„ 1 07:52
evalbot_7700 Error: unexpected "\\" expecting operator, "does", "but", "is", "^..^", "cmp", "<=>", "^..", "..^", "..", postfix conditional, postfix loop, postfix iteration, ";" or end of input
obra autrijus: ahh. exactly hidden behind borup 07:54
xerox Khisanth: what does Ā„ do?
Khisanth zip :) 07:55
Ā„ looks like a zipper :P
xerox A zipper, or Haskell's zip?
ahaha, I see what you mean.
spinclad rafl: installation report: pugs* install, libghc6-pugs-dev fails in post-install.
Khisanth I think both zip does the same
xerox ?eval ("A","B","C") Ā„ (1,2,3) 07:56
spinclad rafl: Setting up libghc6-pugs-dev (6.2.10-2) ...
evalbot_7700 Error: unexpected "\\" expecting operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
spinclad rafl: /var/lib/dpkg/info/libghc6-pugs-dev.postinst: line 8: /usr/lib/ghc-6.4/bin/ghc-pkg: No such file or directory
Khisanth what \?!
spinclad rafl: dpkg: error processing libghc6-pugs-dev (--configure):
rafl: subprocess post-installation script returned error exit status 127
Khisanth ?eval "A".."C" Ā»Ā„Ā« 1 07:57
evalbot_7700 Error: unexpected "\\" expecting operator, "does", "but", "is", "^..^", "cmp", "<=>", "^..", "..^", "..", postfix conditional, postfix loop, postfix iteration, ";" or end of input
xerox Khisanth: doesn't zip take two lists? I'm a perl6-too-much-newbie :)
spinclad rafl: (end of install log segment)
autrijus network still spotty :/
Khisanth xerox: I could have sworn that what you wrote used to work :)
xerox Woot.
Khisanth: Ā»fooĀ« ā€½
Khisanth Ā»opĀ« :) 07:58
xerox Still obscure.
A-la `op` ?
pugs> ("A","B","C") Ā„ (1,2,3) 08:01
("A", 1, "B", 2, "C", 3)
Version: 6.2.10 (r7636) 08:02
bbl
Khisanth xerox: the Ā»opĀ« is the "hyper" version of op 08:03
xerox ...that is... ?
Khisanth (or at least it was assuming someone didn't change their mind -_-)
spinclad rafl: i upgraded ghc and related packages to 6.4.1-1 and such, so that i could install pugs* 6.2.10-2;
xerox Ā»Ā„Ā« does not work in my pugs 08:04
Khisanth hmm it probably shouldn't
xerox What does "hyper" means, anyway?
mean, even
Khisanth ?eval (1..3) Ā»+Ā« 1
evalbot_7700 Error: unexpected "\\" expecting operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
sky_ ?eval quit
evalbot_7700 Error: No compatible subroutine found: "&quit"
Khisanth ok so the bot appears broken
autrijus the bot's utf8 handling is indeed quite broken 08:05
spinclad rafl: but libghc6-pugs-dev still refers to /usr/lib/ghc-6.4/... .
sky_ ?eval exit
evalbot_7700 Error: No compatible subroutine found: "&exit"
autrijus ?eval (1..3) >>+<< 1
obra ?eval die
evalbot_7700 (2, 3, 4)
Error: Died
sky_ ?eval CORE::exit
evalbot_7700 Error: No compatible subroutine found: "&CORE::exit"
autrijus ?eval %ENV
evalbot_7700 \undef
autrijus ;)
xerox (1..10) Ā»+Ā« 1 works, cool. 08:06
sky_ ?eval eval "sub foo { exit(1) }"
evalbot_7700 Error: No compatible subroutine found: "&exit"
xerox How does it differ from a 'map' ?
sky_ evil
spinclad xerox: @a >>binop<< @b maps over both lists: 08:08
?eval ("a", "b", "c") >>Y<< (1, 2, 3)
evalbot_7700 Error: unexpected ">" expecting operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
xerox like lisp, in some sense
autrijus spinclad: Y is listfix not infix
so isn't subject to >><<
spinclad yes, sorry
xerox ?eval (1..10) >>+<< (10..1) 08:09
evalbot_7700 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
autrijus chuckles
?eval 10..1
evalbot_7700 pugs: Prelude.tail: empty list
Khisanth ?eval (1..10) Y (1)
evalbot_7700 (1, 1, 2, undef, 3, undef, 4, undef, 5, undef, 6, undef, 7, undef, 8, undef, 9, undef, 10, undef)
xerox autrijus: what does listfix mean?
autrijus thanks, that's a bug. fixing
spinclad ?eval ("a", "b", "c") >>~<< ('1', '2', '3')
evalbot_7700 ("a1", "b2", "c3")
autrijus xerox: it means that "foo Y bar Y baz" evalutes the entire foo/bar/baz at once
xerox: instead of being left or right biased 08:10
i.e. (a Y b Y c) is not ((a Y b) Y c)
xerox ?eval ("a", "b") >>~<< ('1', '2') >>~<< ('x', 'y')
evalbot_7700 ("a1x", "b2y")
autrijus neiter is it (a Y (b Y c))
xerox fold rejecting its r or l :)
xerox & 08:11
Khisanth didn't the bot's unicode handling used to work or was that just svnbot6? 08:14
spinclad how about ((1, 2), (3, 4)) >>Y<< (('a',), ('b', 'c')) # => ((1, 'a', 2), (3, 'b', 4, 'c')) ? 08:16
autrijus Khisanth: that's just svnbot 08:17
spinclad hallucinates >>listop<< is listop
autrijus I have no idea :) 08:18
sky_ make perl5-test?
autrijus make smoke-perl5
make test-perl5
sky_ oki 08:19
ERROR from evaluation of /Users/sky/Documents/Hack/pugs/ext/Language-AttributeGrammar/Makefile.PL: syntax error at ./Makefile.PL line 7, near "'Attribute grammars for computations over trees';" 08:42
svn head
autrijus sky_: fix it? :) 08:44
sky_ hahaha
:)
autrijus I think you can fix it in no time
Khisanth "you report it, you fix it!"
sky_ autrijus: if you go on evakitty.evaair.com/ with me
autrijus that will also motivate you to add your name to AUTHORS
sky_ :p
autrijus oh well, I fixed it :) r7701 08:47
sky_ crap, I was trying to :)
autrijus sorry for my impatience :) 08:49
sky_ tries pushing 08:50
xerox wants more glyph-operators :-)
svnbot6 r7701 | autrijus++ | * Fix Makefile.PL for Language::AttributeGrammar (missing right parens),
r7701 | autrijus++ | as reported by Arthur "sky" Bergman.
r7701 | autrijus++ | * Add sky to AUTHORS.
Khisanth xerox: there are already too many!
xerox But I do not know them!
sky_ crap
autrijus sky_: sowwie... I can revert my change! 08:51
sky_ don't
autrijus cool
xerox sky_: are you the same #haskell #scheme sky? :)
sky_ my login details aren't working
xerox: no
autrijus sky_: mm, we can fix it over lunch
xerox kay.
autrijus xerox: that's ski
ski != sky
xerox Whoops.
S K I :-)
Still playing with Ā„... how can I get its type? I tried with ref but I couldn't succeed. 09:41
Khisanth not sure if that sort of thing has been "specced" yet :) 09:42
xerox Woot.
That's why it works both on '0' and '(0)' ? 09:43
Khisanth not sure what you mean by that
xerox Isn't 0 :: Int and (0) :: list of Ints ?
integral is there a difference between 0 and (0) as rvalues?
Khisanth 0 and (0) are both a list one item :) 09:44
xerox Hm.
integral () isn't a list constructor, xerox. That's more ,'s job
xerox Ah.
integral but OTOH on a left-hand side (where context comes from) () can sometimes make the context jump from item to list afaik
xerox And a string is not a list, too? 09:45
integral of course not ;-)
xerox :-|
integral and list in perl doesn't really mean cons-list like in scheme/haskell 09:46
xerox Sadly :-)
integral hmm, I'm not sure. I prefer to hide it's structual recursion inside map/fold, which is just like using for/map in perl
xerox What's the most common/used data structure in perl6? 09:48
Khisanth hash, array and scalar? ;)
xerox Hmm, it probably could sound as a stupid question - but I mean like how lists are heavily used in Haskell programs, or such.
Ooh-kay. 09:49
I just can't find something to play with :-)
Is there a way to do .pod => whatever_looks_nice_enough ? 10:07
rafl spinclad: Thanks for the report 10:10
scook0 xerox: trying to read PODs? 10:11
I usually use pod2man or pod2html
integral perldoc does the normal manpage type viewing of pod 10:13
xerox scook0: Yes, I am. I'll try, thanks.
rafl Is there a way to tag something using svk without using the normal trunk/, tags/ layout of subversion? 10:45
integral sure, just make up a work which isn't trunk, tags, etc. I just copy stuff into my own //branches/foobar 10:48
rafl integral: Well, that's only local then, isn't it? 10:53
integral sure
rafl Well, that doesn't help me. 10:54
integral but as another answer, you can use a copy from anywhere to anywhere to "tag" something. you don't need the standard layout
rafl Yes, of course. 10:55
integral Well both of those things answer you question...
rafl Yes, thought I could avoid copying and therfor changing the layout. 10:57
integral I suppose you could write down revision numbers on a piece of paper ;-)
rafl I suppose I can't. I don't even have a pen.. :-) 10:58
integral heh
svnbot6 r7702 | clkao++ | Don't build (stalled) perl5/ directories that doesn't have 11:57
r7702 | clkao++ | Makefile.PL.
rafl clkao: Just a "do the right thing" fix, right? There isn't a directory without a Makefile.PL there.. 11:59
clkao ya, because i have a stalled blondie directory
obra clkao: poke sky?
clkao it was moved, but i already have some file built before, so svk didn't remove it for me 12:00
man, that's bad: 12:18
clkao:~/work/pugs clkao$ time ./pugs -B Perl5 -e 'say "OK"'
Use of uninitialized value in string at /Users/clkao/work/pugs/perl5/PIL-Run/lib/PIL/Run/ApiX.pm line 59.
OKundefundef
real 4m2.446s
4 min to say hello world :~
and it's telling me additional undef! 12:20
petykoo hi 14:36
is this perl6.2.10 "stable", or just development yet? 14:39
wolverian development. 14:40
there is no perl6.2.10, only pugs 6.2.10
see www.pugscode.org
petykoo ok 14:41
and is it known when will be the 6.0.0 perl?
or a roadmap or sg like that?
wolverian the pugs roadmap is on pugscode.org 14:42
petykoo coz there were interesting perfomances on the 1st hungarian perl conf, and i want to learn perl, but decided to wait till 6, coz it will be much different from the current 5 14:43
or is it usable now? 14:48
wolverian it'll be a while before the stable release of perl6. in the meantime, you can use pugs, which is not complete but does run many perl6 programs already.
petykoo ok 14:49
moskvax i was thinking about that sort of thing actually
petykoo i think i can wait...
moskvax i guess it isn't really worth starting to learn perl 5 now when much of it will change 14:50
Juerd It is
moskvax but i can't find anything written about perl 6 towards someone who knows no perl 5
Juerd It'll take quite some time before 6 is out
And knowing 5 will help you understand 6 14:51
petykoo hmm
Juerd The first books released will probably focus on people moving from 5 to 6
petykoo but if i start to learn perl5 and regex and stuff, i can drop almost the half of my knowledge...
i'll have to, i mean 14:52
Juerd No
You'll have skills. And skills have nothing to do with the language in question
The ways of writing things change, the underlying principles and ideas do not
QtPlatypus petykoo: No perl5 regexes are more or less a subset of perl6 rules 14:53
petykoo yea?
Juerd Yep
Notation changes
What you can do, and how you do that, does not
Except, of course, that in Perl 6 you can do a lot more
stevan_ autrijus: ping 14:54
petykoo hmm...
14:54 stevan_ is now known as stevan
Juerd petykoo: It will only get more readable. 14:54
petykoo maybe i'll should try out anyway..
Juerd petykoo: /(?=foo)/ changes to /<before foo>/
petykoo: learn.perl.org/library/beginning_perl/ is a good book for beginners. 14:55
petykoo thanks, i gotta go, but i'll be back in minutes
moskvax Juerd: thanks for the information 14:56
svnbot6 r7703 | stevan++ | Perl6::MetaModel -
r7703 | stevan++ | * keeping Chaos-unoptimized up to date
r7703 | stevan++ | * very very very rough sketch of the Object Space, this needs
r7703 | stevan++ | much more work and thought
autrijus stevan: pong 14:57
freshly off lightning talk #1
#2 about to be on
stevan autrijus: nice
autrijus: so i assume you dont have a moment
autrijus you can type away
but I'll be able to properly respond only when I'm back to hotel 14:58
which is ~1hr from now
sorry about those conferences :/
stevan I am composing a p6c email, I think that will be a better forum :)
autrijus (but I try to remedy by signing on new committers)
good, we should use p6c more :)
stevan autrijus: don't apologize,.. you are our spokesman
Juerd autrijus++ # propagates ideas and wisdom IRL
petykoo i'm back
stevan hey nothingmuch
autrijus turns out I'm speaking again in copenhagen this thursday 14:59
autrijus is feeling like Damian
nothingmuch hi ho
petykoo Juerd: so, you say perl6 will be more speaky?:)
nothingmuch like damian?
Juerd petykoo: Perl 6 rules will certainly be
petykoo OK
stevan autrijus: if only you could get paid (well) for all these speaking engagements
Juerd petykoo: Perl 6 for the rest of the language will be in some points, and be more concise in others
autrijus stevan: nah, it's all outofpocket 15:00
stevan: I'm getting good at travelling cheap :)
stevan thinks maybe we should divert pugs resources to write a TPF grant
nothingmuch so what's been up this week?
stevan or even better
nothingmuch has had a big deadline and has been giving his spare time to catalyst lately
autrijus nothingmuch: I talked with kane about policy files and multiversioning 15:01
nothingmuch policy files?
autrijus synced with obra about bringing it back and proto in p5
stevan if we can figure out how perl6 can fight terrorism, then we can get a DARPA US gov grant
autrijus and talked with sky about -BPerl5Optimized
Juerd stevan: Give terrorists committer bits; that'll keep 'em off the streets! :)
autrijus nothingmuch: policy files are what you use to decide which DBI to use out of the 16,384 DBIs instealled
nothingmuch ah
autrijus mm, "instealled". nice typo 15:02
nothingmuch -BPerl5Optimized sounds interesting
autrijus nothingmuch: yeah, involve handcrafted OPs
nothingmuch perl 5 ops for PIL?
autrijus yes
goal being keeping p5 a "Production" VM for p6
nothingmuch woot!
Juerd I still thinks that different modules with the same name will not work too great, if only for discussion
autrijus instead of just a "good to have backcompat"
Juerd Imagine #perlhelp. "Okay, nice, but before we can help you. Please answer these questions: What DBI is that? Which CGI module do you use? Is that LWP's HTTP::Headers, and if so: which LWP?" 15:03
autrijus "the CPAN one, of course!" 15:04
stevan goes to compose some p6c ramblings
& 15:05
autrijus Juerd: I think most people will use the default policy file shipped with perl.
which would prefer cpan:
I hope, at least.
Juerd I think and hope all will
Which defeats the entire purpose
autrijus nope
good by default, customizable if needed 15:06
Juerd It's never needed
Because you can load any module with any alias
autrijus I think that's where people differ :)
Juerd use MyDBI as DBI
Whichever the spelling of 'as' will be.
autrijus use perl5:DBI as DBI;
yeah, true
Juerd: I think having the ability to install DBI 1.46 and DBI 1.99 makes sense. 15:08
Juerd So do I
petykoo thanks, bye
Juerd But those are the versions of the same module
Rather than different modules having the same name
Anyway
afk # bathroom's free. MY TURN! WOOOO. 15:09
xerox feels Juerd
autrijus Juerd: I think DBI-1.34-cpan:AUTRIJUS and DBI-1.56-cpan:JUERD can be safely thought of versions of the same module too. 15:12
in my mind it's simply that the versionspec is now namespaced.
but they still need to mean, "conceptually", "the same thing"
hey Liz! 15:29
Liz hi Autrijus
autrijus I'm about to go on NPW lightning talk in 1 min :) 15:30
Liz thought I'd come and have a look... ;-)
autrijus (will be back in a bit)
sure!
Liz ok
have fun!
autrijus ?eval 'Liz++' xx 10
evalbot_7703 ("Liz++", "Liz++", "Liz++", "Liz++", "Liz++", "Liz++", "Liz++", "Liz++", "Liz++", "Liz++")
xerox haha
?eval "foo" x 2
evalbot_7703 "foofoo"
xerox ooooh.
glasser ?eval "foo" xxx 3 15:46
evalbot_7703 Error: unexpected "x" expecting operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
xerox hah 15:49
powersets? :P
glasser that, or porn. 15:52
Juerd Hi Liz 16:25
Liz hi Juerd...
Juerd Good to see you here :)
Liz yep... good to be here...
don't expect too much from me though... ;-) 16:26
Juerd I have no expectations
I think people mostly see what they do here as fun, not as work.
Or at least fun work
Liz well, then you expect fun, don't you?
;-) 16:27
Juerd Hm
Well, I expect conditionally :)
IF you do stuff, it better be fun to you.
Liz true...
integral ?eval my $n = 0; sub hello_thread { async { say "hello #" ~ $n++ } } for 1..4 { hello_thread };
evalbot_7703 hello #0 hello #1 hello #2 undef
Liz hmmm... 16:28
Juerd There's a thread missing :)
integral I think it just doesn't get a chance to run
and no sleep in evalbot 16:29
Juerd integral: Try a sleep then
Oh.
Then a commodore 64 like sleep: "" for 1..15000 :)
Though 15000 may be a bit too much for pugs; I don't know
integral heh, we need an optimizer to spoil that trick
Juerd And since there is no optimizer :) 16:30
integral although I don't think that particular optimisation is that hard a one
Juerd I think it's a pointless thing to waste optimizer time on 16:32
It's not something you write on purpose without the purpose.
integral Juerd: hmm, well it's just constant in void context -> noop (perl5 does this), and then eliminating a loop with a empty loop body 16:33
stevan autrijus: p6c Object Space post is off,.. please respond with your comments :) 16:34
Juerd integral: The loop with the empty body elimination is what I think is pointless :) 16:35
Aankhen`` goes to sleep.
G'night.
Juerd integral: OTOH, for (1..much) { if (known to be false) { ... } } to be optimized away would be nice
integral hmm, yeah, I can't think of a case where you'd get an empty loop body after some other optimisation
Juerd integral: Forget I said anything
integral ah, that's a good one!
Juerd But! 16:36
We should discuss whether infinite and could-be-infinite loops should be optimized away.
Or perhaps an infinite empty loop should just die
integral ah, yes, that's a nasty one. I suppose the middle ground is ... yeah that
Juerd We have sleep for that. 16:37
integral but when should it die? as early as possible or as late as possible?
Juerd At optimization time.
i.e. as early as possible
Certain death must always be asap
There's no point in executing the program if you know there will be a fatal exception later on. 16:38
integral should that rule be applied to typechecking too? like if you've got: my $a = 5; $a.bark(); # should this die as early-as-possible?
Juerd And doing so would unnecessarily execute potential impurity
integral Juerd: there's the if (0) { while (1) { } } case, should that die when detected?
and that one might even depend on the order of the two optimisations 16:39
Juerd Yes, but "as early as possible", in the case of types, is still runtime.
(Unless you specify the pragma that promises you're not going to change types)
integral Juerd: ah, well I'd perfer it to be speced using words liek "as early as possible" so that when typechecking appears, people aren't surprised
hrm
Juerd integral: No. If there's an explicit if (0) { ... }, always count that as meant to be a temporary multiline comment 16:40
integral Juerd: and if (SOME_CONSTANT) { ... }?
Juerd integral: Dubious, but throw away the body for different reasons: looking through all of it, just to find warnings is a waste of time. 16:41
integral hmm, maybe there would be a "lint" flag to the compiler, which would do more extensive tests like this
Juerd The optimizer pass must be very quick, or optimization makes the program slower than without. 16:42
integral eg. if SOME_CONSTANT is predicated on platform, you can catch it all on your dev machine, without testing it on all platforms
Juerd That is a nice idea
It could just be a standard test though
integral maybe this is perl6's equivalent of use strict, or use warnings/-w 16:43
Juerd No, those two shouldn't have great effect on processing time.
All of Perl is modular. A test can access the parser and the optimizer. Add a flag to the optimizer call, and have this be a t/stupidity.t 16:44
integral hmm, maybe the spec shouldn't say "as early as possible", but instead "the compiler is allowed to die earlier than runtime, if it feels like it"
Juerd No
"as early as possible" is precise 16:45
"it feels like it" is very imprecise
integral yes, intentionally
then you can vary whether infinite loops die at optimiser time, if you're doing batch compilation, or run-time if you're compiling just before running
Juerd This makes every bug a "it felt like it" case
I don't like vague specs 16:46
Or, as I prefer to call them: anti
integral what would be a bug?
Juerd Or, as I prefer to call them: anti-specs
integral the spec still says that it must die, rather than do something undefined
Juerd Then when it dies must also be clear
integral or should the spec say "this should die at compile time in batch mode, and run time in interpretive mode"?
Juerd The point of determination ("when possible") is not always predictable. But at least it's defined. 16:47
integral is it?
Juerd Never talk to me about batch versus interactive.
It's a programming language, not a shell. I find this a very weak thing in Python.
integral I didn't say interactive. 16:48
Juerd stdin must not be treated differently depending on such things
integral I said "interpretive", maybe I should have said JIT?
Juerd In that case: what is your definition of "batch mode"?
integral I have no idea. that's a big hole in my suggestion
But what's your definition of "where possible"?
Juerd *when* possible 16:49
integral so that means I don't have to die if I don't feel it's possible?
Juerd That's the point at which all factors in making the decision are constant.
But if any of the conditions could still change, it's not possible to die yet.
integral hmm 16:50
Juerd As soon as the last condition turns to certainty, die immediately. This may be during optimization time, or during runtime. It could even be parse time or compile time.
integral hmm, yeah. 16:51
Juerd But when you know for sure that it's going to die, don't waste any bit or nanosecond
This excludes explicit dies, of course :)
You wouldn't want "print 'foo'; die;" to die during compile time
"Death imminent, not waiting around at - line 1" :) 16:52
integral hmm, I guess that's another lint only one
Juerd ?
integral like dieing on finding infinite loops inside unreachable if branches 16:53
Juerd unconditional death isn't a mistake
afk # food
integral & food for me too 16:56
ingy seen autrijus 17:00
jabbot ingy: autrijus was seen 1 hours 30 minutes 24 seconds ago
stevan ingy: he was giving a lightning talk a little while ago 17:01
he said he would be back online when he got to the hotel
ingy stevan: thanks
stevan ingy: your welcome :) 17:02
Alias_ autrijus: ping? 17:14
Anyone familiar with the pugs subversion repository? 17:15
stevan Alias_: what do you need to know? 17:19
Alias_ Do you use the whole trunk/branches/tags/etc model?
stevan nope
Alias_ Under that situation, what is the protocol for doing branches?
stevan I am not sure why though, but it was like that when i got here
Alias_ Or haven't they been needed 17:20
stevan use svk :)
Alias_ So all branches are one person private branches?
stevan svk makes local branches easy, then if it works, you merge it into the trunk
all done locally
yeah
Alias_ hmm
stevan it works for Pugs,.. I am not sure it is a universally good technique though
Alias_ I am probably going to need multi-person branches 17:21
You don't use tags either do you?
tag-via-copy seems to suck extremely hard
stevan I believe (and people can correct me if I am wrong) but you can serve your svk branch from your machine if need be
Alias_ You should be able to, they are just svn repos
with some extra metadata 17:22
stevan yup
ingy hi Alias_
Alias_ hiya
stevan never tried it myself, but like i said, it *should* work
Alias_ ingy: So, has the Kwiki::Publish itch been scratched yet? :) 17:24
ingy Alias_: I realized later that basically you were saying about YAML, "The way that I interpret what YAML claims to do is not possible", which is likely true ;) 17:25
Alias_: not yet, RSN!
it's a good itch
Alias_ ingy: Well, my complaints about YAML are two things
ingy and I am planning on coming into a windfall of tuits in a few weeks 17:26
Alias_ One is that generalised cross-platform object serialize/deserialize isn't possible
And two that you claim you can
:)
ingy this is true. but yaml doesn't claim generalised cross-platform object serialization 17:27
you are reading way to far into a simple summary
Alias_ Except that it seperately claims 1) To be cross platform, and 2) To serialize/deserialize objects
ingy s/to/too/
again...
Alias_ Well, it claims to be cross-platform, that much is clear
ingy you are reading way too far into a simple summary
even that is not clear
it attempts to be reasonably good for reasonable language 17:28
Alias_ "YAML interacts well with scripting languages"
plural...
ingy and if two people on two platforms can agree on a schema, then YAML can be a good choice 17:29
Alias_ Sure, but in the mean time you allow non-schema objects very badly
ingy it is always the case that there needs to be a contract of communication between to communicating entities
Alias_ blessing into non-existant classes for one 17:30
ingy ok, so you are talking about yaml.pm and not yaml at this point
Alias_ I treat YAML as a non-broken implementation of YAML, yes 17:31
Perhaps the reference implementation even
17:31 ods15_ is now known as ods15
Alias_ err YAML.pm 17:31
If every implementation of a parser for a language is broken, is the language broken by design? 17:32
ingy good question
I have no answer for that
but I am working currently on new YAML tools for Perl
Alias_ Then can I make some suggestions? 17:33
ingy including a YAML::Simple module
sure
but not here
Alias_ #channel?
ingy #yaml is fine by me
17:37 khisanth_ is now known as Khisanth
integral Alias_: I hope you don't mind me asking, but what do you need a multi-person branch of pugs for? 18:08
Alias_ not pugs, openopenoffice
integral ah
Alias_ But I hate the whole branches/tags thing, and I was curious how pugs deals with it
since I'm trying to do this as much like an -Ofun project as I can 18:09
wow, the US border fence doesn't go very far offshore... how many people a year try to swim around? 18:11
wrong channel
integral hmm, I suppose cases where we could have used a branch was for things like changing run cores around (eg. introducting PIL), but pugs instead just has all the run cores in parallel.
Alias_ yeah, in my case I need to deal with client and server halves being built by totally different teams
Perl for the server, C#/.NET/Office for the client 18:12
integral ah, so you want the server team to have a known working client to test with while the client team break stuff
Alias_ So if we do an overhaul of the SOAP interface, both sides need to play
integral well, another thing that's done in pugs, is if you change an interface since everything is together, you can also just change everything that uses it too
Alias_ yeah 18:13
But since I have two very different skillsets, that's not really an option
Some of these guys literally won't be able to set up the environment to edit in
To hack the client you probably need WinXP, Visual Studio and Office installed
And the server people are mostly linux 18:14
integral hmm, sounds like you really need two duplicate trees, and then have someone who does smerges between them
Alias_ All I really need is a well defined SOAP interface
But if that should change, I want it to change on a branch
So that all parties have time to adapt before merging
integral hmm, breaking everything has the advantage that things have to adapt 18:15
Alias_ Which is not the effect I want if a million clueless Office users are running the plugin 18:29
integral that's what releases are for...
Alias_ My project is likely to be significantly lacking in PhDs
Also, one it is widespread, I'll probably need to do release branches
So we can have small security/compatibility fixes/patches while having major new versions 18:30
integral sounds way more organised than pugs 18:32
Alias_ It needs to be, unfortunately
sky_ does haskell have a graph storage engine? 21:11
xerox If you want there is a delimited-continuations-powered zipper-navigated referentially-transparent monadic filesystem :-) 21:12
Alias_ define graph
math or chart
SamB sky_: not built in, but I'm sure you can make one ;-)
sky_ Alias_: if I meant chart I would say chart :)(
ingy hi sky_ 21:17
Juerd What are your greatest Perl 6 fears? 21:18
ingy Is this a poll?
xerox Being not able to fully understand it at a certain point. 21:19
integral that people will try to do logic programming with junctions, and store junctions in lots of variables, and pass them to other people's modules and classes.
ingy that it is the final version of Perl
ingy looks forward to Perl 7 21:20
sky_ ingy: two things
ingy: foor boojum www.unfare.org/unfare/2005/10/hello...y_air.html 21:21
ingy: I AM MOVING TO THE CITY STATE OF SAN FRANCISCO
Juerd ingy: Sort of.
integral: Can this be shortened to: that junctions will be abused? 21:22
feDe__ anybody, a little help for a tiny script...?
integral Juerd: yes. I think junctions are only good for easily saying things like: if (1|2|3 == $x) { ... }.
feDe__ $pid = `egrep "^GEN_KEY_ID" $CONFDIR/sk_install.conf | sed -r 's/^.*=([-]?[0-9]*)/\1/'`; kill($pid);
ingy sky_: fantastic and fantastic 21:23
feDe__ $pid should've the process id that i want to kill..
sky_ ingy: I am going on the hello kitty flight
integral feDe__: err, that seems to be mostly egrep and sed, not perl. Why not just write it as a shell script and use the kill program?
feDe__ but, it doesn't... (the shell part works perfectly! :S)
ingy sky_: when? 21:24
feDe__ because i need it to be a perl script :S:S
sky_ ingy: over christmas
business class is like 450 USD
feDe__ egrep "^GEN_KEY_ID" $CONFDIR/sk_install.conf | sed -r 's/^.*=([-]?[0-9]*)/\1/' ---------> here, in my beauty bash, it echoes the pid that i'm looking 4.. 21:25
Juerd sky_: Do you have any Perl 6 fears?
sky_ no
why would I
ingy sky_: check msg 21:26
grr
Blicero does pugs do threading yet? 21:27
Juerd sky_: Many people do
ingy sky_: are you on irc.perl.org?
integral Blicero: yep 21:28
Juerd typing 'svk add fears' feels funny.
svnbot6 r7704 | juerd++ | Assorted fears
integral ?eval async { print "hello "; print "blicero" } say "goodbye"
evalbot_7703 Error: unexpected "s" expecting term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
sky_ ingy: yes
ingy I need to msg you but this fricking freenode needs me to do something
integral ?eval async { print "hello "; print "blicero" }; say "goodbye"
evalbot_7703 hello blicerogoodbye bool::true
Blicero why's it called async 21:29
integral because it does things asynchronously?
although, note that until GHC 6.5's smp support arrives, these are only simulated threads 21:30
SamB they are green threads, useful for doing asynchronous processing and I/O (as long as you don't use FFI, anyway...) 21:31
svnbot6 r7705 | juerd++ | One more 21:34
r7706 | juerd++ | A few more 21:40
Juerd evalbot_7706: You be stupid. 21:44
Liz Juerd: don't insult the bots ;-)
Juerd evalbot_7706: Sorry 'bout that. Your killing is stupid. 21:45
It doesn't kill itself, it seems.
Does Pugs have *any* IPC yet? 21:46
Of course it does. It has sockets. What am I mumbling.
dolmen seen autrijus 22:16
jabbot dolmen: autrijus was seen 6 hours 45 minutes 57 seconds ago
Liz he said he'd be back after the lightning talk at NPW 22:17
guess he got sidetracked by some scandinavians... ;-)
dolmen thx Liz 22:18
Jooon I didn't see him after the lighthning talks. he said he was going for a short nap and then join the rest of us later (the sidetracky beer drinking scandinavians) 22:19
Liz I guess the nap got extended...
he looked pretty exhausted already at the Amsterdam PM Social Meeting... 22:20
Jooon I still wonder where he gets his energy :) All his talks were very fun, especially the visual basic rocketh lightning talk which was like a normal talk, just much much faster :) 22:21
Liz yes, that was fun... and scary... ;-) 22:22
dolmen It's past midnight in Stockholm... The nap may last for a few hours :)
Liz same here...
dolmen and her :)
s/her/here/
svnbot6 r7707 | Ovid++ | Slight update to recipe. Testing commit access 23:41