pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/ Set by TimToady on 25 January 2008. |
|||
00:04
AzureStone left
00:08
AzureStone joined
00:26
luqui joined
00:42
pbuetow_ left
00:59
alester joined
01:10
meppl left
01:12
meppl joined
01:15
alester left
01:16
[particle]1 joined
01:32
[particle] left
01:41
alester joined
01:43
Limbic_Region left
01:49
frobnitz left
01:55
bacek joined
01:56
justatheory left
02:02
Khisanth left
02:03
Khisanth joined
02:21
dduncan left
02:22
agentzh joined
03:07
elmex_ joined
03:14
alester left
03:22
elmex left
03:23
elmex_ is now known as elmex
03:42
kanru left
03:47
eternaleye joined
04:06
sri_work joined
04:08
thorat joined
04:36
[particle] joined
04:37
Jamzio left
04:47
eternaleye left
04:52
xinming joined
04:54
[particle]1 left
05:05
xinming_ left
05:28
alester joined
05:44
xinming_ joined
05:46
thorat left
05:50
alester left
05:52
xinming__ joined
05:56
Psyche^ joined
05:57
xinming left
06:04
xinming_ left
06:08
Patterner left,
Psyche^ is now known as Patterner
06:29
luqui left
|
|||
speckbot | r14569 | larry++ | \d123 is now \c123 to avoid confusion with \d character class | 06:33 | |
06:38
fridim__ joined
06:39
fridim_ left
06:43
fridim__ is now known as fridim_,
idemal joined
07:04
les joined
07:28
eternaleye joined
07:33
a-jing joined,
a-jing left
07:34
a-jing joined,
a-jing left,
ludan joined
|
|||
ludan | hi | 07:37 | |
07:38
ludan left,
ludan joined
07:42
fridim_ left
07:45
Jedai left,
alester joined
08:00
pmurias joined
|
|||
pugs_svn | r21547 | lwall++ | [STD] fix heredocs, improve $0 reporting | 08:02 | |
r21547 | lwall++ | [quoting.t] update to use \c instead of \d | |||
r21548 | lwall++ | [STD] new \c code failed to parse itself | 08:14 | ||
bacek | TimToady: but also because he is the first Slashdot interview guest ever to send his answers preformatted in squeaky-clean HTML. :) | 08:20 | |
pmurias | bacek: he = ? | 08:23 | |
bacek | pmurias: interviews.slashdot.org/article.pl?...mp;tid=145 | ||
lambdabot | Title: Slashdot | Larry Wall On Perl, Religion, and..., tinyurl.com/1bua | ||
bacek | kinda old interview :) | ||
pmurias | & | 08:27 | |
08:38
fridim_ joined
08:43
alester left
08:55
meppl left
09:01
bacek left
09:04
xinming joined
09:14
fridim_ left,
fridim_ joined
09:17
xinming__ left
09:18
eternaleye left
09:20
Psyche^ joined
09:27
Patterner left,
Psyche^ is now known as Patterner
09:34
wknight8111 joined
09:36
iblechbot joined
09:44
ludan is now known as ludanolo,
ludanolo is now known as ludan
09:49
pbuetow joined
09:53
masak joined
09:57
hanekomu joined
09:59
wknight8111 left
10:17
meppl joined
10:18
chris2 joined
10:24
fridim_ left
10:45
Chillance joined,
Chillance left,
Chillance joined
10:46
apeiron_ joined
10:53
apeiron left
11:02
Chillance left,
Chillance joined
11:24
ruoso joined
|
|||
pmurias | ruoso: hi | 11:25 | |
ruoso | hi pmichaud | ||
lambdabot | ruoso: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
ruoso | hi pmurias | ||
pmurias, I actually took Attribute to write because you seemed to be interested in writing Code ;) | 11:26 | ||
pmurias | i'm considering writing a slime replacement | 11:27 | |
ruoso | cool | ||
pmurias | should i sketch something on the wiki? | 11:28 | |
ruoso | that's a good start, yes... | ||
it would be cool if we could make it with llvm directly | 11:29 | ||
since llvm seem to be the cool guy now ;) | |||
pmurias, but remember one very important aspect of your implementation, that it should not recurse in the C stack... | 11:30 | ||
pmurias | i'm thinking of something very simple that it should be translated to llvm easily | 11:31 | |
11:31
hanekomu left
|
|||
pmurias | what opcodes do we need call,conditional branch,unconditional branch? | 11:32 | |
ruoso | pmurias, we need a lot more, actually | 11:33 | |
to support gather/take | |||
pmurias | gather/take are normal functions | 11:34 | |
take just store the continuation | |||
* stores | |||
ruoso | which means that you need operators to support continuation.... | 11:36 | |
11:36
a-jing joined
|
|||
pmurias | do we do CPS now? | 11:36 | |
11:37
a-jing left
|
|||
pmurias | * if we do CPS the continuation is passed as the first argument | 11:38 | |
ruoso | yes... | ||
we do... | |||
in SLIME this is done explicitly calling the interpreter "continuation" method and then a "goto" call in the end of the sm0p block. | 11:39 | ||
pmurias | it can be just stored as the first argument | 11:41 | |
s/stored/passed/ | 11:42 | ||
rakudo_svn | r29751 | jonathan++ | [rakudo] Make sleep return the value it was given, which for now fakes the number of seconds slept. More importantly, it avoids a Null PMC Access exception. We can improve this once sub-second time support is in place through the time() call. Patch from Carl M?\195?\164sak | ||
..<cmasak at gmail.com> (masak++). | |||
ruoso | but we can't just add it to the normal capture... | ||
pmurias | how should the slime replacement be called? | 11:43 | |
ruoso | please, feel free to name it as you want to... | 11:44 | |
pmurias | any suggestions ;) | ||
ruoso | how will it look like? | 11:47 | |
pmurias | soup& | 11:53 | |
i think it will be register based | |||
i'm filling in the wiki page now | 11:54 | ||
pugs_svn | r21549 | ruoso++ | [smop] lowlevel code implementation in place. It is a callback for a C function. | 12:01 | |
pmurias | ruoso: got something sketched on the wiki | 12:08 | |
any comments? | 12:09 | ||
rakudo_svn | r29752 | jonathan++ | [rakudo] Make multi f() {} parse and work the same as multi sub f() {}. Resolves RT#57122. | 12:13 | |
pmurias | ruoso: added a example of what $*OUT.print("hello world") would translate to (in perl6 syntax) | 12:26 | |
ruoso | pmurias, right.. but how will the interpreter itself work? | 12:52 | |
are you planning something bytecode-like? | |||
or optree-like? | |||
pmurias | bytecode like definitly | 12:54 | |
are there any advantages to an optree? | |||
ruoso | I don't know, really... | 12:57 | |
pmurias | i looked at the interpreter api, is skiping a node a valid use case of the api? | 12:59 | |
$run_loop.next;$run_loop.next;$run_loop.eval ? | |||
ruoso | yes | 13:00 | |
I mean... | |||
of the API, | |||
pmurias | what is this needed for? | ||
ruoso | but it would probably cause major breakage if used like that... | ||
pmurias, the importance is to define a way to interoperate different interpreter implementations | 13:01 | ||
without C-level recursion | |||
pmurias | i meant the separation of next and eval | ||
ruoso | hmm... | ||
one could argue that eval could make this step by itself | 13:02 | ||
then "next" would be a no-op | |||
pmurias | yes | 13:03 | |
the interpreter might want to do as many steps as it can withought returning to the runloop | 13:04 | ||
ruoso | pmurias, as long as it doesn't recurse without returning... | 13:05 | |
pmurias | the runloop could be even reduced to while $interpreter !=== false {} | 13:06 | |
s/be even/even be/ | 13:07 | ||
ruoso | it's somehting like that, yes... | 13:08 | |
ruoso home & (starting to build his new house) | |||
ruoso later & | 13:09 | ||
13:09
ruoso left
13:12
Limbic_Region joined
13:26
pmurias left
13:28
sri_work_ joined
13:43
sri_work left
|
|||
rakudo_svn | r29754 | jonathan++ | [rakudo] Give a reasonable error message when trying to inherit from a non-existent class (we need something better eventually, but this beats odd exceptions and assertion failures). | 13:48 | |
14:05
fridim_ joined
14:24
hanekomu joined
|
|||
zamanfou is now away: In the rain my tears are forever lost. | 14:43 | ||
14:47
alester joined
|
|||
rakudo_svn | r29756 | jonathan++ | [rakudo] Make multi sub foo { } work (the case where you have a multi, but no signature, which means it's a parameterless variant). | 14:52 | |
14:55
jferrero joined
15:11
alester left
15:18
timbunce joined
15:19
_timbunce joined
15:23
ludan left
15:25
iblechbot left
15:27
Moropo joined
|
|||
Moropo | "Despite eye-popping profits and operating results, oil companies can't get any love from fickle stock markets." | 15:28 | |
15:30
ruoso joined
15:34
Moropo was kicked by TimToady (TimToady))
15:37
_timbunce left,
timbunce left
15:56
alester joined
16:00
ludanolo joined
16:01
eternaleye joined
16:08
timbunce joined,
alester left
16:10
kanru joined
16:11
ludanolo left
16:17
meteorjay left
16:18
meteorjay joined
16:22
iblechbot joined
16:26
ludan joined
16:33
chris2 left
16:42
meteorjay left
16:44
ludan left
|
|||
pugs_svn | r21550 | fglock++ | [v6.pm] array fixes; more tests | 16:46 | |
rakudo_svn | r29758 | pmichaud++ | [rakudo]: spectest-progress.csv update, 110 files, 1885 passing tests | 16:50 | |
16:51
ludan joined
16:59
Limbic_Region left
|
|||
rakudo_svn | r29760 | pmichaud++ | [rakudo]: Update sleep() to return actual time slept. Sorta. | 16:59 | |
r29762 | jonathan++ | [rakudo] First cut at getting class attributes (declared my $.x) to work. Does a little refactoring so we can do this without code duplication. Also has a workaround for :outer not being allowed to point at :init :load blocks; we can pull that out once pdd25cx is merged and | 17:06 | ||
..PCT updated. Todo is make the accessor sensitive to the presence or lack or 'is rw' and make sure type constraints get applied. | |||
17:08
alester joined
17:19
alester left
17:22
pmurias joined
|
|||
pmurias | what's the state of the wiki in Perl6 prize? | 17:32 | |
17:34
timbunce left,
timbunce joined
17:36
mncharity joined
17:37
timbunce left
17:41
meteorjay joined
17:43
ludan left
|
|||
pmurias | mncharity: hi | 17:43 | |
17:44
ludan joined
17:45
PZt left
|
|||
rakudo_svn | r29764 | jonathan++ | [rakudo] If you don't specify a type constraint that is a proto-object, we shouldn't default an attribute to containing Object proto-object. | 17:45 | |
17:46
apple-gunkies left
|
|||
pmurias | mncharity: would it be ok to merge elfX into elf_g? | 17:47 | |
rakudo_svn | r29765 | pmichaud++ | [rakudo]: Throw an appropriate exception for unescaped $'s in strings. | 17:49 | |
r29765 | pmichaud++ | * Resolves RT #57118 (masak++) | |||
mncharity | hi pmurias | 17:51 | |
re elfX, looking... | |||
so, what is elfX? README blank... | 17:52 | ||
pmurias | the branch i created not to break stuff | 17:53 | |
you told be too when i attempted to turn the evil operator (=~) into ~~ | 17:55 | ||
18:06
meppl left
18:09
meppl joined
|
|||
mncharity | pmurias: re ok to merge, no. I'll scavange the nice improvements like .^! and improved Primitive sigs. The smop backend should stay separate, as elfish/on_sbcl is. An elfish/on_smop sounds good. Looks like there are already two?!? Feel free to mutate/merge those. The backstory is | 18:12 | |
zamanfou is now away: In the rain my tears are forever lost. | 18:14 | ||
mncharity | instead of the pugs model of 'all backends get forked from the pugs haskell source', the elf model is elf is just a p6 service. Eg, if one wrote a p5 smop backend, one wouldn't add it to the perl5 core code, one would add it to cpan. Same here. | 18:15 | |
pugs_svn | r21551 | pmichaud++ | S29-str/index.t: update skip message to be more accurate | 18:17 | |
18:18
chris2 joined
|
|||
pmurias | the elfish/on_smop are obsolete, as they don't work while my smop backend does | 18:23 | |
i could move EmitSM0P.pm to ../on_smop, but it has to stay integrated because it allows to have a dual p5/smop executable | 18:26 | ||
mncharity | re move EmitSM0P.pm to ../on_smop, great. :) re stay integrated, on_smop like on_sbcl, is of course free to have dependencies on elf internals. And tweak those internals as needed. Just as CPAN modules do (well, perlguts tweaks are rare, but...). elf doesn't change however. Anymore than the perl program changes each time a new CPAN module is created, even an XS one. | 18:34 | |
pmurias | why do you want the backends seprated from the main compiler? | 18:36 | |
pmichaud | pugs: class A {}; say A.new; | 18:39 | |
p6eval | pugs: OUTPUT[<obj:A>ā¤] | ||
pmurias | the problem with moving EmitSM0P.pm out, is that it needs to be compiled in into elfX, as our broken compilation models dosn't support loading in plugins at runtime | 18:40 | |
having a seperate executable with smop is inconvinient as it forces compiling twice | 18:41 | ||
18:42
masak left
|
|||
mncharity | re "backends seprated", _everything_ is eventually going to be separate. the criteria for inclusion in elf is "this is code is absolutely needed to provide p6 service to people". as that changes, the set of things included will change. smop isn't there yet. (unless... you said works... does elf-on-smop bootstrap already?!?) | 18:43 | |
pmurias | no smop is too limited | 18:44 | |
mncharity | re support/inconvenient.. what exactly are you trying to do? | ||
re too limited, ah, ok | 18:45 | ||
pmurias | elfX uses a -C sm0p option to change $*compiler1 to EmitSM0P | ||
mncharity | And creating an Elf.pm saying 'use EmitWhatever;' and elf_f -x -I../.../elf_f_src -o elfY Elf creates an elfY which changes $*compiler1 to EmitWhatever, no? | 18:48 | |
pmurias | if you change elf_f you have to recompile both elf_f and elfY | 18:50 | |
which is a waste of CPU time | |||
mncharity | though that recompiles the entire elf (what you said). elf_f EmitWhatever.pm ...usualargs... sets $*compiler1 to EmitWhatever, recompiling EmitWhatever but not the rest of the elf. | ||
pmurias | using a ugly bug | 18:51 | |
mncharity | ugly bug? | ||
the emitter0/emitter1 architecture was created for exactly this use case. | 18:52 | ||
mncharity tries to remember what a.^!b expands too... a.HOW!b ? | 18:54 | ||
pmurias | but it relies on elf not keeping the namespaces of the currently compiled code and the compiler | ||
mncharity | I don't understand. Explain? | 18:55 | |
pmurias | mncharity: $a.^!b call method ^!b on $a which is intercepted by the representation object of $a | ||
$*compiler1 in the compiled code and the $*compiler1 in the code we compile are different things | 18:57 | ||
if i compile something like 'BEGIN {$*ERR = $*OUT};$a =~ /.*/' it dosn't make the compiler print the error message that =~ was used to STDOUT | 19:00 | ||
the perl6 compiler could be as well implemented in python or pir or haskell | 19:01 | ||
TimToady: the namespaces of the compiler and the code being compiled are seperate? | 19:02 | ||
mncharity | perl -we 'BEGIN{select(STDERR)} print "on err\n";'>/dev/null | ||
$*compiler1 is part of the _p6_ api exported by the compiler/runtime. | 19:03 | ||
the elf compiler is present at runtime as a non-spec prelude extension. an implicit 'use Elf'.] | 19:06 | ||
when you compile a new version of elf, you compile in the default $*compilers. but the $*compiler1, used by, eg, eval(), at runtime, can be overridden at runtime. | 19:07 | ||
err, no, I got that backwards. | 19:08 | ||
$*compiler0 is the 'compatible with current runtime' compiler used by the runtime for eval(). $*compiler1 is used by the elf command-line compiler to serve 'compile to a file, with arbitrary runtime' requests. like elf -x -o foo Foo.pm. | 19:10 | ||
pmurias | i could just implement runtime code loading | 19:12 | |
mncharity | I don't understand. Explain? | ||
pmurias | i could just add a -C SM0P which would look for a SM0P in @INC and use it as $compiler1.emitter | 19:14 | |
pugs_svn | r21552 | lwall++ | [STD] || now catches panics from its left side | 19:16 | |
19:16
coumbes joined
|
|||
pmurias | mncharity: have you considered using gimme5's regex implementation instead of rx_on_re | 19:17 | |
mncharity | elf_f SMOP.pm looks for SMOP.pm in @INC and if SMOP ends in $*compiler1.emitter = whatever, uses it. -C would be different how? | ||
19:17
jferrero left
|
|||
pmurias | you wouldn't have to add $*compiler1.emitter ;) | 19:19 | |
mncharity | :) | 19:20 | |
pmurias | add it could do precompilation | 19:21 | |
mncharity | the $*compilers api is provided by the current Compiler class. it's not a commitment made by elf, or its CommandLi | 19:22 | |
19:22
alester joined
|
|||
mncharity | ne class. | 19:22 | |
19:24
ludan left
|
|||
mncharity | precompilation, or more specifically, independent compilation, while needed in the long term, is vastly more complicated than the current whole-program-compilation+eval. and given how fast elf is, even running on top of p5, not really needed near term. | 19:24 | |
(running on top of CL should be blazing... but that's not existent yet) | 19:25 | ||
pmurias | if you know how the CL backend should look like i learn some CL and help with it | 19:29 | |
rakudo_svn | r29769 | pmichaud++ | [rakudo]: Switch sleep to be a listop instead of named unary (masak++) | ||
r29769 | pmichaud++ | * Partially solves RT #57924; but uses a hard-coded constant value | |||
r29769 | pmichaud++ | to represent "forever" until Parrot provides a way to do it. | |||
pmurias | but i don't hope i could come up with a sane CL backend design by just looking up stuff from the standard/manual when i need it | 19:33 | |
19:36
alester left
19:40
eternaleye left
19:45
eternaleye joined
|
|||
mncharity | sorry, phone call. and have to run off. | 19:46 | |
re CL, my hope is very little ends up in CL. and that may be a bit hard to write without a CL background. but it will need lots of p6 prelude, eg, for basic classes. | 19:47 | ||
I don't know if rakudo supports p6 prelude yet. my fuzzy recollection is the estimate was a couple weeks, a month or so ago. | 19:48 | ||
and I'll try to get on_sbcl closer to something which is easier to work on, esp without knowing cl. | 19:50 | ||
bbl... tomorrow? | 19:51 | ||
pmurias | so i can merge elfX if i move out EmitSM0P to ../on_sm0p | ||
mncharity | thanks pmurias | ||
pmurias | mncharity: ok | ||
mncharity | oh, right, a commit. one sec. re merge elfX, no, but moving EmitSMOP to on_sm*p would be good. | 19:52 | |
pmurias | it's EmitSM0P as it emits sm0p which is the slime DSL | 19:53 | |
re "a comit" i don't understand | 19:54 | ||
pugs_svn | r21553 | putter++ | [elf_g] Import improvements from elfX. pmurias++ | ||
mncharity | r21553. | ||
pmurias | you didn't choose to use the $*compiler refactor? | 19:55 | |
mncharity | I think we've discussed most of the changes not merged... the extra $arg to callbacks can be passed in the emitter object itself, and so don't need to be args. | ||
re $*compiler, no. just now discussed, no? did I miss something? | 19:56 | ||
sorry, I really need to run. will backlog. | 19:57 | ||
19:57
mncharity left
20:01
apple-gunkies joined
20:11
Auzon left
20:12
chris2 left
20:40
hanekomu left
|
|||
pugs_svn | r21554 | jnthn++ | [spectest] Add some tests for various bits of the multi sub syntax. | 20:42 | |
r21555 | jnthn++ | [spectest] Very basic tests for class attributes. | 20:49 | ||
rakudo_svn | r29771 | jonathan++ | [rakudo] Fix for when you have multiple multis without signatures (but different names) in a program; before, all but the first one got mis-generated. | 20:50 | |
20:53
ludan joined
|
|||
rakudo_svn | r29773 | jonathan++ | [rakudo] Add some tests for stuff I fixed/implemented today to spectest_regression. | 20:58 | |
21:08
Chillance left
21:11
pmurias left
21:18
alester joined
21:24
jiing left
21:32
mtrimpe joined
21:36
iblechbot left,
Auzon joined
21:59
jferrero joined
22:04
alester left
22:08
Limbic_Region joined
22:15
Alias_ joined
22:28
Alias_ left
22:41
donaldh joined
22:42
donaldh left
23:07
Alias_ joined
23:09
Alias__ joined,
Alias_ left
23:11
ludan left
23:14
fridim_ left
23:19
hercynium joined
|
|||
pugs_svn | r21556 | lwall++ | [Cursor] some speedups | 23:22 | |
23:31
Alias__ left
23:33
Schwern joined
23:36
eternaleye left
|
|||
pugs_svn | r21557 | leto++ | No longer skip test related to branch cut of complex numbers. | 23:52 |