Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-10-13

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:10 vel joined perl6
00:10 mako132_ joined perl6
00:18 nekokak joined perl6
00:24 weinig|bbl is now known as weinig
01:14 lollan joined perl6
01:25 markstos joined perl6
01:45 lisppaste3 joined perl6
02:04 christopher joined perl6
02:07 svnbot6 r14311 | malon++ | [Spec/update, smokeserv/refresh-smoked-synopses.pl]
02:07 svnbot6 r14311 | malon++ | * Properly handle the specs that need to be updated from the Pugs repository
02:07 svnbot6 r14311 | malon++ |   and not from the svn.perl.org spec repository.
02:07 svnbot6 r14311 | malon++ |   Lanny++ for noticing weirdness with S29.
02:15 yes joined perl6
02:16 Yappo joined perl6
02:23 avarab is now known as avar
02:26 kanru joined perl6
02:30 clkao audreyt: where's your vim.rc these days?
02:33 audreyt havn't changed much
02:33 lambdabot audreyt: You have 2 new messages. '/msg lambdabot @messages' to read them.
02:34 audreyt @messages
02:34 lambdabot TimToady said 3d 3h 51m 50s ago: my pugs-prof still segfaults even with a non-threaded perl :(
02:34 lambdabot Limbic_Region said 3d 3h 5m 7s ago: test 12 of ext/Config-Tiny/t/basic.t is failing though the output is correct. My guess is difference of \n versus \r\n
02:36 christopher lambdabot-- (surely you've read messages in the past three days)
02:38 clkao audreyt: where do i find it ?
02:40 justatheory joined perl6
02:41 idiotmax joined perl6
02:46 MacVince audreyt: you use vim?
02:47 audreyt MacVince: yes
02:47 audreyt clkao: http://perlcabal.org/~audreyt/tmp/.vimrc
02:47 MacVince I would've figured you for an Emacs girl...
02:48 audreyt I prefer MiniBufExplorer over the new Vim tab
02:48 audreyt nah, I kept meaning to learn emacs but the learning curve is uhm, spiraly...
02:48 justatheory joined perl6
02:49 audreyt cf. http://static.flickr.com/54/127144611_8b8a8d1ca3.jpg
02:49 lambdabot http://tinyurl.com/leel7
02:49 MacVince audreyt: you saw the graphic? :)
02:49 MacVince That's the one
02:50 audreyt also I wonder whatever happened to the Grand Plan to unify elisp into scheme
02:50 MacVince audreyt: if it's any help, you're most likely way smarter than me, and I was able to figure out Emacs (after 4 years of solid vim usage).  If you ever have the time to give it a try, myself, the people on #emacs and emacswiki.org are very friendly and delighted to help.  Except xahlee
02:50 audreyt scheme is far more attractive than lisp to me for some reason :)
02:51 audreyt cool, thanks for the offer :)
02:51 MacVince Well scheme is much more elegant than elisp.  Not sure what happened to the effort though, nobody seems to mention it.  Emacs 22 is using elisp, and Emacs 23 will too.
02:51 etzel left perl6
02:52 lollan joined perl6
02:57 clkao audreyt: is there method completion?
02:57 audreyt for perl5?
02:58 audreyt I use ftplugin/perl/tags.vim
02:59 audreyt http://search.cpan.org/dist/Perl-Tags/
02:59 lambdabot Title: osfameron / Perl-Tags - search.cpan.org
03:00 MacVince clkao: depends on the completion you want.  Vim has Ctrl-P and Ctrl-N that completes based on words in the current and other buffers
03:00 clkao cool
03:00 clkao
03:00 clkao  
03:04 Aankh|Clone joined perl6
03:10 svnbot6 r14312 | audreyt++ | * Pugs.Types.Array: Diagnosed the likely cause of segfaulting
03:10 svnbot6 r14312 | audreyt++ |   array access to be "shift" and "pop", which were returning
03:10 svnbot6 r14312 | audreyt++ |   thunks that may have affected GC.  Now we carefully `seq`
03:10 svnbot6 r14312 | audreyt++ |   the post-shift array elements, as well as avoiding returning
03:10 svnbot6 r14312 | audreyt++ |   (possibly-lazy) monadic thunks.
03:28 MacVince audreyt: so tell me, there's going to be a release of Pugs soon?  That would be 6.28, right?
03:34 etzel joined perl6
03:35 weinig joined perl6
03:35 etzel left perl6
03:38 SubStack joined perl6
03:40 mako132_ joined perl6
03:40 audreyt MacVince: no, that would be 6.2.13, because perl5 embedding and non-parrot regex engine and huge perf increase warrants a new release before we destabilize them all with metaobjects :)
03:40 audreyt and yes, expect it in a couple days.
03:41 MacVince Cool
03:41 MacVince Hopefully, this will quiet (at least for some time) the people yelling that Perl 6 is going nowhere.
03:44 audreyt maybe it's going nowhere, but it's going nowhere very fast, and faster by the day :)
03:46 audreyt one just needs to tokenize "nowhere" on idx 3 instead of idx 2...
03:46 MacVince ;)
03:47 MacVince If I recall, one of the graphics you made was a Perl 6 development curve, and we're pretty much into the "Hey, what was the big deal" phase
03:47 MacVince From my point of view, at least.
03:47 audreyt wait until people really put it into production...
03:47 audreyt but yeah, 6.2.13 should help a lot on that regard.
03:55 Aankhen`` joined perl6
04:01 Eidolos joined perl6
04:12 kanru_ joined perl6
04:17 GeJ audreyt: hello
04:18 kanru_ joined perl6
04:19 GeJ is this preflight already?
04:19 audreyt GeJ: "soft" preflight
04:19 audreyt still need to fix a couple win32 bugs
04:19 audreyt and changelog
04:19 audreyt but otherwise yeah, tests should generaly pass
04:20 GeJ hum, gonna have a look at it on FreeBSD. hopefully I'll prep a diff for clsung to commit after the freeze
04:22 audreyt woot!
04:22 GeJ beside perfs, is there functional changes between having a ghc 6.4 and a 6.6?
04:22 audreyt also a GHC 6.6 port on fbsd will roc
04:22 audreyt well, perfs differs huge :)
04:22 audreyt also 6.6's threading is more reliable
04:22 audreyt and also does SMP
04:22 audreyt but otherwise, no, no functonal changes
04:23 audreyt still, will prefer to depend on ghc6.6
04:23 GeJ well, at least I'll try on a 6.4.2. My Haskell-fu (or lack thereof) won't allow me to get a 6.6 on my box
04:24 audreyt actually it's just: grab two tarballs from http://haskell.org/ghc/download_ghc_66.html ; extract both; cd ghc-6.6; sh configure ; make ; sudo make install
04:24 lambdabot Title: GHC: Download version 6.6
04:25 MacVince Does the compilation still take like 2 days?
04:25 audreyt on macintel osx here it talks about 2 hours
04:26 audreyt *takes
04:26 MacVince Hmm...
04:27 GeJ audreyt: isn't there a bootstrap issue? in the ports you need to grab some ghc-${PORTVERSION}-i386-unknown-freebsd6-boot${EXTRACT_SUFX}
04:27 audreyt feather's GHC upgraded to 6.6.
04:27 audreyt GeJ: sure but ify ou already have a /usr/local/bin/ghc
04:27 audreyt say 6.4.x
04:27 audreyt then it uses that
04:27 GeJ sweet
04:27 audreyt so it can also reuse the same -boot
04:28 audreyt from 6.4. no changes needed
04:28 audreyt oh also 6.6 is quite a bit faster at _compiling_ ugs :)
04:28 audreyt *pugs
04:28 audreyt which is not surprising for a bootstrapping compiler...
04:29 GeJ just read c's minutes yesterday. Was quite impressed with TimToady's comment on perf.
04:31 audreyt it surprised me too. typically it's just a 2x~5x gain
04:31 audreyt 60x is not typical :)
04:52 mdiep joined perl6
05:16 BooK joined perl6
06:29 iblechbot joined perl6
06:44 audreyt wow, CrossOver for MacIntel worked seamlessly for GHC, StrawBerry Perl, and Pugs.
06:44 audreyt I no longer have to boot into win32 for releng now :)
06:48 marmic joined perl6
06:51 Patterner yay
06:55 audreyt hm, $job's use of pugs requires crypt()
06:55 audreyt I'll just use embperl5 for that
06:56 * audreyt writes a "opPerl5" bridge that allows importing arbitrary perl5 ops as pugs ops
07:00 integral audreyt++
07:01 clkao ooo
07:02 audreyt the perl5 vm is attrractive for things like that...
07:05 audreyt op2 "crypt" = \x y -> opPerl5 "crypt" [x, y]
07:05 audreyt yay for free ops :)
07:06 * audreyt is rapidly progressing toward "what's the bug deal" on writing $job scripts in pugs...
07:06 audreyt er, "big deal". freudian slip.
07:10 gaal @puggle Value a => [Val] -> Eval [a]
07:10 lambdabot Unknown command, try @list
07:10 masak audreyt: you used to blog about such things after you implemented them. I think that was a great habit
07:10 masak it made the new features so much more concretized
07:11 audreyt I agree. but jobblogging is um, time-wise not very practical
07:11 audreyt will resume and do more blogging next week on once I'm abroad..
07:12 gaal audreyt: does mapM fromVal just work there?
07:13 audreyt gaal: yes
07:14 gaal not sure I see why
07:14 audreyt    let prms = map (\i -> "$_[" ++ show i ++ "]") [0 .. (length args - 1)]
07:14 audreyt    subSV   <- liftIO $ evalPerl5 ("sub { " ++ sub ++ "(" ++ (concat $ intersperse ", " prms) ++ ") }") envSV (enumCxt cxtItemAny)
07:14 gaal because the resulting values don't have the smae time
07:14 audreyt    argsSV  <- mapM fromVal args
07:14 gaal type
07:14 audreyt    runInvokePerl5 subSV nullSV argsSV
07:14 audreyt that's the entire implementation
07:14 audreyt sure, but runInvokePerl5 took care of that
07:14 audreyt VStr becomes a SvPV then becomes a VStr
07:14 audreyt coercion is handled seamlessly
07:14 masak audreyt: understandable. I figured the explanation was something like that
07:15 * audreyt goes back meetng $deadline...
07:18 gaal wouldn't @_[0.. #hs<length args - 1>] or even just @_ work there too?
07:18 gaal (hm, well @_[0] raises a pesky warning)
07:19 audreyt gaal: no, try that on crypt
07:19 audreyt $ perl -e 'crypt(@_[0,1])'
07:19 audreyt Not enough arguments for crypt at -e line 1, at end of line
07:19 audreyt been there :)
07:20 gaal whoa.
07:21 audreyt some random lines from $job:
07:21 audreyt for =$=DATA -> $_ is copy { .=split: /\s+/; .[3] .= crypt: 'XX'; say "INSERT INTO users (name, description, branches, level, password) VALUES ($_<1 2 0 3>.join(','));";
07:21 audreyt }
07:21 audreyt the .=split: and $_<1 2 0 3> works pretty well tgether :)
07:21 * audreyt also found plenty of use of s[...] .= meth;
07:23 audreyt Abigail shouldn't worry about perl6's golfability...
07:23 gaal heh
07:25 gaal don't you have five columns and four values?
07:25 audreyt yes, since fixed ;)
07:25 * gaal hopes ' isn't in the char set produced by crypt
07:25 audreyt also it's [<1 2 0 3>]
07:26 audreyt but otherwise it works pretty well
07:26 gaal but who uses placeholders in golf
07:26 zakharyas joined perl6
07:26 gaal names can have 's
07:26 gaal or ,s even
07:26 audreyt and to answer your question, crypt can't
07:27 audreyt and those are always chinese names
07:27 audreyt :)
07:27 gaal nothing like knowing your problem domain :)
07:29 svnbot6 r14313 | audreyt++ | * Implement crypt($, $) via Perl5 embedding.
07:29 svnbot6 r14313 | audreyt++ | * Introduce opPerl5 into Pugs.Prim, which should make plag^Wadapting Perl5's ops
07:29 svnbot6 r14313 | audreyt++ |   into Pugs land trivial.
07:30 audreyt task for interested party: scoure S29 and perlfunc and see what ops we can appropriate/annex this way...
07:39 * masak wonders what happened to Perlix... most web resources about it seem unavailable
07:39 masak http://www.foo.be/docs/tpj/issues/vol5_2/tpj0502-0009.html
07:39 lambdabot Title: Perlix, The Perl Operating System - The Perl Journal, Summer 2000, http://tinyurl.com/y75hs6
07:40 masak heh -- "when the C compiler's written in C you can recompile it and upgrade it, but since Perl isn't (yet) written in Perl, you have to upgrade it on a computer that has C available."
07:42 * audreyt starts to wonder if eval('...', :lang<perl5>) is too long to type
07:43 elmex joined perl6
07:44 audreyt what I'd like is ideally
07:45 audreyt sub foo { use v5; ...some perl5 code ... }
07:54 masak cool
07:55 audreyt oh well. writing a perl5 .pm nearby and use perl5:Helper here is cleaner
08:11 kanru_ is now known as kanru
08:12 zakharyas joined perl6
08:21 audreyt ?eval 1+1
08:21 evalbot_r14306 is now known as evalbot_r14313
08:21 evalbot_r14313 2␤
08:22 evalbot_r14313 joined perl6
08:23 audreyt wow, an evalbot refresh now takes mere seconds on feather
08:23 audreyt it used to take 3miin per iteration
08:23 * audreyt praises GHC 6.6
08:23 audreyt ?eval 1+1
08:23 evalbot_r14313 2
08:24 audreyt ?eval 1+1
08:24 evalbot_r14313 2
08:24 audreyt response speed increased as well
08:32 svnbot6 r14314 | audreyt++ | * Makefile.PL: Remove the force_run clause because dmake.exe
08:32 svnbot6 r14314 | audreyt++ |   that came with strawberry alpha2 doesn't like that.
08:32 svnbot6 r14314 | audreyt++ |   (version_h is force regenerated by build_pugs.pl anyway.)
08:34 masak ?eval 'kmlf jine ghd cacb"; tr[abcdefghijklmn][.!6CegGHilLnov]; .say
08:34 evalbot_r14313 Error: ␤Unexpected end of input␤expecting "\\", variable name or "'"
08:35 masak ?eval "kmlf jine ghd cacb"; tr[abcdefghijklmn][.!6CegGHilLnov]; .say
08:35 evalbot_r14313 OUTPUT[␤] Bool::True
08:35 masak ?eval "kmlf jine ghd cacb"; tr[abcdefghijklmn][.!6CegGHilLnov]; $_
08:35 evalbot_r14313 \""
08:35 masak funny. that works in pugs -e
08:35 masak ah:
08:35 masak ?eval $_ = "kmlf jine ghd cacb"; tr[abcdefghijklmn][.!6CegGHilLnov]; $_
08:35 evalbot_r14313 \"Long live GHC 6.6!"
08:35 masak :)
08:36 masak why is it a stringref, though? and not just a string
08:36 audreyt because it's VAR($_)
08:36 audreyt and $_ is mutable
08:36 audreyt ?eval $_ = "kmlf jine ghd cacb"; tr[abcdefghijklmn][.!6CegGHilLnov]; ~$_
08:36 evalbot_r14313 "Long live GHC 6.6!"
08:41 andara joined perl6
08:41 masak so... \ here is an abstraction layer between the immutability of string objects and the mutability of $_?
08:46 audreyt it's just a way of outputting...
08:47 audreyt it's not very intuitive.
08:47 buetow joined perl6
08:48 kane-xs it's wonderful to see that even the most random crap evaluates to ghc praise!
08:51 audreyt evidently perl6 is perl ;)
09:09 chris2 joined perl6
09:22 ruoso joined perl6
09:41 jferrero joined perl6
09:48 svnbot6 r14315 | audreyt++ | * Pugs.Prim: lift "fork" from Perl5.
10:01 iblechbot joined perl6
10:12 amv joined perl6
10:44 gaal I have a friend in Minsk...
10:45 andara who has a friend in Pinsk ...
10:54 Patterner but none in Omsk..?
11:04 gaal and plenty in opPerl5molinsk
11:05 audreyt gaal: tuitcount for chglog? I'm moving to win32 and jsfix now
11:05 gaal audreyt: not today, sorry :(
11:06 TimToady joined perl6
11:06 gaal any other volunteers?
11:06 audreyt any chance in the next 72 hours?
11:06 audreyt (my plane takes of after that)
11:06 gaal maybe tomorrow
11:06 audreyt okie
11:08 gaal I'm surprised fork just works. does the perl 5 fork op not do special signal / fh stuff that we maybe need to do ourselves?
11:11 fglock joined perl6
11:11 svnbot6 r14316 | fglock++ | v6 - compile-time split of <...>
11:17 audreyt not on unix, no
11:25 audreyt dinner, bbl...
11:26 markstos joined perl6
11:26 svnbot6 r14317 | audreyt++ | * Unify "if" and "unless" into the new (Syn "cond") node, which
11:26 svnbot6 r14317 | audreyt++ |   allows for pointy clauses in conditionals:
11:26 svnbot6 r14317 | audreyt++ |     if f -> $x {
11:26 svnbot6 r14317 | audreyt++ |         ...
11:26 svnbot6 r14317 | audreyt++ |     }
11:26 svnbot6 r14317 | audreyt++ |     elsif g -> $y {
11:26 svnbot6 r14317 | audreyt++ |         ...
11:26 svnbot6 r14317 | audreyt++ |     }
11:26 svnbot6 r14317 | audreyt++ |     else -> $z {
11:26 svnbot6 r14317 | audreyt++ |         ...
11:26 svnbot6 r14317 | audreyt++ |     }
11:26 svnbot6 r14317 | audreyt++ | * Bump CompUnit version; please rm blib6/lib/*.yml before remaking.
11:26 masak audreyt++ # cool generalization
11:29 frankg joined perl6
11:41 svnbot6 r14318 | fglock++ | Pugs-Compiler-Rule - added TODO test for prior-prior
11:54 xinming joined perl6
12:03 iblechbot joined perl6
12:16 fridim joined perl6
12:16 fridim hi
12:17 Limbic_Region joined perl6
12:20 frankg joined perl6
12:30 Grrrr joined perl6
12:36 fridim In spec.pugscode.org, the formats apocalypse at http://dev.perl.org/perl6/doc/design/apo/A07.html  gives a 404 error.
12:36 lambdabot http://tinyurl.com/vxdg4
12:43 GeJ fridim: have a look at http://dev.perl.org/perl6/doc/apocalypse.html
12:43 lambdabot Title: Perl6 Apocalypses - perl6
12:44 GeJ but the Apocalypses are here historic reason mostly. Better, up-to-date information can be found on the Synopses section
13:01 kanru joined perl6
13:12 nothingmuch joined perl6
13:19 justatheory joined perl6
13:22 cjeris joined perl6
13:25 baest joined perl6
13:27 lanny joined perl6
13:27 xinming hmm,
13:28 * xinming feels sorry if there are many empty commits into repository... (Forgot to use -l option. >_< )
13:29 lanny @tell audreyt I hope in the code for  $job you posted concerning crypt that the 'XX' salt was  just a placeholder for  random 2 char string in proper  alphabet.  If it really is single salt for  all passwords it's *much* easier  to build attack dictionaries against.
13:29 lambdabot Consider it noted.
13:37 cjeris left perl6
13:39 svnbot6 r14319 | yiyihu++ |  r14446@HomePc:  xinming | 2006-10-13 21:20:43 +0000
13:39 svnbot6 r14319 | yiyihu++ |  Change (my T $x, my T $y, my T 4z) to (my T $x, my T $y, my T $z)
13:41 cjeris joined perl6
13:51 nothingmuch_ joined perl6
13:52 svnbot6 r14320 | lanny++ | * crypt.t - some (lame) tests of recently implemented crypt
13:53 elmex joined perl6
13:57 cdpruden joined perl6
14:00 hexmode joined perl6
14:03 ron__ joined perl6
14:09 vel joined perl6
14:14 xinming hmm, If I want to write a test which is 'my int $x = undef', where should I put the test?
14:15 gaal undef.t? what does it actually test?
14:15 xinming assign undef to machine integer must die...
14:16 [particle] that sounds like a native int test, not an undef test
14:16 avar Die they must die, the pandas must die!
14:16 xinming people must die... :-P
14:17 xinming Well, I just read synopsis. And I don't know if the test has been written
14:18 [particle] i suppose C<my int $x = NaN;> might work...
14:19 xinming [particle]: hmm, I don't think so, as It is machine representation of an integer...
14:19 xinming [particle]: my Int $x = NaN; should work
14:19 xinming from Synopsis 2.
14:20 gaal some machine might conceivably have a native NaN representation for native ints...
14:20 xinming IMHO, It's just overflow.
14:21 gaal *shrug* it's platform dependent.
14:30 markstos joined perl6
14:38 [particle] joined perl6
14:40 svnbot6 r14321 | gaal++ | * Primitive golf and cleanups
14:59 lumi joined perl6
15:03 jferrero joined perl6
15:07 frederico joined perl6
15:19 lanny joined perl6
15:20 szabgab joined perl6
15:35 gaal cute and interesting language: http://www.flapjax-lang.org/tutorial/
15:35 lambdabot Title: Flapjax Tutorial
15:36 turrepurre joined perl6
15:44 lanny @tell audreyt On feather if I run /usr/bin/pugs in ~/pugs I get 'Consider removing blib6/lib/Prelude.pm.yml' (until I do so).  Should /usr/bin/pugs be discovering ./blib6 without being told to?
15:44 lambdabot Consider it noted.
15:45 gaal lanny: it's a special case, yes
15:45 pasteling "lanny" at 128.107.248.220 pasted "/usr/bin/pugs discovers ./blib6" (10 lines, 617B) at http://sial.org/pbot/20407
15:46 lanny gaal: Ah.  Documented anywhere?
15:46 lanny (Not that I looked for docs first.  :(
15:47 nothingmuch_ gaal: th frtime article is more interesting
15:47 gaal I don't think so. Precompilation is not really specced at all, though there's a technical note in docs/ somewhere about how we want it to work
15:47 gaal frtime?
15:47 * nothingmuch_ is sort of planning POE + mg based impl
15:47 nothingmuch_ is now known as nothingmuch
15:47 nothingmuch it's FRP in scheme
15:48 gaal frp?
15:48 nothingmuch functional reactive programming
15:48 lanny Functional Role Playing?
15:48 nothingmuch the thing driving flapjax
15:48 gaal url?
15:48 nothingmuch http://citeseer.ist.psu.edu/cooper04frtime.html
15:48 lambdabot http://tinyurl.com/y5tq2y
15:48 gaal thank you
15:48 nothingmuch moose moose
15:48 [particle] nm: you looking at an 0.01 release of class::workflow anytime soon?
15:49 nothingmuch [particle]: the code is in production, so it's "stable
15:49 nothingmuch 0.01 is not there yet because of missing components
15:49 nothingmuch that i have 50% written
15:49 nothingmuch maybe i'll do that this weekend
15:49 [particle] i'd like to be able to install direct from cpan
15:50 [particle] but access to a repo would be fine too
15:50 [particle] i hate downloading tarballs
15:50 nothingmuch cpan install N/NU/NUFFIN/Class-Worfklow-0.01_03.tar.gz
15:51 nothingmuch s/cpan/cpan>'
15:51 nothingmuch you can do that in the shell
15:51 nothingmuch that said
15:51 nothingmuch http://nothingmuch.woobling.org/Class-Workflow/
15:51 lambdabot Title: Index of /Class-Workflow, http://tinyurl.com/y3bwju
15:56 svnbot6 r14322 | lanny++ | * Functions.pod - for sub pick put optional named before *@values.
15:56 svnbot6 r14322 | lanny++ | * pick.t - add some pick tests (all :todo<feature> sadly)
15:58 lanny @tell audreyt gaal++ on answering my pugs and ./blib6 question.
15:58 lambdabot Consider it noted.
16:00 andara joined perl6
16:01 lollan joined perl6
16:03 TimToady @tell audreyt for .=split(/\s+/) you oughta be able to say .=comb
16:03 lambdabot Consider it noted.
16:04 PerlJam comb?
16:04 PerlJam combine?
16:05 * PerlJam has never combed data to his knowledge
16:05 lanny PerlJam: comb through a string and extract the good stuff
16:06 PerlJam sure, I can see that usage.  It's just a tad esoteric.
16:06 lanny Consider the namer.  :)
16:07 PerlJam indeed.   My experience within the perl community has taught me new meanings for everyday words and new words for everyday things  :)
16:09 lanny The gory naming details: http://colabti.de/irclogger/irclogger_log/perl6?date=2006-09-24,Sun&amp;sel=34#l66
16:09 lambdabot Title: #perl6 2006-09-24,Sun, http://tinyurl.com/y25amo
16:10 lanny I find that just sitting in #perl6 is an education all in itself too.
16:12 lanny In S29 I'm guessing 'our Str method method chomp ( Str $string: ) is export' is a typo for 'Our Str multi method ...'?  I'll fix until someone describes an exciting new declarator I've missed.
16:13 TimToady lanny: named don't actually have to be declared before slurpy.
16:13 TimToady yes, at the moment the : is not allowed in a non-method
16:13 TimToady but we might allow it for an inside-out export.
16:13 fridim "when it is ready". Is there another answer or should I tell myself to be patient ?
16:14 TimToady That is, a multi that also wants to install the corresonding method.
16:14 lanny I know.  I tested that.  But it seemed better to have the modification of behavior up front in case of something like:  pick(4, <some really long list type here>, :repl)
16:14 TimToady but it's a lot of semantic weight for a small punctuation.
16:14 lanny Someone could put it upfront anyway but it's just sort of a reminder of style
16:14 Psyche^ joined perl6
16:14 TimToady oh, were you just changing the call?
16:14 TimToady or the decl?
16:15 andara left perl6
16:15 lanny I was just going to s/method method/multi method/ since I think it's a typo
16:15 TimToady that's fine
16:15 [particle] joined perl6
16:26 Psyche^ is now known as Patterner
16:32 buetow joined perl6
16:38 audreyt lanny: re the salt: the 1st argument to crypt was the username ;)
16:38 svnbot6 r14323 | fglock++ | v6/emitter(2) - remove all Perl5*.pm "native" modules
16:38 audreyt so, already insecure to the extreme, dictionary attack not going to matter
16:39 lanny aha.
16:39 audreyt TimToady: did the segfault go away for you?
16:42 fglock audreyt: would you take a look in http://sial.org/pbot/20346 - pure-p5 binding & typecheck
16:42 lambdabot Title: Paste #20346 from "fglock" at 200.17.89.80
16:43 fglock audreyt: I'm fixing <prior>
16:44 TimToady audreyt: currently recompiling for smoke
16:44 TimToady still coredumped last night's run
16:45 TimToady did you fix anything there in the last 12 hours?
16:45 audreyt yes
16:45 audreyt r15204 (orig r14312):  audreyt | 2006-10-13 11:07:32 +0800
16:45 TimToady k will take 30-40 min
16:45 audreyt hm, that was 13 hours ago
16:46 TimToady my smoke of 14312 had 9 errors, mostly set-infinite
16:47 audreyt hm, then it won't help
16:47 audreyt can you hand-hack third-party/HsJudy/Judy/IntMap.hs
16:47 audreyt line 94
16:47 audreyt was
16:47 audreyt    addForeignPtrFinalizer finalize' fp
16:47 audreyt make it
16:47 audreyt    -- addForeignPtrFinalizer finalize' fp
16:47 TimToady k
16:48 audreyt and then recompile? I'm 99% sure it will make the segfaulting go away (you can run prove6 for 5~10 processes simultaneously on the same set-infinite test)
16:48 audreyt of course, it also means massive memory leak.
16:49 TimToady I'm not sure which is worse...
16:50 Limbic_Region audreyt - you aren't going to like me
16:50 Limbic_Region my pugs is once again showing the wrong version
16:50 audreyt oy...
16:51 Limbic_Region I am svn uping now but it was showing 14307 (which was definately not right)
16:51 Limbic_Region interestingly enough - the only reason I noticed it was because pugs kept whining that I needed to delete blib6/lib/Prelude.pm.yml
16:52 mdiep joined perl6
16:56 TimToady all tests successful on 8 simultaneous, for both si and sirecursive
16:56 TimToady does this mean my program is going back up to 10 hours?
16:56 TimToady :)
16:57 audreyt no, not really :)
16:57 TimToady is this a general memory leak on hash usage?
16:57 audreyt on array usage
16:57 svnbot6 r14324 | audreyt++ | * build_pugs.pl and version_h.pl: Now that the Makefile.PL
16:57 svnbot6 r14324 | audreyt++ |   no longer force_fun the regeneration of Pugs.Version, let
16:57 svnbot6 r14324 | audreyt++ |   build_pugs.pl take care of it.  Prompted by Limbic_Region++.
16:57 audreyt namely, unreferenced arrays don't get freed
16:58 TimToady including 7meg files processed with eval :yaml?
16:58 audreyt the segfault was because "unreferenced array" was then referenced for some random reason
16:58 TimToady sounds like it needs weak refs...
16:58 audreyt it's exactly because weakrefs is dereferenced...
16:59 MacVince joined perl6
16:59 audreyt but instead of coming back Nothing, we really wants a value out of it, so it segfaults
16:59 TimToady shouldn't dereffing a missing weakref just throw a normal exception?
16:59 audreyt right. but in this case it's a real hold-this-for-GC ref somehow not considered as such
16:59 audreyt and got inadvertantly weakened
17:00 audreyt and so the Judy pointer gets freed
17:00 audreyt and then the deref brings it back to life
17:00 audreyt and GHC tries to run a finalizer on it, seeing it's no longer referenced but in the heap
17:00 audreyt of course there's no finalizer for it at that point
17:01 audreyt so it segfaults. not attempting to run the finalizer at all made the GC behave correctly, magically
17:01 audreyt still not sure if it's Judy's bug, FFI's bug, cmarcelo's-use-of-FFI's bug, or GHC RTs's bug
17:01 audreyt I guess we can go back to nonsparse arrays, which were known to work :)
17:02 TimToady seems like non-sparse is the common case.
17:02 TimToady are non-sparse more efficient?
17:02 TimToady I have no problem with declaring sparse explicitly in P6
17:03 audreyt well judy's attraction was that it made sparse arrays almost as efficient as packed arrays
17:03 audreyt thru lots of crafty magic
17:03 lanny What's the matcher for "any length non-whitespace that contains an 'a'"?  I'm trying to write a comb test:  is("a ab bc ad ba".comb(/???/), <a ab ad ba>).
17:03 TimToady s/a/u/
17:05 lanny Hmm.  Might be asking too much of comb.  grep { /a/ } "a ab bc ad ba".comb; would do it
17:05 TimToady /\S*a\S*/ surely
17:05 amnesiac joined perl6
17:06 audreyt ok. let me check in nonsparse arrays and we'll see if performance/segfault differs much
17:06 lanny No.  That would match any 'a' between whitespace.  I'm looking for any "word" that contains an 'a'
17:07 lanny Oh wait.  Nope.
17:07 lanny Got my \s and \S backwards.  Thanks!
17:09 TimToady or /\S+: <?{ $() ~~ /a/ }>
17:09 lanny I haven't read S05 yet so I'll just go with that first one.  :)
17:10 TimToady but I doubt the latter will work yet.
17:10 TimToady given <$rx> doesn't even work yet...
17:10 TimToady the comb implementation would be a lot easier if it did...
17:12 TimToady smoking the custom build.
17:12 TimToady shower &
17:14 TimToady datapoint: the custom pugs doesn't slow my work program
17:24 theorbtwo joined perl6
17:25 fglock audreyt: ping? I fixed <prior> to avoid recursion, but this is leaky, as each new <prior> stores the last one in a closure
17:30 audreyt nod. that may be fine
17:31 fglock audreyt: nod to me?
17:31 audreyt yeah
17:32 wilx joined perl6
17:35 fglock audreyt: done :)
17:36 svnbot6 r14325 | fglock++ | * Pugs-Compiler-Rule - each time <prior> is set to a new rule,
17:36 svnbot6 r14325 | fglock++ |   it stores the previous rule in a closure
17:39 Limbic_Region audreyt - is the newline ambivelance in Test.pm supposed to be working yet?
17:40 audreyt no not yet, working on segfault still
17:41 Limbic_Region ok, running smoke now
17:43 [particle] joined perl6
17:46 prism joined perl6
17:49 justatheory joined perl6
17:54 TimToady heh, 99.99% okay
17:54 svnbot6 r14326 | fglock++ | * Pugs-Compiler-Rule - CPAN version 0.20
18:02 weinig is now known as weinig|bbl
18:06 elmex joined perl6
18:07 audreyt ok, packed arrrays implemented. (as an additional benefit it's transactional again)
18:11 wilx joined perl6
18:12 TimToady will smoke 14327ish after I get to work
18:12 svnbot6 r14327 | audreyt++ | * Experimental checkin to replace sparse (Judy) arrays with
18:13 svnbot6 r14327 | audreyt++ |   packed (Data.Array) arrays.  May or may not significantly
18:13 svnbot6 r14327 | audreyt++ |   affect performance and memory usage.  May or may not fix
18:13 svnbot6 r14327 | audreyt++ |   the segfault problem...  We'll see :-)
18:13 TimToady my one failure is in set's overload.t because prefix:<~> went away
18:14 audreyt good, that agrees with my smoke result
18:14 TimToady any idea why it was fragging evalbot?
18:14 audreyt sure, "method foo is prefix" was also construed as an in-scope sub
18:14 audreyt and shadows multisub *~
18:14 audreyt so ~$match also uses Set's .stringify
18:14 audreyt and boom.
18:14 TimToady is export?
18:14 audreyt yeah, is export
18:15 TimToady cool.
18:15 audreyt the correct fix is to not look at methods when doing sub dispatch
18:15 TimToady nod
18:15 TimToady possible?
18:15 audreyt sure, very much so
18:15 TimToady k, won't sweat it then
18:15 audreyt tomorrow morning perhaps :)
18:15 TimToady I'm sure L~R is feeling more pain right now.
18:16 audreyt well, segfault was also affecting him in a more dramatic way
18:16 audreyt that at least should be fixed r14327
18:16 TimToady was thinking of the eqv thing
18:16 audreyt I'll soon sleep and then resume hacking/relenging
18:16 TimToady off to $job for me...
18:17 audreyt k. ciao! &
18:17 TimToady pitter patter pitter patter &
18:19 svnbot6 r14328 | lanny++ | * Functions.pod -- s/method method/multi method/
18:19 svnbot6 r14328 | lanny++ | * t/builtins/**.t -- many smartlink fixes.  added a few tests.
18:20 fglock audreyt: ping me when you have some time to discuss the v6.pm backend?
18:20 weinig joined perl6
18:20 svnbot6 r14329 | lanny++ | * comb.t -- tests for comb.
18:20 pasteling "Limbic_Region" at 129.33.119.12 pasted "Trying to convert the following to Java" (39 lines, 820B) at http://sial.org/pbot/20410
18:22 Limbic_Region oops - sorry about the nopaste
18:22 Limbic_Region disregard
18:27 * stevan feels sorry for Limbic_Region ,.. thats a few thousand lines of Java ;)
18:27 TimToady hopefully it was generated by 4 lines of Perl 6...
18:30 audreyt fglock: that may have to wait until I'm in the U.S.
18:30 stevan TimToady: do you have a secret project you are not telling us about :)
18:30 audreyt or, until I'm in Brazil :)
18:30 stevan audreyt: when are you coming to the US?
18:31 stevan oh,.. OOPSLA  i forgot :)
18:32 Limbic_Region stevan - that's just not true.   I have kludged together a working example in about 50 lines of Java
18:32 stevan Limbic_Region: complete with the file reading loops?
18:34 fglock audreyt: ok - btw I'll be in Sao Paulo in nov 1 until 6
18:34 stevan I suppose too if you use the HashMap and other java.util.collections goodies it wouldnt be *that* bad
18:34 audreyt oh, cool
18:34 audreyt we can hack our brains out then :)
18:34 fglock :)
18:34 stevan audreyt: will be you stopping in Boston when you are here?
18:35 * obra fully intends to hack audrey's brains out before she goes to Sao Paulo
18:35 audreyt stevan: not likely, sorry
18:35 stevan audreyt: oh well :(
18:35 obra stevan: fly to pdx and come hack declarative templates
18:36 stevan declarative templates?
18:37 obra in short, use code to generate sane semantic markup. it gets you all sorts of cool things like multiple render paths, proper inheritance, testing, the possibility to gen things that aren't html
18:38 stevan obra: very cool
18:38 stevan I couldnt make pdx, but maybe sometime when you are hacking in boston
18:38 Pomin joined perl6
18:43 fglock left perl6
18:46 [particle] joined perl6
18:46 audreyt excellent. r14327 made pugs 2x slower
18:46 Limbic_Region stevan - yes
18:46 buetow joined perl6
18:47 audreyt switching to Data.Seq from Data.Array now
18:51 buetow joined perl6
18:52 Limbic_Region stevan - fwiw, I used a HashSet instead of a HashMap since I don't care about values - just if a member is present or not
18:53 Limbic_Region I used Scanner for file filtering
18:53 Limbic_Region etc
18:54 svnbot6 r14330 | audreyt++ | * Pugs.Types.Array: Packed arrays using Data.Array made
18:54 svnbot6 r14330 | audreyt++ |   smoke time 2x slower than previously, which is unacceptable
18:54 svnbot6 r14330 | audreyt++ |   -- this changes it to use Data.Seq in the vain hope that
18:54 svnbot6 r14330 | audreyt++ |   it'd be faster.
18:58 Limbic_Region does vain == futile there?
18:58 Limbic_Region oh, and audreyt really should be sleeping
19:03 TimToady obviously we need "use fast" and "use correct" pragmas...  :)
19:04 Limbic_Region heh - what we really need is a "use fast_except_when_broken" pragma
19:05 fglock joined perl6
19:08 TimToady use faster_till_GC_gets_involved :)
19:12 audreyt more bench/smoke info welcome on r14331
19:12 svnbot6 r14331 | audreyt++ | * Pugs.Types.Array: Repair splice().  I think the new
19:12 svnbot6 r14331 | audreyt++ |   Seq-based arrays are still slower, but will wait
19:12 svnbot6 r14331 | audreyt++ |   until tomorrow morning to do a proper bench...
19:12 audreyt but I think Judy is still an obvious win; maybe we'll just let it leak strategically somehow...
19:12 audreyt anyway, sleep &
19:12 gugod joined perl6
19:15 frankg joined perl6
19:17 TimToady smoking r14331...
19:18 buetow joined perl6
19:19 * Limbic_Region too
19:20 Limbic_Region my smoke times have been getting progressively longer btw
19:22 [particle] joined perl6
19:26 svnbot6 r14332 | fglock++ | v6/emitter(2) - implemented .[]
19:34 beppu joined perl6
19:46 Limbic_Region wow, I am still in ext/
19:46 Limbic_Region how about you TimToady
19:46 svnbot6 r14333 | fglock++ | v6/emitter(2) - added 'Data Structures for Pure-Perl Scalars' to HACKING
19:50 awwaiid joined perl6
19:59 PerlJam not to bikeshed or anything but "comb" still bothers me.  What about C<part> or C<cull> instead?  (Though C<cull> has the unfortunate connotation of placing value judgement upon the data)
20:17 larsen joined perl6
20:34 [particle] joined perl6
20:35 svnbot6 r14334 | fglock++ | v6/emitter(2) - HACKING update
20:39 fglock left perl6
20:42 Limbic_Region joined perl6
20:55 lanny joined perl6
20:57 lanny PerlJam: I think what  you are looking for  is  tok() or  tokenize() since  that's the action of pulling out non-whitespace in compilers.  (Is there a language that whitespace  is  anything but structural outside of  strings?)
20:59 lanny But even that isn't correct.  "a ab abc bc bcd da".comb(\S*a\S*)  is a  very odd  tokinization of the input.
21:00 TimToady Limbic_Region: my r14331 was *faster* than the sparse array version.
21:00 lanny ?eval "a ab abc bc bcd da".comb(m:Perl5/\S*a\S*/)
21:00 evalbot_r14313 is now known as evalbot_r14334
21:00 evalbot_r14334 ("a", "ab", "abc", "da")
21:00 lanny Ok.  @family calls.
21:03 TimToady PerlJam: believe me, I looked at all those names, and many others.  I literally spent hours with the thesaurus.
21:03 TimToady the second runner-up is "splat"
21:03 PerlJam heh
21:03 TimToady taking splat as the opposite of split...
21:07 PerlJam Well, perhaps if I look at it long enough, comb won't verb as "combine" in my head anymore.
21:07 PerlJam sift wouldn't work?
21:08 PerlJam :)
21:08 TimToady has connotations that you're sifting out what you don't want.
21:08 TimToady also not lumpy enough
21:10 PerlJam sieve?
21:10 TimToady you just lost the spelling challenged. :)
21:11 PerlJam Well, I'll let my subconscious work on it a bit and maybe I'll come up with a better alternative and cogent argument to support it.
21:11 PerlJam (or maybe I'll come to accept comb)
21:12 TimToady think of beachcombing
21:13 PerlJam pick, gather, collect, grab, ...
21:13 TimToady yeah, seen 'em all multiple times
21:13 jabbot TimToady: I havn't seen 'em, TimToady
21:13 TimToady that's cuz yer blind, jabbot.
21:14 TimToady but don't let me stop you. :)
21:14 PerlJam If comb bothered me just a little bit more I'd be at the point of making up a term  :)
21:15 PerlJam Hmm. maybe non-english languages have a good term
21:16 TimToady the thing I like about "comb" is that it concentrates on the ongoing process (gather/take) of searching for objects.
21:16 PerlJam prise maybe?  (sure, that'll just illict "huh?" from everyone ;-)
21:17 PerlJam er, "elicit" even
21:17 TimToady prise means to pry something singular off of something else.
21:17 TimToady elicit is trying to draw something singular forth
21:18 TimToady combing is looking for a bunch of similar things.
21:18 TimToady most of the harvesting/gleaning words fall into mass noun problems.
21:19 PerlJam reap ?
21:19 TimToady that too
21:19 TimToady you reap stuff, not objects
21:22 theorbtwo chunk?
21:22 PerlJam oh no, theorbtwo has been drawn into the vortex!
21:22 demerphq gin
21:23 PerlJam gin is like cull in a way
21:23 demerphq a "gin" is a something that seperates the good stuff from the bad stuff.
21:24 TimToady @tell audreyt r14331 actually seems to be a hair faster than the sparse Judy
21:24 lambdabot Consider it noted.
21:24 Limbic_Region TimToady - it was slower on my work machine but I am trying my home machine - it may have been a memory issue
21:24 theorbtwo As in a cotton gin.  It's rather obscure, most people will probably think of the drink.
21:24 demerphq oh neat perl6 uses judy arrays?
21:24 TimToady chunk implies you're getting back everything you put in, rather than extracting bits.
21:24 theorbtwo I'm not sure that's a problem, though.
21:24 PerlJam demerphq: judy strings even IIRC
21:24 Limbic_Region TimToady - does r14331 segfault less ?
21:25 demerphq neat.
21:25 TimToady demerphq: it was.
21:25 TimToady r14331 doesn't segfault on set-infinite
21:25 theorbtwo .find is too general?
21:25 demerphq it was neat?
21:25 TimToady to2, yes
21:25 TimToady it was neat but coredumping
21:26 Limbic_Region well, pugs uses Judy
21:26 PerlJam L~R: pugs is the only perl6 we have ;-)
21:26 theorbtwo .thresh?
21:26 TimToady only for hashes now.
21:26 Limbic_Region just which data types Judy provides seems to change depending on need for speed and need for correctness
21:26 theorbtwo to separate seed from (a harvested plant) mechanically
21:26 wilx joined perl6
21:26 demerphq do they live up to their hype?
21:27 Limbic_Region audreyt was sufficiently impressed
21:27 TimToady dunno yet.  they're not bad.  don't know if they scale quite as well as P5 hashes though.
21:28 TimToady could well be architecture dependent
21:28 PerlJam maybe the fact that "comb" is bothersome is a good thing.  At least people won't easily forget it  ;)
21:30 TimToady and the fact is, it's just syntactic sugar for ~~ m:g//
21:30 PerlJam I'd probably just use the less sugary form as that's the idiom I've always used in p5.
21:31 TimToady it just happens to default to m:g/\S+/
21:31 TimToady and it's there primarily to kill split(' ')
21:32 PerlJam It's actually more likely that I'll use whichever thing occurs to me first  :-)
21:33 PerlJam Though I'll have to start thinking in more idiomatic perl6
21:37 TimToady well, part of the reason for picking comb is that it *isn't* already heavily overloaded in computing culture, and being a word it's easy to look up.
21:37 TimToady and as you may have noticed, I'm not adverse to starting new idioms in computing.  :)
21:40 PerlJam Well, I'm developing a small affinity for "comb"  Maybe it won't bother me so much tomorrow.
21:41 beppu joined perl6
21:41 PerlJam I'm still coming to grips with the s/foo/ = blah()  thing too.
21:42 PerlJam it jars my brain. It doesn't seem to fit in the syntax.
21:42 PerlJam Maybe it won't bother me so much tomorrow
21:42 PerlJam :-)
21:49 polettix joined perl6
22:06 Limbic_Region @tell audreyt I agree with TimToady WRT speed of non sparse arrays
22:06 lambdabot Consider it noted.
22:17 [particle] joined perl6
22:19 Eidolos ?eval my @memo = (0, 1); sub fib { $memo[$_[0]] //= fib($_[0]-1) + fib($_[0]-2) } fib(0)
22:19 evalbot_r14334 Error: Undeclared variable: "$memo"
22:19 Eidolos Ah right
22:20 Eidolos ?eval my @memo = (0, 1); sub fib (Int $N) { @memo[$N] //= fib($N-1) + fib($N-2) } fib(0)
22:20 evalbot_r14334 \0
22:20 Eidolos ?eval my @memo = (0, 1); sub fib (Int $N) { @memo[$N] //= fib($N-1) + fib($N-2) } fib(10)
22:20 evalbot_r14334 \55
22:26 wolverian I think there's a more elegant way to do that, given lazy lists
22:27 * Eidolos nods.
22:27 wolverian I am, however, slightly confused about how to code it, given the difference between functions and arrays in perl6 :) (vrt. say, haskell)
22:29 wolverian s,vrt.,compared to,
22:29 wolverian (I think that was finnish, not english :)
22:29 Eidolos "vs" would've worked fine :)
22:29 wolverian I knew I forgot something :)
22:29 wolverian thanks!
22:29 lollan joined perl6
22:38 weinig is now known as weinig_
22:38 weinig_ is now known as weinig
22:39 TimToady ?eval sub fib (Int $N) { (state @s = 0,1)[$N] //= fib($N-1) + fib($N-2) } fib(10)
22:39 evalbot_r14334 \55
22:40 Eidolos Cool.
22:40 TimToady DRY
22:40 * Eidolos hides
22:41 lumi Pretty
22:41 TimToady ?eval sub fib (Int $N) { (state @s = 0,1)[$N] //= fib($N-1) + fib($N-2) } fib(1000)
22:42 evalbot_r14334 (no output)
22:42 TimToady heh
22:42 TimToady ?eval sub fib (Int $N) { (state @s = 0,1)[$N] //= fib($N-1) + fib($N-2) } fib(100)
22:42 evalbot_r14334 (no output)
22:42 Eidolos Odd.
22:42 TimToady ?eval sub fib (Int $N) { (state @s = 0,1)[$N] //= fib($N-1) + fib($N-2) } fib(10)
22:43 evalbot_r14334 \55
22:43 TimToady what a wimpy language...
22:43 wolverian can you write that without the explicit state, or without the function? :)
22:44 TimToady well, the state is easy, if we had "is cached" implemented..
22:44 Eidolos Ah, that would explain it, then.
22:45 Eidolos ?eval ($n, $a, $b) = (1000, 0, 1); ($a, $b) = ($b, $a + $b) while $n-- > 0; $a
22:45 evalbot_r14334 Error: Undeclared variable: "$n"
22:45 Eidolos ?eval my ($n, $a, $b) = (1000, 0, 1); ($a, $b) = ($b, $a + $b) while $n-- > 0; $a
22:45 evalbot_r14334 \43466557686937456435688527675040625802564660517371780402481729089536555417949051890403879840079255169295922593080322634775209689623239873322471161642996440906533187938298969649928516003704476137795166849228875
22:59 snowstalker joined perl6
23:03 TimToady ?eval [+] [\+] 1 xx 10
23:03 evalbot_r14334 55
23:03 wolverian TimToady, I love you.
23:03 wolverian I mean... whoa, look at the APL :)
23:04 TimToady ?eval [\+] [\+] 1 xx 10
23:04 evalbot_r14334 (1, 3, 6, 10, 15, 21, 28, 36, 45, 55)
23:05 [particle] that's gotta make it to the mailing list...
23:05 [particle] at this point, 'fib' can be a macro expanding to [+] [\+] 1 xx
23:05 wolverian hrm, at least if it worked correctly
23:06 TimToady well, there is that...
23:07 TimToady interesting coincidence, anyway...
23:09 wolverian what is it actually doing? I don't get it :)
23:10 TimToady it's really just doing triangular numbers.
23:10 TimToady it's just curious that the 10th triangular number happens to be the same as fib(10)
23:11 wolverian oh, so it is.
23:11 wolverian yup.
23:21 Limbic_Region ?seen stevan
23:21 lambdabot stevan is in #perl6. I last heard stevan speak 4h 42m 32s ago.
23:21 Limbic_Region stevan ping
23:22 Limbic_Region @tell stevan that Perl code you think would take hundreds of lines in Java - see http://sial.org/pbot/20416
23:22 lambdabot Consider it noted.
23:23 stevan Limbic_Region: very nice
23:23 lambdabot stevan: You have 1 new message. '/msg lambdabot @messages' to read it.
23:24 Limbic_Region stevan - that's my first Java program (ever)
23:24 stevan :)
23:24 Limbic_Region that's why I can't believe it is that good
23:25 Limbic_Region I have tried and tried to get a Java person to write their own version (without seeing mine)
23:25 Limbic_Region to no avail
23:25 Limbic_Region *shrug* - I am afraid I am not taking advantages of the languages strengths
23:25 Limbic_Region and just doing literal translations of my perl
23:25 Limbic_Region oh well
23:29 stevan Limbic_Region: looks like good Java to me
23:29 * stevan is not a Java programmer,.. but I have played one before :)
23:30 stevan Limbic_Region: the "strength" of Java is that *everything* is an object
23:30 stevan and you are using several of the new sexy features (generics, better for loops, etc)
23:32 Limbic_Region stevan - I am trying to optimize for runtime performance so since there are more ways than one to do what I want, I am not sure I chose the best
23:33 Limbic_Region I went for simplicity
23:33 wolverian stevan, everything is an object, except primitives.
23:33 stevan wolverian: very true :)
23:34 Limbic_Region wolverian - except that in recent Java's there are autoboxing objects for every primitive
23:34 wolverian didn't java5 add autoboxing, though?
23:34 Limbic_Region Int for int
23:34 wolverian ah. thanks
23:34 wolverian it did :)
23:34 stevan autoboxing is usually expensive though
23:34 * Limbic_Region took a Java class last week and am trying to put it to good use
23:34 stevan so fi you are optimizing for performance,.. ...
23:37 cjeris left perl6
23:38 mako132_ joined perl6
23:43 Limbic_Region grrr - ran out of heap
23:43 Limbic_Region either of you know what some sane settings are and how to set them?
23:46 TimToady in Java or pugs?
23:48 TimToady I know with pugs you can set stack with +RTS -K100M -RTS, but setting the heap is IIRC -M instead of -K
23:49 Limbic_Region Java - sorry, misusing the channel
23:50 stevan Limbic_Region: if you are looking for Java work, you are gonna need to increase the LoC ;)
23:52 avar joined perl6
23:53 stevan Limbic_Region: you might want to try not using StringBuffer as much
23:54 stevan IIRC the String class is immutable, so the JVM would likely be a little more heap efficient with it
23:54 stevan but that is just a guess
23:54 stevan and use vanilla arrays if you can get away with it too
23:56 Limbic_Region no, String is immutable
23:56 Limbic_Region StringBuffer is mutable
23:56 Limbic_Region oh wait
23:56 Limbic_Region that's what you said
23:57 Limbic_Region if I used String, I would end up calling a lot more object constructors
23:58 Aankhen`` joined perl6
23:59 stevan Limbic_Region: its all a trade off,.. the String will likely be more space efficient being immutable, but more objects will eat up heap space too
23:59 stevan although maybe the GC might make space if you are not storing all o them

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo