pugscode.org | temporary feather address: perl6.wall.org | sial.org/pbot/perl6 | ?eval [~] <m oo se> | We do Haskell, too | > reverse (show (scanl (*) 1 [1..] !! 4))
Set by allbery_b on 24 March 2007.
moritz polettix: should I add a failing test case, or do you want to do that? 00:00
moritz is studying physics and is fairly confident that this _is_ wrong ;)
polettix moritz: I know I should, but I don't have enough will/time/power to upgrade ghc :/ 00:01
moritz polettix: to what?
dduncan which is abbreviated to "tuits"
polettix probably it's time that I upgrade, at last...
moritz: there has been a mandatory upgrade in ghc used for pugs a few months ago 00:02
moritz polettix: ok, so you're talking about ghc 6.6 00:03
polettix: because now 6.7 is out...
polettix: and I haven't upgraded, because Debian "to-be-stable" etch doesn't have it
00:03 overkordbaever left
polettix yes, I stopped at 6.4.2 00:04
geoffb And in any case, ghc 6.6 under etch works fine (that's the one I use)
.oO( Dangit, Debian, get Etch out the door. I want testing to start getting real updates, and not just week after week of translation fixes! )
00:05
moritz geoffb: won't be long... a week or so 00:06
00:06 avarab joined
geoffb moritz: oh thank $deity 00:06
geoffb wonders whether Debian Etch or CentOS 5 will release first .... 00:08
moritz geoffb: at least that's what Andreas Barth wrote a few days ago on d-devel-announce
moritz wonders if perl6 or duke nukem forever will release first ;-)
00:08 mr_ank joined
geoffb Perl 6, clearly. DNF is a self-fulfilling prophecy 00:09
00:09 avarab is now known as avar
moritz geoffb: a month ago I saw on amazon.com that you could preorder DNF - with a release date somwhere in autumn 2007 ;-) 00:09
geoffb: ok, what about The Hurd? 00:10
geoffb moritz: wow. Very ... optimistic.
You know, I sincerely wonder how anyone manages to continue pitching DNF for continued funding.
Well, heck, at least you can sortof run Debian on that ... prolly about as well as say Debian/NetBSD, but then I've never used either one .... 00:11
moritz geoffb: same for me... but when did they start? somwhere end 80's? 90's? 00:12
ok, there aren't really many hurd developers left 00:13
some 4 making regular contributions I heard lately
polettix moritz: I don't find Haskell 6.7 (haskell.org/ghc/download.html)
lambdabot Title: The Glasgow Haskell Compiler
geoffb Well, hmmm. Doom came out in what, '93 or so? So DN must have been around the same time, and DNF probably started mid-90's then. We must have already crossed the decade point.
moritz polettix: maybe it's not yet final 00:14
00:14 lumi_ joined
geoffb OK, must revert to pumpkin form now. 00:15
commute &
svnbot6 r15825 | moritz++ | added test for exponentation op in complex context, polettix++ 00:20
dduncan question: are any of you aware of either programming languages that allow symbols or identifiers to be the empty string (only possible with delimited symbols/identifiers), or file systems that allow file names to be the empty string?
I know that a hash key can be the empty string, so theoretically, allowing an empty for either of the above seems reasonable 00:21
moritz dduncan: I know of none
dduncan: and I think that it might be reasonable, but it is counter-intuitive
dduncan: why would you store something in nothing? 00:22
dduncan if you conceptualize that an entity name is a string, and a name can include any characters, and a string can be empty, it wouldn't seem unreasonable for an entity whose name is the empty string 00:23
if the language already supports delimited identifiers, or $($foo), then $foo could be the empty string and it technically should work
moritz dduncan: but if you are programming, what kind of data would you store in a variable with an empty name?
you could use $, @ and % in perl ;-) 00:24
dduncan it could be used either for a default value or for a root namespace
polettix compiles ghc...
dduncan eg, a path in unix has parts delimited by /, and the root doesn't have anything except the /
moritz dduncan: yes, but it has the "/", and if you remove that, you still have "." 00:25
dduncan: you for UNIX paths you always have a non-empty alias
dduncan well anyway, I'm going to experiment with supporting empty-string identifiers, and see what comes out of it in practice
moritz but defaults are an interesting idea
dduncan: what kind of language are you designing? 00:26
dduncan a similar argument could be made for, a hash allows an empty-string key, so what value would you associate with it?
Juerd It'd make some sense if $_ were called just $ :)
Although that'd pose a huge problem with $.foo :)
polettix dduncan: while I can understand a rationale for an empty hash key, I don't fully get the benefits of an empty variable identifier
dduncan if you use a hash as a name-space
in many ways, a hash and a namespace are very similar conceptually, or some would say identical 00:27
Juerd polettix: In Perl 6, the empty-named variables $, @, and %, represent the current invocant ("self object")
moritz dduncan: so would you allow variable names with whitespaces?
polettix Juerd: you see? now I can get the benefits!
dduncan yes
but I will point out that in my language, all identifiers are delimited normally 00:28
Juerd polettix: Consider the amount of typing you'll save in an average well-factored class :)
dduncan with non-delimited versions allowed for brevity in some cases
note that in any file system, a file name can have spaces in it
it is just as reasonable for identifiers to, if they are delimited
Juerd Not in a 8.3 fat system :)
moritz dduncan: not in FAT16
dduncan okay 00:29
moritz Juerd: damned, you're faster ;)
Juerd moritz: It's not about 16 versus 32.
fat16 supports long file names.
Just not big disks
dduncan but it is common in modern systems to support any (more or less) characters in file names
also, lots of database engines let you name entities with spaces or any characters in the names ... SQL calls them delimited identifiers or something
Juerd dduncan: No, Windows doesn't let you use a colon (":") in a filename
dduncan in any event, what I am writing is a database language
Juerd dduncan: And that's incredibly annoying because colons are used in timestamps a lot. 00:30
dduncan are you sure Windows prevents the : at the filesystem level, or just in the UI?
moritz what does linux has as restrictions one file name? anything execpt '\0' and '/'?
Juerd Filesystem level.
dduncan okay
Juerd FAT could handle it, but the API refuses, as does the spec.
Same for NTFS 00:31
dduncan okay, in any event, I was just citing file systems for cases for reasonableness
wolverian so who likes newlines in filenames? :)
Juerd "If we started supporting it now, that would be incompatible with older versions" is the argument for not enabling the feature. It's not a technical issue.
wolverian: I'd use them if they could trick users using ls(1)
dduncan that's what emulation layers are for
wolverian Juerd, aw, ls doesn't print them? 00:32
Juerd wolverian: No, it substitutes them with question marks :(
wolverian how annoying
dduncan eg, on Mac OS X, file system delimiters are typically either / or : depending on which toolbox an application was written to, and it all just works thanks to emulation layers
Juerd wolverian: But surprisingly useful :)
dduncan and in any event, file names can contain either character, afaik 00:33
Juerd Unix filenames cannot contain /.
Slash and nullbyte are not usable. All other byte values are.
wolverian hm, I thought : was not allowed either, but I guess that's wrong.
Juerd I'm not sure, at all, how unixish systems handle unicode for filenames.
wolverian: : is allowed just fine 00:34
moritz touch : works ;)
wolverian (some compilers seem to use it as a filename:linenumber separator, though.. that's weird and breaks.)
moritz put all your binaries into b:in, push b:in onto $PATH and write a bug report that your binaries are not found ;-) 00:35
wolverian: no, you have to parse it from the back
<name>:<digit>+
no breaks
dduncan interesting ... I just used the Mac OS X 10.4.8 Finder to make a file named "foo/bar", and the Terminal shows it as "foo:bar", moreover, I made a file in the terminal using a :, and the Finder shows it as a slash ... the terminal won't let me use a / 00:36
wolverian moritz, yeah.
moritz <name>:<digit>+$ that is
Juerd juerd@lanova:~/tmp/foo$ perl -le'my $fn = join "", map { chr($_) eq "/" ? () : chr($_) } 1..255; open my $fh, ">", $fn or die $!'
dduncan that's probably the emulation layer
Juerd juerd@lanova:~/tmp/foo$ ls
??????????????????????????????? !"#$%&'()*+,-.0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
See? All 253 byte values.
Eh, 254
offby1 quit swearing! This is a family channel.
dduncan afaik, the Finder is a Carbon program, meaning it thinks delimiters are :
offby1 plugs his ears
Juerd offby1: This is not a family channel. 00:37
dduncan I mean, path separators
Patterner I think I used the Finder on the Apple ][
00:37 geoffb joined
Juerd Patterner: I think you shouldn't use drugs 00:37
dduncan I've used an Apple 2, but I don't recall what the name of its file manager was
Patterner Filer :)
Q)uit U)pdate R)un 00:38
moritz anyway, bed++
Juerd Yea, bed++
Good idea
z
moritz perlbot: karma bed 00:40
perlbot Karma for bed: 6
Patterner perlbot: karma coffee 00:41
perlbot Karma for coffee: -2
Patterner this is *not* right
polettix bed++ &
moritz perlbot: karma svnbot6
perlbot Karma for svnbot6: 1
moritz ;-)
'night 00:42
Patterner tea++
00:58 deq` joined 01:14 nelhage joined 01:18 dolmans joined
Aankhen`` Did "coerce:<as>" fall into oblivion? 01:18
01:55 kanru joined 02:00 Alias_ joined 02:03 ajs_home joined 02:12 kanru joined 02:23 kt joined, offby1` joined 02:37 SubStack joined 03:03 offby1 joined 03:22 justatheory joined 03:52 perlmonkey2 joined 04:05 avarab joined 04:08 [particle] joined 04:09 amnesiac joined 04:10 RHainsworth joined 04:11 RHainsworth left 04:13 prly_ joined 04:16 offby1 joined 04:34 MikeJS joined, Alias__ joined 04:46 justatheory joined, prly joined 04:51 prly__ joined 05:15 prly joined 05:26 the_dormant joined 05:30 prly_ joined 05:32 perlmonkey2 left 05:51 the_dormant joined 05:52 the_dormant left, the_dormant joined 06:00 devogon joined 06:01 tuna joined 06:09 offby1 joined 06:12 forsaken joined 06:14 BooK_ joined 06:26 esstone joined, eric__ joined
Aankhen`` ?eval 10 xx 5 06:28
06:28 evalbot_r15824 is now known as evalbot_r15825
evalbot_r15825 (10, 10, 10, 10, 10) 06:28
Aankhen`` ?eval my @foo = (1, <2 3 4 5>); @foo.perl.say 06:32
evalbot_r15825 OUTPUT[[1, "2", "3", "4", "5"]ā¤] Bool::True
Aankhen`` ?eval my constant @foo = (1, <2 3 4 5>); @foo.perl.say
evalbot_r15825 OUTPUT[[1, "2", "3", "4", "5"]ā¤] Bool::True
Aankhen`` ?eval my constant @foo = (1, <2 3 4 5>); @foo[5] = 6;
evalbot_r15825 \6
06:42 forsaken joined 06:49 eric__ joined
Aankhen`` Tene: Ping. 06:56
07:02 RHainsworth joined 07:12 buetow joined 07:20 kanru joined 07:25 ozo_ joined 07:27 marmic joined 07:51 polettix joined, jisom joined, dduncan left 08:05 the_dormant joined 08:06 the_dormant joined 08:10 luqui joined, buetow joined 08:11 kaoru joined 08:19 rfordinal joined
polettix my local mirror is stuck to 15820, does any other have the same problem? 08:21
polettix at last realises that svn.openfoundry.org/pugs might be a bit outdated 08:24
lambdabot Title: Revision 15820: /
Juerd polettix: It moved to svn.pugscode.org 08:25
Aankhen`` Aye.
polettix is there a page/hint for switching to the new repository?
polettix would like to RTFM 08:26
Juerd There is, but I don't know 08:27
You could of course just check out new.
polettix this would mean re-mirroring... I hope this is not really necessary
Juerd It probably isn't 08:28
integral svk mirror --relocate surely
Juerd I'm surprised that svn.openfoundry.org was kept up t odate all the time
polettix I'll ask in the svk channel, thanks :)
oh, I'll see it as well, integral
\o/ relocation successful, thanks :) 08:30
08:33 kaoru is now known as kaoru6 08:34 SubStack joined 08:39 andara joined 08:42 drbean joined 08:51 elmex joined 09:01 ayrnieu joined 09:03 forsaken joined 09:04 MikeJS joined 09:12 xinming joined 09:13 ruoso joined 09:26 MikeJS joined 09:32 MikeJS joined 09:46 buetow joined 09:50 do joined 09:52 do left 09:53 do joined 09:56 RHainsworth joined 10:19 chris2 joined 10:27 DarkWolf84 joined 10:29 lichtkind joined
lichtkind audreyt: i need a nice and free(GFDL) pisture of you for wikipedia pugs article , have you one? 10:32
moritz lichtkind: do you notice that the english Audrey_Tang article has one? 10:33
lichtkind moritz: thats the one we actuelly use and its not everybodys favor 10:34
i like it but for many its pain in the eyes
but hej i foun another in wiki commons commons.wikimedia.org/wiki/Image:Au...Tang_2.jpg 10:36
Leibsle: moin :) 10:37
10:41 avarab is now known as avar
moritz lichtkind: perl-6.de/ my new German project, feedback is welcome 10:54
lambdabot Title: Perl 6 - Programmieren fĆ¼r Faule
lichtkind ok i link it om rurrentyl busy :) 10:55
moritz lichtkind: no problem, thx
lichtkind moritz: inserted : * [[perl-6.de][perl-6.de]] deutsche Wiki zu Perl6 von Moritz Lenz 10:58
moritz lichtkind: das ist kein Wiki ;-) 11:01
lichtkind: vielleicht bekommt es noch eins, aber bisher nicht
lichtkind achso die buttons sahen so aus
ok
ich Ƥnder das 11:02
11:04 buetow joined 11:07 forsaken joined
lichtkind moritz: ---++ weitere Informationen: 11:13
* [[perl-6.de][perl-6.de]] deutsche Perl6-Seite von Moritz Lenz
moritz lichtkind: danke
11:15 iblechbot joined
lichtkind gerne 11:15
11:25 buetow joined 11:28 tuna joined 11:35 rfordinal joined 11:36 the_dormant joined 11:44 rfordinal_ joined 12:03 buetow joined 12:05 eumenides joined 12:11 charsba__ joined 12:14 Limbic_Region joined 12:20 buetow joined 12:31 fglock joined, idiotmax joined 13:06 manjuj joined
manjuj Hi. I am trying to install pugs on a machine where I am not the root. At the last step, when I do "make install", it tries to mkdir /usr/local/lib/perl6, and so fails. I did export PUGS_BUILD_OPTS=install_dir=/home/gphilip/local/ as mentioned in the INSTALL file, but that didn't help. What is a workaround? 13:13
kolibrie most of us do not install, but run from the build 13:14
lumi_ Maybe you can use chroot or fakeroot? 13:15
moritz manjuj: iirc the INSTALL file mentions as well thet PREFIX is broken :(
manjuj kolibrie: that means you use the ./pugs executable in the build directory, right? 13:16
kolibrie yep
I have a symlink from my pugs executable to ~/bin/pugs 13:17
manjuj lumi_: those are not an option for me
everybody: thanks
kolibrie manjuj: you're welcome
manjuj Another question: I would like to start contributing, but don't know where to start. 13:18
kolibrie do you have a commit bit?
manjuj Is there some specific task that I can start on? 13:19
kolibrie: yes
kolibrie manjuj: good, that's the first step
manjuj I have started on the Apocrypha
kolibrie mostly, we just contribute where we have interest and when we have time
manjuj kolibrie: I have interest and time, but don't know a specific task to start with. I know C, and am learning Haskell. 13:20
kolibrie I've written tests, and I play a lot with fglock's Pugs::Compiler::Rule, and give suggestions
manjuj Is there a todo list somewhere, so that I can look over the list and start tinkering with something? 13:21
gaal manjuj: dev.pugscode.org/ and follow "all open tickets"
lambdabot Title: Pugs - Trac
manjuj gaal: thanks
moritz manjuj: our _big_ todo list are the failing test cases ;-) 13:22
gaal np
13:24 Loro_ joined
manjuj is it ok to use darcs with the pugs source, or should i use svn only? 13:26
gaal the dacrs mirror is read-only
manjuj gaal:ok
so i have to use svn if i have to do commits
gaal or svk. :-)
moritz manjuj: do you have a commit bit? 13:27
manjuj moritz: yes
moritz very well ;-)
TimToady another way to get at the tasks is via putter's picture of the project.
see dev.pugscode.org/browser/project_pl..._graph.png
lambdabot Title: /project_planning/a_dependency_graph.png - Pugs - Trac, tinyurl.com/yu9fvz
moritz TimToady: I'm a bit fixed on design by contract... in Eiffel you can label pre- and postconditions... 13:28
13:28 dmq joined
moritz TimToady: so that when one fails, it's easier to locate... 13:28
TimToady: or even to see what the problem might be without looking at the source code 13:29
TimToady: do you think that might be a good idea for p6 as well?
TimToady see S04:918 13:30
moritz ok
TimToady and S06:1562 13:31
biab & 13:32
moritz I meant something like PRE { not_zero: $x < 0; is_valid_foo: foo($x) > 0; } 13:33
with explicit names for single PREs and POSTs 13:34
so maybe not_zero: PRE { $x != 0 }; is_valid_foo: PRE { foo($x)> 0}
TimToady maybe not_zero: PRE { $x < 0 }; is_valid_foo: PRE { foo($x) > 0 } 13:35
he
heh
moritz is that already in the spec?
moritz is overwhelmed by the shear mass of text in the specs ;-) 13:36
PerlJam is sitting here wondering what "maybe" means in perl6 ;-)
TimToady no, but valid syntax, and presumably whatever processes the PRE could look up the label
moritz ok, so it would be just a small step 13:37
TimToady actually, "maybe" is used in contend blocks.
gaal maybe every default exception handler could print "near label FOO:" if there's a FOO nearby
(regardles of DBC)
s/s/ss/
moritz nice idea 13:38
TimToady I don't know what dbc does with the labels; is it more than reporting?
gaal though perhaps for autodocumentation value, DBC wants more textual names
moritz TimToady: in Eiffel not
PerlJam seems like it would be better to have some syntax like this then: PRE :labeld("foo") { ... } 13:39
er, labeled
(if it's just for reporting)
TimToady or perhaps there's something that can be done with label => ($x < 1) 13:40
manjuj what is "smoke testing" ? where can i read up on that? I tried "make test", and it fails with "runcompiler...openFile does not exist...". I remember seeing sometime during the compilation that some package required for smoke testing is missing, though i don't remember what.
TimToady back briefly in 20 minutes &
manjuj i meant "make smoke" 13:41
avar smoke testing is just when you submit `make test' results to a central server, usually automatically
gaal manjuj: openFile does not exist probably means someone forgot "-e" somewhere, tracking that down would be great
moritz and producing a nice HTML output
gaal manjuj: see smoke.pugscode.org/
lambdabot Title: Pugs Smoke Reports
manjuj gaal: thanks
gaal click on one of the rightmost >>s 13:42
manjuj all: thanks
gaal if you want to perform a smoke yourself, "cpan Task::Smoke"
Can take about 45min, give or take three hours
manjuj so am i not supposed to do "make smoke", just "cpan Task::Smoke" ? 13:43
gaal oh no, make smoke; but you need some Perl 5 modules for that
so unless you happen to have them installed on your system already, run the cpan command above to get them.
(once per machine).
manjuj got it
but that too would require root permissions, wouldn't it? 13:44
gaal not necessarily
manjuj ok
i'll try
gaal if you habitually install stuff from cpan to your ~/perl or something, it's no different
manjuj ok 13:45
gaal I can't look into that error that you saw, so just for the sake of whoever wants/can debug it: runcompiler is a small wrapper that we generate that just calls the haskell compiler with the correct local package paths and stuff 13:46
apparently one call to it somewhere breaks -- manjuj if you still have the output from 'make' that shows it please paste it here: sial.org/pbot/perl6 13:47
manjuj in a minute
gaal ..with sufficient context to see where it occurs
great, manjuj++
bbiab &
manjuj The first error I get is "ghc-pkg-wrapper: ~/download/pugs/third-party/installed/packages.conf: openFile: does not exist (No such file or directory)", and it looks like something is missing in my local installation, rather than something to do with the source. 13:53
gaal: would it be still useful if i paste the output from 'make' ? 13:56
TimToady back (briefly)
moritz manjuj: if you can resolve this issue by installing prerequiries it's not usefull 13:57
gaal manjuj: did you complete one 'make'? 13:59
manjuj gaal: no, i am doing that cpan install now 14:00
gaal manjuj: I meant, of pugs itself. That file, packages.conf, is only created when you build pugs 14:01
DarkWolf84 how I can make labels for last in perl6 14:02
manjuj gaal: yes, i did one make (actually several), the error comes when i do 'make install' after that
sorry, the error comes when i do 'make smoke' 14:03
gaal oh, I thought it was in make smoke... so okay, it's probably related to your more general install
er, ESCdd, okay. :-)
manjuj 'make install' has some other error -- no root permission etc
gaal nodnod
DarkWolf84 make test fails too for me 14:04
TimToady DarkWolf84: loop labels work the same as in Perl 5. 14:07
14:07 eden_c joined
PerlJam TimToady: btw, what precipitated the recent S05 changes? Did you have an aha! moment or something? 14:08
gaal no, it was April Fool's day, and he had a ha-ha! moment. 14:09
TimToady I made a list of metachars and non-metachars and realized that 2/3 were already meta
PerlJam gaal: heh
TimToady and I'd just got done bragging on PerlMonks that P6 kept you from memorizing arbitrary lists of exceptions
gaal (brad driven development)++
brag, too
Limbic_Region someone hit me with the clue stick. What is the syntax for initializing multiple variables in a C for loop? 14:10
PerlJam TimToady: Well, I have to tell you that when I read your modifications I thought "why wasn't it this way to begin with?"
gaal Limbic_Region: commas
PerlJam Limbic_Region: for (i =0, j =1, k = 5; ... )
gaal Limbic_Region: for (x = 0, y = 0; x > y ; x++, y--) {...} 14:11
Limbic_Region thanks
TimToady PerlJam: It was one of those things that is only obvious in retrospect, like the patch program. 14:13
well, I've gotta commute from Williamsburg to Baltimore, so I'll be offline for a bit.
PerlJam TimToady++ have some karma for your trip :-)
14:14 forsaken joined
TimToady thanks 14:14
bbl &
gaal I liked the pictures
(the examples)
14:14 forsaken joined 14:16 forsaken joined, fglock joined 14:18 forsaken joined, ayrnieu joined, rfordinal_ is now known as rfordinal 14:19 forsaken joined 14:20 amnesiac joined 14:36 perlmonkey2 joined
kolibrie TimToady: hey, you'll drive right past me (Fairfax) 14:38
and Limbic_Region, too, I believe 14:39
14:42 deq` joined 14:46 kanru joined 14:48 ashleyb joined, ProperNoun joined 15:01 bonesss joined 15:11 lambdabot joined 15:15 vel joined 15:19 vel6608 joined 15:45 BooK joined 15:49 fglock joined 15:54 Casan_ joined 15:55 Casan__ joined 16:09 Jedai joined
moritz should [+] @f be the same as reduce &infix<+>, @f? 16:16
16:23 cmarcelo joined, fglock joined
cmarcelo fglock: ping 16:23
moose
fglock cmarcelo: ola 16:24
cmarcelo: you asked about mp6-in-pugs, 16:25
the idea is to generate code that pugs can run,
but the regex engine compiles to perl6 code
so mp6-in-pugs doesn't depend on PCR or PGE 16:26
16:26 Lorn joined
moritz ?eval 4i ~~ Num 16:26
evalbot_r15825 Bool::False 16:27
cmarcelo Lorn: hey.. we are discussing the possible tasks for YAPC::SA.
fglock cmarcelo: so you have the whole compiler tools in plain perl6
moritz ?eval 4i ~~ Complex
evalbot_r15825 Bool::True
polettix moritz: is this what you expect?
moritz polettix: no, Complex should be a subtype of Num
polettix phew! :)
Lorn cmarcelo: cool, we need this :)
moritz polettix: at least if I'm not completely wrong
cmarcelo so, we have mp6-in-pugs, which get mp6 code and turns into the subset of perl that pugs runs? 16:28
Lorn i searching a specification of STD...
16:28 fglock joined
cmarcelo fglock: so, we have mp6-in-pugs, which get mp6 code and turns into the subset of perl that pugs runs? 16:28
16:29 eden_c joined
fglock cmarcelo: yes 16:29
Lorn cmarcelo: wow, you will think to do this? mp6 in haskell ?
eden_c hi
cmarcelo eden_c: moose!
(festa de brasileiros hoje no canal?)
fglock but "mp6" can actually turn out to be a superset of pugs :)
eden_c cmarcelo, moose rules 16:30
cmarcelo Lorn: actually, make mp6-in-pugs generate code for pugs run... (as I understood)
eden_c cmarcelo, is that what we're doing at the hackathon? 16:31
avar how about generating pasm?:)
cmarcelo fglock: also, there's the regex engine in p6. is this "task" independent? or mp6-in-pugs depend on this?
eden_c: we are throwing ideas in the air :) 16:32
avar: pasm = parrot asm? (I'm not familiar w/ parrot project)
avar yep
eden_c cmarcelo, I still need to get the hang of the perl6 project lingo
16:32 fglock joined
avar anyway, having it generate a subset of p6 is cool for running it on $other_stuff 16:32
like perl6.pir or pugs 16:33
cmarcelo avar: fglock suggested mp6-in-pugs and mp6-in-parrot, the later would be generate pasm I think..
fglock: read irc logs
spinclad mp6-to-PAST would be useful
fglock avar: the idea is to use mp6 (or kp6) as a desugaring layer 16:34
cmarcelo eden_c: did you read flavio's email about hackaton in cascavel-pm?
fglock in order to support the several backends
eden_c cmarcelo, yep
cmarcelo spinclad: hi :)
spinclad hi all
ashleyb cool ---> perl6.cz/wiki/Synopses looks like the history of these synopses wiki pages are kept in real time with the changes that are checked in, So this looks like the best place on the web to view changes to the Synopses in context (unless someone knows of a better way on the web ??). Who's responsible for this page (I don't speak czech)? anyone know? (for example, see diff: perl6.cz/w/index.php?title=Synopses%2
lambdabot Title: Synopses - perl6.cz 16:35
fglock if we get perl6-to-p6parrot running, it can then generate pir (for example)
so the next generation of 6-on-6 would run on haskell, perl5, and parrot
by piggybacking on existing implementations 16:36
cmarcelo pasm = parrot asm code, PAST = ______, PIR = pugs intermediate representation?
spinclad PAST: parrot Asomething syntax tree 16:37
fglock (I've got a really lousy connection today)
eden_c me too, I'm still waiting for my account on feather
16:38 fglock joined
spinclad parrot has tools for PAST -> POST (parrot operator syntax tree, equiv of PIR or pasm) -> PIR, pasm, or pbc (parrot byte code) 16:38
more or less
cmarcelo spinclad: these tools are working 'today'?
fglock cmarcelo: the regex engine is a compiler that is written in mp6
cmarcelo if so, PAST looks like is a better target indeed.. 16:39
spinclad think so
[particle
oop 16:40
fglock cmarcelo: please see this pugs.blogs.com/photos/visiolization...strap.html
lambdabot Title: Visiolization: Mp6bootstrap
16:40 diotalevi left
spinclad [particle] would know, he works in parrot and talks here 16:40
cmarcelo k
fglock: today's mp6 uses PCR to regex processing?
fglock no, it uses it's own bootstrapped regex engine 16:41
the mp6 regex engine is written in mp6
as well as the grammar compiler 16:42
cmarcelo in the picture you sent, mp6->haskell | generate haskell code, is this indeed a target?
fglock not anymore,
the idea is that we can simply generate pugs code
cmarcelo fglock: what do you think about generating PAST, if there are tools for PAST ~~> (PASM|PIR)?
fglock which ends up in haskell land ultimately 16:43
same thing,
we can generate p6parrot instead
which is much higher level
Lorn fglock: everything was did in p6 need to pass to haskell for pugs? 16:44
fglock so we can concentrate on writing 6-on-6, instead of the several backend details
Lorn: yes, everything end either on haskell or perl5
[particle] is here, briefly
fglock [particle]: hi :)
[particle] howdy 16:45
cmarcelo [particle]: moose.. are there tools today that transform PAST into POST, POST into PASM and POST into PIR?
Lorn fglock: but first, need to work fine in p6 rigth?
16:45 Southen_ joined, andara left
cmarcelo fglock: what do you mean by p6parrot? what's the difference between making mp6 generate PAST? 16:46
[particle] cmarcelo: we have hll --pge--> parse --tge--> past --tge--> post --tge--> pir
we've been working on post --> pbc, too
fglock cmarcelo: p6parrot is parrot's perl6
[particle] we haven't done post --> pasm, because pir is much better :)
fglock it is an "hll" 16:47
[particle] however, it wouldn't be *hard* to do, if desired
we're also thinking about renaming our perl 6 impl to 'onion'
that should ease some confusion
fglock "onion" then :)
cmarcelo confused. what PIR mean then? I thought Pugs intermediate representation was this PIR..
moritz cmarcelo: Parrot, not Pugs ;-) 16:48
[particle] parrot intermediate language (or representation, if you like acronyms that match)
pugs has PIL
pugs intermediate representation ;)
cmarcelo [particle]: the VM itself runs PIR code or only pbc?
[particle] the compiler, imcc, compiles pir and executes it
the vm has a bytecode loader for pbc 16:49
cmarcelo hmm.. Pugs-IL is at same level of abstraction as Parrot-IL, or more like PAST?
[particle] alternately, imcc can produces bytecode instead of running it directly
cmarcelo [particle]: nice..
[particle] pugs-il is like past
past is the place you should target
it's the point of greatest abstraction 16:50
16:50 buetow joined
[particle] it's equally abstracted from HLLs and VMs 16:50
it's also a good place to transform from another AST to PAST or vice versa 16:51
[particle] wanders off, bbi15m
eden_c fglock, (ot) are we getting wireless at FISL?
16:53 fglock joined
fglock 6-on-6 ILs are v6.pm, pugs, and onion :) 16:53
Lorn eden_c: in the last year we had wireless
fglock eden_c: yes
spinclad fglock, [particle]: so p6parrot is closer to mp6 than PAST is, and p6parrot already targets PAST internally, as it were?
perlmonkey2 No one in #perl knew, but maybe someone here will (since it isn't in the docs). Do you call/set Moose destructors like explicit destructors in p6? 16:54
fglock spinclad: yes, and p6parrot is meant to evolve into full-perl6 16:55
spinclad perlmonkey2: if someone here doesn't know, try #moose
fglock perlmonkey2: you don't need to call the destructors
perlmonkey2 life is full of wants with very few actual needs.
16:56 justatheory joined
svnbot6 r15826 | moritz++ | Added testcase for 1i ~~ Num 16:56
fglock but DESTROY should just work
s/p6parrot/onion/
perlmonkey2 thanks
spinclad fglock, others: how far apart are mp6 and onion? do we have docs that can tell us that around? 16:58
pasteling "evalbot_r15825" at 194.145.200.126 pasted "Pugs build failure" (316 lines, 17.2K) at sial.org/pbot/24003
fglock spinclad: I don't know :( 16:59
16:59 cmarcelo_ joined
spinclad guess that's what we're to find out and converge 16:59
cmarcelo_ (machine troubles...) 17:00
fglock the architectures are very different, and the feature set is probably different too
17:01 cmarcelo_ is now known as cmarcelo 17:03 bernhard joined
cmarcelo fglock: I still don't get how p6parrot (as you call) is different from doing mp6->past and working on top of mp6... 17:04
fglock cmarcelo: same thing, but mp6-onion should be easier to implement 17:05
Lorn what is onion? :P
[particle] back
fglock Lorn: onion = perl6-on-parrot 17:06
Lorn fglock: tks
fglock cmarcelo: onion is a higher level target
cmarcelo higher than PAST? 17:07
[particle] onion is perl 6 syntax, with a parrot back end
past is an abstract syntax tree
*the abstract syntax tree for parrot 17:08
all hlls on parrot may (but don't have to) use past
parrot provides a compiler toolchain called 'partridge' for hll developers 17:09
17:09 ruoso joined
[particle] pgc is the parrot grammar compiler, using pge, which helps hll developers write hll parsers 17:09
fglock
.oO( we needed [particle] at the hackathon )
[particle] then the hll developer uses tge (tree grammar engine) to generate past
17:10 ozo_ joined
[particle] partridge has already written converters for past -> post -> pbc (or pir) 17:10
so once a hll developer has emitted past, his job is basically done
then it's time to document, and write tests :) 17:11
cmarcelo recap: so the idea is make a mp6 use 'partridge', and build p6p6 on top of mp6? or drop mp6 at all? 17:12
[particle]: thanks for the explanation.
[particle] you're welcome!
fglock cmarcelo: mp6->onion->partridge->... 17:13
spinclad is p6parrot/onion found in languages/perl6 in the parrot tree? 17:14
fglock and then: 6-on-6 -> onion -> partridge or 6-on-6 -> partridge
moritz spinclad: yes, in languages/perl6 17:15
spinclad: it's not yet renamed to onion
spinclad right, we just heard it renamed here
[particle] onion is the proposed name, but it's gaining some traction here :)
it's not yet passing 01-sanity tests 17:16
cmarcelo fglock: so onion exists already, and implements a sufficient subset of 'Perl 6'? sufficient = enough to satisfy mp6 backend needs..
fglock yep
[particle] cmarcelo: i'm not sure it implements that subset, yet. fglock, are you sure?
i don't know the mp6 requirements well enough 17:17
moritz fglock: even though onion doesn't support variables yet?
fglock mp6 doesn't need much - closures, basically
cmarcelo wonders if Parrot will compile in his amd64 machine... (I've tried few times before and "bad" things happened)
[particle] onion supports variables
it doesn't support hashes, or arrays (maybe) or BEGIN/END blocks 17:18
fglock mp6 needs basic OO, but even this can be made optional
moritz [particle]: then STATUS is outdate
[particle] parrot's object model implementation is moving forward very quickly
it's meta, and tres cool 17:19
cmarcelo fglock: recap v2 => mp6 ~> onion, p6p6 built on top of mp6, regex compiler on top of mp6.. those are the tasks listed so far?
fglock BEGIN/END are implemented at mp6-land :)
17:19 eumenides joined
[particle] fglock: yay!@ 17:19
fglock cmarcelo: yes
pasteling "moritz" at 80.193.211.68 pasted "Variables in onion - what's wrong?" (5 lines, 57B) at sial.org/pbot/24004 17:20
cmarcelo fglock: ok. questions: mp6 code is a subset of p6? mp6-code is valid p6-code? what's missing in Pugs p6 that's needed to run mp6? 17:21
fglock cmarcelo: some mp6 constructs are syntax errors in pugs; I'm not sure if these are actual errors or not 17:22
cmarcelo hmm.. are they syntax errors from Perl 6 point of view? or your not sure about this? 17:23
fglock I'm not sure if it is valid syntax, such as: my $v = MyClass( value => 1 )
my $v = ::MyClass( value => 1 ) 17:24
a simple refactoring would fix it, but I'm not sure if this is a syntax error or a pugs error 17:25
17:25 eden_c joined
fglock I think it was "conjectural" at the time mp6 was implemented 17:26
17:26 prism joined
fglock so running mp6 on pugs is likely doable at the hackathon 17:27
mp6 on onion would be nice-to-have
cmarcelo fglock: ok. I have to go now. could you "summarize" our discussion and post to cascavel-pm | pugs-compiler? or make a page on dev.pugscode.org, so we can keep track of the possible tasks... 17:28
fglock ok
[particle] moritz: i need to rebuild parrot to check....
moritz [particle]: ok
cmarcelo is it "safe" to do a 'make install' in parrot? 17:29
[particle] cmarcelo: it should be
there have been reports of failures, but we're trying to fix them all 17:30
you know how that goes :)
eden_c it complains about not being able to develop it on the same machine
spinclad fglock: does mp6 assume native hashes and arrays? that could be an obstacle, and a best 'next feature' for onion 17:31
[particle] there are some lingering problems about finding shared libraries. parrot may find your installed lib before your dev one, which can lead to segfaults, obviously
fglock spinclad: yes, it does
cmarcelo [particle]: same complaint here. changing perspective: how do I run "perl6.pir" w/ uninstalled parrot ?
[particle] cd languages/perl6 && ..\..\parrot perl6.pbc 17:32
it should be in the pod, as well: perldoc perl6.pir
cmarcelo imcc wasn't compiled after 'perl Configure.pl; make', is this expected? 17:33
[particle] @tell TimToady now that we have # todo :foo<bar> and # skip, i'd like to see # spec :PDD15<Role PMC API/=item add_method>
lambdabot Consider it noted.
spinclad parrot of course has native hashes and arrays, even perl6-flavor more or less, if i recall rightly; it would be the new syntax and parsing to PAST that's needed i would guess 17:34
17:34 maxy7 joined
[particle] past is missing iterator support, iirc 17:35
cmarcelo [particle]: imcc wasn't compiled after 'perl Configure.pl; make', is this expected?
(perl6.pir complains about imcc not being found) 17:36
[particle] compilers/imcc should be compiled, but it's not standalone
you run parrot -o foo.pbc foo.pir # this runs imcc
17:38 sunnavy joined, Jedai joined
cmarcelo running this I get: 'imcc no such file or directory'.. I have to run now.. I'll try more later, thanks folks. 17:40
17:41 the_dormant joined
eden_c I'm getting the same here 17:41
[particle] have you created a file named foo.pir with pir code inside it?
or, do you mean you're running perl6 and it's failing with that message? 17:42
eden_c can't I run the perl6.pir?
[particle] did you run make in languages/perl6?
eden_c hm, no
[particle] aha!
cd languages/perl6 && nmake all test 17:43
eden_c the installed version of parrot didn't work for me
svnbot6 r15827 | fglock++ | v6/yapc-sa-hackathon.txt - task ideas 17:44
cmarcelo [particle]: I tried with perl6.pir.. I thought foo.pir was like file.pir :o)
17:44 tuna joined
cmarcelo see you later & 17:44
fglock++ # summary of ideas :)
17:47 IllvilJa joined
eden_c [particle], 5 test scripts failed 17:48
17:50 Psyche^ joined
svnbot6 r15828 | audreyt++ | * Snapshot merge of the pad branch into trunk. 17:52
r15828 | audreyt++ | Tests mostly passes; YAML compression is turned off for now
r15828 | audreyt++ | which results in slower startups, but otherwise it's functioning
r15828 | audreyt++ | as specced.
r15828 | audreyt++ | However, need another two solid days of work before the entire
r15828 | audreyt++ | separate-compilation model and class/role composers work, for
r15828 | audreyt++ | releng to start and the tree to be labelled as Pugs 6.28.0.
r15828 | audreyt++ | Problem is: I'm probably not getting two solid days of sanity for
r15828 | audreyt++ | work any time soon, so the next commit will revert this merge.
r15828 | audreyt++ | This commit is merely for safeguard so the code lives in somewhere
r15828 | audreyt++ | else than my (dangerously ephemeral) laptop. Sorry.
moritz audreyt++ # back to #perl6 ;-) 17:53
geoffb moritz: yeah, but it sounds like only for a moment.
Which makes me very sad.
wolverian maybe someone could pick it up :) 17:54
svnbot6 r15829 | audreyt++ | * Revert r15828 as promised.
gaal audreyt.moose.moose.moose 17:56
[particle] moose audreyt? 17:58
17:58 maxyeung joined
[particle] audreyt has 111 mooses 17:58
:)
where's moosebot?
ISAGN
moritz [particle]: moosebot? I've never seen that? 17:59
[particle] ISAGN: i see a great need
moose is the new karma :)
gaal.moose.moose 18:00
wolverian heh
that might get annoying.moose.moose.
if people get repeating it.moose.moose
s/get/keep/.moose.moose 18:01
moritz ?eval "moose" x 10
18:01 evalbot_r15825 is now known as evalbot_r15829
evalbot_r15829 "moosemoosemoosemoosemoosemoosemoosemoosemoosemoose" 18:01
moritz ?eval "moose" xx 10
evalbot_r15829 ("moose", "moose", "moose", "moose", "moose", "moose", "moose", "moose", "moose", "moose")
18:01 Psyche^ is now known as Patterner
[particle] which is more moose, the moose, or the moose who mooses her? 18:01
moritz wolverian: beeing nerds we don't have to annoy ourselfes, we can let bots do the job 18:02
[particle] laziness.moose.moose
wolverian moritz, that's moose.
18:05 snoop0x7b joined 18:06 Jedai joined, tokuhirom is now known as toku_away
lichtkind moritz: Tokens (keyword: token) are regexes that perform low-level non-backtracking (by default) pattern matching. 18:19
dev.perl.org/perl6/doc/design/syn/S...st_binding
lambdabot Title: Synopsis 6: Subroutines - perl6:, tinyurl.com/pfpph
devbot6 planet6: Audrey Tang: YAPC::Asia slides. <pugs.blogs.com/pugs/2007/04/yapcasi...s.html> 18:22
gaal audreyt: are you in tokyo? say hi to brad from lj if you see him :) 18:42
better yet, say moose
oh, my. someone posted to the haskell list about "Fixpoint combinator without recursion". (1 +) evolution 18:46
prly_ ?eval sub f($a,$b){$a+$b}; my $v=1; my &bar:=&f.assuming(a=>$v); $v=5; bar(b=>$v) 19:07
evalbot_r15829 10
prly_ hum
i would have expected 6
currying doesn't seem very useful like that
Tene ?eval sub f($a,$b){$a+$b}; my $v=1; my &bar:=&f.assuming(a=>$v); say bar(5);$v=10;say bar(5); 19:08
evalbot_r15829 OUTPUT[6ā¤15ā¤] Bool::True
gaal in Perl 5, at least, closure has visible effect at scope exit 19:09
that is, the assuming closed on $v, not on the value 1
you changed v while still in the same scope, so it's correct that the closure sees the change 19:10
(there is no functional language parallel, because you can't mutate variables there...)
19:14 jisom joined
geoffb Sheesh, Debian Etch version of evince *hates* audreyt's new slides 19:20
gaal they're heavy even with acrobat on windoes 19:30
*windows
19:30 devogon joined 19:33 the_dormant joined
moritz geoffb: they look decently with xpdf (afaict) 19:35
19:36 the_dormant joined
geoffb moritz: thanks, installing it now 19:36
19:37 ofer joined 19:38 tuna joined
geoffb Oh cripes, that is *much* more sane 19:39
Thanks, moritz!
19:39 forsaken joined
moritz geoffb: np ;-) 19:39
geoffb Debian++ # That package doesn't work? Here, try another. We've got twenty thousand of them! 19:40
moritz geoffb: Debian++ indeed, though I still wait for the ++ in the version number ;-) 19:43
geoffb moritz: NODNODNOD
19:44 jisom_ joined
moritz apt-cache search .|wc -l 19:44
18906
scary ;-)
19:46 eden_c joined
geoffb moritz: but also happy making. 19:51
Except when I can't figure out which one of several options to try first.
moritz geoffb: of course ;-)
geoffb: that's why I want popcon integration into apt-cache search results 19:52
geoffb: to tell me which packages are "standard"
geoffb moritz: not a bad idea.
Frankly, I'd be happy to have dpkg -l integrated in a-c s results
So that I know "oh, right, I already have that one installed" 19:53
without two steps
19:53 ozo joined
moritz geoffb: good idea as well... did you submit a wishlist bug report? 19:54
googlebot seems to strangely love my pugs-doc debian packages... it downloads them over and over again ;-) 19:55
19:55 Aankhen`` joined
geoffb moritz: nope - because the last time I suggested it the answer was "oh, use a gui" 19:56
moritz geoffb: not the kind of answer I'd like to get ;(
geoffb moritz: agreed. 19:57
eden_c is it normal for pugs to fail a few tests? 19:58
moritz eden_c: hundrets ;-)
eden_c but, I can still play around with it right? 19:59
moritz eden_c: only for the releases the faling testcases are marked :todo
eden_c: ofyes
?eval say capititalize "have fun"
evalbot_r15829 Error: No such subroutine: &capititalize
moritz ?eval say capitalize "have fun" 20:00
evalbot_r15829 OUTPUT[Have Funā¤] Bool::True
eden_c :)
20:01 forsaken joined 20:08 dduncan joined
masak audreyt: is that zapfino in the slides? it looks stylish. 20:12
20:28 HiTech69 joined 20:40 riffraff joined 21:04 ajs_home joined 21:05 ajs_home left 21:24 offby1 joined
dduncan question about Perl 6 Microgrants ... Leon posted that the second one was awarded, but I don't recall reading about the first being awarded ... when did that happen? 21:36
21:38 DarkWolf84 left 21:39 DarkWolf84 joined
allbery_b I vaguely recall seeing it go by on the list but don't recall when or details 21:39
moritz I'm pretty sure it was not on p6-language 21:40
21:41 nxu7-wrk joined 21:46 cmarcelo joined, CardinalNumber joined
dduncan before today's announcement, I only saw announced that there was going to be microgrants, and discussion of what-ifs 22:00
PerlJam The first was speters wasn't it? 22:05
making parrot more portable
use.perl.org/article.pl?sid=07/03/26/1745205
lambdabot Title: use Perl | Perl 6 Microgrant - Steve Peters on Parrot Portability
22:09 ProperNoun joined 22:24 perlmonkey2 left
dduncan thank you ... I think the problem is that it didn't come on the mailing lists, where I usually communicate save for IRC 22:24
TimToady @messages 22:25
lambdabot audreyt said 22d 11h 24m 1s ago: S02:1438 seems to overrule S06:194 (which was earlier text.) Is it okay if I update both to say that &-sigil fallback to global by default, but no other sigils do?
audreyt said 22d 11h 21m 30s ago: logical consequence is that multi sub dispatch in lexical context should do a lookup to GLOBAL and include those variants, too, for &*infix:<+> to work.
[particle] said 4h 51m 39s ago: now that we have # todo :foo<bar> and # skip, i'd like to see # spec :PDD15<Role PMC API/=item add_method>
PerlJam dduncan: I've found it useful to watch use.perl.org, mailing lists, perlmonks, and TPF news :)
dduncan: (and, of course, IRC) 22:26
dduncan okay
22:33 deq` joined
geoffb ETOOMANYINFOSOURCES 22:36
TimToady, when does the spec for the Perl 6 Wetware Interface get written, eh? 22:37
I want to be able to filter the feeds to my brain
Using a nice convenient syntax, no less.
TimToady already specced, for the most part, if you use the electromagnetic inferface 22:38
*interface 22:39
though we haven't specced which colors should be used. :)
now, if you want the Wetware VM, that's a slightly trickier matter (no pun intended) 22:40
Tene 4color3Forth!
22:51 [particle] joined 22:52 cognominal joined
snoop0x7b TimToady the question of course will be which cpan package will the bodily functions fall under 23:03
moritz on which unicode level do regexes usually operate? code points? 23:22
geoffb moritz: I believe it's "whatever is the current default", which I seem to recall is graphemes, but my memory may be fuzzy there 23:27
moritz geoffb: any idea how to change that setting? 23:28
geoffb Isn't it 'use codepoints;' or somesuch? It's been a long time since I last looked at that part of the spec .... 23:33
23:36 fridim joined 23:53 BooK joined 23:58 nxu7-wrk joined