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 |