Run Perl6 Now! & pugscode.org ('Overview', 'Journal') & pugs.kwiki.org & channel log: xrl.us/e98m & < autrijus> damn, my journal keeps getting obsoleted by #perl6.
Set by Juerd_ on 12 March 2005.
ninereasons bin/mandel.hs:2:30: parse error on input `=' 00:00
crysflame neat 00:04
00:40 sourceror is now known as codesnik
autrijus greetings lambdacamels 01:00
ninereasons: sure, that's only the ast part. you want to full .hs ?
s/to/the/ 01:01
obra: 01:05
svn.openfoundry.org/pugs/util/catal...sts.jmm.pl
svn.openfoundry.org/pugs/util/catalog_tests.pl
ninereasons autrijus: I'd like to see it, yes. I think that I understood the pugs version, and I wanted to compare it to the Haskell version. 01:06
Purely curiosity.
autrijus ok. the compile.hs helpers isn't all there hyet 01:07
but autrijus.org/mandel.hs 01:08
uploading now, will take a bit
done.
ninereasons thank you .. a sec (phone) 01:09
I'm missing some modules. but at least I can look at the code. 01:10
Thanks.
autrijus you're missing modules!? 01:11
ghc --make -isrc src/pcre/pcre.o mandel.hs
(with mandel.hs in the pugs checkout root)
ninereasons " Could not find module `Internals':
"
autrijus -isrc is the trick. 01:12
still bad? 01:14
(I'll tie it all together in pugscc)
ninereasons ah -- I finally got it to go. 01:16
Thank you.
autrijus so it runs? fast? :)
ninereasons it runs but not fast. I'm timing it 01:18
I was astonished at the times you posted.
It must be a smoking machine. 01:19
oh -- that's better. 2 seconds. 01:20
2.831 actually.
autrijus using ./a.out ?
ghc -O2 will help :)
I did -O2 on the whole tree. 01:21
(ghc 6.4, freebsd) 01:22
ninereasons ghc -02 ? what does that mean ?
ah O, not 0
autrijus -O2 means real slow compilation to get real fast code. 01:24
ninereasons it knoced off a tenth of a second. 01:25
autrijus did you rm src/*.o and src/*/*.o before doing that? 01:28
weird. hrm.
autrijus decides to work on the PIR backend and not worry too much about GHC now :)
oh wait. it's totally my fault. 01:29
ninereasons I'm frankly in awe that you picked up this language so quickly and effectively. Sorry for being such a sycophant, but man, I'm amazed.
it makes my head hurt trying to read it. 01:30
autrijus autrijus.org/optimized.hs
to read what? mandel.hs? 01:31
ninereasons haskell
yes, as mandel.hs is an example of it.
autrijus eh. compiled target code is not supposed to be easily readable. 01:32
ninereasons ok . but you don't need to try to make me feel better ;-)
autrijus.org/optimized.hs is no file 01:33
autrijus refresh 01:34
force reload if needed be
ninereasons proxy cache; I have now.
autrijus good good 01:35
theorbtwo Hm, what's the current expected failures? 16/95 scripts feels bad. 01:36
autrijus that sounds correct.
see stevan's post.
theorbtwo Where? 01:37
autrijus www.nntp.perl.org/group/perl.perl6.compiler/417
stevan theorbtwo: it was about 78 tests failiing when i un-TODOed 01:39
theorbtwo Oh. OK then.
autrijus 78 subtests fail | pugscode.org <<Overview Journal>> | pugs.kwiki.org | logged: xrl.us/e98m 01:40
stevan theorbtwo: does that match your count 01:40
theorbtwo No, I have much less then... oh, subtests, not test scripts. 01:49
Yes, 78 exactly.
ninereasons zowee .26s
autrijus upgraded to Data.Map for 6.4. 02:17
6.2 people, please see if the tree still builds.
benchmarking mandel which used to take 77sec. 02:18
brb. 02:21
ninereasons pugs is a whole different thing when it's "make optimized" 02:22
hide_ autrijus: it built, couple of warnings. 02:23
02:23 hide_ is now known as hide 02:33 khisanth__ is now known as Khisanth
dvergin What are the prospects for getting "make test" to run under WinXP? 02:35
autrijus dvergin: I thought asavige is asking perl-qa 02:39
dvergin: oh, you can also try upgrading to latest EU::MakeMaker 02:40
and see if it works
mm, now takes 63sec.
that's an 20% improvement just by upping to Data.Map.
nice
dvergin Okay. Stand by. 02:41
hide autrijus: you saw latest from subversion compiles on 6.2?
autrijus yup
danke
and it's 0.20 now for optimized.hs 02:42
within 50% from perl5 performance :)
i'll brb :) 02:43
dvergin AS ppm ExtUtils::MakeMaker 6.05 does not resolve the "too long" issue with "make test". I can upgrade to EU::MM 6.25 by hand, but will that mess up ppm? 02:46
dvergin decides to do it anyway and find out! 02:47
It's official: upgrading to EU::MakeMaker 6.25 on WinXP does not resolve the "too long" issue for "make test". 02:56
Schwern pokes the autrijus 04:19
Is it just me or is pugs unbuildable from the repo right now? 04:20
0 ~/devel/pugs$ make
/bin/sh -c true
/usr/bin/perl -Iinc util/version_h.pl
make: *** No rule to make target `src/pcre/pcre.o', needed by `pugs'. Stop.
hoowa hello good morning 04:26
flw hello pingzi 04:30
hello cnhackTNT 04:58
How to use utf-8 encoding in mIRC? My OS is Windows 2000.
Khisanth it might not be possible ... 05:01
flw hello joe 05:02
Khisanth: might not be possible? 05:03
Khisanth flw: with mirc 05:04
flw thx 05:07
nothingmuch morning 05:38
05:45 cnhackTNT is now known as cnhackTNT|away
Schwern flw: www.acko.net/node/51 06:14
flw: However, consider another IRC client. XChat. Chatzilla. sirc. 06:15
nothingmuch autrijus: PING? 07:06
oops, capslock 07:07
i couldn't get [Exp] -> [Val] to work
it's in too deep
and also, we need to defer the binding of defaults, and be very clear on how to slurp, and what
autrijus schweern: fixed I think 07:09
nothingmuch i have a working .assuming
autrijus (!)
nothingmuch but it binds everything given partial params
so the binding is wrong
autrijus that's ok.
nothingmuch i have a bit of free time, so i'll work on it now
autrijus it doesn't affect existing tests?
nothingmuch not at all 07:10
autrijus please check in for me to see?
nothingmuch the binding is OK, unless you curry
in which case default values just set anyway
autrijus I'm still deep in Compile.hs; just found a poem for it
And words unheard were spoken then
of folk and Men and Elven-kin,
beyond the world were visions showed
forbid to those that dwell therein...
but please check in .assuming and I'll have a look
nothingmuch perlbot nopaste 07:11
perlbot Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel>
pasteling "nothingmuch" at 212.143.92.226 pasted "assuming" (9 lines, 348B) at sial.org/pbot/8481
nothingmuch i can check that in, it won't make a difference
the VSub stuff was already checked in before
autrijus ok, please do.
nothingmuch now, i've added funny tracing to bindParams 07:12
bindSomeParams
it's a bit too eager, is all
autrijus ok.
nothingmuch so i'm renaming verifyBindings to finalizeBindings
which will also handle defaultizing
now, what I don't get yet, is slurpies
what is the default array, etc? 07:13
gaal should src/Internals/Map.hi be in svn?
nothingmuch r992
gaal looks like it was accidentally svn add'ed to me... 07:14
autrijus gaal: svn up and it should be gone 07:16
I accidentally checked it in, sorry
nothingmuch: ok. so the deal is this
if your function has declared at least one slurpy argument 07:17
and no *@_
then a *@_ is added for you by default.
similarily
if your function has not declared *%_
then a *%_ is added for you by default.
nothingmuch sorry, back 07:30
autrijus: and what is *@_? 07:34
it is how the slurpy var is implemented?
and what about old style prototypes?
autrijus *@_ is slurpy @_ 07:38
just like perl 5
old style prototypes is no more.
if you don't specify prototypes, it's as if you specified (*@_, *%_)
nothingmuch and named params are in %_? 07:39
autrijus yup.
pos in @_, nam in %_
nothingmuch okay
the dispatch goes like this:
(interpretation):
get a list of invocants, and parameters
bind the invocants to the parameters that are invocantes, in a positional manner 07:40
bind the named parameters to their corresponding named parameters
then bind positional parameters on a first-come-first-serve basis
fulfilling required params first, because they are first in the param list
then slurp all the other arguments into a slurpy param, if at all
and finally defaultize all the unfilled up optionals with values 07:41
without values
as I see it, too much params is an error too, btw
do we do that?
and defaultScalar maps the +$y = $x stuff, right?
autrijus no; defaultScalar is currently not used 07:42
to much invocants is indeed an error.
nothingmuch autrijus: you know a bit of aix, right? how do you make a loopback mount?
autrijus I don't know anything about aix :-/
I only know enough to get GHC and Perl5 run 07:43
and then I live in blissful isolation
nothingmuch hehe
07:43 castaway_ is now known as castaway
nothingmuch okay, last question 07:43
what do we do, if say, an optional named param was passed in curried
but required was not, and it's passed in later? 07:44
autrijus that is fine.
nothingmuch actually, that doesn't matter
anyway, i think i can handle it, i'll try to do it now
autrijus nothingmuch++
autrijus fights some more with 6.4's TH
nothingmuch has to make up a system to create small mountpoints, for testing product
on linux i plan to mount loopback, rm the loopback file, cd to the mount point, and then umount -l it. 07:45
now i have to figure out aix, hpux, solaris, and tru64
scw Oops, Language.Haskell.TH is needed now? 08:32
autrijus is it unhappy on 6.2?
scw err, no. I use 6.4, too. 08:33
but seems not default installed with ghc6 package in debian
autrijus so is TH a problem?
!.
what is the package name for TH?
scw What do you mean? I haven't found the correct package to install on Debian. 08:34
autrijus oh. 08:36
debian simply has no TH?
y
err, typo
scw seems so. I got "Can't find module `Language.Haskell.TH'" 08:38
autrijus that sucks. 08:40
are you really using 6.4 and not 6.2? 08:42
can you check again?
scw great, I was using 6.2.2. 6.4 is in experimental yet 08:46
upgrading
08:47 meshwolf is now known as SKyPP
elmex gmorning 08:56
malaire autrijus: you mentioned #parrot in your journal - did you mean #parrot here, or somewhere else? 09:22
(I tried to join #parrot, but there was no-one there)
autrijus #parrot on irc.perl.org
malaire ok
autrijus let me clarify.
journal updated, thanks
malaire is that logged anywhere? 09:23
autrijus not sure. 09:24
nlv11757_ autrijus 09:30
is you there?
autrijus nlv11757_: yes? 09:31
nlv11757_ ah, i hear you read 'Advanced Topics in Types and Programming Languages' and i wanted your opinion on it
i liked pierce's book 'Types and Programming Languages' and was wondering if it was worth buying this new one 09:32
autrijus if you enjoyed TaPL, then definitely!
nlv11757_ does it has additional value?
has=have
autrijus sure do.
most of them are not written by pierce
nlv11757_ nice, although it's only edited and partly written by Pierce am i correct
autrijus but by researchers who do the cutting edge thing 09:33
nlv11757_ ow you were too fast
:D
autrijus but the editorship is amazing
all chapters actually look coherent.
so yes, I'd recommend it.
nlv11757_ yeah i saw George Necula (main developer of CIL if i'm not mistaken) also
autrijus nod
nlv11757_ ah that was my next question, because i really liked the style of TaPL, it really builds up and iteratively add complexitiy
autrijus I had not finished reading it
but for the upcoming Pugs -> Parrot compiler with macro support 09:34
I gather I need all the help from ATTaPL :)
(as in, there's very few prior art on that front)
nlv11757_ ok, well although i don't know what pugs or parrot is (except of course these talking birds), I'll take your word for it :P 09:35
im convinced
autrijus pugs is an implementation of perl 6 :)
nlv11757_ is that of private interest or your job?
autrijus see pugscode.org/ and click on "Overview"
that is my private interest and part of my job. 09:36
I'm self-employed though, so there's little difference.
nlv11757_ sounds...vague :) researcher?
autrijus no, really small business owner
but first and foremost just another perl/haskell hacker :) 09:37
nlv11757_ :)
hehe
im in doubt what to do after my thesis
Schwern autrijus: What was your fix for the tests? Is the darcs repo lagging behind? 09:38
autrijus I think the darcs repo is uptodate.
my fix was to glob in perl code not on command line.
Schwern Ahh, I see. The join threw me off 09:39
nlv11757_ darn why is a credit card mandatory for ordering this book :S haha 09:42
Schwern Still having the pcre.o trouble
nopaste.snit.ch:8001/2114 09:43
There's no src/pcre in the darcs repo 09:44
autrijus ! 09:47
fixing
try again 09:48
better? 09:49
SCHED_ULE++ # freebsd finally usable for me
kungfuftr freebsd++ 09:55
elmex hmm 11:15
ihb now when Perl 6 is getting implemented, is there any schedule for when the design will be "complete"? 11:16
elmex perl 6 will never be complete. perl 5 isn't complete too ;)
ihb that's why i put complete in quotes. 11:17
elmex ...maybe community realizes, that ?? :: sucks like hell, they will mabybe change it :)
ihb if you like "when will the whole design stop being experimental?"
elmex heh
ihb: i thought the first things were already finished...
the synopses are the current standart i thought 11:18
and they don't change that much anymore...
ihb it's the word "current" i don't like in there :-)
elmex :)
ihb i still see Larry write "or perhaps we could do that, or perhaps this" or "allow blah, that could be nice", etc.
elmex ihb: i do that too, for example with the strings. but other aspects of perl6 are already completed and documented... and they won't change that quickly anymore 11:19
well... i'm a little bit surprised too that they still fuss around wit hstrings and stuff.. but that stuf isn't trivial i guess
ihb personally i hope that perl 6 will be experimental for at least a year after it's be completely implemented according to the docs, so that it can be evaluated, fixed, and then the "real" perl 6 can be released.
s/s be/s been/ 11:20
nothingmuch ihb: that's exactly what pugs is about 11:33
it's the experiment before the "real" perl6 is done
ihb yeah, i just hope that pugs won't speed up things *too* much (considering the very fast pace it's developing in :-)) 11:34
nothingmuch: so do you know if there's any schedule for when the "real" Perl 6 will be done?
i.e., when can i use Perl 6 in production or semi-production?
nothingmuch ihb: err, after pugs becomes stable, i think 11:35
i reckon that within 6 months things will begin to slow down
only minor details will be fleshed out a bit
clarified
and perhaps slightly redone 11:36
ihb so, a optimist could say that i can use Perl 6 for real in the fall?
nothingmuch pugs' perl6
macros and stuff will probably require implementation in perl6 itself
and that would take time to reimplement perl6 in perl6 11:37
you can write simple perl6 today, though
you can start using OO perl when 6.2 comes out
not much will change
ihb when will 6.2 come out?
nothingmuch when we can get to it =) 11:38
ihb haha :-)
nothingmuch the bottom line is ASAP
but it will come after other things
which will take time
ihb is two-three months a realistic estimate? 11:39
nothingmuch wagner.elixus.org/~autrijus/darcs/p...rview.html
let me find the roadmap for you
hmm.
malaire once autrijus said he'd estimate 1-2months per Milestone in roadmap
nothingmuch like control flow, etc 11:40
i think we're somewhere around 6.0 in some aspects
errm 6.2
but halfway there
there's lots of things missing
simple variable ops
simple control structures
but these things are getting added all the time
and it's been the real work of the last month or so 11:41
i think we're around 60% on that, maybe more
that considering the 80-20 rule
then classes and traits can start being implemented
but classes and traits are /hard/
perl6's object system is very complex, in comparison to perl5
i reckon it can be usable within a week of work, but complete only after 2 months or so 11:42
given different behaviors at runtime/compiletime
kungfuftr everyone's off to tapei, right?
nothingmuch MMD issues
type issues
etc
nothingmuch is not ;-)
kungfuftr 's housemate is now using pugs to hack on parrot... yay!
nothingmuch ihb: is this helping somehow?
ihb nothingmuch: yeah
nothingmuch we're working on a way to make the current status of pugs' implementation less opaque 11:43
for example, by indexing test/synopsis correlation
ideally we could sort of paint what parts of the synopses are tested
ihb nothingmuch: yeah, i've read something about you creating some sort of link system between them.
nothingmuch and what's passing
nothingmuch.woobling.org/pugs_test_status <-- you can look at a sort of demo here 11:44
it's got only a few links
but it's still nice
nice example: nothingmuch.woobling.org/pugs_test_...l#22495752 11:45
ihb i'm curious about this since i'm holding off learning Perl 6 until it's somewhat complete. i want to plan my time and effectively learn Perl 6 and not unlearn things that has changed.
nothingmuch ihb: most of the basics are pretty clear
it's not a new language
it's rather easy, because things are very consistent
unless they're new
ihb that's why the basics aren't as interesting :-)
nothingmuch but they're important =) 11:46
ihb the nice things that'll interest me most is the last implemented i reckon, so i'm holding off until i can play with them.
nothingmuch you can look at things like t/subroutines/currying.t
i'm working on that now
that's basic
but it's still fun, and useful
kungfuftr nothingmuch: good learning experience 11:47
nothingmuch well, i'm not working on that now, i'm working on real work, but once the developers are ready and i can make a build, i'll hopefully have some free time
right now i have to whip up some way to create a throwaway 5mb disk per run on many many systems
=(
kungfuftr nothingmuch: which platform?
nothingmuch (/me would rather code in haskell than in bash)
linux (using loopbacks, tempfiles, and umount -l), aix (ramdisks, i guess), sunos (lofi), hpux (don't know yet), and tru64 (probably lvm, will have to see) 11:48
ihb i just want to say that you guys working here owns so much credit i don't know how to appropriately express it .-)
kungfuftr erk... vd++
nothingmuch ihb: you can help 11:49
give a half hour... 15 minutes each day
read tests, maybe add a bit
learn a bit of p6 as you go along
that's what's really important right now
kungfuftr (pedantic tests)++ 11:50
nothingmuch very important
for example, that currying test could use a /lot/ of work
ihb nothingmuch: i've considered it, but i have almost no time. in fact, me talking here now steals too much time from what i'm supposed to be doing, and i need to quit now.
nothingmuch i've added to it some, but not enough
heh
well, anyway, another, easier solution is paypalling money to autrijus
lets him take more time off dayjob, to work on pugs 11:51
ihb nothingmuch: i would, if i had a job myself :-)
nothingmuch hah
well, we don't expect anything
ihb i know.
nothingmuch it was nice of you to just say you want to express gratitude
that is an expression of gratitude in itself =) 11:52
ihb personally i'm afraid i won't even have time to learn Perl 6 enough because of lack of time. :-( (hence me wanting to do it as efficiently as possible) 11:53
nothingmuch: in case i get free time, how do i submit tests? 12:00
nothingmuch ihb: you give (autrijus|obra|stevan|me) your email
and then you get commit access
oh, |hcchien
ihb ok. 12:01
nothingmuch then you use svn or svk
ihb i suppose there's a manual for that, since i've never used svn or svk.
nothingmuch svn co svn.openfoundry.org/pugs 12:03
then cd pugs
edit some files
add things
ihb ok. 12:04
nothingmuch check that 'perl Makefile.PL; make test' is ok
then 'svn add file/that/you/added'
and the new versions are sent back to the server
and 'svn commit file/that/you/added file/that/you/changed'
and other people can 'svn update' to get the changes you made
elmex_ ? 12:05
ihb another question: how about porting perl 5 code? will that be helpful in some way?
nothingmuch yes, very useful
see some of Darren Duncan's work
and i think Stevan's too
File-Spec was ported
Algorithm-Dependancy was too
SQL-Routine will come next
ihb so target is cpan modules?
nothingmuch (i give distro names because they ported the tests too ;-)
well, not necessarily
perl5 code in general serves as a test 12:06
ihb should i try to change as little as possible, or rewrite it in a perl 6 fashion? 12:07
nothingmuch whichever style you like 12:08
ihb i'll probably go with minimal modification then :-)
malaire btw, what is address for pugs-wiki? (I couldn't find that from pugscode.org) 12:09
nothingmuch pugs.kwiki.org
ihb ok, thanks a lot for the info nothingmuch. now i have go get busy. 12:11
nothingmuch ciao
elmex_ ? 12:23
12:24 elmex_ is now known as elmex
nothingmuch elmex? 12:31
elmex ? 12:35
gaal r1006 simple yaml test harness 12:42
autrijus, what makes the 'recent commits' rss output? i'd like to hack it to make the output a little more interesting (eg. include file list and maybe links to diffs with their previous versions) 12:45
ihb are all apocalypses written now btw? 12:55
scw stevan: Hello, t/builtin/die.t passed after my patch but there are only three subtests 13:35
ihb From S02: "A bare closure also interpolates in double-quotish context. It may not be followed by any dereferencers, since you can always put them inside the closure." Later: "The old disambiguation syntax: ${foo[$bar]} ${foo}[$bar] is dead. Use closure curlies instead: {$foo[$bar]} {$foo}[$bar]." 13:38
That second one, "{$foo}[$bar]", looks odd to me. It looks like the closure returns the _scalar_ $foo and you then try to subscript that.
kungfuftr is MANIFEST being kept up to date?
ihb so, how should {$foo}[$bar] be read? 13:41
stevan kungfuftr: the MANIFEST is only being generated for releases 13:45
kungfuftr: too many commits were only the MANIFEST 13:46
scw: thanks, I am downloading a rebuildign right now 13:56
kungfuftr stevan: ah... gotcha 13:59
jabbot pugs - 1006 - YAML test harness 14:04
pugs - 1005 - * fix building on 6.4; beginning of pugs
pugs - 1004 - * reHTMLify
pugs - 1003 - * remove the stg_hack from Unicode.C
pugs - 1002 - * Separate linking for UnicodeC as well.
pugs - 1001 - * Fix running tests on win32.
pugs - 1000 -
pugs - 999 -
pugs - 998 - r995@scwnb: scw | 2005-03-22 16:17:17
pugs - 997 - r994@scwnb: scw | 2005-03-22 16:13:36
kungfuftr crazy bot
theorbtwo Aye. 14:05
gugod :/
lightstep did the bots commit those herself?
s/bots/bot/
gugod it's just reporting the rss feed
lightstep but 999 and 1000 seem empty 14:06
scw sorry for that...
gugod maybe it's because the message it self are empty 14:07
scw This is my first time using svk to push from local branch.
stevan anyone using GHC 6.4 on OS X? 14:14
ihb i'm reading S04 now. what does zip(@a;@b) do? i haven't seen that semi-colon before.
gugod I just installed it today 14:15
stevan gugod: is it working well for you? I am thinking of upgrading
ihb: the semi-colon has to do with multi-dimenstional lists 14:16
ihb: i am not sure what it does in zip()
but with multi-dimensional slices it works liket his
gugod stevan: I'm not sure if it's the problem of ghc or pugs, but pugs failed on Unicode.hsc :/
stevan @array[1 .. 5; 10 .. 20]
each list is a slice on the different dimensions 14:17
at least that is how I understand it
gugod zip(@a;@b) = put the @a on the left side, @b on the right side, then zip them. :p
stevan gugod: hmm, I am compiling the latest with 6.2 I will let you know if it has issues
ihb if you want context: dev.perl.org/perl6/synopsis/S04.html // The C<for> statement
gugod say, @a=(1,2,3);@b=(7,8,9), zip(@a;@b) = (1,7,2,8,3,9)
ihb gugod: how's that different from zip(@a, @b)? 14:18
stevan gugod: it compiled fine for 6.2
ihb in S03 the for() example uses zip(@names, @codes)--no semi-colon. 14:19
gugod ihb: I think @a,@b are flattern into a single list, that makes a .... one side zipper ? :p 14:20
14:20 cnhackTNT|away is now known as cnhackTNT
ihb i don't think so. 14:21
stevan gaal: you should add yourself as an author to t/README 14:22
gaal: actually I just did it for you :) 14:23
gugod here's the compilation error I got today with ghc 6.4 irc.csie.org:8888/124 14:24
ihb: hmm, I was wrong about the flattern thing 14:27
ihb: S09 explains the semicolon, "The semicolon operator" 14:30
ihb how evil to sneak it into S04 without any warning or reference :-)
gugod evil enough be the head of a world wide evil organization ? (oh he really is!) 14:31
:-p
stevan ihb: ask on perl6 lang, it may be a typo 14:32
they may be the cabal, but they are still fallible
gaal strevan: thanks 14:35
if you do that, please also s/\t/ /g -- i threw in a tab accidentally in the eval_ok line
stevan gaal: fixed 14:36
gaal++ # for yaml_harness.pl 14:50
ihb is foo(@bar) and foo([*@bar]) equivalent if foo has a signature of (@in)? 14:53
stevan ihb: I would think so
foo(@bar) and foo(*@bar) are equivalent too (I think) 14:54
ihb not if foo has (@in), afaik.
stevan ihb: why do you say that
foo(*@bar) would flatten @bar (which is probably not needed) 14:55
PerlJam stevan: foo(@bar) and foo(*@bar) can't be equivalent except in the presence of a slurpy array.
ihb wouldn't it have to be (*@in)?
stevan actually,.. you guys are right,..
stevan is still working on his first coffee
ihb then i guess, if zip is (@a, @b), zip(@foo;@bar) would work just as well as zip(@foo, @bar), although i see no reason to use the semi-colon. 14:56
i may be very wrong, since i started reading the synposis about an hour ago. 14:57
stevan ihb: I question if that semicolon is not a typo 14:58
you should email perl6 lang and ask for clarification
PerlJam indeed.
I think the ; is left over from the original zip proposal
stevan even if it is not a typo, it is not clear
ihb the semi-colon is used again in zip(@a;@b;@c) right blow in S04.
ok, left-over seems reasonable. 14:59
how was the original zip proposal?
PerlJam The original (IIRC) had zip flatten it's args so that zip(@a,@b;@c,@d) was the same as if you'd done @x = (*@a,*@b); @y = (*@c,*@d); zip(@x;@y) or some such. 15:01
; was just playing the role of a super-comma 15:02
But that's all changed now that ; is an anon-array constructor.
Hmm. so maybe those zips are correct with the new semantics ...
ihb PerlJam: yeah, that's what i was saying above :-) 15:03
PerlJam well, then zip(@a;@b;@c) is the same as zip <== [@a],[@b],[@c] right? 15:06
Does [@a] flatten @a or not?
autrijus hi. 15:07
revelations:
ihb afaik, [@a] lazily flattens @a, but i not sure at all.
autrijus 1. Pugs now has a compile-to-PIR interface.
2. My next commit will have embedded parrot to be built optionally. 15:08
3. pugscc --parrot -e "say 'Hello'" already works; with the embedded parrot, pugs --parrot will too.
4. Embedded Perl5 and Ponie will also be probed and built optionally so you can call out to arbitary perl5 modules. 15:09
5. all these will be demonstrated this weekend in YAPC::Taipei.
pjcj autrijus++ # again
PerlJam autrijus: I can not ++ you enough :-)
autrijus++
autrijus oh and compile mandel.p6 to mandel.pir 15:10
even with all the two compiling overheads
all taken together, is still 3x faster than perl5.
(+ run time that is)
rgs autrijus++ # !!
ihb autrijus++ indeed
clkao autrijus is crazy
autrijus I need to change the pugscode.org slogan from "Run Perl6 Now" to "Compile Perl6 Now" ;) 15:11
PerlJam clkao: crazy like a ... like a ... yeah, he's just crazy ;)
r1007 looks broken from here. I'm sure your commit will fix that :) 15:12
theorbtwo autrijus++
clkao he made it!
jabbot pugs - 1007 - * Pugs now compiles to PIR. 15:13
autrijus PerlJam: broken how? 15:14
PerlJam Chasing modules from: src/Main.hs 15:15
src/Main.hs:
Can't find module `Run'
autrijus err. forgetting an svk add.
committed back.
PerlJam that's on a fresh co, then perl Makefile.PL; make
ah, r1008 es muy bueno 15:16
autrijus try
pugscc --haskell -e "say 'Hello'"
and
pugscc --parrot -e "say 'Hello'" 15:17
PerlJam btw (fast computers)++
oh no, it died again
src/Compile/Haskell.hs:10:
Couldn't match `Language.Haskell.THSyntax.Exp' against `[Dec]'
Expected type: Language.Haskell.THSyntax.Exp
Inferred type: [Dec]
autrijus 6.2.2 right. 15:18
ok, I need to test 6.2.2.
a sec.
PerlJam yeah, 6.2.2
autrijus ok, fixing.
--parrot is fine though?
theorbtwo That's on a normal "make".
autrijus !. 15:19
ok, fixing
ihb what has happened with S07 and S08? 15:23
autrijus hm? 15:25
6.2.2 should build again. pugscc --haskell is still bad though.
theorbtwo Yep, seems to make OK. 15:27
Odin-LAP Hmm. Has pugs taken perl6 over? :> 15:28
PerlJam Odin-LAP: effectively.
Odin-LAP PerlJam: That's what matters, right? :p 15:29
PerlJam (as far as implementation goes that is)
Odin-LAP Yeah, that's what I mean.
PerlJam All that matters is that we get a working perl6 compiler at some point that doesn't involve Larry and Damian and chromatic and Luke and Dan and ... etc as a collective wetware processor :) 15:30
autrijus lol.
PerlJam autrijus: er, where does pugscc appear? I just have a pugs binary after make 15:31
oh, script
autrijus install and you'll see.
PerlJam very very very cool 15:32
clkao autrijus: you will have to drink lots of beer on friday 15:33
autrijus mmm?
jabbot pugs - 1009 - * fix prototype
pugs - 1008 - * Run.hs.
pasteling "malaire" at 217.119.39.217 pasted "C< pugscc --parrot examples/mandel.p6 > not working" (6 lines, 195B) at sial.org/pbot/8495 15:34
PerlJam autrijus: you need to put together a wishlist of things you'd like so that we geeks can rally together and get you something.
heh, "Please file a bug report."
autrijus malaire: it's not supposed to be working. :)
the only thing that works is say 'Hi'. 15:35
malaire ok..
autrijus I'm porting over my yesterday's mandel compiler to this new framework
as we speak.
should be done soon
but I need to get Inline.hs written first.
I'll probably call it Embed.hs 15:43
it's too hard to find a poem for Inline.hs.
module Embed where 15:55
import Embed.Parrot
import Embed.Perl5
import Embed.Ponie
import Embed.Haskell
I think those four are enough for now. anyone has anything else to declare? :) 15:56
stevan autrijus: do I need to install parrot for this to work?
autrijus stevan: you need to install ponie for ponie to work and parrot for parrot to work. 15:57
(obviously.)
stevan cool
autrijus Embed.Haskell needs hs-plugins to work. 15:58
Embed.Perl5 always works.
kungfuftr Embed.MagicVoodoo?
stevan I think maybe we need a pugscc readme soon
lightstep is pugs as fast as perl now?
autrijus lightstep: pugscc on parrot will be faster than perl.
lightstep whee 15:59
PerlJam "as fast as perl now"? you mean perl6? pugs is *faster* than perl6 now.
:-)
autrijus lightstep: pugscc via GHC is just a bit slower than perl5.
the goal is to have a
kungfuftr autrijus: do you reckon that using pugs might make hacking on parrot easier?
autrijus kungfuftr: definitely.
kungfuftr autrijus: gd, gd, will let my housemate know
autrijus kungfuftr: building a parrot AST is the same process as nnunley's Pretty.hs
kungfuftr: you just write a pretty printer for Exps 16:00
that happens to produce valid parrot assembly
using the very robust HughesPJ pretty printing library that comes with GHC.
lightstep except Exp is more general than the perl6 syntax
(but perhaps PIR is as general) 16:01
autrijus lightstep: sure, the idea is for Exp to one day become Parrot AST as well.
PIR is as general.
because you can define arbitary PIR objects.
in C or PIR.
lightstep btw, pugscc -H totally fails 16:02
autrijus on 6.2.2?
yeah.
lightstep unrecognized construct on a Statements block (the top level of the ast)
autrijus it needs 6.4 currently.
will fix, not yet.
lightstep (i'm on 6.4)
autrijus and yes, it only recognize "say 'foo'".
we're basically back to Day 1 of Pugs.
lightstep oh
autrijus I'm porting the mandel compiler to this new framework.
it will happen very soon, please have patience :) 16:03
(or just hack away at Haskell.hs)
stevan autrijus: any thoughts on how to test this embedded stuff?
autrijus stevan: yes, by having a pugscc --run
and use it as harness.
make test-haskell 16:04
make test-pugs
make test-parrot
something like that.
same test suite.
will be trivial to set up I think.
stevan ok I will look into it
autrijus btw, t/README is wonderful.
stevan autrijus: thanks
autrijus I only plan to do this Compile/Embed thing to a point that 16:05
1)mandel runs
2)well behaving enough that other hackers can work on it
then I'm back fixing 6.2 blockers.
f0rth unable to understand "We have a created a basic Test " in t/README 16:08
Odin-LAP Hm. There's no TODO list for Pugs? 16:09
autrijus Odin-LAP: www.nntp.perl.org/group/perl.perl6.compiler/417
Odin-LAP Hmm. 16:11
jabbot pugs - 1010 - fix line lengths in t/README 16:13
lightstep afk (taking my sister to an infoshop)
theorbtwo Blast, there's no poem about Bard the Bowman in the Hobbit. 16:16
jabbot pugs - 1011 - * More pugscc work: --runparrot, -rP, -- 16:33
autrijus anyone knows how am I supposed to eval perl5 code in perl6? 16:37
I know that require/do/use will proc perl5 code automagically.
but that's all file-based.
eval :perl5 maybe?
eval5?
eval_perl5?
clkao autrijus: 16:38
i can't do pugscc --parrot -e 'say "foo " ~ "Hello"'
autrijus clkao: you can't because it's not there.
clkao what's there then ;_) 16:39
autrijus just say() and single quoted strings
what do you expect from 1hr hack? :)
feel free to hack on src/Compile/Parrot.hs
PerlJam autrijus: What would be the difference between Compile/Pugs.hs and Compile/Perl6.hs?
clkao ah ok. :) 16:40
autrijus Compile/Pugs.hs uses the Pugs evaluator to process Pugs opcodes
Compile/Perl6.hs spits back perl6 source code.
see B::Bytecode and B::Deparse.
PerlJam gotcha
hcchien lots of test failed in the trunk. 16:42
autrijus eval:perl5 "use RT;"
I'll go with that.
hcchien: see /topic!
hcchien err...., interesting topic. :p 16:43
stevan autrijus: what did the Haskell backend require? hs-plugins? 16:48
autrijus stevan: nono, Embed.Haskell does that.
Compile.Haskell only wants template haskell
which works with GHc 6.4 on all popular platforms.
I need to fix 6.2.2.
(TH is part of GHC) 16:49
stevan so pugscc --haskell requires nothing special?
autrijus yeah. 16:50
it needs GHC
stevan ok
autrijus and a pugs build dir
but nothing else.
stevan 6.4 or 6.2.2
or both
autrijus theoretically both
but I don't have 6.2 right now
so at this second only 6.4 works
stevan ok
autrijus nothing stops 6.2 from working though.
iblech Hi, just posted a Perl6-solution on Perlmonks (perlmonks.org/index.pl?node_id=441359) and noticed "ceil" not being implemented. -- Patch with tests here: sial.org/pbot/8499 17:01
autrijus is ceil a perl6 builtin? 17:02
it is not in perl5, so just checking
sub ceil { my $n = shift; int($n) + ($n > int($n) ? 1 : 0); } 17:03
or really
sub ceil ($n) { int($n) + ($n > int($n) ?? 1 :: 0); }
iblech I remember reading something about ceil (and floor) being in the core, but might be wrong of course
stevan iblech: check in the Synopsis 17:04
autrijus may I have your email so I can make you a committer?
iblech [email@hidden.address]
stevan: Will do, sec.
autrijus and if you feel ceil() should be in, please ask on p6c/p6l :)
iblech stevan: It's not in any of the Synopsis, will ask p6l 17:05
autrijus iblech: welcome aboard! please add yourself to AUTHORS to save theorbtwo's workload
iblech autrijus: Thanks! :) 17:06
autrijus :)
17:06 metaperl_ is now known as metaperl
stevan autrijus: r1012 I added a pugscc.README, much like the t/README 17:07
autrijus: it still needs some work, but it will keep you from needing to answer the same questions over and over :) 17:08
autrijus ! 17:11
stevan++
however...
can we have it in a =pod =cut thing? :)
inside pugscc itself.
as it's a perl5 script right now, just slap =pod on it
stevan autrijus: even better 17:13
jabbot pugs - 1012 - adding pugscc.README; adding banner to t
theorbtwo I'm confused by the BACKENDS bit in pugscc.README... how does a perl5 backend let you run perl5 code in pugs -- wouldn't it let you run perl6 code in perl5? 17:16
stevan theorbtwo: I freely admit I don't know what I am talking about in there :) 17:17
theorbtwo: I am just trying to compile info from the past hour on IRC
theorbtwo OK.
You should put command-line info in there. Or better, both there and --help.
stevan theorbtwo: I am putting the readme into a pod doc at the bottom of the script 17:18
theorbtwo: once I commit it back, feel free to add all you want ;)
theorbtwo Er, sorry, already submitted a one-liner to make pugscc --help work. 17:23
It probably won't conflict with what you're doing.
jabbot pugs - 1013 - Make pugscc --help work.
stevan theorbtwo: it didnt 17:26
theorbtwo: I just commited the POD doc
theorbtwo: please read it over as a sanity check, and feel free to fix my misunderstandings 17:27
stevan has to get on a conf call ($work always gets in the way of $fun)
ninereasons isn't the $ sigil supposed to assure that $s is a string (or ref)? 17:29
integral or a number... 17:30
ninereasons my @a = <1 2 3 4> ; my $s = @a; for $s { say $_ };
prints for each.
is that a bug?
stevan no
ninereasons: dereferncing is supposed to be automagic in perl6 17:31
iblech ninereasons: If you want the number of elements of @a, try my $s = +@a
theorbtwo stevan, it looks sane to me. I really don't know what's going on.
ninereasons Interesting
stevan theorbtwo: maybe its not sane, and you are insane, like all of us :)
ninereasons: the + is actually forcing numeric context 17:32
integral hmm, I'd have expect a reference to be printed...
integral afk
ninereasons $s.perl; # '(\'1\', \'2\', \'3\', \'4\')'
jabbot pugs - 1014 - removing pugscc.README and placing it as 17:33
autrijus we are getting an eval_perl5() now.
it will be eval:perl5 once I get adverbial paris parsed. 17:34
pairs, even.
ninereasons stevan: I see how +@a works. thank you.
and iblech, thanks. 17:35
stevan ninereasons: there are actually many cool context forcing operators, see t/syntax/force_context.t
ninereasons perl6 is going to very max dwimy ! 17:36
be
iblech Is it intended that all t/*/*/*.t (note: three "*"s) are skipped?
autrijus yes. 17:37
need to hand-add them
Odin-LAP Perl6 is also going to be frighteningly malleable.
autrijus if you want them to run.
stevan ninereasons: but with the option of control as well (which control freaks like me enjoy)
iblech autrijus: Ah, ok 17:38
autrijus eval_perl5() landed. 17:39
will do type conversions later.
chip don't mean to tease, but sub foo ( +$x, *%rest ) works now too 17:43
autrijus :))))
nice!
stevan autrijus: hate too be a pain, but any timeline on s/// reg-exp support? 17:44
chip Does anybody have a better name for Perl6::Subs? It's an OK name, but it leads to one of the internal classes being Perl6::Subs::Sub
which is awkward
stevan chip: does it go just subs? or methods, and blocks too?
chip autrijus: is C<is required> the current state of the art for required named params?
lucs What else have you got at the same level as ...::Sub 17:45
jabbot pugs - 1016 - t/unspecced/chomp.t now tests for not re
pugs - 1015 - * eval_perl5()
chip stevan: It does methods too. C<method foo {}> becomes C< sub foo : method { my $self = shift; ... }>
stevan: but no blocks
lucs: ::Type ::Param and ::Sub
stevan chip: pointy subs?
chip stevan: oh, yeah. Pointy subs. 17:46
lucs Hmm... No obvious good name.
stevan chip: very nice :)
chip Jeepers, next you're gonna make me support $^a
Khisanth autrijus: eval :perl5 looked better :)
chip No, I mean I don't support pointies, I'd forgot about them
But I have to stop adding features and start reorganizing and documenting now. Dammit
If I don't CPANize I can't ask for release permission
pasteling "malaire" at 217.119.39.217 pasted "build error with r1016" (54 lines, 4.4K) at sial.org/pbot/8502 17:47
autrijus Khisanth: patches welcome, really :)
malaire: fixing.
Khisanth oh I thought that was some official thing :) 17:48
iblech r1016, GHC 6.2: src/Embed/Perl5.hs:32: Variable not in scope: `withArrayLen' 17:58
autrijus malaire: are you on GHC 6.2? 18:00
malaire no, 6.4 18:02
autrijus ok, try again. 18:16
pasteling "iblech" at 80.81.8.28 pasted "Build failure with GHC 6.2" (12 lines, 379B) at sial.org/pbot/8503 18:20
iblech food & 18:22
jabbot pugs - 1017 - * only enable PUGS_EMBED=perl5 condition 18:23
crysflame pointy subs? 18:25
autrijus iblech: try again 18:28
malaire building works for me now (without perl5 embedding) 18:31
autrijus good. 18:33
EMBED needs more work with ExtUtils::Embed.
I have done it all once with PAR
so it can be made to work. just not tonight :)
(but it worksforme, oddly.)
jabbot pugs - 1018 - * mistyped.
iblech autrijus: Works now :) 18:34
malaire anyway, I'm more interested to get mandel.p6 to pir working, than to play with perl5 18:35
autrijus sure.
clkao interesting 18:36
./pugs
/libexec/ld-elf.so.1: Shared object "libperl.so" not found, required by "pugs"
theorbtwo ldd `which perl` 18:37
clkao it points to the right sitelib directory, of course. 18:40
autrijus do you have a libperl.so?
clkao sure.
autrijus LD_LIBRARY_PATH? 18:41
clkao or how do i run svk?
wolverian do method calls interpolate in strings today?
clkao it's all normal. this newly built pugs just suddenly fails that way.
because we weren't linking libperl before i guess?
malaire yep, I get error on libperl.so also, when trying to run new pugs 18:42
autrijus !.
try again. 18:43
jabbot pugs - 1019 - * do not -lperl in vain.
autrijus r1020.
works? 18:45
malaire still compiling... 18:46
yes, works now 18:47
18:51 [1]metaperl is now known as metaperl
malaire hmm.. "make test" seems to be broken - it doesn't run tests in subdirs like t/builtins/{hash,io,list,strings}/*.t 18:52
jabbot pugs - 1020 - * oops. 18:53
autrijus malaire: right. add them to Makefile.PL? 18:54
malaire but there are some tests which should be skipped (e.g. t/rules/disabled/rules.t) - so what should be skipped and what not? 18:55
autrijus maybe mv disabled to Disabled 18:57
and skip those that are upper cased?
(just a random thought)
iblech malaire: How about (Makefile.PL, line 28) test => { TESTS => join ' ', grep { !/disabled/ } "t/*.t", "t/*/*.t", "t/*/*/*.t" },
autrijus that works too, except you need to !/Dialects/
autrijus still working with #parrot. 19:00
theorbtwo wonders what network that is. 19:01
autrijus irc.perl.org.
current topic:
hey, this parrot thing is actually saner than I hoped. -- Autrijus
metaperl lol 19:02
iblech Right. Then mv disabled Disabled and grep { !/^[A-Z] } ... -- will do
malaire that grep-trick isn't working.. when running "make test", the harness-command is C< test_harness(0, 'inc', 'blib/lib', 'blib/arch')" t/*.t t/*/*.t t/*/*/*.t >, and that grep(...) from Makefile.PL is nowhere 19:06
clkao is it intended for 'make' always trying to relink the binary? 19:07
or my timestamp is fubared?
malaire err, anyway, it's not working and Dialects & disabled tests are run (I really don't know much about Makefile.PL) 19:09
iblech malaire: see line 64 of inc/Module/Install/Pugs.pm -- will fix
mj P1018 - MSYS-MinGW build - 81/2449 subtests failed 19:12
vladtz P1020 build fails in Compile.Haskell 19:14
autrijus vladtz: fails how? 19:15
vladtz Itś a long error for the Haskeel code, where do I paste it? 19:16
malaire perlbot: nopaste
perlbot Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel>
pasteling "vladtz" at 80.127.84.50 pasted "Compiling Compile.Haskell ( sr" (32 lines, 1K) at sial.org/pbot/8505 19:17
autrijus vladtz: you are using a stage1 compiler. 19:21
vladtz: that should not happen. what kind of GHC are you using?
iblech With the t/*/*/*.t tests, there're now 100/2808 test failures on Linux, GHC 6.2 19:22
autrijus update topic.
autrijus is journaling
thanks :) 19:23
jabbot pugs - 1022 - Actually checking the tests of t/*/*/*.t
pugs - 1021 - Minor POD nit fixed.
pasteling "mj" at 147.229.221.107 pasted "build failed - 1020, nmake, ActivePerl 5.8.4, GHC 6.4" (36 lines, 2K) at sial.org/pbot/8506
iblech 100 subtests fail | pugscode.org <<Overview Journal>> | pugs.kwiki.org | logged: xrl.us/e98m 19:24
vladtz I am usign 6.4 from the Fedora page, IÄŗl see if they have an update. 19:24
autrijus mj: win xp? 19:26
iblech mj: IIRC, 81 subtests failed for me, too, before we were checking *all* tests 19:28
autrijus mj: I've fixed your building problem 19:44
try again?
jabbot pugs - 1023 - * fix build error on win32 by not -lperl 19:53
autrijus we are on revision 1k now! :) 19:55
lumi_ Hi 20:03
theorbtwo Hi, lum-i.
jabbot pugs - 1024 - * typo
lumi_ r2**10! 20:04
autrijus yup! 20:07
chip "At the Christian Guardians, we believe that astrology is much like most other things. Just as there is good and bad in almost everything else, there is bad astrology and there is good astrology.
ww
mj Pugs 1023 - WinXP, GHC 6.4, ActivePerl 5.8.4 - 100/2808 subtests failed, 96.44% okay. 20:08
autrijus good. 20:09
lightstep very strange parse error on t/builtins/goto.t 20:12
gaal hello! 20:15
wolverian should method calls interpolate in strings? I think not outside {}s
lightstep perhaps missing or extra semicolons cause trouble
wolverian just looking at this test and it looked odd.
lightstep and t/pugsbugs/die_and_end.t has 200% failures, but that's to be expected 20:17
mj nmake isntall
dir c:\perl\bin\pugs*
4,2 MB pugs.exe.bat
how to remove $(FIXIN) $(INST_SCRIPT)\pugs.exe from Makefile ?
wolverian ah, they do, but only with parentheses.
autrijus mj: I don't think it does anything. 20:18
except that pugs.exe.bat may take some disk space.
wolverian I guess t/oo/meta_class.t might be wrong, then. (although I guess it's not exactly finished either :)
jabbot pugs - 1026 - * same fix for runHaskell on win32 20:23
pugs - 1025 - * win32 hates exec()
wolverian t/syntax/string_parsing.t might be wrong also, as it doesn't have ()s either. (I'm not sure if it is testing whether the call IS parsed or not) 20:24
Limbic_Region autrijus - out of curiosity, how has hanging out in #parrot been? 20:41
autrijus very nice. 20:43
folks there are very helpful.
Dan is back :)
posted today's journal to p6c, p6i and p6l. 20:44
now I sleep. have fun!
bluefeet night autrijus
20:44 metaperl_ is now known as metaperl
theorbtwo G'night, autrijus. 20:44
bluefeet hi metaperl 20:45
autrijus I wonder if I should cross post to perlmonks :)
but, too tired to do that. if people want to help, feel free.
metaperl hi bluefeet
autrijus g'nite! & 21:11
vladtz bye
jabbot pugs - 1027 - * pugscc --haskell now works for GHC 6.2 21:33
pugs - 1028 - I found a bug with single quote strings 21:53
pugs - 1030 - more work on the perl6 FileSpec module, 22:33
pugs - 1029 - adding more lines to the synoposis based