6.2.11 released! | pugs.blogs.com | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 | < audreyt> my fingers juxpatosed
Set by nothingmuch on 24 February 2006.
FurnaceBoy yay@putter 00:05
putter ;) 00:14
00:14 justatheory joined
putter s/did indeed capture/did indeed access/. capture remains to be determined. but I could live with just access. 00:14
dduncan this is off topic, but I'm looking for a module that'll directly open a MS Access database file ... or otherwise a simple solution for batch converting from a set of 300+ same-schema MS Access databases ... since its more or less single-use, it doesn't even have to be Perl necessarily 00:19
mugwump dduncan: odbc? 00:22
dduncan that's standard for reading a single one ...
but automating the connection to a whole list ...
or maybe that could st ill work ...
if odbc takes a file name as a dbi handle constructor 00:23
...
I thought odbc was client/server, so a server has to be set up, associated with one access file, and then dbi connects to that by a service name 00:24
if not, I have to look further ...
Limbic_Region dduncan - in my experience, using ODBC with Access requires having set up the ODBC DSN 00:30
but if you have done that up front - you can easily batch job it
dduncan can you have a single DSN that can be used with 300 Access databases?
I wanted to just iterate through a file list and open each one in turn 00:31
kind of like what one can do with text files or SQLite databases
I'm looking on line for the answer to this
or if you know ... 00:32
spinclad fglock: (bl'ing by 11:00) for a name for pX/ie, I tossed out 'piXie' last night, but it didn't seem to fly. 00:33
Limbic_Region dduncan - I couldn't get it to work
I am not saying it can't work
but the examples I found were sketchy at best - so I resorted to the DSN thing
putter spinclad: currently "lrep" :) 00:34
oh, for pX. never mind. 00:35
dduncan: might have better luck at a different time of day
dduncan hello
Limbic_Region dduncan - if you look at TFM for DBD::ODBC and search for 'Connect without DSN', it gives an example of connecting with just the filename 00:40
that's what I didn't get to work - but I didn't spend a lot of time on it
OTOH, you could always automate the creation of the DSNs (through other modules) and then everything would "just work" 00:41
dduncan hmm ... I looked at TFM for DBD::ODBC, but must have missed that ... will look again
Limbic_Region let me know if you get the "just using the file name" working
spinclad putter: not for pX entire, but for i_e within it... hence, pixie
yeah, i saw that fglock liked Juerd's suggestion. 00:42
00:42 jisom joined
dduncan ah, I see the section now ... 00:43
00:43 hcarty joined
dduncan I will let you know if I get it to work 00:45
00:46 mako132_ joined 00:47 hcarty left 01:02 christo joined 01:04 Nouk joined
dduncan fyi, Limbic_Region, if you backlog ... 01:13
I've decided to abandon the Access thing 01:14
someone else will be manually-ish exporting them to comma-delim format, and I'll work with those ... no problem at all for them they say
but maybe in the future I'll experiment with getting that working for different reasons 01:15
01:16 justatheory joined
dduncan that is all 01:16
01:36 elmex joined 01:50 mako132_ joined 02:03 Bit-Man joined 02:13 justatheory joined 02:17 f0rth joined 02:30 K joined 02:35 DesreveR joined 03:45 FurnaceBoy is now known as qu1j0t3 03:54 FurnaceBoy_ joined 04:11 FurnaceBoy_ is now known as FurnaceBoy 04:26 sapper joined 04:36 avar joined 04:52 szabgab left 05:16 Aankhen`` joined 05:29 hoowa joined
hoowa hi 05:30
where is audreyt?
06:11 revdiablo joined, FurnaceBoy left 06:14 robkinyon joined, kanru joined, Odin- joined, p5evalbot joined, Steve_p joined, gaal joined 06:31 drrho joined 06:42 nothingmuch joined 06:43 justatheory joined 06:44 Draconit joined
svnbot6 r9350 | putter++ | Regexp-ReplaceEngine.pm improvements. 06:53
r9350 | putter++ | The regcompp hook now permits the perl5 compilation of regexps to be controlled both lexically (using %^H, and thus by a use mumble/no mumble pragma), mostly for changing semantics (p6!:), and dynamically, mostly for transparently changing implementation.
r9350 | putter++ | It now also permits, hopefully reliably, a regexp implementation to eval() code in the lexical environment in which the regexp is being defined! This should allow proper implementation of (??{...}), and eventually, of p6 variable interpolation.
r9350 | putter++ | There is exactly zero-chance either of these would have happened without the help of folks on #perl6. Thank you.
r9350 | putter++ | Next steps: reduce segfault frequency when running the perl5 t/op/ tests(!); try to clean things up enough to move development fully onto pugs svn.
07:04 Cryptic_K joined 07:08 f joined 07:17 GeJ joined 07:42 iblechbot joined
drrho is away: cutting red tapes 07:49
07:50 nothingmuch joined 07:55 elmex joined, sapper joined 08:28 Kattana joined 08:30 Cryptic_K joined 08:38 kane__ joined 08:50 Barry joined
Barry Do they still give an award for best web application at the Perl conference? 08:51
nothingmuch never heard of that 08:52
Barry I saw a reference to it from a few years ago.
Guess not. 08:53
nothingmuch googling makes me think it stopped in 2000ish
jisom what about non web application? you know, show that perl isn't only one liners and cgi 08:54
Barry Yeah, I can make it a non-web app in about one minute. The problem is that I want to keep it closed source. That probably would disqualify me for the app award too. 08:55
(web app) 08:56
nothingmuch Barry: why closed source?
also, what does it do? 08:57
Barry There's too much piracy/unallowed usage going around, and I'd like to profit from it. It's a file comparison tool. www.polisource.com/diffnote 08:58
I'll probably just put a banner on the page.
arcady I love the "compare local files" feature... of this web application 09:01
Barry Seems I should ad an option to compare local with remote files too.
s/ad/add/ 09:02
arcady looks like an idea that would go well with svn 09:06
then again, I'm sure someone's already thought of that
a web frontend to diff isn't exactly hard to write
Barry I was thinking of making it a plugin to a web-based text editor: tinymce.moxiecode.com/ 09:07
But keeping it closed source and requiring remote usage would be weird. And a banner ad would be even worse. 09:08
arcady yes 09:10
nothingmuch arcady: see also trac
Barry A web front end to diff SHOULDN'T be hard to write, but I made a mistake parsing diff and it didn't work, so I worked my butt off parsing diff -y before realizing my mistake with plain diff.
arcady seen.
nothingmuch Barry: if tinymce is opensource, why not make this also opensource 09:11
Barry I like money, and money makes me think of Microsoft, and Microsoft makes me think of closed source. 09:12
arcady microsoft does not, however, make anyone think of perl
jisom I don't like money....but then again I am unemployed so.....
arcady haskell maybe, but not perl
nothingmuch i like money, and money makes me think of Verby and Verby was good money for writing opensource 09:13
otoh money also makes me think of far less pleasant tasks i do at work
there are many ways to make money
if this webapp was a bigger project you could offer professional support 09:14
you could also make have a service oriented website
then again, if it was bigger the incentive to close it is probably more obvious
but frankly I doubt you will get rich from a web diff
arcady the trick to money is convincing someone else to give it to you : )
nothingmuch exactly
Barry Yeah, I'll be combining it with a couple of other apps I wrote, and I intend to increase features for subscribers. Not sure when that will happen.
nothingmuch keep in mind that there are free tools to do this, and that you have to give your clients a good reason to want to use your tools 09:15
also keep in midn that the difference between charging $0 and charging $1 for a service is much bigger than the difference between charging $1 and $10 09:16
people are hesitent to go and pay for things - they need a good reason
arcady in fact, $1 is infinitely more than $0
Barry I know, and some of the free ones are more powerful. Mine is just simpler. Nothing to install.
nothingmuch you can also have a buy-a-feature model 09:17
Barry I won't be charging until there's a drastic improvement. I'll just ad a banner if I get enough traffic.
nothingmuch anyway
real work now 09:18
ciao
09:18 penk joined
nothingmuch good luck with your ventures, Barry 09:18
Barry ciao
arcady on an entirely unrelated note, is it at all feasible to write webapps in perl 6?
nothingmuch arcady: somebody made a memory game a while ago
and a wiki, but that used roles and stuff so it was non-runnable
generally: yes
you can
but it's too slow to be a good platfork
platform
(pugs)
arcady right 09:19
09:19 KingDiamond joined
nothingmuch both sri and lathos started porting Catalyst and Maypole respectively, just FYI 09:19
arcady intriguing
Barry Is TimToady here 24/7?
arcady if I have the time maybe I'll try porting markaby and camping from ruby 09:20
nothingmuch Barry: many people use screen and irssi
arcady (or at least make something comparable)
nothingmuch so they're always on even if they are sleeping/far away
arcady: what's camping?
arcady a "microframework" by why the lucky stiff
nothingmuch hehe 09:21
arcady it's like... 130 lines of code or something
nothingmuch why's naming convention is there just for amusement
mst made something like markaby
i'll ask him to release it
as for this camping thing: sounds like a fun port 09:22
let ruby and Perl 6 duke it out over brevity ;-)
arcady though I'm not sure that some of the fun ruby tricks will actually work in pugs
or perl 6 in general for that matter
nothingmuch which tricks? 09:23
arcady like inheriting from a class that's returned by a function
nothingmuch works
arcady wow
nothingmuch (not in pugs ;-)
bug stevan on that
arcady heh
nothingmuch but the metamodel supports
it
arcady how much of OO actually works?
nothingmuch actually, maybe this stuff was fixed by now
to tell you the truth I really don't know
jisom well in parrot, classes are dynamic, created at runtime...so.... 09:24
nothingmuch it's been a long while since i've done OO in pugs
jisom: *always*?
jisom aside from the root class, essentially.......to use something as an object, yes
nothingmuch how does it compile static vtables?
jisom except the core pmc's which are sort of seperate, a little 09:25
arcady from what I understand, there's two things that can be called a "class" in parrot
jisom what do you mean nothingmuch?
arcady PMC class, which is a low level class
and high level class
jisom classes can be written in pir
I've done it multiple times
nothingmuch jisom: i mean... if you have an object 09:26
and you're dispatching a method on it
the canonical way to make that fast is using vtables
except when you can completely prebind
jisom well, methods are sort of compile time......but to be able to say 'new "foo"' is runtime
nothingmuch if everything is dynamic at runtime then how can it precompute? 09:27
oh
jisom generally in a :load or ::immediate sub you do the newclass opcode
nothingmuch i see
(reminds me of forth ;-)
jisom you have to declare a sub to be a method and/or multi at compile time....
well, I don't know the deep internals of pasm and oo code, but with pir it's adding the tag for the sub 09:28
nothingmuch eeek
camping is obfuscated 09:29
jisom: okay, that make sense
jisom but finding the method is runtime.....
including vtables
nothingmuch ofcourse 09:30
the idea with vtables:
jisom otherwise inheriting isn't possible...
nothingmuch not inheriting
just polymorphism
with respect to inheritence =)
jisom eh, something
:)
nothingmuch is a C++ code monkey
C++ sucks
jisom looked into D?
I get tempted to make a D derivative specific to parrot.... 09:31
nothingmuch because it makes you make a distinction between virtual methods (which are vtable dispatched) and "normal" (read: screwed up) methods, which are always on the most generic type that the container is attributed with
no
i don't think i'll ever use D
arcady C++ traumatized me at a young age...
nothingmuch i don't intend iin staying in this static OO language scene
and $work won't switch to D just like that
jisom it's a c oriented language, that realizes backwards compatability isn't always a good thing 09:32
nothingmuch yeah, i kinda know it
*about* it, sorry
read some on it's website
saw some code examples
was impressed
sighed, in realization that $work would never switch, and moved on
;-) 09:33
jisom too true.......plus i think it's only linux and win32.....only x86
nothingmuch anyway, one important thing is that sometimes you can use staticly bound methods if you can assert that none of the subtypes of your declared type for a given method dispatch overrides the method by this name
jisom sometimes backwards compatibility should not be kept, if backwards compatibility means doing things wrong
nothingmuch backwards compatibility sucks when you're making big changes 09:34
i prefer backwards availability
jisom I say "if it'd done wrong in the past, ignore backwards compatibility"
nothingmuch no, don't ignore 09:35
people have needs
they have tons of code they don't want to change
so give them a hand
make it easy for them to integrate the new with the old
jisom but having the old compiled code being compatible with the new compiled code isn't the same as saying "be able to compile the old as well as the new" 09:36
09:37 pdcawley joined
lypanov jisom: how is D btw? 09:37
jisom I use osx on ppc 09:38
:)
I can tell by looking as lisp I don't want to program in it......I can tell by D that I can agree with large parts, far more than C 09:39
arcady don't like parentheses, eh?
nothingmuch there should be a pythonic-lisp 09:42
that is, white space instead of parens
lumi wondered how that would work out for people
arcady or maybe just a lispic python 09:46
09:46 jisom_ joined
jisom_ increases his want of a new isp 09:46
nothingmuch arcady: hah, guido will shoot you for that 09:47
arcady that's okay, I already want to shoot guido
we can just have a duel
jisom_ guido's the python guy, right?
nothingmuch jisom: yes 09:48
jisom_ waits for python and forth or lisp to somehow merge 09:49
nothingmuch forth?
that's completely orthogonal ;-)
forth is just a big macro language that happens to work well ;-)
jisom_ the whole "explicit precedence" thing
nothingmuch ah
syntax wise
arcady forth is a pretty neat idea 09:50
jisom_ syntax is very important....
nothingmuch doesn't really care about syntax
i learn to use it eventually
jisom_ being able to easily program in a language is important
nothingmuch and it's always going to suck for something
arcady syntax postfix fine just works 09:51
jisom_ aside from lack of platform independence, it's why assembly's so rare now
nothingmuch arcady: if you're german ;-)
jisom_ I don't think many ever use prefix notation.....aka Polish Notation
nothingmuch jisom: assembly has very simple syntax ;-)
jisom_ pir too :)
nothingmuch right 09:52
== same thing
ease comes from abstraction
*good* abstraction
jisom_ and with the support I recently added, pir's now "high level assembly"
nothingmuch perl 5 kinda sucks for that, since you have to pay for abstraction with lots of syntax
09:53 beppu joined
jisom_ if I remember right, p5's oo syntax was sort of a hack on approach 09:53
nothingmuch yes, very minimal 09:55
kinda, too minimal
jisom_ I prefer perl5's -> method invocant...instead of how java uses a period for too much
arcady well, perl 6 doesn't use . for package separator 09:56
nothingmuch me actually prefers .
it keeps properties and their objects together
jisom_ I like -> as it's clearly obvious...may be an extra character, but it's unambious
nothingmuch so it's easier to read them as one chunk
. is ambiguous?
arcady and then there's objective C... which has I think [object method]
nothingmuch yes
it had something even weirder 09:57
called selectors
which are onordered signatures
beppu I think selectors are dope.
jisom_ I look at obj-c and I don't want to ever again....and sometimes I do
nothingmuch [object param:value otherparam:otherValue ]
jisom_ I will never be an obj-c programmer
nothingmuch how come?
beppu selectors are a thing of beauty to me.
jisom_ but, part of why I became a perl programmer was because I could easily, and freely, learn the language 09:58
nothingmuch beppu: you'll like MMD
beppu I'm sure I will. :)
jisom_ pir has mmd :-D
arcady MMD is definitely a wonderful idea
jisom_ and no pesky semicolons(which can be helpful sometimes)
although parrot does lack mmd for constructors, without some kind of hack 09:59
beppu How is parrot doing lately?
lypanov jisom_: you've used D before or? 10:01
jisom_ I think the GPW's slowed down svn commits.....but Leo's done a lot for namespaces lately, and on the list there's been a fair bit of discussion regarding a formal io pdd......for something like parrot I want a pdd before implementing something important
I'd noticed D at the shootout, and been to the website.......that's about it
lypanov okay. as much as me then :)
jisom_ languages targeting machine code that would have to deal directly with ram probably aren't good for parrot... 10:02
and my little rule for a language, "if it takes more than five lines for a hello world, it's probably not one I'll like" 10:03
beppu is java the prime offender of this rule? 10:04
jisom_ it's an offender :) 10:05
I think c# falls into it to, but, it's almost Java
shootout.alioth.debian.org/sandbox/...sort=lines there's a few....and "normal formatting" counds 10:07
*counts
whoohoo, I left
10:07 jisom_ is now known as jisom
beppu I don't like Java as a language because it lacks conciseness. However, there are Java programs that I really enjoy using (such as JavE, Azureus, FreeMind (and even Gmail). 10:08
It's a bittersweet situation.
jisom well I'd guess 99% of computer users don't like C but they like C programs :-p
as you'll note, pir has 0 lines for hello world :) 10:10
hello world in pir actually only requires three, in pasm it requires two
arcady and ocaml has the fastest hello world 10:12
jisom no c intel does
the link I gave sorted by number of lines
arcady or rather, ocaml has the fastest one-line hello world 10:13
jisom intel's cc is often the fastest c compiler......
it'd be nice if they offered a ppc or sparc computer, essentially an uncommon processor where less effort is focused 10:14
io's actually the slowest for hello world
arcady well, why would intel care about ppc or sparc? 10:15
though IBM would care about ppc
don't know if they have their own compiler though
jisom they don't, but it would give an idea of how well a language is across platforms......many embedded devices are ppc 10:16
considering Apple uses gcc, I wouldn't be surprised if IBM used it too
arcady the official compiler for linux/ppc is definitely gcc 10:18
but I'm not sure about AIX 10:19
jisom Apple has more clout with ppc than linux so if Apple's using gcc, of course linux is using gcc.....of coure openbsd, freebsd, I assume netbsd, linux distro's use gcc.......gcc almost has a monopoly 10:20
but I think it needs cygwin on win32 so.....
arcady IBM sells two OSs on ppc: linux and AIX 10:21
linux comes with gcc, AIX comes with its own compiler I think
jisom Apple hardly even tries to make darwin a useable OS
Barry I just saw that "print" is "say" in Perl 6. I'd prefer "show".
Make it so. 10:22
Thanks.
azuroth sure thing, Barry
beppu sub show { say @_ }
azuroth show := &say; # right?
beppu I need to learn perl 6. ;) 10:23
Barry I don't know. Looks like a dirty smiley to me.
azuroth so do I
Barry (:=)
beppu and perhaps it is. dirty smilies are how perl likes to express itself. 10:24
Barry So what does printing to a file look like? Still "say"? 10:25
jisom perl6 seems to be too undecided on syntax to commit myself to learning it....... although the perl5.6's "our" is logical and it took a while to it to be added since perl5
arcady I think the syntax will only decide itself once enough people learn it and start complaining about changes 10:26
10:26 gabor529 joined
gabor529 ?eval my @a=("x", "y", "z"); say "@a"; 10:26
10:27 evalbot_9335 is now known as evalbot_9350
evalbot_9350 OUTPUT[@a ] bool::true 10:27
azuroth Barry: note that say /= print
jisom true.....does perl6 have something like "$a = <foo> with $/ = undef" instead of doing something like "do { $/ = undef; $a = <foo>; }"?
arcady I think there is a "slurp" function
beppu slurp?
gabor529 ?eval my @a=("x", "y", "z"); say @a;
evalbot_9350 OUTPUT[xyz ] bool::true
jisom but general to any global?
*"local $/ = undef" 10:28
arcady like... $a = slurp $fh
jisom what about `do { $" = ", ";print @a;}`? 10:29
jisom forgot local again 10:30
nothingmuch moosen
jisom ?
beppu (I thought something was weird. (Lack of local))
gabor529 nothingmuch: "@a" does not (yet ?) interpolate
jisom ?eval say [email@hidden.address] 10:31
evalbot_9350 OUTPUT[foo@bar.com ] bool::true
nothingmuch gabor529: it never will
jisom that's why gabor529
nothingmuch synopsis 4 i think
gabor529 goes back reading in the dark
lumi ?eval @bar = <a b c>; say [email@hidden.address] foo@bar{}" 10:32
evalbot_9350 Error: Undeclared variable: "@bar"
lumi ?eval my @bar = <a b c>; say [email@hidden.address] foo@bar{}"
nothingmuch use { }
gabor529 lumi: oh my :)
evalbot_9350 OUTPUT[foo@bar.com, fooa b c ] bool::true
nothingmuch actually it can be prettier
gabor529 ?eval my @a=("x", "y", "z"); say "{@a}";
jisom loves syntax highlighting
nothingmuch ?eval "my @bar = <a b c>; say "foo{@bar}.com" 10:33
evalbot_9350 OUTPUT[x y z ] bool::true
nothingmuch and you can also use q:a{ }
evalbot_9350 Error: unexpected "f" expecting term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
nothingmuch but probably not in pugs
beppu ? eval "perl6 hurts my head"
?eval "perl6 hurts my head even more"
evalbot_9350 "perl6 hurts my head even more"
nothingmuch ?eval say "per 6 hurts beppu's head" for 1 ... 10:34
jisom ?eval "is perl6 too complex to learn for someone who knows perl5?"
evalbot_9350 pugs: out of memory (requested 1048576 bytes)
nothingmuch jisom: no, i took me about 2 days
evalbot_9350 "is perl6 too complex to learn for someone who knows perl5?"
jisom chuckles
lumi Not lazy?
nothingmuch lumi: it actually is lazy
but the evalbot buffer for accumilating STDOUT prolly filled up 10:35
jisom it needs a meg of memory for a print?
beppu there's so many new things. + I'm tired and sleepy. ;)
lumi ?eval (1 xx Inf)[Inf]
evalbot_9350 \1
lumi (Infinite loops in constant time :P)
arcady whoa. 10:36
jisom ?eval exp(1)**(pi * i)
evalbot_9350 Error: No such sub: "&i"
jisom ?eval exp(1)**(pi * (1 ** .5)) + 1
evalbot_9350 24.140692632779263
jisom wrong!!!!
oh
?eval exp(1)**(pi * (-1 ** .5)) + 1 10:37
evalbot_9350 1.0432139182637723
jisom ok, now "wrong!!!!"
:-D
arcady even python doesn't let you do that... 10:38
jisom perl5's closer, with Math::Complex
it doesn't give 0, but it's closer
arcady well yes, but python has complex numbers built in
but you can't actually take the square root of -1 10:39
nothingmuch wow! that works now
arcady you have to write 1j
jisom perl -MMath::Complex -le 'print exp(1) ** (pi *
-1+1.22464679914735e-16i
perl -MMath::Complex -le 'print exp(1) ** (pi *i);'
Juerd Hm, sourcefilter?
For 16i?
10:39 Barry left, Gothmog_ joined
nothingmuch jisom: someone added a Math::Complex to the pugs repo, have a look 10:40
jisom ?eval use Math::Complex; say exp(1) ** (pi * i) + 1
like that? 10:41
evalbot_9350 pugs: *** Can't modify constant item: VUndef at Prelude.pm line 667, column 14-28 Prelude.pm line 637, column 5-60 <prelude> line 62, column 30-59
nothingmuch jisom: i don't know what env evalbot runs in
try it out for yourself
jisom that would require booting my freebsd box and, it's lacking on memory for pugs 10:42
ghc wanted over 250 megs to compile!
pugs wants a lot too
beppu ?eval %ENV.each
evalbot_9350 Error: No such method in class Scalar: "&each"
jisom needs to get around to getting complex numbers more fully supported on parrot
nothingmuch jisom: why not OSX? 10:43
and why do you want to compile GHC? 10:44
jisom ghc bootstraping......dialup.....
nothingmuch what's dialup got to do with it?
get your self a binary, BOY!
jisom slow
eh, already have ghc source :-p
nothingmuch ah
in that case, give me your mailing address and I'll burn you a CD with binaries for freebsd and OSX
jisom and the freebsd bootstrap....
nothingmuch bootstrapping GHC is a loooooooooooooooooooooooooooooooooooooooooooooooooooonng process 10:45
jisom parrot's easier to work with for me, and, etc...
nothingmuch excuses excuses!
jisom looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonger if it's constantly swapping
nothingmuch hence binary ;-)
i'm willing to help in any way i can
i'm serious about mailing you a CD 10:46
jisom eh, I imagine the darwin bootstrap isn't too bad, and with my package manager it wouldn't be too stressful, but still....
and since if I were to really work with pugs, it'd be on the pir backend, and since there's the pil2 work in progress, it's like, "why now?" 10:47
nothingmuch binary binary binary binary
well
you get hooked 10:48
it's that simple =)
jisom on parrot
nothingmuch -Ofun
jisom :-D
nothingmuch you can have fuun on both
you can help drive PILwhatever so that you can emit PIR
you can help audreyt work out PIR stuff
you can start implementing necessary PIR features
jisom ackermann(leo's branch) and partialsums run faster than c on x86 with jit........that's -Ofun
nothingmuch you can help fglock and me and anyone else interested figure out what some backend things 10:49
because we want to write perl 6 compiler things that are orthogonal (for now) from pugs
jisom well in a sense, the more p6 base written in p6 means less to port to parrot....... 10:50
it's not like pugs it optimized towards speed(too me hours, and computer "near crashes" to get it to compile)......and speed can happen after
but I haven't done anything with lexicals in pir yet 10:51
nothingmuch pweeeeeeeeze pweeeze come help
i'll give you commit access 10:52
jisom although if you're writting in pir, you really don't need to use lexicals
doesn't anyone get commit access?
:-p
nothingmuch uh
yeah
but you're special!
i'll give you special commit access
like
i'll chant something when I add it 10:53
jisom yeah, I've gotten to the point of prefering pir over perl5
and parrot in no way allows one liners
besides the "exit $N0", "die 5, 1", and "end"
nothingmuch is parrot in any way useful for "real" work which is not very very specialized like what dan did? 10:54
jisom platform independent optimized easy to read and work with programming?
10:55 gaal joined
arcady or whenever you happen to need a vm 10:55
nothingmuch hola gaal 10:56
GeJ nothingmuch: if I remember correctly, Dan Sugalski had some use of parrot at $work
nothingmuch GeJ: yeah, i remember that
but i was more interested in $anything_else
arcady he used it as a target for a compiler for some horrible specialized language
nothingmuch i mean, it's a pretty low level language, i'm not sure if it fits any niche but being a target backend
yeah, i know =)
nothingmuch reads dan's blog
jisom Dan's currently working on forking parrot to a separate project with another purpose, although seemingly starting from scratch...I guess vm's are fun 10:57
nothingmuch i'm kinda skeptical about this one
jisom nothingmuch, could anyone but someone who knew pir port something to pir?
nothingmuch no global data is a bit too much
jisom: yes, they could learn PIR and then.... 10:58
10:58 vodka-goo joined
jisom should write up a tutorial for pir using the new hllmacros.pir include that'll make it easier for newbies 10:58
arcady does anything even compile to pir these days?
azuroth an implementation of tcl 'almost' does 10:59
jisom writes in pir
although it gets far less press, I think lua's coming up a lot......I don't know lua, I haven't used it, but I get the idea it's at least "useful" now 11:00
azuroth and amber
amber looks pretty neat
11:00 bsb joined
jisom hasn't looked at amber for a while, but seen the commits for lua 11:00
arcady and perl 1 is coming along reasonably well too 11:01
jisom wishes punie had more of what was done in parrot's svn 11:02
nothingmuch i don't understand why it's perl 1
it's not such a simple language
but otoh it's a pretty non fun language to write in
jisom perl1 doesn't run well for me either 11:03
I can understand using perl1 because of it's legacy to perl6, but of course, part of it is more the method of compiling to pir than the language 11:04
nothingmuch right, but the language could be a subset of perl 5 11:05
jisom wonders how much of perl6 breaks compatibility with perl1 than perl5 does, besides oo
nothingmuch which has e.g. lexicals, and more consistency
jisom but "$ = 'foo';" is valid :-p
but perl1 does seem to lack sin and cos :( 11:06
nothingmuch and lexicals
and user subs 11:07
jisom think of how many perl5 programs could relatively easily be ported to perl1, for probably a substantial speed improvement.....
how many interpreters do you know of that "can compile faster than many programs run"?
nothingmuch i'm not sure there would be a speed improvement 11:08
the emitter backend has to be very good
remember that factorial is just one benchmark
written in high quality PIR 11:09
machines don't write code as good as humans do
jisom but with proper knowledge of the machine, machines can write code better than humans......for the machine anyway 11:10
nothingmuch true
arcady machines also don't get bored as easily
nothingmuch but it's enough that there is one bottleneck
jisom sometimes gets the urge to get parrot/pir stripped to writting portably assembly 11:11
nothingmuch anywho, it doesn't matter... punie is a research project. no one willl port their perl 5 to punie for performance
call it a "hunch" ;-)
jisom it's like with the patrialsums benchmark, the fast pir version.....I tried writing a c version of the same style, and compiled it, and it was still slower than parrot 11:12
nothingmuch also, while parrot's speed is good for these things, i've heard many criticisms about speed for other things
jisom and because punie's a "research project," I personally wish it was more open and less of only Allison's, as in being in parrot's svn :-\
well, it required using JIT on x86...... 11:13
audreyt rehi
jisom taking advantage of jit on parrot requires knowing it's limitations....
LeTo hi audreyt
audreyt breathes in the fresh air of tcpip
jisom don't get electrocuted
LeTo audreyt: is all arranged with Gerda wrt travelling? 11:14
jisom svn.perl.org/parrot/trunk/runtime/p...macros.pir <= his pride and joy contribution to parrot, including it's possibility
audreyt LeTo: no, I havn't called Gerda yet 11:15
nothingmuch LeTo: is this prehackathon or posthackathon arrangements? 11:16
LeTo nothingmuch: pre
audreyt: you can mail here too, you got the addr
audreyt (calling her now) 11:17
nothingmuch LeTo: convince jisom that his assistance will help pugs/parrot get along ;-)
LeTo nothingmuch: he's helping already
jisom supporting parrot helps to get rid of pugs :-D 11:18
although if perl1 is any indication, pugs will live on for a long time 11:19
nothingmuch LeTo: i know, i just want to give him pugs commit access too, and make him try to run stuff
oh, jisom, i know - you can help with the embed-parrot-in-pugs stuff
pugs uses parrot for rules
jisom nothingmuch, my fastest computer is 900mHz and around 128M ram....my iBook has 384M ram but 800mHz, i.e. slow for pugs 11:20
LeTo nothingmuch: don't poach my workers here ;) 11:21
nothingmuch LeTo: heh
jisom: okay okay
jisom since both perl5 and parrot support constantly running programs, you could write a perl5 program and a pir program that read input, then a text string, and return a dump of matches.....
nothingmuch jisom: you can have a parrot account though
jisom I do :-p
nothingmuch err 11:22
sorry
a feather account
*confusion*
jisom has dialup
nothingmuch dialup can deal with ssh
no nitpicking
get a madfast machine to run your parrot on ;-)
talk to Juerd
jisom but I need to be online(and use the phone line) to use...and "svn revert" 11:23
nothingmuch svk
;-)
i'll give you $1 a month to fund your broadband
you know what? $3
jisom is unemployed
nothingmuch intentionally? 11:25
jisom course not
nothingmuch had a look on jobs.perl.org? 11:26
there's lots of freelance stuff
11:26 uszr` joined
nothingmuch lots of telecommute, too 11:26
jisom I'd hate to have to program as a job......it'd take the fun out
nothingmuch not necessarily 11:27
as long as you make sure your hours are good
what would you rather do as a job?
jisom didn't mind being a janitor.....didn't mind being a factory working making the same repetitive motion 8 hours a day.....I'm weird like that 11:28
nothingmuch hmm 11:29
what about some crafts profession?
jisom tiny town
nothingmuch always secretly wanted to be a wood worker
it makes my dermatitis flare up though
jisom I kind of prefer clay...clay's repairable 11:30
nothingmuch never managed to do what I wanted with clay
lumi You wanted to be a lumberjack?
nothingmuch lumi: no
nagar
lumi Ah
nothingmuch make pretty drawers and stuff
jisom I have a friend who was a partner in an isp(recently bought out by the other parter), and now bought a metal lathe... 11:31
a guy who one was essentially given a computer by the university who they said "would never work again" and got it to work 11:32
11:36 cognominal_ joined
jisom quick question, does pugs' "make test" test the pod formatting on all files in pugs' svn that contain pod? 11:37
audreyt no. feel free to add t/00-pod 11:38
or something like that
t/00-doc
jisom parrot has one, t/doc/pod.t, one of my pet peeves with perl5's default install is not requiring podspec conformance.... 11:39
audreyt please add t/00-doc/pod.t then.
jisom in fact, you can probably copy parrot's over to pugs without much issue 11:40
aside from the "MANIFEST.generated" parts
11:41 Muable joined
audreyt k. a commit bit is on your way 11:41
jisom eh no need
I'm tired 11:42
audreyt please commit to the same checkout as svn.openfoundry.org/pugs/
you can surely refuse to accept it :)
jisom does pugs have a MANIFEST? 11:45
audreyt no, it is generated each time before release.
jisom so different from parrot's...where it's supposed to be regenerated with each addition or deletion... 11:46
audreyt yeah. it's too much a hassle for our style of dev
jisom then it's not a simple copy over....
jisom looks for the email he sent to p6i that did it for him 11:47
11:47 KingDiamond joined
nothingmuch frack 11:48
gaal hey audreyt, bsb discovered that:
nothingmuch how did you get him to get a comitter bit?
i tried for an hour
gaal 1. macro M { ..... } M 1+2 works
2. .... M(1+2) does not
audreyt nothingmuch: I looked up his email from p6i and sent one
gaal 3. even when reverting most of the changes of the castV patch, the same behavior exists
nothingmuch haha 11:49
audreyt nothingmuch: the key is "don't try"
gaal: ok, looking into it
but I need to fix the END thing for good now
gaal sure, just a data point
audreyt hm, @*END is also bogus. yay 11:50
it needs to be @Test::END
and then merged back to main END
I mean *END 11:51
because `unionPad` cannot join two arrays like that
jisom find -E . -not \( -name .svn -prune \) -type f -not -perm +111 -not -regex '.*\.([a-z0-9_]+|C)' -not -name Makefile -not -name harness -exec podchecker '{}' \; |& grep -v 'does not contain any pod commands' # under tcsh
gaal again the confusion between packages and scopes?
jisom although some of that's specific to parrot
audreyt gaal: more like, separate compilation
gaal: because under monolithic compilation you just keep adding stuff to @*END 11:52
gaal: but now things are separately compiled
and as such the @*END needs to be stringed together
gaal A.pm: module Test; ...; __END__ blah
svnbot6 r9351 | bsb++ | r9217@rex: bsb | 2006-02-27 17:02:33 +0200 11:53
r9351 | bsb++ | make haddock now should work with drift output (by ignoring it)
gaal B.pm: module Test; ...; __END__ blah
time for lunch, bbiab
jisom btw, I wrote a script for parrot, parrot's svn/tools/dev/mk_manifest_and_skip.pl which recreates MANIFEST and MANIFEST.SKIP.....it does require an svn repo 11:54
svnbot6 r9352 | bsb++ | r9345@rex: bsb | 2006-03-07 22:13:55 +0200
r9352 | bsb++ | A bare return from a macro results in a Noop AST
r9353 | bsb++ | r9346@rex: bsb | 2006-03-07 22:14:27 +0200
r9353 | bsb++ | haddock_tips tweak
r9354 | bsb++ | r9347@rex: bsb | 2006-03-07 22:16:10 +0200
r9354 | bsb++ | Mention haddock vim syntax
11:55 nnunley joined
svnbot6 r9356 | bsb++ | r9378@rex: bsb | 2006-03-09 13:52:20 +0200 11:55
r9356 | bsb++ | Add a subBody omitted in a recent refactor.
r9356 | bsb++ | Remove a stale comment
bsb arg! svk is freaking out again! 11:56
11:56 kane_ is now known as kane-xs
jisom looks at the warnings and errors in pugs' svn repo 11:56
audreyt gaal: er no, it's END{...} 11:58
12:09 kisu joined
clkao bsb: huh? 12:10
bsb During the hackathon I got old log message repeated when doing an svk push 12:11
audrey did some magic and everything was fine 12:12
Now it may be happening again, we'll see with the next svk push
clkao mmm 12:13
bsb This is svk, version 1.04. 12:14
gaal ah ah ah, END hooks not POD!
audreyt fixed anyway 12:15
committing
bsb clkao: svk pushing now 12:20
One change
svnbot6 r9357 | bsb++ | r9385@rex: bsb | 2006-03-09 14:20:53 +0200 12:23
r9357 | bsb++ | Noop q:code{} returning macro test
r9358 | audreyt++ | * Pugs.Prim.Eval: When both modules export the same
r9358 | audreyt++ | global symbol, let the included module win.
r9358 | audreyt++ | (Eventually it should be invalid to export global
r9358 | audreyt++ | non-multi symbols this way, maybe...)
nothingmuch audreyt: does macro with q:code { BEGIN { } } only execute the begin block when the q:code is interpolated? 12:24
12:24 chris2 joined
nothingmuch (into the receiving AST) 12:24
or within the macro itself? 12:25
bsb: what parts of israel did you see already? 12:26
did you go hiking in the north and stuff?
audreyt nothingmuch: I think it executes whenever it's interpolated
nothingmuch goody... i preferred those semantics ;-) 12:27
bsb Tel Aviv, Jerusalem, Nazareth, Haifa, Dead Sea, Masada, hackathon bits
nothingmuch seems more... "clean", in that code quoting is completely non active 12:28
lumi Jaffa
nothingmuch what?! you went to mesada and didn't ping me??????? traitors!
lumi didn't go, so not a traitor
svnbot6 r9359 | audreyt++ | * Pugs.Parser: END blocks are now associated to per-package 12:29
r9359 | audreyt++ | symtable instead of pushed into @*END. "use" a module
r9359 | audreyt++ | now simply copies its END blocks to the current compilation
r9359 | audreyt++ | unit -- at program exit, the outermost @END is then executed.
r9359 | audreyt++ | * Moreover, change the END sequences to happen in LIFO order.
bsb was an organized tour...
nothingmuch phoeeey! excuses excuses
gaal the organized tour didn't include nothingmuch's house? traitors!
audreyt ok, now all modules are compiled, I'm forced to fix emitting of closures 12:32
otherwise this is currently broken
my $x; sub moose is export { say $x } sub goose is export { $x = 9 } 12:33
nothingmuch emitting closures == important
something difficult though
if you serialize two closures
that capture a shared container
how do you serialize them at the same time? 12:34
audreyt using YAML references
YAML is a graph not a tree
nothingmuch yeah, i know
i mean, how do you get two codes in the same yaml document
err
like
&code.yaml
or whatever 12:35
(not just precompilation)
perhaps .perl is a better example
audreyt oh. then you need object ids
nothingmuch hmm
i think i see a consistent path:
svnbot6 r9360 | gaal++ | * precompilation_cache.pod:
r9360 | gaal++ | - incorporate nothingmuch++'s edits
r9360 | gaal++ | - add load flow (reviews welcome)
nothingmuch $deserializer = Deserializer.new;
and if you deserialize with the same deserializer object it'll make sure that all object IDs are shared 12:36
audreyt ...if we use UUIDs internally then we get that anyway
nothingmuch if they are the same in the serializer output
isn't that a *BIG* memory overhead?
audreyt depends on the application
(not saying that we do that.) 12:37
nothingmuch hmm
kane-xs seen rindolf 12:39
nothingmuch kane-xs: jabbot is dead 12:40
kane-xs long live jabbot!
12:43 highfi joined 12:47 nivrrex joined
highfi laptop for sale 500$ want it gone today. price includes shipping, case, wireless router. message me if interested on aim at ogd443 or msn at [email@hidden.address] 12:47
kane-xs hooray for kline 13:00
nothingmuch kline? 13:01
audreyt "irc obliterate"
13:01 ruz joined
nothingmuch oh, i didn't notice the spam 13:04
13:06 nivrrex left 13:10 iblechbot joined
svnbot6 r9361 | fglock++ | misc/pX/Common/lrep/Deal.txt - braindump 13:15
13:15 rgs joined 13:17 Limbic_Region joined 13:22 kolibrie joined, fglock joined
nothingmuch gets killed by the desert 13:25
lumi|gaal: have you been getting dust storms in the TA area? 13:26
kolibrie nothingmuch: you just have to stay inside 13:27
nothingmuch kolibrie: not really
i am inside
but the air is dry
especially when they keep the AC on
audreyt (brb)
nothingmuch can't run away from nasty weather =/ 13:28
kolibrie I never had a problem with dry air
I remember some pretty amazing dust storms, and we just sat back and waited till they were over
gaal nothingmuch: yeah, but nothing like 3 weeks ago 13:29
nothingmuch what did we have 3 weeks ago? i forgot 13:30
oh... i remember actually
gaal orange afternoon
fglock nothingmuch: hi! re yesterday, I wrote a couple of ideas - misc/pX/Common/lrep/Deal.txt
nothingmuch here it's the same as then
all week now
gaal lots of pollution in Tel-Aviv
nothingmuch fglock: i'll have a look
take a look?
fglock dunno - I'm not a native speaker either 13:31
kolibrie nothingmuch: either or, they mean about the same
nothingmuch fglock: * Long term (>2 weeks) plan - Have a plan for Perl 6 Alpha 13:32
cute ;-)
i don't think allison can help with types/oo, perl 1 had neither ;-)
the doc is hard to read, please try to make it hierarchal 13:33
with headings
=, ==, ===
separate thoughts from plans
Limbic_Region OT but something that looks interesting critticall.com/
audreyt Limbic_Region: btw, I can't dupe the zlib problem in win32 13:34
nothingmuch Limbic_Region: they suck, actually
audreyt and the "use Test" bug you reported is now fixed
nothingmuch Limbic_Region: they charge $$$$ for stuff that is not very impressive, appearantly
Limbic_Region audreyt - great news on the latter, confusing news on the former 13:36
audreyt - I can't figure out why my Win32 build at home doesn't set USE_ZLIB and the one at work does 13:37
audreyt same version of ghc et al?
Limbic_Region the one at home works fine (but isn't using zlib) and the one at work also works (uses zlib but requires cygwin)
audreyt - AFAICT
gaal nothingmuch: could you give the code in precompilation_cache a gander? 13:38
Limbic_Region audreyt - on your Win32 build, does your .setup-config have USE_ZLIB enabled?
it may be that you aren't reproducing the bizarro behavior because you aren't even attempting to do zlib
audreyt I see -DUSE_ZLIB -lz 13:39
Limbic_Region and it works right
audreyt I think what happens is that
normally we should see libz.a
in gcc-lib
but if your PATH has a libz.a first
Limbic_Region ok - chalk my environment up to an anonomoly
audreyt i.e. if you have cygwin/bin in path 13:40
Limbic_Region thought of that too - and modified his PATH variable accordingly
audreyt hrm.
Limbic_Region Cygwin stuff should only come into play when I am in a cygwin shell and not a command prompt
audreyt well, if it had modified your PATH already 13:41
gaal is "anonomoly" an unassigned bug?
audreyt then it affects you no matter what
Limbic_Region audreyt - no, I mean before I launched the command window
nothingmuch gaal: yes
Limbic_Region is there a way to query ld.exe to find where it is finding a lib that it is linking with?
svnbot6 r9362 | audreyt++ | * More warnings avoidance by qualifying instance imports 13:42
r9362 | audreyt++ | and add a type signature to preludeStr. No functional changes.
audreyt not sure.
Limbic_Region nothingmuch ref critticall - good 2 know. I wasn't interested in purchasing but some of the results looked neat
wilx Hm, try gcc -v, it will show you the commands it runs and then copy the ld command and add -v too.
nothingmuch Limbic_Region: there was a big discussion in #some_channel a while ago
Limbic_Region Ok - here is what I can do
nothingmuch if you look at their hype you can see that it's actually pretty mundane... the "ultra fast sort thing" is just a weird bucket sort, for example 13:43
Limbic_Region I can set up a find through my path looking for anything that resembles libz.a
wilx Hmm, or rather --verbose for ld.
nothingmuch also, the code that comes out is only conjecturally correct
(as in, it seems to work on whatever tests they made for it)
but since it's usually weird code it's hard to prove it's correctness
and hard to debug
audreyt Limbic_Region: yeah, that sounds good. also look for libz.dll.a 13:44
fglock audreyt: would you mind read Deal.txt? I'm likely to delete or change it later
audreyt fglock: I already am
nothingmuch gaal: s/die/fail/ 13:45
gaal nothingmuch: those are all caught
nothingmuch just a good habit
gaal so they need to always die
nothingmuch oh
audreyt fglock: FYI I think self-hosting in perl5 is "the" way to go.
nothingmuch okay
i thought CATCH always catches fail
even without use fatal
gaal nothingmuch: it's used like goto CLEANUP
nothingmuch it's just that if it's not cought then it's not a deadly catch
gaal how can that happen?
audreyt fglock: your only argument against that seems to be "not Pugs tradition"
fglock audreyt: I'm not happing with yet-another split in the Perl 6 project 13:46
audreyt fglock: I'd like to point out that there is no tradition in Pugs :)
fglock s/happing/happy/
audreyt (or rather, our tradition has always been breaking traditions)
(as long as it's fun)
gaal the whole point of no fatal is thatit doesn't raise an exception, no?
audreyt fglock: I don't see it as a split from the Hs core
nothingmuch i thought the whole point is that you don't *have* to catch exceptions to resiume execution
that is, the code will try to continue with a bad value, instead of aborted control flow 13:47
but if you are bothering to check for errors you still get to handle them
gaal hmmmm
audreyt fglock: the way I worked with stevan et al has always been: prototype something in p5 quickly, port it to Hs to find out corner cases, then redo it in p5 to get more people involved and CPAN it
fglock: I think for OO and for Grammars we are pretty close to the "redo in p5" phase
gaal nothingmuch: sounds much harder to implement
audreyt fglock: and the Hs runtime can be replaced piecemeal in p5/p6 13:48
nothingmuch gaal: whenever you exit a scope you check if the parent scope has explicit use fatal or no fatal
audreyt fglock: p5 for all the infrastructural (VM) things, p6 for the builtins, just like what you are doing
nothingmuch and if not you check it's caller, etc etc etc
fail is like return
fglock audreyt: how do you see a closer collaboration with LambdaCamels?
nothingmuch it will always break the current scope
Limbic_Region audreyt - I have a couple of lz32.dll files in some windows directories but that's it 13:49
nothingmuch but the question is whether it will die in the outer scope or not
audreyt Limbic_Region: hm, weird
fglock audreyt: there is a lot of architecture stuff needed
audreyt Limbic_Region: zlib.h ?
fglock: explain... you mean like prim bindings?
fglock audreyt: like what the AST will look like
Limbic_Region audreyt - nope
fglock audreyt: unify the node names
audreyt: add the proper annotations 13:50
Limbic_Region and yet, when I compile an executable with ghc and link using -lz it works fine
audreyt fglock: right. but all this can happen piecemeal
fglock: like, currently we use PGE for rules.
fglock: I'd like to switch to p5 for rules.
nothingmuch gaal: anyway, the code looks good
fglock audreyt: you mean, after self-hosting?
13:50 vodka-goo joined
Limbic_Region audreyt - perhaps there is another env variable at play here 13:50
audreyt fglock: no, like, this week.
Limbic_Region checks again
audreyt fglock: and then we figure out how to ship objects between Hsland and P5land via YAML serialization 13:51
nothingmuch i don't know if i like IO methods in the String class
i.e. "foo".readdir
on the one hand it's very useful
on the other hand it's also a big intertwined mess
maybe readdir is a multimethod on Str provided by the IO::Dir prelude module or something?
audreyt fglock: basically, currently the Hs parts can be split roughly into "runtime" and "compiler" parts
fglock: my wish is to port the former to p5 and the later to p6 13:52
fglock audreyt: re p5 for rules - you can already use p6 for rules
audreyt fglock: right, you ported that to p6
in any case, I think p5-as-runtime is definitely the way forward 13:53
hs-as-runtime was just so that I can understand what's going on better
I'll read about Deal.txt more and discuss with Leo tonight
I'm leaving Vienna in <1hr
fglock audreyt: what would you need the compiler structure to be - it can be changed anytime 13:54
gaal oops, back
fglock audreyt: actually, you have more resources to change it then I :)
audreyt fglock: do I? :) you mean time? :)
fglock audreyt: experience
audreyt I'll think about it more on the car to Leo's place.
s/on/during/; s/car/car drive/; # or something 13:55
fglock audreyt: thanks
audreyt np :)
I'll bbiab
gaal audreyt: looks like bsb found the macro problem
nothingmuch ciao
going home
gaal (maybe)
so don't worry about that if it was still in your queue 13:56
Limbic_Region audreyt - I am on to something 13:59
ran strings on ld.exe
it has some hardcoded search paths
14:00 rantanplan_ joined 14:02 rgs joined 14:06 avar joined 14:08 Muable joined
Limbic_Region gives up 14:24
14:31 elmex joined
fglock re OO AST nodes - does it make any sense to use hashes, and autobox when necessary? (just because building objects during the parsing may be expensive - backtracking throws many nodes away) 14:32
14:32 Nouk joined
audreyt fglock: for perf I'll even just use arrays with constant lookup keys 14:36
fglock: but I'd suggest to _not_ care about performance
just optimize for clarity/effieciency for coding
it may be nice to adopt the haskellish
Val(VInt(3))
i.e. instead of calling ->new, use functions as constructors 14:37
fglock audreyt: but are resulting nodes objects of functions?
audreyt: you mean like: rule xxx {... { return Val(VInt(3)) } } 14:39
audreyt: I'm ok with that - Val and VInt are "node constructor" functions, which we can modify later 14:40
rule xxx {... { return Val(VInt( $1 )) } } 14:41
audreyt yes. 14:43
this is because in p6
VInt(3)
is basically
3 as VInt
and you can install multis in the VInt class to anticipate the infix "as" call 14:44
14:44 drbean joined
fglock audreyt: and if Val returns a function, we can delay "building" the AST by not evaluating it, right? 14:44
audreyt yes
but I'm not sure how much you gain in p5land from that
fglock audreyt: I don't know too - just thinking aloud :) 14:45
audreyt without core support for thunks, and with a typical compiler run visiting all nodes
delaying ast buildup doesn't gain you much.
fglock audreyt: you get time by not bulding things that would be destroyed by backtracking - I think that's all 14:46
audreyt yup, so it's CV creation vs HVMG creation 14:47
well, with the encapsulation offereed by function constuctors we can switch style at all times 14:48
but my gut feeling is that plain HVMG is good enough
fglock audreyt: VInt(3) - you don't need to specify the argument name? (sorry, I don't really know p6)
HVMG? 14:49
audreyt no - it's a coercion
blessed hashref
some help in p5land for this kind of thing:
search.cpan.org/dist/Symbol-Opaque/
search.cpan.org/dist/Data-Variant/
ok, I'm leaving here to be picked up to Leo's now 14:53
be back in ~4hrs
&
svnbot6 r9363 | fglock++ | lrep - updated Tasks, Notes 15:03
15:09 chris2 joined 15:10 vel joined 15:19 cm joined
broquaint pugs: *** No such method in class Str: "&use" 15:36
From the latest checkout. Can someone point me to on how/where to fix this?
I'm guessing Prelude.pm 15:37
15:45 p2502 joined
clkao audreyt: yaml::syck bug 15:55
"--- #YAML:1.0 {}" returns undef rather than empty hash
gaal broquaint: it's known b0rkage 15:56
broquaint: s/macro/sub/ in Prelude for now,
in "use" and "require"
15:58 uszr` joined 16:11 FurnaceBoy joined
broquaint Nice. Thanks, gaal :) 16:13
16:21 justatheory joined
svnbot6 r9364 | putter++ | Regexp-ReplaceEngine.pm - remove code obsoleted by new lexical scoping. 16:22
fglock audreyt: "_not_ care about performance" - that's the hard part for me - I used to write in assembler :)
16:23 awwaiid_ joined 16:28 putter joined
bsb ?eval macro M($a) { say $a; return q:code{} }; say(M(1+2)~"<") 16:34
16:35 evalbot_9350 is now known as evalbot_9364
evalbot_9364 user error (unhandled elementYamlStr "~") pugs: *** cannot cast from VUndef to Handle (VHandle) at <prelude> line 200, column 24-45 <prelude> line 224, column 13-25 <prelude> line 278, column 5-55 -e line 1, column 1 16:35
TimToady fglock: the P6 grammar is designed to not require much backtracking at all (unless you want to go back and give better diags), so I wouldn't sweat it. 16:36
fglock TimToady: ok - it's mostly because I haven't implemented ':' yet :)
TimToady fglock: in fact, if there's *any* place in the grammar that requires backtracking for a correct parse, I'd like to know about it... 16:37
fglock TimToady: I'll maybe add a switch to disable backtracking or give a warning - so we'll know :) 16:38
16:38 avar joined
TimToady cool 16:38
we even try to avoid alternation in favor of <%tokens>. 16:39
16:39 Draconit_ joined 16:40 Draconit_ left
TimToady and <%tokens> is potentially the merge of several syntactic categories, so we don't have to say 16:40
putter is there a target grammar category? (in the parsing sense, not the p6 sense;)
TimToady <%statements_control> | <%unaries> | <%terms>
fglock TimToady: is there an existing Grammar file you would recommend as a start point? 16:41
TimToady putter: don't understand what you're asking...
putter wonders what %unaries is
LALR(1), etc 16:42
TimToady s/unaries/prefix/
+ circumfix left side
putter ah, ok
TimToady Actually, circumfix could be considered a subset of terms.
putter yes
(i think)
TimToady fglock: not that I'm aware of, unless Patrick has one. 16:43
The approach we've been taking...
16:43 marmic joined
TimToady is to have a 3-layer parser. 16:43
(well, where the 3rd layer is really fractal...)
the top layer is top-down, down to expression level.
the middle layer is a bottom-up operator precedence parser to avoid 16:44
excessive recursion through 22 or so prec levels.
each term can then be its own little top-down parser inside the token grabber for the op prec parser.
I also worry about efficiency... :) 16:45
fglock TimToady: :)
putter the token grabber selects which term to use how? 16:46
TimToady One of the additional reasons for installing the op-prec parser in the middle is to allow for added prec levels.
but we don't necessarily need that for a bootstrap. 16:47
Unless we actually add all of Perl 6's opcodes that way.
fglock TimToady: the idea (so far) is to add all prims using sub or macro declarations 16:48
TimToady <%mush_of_all_syntactic_categories_where_term_is_expected>
which can have prec declarations, so we could add most prec levels that way, if the underlying prec architecture can support it. 16:49
putter terms can have prec decls?
TimToady terms by definition have a "squinting" prec that is infinitely tight looking out and infinitely loose looking in. That's why circumfixes are so popular to represent visually the "surreal" precedence change. 16:51
Limbic_Region TimToady - did you see perlmonks.org/index.pl?node_id=535263 (Perl 6 gets some press)?
which actually just mentions this article on p6 www.eweek.com/article2/0,1895,1932126,00.asp 16:52
bsb the args to macros should always be ASTs, right?
16:52 justatheory joined
fglock What is the default precedence when you create a sub? (tighter than anything else?) 16:54
TimToady bsb: depends on what the "is parsed" rule returns, and the signature declares, and whether they match.
by default subs are list operators.
except ($) is still unary op, last I checked. 16:55
but that might be worth breaking...
fglock TimToady: '$'?
TimToady single scalar argument in P5-proto-speak.
bsb I had an idea about using unary macros to do haskell's comma-less, tight, currying function calls... 16:56
TimToady could be made to work.
bsb is parsed gives the macro's grammar category, right? 16:57
TimToady I believe at one time we made infix:<X> default to the same prec as infix:<+>, but lately I think we just require "is equiv" or some such. 16:58
fglock bsb: macro infix:<xxx> ... - the grammar category comes before 16:59
TimToady eh? the grammatical category is part of the macro's name, or I'm misunderstanding your question.
putter inside a circumfix, are the trailing tokens of surrounding circumfixi still tokens?
bsb I might just slink away from that question and get to the thing that's confused me... 17:00
TimToady The inner rule has to be parameterized to know what its terminators are, if they would be confused with inner tokens.
bsb After talking to audreyt, I thought macro's arguments were always ASTs, but the macros in Prelude seem to expect normal values 17:01
TimToady but usually any unbalanced bracket could be assumed to terminate.
ASTs are certainly encouraged as the default, much as opaque objects are now the default in P6. But we want to leave the hooks there to do something else. 17:02
bsb That means the Prelude should probably revert to subs instead of macros for now 17:03
TimToady terminator params might actually be one of the places we choose to backtrack rather than merging categories: 17:04
<%terminators> | <%expect_term>
since the merge would have to be redone on every subrule call. 17:05
fglock TimToady: you mean rules inside 'is parsed' may need to take the terminator as a parameter in order to know where to finish macthing?
bsb putter: ping
putter circumfix:<+ +> +(3+2)+ ? 17:06
bsb: pong
TimToady fglock: yep, if the rule is sufficiently antisocial to want conflicting things. 17:07
though I see it's actually 17:08
bsb gaal said you know about the macos in Prelude, can they be reverted to subs?
TimToady <%terminators> | <%expect_operator> from the +...+ example.
fglock TimToady: the problem is there can be any rule inside the 'is parsed' - and then all rules would need to check is this parameter is set
I mean, the macro parameter can be any rule 17:09
bsb until we have macros params that can be ASTs or normal values
TimToady yes, perhaps it's really something environmentally magical that all <%foo> just automatically track.
17:09 GabrielVieira joined
fglock TimToady: ok 17:10
TimToady Anyway, for well behaved subrules, we can just assume trailing brackets for now, as long as we keep the generalization in mind. 17:11
fglock TimToady: I don't see '^' in the example Grammars - is it automatic (to match on the start of the string) 17:12
TimToady Maybe we can semi-generalize that to "stop on syntax error", but that bugs me a little, since there are real syntax errors as well as fake ones...
subrules are always anchored on the left to where their parent rule called them. 17:13
But some of them may also be marked :p to start at the current pos.
but it's possible this will turn into a token vs rule distinction on the declaration itself. 17:14
we also thought we could do smarter whitespace matching on the transition from a rule into a token as well. 17:15
fglock TimToady: is 'token' a new keyword?
TimToady conjectured.
17:16 nothingmuch joined
putter fails to parse "subrules are always anchored on the left to where their parent rule called them. BUT some of them may also be marked :p to start at the current pos." not equivalent sentences? 17:17
TimToady Interestingly, I see a def for "token" in S06 but nothing discussing it...
nothingmuch moose
gaal wapiti
nothingmuch i need someone with good english to look over my CV and help me rephrase all these stupid sentances with an I in them
it looks like a vanity page
TimToady not equivalent when the subrule is called directly rather than as a subrule. 17:18
gaal where should `data CompUnit` live? I keep running into layering questions when I do things that are useful for both Prim and CodeGen
bsb nothingmuch: Just refer to yourself as "Moose"
fglock putter: :p is optional (that's not a tongue)
bsb Moose was employed for 6 months as...
nothingmuch bsb: shadaaaaap
gaal what eventually happens is that that stuff is pushed to AST.Internals, everybody's favorite catch-all
putter ah, ok
nothingmuch anyway, it's spelled MĆøĆøse 17:19
TimToady if we had a "token" keyword, it might autoanchor on both ends when called directly on a string rather than as a subrule, unlike :p which is currently specced as just the front anchor. But it still needs some thought... 17:20
17:20 Migo1 joined
putter is there any conjectured nomenclature for token,definition-of vs token,instance-of? (ie, class names:) 17:21
TimToady well, if a rule is a Rule, then a token would be a Token, I expect.
nothingmuch brb
TimToady I've got to head off to $job now. 17:22
putter thanks for the puzzle answers :) 17:23
TimToady I don't know if they're answers, but maybe they're at least better questions. 17:24
&
putter bsb: re macros in Prelude,
bsb yes 17:25
putter use/require can (should? - i was just about to change it) be subs. not because the really are, but because Parser.hs is handling making them macros (specifically, macros with an "is parsed"), as well as providing part of their implementation. 17:26
so the change is strictly pragmatics
because macros are having bug issues at the moment
I'm not sure that one can do the same with the rx macros
pondering... 17:27
fglock bbiab
putter fglock:
how, big a bit? had Deal thoughts
svnbot6 r9365 | fglock++ | lrep - even more Todo
fglock putter: need to go grab forms for the phd thing ~1h 17:28
17:28 p2501 joined
putter k 17:28
ntx 17:29
*tnx
17:29 fglock left
bsb also, as the Prelude is written, it seems to want normal args instead of asts for the macros 17:30
ASTs are the default, and the syntax for the other forms is not clear yet
probably just ($x is Int) in the sig 17:31
putter might work. # re rx_ things being subs 17:32
not normal args, strings. unless something has changed recently (in pugs), strings are still the default. but could add Str to the signature, as long as it doesnt break something. 17:34
bsb pugs incorrectly evaluated the macros args as a normal sub would 17:35
putter i dont understand... 17:36
bsb macro M($x) { return q:code {} }; M(say "hi"); # should do nothing 17:37
putter some specific macro, macros in general (pre yaml and subsequent breakage), macros now (apparently broken)
17:37 mj41__ joined
putter AST returning macros are brand new and quite untested. 17:37
and audreyt is fiddling with the macro implementation. 17:38
bsb so were gaal & I
putter right
so nothing q:code {} does/doesnt do at the moment would surprise me :)
bsb I've found some very interesting weirdness there 17:39
putter but... what is the connection with the Prelude?? "macro's unstable, let's see if we can pull them form the Prelude for now?"
bsb Including repeated evaluations of args
2 connections: 1) unstable 2) the Prelude macros don't use the AST as default style 17:40
making it had to implement that
s/had/hard/
That's what gaal & I were trying to do 17:41
putter tries sub'ifying Prelude macros... 17:42
so what's the plan, a macro f(Str $s){} is a string taking macro, and macro f($a){} defaults to $ast? and either can return q:code {}? 17:43
the default seems odd to me, given that ast's are -much- harder to standardize and keep stable than a language spec, so there are likely to be multiple flavors of ast's, but only one flavor of string. no? 17:44
bsb Yes, I think, to the first question 17:46
gaal agrees with putter's observation about ASTs changing 17:47
17:48 sandrina_l joined
bsb I think the various shifting AST problem is avoided by treating them as opaque chunks for now 17:48
They can be returned, spliced into q:code and $ast.perl pretty printed, perhaps $ast.as(Str) -ed too 17:49
Juerd c 17:50
s/c//
putter ok, use/require can be sub'ified. the rx_ cannot (easily). feel free to modify their signatures, or to rip out the parser patch which calls them (they are the beginning (no dependencies (or few, pil2js?)) of a development path which has been blocked for... well, a really long time (>1/2year)). 17:51
ripping would probably speed up parsing too. ;) 17:52
oh, hmm, i wonder if some of the rx functionality is now present only in the macros...
bsb I haven't delved into the dependencies, wanted to check here first 17:54
17:55 justatheory joined
putter re functionality, it looks like at most a modifier might be lost, because something has ended up depending on rx_ conditioning them. 17:55
17:56 Lorn joined
putter that cover it? 17:56
bsb I'm having weird Prelude+YAML issues so I'll have to get back to you 17:58
18:01 p2501_ joined, dduncan joined 18:02 hexmode joined
putter sighs. a couple of weeks of work, most of it no-side-benefit pugsbug dodging, and the entire net result has been 1/2 year of slower parsing. :( 18:04
bbiab
TimToady putter: on Str vs AST default, the thing is, you can potentially track tree transformations bidirectionally with ASTs, but as soon as you go to straight text, you're throwing away information you might need later to do, say, syntax highlighting or really good error messages. Text macros are just source filters writ small... 18:05
18:07 ruz joined, fglock joined
bsb and unevaluated args is part of what make macros special 18:08
gotta go, later &
fglock putter: back 18:11
18:11 p2501_ joined 18:28 justatheory joined
audreyt safely arrived to Leo's. 18:34
fglock audreyt: hi!
audreyt hey! 18:35
I've grokked lrep
amazing work!
fglock audreyt: thanks - specially coming from you! 18:36
audreyt :)
we need better interfaces
PerlJam What is lrep? 18:37
fglock audreyt: interfaces?
PerlJam: misc/pX/Common/lrep - very deep in the tree :)
TimToady stands for Least Recursively Expressed Perl, or some such :) 18:38
audreyt fglock: like, take p6rule.pl and promote it to Perl6::Rule
PerlJam fglock: does that mean that lrep isn't amenable to a sound-bite-ish description or just that I should read the code?
:-)
audreyt its README states that it stands for Lister Rubbish Eclectic Pathologically
dduncan it may just be a transient error on my own machine, but building the latest pugs , generating prelude failed on internal error, WEAK object entered, saying report to haskell team
audreyt dduncan: yes, I'm fixing it 18:39
dduncan okay
fglock TimToady: thanks - that fits exactly
audreyt PerlJam: it's like the pugs in the first ~2 months -- but written in P5
dduncan so if you see it, then its not just my machine
audreyt PerlJam: but armed with Rules for parsing instead of Parsec
PerlJam audreyt: ah. Now that's awesome!
trebly so! 18:40
Juerd audreyt: That's a first generation backronym ;)
audreyt fglock: by "better interface" I mean "develop each part in the style of reusable CPAN modules"
fglock: I imagine a lot of perl5 folks will like to deploy the Rules iterator engine, even if they don't care about p6 in general 18:41
with luck it may even make into one of the Perl 5.10 "feature.pm" sets
18:41 nothingmuch joined
nothingmuch moosen 18:41
audreyt use feature "rules"; # enables Regexp-Engine-Replace
(or just enables rx// quoting) 18:42
fglock audreyt: oh, that makes sense - pmurias is helping with that, and putter is actually implementing the ultra-low-level stuff
TimToady (though rx'' already quotes...) 18:43
fglock audreyt: I'd like to have more info on how Pugs separates the module roles, so that I can follow the same structure - does it makes sense, or should it be reinvented?
mauke Bad name after rx' at -e line 1.
audreyt m'' quotes, yeah 18:44
but I don't know, I sorta like the idea of a separate rx// for Rules
instead of lexically tweak what m// means
(this is in p5)
TimToady right, I'm not against tweaking P5.
putter back 18:45
audreyt well, sure, seeing that you are the mad tweaker here... :)
putter: hey
putter hi
fglock audreyt: Perl6::Rules is taken. How about Perl6::Lrep::* 18:46
putter (hmm, if ast nodes stringify to code, are they source macros?;) and overload ~, and... 18:47
audreyt I imagine Perl6::Rule is not taken
Perl6::Grammar neither
fglock audreyt: Perl6::Grammar is much better
audreyt Perl6::Grammar then
my idea is that the runtime parts -- the part that will _stay_ in Perl5 even when we have full perl6boot -- belongs in Perl6::* namespace 18:48
fglock audreyt: so there are no problems if Perl 6 depends on CPAN perl5 modules?
audreyt I think it should depend on as many module as possible.
<- SVK, Jifty, Kwiki developer 18:49
putter Please please please can we not go down the p5 naming route of naming something which will inevitably have multiple implementations by a generic term? Perl::Editor. Perl6::Rules. Class::Multimethods. arg.
audreyt putter: you are for prefix, then?
fglock audreyt: It is ready then :) just kidding -
how about a plug-in style API for parser, optimizer, etc 18:50
audreyt putter: something like Pugs::Grammar or PX::Grammar?
putter Perl6::Rules::Foo or Perl6::Grammar::Foo is great. but the "hey, Perl6::Rules is taken, so let's call it Perl6::Rule" is part of what makes CPAN a mess.
(pet peeve;)
audreyt putter: "Perl6::Rules is taken, let's write damian to take over it" 18:51
(would be my first reaction)
nothingmuch i think so too
fglock audreyt, putter: agreed - Perl6::Grammar::Lrep for the current implementation - but the main program should use a plug-in struct so that anyone can do it's own implementation
nothingmuch IIRC p6::rules was sort of abandoned
PerlJam I wonder if most of what is current in Perl6:: should really be in Perl6Prototype:: (not that that'd ever happen)
Some if it is just proof-of-concept stuff while other parts are "this is useable" 18:52
Juerd Much of CPAN naming makes no sense, or doesn't make sense anymore. 18:53
fglock 'p6 --grammar=lrep --emit=yaml'
putter I'm not suggesting Perl6::Rules go away. I'm hoping for a naming scheme which doesn't leave people searching for modules in their current state of "there's an obvious name for what I want to do. indeed, there is a module with that name. but I want a different implementation. let me pull out my thesaurus and stemmer and attempt to find them".
nothingmuch Array::Heap2 is my fav
Juerd The "hierarchy" itself is broken in so many ways, that you can't really expect people to follow it, I think.
fglock no need to go away - Perl6::Rules::Lrep is free
FurnaceBoy yep.
nothingmuch Array::Heap doesn't exist, but the name is parked by Jon Orwant iirc 18:54
putter err, s/I'm not suggesting Perl6::Rules go away./I'm not suggesting Perl6::Rules not go away./ ;)
nothingmuch as one of the MAPL spinoff modules that was not quite finished
fglock anyway, Perl6::Rules may actually be useable - and Parse::RecDescent too 18:55
all we need is a plug-in API
TimToady It seems to me that Perl6:: is the prefix that indicates various modules that are *not* expected to interoperate. Maybe a different prefix would indicate modules that are expected to interoperate. 18:56
fglock or a base Class
putter Perl6::Rules should become the root of an organizational hierarchy, not some specific implementation. my $0.02.
fglock TimToady: Lrep::* / Pugs::Lrep::* ? 18:57
Juerd Interoperate:: :)
IO::, in short ;)
TimToady dunno. Just Perl6 has Acme-ish connotations at the moment.
Juerd TimToady: Indeed. And that affects the image of Perl 6 too.
audreyt I really think Pugs::Runtime or something like it is more accurate than Lrep :)
(as the module name, not the project name) 18:58
fglock we can safely hack on Acme::Perl6::* and nobody would notice
audreyt Bundle::Meta::Acme::Perl6
fglock audreyt: Pugs::Runtime ++
TimToady Pugsy:: 18:59
Juerd TimToady: I personally think it would be good to ask the Perl6:: authors of modules that are just proofs of concepts (anything using source filters), to rename their modules. On the other hand, changing names is dangerous...
fglock audreyt: except that it includes compile time
audreyt or, hell, there's no Pugs::* anything yet
so let's just use that
Pugs::Grammar, Pugs::Optimizer
fglock audreyt: ++
Juerd audreyt: And maybe, Pugs::Prelude?
audreyt aye
Juerd audreyt: Which would be nice on CPAN, I think :)
audreyt yeah. 19:00
fglock audreyt: how about the plug-in thing?
audreyt fglock: follow the Module::Pluggable tradition
Pugs::Optimizer::Plugins::ThisPluginName
nothingmuch what about freepan?
isn't that singular Plugin?
audreyt right.
so, what to do with lib/pugs/run.pod ?
and hack.pod 19:01
putter oh, yeah, before I turn into a pumpkin, potentially netless for a few days, that's my main reaction to Deal,
nothingmuch so, no english volunteers?
audreyt can we merge both back to Pugs.pod (for now)?
fglock audreyt: Pugs::Doc(s)
audreyt Pugs::Doc::Run
putter Perl6 alpha will be mostly written in p6. pugs+pil2js+pX+whatever.
That p6 mostly doesnt exist yet. 19:02
If it existed, it would actually not be tremendously difficult to do new backends, even from scratch.
fglock putter: not only backends, but compilers, optimizers 19:03
putter Now, when doing a backend, you have to simultaneously write that p6, which also means figuring out/disambiguating/making up a p6 spec. Which all take far more time than actually doing the backend. ;)
nothingmuch you're all mean
you don't love me at all
kolibrie nothingmuch: we just don't think we speak English 19:04
nothingmuch bops kolibrie
kolibrie ducks
nothingmuch kicks kolibrie while he's on the floor
kolibrie nothingmuch: url?
fglock nothingmuch: you mean - about the CV? 19:05
nothingmuch fglock: yes
putter fglock: right, not just backend. parser, compiler, emitter, runtime, object space. the whole thing.
kolibrie catches url offline 19:06
svnbot6 r9366 | audreyt++ | * rename pugs::run and pugs::hack to Pugs::Doc::Run
r9366 | audreyt++ | and Pugs::Doc::Hack, for the Great Pugs Hierarchy.
audreyt fglock: okay. so move pX things over -- for non-perl6-pugs-specific things, like the iterator engine
fglock nothingmuch: I can help you with portuguese
audreyt you can still call it Pugs::Grammar and put into lib/Pugs/Grammar.pm
fglock audreyt: which /dir?
audreyt or if you want to distinguish components more 19:07
lib/Pugs/Runtime/Grammar.pm
nothingmuch fglock: my sister might like help with her portuguese
audreyt or if you are not unhappy with the Perl6 acmeness
then lib/Perl6/Grammar.pm
putter The drive spec schrodinger collapse with pugs and pil2js and pilrun has been great. but i suggest at this point, it's no longer the optimal path. if we could get some folks simply nailing down the spec, that would free up implementation efforts to simply implement.
fglock audreyt: ok!
TimToady oops. 19:08
putter nailing down spec == reading spec, making up all the questions you can think of, writing them down, getting them answered or approximated, and writing the answers.
audreyt (aka, ghost-writing)
TimToady Entirely coincidental, but I'm outta here. (To see the dentist, again.)
audreyt rofl
TimToady: see ya :) 19:09
TimToady later, let's all have the appropriate amount of fun :/ &
putter day1 9:00am of pugs alpha development: write down object hierarchy. day 1 9:15 of pugs alpha development: realize one doesnt exist yet, and shut down alpha development to write one. ;)
bye 19:10
PerlJam writing a spec isn't development? :)
putter audreyt ghosting ++
audreyt I'll bbiab too, dinner with leo 19:11
fglock: continue in this vein, maybe docs/Perl6/* should be moved to lib/Perl6/* 19:12
but I'll ponder about it after dinner
see you in ~30min &
putter audreyt: so there's a question, what would help your ghosting? how can warm bodies help?
nothingmuch ponders going to tea guru's house for tea 19:15
putter PerlJam: writing language spec has very different characteristics (time frame, who needs to be involved, how) then language implementing. their is unavoidably overlap, even in mature languages. but right now there's too much "oh, you want an On Button" thought only happening when an implementation tries to do things. 19:18
"tea guru"? 19:19
nothingmuch he's this guy i know
putter ah :)
nothingmuch who likes tea
and knows about it more than I do
PerlJam nothingmuch: it's odd that you would mention tea since I'm sitting here sipping some right now :) 19:20
19:20 netanya_goy joined
nothingmuch PerlJam: what kind? 19:21
ooh! rain! finally
we had a bit of it earlier
fglock putter: re ping 2hr ago - how about the Deal thing
putter oh, that was it ;)
nothingmuch putter: so do we have a deal? 19:22
fglock :)
putter main point is biggest current task, and bottleneck on all projects, is the absence of p6 code.
:)
nothingmuch yes, i agree
fglock putter: "absence of p6 code" = no real world things to try the spec on? 19:23
putter one of the things I like about lrep, is, for example, at some point the p5 rules stuff will mature to the point where I'll turn around and say, "great, I need a working p6 rules grammar, anyone have one?". 19:24
fglock putter: "I need a working p5 grammar" - after some years 19:25
putter "absence of p6 code" == no one has written a grammar for p6 rules, in a real p6 style (ie, terms, etc), which seems likely the easiest style for new implementations to boostrap. nor p6 parser grammar. nor object space.
fglock btw - I need a working p6 rules grammar, anyone have one? 19:26
putter lol :)
fglock object space = the set of Classes ("high level prims") ? 19:27
putter caveat that bootstrap may become less important once some p6 rules parser, any p6 rules parser, can do a p6 rules ast. then the easiest path to new implementations might be to just clone the ast, and do an emitter.
yes
fglock putter: exactly - I was discussing this with audreyt a few hours ago 19:28
putter the "day 1 9am" wasn't entirely a joke. the pilrun2 development process looked a lot like that.
fglock putter: and I'll start working on it asap (but not now - I want to do the bootstrapping stuff)
putter :) 19:29
19:29 Southen joined
fglock putter: that's why I need a plug-in structure 19:29
putter: so that people can try out different grammars, etc 19:30
putter so, anyone one want to imagine they have a working p6 system, which just happens to be unavailable at the moment, and sit down to write the p6 object space (in p6 of course). 19:31
fglock putter: I really need ideas for inter-module communication API - possibly just using OO is ok
putter ?
"?" was "anyone?" . re plugin,
19:31 arcady2 joined
fglock putter: parser <=> optimizer <=> emitter 19:32
putter: re anyone - people have been using parse::RecDescent for years - at least these people...
putter: although I never used it :)
putter: re sit down and write - yes! 19:33
putter one possibility would be to focus on lrep, thinking modular simply as good design, and then worry about plugginness later. just because doing a pluggin api can make it harder to alter design, so can be costly if it happens too soon 19:34
fglock 'p6 --object-space=putter ...'
putter: ok
putter wants a file which starts type Any... continues through class Num... and multi infix:<~~>... and ends with $*PUGS_WELCOME_MESSAGE = "...". ;) 19:36
fglock putter: how about writing an example file? it really helps knowing what people want :) 19:38
lrep/p6object_space.p6
putter there is a nice table saying what ~~ means. been there and stable for a long time. p6 is a nice language. why dont we have a p6 version of that table?
19:39 stevan joined
fglock putter: is it Haskell? reusing is good 19:39
audreyt stevan: hi!
putter re example file, good idea. really good idea.
19:39 justatheory joined
stevan hey audreyt 19:39
audreyt search.cpan.org/~nwclark/perl-5.8.7..._in_Detail 19:40
er I mean
search.cpan.org/dist/perl-5.9.3/pod..._in_detail
putter hi stevan. just now flaming the lack of a p6 object space written in p6. or operators. or operator parsers. or... most everything. we've remarkably little p6 code.
audreyt stevan: you missed the Great Namespace Acquisition :) 19:41
stevan putter: have you looked in the perl5/Perl6-ObjectSpace ?
stevan leaves for a few hours and all hell breaks loose :P
putter lol
audreyt stevan: the pX/ie/lrep code will now move to lib/Pugs/* 19:42
as in, Pugs::Grammar for the grammar engine
and whatever code that supports the p6 runtime can be moved from perl5/Perl6-* into lib/Pugs/*
stevan putter: if you look in the Perl6-ObjectSpace, I think it is Bootstrap.pm file, it has s-expr and p6 versions of many metamodel methods inside POD comments
audreyt we're doing a CPAN module now :)
named, incidentally, Pugs.pm 19:43
stevan audreyt: nice :)
fglock audreyt: lib/Pugs == /lib/Pugs ?
ok
audreyt fglock: yes.
putter attempts to read lrep/p6object_space.p6. not found. svn up's. still not found. realizes it was just a name. very sad. 19:44
audreyt putter: you need a time machine
fglock audreyt: what goes in Pugs.pm ? - who is "we?" :)
audreyt fglock: we as in, people who commit to lib/Pugs 19:45
fglock: Pugs.pm should probably be the toplevel API switches
use Pugs; Pugs->parse("...some perl 6 code here...")?
or maybe a new environment allocated with Pugs->new; ? 19:46
fglock audreyt: ok! - you are too fast - I was still thinking how to move things :) 19:47
svnbot6 r9367 | fglock++ | * p6object_space.p6
audreyt putter: see? time machine consists of "sleep 180;"
fglock audreyt: a new environment would be nice - people may want to compile a different language, whatever
audreyt *nod* 19:48
I'd like to have a switch that allows writing perl6 code within a perl5 module
fglock and the parameters to new can be: lib=>[], parser=>[] ...
putter stevan: yes, but. I want a clean p6 implementation which assumes the existance of a complete p6 implementation. " putter wants a file which starts type Any... continues through class Num... and multi infix:<~~>... and ends with $*PUGS_WELCOME_MESSAGE = "..."."
fglock audreyt: I can make an Inline:: thing 19:49
putter lol # time machine
audreyt fglock: we already ahve lib/Inline/Pugs
fglock: but I want a srcfilter
fglock audreyt: Inline::Pugs::PP for PurePerl 19:50
audreyt fglock: but I think the Inline API sucks
(with all due respect to ingy)
putter (oh very much yes)
audreyt { use Perl-6.0; ... write some perl code ... } 19:51
is the API I'd like
fglock audreyt: how about eval( '...', {lang=> 'Pugs' } )
putter (though it exists, and EngineReplace wouldnt exist without it, which forgives many sins)
audreyt it's even easy
just have a Perl.pm 19:52
with import that detects "-6.0"
or rather -6
putter yes, it is:) # easy
putter loves %^H. which he knew about it years ago.
s/which/wishes/
audreyt it's extremely gonzo though, having Perl.pm -- it's like the ultimate violation of CPAN namespace guidelines :)
putter lol
fglock audreyt: isn't it 'use v6' ? --> 'v6.pm' 19:53
putter yes
audreyt no, that gets caught in the lexer
S11 has the
use Perl-6.0
form
putter really... oh, right
audreyt "use v6" is short for "use Perl-6" according to S11. 19:54
putter (i think the question was in perl5 space)
audreyt (I think we should have a p6 file that's both valid p5 and p6)
makes it easier to switch to pure-perl6 boot
putter www.vendian.org/mncharity/dir3/multilang/file/ 19:55
Juerd That reminds me (I see "both" and "boot" close to eachother, which makes "booth")
audreyt so, in order to not upset the CPAN police
use Pugs::Perl-6.0; # maybe something like this.
putter agreed
Juerd audreyt: rafl and I had a half idea about maybe trying to organize an entire Perl 6 track on froscon. 19:56
putter use Perl6 6-0; ?
err, 6.0
fglock head explode - tooo many days brainstorming
Juerd audreyt: As we all know that there's lots and lots to tell about Perl 6, pugs, parrot, etcetera.
audreyt Juerd: nod
putter:
use Perl6.0;
I think that works.
Juerd audreyt: You have a good overview - do you think other (non-Perl) people would be entertained? Many subprojects are interesting for other developers and software fanatics too. 19:57
audreyt or, if we don't care about the CPAN police, we can go with "use Perl-6.0" -- which already exists on CPAN in version 0.03 ( search.cpan.org/~bmorrow/PerlInterp-0.03/Perl.pm )-- and will be usurped ;)
Juerd: I think so, yeah
putter re overall package naming, it could be good for someone, anyone, to sit down an write a strawman story about what goes where. then paste it, and we can go from there. 19:59
Juerd audreyt: Could you use your blog to plug the idea, and to ask people who think they can say something interesting in the form of a talk, to contact me?
audreyt Juerd: I can if you supply me more details than this
(bounce me an email, perhaps)
putter could someone drop audreyt's link to the ~~ table, and "implement it in p6" task, in TASKS? tnx. just about out of time. 20:00
fglock audreyt: re CPAN - will Pugs and Perl6::Pugs be separate packages?
audreyt putter: nothingmuch had one.
fglock: Perl6::Pugs will get renamed to Pugs.
Juerd audreyt: Will do tomorrow
audreyt: tia 20:01
fglock audreyt: but isn't perl5 pugs have a much shorter release time? (binary Pugs is just too big)
audreyt putter: it's in docs/Hierarchy.pod -- but we'll see
putter: it needs some reformat -- I'll work on a story 20:02
fglock: not sure what you mean here
putter cheers. may not have net for a couple of days. back by the 12th.
re story, awesome :)
audreyt fglock: you mean the tarball at 2+MB 20:03
is too big
or that we have too many tests to releng for each release?
putter have... more than the anticipated amount of fun ;)
&
audreyt "Unexpected fun encountered. Continue? [Yy]"
20:04 putter joined, justatheory joined
fglock audreyt: I mean, the self-hosting version will be very small - it could be downloaded separately (maybe just bundle it in a sub-package) 20:04
audreyt: :)
putter just want to say - this has been/is really a blast. audreyt, everyone, my thanks :) &
audreyt putter++ # started this pX revolution thing 20:05
stevan wow,.. if putter had this much fun,.. I need to backlog
fglock putter: :)
audreyt so, I think gobby sessions are in order. :)
fglock gobby?
audreyt (last time I SEE'ed with stevan to get ObjSpace v0 nailed down)
seems we can really use something like that now 20:06
(or tomorrow)
gobby.0x539.de/
so, for inlining: I think we go with "use Inline::Perl-6.0" 20:07
but instead of using the Inline API
just allow it lexically
fglock audreyt: shoudl I install it? still have ~3hours 20:08
audreyt fglock: sure!
fglock ok!
audreyt but hm, ingy may get upset with this abuse of Inline namespace
integral Filter::Perl6 :-/
audreyt use Pugs-inline; say "Hello!";
integral: yeah, that's canonical, isn't it :/ 20:10
fglock re p5/p6 file naming - lib6/*.pl or lib/*.p6
audreyt fglock: lib6/ seems more accurate 20:12
lib6/*.pm even.
20:13 mj41__ joined 20:16 hlen joined
fglock audreyt: gobby downloaded... 20:16
audreyt: create session? 20:17
audreyt fglock: do you have a public-facing IP? 20:18
fglock audreyt: I can get one, but it I'll have to reinstall - can I just connect to you instead? 20:19
audreyt hm 20:20
sec
fglock audreyt: I'm moving to an external ip - if it works, all is good
audreyt try connect to perlcabal.org 20:21
hm nvm, it doesn't work
I'll wait for you
fglock audreyt: how do I open my X - xhost something... 20:22
audreyt er, no idea
Juerd: I'm opening up port 6522 on feather for gobby. 20:23
fglock: try connect to perlcabal.org first?
fglock audreyt: entered in feathers gobby already 20:24
audreyt try reconnect
fglock audreyt: yup - I connected through ssh
audreyt oh ok
Juerd audreyt: Opening up unused ports is always okay if they're > 1024 and not in between 8000 and 8250 :)
fglock audreyt: it works - very slowly
20:24 mj41___ joined
fglock audreyt: should I connect from my local computer's gobby to perlcabal? doing 20:25
audreyt yes.
(all #perl6 folks are welcome to join) 20:26
fglock audreyt: it dies (ubuntu + debians gobby)
audreyt 0.3.0? 20:27
fglock 0.2.2
I'll try from unstable
Juerd fglock: 0.3.0 is in dapper
I'm apt-get installing it atm
fglock dapper?
bbiab - meeting 20:30
Juerd fglock: Dapper Drake, the next version after Breezy Badger 20:31
fglock: Will be released next month
fglock back :)
mj41___ hello, are there lib\Pugs and lib\pugs in the repository? .... i can't svn up :-(
win32
object of the same name already exists 20:32
20:33 rindolf joined
rindolf Hi all! 20:33
I'm no longer looking for kane-xs - he already replied to me.
Heh.
kane-xs++
In any case, from what I understand in Perl6 "," has tighter precendence than "=". 20:34
So why does my @a = 1,2,3; puts (1,2,3) into @a ?
audreyt: here?
Juerd rindolf: See S03 20:35
rindolf Juerd: Synposis 03?
Juerd rindolf: Yes.
rindolf Juerd: OK.
Juerd rindolf: After all the investigation needed to write a freshmeat article on Perl 6, you already know such things. 20:36
nothingmuch audreyt: ping
dduncan fyi, the newer r9367 builds for me 20:38
rindolf Juerd: do you mean www.perl.com/pub/a/2004/03/18/synopsis3.html ? 20:40
fglock audreyt: no way in ubuntu - trying again in windows...
Juerd rindolf: I mean the current synopsis 3, not that of years ago.
rindolf Juerd: ah, I see. 20:41
Juerd rindolf: Let me help you: dev.perl.org/perl6/doc/design/syn/S03.html 20:42
audreyt ouch, netsplit 20:48
20:52 audreyt joined, nnunley joined, rindolf joined, mj41___ joined, hlen joined, stevan joined, Southen joined, netanya_goy joined, nothingmuch joined, fglock joined, ruz joined, hexmode joined, dduncan joined, Lorn joined, Migo1 joined, GabrielVieira joined, awwaiid_ joined, FurnaceBoy joined, chris2 joined, drbean joined, elmex joined, rgs joined, kolibrie joined, Limbic_Region joined, iblechbot joined, gaal joined, Gothmog_ joined, Kattana joined, GeJ joined, Steve_p joined, p5evalbot joined, Odin- joined, kanru joined, robkinyon joined, DesreveR joined, f0rth joined, Bit-Man joined, SamB joined, Maddingue_ joined, mauke joined, Ara4n joined, whiteg joined, lisppaste3 joined, mako132 joined, integral joined, kane-xs joined, xern joined, ayrnieu joined, TimToady joined 20:53 wilx joined, meppl joined, Khisanth joined, kakos joined, mugwump joined, lampus joined, miyagawa joined, Daveman joined, lypanov joined, svnbot6 joined, orafu joined, Supaplex joined, clkao joined, ajs_home joined, pjcj joined, evalbot_9364 joined, stennie joined, mtve joined, shric joined, amv joined, tewk joined, szbalint joined, Shabble joined, sky_ joined, rafl joined, spinclad joined, arcady joined, Grrrr joined, lumi joined, jvoorhis joined, gugod joined, arguile joined, azuroth joined, cookys joined, jp-autark joined, comet^ joined, hcchien joined, dvtoo joined, Eimi joined, geoffb joined, sahadev joined, perlbot joined, locksy joined, sri_ joined, kcwu joined, xerox joined, obra joined, knewt joined, ntgrl joined, ycheng joined, LCamel joined, ingy joined, jiing joined, buu_ joined 20:54 jjore joined, buu_ joined, jiing joined, audreyt joined, nnunley joined, rindolf joined, mj41___ joined, hlen joined, stevan joined, Southen joined, netanya_goy joined, nothingmuch joined, fglock joined, ruz joined, hexmode joined, dduncan joined, Lorn joined, Migo1 joined, GabrielVieira joined, awwaiid_ joined, FurnaceBoy joined, chris2 joined, drbean joined, elmex joined, rgs joined, kolibrie joined, Limbic_Region joined, iblechbot joined, gaal joined, Gothmog_ joined, Kattana joined, GeJ joined, ingy joined, LCamel joined, ycheng joined, ntgrl joined, knewt joined, obra joined, xerox joined, kcwu joined, sri_ joined, locksy joined, perlbot joined, sahadev joined, geoffb joined, Eimi joined, dvtoo joined, hcchien joined, comet^ joined, jp-autark joined, cookys joined, azuroth joined, arguile joined, gugod joined, jvoorhis joined, lumi joined, Grrrr joined, arcady joined, spinclad joined, rafl joined, sky_ joined, Shabble joined, szbalint joined, tewk joined, amv joined, shric joined, mtve joined, stennie joined, evalbot_9364 joined, pjcj joined, ajs_home joined, clkao joined, Supaplex joined, orafu joined, svnbot6 joined, lypanov joined, Daveman joined, miyagawa joined, lampus joined, mugwump joined, kakos joined, Khisanth joined, meppl joined, wilx joined, TimToady joined, ayrnieu joined, xern joined, kane-xs joined, integral joined, mako132 joined, lisppaste3 joined, whiteg joined, Ara4n joined, mauke joined, Maddingue_ joined, SamB joined, Bit-Man joined, f0rth joined, DesreveR joined, robkinyon joined, kanru joined, Odin- joined, p5evalbot joined, Steve_p joined
Limbic_Region Win32 can't svn up ATM 20:54
hmmm - not sure why I am telling anyone this - it looks like the universe is bouncing
20:54 audreyt joined
integral hmm, I see 20:54
doesn't something like deleting the dir, and syncing up fix stuff?
Limbic_Region integral - usually
integral oh, my mistake, there's still both 20:55
Limbic_Region but not in this case - whatever the problem is is still in the rep
integral hmm, I think I can just svk rm .../lib/pugs
20:55 jiing_ joined
nothingmuch yay! spam spam spam spam! 20:56
Limbic_Region well - last time this happened I kissed audreyt and she made it all better
integral Limbic_Region: fixed! or at least deleted. any more problems with that should be on your end now hopefully :)
nothingmuch ciao guys, i'm off for tea
thanks for much patience WRT the CV
Limbic_Region kisses integral
svnbot6 r9369 | bsmith++ | Deleting empty lib/pugs directory now that files are in lib/Pugs (for the benefit of win32 users) 20:57
FurnaceBoy yep, pugs + Pugs will break case insensitive svn users 20:58
deleting one or t'other is the right fix
that is, if you care about them. ;) 20:59
20:59 audreyt joined
mj41___ thanks 21:00
audreyt whew, netsplit over 21:02
gobby session still going on on perlcabal.org
Steve_p gobby? 21:03
audreyt gobby.0x539.de/ 21:06
multiplayer notepad
a bit better than IRC (multiplayer cat)for design sessions
Steve_p Ahhhh 21:07
Limbic_Region jZed was working on something like that - wonder what became of it
21:07 mj41____ joined
audreyt I think gobby is Good Enough (tm) 21:08
Steve_p If we can get it hooked to an EVE client, we could get schwern working on pugs for 18 hours at a time ;)
audreyt schwern implemented $*CWD in Pugs. 21:09
but 18hrs at a time... wow :) 21:10
21:10 avar joined
Steve_p audreyt, I could have sworn I've seen you working on pugs for nearly that long a few days :) 21:13
audreyt yeah :)
szbalint audreyt: oh, .at? You're in the neighbourhood :) 21:18
21:21 stevan_ joined 21:22 buu_ is now known as buu 21:25 mj41_____ joined
audreyt szbalint: :) 21:28
21:41 mj41______ joined
audreyt <- working with fglock now on Pugs::Grammar::Rule API 21:42
<- also working with LeTo now on getting ParrotObject work with perl6 ::Proto objects
21:43 ruz joined 21:44 Limbic_Region joined 21:50 fglock joined
fglock audreyt: ping 21:51
audreyt fglock: pong
fglock I'm trying to reconnect...
21:52 pmurias joined
svnbot6 r9370 | pmurias++ | --format xml implemented using XML::Generator 21:56
r9370 | pmurias++ | Data::Dumper not used in p6compiler.pl
22:01 mauke_ joined 22:02 mauke_ is now known as mauke 22:07 stevan joined
svnbot6 r9371 | audreyt++ | * misc/pX/Common/lrep/Notes-Pugs.pm - draft gobby meeting notes about 22:14
r9371 | audreyt++ | how to proceed the Grand Move from /misc/pX/Common/lrep to /lib/Pugs/*
r9372 | audreyt++ | * last-second edits from fglock.
22:22 audreyt_ joined, Alias_ joined 22:24 binary42 joined
Alias_ seen audreyt 22:31
(you guys really need to get a bot)
(that deals with such queries implicitly)
fglock Alias_: audreyt is not online 22:32
Alias_ fglock: Yep, purl told me. Arrived at leo's a few hours ago, so I imagine she won't be around for another 8 hours or so
fglock Alias_: I'd like a "who's online" button - the irc's one doesn't mean anything 22:33
yup
audreyt++ accept new ideas fast 22:34
Alias_ You killed her 22:35
fglock no, she quit because of no new ideas to keep her connected 22:36
22:38 SamB joined
FurnaceBoy hey, I'm still connected but I haven't had a new idea in years 22:39
Alias_ AWAY WITH YOU!
22:40 Alias_ left
fglock Alias_ away-ed herself? 22:40
22:44 Muable joined
fglock
.oO( people all quit about the same time, even if they are in different timezones )
22:45
23:02 justatheory joined
fglock the more I try to explain lrep, the more complicated it looks :( 23:04
23:04 nothingmuch joined
fglock nothingmuch: hi! 23:05
nothingmuch hola
fglock I'm trying to explain lrep internals in misc/pX/Common/lrep/Notes-Pugs.pm - but it is much harder than I thought 23:06
Juerd Heh. 23:07
23:07 ruz joined
Juerd Asked my dad on the phone if he could disconnect the network cable from my computer. 23:07
"I can't find your computer. Where did you put it?"
23:07 avar joined
Juerd But I could still ping it, so it couldn't be stolen. 23:07
fglock Juerd: login and make it beep 23:08
Juerd He ignored my Mac mini on his search for my computer.
He thought it was some peripheral device :)
nothingmuch fglock: was that for me?
Juerd It's too small!
23:08 mj41_______ joined
fglock nothingmuch: maybe - just talking to "irc" - whoever is there :) 23:10
nothingmuch ah
fglock nothingmuch: Juerd is doing the same
nothingmuch will try to join in the fun in a few minutes ;-) 23:11
then I could also talk to nothing in particular
fglock nothingmuch: talk about the CV thing
nothingmuch ah
my cv is now on my website
nothingmuch.woobling.org/
Juerd fglock: Re making it beep: couldn't do that - it beeps through external sound. 23:12
fglock nothingmuch: cool - now you've joined the fun
Juerd 00:10 < fglock> nothingmuch: maybe - just talking to "irc" - whoever is there :)
Talking to irc rocks.
If there's something you want to say, pick a channel and start talking. Works well. 23:13
fglock :)
Juerd I sometimes wonder how people without IRC do that. I wonder what to do if I'm without IRC and want to tell something.
(When alone)
nothingmuch: Are the cyan borders around certain things in your CV intentional? 23:14
nothingmuch Juerd: no 23:15
oh wait
Juerd They distract, turn combined colour/bw printers into their slow mode, and hurt eyes :)
nothingmuch it's hyperlinks, i guess
eek
Juerd There are no hyperlinks in paper.
integral hmm, I can't see those on os X preview
nothingmuch try clicking them
pdf has hyperlinks
Juerd nothingmuch: My reader is ghostscript
nothingmuch ah 23:16
err, i'll make you a .ps?
Juerd I can do that myself
But thank you
wolverian I can't see cyan either 23:18
Juerd nothingmuch: search.cpan.org/~nuffy is incomplete, postfix another /.
nothingmuch Juerd: the hyperlink is "correct" 23:19
i just think that without the trailing slash it looks kind of better
i tried both and went on a gut feeling
but since then the formatting has changed
i'll try to twiddle it
Juerd nothingmuch: It's not, but the server end is forgiving enough to send you a Location: header. 23:20
nothingmuch the hyperlink is 23:21
\href{search.cpan.org/~nuffin/}{http://se...m$nuffin}.
that's the source
Juerd Awwh
Then the text is just misleading.
:)
I always consider CVs to be paper documents.
It makes many things easier, including comparisons.
obra When candidates submit resumes in something other than ascii or HTML, I'm less likely to open them. 23:22
PDF is also generally ok, but somewhat less ideal.
Juerd obra: I'm used seeing most in PDF 23:23
I prefer PDF because that includes some of the submitter's design thoughts or skills.
obra When we ask for "not word" and they still send word...Well, it's not an automatic bitbucket.
But it makes me sad
Juerd If they use TeX with default settings, that says a lot about the person, for example.
obra were I looking at a designer who did print stuff, I'd want to see their handywork ;)
Juerd If they send anything in Comic Sans MS, that does too :) 23:24
FurnaceBoy <obra>When we ask for "not word" and they still send word...Well, it's not an automatic bitbucket.
maybe it should be -- the most basic IQ test...
agree @ Juerd 23:25
Juerd If someone chooses plain text (ASCII is a bit too limiting perhaps) without previous communication with indicating that that is desired, than that information by itself is useful.
s/, than/, then/
fglock obra: would you take a look at /misc/pX/Common/lrep/Deal.txt - with "project leader hat"
Juerd Whether these are positive or negative depends on the job, of course.
Default TeX is perfect for programmers: they should be lazy.
fglock we've been discussing it the whole day
Juerd Plain text is awful for designers. 23:26
Word is negative in any case.
:)
obra fglock: I'll pull and have a look
stevan looks at it with his "code monkey" hat on (the rainbow colored one with the little propellor on top)
obra fglock: I'm somewhat distracted today
Juerd I wish we had a quotes database here :)
szbalint If you use PDF::Api2 for your resumōæ½xE9 then it means you're a genius or really twisted to understand the documentation
;) 23:27
fglock stevan: that's a cool hat.
Juerd szbalint: Hehe
Someone once sent me a CV written in ... EXCEL.
fglock obra: one page in plain unformatted text 23:28
obra: svn.openfoundry.org/pugs/misc/pX/Co...p/Deal.txt
obra Well, I'd argue that p6 is still short some specs. 23:30
FurnaceBoy lol@Juerd 23:31
Juerd nothingmuch: Your catalyst plugins are effectively listed twice. That's cheating ;)
obra Like, say, concurrency. unless larry blessed audrey's spec while I wasn't watching
Juerd obra: Even if not, then still everyone else has :) 23:32
fglock obra: the main idea is to bootstrap soon, but go on working as usual
nothingmuch Juerd: shaadaaaaaap ;-)
obra fglock: go send it to p6l to get some discussion going outside #perl6
Juerd nothingmuch: :)) 23:33
fglock obra: thanks - please ask me if I should clarify something before you send - I woudn't like to leave a wrong impression (I'm not a native speaker) 23:34
obra Sorry. you should send it, not me :P
stevan fglock: (caveat: i have not read it yet), but the more details the better
obra It needs an introduction explaining what you're trying to do 23:35
szbalint I'd read it but my technical knowledge is too poor for that...
fglock obra: ok 23:36
obra: is there a real separation between TPF's perl6 and Pugs perl6, or is it just me? 23:37
obra They're parallel implementation efforts that have a lot of cross-pollination.
FurnaceBoy a.k.a. "they swap spit"
wolverian eww, isn't that incest? 23:38
FurnaceBoy (less syllables)
szbalint Btw, I love the linguistics puns and inside jokes - but they do make the barrier of entry higher
FurnaceBoy no, it's kissin' -- unless you're from... nm
23:38 mako132_ joined
fglock obra: are you aware of lrep? 23:39
obra lrep? 23:44
svnbot6 r9373 | fglock++ | lrep/Notes-Pugs.pm - Grammar engine: about boxed/unboxed, Rule x Match
23:46 larsen joined
fglock obra: lrep is an implementation of a Perl 6 compiler in plain perl5. The compiler is already bootstrapped - the grammar is written in Perl 6 23:47
23:47 stevan_ joined
fglock obra: audreyt is helping move this into the "main" Pugs 23:47
wolverian how do you move perl code to pugs? :) 23:48
fglock obra: I announced it a week ago
wolverian: it's perl6 code!
wolverian oh, the grammar is. right. what about the primitives? 23:49
or is this a compiler only
fglock wolverian: the primitives are Perl6 too - we are moving the few remaining things to modules, and than they will be translated to perl6 or not (since perl6 supports perl5 syntax) 23:50
wolverian right
neat :)
obra oh. fglock I just didn't know the name. cool
fglock obra: although a week ago it didn't have a name
obra: so I think it is a great time to synch with the TPF people 23:51
obra *nod* 23:52
stevan_ fglock: re: make OO nodes in the AST
fglock obra: sorry for "TPF people" - how can I name them politely?
stevan_: that's under way
stevan_ the metamodel should be able to desugar all class definitions into basic method calls
Juerd Is "people" inpolite? 23:53
fglock stevan_: sure - so implementing OO will be pure syntax, right?
stevan_ fglock: see this paste sial.org/pbot/16191
obra fglock: do you mean the design team for perl6, patrick who does pge, or the parrot hackers?
fglock Juerd: calling pople "them" like: "not us" :(
s/pole/people/ 23:54
stevan_ the macro syntax is totally off,.. but the desugared code at the bottom is what I am thinking of
Juerd "they" very commonly are "not us"
stevan_ fglock: make any sense? 23:55
fglock obra: I mean the people who work in perl6-related things - Patrick, Allison - we are redesigning some things (like the rule engine) and it would be nice if they could be part of this
steva_: will look
s/steva_/stevan_/ - I'll stop correcting myself now :) 23:56
stevan_: just a note, before I finish reading
Juerd fglock: Do you not use tab completion? :) 23:57
obra fglock: you should have as much discussion as you can on the mailinglist
even if it's a summary of today's irc discussion
fglock obra: ok - I'll try (tomorrow - too late here for real thinking)
obra nodnod 23:58
fglock stevan_: some initialization will take place in the bootstrap
obra patrick, allison, chip and so on do better with the lists than pure irc.
So using the lists will get more of their attention
23:58 jisom joined
stevan_ fglock: yes, nothingmuch pointed out that much of that will happen inside a BEGIN {} block 23:58
fglock obra: writing the intro will take some time, but I'll do it - it's not like an informal talking - some people will just read it and don't even reply to me 23:59