svn switch --relocate svn.openfoundry.org/pugs svn.pugscode.org/pugs/ | run.pugscode.org | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com | dev.pugscode.org/ Set by putter on 11 February 2007. |
|||
00:08
CardinalNumber is now known as ProperNoun
|
|||
Caelum | where is the current pugs version number? | 00:24 | |
allbery_b | I have 6.2.13 (r15352) built here | 00:27 | |
(pugs -v) | |||
jisom | r15353 seems to be the last commit | ||
offby1 | Caelum: "svn info svn.pugscode.org/pugs" | ||
lambdabot | Title: Revision 15353: / | ||
allbery_b | ye[p but I haven't rebuilt in the past hour :> ) | ||
offby1 | weird. Did lambdabot just run that command? | 00:28 | |
(pugs -v) | |||
nooby flooby: "svn info svn.pugscode.org/pugs" | |||
lambdabot | Title: Revision 15353: / | ||
moritz | offby1: no, it cited the url's title | ||
offby1 | weird indeed. | ||
oh, it fetched the URL. | |||
moritz | ?eval 1 | ||
00:28
evalbot_r15344 is now known as evalbot_r15353
|
|||
evalbot_r15353 | 1 | 00:28 | |
Juerd | I've been so busy that I hadn't even noticed that since November, I've not been subscribed to p6l | 00:40 | |
(config mistake) | |||
moritz | slightly OT: Apache2: how do I filter the output of mod_perl or mod_python with the INCLUDES output filter? | 00:42 | |
00:46
fglock joined
|
|||
offby1 | where should I send a random perl6 suggestion? Namely that "localtime", in scalar context, include the time zone along with the date and time | 00:47 | |
svnbot6 | r15354 | fglock++ | kp6 - added a prototype C implementation (with metamodel) | 00:51 | |
r15354 | fglock++ | v6/v6-KindaPerl6/examples$ gcc kp6-example.c | |||
Juerd | offby1: [email@hidden.address] | 00:59 | |
offby1: You may want to subscribe before posting | |||
offby1 | thanks. | ||
01:01
ashleyb joined
|
|||
Caelum | the debian packages are pretty out of date | 01:04 | |
moritz | Caelum: if you want freshly built deb packages for i386 I could upload some | ||
Caelum: they are just without the parrot backend, which is somewhat out of date as well ;) | 01:05 | ||
Caelum | seriously? I tried building a pugs deb, but the debian/ directory wasn't working | ||
Caelum just built a 0.4.8 parrot | |||
moritz | Caelum: could you please post me an error message | 01:06 | |
with pastebot or mail to [email@hidden.address] | |||
Caelum will do | |||
moritz | Caelum: if you remove 'parrot' from the embed-line in debian/rules it should build fine | 01:07 | |
Caelum: does a "normal" 'make' or 'make soon' work for you? | |||
Caelum hasn't tried in like a month | |||
moritz | I fixed some minor issues the other day... for example a non-working patch | 01:08 | |
Caelum | err, parrot is 0.4.9 now... seems to build OK with the debian patch | ||
ahh yeah, I remember that | |||
moritz | anyway, pugs builds will be at moritz.faui2k3.org/debian/pugs/ as soon as my damned slow upload is finished ;) | 01:09 | |
Caelum | cool! :) | ||
Juerd is skimming over 400 p6l messages | 01:13 | ||
Juerd missed a lot of cool stuff | |||
jql | a zillion synopsis spawn[ed||ing] discussions | ||
01:16
fglock left
|
|||
Caelum avoids building parrot with 5.9.5 | 01:17 | ||
jisom | 5.9.5 what? | ||
Caelum | bleadperl | 01:19 | |
01:19
gnuvince_ joined
|
|||
jisom | eh, can't have the cutting edge of everything at once | 01:20 | |
moritz | unless you manufacture knifes ;) | 01:21 | |
jisom | preferably not the handles too | 01:22 | |
01:28
ashelyb_ joined
02:12
ashleyb joined
02:19
dmq joined
02:27
ashelyb_ joined
02:29
Ziggy6 joined
|
|||
Caelum | anyone want some parrot 0.4.9 debs? I finally got them built after 2 hours... | 02:33 | |
Caelum 's debian-fu is very rusty | |||
wolverian | I'm sure debian would like 'em? :) | 02:38 | |
Caelum is not a dev anymore...can't do an NMU | 02:39 | ||
02:40
ashleyb joined
|
|||
mugwump | Caelum: share your debian/ files? | 02:56 | |
Caelum | crap, can't put anything on my shell, scp doesn't work... | 03:04 | |
mugwump: I did an apt-get source parrot to get the latest diff, apply to svn tree, edit debian/rules to change $(MAKE) install to $(MAKE) reallyinstall, run dch to up the changelog and make sure it says 0.4.9 in the debian/ directory, also rm debian/control and fakeroot debian/rules debian/control before doing the build, that should be it | 03:06 | ||
Caelum home & | 03:07 | ||
mugwump | oh you committed to svn? drat, missed ya :) | ||
03:08
jdv79 joined,
ProperNoun joined
|
|||
mugwump | hmm, last change to debian/ was in r12841 :) | 03:08 | |
03:24
_jcrigby joined
03:26
weinig is now known as weinig|away
03:29
cognominal left,
cognominal joined
|
|||
svnbot6 | r15355 | putter++ | misc/pX/Common/yet_another_regex_engine - some progress. | 04:01 | |
r15355 | putter++ | Regexp_Module.pm - Bugfixes and refactoring. | |||
r15355 | putter++ | Fixed one _very_ long standing "thinko" bug with repetition. It dated back to the original regex engine spike a year ago. So there are many variants of it scattered around Common. :( | |||
r15355 | putter++ | PerlMix.pm - created. Non-working first draft of a dsl base/prototype class. | |||
r15355 | putter++ | LangPugsRegexTests.pm - created. Non-working first draft of a dsl using PerlMix. It is intended to parse the small p6 dialect used in pugs t/regex/ test files, so the pugs regex testsuite can be run directly from p5. | |||
r15355 | putter++ | OPP.pl - moved elsewhere, as the new opp in Perl-6.0.0-STD.pm should be explored instead. | |||
putter | For the curious/puzzled, yet_another_regex_engine has had a mission creep metastasis. | 04:02 | |
It looks like it might be possible to architect things so that creating your own p6 variant is as simple as creating a new p5 package, and mix-n-matching from grammars and grammar fragments, regex implementations, compilers, and runtimes. We'll see. It should at least be possible to reach out and use the pugs t/regex/ suite (much of it written in a very simple p6 dialect). | 04:08 | ||
Also a framework for creating a fully spec p6 regex engine. Including dynamic modification games. | 04:10 | ||
jql | so then 'use 6' will be a pragma importing the perl6 "defaults" for all those options? | 04:13 | |
04:14
mako132 joined
|
|||
Ziggy6 | putter: do you intend to include grammar/rule support in yet_another_regex_engine? | 04:19 | |
putter | Ziggy6: oh yeah. 75% of the parrot rule tests are passing, though that's not saying much. Lots of stuff is still missing. I got distracted by mission creep. | 04:22 | |
svnbot6 | r15356 | putter++ | yet_another_regex_engine/Regexp_ModuleA.pm - filename correction. | ||
r15356 | putter++ | Regexp_ModuleA.pm was misnamed Regexp_Module.pm in svn. For the entire month of its existence. | |||
r15356 | putter++ | I gather no one tried running prove t/re_tests.t or prove t/rx.t. Ever. That's just depressing. | |||
04:23
jisom joined
|
|||
putter | jql: there is a first-draftish variation on v6.pm in Common/ . basically it allows user and code to control which module gets to handle a 'use v6-alpha;' declaration. | 04:24 | |
04:24
jisom left,
jisom joined
|
|||
putter | jql: under p5, "use v6-alpha;" loads a module v6.pm. The current v6.pm is perl5/Pugs-Compiler-Perl6/lib/v6.pm, and is hardwired to Pugs-Compiler-Perl6. | 04:27 | |
the hack draft new v6.pm defaults to Pugs-Compiler-Perl6, but will happily hand off to a different module if requested. | 04:28 | ||
the LangPugsRegexTests.pm hack is envisioned running as $ pwd => pugs $ PERL5_V6_IMPLEMENTATION=LangPugsRegexTests prove t/regex/... | 04:30 | ||
the environment variable requests v6.pm to hand off to the LangPugsRegexTests module which pretends to understand the small dialect of p6 used in pugs's t/regex/ test files. | 04:31 | ||
(current state is a non-working first draft based on a single test file. <-- expectation management:) | 04:32 | ||
04:32
amnesiac joined
|
|||
putter | The p5 and p6 engines are build as an m-expression (ie, foo(bar(hee),qux)) grammar spec (rather than directly using rules), which creates an ast, from which some backend components are assembled. | 04:34 | |
The objective for the m-expr based grammars is to get "high passes" on the test suites, thus exercising the backend. | 04:35 | ||
Then, next to LangPugsRegexTests, the other thing I'd like to see so I can hand off this exercise is a "Regex2.pm", which uses real regex foo {} statements. Initially based on the m-expr grammars, and then maturing from there. | 04:37 | ||
Oh, well, the third Lang I'd like to see is of course an attempt to implement Perl-6.0.0-STD.pm. | 04:39 | ||
Or more than one. :) | |||
Regexp_ModuleA's current code state is very highly crufty, with a lot of refactoring churn. My hope is shortly after PerlMix starts working (not tonight;), it can serve as a stable base for folks to start playing. | 04:43 | ||
Ziggy6: to see what's currently working, you can just $ perl -w Regexp_ModuleA.pm --repl6 or run one of the testsuites as described at the top of README. | 04:47 | ||
tene | PerlMix? | ||
putter | sigh. have to rename it. perhaps refactor. it is a module which can both be used as a language (use PerlMix;) and as a baseclass for your own language implementations. use PerlMix; source filters your file, handing it to a compile method. PerMix's compile method uses a grammar (which is just another method, and thus also overridable). the | 04:51 | |
default grammar understands p5 lines, regex decls, and a "BEGIN"-ish construct whose contents get eval()ed during the regex run. | 04:52 | ||
that's the rough plan anyway. | |||
svn.pugscode.org/pugs/misc/pX/Commo...exTests.pm shows how it is currently envisioned being used. LPRT both uses it as a language (its written in PerlMix), and as its baseclass (it is intended to be used with the v6.pm hook). | 04:54 | ||
lambdabot | tinyurl.com/ytosh5 | ||
putter | But all this is a late evening's hackery, and so subject to radical change. I was hoping to have it working this weekend, but oh well. | ||
The .t file it was drafted against was svn.pugscode.org/pugs/t/regex/from_.../anchors.t | 04:56 | ||
but the nice thing is that if the dialect of p6 used in t/regex/ looks to diverse (ie, ok() used with too many needless syntactic variations), the tests themselves can be cleaned up (which should probably happen anyway). | 04:58 | ||
s/to diverse/too diverse/ | |||
tene: PerlMix because it implements a mix of p5 and whatever, with the notable whatever being bits of p6. thus PerlMix. | 04:59 | ||
sooo going to change. | 05:00 | ||
any last questions, comments, odd body noises? | 05:01 | ||
just about end of day for mee | |||
good night all & | 05:07 | ||
05:46
PupUser35a77e joined
05:47
PupUser35a77e left
06:14
BooK joined
06:19
|mjk| joined
06:46
devogon joined
06:48
wilx joined
06:51
rfordinal_ joined
07:44
iblechbot joined
08:33
marmic joined
08:36
rfordinal_ is now known as rfordinal
08:53
rindolf joined
08:58
dakkar joined
|
|||
rindolf | Hi all. | 09:21 | |
moritz | hi rindolf ;) | ||
rindolf: what's up? | |||
rindolf | moritz: hi. What's up? | ||
moritz: I'm fine. | |||
moritz: I'm at work now. | |||
And we were able to get our card working properly in the VMware ESX machine. | 09:22 | ||
Plus, we had a very successful Tel Aviv Linux club meeting yesterday (with a collective supper at a cafƩ afterwards) despite the fact I only publicised it a short time beforehand. | 09:23 | ||
So I'm happy.\ | |||
moritz | that's good | ||
I just got up and I'm still half asleep ;) | |||
rindolf | moritz: OK. | ||
moritz: I got up at 07:30 today. | 09:24 | ||
moritz | rindolf: which timezone are you in? ;) | 09:25 | |
audreyt | update: I'm still using this semibroken Asus laptop; the turned-in-for-HD-replacement MacBook will take another 24 hours to arrive :/ | ||
lambdabot | audreyt: You have 6 new messages. '/msg lambdabot @messages' to read them. | ||
09:34
dec joined
|
|||
gaal | heya. how do I get svk to honor an http_proxy? | 09:37 | |
09:37
jrockway_ joined
|
|||
clkao | .subversion/servers | 09:38 | |
audreyt | gaal: subversion.tigris.org/faq.html#proxy | ||
lambdabot | Title: subversion: Subversion FAQ | ||
gaal | cheers | ||
shay | hello | 09:48 | |
rindolf, I'm finally free :) | 09:49 | ||
09:51
Fuzie joined
|
|||
Fuzie | hello folks :) | 09:53 | |
09:53
Fuzie is now known as lichtkind
|
|||
tene | heya | 09:53 | |
lichtkind | im going to officially announce the official perl6 tutorial ok ? | 09:57 | |
tene | link? | 09:58 | |
lichtkind | mom | ||
its currently only in german but haltready | |||
halfready | 09:59 | ||
tene | kk | ||
lichtkind | you still want the lin? | ||
tene | Sure. | ||
lichtkind | wiki.perl-community.de/bin/view/Wis...l6Tutorial | 10:00 | |
lambdabot | Title: PerlCommunityWiki ōæ½xBB Wissensbasis ōæ½xBB Perl6Tutorial | ||
10:02
andara joined
|
|||
lichtkind | i just wanted to ask if there is another tut i dont know about | 10:02 | |
10:02
Southen joined
|
|||
tene | Heh, not in a language I could help translate. | 10:03 | |
lichtkind | cool | ||
tene | lichtkind: just stuff in pugs/examples/ and pugs/docs/ | ||
lichtkind | i can also but help is always appreciated | ||
tene | there's examples/cookbook/ , but that's not quite a tutorial, and needs a lot of filling out, I think. | 10:04 | |
lichtkind | i know | 10:06 | |
i have the trunk here | 10:07 | ||
and reading it since some month | |||
i would want to start such effort without some research :) | |||
10:08
buetow joined
|
|||
lichtkind | tene are you german? | 10:08 | |
tene | lichtkind: nope | 10:11 | |
Just an arrogant, ignorant american. | |||
lichtkind | tene not all are like that | ||
tene but you understand german | 10:12 | ||
tene | No, I don't. | ||
You missed my negative. | |||
"not in a language I could help translate" | |||
lichtkind | ahh | ||
meppl | good night | 10:13 | |
lichtkind | yes im currently im multithreadding mode, it doesnt work as well | ||
good night meppl | |||
tene | Heh, I know what that's like. | ||
meppl | ;) | ||
tene | Seeya, meppl. | ||
meppl | ;) | ||
moritz | lichtkind: in which document format do you want to write the english version of the tutorial? pod? | 10:14 | |
lichtkind | tene im online since days so i organize a bit whats your standing in perl6 community? | ||
tene | I have no standing at all. | ||
lichtkind | moritz yes trunk version will be pod i think | ||
tene so just interested? | 10:15 | ||
tene | I touched up Net::IRC::OO, fixed a bug in Net::IRC, and commited a test for pugs crashing hard on eval()'ing some strange yaml | ||
I've answered a few questions on this channel. | 10:16 | ||
Pretty mundane. :) | |||
lichtkind | tene but more than i did, in perl6 terms im what audrey calls english hacker :) | 10:17 | |
moritz | tene: then perhaps we both have the same level of ignorance ;) | ||
tene | I stay pretty up-to-date on events in p6-land, I just don't have my mind together enough lately to do anything here. | 10:18 | |
Staying up-to-date while I work on upgrading my sanity. | 10:19 | ||
10:19
_newbie_ joined
|
|||
moritz | sanity is for whimps ;) | 10:20 | |
tene | Yes, and I'm a wimp that needs sanity in order to get anything done. | 10:21 | |
Lately I've barely had enough sanity to keep up at work and holding my life together. | |||
lichtkind | tene thatswhy you like perl6 more :) | 10:22 | |
i did also pause approx. 3 month | |||
tene you will see my mail on perl6-announce | 10:31 | ||
10:34
DebolazX joined
10:41
IllvilJa joined
11:16
ruoso joined
|
|||
rindolf | moritz: I'm in Israeli Standard Time. | 11:19 | |
shay: congrats! | |||
I saw gaal when he exited the restaurant I was dining in. | 11:21 | ||
I wonder if he works nearby. | 11:22 | ||
mugwump | 00:21 < gitte> OTOH if you know that the input is timestamp+tz, why not roll your own parser? | 11:26 | |
00:21 < mugwump> because I don't like writing C ? :) | |||
00:21 < gitte> :-) You should really stop worrying and learn to love C. | |||
00:22 < mugwump> I miss continuations and closures too much though | |||
00:23 < gitte> What exactly do you mean by "continuations and closures" in this context? | |||
11:36
chris2 joined
12:06
gaal joined,
_jcrigby joined,
rgs joined,
lichtkind joined,
chris2 joined,
IllvilJa joined,
DebolazX joined,
dec joined,
marmic joined,
devogon joined,
BooK joined,
dmq joined,
stevan_ joined,
araujo joined,
xinming_ joined,
beppu joined,
Digital joined,
drbean joined,
ofer0 joined,
shay joined,
TimToady joined,
revdiablo joined,
nperez joined,
miyagawa joined,
pjcj_ joined,
lampus joined,
avar joined,
lumi_ joined,
SCalimlim joined,
mr_ank joined,
rafl joined,
yhsuan joined,
Khisanth joined,
smash joined,
nekokak joined,
ajs_home joined,
Debolaz joined,
Maddingue joined,
lambdabot joined,
masak joined,
ludwig- joined,
diotalevi joined,
GeJ joined,
autark joined,
broquaint joined,
svnbot6 joined,
LCamel joined,
jabbot joined,
jiing joined,
scw joined,
Yappo joined,
devbot6 joined,
hcchien joined,
cj joined,
felipe joined,
jql joined,
perlbot joined,
knewt joined,
cls_bsd joined,
meppl joined,
statico joined,
moritz joined,
shay|p6 joined,
nipotan joined,
PerlJam joined,
Juerd joined,
wolverian joined,
tcliou joined,
kcwu joined,
Southen joined
12:07
ingy joined
12:08
f0rth joined,
audreyt joined
12:09
Shabble joined
12:15
idiotmax joined
12:16
Caelum_ joined
12:25
drupek12212157 joined
12:28
Grrrr joined
12:38
polettix joined
12:39
ruoso joined
12:41
orafu joined
12:44
mj41_ joined
12:46
Ziggy6 joined
12:50
Bit-Man joined
13:04
fglock joined
13:06
IllvilJa joined
|
|||
fglock | I'm back to the net after 1 month :) | 13:15 | |
dmq | how bad where the withdrawal symptoms? | 13:17 | |
Ziggy6 | hello fglock :) | 13:18 | |
fglock | dmq: I missed the immediate feedback | ||
Ziggy6: hi! | 13:19 | ||
Ziggy6 | i've got dozens of questions, trying to prioritize them :) | ||
fglock | I worked a bit on a C backend for kp6 | 13:20 | |
Ziggy6 | i saw that | ||
but | |||
lichtkind | dmq hi man | ||
Ziggy6 | my question is: what's the motivation behind a C backend, isn't that what Parrot does? | ||
fglock | the performance is good enough that some things can be written in p6, instead of C | 13:22 | |
like the GC, for example | |||
Ziggy6 | so you're unhappy with perl5's backend performance | ||
SamB | I don't see how you can write a GC in a managed language... | 13:23 | |
13:24
nipotan is now known as nipotaway
|
|||
fglock | Ziggy6: I started coding Code.pm, and I noticed I was going too low level on it - so I thought about trying it in C | 13:24 | |
Ziggy6 | could we use C++ for this backend? :D | 13:25 | |
moritz | no | ||
Ziggy6 | why not? | ||
fglock | SamB: it would still use some low level C, but some high level decisions can be made in p6. It was just an example, anyway | ||
Ziggy6 | moritz: do you hate C++? | ||
moritz | Ziggy6: no; read www.parrotcode.org/faq/ | 13:26 | |
lambdabot | Title: Parrot FAQ - parrotcode: | ||
fglock | Ziggy6: the reason to use C was because I needed to write the object system anyway, so C++ was not really necessary | ||
I'm not against C++ or Parrot :) | 13:28 | ||
13:28
rhizo joined
|
|||
Ziggy6 | fglock: C++ would speed the development a bit, you could for example use stl map instead of handcoded hashes | 13:28 | |
lichtkind | juerd are you there? | 13:29 | |
Ziggy6 | then perhaps i could rewrite your existing backend in C++ but i don't see how you will interface kp6 with it | ||
fglock | Ziggy6: the plan is actually to have several hash implementations, depending on usage pattern | ||
for performance tuning | 13:30 | ||
Juerd | lichtkind: Yes, and will be for the next 2 minutes. | ||
Ziggy6 | my initial impresion was the hash_key and the method name are redundant | ||
fglock | that's what parrot does, too | ||
13:30
rodi joined
|
|||
fglock | hash_key is about 3x faster | 13:30 | |
for method dispatch | 13:31 | ||
13:31
rashakil joined
|
|||
Ziggy6 | but neither scales well :D | 13:31 | |
fglock | no, but it works well for small classes - which good enough for Str, Int | 13:32 | |
user-defined classes would use plain hashes | |||
13:33
the_dormant joined
|
|||
fglock | it would be nice to try out a C++ version | 13:33 | |
Juerd | lichtkind: Gone now | ||
Ziggy6 | anyway, i guess i'm thinking too early about performance, being forced by the low-levelness of the language | ||
my main concern is how you are going to interface kp6 with the C backend | |||
fglock | it needs an ast processor, that extracts closures into C "blessed subs", and an emitter | 13:36 | |
the C closure class was not written yet, but there exists a p5 prototype that can be translated | |||
lichtkind | moritz are you there? | 13:37 | |
Ziggy6 | so eval() won't be possible | 13:38 | |
moritz | lichtkind: pong ;) | ||
kolibrie | fglock: welcome back | ||
13:38
IllvilJa joined
|
|||
lichtkind | moritz shit i cants you send private msg | 13:39 | |
moritz | lichtkind: me not either... | 13:40 | |
lichtkind: you could join ircnet and /msg me there | |||
lichtkind | url? | ||
moritz | lichtkind: for example irc.uni-erlangen.de | 13:41 | |
13:41
kanru joined
|
|||
lichtkind | moritz fine conecting.. | 13:42 | |
fglock | Ziggy6: I think eval is possible, if the code is represented as an object with s-expressions | ||
interpreter-like | |||
Ziggy6 | it's too complicated and not very usefull I guess | 13:44 | |
eval() is planned for kp6? | |||
13:51
IllvilJa joined,
rodi joined,
rhizo joined,
fglock joined,
Bit-Man joined,
Ziggy6 joined,
mj41_ joined,
orafu joined,
polettix joined,
f0rth joined,
ingy joined,
clkao joined,
obra joined,
gugod joined,
yves joined,
pnu joined,
sri_ joined,
lidden joined,
nothingmuch joined,
charsbar_ joined,
gaal joined,
_jcrigby joined,
rgs joined,
lichtkind joined,
DebolazX joined,
dec joined,
marmic joined,
devogon joined,
BooK joined,
dmq joined,
stevan_ joined,
araujo joined,
xinming_ joined,
beppu joined,
Digital joined,
drbean joined,
ofer0 joined,
shay joined,
TimToady joined,
revdiablo joined,
nperez joined,
miyagawa joined,
pjcj_ joined,
lampus joined,
avar joined,
lumi_ joined,
SCalimlim joined,
mr_ank joined,
rafl joined,
yhsuan joined,
Khisanth joined,
smash joined,
nekokak joined,
ajs_home joined,
Debolaz joined,
Maddingue joined,
lambdabot joined,
masak joined,
ludwig- joined,
diotalevi joined,
GeJ joined,
autark joined,
broquaint joined,
svnbot6 joined,
LCamel joined,
jabbot joined,
jiing joined,
scw joined,
Yappo joined,
devbot6 joined,
hcchien joined,
cj joined,
felipe joined,
jql joined,
perlbot joined,
knewt joined,
cls_bsd joined,
meppl joined,
statico joined,
moritz joined,
shay|p6 joined,
nipotaway joined,
PerlJam joined,
Juerd joined,
wolverian joined,
tcliou joined,
kcwu joined,
Southen joined,
rashakil joined,
audreyt joined,
Elastri joined,
weinig joined,
SamB joined,
cookys joined,
Eidolos joined,
Gothmog_ joined,
baest joined,
ajs joined,
Flimzy joined,
TreyHarris joined,
silug joined,
rhr joined,
takesako__ joined,
kolibrie joined,
spo0nman joined,
stef_ joined,
mugwump joined,
Odin- joined,
jamessan joined,
nnunley joined,
rfordinal joined,
wilx joined,
bsb joined,
Patterner joined,
forsaken joined,
[M]erk joined,
allbery_b joined,
integral joined,
[particle] joined,
qmole joined,
Southen joined
|
|||
pasteling | "Ziggy6" at 141.85.0.67 pasted "kp6 error" (5 lines, 228B) at sial.org/pbot/23179 | 13:52 | |
Ziggy6 | fglock: the current version of kp6 doesn't compile, see above paste | ||
13:53
ajs_ joined
13:54
bonesss joined
|
|||
Ziggy6 | also, sial.org/pbot/23181 | 13:57 | |
lambdabot | Title: Paste #23181 from "Ziggy6" at 141.85.0.67 | ||
fglock | Ziggy6: I've got some pending checkins to do - one sec | ||
Ziggy6: does this work? echo ' class X { say not( true(0)); } ' | perl kp6-perl5.pl | 14:00 | ||
14:01
theorbtwo joined
|
|||
Ziggy6 | it works, but it outputs unusable code as in sial.org/pbot/23181 | 14:01 | |
lambdabot | Title: Paste #23181 from "Ziggy6" at 141.85.0.67 | ||
fglock | Ziggy6: ah - it has some debugging text inside | 14:05 | |
14:06
Limbic_Region joined
|
|||
fglock | Ziggy6: fixed in next commit | 14:09 | |
kp6-dump-ast.pl is outdated - it is not currently working | 14:10 | ||
svnbot6 | r15357 | fglock++ | kp6 - removed a debug 'print' from Pad.pm | ||
Ziggy6 | fglock: 10x, it works now, but the ast dumper still fails | 14:11 | |
fglock | Ziggy6: I misplaced the BEGIN block impl in kp6-perl5 - kp6-dumpast is missing that :( | 14:12 | |
needs refactoring | |||
14:12
rindolf joined
|
|||
fglock | the ast is only generated after BEGIN blocks are executed | 14:13 | |
Ziggy6 | ah, i was hoping i could start understanding kp6 using dumpast, but it seems i have to dive in anyway | ||
fglock | or rather, they are done together | 14:14 | |
ok, I'll try to fix that! | |||
Ziggy6: kp6-perl5, uncomment line #141 - this will dump ast | 14:16 | ||
a command line switch would be nice | 14:17 | ||
Ziggy6 | thanks, will do :) | 14:18 | |
14:18
weinig is now known as weinig|bbl
|
|||
rindolf | gaal: here? | 14:18 | |
[particle] | parrot uses --target=PAST | 14:20 | |
fglock | Ziggy6: I planned to have a command line like: kp6 metamodel,emit_perl5 / kp6 lexical_subs,dump_ast -- specify which plugins to run | ||
kp6 emit_parrot :) | 14:21 | ||
[particle] | welcome back, fglock | ||
fglock | [particle]: thanks! | ||
I was reading the parrot source code in the weekend :) | 14:22 | ||
after trying the kp6-C emitter | |||
[particle] | what did you find? | 14:23 | |
rindolf | Hi fglock, [particle] . | ||
stevan_ | @lambdacamels: search.cpan.org/~gruber/Sub-PatMat-.../PatMat.pm | 14:24 | |
lambdabot | Unknown command, try @list | ||
fglock | rindolf: hi | ||
[particle]: I was particularly interested in a 'Closure' class implementation | 14:25 | ||
I'm not sure how is it called in parrot | |||
14:31
ruz joined
|
|||
fglock | [particle]: I'm thinking of an api like this: svn.pugscode.org/pugs/v6/v6-KindaPe...l5/Code.pm | 14:31 | |
svnbot6 | r15358 | audreyt++ | * unTODO two passing tests related to cross metaops. | ||
lambdabot | tinyurl.com/yqtpk3 | ||
fglock | I think it can be built using parrot ops, but it may need some internals knowledge | ||
audreyt: hi! glad to know you are better | 14:32 | ||
14:34
rindolf joined
|
|||
[particle] | sometimes it seems everything in parrot requires internals knowledge | 14:35 | |
but that's changing | |||
we have examples and tests for closures you may find helpful, i'll dig them up | |||
rindolf | Hi all. | 14:36 | |
14:38
ProperNoun joined
|
|||
svnbot6 | r15360 | Ziggy6++ | r15382@viggy: andrei | 2007-02-26 17:35:42 +0200 | 14:38 | |
r15360 | Ziggy6++ | kp6: Added commandline switches --ast and --perl5, the default being --perl5 | |||
Ziggy6 | oops, i guess i messed up something, i'm new to svk :D | 14:39 | |
14:43
TreyHarris joined
14:49
the_dormant left,
the_dormant joined
14:52
Lorn joined
14:54
TreyHarris joined,
fglock left
|
|||
baest | Ziggy6: could be that you need the --verbatim flag on svk push. Not sure, i'm also new to svk | 14:54 | |
Ziggy6 | i think i should have used svk up and svk ci | 14:56 | |
but i didn't intend for dev.pugscode.org/changeset/15359 to happen, i'm still trying to understand why it did and how to fix it | 14:57 | ||
lambdabot | Title: Changeset 15359 - Pugs - Trac | ||
14:58
nipra joined
|
|||
gaal | rindolf: am now | 14:58 | |
rindolf | gaal: hi. | 14:59 | |
gaal: do you work in Hertzilya Pituakh? | |||
gaal | I am out of order and fragmented | 15:00 | |
Sub::PatMatch is cool! but since there's no binding done maybe it's not a good name | |||
but since I'm standards-compliant I work most everywhere | 15:02 | ||
rindolf | gaal: :-) | 15:03 | |
15:04
gnuvince joined
|
|||
svnbot6 | r15361 | audreyt++ | * Change "Perl6" to "Perl 6" in the ASCII art banner of Pugs. | 15:05 | |
15:07
forsaken joined
|
|||
gaal | S::PM is inspired by another S::PM, which claims: | 15:07 | |
"Functional languages' compilers usually optimize away the pattern matching overhead of evaluating the conditions for every call until a matching condition is found. This is mostly possible because of their static typing system which Perl proudly lacks" | |||
I don't see how this is generally true. function variants are desugared to case statements after all | 15:08 | ||
-- search.cpan.org/~smueller/Sub-Patte...atching.pm | 15:09 | ||
lambdabot | Title: Sub::PatternMatching - Functional languages' Pattern Matching for Perl subs - se ..., tinyurl.com/2esuo6 | ||
allbery_b | hm? where exactly you put the conditions isn't really significant. using type information to optimize away the condition still works | 15:10 | |
gaal | since variant constructors are not available to the type system I'm not even sure if the compiler can inline a function case | ||
consider f :: Maybe a -> ... | |||
allbery_b | (since purity means you can move stuff like that around without changing the meaning) | 15:11 | |
gaal | f Nothing = ... | ||
f Just x = ... | |||
Grrrr | gaal: it was not "inspired", exactly; the Sub-PatternMatching syntax is too horrid | ||
gaal | now I have a consumer of f and a path that can only have a Just x value | ||
sure, the compiler may be smart enough to figure that out and inline just the Just case of f into the consumer | 15:12 | ||
but it's not like it's guaranteed to happen | |||
15:12
rfordinal_ joined
|
|||
allbery_b | no, it's not guaranteed. but FP / purity means it's easier for the compiler to find and optimize it | 15:12 | |
gaal | I agree; but this is not part of the static type system | 15:13 | |
allbery_b | (both the guarantees of the type system, and the fact that a pure expression can be moved around with fewer worries) | ||
yeh, as I said, it's more closely related to purity | |||
but I think the static typing thing is more getting at that in e.g. perl you can't even be certain at runtime that you have a Maybe a | 15:14 | ||
(at least, nowhgere nnear as easily as when the type system guarantees it) | |||
gaal | and sure, that you *don't* have IO a :-) | ||
allbery_b | given both constraints (strong typing and purity) the compiler has a much easier job of inlining just the part that applies | 15:15 | |
I'm willing to be lenient on iti because many people even who know FP don't quie have straight how the various aspects of it interact, and think of the strong typing instead of other aspects like purity | 15:16 | ||
gaal | I'm not saying FP compilers aren't better off when it comes to these optimization techniques. Of course they are :) Just that the comment in that doc is perhaps a little misleading | ||
that paragraph I quoted continues: "Therefore, using this module for pattern matching currently takes an O(n) performance hit for every call to the patternmatching function. n is the number of branches, sets of conditions." | 15:17 | ||
this suggests that FP magically gets you better than O(n) | |||
when in fact there's no such promise | |||
allbery_b | yeh | 15:18 | |
gaal | that's all I'm claiming. | ||
(FWIW: how many programmers know how to tell whether a function variant was inlined?) | 15:19 | ||
devbot6 | dev: Ticket #20 (task created): HsBridge.pm for yet_another_regex_engine <dev.pugscode.org/ticket/20> | ||
gaal | (I don't.) | ||
allbery_b | afaik you need to -dump-simpl and read the core :) | 15:20 | |
and have #haskell nearby to help you interpret it :) | |||
15:21
IllvilJa left
15:23
Elastri_ joined
|
|||
gaal | #haskell :: (BigOh a) => Program -> a -> Program | 15:24 | |
15:38
diakopter joined
15:39
diakopter left,
diakopter joined
15:48
stevan_ joined
|
|||
svnbot6 | r15362 | lwall++ | missing } noticed by aufrank++ | 15:51 | |
15:58
jrockway joined
16:01
mako132 joined
|
|||
svnbot6 | r15363 | audreyt++ | * Pugs.Compat - Eliminate one case of 32k-per-%ENV-access space | 16:09 | |
r15363 | audreyt++ | leaks on Win32 by using getEnv instead of statically-allocated | |||
r15363 | audreyt++ | Win32 API calls. | |||
16:12
fglock joined
16:13
the_dormant left
16:14
the_dormant joined
|
|||
jrockway | heh, the win32 api leaks? | 16:16 | |
moritz | tell me something new ;) | 16:19 | |
jrockway | i would assume with the millions of users that they would run valgrind and just fix them :) | 16:21 | |
guess i'm wrong though | |||
moritz | jrockway: fix windows API? how? | 16:22 | |
jrockway: it's all controlled by one big company, you know... | |||
jrockway | right | ||
Ziggy6 | valgrind is linux only | ||
jrockway | i assume microsoft would have fixed it by now :) | ||
but i guess adding DRM to individual memory cells was more important | 16:23 | ||
moritz | ...and punching holes in UAC | ||
or something ;) | |||
Ziggy6 | jrockway: win32 api is full of bugs, developers usually work around them | ||
16:29
felipe joined
16:36
chris2 joined
|
|||
fglock | my talk on "bootstrapping perl6" was rejected by FISL-2007 :( | 16:51 | |
moritz | fglock: what's FISL? | 16:52 | |
svnbot6 | r15364 | audreyt++ | * Pugs.Parser.Operators - Eliminate another space leak in | ||
r15364 | audreyt++ | filterFun; heap usage during parsing should be back to | |||
r15364 | audreyt++ | constant now. | |||
moritz | Federal Insured Student Loan? | 16:53 | |
Ziggy6 | @google FISL-2007 | ||
@g FISL-2007 | |||
lambdabot | Maybe you meant: gazetteer get-shapr ghc girl19 google gsite gwiki . v | ||
br-linux.org/linux/fisl-2007-palestras-aprovadas | |||
Title: Fisl 2007: Saiu a primeira chamada das palestras aprovadas | BR-Linux.org | |||
moritz | is that spanish? | ||
fglock | fisl.softwarelivre.org/8.0/www/?q=en | ||
portuguese | 16:54 | ||
lambdabot | Title: 8th International Free Software Forum | 12, 13 e 14 de Abril de 2007 | ||
moritz | cheers | ||
fglock | mm - I guess I would find more fun in parrot if I wrote my own pmcs | 16:55 | |
16:58
CardinalNumber joined
|
|||
svnbot6 | r15365 | audreyt++ | * Pugs.Parser.Program: Make decodeProgram sufficiently | 17:02 | |
r15365 | audreyt++ | chunky-lazy so memory use stays constant for source | |||
r15365 | audreyt++ | code size >4k. | |||
17:10
buetow joined
|
|||
[particle] | fglock: wrt closures, you're probably looking for the 'newclosure' op | 17:12 | |
fglock | [particle]: what's the plan for lazy lists in parrot? | 17:13 | |
[particle] | we'll need a pmc for that | ||
fglock | I could probably work on that | ||
[particle] | i'm working on implementing generators | 17:14 | |
since we have continuations built in, that's the way to go | |||
we'd love to have lazy lists... that'd be great! | |||
fglock | can you clone continuations? I mean, does it clone lexicals? | ||
[particle] | i believe so | 17:15 | |
tests are in t/pmc/sub.t | |||
fglock | looking | ||
[particle] | yes, you can clone | ||
17:15
ProperNoun joined
17:22
GabrielVieira joined
17:25
rindolf joined
|
|||
rindolf | Hi all. | 17:25 | |
audreyt: here? | |||
moritz | rindolf: it will strongly depend on your notion of "here" *duck* | 17:27 | |
offby1 | it depends on what the meaning of "is" is. | ||
rindolf | moritz: OK. | ||
17:28
forsaken joined
17:34
maskd joined
|
|||
TimToady | I think it depends mostly on the definition of audreyt... | 17:41 | |
17:43
xerox joined
|
|||
svnbot6 | r15366 | lwall++ | route around pugs curly damage | 17:43 | |
rindolf | Hi offby1, TimToady | 17:44 | |
TimToady: how was your weekend? | |||
17:46
penk joined,
GabrielVieira2 joined,
ashleyb joined
|
|||
dmq | @msg juerd fixed the xml bug | 17:48 | |
lambdabot | Not enough privileges | ||
dmq | hmm | ||
audreyt | dmq: @tell not @msg | 17:49 | |
dmq | oh | ||
heh | |||
@tell juerd fixed the bug in the regex engine that your xml validator found. thanks. | |||
lambdabot | Consider it noted. | ||
dmq | talk about crazy regexes by the way. | 17:50 | |
he wrote a spec compliant regex for validating xml. very insane. | |||
audreyt | we're aware of that :) | ||
rgs | who? | ||
PerlJam | dmq: Since you're the defacto perl 5 regex guru and you're hanging out on #perl6, does that mean that you're going to tweak the perl6 regex engine too? :) | ||
dmq | juerd. | ||
heh. | |||
not sure if there is room in my brain to be competent in both. | 17:51 | ||
audreyt | well with luck I hope it'll be the same engine eventually :) | ||
dmq | but im sure at some point ill take a look. | ||
moritz | I didn't even knew that you can parse xml with regexes | ||
audreyt | a regex that parses xml is very ex, and very not reg, indeed | 17:52 | |
dmq | last time i checked it was in parrot bytecode tho, which was a little offputting. | ||
moritz | ok ;) | ||
audreyt | dmq: there's a couple implementation in perl 5 | ||
dmq: one is in pugs/misc/pX/Common/yet_another_regex engine, another is on CPAN as Pugs::Compiler::Rule (and also pugs/perl5/Pugs-Compiler-Rule) | 17:53 | ||
dmq | well there you go, then i am helping. :-) | ||
17:53
thepler joined
|
|||
dmq | thing was part of the motivation for doing the stuff i have been was to improve my C skills. | 17:54 | |
audreyt | one way you can help is helping avar getting ::Plugin working :) | ||
dmq | so doing stuff in either Perl or PBC sort of misses the point. | ||
ive been doing my best. | |||
audreyt | ideally, we'd like a roundtripped-to-userland-and-back ::Plugin to pass all re tests in perl5 regression tests | 17:55 | |
dmq | we broke re:engine::PCRE in order to make ::Plugin easier to do | ||
sure. | |||
audreyt | should it Just Work, or (as far as you know) there's known problems? | ||
dmq | it being what? | 17:56 | |
::Plugin? | |||
audreyt | having a ::Plugin that simply, in its comp hook | ||
construct a qr// and save to stash | |||
and in its exec hook | |||
rindolf | Hi audreyt | ||
audreyt | simply retrieve the stash and match | ||
rindolf | audreyt: what's up? How are you feeling? | ||
17:56
GabrielVieira2 is now known as GabrielVieira
|
|||
audreyt | rindolf: feeling okay. about to sleep. will get $real_laptop back tomorrow | 17:57 | |
dmq | well i think it should work. | ||
rindolf | audreyt: good. | ||
dmq | there are structural flaws that are yet to be resolved. | ||
rindolf | audreyt: what's your $fake_laptop? | ||
dmq | when qr// was introduced I dont think anybody realized how it might interact with (??{..}). | 17:58 | |
Actually, when qr// was introduced I dont think the full ramifications of it were completely understood. | |||
17:58
xinming joined
|
|||
dmq | So there are some serious issues with potential corruption because of the way we store match results. | 17:58 | |
audreyt | would it be better if we simply stash the textual regex/flags | 17:59 | |
dmq | there is also still a lot of global state... | ||
audreyt | and recompile during exec()? | ||
s/better/less flaky/ | |||
dmq | no not necessarily. | ||
audreyt | rindolf: a random asus M2C with WinXP | ||
dmq | the issues are deeper than that. its mostly an issue of tuits, and perhaps funding, to resolve it. | ||
gaal | remoose | 18:00 | |
dmq | im starting to apply for work so ill have dramatically less time to hack the engine. | ||
although rgs has been encouraging me to apply for a grant, which i will do if i can come up with a design that has a decent chance of solving the deeper issues. | 18:01 | ||
18:01
Daveman joined
|
|||
dmq | one note to p6 implementors, putting match results in the regexp object is not a good plan. | 18:01 | |
audreyt | uh. and perl5 does that? | ||
<- blissfully ignorant | |||
Juerd | dmq: Neat! | 18:02 | |
dmq++ | |||
dmq | i can totally see how it made sense before qr// but once you have a qr// type construct its not cool. | ||
Juerd | dmq++ | ||
But I have to go now (fucking server broke down, have to build one out of used spare parts) | |||
dmq | juerd, i make no promises that try() will work, and i think you should replace the \xDE\xAD\xBE\xEF with (*FAIL). | ||
rindolf | audreyt: ouch! | 18:03 | |
Juerd | Already have | ||
dmq | cool. | ||
actually if you dont mind i wouldnt mind seeing the generator script. | |||
Juerd | You're actually using a rather old version, because the latest doesn't exhibit the bug ;) | ||
dmq | id like to torture it somewhat to see if i can get the buffer overrun to happen again | ||
Juerd | I worked around the A-B problems by hardcoding them | ||
dmq | yes, thats something you should mention to larry. its a really weird requirement that maybe he should know about. | 18:04 | |
er, timtoady i mean. | |||
dmq not having been introduced properly yet | |||
Juerd | dmq: tnx.nl/6058YAIV | ||
lambdabot | Title: TNX | ||
dmq | audreyt: yes p5 does that. | 18:05 | |
Juerd | dmq: It's two requirements. The w3 people themselves don't use it consistently. This grammar can /never/ be automatically converted. | ||
specbot6 | r13704 | larry++ | Made one-pass parsing rule explicit so that tests can refer to it. | ||
Juerd | And I think Perl 6 already does A-B | ||
dmq | match data is stored in the same structure as the compiled pattern. presumably for efficiency sake, which made sense before qr// | ||
Juerd | [ A && <! B > ], iirc | ||
dmq | juerd: for classes yes. but for non classes? | ||
Juerd | Perhaps <!before B> | 18:06 | |
Assuming the RHS of && is limited to whatever A matched. | |||
svnbot6 | r15367 | lwall++ | Add test of one-pass parsing of regex character classes. | ||
dmq | but it has to be bounded | ||
Juerd | I think it'll have to be, for && to make sense at all | ||
though "barfoo" ~~ /foo && bar/ being true also makes some kind of sense | 18:07 | ||
Sorry, really gotta build that machine | |||
dmq waves | |||
gaal | whatdefines removeCRLF? | 18:08 | |
and how come it works when mentioned before decoding? | |||
*called | |||
audreyt | gaal: removeCRLF is defined just below | ||
why not? | |||
gaal | oh, local func. last place I looked<tm> | 18:09 | |
because, what encoding is the \n? | |||
previously there was | |||
removeCRLF $ decode | 18:10 | ||
now there's decode $ removeCRLF | |||
also, is decodeUTF8 really inlined where it's used? | 18:13 | ||
audreyt | sure it is | 18:14 | |
it's got INLINE | |||
TimToady | I think && should have the same semantics as & except for the sequence point. | 18:15 | |
meaning / foo && <!before bar> / can never match | |||
would have to be written /foo && <!before bar> .* / | |||
to make it end the same place. | 18:16 | ||
PerlJam | Hmm. | ||
svnbot6 | r15368 | audreyt++ | * gaal++ pointed that for all non-UTF8 unicode encodings | 18:17 | |
r15368 | audreyt++ | we need to removeCRLF _after_ the decoding, not _before_. | |||
r15368 | audreyt++ | (for UTF8 it's the same thing, so we preserve better chunkiness.) | |||
18:17
dec_ joined
|
|||
audreyt | gaal: re really-inlined, note that GHC has cross-module inlining | 18:18 | |
PerlJam | TimToady: / foo && .{3} / matches, correct? Is there a way to get an unbounded quantifier to do the same? / foo && .* / (It seems like it could do so eventually via backtracking) | ||
gaal | oh, for some reason I misremembered the pragma as "a nudge", like inline in C/C++ more or less, not the sledgehammer the userdoc seciton I just reread says | ||
audreyt | i.e. it saves the Core AST for all inlinable things, and INLINE forces that, and it does inline the AST when linking | ||
*importing | |||
TimToady | both of those match, but yes, the .* version might take longer unless it's in the DFA area | ||
and by definition the right side of && is outside the DFA area | 18:19 | ||
PerlJam | ah, okay | ||
TimToady | & can build dfa of both sides, presumably | ||
gaal | audreyt: excellent, thanks for the 'splaining | ||
18:20
wilx` joined
|
|||
gaal | (splainage?) | 18:20 | |
18:21
andara left,
rashakil joined
|
|||
TimToady | TimToady's Lament: The pain in reign falls mainly in the 'splain. | 18:22 | |
rindolf | TimToady: :-) | 18:23 | |
TimToady: did you make it up now? | |||
TimToady | speaking of which, my weekend was rainy | ||
yes | |||
rindolf | TimToady: do you live in Oregon? | ||
TimToady | seems like it during El NiƱo years... | 18:24 | |
rindolf | TimToady: may I attribute this quote to Larry Wall? | ||
TimToady | sure | 18:25 | |
rindolf | TimToady: in my fortunes' file? | ||
TimToady: OK. | |||
PerlJam | rindolf: who else would you attribute it to? | ||
rindolf | PerlJam: "TimToady" | ||
18:25
fglock joined
|
|||
TimToady | Basically, northern California joins the Pacific Northwet during El NiƱo... | 18:25 | |
gaal | The pain in rein goes mainly in the dentist's bill, since when you get a gift horse you don't check its teeth. | ||
fglock | audreyt: re colabti.de/irclogger/irclogger_log/...9,Mon#l153 (politicking) - sorry about that | 18:26 | |
lambdabot | Title: #perl6 2007-02-19,Mon, tinyurl.com/2cbrpr | ||
dmq | timtoady: the problem juerd was dealing with was this nasty w3 construct PATA-PATB where PATA must match, but PATB maynot, but only in the part that PATA matched. | ||
TimToady | I think && handles that naturally if you assume same length semantics | ||
PerlJam | rindolf: Can you verify that TimToady is indeed Larry Wall? ;-) | 18:27 | |
dmq | for instance they had something like ([class]+) - '-' | ||
rindolf | PerlJam: I have verified his 2048-bit PKE using state-of-the-art and cutting-edge biometric identification system. | 18:28 | |
dmq | im doubtful i properly grok &&, all i know is i couldnt think of a sane way to do it in p5 regex. | ||
TimToady | so you want something like <[class]>+ & <!before -> .* | ||
audreyt | fglock: hey. no need to be sorry at all. | ||
TimToady | or <[class]>+ & <!before .* -> .* | 18:29 | |
dmq | i guess so, except it has to work as part of a larger pattern, so you could have / X (Y+ - Z)/ | ||
PerlJam | -> naturally chunks together all too well | ||
audreyt | fglock: we cleared that up with chromatic long ago, and it's all fine now :) | ||
TimToady | or <[class]>+ & [<!before -> .]* | 18:30 | |
dmq | .... where X might match Z | ||
18:30
IllvilJa joined
|
|||
TimToady | or <[class]>+ & <-[-]>* | 18:30 | |
dmq | but would that work if X matched Z? | 18:31 | |
TimToady | PerlJam: yea, -> should probably be spaced | ||
dmq | for the '-' example they were just being stupid. but there was another one that was more complex. | 18:32 | |
TimToady | dmq: why wouldn't it work? | ||
18:33
shlomif joined
|
|||
TimToady | the point of & is that it constrains both sides against the same substring, which is exactly what you want. | 18:33 | |
so X has nothing to do with it | |||
dmq | ah ok, i didnt get that part. i did say i didnt grok the &&. | 18:34 | |
cool, glad you have it sorted. :-) | |||
fyi: they were being lazy about writing <[class]-[-]> - <[class]-[-]> | 18:35 | ||
if i remember the new charclass syntax properly. | |||
er i mean <[class]-[-]>+ - <[class]-[-]>+ | |||
TimToady | but that should just construct an anonymous class that is missing - | 18:38 | |
shouldn't need & | |||
dmq | they had a more complex example that probably needed the &. | 18:39 | |
TimToady | k | ||
dmq | but i agree with that. | ||
case | |||
fglock | I wonder if it would be sane to link p5 to kp6-C, and reuse unicode/regex/memory management | ||
dmq | anyway, nice chatting, gf is waiting for me to go to dinner. | ||
TimToady | enjoy | ||
dmq | you might want to take a look at that ebf, if only for a good laugh. | 18:40 | |
specbot6 | r13705 | larry++ | apostrophe illiteracy... | 18:44 | |
moritz | if :10(99) works, should :16(FF) work as well? | 18:49 | |
avar perks up at long-gone ::Plugin discussion and goes back to hacking | |||
I was kicking match variables into ::Plugin the other day, there's still some odd issues with it | 18:50 | ||
perl issued undefined value warnings if $1 et al weren't untainted, I didn't get $+{} working yet and so on:) | 18:51 | ||
shlomif | Hi avar | 18:53 | |
avar | hia | ||
shlomif | avar: are you seeing the end of the winter over there in the frozen north? | ||
18:55
shlomi joined
|
|||
avar | sorry, don't have time to chat:/ | 18:56 | |
18:56
justatheory joined
18:57
ludan joined
19:03
shlomi is now known as rindolf,
Ziggy6 left
|
|||
Juerd | 19:28 < TimToady> so you want something like <[class]>+ & <!before -> .* | 19:06 | |
TimToady: No, more like <!before .* -> | |||
TimToady: But the RHS of & bound to the length of what the LHS matched | 19:07 | ||
TimToady: So your second guess was correct, iff & works like that. | |||
19:07
Ziggy6 joined
|
|||
PerlJam | not having that sequence point sure makes it seem like that won't always work right | 19:09 | |
19:10
bernhard joined
|
|||
jrockway | btw, there's a #haskell on irc.perl.org for perlers learning haskell | 19:21 | |
feel free to join :) | |||
(and recruit The Next Generation Of Pugs Hackers [tm]) | |||
moritz | I hope pugs will be finalized before we need a whole new generation ;) | 19:28 | |
19:33
Caelum_ is now known as Caelum
|
|||
nothingmuch would guess they already are aware of pugs | 19:34 | ||
Caelum | what does "ghc6601_0.hc:(.text+0x622): undefined reference to `PugsziEmbedziParrot_de8C'" mean? | 19:36 | |
19:38
justatheory joined
|
|||
gaal | Caelum: try killing Parrot.{hi,hs,o} in dist/ and running make again | 19:40 | |
(yes, .hs too; it's regenerated from .hsc) | 19:41 | ||
er, the .hs though is in src/ of course | 19:42 | ||
Caelum | I did a find . -regex '.*/Parrot\.\(h[is]\|o\)' -exec rm {} \; and make but get the same error | 19:49 | |
gaal | hm try wiping Embed/ in dist/ then | 19:50 | |
and Embed.* possibly too | |||
dist only, not src/ this time | |||
if all else fails, make clean and make again | 19:51 | ||
19:51
dduncan joined
19:56
theorbtwo joined
|
|||
gaal | avar: | 20:04 | |
@pl \x -> x + 42 | |||
lambdabot | (42 +) | ||
20:14
dec_ is now known as dec
|
|||
[particle] | what's the difference between Bit and Bool? | 20:19 | |
Juerd | A Bit is 0 or 1. | 20:21 | |
A Bool is false or true. | |||
fglock | Bool is an enum (afaik) | ||
Bool declares True and False | |||
Juerd | $bit << 2 makes sense, $bool << 2 does not. | ||
[particle] | can a Bool be undef? | ||
it seems a Bit can | |||
Juerd | [particle]: IIRC, all ucfirst can. | ||
20:21
lichtkind joined
|
|||
fglock | a Bit container can be undef, but a Bit cannot | 20:22 | |
[particle] | S02:709 -- Bit Perl single bit (allows traits, aliasing, undef, etc.) | ||
i guess that's the container, then | 20:23 | ||
it's in section "Immutable types" | |||
i've got to wonder what the difference between 'bit' and 'bool' is, then (native types) | 20:25 | ||
fglock | bool doesn't promise to be 1-bit (afaik) | 20:27 | |
[particle] | darned two-bit booleans! | 20:28 | |
allbery_b | that sounds like a dailywtf | 20:29 | |
bool = true | false | maybe | somethingelse ... | 20:30 | ||
avar | [particle]: Implementation wise: none? It's there to implement object objecty-sugar I would guess | ||
baest | more likely 32 or 64 bit booleans | ||
[particle] is considering the state of parrot's native type support wrt perl 6 types | |||
our boolean array uses bits, but a boolean uses a byte | 20:31 | ||
baest | i think several implentations mapped defined a bool as an int. At least i remeber something like that | ||
[particle] | so, an array of 32 booleans is the same size as one | ||
avar | bit/bool would be a PMC wrapping an int that knew whether it was Int::1 or Bool::True ? | 20:32 | |
no idea though:) | |||
[particle] | i imagine the hll 'Bool::True' is dealt with by the parser | ||
no, maybe that info is carried into the ast | 20:33 | ||
anyway, it's likely optimized out before vm opcodes are generated | 20:34 | ||
so, unless there are semantic differences between bit and bool, they'll be implemented the same way, which is by a parrot IREG | |||
however, we'll have to fudge uint, since parrot only has signed integers natively | 20:35 | ||
20:45
stevan_ joined
20:55
fglock left
21:03
forsaken joined
21:23
ludan joined
21:30
eric256 joined
|
|||
eric256 | how can i get the actual values from a junction that cause the success? | 21:32 | |
?eval asy any(1,2,3) > all(1,2,); | |||
21:32
evalbot_r15353 is now known as evalbot_r15368
|
|||
evalbot_r15368 | Error: No compatible subroutine found: "&asy" | 21:32 | |
eric256 | ?eval say any(1,2,3) > all(1,2,); | ||
evalbot_r15368 | OUTPUT[all(VJunc any(VBool False,VBool True))ā¤] Bool::True | ||
eric256 | but i'm looking for it to say '3' i tried .values and searching the example/documentation with no luck.. ideas? | 21:33 | |
21:39
Macae joined
|
|||
avar | ?eval $?OS | 21:45 | |
evalbot_r15368 | \"linux" | ||
avar | ?eval $?BLOCK | 21:46 | |
evalbot_r15368 | \undef | ||
avar tries to recall the compiler twigil.. | |||
say "I'm on" ~~ $?OS.unix ?? "UNIX" !! "Something else"; | 21:47 | ||
I was wondering in general how L<Configure> would work in Perl:) | 21:48 | ||
*Perl 6 | |||
eric256 | ?eval say 'Perl ' ~ any('6 rocks', 'rules!', 'is da bomb').pick; | 22:02 | |
evalbot_r15368 | OUTPUT[Perl rules!ā¤] Bool::True | ||
offby1 | is "pick" random? | 22:03 | |
moritz | ?eval <1 2 3 4>.pick | ||
evalbot_r15368 | "4" | ||
moritz | ?eval <1 2 3 4>.pick | ||
eric256 | yea i didn't need the any in there ;) | ||
moritz | offby1: I guess so | ||
evalbot_r15368 | "2" | ||
offby1 | slow, too :-) | ||
eric256 | i think its eval bot thats slow | 22:04 | |
22:12
wilx joined
|
|||
offby1 | yeah, I know. | 22:13 | |
eric256 | ?eval ~any(1,2,3) | 22:17 | |
evalbot_r15368 | ("1" | "2" | "3") | ||
eric256 | i still can't figure out how to access the actual values that caused a condition with junctions to pass | 22:18 | |
Limbic_Region | eric256 - I wrote the list about this some time ago | 22:19 | |
eric256 - at that time, the answer was write your own operator to act on the junctions | 22:20 | ||
eric256 - but now I think the same thing can be done with sets | |||
but I would need to research the emails to make sure I am remembering correctly | |||
by default - the sugar isn't there | |||
eric256 | which is my second issue....finding out if sets even exist yet :-) | ||
Limbic_Region | they do theoretically | ||
not sure if they are implemented | |||
but knowing fglock - I would have to say yes | 22:21 | ||
in any case, the behavior seems inconsistent given .pick - but that's just me | |||
Limbic_Region wanders off again | |||
eric256 | that seems silly, since the junction comparison returns and object wouldn't it be easy to pass along a set of the elements ...bah. ;) i want to be able to do my @high = any(@scores) > 100; ;) | ||
22:22
Psyche^ joined
|
|||
eric256 | hehe i found the thread and it looks like know one mentioned which S to look in to find sets. | 22:26 | |
Limbic_Region | eric256 - I am not sure it is "THE" thread | 22:28 | |
since when I first brought it up, sets weren't in | 22:29 | ||
but likely a similar thread after the fact | |||
it has come up here on the channel before too | |||
eric256 | well maybe not, but its one where you asked about it and mentioned you'd asked a year ago ;) so it was your followup to THE thread i think ;) | ||
Limbic_Region | TimToady, fglock, audreyt all should be able to point you in the right direction though | ||
heh | 22:30 | ||
yeah | |||
eric256 tries googling using "set" agian and waits for the huge number of misleading hits | |||
TimToady | ?eval say list(1..10) < 6 | ||
evalbot_r15368 | OUTPUT[12345ā¤] Bool::True | ||
eric256 | i wonder if we could autogenerate an index to the docs | 22:31 | |
TimToady | (except it's currently each() that is specced to do that) | ||
eric256 | list? | ||
Limbic_Region | eric256 - the original thread was "Malfunction Junction, what's your function?" 2005-04-28 | ||
TimToady | look for Set and KeySet | ||
eric256 | ?eval say list(1,2,3,4) > list(2,3); | ||
evalbot_r15368 | OUTPUT[34ā¤] Bool::True | ||
Limbic_Region | eric256 - the follow up (from me anyway) was "Do junctions support the intersection of lists" 2006-04-06 | 22:32 | |
eric256 | wow...didn't even know 'list' existed....thanks L~R i think i remember that from the first time around.. yea that followup was what i found | ||
thanks timtoady | |||
TimToady | you only get one list though | ||
your eval was doing >2 | 22:33 | ||
and like I said, it was recently changed to each(), but pugs hasn't caught up with that yet. | |||
eric256 | pugs or the docs apparently...where would i be looking to see discriptions of list or each? | 22:35 | |
tene | ?eval list(1..10) % 2 == 0 | ||
evalbot_r15368 | Bool::True | ||
eric256 | S02 talkes about KeySet but only in a vague no idea how you'd use it type way ;) | ||
?eval say list(list(1,2,3,4) > 2) > 3 | 22:36 | ||
evalbot_r15368 | OUTPUT[4ā¤] Bool::True | ||
TimToady | list() > 3 was an early attempt at easy list comprehensions. | 22:37 | |
it's just syntactic sugar for a grep. | |||
we might not keep it, now that we have more general list comprehensions. | |||
eric256 | yea but its tasty ;) | 22:38 | |
22:38
devogon joined
|
|||
TimToady | grep for 'comprehension' for the more general forms | 22:38 | |
eric256 | @results = any(@values) ~~ all(@rules); would be cool. | ||
lambdabot | Unknown command, try @list | ||
eric256 | S02 for those reading along at home ;) | 22:39 | |
22:40
Psyche^ is now known as Patterner
22:41
gnuvince_ joined
|
|||
eric256 | is there any pod syntax to specify something that should be indexed? so that when you put a definition of each you could somehow flag it to show up in an index? my problem is mostly that i don't know where to look and often i dont' know what it is called now. so an index to scan could be quite helpfull | 22:41 | |
TimToady | for example: @results = ($_ when all(@rules)) for @values | ||
people sometimes use X<> for that. | 22:42 | ||
22:43
explorer joined
|
|||
TimToady | but if we keep the list/each shortcut it's just @results = each(@values) ~~ all(@rules) | 22:43 | |
eric256 | ahh thats pretty darn close to what i was looking for. thanks | ||
tene | and what is @rules a list of? | 22:44 | |
eric256 | match objects i would expect | ||
TimToady | ?eval @results = list(1..100) ~~ all(/3/,/7/) | 22:45 | |
evalbot_r15368 | (no output) | ||
22:45
Caelum joined
|
|||
TimToady | ?eval @results = list(1..100) ~~ all(/7/) | 22:45 | |
evalbot_r15368 | (no output) | ||
TimToady | ?eval @results = list(1..100) ~~ /7/ | ||
evalbot_r15368 | [7, 17, 27, 37, 47, 57, 67, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 87, 97] | ||
TimToady | looks like all() not auththreading right | ||
eric256 | doesn't look like its playing nice yet | ||
TimToady | *auto | 22:46 | |
?eval @results = list(1..100) ~~ (/7/ | /3/) | |||
evalbot_r15368 | (no output) | ||
TimToady | ?eval @results = list(1..100) ~~ (7 | 3) | ||
evalbot_r15368 | [3, 7] | ||
TimToady | looks like patterns aren't autothreading | 22:47 | |
?eval @results = list(1..100) ~~ ({ $_ % 7 } | { $_ % 3} ) | |||
moritz | so does ~~ substitute p5s grep? | ||
evalbot_r15368 | [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100] | ||
moritz | (among other things of course ) | 22:48 | |
eric256 | not grep, regex...now its SmartMatch | ||
moritz | ok, p6 still has grep | ||
TimToady | whoops, misplaced a paren | 22:50 | |
22:50
stevan_ joined
|
|||
TimToady | it's @results = ($_ when all(@rules) for @values) | 22:51 | |
basically, I recently relaxed the nested modifiers restriction to allow an if-ish one inside a loop-ish one. | |||
plus treating the inside of (...) like a statement | 22:52 | ||
22:53
explorer joined
|
|||
dmq | if i wanted to use perl6 to support interval notation the unbalanced parens wouldnt necessarily be an issue would it? | 22:53 | |
TimToady | not to perl 6 | 22:54 | |
dmq | stupid question i guess just something that occured to me. | ||
TimToady | it'll drive any syntax highlighter completely bonkers though. | ||
dmq | heh | ||
s/perl\K6/ 6/ | |||
:-) | |||
TimToady | you'd just have a term token that doesn't require its opener to match its closer | 22:55 | |
dmq | cool. | ||
TimToady | I suspect we'll already get a certain amount of heartburn from the fact that <( doesn't have to match )> in P6 regex. | 22:57 | |
which maybe means we should have used something other than parens in that token. | 22:58 | ||
22:59
Macae left
|
|||
TimToady | but that's probably on a level that a syntax highlighter can deal with, assuming it can have a regex mode. | 22:59 | |
the worse problem is that parsing something like (1,100] would require an awful lookahead to distinguish it from ordinary parens. | 23:00 | ||
that's why I went with 1^..100 instead | 23:01 | ||
offby1 | nice to know you're keeping syntax highlighting in mind -- my big fear is that there'll never be a decent Emacs mode for perl6 | 23:04 | |
eric256 | is there a way to define custom operators that would have values inside the operator? such as (1,100] were presumably the operator is (,] with two values imbeded in it? | 23:07 | |
TimToady | what I'm hoping is that the grammar will be such that we can ask a grammar to spit out a highlighter for an editor, even if you're in some custom language. | ||
yes, but you have to have sufficient clue to know when to switch into a sublanguage | |||
and for (1,100] that involves lookahead to the ], probably | 23:08 | ||
23:08
demq joined
|
|||
TimToady | mathematicians are great at coming up with syntax that looks good to a human but drives computers crazy | 23:08 | |
but that's essentially the process that happens when you switch into a sublanguage such as inside rx// | 23:09 | ||
where < means something entirely different than outside | |||
now if you had a token that was "interval (,100]" you wouldn't need the lookahead. | |||
you'd just need the sublanguage | |||
moritz | mathematicians are weird anyway ;) | 23:11 | |
TimToady | most people waste single matching bracket pairs at a time. leave it to the mathematicians to figure out how to waste both parens and square brackets at the same time... | 23:12 | |
23:12
polettix joined
|
|||
offby1 | they have an infinite supply, so they're not really wasting them ... | 23:13 | |
or at least until their pencil lead runs out. | |||
TimToady | there's always chalk... | ||
interesting that chalk comes from southern England, and graphite from northern England. that could explain a lot. | 23:14 | ||
eric256 drools over his liquid graphit pencil some before returning to work | |||
offby1 never noticed fights between the chalk-fanciers and the pencil-fanciers in school, but then he dropped out | 23:15 | ||
TimToady | well, of course "offby1" wouldn't grok (pencil,chalk] :) | 23:16 | |
offby1 | it'd probably be (pencil, chalk) or even [pencil, chalk] -- I'm not above being off by 2 | 23:17 | |
moritz | chalk and blackboar where the first primitive wikis ;) | ||
TimToady | nah, cave wall and charcoal, I think | ||
Booga, booga! Wiki wiki! | 23:18 | ||
moritz | TimToady: but cave walls aren't that easiy whipped clean | ||
s/whipped/wiped/ ;) | |||
TimToady | and how often do you wipe clean your wiki? | ||
eric256 | yea once you've drawn on them with your enemies blood its all down hill from there | ||
moritz | sometimes english is harder than perl ;) | ||
TimToady | hmm, what if half the cave paintings were actually spam... | 23:19 | |
offby1 jerks awake | |||
whipped cream? Where? | |||
moritz | TimToady: what did they sell? buffalos? | 23:20 | |
23:20
IllvilJa left
|
|||
moritz | TimToady: or "extra sharp stone blades"? porn? | 23:20 | |
TimToady | buffalos? perhaps, under the category "bogus stock" | 23:22 | |
eric256 accidentaly tried to open a directory of 50k files with vi....and now thinks that wasn't a good plan | |||
23:23
weinig|bbl is now known as weinig
|
|||
TimToady | I've notice that vim doesn't take at all kindly to being interrupted while starting up. Last time I tried that I ended up having to kill the shell from another window... | 23:23 | |
offby1 wouldn't take kindly to being killed, either | 23:24 | ||
eric256 | yea i just had to open a new ssh and beat it over the head.. | ||
now to see how long sa-learn takes to learn 56k messages ;) | |||
23:26
gnuvince_ joined
23:28
Aankhen`` joined
|
|||
demq | (mathematicians are great at coming up with syntax that looks good to a human but drives computers crazy)++++ | 23:31 | |
Gothmog_ | ;-) | ||
demq | now theres a good email sig quote. | 23:32 | |
hrm, i appear to have gotten fatter | 23:33 | ||
23:33
demq is now known as dmq
|
|||
dmq | ah, much better | 23:34 | |
moritz | QM is nice, with vectors/states like <a| and |b> and matrices like <a|H|b> etc | ||
and of course < and > still available als comparison operators | |||
masak | does pre- and postincrement return an rvalue? why? | 23:39 | |
it requires an lvalue, so why not provide one? | 23:40 | ||
at least for pre- it seems to make sense | 23:41 | ||
but maybe allowing it for preincrement but not for postincrement would be asking for trouble... | |||
& # much needed sleep | 23:42 | ||
23:43
beppu joined
23:48
Caelum joined
|
|||
eric256 | ?eval $x++ = 0; say $x; | 23:53 | |
evalbot_r15368 | Error: Can't modify constant item: VInt 0 | ||
eric256 must have misunderstoo masak | 23:54 | ||
hehe i thought you said lvalue not rvalue | |||
tene | ?eval ++$x = 0; $x | ||
evalbot_r15368 | Error: Can't modify constant item: VInt 1 | ||
eric256 | processing spam at 1.78msg/sec for a total of 21minutes...not too shabby |