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