Pugs t-shirts www.cafepress.com/pugscode | Pugs 6.2.9 released | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 | www.geeksunite.net
Set by stevan on 15 August 2005.
QtPlatypus Is Page 7 of the state of the onion supposed to be the same as page one? 04:30
04:44 khisanth_ is now known as Khisanth
geoffb netflix++ # Never stand for another cliffhanger 05:13
chocolate++ # While I'm giving out karma . . . . 05:24
autrijus rehi 06:18
this Takahashi method is giving me much trouble
geoffb hi, autrijus
autrijus turns out it really wants to be boil down to six 5-minute chunks 06:19
each only deliver _one_ message
sofar:
Perl is ergonomic / CPAN is versatile
Perl 6 is powerful / Pugs is expansive
People are enjoyable / Plans are for real
not sure "enjoyable" is the right word
anyway, the idea is to style each of 6 as a lightning talk
obra "Takahashi method"? 06:20
autrijus with a few (3-5) points each to support it
obra: www.rubycolor.org/takahashi/thinkin.../img0.html
also the cpan module
dduncan what is a Takahashi method?
autrijus Acme::Takahashi::Method
dduncan the only Takahashi I know is a famous manga artist
obra It's a pity there isn't a good english-language writeup ;) 06:21
autrijus obra: "big letters zoomed to extreme" 06:22
each slide only carry max 1 sentence
dduncan yes indeed
autrijus ideal for brainwashing
obra Got It
Makes sense.
Live demos are better. 06:23
dduncan as I recall, aren't there a good half million Chinese characters, where each is a sentence of its own, or a place name?
autrijus not much chance for 30min talk sadly
obra Japanese examples don't teach westerners well.
autrijus dduncan: no, each is a "word"
dduncan yes
autrijus problem with live demo is it's bound to fail ;)
dduncan how un-fortunate 06:24
obra :P
geoffb 's favorite case of that (not witnessed in person, sadly): Apparently Oracle, when trying to explain how using network computers tied back to massive backend servers over the net would result in vastly higher uptime than distributed PCs, did a live demo -- in which the network failed, killing all the NCs 06:25
dduncan so its not just Bill Gates demos that have spectacular failures 06:27
or at least that one with a hardware demo
obra Demos Fail
dduncan yes indeed 06:28
obra Compilers Don't.
Catchphrases stick in your mind.
dduncan which is why, a demoer has "another plan"
geoffb I used to work with Hasso Plattner, the programmer amongst the founders of SAP -- he was famous for walking into any room with a cool new thing and making it fail by his mere presence. He didn't even hold it against the engineers -- he knew it was his fault.
obra Takahashi Method is difficult.
gaal morning. 06:29
dduncan morning
geoffb (That was not an attempted name-drop, BTW, just to point out that seemingly all obscenely rich founders of software companies have that destructive aura thing going_
morning, gaal, dduncan 06:30
dduncan I hope that doesn't happen to me
QtPlatypus geoffb: Its like the oppisite of the enigear effect. Intermitent faults self rectifiy in the presence of the people who know how to fix them.
geoffb NODNODNOD
Amazing how that works
QtPlatypus And as soon as they are off sight it goes back to not working. 06:31
gaal seen iblech
geoffb I get that whenever I finally decide go to the doctor for something low-level but annoying 06:32
obra autrijus: I feel like "people are enjoyable" should become "people are the audience"
geoffb gaal, iblech is committing but not online of late, sadly
obra "coding is about people"
geoffb If he's young enough, it may be school year desires to get sleep and finish homework . . . . 06:33
dduncan and as one of my college instructors often said, "assembly is fun"
autrijus obra: yes, that's close, but I want one word
geoffb dduncan, oh yeah
gaal geoffb: right, forgot that for a bit
obra people are key? it's about people? e 06:34
autrijus People are our raison dā€™ĆŖtre ?
obra what's the talk part actually saying?
autrijus it's introducing the social aspects. 06:35
@Larry, lambdacamels, community dynamics
gaal we X for people?
geoffb People are paramount?
obra code is speech / pugs is a discussion ?
gaal Perl is for People?
geoffb Perl: Consensual Insanity 06:36
autrijus Perl 6 is powerful
Pugs is expansive
People are insane
Plans are for real
I like this
obra s/insane/crazy/? 06:37
autrijus sure
dduncan perl-people
obra since crazy can have more positive aspects.
gaal bizarre?
obra what do you mean by "expanisve"?
autrijus is there someting crazier than crazy?
geoffb Along which axis?
obra zany? implies whimsy.
dduncan yes, sanity
gaal psychotic, but we don't wanna go there i think. 06:38
geoffb LOL
autrijus obra: "open, liberal, accepting, multiple fronts, anarchistic, rich"
geoffb
.oO(be vewwy vewwy quiet, the children are sleeping . . .)
gaal you can zoom through that list, no?
autrijus rich as in lots of angles to jump in
gaal: yes
GeJ good morning gentlemen
obra people are alive
autrijus good! 06:39
dduncan good morning gentle one
autrijus obra++ # alive is the ultimate insanity
geoffb morning, GeJ
GeJ wacky?
autrijus okay, alive it is.
obra when do you give this talk?
autrijus 24 hours from now
obra in talinn?
dduncan thats what your journal says
geoffb Wow, autrijus is ahead of schedule then
autrijus yeah
www.galois.com/cufp/ 06:40
obra only $2000 to fly in for it 06:41
but now, &sleep 06:42
geoffb well, at least he's lurking then . . .
obra good luck with the talk, autrijus
geoffb night, obra
autrijus thanks!
"C is for Comprehensive" 06:43
somehow doesn't ring as exciting as "P is for Practical"
geoffb agreed
gaal <cool compelling creative crackin' ...> 06:44
geoffb ...crack-pipe-smokin'... 06:45
Khisanth PC?
dduncan probably mentioned here already, but I noticed the webalized version of Larry's new onion talk is up ... the one I and some of you saw in person
autrijus hm, what's that saying? 06:46
"the only good indian is a dead indian?"
something like that
trying to adopt it in the CPAN context, eg "Best kind of coding is no coding at all"
but worded in a more catchy way
gaal the best program is one you don't have to write?
that's less catchy actually 06:47
autrijus yeah
CPAN is the super glue; super glue is addictive
mmm not quite catchy
gaal laughs
geoffb Someone has a longer quote . . . not so soundbite catchy, but more generally true ... something along the lines of "You are finished not when there is nothing left to add, but when there is nothing left to take away." 06:48
autrijus Antoine de Saint-ExupƩry 06:49
geoffb With the accent no less.
autrijus Syntactic Aspartame: Shorthands without Bloat 06:52
autrijus ponders the metaphor
geoffb I like it, but Bloat is a tad blunt 06:53
autrijus suggestions?
geoffb "All the flavor, none of the calories?"
"The zero calorie shorthand?"
autrijus problem is "calorie" carries no CS meaning 06:54
while Bloat has well estabished engineering meaning
geoffb "Guilt free sweetness?"
nod
gaal cruftless shorthands?
nah..
autrijus cruft has no food meaning :p 06:55
hm, I wonder if anyone will get it with I put "-Ofun" on a slide
geoffb Many, I think
autrijus it stays then
geoffb Can't come up with a better aspartame comment 06:56
sigh
autrijus Manipulexity vs. Whipuptitude: Abstractions are sexy, Shorthands are comfortable 06:57
gaal i'll never be a copywriter... :)
Whipuptitude? is that prototypability?
autrijus yeah
larry's word, not mine
gaal "prototypability without the liability" 06:58
geoffb I can never remember if Larry has both t's or just the second one
autrijus also maybe not "comfortable"
gaal: he used both
er
geoffb: he used both
on different occasions
geoffb ah, explains my confusion 06:59
gaal is that in the onion talk? i'm reading it now
geoffb The OSCON 2005 one?
autrijus no, was in an earlier
gaal: dev.perl.org/perl6/talks/2000/als/
geoffb What I got out of that one (the OSCON 2005 Onion) is that his kids are talented.
dduncan the new one is at www.perl.com/pub/a/2005/09/22/onion.html ; I'm reading it now 07:00
some of you are even mentioned by name
Khisanth ah that is finally up?
Larry should have used a bigger head :) 07:01
dduncan it is so up
autrijus it's also far out
dduncan and don't forget, Larry's daughter drew all those character cards
she told me herself
QtPlatypus Larry's daughter is a pritty good artist 07:02
dduncan met Larry's whole family an hour prior to the evening's events, when very few people were there
QtPlatypus Though did anyone else wish to play that spy game. 07:03
geoffb I certainly did
xinming_Beijing wishes to see Larry. :-) 07:04
geoffb He's not that impressive in person. 07:05
Or at least, I didn't find him so.
Khisanth or in picture form!
QtPlatypus In photoes he looks like Doug Winger a little
(Warning googleing for Doug Winger is NSFW) 07:06
dduncan Larry is certainly not an over bearing person
Khisanth is he calling Python evil? :)
dduncan he's certainly slinging a few at Python
geoffb I think all of the dynamic language designers like to tease each other 07:07
dduncan Python and Perl in particular, have a little friendly rivalry going on
they certainly use polar opposites to expouse a virtue of their side 07:08
geoffb nodnod
dduncan eg, "there's more than one way ... " vs "there's only one way ..."
QtPlatypus just doesn'y understand why python doesn't have declare before use testing. 07:09
dduncan what does that mean?
...
QtPlatypus use strict `vars`; 07:10
dduncan or do you mean that all variables spring into use on first reference
that's odd
I know PHP is that way, but I thought Python was more strict
Khisanth weird but only for Python :)
dduncan I've never used Python, but I always got the impression it was uber-strict 07:11
on purpose
it actually cares about indent whitespace
Khisanth so does Haskell... in some cases :) 07:12
QtPlatypus dduncan: As haskell does
dduncan so you say ... I've never written Haskell either
geoffb More language foolishness has happened because of bad answers to "I never want to make another bug like that again . . . "
autrijus second sketch up - feel freeo to hack 07:13
svnbot6 r7111 | autrijus++ | * Second sketch at Zurich airport
autrijus I'll board in <1hr
dduncan and I'll bed before that 07:14
gaal i think the reason significant whitespace works in haskell is that it's so terse, and it helps it stay terse.
autrijus and also in Haskell it's optional
Khisanth it IS kinda nice to have more or less uniform code between various coders
autrijus (and rational
) 07:15
Khisanth on the other hand wouldn't Lisp do better in that category? :)
gaal autrijus: unwrapping pugs turned out to be hard. i'm really inclined to revert the frontend, though i'm not happy about it. 07:17
what do you think?
(hard = exec in haskell is worse than in perl5; and even in perl5 it didn't work well on windows)
autrijus uh, why? I thought pugs has Prim exec 07:18
shouldn't that be just that?
gaal let me look, but haskell doesn't even *have* a standard exec, even not in posix.
autrijus executeFile 07:19
it's in our Compat
gaal ugh, exec calls executeFile, which is execvp or ve or one of those
and it doesn't work on windows.
autrijus code in a shim? 07:20
have it do a system
and then exitWith the error code
should be easy
gaal don't think it'll work with the console
for interactive programs 07:21
autrijus I think it does, since PAR uses that trick
try rawSystem in System.Cmd
gaal okay, thanks
autrijus np :))
gaal++
that will also get us exec() for free
on win32 as a prim
gaal say that when it works :) 07:22
i'm none of larry's children's agents!
my personality is not reducible to a card: [gaal] does not compile 07:25
autrijus it means you are already in Weak Head Normal Form
(i.e. irreducible)
gaal weak head sounds about right 07:26
though normal doesn not
dduncan I think Larry clearly names 3 of the 16 with individuals ... Autrijus (Ace), Damian (Le Chat), and himself (Wu-Li); the last one was a mock mistaken reveal 07:27
gaal hah, i was hardly expecting to have a card *for* me, dduncan :) 07:28
dduncan its more that Larry said the 3 real people were examples of those 3 roles 07:29
you can probably find yourself too
I can sort of find myself
gaal what kind of a spy can't find themselves? har. 07:30
dduncan in my case, I probably identify with "Miss Engles", the librarian
Khisanth gaal: a great one! 07:31
gaal nah, i think a great spy can't be found, like
hey, where's foo!?
ah, there she is. 07:32
(that's my cat. and no, no relation.)
dduncan can any of you identify a specific character that you seem the most like (you can give both an honest and made up answer, but say which is which)
Khisanth is only one page 2 07:33
dduncan I personally find a lot to identify with in Miss Engles
gaal is amused to be thrown into taxonomical confusion by larry wall of all people 07:34
dduncan Khasanth, that one is the 3rd person, which you get to on page 5; Autrijus/Ace is on page 4
s/a/i/ 07:35
Khisanth I am at "Though offhand, I can't explain how I missed seeing Ruby. So anyway, I ended up with "Pearl" instead."
that one is actually easy to explain, words was probably sorted alphabetically :)
dduncan in some ways, this is all funnier in person ... but the text does capture some of the humor 07:36
dduncan thinks maybe we should make a sign-up wiki of sorts where each member of the Perl community signs up under the personality they most self-identify with 07:37
or, people could sign others up too 07:38
gaal would like to see dduncan after work :)
dduncan well, you know where I live
gaal actually, i don't, but hey! we have this YAPC coming up in February.... :) 07:39
dduncan all the info's there if you know how to use WHOIS 07:40
gaal all pugs hackers welcome.
dduncan I own about 30 domains
autrijus gaal: on the swiss air magazine I read a few articles about Tel Aviv
it looks like a very happening place :)
gaal if i don't know it, it can't be wrestled out of me in torture!
aye, that it is
autrijus boarding now. :) *wave* 07:42
dduncan regarding YAPC, I don't know yet ... on one hand, I'm deeper in the hole than before after borrowing for OSCON ... on the other hand, I just interviewed today for a paid full time job that I figure I have a good chance at
dduncan *wave*
geoffb have a good flight 07:43
dduncan if I get said job, I may have a new influx of money leading to a possible YAPC attendence
gaal have a nice flight!
dduncan gaal, are you going to it?
spinclad good wings
dduncan oh, and have a nice flight
don't let your wings get tired 07:44
gaal dduncan: i'm helping to organize it (the one in .il that is)
dduncan I'd still be interested in meeting autrijus ... more difficult now that he's sworn off the US 07:45
maybe another YAPC will be in Canada?
gaal autrijus is coming to YAPC::Israel :-)
dduncan oh, that one
gaal as is Larry :-)
dduncan I've never been out of NA in my life
gaal now's your chance, bring a friend 07:46
dduncan such a trip is probably excessive for such a short term, but maybe in a few years after the debt's completely gone
NA is cheaper
gaal it probably is... unless you have to pay for a hotel, when it starts getting very expensive fast 07:47
Khisanth all the magical cruft has been moved out and replaced with new ones :)
dduncan autrijus must have a lot of money, to keep making all these international trips each year ... or a sponsor
at OSCON, I shared a hotel with 3 people, so the whole week cost me about $220 07:48
room
driving was my travel, total cost around $100
the event was the expensive part 07:49
I anticipate that any YAPC turns that on its head
cheap event, expensive travel
gaal yeah, the ticket for the conf is less than $100
dduncan yes, no problem there ... the travel is the biggest issue, I think 07:50
gaal actually, it's less than USD 65
dduncan that's cheap travel ... for you
gaal travel from the States is around $700 from NY 07:51
dduncan I live in Victoria, BC, Canada
gaal oh, $65 is the event, essentially free
i think it's around $700 from toronto too, how much is the domestic flight? 07:52
dduncan it seems that www.yapc.org/ doesn't mention the 2006 events yet
gaal OSCON is immensely expensive, isn't it.
dduncan yes
after discounts, it was $1700 CDN for me 07:53
gaal www.perl.org.il/YAPC/2006/
yikes, that's like what, 1300 USD?
dduncan 1350 USD
that's after 15% early reg discount and 15% user group discount 07:54
in future years I will qualify for alumni discount, which I guess is 25% or so
so thats CDN 1700 for conference, and CDN 400 for travel and hotel
because it was this close to where I live 07:55
gaal ouch. the commercial conf business is a different world
dduncan indeed
this said, anyone who gives a 45 min talk gets in free ... I anticipate doing that next time I go
gaal we're scampering to get venue donations and stuff
k, i need to hack a bit... later? 07:56
dduncan laters
tomorrow
gaal bye!
dduncan note that the 1700 included the 2 tutorial days; if not for them, it would have been around 40% less ... CDN1000 or so for the conference proper 07:59
which was 3 days
szabgab I wonder what is the status of other front ends for Pugs 08:10
gaal szabgab: font ends or backends? you mean compile p6 -> javascript for example? 08:11
szabgab I am not really folowong the development but I receall there was some reorganizations
so tehre can ba Python front end
dduncan you typing real fast?
szabgab O mean Python-> PILS or whatever that would be called
gaal compile python to p6? that'd be nice, but i don't know anyone working on it.
szabgab dduncan: I try but I should not :-) 08:12
dduncan your spelling implies something along the lines of too fast for good
gaal AFAIK the only other language that turns into a pugs AST is yuval's Blondie
szabgab not to p6 I think but to the internal tree, it is called PILS, I think. Right ?
gaal but that's highly experimental stuff
PIL 08:13
szabgab AST ? PIL ?
gaal it's not short for Pilsen :)
szabgab ah, :-(
dduncan but it is an acronym
gaal PIL, Pugs Intermediate Language
gaal goes back to yak shaving
szabgab yeah, I think I wanted to write PILs
So the question is how easy or difficult it would be to work on Python to PIL ? Maybe on a Hackathon in February ? 08:15
OK, who knows what will be working by then.
gaal this is quite a new direction 08:16
geoffb g'night all 08:17
gaal it'll probably be much easier to write python -> parrot bytecode
(or some other mutual VM)
szabgab I am trying to think what could be convincing for some Pythonists to join Pugs and maybe our hackathon?
gaal nothing comes to mind 08:18
but it's an interesting notion :) 08:19
Khisanth for demonstrating PIL's flexibility?
szabgab In the last Python meeting I attended (and actually on earlier discussions as well) there is not much interest in the Python community towards Parrot
gaal they get python -> js etc. for free
szabgab gaal++ 08:20
gaal but it's quite an undertaking.
Khisanth that can probably be done more easily without getting PIL involved :) 08:21
GeJ implementing python on parrot, hum... isn't this what pirate is for? 08:25
Khisanth there are already multiple implementations of python, I am sure another wouldn't hurt :) 08:26
GeJ Pirate is a generic parrot compiler, but isn't there a sub-project (Dutchman or something) for a python frontend?
dduncan nap time! 08:36
09:25 wilx` is now known as wilx 10:03 frey_ is now known as lao
gaal rehi 10:08
dada hi gaal 10:10
gaal: did you convince putter to drop the pugs script? ;-)
gaal dada: autrijus convinced me to add exec to pugs ;-) 10:11
i got basic support working, committing soon
dada all's well, that ends well 10:13
gaal it ain't over yet... we have to see it actually works where we need it 10:14
gaal needs coffee 10:15
?eval multi sub x(@args) {"array"} multi sub x($str) {"scalar"} x("which am i?") 10:17
evalbot_7111 'scalar'
gaal hmm, good, but that's not what i'm seeing here :-( 10:18
dada what do you see? 10:19
gaal i have a few facades in the Prelude 10:20
the one that accepts a scalar is supposed to split on whitespace and create an argv from that
(similar to what p5 does)
but i don't think that's being called
svn up and try for yourself 10:21
brb, coffee
svnbot6 r7112 | gaal++ | exec Compat for win32. Works, but not perfectly yet. 10:24
dada hm? 10:29
what should I try exactly?
gaal Saeco++ # cheap but excellent espresso machines
dada: pugs_bin -e "exec('/windows/system32/cmd.exe /c echo moose')" etc. 10:30
dada: pugs_bin -e "exec('cmd')" does in fact work 10:31
oh, oops, i forgot to exit! :)
nothingmuch hola luqui 10:34
pipe-ookoo-pipe
that's a nice alt nick
luqui hola 10:35
isn't though... :-/
s/t/t it/
dada gaal: harrr!
luqui oh boy, my laptop gets to update 2000 revisions of pugs. fun. 10:36
dada NMAKE : fatal error U1073: don't know how to make 'pugs.exe.bat'
gaal touch it.
i don't know who added that, must have been from the batch file wrapper attempts.
dada the Makefile is borked 10:37
gaal is it?
dada C:\data\perl\bin\perl.exe -Iinc -MExtUtils::Command -e cp pugs.exe C:\da
da\pugs\blib\script\pugs.exe
oops
that should be pugs, not pugs.exe 10:38
gaal yes, because '$pugs' is set with _bin at the top of Makefile.PL
not sure it's worth fixing as we're unwrapping anyway.
wha--? 10:44
?eval "asdf zxcv qwer".split(rx:Perl5/\s+/)
evalbot_7112 ('asdf', 'zxcv', 'qwer')
gaal ?eval sub d($x){$x.split(rx:Perl5/\s+/)} d("qwer asdf zxcv") 10:45
evalbot_7112 ('qwer', 'asdf', 'zxcv')
gaal ?eval sub d($x){my @arr = $x.split(rx:Perl5/\s+/)} d("qwer asdf zxcv")
evalbot_7112 ['qwer', 'asdf', 'zxcv']
gaal um 10:46
Juerd d() is probably in item context.
?eval sub d { want } d
evalbot_7112 'Scalar (Any), LValue'
Juerd Yep.
Still, the list returned in the first case is weird and wrong 10:47
gaal i'm getting something unsplit in @arr
Juerd Lists can't *exist* in non-list context :)
?eval sub d { want } list d
evalbot_7112 'List (Any), LValue'
Juerd ?eval sub d { want } item d
evalbot_7112 'Scalar (Any), LValue'
Juerd ?eval sub d { want } item ~d 10:48
evalbot_7112 'Scalar (Any)'
Juerd Str.
Context isn't done yet?
gaal that's not the problem i'm seeing
i think
i'm doing:
my @args = $string.split(rx:Perl5/\s+/);
but @args is being populated with one unsplit string.
luqui ?eval sub d { say want }; my @a = d; 10:49
evalbot_7112 List (Any) [bool::true]
luqui hmm..
gaal looks like i'm going mad, but i have the debug prints to prove i'm not :) 10:52
luqui yeah, that is odd
what is the sig of split in prim.hs? 10:53
QtPlatypus is looking at module HTTP::Server::Simple "Does module imply class?" 10:54
gaal split has some magic to allow both argument orders 10:55
trying the other form now
luqui QtPlatypus, I think it's the other way around
but Larry's big on his tagmemics, so it's possible
gaal luqui: so split has lots of Prim sigs 10:56
anyway calling it in non-OO form doesn't help either.
luqui hmm
yeah, and they all return Lists 10:57
gaal yup
let's see what the fasttrack version does 10:58
svnbot6 r7113 | luqui++ | Added my theory proposal. Hopefully this isn't too far off from the final draft,
r7113 | luqui++ | but I want to have the lambdacamels look it over first.
luqui fasttrack?
gaal (the one that thunks to haskell's `words`)
luqui ahh
gaal (and `thunk` in the api sense, not the closure sense)
precompilation must be made faster :-) 10:59
so, my stereo's off. what should i remedy that with>? 11:00
nnunley Power. More power. 11:01
gaal ah, but of what sort? 11:02
wow, the built-in haskell words version works.
scary.
dada: pin 11:09
!!g
svnbot6 r7114 | gaal++ | exec: 11:10
r7114 | gaal++ | * exit when successful, duh
r7114 | gaal++ | * use a form of split that actually works (split should be fixed though!)
gaal split.t has this note: 11:12
4073 broquaint # XXX - this needs to be updated when Str.split(Str) works again
4073 was a while ago, anyone handle this lately?
also:
seen broquaint 11:13
gaal resists yakshaving digressions :/
QtPlatypus Has someone updated Test.pm after the ?? change. 11:34
gaal sure 11:35
make sure you aren't using an old one installed in your system
PERL6LIB should be blib6/lib 11:36
QtPlatypus nods "thanks" 11:40
gaal np :)
GeJ 6.2.10 could be 6.28.0??? 11:54
wow...
gaal haskell idom help wanted! any lambdaheads about? 11:58
luqui hello
luqui isn't fluent in haskell, but can probably figure it out
gaal heya! i have something that wants to be a guard expresion, but the conditions are monadic. nopaste coming up.
pasteling "gaal" at 192.115.25.249 pasted "prettify this" (7 lines, 213B) at sial.org/pbot/13265 11:59
gaal is it simply a matter of purifying it by introducing unsafePerfomIO? 12:00
(i keep writing unsafePerlform...)
luqui hmmm 12:01
gaal usually monadic compuations stop at the first failing one
i want the reverse
stop at the first successful one.
luqui has an idea 12:02
gaal braces himself
luqui hmm, can I just paste it on top of yours
n/m
gaal hmmm?
luqui fights with his browser window a bit 12:03
luqui then thinks a little, realizing that his idea wasn't as conceptually simple as he thought 12:04
gaal i'll ask on #haskell. they're sure to give me conceptually simple ideas! 12:05
luqui I was going for syntactically simple :-)
gaal ;-)
luqui but I need a function that takes (a -> IO b) -> IO (a -> b) 12:06
gaal hoogle?
luqui it was taking forever to load
and it doesn't index much
but I'm looking now
now I'm curious 12:07
gaal !? why does e.g. floor show up there?
Juerd Does pugs even know void context yet? 12:08
Or is what I'm doing absolutely futile because it just doesn't exist? :) 12:09
luqui ?eval sub d () { say want } d; d; d 12:14
evalbot_7114 Void, LValue Void, LValue Scalar (Any), LValue bool::true
gaal luqui: we've stumped them? :) 12:18
luqui seems so
I might be on to something with MaybeT 12:19
but you might as well write it as cascaded ifs
gaal indeed
QtPlatypus How did 3 calls to say result in four outputs"
luqui ?eval 4 12:20
evalbot_7114 4
luqui zero calls to say resulted in one output 12:21
but I think you were misreading the output
?eval sub d () { say "{", want, "}" } d; d; d
evalbot_7114 , want, , want, , want, bool::true
luqui er
oh yeah
?eval sub d () { say "[", want, "]" } d; d; d 12:22
evalbot_7114 [Void, LValue] [Void, LValue] [Scalar (Any), LValue] bool::true
QtPlatypus nods
pasteling "luqui" at 67.165.197.242 pasted "Monadic guard" (7 lines, 194B) at sial.org/pbot/13266 12:26
luqui s/case/return $ case/
gaal luqui: thanks; does this perform fileExists on both first?
s/does/doesn't/ 12:27
dada gaal: "pugs" by itself seems to be working fine now
luqui doesn't know anything about evaluation order :-)
gaal really? cool!
dada gaal: I mean the pugs.bat incarnation
luqui lazy languages scare me in that respect
gaal dada: very nice
your work?
luqui: mind if i ask on haskell? 12:28
luqui nopers
gaal or ask yerself!
luqui doesn't really care 12:29
luqui is just trying to find a way to keep from doing n bindings before an n-line case test
gaal asked.
dada even pugs -e "say <hi>" (with a space) works 12:30
gaal dada: who fixed this, you? i didn't notice any commits about this
dada no, I didn't :-)
someone added a pugs.bat to the rep
gaal svn praise shows it's putter :) 12:31
dada he did the right thing :-)
gaal he has some polyglot code on his homepage already :)
putter++ putter++ putter++
shame that i missed this commit though 12:32
Juerd 14:15 < luqui> ?eval sub d () { say want } d; d; d 12:34
14:15 < evalbot_7114> Void, LValue Void, LValue Scalar (Any), LValue bool::true
aha
Stupid me.
Thanks :)
pasteling "luqui" at 67.165.197.242 pasted "Monadic guard" (10 lines, 310B) at sial.org/pbot/13267 12:35
gaal luqui: #haskell that! 12:37
luqui what are we asking?
gaal i dunno, for a review? it looks like it works but isn't idiomatic 12:38
but maybe like ski said that can be hidden in a function 12:39
never mind - i'll focus on getting my actual code working now :)
thanks!
luqui :-) 12:40
gaal, btw, you can align them 12:42
apparently the $ at the end lets you do that
svnbot6 r7115 | luqui++ | Minor edits, noticed a bug in the proposal and wrote it down so I can think about it. 12:49
gaal luqui: got another minute? this all has to be in Maybe, but I'm finding that confusing. 13:25
luqui likes Maybe
sure
pasteling "gaal" at 192.115.25.249 pasted "some more lifting necessary" (29 lines, 1.2K) at sial.org/pbot/13271
gaal (the current snippet is obviously wrong in findHelper (x:xs); for one thing the fileExists should be liftIO'ed (right?) 13:27
)
luqui hang on. I read haskell at about ten characters per minute :-)
gaal yeah, and that's a little hairy 13:30
the basic idea is that we want to find an appropriate file in a search path
luqui it seems like findHelper should be :: [[FilePath]] -> IO (Maybe FilePath)
gaal with a little extra complication of having two alternate names in each node in the path list 13:31
hmmm
luqui I don't see you needing to lift at all here 13:32
gaal lesseee
findHelper [] = Nothing => .... IO Nothing? 13:33
luqui findHelper [] = return Nothing
gaal ah yesofcourse
luqui never realized how insanely much signatures help readability 13:34
having the signature separate from the definition is a big win
luqui thinks about perl :-)
svnbot6 r7116 | fglock++ | * perl5/Array - changed stringification, join.t passes 5 more tests 13:38
gaal luqui: there's a problem with the otherwise clause:
| otherwise -> findHelper xs 13:39
Couldn't match `String' against `Maybe FilePath'
s/clause/guard/
luqui that's... weird
oh 13:40
you can't return an IO something
so you have to factor the return inside the case
gaal only in the first two?
luqui right
gaal tries 13:41
that worked. thanks a lot :)
luqui sure
luqui really likes haskell because it seems that if something type checks then it works 13:42
at least as long as you keep your functions small
gaal that's only because nothing ever typechecks!
luqui which is consistent with software in general
nothing ever works!
gaal yup. btw that comonad thing is utterly frightening. 13:43
luqui quite
fortunately, haskell is not a language in which it can work :-) 13:44
gaal the thread i found ended in suspense
# www.mail-archive.com/haskell-cafe@h...02749.html
luqui ski has some commentary on the haskell wiki 13:45
he says that a linear type system would allow them
but you get a noninvertible "zero type" otherwise... whatever that means
gaal it's the frequency of the phrase "whatever that means" that unsettles me 13:46
luqui heh
I figure I'll start to get it once I get my second PhD in mathematics
:-)
gaal maybe it only works for odd primes. 13:48
luqui maybe it only works for 2, like fermat's theorem 13:49
gaal it's likely. you never know what strain of getting a third math PhD might do to you. 13:51
yay! -B works on win32 from within pugs! 13:55
luqui cool
gaal just to check that the interactive mode isn't hopelessly b0rked
(what a nice pat on the back that i need to install a module of my own from CPAN to do that!) 13:56
Juerd munin++ 13:57
Easy to write plugins for
gaal spectacular, it does work. @prereqs_for_taking_over_the_world.shift;
Juerd munin.convolution.nl/local/feather....ssize.html
Not the most interesting graph yet
But it works :)
luqui Juerd, the size of the executable? 14:00
Juerd "This graph shows the size of the stripped pugs executable."
The description is below the charts
luqui heh
reading is for chumps
Juerd You read IRC 14:01
luqui maybe I listen
Juerd You like data to be pushed to you, rather than pulling it? If so, you're the perfect victim for advertisements :)
No, you're not listening to IRC
There are several ways to tell :)
15:57 < gaal> spectacular, it does work. @prereqs_for_taking_over_the_world.shift; 14:02
Isn't that $gaal.goals{'take over the world'}.prereqs.shift? 14:03
gaal no, it's global to pugs hackers.
Juerd heh
gaal take over the world = global (sorry! :-) 14:04
Juerd Anyway - does anyone know how to fetch just the number of the current revision, without having any local copy? (svk or svn)
I think that'd be an interesting thing to chart
gaal you mean of your current executable? or what's the latest commit in the official repository? 14:05
Juerd It can be seen as a DERIVE counter: it'll plot the difference
The latter
svnbot6 r7117 | gaal++ | `-B backend` can now be handled by the main pugs executable again.
r7117 | gaal++ | next step is to remove the perl5 wrapper.
Juerd The executable and my working directory lag with 15 minutes
This is a 10 minute thing, so it has a possible lag of 5.
It can be more even 14:06
gaal you could webscrape it... 14:07
svn.openfoundry.org/pugs/ has the revision in the header 14:08
it's not a very great way, but if you don't have a real svn/svk client...
Juerd Ah, this is perfect 14:09
Thank
s
gaal you're most welcome. nice graphs :) 14:10
could someone who's on unix please see if exec still works for them?
and if `pugs_bin -B JS` starts an interactive shell? 14:12
Juerd if exec works?
The exec syscall?
Or the pugs function? 14:13
Or...?
luqui wow, I totally cannot understand BlowNose in #haskell
fglock gaal: I get "src/Pugs/Compat.hs:62:82: Not in scope: type constructor or class `ExitCode'" when starting compilation - but it may be a problem here
gaal Juerd: the exec builtin in pugs. It's been refactored.
fglock: no, it's very likely my bug. sec.
Juerd You have a feather account... 14:14
exec works
(on feather) 14:15
gaal fixed
Juerd: yes, just realized that
fglock gaal: src/Pugs/Compat.hs:65:9: Not in scope: `try'
svnbot6 r7118 | gaal++ | unbreak build on non-Windows systems. fglock++
gaal hmmm. 14:16
ook, sec
evalbot runs on windows? interesting 14:19
or: how come Juerd's pugs compiles but fglock's doesn't? 14:20
?eval $*OS
evalbot_7118 \undef
Juerd Oh, I didn't try building
gaal ?eval $?OS
evalbot_7118 \'linux'
Juerd If pugs doesn't build, the old executable stays in place.
See ~juerd/auto/*.out and *.err 14:21
gaal ?eval $?PUGS_VERSION
evalbot_7118 \'Perl6 User\'s Golfing System, version 6.2.9, August 3, 2005 (r6945)'
gaal heh.
luqui woah, 6945? 14:23
is that the last time a .hs file was changed, or is it because pugs is failing to build?
gaal dunno. i think there have been r lies in the past 14:24
luqui build is failing 14:27
gaal working on it, luqui. 14:28
scook0 luqui: I read through your theories doc -- it's very ... intimidating 14:29
but also very interesting
luqui thank you and thank you...
luqui wonders how he could make it less intimidating
scook0, are you referring to the new one that I committed today? 14:30
scook0 luqui: aye
though I'd read the old one as well
luqui okay good, that's the one I'm working on :-)
scook0 the new one is much more far-reaching than I expected 14:31
is it all the TaPL kool-aid? :)
luqui I mostly came up with all this before I even opened TaPL
I walked home from school every day last week (about an hour walk) 14:32
scook0 oh
luqui walking is good for thinking, so I just thought about it the whole time
but it was hard not to touch everything
oh, this would be cleaner if lists just worked like this instea 14:33
!!d
oh, it would be a lot nicer if everything were a multi already *bangs self on head before Larry has a chance to* 14:34
scook0 luqui: "When you extend a union, you create a superset (but still a subtype)." 14:36
how does that work?
luqui The next sentence explains that... 14:37
if B does A (in union land), then B is a superset of A, but B can be used wherever A can
but maybe that's not true, given the XXX at the end of the theories section 14:38
patterns are posing a little difficulty wrt factories. I hope I can work it out, because the role/factory duality is so beautiful 14:39
scook0 I'm just worried about what happens when someone expects a Tree, and you give them an Annotation
luqui well, you'll be pattern matching, right?
so the Tree patterns just fail
hmmm... but then you don't get a complete traversal.
maybe this is what the XXX is referring to mathematically
luqui 'll be walking home today, too, so I'll try and get this worked out 14:40
speaking of which, I ought to be heading off to school 14:41
thanks for your comments scook0 14:42
scook0 and I should be heading off to bed
integral wow, this stuff is really neat. luqui++
scook0 luqui: no problem
luqui thanks :-)
scook0 I'll read it again tomorrow with a fresh brain
bye
luqui bye
wolverian heh, some pretty funny trolls over at /. on state of the onion 14:46
svnbot6 r7119 | gaal++ | fix build for real. 14:55
gaal okay, i think we can remove the wrapped pugs now. what's the cleanes way, revision control-wise, to do this? 15:17
this doc:
# svnbook.red-bean.com/en/1.1/ch04s04...4-sect-4.2
describes how to do it when you're rolling back *one* revision.
but apart from 6946, there have been a few more that we want to undo 15:18
it's not a very big change so i don't mind doing it manually, but i also want to know the "right" way.
(actually, it's just svn rm pugs and a few edits to Makefile.PL to do this manually) 15:19
integral iirc it's svn merge -r 1235:1234, which unapplies changset 1235 to the working copy 15:39
eric256 so does anyone konw where i should look for the code to go back to embeding the source of prelude.pm if you don't compile it? 16:04
nothingmuch PING 1127491752 131736 16:09
GeJ nothingmuch: pong 16:10
nothingmuch pong?
GeJ --- Received a CTCP PING 1127491752 131736 from nothingmuch
nothingmuch oh
nothingmuch didn't know that was user visible
i thought that was between the IRC server and me
nothingmuch suspected his internet connection died 16:11
sorry
GeJ no problem... I don't think it made my BP quota explode the limit
gaal eric256: look for gen_prelude 16:15
brb 16:18
eric256 which gen_prelude? or in which file... 16:22
ods15 nothingmuch: you didn't notice the like hundrend of ping replies from every user here?
gaal eric256: there's a src/gen_prelude.hs that actually does get built - it's a remnant of the old system 16:28
look for how the precomp prelude is initted - Run.hs:159
eric256 yea....i just don't know how to get from that to being able to compile without prelude but still have it loaded when i run pugs_bin.exe
gaal you need something very similar, that uses the unprecomp prelude
if you browse the history for Run.hs you'll find it 16:29
well, the *configuration* for this should be via config.yml
there was once an option, inline_prelude or something similar
this all happens at build time 16:30
eric256 yea.
gaal so the build system can decide to put the prelude as a string, and have pugs do eval on that.
eric256 maybe i'll just go find my feather acount. lol
wolverian now I know why I haven't learned haskell yet. I just haven't been looking at small, practical examples. 16:31
(the haskell wiki helps with this.) 16:35
gaal wolverian: Prim.hs too
Khisanth hrm my main problem is finding something to do with it :) 16:36
err a problem to solve with it
gaal find something you want pugs to do :) 16:37
wolverian pugs is a bit scary to me. 16:39
gaal aye, but Prim is often a good start because it has relatively simple things 16:41
Khisanth something a bit smaller!
gaal like wrapping a functionality provided by haskell builtins in a way that's suitable for perl
Limbic_Region if you haven't read Larry's State of the Onion 9 - do so 16:52
autrijus and pugs are talked about in a good way
eric256 where would we read that at? 16:56
Khisanth perl.com
it also calls Python evil :P
eric256 he doesn't get right to any point does he? :) 17:00
GoCooL When they say "Pugs is a Perl6 implementation", what exactly does that mean? 17:02
eric256 it means pugs can interpret scripts that fit the Perl6 language specification 17:03
geoffb For varying definitions of "fit" and "specification
"
eric256 well ......sorta. ;) both the spec and the interpreter arn't complete though
wolverian I'd like to see a formal spec 17:12
eric256 he speaches are allways....well...interesting. lol 17:16
gaal eric256: going okay? 18:05
eric256 i haven't tried antyhing 18:08
ended up swamped with real work
gaal i know how that goes :-) 18:10
elmex ? 18:34
wolverian is there a low-precedence version of + (numeric context)? 18:52
fglock ?eval +"10" ~ "20" 19:02
eric256 how do i broswe a files history on the SVN repository...isn't there a web url i can use 19:40
nm found it through the recent commits link 19:44
rt.openfoundry.org/Foundry/Project/...;rev2=4216 seems to be the change related to making it include Prelude....but is that compiled or just inlined? 19:46
fraxtal I just downloaded the win32 binary of pugs from www.jwcs.net/~jonathan/perl6/, but the zip file doesn't seem to contain the pugs binary. Anyone know what's up with that? 20:37
gaal fraxtal: do you have a pugs_bin.exe? 20:55
fraxtal gaal: No. All I have is a parrot.exe
gaal and a perl script called pugs?
fraxtal I don't think so 20:56
but which directory would that be in?
gaal looks like a packaging error
fraxtal It's not in the top level and there is no bin folder
gaal not sure, i never looked at that install
we've changed the way pugs itself is loaded recently (and might change it again soon) 20:57
fraxtal hmm
gaal but you should have had a pugs and possibly a pugs.bat
not sure where, in that package.
how new is it?
fraxtal 9/20/2005 20:58
gaal that version would have some problems on win32, but could conceivably have worked.
i suppose you should wait a few more days for a newer, unbroken package to come up, 20:59
fraxtal ok
i'll keep my eye on it
gaal or if you're impatient, compile a pugs yourself :)
eric256 if you can get it to compile..../me is seriously considering putting more memory in just to be able to painlessly compile pugs 21:06
gaal 256MB of RAM == better than 100MHz of CPU 21:10
up to some limit :)
actually it's negative. you need the *least* amount of RAM that you'll actually used (taking spares into account), and put the rest of your money in other things (CPU, faster disk...) 21:11
but everybody on this channel knows that :)
eric256 i'm continously amazed by the lack of humor some people display on PM....and it nearly always is an anonymous monk 21:25
wolverian for some reason I want $foo.chars to return a list of characters 21:36
same for .bytes etc.
@foo.elems would be confusing. :)
wilx Byte and character is not always the same. 21:38
Juerd wolverian: So do I. 21:46
wolverian: All of these should behave following the same pattern:
void context: nothing (duh!)
item context: return number 21:47
list context: return elements
There is also no good reason for @foo.elems, as @foo already behaves as we need.
eric256 TSa seems to make my head hurt....i've totaly lost track of that thread or even who is advocating what. lol 21:55
22:15 kgftr|honeymoon is now known as kgftr|konobi
landover may i ask a newbie question? 23:03
as though i am the newbie programming coming to perl6? 23:04
rantanplan_ Perl6 is still envolving. So if you are a newbie i recommend learning Perl5 instead.
landover err new to perl6 23:05
rantanplan_ Ah, ok. :).
landover but i have some questions that maybe due to a lack of some education in higher level comp science
regarding threading
or should i say multi-threading in general
i get the concept of multi-threading of the fact that its like forking but without a new pid 23:06
but
rantanplan_ I think any Perl6 implementation does not yet support threading. But maybe i can help you.
landover well let me break down my idiotic obnoxious questions into something that i hope is a readable format 23:07
1) Multi-threading when is good to use and when is it bad to use?
2) How does multi-threading impact big(0) along with speed in general? 23:09
wilx Heh.
I doubt anybody is going to answer.
landover is that dumb? 23:10
wilx Your questions are too unrelated and broad.
landover ah
well to narrow it down my question is that is there a way currently in any language to make all functions appear to be running in their own process i know this may not make sense but for what i am doing i need little "agents" so to speak 23:11
without having to Fork for each little agent
like if you have a perl6 or perl5 subroutine, and lets pretend the subroutine ran a task if i wanted a thousand or so tasks to run at the same time 23:12
rantanplan_ I would not use 1000 threads within the same program.
landover right
this is hypothetical of course 23:13
but you also wouldnt have 1000 pid's as well i assume correct?
rantanplan_ I would recommend a single thread and single process which is using select or something.
landover meaning how can i have 1000 things run in parallel without using threads or pid's
i tried poe but it cant do everything that i wanted it to do and rather than hunt around the vast info of non-truth i figured i would ask some experts in the field 23:14
rantanplan_ On UNIX and UNIX like OSes you may use select or similar. Dont know about Windows.
wilx Or non-blocking or async I/O.
landover i know this may sound confusing but i am trying to build functios that are miniature turing machines 23:15
so basically have a daemon that listens on a socket async correct?
for fun i was trying to see if i could take a mathmatical algorithm and break it down via small turing machines 23:16
rantanplan_ If you know C, take a look at libevent. This seems to be nice stuff.
landover that would run in parrallel
<< knows a little C but was trying to stick with something that was interpreted like perl etc
point being though ok so your saying that its something that i would have to do at the OS level in terms of either async /non-blocking socket connections 23:17
or use something like C etc
rantanplan_ Yes. Or use Perl5. (Which is offtopic too). -> perldoc -f select 23:18
landover k thanks i understand its not a perl6 topic but i have been trying to find a language that will let me build small turing machines that run in parallel and rather than re-invent the wheel i figured i'd ask those that are more intelligent than myself 23:19
rantanplan_ Yeah, Perl5, Python, Ruby, Lisp, Haskell .. would be all fine i think. Or even Lisp. But i recommend Perl5 (because i know it the best). 23:21
So do it in the language you know the best. 23:23
landover ya i know perl5 pretty well although there is still new things im learning every day 23:24
ok now i have a big question though regarding perl6
is strictly typed optional in perl6? 23:25
kgftr|konobi yup
rantanplan_ But strict is standard in Perl6. I ve read. 23:26
Ah strictly typed.
Never mind.
Didnt read ;).
I meant "use strict".
landover right my concern about the strictly typed is what are the true benefits of typed versus untyped in general? Being as though Ive only worked in smalltalk, perl, javascript, and python I dropped strictly typed languages because they were more time consuming to create things in how do you think this will effect me in the long term? 23:28
rantanplan_ Strictly typed makes the programm runs faster. And it also prevents bugs in the source code. 23:30
s/runs/run/;