pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, elf: etc.) (or perl6: for all) | irclog: irc.pugscode.org/
Set by Tene on 29 July 2008.
meppl good night 00:02
pugs_svn r21842 | ruoso++ | [smop] adding the test for lexical scopes 00:03
00:05 meppl left 00:11 hercynium joined 00:12 luqui joined 00:13 luqui left 00:14 elmex left 00:25 Schwern joined 00:33 jferrero left 00:53 dduncan left, Alias_ left 00:54 nipotaway is now known as nipotan 00:56 cmarcelo left
pugs_svn r21843 | ruoso++ | [smop] lexical scope almost implemented! only the lookup implementation is missing! 01:09
ruoso sleep & 01:14
01:16 ruoso left 01:23 Schwern left 01:27 Schwern joined 01:28 Schwern left 01:29 Schwern joined 01:48 Blasi joined, Blasi left 01:57 alester joined 01:58 Schwern left 02:05 alanhaggai joined 02:14 Schwern joined 02:17 wknight8111 left 02:19 Blasi joined 02:20 Blasi left 02:23 clochette joined 02:24 clochette left 02:26 fullermd joined 02:37 sri_work joined 03:39 fullermd left 03:40 fullermd joined 03:55 frobnitz left 03:58 sri_work left, sri_work joined 03:59 sri_work left, sri_work joined 04:08 hercynium left 04:10 Schwern left 04:36 kanru left, kanru joined 04:45 Schwern joined 05:08 masak joined, araujo left 05:22 Carrie joined
Carrie Which sorts of buildings are more likely to house potentially harmful molds? 05:25
masak Carrie: caves? 05:26
anyways, this seems more of a Perl 5 question than a Perl 6 question to me 05:27
05:28 TimToady sets mode: +b *!n=Webchat@*.reznet.ucalgary.ca, Carrie was kicked by TimToady (TimToady))
TimToady Webchat appears to be some kind of trollbot, actually; it's been here before... 05:34
05:38 Psyche^ joined 05:39 BinGOs_ joined 05:40 kanru left 05:42 penk joined 05:43 BinGOs left
masak it's 2008, and we have such things as trollbots. the present grows ever more futuristic. :) 05:44
05:45 alester left 05:47 Schwern left 05:54 Patterner left, Psyche^ is now known as Patterner
masak what's the value of $0 at the start of a program/block, before any matches? 05:59
or rather, is it legal to refer to it? 06:00
06:09 luqui joined
pugs_svn r21844 | bacek++ | [spec] Unfudge test for rakudo. Hash composer is implemented since r30104 06:17
06:24 justatheory left 06:33 kanru joined 06:35 ashizawa joined 06:39 BinGOs_ is now known as BinGOs
masak would $str.subst('foo','bar') work like $str.subst(/foo/,'bar') or like $str.subst(rx:g/foo/,'bar') ? 06:49
06:51 meppl joined 07:08 kanru left, kanru joined 07:10 revdiablo joined 07:44 kanru left 07:46 mj41 left 07:51 mj41 joined 07:58 pmurias joined 08:01 Schwern joined
pugs_svn r21845 | pmurias++ | [STD] handles errors from an eval (grammars need a lineof) 08:36
08:39 barney joined
pugs_svn r21846 | pmurias++ | [sm0p] added a lineof method to unbrake it 08:59
08:59 meppl left
pmurias @tell ruoso the lexical pad is missing from the repo 09:01
lambdabot Consider it noted.
09:29 orafu joined 09:32 orafu left
pugs_svn r21847 | ruoso++ | [smop] ruoso-- keeps missing to add files 09:37
09:39 iblechbot joined 09:46 bbkr left, bbkr joined 09:47 pbuetow joined 09:49 Alias_ joined 09:50 orafu joined 09:51 orafu left 09:52 orafu joined, orafu left 09:57 riffraff joined
riffraff hi 09:58
09:58 orafu joined 10:02 alanhaggai left 10:07 pmurias left 10:08 nipotan is now known as nipotaway 10:15 kanru joined 10:17 pjcj left 10:19 penk left 10:20 pjcj joined 10:41 araujo joined 10:55 kanru left 10:58 pmurias joined
pmurias @tell ruoso why did you make SMOP__ID__entries and SMOP__ID_lookup static, is there a rule? 11:00
lambdabot Consider it noted.
11:04 bacek left 11:13 meppl joined 11:15 whereiskurt__ left
pmurias i'm porting the elf sm0p backend to m0ld for now, as i don't have enough pugs/haskell skills to come up with a working backend design 11:16
11:21 sri_work left 11:26 Schwern left, frobnitz joined 11:30 zamolxes joined 11:47 kanru joined 12:05 riffraff left 12:08 wknight8111 joined 12:25 Blasi joined, Blasi left 12:45 alester joined, alanhaggai joined 12:46 alester left 12:49 kanru left 13:02 rindolf joined 13:04 ashizawa left
pmurias what's the state of PIL2, i noticed that PIL2 generators are commented out and the ones which don't specify the PIL version are marked deprecated 13:05
s/,/?
13:07 kanru joined, alanhaggai left
pmurias i get an useless use of constant warning when using -Cjson or -Cyaml 13:29
13:29 cognominal_ left
pugs_svn r21848 | pmurias++ | [pugs] a empty m0ld backend placeholder 13:31
13:35 charsbar left
pmurias and the output of -Cyaml containes a first line consisting of strange characters 13:36
13:39 charsbar joined 13:43 alanhaggai joined 13:44 meppl left 13:45 jan__ left 13:52 TJCRI joined 13:55 iblechbot left 13:57 cmarcelo joined 13:59 charsbar left, AndyAway is now known as alester 14:00 alanhaggai left, alanhaggai joined 14:02 charsbar joined 14:27 charsbar left 14:31 charsbar joined 14:37 cosimo left
pugs_svn r21849 | fglock++ | [PCR] added new-engine branch (at misc/pX/fglock/) 14:37
r21850 | fglock++ | [PCR] clean up the release branch 14:40
14:40 diakopter joined
pmurias diakopter: hi! 14:43
diakopter pmurias: ih 14:44
pmurias what's up? 14:45
diakopter my 9 day absence approached an event horizon 14:46
14:46 jiing joined, Jedai joined
pmurias i don't understand 14:47
diakopter I was away longer than anticipated 14:48
from some frames of reference 14:49
sudden home change, sudden marriage change, sudden job change, sudden health change 14:50
(s)
pmurias what's the state of yap6? 14:52
diakopter 7ups 14:53
(svn ups)
14:55 cmarcelo_ joined
diakopter oops 14:55
14:56 cmarcelo left 14:57 cmarcelo_ is now known as cmarcelo, cmarcelo left
diakopter sry moritz_ for the blatant/destructive elevation of privileges & arbitrary execution security hole 14:57
pmurias the security hole wasn't really important as it's easy to evalbot backends can execute anything they wont 14:59
s/wont/want/g
speckbot r14573 | larry++ | clarify that &foo is a real function even when representing a multiple dispatch 15:00
r14573 | larry++ | s/q:code/quasi/
15:01 elmex joined
diakopter backlogs a few tens of thousands of words 15:01
[particle] TimToady: is there a way to see the list of signatures that are contained in &foo? 15:10
like, would &foo.perl do it?
TimToady erm
that might give you the sigs and a whole lot more 15:11
[particle] right, a lot more
but it should list the sigs
narrowing down, is there a way to get just the sigs?
TimToady I suspect using .sig or whatever will just return a multisig
it's just a property, after all 15:12
well, a trait
no such thing as properties in p6 really
15:13 pmurias left
TimToady possibly it's even a Junction of sigs, since the ordering is determined by the dispatcher 15:13
[particle] so it's easy to get the info you need to write your own dispatcher 15:14
ok, good.
i like Junction, but Set may be ok, too
TimToady presumably there's gotta be some way, or the standard dispatcher can't do it either :) 15:15
might be more useful to store a partial ordering
[particle] hrmm, what about 'only' 15:16
TimToady what about it?
[particle] how is that distinguished?
i mean, it can't be a junction
it could be a Junction with a constraint of one alternative, if that's possible 15:17
i don't know how to specify that subset, though
TimToady the user shouldn't care how many things there are in a junction
$foo ~~ $bar doesn't need to know the arity of $bar
or the whateverity
15:18 rindolf left, justatheory joined
TimToady $capture ~~ &foo.sig either works or doesn't 15:18
[particle] when building up the multisigs, the compiler needs to know if it's allowable to add another sig to something that's previously been declared with 'only'
TimToady regardless of whether .sig returns a junction or a signature
[particle] this isn't dispatcher execution, really
TimToady sure, but that's not info in the sigs
[particle] ok 15:19
it has to be stored somewhere, though
TimToady well, at least till the end of scope in the compiler
[particle] at runtime, can you add a sig to something previously declared as only? 15:20
TimToady hmm, if you add a sig to an existing Code, it would depend on how the compiler wrote the call 15:21
15:22 fridim_ joined
TimToady if it uses the same dispatch mechanism, it would be transparent 15:22
but only subs are more likely to be inlined
in which case, I'd say it's erroneous to add a sig to the object
I take onliness to be a strong hint that you can optimize the heck out of the calls 15:23
esp for lexically scoped subs 15:24
[particle] the 'inline' equivalent
that's nice to have
TimToady "is inline" is more of a warning to anyone who is reading the code; the compiler makes its own decision
[particle] sure, that's the same in c 15:25
gcc and msvc anyway
TimToady possibly "is !inline" is more imprtant :) 15:26
[particle] isnt inline
TimToady "is " is really just sugar for ':'
[particle] isnt could be sugar for :!
i'm not quite sure that's getting carried away 15:27
TimToady it bugs the proscriptive grammarian in me
[particle] well, isn't could be made to work
but 'tis uglier
TimToady indeed, but spurious ' will confuse syntax highlighters 15:28
[particle] unless they use the parse tree
TimToady I suppose we could allow ' in identifiers generally as long as they're surrounded by \w 15:29
[particle] as long as ' doesn't mean ::
TimToady presumably same rule for - if we decided to be Lispish 15:30
15:30 alanhaggai left
[particle] yes, it'd be nice not no reach for that shift key so frequently 15:30
TimToady $a-sqrt(2)
can get away with more given strictural defaults 15:31
"No such routine in scope "a-sqrt"
[particle] true, it gives much better errors having strict as default 15:32
15:32 Kishi joined
TimToady and it would be nicer for poetry to have apostrophes 15:32
[particle] i suppose then we could have .can't and .doesn't methods 15:33
15:33 diakopter left
TimToady someone whack me upside the head with a halibut before I do this :) 15:33
15:33 Kishi left
[particle] sunday is my 35th birthday. do it for me :) 15:34
TimToady q'foo' is a problem
[particle] i don't see a way around that
TimToady q 'foo' 15:35
[particle] 'foo':q doesn't work
TimToady 'foo':q too
[particle] bad weighting
that's the s///mg problem
TimToady well, at least q'foo' is an immediate parse error on the second ' 15:36
[particle] ws works, but it's another big departure from perl 5
not that there's anything wrong with that
TimToady ws is important in English 15:37
[particle] so an identifier couldn't end in ' ?
TimToady correct
[particle] ah, right, you said \w surrounding
TimToady and 'tis would be Right Out
[particle] yep, no irish poetry (which is some of the best)
'oer is gone too. cya shakespeare6 15:38
TimToady 'twas the decade before Christmas, and all through the net...
that o'er
so okay
[particle] ah yes, and e'er
TimToady I should try putting it into STD and see what hiccups 15:39
but it's sorta just like the _ rule in numbers
[particle] nice to have a working parser 15:40
TimToady I think restricting it to being before alpha would be wise
no $foo-1
[particle] agreed 15:41
damian would have a field day with that
TimToady use apostrophe < ' - + > 15:42
15:42 jan_ joined, meppl joined
[particle] use inner_alpha < ' - + > 15:43
apostrophe isn't really a grammatical category
use mark < ' - + > 15:44
or use apostrophic <...> 15:45
TimToady blows up on line 3 of parsing STD :)
[particle] hee
TimToady dunno why yet
hmm, my LTMer is losing the * on [\w|<['-]><.alpha>]* 15:48
hmm, that didn't work either... 15:53
15:54 rdice joined
TimToady okay, think I snuck it past the LTM using <.identish> [<[ ' \- ]><identish>]* 15:55
I note that $x-$y is saved only by the presence of the second sigil 15:56
whee, parses itself 15:57
now to see how much of t/ we broke...
passes all of sanity 15:58
the fact that we already require space after listops and keywords is helping 15:59
t/blocks is good 16:00
t/builtins is good 16:02
[particle] this is crazy. having a working parser is *awesome*
this may be the first change to the language proven correct (to the extent that tests can prove anything) 16:03
16:05 luqui left
TimToady also have to prove it's parsing it correctly though :) 16:05
but through examples now
[particle] true enough
what's your expectation as to the current correctness of the parsing overall? 16:06
93%?
TimToady but the ident LTM is [_[:alpha:]]\w*(?:['\-][_[:alpha:]]\w*)* which looks right
it'll be a lot higher after I get symbol tables and see what has been swept under the carpet of postdeclarations 16:07
[particle] looks correct to me
TimToady through macros, working on oo
oo good 16:09
16:10 Dfaure joined
[particle] i've installed yaml and moose 16:10
should 'make' be working in src/perl6 ? 16:12
i get STD.pmc did not return a true value 16:13
oh, make clean isn't really cleaning well 16:14
TimToady operators good
[particle] ok, got tre, too
TimToady means the gimme5 failed 16:15
or you don't have tre :)
[particle] I CAN HAZ STD!
it's working.
TimToady Really Hardā„¢ 16:16
[particle] should make clean remove STD5.pm, STD.pmc, and try5.out?
TimToady there is no STD5.pm anymore
STD.pmc is the new black
don't care about try5.out
[particle] ah, ok, so that was old and laying about
ok, then Makefile is fine 16:17
16:17 iblechbot joined
TimToady well, up to regex/propcharset, but that takes half of forever to parse 16:17
[particle] do you parallelize at all? 16:18
TimToady surprised I haven't found a q'foo' yet
no
race conditions in the LTM cache
(disk cache, all the stuff down in lex/)
need to clean all that up at some point 16:19
16:19 cognominal_ joined
TimToady rather than store each digraph in a separate file, I plan to have a single file with just lists of rule numbers that could match, and appending is easier to transactionalize 16:20
might run faster too
pugs_svn r21851 | particle++ | remove trailing tab from STD Makefile 16:21
TimToady though NYTProf doesn't report all that much time slurping digraph data
[particle] ok, now i know what to install next :)
how are you running your examples, and profiling them? 16:23
perl -d:NYTProf ???
or have you an alias for that
TimToady I've only ever profiled compiling STD 16:24
but I'll probably do propcharset.t at some point just because it takes soooo loooong 16:25
assuming I don't run out of disk space
16:26 bd_ joined
[particle] i ran out of disk while creating minicpan 16:29
so i'll have to add another virtual disk to my vm
TimToady so of *course* our TV blows up the night before the Olympics start... 16:31
[particle] /\bq'/ only appears six times in t/ according to ack
and 5 are 'q' 16:32
TimToady what about \bq'[a-zA-Z]
[particle] one is q'STUB: ...' in t/spec/S12-methods/calling_sets.t
line 97
TimToady okay, that one will blow up 16:33
or should
[particle] after half of forever, well find out
TimToady done with that half of forever, working on properties.t now
[particle] how do i run std against t/S12-methods/ ?
TimToady which is about another 1/4 of forever 16:34
tryfile t/spec/S12-methods/calling_sets.t
well, make a t symlink first
[particle] ah, ok. i'm running ./teststd modified to that dir 16:35
but i'll do tryfile next time
TimToady oh wait, yours won't blow up because I didn't check in the ident change 16:37
16:39 Guest73782 joined
[particle] er, duh. 16:41
16:42 meppl left 16:43 cognominal_ left, masak left
[particle] i could probably try myself 16:44
TimToady well, it's already looking good enough I'm just gonna check it in and see what happens 16:45
16:47 Dfaure left 16:49 iblechbot left, zamolxes left
pugs_svn r21852 | lwall++ | [STD] allow ' and - in ident (but only before a letter) 16:52
TimToady yes, it did blow up on t/spec/S12-methods/calling_sets.t nicely
feel free to fix it
shower & 16:53
16:57 Guest73782 left
TimToady t/unspecced/sort.t also fails q:to'stuff' 16:58
done, those are the only two failures--looks like you get your "isn't" 17:00
shower really &
17:03 alester is now known as AndyLunch
[particle] wow! i'll fix after my phone call 17:10
17:11 eternaleye joined
speckbot r14574 | larry++ | allow isolated ' and - in identifiers (only if followed by alpha) 17:35
[particle] hrmm. $1-foo 17:37
or make that $1-foo()
pugs_svn r21853 | particle++ | update tests to match spec from previous commit (trystd++) 17:42
[particle] stupid fingers, that should have been teststd++
TimToady 1 isn't an identifier
but it occurs to me that STD probably won't have caught many \w-\w errors 17:43
so you probably want to ack for those
'tis possible that we enable only apostrophe:<'> by default, and just make it easy to add apostrophe:<-> 17:44
depending on how many problems you find
biab & 17:45
audreyt rehi
17:46 fridim_ left
[particle] howdy 17:46
17:57 barney left, pmurias joined
pasteling "rhr" at 65.94.11.172 pasted "\w-\w from t" (9 lines, 647B) at sial.org/pbot/31839 17:57
rhr all the \w-\w I can find in t are basically $foo-1 17:58
[particle] and that's just fine
rhr ah, I didn't realize the after-part needs to begin with alpha 18:00
18:05 rindolf joined
pmurias audreyt: you are aware of the useless use of constant in void context warnings? 18:09
when using -Cyaml
audreyt yes
should be harmless
oh 18:10
hm, maybe not.
ah, slight bitrot from compilation from pil1
a sec. willfix in a bit
pmurias the garbage line is more worring 18:12
the one after the warning with strage chars 18:13
s/worring/worrying/ 18:14
s/strage/strange/
18:15 Schwern joined
audreyt pmurias: write a hello_world.p6 in the m0ld dir? 18:17
and write a test that calls pugs -CM0ld hello_world.p6 into a m0ld file and then a C file? 18:18
pmurias audreyt: a failing one?
rindolf Hi all. 18:20
Hi audreyt
Hi pmurias
audreyt a failing one. 18:21
18:22 ruoso joined
pmurias my autotools skills really suck, i could easily put it in the smop t/ 18:22
rindolf pmurias: why aren't you using CMake? 18:23
CMake++ 18:24
ruoso pmurias, about using static ID... I wanted to experiment a different approach, since smop-identifiers.h is becoming bloated...
lambdabot ruoso: You have 2 new messages. '/msg lambdabot @messages' to read them.
pmurias rindolf: dunno, ruoso chose autotools 18:31
rindolf pmurias: ah.
pmurias: for what?
ruoso rindolf, basically, autotools was the way I knew for making C building portable... 18:32
I know that there are Scons and CMake
rindolf ruoso: ah. 18:33
ruoso but as I didn't have any experience with them, and that setting up a basic autotools environment is pretty simple
I didn't have much to think about...
but I'm not against someone taking the job of setting up a different build system
;) 18:34
rindolf ruoso: what is the project?
ruoso rindolf, smop
rindolf ruoso: URL?
ruoso: ah.
pugs_svn r21854 | pmurias++ | [m0ld] 26_m0ld_pugs.p6 - hopefull it meets audreyt++ request
pmurias audreyt: sorry it took so long, fought with autotools too long 18:35
ruoso rindolf, www.perlfoundation.org/perl6/index.cgi?smop
lambdabot Title: SMOP / Perl 6
ruoso pmurias, you're working on getting 'use v6' blocks ported to mold, right? 18:37
pmurias i should be...
ruoso do you think I should implement "if" in slime so I can get 'method lookup' implemented? or do you think I should be able to use if () {} else {}... in v6 blocks with mold soon... 18:38
pmurias i don't think it makes sense to touch slime now, i'll force myself to write an elf backend, or audreyt will start a pugs one soon 18:41
ruoso: a half-measure would be to enable q:m0ld blocks 18:42
rindolf ruoso: Can't locate Cursor.pm in @INC 18:46
pugs_svn r21855 | audreyt++ | * Do not insist on installing a profiling cabal-install dep chain.
rindolf ruoso: search.cpan.org/search?mode=dist&am...ery=Cursor 18:48
lambdabot Title: The CPAN Search Site - search.cpan.org
rindolf ruoso,. pmurias : ping. 18:49
pmurias rindolf: pong
rindolf pmurias: I cannot build SMOP.
pmurias checking
rindolf pmurias: it cannot find Cursor.pm
pmurias: try "svn st"
pmurias cd sm0p;sh brew
rindolf pmurias: what? 18:50
pmurias Cursor.pm is src/perl6/Cursor.pmc
rindolf pmurias: I followed the instructions here - www.perlfoundation.org/perl6/index....op_hacking 18:51
lambdabot Title: SMOP Hacking / Perl 6
pmurias rindolf: type that in the smop directory not everything is intergrated with the Makefile
rindolf pmurias: oh. %-(
pmurias: brew: line 3: cd: ../../../src/perl6/: No such file or directory
ruoso rindolf, I think you need more elements from the pugs repository....
rindolf ruoso: yes, so it seems.
ruoso: please fix the Makefile.cvs
Or the instructions at www.perlfoundation.org/perl6/index....op_hacking 18:52
lambdabot Title: SMOP Hacking / Perl 6
ruoso rindolf, yes... the dependencies on ../../../src/perl6 are quite new...
pmurias and quite temporary hopefully ;)
rindolf ruoso: ah. 18:53
pugs_svn r21856 | pmurias++ | [smop] make makes sm0p and m0ld 18:55
18:57 AndyLunch left
ruoso pmurias, I've added "have pugs compiled in the source tree" to the "In order to compile SMOP, you should:" list... 19:00
is there a good link for a pugs compiling howto?
19:01 cognominal_ joined
pugs_svn r21857 | pmurias++ | [smop] merged brew into the (missing) Makefile 19:01
pmurias ruoso: README in the repository root?
ruoso: pugs is not needed yet
ruoso it is, actually... since a recent commit you made ;) 19:02
19:03 masak joined
pmurias compiling that test never succeds as pugs -Cm0ld dosn't work yet 19:03
ruoso hmm... maybe we should take it out of the default target then... 19:04
(at least until it works)
rindolf ruoso, pmurias : so what should I do? 19:06
ruoso rindolf, does 'make all' work? 19:07
pmurias ruoso: i'm fixing make test 19:08
rindolf ruoso: let me try.
ruoso: make all where?
ruoso v6/smop
pugs_svn r21858 | pmurias++ | [smop] make test runs (has failures) 19:09
ruoso pmurias, I still can't make test 19:12
pmurias ruoso: if you're blocked on the lexicals i can hack q:m0ld into sm0p.pl 19:13
ruoso pmurias, please :)
ruoso anxious to have the first Perl 6 "if" in effective smop code ;) 19:14
pmurias ruoso: what's your error?
ruoso it tries to run ../../../pugs -Cm0ld 26_m0ld_pugs.p6 > 26_m0ld_pugs.m0ld 19:15
and I don't have pugs built there
pmurias it's in error ignoring mode 19:16
japhb Is there a $Larry in the house?
pmurias @seen TimToady #you mean 19:17
lambdabot TimToady is in #perl6. I last heard TimToady speak 1h 32m 37s ago.
ruoso pmurias, I have commented out the specific 26_... target and it worked
pmurias to you have a - before the pugs line 19:18
ruoso but that won't make it work... because you'll have an invalid 26_m0ld_pugs.m0ld file
pmurias an empty one 19:19
empty ones are valid now
ruoso oh... I probably have a old mold 19:20
pmurias ruoso: is a q:m0ld preferable to use m0ld;
ruoso pmurias, feel free to choose... I think both are ok... 19:21
pugs_svn r21859 | ruoso++ | [smop] make pugs m0ld compilation non-blocking on error (at least untill it works) 19:22
japhb pmurias: I asked it the way I did (as $Larry) so that if he was watching the channel as a human, he would notice, but by not using his nick, I wouldn't trigger his IRC client to ping him. Just trying to be less of an interruption ... 19:23
TimToady ponders whether he's here or not... 19:24
japhb Like Schroedinger's assistant, you have just collapsed that wave function.
19:25 sri_work joined
japhb TimToady: I tried reading the backlog, but I'm confused why "can't" is more worthy of relief than "q'foo'"? 19:26
19:27 alester joined
pugs_svn r21860 | pmurias++ | [smop] use m0ld support for sm0p.pl 19:27
japhb The concept of ident being conceptually "underscore/alpha, followed by \w+" is pretty damn ingrained in geek culture (and certainly in my brain), so this is a very odd one to me. Mind you, oddness is not exactly something that Perl6 needs to avoid, I'm just curious why this seemed like a "no brainer", when my gut went the other way -- "this needs heavy thought" 19:28
ruoso pmurias, which file naming should I use? should I still use .sm0p? 19:29
pmurias yes
japhb reflects on Perl6 slowly adding Forth "features" 19:30
ruoso pmurias, can I still reference values that are in the local C scope (like invocant), or should I get it from the capture in the 'use m0ld' block? 19:31
pmurias you can use something like my $reg = $cvariable; 19:32
ruoso right
pmurias got to think of a syntax for c variables
ruoso $Ā¢variable? 19:33
pmurias how to you type the cent? 19:34
ruoso hmm.. in my keyboard... Compose, C, |
but I use an unusual configuration
ruoso hate dead keys
pmurias maybe just Ā¢variable? 19:35
forcing Ā¢ on people dosn't feel right, otoh it C-K Ct in vim 19:36
Can't we just use can_not instead of can't? 19:38
In Perl 6 19:39
masak I was surprised at the identifier/character change too 19:40
pugs_svn r21861 | ruoso++ | [smop] renaming lexicalscope to .sm0p so we can "use m0ld" 19:41
masak does it work for variables as well? $will-this-work?
ruoso pmurias, this is really m0ld, right? so I need to keep up with all the registers and stuff...
pmurias, would you mind to port the lookup implementation in www.perlfoundation.org/perl6/index....ementation to smop_s1p_lexicalscope.sm0p? 19:42
lambdabot Title: SMOP Lexical Scope Implementation / Perl 6, tinyurl.com/5ebhte
ruoso have to leave now... will get back later....
19:42 ruoso left 19:52 cognominal_ left
pmurias audreyt: do you think syntax sugar like my $a = $b.$c(...) instead of my $a;$a = $b.$c(...); and $a = $b."c"(1) instead of $c="c";$d=1;$a = $b.$c($d) is desirable in m0ld? 19:57
19:58 Alias__ joined 20:04 rindolf left 20:08 wknight8111 left
audreyt pmurias: that particular sugar I think is good. 20:09
basically I'd like Sugar>DeSugar mapping 20:10
to have a clear DeSugar>Sugar choice on that level
if there are two Sugar that generates the same DeSugar (not counting the DeSugar itself) then it's more questionable.
making some sense?
pmurias audreyt: yes 20:15
20:15 Alias_ left 20:18 Lorn left, Lorn joined 20:20 justatheory left
pmurias btw. i read the quasi-quotes paper and the part 1 of SYB, and i think i'll be able to write the quasi-quotes once pugs switches to a ghc which supports it 20:23
audreyt pmurias: most excellent 20:25
pmurias: see regex-qq on hackage and lighttpd-conf-qq
there's also a qq for hs itself!
code.haskell.org/~morrow/code/haskell/metaquote/
lambdabot Title: Index of /~morrow/code/haskell/metaquote
audreyt the use of that is you can embed arbitrary haskell snippet in your dsl 20:26
like of like "string { code } string" in p6 strings
all in all, exciting stuff.
20:27 rindolf joined 20:28 scott__ joined, scott__ is now known as scrottie 20:32 scrottie left, scott__ joined, scott__ is now known as scrottie, rindolf left, alester is now known as AndyAway 20:35 wknight8111 joined 20:36 scrottie left 20:40 scrottie joined, cognominal_ joined 20:42 fridim_ joined
pugs_svn r21862 | pmurias++ | [m0ld] cleaner handling of labels 20:52
20:53 mj41_ joined 21:01 cognominal_ left 21:02 cognominal_ joined 21:08 AndyAway is now known as alester 21:09 mj41 left 21:13 Jamtech joined
pugs_svn r21863 | pmurias++ | [m0ld] my $target = ...call.. syntax sugar 21:13
21:13 mncharity joined
pmurias mncharity: hi 21:14
21:18 fridim_ left 21:20 TJCRI left
pmurias i the default haskell [Char] unicode capable, how do i read in utf8? 21:24
21:24 Schwern left
pmurias found what is was looking for 21:26
mncharity hi pmurias 21:28
"STD_red's AST output is broken and horrible", huh?
21:28 rdice left
pugs_svn r21864 | pmurias++ | [m0ld] ƂĀ¢foo is used to refer to the C variable ƂĀ¢foo 21:32
pmurias is looking at it again
mncharity: if you have token baz {<foo>};token foo {<bar>};token bar {x}; and match baz against x the resulting Match has a bar Match under the key foo 21:35
21:38 ron joined 21:39 Jamtech left
ron perl6: sub Fiddle { return 5;} say Fiddle; 21:39
p6eval pugs: OUTPUT[5ā¤]
..rakudo 29834: OUTPUT[Statement not terminated properly at line 1, near "say Fiddle"ā¤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)ā¤]
..elf 21864: OUTPUT[Parse error in: /tmp/pnCD7AwoiGā¤panic at line 1 column 0 (pos 0): Can't understand next input--giving upā¤WHERE: sub Fiddle { return 5;} say Fiā¤WHERE:/\<-- HEREā¤ STD_red/prelude.rb:99:in `panic'ā¤ STD_red/std.rb:76:in `scan_unitstopper'ā¤ STD_red/std.rb:224:in `comp_unit'ā¤
..STD_r...
pmurias mncharity: it seems sometimes it does, sometimes it doesn't it annoyed me horribly when i attempted to write a STD5_dump_match equivalent for STD_red
ron perl6: sub Faddle () { return 5;} say Faddle; 21:40
p6eval elf 21864: OUTPUT[Parse error in: /tmp/dWmg7xwQFOā¤panic at line 1 column 0 (pos 0): Can't understand next input--giving upā¤WHERE: sub Faddle () { return 5;} sayā¤WHERE:/\<-- HEREā¤ STD_red/prelude.rb:99:in `panic'ā¤ STD_red/std.rb:76:in `scan_unitstopper'ā¤ STD_red/std.rb:224:in `comp_unit'ā¤
..STD_r...
..pugs: OUTPUT[5ā¤]
..rakudo 29834: OUTPUT[Statement not terminated properly at line 1, near "say Faddle"ā¤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)ā¤]
[particle] is it legal to call without parens?
ron shouldn't it be if fn is lower case ?? 21:41
mncharity oh, you're objecting to parse tree flattening? pointless/unneeded nodes were removed for the obvious reason - kiss. re "annoyed me horribly", oh, sorry about that.:( you should mention such things. switching to a regex-engine-equivalent Match tree was always a todo task for when actually swapping in a real regex-engine-based parser.
TimToady case doesn't matter, but you need a semicolon after the }
mncharity s/for when/to be done when/ 21:42
ron perl6: sub Fiddle { return 5;} ; say Fiddle;
p6eval elf 21864, pugs: OUTPUT[5ā¤]
..rakudo 29834: OUTPUT[Fiddleā¤]
ron perl6: sub Faddle () { return 5;}; say Faddle;
p6eval elf 21864, pugs: OUTPUT[5ā¤]
..rakudo 29834: OUTPUT[Faddleā¤]
TimToady ooh, rakudo is doing barewords. ick
ron sub faddle() { return 5;} ; say faddle;
TimToady or it's assuming uppercase is a type
ron perl6: sub faddle() { return 5;} ; say faddle;
p6eval elf 21864, pugs, rakudo 29834: OUTPUT[5ā¤] 21:43
TimToady looks like the latter is true
still ick
ron I'll look a little further for the moment. Have a good weekend all ... 21:44
21:45 ron left
pmurias mncharity: re horrible and annoying things the Call and Capture AST nodes deserve an unhonorable mention 21:47
mncharity elaborate? 21:49
pmurias mncharity look at the AST output of $foo.bar(1,2,3,a=>5) 21:51
21:51 jferrero joined
mncharity looking... 21:52
pmurias the invocant is only defined in the wrong place,arguments receive an Apply(which should be merged with Call anyway) and the named and positionals arguments are stuffed together 21:55
pasteling "mncharity" at 65.96.169.198 pasted "./elf_g -v -e '$foo.bar(1,2,3,a=>5)'" (151 lines, 5K) at sial.org/pbot/31841
pmurias and the method is a string instead of an AST name 21:57
s/name/node
21:57 StephenJosephPol joined
pmurias got to sleep now& 21:57
21:57 pmurias left 21:58 armagad joined, elmex left
masak there's a dead link rakudo.org/perl6/index.cgi?download_perl_6 from www.pugscode.org/ 22:00
mncharity Call has an invocant because $x.m($cap) $x is distinct from whatever invocant Capture $cap might have. Apply'ing infix:, can't be merged without checking that the prelude's infix:, hasn't been overridden. my understanding is named and positionals arguments are unavoidably stuffed together at this level. 22:01
the AST output of STD_red no doubt has a great many problems. but my impression is those 4 aren't among them.
22:02 armagad left
mncharity The name as string, yes, that's perhaps excessive kiss. 22:03
TimToady how does $a.$b() come out? 22:04
mncharity looking...
pasteling "mncharity" at 65.96.169.198 pasted "./elf_g -v -e '$a.$b()'" (75 lines, 1.9K) at sial.org/pbot/31842 22:08
22:08 masak left
mncharity the parse tree looks plausible (this is the old STD expect_term post stuff), but I didn't (hand write) a Match node creation for that case, so it doesn't show up in the ast. 22:09
22:10 Khisanth left 22:11 Khisanth joined
mncharity for anyone curious, the duplicate dotty entries result from the old STD's EXPR adding non-tree cross links to propagate around operator precedence. 22:13
The Match tree (comp_unit...) is what STD_red generates. The IR (CompUnit(...)) is created from the Match tree by IRx1_FromAST.pm. 22:16
22:19 alester left, alester joined
mncharity elf calls the Match tree the AST, and the CompUnin(Var(...)) etc the IR. rakudo calls the IR the AST. pmurias's critiques were about the IR, rather than the AST, and thus not directly a STD_red issue (which only creates the Match AST). Responding about the IR, I too called it the AST... which I herewith clarify. :) 22:22
22:24 Alias_ joined
mncharity Since I was just thinking "we really need to have more project/design discussion/deliberation, I'll sketch out what I see myself as working on. 22:30
elf's backend (ie, compiler) is written in p6, but not it's frontend (parser), and most of the p5 runtime is written in p5. My objective is to have frontend, backend, and most of the runtime, written in p6. And to have a second, common lisp backend, both to force the runtime cleanup, and, because it has a 22:33
very similar compiletime + dynamic-runtime story to p6, to get a *very* fast p6 implementation. Eg, 10-100x faster than p5, rakudo, and pugs. 22:35
Near term goals are to create a STD_blue which uses STD to take code and dump a Match tree ast (as STD_red does), and then a new IRx1_FromAST2.pm which massages that ast into an IR tree. I'm not sure whether to walk through STD.pm, attempting thorough IR coverage, or do "just enough to bootstrap, and then do a fleshing out pass later". 22:39
22:41 Schwern joined 22:42 Alias__ left
mncharity STD is currently too slow to use as the primary elf parser. So the next step is to use the STD_blue parsing of regex to get the rx_on_re working. I'm hoping to fudge around needing longest-token, and leave that for someone else to do. Once a STD_blue elf can compile STD.pm, a new elf variant (elf_h?) will discard STD_red and STD_bluee, and use compiled STD.pm directly. 22:45
22:46 Khisanth left, jiing left, orafu left, zostay left, Ara4n left, p6eval left, Guest16015 left, ilbot2 left, gbacon left 22:47 bbkr left
mncharity At that point, everything but the runtime will be implemented in p6. With some IR analysis and emitter cleanup, focus then shifts to the CL backend. I'm hoping to do "real" p6 oo internals on the CL backend, but continue to fudge it on the p5 backend (I'll leave fighting perlbugs and such to someone else). 22:47
Questions, comments, thoughts, whatever, welcome. 22:48
22:49 Limbic_Region joined, Khisanth joined, jiing joined, orafu joined, zostay joined, Ara4n joined, p6eval joined, gbacon joined, Guest16015 joined, ilbot2 joined, moritz_ left 22:50 xinming left, xinming joined, bbkr joined 22:53 alester is now known as AndyAway 22:57 apeiron_ joined 23:01 jferrero left 23:02 jferrero joined 23:04 apeiron left
mncharity (127 people in room, but so very quiet) 23:05
& 23:07
23:07 mncharity left 23:09 jferrero left 23:12 justatheory joined 23:14 moritz_ joined
scrottie stiffles a sneeze 23:19
scrottie reads with carefully attention 23:21
Limbic_Region whatcha reading?
scrottie mncharity's state of the elf.
Limbic_Region link? 23:22
scrottie I was afk while he actually said it, doing a few laps on Ridge Racer R4 to clear my mind.
23:22 moritz_ left, moritz_ joined
scrottie irclog.perlgeek.de/perl6/today 23:23
lambdabot Title: IRC log for #perl6, 2008-08-08
scrottie there it is.
23:42 meppl joined
Limbic_Region thanks 23:50