pugscode.org/ | sial.org/pbot/perl6
Set by agentzh on 7 June 2007.
00:05 drupek12 joined 00:06 mg joined 00:21 Limbic_Region joined 00:22 SamB joined
svnbot6 r16669 | lwall++ | Attribute not declared rw needs to write via @!n, not @.n 00:31
Aankhen`` Er, what? :-S 00:33
Isn't !foo only for private attributes?
dduncan !foo is how you spell a private attr 00:40
or invoke a private method
Aankhen`` <svnbot6> r16669 | lwall++ | Attribute not declared rw needs to write via @!n, not @.n # does that mean even otherwise public but ro attributes are accessed with !foo?
01:21 `Sean left 01:27 drupek12 joined 01:37 REPLeffect joined 01:42 Lorn joined 01:47 sunnavy joined 02:05 jaapweel joined 02:22 mako132_ joined 02:29 edenc joined
dduncan @tell TimToady it seems that S03 does not include the 'before' and 'after' generic ordering operators in its precedence table, where it should be in 'chaining infix' ... they also aren't listed with the reduce identity operators like their less generic familiars ... also, in the "chaining binary precedence" section of S03 that does mention before|after, I think a few C<> in list item names are missing the C, such as <==> and <eq> 02:32
lambdabot Consider it noted.
lambdabot2 Consider it noted.
dduncan seen TimToady 02:33
jabbot dduncan: TimToady was seen 8 hours 35 minutes 30 seconds ago
02:41 lambdabot2 left 02:42 lambdabot left 02:43 dolmans joined
PerlJam dduncan: if S03 doesn't include them, then they don't exist :-) 02:45
dduncan S03 does include them 02:46
PerlJam I thought it was "looser" and "tighter" or somesuch anyway though.
dduncan just not consistently
PerlJam ah, I see.
dduncan this is a situation where some things should be mentioned in several places, but are actually only in some of those
before|after is to <|>|lt|gt etc as ===|eqv are to ==|eq etc 02:47
SamB PerlJam: that librarian pisses me off
real librarians aren't that stupid 02:48
a robot could be
02:54 Aankhen`` joined, Alias__ joined 02:56 hcchien_ joined, shachaf_ joined 02:57 Frances joined, shachaf_ is now known as shachaf, obvio171 joined 02:58 drbean joined
TimToady Aankhen``: every declaration of @.n declares both @.n() the virtual method and @!n the actual private storage for that variable. If you use the virtual method, and its not declared rw, it's not clear it should be allowed. 03:07
(as an lvalue) 03:08
03:18 Psyche^ joined 03:25 daxim_ joined 03:30 hcchien_ is now known as hcchien 03:34 Psyche^ is now known as Patterner
Aankhen`` TimToady: Ah. 03:59
04:05 Khisanth joined
svnbot6 r16670 | lwall++ | "for @foo -> my $a {...}" doesn't need the "my" 04:14
dduncan ping TimToady 04:25
I had used @tell, but the bots subsequently left and didn't tell you
see irc backlog a few hours
re before|after ops
TimToady the prec table itself is only meant to be representative, but yes, there are holes in the rest of S3 04:32
dduncan ack 04:44
04:53 lambdabot joined 04:58 kunwon1 joined 05:17 buetow joined 05:25 weinigLap joined 05:26 weinigLap joined 05:28 araujo joined
Tene ?eval ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 05:38
05:38 evalbot_r16668 is now known as evalbot_r16670
evalbot_r16670 undef 05:38
meppl good morning 05:41
Tene Sure is!
meppl good morning 05:42
good morning tene
Tene, ah, its just the wish
05:43 Jmax joined 05:57 jedai joined 06:00 thoughtp1lice joined 06:07 thoughtpolice joined 06:11 buetow joined 06:24 Averell joined
gaal moose 06:31
06:33 iblechbot joined
Aankhen`` lemur 06:37
06:38 thoughtp1lice joined 06:47 kane_ joined 06:56 devogon joined 07:01 unobe joined 07:07 baest joined 07:22 jisom joined 07:34 dduncan left 07:44 marmic joined 07:53 serdan joined 07:54 unobe is now known as unobe_away 08:06 Salzh joined 08:23 sebastian joined 08:33 theorbtwo joined 08:34 offby1 joined 09:00 aharoni_ joined, aharoni_ left 09:01 aharoni joined 09:05 akreal joined 09:06 leo_ joined 09:07 rfordinal joined 09:17 gogonkt1_ joined, gogonkt1_ is now known as gogonkt1 09:25 polettix joined, IllvilJa joined 09:26 nipotan is now known as nipotaway 09:29 BooK joined 09:30 gogonkt1 joined 09:39 gogonkt1_ joined 09:41 sebastian joined 09:58 gogonkt1_ left 09:59 kanru joined 10:13 crashmatrix joined 10:19 aharoni left 10:23 jisom_ joined 10:38 rindolf joined 10:46 ruz joined 11:01 chris2 joined 11:15 Alias_ joined 11:17 iblechbot joined 11:23 kanru joined 11:24 cmarcelo joined 11:43 fglock joined
leo_ audreyt: ping 11:47
lambdabot leo_: You have 1 new message. '/msg lambdabot @messages' to read it.
11:57 REPLeffect joined 11:59 baest joined 12:00 baest joined 12:02 Psyche^ joined
thoughtp1lice morning. :) 12:08
12:08 thoughtp1lice is now known as thoughtpolice 12:13 Aankh|Clone joined 12:18 Psyche^ is now known as Patterner 12:31 |Jedai| joined 12:40 b_jonas joined
moritz hi thoughtpolice ;) 12:41
12:42 baest joined 12:44 aharoni joined
aharoni rindolf? 12:45
rindolf Hi aharoni
aharoni oh yeah
rindolf aharoni: are you Amir Aharoni?
aharoni that's right
rindolf aharoni: I'm Shlomi Fish.
aharoni i finally made IRC work
rindolf aharoni: ah nice.
aharoni i know
rindolf aharoni: you should register your nick.
aharoni i did
rindolf aharoni: OK.
aharoni: what's up? 12:47
aharoni i've been excited about perl6 / pugs / and all that for quite long
and i can't connect to IRC through my usual ISP (HUJI)
rindolf aharoni: oh.
aharoni so finally i can see what the excitement is about
i've been browsing through the pugs source tree 12:48
rindolf aharoni: I'm not much into p6 and stuff, but I still like to hang out here.
aharoni: have you been to any Perl-IL meetings? 12:49
aharoni: there's a Ruby-IL meeting on Sunday.
I have to be there to set up the room and stuff.
moritz aharoni: we are all excited ;-) 12:50
aharoni i live near Jerusalem, so i don't have time to meetings in TA, but i went to a couple of meetings in J-M 12:51
i even gave a talk about using Perl for linguistics
moritz cool ;)
aharoni so anyway, i've been browsing through the pugs source tree ... 12:52
and it's really eye-opening
for years i've been coding Perl, C#, Java ... Haskell is really something different 12:53
12:54 pjcj joined
moritz completly different - that's why I contribute to the test suite and infrastructure, because it somewhat scares me ;) 12:54
rindolf aharoni: I've written some Haskell code. 12:55
aharoni i am usually very picky about coding standards and readability, but the Pugs code is very readable
rindolf aharoni: www.shlomifish.org/haskell/ among other things.
aharoni and i don't even know much Haskell! but i'm learning
lambdabot Title: Index of /haskell
rindolf aharoni: I have yet to understand what $ in Haskell means. I keep forgetting. 12:56
b_jonas rindolf: I think it's just a parenthesis or something
aharoni rindolf: that's just what i've been looking for.
rindolf aharoni: I once wrote a log analyzer in Haskell, which caused a stack overflow.
b_jonas but I don't know haskell
moritz rindolf: the $ just modifies precedence
rindolf b_jonas: hi.
b_jonas: OK.
aharoni yeah, that's how i understood it.
rindolf moritz: oh.
moritz rindolf: so foo (bar baz) can be written as foo $ bar baz
rindolf moritz: hmmm... 12:57
moritz it's like a noop with lowest precedence
aharoni so it's mostly for optimizing for readability?
moritz right
aharoni OK, so i got it right.
moritz but I'm not a haskell guru by any means, that's just what I read in YAHTj
aharoni i am used to perl's man pages - perlop, perlfunc, etc.
moritz s/j$//
aharoni and i couldn't find anything like this in Haskell docs, but eventually i just found it in the source code of Prelude 12:58
and right - ($) is a function that does pretty much nothing
moritz YaY, I understood something correctly! 12:59
thoughtpolice haskell is an amazing language
jaapweel i wrote some haddock documentation into HsSyck, which is in the pugs tree, and i sent the darcs patch to audrey. is that the Right Thing to do with pugs patches?
or should they go to some mailing list? 13:00
aharoni jaapweel: that's exactly what i came to ask too :)
thoughtpolice jaapweel: get a commit bit and just commit directly :)
moritz jaapweel: /msg me your email, and you'll get a commit bit
aharoni i'm too much of a noob to hack into Haskell code, but i really wanted to help with documentation
thoughtpolice aharoni: i'll send you one too
moritz: what's the commitbit interface? 13:01
moritz or write it here if you don't mind spam ;)
thoughtpolice i lost the url :(
moritz commitbit.pugscode.org iirc
commitbit.pugscode.org/admin/project/Pugs/people
jaapweel thoughtpolice, thanks for the advice; is this commit bit for some non-darcs VCS?
thoughtpolice pugs uses svn
moritz jaapweel: it's svn ;)
jaapweel i see
thoughtpolice the darcs repo is purely there for looks :)
jaapweel damn
thoughtpolice it's cool 13:02
pulling the svn repo shouldn't take long at all
jaapweel and i thinkin you guys are being all fancily distributed...
thoughtpolice probably a bit faster since you won't have to download about 15,000 patch files :)
jaapweel the darcs pull wasn't so bad with --partial
moritz jaapweel: I don't think distribute SCM scales well for a project like pugs
thoughtpolice i prefer the distributed model 13:03
moritz just too many different people with repositories
thoughtpolice well
look at the linux kernel :)
jaapweel moritz, the concept, or darcs in particular? kernel.org uses distributed SCM
thoughtpolice jaapweel: he means the concept of distributed source control
moritz jaapweel: yes, but they have a central repository as well
I'm not an darcs expert though
thoughtpolice well, darcs is about as easy as simply putting it on the internet 13:04
as it is with most repo's
jaapweel thoughtpolice, i don't think the concept doesn't scale; in fact, i would say it scales better, and svn is acceptable exactly for smaller projects
thoughtpolice and that is your 'central reposetory'
although in reality
jaapweel: neither do I; I love distributed VCS's
in reality, it's not really a central repo
it's just another repo
moritz can I tell darcs to pull patches from every repository that I ever pulled from?
thoughtpolice in svn lexicon you actually have the central repo on a server 13:05
jaapweel but anyway, i didn't mean to start the big version control debate, i was just wondering how to contribute my little patch ;-)
thoughtpolice moritz: you have to give it a specific repo.
b_jonas lol, vcs wars
thoughtpolice since in the distributed model patches can conflict if you're not careful
of course,
in that model you should be well organized
in that respect I can see why pugs took the centralized model:
everybody has the same access, same code, same stuff.
you don't have to worry about pulling from here or there. the linux kernel is particular because while it's a *huge* project 13:06
the developers are more organized
jaapweel patches can conflict either way, though. i remember using CVS for a project in college and we continuously had these conflicts that required complicated CVS dances to resolve
thoughtpolice so they don't have to worry about the conflicting problems inbetween their branches since just about every kernel dev has a specific part they work on alone. normally your changes won't reach far outside those bounds.
moritz well, CVS sucks ;)
thoughtpolice yeah
as linus said:
".patch files and tarballs are what we originally used for the kernel" 13:07
"which is in fact a much superior source control model than CVS"
b_jonas the ilnux kernel can't have lots of people with commit bits like pugs
or parrot
moritz right 13:08
thoughtpolice true
moritz and their git is really cool IMHO ;)
thoughtpolice but then again,
jaapweel anyhow, my email address is weel at ugcs dot caltech dot edu
thoughtpolice linux isn't a "community effort" in the same sense that pugs is I suppose
b_jonas yeah
aharoni linux is not -Ofun 13:09
thoughtpolice the linux kernel has a dedicated group of people who work on it alone; most people outside that group aren't going to want commit access or probably even hack on the project as liberally,
since the linux kernel tbh is a pretty hard project
moritz thoughtpolice: can you access commitbit? it times out for me :(
thoughtpolice i accessed it
yeah hold on
aharoni & jaapweel: you might have to wait a couple minutes. commitbit's interface is kind of slow (well, understatement, but okay) 13:10
on the vcs note, i still prefer the distributed model for a couple reasons, but for a project that's as free-form as pugs, having that many individual repositories is asinine. a distributed model would be better suited amongst a small sect of developers. 13:11
also, moritz, I'll agree git is pretty awesome. :)
pretty much 0 windows support is kind of a killer though for a lot of stuff. 13:12
moritz not for linux kernel dev ;) 13:13
thoughtpolice yeah :)
the linux kernel kind of has special needs though
moritz or debian packages and stuff
thoughtpolice git *is* fast and branching is pretty critical; a solution like darcs wouldn't scale well to a code base that tremendous.
both in speed and handling that code base 13:14
aharoni: invited. :) 13:15
check your inbox in a few minutes
be sure to add your name to AUTHORS as your first commit; from there on in have a blast.
and now it's time to eat some cereal 13:16
jaapweel: gimmie a minute and I'll get yours as well. i assume the name to just be 'jaapweel'?
aharoni thoughtpolice: thanks! 13:19
wow it is indeed very slow
thoughtpolice np
yes, it is.
:(
kind of a killer
aharoni is it always like that ??
thoughtpolice it seems so unfortunately. :( 13:20
btw aharoni, on the haskell note earlier: haskell.org/ghc/docs/latest/html/li...index.html
moritz aharoni: we have load problems on the server that hosts it
thoughtpolice that lists the full stock libraries that come with ghc
moritz aharoni: but that only affects commitbit, other applications (like svn) are not that slow
thoughtpolice you should also probably know about this link: haskell.org/hoogle/
lambdabot Title: Hoogle
thoughtpolice speaking of that
@where+ haskelldocs haskell.org/ghc/docs/latest/html/li...index.html 13:21
lambdabot Done.
thoughtpolice @where+ hoogle haskell.org/hoogle
lambdabot Done.
thoughtpolice for easy access later. :)
jaapweel: I sent yours. I just put your name under 'jaapweel' if that's not much trouble 13:22
moritz thoughtpolice++ # invinting people ;) 13:23
thoughtpolice :)
aharoni so commitbit is slow, but SVN is not; what is commitbit, then? the interface for setting preferences?
thoughtpolice aharoni: it's essentially a simple way to add authors to a project, administer that project, etc. etc.. 13:24
so yeah you could say that
13:27 sunnavy_ joined
aharoni thoughtpolice: OK, i changed the password 13:31
13:31 sunnavy__ joined
aharoni thoughtpolice: now to commit i need to use this username/password in SVN? 13:31
moritz aharoni: when you type 'svn ci' it will ask you for both 13:34
aharoni thanks!
moritz aharoni: it is custom to add your name to the AUTHORS file in the first commit to check if it works
thoughtpolice yep
13:34 sunnavy__ joined
aharoni OK 13:35
thoughtpolice svnbot6 rose from the dead
so the commit should fly by in here too :)
moritz with a few seconds delay, that is ;)
thoughtpolice oi 13:37
this whole gplv3 nonsense is exploding
moritz I think gplv3 is necessary, but overhyped
thoughtpolice the gplv2 doesn't reflect what the fsf wants, so the gplv3 is the 'logical conclusion' 13:38
(at least for now)
I mean in the sense of what's going on right now with all the controversy with it involving people like sun and linus
it's getting insane. i'm sort of tired hearing about it. :( 13:39
13:40 sunnavy__ joined
moritz thoughtpolice: stop reading /. then ;) 13:40
*SCNR*
thoughtpolice it's also reddit. :)
but it doesn't explode as much as it does on /.
13:41 sunnavy__ is now known as sunnavy
thoughtpolice (i'm more programmer than I am 'computer guy' in general, so reddit appeals to me more.) 13:41
what I want to know is why everybody's throwing it around like it's the obligation of those using the v2 to switch to v3 -- especially linus.
(although linus has talked about using the v3 for the kernel for technologies like ZFS and dtrace and the like, since sun is really profiting off of using linux's drivers) 13:42
i'd be willing to be $20 (USD) linus won't relicense anything though.
and the whole 'tivoization' thing is weird in it's own right. 13:43
there's so much drama even before it's release i kind of want to see what'll happen after it's release,
moritz thoughtpolice: I will not bet against that ;) 13:44
thoughtpolice yeah
moritz linus is sometimes pretty stubborn, and he does not see a reason for the trouble atm
thoughtpolice well
opinionated people get things done
moritz maybe if opensolaris adapts gplv3 13:45
then it would enable code sharing between linux and solaris
ZFS in linux, YaY!
thoughtpolice opensolaris is going to use it iirc
(zfs looks rad.)
13:46 Jmax joined
moritz thoughtpolice: that's not decided yet 13:46
thoughtpolice what i find particularly funny is that people are all getting linux all 'gussied up' for the big time and stuff, but treat linus like he's insane or something. he openly admits he's a bastard and he embraces that.
moritz: oh yeah? hm 13:47
well for technologies like zfs and dtrace in linux
it definately couldn't hurt
moritz thoughtpolice: iirc the sun ceo just said they might consider it
thoughtpolice ah.
13:47 TJCRI joined
thoughtpolice he actually invited linus to dinner at his house. :) 13:47
moritz but as long as the license is not final, they obiviously can't decide ;)
b_jonas sure 13:48
TJCRI this may be a crazy question but is perl6 released (stable/production version) already?
thoughtpolice the final draft will probably be pretty spot on as to what's going to be in the release.
moritz TJCRI: it is not
thoughtpolice TJCRI: negative
i haven't bothered reading the gpl3 draft fully though. i don't know if i particularly agree with the whole tivoization thing though 13:49
TJCRI any time line or an estimate to when?
thoughtpolice i mean, I can see where they're coming from; adding a restriction like that automatically removes a lot more of them (example: banning slavery,) but i dunno.
TJCRI: not really, unfortunately
TJCRI: but nothing stops you from playing around with it now: run.pugscode.org 13:50
TJCRI its ok.. I was just wondering
lambdabot Title: Run Perl 6 Now -- in your browser!
TJCRI what are some of the big changes in perl6?
moritz TJCRI: rules to implement grammers, easily definable new operators... 13:51
TJCRI: autoparallelisation... 13:52
TJCRI: easy integration of other languagues
rindolf aharoni: here?
moritz TJCRI: take a look at dev.perl.org/perl6/faq.html - there are tons of new features 13:53
lambdabot Title: Perl 6 FAQ - perl6
TJCRI yeah I will check that out!
thanks
thoughtpolice new stuff is fun. :)
moritz you're welcome 13:54
13:55 franck__ joined
TJCRI oh sweet perl6 will be compiled language :) 13:56
moritz TJCRI: yes and no ;)
thoughtpolice well, to parrot, but yes. :) (I suppose it depends on your formal definition of 'compile,' it seems some people can be pretty fussy about it.)
moritz TJCRI: there is no spec that says perl 6 hast to be compiled, and every implemenation that passes the test suite will be "official" 13:57
TJCRI: but the goal is to build a compiler that outputs parrot PIR or bytecode
b_jonas I think there's too much fuss about the word "compiled". they seem to say that as if it was automatically a good thing if you compile anything. 13:58
moritz b_jonas: I think compiling is a good thing[tm], but we have to be clear what "compiled" means
b_jonas: perl 5 is mostly compiled to byte code as well 13:59
b_jonas it can definitely be a good thing if you compile the right thing and in a right way
TJCRI but perl5 is done on the fly right? will perl6 be done the same way then? (in other words - not much difference)? or will it be compiled before hand?
13:59 serdan left
thoughtpolice b_jonas: yes, some people can get pretty picky on the use of that word. 13:59
moritz TJCRI: I don't know, that's not yet implemented... perhaps like python where it's compiled on the fly and the bytecode is stored 14:00
thoughtpolice i.e. "it's not compiled if it's run through a virtual machine; it must be native code, etc"
TJCRI ya that makes sense... I am by no means an expert but when I think of compiled I usually think of like the way c/c++ is compiled.. into an executable 14:01
moritz TJCRI: but I guess it will let you dump and execute the byte code if you want that
thoughtpolice i assume jit-compilation of the source will probably be done if you want it (i.e. perl6 file.pl), but TimToady or [particle] may be in a better position to answer that
TJCRI but said the way thoughtpolice just said it, I guess java is compiled but then run through a vm
moritz think of it more like java, without the crazyness ;)
thoughtpolice i'd assume you could do it either way that's preferable to you
TJCRI: well, depends on the implementation. you *can* compile java to native code; sun's implementation is just 'the' implementation 14:02
TJCRI moritz: your python example... isnt that similar to what mod_perl does for apache and perl modules on the web? pretty much keeps 1 copy available for faster running
thoughtpolice but in general i've seen some people fairly fussy over that particular word. i'm pretty lax about it; if it is translated to a form that runs on some sort of execution platform (be it parrot, neko, .net, jvm, etc) then I would probably consider it 'compiled'
moritz TJCRI: the difference is that mod_perl keeps it in memory, while python keeps it on disk
thoughtpolice that includes an actual processor architecture 14:03
TJCRI moritz: ah ok I dont do much in python so I dont know how its handled
moritz same for me.. I just observed it creats .pyc files when .py files are run, and they are updated when you change the .py file 14:04
so I guess it's a byte code representation of the source file
thoughtpolice yeah python has a byte code representation
in the REPL iirc you can 'dump' the bytecode of a particular expression
TJCRI yeah well that makes sense... if the byte code is newer than the source code, why re-translate it all again?>
thoughtpolice but I can't remember how to do it.
14:05 amnesiac joined
TJCRI ok so here is a great hypothetical question... perl is at least at v5.8.5 ... what happened when it gets to 5.9.9 ? ;) 14:05
moritz TJCRI: the next maint release will be 5.10 14:06
thoughtpolice 5.10
:)
moritz TJCRI: and even minor version number is always maint, an odd development...
thoughtpolice now, if it gets up to 5.99,
well
moritz TJCRI: the current dev track is it 5.9.5, but they want to release 5.10 soonish
thoughtpolice that may hint at something
TJCRI well there ya go, an easy answer/solution :) guess there is still lots of time 14:07
TJCRI should have known that too because of mapserver being on 4.10
moritz but I don't expect a 5.14 release before Perl 6 is out ;)
perhaps not even a 5.12 - the minor releases take their time as well 14:08
TJCRI well I hope I can handle perl6 :) I like using perl for scripts like reports and also doing backups etc. of data
thoughtpolice i propose we call the last release before 6 is out, 'perl 5000'
or I suppose it'd be perl5k 14:09
moritz TJCRI: it's by no means harder than perl 5
TJCRI: nearly all features are optional
and 'say $foo' is just easier to type than 'print $foo, "\n"' ;-)
thoughtpolice $foo.say ftw! 14:10
moritz or that, yes
TJCRI ftw?
14:10 prism joined
TJCRI oh ya $foo.say would be similar to the way java is written 14:10
I could go for that
moritz but you can still use the non-method syntax 14:11
so "say $foo" and "$foo.say" are exactly the same
same for static types - you can use them if you want, or ommit them when they don't fit your needs 14:12
thoughtpolice TJCRI: 'ftw' == 'for the win'
moritz ?eval 'wtf'.reverse
TJCRI thoughtpolice: still doesn't make sense to me? must be something I am not aware of
evalbot_r16670 "ftw"
thoughtpolice TJCRI: i meant it in the sense '$foo.say' > 'say $foo' 14:13
TJCRI: if you want a quick dose of perl 6 you can check my blog:
moritz TJCRI: you can live without ;)
thoughtpolice diveintoperl6.blogspot.com
lambdabot Title: Dive into Perl 6
thoughtpolice that should hopefully give you some background in writing a little perl 6 code. :)
TJCRI how is it greater if moritz said the sytanx are exactly the same? *major confusion* hehe 14:14
thoughtpolice speaking of that, the next round is going to be looong and tiresome to write.
moritz TJCRI: maybe thoughtpolice thinks it's more "idiomatic"
thoughtpolice not really
moritz thoughtpolice: cooler? 14:15
shorter?
thoughtpolice that might be one way to explain it
moritz easier to type?
thoughtpolice in all honesty I just like to stir things up
i guess my mission is accomplished :) 14:16
moritz it always depends on what you do. If you write [email@hidden.address] ").say" you write it the way the data flows
TJCRI ok I have one more question before I get back to doing some of my work... what type of editor/ide do you guys use? I used to use textpad with perl syntax at my old job but the last year or so I have been using eclipse with epic
thoughtpolice TJCRI: emacs. :)
moritz TJCRI: vim wtf!
*LOL*
thoughtpolice apparently, there is something wrong here
moritz: we must fight to the death
sorry it had to end this way, but my editor is better than your editor :(
TJCRI laughs 14:17
moritz *LOL*
thoughtpolice: s/editor/operating system/
thoughtpolice that only gives me more of an edge. :)
TJCRI well I just picked epic with eclipse because I also do some java coding and I understand eclipse fairly well
thoughtpolice eclipse is pretty nice tbh. 14:18
i'm just a terminal guy myself
moritz vim and emacs both have perl 6 modes ;)
TJCRI alright well it was fun chatting with ya... time to get back to my maps
moritz TJCRI: have fun 14:19
thoughtpolice TJCRI: bye. drop in any time with questions. :)
TJCRI oh I will :)
moritz thoughtpolice: time for us to start our stupid flame war, is it? *g* 14:20
thoughtpolice moritz: undoubtly. :)
14:24 pmurias joined
thoughtpolice oi. i'm definately going to have to split round 4 into two parts I think. 14:26
pmurias ($) is right associative function application 14:28
thoughtpolice pmurias: i think you may be an hour or so too late for that convo :) 14:29
pmurias just that anybody reading the log dosn't get a wrong idea 14:31
moritz so what does "right associative" mean? 14:32
moritz is not a CS guy, just a programmer ;)
but I try real hard ;)
pmurias a $ b $ c = a(b(c)) 14:33
moritz ok
pmurias in haskell a b c = (a(b))(c)
so "$" is the eqivalent of " " in perl 14:34
pmurias isn't a CS guy either 14:35
moritz ok
thoughtpolice it's related to how the function is applied in relation to the parameters.
14:36 gogonkt1 joined
thoughtpolice if there was an inverse of ($), let's call it, say, (#), it would be left associative, as (a(b(c))) (or a $ b $ c) would be written c # b # a 14:36
moritz like the dot notation in perl 14:37
@list.sort.say
lambdabot Unknown command, try @list
moritz lambdabot: shut up ;)
thoughtpolice if you notice in the haskell docs there are multiple (seemingly innocuous) different definitions of functions like fold; the distinction is important, as it says in what way that particular function is "associated" 14:38
moritz ok, I know of foldl and foldr or whatever they are called ;)
thoughtpolice yeah :)
the expression, for example
foldr (+) 0 [1..5] 14:39
would evaluate to:
> foldr (+) 0 [1..5]
lambdabot 15
moritz .. + 4 + ( 5 + 0)
right?
thoughtpolice well, in reality, that's a lot like saying (1 + (2 + (3 + (4 + ( 5 + 0)))))
moritz > foldr + $ 0 [1..5] 14:40
lambdabot Parse error
moritz ok, + is infix
thoughtpolice in the case of other functions,
it's automatically 'infixed' in haskell using the backtick notation
moritz >let plus = (+); foldr plus $ 0 [1..5]
thoughtpolice > let plus = (+) in foldr plus 0 $ take 5 [1..] 14:41
lambdabot 15
thoughtpolice :)
moritz thanks ;)
> let plus = (+) in plus `foldr` 0 $ take 5 [1..]
lambdabot 15
thoughtpolice there ya go. :)
moritz the haskell talk yesterday was not in vain ;) 14:42
14:42 gogonkt1 joined
thoughtpolice hm 14:42
> let plus = (+) in (plus 0 $ take 5 [1..])`flip foldr` plus 14:43
lambdabot Parse error
thoughtpolice aw :(
pmurias wishes he could use haskell in browsers instead of javascript
thoughtpolice > let flipper = (flip foldr) in (+ 0 $ take 5 [1..])`flip foldr` plus
lambdabot Parse error
thoughtpolice > let flipper = (flip foldr) in (+ 0 $ take 5 [1..])`flipper` plus
lambdabot Not in scope: `plus'
thoughtpolice > let flipper = (flip foldr) in (0 $ take 5 [1..]) `flipper` (+) 14:44
lambdabot add an instance declaration for (Num ([t] -> a))
thoughtpolice aw :(
but you get the idea
foldl is the exact opposite in that it reduces a list from left to right.
moritz yes, that haskell is picky of the types ;)
thoughtpolice the type system is the best part. :)
14:44 mico_ joined
thoughtpolice no runtime bugs, just about, uh, ever. take that, null pointers! 14:44
moritz but empty lists passed to tail ;) 14:45
thoughtpolice well, you still have no worries that your code has actual 'bugs' in the programmatic sense; passing an empty list to something is just faulty coding. :) 14:47
either that or something from the realworld is messing with you (like say doing [arg] <- getArgs, pass more than one args and it won't work that well :/ )
moritz thoughtpolice: that might be correct, but it doesn't stop your software from not doing what you want it to do ;)
thoughtpolice true is such 14:48
luckily for us though,
haskell just works :)
pmurias valgrind + cgdb is an excelent combination for tracing down null pointer 14:49
thoughtpolice valgrind is slick
moritz valgrind++ 14:50
thoughtpolice definately
pmurias firing up the debuger when segfault happens is realy cool
s/happens/happen/
moritz without valgrind and gdb I'd had to use perl all the time ;) 14:51
thoughtpolice you make it sound bad.
:o
pmurias & 14:52
moritz that was intentionally but not really serious ;)
thoughtpolice: I like perl, but there are applications where performance is just too important
thoughtpolice absolutely.
moritz thoughtpolice: I wrote a little C program that detects eyes in images of faces - I tried it in perl first, but I got bored to wait for the result all the time ;) 14:53
thoughtpolice i'm still young (and unemployed,) so in general performance is a concern to me, just not a huge one. to put another way: i've never really worked on things like minimalistic hardware (embedded stuff) or in very intensive applications where your apps have to be bleeding edge 14:54
for some reason though I doubt if one of those careers or jobs ever land in my lap, that my outlook on the situation will change a great deal overall.
moritz thoughtpolice: unemployed? apply for a perl 6 microgrant!
thoughtpolice :)
moritz not the same payment as "real work" 14:55
but 500$ are better than nothing
and if you want to work on pugs, you can code haskell!
thoughtpolice perl 6 microgrant?
do they take 17 year olds? :x
moritz iirc there are microgrants left, and pugs people are encouraged to apply
Juerd Age is irrelevant.
moritz thoughtpolice: why not?
Juerd Skills, tuits, and actual work are important. 14:56
thoughtpolice fun stuff. :)
moritz see use.perl.org/article.pl?sid=07/03/22/1542235
lambdabot Title: use Perl | Perl 6 Microgrants
moritz Juerd: did you keep track of how many are available? 14:57
thoughtpolice hm seems good. a nice way to get some cash doing some awesome stuff over the summer. :)
moritz right 14:58
Juerd moritz: No
moritz actually I applied for some "real work" over the summer, and if I don't the job, I apply for one as well
Juerd I wonder if upgrading feather would be within the microgrant program's ideas 14:59
thoughtpolice well a microgrant like that may be a good idea (i wanted to apply for the SoC but you have to be 18.) if I come up with any good ideas i'll give a shot emailing them. :)
moritz Juerd: upgrading to what?
Juerd moritz: More CPU
moritz thoughtpolice: repair the .PIR backend
thoughtpolice 17 is like the worst age. there are some restrictions that're lifted; but for the most part, it only makes you want that golden status of '18' moreso. :( 15:00
Juerd moritz: But mostly, data backup space is needed
moritz thoughtpolice: you'll do haskell and learn PIR
15:00 prism joined
thoughtpolice moritz: plausable. :) 15:00
moritz Juerd: do I have to travel to the netherlands? *g*
thoughtpolice i talked with gaal about getting some public haddock docs of the pugs source up, as well as a index of the functions in the source (hasktags)
btw, Juerd, did you get my email? 15:01
Juerd moritz: Oh, I can de the upgrade in an hour. It's the hardware expenses that I'm considering applying for...
thoughtpolice: No
thoughtpolice :(
moritz Juerd: ok ;)
Juerd moritz: The current motherboard is maxxed out, CPU wise, and new things use DDR2 memory.
So that would all need replacement: mainboard, CPU, memory. 15:02
That, and some hard drives for data backups, could be done for $500, I think
moritz Juerd: if there are services that could be factored out to different maschines I might contribute some hosting
Juerd: problem is I don't have root access, so I can't give other shell access :(
Juerd moritz: I have several spare machines myself. That's not really the issue 15:03
moritz Juerd: ok
Juerd The big issue is that there's a limit to my tuits as a sysadmin.
And this limit is becoming more of a problem, as feather's hardware resources are used more.
[particle] ddr2++
thoughtpolice Juerd: I resent the email. 15:10
maybe it'll get through this time.
15:13 REPLeffect joined
gaal regarding version control and pugs: the main repo is svn. there is a read only darcs mirror. for folks who prefer distriuted version control, there's svk, which happens to work seamlessly with svn backend :) 15:14
Juerd "happens to". heh. 15:16
moritz what a coincidence ;) 15:17
Juerd thoughtpolice: If you're Michele, I've received the message
thoughtpolice no, I would be Austin. :(
Juerd Then I haven't
thoughtpolice damnit. :( 15:18
[email@hidden.address] right?
Juerd Yes
Or [email@hidden.address] :)
Somehow some people seem to use that address even though I don't advertise it :) 15:19
moritz that's the "bow for me 'cause I am root' - effect ;)
15:28 aharoni joined
aharoni rindolf: still here? 15:30
i'm back
windows crashed ;)
moritz windows sucks ;) 15:37
when it crashes, at least ;)
15:38 barney joined
thoughtpolice crashes suck in general I've found 15:40
aharoni i tried to pick up haskell a couple of years ago and it seemed like complete gibberish
i don't know what happened since. now that i try to read haskell docs, it looks so simple and intuiitve 15:41
and i'm not a CS guy
moritz aharoni: perhaps you changed? *g*
aharoni maybe. 15:42
i tried to go back to it, 'cause i kept checking www.pugscode.org from time to time ...
moritz CSS seemed complicated and useless to me first and now I couldn't do without ;) 15:43
aharoni and then one time i read the "-Ofun" presentation and it just knocked me off
so i thought that i have to try and look into pugs again, and then some magic happened
moritz I'm still waiting for that magic ;) 15:44
aharoni good luck. i'll have something more significant to say after a few commits 15:47
in the meantime i'm a mere noob
moritz well, begin by commiting AUTHORS ;-) 15:48
aharoni even before i did anything else?
moritz yes
just to check that your commitbit works
it's a custom ;)
aharoni i thought of adding hebrew to Earendil translations, but i don't have a hebrew LOTR anywhere around 15:49
moritz ;)
16:04 isaacd joined
gaal I thought of translating that myself, but got stuck on it. 16:07
thoughtpolice aharoni: I tried haskell several years ago as well (when I was about 15 maybe.) i saw it somewhere and I liked the lambda logo. needless to say I couldn't understand a thing. :( 16:09
so I think I opted for something like python instead 16:10
i can't quite remember; when I started programming I tried a few languages, then there's this big hazy area, then where I am about now. you may wonder what happened in that middle area; so do i. 16:11
moritz started with quick basic :(
thoughtpolice started with php :X 16:12
16:15 jhorwitz joined
thoughtpolice perl was my second though. :) 16:15
aharoni started with Turbo Pascal 7, not counting GW-BASIC 16:16
16:16 buetow joined
moritz I can't rember exactly.. I think I had pascal as a second language, then C 16:16
thoughtpolice C was my third as well. 16:18
i already feel old. :( i'll be in a wheelchair by the time i'm 25 due to being tired out from coding so much
but at least I'll probably end up happy :)
16:19 weinigLap joined 16:21 lordarthas joined, rindolf joined 16:22 lordarthas left 16:26 justatheory joined 16:27 justatheory joined
cj started with turbo pacal, but doesn't recall the version number 16:38
then turbo c++ then gcc 16:39
thoughtpolice i always found talking to those who started with punch cards to be very enlightening. :) 16:47
16:48 the_dormant joined
rindolf cj: I started with the XT ROM's BASIC. 16:49
cj: back in 1987
thoughtpolice okay, you guys have put me back in perspective. i'm pretty young. 16:53
:)
17:00 mico_ joined
fglock I did start with punch cards 17:04
lambdabot fglock: You have 1 new message. '/msg lambdabot @messages' to read it.
mico_ I too started with punchcards. Copying software was so hard :-) 17:06
17:13 weinig_ joined
thoughtpolice i would bet so 17:14
17:15 weinig_ joined 17:16 weinig_ is now known as weinigLap 17:18 weinigLap is now known as bradee-oh 17:19 bradee-oh is now known as weinigLap
TimToady I started with paper tape...punchcards were reserved for the real programmers... 17:19
17:20 t3x joined
b_jonas good. I'll quote that as "I started perl with paper tape..." 17:21
17:21 t3x left 17:22 weinigLap joined 17:26 Psyche^ joined 17:40 aharoni left 17:42 Psyche^ is now known as Patterner 17:44 fglock_ joined 17:45 gogonkt1_ joined, rindolf joined 17:47 gogonkt1_ joined 17:49 crashmatrix_ joined, weinigLap joined 17:54 gogonkt1__ joined 18:01 the_dormant_ joined 18:12 justatheory joined 18:22 dduncan joined 18:24 TJCRI joined 18:43 justatheory joined, lvh joined 18:45 rlb3_work joined 18:47 unobe_away is now known as unobe 18:55 Alchemy joined 18:57 thestarslookdown joined, unobe is now known as unobe_away 19:00 prism joined 19:10 aharoni joined, aharoni left 19:18 japhb joined, REPLeffect joined 19:28 mj41 joined 19:32 dduncan joined
svnbot6 r16671 | lwall++ | [STD] add pseudoops to catch P5 migratos. 19:34
19:37 Corion joined 19:38 Corion left 19:46 mtve joined 19:52 IllvilJa joined 20:03 isaacd_ joined 20:18 weinigLap joined 20:19 weinigLap joined 20:21 justatheory joined 20:33 the_dormant joined 20:47 uno_be joined 20:49 Psyche^ joined 20:52 the_dormant joined 20:53 amadeus joined 20:55 Psyche^ is now known as Patterner 21:23 avarab joined, mico_ joined
meppl good night 21:27
21:34 buetow joined 21:50 Aankh|Clone is now known as Aankhen`` 21:57 avarab is now known as avar 22:01 sebastian joined 22:08 avarab joined 22:13 buetow joined
dduncan ?eval sub of of Bool () {...} 22:16
22:17 evalbot_r16670 is now known as evalbot_r16671
evalbot_r16671 undef 22:17
22:22 avarab is now known as avar
TimToady ?eval sub of () of Bool { True }; of(); 22:29
evalbot_r16671 Bool::True
TimToady ?eval our Bool sub of { True }; of() 22:30
evalbot_r16671 Bool::True
moritz is True the same as Bool::True? 22:31
TimToady True is imported from Bool
though it might be hardwired in pugs
moritz ?eval False = Bool::True; False ?? "foo" !! "bar"
evalbot_r16671 Error: Can't modify constant item: VBool False 22:32
dduncan fyi, my above example was that I wanted to name my method 'of'
it is an accessor for an attribute named 'of'
TimToady yes, I was just showing you how I'd write it
dduncan okay, I'll try it that way 22:33
TimToady actually, these days I'd use (--> Bool)
moritz how's that written?
TimToady ?eval sub of (--> Bool) { True }; of() 22:34
evalbot_r16671 Error: ā¤Unexpected "-->"ā¤expecting formal parameter or ")"
TimToady bug in pugs
?eval sub of (*@none --> Bool) { True }; of()
evalbot_r16671 Bool::True
TimToady in fact, that's one of the "cheats" that cheat does. 22:35
actually, it turns (--> Foo) into (*%_ --> Foo) 22:39
avar ?eval our Bool sub eek { True } eek; 22:40
evalbot_r16671 Bool::True
avar ?eval sub eek (--> Bool) { True } eek;
evalbot_r16671 Error: ā¤Unexpected "-->"ā¤expecting formal parameter or ")"
TimToady ?eval sub eek (*%_ --> Bool) { True } eek; 22:41
evalbot_r16671 Bool::True
TimToady just doesn't like the empty list in front of -->
avar but aside from that --> Type is the same as my/our Type sub ... 22:42
TimToady yes 22:43
svnbot6 r16672 | lwall++ | [STD] missing require, no, and trusts 22:44
22:50 avarab joined
TimToady if someone is looking for a good weekend project, translating the regex part of STD.pm into Haskell and calling it from Parser.hs at about line 240 would be cool. extra points for making it run. :) 22:50
moritz regex to haskell compiler? or manually? 22:51
TimToady manually, for bootstrapping 22:52
moritz maybe I find some crazy haskell hackers at debconf that I can convince 22:53
TimToady the main impediment to running STD in pugs seems to be the lack of a regex engine that can handle it.
moritz s/that/whom/
TimToady should be trivially easy in a language with continuations :)
23:23 explorer joined
dduncan fyi, its not very scientific, but it appears that the speed of Pugs is about 1/100th the speed if Perl 5 ... 23:25
judging by the wallclock time for the Perl 6 and Perl 5 versions of the Muldis-DB test suite
they are 201 secs vs 2 secs on my machine 23:26
that said, in either case, the majority of each test to date is just compilation, not runtime
for a runtime heavy test, the comparison may differ a lot, probably in Pugs' favor
has anyone else tried compiling or running equivalent code in the 2 languages on their machines? 23:27
23:28 avarab is now known as avar
dduncan that said, comparing CPU time rather than wallclock, it is 196.95 for Pugs vs 1.33 for Perl 5 23:30
in that case, Pugs is 1/148th the speed of Perl 5
perhaps a more accurate figure
svnbot6 r16673 | Darren_Duncan++ | ext/Muldis-DB/ : in AST.pm, added new node types [Default,Treat], fixed bugs ; in Example.pm, replaced ::Value class with ::Var class 23:38
23:42 justatheory joined 23:59 mncharity left